1<!doctype html> 2<html lang="de"> 3<head > 4 <meta charset="utf-8"/> 5<meta name="title" content="Ãber Uns | JUST SPICES®"/> 6<meta name="description" content="Just Spices ist Dein Shop für Gewürze, Gewürzmischungen und Zubehör. Ãber 120 Reingewürze, über 50 Gewürzmischungen und reichlich Zubehör bequem online bestellen."/> 7<meta name="robots" content="INDEX,FOLLOW"/> 8<meta name="viewport" content="width=device-width, initial-scale=1"/> 9<title>Ãber Uns | JUST SPICES®</title> 10<link rel="stylesheet" type="text/css" media="all" href="https://www.justspices.de/static/version1790005904/frontend/Justspices/relaunch/de_DE/JustSpices_Cms/css/widget/faq.css" /> 11<link rel="stylesheet" type="text/css" media="all" href="https://www.justspices.de/static/version1790005904/frontend/Justspices/relaunch/de_DE/JustSpices_Cms/css/home.css" /> 12<link rel="stylesheet" type="text/css" media="all" href="https://www.justspices.de/static/version1790005904/frontend/Justspices/relaunch/de_DE/JustSpices_Cms/css/js-slider.css" /> 13<link rel="stylesheet" type="text/css" media="all" href="https://www.justspices.de/static/version1790005904/frontend/Justspices/relaunch/de_DE/JustSpices_Catalog/css/justspices-slider.css" /> 14<link rel="stylesheet" type="text/css" media="all" href="https://www.justspices.de/static/version1790005904/frontend/Justspices/relaunch/de_DE/JustSpices_Cms/css/widget/bundle-children.css" /> 15<link rel="stylesheet" type="text/css" media="all" href="https://www.justspices.de/static/version1790005904/frontend/Justspices/relaunch/de_DE/Shopgate_WebCheckout/css/default.css" /> 16<link rel="stylesheet" type="text/css" media="all" href="https://www.justspices.de/static/version1790005904/frontend/Justspices/relaunch/de_DE/css/styles.css" />
17<script type="text/javascript" src="https://www.justspices.de/static/version1790005904/frontend/Justspices/relaunch/de_DE/JustSpices_Cms/js/js-slider.js"></script>
vendor: 1 bytes, line 17
17
18<script type="text/javascript" src="https://www.justspices.de/static/version1790005904/frontend/Justspices/relaunch/de_DE/JustSpices_Cms/js/lazyload.min.js"></script>
vendor: 1 bytes, line 18
18
19<script type="text/javascript" src="https://www.justspices.de/static/version1790005904/frontend/Justspices/relaunch/de_DE/JustSpices_Cms/js/jquery.min.js"></script>
vendor: 1 bytes, line 19
19
20<script type="text/javascript" src="https://www.justspices.de/static/version1790005904/frontend/Justspices/relaunch/de_DE/JustSpices_Cms/js/vue.min.js"></script>
vendor: 1 bytes, line 20
20
21<script type="text/javascript" src="https://www.justspices.de/static/version1790005904/frontend/Justspices/relaunch/de_DE/JustSpices_Vcheckout/js/vuex.js"></script>
vendor: 1 bytes, line 21
21
22<script type="text/javascript" defer="defer" src="https://www.justspices.de/static/version1790005904/frontend/Justspices/relaunch/de_DE/JustSpices_Catalog/js/justspices-slider.js"></script>
vendor: 1 bytes, line 22
22
23<script type="text/javascript" defer="defer" src="https://www.justspices.de/static/version1790005904/frontend/Justspices/relaunch/de_DE/JustSpices_Cms/js/norequire/messages.min.js"></script>
vendor: 1 bytes, line 23
23
24<script type="text/javascript" defer="defer" src="https://www.justspices.de/static/version1790005904/frontend/Justspices/relaunch/de_DE/JustSpices_Vuecart/js/lib/vue-i18n.js"></script>
vendor: 1 bytes, line 24
24
25<script type="text/javascript" defer="defer" src="https://www.justspices.de/static/version1790005904/frontend/Justspices/relaunch/de_DE/JustSpices_Cms/js/vue-observe-visibility.min.js"></script>
vendor: 1 bytes, line 25
25
26<script type="text/javascript" defer="defer" src="https://www.justspices.de/static/version1790005904/frontend/Justspices/relaunch/de_DE/JustSpices_Cms/js/algoliasearch4.14.2/algoliasearch-lite.umd.js"></script>
vendor: 1 bytes, line 26
26
27<script type="text/javascript" defer="defer" src="https://www.justspices.de/static/version1790005904/frontend/Justspices/relaunch/de_DE/JustSpices_Catalog/js/norequire/catalog-add-to-cart.js"></script>
vendor: 1 bytes, line 27
27
28<script type="text/javascript" defer="defer" src="https://www.justspices.de/static/version1790005904/frontend/Justspices/relaunch/de_DE/JustSpices_Cms/js/norequire/theme.js"></script>
vendor: 1 bytes, line 28
28
29<script type="text/javascript" defer="defer" src="https://www.justspices.de/static/version1790005904/frontend/Justspices/relaunch/de_DE/JustSpices_Cms/js/norequire/faq.js"></script>
29 30<link rel="icon" type="image/x-icon" href="https://www.justspices.de/media/favicon/stores/1/favicon.png" /> 31<link rel="shortcut icon" type="image/x-icon" href="https://www.justspices.de/media/favicon/stores/1/favicon.png" /> 32<!-- OneTrust Cookies Consent Notice start for www.justspices.de -->
33<script src="https://cdn.cookielaw.org/consent/af927ee9-4b28-4d13-960b-e745918ba3b3/otSDKStub.js" type="text/javascript" charset="UTF-8" data-domain-script="af927ee9-4b28-4d13-960b-e745918ba3b3" ></script>
vendor: 2 bytes, line 33
33
34<script type="text/javascript"> 35 function OptanonWrapper() { } 36</script>
36 37<!-- OneTrust Cookies Consent Notice end for www.justspices.de --> 38 39<style> 40 .menu-header-row nav .nav-primary > div div.level0.shop { 41 left: 52.4%; 42 } 43 .menu-header-row nav .nav-primary > div div.level0.recipe { 44 left: 60%; 45 } 46 .menu-header-row nav .nav-primary > div div.level0.blog { 47 left: 90%; 48 transform: translateX(-50%); 49 } 50 .catalog-category-view input[type=search] { 51 border: none; 52 width: 90%; 53 height: 30px; 54 } 55 .catalog-category-view input[type=search]:focus { 56 border: none; 57 } 58 .message-container .shipping-info{ 59 display:none; 60 } 61 .recipe-recipe-view .seo-text h2 strong span{ 62 font-family: "BrandonText-Bold",Verdana,Arial,Helvetica,sans-serif; 63 } 64 65.catalog-category-view .vue-category .instant-search-row .resultbox .results article.article-9063 img, 66.catalog-category-view .vue-category .instant-search-row .resultbox .results article.article-7831 img { 67 aspect-ratio: 0.86923076923077; 68 object-fit: cover; 69} 70 71 #onetrust-consent-sdk { 72 position: relative; 73 } 74 75 #ot-sdk-btn-floating.ot-floating-button { 76 position: absolute!important; 77 } 78 79 @media screen and (max-width: 1200px) { 80 .menu-header-row nav .nav-primary > div div.level0.shop { 81 left:52.3% !important; 82 } 83 .menu-header-row nav .nav-primary > div div.level0.recipe { 84 left: 50.5% !important; 85 } 86 .menu-header-row nav .nav-primary > div div.level0.blog { 87 left:71.5% !important; 88 } 89 90 } 91.old-price.percent-difference{ 92 display:none; 93 } 94 .bundle-price-box .old-price .price-wrapper .price.percent-difference{ 95 display:none; 96 } 97 .bundle-price-box .old-price .price-wrapper .price{ 98 display: inline-block; 99 } 100 101.product-gewuerz-adventskalender .product-info-wrapper .product-info-main-container .info-box.free-incentives, .product-grosser-gewuerz-adventskalender .product-info-wrapper .product-info-main-container .info-box.free-incentives{ 102display:none; 103} 104.good-food-club-section .cash-points { 105 display: none !important; 106} 107</style>
107<script type="text/javascript"> 108 const storeCode = "default"; 109 const baseUrl = "https://www.justspices.de/"; 110 const graphQlUrl = "https://www.justspices.de/graphql"; 111 const restlUrl = "https://www.justspices.de/rest/default/V1"; 112 if(typeof locale === 'undefined'){ 113 const locale = "de_DE"; 114 } 115</script>
115 116<!-- BEGIN SHOPGATE --> 117
118<script type="text/javascript"> 119 var _shopgate = new Object(); 120 _shopgate.shop_number = "21348"; 121 _shopgate.redirect = "cms"; 122 _shopgate.is_default_redirect_disabled = true; 123 _shopgate.redirect_to_webapp = true; 124_shopgate.cms_page = "about"; 125 126 127 (function(b,d){var a=("undefined"!==typeof _shopgate?_shopgate:{}).shop_number;if(a){ 128 var c=b.createElement(d);c.async=!/(ip(ad|od|hone)|Android)/i.test(navigator.userAgent);c.src="https://static.shopgate.com/mobile_header/"+a+".js"; 129 a=b.getElementsByTagName(d)[0];a.parentNode.insertBefore(c,a)}} 130 )(document,"script"); 131</script>
131 132<!-- END SHOPGATE -->
132<script type="text/x-magento-init"> 133 { 134 "*": { 135 "Shopgate_WebCheckout/js/init": {"module":"cms","controller":"page","action":"view","env":"production","properties":[],"isSgWebView":false} } 136} 137</script>
137 138<!-- added by Trusted Shops app: Start -->
139<script src="https://integrations.etrusted.com/applications/widget.js/v2" async defer></script>
139 140<!-- End --> 141
142<script> 143 var BASE_URL = 'https://www.justspices.de/'; 144 var THEME_PATH = 'https://www.justspices.de/static/version1790005904/frontend/Justspices/relaunch/de_DE'; 145 var COOKIE_CONFIG = { 146 "expires": null, 147 "path": "\u002F", 148 "domain": ".www.justspices.de", 149 "secure": true, 150 "lifetime": "2592000", 151 "cookie_restriction_enabled": false }; 152 var CURRENT_STORE_CODE = 'default'; 153 var CURRENT_WEBSITE_ID = '1'; 154 155 window.hyva = window.hyva || {} 156 157 window.cookie_consent_groups = window.cookie_consent_groups || {} 158 window.cookie_consent_groups['necessary'] = true; 159 160 window.cookie_consent_config = window.cookie_consent_config || {}; 161 window.cookie_consent_config['necessary'] = [].concat( 162 window.cookie_consent_config['necessary'] || [], 163 [ 164 'user_allowed_save_cookie', 165 'form_key', 166 'mage-messages', 167 'private_content_version', 168 'mage-cache-sessid', 169 'last_visited_store', 170 'section_data_ids' 171 ] 172 ); 173</script>
vendor: 1 bytes, line 173
173
174<script> 175 'use strict'; 176 (function( hyva, undefined ) { 177 178 function lifetimeToExpires(options, defaults) { 179 180 const lifetime = options.lifetime || defaults.lifetime; 181 182 if (lifetime) { 183 const date = new Date; 184 date.setTime(date.getTime() + lifetime * 1000); 185 return date; 186 } 187 188 return null; 189 } 190 191 function generateRandomString() { 192 193 const allowedCharacters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', 194 length = 16; 195 196 let formKey = '', 197 charactersLength = allowedCharacters.length; 198 199 for (let i = 0; i < length; i++) { 200 formKey += allowedCharacters[Math.round(Math.random() * (charactersLength - 1))] 201 } 202 203 return formKey; 204 } 205 206 const sessionCookieMarker = {noLifetime: true} 207 208 const cookieTempStorage = {}; 209 210 const internalCookie = { 211 get(name) { 212 const v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)'); 213 return v ? v[2] : null; 214 }, 215 set(name, value, days, skipSetDomain) { 216 let expires, 217 path, 218 domain, 219 secure, 220 samesite; 221 222 const defaultCookieConfig = { 223 expires: null, 224 path: '/', 225 domain: null, 226 secure: false, 227 lifetime: null, 228 samesite: 'lax' 229 }; 230 231 const cookieConfig = window.COOKIE_CONFIG || {}; 232 233 expires = days && days !== sessionCookieMarker 234 ? lifetimeToExpires({lifetime: 24 * 60 * 60 * days, expires: null}, defaultCookieConfig) 235 : lifetimeToExpires(window.COOKIE_CONFIG, defaultCookieConfig) || defaultCookieConfig.expires; 236 237 path = cookieConfig.path || defaultCookieConfig.path; 238 domain = !skipSetDomain && (cookieConfig.domain || defaultCookieConfig.domain); 239 secure = cookieConfig.secure || defaultCookieConfig.secure; 240 samesite = cookieConfig.samesite || defaultCookieConfig.samesite; 241 242 document.cookie = name + "=" + encodeURIComponent(value) + 243 (expires && days !== sessionCookieMarker ? '; expires=' + expires.toGMTString() : '') + 244 (path ? '; path=' + path : '') + 245 (domain ? '; domain=' + domain : '') + 246 (secure ? '; secure' : '') + 247 (samesite ? '; samesite=' + samesite : 'lax'); 248 }, 249 isWebsiteAllowedToSaveCookie() { 250 const allowedCookies = this.get('user_allowed_save_cookie'); 251 if (allowedCookies) { 252 const allowedWebsites = JSON.parse(unescape(allowedCookies)); 253 254 return allowedWebsites[CURRENT_WEBSITE_ID] === 1; 255 } 256 return false; 257 }, 258 getGroupByCookieName(name) { 259 const cookieConsentConfig = window.cookie_consent_config || {}; 260 let group = null; 261 for (let prop in cookieConsentConfig) { 262 if (!cookieConsentConfig.hasOwnProperty(prop)) continue; 263 if (cookieConsentConfig[prop].includes(name)) { 264 group = prop; 265 break; 266 } 267 } 268 return group; 269 }, 270 isCookieAllowed(name) { 271 const cookieGroup = this.getGroupByCookieName(name); 272 return cookieGroup 273 ? window.cookie_consent_groups[cookieGroup] 274 : this.isWebsiteAllowedToSaveCookie(); 275 }, 276 saveTempStorageCookies() { 277 for (const [name, data] of Object.entries(cookieTempStorage)) { 278 if (this.isCookieAllowed(name)) { 279 this.set(name, data['value'], data['days'], data['skipSetDomain']); 280 delete cookieTempStorage[name]; 281 } 282 } 283 }, 284 remove(name) { 285 let expires, 286 path, 287 domain, 288 secure, 289 samesite; 290 291 const defaultCookieConfig = { 292 expires: null, 293 path: '/', 294 domain: null, 295 secure: false, 296 lifetime: null, 297 samesite: 'lax' 298 }; 299 300 const cookieConfig = window.COOKIE_CONFIG || {}; 301 302 expires = new Date('Jan 01 1970 00:00:01 GMT') 303 path = cookieConfig.path || defaultCookieConfig.path; 304 domain = cookieConfig.domain || defaultCookieConfig.domain; 305 secure = cookieConfig.secure || defaultCookieConfig.secure; 306 samesite = cookieConfig.samesite || defaultCookieConfig.samesite; 307 308 document.cookie = name + "=" + encodeURIComponent('') + 309 (expires ? '; expires=' + expires.toGMTString() : '') + 310 (path ? '; path=' + path : '') + 311 (domain ? '; domain=' + domain : '') + 312 (secure ? '; secure' : '') + 313 (samesite ? '; samesite=' + samesite : 'lax'); 314 } 315 }; 316 317 hyva.getCookie = (name) => { 318 const cookieConfig = window.COOKIE_CONFIG || {}; 319 320 if (cookieConfig.cookie_restriction_enabled && ! internalCookie.isCookieAllowed(name)) { 321 return cookieTempStorage[name] ? cookieTempStorage[name]['value'] : null; 322 } 323 324 return internalCookie.get(name); 325 } 326 327 hyva.setCookie = (name, value, days, skipSetDomain) => { 328 const cookieConfig = window.COOKIE_CONFIG || {}; 329 330 if (cookieConfig.cookie_restriction_enabled && ! internalCookie.isCookieAllowed(name)) { 331 cookieTempStorage[name] = {value, days, skipSetDomain}; 332 return; 333 } 334 return internalCookie.set(name, value, days, skipSetDomain); 335 } 336 337 hyva.removeCookie = (name) => { 338 return internalCookie.remove(name); 339 } 340 341 hyva.setSessionCookie = (name, value, skipSetDomain) => { 342 return hyva.setCookie(name, value, sessionCookieMarker, skipSetDomain) 343 } 344 345 hyva.getBrowserStorage = () => { 346 const browserStorage = window.localStorage || window.sessionStorage; 347 if (!browserStorage) { 348 console.warn('Browser Storage is unavailable'); 349 return false;
350 } 351 try { 352 browserStorage.setItem('storage_test', '1'); 353 browserStorage.removeItem('storage_test'); 354 } catch (error) { 355 console.warn('Browser Storage is not accessible', error); 356 return false; 357 } 358 return browserStorage; 359 } 360 361 hyva.getLocalStorageOfSection = (name) => { 362 const browserStorage = window.localStorage || window.sessionStorage; 363 if (!browserStorage) { 364 console.warn('Browser Storage is unavailable'); 365 return false; 366 } 367 try { 368 browserStorage.setItem('storage_test', 1); 369 browserStorage.removeItem('storage_test'); 370 } catch (error) { 371 console.warn('Browser Storage is not accessible', error); 372 return false; 373 } 374 375 const privateContent = JSON.parse(browserStorage.getItem('mage-cache-storage')); 376 if (!privateContent) { 377 console.warn('PrivateContent is unavailable'); 378 return false; 379 } 380 return privateContent[name]; 381 } 382 383 hyva.postForm = (postParams) => { 384 const form = document.createElement("form"); 385 386 let data = postParams.data; 387 388 if (! postParams.skipUenc && ! data.uenc) { 389 data.uenc = btoa(window.location.href); 390 } 391 form.method = "POST"; 392 form.action = postParams.action; 393 394 Object.keys(postParams.data).map(key => { 395 const field = document.createElement("input"); 396 field.type = 'hidden' 397 field.value = postParams.data[key]; 398 field.name = key; 399 form.appendChild(field); 400 }); 401 402 const form_key = document.createElement("input"); 403 form_key.type = 'hidden'; 404 form_key.value = hyva.getFormKey(); 405 form_key.name="form_key"; 406 form.appendChild(form_key); 407 408 document.body.appendChild(form); 409 410 form.submit(); 411 } 412 413 hyva.getFormKey = function () { 414 let formKey = hyva.getCookie('form_key'); 415 416 if (!formKey) { 417 formKey = generateRandomString(); 418 hyva.setCookie('form_key', formKey); 419 } 420 421 return formKey; 422 } 423 424 hyva.formatPrice = (value, showSign, options = {}) => { 425 const formatter = new Intl.NumberFormat( 426 'de\u002DDE', 427 Object.assign({ 428 style: 'currency', 429 currency: 'EUR', 430 signDisplay: showSign ? 'always' : 'auto' 431 }, options) 432 ); 433 return (typeof Intl.NumberFormat.prototype.formatToParts === 'function') ? 434 formatter.formatToParts(value).map(({type, value}) => { 435 switch (type) { 436 case 'currency': 437 return '\u20AC' || value; 438 case 'minusSign': 439 return '- '; 440 case 'plusSign': 441 return '+ '; 442 default : 443 return value; 444 } 445 }).reduce((string, part) => string + part) : 446 formatter.format(value); 447 } 448 449 const formatStr = function (str, nStart) { 450 const args = Array.from(arguments).slice(2); 451 452 return str.replace(/(%+)([0-9]+)/g, (m, p, n) => { 453 const idx = parseInt(n) - nStart; 454 455 if (args[idx] === null || args[idx] === void 0) { 456 return m; 457 } 458 return p.length % 2 459 ? p.slice(0, -1).replace('%%', '%') + args[idx] 460 : p.replace('%%', '%') + n; 461 }) 462 } 463 464 hyva.str = function (string) { 465 const args = Array.from(arguments); 466 args.splice(1, 0, 1); 467 468 return formatStr.apply(undefined, args); 469 } 470 471 hyva.strf = function () { 472 const args = Array.from(arguments); 473 args.splice(1, 0, 0); 474 475 return formatStr.apply(undefined, args); 476 } 477 478 /** 479 * Take a html string as `content` parameter and 480 * extract an element from the DOM to replace in 481 * the current page under the same selector, 482 * defined by `targetSelector` 483 */ 484 hyva.replaceDomElement = (targetSelector, content) => { 485 // Parse the content and extract the DOM node using the `targetSelector` 486 const parser = new DOMParser(); 487 const doc = parser.parseFromString(content, 'text/html');
488 const contentNode = doc.querySelector(targetSelector); 489 490 // Bail if content can't be found 491 if (!contentNode) { 492 return; 493 } 494 495 hyva.activateScripts(contentNode) 496 497 // Replace the old DOM node with the new content 498 document.querySelector(targetSelector).replaceWith(contentNode); 499 500 // Reload customerSectionData and display cookie-messages if present 501 window.dispatchEvent(new CustomEvent("reload-customer-section-data")); 502 hyva.initMessages(); 503 } 504 505 hyva.activateScripts = (contentNode) => { 506 // Extract all the script tags from the content. 507 // Script tags won't execute when inserted into a dom-element directly, 508 // therefore we need to inject them to the head of the document. 509 const tmpScripts = contentNode.getElementsByTagName('script'); 510 511 if (tmpScripts.length > 0) { 512 // Push all script tags into an array 513 // (to prevent dom manipulation while iterating over dom nodes) 514 const scripts = []; 515 for (let i = 0; i < tmpScripts.length; i++) { 516 scripts.push(tmpScripts[i]); 517 } 518 519 // Iterate over all script tags and duplicate+inject each into the head 520 for (let i = 0; i < scripts.length; i++) { 521 let script = document.createElement('script'); 522 script.innerHTML = scripts[i].innerHTML; 523 524 document.head.appendChild(script); 525 526 // Remove the original (non-executing) node from the content 527 scripts[i].parentNode.removeChild(scripts[i]); 528 } 529 } 530 return contentNode; 531 } 532 533 const replace = {['+']: '-', ['/']: '_', ['=']: ','}; 534 hyva.getUenc = () => btoa(window.location.href).replace(/[+/=]/g, match => replace[match]); 535 536 let currentTrap; 537 538 const focusableElements = (rootElement) => { 539 const selector = 'button, [href], input, select, textarea, details, [tabindex]:not([tabindex="-1"]'; 540 return Array.from(rootElement.querySelectorAll(selector)) 541 .filter(el => { 542 return el.style.display !== 'none' 543 && !el.disabled 544 && el.tabIndex !== -1 545 && (el.offsetWidth || el.offsetHeight || el.getClientRects().length) 546 }) 547 } 548 549 const focusTrap = (e) => { 550 const isTabPressed = e.key === 'Tab' || e.keyCode === 9; 551 if (!isTabPressed) return; 552 553 const focusable = focusableElements(currentTrap) 554 const firstFocusableElement = focusable[0] 555 const lastFocusableElement = focusable[focusable.length - 1] 556 557 e.shiftKey 558 ? document.activeElement === firstFocusableElement && (lastFocusableElement.focus(), e.preventDefault()) 559 : document.activeElement === lastFocusableElement && (firstFocusableElement.focus(), e.preventDefault()) 560 }; 561 562 hyva.releaseFocus = (rootElement) => { 563 if (currentTrap && (!rootElement || rootElement === currentTrap)) { 564 currentTrap.removeEventListener('keydown', focusTrap) 565 currentTrap = null 566 } 567 } 568 hyva.trapFocus = (rootElement) => { 569 if (!rootElement) return; 570 hyva.releaseFocus() 571 currentTrap = rootElement 572 rootElement.addEventListener('keydown', focusTrap) 573 const firstElement = focusableElements(rootElement)[0] 574 firstElement && firstElement.focus() 575 } 576 577 hyva.alpineInitialized = (fn) => window.addEventListener('alpine:initialized', fn, {once: true}) 578 window.addEventListener('user-allowed-save-cookie', () => internalCookie.saveTempStorageCookies()) 579 580 }( window.hyva = window.hyva || {} )); 581</script>
vendor: 1 bytes, line 581
581
582<script> 583 if (!window.IntersectionObserver) { 584 window.IntersectionObserver = function (callback) { 585 this.observe = el => el && callback(this.takeRecords()); 586 this.takeRecords = () => [{isIntersecting: true, intersectionRatio: 1}]; 587 this.disconnect = () => {}; 588 this.unobserve = () => {}; 589 } 590 } 591</script>
vendor: 1 bytes, line 591
591
592<script> 593 const STORE_CODE = 'default'; 594 const locale = "de_DE"; 595</script>
595 596 597<link rel="alternate" hreflang="de" href="https://www.justspices.de/about" /> 598<link rel="alternate" hreflang="x-default" href="https://www.justspices.de/about" /></head> 599<body id="html-body" class="cms-about page-layout-1column cms-page-view page-layout-cms-full-width"> 600<input name="form_key" type="hidden" value="P5oasJOfzp0QXvy6" /> 601 <noscript> 602 <section class="message global noscript border-b-2 border-blue-500 bg-blue-50 shadow-none m-0 px-0 rounded-none font-normal"> 603 <div class="container text-center"> 604 <p> 605 <strong>JavaScript scheint in Ihrem Browser deaktiviert zu sein.</strong> 606 <span> 607 Um unsere Website in bester Weise zu erfahren, aktivieren Sie Javascript in Ihrem Browser. </span> 608 </p> 609 </div> 610 </section> 611 </noscript> 612 613
614<script> 615 document.body.addEventListener('touchstart', () => {}, {passive: true}) 616</script>
616 617<div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true">
617<script> 618 if (typeof hyva !== "undefined" && hyva !== null) { 619 var cookieName = 'abtest_navigation_more_categories_mobile'; 620 var cookieValue = hyva.getCookie(cookieName); 621 let specificPage = ''; 622 if ((cookieValue === null || cookieValue === undefined) && (specificPage === '' || specificPage.includes(window.location.pathname))) { 623 hyva.setCookie( 624 cookieName, 625 getRandomInt(1) 626 ) 627 } 628 } 629 630 function getRandomInt(max) { 631 return Math.floor(Math.random() * (max + 1)); 632 } 633</script>
633 634 635</div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><style> 636#slide-in-cart .gfc-totals { 637 display: none; 638} 639 640 .search-results .ais-Hits .hit-result>a .hit-item-info .prices { 641 display: none !important; 642 } 643 644 #header #menu-cart-icon { 645 display: none !important; 646} 647 648 footer .newsletter-section { 649 display: none !important; 650} 651</style></div>
652<script> 653 'use strict'; 654 (function(hyva) { 655 const formValidationRules = { 656 required(value, options, field, context) { 657 const el = field.element.type === 'hidden' ? createTextInputFrom(field.element) : field.element, 658 msg = 'Vervollst\u00E4ndige\u0020bitte\u0020die\u0020notwendigen\u0020Angaben.'; 659 660 if (el.type === 'radio' || el.type === 'checkbox') { 661 return (value === undefined || value.length === 0) ? msg : true; 662 } 663 664 el.setAttribute('required', ''); 665 el.checkValidity(); 666 667 return el.validity.valueMissing ? msg : true; 668 }, 669 maxlength(value, options, field, context) { 670 const n = Number(options) 671 if (value.length > n) { 672 return n === 1 673 ? hyva.strf('Please\u0020enter\u0020no\u0020more\u0020than\u00201\u0020character.') 674 : hyva.strf('Bitte\u0020nicht\u0020mehr\u0020als\u0020\u00250\u0020Zeichen.', options) 675 } 676 return true; 677 }, 678 minlength(value, options, field, context) { 679 const n = Number(options) 680 if (value.length > 0 && value.length < n) { 681 return n === 1 682 ? hyva.strf('Bitte\u0020mindestens\u00201\u0020Zeichen\u0020eingeben.') 683 : hyva.strf('Bitte\u0020mindestens\u0020\u00250\u0020Zeichen\u0020eingeben.', options) 684 } 685 return true; 686 }, 687 max(value, options, field, context) { 688 field.element.setAttribute('max', options); 689 field.element.checkValidity(); 690 if (field.element.validity.rangeOverflow) { 691 return hyva.strf('Please\u0020enter\u0020a\u0020value\u0020less\u0020than\u0020or\u0020equal\u0020to\u0020\u0022\u00250\u0022.', options); 692 } 693 return true; 694 }, 695 min(value, options, field, context) { 696 field.element.setAttribute('min', options); 697 field.element.checkValidity(); 698 if (field.element.validity.rangeUnderflow) { 699 return hyva.strf('Please\u0020enter\u0020a\u0020value\u0020greater\u0020than\u0020or\u0020equal\u0020to\u0020\u0022\u00250\u0022.', options); 700 } 701 return true; 702 }, 703 step(value, options, field, context) { 704 field.element.setAttribute('step', options); 705 field.element.checkValidity(); 706 if (field.element.validity.stepMismatch) { 707 const val = Number(value); 708 const step = Number(options); 709 const msg = 'Please\u0020enter\u0020a\u0020valid\u0020value.\u0020The\u0020two\u0020nearest\u0020valid\u0020values\u0020are\u0020\u0022\u00250\u0022\u0020and\u0020\u0022\u00251\u0022.'; 710 return hyva.strf(msg, Math.floor(val / step) * step, Math.ceil(val / step) * step); 711 } 712 return true; 713 }, 714 pattern(value, options, field, context) { 715 field.element.setAttribute('pattern', options); 716 field.element.checkValidity(); 717 if (field.element.validity.patternMismatch) { 718 return field.element.title 719 ? hyva.strf('Bitte\u0020korrigere\u0020das\u0020Format\u003A\u0020\u00250.', field.element.title) 720 : 'Please\u0020match\u0020the\u0020requested\u0020format.' 721 } 722 return true; 723 }, 724 email(value, options, field, context) { 725 const rule = /^([a-z0-9,!\#\$%&'\*\+\/=\?\^_`\{\|\}~-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z0-9,!\#\$%&'\*\+\/=\?\^_`\{\|\}~-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*@([a-z0-9-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z0-9-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*\.(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]){2,})$/i; 726 if (value.length > 0 && !rule.test(value)) { 727 return 'Bitte\u0020geben\u0020Sie\u0020eine\u0020g\u
72700FCltige\u0020E\u002DMail\u002DAdresse\u0020an.'; 728 } 729 return true; 730 }, 731 password(value, options, field, context) { 732 const rule = /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/; 733 if (value.length > 0 && !rule.test(value)) { 734 return 'Please\u0020provide\u0020at\u0020least\u0020one\u0020upper\u0020case,\u0020one\u0020lower\u0020case,\u0020one\u0020digit\u0020and\u0020one\u0020special\u0020character\u0020\u0028\u0023\u003F\u0021\u0040\u0024\u0025\u005E\u0026\u002A\u002D\u0029'; 735 } 736 return true; 737 }, 738 equalTo(value, options, field, context) { 739 const dependencyField = context.fields[options].element; 740 if (value !== dependencyField.value) { 741 const dependencyFieldName = 742 dependencyField.label || 743 dependencyField.title || 744 (dependencyField.labels && dependencyField.labels[0] && dependencyField.labels[0].innerText) || 745 dependencyField.name; 746 return hyva.strf('Das\u0020Feld\u0020muss\u0020identisch\u0020sein\u0020mit\u0020\u0022\u00250\u0022.', dependencyFieldName); 747 } 748 return true; 749 } 750 }; 751 752 function raceSome(promises, pred) { 753 return new Promise((resolve, reject) => { 754 755 if (promises.length === 0) { 756 return resolve(); 757 } 758 759 let settled = false, nDone = 0; 760 761 const resolveIf = v => { 762 if (!settled && (pred(v) || ++nDone === promises.length)) { 763 settled = true; 764 resolve(v); 765 } 766 return v; 767 } 768 769 promises.map(promise => { 770 promise.then(resolveIf).catch(reason => { 771 settled = true; 772 reject(reason) 773 }); 774 return promise; 775 }); 776 }); 777 } 778 779 const INPUT_ATTRIBUTE_RULES = {min: 'min', max: 'max', required: 'required', minlength: 'minlength', maxlength: 'maxlength', step: 'step', pattern: 'pattern'} 780 const INPUT_TYPE_RULES = {email: 'email'} 781 782 function getRules(element) { 783 let rules = {}; 784 Object.keys(INPUT_ATTRIBUTE_RULES).forEach(attrName => { 785 if (element.hasAttribute(attrName)) { 786 rules[INPUT_ATTRIBUTE_RULES[attrName]] = element.getAttribute(attrName); 787 } 788 }) 789 if (INPUT_TYPE_RULES[element.type]) { 790 rules[INPUT_TYPE_RULES[element.type]] = true; 791 } 792 793 if (element.dataset.validate) { 794 try { 795 Object.assign(rules, JSON.parse(element.dataset.validate)); 796 } catch (error) { 797 console.error('Validator error. Cannot parse data-validate attribute of element:\n', element); 798 } 799 } 800 801 return rules; 802 } 803 804 function isInvalidRuleResult(ruleState) { 805 return typeof ruleState === 'string' || !ruleState || (ruleState.type && ruleState.content); 806 } 807 808 async function runValidateFn(rule, options, value, field) { 809 return formValidationRules[rule](value, options, field, this); 810 } 811 812 function generateId() { 813 let id; 814 do { 815 id = `${this.idPrefix}-${++this.idSeq}`; 816 } while (document.getElementById(id)); 817 return id; 818 } 819 820 function isVisible(element) { 821 const el = element.type !== 'hidden' ? element : (element.parentElement || {}); 822 return !!(el.offsetWidth || el.offsetHeight || el.getClientRects().length) 823 } 824 825 function elementWillValidate(element) { 826 return (element.willValidate || element.type === 'hidden') 827 && element.tagName !== 'BUTTON' 828 && element.disabled === false 829 && !(element.tagName === 'INPUT' && element.type === 'submit') 830 && (element.hasAttribute('data-validate-hidden') || isVisible(element)) 831 } 832 833 function createMessageContainer(el, fieldWrapperClassName) { 834 if (! el.parentElement) { 835 return; 836 } 837 const refocus = document.activeElement === el; 838 const wrapper = document.createElement('div'); 839 wrapper.classList.add.apply(wrapper.classList, fieldWrapperClassName.split(' ')); 840 el.parentElement.insertBefore(wrapper, el); 841 wrapper.appendChild(el); 842 refocus && document.activeElement !== el && el.focus(); 843 return wrapper; 844 } 845 846 function containerNotFound(selector, el) { 847 const msg = `Cannot find message container element ${selector} of ${el.name}`; 848 console.error(msg, el); 849 throw msg; 850 } 851 852 function createTextInputFrom(el) { 853 const text = document.createElement('INPUT'); 854 text.type = 'text'; 855 text.value = el.value; 856 return text; 857 } 858 859 function classNamesToSelector(classNames) { 860 return classNames.split(' ') 861 .filter(className => className.length > 0) 862 .map(className => `.${className}`) 863 .join('') 864 } 865 866 function hasMessagesWrapper(field, messagesWrapperClassName) { 867 return this.getMessageContainer(field).querySelector(classNamesToSelector(messagesWrapperClassName)); 868 } 869
870 function getMessagesWrapper(field, messagesWrapperClassName) { 871 if (hasMessagesWrapper.call(this, field, messagesWrapperClassName)) { 872 return this.getMessageContainer(field).querySelector(classNamesToSelector(messagesWrapperClassName)); 873 } 874 875 const msgWrapper = document.createElement('ul'); 876 const msgId = generateId.call(this); 877 msgWrapper.id = msgId; 878 field.element.setAttribute('aria-errormessage', msgId); 879 field.element.setAttribute('aria-describedby', msgId); 880 msgWrapper.classList.add.apply(msgWrapper.classList, messagesWrapperClassName.split(' ')); 881 if (field.validateOnChange) { 882 msgWrapper.setAttribute('aria-live', 'polite'); 883 } 884 this.getMessageContainer(field).appendChild(msgWrapper); 885 886 return msgWrapper; 887 } 888 889 function getCheckedValues(field) { 890 const name = field.element.name.replace(/([\\"])/g, '\\$1'); 891 const elements = field.element.form.querySelectorAll('input[name="' + name + '"]:checked'); 892 return Array.from(elements).map(el => el.value); 893 } 894 895 function escapeHtml(s) { 896 const div = document.createElement('div') 897 div.innerText = s; 898 return div.innerHTML; 899 } 900 901 902 function formValidation(formElement, options) { 903 // Disable browser default validation 904 if (formElement.tagName === 'FORM') { 905 formElement.setAttribute('novalidate', ''); 906 } else { 907 console.error('formValidation can be initialized only on FORM element', formElement); 908 return; 909 } 910 911 options = Object.assign({ 912 fieldWrapperClassName: 'field field-reserved', 913 messagesWrapperClassName: 'messages', 914 validClassName: 'field-success', 915 invalidClassName: 'field-error', 916 pageMessagesWrapperSelector: null, 917 scrollToFirstError: true, 918 }, options || {}); 919 920 return { 921 state: { 922 valid: false, 923 }, 924 fields: {}, 925 idSeq: 0, 926 idPrefix: formElement.id || 'vld-msg', 927 setupFields(elements) { 928 this.fields = {}; 929 Array.from(elements).forEach(element => { 930 if (elementWillValidate(element)) { 931 this.setupField(element); 932 } 933 }); 934 }, 935 setupField(element) { 936 if (! element) return; 937 const onChange = !!element.dataset.onChange; 938 if (elementWillValidate(element)) { 939 const rules = getRules(element); 940 if (Object.keys(rules).length > 0) { 941 if (this.fields[element.name]) { 942 Object.assign(this.fields[element.name].rules, rules); 943 } else { 944 this.fields[element.name] = { 945 element, 946 rules: rules, 947 validateOnChange: onChange, 948 state: { 949 valid: null, 950 rules: {} 951 } 952 } 953 } 954 } 955 } else { 956 console.error('Element will not validate', element); 957 } 958 }, 959 onSubmit(event) { 960 if (event.target.tagName === 'FORM') { 961 event.preventDefault(); 962 963 this.validate() 964 .then(() => event.target.submit()) 965 .catch(invalidElements => {}); 966 } 967 }, 968 onChange(event) {
969 event.target.dataset.onChange = 'true'; 970 if (!Object.keys(this.fields).length) { 971 this.setupFields(formElement.elements); 972 } 973 if (!Object.keys(this.fields).includes(event.target.name)) { 974 this.setupField(event.target); 975 } 976 const field = this.fields[event.target.name]; 977 978 this.validateField(field); 979 field && field.element.removeAttribute('data-on-change') 980 }, 981 validateSafe() { 982 return new Promise(resolve => this.validate().then(() => resolve(true)).catch(() => {})) 983 }, 984 validate() { 985 if (!Object.keys(this.fields).length || !Object.keys(this.fields).length !== formElement.elements.length) { 986 this.setupFields(formElement.elements); 987 } 988 return new Promise(async (resolve, reject) => { 989 if (formElement.elements) { 990 await raceSome(this.validateFields(), result => result !== true) 991 const invalidFields = Object.values(this.fields).filter(field => !field.state.valid); 992 this.state.valid = invalidFields.length === 0; 993 if (this.state.valid) { 994 resolve(); 995 } else { 996 if (options.scrollToFirstError && invalidFields.length > 0) { 997 invalidFields[0].element.focus() 998 invalidFields[0].element.select && invalidFields[0].element.select(); 999 } 1000 reject(invalidFields.map(field => field.element)); 1001 } 1002 } 1003 }); 1004 }, 1005 validateFields() { 1006 const fields = Object.values(this.fields); 1007 1008 fields.forEach(field => { 1009 this.getMessageContainer(field).classList.remove(options.validClassName, options.invalidClassName) 1010 }); 1011 return fields.map(field => this.validateField(field)) 1012 }, 1013 validateField(field) { 1014 if (! field || ! elementWillValidate(field.element)) { 1015 return new Promise(resolve => resolve(true)) 1016 } 1017 1018 let value; 1019 if (field.element.type === 'checkbox') { 1020 value = getCheckedValues(field); 1021 } else if (field.element.type === 'radio') { 1022 value = getCheckedValues(field)[0] || undefined; 1023 } else if (field.element.tagName === 'SELECT' && field.element.multiple) { 1024 value = Array.from(field.element.selectedOptions).map(opt => opt.value); 1025 } else { 1026 value = field.element.value; 1027 } 1028 1029 const rules = field.rules || {}; 1030 1031 field.state.valid = true; 1032 this.showFieldState(field); 1033 1034 1035 const fieldValidations = Object.keys(rules).filter(rule => formValidationRules[rule]).map(async rule => { 1036 return runValidateFn.call(this, rule, rules[rule], value, field).then(result => { 1037 field.state.rules[rule] = result; 1038 return result; 1039 }) 1040 }); 1041 1042 return new Promise(resolve => { 1043 Promise.all(fieldValidations).then(results => { 1044 field.state.valid = !elementWillValidate(field.element) || rules.length === 0 || !results.some(isInvalidRuleResult)
1045 this.showFieldState(field); 1046 resolve(field.state.valid); 1047 }) 1048 }); 1049 }, 1050 getMessagesByField(field) { 1051 const messages = []; 1052 const invalidRules = Object.keys(field.state.rules).filter(rule => isInvalidRuleResult(field.state.rules[rule])); 1053 1054 field.rules && Object.keys(field.rules).forEach((rule) => { 1055 if (invalidRules.includes(rule)) { 1056 const customMessage = field.element.getAttribute('data-msg-' + rule); 1057 const message = customMessage ? customMessage : field.state.rules[rule]; 1058 const ruleOptions = JSON.parse(JSON.stringify(field.rules[rule])); 1059 1060 if (typeof message === 'undefined' || message === null || (typeof message !== 'string' && ! message.type)) { 1061 messages.push(hyva.strf('Validation rule "%0" failed.', rule)); 1062 } else if (Array.isArray(ruleOptions)) { 1063 ruleOptions.unshift(message.type ? message.content : message); 1064 const content = hyva.strf.apply(null, ruleOptions); 1065 messages.push(message.type ? {type: message.type, content} : content); 1066 } else { 1067 const content = hyva.strf(message.type ? message.content : message, ruleOptions) 1068 messages.push(message.type ? {type: message.type, content} : content); 1069 } 1070 } 1071 }); 1072 return messages; 1073 }, 1074 /** @deprecated */ 1075 getFieldWrapper(field) { 1076 return this.getMessageContainer(field) 1077 }, 1078 getMessageContainer(field) { 1079 let container; 1080 const pageSelector = field.element.getAttribute('data-validation-container') || options.pageMessagesContainerSelector; 1081 if (pageSelector) { 1082 container = document.querySelector(pageSelector) 1083 || containerNotFound(pageSelector, field.element) 1084 } else { 1085 const containerSelector = classNamesToSelector(options.fieldWrapperClassName); 1086 container = field.element.closest(containerSelector) 1087 || createMessageContainer(field.element, options.fieldWrapperClassName) 1088 || containerNotFound(containerSelector, field.element); 1089 } 1090 1091 return container; 1092 }, 1093 showFieldState(field) { 1094 const container = this.getMessageContainer(field), 1095 hasErrorMessages = hasMessagesWrapper.call(this, field, options.messagesWrapperClassName), 1096 messages = this.getMessagesByField(field).map(m => { 1097 return m.type !== 'html' ? escapeHtml(m.type ? m.content : m) : m.content; 1098 }); 1099 container.classList.toggle(options.validClassName, field.state.valid && ! hasErrorMessages); 1100 container.classList.toggle(options.invalidClassName, !field.state.valid || hasErrorMessages); 1101 this.createHtmlErrorMessage(field, messages); 1102 1103 if (field.state.valid) { 1104 field.element.removeAttribute('aria-invalid'); 1105 } else { 1106 field.element.setAttribute('aria-invalid', 'true'); 1107 if (! document.activeElement) { 1108 field.element.focus(); 1109 } 1110 } 1111 }, 1112 removeMessages(field, messagesClass) { 1113 if (! hasMessagesWrapper.call(this, field, messagesClass || options.messagesWrapperClassName)) { 1114 return; 1115 } 1116 1117 const msgWrapper = getMessagesWrapper.call(this, field, messagesClass || options.messagesWrapperClassName); 1118 const messages = msgWrapper.querySelectorAll(`[data-msg-field='${field.element.name}']`);
1119 Array.from(messages).forEach(msg => msg.remove()); 1120 if (msgWrapper && msgWrapper.childElementCount === 0) { 1121 field.element.removeAttribute('aria-errormessage'); 1122 field.element.removeAttribute('aria-describedby'); 1123 msgWrapper.remove(); 1124 } 1125 }, 1126 createErrorMessage(field, messages) { 1127 const htmlMessages = (Array.isArray(messages) ? messages : [messages]).map(escapeHtml) 1128 this.createHtmlErrorMessage(field, htmlMessages); 1129 }, 1130 createHtmlErrorMessage(field, messages) { 1131 this.removeMessages(field, options.messagesWrapperClassName); 1132 field.element.removeAttribute('aria-errormessage'); 1133 field.element.removeAttribute('aria-describedby'); 1134 1135 if (!field.state.valid) { 1136 const msgWrapper = this.addHtmlMessages(field, options.messagesWrapperClassName, messages); 1137 field.element.setAttribute('aria-errormessage', msgWrapper.id); 1138 field.element.setAttribute('aria-describedby', msgWrapper.id); 1139 } 1140 }, 1141 /** @deprecated */ 1142 createMessage(field, message) { 1143 return this.addMessages(field, options.messagesWrapperClassName, message); 1144 }, 1145 addMessages(field, messagesClass, messages) { 1146 const htmlMessages = (Array.isArray(messages) ? messages : [messages]).map(escapeHtml) 1147 return this.addHtmlMessages(field, messagesClass, htmlMessages); 1148 }, 1149 addHtmlMessages(field, messagesClass, htmlMessages) { 1150 const msgWrapper = getMessagesWrapper.call(this, field, messagesClass); 1151 1152 (Array.isArray(htmlMessages) ? htmlMessages : [htmlMessages]).forEach((htmlMessage) => { 1153 const li = document.createElement('li'); 1154 li.innerHTML = htmlMessage; 1155 li.setAttribute('data-msg-field', field.element.name); 1156 msgWrapper.appendChild(li); 1157 }); 1158 1159 return msgWrapper; 1160 }, 1161 setField(name, value) { 1162 this.fields[name].element.value = value; 1163 this.fields[name].element.dispatchEvent((new Event('input'))); 1164 this.validateField(this.fields[name]); 1165 } 1166 } 1167 } 1168 1169 hyva.formValidation = formValidation; 1170 hyva.formValidation.rules = formValidationRules; 1171 hyva.formValidation.setInputAttributeRuleName = (attrName, ruleName) => INPUT_ATTRIBUTE_RULES[attrName] = ruleName || attrName; 1172 hyva.formValidation.setInputTypeRuleName = (typeName, ruleName) => INPUT_TYPE_RULES[typeName] = ruleName || typeName; 1173 hyva.formValidation.addRule = (name, validator) => formValidationRules[name] = validator; 1174 }(window.hyva = window.hyva || {})); 1175</script>
1175 1176 1177<div class="page-wrapper"><header class="page-header"><div class="black-week-coupon-code-banner" data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><style> 1178.quick-buy { 1179 display: none !important; 1180} 1181</style></div><div id="downgrade-date-container" style="background-color: #FF6D0F"></div>
1182<script> 1183 const nextDowngradeDayCacheStorage = JSON.parse(window.localStorage.getItem('mage-cache-storage')); 1184 const daysToNextDowngrade = nextDowngradeDayCacheStorage.customer.gfc_next_downgrade_days; 1185 1186 if (daysToNextDowngrade) { 1187 const downgradeMessageTemplate = "In %1 Tagen verlierst Du Cash & Level Points und wirst somit zurückgestuft. Shoppe jetzt, um Deine Points zu behalten."; 1188 const downgradeMessage = downgradeMessageTemplate.replace('%1', daysToNextDowngrade); 1189 1190 document.getElementById('downgrade-date-container').innerHTML = ` 1191 <div class="next-downgrade-warning-header"> 1192 <div class="text-main-white text-left laptop:text-center py-1 px-3 flex items-center justify-center tablet:gap-x-8 z-20 relative overflow-x-auto whitespace-nowrap"> 1193 <p class="fs-14"> 1194 ${downgradeMessage} 1195 <a href="https://www.justspices.de/goodfoodclub#faq"><u class="fs-14">Mehr erfahren</u></a> 1196 </p> 1197 </div> 1198 </div> 1199 `; 1200 const benefitAnnouncement = document.getElementById("scroll-container"); 1201 const couponCodeAnnouncement = document.getElementById("couponBanner"); 1202 if (benefitAnnouncement) { 1203 benefitAnnouncement.remove(); 1204 } 1205 if (couponCodeAnnouncement) { 1206 couponCodeAnnouncement.remove(); 1207 } 1208 } 1209</script>
1209 1210<a class="action skip sr-only focus:not-sr-only focus:absolute focus:z-40 focus:bg-white 1211 contentarea" 1212 href="#contentarea"> 1213 <span> 1214 Zum Inhalt springen </span> 1215</a>
1216<script> 1217 function initHeader () { 1218 return { 1219 slideOutAnimation: false, 1220 searchOpen: false, 1221 cart: {}, 1222 customer : {}, 1223 isCartOpen: false, 1224 isCustomerMenuOpen : false, 1225 getData(data) { 1226 if (data.cart) { this.cart = data.cart } 1227 if (data.customer) { this.customer = data.customer} 1228 }, 1229 getGfcIcon() { 1230 if(this.customer.gfc_level) { 1231 let level = this.customer.gfc_level; 1232 return level.replace(/\s+/g, '_').toLowerCase(); 1233 } 1234 return '' 1235 }, 1236 isCartEmpty() { 1237 return !this.cart.summary_count 1238 }, 1239 visibleCartItemsCount(summary_count) { 1240 let cartItems = this.cart.items; 1241 if (cartItems.length > 0) { 1242 let hiddenQtyCount = cartItems 1243 .filter(item => item.hide_for_customer === true || item.message === '\nFREE!') 1244 .reduce((acc, item) => acc + item.qty, 0) 1245 return summary_count - hiddenQtyCount 1246 } 1247 return summary_count 1248 }, 1249 toggleCart(event) { 1250 if (event.detail && event.detail.isOpen !== undefined) { 1251 this.isCartOpen = event.detail.isOpen 1252 if (!this.isCartOpen && this.$refs && this.$refs.cartButton) { 1253 this.$refs.cartButton.focus() 1254 } 1255 } else { 1256 this.isCartOpen = true 1257 } 1258 }, 1259 toggleCustomerNav(event) { 1260 if (event.detail && event.detail.isOpen !== undefined) { 1261 this.isCustomerMenuOpen = event.detail.isOpen 1262 } else { 1263 this.isCustomerMenuOpen = true 1264 } 1265 }, 1266 slideOut() { 1267 this.slideOutAnimation = true 1268 setTimeout(() => { 1269 this.slideOutAnimation = false 1270 this.searchOpen = false 1271 }, 350); 1272 }, 1273 toggleMobileSearchBar() { 1274 if(this.searchOpen === true){ 1275 document.body.classList.add('searchbar-open'); 1276 }else { 1277 document.body.classList.remove('searchbar-open'); 1278 } 1279 }, 1280 closeMobileSearchBar() { 1281 document.body.classList.remove('searchbar-open'); 1282 } 1283 } 1284 } 1285 function initCompareHeader() { 1286 return { 1287 compareProducts: null, 1288 itemCount: 0, 1289 receiveCompareData(data) { 1290 if (data['compare-products']) { 1291 this.compareProducts = data['compare-products']; 1292 this.itemCount = this.compareProducts.count; 1293 } 1294 } 1295 } 1296 } 1297</script>
1297 1298 1299<div id="header" 1300 class="bg-main-creme w-full relative" 1301 x-data="initHeader()" 1302 @private-content-loaded.window="getData(event.detail.data)" 1303 > 1304 <div class="container flex items-center justify-between py-1 laptop:py-2"> 1305 1306 <div class="header-left flex items-center justify-between gap-4 order-1 laptop:order-2"> 1307 1308 <nav 1309 x-data="initMenuMobile_6abea0a4d3650()" 1310 @load.window="setActiveMenu($root)" 1311 @keydown.window.escape="closeMenu()" 1312 class="z-20 laptop:hidden toggle-nav" 1313 aria-label="Site navigation" 1314 role="navigation" 1315> 1316 <!-- mobile --> 1317 <button 1318 x-ref="mobileMenuTrigger" 1319 @click="!open ? openMenu() : closeMenu()" 1320 type="button" 1321 aria-label="Open menu" 1322 aria-haspopup="menu" 1323 :aria-expanded="open" 1324 id="mobile-toggle" 1325 > 1326 <div> 1327 <i class="fal fa-bars text-4"></i> 1328 </div> 1329 </button> 1330 <div 1331 x-ref="mobileMenuNavLinks" 1332 class="nav-links invisible" 1333 :class="{ 'open': open, 'invisible': !open }" 1334 :aria-hidden="open ? 'false' : 'true'" 1335 role="dialog" 1336 aria-modal="true" 1337 @click="closeMenu()" 1338 > 1339 1340 1341 <div class="navigation-wrapper"> 1342 <div class="close-button" @click="closeMenu()"> 1343 <i class="fal fa-times"></i> 1344 </div> 1345 <div class="navigation-container" @click.stop> 1346 <span class="go-to-previous"> 1347 1348 </span> 1349 <div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><style> 1350 .navigation nav > div > ul#abtest-v1{ 1351 display:none; 1352 } 1353 #header nav div ul#abtest-v1{ 1354 display:none; 1355 } 1356 .submenu-dropdown > .container > div:has(+ ul.abtest) { 1357 gap: 15rem; 1358 } 1359 .submenu-dropdown>.container>div>ul.abtest { 1360 display: flex; 1361 flex-direction: row; 1362 gap: 8.8rem; 1363 max-width: fit-content; 1364 margin-top: 0; 1365} 1366 .submenu-dropdown>.container>div>ul.abtest a{ 1367 font-family: BrandonText-Regular, sans-serif; 1368 1369 } 1370 .navigation-wrapper .navigation-container ul.abtest{ 1371 gap: 1.5rem; 1372 } 1373 .navigation-wrapper .navigation-container ul.abtest a{ 1374 font-family: BrandonText-Regular, sans-serif; 1375 font-size: 1.6rem; 1376 } 1377 .navigation-wrapper .navigation-container ul.abtest span{ 1378 font-size: 1.6rem; 1379 } 1380 .navigation-wrapper .navigation-container ul>li ul.abtest>li ul>li>a{ 1381 background-color: unset; 1382 } 1383 .submenu-dropdown>.container>div>ul.abtest a.font-bold{ 1384 font-family: BrandonText-Bold, sans-serif; 1385 position: inherit; 1386 cursor: default; 1387 } 1388 .submenu-dropdown>.container>div>ul.abtest li{ 1389 padding: 0 0 10px 0px; 1390 } 1391 .abtest-img-hover{ 1392 cursor:pointer; 1393 max-width: 365px; 1394 margin-left: auto; 1395 margin-right: auto; 1396 margin-top: 0; 1397 } 1398 1399 .navigation-wrapper .navigation-container ul.abtest-v1 a i.position-relative{ 1400 position : relative; 1401 } 1402 .navigation-wrapper .navigation-container ul.abtest-v1 span.bold{ 1403 font-family: BrandonText-Bold,sans-serif; 1404 } 1405 .navigation-wrapper .navigation-container ul.abtest-v1 > li ul > li ul > li > a{ 1406 background-color: inherit; 1407 padding: .8rem 0; 1408 } 1409 1410</style></div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><ul id="first-layer" class="abtest-original"> 1411 <li> 1412 <a data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:parent"> 1413 <picture> 1414 1415 <source type="image/webp" 1416 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/navigation/nav-gewuerze.webp"> 1417 1418 <source type="image/png" 1419 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/nav-gewuerze.png"> 1420 1421 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/nav-gewuerze.png" class="laptop:hidden first-layer
1421-image" alt="Gewürze" /> </picture> 1422 1423 1424 Gewürze 1425 </a> 1426 <ul> 1427 <li onlyDesktop><span>Gewürze</span></li> 1428 <li onlyDesktop> 1429 <a href="https://www.justspices.de/alle-produkte.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:AlleProdukte">Alle Produkte</a> 1430 </li> 1431 <li> 1432 <a href="https://www.justspices.de/gewuerzmischungen.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Gewurzmischungen">Alle Gewürzmischungen</a> 1433 </li> 1434 <li> 1435 <a href="https://www.justspices.de/bestseller.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Bestseller">Bestseller</a> 1436 </li> 1437 1438 <li rightContainer> 1439 <a onlyMobile>Nach Kategorie</a> 1440 <ul onlyMobile> 1441 <li> 1442 <a href="https://www.justspices.de/gewuerzmischungen/suppen-und-eintoepfe.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:SuppenEintöpfe"> 1443 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/cat-image-suppen-eintopf.svg" width="64" height="64" class="lozad" /> 1444 <span>Suppen & Eintöpfe</span> 1445 </a> 1446 </li> 1447 <li> 1448 <a href="https://www.justspices.de/gewuerzmischungen/fruehstueck.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Fruhstuck"> 1449 <img data-src="https://www.justspices.de/media/wysiwyg/navigation/fruehstueck.svg" width="64" height="64" class="lozad" /> 1450 <span>Frühstück</span> 1451 </a> 1452 </li> 1453 <li> 1454 <a href="https://www.justspices.de/gewuerzmischungen/backen-und-suesses.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:BackenSusses"> 1455 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/suesses.svg" width="64" height="64" class="lozad" /> 1456 <span>Backen & Süsses</span> 1457 </a> 1458 </li> 1459 <li> 1460 <a href="https://www.justspices.de/gewuerzmischungen/dips-und-aufstriche.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:AufstricheDips"> 1461 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/dips.svg" width="64" height="64" class="lozad" /> 1462 <span>Aufstriche & Dips</span> 1463 </a> 1464 </li> 1465 <li> 1466 <a href="https://www.justspices.de/gewuerzmischungen/italienisch.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Italienisch"> 1467 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/italienisch.svg" width="64" height="64" class="lozad" /> 1468 <span>Italienisch</span> 1469 </a> 1470 </li> 1471 <li> 1472 <a href="https://www.justspices.de/gewuerzmischungen/kartoffeln.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Kartoffeln"> 1473 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/kartoffeln.svg" width="64" height="64" class="lozad" /> 1474 <span>Kartoffeln</span> 1475 </a> 1476 </li> 1477 <li> 1478 <a href="https://www.justspices.de/gewuerzmischungen/airfryer.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Heissluftfritteuse"> 1479 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/heissluftfritteuse.svg" width="64" height="64" class="lozad" />
1480 <span>Airfryer</span> 1481 </a> 1482 </li> 1483 <li> 1484 <a href="https://www.justspices.de/asiatische-gewuerzmischungen" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Asiatisch"> 1485 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/asiatisch.svg" width="64" height="64" class="lozad" /> 1486 <span>Asiatisch</span> 1487 </a> 1488 </li> 1489 </ul> 1490 <ul onlyDesktop> 1491 <li><span>Nach Anwendung</span></li> 1492 <li> 1493 <a href="https://www.justspices.de/gewuerzmischungen/salat-und-dressing.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:SalatDressing"> 1494 <span><i class="fa-light fa-salad pr-1"></i> Salat & Dressing</span> 1495 </a> 1496 </li> 1497 <li> 1498 <a href="https://www.justspices.de/gewuerzmischungen/fruehstueck.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Fruhstuck"> 1499 1500 <span><i class="fa-light fa-croissant pr-1"></i> Frühstück</span> 1501 </a> 1502 </li> 1503 <li> 1504 <a href="https://www.justspices.de/gewuerzmischungen/backen-und-suesses.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:BackenSusses"> 1505 1506 <span><i class="fa-light fa-cupcake pr-1"></i> Backen & Süsses</span> 1507 </a> 1508 </li> 1509 1510 <li> 1511 <a href="https://www.justspices.de/gewuerzmischungen/grillen.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:MarinierenGrillen"> 1512 1513 <span><i class="fa-light fa-meat pr-1"></i> Marinieren & Grillen</span> 1514 </a> 1515 </li> 1516 <li> 1517 <a href="https://www.justspices.de/gewuerzmischungen/eis-joghurt-und-getraenke.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:EisJoghurtGetränke"> 1518 1519 <span><i class="fa-light fa-ice-cream pr-1"></i> Eis, Joghurt & Getränke</span> 1520 </a> 1521 </li> 1522 <li> 1523 <a href="https://www.justspices.de/gewuerzmischungen/dips-und-aufstriche.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:AufstricheDips"> 1524 1525 <span><i class="fa-light fa-avocado pr-1"></i> Aufstriche & Dips</span> 1526 </a> 1527 </li> 1528 </ul> 1529 <ul onlyDesktop> 1530 <li><span>Nach Küche</span></li> 1531 <li> 1532 <a href="https://www.justspices.de/gewuerzmischungen/indisch.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Indisch"> 1533 1534 <span>Indisch</span> 1535 </a> 1536 </li> 1537 <li> 1538 <a href="https://www.justspices.de/gewuerzmischungen/italienisch.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Italienisch"> 1539 1540 <span>Italienisch</span> 1541 </a> 1542 </li> 1543 <li> 1544 <a href="https://www.justspices.de/gewuerzmischungen/mexikanisch.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Mexikanisch"> 1545
1546 <span>Mexikanisch</span> 1547 </a> 1548 </li> 1549 1550 <li> 1551 <a href="https://www.justspices.de/gewuerzmischungen/griechisch.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Griechisch"> 1552 1553 <span>Griechisch</span> 1554 </a> 1555 </li> 1556 <li> 1557 <a href="https://www.justspices.de/gewuerzmischungen/orientalisch.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Orientalisch"> 1558 1559 <span>Orientalisch</span> 1560 </a> 1561 </li> 1562 <li> 1563 <a href="https://www.justspices.de/gewuerzmischungen/asiatisch.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Asiatisch"> 1564 1565 <span>Asiatisch</span> 1566 </a> 1567 </li> 1568 </ul> 1569 <ul onlyDesktop> 1570 <li><span>Passend zu</span></li> 1571 <li> 1572 <a href="https://www.justspices.de/gewuerzmischungen/kartoffeln.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Kartoffeln"> 1573 1574 <span>Kartoffeln</span> 1575 </a> 1576 </li> 1577 <li> 1578 <a href="https://www.justspices.de/gewuerzmischungen/fleisch.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Fleisch"> 1579 1580 <span>Fleisch</span> 1581 </a> 1582 </li> 1583 <li> 1584 <a href="https://www.justspices.de/gewuerzmischungen/gemuese.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Gemüse"> 1585 1586 <span>Gemüse</span> 1587 </a> 1588 </li> 1589 1590 <li> 1591 <a href="https://www.justspices.de/gewuerzmischungen/pasta.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Pasta"> 1592 1593 <span>Pasta</span> 1594 </a> 1595 </li> 1596 <li> 1597 <a href="https://www.justspices.de/gewuerzmischungen/fisch.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Fisch"> 1598 1599 <span>Fisch</span> 1600 </a> 1601 </li> 1602 1603 </ul> 1604 <ul onlyDesktop> 1605 <li imageContainer> 1606 <a href="https://www.justspices.de/bestseller/fruehling.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Bild"> 1607 <picture> 1608 1609 <source type="image/webp" 1610 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/navigation/image-fruehlings-bestseller.webp"> 1611 1612 <source type="image/png" 1613 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/image-fruehlings-bestseller.png"> 1614 1615 <img class="abtest-img-hover" src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/image-fruehlings-bestseller.png" alt="Gewürze" /> </picture> 1616 1617 1618 </a> 1619 </li> 1620 </ul> 1621 </li> 1622 1623 1624 </ul> 1625 </li> 1626 1627 <li> 1628 <a data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:parent"> 1629 <picture> 1630 1631 <source type="image/webp" 1632 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/navigation/rezepte_mobile.webp"> 1633 1634 <source type="image/png" 1635 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/rezepte_mobile.png"> 1636 1637 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/rezepte_mobile.png" class="laptop:hidden first-layer
1637-image" alt="Rezepte" /> </picture> 1638 1639 1640 Rezepte & Co 1641 </a> 1642 <ul> 1643 <li onlyDesktop><span>Rezepte</span></li> 1644 <li> 1645 <a href="https://www.justspices.de/rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Ubersicht">Ãbersicht</a> 1646 </li> 1647 <li> 1648 <a href="https://www.justspices.de/alle-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:AlleRezepte">Alle Rezepte</a> 1649 </li> 1650 <li onlyDesktop> 1651 <a href="https://www.justspices.de/rezeptsammlungen/beliebte-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:BeliebteRezepte">Beliebte Rezepte</a> 1652 </li> 1653 <li> 1654 <a href="https://www.justspices.de/rezeptsammlungen" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Rezeptsammlungen">Rezeptsammlungen</a> 1655 </li> 1656 <li onlyMobile> 1657 <a>Nach Kategorie</a> 1658 <ul> 1659 <li> 1660 <a href="https://www.justspices.de/rezeptsammlungen/beliebte-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:BeliebteRezepte"> 1661 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/beliebt.svg" width="64" height="64" class="lozad" /> 1662 <span>Beliebte Rezepte</span> 1663 </a> 1664 </li> 1665 <li> 1666 <a href="https://www.justspices.de/rezeptsammlungen/vegetarische-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Vegetarisch"> 1667 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/vegetarisch.svg" width="64" height="64" class="lozad" /> 1668 <span>Vegetarisch</span> 1669 </a> 1670 </li> 1671 <li> 1672 <a href="https://www.justspices.de/rezeptsammlungen/low-carb-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:LowCarb"> 1673 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/low-carb.svg" width="64" height="64" class="lozad" /> 1674 <span>Low Carb</span> 1675 </a> 1676 </li> 1677 <li> 1678 <a href="https://www.justspices.de/rezeptsammlungen/fleisch-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Fleisch"> 1679 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/fleisch.svg" width="64" height="64" class="lozad" /> 1680 <span>Fleisch</span> 1681 </a> 1682 </li> 1683 <li> 1684 <a href="https://www.justspices.de/rezeptsammlungen/top30pasta-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Pasta"> 1685 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/pasta.svg" width="64" height="64" class="lozad" /> 1686 <span>Pasta</span> 1687 </a> 1688 </li> 1689 <li> 1690 <a href="https://www.justspices.de/rezeptsammlungen/vegane-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Vegan"> 1691 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/vegan.svg" width="64" height="64" class="lozad" />
1692 <span>Vegan</span> 1693 </a> 1694 </li> 1695 <li> 1696 <a href="https://www.justspices.de/rezeptsammlungen/kartoffel-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Kartoffeln"> 1697 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/kartoffeln.svg" width="64" height="64" class="lozad" /> 1698 <span>Kartoffeln</span> 1699 </a> 1700 </li> 1701 <li> 1702 <a href="https://www.justspices.de/rezeptsammlungen/gemuese-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Gemuse"> 1703 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/gemuese.svg" width="64" height="64" class="lozad" /> 1704 <span>Gemüse</span> 1705 </a> 1706 </li> 1707 </ul> 1708 </li> 1709 <li> 1710 <a href="https://www.justspices.de/waskocheichheute" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Waskocheichheute">Was koche ich heute?</a> 1711 </li> 1712 <li> 1713 <a href="https://www.justspices.de/blog" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Blog">Blog</a> 1714 </li> 1715 <li rightContainer onlyDesktop> 1716 <ul> 1717 <li><span>Nach Ernährung</span></li> 1718 <li> 1719 <a href="https://www.justspices.de/rezeptsammlungen/vegetarische-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Vegetarisch"> 1720 <span><i class="fa-light fa-leaf pr-1"></i> Vegetarisch</span> 1721 </a> 1722 </li> 1723 <li> 1724 <a href="https://www.justspices.de/rezeptsammlungen/vegane-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Vegan"> 1725 <span><i class="fa-light fa-v pr-1"></i> Vegan</span> 1726 </a> 1727 </li> 1728 <li> 1729 <a href="https://www.justspices.de/rezeptsammlungen/low-carb-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:LowCarb"> 1730 1731 <span><i class="fa-light fa-bread-loaf pr-1"></i> Low Carb</span> 1732 </a> 1733 </li> 1734 1735 <li> 1736 <a href="https://www.justspices.de/rezeptsammlungen/kalorienarme-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Kalorienarm"> 1737 <span><i class="fa-light fa-tomato pr-1"></i> Kalorienarm</span> 1738 </a> 1739 </li> 1740 </ul> 1741 <ul> 1742 <li><span>Nach Menüart</span></li> 1743 <li> 1744 <a href="https://www.justspices.de/alle-rezepte?refine=menu%3AFr%C3%BChst%C3%BCck" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Frühstück"> 1745 1746 <span>Frühstück</span> 1747 </a> 1748 </li> 1749 <li> 1750 <a href="https://www.justspices.de/rezeptsammlungen/mittagessen-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Mittagessen"> 1751 1752 <span>Mittagessen</span> 1753 </a> 1754 </li> 1755 <li> 1756 <a href="https://www.justspices.de/alle-rezepte?refine=menu%3ASnacks" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Snacks"> 1757
1758 <span>Snacks</span> 1759 </a> 1760 </li> 1761 1762 <li> 1763 <a href="https://www.justspices.de/alle-rezepte?refine=menu%3AAbendessen" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Abendessen"> 1764 1765 <span>Abendessen</span> 1766 </a> 1767 </li> 1768 <li> 1769 <a href="https://www.justspices.de/alle-rezepte?refine=menu%3ADessert" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Dessert"> 1770 1771 <span>Dessert</span> 1772 </a> 1773 </li> 1774 </ul> 1775 <ul> 1776 <li><span>Nach Trends</span></li> 1777 <li> 1778 <a href="https://www.justspices.de/rezeptsammlungen/schnelle-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Schnelles"> 1779 1780 <span>Schnelles</span> 1781 </a> 1782 </li> 1783 <li> 1784 <a href="https://www.justspices.de/rezeptsammlungen/airfryer-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Airfryer"> 1785 1786 <span>Airfryer</span> 1787 </a> 1788 </li> 1789 <li> 1790 <a href="https://www.justspices.de/rezeptsammlungen/fingerfood-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Fingerfood"> 1791 1792 <span>Fingerfood</span> 1793 </a> 1794 </li> 1795 1796 <li> 1797 <a href="https://www.justspices.de/rezeptsammlungen/gnocchi-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Gnocchi"> 1798 1799 <span>Gnocchi</span> 1800 </a> 1801 </li> 1802 </ul> 1803 <ul onlyDesktop> 1804 <li imageContainer> 1805 <a href="https://www.justspices.de/rezeptsammlungen/airfryer-rezepte"> 1806 <picture> 1807 1808 <source type="image/webp" 1809 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/navigation/rezepte-tab.webp"> 1810 1811 <source type="image/png" 1812 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/rezepte-tab.png"> 1813 1814 <img class="abtest-img-hover" src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/rezepte-tab.png" alt="Airfryer Rezepte" /> </picture> 1815 1816 1817 </a> 1818 </li> 1819 </ul> 1820 </li> 1821 </ul> 1822 </li> 1823 1824 1825 <li> 1826 <a href="https://www.justspices.de/storefinder" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Storefinder:parent"> 1827 <picture> 1828 1829 <source type="image/webp" 1830 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/navigation/nav-storefinder.webp"> 1831 1832 <source type="image/png" 1833 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/nav-storefinder.png"> 1834 1835 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/nav-storefinder.png" class="laptop:hidden first-layer-image" alt="Storefinder" /> </picture> 1836 1837 1838 Storefinder 1839 </a> 1840 </li> 1841 1842 <li> 1843 <a href="https://www.justspices.de/about" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="UeberUns:parent"> 1844 <picture> 1845 1846 <source type="image/webp" 1847 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/navigation/neu_mobile.webp"> 1848 1849 <source type="image/png" 1850 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/neu_mobile.png"> 1851 1852 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/neu_mobile.png" class="laptop:hidden first-layer
1852-image" alt="Ãber Uns" /> </picture> 1853 1854 1855 Ãber Uns 1856 </a> 1857 </li> 1858 1859</ul></div> </div> 1860 </div> 1861 </div> 1862</nav>
1863<script> 1864 'use strict'; 1865 1866 const initMenuMobile_6abea0a4d3650 = () => { 1867 return { 1868 mobilePanelActiveId: null, 1869 open: false, 1870 goBackButton : document.querySelector('.go-to-previous'), 1871 slideOutLeft(item, removeHiddenClass = true) { 1872 item.classList.add('slide-out-left'); 1873 item.addEventListener('animationend', function() { 1874 item.classList.remove('slide-out-left'); 1875 if (removeHiddenClass) { 1876 item.classList.add('hidden-important'); 1877 } else { 1878 item.style.display = 'none'; 1879 } 1880 }, { once: true }); 1881 }, 1882 slideOutRight(item, removeHiddenClass = true) { 1883 item.classList.add('slide-out-right'); 1884 item.addEventListener('animationend', function() { 1885 item.classList.remove('slide-out-right'); 1886 if (removeHiddenClass) { 1887 item.classList.add('hidden-important'); 1888 } else { 1889 item.style.display = 'none'; 1890 } 1891 }, { once: true }); 1892 }, 1893 slideInLeft(item, className = 'flex') { 1894 item.classList.remove('hidden-important'); 1895 item.style.display = className; 1896 item.classList.add('slide-in-left'); 1897 item.addEventListener('animationend', function() { 1898 item.classList.remove('slide-in-left'); 1899 }, { once: true }); 1900 }, 1901 slideInRight(item, className = 'flex') { 1902 item.classList.remove('hidden-important'); 1903 item.style.display = className; 1904 item.classList.add('slide-in-right'); 1905 item.addEventListener('animationend', function() { 1906 item.classList.remove('slide-in-right'); 1907 }, { once: true }); 1908 },
1909 setActiveMenu(menuNode) { 1910 // Remove desktop-only elements from mobile navigation 1911 menuNode.querySelectorAll('[onlyDesktop]').forEach(el => el.remove()); 1912 1913 Array.from(menuNode.querySelectorAll('a')).filter(link => { 1914 return link 1915 }).map(item => { 1916 if (item.nextElementSibling && item.nextElementSibling.tagName.toLowerCase() === 'ul') { 1917 1918 item.classList.add('has-subcategory'); 1919 item.insertAdjacentHTML('beforeend', '<i class="fal fa-arrow-right"></i>'); 1920 item.addEventListener('click', () => { 1921 1922 let parentLi = item.closest('li'), 1923 parentList = parentLi.parentElement, 1924 allLi = parentList.querySelectorAll(':scope > li'); 1925 1926 1927 let clickedItems = document.querySelectorAll('.navigation-container .clicked') 1928 clickedItems.forEach(function(clickedItem) { 1929 clickedItem.classList.remove('clicked'); 1930 }); 1931 item.classList.add('clicked') 1932 1933 1934 // item.classList.add('hidden-important'); 1935 this.slideOutLeft(item) 1936 allLi.forEach((li) => { 1937 if (li !== parentLi) { 1938 this.slideOutLeft(li) 1939 } 1940 }); 1941 1942 item.addEventListener('animationend', () => { 1943 this.slideInRight(item.nextElementSibling) 1944 }, { once: true }); 1945 1946 this.goBackButton.innerHTML = '<i class="fas fa-chevron-left"></i>' + item.innerText; 1947 this.goBackButton.classList.add('add-margin') 1948 }) 1949 1950 } 1951 }); 1952 this.goBackButton.addEventListener('click',() => { 1953 let clickedItem = document.querySelector('.navigation-container .clicked'), 1954 parentLi = clickedItem.closest('li'), 1955 parentList = parentLi.parentElement, 1956 allLi = parentList.querySelectorAll(':scope > li'), 1957 parentUl = clickedItem.closest('ul'); 1958 1959 this.slideOutRight(clickedItem.nextElementSibling) 1960 clickedItem.nextElementSibling.addEventListener('animationend', () => { 1961 this.slideInLeft(clickedItem) 1962 allLi.forEach((li) => { 1963 this.slideInLeft(li) 1964 }); 1965 }, { once: true }); 1966 1967 this.goBackButton.innerHTML = '' 1968 1969 clickedItem.classList.remove('clicked'); 1970 1971 let prevAElement = parentUl.previousElementSibling; 1972 if (prevAElement && prevAElement.matches('a.has-subcategory')) { 1973 prevAElement.classList.add('clicked') 1974 this.goBackButton.innerHTML = '<i class="fas fa-chevron-left"></i>' + prevAElement.innerText; 1975 this.goBackButton.classList.add('mb-2') 1976 } 1977 1978 if (this.goBackButton.innerHTML === '') { 1979 this.goBackButton.classList.remove('mb-2') 1980 } 1981 }) 1982 }, 1983 openMenu() { 1984 this.open = true 1985 document.body.style.overflow = 'hidden'; 1986 if (lazyLoadInstance !== 'undefined') { 1987 lazyLoadInstance.update(); 1988 } 1989 }, 1990 closeMenu() { 1991 document.body.style.overflow = ''; 1992 this.open = false 1993 this.mobilePanelActiveId = null 1994 } 1995 } 1996 } 1997</script>
1997 1998 1999 <button 2000 id="menu-search-icon" 2001 class="laptop:hidden" 2002 @click.prevent=" 2003 searchOpen = !searchOpen; 2004 $dispatch('search-open'); 2005 window.setTimeout(function() { $refs.mobileSearchInput.focus() },0); 2006 toggleMobileSearchBar(); 2007 2008 " 2009 aria-label="Toggle search form" 2010 aria-haspopup="true" 2011 :aria-expanded="searchOpen" 2012 x-ref="searchButton" 2013 > 2014 <i class="fal fa-search text-4"></i> 2015 </button> 2016 </div> 2017 2018 <div class="header-center order-2 laptop:order-1 laptop:flex laptop:gap-4"> 2019 <a href="https://www.justspices.de/" class="logo" title="Just Spices" 2020 aria-label="store logo"> 2021 <picture> 2022 <source srcset="https://www.justspices.de/static/version1790005904/frontend/Justspices/relaunch/de_DE/images/logo.svg" type="image/svg+xml"> 2023 <img class="logo" src="https://www.justspices.de/static/version1790005904/frontend/Justspices/relaunch/de_DE/images/logo.png" alt="Just Spices Logo" width="60" height="60" /> 2024 </picture> 2025</a> 2026 2027 <div x-data="initMenuDesktop_6abea0a504847()" 2028 class="z-20 navigation hidden laptop:flex" 2029> 2030 <!-- desktop --> 2031 <div x-ref="nav-desktop" 2032 @load.window="setActiveMenu($root)" 2033 class="hidden laptop:block"> 2034 <nav 2035 aria-label="Main menu" 2036 > 2037 <div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><style> 2038 .navigation nav > div > ul#abtest-v1{ 2039 display:none; 2040 } 2041 #header nav div ul#abtest-v1{ 2042 display:none; 2043 } 2044 .submenu-dropdown > .container > div:has(+ ul.abtest) { 2045 gap: 15rem; 2046 } 2047 .submenu-dropdown>.container>div>ul.abtest { 2048 display: flex; 2049 flex-direction: row; 2050 gap: 8.8rem; 2051 max-width: fit-content; 2052 margin-top: 0; 2053} 2054 .submenu-dropdown>.container>div>ul.abtest a{ 2055 font-family: BrandonText-Regular, sans-serif; 2056 2057 } 2058 .navigation-wrapper .navigation-container ul.abtest{ 2059 gap: 1.5rem; 2060 } 2061 .navigation-wrapper .navigation-container ul.abtest a{ 2062 font-family: BrandonText-Regular, sans-serif; 2063 font-size: 1.6rem; 2064 } 2065 .navigation-wrapper .navigation-container ul.abtest span{ 2066 font-size: 1.6rem; 2067 } 2068 .navigation-wrapper .navigation-container ul>li ul.abtest>li ul>li>a{ 2069 background-color: unset; 2070 } 2071 .submenu-dropdown>.container>div>ul.abtest a.font-bold{ 2072 font-family: BrandonText-Bold, sans-serif; 2073 position: inherit; 2074 cursor: default; 2075 } 2076 .submenu-dropdown>.container>div>ul.abtest li{ 2077 padding: 0 0 10px 0px; 2078 } 2079 .abtest-img-hover{ 2080 cursor:pointer; 2081 max-width: 365px; 2082 margin-left: auto; 2083 margin-right: auto; 2084 margin-top: 0; 2085 } 2086 2087 .navigation-wrapper .navigation-container ul.abtest-v1 a i.position-relative{ 2088 position : relative; 2089 } 2090 .navigation-wrapper .navigation-container ul.abtest-v1 span.bold{ 2091 font-family: BrandonText-Bold,sans-serif; 2092 } 2093 .navigation-wrapper .navigation-container ul.abtest-v1 > li ul > li ul > li > a{ 2094 background-color: inherit; 2095 padding: .8rem 0; 2096 } 2097 2098</style></div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><ul id="first-layer" class="abtest-original"> 2099 <li> 2100 <a data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:parent"> 2101 <picture> 2102 2103 <source type="image/webp" 2104 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/navigation/nav-gewuerze.webp"> 2105 2106 <source type="image/png" 2107 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/nav-gewuerze.png"> 2108 2109 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/nav-gewuerze.png" class="laptop:hidden first-layer
2109-image" alt="Gewürze" /> </picture> 2110 2111 2112 Gewürze 2113 </a> 2114 <ul> 2115 <li onlyDesktop><span>Gewürze</span></li> 2116 <li onlyDesktop> 2117 <a href="https://www.justspices.de/alle-produkte.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:AlleProdukte">Alle Produkte</a> 2118 </li> 2119 <li> 2120 <a href="https://www.justspices.de/gewuerzmischungen.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Gewurzmischungen">Alle Gewürzmischungen</a> 2121 </li> 2122 <li> 2123 <a href="https://www.justspices.de/bestseller.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Bestseller">Bestseller</a> 2124 </li> 2125 2126 <li rightContainer> 2127 <a onlyMobile>Nach Kategorie</a> 2128 <ul onlyMobile> 2129 <li> 2130 <a href="https://www.justspices.de/gewuerzmischungen/suppen-und-eintoepfe.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:SuppenEintöpfe"> 2131 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/cat-image-suppen-eintopf.svg" width="64" height="64" class="lozad" /> 2132 <span>Suppen & Eintöpfe</span> 2133 </a> 2134 </li> 2135 <li> 2136 <a href="https://www.justspices.de/gewuerzmischungen/fruehstueck.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Fruhstuck"> 2137 <img data-src="https://www.justspices.de/media/wysiwyg/navigation/fruehstueck.svg" width="64" height="64" class="lozad" /> 2138 <span>Frühstück</span> 2139 </a> 2140 </li> 2141 <li> 2142 <a href="https://www.justspices.de/gewuerzmischungen/backen-und-suesses.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:BackenSusses"> 2143 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/suesses.svg" width="64" height="64" class="lozad" /> 2144 <span>Backen & Süsses</span> 2145 </a> 2146 </li> 2147 <li> 2148 <a href="https://www.justspices.de/gewuerzmischungen/dips-und-aufstriche.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:AufstricheDips"> 2149 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/dips.svg" width="64" height="64" class="lozad" /> 2150 <span>Aufstriche & Dips</span> 2151 </a> 2152 </li> 2153 <li> 2154 <a href="https://www.justspices.de/gewuerzmischungen/italienisch.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Italienisch"> 2155 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/italienisch.svg" width="64" height="64" class="lozad" /> 2156 <span>Italienisch</span> 2157 </a> 2158 </li> 2159 <li> 2160 <a href="https://www.justspices.de/gewuerzmischungen/kartoffeln.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Kartoffeln"> 2161 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/kartoffeln.svg" width="64" height="64" class="lozad" /> 2162 <span>Kartoffeln</span> 2163 </a> 2164 </li> 2165 <li> 2166 <a href="https://www.justspices.de/gewuerzmischungen/airfryer.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Heissluftfritteuse"> 2167 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/heissluftfritteuse.svg" width="64" height="64" class="lozad" />
2168 <span>Airfryer</span> 2169 </a> 2170 </li> 2171 <li> 2172 <a href="https://www.justspices.de/asiatische-gewuerzmischungen" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Asiatisch"> 2173 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/asiatisch.svg" width="64" height="64" class="lozad" /> 2174 <span>Asiatisch</span> 2175 </a> 2176 </li> 2177 </ul> 2178 <ul onlyDesktop> 2179 <li><span>Nach Anwendung</span></li> 2180 <li> 2181 <a href="https://www.justspices.de/gewuerzmischungen/salat-und-dressing.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:SalatDressing"> 2182 <span><i class="fa-light fa-salad pr-1"></i> Salat & Dressing</span> 2183 </a> 2184 </li> 2185 <li> 2186 <a href="https://www.justspices.de/gewuerzmischungen/fruehstueck.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Fruhstuck"> 2187 2188 <span><i class="fa-light fa-croissant pr-1"></i> Frühstück</span> 2189 </a> 2190 </li> 2191 <li> 2192 <a href="https://www.justspices.de/gewuerzmischungen/backen-und-suesses.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:BackenSusses"> 2193 2194 <span><i class="fa-light fa-cupcake pr-1"></i> Backen & Süsses</span> 2195 </a> 2196 </li> 2197 2198 <li> 2199 <a href="https://www.justspices.de/gewuerzmischungen/grillen.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:MarinierenGrillen"> 2200 2201 <span><i class="fa-light fa-meat pr-1"></i> Marinieren & Grillen</span> 2202 </a> 2203 </li> 2204 <li> 2205 <a href="https://www.justspices.de/gewuerzmischungen/eis-joghurt-und-getraenke.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:EisJoghurtGetränke"> 2206 2207 <span><i class="fa-light fa-ice-cream pr-1"></i> Eis, Joghurt & Getränke</span> 2208 </a> 2209 </li> 2210 <li> 2211 <a href="https://www.justspices.de/gewuerzmischungen/dips-und-aufstriche.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:AufstricheDips"> 2212 2213 <span><i class="fa-light fa-avocado pr-1"></i> Aufstriche & Dips</span> 2214 </a> 2215 </li> 2216 </ul> 2217 <ul onlyDesktop> 2218 <li><span>Nach Küche</span></li> 2219 <li> 2220 <a href="https://www.justspices.de/gewuerzmischungen/indisch.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Indisch"> 2221 2222 <span>Indisch</span> 2223 </a> 2224 </li> 2225 <li> 2226 <a href="https://www.justspices.de/gewuerzmischungen/italienisch.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Italienisch"> 2227 2228 <span>Italienisch</span> 2229 </a> 2230 </li> 2231 <li> 2232 <a href="https://www.justspices.de/gewuerzmischungen/mexikanisch.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Mexikanisch"> 2233
2234 <span>Mexikanisch</span> 2235 </a> 2236 </li> 2237 2238 <li> 2239 <a href="https://www.justspices.de/gewuerzmischungen/griechisch.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Griechisch"> 2240 2241 <span>Griechisch</span> 2242 </a> 2243 </li> 2244 <li> 2245 <a href="https://www.justspices.de/gewuerzmischungen/orientalisch.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Orientalisch"> 2246 2247 <span>Orientalisch</span> 2248 </a> 2249 </li> 2250 <li> 2251 <a href="https://www.justspices.de/gewuerzmischungen/asiatisch.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Asiatisch"> 2252 2253 <span>Asiatisch</span> 2254 </a> 2255 </li> 2256 </ul> 2257 <ul onlyDesktop> 2258 <li><span>Passend zu</span></li> 2259 <li> 2260 <a href="https://www.justspices.de/gewuerzmischungen/kartoffeln.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Kartoffeln"> 2261 2262 <span>Kartoffeln</span> 2263 </a> 2264 </li> 2265 <li> 2266 <a href="https://www.justspices.de/gewuerzmischungen/fleisch.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Fleisch"> 2267 2268 <span>Fleisch</span> 2269 </a> 2270 </li> 2271 <li> 2272 <a href="https://www.justspices.de/gewuerzmischungen/gemuese.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Gemüse"> 2273 2274 <span>Gemüse</span> 2275 </a> 2276 </li> 2277 2278 <li> 2279 <a href="https://www.justspices.de/gewuerzmischungen/pasta.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Pasta"> 2280 2281 <span>Pasta</span> 2282 </a> 2283 </li> 2284 <li> 2285 <a href="https://www.justspices.de/gewuerzmischungen/fisch.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Fisch"> 2286 2287 <span>Fisch</span> 2288 </a> 2289 </li> 2290 2291 </ul> 2292 <ul onlyDesktop> 2293 <li imageContainer> 2294 <a href="https://www.justspices.de/bestseller/fruehling.html" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Gewuerze:Bild"> 2295 <picture> 2296 2297 <source type="image/webp" 2298 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/navigation/image-fruehlings-bestseller.webp"> 2299 2300 <source type="image/png" 2301 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/image-fruehlings-bestseller.png"> 2302 2303 <img class="abtest-img-hover" src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/image-fruehlings-bestseller.png" alt="Gewürze" /> </picture> 2304 2305 2306 </a> 2307 </li> 2308 </ul> 2309 </li> 2310 2311 2312 </ul> 2313 </li> 2314 2315 <li> 2316 <a data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:parent"> 2317 <picture> 2318 2319 <source type="image/webp" 2320 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/navigation/rezepte_mobile.webp"> 2321 2322 <source type="image/png" 2323 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/rezepte_mobile.png"> 2324 2325 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/rezepte_mobile.png" class="laptop:hidden first-layer
2325-image" alt="Rezepte" /> </picture> 2326 2327 2328 Rezepte & Co 2329 </a> 2330 <ul> 2331 <li onlyDesktop><span>Rezepte</span></li> 2332 <li> 2333 <a href="https://www.justspices.de/rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Ubersicht">Ãbersicht</a> 2334 </li> 2335 <li> 2336 <a href="https://www.justspices.de/alle-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:AlleRezepte">Alle Rezepte</a> 2337 </li> 2338 <li onlyDesktop> 2339 <a href="https://www.justspices.de/rezeptsammlungen/beliebte-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:BeliebteRezepte">Beliebte Rezepte</a> 2340 </li> 2341 <li> 2342 <a href="https://www.justspices.de/rezeptsammlungen" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Rezeptsammlungen">Rezeptsammlungen</a> 2343 </li> 2344 <li onlyMobile> 2345 <a>Nach Kategorie</a> 2346 <ul> 2347 <li> 2348 <a href="https://www.justspices.de/rezeptsammlungen/beliebte-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:BeliebteRezepte"> 2349 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/beliebt.svg" width="64" height="64" class="lozad" /> 2350 <span>Beliebte Rezepte</span> 2351 </a> 2352 </li> 2353 <li> 2354 <a href="https://www.justspices.de/rezeptsammlungen/vegetarische-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Vegetarisch"> 2355 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/vegetarisch.svg" width="64" height="64" class="lozad" /> 2356 <span>Vegetarisch</span> 2357 </a> 2358 </li> 2359 <li> 2360 <a href="https://www.justspices.de/rezeptsammlungen/low-carb-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:LowCarb"> 2361 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/low-carb.svg" width="64" height="64" class="lozad" /> 2362 <span>Low Carb</span> 2363 </a> 2364 </li> 2365 <li> 2366 <a href="https://www.justspices.de/rezeptsammlungen/fleisch-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Fleisch"> 2367 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/fleisch.svg" width="64" height="64" class="lozad" /> 2368 <span>Fleisch</span> 2369 </a> 2370 </li> 2371 <li> 2372 <a href="https://www.justspices.de/rezeptsammlungen/top30pasta-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Pasta"> 2373 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/pasta.svg" width="64" height="64" class="lozad" /> 2374 <span>Pasta</span> 2375 </a> 2376 </li> 2377 <li> 2378 <a href="https://www.justspices.de/rezeptsammlungen/vegane-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Vegan"> 2379 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/vegan.svg" width="64" height="64" class="lozad" />
2380 <span>Vegan</span> 2381 </a> 2382 </li> 2383 <li> 2384 <a href="https://www.justspices.de/rezeptsammlungen/kartoffel-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Kartoffeln"> 2385 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/kartoffeln.svg" width="64" height="64" class="lozad" /> 2386 <span>Kartoffeln</span> 2387 </a> 2388 </li> 2389 <li> 2390 <a href="https://www.justspices.de/rezeptsammlungen/gemuese-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Gemuse"> 2391 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/gemuese.svg" width="64" height="64" class="lozad" /> 2392 <span>Gemüse</span> 2393 </a> 2394 </li> 2395 </ul> 2396 </li> 2397 <li> 2398 <a href="https://www.justspices.de/waskocheichheute" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Waskocheichheute">Was koche ich heute?</a> 2399 </li> 2400 <li> 2401 <a href="https://www.justspices.de/blog" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Blog">Blog</a> 2402 </li> 2403 <li rightContainer onlyDesktop> 2404 <ul> 2405 <li><span>Nach Ernährung</span></li> 2406 <li> 2407 <a href="https://www.justspices.de/rezeptsammlungen/vegetarische-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Vegetarisch"> 2408 <span><i class="fa-light fa-leaf pr-1"></i> Vegetarisch</span> 2409 </a> 2410 </li> 2411 <li> 2412 <a href="https://www.justspices.de/rezeptsammlungen/vegane-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Vegan"> 2413 <span><i class="fa-light fa-v pr-1"></i> Vegan</span> 2414 </a> 2415 </li> 2416 <li> 2417 <a href="https://www.justspices.de/rezeptsammlungen/low-carb-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:LowCarb"> 2418 2419 <span><i class="fa-light fa-bread-loaf pr-1"></i> Low Carb</span> 2420 </a> 2421 </li> 2422 2423 <li> 2424 <a href="https://www.justspices.de/rezeptsammlungen/kalorienarme-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Kalorienarm"> 2425 <span><i class="fa-light fa-tomato pr-1"></i> Kalorienarm</span> 2426 </a> 2427 </li> 2428 </ul> 2429 <ul> 2430 <li><span>Nach Menüart</span></li> 2431 <li> 2432 <a href="https://www.justspices.de/alle-rezepte?refine=menu%3AFr%C3%BChst%C3%BCck" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Frühstück"> 2433 2434 <span>Frühstück</span> 2435 </a> 2436 </li> 2437 <li> 2438 <a href="https://www.justspices.de/rezeptsammlungen/mittagessen-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Mittagessen"> 2439 2440 <span>Mittagessen</span> 2441 </a> 2442 </li> 2443 <li> 2444 <a href="https://www.justspices.de/alle-rezepte?refine=menu%3ASnacks" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Snacks"> 2445
2446 <span>Snacks</span> 2447 </a> 2448 </li> 2449 2450 <li> 2451 <a href="https://www.justspices.de/alle-rezepte?refine=menu%3AAbendessen" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Abendessen"> 2452 2453 <span>Abendessen</span> 2454 </a> 2455 </li> 2456 <li> 2457 <a href="https://www.justspices.de/alle-rezepte?refine=menu%3ADessert" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Dessert"> 2458 2459 <span>Dessert</span> 2460 </a> 2461 </li> 2462 </ul> 2463 <ul> 2464 <li><span>Nach Trends</span></li> 2465 <li> 2466 <a href="https://www.justspices.de/rezeptsammlungen/schnelle-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Schnelles"> 2467 2468 <span>Schnelles</span> 2469 </a> 2470 </li> 2471 <li> 2472 <a href="https://www.justspices.de/rezeptsammlungen/airfryer-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Airfryer"> 2473 2474 <span>Airfryer</span> 2475 </a> 2476 </li> 2477 <li> 2478 <a href="https://www.justspices.de/rezeptsammlungen/fingerfood-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Fingerfood"> 2479 2480 <span>Fingerfood</span> 2481 </a> 2482 </li> 2483 2484 <li> 2485 <a href="https://www.justspices.de/rezeptsammlungen/gnocchi-rezepte" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="RezepteCo:Gnocchi"> 2486 2487 <span>Gnocchi</span> 2488 </a> 2489 </li> 2490 </ul> 2491 <ul onlyDesktop> 2492 <li imageContainer> 2493 <a href="https://www.justspices.de/rezeptsammlungen/airfryer-rezepte"> 2494 <picture> 2495 2496 <source type="image/webp" 2497 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/navigation/rezepte-tab.webp"> 2498 2499 <source type="image/png" 2500 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/rezepte-tab.png"> 2501 2502 <img class="abtest-img-hover" src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/rezepte-tab.png" alt="Airfryer Rezepte" /> </picture> 2503 2504 2505 </a> 2506 </li> 2507 </ul> 2508 </li> 2509 </ul> 2510 </li> 2511 2512 2513 <li> 2514 <a href="https://www.justspices.de/storefinder" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="Storefinder:parent"> 2515 <picture> 2516 2517 <source type="image/webp" 2518 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/navigation/nav-storefinder.webp"> 2519 2520 <source type="image/png" 2521 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/nav-storefinder.png"> 2522 2523 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/nav-storefinder.png" class="laptop:hidden first-layer-image" alt="Storefinder" /> </picture> 2524 2525 2526 Storefinder 2527 </a> 2528 </li> 2529 2530 <li> 2531 <a href="https://www.justspices.de/about" data-event="ev" data-ga4event="Main Menu" data-category="Navigation" data-action="Click" data-label="UeberUns:parent"> 2532 <picture> 2533 2534 <source type="image/webp" 2535 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/navigation/neu_mobile.webp"> 2536 2537 <source type="image/png" 2538 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/neu_mobile.png"> 2539 2540 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/navigation/neu_mobile.png" class="laptop:hidden first-layer
2540-image" alt="Ãber Uns" /> </picture> 2541 2542 2543 Ãber Uns 2544 </a> 2545 </li> 2546 2547</ul></div> </nav> 2548 </div> 2549</div>
2550<script> 2551 'use strict'; 2552 2553 const initMenuDesktop_6abea0a504847 = () => { 2554 return { 2555 originalHeaderColor: '', 2556 2557 init() { 2558 this.setOriginalHeaderColor(); 2559 }, 2560 2561 setOriginalHeaderColor() { 2562 const root = document.documentElement; 2563 const mainHeaderColor = getComputedStyle(root).getPropertyValue('--header-main-color').trim(); 2564 if (mainHeaderColor) { 2565 this.originalHeaderColor = mainHeaderColor || '#FCFAEE'; 2566 } else { 2567 this.originalHeaderColor = '#FCFAEE'; 2568 } 2569 }, 2570 2571 setHeaderColor(color) { 2572 const header = document.querySelector('#header'); 2573 if (header) { 2574 header.style.setProperty('--header-main-color', color); 2575 } 2576 }, 2577 2578 slideOutTop(item) { 2579 item.classList.add('slide-out-top'); 2580 item.addEventListener('animationend', function() { 2581 item.classList.remove('slide-out-top'); 2582 item.classList.add('hidden') 2583 }, { once: true }); 2584 }, 2585 slideInTop(item) { 2586 item.classList.remove('hidden'); 2587 item.classList.add('slide-in-top'); 2588 item.addEventListener('animationend', function() { 2589 item.classList.remove('slide-in-top'); 2590 }, { once: true }); 2591 }, 2592 showOverlay(submenu,navItems) { 2593 const existingOverlay = document.querySelector('.nav-overlay') 2594 2595 if (existingOverlay) { 2596 existingOverlay.remove() 2597 } 2598 2599 const overlay = document.createElement('div') 2600 overlay.classList.add('nav-overlay') 2601 document.body.appendChild(overlay) 2602 2603 overlay.addEventListener('click', () => { 2604 this.slideOutTop(submenu) 2605 submenu.classList.remove('open') 2606 navItems.forEach(item => { 2607 if (item.hasAttribute('can-close')) { 2608 item.removeAttribute('can-close') 2609 item.classList.remove('open') 2610 } 2611 }); 2612 overlay.remove() 2613 this.setHeaderColor(this.originalHeaderColor); 2614 }); 2615 }, 2616 hideOverlay() { 2617 const existingOverlay = document.querySelector('.nav-overlay') 2618 if (existingOverlay) { 2619 existingOverlay.remove() 2620 this.setHeaderColor(this.originalHeaderColor); 2621 } 2622 },
2623 setActiveMenu(menuNode) { 2624 // Remove mobile-only elements from desktop navigation 2625 menuNode.querySelectorAll('[onlyMobile]').forEach(el => el.remove()); 2626 2627 let header = document.querySelector('#header'), 2628 nav = document.querySelector('.navigation nav'), 2629 firstLevelNavItems = nav.querySelectorAll(':scope > div > ul > li > a'), 2630 subMenu = nav.querySelectorAll(':scope > div > ul > li > ul'); 2631 2632 const dropDownMenu = document.createElement('div'); 2633 dropDownMenu.classList.add('submenu-dropdown'); 2634 dropDownMenu.classList.add('hidden'); 2635 2636 const container = document.createElement('div'); 2637 container.classList.add('container'); 2638 dropDownMenu.appendChild(container); 2639 2640 header.insertAdjacentElement('afterend', dropDownMenu) 2641 2642 let activeSubMenu = null; 2643 2644 firstLevelNavItems.forEach((navItem) => { 2645 const navItemSubMenu = navItem.nextElementSibling; 2646 const menu = document.createElement('div') 2647 2648 if (navItemSubMenu) { 2649 const navItemRightItem = navItemSubMenu.querySelector('[rightcontainer]') 2650 const navItemImageItem = navItemSubMenu.querySelector('[imagecontainer]') 2651 2652 const rightContainerWrapper = document.createElement('div') 2653 rightContainerWrapper.classList.add('right-container') 2654 rightContainerWrapper.appendChild(navItemRightItem) 2655 if(navItemImageItem) { 2656 rightContainerWrapper.appendChild(navItemImageItem) 2657 } 2658 2659 2660 menu.appendChild(navItemSubMenu) 2661 menu.appendChild(rightContainerWrapper) 2662 2663 } 2664 2665 navItem.addEventListener('click', (event) => { 2666 if (navItemSubMenu) { 2667 event.preventDefault(); 2668 2669 const isOpen = navItem.hasAttribute('can-close'); 2670 2671 if (isOpen) { 2672 this.slideOutTop(dropDownMenu); 2673 this.hideOverlay(); 2674 dropDownMenu.classList.remove('open'); 2675 navItem.removeAttribute('can-close'); 2676 activeSubMenu = null; 2677 navItem.classList.remove('open'); 2678 } else { 2679 2680 firstLevelNavItems.forEach(item => { 2681 if (item !== navItem && item.hasAttribute('can-close')) { 2682 item.removeAttribute('can-close'); 2683 item.classList.remove('open') 2684 } 2685 }); 2686 2687 navItem.setAttribute('can-close', 'true'); 2688 navItem.classList.add('open') 2689 2690 if (!dropDownMenu.classList.contains('open')) { 2691 this.slideInTop(dropDownMenu); 2692 dropDownMenu.classList.add('open'); 2693 this.showOverlay(dropDownMenu, firstLevelNavItems); 2694 } 2695 2696 if (activeSubMenu && activeSubMenu !== menu) { 2697 menu.classList.add('hidden') 2698 } 2699 2700 this.setHeaderColor('#FCFAEE'); 2701 container.innerHTML = ''; 2702 container.appendChild(menu); 2703 menu.classList.remove('hidden'); 2704 2705 activeSubMenu = menu; 2706 2707 if (lazyLoadInstance !== 'undefined') {
2708 lazyLoadInstance.update(); 2709 } 2710 } 2711 } 2712 }); 2713 }); 2714 }, 2715 } 2716 } 2717</script>
2717 2718 </div> 2719 2720 <div class="header-right flex items-center justify-between gap-4 order-3"> 2721 2722 2723 <div class="vue-searchbar hidden laptop:block relative" id="vue-search"> 2724 <div class="ais-InstantSearch"> 2725 <div class="ais-SearchBox"> 2726 <div class="search-box position-relative"> 2727 <i class="fal fa-search font fs-16 black"></i> 2728 <input type="search" 2729 class="fs-14 lh-20" 2730 v-model="query" 2731 v-on:keyup.enter="window.location.href = baseUrl + 'catalogsearch/result/?q=' + query" 2732 placeholder="Suche" 2733 /> 2734 <i 2735 class="fal fa-times font fs-20 lh-20 black vue-search-reset" 2736 v-if="query.length > 0" 2737 @click="removeQuery" 2738 > 2739 </i> 2740 </div> 2741 </div> 2742 <div class="algolia-result-container search-results slide-in-right-slow" v-show="visible" v-bind:class="slideOutAnimation ? 'slide-out-right-slow' : ''" style="display: none;"> 2743 <div class="algolia-background"> 2744 <div class="algolia-result-nav"> 2745 <span v-bind:class="resultTabToggle === 'products' ? 'active' : ''" @click="toggleResultNav('products')">Produkte</span> 2746 <span v-bind:class="resultTabToggle === 'recipes' ? 'active' : ''" @click="toggleResultNav('recipes')">Rezepte</span> 2747 <span v-bind:class="resultTabToggle === 'blog' ? 'active' : ''" @click="toggleResultNav('blog')">Artikel</span> 2748 </div> 2749 <div class="result-list"> 2750 <div v-show="resultTabToggle === 'products'" class=""> 2751 <div class="ais-Hits" v-if="products.length > 0"> 2752 <div class="hit-result" v-for="(product,index) in products" v-if="product" v-bind:key="product.objectID"> 2753 <a class="" @click="redirectTo('product',product,index)" 2754 data-event="ev" data-ga4event="search_custom" data-category="product" 2755 data-action="click" v-bind:data-label="product.name"> 2756 <div class="hit-item-image"> 2757 <img v-bind:src="product.thumbnail_url_webp ?? product.image_url" class="lozad" style="width: 90px" width="90" height="90" v-bind:alt="product.name" v-bind:title="product.name" /> 2758 </div> 2759 <div class="hit-item-info"> 2760 <strong class="fs-14 lh-20">{{product.name}}</strong> 2761 <div class="prices" v-if="!isCreateYourOwn(product)"> 2762 <template v-if="product.type_id === 'bundle'"> 2763 <template v-if="product.price.EUR.default_max_formated"> 2764 <span class="fs-14 lh-20 bundle">{{product.price.EUR.default_max_formated}}</span> 2765 </template> 2766 <template v-else> 2767 <span class="fs-14 lh-20 bundle">{{product.price.EUR.default_formated}}</span> 2768 </template> 2769 </template> 2770 <template v-else> 2771 <span class="fs-14 lh-20">{{product.price.EUR.default_formated}}</span> 2772 <template v-if="product.price.EUR.default_original_formated"> 2773 <s class="fs-14 lh-20 text-main-red line-through old-price ml-1">{{product.price.EUR.default_original_formated}}</s> 2774 </template> 2775 </template> 2776 </div> 2777 </div> 2778 </a> 2779 </div> 2780 <div class="hits-header w-full">
2781 <span class="fs-14 lh-20"> 2782 {{productCount}} Ergebnisse </span> 2783 <div class="flex justify-center items-center gap-1"> 2784 <a class="fs-14 lh-20" 2785 v-bind:href="baseUrl + 'catalogsearch/result/?q=' + query" data-event="ev" 2786 data-ga4event="search_custom" data-category="product_all" 2787 data-action="click"> 2788 Alle anzeigen </a> 2789 <i class="fa-regular fa-arrow-right font fs-21 lh-28"></i> 2790 </div> 2791 </div> 2792 </div> 2793 2794 <div class="col-12 no-results" v-if="products.length === 0"> 2795 <p class="font text-s mb-2">Kein Ergebnis. Versuche es mit einem anderen Suchbegriff oder sieh Dir unsere Empfehlungen an.</p> 2796 <div class="inspiration"> 2797 <div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><p class="font-recoleta text-m mb-2">Top Kategorien</p> 2798<div class="top-categories"> 2799 <a class="img-fluid category-icon" data-event="ev" data-ga4event="select_category" data-category="search" data-action="click" data-label="Bestseller" 2800 href="https://www.justspices.de/bestseller.html"> 2801 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_bestseller.svg" alt="Produktkategorie Bestseller" /> 2802 <span>Bestseller</span> 2803 </a> 2804 <a class="img-fluid category-icon" data-event="ev" data-ga4event="select_category" data-category="search" data-action="click" data-label="Neuheiten" 2805 href="https://www.justspices.de/neuheiten.html"> 2806 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_neuheiten.svg" alt="Produktkategorie Neuheiten" /> 2807 <span>Neuheiten</span> 2808 </a> 2809 <a class="img-fluid category-icon" data-event="ev" data-ga4event="select_category" data-category="search" data-action="click" data-label="Geschenkideen" 2810 href="https://www.justspices.de/geschenkideen.html"> 2811 <picture> 2812 2813 <source type="image/webp" 2814 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/search/search_inspiration_products_gifts.webp"> 2815 2816 <source type="image/png" 2817 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_gifts.png"> 2818 2819 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_gifts.png" alt="Produktkategorie Geschenkideen" /> </picture> 2820 2821 2822 <span>Geschenke</span> 2823 </a> 2824</div> 2825<p class="font-recoleta text-m mb-2">Beliebte Produkte</p> 2826<div class="popular-products"> 2827 <a class="img-fluid product" data-event="ev" data-ga4event="select_product_recommendation" data-category="search" data-action="click" data-label="Avocado Topping" 2828 href="https://www.justspices.de/avocado-topping.html"> 2829 <picture> 2830 2831 <source type="image/webp" 2832 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/search/search_inspiration_products_avocado_topping-2.webp"> 2833 2834 <source type="image/png" 2835 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_avocado_topping-2.png"> 2836 2837 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_avocado_topping-2.png" alt="Avocado Topping" /> </picture> 2838 2839 2840 <div class="product-info"> 2841 <p class="product-name">Avocado Topping</p> 2842 <p class="product-price">5,99 â¬</p> 2843 </div> 2844 </a> 2845 <a class="img-fluid product" data-event="ev" data-ga4event="select_product_recommendation" data-category="search" data-action="click" data-label="Ofengemüse Gewuerzmix" 2846 href="https://www.justspices.de/ofengemuese-gewuerzmix.html"> 2847 <picture> 2848 2849 <source type="image/webp" 2850 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/search/search_inspiration_products_ofengemuese_gewuerzmix.webp"> 2851 2852 <source type="image/png" 2853 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_ofengemuese_gewuerzmix.png"> 2854 2855 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_ofengemuese_gewuerzmix.png" alt="Ofengemüse Gewürzmix" /> </picture> 2856 2857 2858 <div class="product-info"> 2859 <p class="product-name">Ofengemüse Gewürzmix</p> 2860 <p class="product-price">4,99 â¬</p> 2861 </div> 2862 </a> 2863 <a class="img-fluid product" data-event="ev" data-ga4event="select_product_recommendation" data-category="search" data-action="click" data-label="Haehnchen Allrounder" 2864 href="https://www.justspices.de/haehnchen-allrounder.html"> 2865 <picture> 2866 2867 <source type="image/webp" 2868 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/search/search_inspiration_products_haehnchen_allrounder.webp"> 2869 2870 <source type="image/png" 2871 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_haehnchen_allrounder.png"> 2872 2873 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_haehnchen_allrounder.png" alt="Hähnchen Allrounder" /> </picture> 2874 2875 2876 <div class="product-info"> 2877 <p class="product-name">Hähnchen Allrounder</p> 2878 <p class="product-price">4,99 â¬</p> 2879 </div> 2880 </a> 2881 <a class="img-fluid product" data-event="ev" data-ga4event="select_product_recommendation" data-category="search" data-action="click" data-label="Aglio e Olio Gewuerzmix" 2882 href="https://www.justspices.de/aglio-e-olio-gewuerz.html"> 2883 <picture> 2884 2885 <source type="image/webp" 2886 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/search/search_inspiration_products_aglio_e_olio_gewuerzmix.webp"> 2887 2888 <source type="image/png" 2889 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_aglio_e_olio_gewuerzmix.png"> 2890 2891 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_aglio_e_olio_gewuerzmix.png" alt="Aglio e Olio Gewürzmix" /> </picture> 2892 2893 2894 <div class="product-info"> 2895 <p class="product-name">Aglio e Olio Gewürzmix</p> 2896 <p class="product-price">5,49 â¬</p> 2897 </div> 2898 </a> 2899</div></div> </div> 2900 </div> 2901 </div> 2902 <div v-show="resultTabToggle === 'recipes'" class=""> 2903 <div class="ais-Hits recipe-hits" v-if="recipes.length > 0"> 2904 <div v-for="(recipe,index) in recipes" v-if="recipe && index < 7 " v-bind:key="recipe.objectID" class="hit-result recipe"> 2905 <a class="" @click="redirectTo('recipe',recipe,index)" 2906 data-event="ev" data-ga4event="search_custom" data-category="recipe" 2907 data-action="click" v-bind:data-label="recipe.title"> 2908 <div class="hit-item-image"> 2909 <img v-bind:src="recipe.image_url" class="lozad" width="150" height="150" v-bind:alt="recipe.image_alt" v-bind:title="recipe.title" /> 2910 </div> 2911 <div class="hit-item-info"> 2912 <strong class="fs-14 lh-20 title">{{recipe.title}}</strong> 2913 </div> 2914 </a> 2915 </div> 2916 <div class="hits-header w-full">
2917 <span class="fs-14 lh-20"> 2918 {{recipeCount}} Ergebnisse </span> 2919 <div class="flex justify-center items-center gap-1"> 2920 <a class="fs-14 lh-20" 2921 v-bind:href="baseUrl + 'catalogsearch/result/?tab=recipes&q=' + query" data-event="ev" 2922 data-ga4event="search_custom" data-category="recipes_all" 2923 data-action="click"> 2924 Alle anzeigen </a> 2925 <i class="fa-regular fa-arrow-right font fs-21 lh-28"></i> 2926 </div> 2927 </div> 2928 </div> 2929 <div class="col-12 no-results" v-if="recipes.length === 0"> 2930 <p class="font text-s mb-2">Kein Ergebnis. Versuche es mit einem anderen Suchbegriff oder sieh Dir unsere Empfehlungen an.</p> 2931 <div class="inspiration"> 2932 <div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><p class="font-recoleta text-m mb-2">Top Rezeptsammlungen</p> 2933<div class="top-categories"> 2934 <a class="img-fluid category-icon" data-event="ev" data-ga4event="select_recipe_category" data-category="search" data-action="click" data-label="Beliebte Rezepte" 2935 href="https://www.justspices.de/rezeptsammlungen/beliebte-rezepte"> 2936 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_bestseller.svg" alt="Beliebte Rezepte" /> 2937 <span>Beliebt</span> 2938 </a> 2939 <a class="img-fluid category-icon" data-event="ev" data-ga4event="select_recipe_category" data-category="search" data-action="click" data-label="Heissluftfritteuse Rezepte" 2940 href="https://www.justspices.de/rezeptsammlungen/heissluftfritteuse-rezepte"> 2941 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_recipes_salat.svg" alt="Heissluftfritteuse Rezepte" /> 2942 <span>Fritteuse</span> 2943 </a> 2944 <a class="img-fluid category-icon" data-event="ev" data-ga4event="select_recipe_category" data-category="search" data-action="click" data-label="Grill Rezepte" 2945 href="https://www.justspices.de/rezeptsammlungen/grill-rezepte"> 2946 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_bbq.svg" alt="Grill Rezepte" /> 2947 <span>Grill Rezepte</span> 2948 </a> 2949</div> 2950<p class="font-recoleta text-m mb-2">Beliebte Rezepte</p> 2951<div class="popular-recipes"> 2952 <a class="img-fluid recipe" data-event="ev" data-ga4event="select_recipe_recommendation" data-category="search" data-action="click" data-label="SüÃkartoffel Bowl aus der HeiÃluftfritteuse" 2953 href="https://www.justspices.de/rezepte/suesskartoffel-bowl-heissluftfritteuse.html"> 2954 <picture> 2955 2956 <source type="image/webp" data-srcset=" 2957 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/search/search_inspiration_recipes_sweetpotatoebowl-2.webp"> 2958 2959 <source type="image/png" 2960 data-srcset=" 2961 https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_recipes_sweetpotatoebowl-2.png"> 2962 2963 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_recipes_sweetpotatoebowl-2.png" alt="SüÃkartoffel Bowl aus der HeiÃluftfritteuse" /> </picture> 2964 2965 2966 <p class="recipe-name">SüÃkartoffel Bowl aus der HeiÃluftfritteuse</p> 2967 </a> 2968 <a class="img-fluid recipe" data-event="ev" data-ga4event="select_recipe_recommendation" data-category="search" data-action="click" data-label="Mexikanische Wraps" 2969 href="https://www.justspices.de/rezepte/mexikanische-wraps.html"> 2970 <picture> 2971 2972 <source type="image/webp" data-srcset=" 2973 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/search/search_inspiration_recipes_mexikanische_wraps.webp"> 2974 2975 <source type="image/png" 2976 data-srcset=" 2977 https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_recipes_mexikanische_wraps.png"> 2978 2979 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_recipes_mexikanische_wraps.png" alt="Mexikanische Wraps" /> </picture> 2980 2981 2982 <p class="recipe-name">Mexikanische Wraps</p> 2983 </a> 2984 <a class="img-fluid recipe" data-event="ev" data-ga4event="select_recipe_recommendation" data-category="search" data-action="click" data-label="Saftiger Joghurt Kuchen" 2985 href="https://www.justspices.de/rezepte/saftiger-joghurtkuchen.html"> 2986 <picture> 2987 2988 <source type="image/webp" data-srcset=" 2989 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/search/search_inspiration_recipes_s
2989aftiger_joghurtkuchen.webp"> 2990 2991 <source type="image/png" 2992 data-srcset=" 2993 https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_recipes_saftiger_joghurtkuchen.png"> 2994 2995 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_recipes_saftiger_joghurtkuchen.png" alt="Saftiger Joghurt Kuchen" /> </picture> 2996 2997 2998 <p class="recipe-name">Saftiger Joghurt Kuchen</p> 2999 </a> 3000 <a class="img-fluid recipe" data-event="ev" data-ga4event="select_recipe_recommendation" data-category="search" data-action="click" data-label="One Pot Pasta" 3001 href="https://www.justspices.de/rezepte/tomate-mozzarella-one-pot-pasta.html"> 3002 <picture> 3003 3004 <source type="image/webp" data-srcset=" 3005 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/search/search_inspiration_recipes_one_pot_pasta.webp"> 3006 3007 <source type="image/png" 3008 data-srcset=" 3009 https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_recipes_one_pot_pasta.png"> 3010 3011 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_recipes_one_pot_pasta.png" alt="One Pot Pasta" /> </picture> 3012 3013 3014 <p class="recipe-name">One Pot Pasta</p> 3015 </a> 3016</div></div> </div> 3017 </div> 3018 </div> 3019 <div v-show="resultTabToggle === 'blog'" class=""> 3020 <div class="ais-Hits blog-hits" v-if="blog.length > 0"> 3021 <div v-for="(post,index) in blog" v-if="post && index < 6 " v-bind:key="post.objectID" class="hit-result blog"> 3022 <a v-bind:href="post.url" class="" 3023 data-event="ev" data-ga4event="search_custom" data-category="blog" 3024 data-action="click" v-bind:data-label="post.title"> 3025 <div class="hit-item-image"> 3026 <img v-bind:src="post.image_url_crop_webp ?? post.image_url_crop" width="78" height="78" 3027 v-bind:alt="post.title" v-bind:title="post.title" 3028 class="lozad"> 3029 3030 </div> 3031 <div class="hit-item-info"> 3032 <strong class="fs-14 lh-20 title">{{post.title}}</strong> 3033 </div> 3034 </a> 3035 </div> 3036 <div class="hits-header w-full"> 3037 <span class="fs-14 lh-20"> 3038 {{blogCount}} Ergebnisse </span> 3039 <div class="flex justify-center items-center gap-1"> 3040 <a class="fs-14 lh-20" 3041 v-bind:href="baseUrl + 'catalogsearch/result/?tab=blog&q=' + query" data-event="ev" 3042 data-ga4event="search_custom" data-category="blog_all" 3043 data-action="click"> 3044 Alle anzeigen </a> 3045 <i class="fa-regular fa-arrow-right font fs-21 lh-28"></i> 3046 </div> 3047 </div> 3048 </div> 3049 <div class="col-12 no-results" v-if="blog.length === 0"> 3050 <p class="font text-s mb-2">Kein Ergebnis. Versuche es mit einem anderen Suchbegriff oder sieh Dir unsere Empfehlungen an.</p> 3051 <div class="inspiration"> 3052 <div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><p class="font-recoleta text-m mb-2">Top Blog Kategorien</p> 3053<div class="top-categories"> 3054 <a class="img-fluid category-icon" data-event="ev" data-ga4event="select_blog_category" data-category="search" data-action="click" data-label="1x1 des Kochens" 3055 href="https://www.justspices.de/blog/1x1-des-kochens"> 3056 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_blog_einmaleins_kochen.svg" alt="1x1 des Kochens" />
3057 <span>1x1 des Kochens</span> 3058 </a> 3059 <a class="img-fluid category-icon" data-event="ev" data-ga4event="select_blog_category" data-category="search" data-action="click" data-label="1x1 der Gewürze" 3060 href="https://www.justspices.de/blog/1x1-der-gewuerze"> 3061 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_blog_einmaleins_gewuerze.svg" alt="1x1 der Gewürze" /> 3062 <span>1x1 der Gewürze</span> 3063 </a> 3064 <a class="img-fluid category-icon" data-event="ev" data-ga4event="select_blog_category" data-category="search" data-action="click" data-label="HeiÃe Themen" 3065 href="https://www.justspices.de/blog/heisse-themen"> 3066 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_fritteuse.svg" alt="HeiÃe Themen" /> 3067 <span>HeiÃe Themen</span> 3068 </a> 3069</div> 3070<p class="font-recoleta text-m mb-2">Beliebte Blogartikel</p> 3071<div class="popular-blogposts"> 3072 <a class="img-fluid blogpost" data-event="ev" data-ga4event="select_blog_recommendation" data-category="search" data-action="click" data-label="Bulgur richtig kochen" 3073 href="https://www.justspices.de/blog/1x1-des-kochens/richtig-kochen/bulgur-kochen"> 3074 <picture> 3075 3076 <source type="image/webp" data-srcset=" 3077 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/search/search_inspiration_blog_bulgur_kochen.webp"> 3078 3079 <source type="image/png" 3080 data-srcset=" 3081 https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_blog_bulgur_kochen.png"> 3082 3083 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_blog_bulgur_kochen.png" alt="Bulgur richtig kochen" /> </picture> 3084 3085 3086 <p class="recipe-name">Bulgur richtig kochen</p> 3087 </a> 3088 <a class="img-fluid blogpost" data-event="ev" data-ga4event="select_blog_recommendation" data-category="search" data-action="click" data-label="Brokkoli richtig kochen" 3089 href="https://www.justspices.de/blog/1x1-des-kochens/richtig-kochen/brokkoli-kochen"> 3090 <picture> 3091 3092 <source type="image/webp" data-srcset=" 3093 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/search/search_inspiration_blog_brokkoli_kochen.webp"> 3094 3095 <source type="image/png" 3096 data-srcset=" 3097 https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_blog_brokkoli_kochen.png"> 3098 3099 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_blog_brokkoli_kochen.png" alt="Brokkoli richtig kochen" /> </picture> 3100 3101 3102 <p class="recipe-name">Brokkoli richtig kochen</p> 3103 </a> 3104 <a class="img-fluid blogpost" data-event="ev" data-ga4event="select_blog_recommendation" data-category="search" data-action="click" data-label="Was passt zu Kartoffelsalat?" 3105 href="https://www.justspices.de/blog/1x1-des-kochens/was-passt-zu/was-passt-zu-kartoffelsalat"> 3106 <picture> 3107 3108 <source type="image/webp" data-srcset=" 3109 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/search/search_inspiration_blog_kartoffelsalat.webp"> 3110 3111 <source type="image/png" 3112 data-srcset=" 3113 https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_blog_kartoffelsalat.png"> 3114 3115 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_blog_kartoffelsalat.png" alt="Was passt zu Kartoffelsalat?" /> </picture> 3116 3117 3118 <p class="recipe-name">Was passt zu Kartoffelsalat?</p> 3119 </a> 3120 <a class="img-fluid blogpost" data-event="ev" data-ga4event="select_blog_recommendation" data-category="search" data-action="click" data-label="Garnelen richtig würzen" 3121 href="https://www.justspices.de/blog/1x1-des-kochens/garnelen-wuerzen"> 3122 <picture> 3123 3124 <source type="image/webp" data-srcset=" 3125 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/search/search_inspiration_blog_garnelen.webp"> 3126 3127 <source type="image/png" 3128 data-srcset=" 3129 https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_blog_garnelen.png"> 3130 3131 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_blog_garnelen.png" alt="Garnelen richtig würzen" /> </picture> 3132 3133 3134 <p class="recipe-name">Garnelen richtig würzen</p> 3135 </a> 3136</div></div> </div> 3137 </div> 3138 </div> 3139 </div> 3140 </div> 3141 </div> 3142 </div> 3143</div>
3144<script type="module"> 3145 window.addEventListener('DOMContentLoaded', function() { 3146 3147 const algoliaClient = algoliasearch( 3148 'PCZYM1QRDW', 3149 '7d6e133d365a91ddf242dd6fbd396721', 3150 ); 3151 3152 const searchClient = { 3153 ...algoliaClient, 3154 search(requests) { 3155 if (requests.every(({ params }) => params.query === "")) { 3156 return Promise.resolve({ 3157 results: requests.map(() => ({ 3158 hits: [], 3159 nbHits: 0, 3160 nbPages: 0, 3161 page: 0, 3162 processingTimeMS: 0, 3163 hitsPerPage: 0, 3164 exhaustiveNbHits: false, 3165 query: '', 3166 params: '', 3167 })), 3168 }); 3169 } 3170 3171 return algoliaClient.search(requests); 3172 }, 3173 }; 3174 3175 let loggedInUserToken = hyva.getCookie('aa-search'); 3176 let userToken = null; 3177 if (loggedInUserToken && loggedInUserToken !== '') { 3178 userToken = loggedInUserToken; 3179 } else { 3180 let savedAnonCookie = hyva.getCookie('_ALGOLIA'); 3181 if (savedAnonCookie && savedAnonCookie !== "" && savedAnonCookie.indexOf("anonymous-") === 0) { 3182 userToken = savedAnonCookie; 3183 } else { 3184 let newAnonCookie = "anonymous-" + generateAnonCookieValue(); 3185 hyva.setCookie('_ALGOLIA', newAnonCookie) 3186 userToken = newAnonCookie; 3187 } 3188 } 3189 3190 function generateAnonCookieValue() { 3191 return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (e) { 3192 var t = 16 * Math.random() | 0; 3193 return ("x" === e ? t : 3 & t | 8).toString(16) 3194 }) 3195 } 3196 3197 new Vue({ 3198 el: "#vue-search", 3199 data() { 3200 return { 3201 // middlewares: [insightsMiddleware], 3202 currentQuery: '', 3203 client : algoliaClient, 3204 visible : false, 3205 slideOutAnimation : false, 3206 products: [], 3207 productCount : 0, 3208 productQueryId : '', 3209 recipes : [], 3210 recipeCount : 0, 3211 recipeQueryId : '', 3212 blog:[], 3213 blogCount:0, 3214 blogQueryId : '', 3215 topPosition : '', 3216 scrollPosition: window.scrollY, 3217 resultTabToggle : 'products' 3218 } 3219 }, 3220 created() { 3221 this.topPosition = $('.page-header').outerHeight() 3222 }, 3223 mounted() { 3224 let resultContainer = document.querySelector('.algolia-result-container') 3225 if (resultContainer) { 3226 if (resultContainer.classList.contains('hidden') ) { 3227 resultContainer.classList.remove('hidden') 3228 } 3229 } 3230 3231 if ($('body').hasClass('catalog-product-view')) { 3232 let productId = $('#product_addtocart_form').find('input[name="product"]').val(); 3233 if (productId) { 3234 window.dataLayer = window.dataLayer || []; 3235 dataLayer.push({ 3236 "algoliaUserToken": userToken, 3237 "index": 'magento2_prod_default_products', 3238 "event": 'PDP Hit Viewed', 3239 "objectIDs": [productId], 3240 }) 3241 } 3242 } 3243 3244 $(document).click((event) => { 3245 if (!$(event.target).closest('.algolia-result-container').length && !$(event.target).closest('#header').length) { 3246 if (this.visible) { 3247 this.slideOutAnimation = true 3248 setTimeout(() => { 3249 this.slideOutAnimation = false 3250 this.visible = false;
3251 this.removeQuery(); 3252 document.querySelector('.page-header .black-overlay').classList.add('hidden'); 3253 }, 350); 3254 } 3255 } 3256 }); 3257 3258 if(document.querySelector('body').classList.contains('recipes-algolia-listview') 3259 || document.querySelector('body').classList.contains('recipe-recipe-view') 3260 || window.location.pathname.includes('rezeptsammlung') 3261 ){ 3262 this.toggleResultNav('recipes') 3263 } 3264 3265 if(document.querySelector('body').classList.contains('blog-page')){ 3266 this.toggleResultNav('blog') 3267 } 3268 }, 3269 computed: { 3270 3271 query: { 3272 get() { 3273 return this.currentQuery 3274 }, 3275 set(value) { 3276 this.currentQuery = value 3277 if(value !== ""){ 3278 document.querySelector('.page-header .black-overlay').classList.remove('hidden'); 3279 this.visible = true 3280 }else{ 3281 this.slideOutAnimation = true 3282 setTimeout(() => { 3283 this.slideOutAnimation = false 3284 this.visible = false; 3285 document.querySelector('.page-header .black-overlay').classList.add('hidden'); 3286 }, 350); 3287 } 3288 this.fetchResults() 3289 } 3290 }, 3291 3292 }, 3293 methods : { 3294 isCreateYourOwn: function(item) { 3295 if((Array.isArray(item.sku) && item.sku.some(element => element.includes("CYOG"))) 3296 || (Array.isArray(item.sku) && item.sku.some(element => element.includes("CYOB")))){ 3297 return true; 3298 } 3299 return false; 3300 }, 3301 toggleResultNav : function (activeTab) { 3302 this.resultTabToggle = activeTab 3303 }, 3304 3305 redirectTo : function(indexName, hit, index) { 3306 let algoliaIndex = { 3307 product : 'magento2_prod_default_products', 3308 recipe : 'magento2_prod_default_recipes', 3309 blog : 'magento2_prod_default_blog' 3310 } 3311 3312 if (algoliaIndex[indexName] !== undefined) { 3313 window.dataLayer = window.dataLayer || []; 3314 dataLayer.push({ 3315 "algoliaUserToken": userToken, 3316 "event": 'Autocomplete Hit Clicked', 3317 "index": algoliaIndex[indexName], 3318 "eventType": 'click', 3319 "queryID": this[indexName + 'QueryId'], 3320 "objectIDs": [hit.objectID], 3321 "positions": [index + 1] 3322 }) 3323 3324 } 3325 3326 window.location.href = hit.url 3327 }, 3328 3329 removeQuery : function() { 3330 this.query = '' 3331 }, 3332 3333 fetchResults : function() { 3334 const queries = [{ 3335 indexName: 'magento2_prod_default_products', 3336 query: this.query, 3337 params: { 3338 hitsPerPage: 6 3339 }, 3340 filters: 'visibility_search=1', 3341 clickAnalytics: true 3342 }, { 3343 indexName: 'magento2_prod_default_recipes', 3344 query: this.query, 3345 params: { 3346 hitsPerPage: 6, 3347 }, 3348 clickAnalytics: true 3349 }, { 3350 indexName: 'magento2_prod_default_blog', 3351 query: this.query, 3352 params: { 3353 hitsPerPage: 6, 3354 }, 3355 clickAnalytics: true 3356 }] 3357 3358 this.client.multipleQueries(queries).then(({ results }) => { 3359 if (results.length > 0) { 3360 this.products = results[0]?.hits
3361 this.productCount = results[0]?.nbHits 3362 this.productQueryId = results[0]?.queryID 3363 3364 this.recipes = results[1]?.hits 3365 this.recipeCount = results[1]?.nbHits 3366 this.recipeQueryId = results[1]?.queryID 3367 3368 this.blog = results[2]?.hits 3369 this.blogCount = results[2]?.nbHits 3370 this.blogQueryId = results[2]?.queryID 3371 } 3372 }); 3373 }, 3374 3375 get_scroll_position : function() { 3376 window.addEventListener('scroll', () => { 3377 this.scrollPosition = window.scrollY; 3378 }); 3379 return this.scrollPosition 3380 }, 3381 3382 formattedPrice : (price) => { 3383 let countryCode = locale !== undefined ? locale : 'de_DE', 3384 currencyCode = { 3385 'de-DE' : 'EUR', 3386 'en-GB' : 'GBP', 3387 'es-ES' : 'EUR', 3388 'en-US' : 'USD' 3389 } 3390 3391 if (countryCode.includes('_')) { 3392 countryCode = countryCode.replace('_','-') 3393 } 3394 3395 return new Intl.NumberFormat(countryCode, { style: 'currency', currency: currencyCode[countryCode] }).format(price); 3396 }, 3397 } 3398 }); 3399 }) 3400</script>
3400 3401 3402 <a class="customer-account-icon" 3403 @click="() => { 3404 if (typeof customer.customerId !== 'undefined') { 3405 if (window.innerWidth <= 1199) { 3406 $dispatch('toggle-customer-nav', { isOpen: true }) 3407 } else { 3408 window.location.href = 'https://www.justspices.de/customer/account' 3409 } 3410 } else { 3411 window.location.href = 'https://www.justspices.de/customer/account/login' 3412 } 3413 }" 3414 @toggle-customer-nav.window="toggleCustomerNav($event)" 3415 > 3416 <i class="fal fa-user text-4"></i> 3417 <template x-if="typeof customer.customerId !== 'undefined'"> 3418 <span class="gfc-bubble" :class="getGfcIcon()"></span> 3419 </template> 3420 </a> 3421 3422 <button 3423 id="menu-cart-icon" 3424 class="relative inline-block rounded p-1 outline-offset-2" 3425 x-ref="cartButton" 3426 :aria-disabled="isCartEmpty()" 3427 :aria-label="` 3428 Toggle minicart, 3429 ${isCartEmpty() 3430 ? 'Cart is empty' 3431 : cart.summary_count > 1 3432 ? hyva.str('%1 Artikel', cart.summary_count) 3433 : hyva.str('%1 item', cart.summary_count) 3434 }`" 3435 @click.prevent.stop="() => { 3436 $dispatch('toggle-cart', { isOpen: true }) 3437 }" 3438 @toggle-cart.window="toggleCart($event)" 3439 :aria-expanded="isCartOpen" 3440 aria-haspopup="dialog" 3441 > 3442 <i class="fal fa-bag-shopping text-4"></i> 3443 <span 3444 x-text="cart.summary_count ? visibleCartItemsCount(cart.summary_count) : 0" 3445 x-cloak 3446 class="absolute cart-icon-badge m-0 rounded-full bg-main-black text-main-white w-2 h-2 fs-11 inline-flex justify-center items-center right-0" 3447 aria-hidden="true" 3448 ></span> 3449 </button> 3450 3451 3452 </div> 3453 </div> 3454 3455 <!--Search--> 3456 <div class="absolute z-30 w-full search-mobile" 3457 id="search-content" 3458 :class="slideOutAnimation ? 'slide-out-left-slow' : 'slide-in-left-slow'" 3459 x-cloak x-show="searchOpen" 3460 @click.outside="searchOpen = false" 3461 @keydown.escape=" 3462 searchOpen = false; 3463 $refs.searchButton.focus(); 3464 " 3465 style="display: none" 3466 > 3467 <div id="vue-search-mobile" class="vue-searchbar"> 3468 <div class="vue-search-popup d-block"> 3469 <div class="ais-InstantSearch search-results"> 3470 <div class="ais-SearchBox"> 3471 <div class="search-box position-relative"> 3472 <i class="fal fa-arrow-left font fs-20 lh-20 vue-search-close" x-on:click="slideOut(); closeMobileSearchBar();"></i> 3473 <input 3474 x-ref="mobileSearchInput" 3475 type="search" 3476 class="font fs-16" 3477 id="vue-search-input" 3478 v-model="query" 3479 v-on:keyup.enter="window.location.href = baseUrl + 'catalogsearch/result/?q=' + query" 3480 placeholder="Suche" 3481 tabindex="-1" 3482 /> 3483 <i 3484 class="fal fa-times font fs-20 lh-20 black vue-search-reset" 3485 v-if="query.length > 0" 3486 @click="deleteQuery();" 3487 > 3488 </i> 3489 </div> 3490 </div> 3491 <div class="algolia-result-nav"> 3492 <span @click="toggleResults('products')" v-bind:class="tabs.products ? 'active' : ''">Produkte</span>
3493 <span @click="toggleResults('recipes')" v-bind:class="tabs.recipes ? 'active' : ''">Rezepte</span> 3494 <span @click="toggleResults('blog')" v-bind:class="tabs.blog ? 'active' : ''">Artikel</span> 3495 </div> 3496 <div class="result-container" v-if="query.length > 0"> 3497 <div class="col-12 px-0 products" v-show="tabs.products"> 3498 <div class="ais-hits"> 3499 <div class="ais-Hits" v-if="products.length > 0"> 3500 <div class="hit-result" v-for="(product,index) in products" v-if="product" v-bind:key="product.objectID"> 3501 <a class="" @click="redirectTo('product',product,index)" 3502 data-event="ev" data-ga4event="search_custom" data-category="product" 3503 data-action="click" v-bind:data-label="product.name"> 3504 <div class="hit-item-image"> 3505 <img v-bind:src="product.thumbnail_url_webp ?? product.image_url" class="lozad" style="width: 90px" width="78" height="78" v-bind:alt="product.name" v-bind:title="product.name" /> 3506 </div> 3507 <div class="hit-item-info"> 3508 <strong class="text-s title">{{product.name}}</strong> 3509 <div class="prices" v-if="!isCreateYourOwn(product)"> 3510 <template v-if="product.type_id === 'bundle'"> 3511 <template v-if="product.price.EUR.default_max_formated"> 3512 <span class="fs-14 lh-20 bundle">{{product.price.EUR.default_max_formated}}</span> 3513 </template> 3514 <template v-else> 3515 <span class="fs-14 lh-20 bundle">{{product.price.EUR.default_formated}}</span> 3516 </template> 3517 </template> 3518 <template v-else> 3519 <span class="fs-14 lh-20">{{product.price.EUR.default_formated}}</span> 3520 <template v-if="product.price.EUR.default_original_formated"> 3521 <s class="fs-14 lh-20 text-main-red line-through old-price ml-1">{{product.price.EUR.default_original_formated}}</s> 3522 </template> 3523 </template> 3524 </div> 3525 </div> 3526 </a> 3527 </div> 3528 <div class="hits-header w-full"> 3529 <span class="fs-14 lh-20"> 3530 {{productCount}} Ergebnisse </span> 3531 <div class="flex justify-center items-center gap-1"> 3532 <a class="fs-14 lh-20" 3533 v-bind:href="baseUrl + 'catalogsearch/result/?q=' + query" data-event="ev" 3534 data-ga4event="search_custom" data-category="product_all" 3535 data-action="click"> 3536 Alle anzeigen </a> 3537 <i class="fa-regular fa-arrow-right font fs-21 lh-28"></i> 3538 </div> 3539 </div> 3540 </div> 3541 <div class="col-12 no-results" v-if="products.length === 0"> 3542 <p class="font text-s mb-2">Kein Ergebnis. Versuche es mit einem anderen Suchbegriff oder sieh Dir unsere Empfehlungen an.</p> 3543 <div class="inspiration"> 3544 <div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><p class="font-recoleta text-m mb-2">Top Kategorien</p> 3545<div class="top-categories"> 3546 <a class="img-fluid category-icon" data-event="ev" data-ga4event="select_category" data-category="search" data-action="click" data-label="Bestseller" 3547 href="https://www.justspices.de/bestseller.html"> 3548 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_bestseller.svg" alt="Produktk
3548ategorie Bestseller" /> 3549 <span>Bestseller</span> 3550 </a> 3551 <a class="img-fluid category-icon" data-event="ev" data-ga4event="select_category" data-category="search" data-action="click" data-label="Neuheiten" 3552 href="https://www.justspices.de/neuheiten.html"> 3553 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_neuheiten.svg" alt="Produktkategorie Neuheiten" /> 3554 <span>Neuheiten</span> 3555 </a> 3556 <a class="img-fluid category-icon" data-event="ev" data-ga4event="select_category" data-category="search" data-action="click" data-label="Geschenkideen" 3557 href="https://www.justspices.de/geschenkideen.html"> 3558 <picture> 3559 3560 <source type="image/webp" 3561 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/search/search_inspiration_products_gifts.webp"> 3562 3563 <source type="image/png" 3564 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_gifts.png"> 3565 3566 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_gifts.png" alt="Produktkategorie Geschenkideen" /> </picture> 3567 3568 3569 <span>Geschenke</span> 3570 </a> 3571</div> 3572<p class="font-recoleta text-m mb-2">Beliebte Produkte</p> 3573<div class="popular-products"> 3574 <a class="img-fluid product" data-event="ev" data-ga4event="select_product_recommendation" data-category="search" data-action="click" data-label="Avocado Topping" 3575 href="https://www.justspices.de/avocado-topping.html"> 3576 <picture> 3577 3578 <source type="image/webp" 3579 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/search/search_inspiration_products_avocado_topping-2.webp"> 3580 3581 <source type="image/png" 3582 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_avocado_topping-2.png"> 3583 3584 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_avocado_topping-2.png" alt="Avocado Topping" /> </picture> 3585 3586 3587 <div class="product-info"> 3588 <p class="product-name">Avocado Topping</p> 3589 <p class="product-price">5,99 â¬</p> 3590 </div> 3591 </a> 3592 <a class="img-fluid product" data-event="ev" data-ga4event="select_product_recommendation" data-category="search" data-action="click" data-label="Ofengemüse Gewuerzmix" 3593 href="https://www.justspices.de/ofengemuese-gewuerzmix.html"> 3594 <picture> 3595 3596 <source type="image/webp" 3597 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/search/search_inspiration_products_ofengemuese_gewuerzmix.webp"> 3598 3599 <source type="image/png" 3600 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_ofengemuese_gewuerzmix.png"> 3601 3602 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_ofengemuese_gewuerzmix.png" alt="Ofengemüse Gewürzmix" /> </picture> 3603 3604 3605 <div class="product-info"> 3606 <p class="product-name">Ofengemüse Gewürzmix</p> 3607 <p class="product-price">4,99 â¬</p> 3608 </div> 3609 </a> 3610 <a class="img-fluid product" data-event="ev" data-ga4event="select_product_recommendation" data-category="search" data-action="click" data-label="Haehnchen Allrounder" 3611 href="https://www.justspices.de/haehnchen-allrounder.html"> 3612 <picture> 3613 3614 <source type="image/webp" 3615 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/search/search_inspiration_products_haehnchen_allrounder.webp"> 3616 3617 <source type="image/png" 3618 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_haehnchen_allrounder.png"> 3619 3620 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_haehnchen_allrounder.png" alt="Hähnchen Allrounder" /> </picture> 3621 3622 3623 <div class="product-info"> 3624 <p class="product-name">Hähnchen Allrounder</p> 3625 <p class="product-price">4,99 â¬</p> 3626 </div> 3627 </a> 3628 <a class="img-fluid product" data-event="ev" data-ga4event="select_product_recommendation" data-category="search" data-action="click" data-label="Aglio e Olio Gewuerzmix" 3629 href="https://www.justspices.de/aglio-e-olio-gewuerz.html"> 3630 <picture> 3631 3632 <source type="image/webp" 3633 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/search/search_inspiration_products_aglio_e_olio_gewuerzmix.webp"> 3634 3635 <source type="image/png" 3636 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_aglio_e_olio_gewuerzmix.png"> 3637 3638 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_aglio_e_olio_gewuerzmix.png" alt="Aglio e Olio Gewürzmix" /> </picture> 3639 3640 3641 <div class="product-info"> 3642 <p class="product-name">Aglio e Olio Gewürzmix</p> 3643 <p class="product-price">5,49 â¬</p> 3644 </div> 3645 </a> 3646</div></div> </div> 3647 </div> 3648 </div> 3649 </div> 3650 <div class="col-12 px-0 recipes" v-show="tabs.recipes"> 3651 <div class="ais-Hits recipe-hits"> 3652 <div class="ais-Hits" v-if="recipes.length > 0"> 3653 <div v-for="(recipe,index) in recipes" v-if="recipe && index < 5 " v-bind:key="recipe.objectID" class="hit-result recipe"> 3654 <a class="" @click="redirectTo('recipe',recipe,index)" 3655 data-event="ev" data-ga4event="search_custom" data-category="recipe" 3656 data-action="click" v-bind:data-label="recipe.title"> 3657 <div class="hit-item-image"> 3658 <img v-bind:src="recipe.image_url" class="lozad" width="78" height="78" v-bind:alt="recipe.image_alt" v-bind:title="recipe.title" /> 3659 </div> 3660 <div class="hit-item-info"> 3661 <strong class="text-s title">{{recipe.title}}</strong> 3662 </div> 3663 </a> 3664 </div> 3665 <div class="hits-header w-full">
3666 <span class="fs-14 lh-20"> 3667 {{recipeCount}} Ergebnisse </span> 3668 <div class="flex justify-center items-center gap-1"> 3669 <a class="fs-14 lh-20" 3670 v-bind:href="baseUrl + 'catalogsearch/result/?tab=recipes&q=' + query" data-event="ev" 3671 data-ga4event="search_custom" data-category="recipes_all" 3672 data-action="click"> 3673 Alle anzeigen </a> 3674 <i class="fa-regular fa-arrow-right font fs-21 lh-28"></i> 3675 </div> 3676 </div> 3677 </div> 3678 <div class="col-12 no-results" v-if="recipes.length === 0"> 3679 <p class="font text-s mb-2">Kein Ergebnis. Versuche es mit einem anderen Suchbegriff oder sieh Dir unsere Empfehlungen an.</p> 3680 <div class="inspiration"> 3681 <div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><p class="font-recoleta text-m mb-2">Top Rezeptsammlungen</p> 3682<div class="top-categories"> 3683 <a class="img-fluid category-icon" data-event="ev" data-ga4event="select_recipe_category" data-category="search" data-action="click" data-label="Beliebte Rezepte" 3684 href="https://www.justspices.de/rezeptsammlungen/beliebte-rezepte"> 3685 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_bestseller.svg" alt="Beliebte Rezepte" /> 3686 <span>Beliebt</span> 3687 </a> 3688 <a class="img-fluid category-icon" data-event="ev" data-ga4event="select_recipe_category" data-category="search" data-action="click" data-label="Heissluftfritteuse Rezepte" 3689 href="https://www.justspices.de/rezeptsammlungen/heissluftfritteuse-rezepte"> 3690 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_recipes_salat.svg" alt="Heissluftfritteuse Rezepte" /> 3691 <span>Fritteuse</span> 3692 </a> 3693 <a class="img-fluid category-icon" data-event="ev" data-ga4event="select_recipe_category" data-category="search" data-action="click" data-label="Grill Rezepte" 3694 href="https://www.justspices.de/rezeptsammlungen/grill-rezepte"> 3695 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_bbq.svg" alt="Grill Rezepte" /> 3696 <span>Grill Rezepte</span> 3697 </a> 3698</div> 3699<p class="font-recoleta text-m mb-2">Beliebte Rezepte</p> 3700<div class="popular-recipes"> 3701 <a class="img-fluid recipe" data-event="ev" data-ga4event="select_recipe_recommendation" data-category="search" data-action="click" data-label="SüÃkartoffel Bowl aus der HeiÃluftfritteuse" 3702 href="https://www.justspices.de/rezepte/suesskartoffel-bowl-heissluftfritteuse.html"> 3703 <picture> 3704 3705 <source type="image/webp" data-srcset=" 3706 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/search/search_inspiration_recipes_sweetpotatoebowl-2.webp"> 3707 3708 <source type="image/png" 3709 data-srcset=" 3710 https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_recipes_sweetpotatoebowl-2.png"> 3711 3712 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_recipes_sweetpotatoebowl-2.png" alt="SüÃkartoffel Bowl aus der HeiÃluftfritteuse" /> </picture> 3713 3714 3715 <p class="recipe-name">SüÃkartoffel Bowl aus der HeiÃluftfritteuse</p> 3716 </a> 3717 <a class="img-fluid recipe" data-event="ev" data-ga4event="select_recipe_recommendation" data-category="search" data-action="click" data-label="Mexikanische Wraps" 3718 href="https://www.justspices.de/rezepte/mexikanische-wraps.html"> 3719 <picture> 3720 3721 <source type="image/webp" data-srcset=" 3722 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/search/search_inspiration_recipes_mexikanische_wraps.webp"> 3723 3724 <source type="image/png" 3725 data-srcset=" 3726 https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_recipes_mexikanische_wraps.png"> 3727 3728 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_recipes_mexikanische_wraps.png" alt="Mexikanische Wraps" /> </picture> 3729 3730 3731 <p class="recipe-name">Mexikanische Wraps</p> 3732 </a> 3733 <a class="img-fluid recipe" data-event="ev" data-ga4event="select_recipe_recommendation" data-category="search" data-action="click" data-label="Saftiger Joghurt Kuchen" 3734 href="https://www.justspices.de/rezepte/saftiger-joghurtkuchen.html"> 3735 <picture> 3736 3737 <source type="image/webp" data-srcset=" 3738 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/search/search_inspiration_recipes_s
3738aftiger_joghurtkuchen.webp"> 3739 3740 <source type="image/png" 3741 data-srcset=" 3742 https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_recipes_saftiger_joghurtkuchen.png"> 3743 3744 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_recipes_saftiger_joghurtkuchen.png" alt="Saftiger Joghurt Kuchen" /> </picture> 3745 3746 3747 <p class="recipe-name">Saftiger Joghurt Kuchen</p> 3748 </a> 3749 <a class="img-fluid recipe" data-event="ev" data-ga4event="select_recipe_recommendation" data-category="search" data-action="click" data-label="One Pot Pasta" 3750 href="https://www.justspices.de/rezepte/tomate-mozzarella-one-pot-pasta.html"> 3751 <picture> 3752 3753 <source type="image/webp" data-srcset=" 3754 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/search/search_inspiration_recipes_one_pot_pasta.webp"> 3755 3756 <source type="image/png" 3757 data-srcset=" 3758 https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_recipes_one_pot_pasta.png"> 3759 3760 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_recipes_one_pot_pasta.png" alt="One Pot Pasta" /> </picture> 3761 3762 3763 <p class="recipe-name">One Pot Pasta</p> 3764 </a> 3765</div></div> </div> 3766 </div> 3767 </div> 3768 </div> 3769 <div class="col-12 px-0 blog" v-show="tabs.blog"> 3770 <div class="ais-Hits blog-hits"> 3771 <div class="ais-Hits" v-if="blog.length > 0"> 3772 <div v-for="(post,index) in blog" v-if="post && index < 5 " v-bind:key="post.objectID" class="hit-result blog"> 3773 <a v-bind:href="post.url" class="" 3774 data-event="ev" data-ga4event="search_custom" data-category="blog" 3775 data-action="click" v-bind:data-label="post.title"> 3776 <div class="hit-item-image"> 3777 <img v-bind:src="post.image_url_crop_webp ?? post.image_url_crop" width="78" height="78" 3778 v-bind:alt="post.title" v-bind:title="post.title" 3779 class="lozad"> 3780 3781 </div> 3782 <div class="hit-item-info"> 3783 <strong class="text-s title">{{post.title}}</strong> 3784 </div> 3785 </a> 3786 </div> 3787 <div class="hits-header w-full"> 3788 <span class="fs-14 lh-20"> 3789 {{blogCount}} Ergebnisse </span> 3790 <div class="flex justify-center items-center gap-1"> 3791 <a class="fs-14 lh-20" 3792 v-bind:href="baseUrl + 'catalogsearch/result/?tab=blog&q=' + query" data-event="ev" 3793 data-ga4event="search_custom" data-category="blog_all" 3794 data-action="click"> 3795 Alle anzeigen </a> 3796 <i class="fa-regular fa-arrow-right font fs-21 lh-28"></i> 3797 </div> 3798 </div> 3799 </div> 3800 <div class="col-12 no-results" v-if="blog.length === 0"> 3801 <p class="font text-s mb-2">Kein Ergebnis. Versuche es mit einem anderen Suchbegriff oder sieh Dir unsere Empfehlungen an.</p> 3802 <div class="inspiration"> 3803 <div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><p class="font-recoleta text-m mb-2">Top Blog Kategorien</p> 3804<div class="top-categories"> 3805 <a class="img-fluid category-icon" data-event="ev" data-ga4event="select_blog_category" data-category="search" data-action="click" data-label="1x1 des Kochens" 3806 href="https://www.justspices.de/blog/1x1-des-kochens"> 3807 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_blog_einmaleins_kochen.svg" alt="1x1 des Kochens" />
3808 <span>1x1 des Kochens</span> 3809 </a> 3810 <a class="img-fluid category-icon" data-event="ev" data-ga4event="select_blog_category" data-category="search" data-action="click" data-label="1x1 der Gewürze" 3811 href="https://www.justspices.de/blog/1x1-der-gewuerze"> 3812 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_blog_einmaleins_gewuerze.svg" alt="1x1 der Gewürze" /> 3813 <span>1x1 der Gewürze</span> 3814 </a> 3815 <a class="img-fluid category-icon" data-event="ev" data-ga4event="select_blog_category" data-category="search" data-action="click" data-label="HeiÃe Themen" 3816 href="https://www.justspices.de/blog/heisse-themen"> 3817 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_products_fritteuse.svg" alt="HeiÃe Themen" /> 3818 <span>HeiÃe Themen</span> 3819 </a> 3820</div> 3821<p class="font-recoleta text-m mb-2">Beliebte Blogartikel</p> 3822<div class="popular-blogposts"> 3823 <a class="img-fluid blogpost" data-event="ev" data-ga4event="select_blog_recommendation" data-category="search" data-action="click" data-label="Bulgur richtig kochen" 3824 href="https://www.justspices.de/blog/1x1-des-kochens/richtig-kochen/bulgur-kochen"> 3825 <picture> 3826 3827 <source type="image/webp" data-srcset=" 3828 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/search/search_inspiration_blog_bulgur_kochen.webp"> 3829 3830 <source type="image/png" 3831 data-srcset=" 3832 https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_blog_bulgur_kochen.png"> 3833 3834 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_blog_bulgur_kochen.png" alt="Bulgur richtig kochen" /> </picture> 3835 3836 3837 <p class="recipe-name">Bulgur richtig kochen</p> 3838 </a> 3839 <a class="img-fluid blogpost" data-event="ev" data-ga4event="select_blog_recommendation" data-category="search" data-action="click" data-label="Brokkoli richtig kochen" 3840 href="https://www.justspices.de/blog/1x1-des-kochens/richtig-kochen/brokkoli-kochen"> 3841 <picture> 3842 3843 <source type="image/webp" data-srcset=" 3844 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/search/search_inspiration_blog_brokkoli_kochen.webp"> 3845 3846 <source type="image/png" 3847 data-srcset=" 3848 https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_blog_brokkoli_kochen.png"> 3849 3850 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_blog_brokkoli_kochen.png" alt="Brokkoli richtig kochen" /> </picture> 3851 3852 3853 <p class="recipe-name">Brokkoli richtig kochen</p> 3854 </a> 3855 <a class="img-fluid blogpost" data-event="ev" data-ga4event="select_blog_recommendation" data-category="search" data-action="click" data-label="Was passt zu Kartoffelsalat?" 3856 href="https://www.justspices.de/blog/1x1-des-kochens/was-passt-zu/was-passt-zu-kartoffelsalat"> 3857 <picture> 3858 3859 <source type="image/webp" data-srcset=" 3860 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/search/search_inspiration_blog_kartoffelsalat.webp"> 3861 3862 <source type="image/png" 3863 data-srcset=" 3864 https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_blog_kartoffelsalat.png"> 3865 3866 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_blog_kartoffelsalat.png" alt="Was passt zu Kartoffelsalat?" /> </picture> 3867 3868 3869 <p class="recipe-name">Was passt zu Kartoffelsalat?</p> 3870 </a> 3871 <a class="img-fluid blogpost" data-event="ev" data-ga4event="select_blog_recommendation" data-category="search" data-action="click" data-label="Garnelen richtig würzen" 3872 href="https://www.justspices.de/blog/1x1-des-kochens/garnelen-wuerzen"> 3873 <picture> 3874 3875 <source type="image/webp" data-srcset=" 3876 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/search/search_inspiration_blog_garnelen.webp"> 3877 3878 <source type="image/png" 3879 data-srcset=" 3880 https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_blog_garnelen.png"> 3881 3882 <img class="lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/search/search_inspiration_blog_garnelen.png" alt="Garnelen richtig würzen" /> </picture> 3883 3884 3885 <p class="recipe-name">Garnelen richtig würzen</p> 3886 </a> 3887</div></div> </div> 3888 </div> 3889 </div> 3890 </div> 3891 </div> 3892 </div> 3893 </div> 3894</div> 3895 3896
3897<script type="module"> 3898 window.addEventListener('DOMContentLoaded',function () { 3899 3900 const algoliaClient = algoliasearch( 3901 'PCZYM1QRDW', 3902 '7d6e133d365a91ddf242dd6fbd396721', 3903 ); 3904 3905 const searchClient = { 3906 ...algoliaClient, 3907 search(requests) { 3908 if (requests.every(({ params }) => params.query === "")) { 3909 return Promise.resolve({ 3910 results: requests.map(() => ({ 3911 hits: [], 3912 nbHits: 0, 3913 nbPages: 0, 3914 page: 0, 3915 processingTimeMS: 0, 3916 hitsPerPage: 0, 3917 exhaustiveNbHits: false, 3918 query: '', 3919 params: '', 3920 })), 3921 }); 3922 } 3923 3924 return algoliaClient.search(requests); 3925 }, 3926 }; 3927 3928 let loggedInUserToken = hyva.getCookie('aa-search'); 3929 let userToken = null; 3930 if (loggedInUserToken && loggedInUserToken !== '') { 3931 userToken = loggedInUserToken; 3932 } else { 3933 let savedAnonCookie = hyva.getCookie('_ALGOLIA'); 3934 if (savedAnonCookie && savedAnonCookie !== "" && savedAnonCookie.indexOf("anonymous-") === 0) { 3935 userToken = savedAnonCookie; 3936 } else { 3937 let newAnonCookie = "anonymous-" + generateAnonCookieValue(); 3938 hyva.setCookie('_ALGOLIA', newAnonCookie) 3939 userToken = newAnonCookie; 3940 } 3941 } 3942 3943 function generateAnonCookieValue() { 3944 return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (e) { 3945 var t = 16 * Math.random() | 0; 3946 return ("x" === e ? t : 3 & t | 8).toString(16) 3947 }) 3948 } 3949 3950 new Vue({ 3951 el: "#vue-search-mobile", 3952 data() { 3953 return { 3954 searchClient, 3955 currentQuery:'', 3956 tabs : { 3957 products : true, 3958 recipes : false, 3959 blog: false, 3960 }, 3961 client : algoliaClient, 3962 products: [], 3963 productCount : 0, 3964 recipes : [], 3965 recipeCount : 0, 3966 blog:[], 3967 blogCount:0, 3968 } 3969 }, 3970 created() { 3971 3972 }, 3973 mounted() { 3974 if(document.querySelector('body').classList.contains('recipes-algolia-listview') 3975 || document.querySelector('body').classList.contains('recipe-recipe-view') 3976 || window.location.pathname.includes('rezeptsammlung') 3977 ){ 3978 this.toggleResults('recipes') 3979 } 3980 3981 if(document.querySelector('body').classList.contains('blog-page')){ 3982 this.toggleResults('blog') 3983 } 3984 }, 3985 computed: { 3986 3987 query: { 3988 get() { 3989 return this.currentQuery 3990 }, 3991 set(value) { 3992 this.currentQuery = value 3993 this.fetchResults() 3994 } 3995 }, 3996 3997 }, 3998 methods : { 3999 isCreateYourOwn: function(item) { 4000 if((Array.isArray(item.sku) && item.sku.some(element => element.includes("CYOG"))) 4001 || (Array.isArray(item.sku) && item.sku.some(element => element.includes("CYOB")))){ 4002 return true; 4003 } 4004 return false; 4005 }, 4006 toggleResults : function (activeTab) { 4007 this.tabs.products = false 4008 this.tabs.recipes = false 4009 this.tabs.blog = false 4010 this.tabs[activeTab] = true 4011 }, 4012 4013 fetchResults : function() { 4014 const queries = [{ 4015 indexName: 'magento2_prod_default_products', 4016 query: this.query, 4017 params: { 4018 hitsPerPage: 5 4019 }, 4020 filters: 'visibility_search=1', 4021 }, { 4022 indexName: 'magento2_prod_default_recipes', 4023 query: this.query, 4024 params: { 4025 hitsPerPage: 5, 4026 } 4027 },{ 4028 indexName: 'magento2_prod_default_blog', 4029 query: this.query, 4030 params: { 4031 hitsPerPage: 5, 4032 } 4033 }] 4034 4035 this.client.multipleQueries(queries).then(({ results }) => { 4036 if (results.length > 0) { 4037 this.products = results[0]?.hits
4038 this.productCount = results[0]?.nbHits 4039 4040 this.recipes = results[1]?.hits 4041 this.recipeCount = results[1]?.nbHits 4042 4043 this.blog = results[2]?.hits 4044 this.blogCount = results[2]?.nbHits 4045 } 4046 }); 4047 }, 4048 4049 redirectTo : function(indexName, hit, index) { 4050 let algoliaIndex = { 4051 product : 'magento2_prod_default_products', 4052 recipe : 'magento2_prod_default_recipes', 4053 blog : 'magento2_prod_default_blog' 4054 } 4055 4056 if (algoliaIndex[indexName] !== undefined) { 4057 window.dataLayer = window.dataLayer || []; 4058 dataLayer.push({ 4059 "algoliaUserToken": userToken, 4060 "event": 'Autocomplete Hit Clicked', 4061 "index": algoliaIndex[indexName], 4062 "eventType": 'click', 4063 "queryID": this[indexName + 'QueryId'], 4064 "objectIDs": [hit.objectID], 4065 "positions": [index + 1] 4066 }) 4067 4068 } 4069 4070 window.location.href = hit.url 4071 }, 4072 4073 closePopup : function () { 4074 4075 }, 4076 4077 deleteQuery() { 4078 this.currentQuery = '' 4079 } 4080 4081 } 4082 }); 4083 }) 4084 4085</script>
4085 4086 </div> 4087 4088 <!--Cart Drawer--> 4089
4089<script> 4090 function initCartDrawer() { 4091 4092 window.addEventListener('load',() => { 4093 const params = new URLSearchParams(window.location.search); 4094 4095 if (params.has('show-cart')) { 4096 window.dispatchEvent(new CustomEvent('toggle-cart', {detail: {isOpen: true}})); 4097 window.dispatchEvent(new CustomEvent('cart-drawer-toggled', {detail: {isOpen: true}})); 4098 } 4099 4100 let cartDrawer = document.querySelector('#cart-drawer') 4101 cartDrawer.classList.remove('hidden') 4102 }) 4103 4104 return { 4105 open: false, 4106 isLoading: false, 4107 cart: {}, 4108 maxItemsToDisplay: 10, 4109 itemsCount: 0, 4110 getData(data) { 4111 if (data.cart) { 4112 this.cart = data.cart; 4113 this.itemsCount = data.cart.items && data.cart.items.length || 0; 4114 this.setCartItems(); 4115 } 4116 this.isLoading = false; 4117 }, 4118 cartItems: [], 4119 getItemCountTitle() { 4120 return hyva.strf('\u00250\u0020of\u0020\u00251\u0020products\u0020in\u0020cart\u0020displayed', this.maxItemsToDisplay, this.itemsCount) 4121 }, 4122 setCartItems() { 4123 this.cartItems = this.cart.items && this.cart.items.sort((a, b) => b.item_id - a.item_id) || []; 4124 4125 if (this.maxItemsToDisplay > 0) { 4126 this.cartItems = this.cartItems.slice(0, parseInt(this.maxItemsToDisplay, 10)); 4127 } 4128 }, 4129 deleteItemFromCart(itemId) { 4130 this.isLoading = true; 4131 4132 const formKey = hyva.getFormKey(); 4133 const postUrl = BASE_URL + 'checkout/sidebar/removeItem/'; 4134 4135 fetch(postUrl, { 4136 "headers": { 4137 "content-type": "application/x-www-form-urlencoded; charset=UTF-8", 4138 }, 4139 "body": "form_key=" + formKey + "&item_id=" + itemId, 4140 "method": "POST", 4141 "mode": "cors", 4142 "credentials": "include" 4143 }).then(response => { 4144 if (response.redirected) { 4145 window.location.href = response.url; 4146 } else if (response.ok) { 4147 return response.json(); 4148 } else { 4149 window.dispatchMessages && window.dispatchMessages([{ 4150 type: 'warning', 4151 text: 'Could\u0020not\u0020remove\u0020item\u0020from\u0020quote.' 4152 }]); 4153 this.isLoading = false; 4154 } 4155 }).then(result => { 4156 window.dispatchMessages && window.dispatchMessages([{ 4157 type: result.success ? 'success' : 'error', 4158 text: result.success 4159 ? 'Sie\u0020haben\u0020den\u0020Artikel\u0020entfernt.' 4160 : result.error_message 4161 }], result.success ? 5000 : 0) 4162 window.dispatchEvent(new CustomEvent('reload-customer-section-data')); 4163 }); 4164 }, 4165 scrollLock(use = true) { 4166 document.body.style.overflow = use ? "hidden" : ""; 4167 }, 4168 toggleCartDrawer(event) { 4169 if (event.detail && event.detail.isOpen !== undefined) { 4170 if (event.detail.isOpen) { 4171 this.openCartDrawer(); 4172 } else { 4173 this.open = false; 4174 this.scrollLock(false); 4175 this.$refs && this.$refs.cartDialogContent && hyva.releaseFocus(this.$refs.cartDialogContent); 4176 } 4177 } else { 4178 this.openCartDrawer() 4179 } 4180 window.dispatchEvent(new CustomEvent('cart-drawer-toggled', { detail: {isOpen: this.open}})); 4181 }, 4182 openCartDrawer() { 4183 this.open = true; 4184 this.scrollLock(true); 4185 this.$nextTick(() => { 4186 this.$refs && this.$refs.cartDialogContent && hyva.trapFocus(this.$refs.cartDialogContent) 4187 }) 4188 }, 4189 closeCartDrawer() { 4190 this.$dispatch('toggle-cart', { isOpen: false }) 4191 }, 4192 getSectionDataExtraActions() { 4193 if (!this.cart.extra_actions) { 4194 return ''; 4195 } 4196 4197 const contentNode = document.createElement('div'); 4198 contentNode.innerHTML = this.cart.extra_actions; 4199 4200 hyva.activateScripts(contentNode); 4201 4202 return contentNode.innerHTML; 4203 } 4204 } 4205 } 4206</script>
4206 4207<section x-cloak 4208 x-show="cart" 4209 id="cart-drawer" 4210 x-data="initCartDrawer()" 4211 @private-content-loaded.window="getData($event.detail.data)" 4212 @toggle-cart.window="toggleCartDrawer($event)" 4213 @keydown.escape="closeCartDrawer" 4214 class="hidden" 4215> 4216 <div role="dialog" 4217 aria-labelledby="cart-drawer-title" 4218 aria-modal="true" 4219 :aria-hidden="!open" 4220 class="fixed inset-y-0 right-0 z-30 flex max-w-full"> 4221 <div class="backdrop" 4222 x-show="open" 4223 x-transition:enter="ease-in-out duration-500" 4224 x-transition:enter-start="opacity-0" 4225 x-transition:enter-end="opacity-100" 4226 x-transition:leave="ease-in-out duration-500" 4227 x-transition:leave-start="opacity-100" 4228 x-transition:leave-end="opacity-0" 4229 role="button" 4230 @click="closeCartDrawer" 4231 aria-label="Close minicart"></div> 4232 <div class="relative w-screen vue-minicart-drawer-content shadow-2xl" 4233 x-show="open" 4234 x-transition:enter="transform transition ease-in-out duration-500 tablet:duration-700" 4235 x-transition:enter-start="translate-x-full" 4236 x-transition:enter-end="translate-x-0" 4237 x-transition:leave="transform transition ease-in-out duration-500 tablet:duration-700" 4238 x-transition:leave-start="translate-x-0" 4239 x-transition:leave-end="translate-x-full" 4240 x-ref="cartDialogContent" 4241 role="region" 4242 :tabindex="open ? 0 : -1" 4243 aria-label="Mein Warenkorb" 4244 > 4245 <div class="flex flex-col h-full max-h-screen bg-white shadow-xl"> 4246 4247<div id="slide-in-cart"> 4248 <cart-modal 4249 v-bind:besteller="bestsellerUrl" 4250 ></cart-modal> 4251</div> 4252 4253 4254
4255<script id="cart_store"> 4256 const cart = { 4257 namespaced: true, 4258 state: () => ({ 4259 cartId : mage_cache_storage.cart?.cartId ?? null, 4260 shippingThreshold : '39', 4261 shippingMethod : [], 4262 totals : {}, 4263 shippingInformation : {}, 4264 _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", 4265 baseUrl: "https://www.justspices.de/", 4266 atcErrorUrl : "", 4267 cartIsEmpty : false, 4268 loyaltyShippingThreshold : { 4269 silver : '30', 4270 gold : '25' 4271 }, 4272 storedCart : {}, 4273 incentiveInformation: [], 4274 forceIncentivePopupOpen: false, 4275 selectedFreeGiftInCart: false 4276 }), 4277 mutations: { 4278 4279 updateStoredCart(state, cart) { 4280 state.storedCart = cart 4281 }, 4282 4283 updateShippingMethod(state, method) { 4284 state.shippingMethod = method 4285 }, 4286 4287 updateTotals(state, totals) { 4288 state.totals = totals 4289 }, 4290 4291 updateShippingInformation(state, information) { 4292 state.shippingInformation = information 4293 }, 4294 4295 updateAtcErrorUrl(state,url) { 4296 state.atcErrorUrl = url 4297 }, 4298 4299 updateCartId(state,id) { 4300 state.cartId = id 4301 }, 4302 4303 updateCartIsEmpty(state, bool) { 4304 state.cartIsEmpty = bool 4305 }, 4306 4307 updateShippingThreshold(state,threshold) { 4308 state.shippingThreshold = threshold 4309 }, 4310 4311 updateIncentiveInformation(state,incentiveInformation) { 4312 state.incentiveInformation = incentiveInformation 4313 }, 4314 4315 updateForceIncentivePopupOpen(state,forceIncentivePopupOpen) { 4316 state.forceIncentivePopupOpen = forceIncentivePopupOpen 4317 }, 4318 4319 updateSelectedFreeGiftInCart(state,selectedFreeGiftInCart) { 4320 state.selectedFreeGiftInCart = selectedFreeGiftInCart 4321 } 4322 4323 }, 4324 actions : { 4325 4326 4327 calculateShippingThreshold({state, commit, dispatch, rootState}) { 4328 if (rootState.customer.customerId != null) { 4329 if (rootState.customer.customerLoyaltyRank === 'Gold') { 4330 commit('updateShippingThreshold',state.loyaltyShippingThreshold.gold) 4331 return true 4332 } else if (rootState.customer.customerLoyaltyRank === 'Silber' || 4333 rootState.customer.customerLoyaltyRank === 'Silver' ) { 4334 commit('updateShippingThreshold',state.loyaltyShippingThreshold.silver) 4335 return true 4336 } 4337 } 4338 }, 4339 4340 /** 4341 * @param dispatch 4342 * @param request // {cartId,token} 4343 */ 4344 async getTotals({dispatch},request) { 4345 if (request.token) { 4346 // logged in 4347 await dispatch('apiRequest', { 4348 commit : 'cart/updateTotals', 4349 endpoint : `carts/mine/totals`, 4350 type : 'GET', 4351 header : {headers: { Authorization: `Bearer ${request.token}`}}, 4352 },{ root: true }) 4353 } else { 4354 await dispatch('apiRequest', { 4355 commit : `cart/updateTotals`, 4356 endpoint : `guest-carts/${request.cartId}/totals`, 4357 type : 'GET', 4358 },{ root: true }) 4359 } 4360 }, 4361 4362 4363 /** 4364 * @param dispatch 4365 * @param request // {cartId,token,data} 4366 */ 4367 async getEstimatedShippingMethod({dispatch},request) { 4368 if (request.token) { 4369 // logged in 4370 await dispatch('apiRequest', { 4371 commit : 'cart/updateShippingMethod',
4372 endpoint : `carts/mine/estimate-shipping-methods`, 4373 type : 'POST', 4374 header : {headers: { Authorization: `Bearer ${request.token}`}}, 4375 data : JSON.stringify(request.data) 4376 },{ root: true }) 4377 } else { 4378 await dispatch('apiRequest', { 4379 commit : `cart/updateShippingMethod`, 4380 endpoint : `guest-carts/${request.cartId}/estimate-shipping-methods`, 4381 type : 'POST', 4382 data : JSON.stringify(request.data) 4383 },{ root: true }) 4384 } 4385 }, 4386 4387 4388 /** 4389 * @param dispatch 4390 * @param request // {cartId,token,data} 4391 */ 4392 async setShippingInformation({dispatch},request) { 4393 if (request.token) { 4394 // logged in 4395 await dispatch('apiRequest', { 4396 commit : 'cart/updateShippingInformation', 4397 endpoint : `carts/mine/shipping-information`, 4398 type : 'POST', 4399 header : {headers: { Authorization: `Bearer ${request.token}`}}, 4400 data : JSON.stringify(request.data) 4401 },{ root: true }) 4402 } else { 4403 await dispatch('apiRequest', { 4404 commit : `cart/updateShippingInformation`, 4405 endpoint : `guest-carts/${request.cartId}/shipping-information`, 4406 type : 'POST', 4407 data : JSON.stringify(request.data) 4408 },{ root: true }) 4409 } 4410 }, 4411 4412 4413 /** 4414 * @param dispatch 4415 * @param request // {cartId,token,data} 4416 */ 4417 async addToCart({dispatch},request) { 4418 await dispatch('controllerRequest', { 4419 action : request.action, 4420 form : request.form, 4421 addToCart : true, 4422 },{ root: true }) 4423 }, 4424 4425 4426 /** 4427 * @param dispatch 4428 * @param request // {cartId,token,data} 4429 */ 4430 async removeItemFromCart({dispatch},request) { 4431 if (request.token) { 4432 // logged in 4433 await dispatch('apiRequest', { 4434 endpoint: `carts/mine/items/${request.itemId}`, 4435 type: 'DELETE', 4436 header: {headers: {Authorization: `Bearer ${request.token}`}}, 4437 reloadLocalStorage : true 4438 }, {root: true}) 4439 } else { 4440 await dispatch('apiRequest', { 4441 endpoint: `guest-carts/${request.cartId}/items/${request.itemId}`, 4442 type: 'DELETE', 4443 reloadLocalStorage : true 4444 }, {root: true}) 4445 } 4446 }, 4447 4448 4449 4450 /** 4451 * @param dispatch 4452 * @param request // {cartId,token,data} 4453 */ 4454 async updateCartItem({dispatch},request) { 4455 if (request.token) { 4456 // logged in 4457 await dispatch('apiRequest', { 4458 endpoint : `carts/mine/items/${request.itemId}`, 4459 errorMessage : true, 4460 type : 'PUT', 4461 header : {headers: { Authorization: `Bearer ${request.token}`}}, 4462 data : JSON.stringify(request.data), 4463 reloadLocalStorage : true 4464 },{ root: true }) 4465 } else { 4466 await dispatch('apiRequest', { 4467 endpoint : `guest-carts/${request.cartId}/items/${request.itemId}`, 4468 errorMessage : true, 4469 type : 'PUT', 4470 data : JSON.stringify(request.data), 4471 reloadLocalStorage : true 4472 },{ root: true }) 4473 } 4474 }, 4475 4476 }, 4477 getters : { 4478 4479 createAddToCartUrl : (state,getters) => (productId) => { 4480 const currentLocationUENC = encodeURIComponent( 4481 getters.encodeUenc(state.baseUrl), 4482 ) 4483 return state.baseUrl + 4484 "checkout/cart/add/uenc/" + 4485 currentLocationUENC + 4486 "/product/" + 4487 productId 4488 }, 4489 4490 encodeUenc: () => (value) => { 4491 const regex = /=/gi 4492 return btoa(value).replace(regex, ",") 4493 }, 4494 4495 mageEncode: (state, getters) => (input) => { 4496 return getters.encode(input).replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, ','); 4497 }, 4498 4499 encode: (state,getters) => (input) => { 4500 let output = ""; 4501 let chr1, chr2, chr3, enc1, enc2, enc3, enc4; 4502 let i = 0; 4503 4504 if( typeof window.btoa === "function" ){ 4505 return window.btoa(input); 4506 } 4507 4508 input = getters._utf8_encode(input); 4509 4510 while (i < input.length) { 4511 4512 chr1 = input.charCodeAt(i++); 4513 chr2 = input.charCodeAt(i++); 4514 chr3 = input.charCodeAt(i++); 4515 4516 enc1 = chr1 >> 2; 4517 enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); 4518 enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); 4519 enc4 = chr3 & 63; 4520 4521 if (isNaN(chr2)) { 4522 enc3 = enc4 = 64; 4523 } else if (isNaN(chr3)) { 4524 enc4 = 64; 4525 } 4526 output = output + 4527 state._keyStr.charAt(enc1) + state._keyStr.charAt(enc2) + 4528 state._keyStr.charAt(enc3) + state._keyStr.charAt(enc4); 4529 } 4530 4531 return output; 4532 }, 4533 4534 _utf8_encode : () => (string) => {
4535 string = string.replace(/\r\n/g,"\n"); 4536 let utftext = ""; 4537 4538 for (let n = 0; n < string.length; n++) { 4539 4540 let c = string.charCodeAt(n); 4541 4542 if (c < 128) { 4543 utftext += String.fromCharCode(c); 4544 } 4545 else if((c > 127) && (c < 2048)) { 4546 utftext += String.fromCharCode((c >> 6) | 192); 4547 utftext += String.fromCharCode((c & 63) | 128); 4548 } 4549 else { 4550 utftext += String.fromCharCode((c >> 12) | 224); 4551 utftext += String.fromCharCode(((c >> 6) & 63) | 128); 4552 utftext += String.fromCharCode((c & 63) | 128); 4553 } 4554 } 4555 return utftext; 4556 }, 4557 4558 cartItemsAreSalable : (state, getters, rootState) => { 4559 let cartItems = rootState.quote.items.filter(item => item && item.is_salable === false) 4560 return cartItems.length === 0 4561 }, 4562 4563 4564 getCartItemPayload : () => (qty,cartId) => { 4565 return { 4566 "cartItem": { 4567 "qty": qty, 4568 "quote_id": cartId, 4569 } 4570 } 4571 }, 4572 4573 4574 addToCartItemPayload : (state, getters, rootState) => (cartId) => { 4575 if (rootState.product === undefined) return false 4576 let payload = { 4577 "cartItem" : { 4578 "qty": 1, 4579 "quote_id": cartId, 4580 "sku" : rootState.product.sku 4581 } 4582 } 4583 4584 if (rootState.product.type_id === "configurable") { 4585 payload["cartItem"]["product_option"] = { 4586 "extension_attributes" : { 4587 "configurable_item_options" : [{ 4588 "option_id" : rootState.product.extension_attributes.configurable_product_options[0].attribute_id, 4589 "option_value" : rootState.product.extension_attributes.configurable_product_options[0].values[0].value_index, 4590 }] 4591 } 4592 } 4593 } 4594 4595 if (rootState.product.type_id === "bundle") { 4596 payload["cartItem"]["product_option"] = { 4597 "extension_attributes" : { 4598 "bundle_options" : getters.getBundleOptions() 4599 } 4600 } 4601 } 4602 4603 return payload 4604 }, 4605 4606 4607 getBundleOptions : (state, getters, rootState)=> () => { 4608 let options = rootState.product.extension_attributes.bundle_product_options[0].product_links ?? [], 4609 response = [] 4610 for (let option of options) { 4611 response.push({ 4612 "option_id": option.option_id, 4613 "option_qty": option.qty, 4614 "option_selections": [option.id] 4615 }) 4616 } 4617 return response 4618 }, 4619 4620 4621 } 4622 } 4623</script>
4623 4624
4625<script id="customer_store"> 4626 const customer = { 4627 namespaced: true, 4628 state: () => ({ 4629 customerIdentifier : mage_cache_storage.customer?.customerId ?? null, 4630 customerId : mage_cache_storage.customer?.signin_token ?? null, 4631 4632 customerLoyaltyRank : mage_cache_storage.customer?.customerTier ?? null, 4633 4634 customerGroup : "0", 4635 4636 default_address : { 4637 region_id : null, 4638 country_id : 'DE', 4639 }, 4640 4641 shipping_address : { 4642 firstname : null, 4643 lastname : null, 4644 email : null, 4645 country_id : null, 4646 region_id : null, 4647 city : null, 4648 postcode : null, 4649 street : null, 4650 hnr : null, 4651 telephone : null 4652 }, 4653 4654 loginErrors : { 4655 errors : false, 4656 message : '' 4657 } 4658 }), 4659 mutations: { 4660 4661 updateCustomerId : (state,customerId) => { 4662 state.customerId = customerId 4663 }, 4664 4665 updateCustomerIdentifier : (state,customerIdentifier) => { 4666 state.customerIdentifier = customerIdentifier 4667 }, 4668 4669 updateLoginErrors : (state,error) => { 4670 state.loginErrors = error 4671 }, 4672 4673 updateCustomerGroup : (state, group) => { 4674 state.customerGroup = group 4675 } 4676 4677 }, 4678 actions : { 4679 4680 /** 4681 * @param commit 4682 * @param dispatch 4683 * @param request // {url,data,errorComponent} 4684 */ 4685 async login({commit,dispatch},request) { 4686 await dispatch('controllerRequest', { 4687 url : request.url, 4688 data : request.data, 4689 errorComponent : { 4690 commit : 'customer/updateLoginErrors', 4691 active : true 4692 } 4693 },{ root: true }) 4694 .then(async () => { 4695 window.dispatchEvent(new CustomEvent("reload-private-content", { 4696 detail: { 4697 section: ['cart','customer'] 4698 } 4699 })); 4700 localStorageHelper.initFormKey() 4701 commit('updateFormKey',localStorageHelper.getFormKey(),{root:true}) 4702 }) 4703 }, 4704 4705 }, 4706 } 4707</script>
4707 4708
4709<script id="store"> 4710 4711 const mage_cache_storage = JSON.parse(window.localStorage.getItem('mage-cache-storage')) ?? {} 4712 if(typeof locale === 'undefined'){ 4713 const locale = "de_DE"; 4714 } 4715 4716 Vue.use(Vuex); 4717 const store = new Vuex.Store({ 4718 modules: { 4719 cart : cart, 4720 customer : customer, 4721 }, 4722 state: { 4723 restUrl : "https://www.justspices.de/rest/default/V1", 4724 localStorage : mage_cache_storage, 4725 formKey : hyva.getCookie('form_key'), 4726 quote : {}, 4727 product : {}, 4728 errors : { 4729 permanent : "", 4730 temporary : [] 4731 }, 4732 hasReservedOrderId : false 4733 }, 4734 mutations: { 4735 async updateQuote(state, quote) { 4736 state.quote = quote 4737 4738 if ('reserved_order_id' in quote) { 4739 this.commit('updateReservedOrderId', true) 4740 } else { 4741 this.commit('updateReservedOrderId', false) 4742 } 4743 4744 4745 // check if quote contains only valid items 4746 let invalidCartItems = state.quote.items.filter((item) => { 4747 return item.extension_attributes?.is_salable === false 4748 }) 4749 if (invalidCartItems.length === 0) { 4750 this.commit('removePermanentError') 4751 } 4752 4753 // check if cart is emtpy 4754 state.quote.items.length === 0 ? 4755 this.commit('cart/updateCartIsEmpty', true) : 4756 this.commit('cart/updateCartIsEmpty', false) 4757 4758 if(state.quote.extension_attributes?.has_error === true && state.quote.extension_attributes?.messages){ 4759 let cartItemsWithError = state.quote.items.filter((item) => { 4760 return item.extension_attributes?.has_error === true 4761 }) 4762 4763 let cartItemNamesWithError = [] 4764 for (let cartItemWithError of cartItemsWithError ) { 4765 cartItemNamesWithError.push(cartItemWithError.name) 4766 } 4767 4768 for (let message of state.quote.extension_attributes?.messages ) { 4769 this.commit('updateErrors',{ 4770 status : "permanent", 4771 error : message + ' Bitte entferne folgende Produkte: ' + cartItemNamesWithError.toString() 4772 }) 4773 } 4774 } 4775 }, 4776 4777 updateReservedOrderId(state,status) { 4778 state.hasReservedOrderId = status 4779 }, 4780 4781 4782 async updateProduct(state,product) { 4783 state.product = product 4784 }, 4785 4786 async updateErrors(state,error) { 4787 if (error.status === "permanent") { 4788 state.errors.permanent = error.error 4789 } 4790 if (error.status === "temporary") { 4791 state.errors.temporary.push(error) 4792 this.commit('removeTemporaryErrors',error) 4793 window.scrollTo(0,0) 4794 } 4795 }, 4796 4797 async removeTemporaryErrors(state,error) { 4798 setTimeout(() => { 4799 state.errors.temporary = state.errors.temporary.filter(function(item) { 4800 return item.message !== error.message 4801 }) 4802 },3000) 4803 }, 4804 4805 async removePermanentError(state) { 4806 state.errors.permanent = "" 4807 }, 4808 4809 async updateLocalStorage(state,localstorage) { 4810 state.localStorage = localstorage 4811 }, 4812 4813 updateFormKey(state, formkey) { 4814 state.formKey = formkey 4815 } 4816 4817 }, 4818 actions: { 4819 4820 async apiRequest({state, commit},payload = { 4821 commit : '', 4822 loadingCommit : '', 4823 errorMessage : false, 4824 endpoint : ``, 4825 type : 'GET', 4826 header : {}, 4827 data : {},
4828 cartEmptyCheck : false, 4829 reloadLocalStorage : false 4830 }) { 4831 let request = { 4832 url : `${state.restUrl}/${payload.endpoint}`, 4833 contentType: "application/json;charset=utf-8", 4834 dataType: "json" , 4835 type: payload.type, 4836 header : payload.header, 4837 data : payload.data 4838 } 4839 if (payload.loadingCommit) commit(payload.loadingCommit,true) 4840 return new Promise((resolve, reject) => { 4841 try { 4842 $.ajax(request).done((response) => { 4843 if (response && payload.commit) { 4844 commit(payload.commit,response) 4845 } 4846 if (payload.loadingCommit) commit(payload.loadingCommit,false) 4847 4848 // Event auslösen, um den Mini-Cart-Counter zu aktualisieren 4849 if (payload.reloadLocalStorage) { 4850 hyva.setCookie('mage-cache-sessid', '', -1, true); 4851 window.dispatchEvent(new CustomEvent("reload-customer-section-data")); 4852 } 4853 4854 resolve() 4855 }).fail((xhr, textStatus, error) => { 4856 if (payload.errorCommit && payload.errorCommit.commit !== '') { 4857 commit(payload.errorCommit.commit,payload.errorCommit.status) 4858 } 4859 if (payload.loadingCommit) commit(payload.loadingCommit,false) 4860 if (payload.errorMessage === true) { 4861 commit('updateErrors',{ 4862 status: "temporary", 4863 message: xhr.responseJSON?.message 4864 }) 4865 reject(xhr.responseJSON?.message) 4866 } 4867 if (payload.cartEmptyCheck === true) { 4868 commit('cart/updateCartIsEmpty',true) 4869 } 4870 }) 4871 } catch (error) { 4872 console.log(error) 4873 } 4874 }) 4875 }, 4876 4877 4878 4879 async controllerRequest({state, commit},payload = { 4880 commit : '', 4881 loadingCommit : '', 4882 reloadSection : '', 4883 errorMessage : false, 4884 form : [], 4885 addToCart : false, 4886 data : {}, 4887 url : '', 4888 errorComponent : { 4889 commit : '', 4890 active : false 4891 }, 4892 reloadLocalStorage : false 4893 }) { 4894 return new Promise((resolve, reject) => { 4895 try { 4896 4897 let formData = payload.form ? new FormData(payload.form) : payload.data, 4898 request = { 4899 url: payload.url ? payload.url : payload.action + '/response_variant/' + 'false', 4900 data: formData, 4901 type: 'POST', 4902 dataType: 'json', 4903 cache: false, 4904 contentType: false, 4905 processData: false, 4906 } 4907 $.ajax(request).done((response) => { 4908 if(payload.addToCart && response.backUrl) { 4909 commit('cart/updateAtcErrorUrl', response.backUrl) 4910 } else if (payload.addToCart) { 4911 commit('cart/updateAtcErrorUrl', "") 4912 } 4913 if (payload.loadingCommit) commit(payload.loadingCommit,false) 4914 if (payload.errorComponent && payload.errorComponent.active) { 4915 commit(payload.errorComponent.commit,response) 4916 } 4917 4918 // Event auslösen, um den Mini-Cart-Counter zu aktualisieren 4919 if (payload.reloadLocalStorage) { 4920 hyva.setCookie('mage-cache-sessid', '', -1, true); 4921 window.dispatchEvent(new CustomEvent("reload-customer-section-data")); 4922 } 4923 4924 resolve() 4925 }).fail((xhr, textStatus, error) => { 4926 if (payload.errorMessage === true) { 4927 this.$store.commit('updateErrors',{ 4928 status : "temporary", 4929 error : xhr.responseJSON?.message 4930 }) 4931 reject(xhr.responseJSON?.message) 4932 } 4933 }) 4934 } catch (error) { 4935 console.log(error) 4936 } 4937 }) 4938 }, 4939 4940 4941 /** 4942 * @param dispatch 4943 * @param request // {cartId,token} 4944 */ 4945 async getQuote({dispatch},request) { 4946 if (request.token) { 4947 // customer cart 4948 await dispatch('apiRequest', { 4949 commit : 'updateQuote',
4950 endpoint : `carts/mine`, 4951 type : 'GET', 4952 header : {headers: { Authorization: `Bearer ${request.token}`}}, 4953 cartEmptyCheck : true, 4954 },{ root: true }) 4955 } else { 4956 // guest cart 4957 await dispatch('apiRequest', { 4958 commit : `updateQuote`, 4959 endpoint : `guest-carts/${request.cartId}`, 4960 type : 'GET', 4961 cartEmptyCheck : true, 4962 },{ root: true }) 4963 } 4964 }, 4965 4966 4967 /** 4968 * @param dispatch 4969 * @param request // {cartId,token} 4970 */ 4971 async getProduct({dispatch},request) { 4972 await dispatch('apiRequest', { 4973 commit : 'updateProduct', 4974 endpoint : `products/id/${request.id}`, 4975 header : {headers: { Authorization: `Bearer ${request.token}`}}, 4976 type : 'GET', 4977 },{ root: true }) 4978 }, 4979 4980 }, 4981 getters: { 4982 4983 formattedPrice : (state) => (price) => { 4984 let countryCode = locale !== undefined ? locale : 'de_DE', 4985 currencyCode = { 4986 'de-DE' : 'EUR', 4987 'en-GB' : 'GBP', 4988 'es-ES' : 'EUR', 4989 'en-US' : 'USD' 4990 } 4991 4992 if (countryCode.includes('_')) { 4993 countryCode = countryCode.replace('_','-') 4994 } 4995 4996 return new Intl.NumberFormat(countryCode, { style: 'currency', currency: currencyCode[countryCode] }).format(price); 4997 }, 4998 4999 htmldecode : (state) => (input) => { 5000 let doc = new DOMParser().parseFromString(input, "text/html"); 5001 return doc.documentElement.textContent; 5002 }, 5003 5004 } 5005 }); 5006</script>
5006 5007 5008
5009<script type="text/x-template" id="cart-modal"> 5010 <div class="modal block v-slide-cart-modal"> 5011 <div class="v-modal-content" @click.stop> 5012 <div class="v-modal-header" :class="isScrollable ? 'scrollable' : ''"> 5013 <div class="v-modal-headline relative"> 5014 <span class="v-close" x-on:click="closeCartDrawer"> 5015 <i class="fal fa-times"></i> 5016 </span> 5017 <p class="font-recoleta fs-24 lh-30">Dein Warenkorb</p> 5018 </div> 5019 </div> 5020 <div ref="modalCartItems" class="v-modal-cart-items" :class="isScrollable ? 'scrollable' : ''"> 5021 <div class="v-modal-incentives"> 5022 <incentives></incentives> 5023 </div> 5024 5025 <gift-selection v-for="(incentiveSelectionRule,key) of incentiveSelectionRules" 5026 :data="incentiveSelectionRule" :rule="key"></gift-selection> 5027 5028 <cart-items v-if="countStoredArticles > 0"></cart-items> 5029 <div class="algolia-reco-container" v-if="countStoredArticles > 0"> 5030 <algolia-recommendations></algolia-recommendations> 5031 </div> 5032 <gfc-totals></gfc-totals> 5033 </div> 5034 <div class="v-modal-totals" :class="[countStoredArticles > 0 ? '' : 'hidden']"> 5035 <totals :is-scrolled="isScrolled"></totals> 5036 </div> 5037 <div v-if="countStoredArticles === 0" class="flex justify-center items-center flex-col text-center cart-empty-container"> 5038 <span class="font-bold fs-18 lh-26">Dein Warenkorb ist leer</span> 5039 <a class="cart-empty font-bold fs-16 lh-24" :href="bestsellerUrl"> 5040 Jetzt Shoppen </a> 5041 </div> 5042 </div> 5043 </div> 5044</script>
5044 5045 5046<!--COMPONENTS-->
5047<script type="text/x-template" id="incentives"> 5048 <div class="incentives box" :class="mode" v-if="incentives.length > 0 && !cartContainsOnlyExcludedUrls"> 5049 <div class="box-content p-2" v-if="mode === 'all'"> 5050 <div class="progress-container"> 5051 <div class="milestones flex relative mb-1"> 5052 <div class="progressbar"></div> 5053 <div class="progress-fill" :style="{ 'width' : filledprogress + '%' }"></div> 5054 5055 <div class="milestone text-center relative" :class="isIncentiveActive(index)" v-for="(incentive, index) in incentives" :key="incentive.name"> 5056 <div class="milestone-label fs-12 lh-16 mb-0.5"> {{strippedLabel(incentive.name)}}</div> 5057 <div class="circle"> 5058 <svg v-if="incentive.icon.includes('can-icon')" xmlns="http://www.w3.org/2000/svg" width="15" height="21" viewBox="0 0 15 21" fill="none"> 5059 <ellipse cx="7.53222" cy="3.70365" rx="6.53222" ry="2.70365" stroke="white"/> 5060 <path d="M14.0644 17.698C14.0644 19.1912 11.1399 20.4017 7.53222 20.4017C3.92458 20.4017 1 19.1912 1 17.698" stroke="white"/> 5061 <path d="M1 3.86407L1 17.8595" stroke="white"/> 5062 <path d="M14.0645 3.86407L14.0645 17.8595" stroke="white"/> 5063 </svg> 5064 <img v-else-if="incentive.icon.includes('https')" :src="incentive.icon"/> 5065 <i class="fal" :class="incentive.icon" v-else></i> 5066 </div> 5067 <div class="threshold">{{formattedPrice(incentive.price)}}</div> 5068 </div> 5069 </div> 5070 <span class="next-incentive black font fs-12 lh-14" v-if="currentIncentive.priceToNext"><strong>{{formattedPrice(currentIncentive.priceToNext.toFixed(2))}}</strong> bis zum {{strippedLabel(currentIncentive.nextIncentiveName)}}</span> 5071 5072 </div> 5073 </div> 5074 <div class="box-content pb-0" v-if="mode === 'single'"> 5075 <div class="progress"> 5076 <div class="progress-bar" role="progressbar" :style="{ 'width' : progress + '%' }" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div> 5077 </div> 5078 <div class="cart-current-incentive" style="min-height:20px"> 5079 <span class="next-incentives-price" v-if="shippingThreshold"> 5080 <i class="fal" :class="currentIncentive.icon"></i> 5081 </span> 5082 <span class="next-incentive black font fs-14 lh-14" v-if="shippingThreshold" v-html="currentIncentive.nextIncentiveName"></span> 5083 </div> 5084 </div> 5085 </div> 5086</script>
5086 5087
5088<script> 5089 Vue.component("incentives", { 5090 data: function () { 5091 return { 5092 mode: 'all', 5093 incentives: [], 5094 excludedSkus : ["geschenkgutschein","JS11004105","JS11004106","JSB11004156","JS11005239","JSB0047300"], 5095 activeIncentiveNumber: 0 5096 } 5097 }, 5098 created() { 5099 if (typeof this.incentives === 'object') { 5100 let incentiveArray = []; 5101 if (Object.keys(this.incentives).length > 0 ) { 5102 5103 if (this.$store.state.localStorage.customer?.gfc_level !== 'Taste Master') { 5104 incentiveArray.push({ 5105 icon : "fa-truck", 5106 name : "Kostenloser Versand", 5107 price : this.$store.state.cart.shippingThreshold ?? 39 5108 }) 5109 } 5110 5111 const objectArray = Object.entries(this.incentives); 5112 objectArray.forEach(([key, value]) => { 5113 incentiveArray.push(value) 5114 }); 5115 5116 incentiveArray.sort((a, b) => this.currencyToNumber(a.price) > this.currencyToNumber(b.price) ? 1 : -1) 5117 5118 this.incentives = incentiveArray; 5119 } 5120 }else{ 5121 if (this.incentives.length > 0 ) { 5122 if (this.$store.state.localStorage.customer?.gfc_level !== 'Taste Master') { 5123 this.incentives.push({ 5124 icon: "fa-truck", 5125 name: "Kostenloser Versand", 5126 price: this.$store.state.cart.shippingThreshold ?? 39 5127 }) 5128 } 5129 this.incentives = this.incentives.sort((a, b) => this.currencyToNumber(a.price) > this.currencyToNumber(b.price) ? 1 : -1) 5130 } 5131 } 5132 5133 }, 5134 computed: { 5135 subtotalWithoutExcludedSkus : function() { 5136 let cartItems = this.$store.state.cart.storedCart.items ?? [], 5137 subtotal = this.$store.state.cart.storedCart.subtotalAmount ??0 5138 5139 if (cartItems.length > 0) { 5140 5141 5142 let matchingItems = cartItems.filter(item => { 5143 if ( item && item.product_sku && this.excludedSkus.indexOf(item.product_sku) >= 0 ) { 5144 return item 5145 } 5146 }) 5147 5148 if (matchingItems.length > 0) { 5149 for (let item of matchingItems) { 5150 subtotal = subtotal - parseFloat(item.product_price_value * item.qty ?? "0").toFixed(2) 5151 } 5152 } 5153 5154 } 5155 return subtotal 5156 }, 5157 5158 shippingThreshold : function() { 5159 return this.$store.state.cart.shippingThreshold ?? 39 5160 }, 5161 5162 currentIncentive: function () { 5163 let i = 1 5164 let currentSubtotals = this.subtotalWithoutExcludedSkus 5165 let incentiveName = ''; 5166 5167 for (let incentive of this.incentives) { 5168 5169 incentiveName = incentive.name; 5170 5171 if (incentiveName === "Kostenloser Versand") { 5172 incentive.price = this.$store.state.cart.shippingThreshold 5173 } 5174 5175 if (currentSubtotals < parseFloat(incentive.price)) { 5176 return { 5177 priceToNext: parseFloat(incentive.price) - currentSubtotals, 5178 price: incentive.price, 5179 nextIncentiveName: incentiveName === "Kostenloser Versand" ? 5180 this.$i18n.t("incentives.free_shipping", { 5181 price: this.$store.getters['formattedPrice'](parseFloat(incentive.price) - currentSubtotals), 5182 incentive: incentiveName 5183 }) : 5184 this.$i18n.t("incentives.free_spice", { 5185 price: this.$store.getters['formattedPrice'](parseFloat(incentive.price) - currentSubtotals), 5186 incentive: incentiveName 5187 }), 5188 icon: incentive.icon, 5189 name: incentiveName 5190 } 5191 } 5192 i++ 5193 } 5194 return { 5195 priceToNext: '', 5196 price: '', 5197 nextIncentiveName: 'Glückwunsch! Du hast Dir kostenlosen Versand und alle Geschenke gesichert!', 5198 icon: 'fa-gift', 5199 name : incentiveName 5200 } 5201 }, 5202 5203 filledprogress: function () { 5204 if (!this.subtotalWithoutExcludedSkus || this.incentives.length === 0) return 0; 5205 5206 let subtotal = this.subtotalWithoutExcludedSkus; 5207 5208 let iconPositions = [ 5209 {start: 10, end: 24}, 5210 {start: 44, end: 57}, 5211 {start: 78, end: 100} 5212 ]; 5213 5214 if (this.incentives.length === 4) { 5215 iconPositions = [ 5216 {start: 7, end: 19}, 5217 {start: 32, end: 44}, 5218 {start: 57, end: 69}, 5219 {start: 82, end: 100} 5220 ]; 5221 } 5222 // Find the current active incentive based on the subtotal. 5223 let currentIncentiveIndex = -1; 5224 for (let i = 0; i < this.incentives.length; i++) { 5225 if (subtotal < parseFloat(this.incentives[i].price)) { 5226 currentIncentiveIndex = i; 5227 break; 5228 } 5229 } 5230 5231 // Handle the case where the subtotal is past the last incentive. 5232 if (currentIncentiveIndex === -1) { 5233 this.activeIncentiveNumber = this.incentives.length; 5234 return 100; 5235 } 5236 5237 // Set the active incentive number. 5238 this.activeIncentiveNumber = currentIncentiveIndex; 5239 5240 // Calculate progress for the first segment (before the first icon). 5241 if (currentIncentiveIndex === 0) { 5242 const iconStart = iconPositions[0].start; 5243 const incentivePrice = parseFloat(this.incentives[0].price); 5244 return ((subtotal / incentivePrice) * iconStart).toFixed(0); 5245 } 5246 5247 // Calculate progress for any subsequent segment. 5248 const previousIncentivePrice = parseFloat(this.incentives[currentIncentiveIndex - 1].price); 5249 const currentIncentivePrice = parseFloat(this.incentives[currentIncentiveIndex].price); 5250 5251 const priceDifference = currentIncentivePrice - previousIncentivePrice; 5252 5253 const previousIconEnd = iconPositions[currentIncentiveIndex - 1].end; 5254 const currentIconStart = iconPositions[currentIncentiveIndex].start; 5255 const widthDifference = currentIconStart - previousIconEnd; 5256 5257 const priceAboveLastStep = subtotal - previousIncentivePrice; 5258 const widthInStep = (priceAboveLastStep / priceDifference) * widthDifference; 5259 5260 return (widthInStep + previousIconEnd).toFixed(0); 5261 }, 5262 5263 progress : function () { 5264 if (!this.subtotalWithoutExcludedSkus) return 0 5265 5266 let countIncentives = this.incentives.length, 5267 progress = 0 5268 5269 if (this.currentIncentive.priceToNext * countIncentives > 100) { 5270 progress = (((100 - (this.currentIncentive.priceToNext * countIncentives)) / 10) + countIncentives).toFixed(0) 5271 } else { 5272 progress = (100 - (this.currentIncentive.priceToNext * countIncentives)).toFixed(0) 5273 } 5274 return progress 5275 }, 5276 5277 cartContainsOnlyExcludedUrls : function() { 5278 let cartItems = this.$store.state.cart.storedCart.items ?? [] 5279 if(cartItems.length > 0 && this.excludedSkus.length > 0) { 5280 let matchingItems = cartItems.filter(item => { 5281 if ( this.excludedSkus.indexOf(item.product_sku) >= 0 ) { 5282 return item 5283 } 5284 }) 5285 return matchingItems.length === cartItems.length 5286 } 5287 return false 5288 }, 5289 5290 5291 }, 5292 methods: { 5293 isIncentiveActive: function (index) { 5294 return (this.activeIncentiveNumber === index+1 || this.activeIncentiveNumber > index+1) ? 'active' : '' 5295 },
5296 strippedLabel: function (input) { 5297 let regex = /(<([^>]+)>)/ig; 5298 let nohtmlinput = input.replace(regex, ""); 5299 if(nohtmlinput.includes('Gratis Produkt')) { 5300 return "Gratis Produkt"; 5301 } 5302 if(nohtmlinput.includes('gratis Versand')) { 5303 return "Kostenloser Versand"; 5304 } 5305 let regex2 = /bis zum\s+(.*)/; 5306 let match = input.match(regex2) 5307 if (match) { 5308 return match[1]; 5309 } 5310 5311 return nohtmlinput 5312 }, 5313 currencyToNumber : function (currency) { 5314 if (typeof currency === 'string') { 5315 return Number(currency.replace(/[^0-9.-]+/g,"")) 5316 } 5317 }, 5318 formattedPrice : (price) => { 5319 if(price.includes('.')){ 5320 price = price.replace('.', ','); 5321 } 5322 if(price.includes('â¬')){ 5323 return price; 5324 } 5325 return price + 'â¬'; 5326 } 5327 5328 }, 5329 template: "#incentives", 5330 }); 5331</script>
5331 5332
5333<script type="text/x-template" id="gift-selection"> 5334 <div class="select-free-gift-message mb-3" :data-rule-id="rule"> 5335 <div class="image cursor-pointer" @click="toggleIncentivesModal"> 5336 <img src="https://www.justspices.de//media/wysiwyg/relaunch-2024/cart/gift.svg" alt="Justspices" width="110" height="110"> 5337 </div> 5338 <div class="content cursor-pointer" @click="toggleIncentivesModal"> 5339 <div class="product-item-name font-bold fs-18 lh-26">Wähle dein Gratisgeschenk</div> 5340 <div class="row absolute right-1 bottom-1"> 5341 <button class="button-small w-auto green">Auswählen</button> 5342 </div> 5343 </div> 5344 <div class="select-incentive-popup bg-main-creme rounded-25 p-2 fixed z-30" :class="!showPopup ? 'hidden' : ''"> 5345 <i @click="toggleIncentivesModal" class="cursor-pointer fa-light fa-xmark fs-24 absolute right-2 top-2 z-10"></i> 5346 <div class="relative flex flex-wrap"> 5347 <p class="font-recoleta text-l mb-5 w-full">Geschenk auswählen</p> 5348 <div class="items w-full"> 5349 <div class="incentive-selection-item mb-3 last:mb-0 cursor-pointer" v-for="incentiveSelectionProduct in incentiveSelectionProducts" @click="addIncentiveToCart(incentiveSelectionProduct.product_id)"> 5350 <div class="image"> 5351 <img :src="baseUrl + 'media/catalog/product/' + incentiveSelectionProduct.thumbnail" :alt="incentiveSelectionProduct.name" width="110" height="110"> 5352 </div> 5353 <div class="content"> 5354 <p class="font-bold fs-18 lh-26">{{incentiveSelectionProduct.name}}</p> 5355 <div class="row flex justify-between"> 5356 <p class="fs-15 desktop:fs-18 lh-26">0,00 ⬠<span class="old-price font-bold fs-15 desktop:fs-18 lh-26 text-main-red line-through">{{formattedPrice(incentiveSelectionProduct.old_price)}}</span></p> 5357 <button class="button green w-auto p-2">Auswählen</button> 5358 </div> 5359 </div> 5360 </div> 5361 </div> 5362 <button class="button secondary mt-5 close" @click="toggleIncentivesModal">SchlieÃen</button> 5363 </div> 5364 </div> 5365 <div class="incentive-black-overlay" :class="!showPopup ? 'hidden' : 'active'" @click="toggleIncentivesModal"></div> 5366 </div> 5367</script>
5367 5368
5369<script> 5370 Vue.component("gift-selection", { 5371 props : { 5372 data : Object, 5373 rule : String 5374 }, 5375 data: function () { 5376 return { 5377 popupOpen : false, 5378 } 5379 }, 5380 created() { 5381 5382 5383 }, 5384 computed: { 5385 showPopup: function () { 5386 if(this.popupOpen === true) { 5387 return true 5388 } 5389 5390 if(this.$store.state.cart.forceIncentivePopupOpen === true) { 5391 this.$store.commit('cart/updateForceIncentivePopupOpen', false) 5392 return true 5393 } 5394 5395 return false 5396 }, 5397 incentiveSelectionProducts : function () { 5398 let incentiveInformation = this.$store.state.cart.incentiveInformation; 5399 if(incentiveInformation && incentiveInformation.triggered_products[this.rule]) { 5400 return incentiveInformation.triggered_products[this.rule].sku 5401 } 5402 return []; 5403 } 5404 }, 5405 methods: { 5406 formattedPrice : function (price) { 5407 let countryCode = locale !== undefined ? locale : 'de_DE', 5408 currencyCode = { 5409 'de-DE' : 'EUR', 5410 'en-GB' : 'GBP', 5411 'es-ES' : 'EUR', 5412 'en-US' : 'USD' 5413 } 5414 5415 if (countryCode.includes('_')) { 5416 countryCode = countryCode.replace('_','-') 5417 } 5418 5419 return new Intl.NumberFormat(countryCode, { style: 'currency', currency: currencyCode[countryCode] }).format(price); 5420 }, 5421 toggleIncentivesModal: function() { 5422 if(this.popupOpen === true) { 5423 this.popupOpen = false 5424 } else { 5425 this.popupOpen = true 5426 } 5427 }, 5428 addIncentiveToCart : function (productId) { 5429 let currentUrl = window.location.href; 5430 let base64currentUrl = btoa(currentUrl); 5431 5432 let request = { 5433 url: baseUrl + 'amasty_promo/cart/add/', 5434 data: { 5435 "uenc": btoa(currentUrl), 5436 "isPromoItems": true, 5437 "product_id": productId, 5438 "form_key": this.$store.state.formKey 5439 }, 5440 type: 'POST' 5441 }; 5442 5443 $.ajax(request).done((response) => { 5444 this.toggleIncentivesModal() 5445 window.dispatchEvent(new CustomEvent("reload-private-content", { 5446 detail: { 5447 section: ['cart'] 5448 } 5449 })); 5450 }) 5451 }, 5452 5453 }, 5454 template: "#gift-selection", 5455 }); 5456</script>
5456 5457 5458
5459<script type="text/x-template" id="cart-items"> 5460 <div class="box" id="v-cart-items-container"> 5461 <cart-article 5462 v-for="article of storedArticles" 5463 :article="article" 5464 ></cart-article> 5465 </div> 5466</script>
5466 5467 5468<!--COMPONENTS-->
5469<script type="text/x-template" id="cart-article"> 5470 <div ref="cartItemContainers" class="cart-item-container" v-if="!hideForCustomer" :class="isPromo ? 'promo' : ''"> 5471 <article class="cart-items" v-if="!isPromo"> 5472 <div class="cart-item-image-container"> 5473 <div class="cart-item-cell image"> 5474 <a 5475 class="product-item-photo" 5476 :href="article.product_url" 5477 :title="article.product_name" v-if="article.is_visible_in_site_visibility" 5478 > 5479 <img 5480 class="vue-lozad" 5481 width="110" 5482 height="110" 5483 :alt="article.product_name" 5484 :data-src="article.product_image?.src" 5485 /> 5486 </a> 5487 <img 5488 width="110" 5489 height="110" 5490 :alt="article.product_name" 5491 :src="article.product_image?.src" 5492 loading="lazy" 5493 v-else 5494 /> 5495 </div> 5496 </div> 5497 <div class="cart-item-info-container"> 5498 <div class="cart-item-name flex justify-between"> 5499 <div class="product-item-name"> 5500 <a :href="article.product_url" v-if="article.is_visible_in_site_visibility"> 5501 {{$store.getters["htmldecode"](article.product_name)}} 5502 </a> 5503 <span v-else>{{$store.getters["htmldecode"](article.product_name)}}</span> 5504 </div> 5505 <div class="remove-item-from-cart"> 5506 <i class="fa-light fa-trash fs-18 cursor-pointer" @click="removeItemFromCart" :class="{ 'hidden': loading === 'remove-cart' }"></i> 5507 <div class="spinner" :class="{ 'hidden': loading !== 'remove-cart' }" width="16" height="16" style="width: 18px;"> 5508 <svg aria-hidden="true" focusable="false" role="presentation" class="loading-spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg"> 5509 <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle> 5510 </svg> 5511 </div> 5512 </div> 5513 </div> 5514 <div class="cart-item-content" v-show="content !== ''"> 5515 <p class="fs-14 lh-18 underline" @click="showContent = !showContent" v-text="article.product_type == 'configurable' ? 'Zutaten anzeigen' : 'Inhalt anzeigen'"></p> 5516 <span v-if="showContent" class="ingredients-popup"> 5517 <span class="pr-3 block" v-html="content"> 5518 </span> 5519 <div class="ingredient-close-button" @click="showContent = !showContent"> 5520 <i class="fal fa-times"></i> 5521 </div> 5522 </span> 5523 </div> 5524 <div class="flex flex-row justify-between items-center cart-item-infos"> 5525 <div class="cart-item-price-container"> 5526 <div class="price-including-tax text-left" v-if="item && item.is_salable"> 5527 <span class="cart-price"> 5528 <span class="price fs-18 lh-26 font-regular">{{$store.getters["formattedPrice"](item.row_price_incl_tax)}}</span> 5529 <span class="old-price fs-18 lh-26 font-regular" v-if="item.base_price_incl_tax < item.price && !isBundle">{{$store.getters["formattedPrice"](item.price)}}</span> 5530 </span> 5531 </div> 5532 <span class="fs-18 lh-26 font-regular text-left" v-else-if="item && item.is_salable === false"> 5533 Nicht auf Lager </span> 5534 <div class="spinner" v-else width="16" height="16"> 5535 <svg aria-hidden="true" focusable="false" role="presentation" class="loading-spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg"> 5536 <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle> 5537 </svg> 5538 </div>
5539 <span class="fs-12 price-per-weight text-main-grey-dark block" v-if="article.weight"> 5540 <span class="price fs-12 lh-18"> 5541 <span class="fs-12 lh-18">{{formattedWeight(article.weight)}}g</span> 5542 <span class="fs-12 lh-18" v-if="!hideWeightPrice">({{formattedCalculatedWeightPrice(article)}}/kg)</span> 5543 </span> 5544 </span> 5545 <span class="fs-12 price-per-weight text-main-grey-dark block" v-else-if="article.weight_price && !hideWeightPrice"> 5546 <span class="price fs-12 lh-18"> 5547 <span class="fs-12 lh-18">{{formattedWeight(article.weight)}}g</span> 5548 <span class="fs-12 lh-18" v-if="!hideWeightPrice">({{$store.getters["formattedPrice"](article.weight_price)}}/kg)</span> 5549 </span> 5550 </span> 5551 </div> 5552 <div class="cart-item-qty-container"> 5553 <div class="field qty"> 5554 <div class="control qty"> 5555 <button 5556 type="button" 5557 class="minusQty" 5558 @click="updateCartItem(!item.is_salable ? 0 : article.qty-1)" 5559 > 5560 <svg :class="{ 'hidden': loading === 'qty-minus' }" width="11" height="3" viewBox="0 0 11 3" fill="none" xmlns="http://www.w3.org/2000/svg"> 5561 <path d="M10.5625 0.875H0.9375C0.809896 0.875 0.700521 0.920573 0.609375 1.01172C0.536458 1.08464 0.5 1.1849 0.5 1.3125V2.1875C0.5 2.3151 0.536458 2.42448 0.609375 2.51562C0.700521 2.58854 0.809896 2.625 0.9375 2.625H10.5625C10.6901 2.625 10.7904 2.58854 10.8633 2.51562C10.9544 2.42448 11 2.3151 11 2.1875V1.3125C11 1.1849 10.9544 1.08464 10.8633 1.01172C10.7904 0.920573 10.6901 0.875 10.5625 0.875Z" 5562 fill="black"></path> 5563 </svg> 5564 <div class="spinner" :class="{ 'hidden': loading !== 'qty-minus' }" width="16" height="16"> 5565 <svg aria-hidden="true" focusable="false" role="presentation" class="loading-spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg"> 5566 <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle> 5567 </svg> 5568 </div> 5569 </button> 5570 <input 5571 id="" 5572 name="" 5573 type="number" 5574 title="Menge" 5575 class="input-text qty" 5576 :value="article.qty" 5577 v-model="article.qty" 5578 @change="updateCartItem(article.qty)" 5579 :disabled="!item.is_salable" 5580 readonly 5581 > 5582 <button 5583 type="button" 5584 class="addQty" 5585 :class="{ 'loading': loading === 'qty-plus' }" 5586 @click="updateCartItem(article.qty+1)" 5587 :disabled="!item.is_salable" 5588 > 5589 <svg :class="{ 'hidden': loading === 'qty-plus' }
5589" width="11" height="11" viewBox="0 0 11 11" fill="none" xmlns="http://www.w3.org/2000/svg"> 5590 <path d="M10.5625 4.875H6.625V0.9375C6.625 0.809896 6.57943 0.709635 6.48828 0.636719C6.41536 0.545573 6.3151 0.5 6.1875 0.5H5.3125C5.1849 0.5 5.07552 0.545573 4.98438 0.636719C4.91146 0.709635 4.875 0.809896 4.875 0.9375V4.875H0.9375C0.809896 4.875 0.700521 4.92057 0.609375 5.01172C0.536458 5.08464 0.5 5.1849 0.5 5.3125V6.1875C0.5 6.3151 0.536458 6.42448 0.609375 6.51562C0.700521 6.58854 0.809896 6.625 0.9375 6.625H4.875V10.5625C4.875 10.6901 4.91146 10.7995 4.98438 10.8906C5.07552 10.9635 5.1849 11 5.3125 11H6.1875C6.3151 11 6.41536 10.9635 6.48828 10.8906C6.57943 10.7995 6.625 10.6901 6.625 10.5625V6.625H10.5625C10.6901 6.625 10.7904 6.58854 10.8633 6.51562C10.9544 6.42448 11 6.3151 11 6.1875V5.3125C11 5.1849 10.9544 5.08464 10.8633 5.01172C10.7904 4.92057 10.6901 4.875 10.5625 4.875Z" 5591 fill="black"></path> 5592 </svg> 5593 <div class="spinner" :class="{ 'hidden': loading !== 'qty-plus' }" width="16" height="16"> 5594 <svg aria-hidden="true" focusable="false" role="presentation" class="loading-spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg"> 5595 <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle> 5596 </svg> 5597 </div> 5598 </button> 5599 </div> 5600 </div> 5601 </div> 5602 </div> 5603 </div> 5604 </article> 5605 <article class="cart-items promo" v-else> 5606 <div class="cart-item-image-container"> 5607 <div class="cart-item-cell image"> 5608 <a 5609 class="product-item-photo" 5610 :href="article.product_url" 5611 :title="article.product_name" v-if="article.is_visible_in_site_visibility" 5612 > 5613 <img 5614 class="vue-lozad" 5615 width="110" 5616 height="110" 5617 :alt="article.product_name" 5618 :data-src="article.product_image?.src" 5619 /> 5620 </a> 5621 <img 5622 width="110" 5623 height="110" 5624 :alt="article.name" 5625 :src="article.product_image?.src" 5626 loading="lazy" 5627 v-else 5628 /> 5629 </div> 5630 </div> 5631 <div class="cart-item-info-container"> 5632 <div class="cart-item-name"> 5633 <div class="product-item-name"> 5634 <a :href="article.product_url" v-if="article.is_visible_in_site_visibility"> 5635 {{formattedIncentiveProduct($store.getters["htmldecode"](article.product_name))}} 5636 </a> 5637 <span v-else>{{formattedIncentiveProduct($store.getters["htmldecode"](article.product_name))}}</span> 5638 <div class="interferer gift"> 5639 Geschenk </div> 5640 </div> 5641 </div> 5642 <div class="flex flex-row justify-between items-center"> 5643 <div class="cart-item-price-container"> 5644 <span class="cart-price" v-if="item && item.is_salable"> 5645 <span class="price fs-18 lh-26 font-regular">{{$store.getters["formattedPrice"](item.row_price_incl_tax)}}</span> 5646 <span class="old-price fs-18 lh-26 font-regular" v-if="item.base_price_incl_tax < item.price && !isBundle">{{$store.getters["formattedPrice"](item.price)}}</span> 5647 </span> 5648 </div> 5649 <div class="cart-item-action absolute right-1 bottom-0" v-if="this.$store.state.cart.selectedFreeGiftInCart"> 5650 <button class="button-small w-auto secondary px-2" @click="changeIncentive">Tauschen</button> 5651 </div> 5652 </div> 5653 </div> 5654 </article> 5655 </div> 5656</script>
5656 5657
5658<script> 5659 Vue.component("cart-article", { 5660 props : { 5661 article : Object 5662 }, 5663 created() { 5664 if ( this.item.is_salable === false ) { 5665 this.$store.commit('updateErrors',{ 5666 status : "permanent", 5667 error : "Your shopping cart contains unavailable products" 5668 }) 5669 } 5670 }, 5671 mounted() { 5672 lazyLoadInstance.update() 5673 }, 5674 computed: { 5675 5676 quoteItem : function () { 5677 let cartItems = this.$store.state.quote.items ?? [] 5678 let item = cartItems.filter(item => { 5679 return item.item_id === parseInt(this.article.item_id) 5680 }) 5681 5682 return item.length > 0 ? item[0] : {} 5683 }, 5684 5685 isPromo : function () { 5686 return this.article.message === '\nFREE!' 5687 }, 5688 5689 isBundle : function () { 5690 return this.quoteItem?.product_type === 'bundle' || false 5691 }, 5692 5693 item : function () { 5694 return this.quoteItem?.extension_attributes ?? {} 5695 }, 5696 5697 hideForCustomer : function() { 5698 return this.article.hide_for_customer ?? false 5699 }, 5700 5701 hideWeightPrice : function() { 5702 return this.article.hide_weight_price ?? false 5703 }, 5704 5705 content : function() { 5706 return this.item.content ?? '' 5707 } 5708 5709 }, 5710 data: function () { 5711 return { 5712 isActive:false, 5713 customerLoginUrl:'https://www.justspices.de/customer/account/login/referer/aHR0cHM6Ly93d3cuanVzdHNwaWNlcy5kZS9hYm91dA~~/', 5714 placeholder : '', 5715 loading : '', 5716 showContent : false 5717 } 5718 }, 5719 methods: { 5720 changeIncentive : function () { 5721 this.removeItemFromCart().then(() => { 5722 this.$store.commit('cart/updateForceIncentivePopupOpen', true) 5723 }) 5724 }, 5725 formattedIncentiveProduct : function (productName) { 5726 if(productName) { 5727 return productName.replace('FREE - ',''); 5728 } 5729 return productName; 5730 }, 5731 formattedWeight : function(price) { 5732 return parseFloat(price).toFixed(0) ?? 0 5733 }, 5734 5735 formattedCalculatedWeightPrice : function (item) { 5736 let finalPrice = parseFloat(item.product_price_value).toFixed(2) ?? 0; 5737 let weight = item.weight > 0 ? item.weight : 1; 5738 let calculatedPrice = (finalPrice / weight) * 1000; 5739 5740 return this.$store.getters["formattedPrice"](calculatedPrice); 5741 }, 5742 5743 removeItemFromCart : async function() { 5744 this.loading = 'remove-cart'; 5745 await this.$store.dispatch('cart/removeItemFromCart', { 5746 cartId : this.$store.state.cart.cartId, 5747 token : this.$store.state.customer.customerId, 5748 itemId : this.article.item_id 5749 }).then(() => { 5750 this.loading = ''; 5751 lazyLoadInstance.restoreAll() 5752 lazyLoadInstance.update() 5753 }); 5754 }, 5755 5756 updateCartItem : function(qty = this.article.qty) { 5757 if(qty < this.article.qty) { 5758 this.loading = 'qty-minus'; 5759 }else{ 5760 this.loading = 'qty-plus'; 5761 } 5762 if (qty == 0) { 5763 this.$store.dispatch('cart/removeItemFromCart', { 5764 cartId : this.$store.state.cart.cartId, 5765 token : this.$store.state.customer.customerId, 5766 itemId : this.article.item_id 5767 }).then(() => { 5768 this.loading = ''; 5769 lazyLoadInstance.restoreAll() 5770 lazyLoadInstance.update() 5771 }); 5772 } else { 5773 this.$store.dispatch('cart/updateCartItem', { 5774 cartId : this.$store.state.cart.cartId, 5775 token : this.$store.state.customer.customerId, 5776 itemId : this.article.item_id, 5777 data : this.getCartItemPayload(qty) 5778 }).then(() => { 5779 this.loading = ''; 5780 }).catch(error => { 5781 console.error('An error occurred:', error); 5782 this.loading = ''; 5783 }); 5784 } 5785 }, 5786 5787 getCartItemPayload : function(qty) { 5788 return this.$store.getters["cart/getCartItemPayload"](qty,this.$store.state.cart.cartId) 5789 }, 5790 5791 }, 5792 template: "#cart-article", 5793 }); 5794</script>
5794 5795
5796<script> 5797 Vue.component("cart-items", { 5798 data: function () { 5799 return { 5800 5801 } 5802 }, 5803 created() { 5804 if (typeof lazyLoadVueInstance !== "undefined") { 5805 lazyLoadVueInstance.update() 5806 } 5807 }, 5808 computed: { 5809 5810 articles : function () { 5811 return this.$store.state.quote.items ?? [] 5812 }, 5813 5814 storedArticles : function () { 5815 return this.$store.state.cart.storedCart.items ?? [] 5816 } 5817 5818 }, 5819 methods: { 5820 5821 }, 5822 watch : { 5823 articles: function (newValue, oldValue) { 5824 if (typeof lazyLoadVueInstance !== "undefined") { 5825 lazyLoadVueInstance.restoreAll() 5826 lazyLoadVueInstance.update() 5827 } 5828 } 5829 }, 5830 template: "#cart-items", 5831 }); 5832</script>
5832 5833 5834
5835<script type="text/x-template" id="gfc-totals"> 5836 <div class="gfc-totals mb-1 rounded-10 p-1 border-solid black-border mt-3" v-if="cashPoints || levelPoints"> 5837 <p class="fs-14 lh-18 mb-1" v-if="isLoggedIn">Du sicherst Dir:</p> 5838 <p class="fs-14 lh-18 mb-1" v-else>Würdest Du Dir angemeldet sichern:</p> 5839 <div class="points flex"> 5840 <div class="cash-points flex mr-1" v-if="cashPoints"> 5841 <img class="mr-0.5" src="https://www.justspices.de/media/wysiwyg/relaunch-2024/gfc/cash-points.svg" width="16" height="16"> 5842 <p class="fs-14 lh-18"><span class="fs-14 lh-18">{{cashPoints}}</span> <span class="fs-14 lh-18 underline cursor-pointer" onclick="openCashPointsPopup()">Cash Points</span></p> 5843 </div> 5844 <div class="level-points flex" v-if="levelPoints"> 5845 <picture> 5846 5847 <source type="image/webp" 5848 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/gfc/level-points.webp"> 5849 5850 <source type="image/png" 5851 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/gfc/level-points.png"> 5852 5853 <img class="mr-0.5" src="https://www.justspices.de/media/wysiwyg/relaunch-2024/gfc/level-points.png" width="16" height="16"> </picture> 5854 5855 5856 <p class="fs-14 lh-18"><span class="fs-14 lh-18">{{levelPoints}}</span> <span class="fs-14 lh-18 underline cursor-pointer" onclick="openLevelPointsPopup()">Level Points</span></p> 5857 </div> 5858 </div> 5859 </div> 5860 </script>
5860 5861
5862<script> 5863 Vue.component("gfc-totals", { 5864 data: function () { 5865 return { 5866 } 5867 }, 5868 created() { 5869 5870 }, 5871 computed: { 5872 cartGrandTotal : function() { 5873 return this.$store.state.cart.totals.grand_total ?? 0 5874 }, 5875 isLoggedIn : function() { 5876 return this.$store.state.customer.customerIdentifier !== null 5877 }, 5878 cashPoints : function() { 5879 if (this.$store.state.cart.totals?.total_segments) { 5880 let rewardsTotal = this.$store.state.cart.totals.total_segments.filter(e => e && e.code === 'rewards-total' ) 5881 if(rewardsTotal.length > 0 && rewardsTotal[0].value){ 5882 return rewardsTotal.length > 0 ? rewardsTotal[0].value : 0 5883 } 5884 5885 let rewardsPossible = this.$store.state.cart.totals.total_segments.filter(e => e && e.code === 'rewards-possible' ) 5886 if(rewardsPossible.length > 0 && rewardsPossible[0].value){ 5887 return rewardsPossible.length > 0 ? rewardsPossible[0].value : 0 5888 } 5889 } 5890 return null; 5891 }, 5892 5893 levelPoints : function() { 5894 return Math.ceil(this.cartGrandTotal) * 5 5895 }, 5896 5897 }, 5898 template: "#gfc-totals", 5899 }); 5900</script>
5900 5901
5901<script> 5902 function openCashPointsPopup() { 5903 jQuery(`body`).css(`overflow-y`, `hidden`); 5904 jQuery('.cashpoints-popup').show(); 5905 if(jQuery('.gfc-overlay').length === 0){ 5906 jQuery('.page-header .black-overlay').clone().addClass('gfc-overlay').insertAfter(".levelpoints-popup"); 5907 5908 jQuery('.gfc-overlay').click((event) => { 5909 if(event.target.classList.contains('black-overlay') && jQuery('.cashpoints-popup').is(":visible")){ 5910 closeCashPointsPopup(); 5911 } 5912 5913 if(event.target.classList.contains('black-overlay') && jQuery('.levelpoints-popup').is(":visible")){ 5914 closeLevelPointsPopup(); 5915 } 5916 }); 5917 } 5918 jQuery('.gfc-overlay').addClass(`active`); 5919 jQuery('.gfc-overlay').removeClass(`hidden`); 5920 } 5921 function closeCashPointsPopup() { 5922 jQuery(`body`).css(`overflow-y`, ``); 5923 jQuery('.cashpoints-popup').hide(); 5924 jQuery('.gfc-overlay').removeClass(`active`); 5925 jQuery('.gfc-overlay').addClass(`hidden`); 5926 } 5927 5928 function openLevelPointsPopup() { 5929 jQuery(`body`).css(`overflow-y`, `hidden`); 5930 jQuery('.levelpoints-popup').show(); 5931 if(jQuery('.gfc-overlay').length === 0){ 5932 jQuery('.page-header .black-overlay').clone().addClass('gfc-overlay').insertAfter(".levelpoints-popup"); 5933 5934 jQuery('.gfc-overlay').click((event) => { 5935 if(event.target.classList.contains('black-overlay') && jQuery('.cashpoints-popup').is(":visible")){ 5936 closeCashPointsPopup(); 5937 } 5938 5939 if(event.target.classList.contains('black-overlay') && jQuery('.levelpoints-popup').is(":visible")){ 5940 closeLevelPointsPopup(); 5941 } 5942 }); 5943 } 5944 jQuery('.gfc-overlay').addClass(`active`); 5945 jQuery('.gfc-overlay').removeClass(`hidden`); 5946 } 5947 function closeLevelPointsPopup() { 5948 jQuery(`body`).css(`overflow-y`, ``); 5949 jQuery('.levelpoints-popup').hide(); 5950 jQuery('.gfc-overlay').removeClass(`active`); 5951 jQuery('.gfc-overlay').addClass(`hidden`); 5952 } 5953 </script>
5953 5954
5955<script type="text/x-template" id="totals"> 5956 <div class="cart-summary" :class="countArticles === 0 ? 'visibility-hidden' : ''"> 5957 <div class="cart-totals"> 5958 <div class="flex justify-between items-center mb-1"> 5959 <div> 5960 <strong class="fs-18 lh-26">Zwischensumme</strong> 5961 <span class="fs-14 lh-18">inkl. MwSt.</span> 5962 </div> 5963 <div> 5964 <strong class="price fs-18 lh-26">{{formattedSubtotal}}</strong> 5965 </div> 5966 </div> 5967 <div class="flex justify-between items-center"> 5968 <div> 5969 <span class="fs-16 lh-24">Versand</span> <i class="fa-light fa-circle-info cursor-pointer" @click="toggleShippingPopup"></i> 5970 </div> 5971 <div class="info-popup bg-main-white rounded-25 p-3 absolute bottom-5 hidden" ref="shippingInfoPopup"> 5972 <i class="fa-light fa-xmark absolute top-2 right-2 fs-24 cursor-pointer" @click="toggleShippingPopup"></i> 5973 <div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><strong>Die aktuelle Lieferzeit beträgt 3-5 Werktage</strong><br /> 5974<strong>Deutschland:</strong> 5,90â¬, ab 39⬠versandkostenfrei<br /> 5975 <strong>Ãsterreich:</strong> 5,90â¬, ab 49⬠versandkostenfrei<br /> 5976 <strong>Ãbrige EU-Länder, Schweiz und Monaco:</strong> 9,90â¬, ab 49⬠noch 5,90⬠und ab 99⬠versandkostenfrei</div> </div> 5977 <div> 5978 <span class="price fs-14 lh-24 text-right">{{shippingText}}</span> 5979 </div> 5980 </div> 5981 </div> 5982 <div> 5983 <button :disabled="!cartIsValid && cartEmpty" 5984 @click="checkoutLoading = true; trackButton();" 5985 onclick="window.location='https://www.justspices.de/vcheckout/'" 5986 class="button w-full green"> 5987 <span :class="{ 'hidden': checkoutLoading === true }">Sicher zum Checkout</span> 5988 <svg class="spinner" :class="{ 'hidden': checkoutLoading === false }" width="16" height="16" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg"> 5989 <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle> 5990 </svg> 5991 </button> 5992 </div> 5993 </div> 5994</script>
5994 5995
5996<script> 5997 Vue.component("totals", { 5998 data: function () { 5999 return { 6000 amazonConfig : {"region":"de","code":"amazon_payment_v2","vault_code":"amazon_payment_v2_vault","is_method_available":true,"is_pay_only":true,"is_lwa_enabled":false,"is_guest_checkout_enabled":true,"has_restricted_products":false,"is_multicurrency_enabled":false}, 6001 amazonPayButton: null, 6002 amazonConfigStorage: null, 6003 isAmazonEnabled : true, 6004 checkoutLoading : false 6005 } 6006 }, 6007 created() { 6008 6009 }, 6010 computed: { 6011 cartEmpty : function () { 6012 return this.$store.state.cart.cartIsEmpty || !this.$store.state.cart.cartId 6013 }, 6014 6015 countArticles : function () { 6016 return this.$store.state.cart.storedCart.summary_count ?? 0 6017 }, 6018 6019 cartIsValid : function() { 6020 return this.$store.state.errors.permanent === '' 6021 }, 6022 6023 cartSubtotal : function() { 6024 return this.$store.state.cart.storedCart.subtotalAmount ?? 0 6025 }, 6026 cartGrandTotal : function() { 6027 return this.$store.state.cart.totals.grand_total ?? 0 6028 }, 6029 formattedSubtotal : function() { 6030 return this.$store.getters['formattedPrice'](this.cartSubtotal ?? 0) 6031 }, 6032 6033 carrierTitle : function () { 6034 return 0 in this.$store.state.cart.shippingMethod ? 6035 this.$store.state.cart.shippingMethod[0].carrier_title : 6036 '' 6037 }, 6038 6039 carrierCode : function () { 6040 return 0 in this.$store.state.cart.shippingMethod ? 6041 this.$store.state.cart.shippingMethod[0].carrier_code : 6042 '' 6043 }, 6044 6045 methodCode : function () { 6046 return 0 in this.$store.state.cart.shippingMethod ? 6047 this.$store.state.cart.shippingMethod[0].method_code : 6048 '' 6049 }, 6050 6051 shippingCosts : function () { 6052 if(this.$store.state.quote.extension_attributes?.shipping_assignments.length > 0 && this.$store.state.quote.extension_attributes.shipping_assignments[0].shipping.method) { 6053 return this.$store.state.cart.totals.shipping_incl_tax 6054 } 6055 6056 return null; 6057 }, 6058 6059 formattedShippingCosts : function() { 6060 return this.$store.getters['formattedPrice'](this.shippingCosts ?? 0) 6061 }, 6062 6063 activeGiftCards : function() { 6064 if (this.$store.state.cart.totals?.total_segments) { 6065 let giftCards = this.$store.state.cart.totals.total_segments.filter(e => e && e.code === 'giftcardaccount' ) 6066 return giftCards.length > 0 && giftCards[0].extension_attributes ? 6067 JSON.parse(giftCards[0].extension_attributes?.gift_cards) : 6068 [] 6069 } 6070 }, 6071 6072 acceptedDiscountCode : function() { 6073 return this.$store.state.cart.totals.coupon_code ? this.$store.state.cart.totals.coupon_code : '' 6074 }, 6075 6076 acceptedDiscount : function() { 6077 return this.$store.state.cart.totals.discount_amount !== 0 ? this.$store.state.cart.totals.discount_amount : 0 6078 }, 6079 6080 shippingThreshold : function() { 6081 return this.$store.state.cart.shippingThreshold 6082 }, 6083 6084 freeShippingAt : function () { 6085 return this.$i18n.t("incentives.free_shipping_at",{ 6086 price : this.shippingThreshold 6087 }) ?? '' 6088 }, 6089 6090 shippingText : function () { 6091 if(this.shippingCosts !== null) { 6092 return this.formattedShippingCosts 6093 } 6094 return this.cartSubtotal < this.shippingThreshold ? 6095 "Berechnet im Checkout" : 6096 "Gratis" 6097 } 6098 6099 }, 6100 methods : { 6101 toggleShippingPopup: function() { 6102 let popup = this.$refs['shippingInfoPopup']; 6103 popup.classList.toggle('hidden'); 6104 }, 6105 trackButton: function() { 6106 dataLayer.push({ 6107 'event': 'ga4Event', 6108 'eventName': 'dytest', 6109 'eventCategory': 'cartmodal', 6110 'eventAction': 'click', 6111 'eventLabel': 'Go to checkout' 6112 }); 6113 }, 6114 initializeAmazon:async function() { 6115 if(this.cartSubtotal.toFixed(2) > 0){ 6116 const storageKey = 'amzn-checkout-session-config'; 6117 let browserStorage = hyva.getBrowserStorage(); 6118 let amazonConfigStorage = JSON.parse(browserStorage.getItem(storageKey)) 6119 6120 let cartId = this.$store.state.cart.cartId; 6121 if((amazonConfigStorage && amazonConfigStorage.cart_id !== cartId) || !amazonConfigStorage) { 6122 await fetch(`${BASE_URL}amazon_pay/checkout/config?omit_payloads=true`, { 6123 method: 'GET', 6124 headers: { 6125 'Content-Type': 'application/json', 6126 'X-Requested-With': 'XMLHttpRequest' 6127 } 6128 }) 6129 .then(response => response.json()) 6130 .then( 6131 config => { 6132 if (config) { 6133 const newStorageData = { 6134 cart_id: cartId, 6135 config: config 6136 }; 6137 6138 browserStorage.setItem(storageKey, JSON.stringify(newStorageData)); 6139 this.amazonConfigStorage = JSON.parse(browserStorage.getItem(storageKey)) 6140 } 6141 } 6142 ); 6143 } else { 6144 this.amazonConfigStorage = amazonConfigStorage; 6145 } 6146 6147 var customer = this.$store.state.customer, 6148 canCheckoutWithAmazon = false, 6149 isGuestCheckoutEnabled = this.amazonConfig.is_guest_checkout_enabled, 6150 isLwaEnabled = this.amazonConfig.is_lwa_enabled; 6151 6152 // to use Amazon Pay: customer needs to be logged in, or guest checkout allowed, or Amazon Sign-in enabled 6153 if (customer.customerId || isGuestCheckoutEnabled || isLwaEnabled) { 6154 canCheckoutWithAmazon = true; 6155 } 6156 6157 if (this.isAmazonEnabled && canCheckoutWithAmazon && this.amazonConfigStorage) { 6158 this.drawAmazonButton(); 6159 } else { 6160 if ((customer.customerId || isGuestCheckoutEnabled || isLwaEnabled) && this.amazonConfigStorage) { 6161 this.drawAmazonButton(); 6162 } 6163 } 6164 } 6165 }, 6166 drawAmazonButton : function() { 6167 if(this.amazonConfigStorage.config) { 6168 let buttonContainer = $('#PayWithAmazon-Cart'); 6169 6170 let buttonRoot = $('<div></div>'); 6171 buttonContainer.empty().append(buttonRoot); 6172 6173 let buttonConfig = { 6174 merchantId: this.amazonConfigStorage.config.merchant_id, 6175 publicKeyId: this.amazonConfigStorage.config.public_key_id, 6176 ledgerCurrency: this.amazonConfigStorage.config.currency, 6177 sandbox: this.amazonConfigStorage.config.sandbox, 6178 checkoutLanguage: this.amazonConfigStorage.config.language, 6179 productType: 'PayAndShip', 6180 placement: 'Cart', 6181 buttonColor: this.amazonConfigStorage.config.button_color, 6182 createCheckoutSessionConfig: { 6183 payloadJSON: this.amazonConfigStorage.config.checkout_payload, 6184 signature: this.amazonConfigStorage.config.checkout_signature, 6185 publicKeyId: this.amazonConfigStorage.config.public_key_id, 6186 }, 6187 estimatedOrderAmount: this.getEstimatedAmountForAmazon() 6188 } 6189 buttonRoot.empty().attr('id', 'ui-id-2') 6190 this.amazonPayButton = amazon.Pay.renderButton('#ui-id-2', buttonConfig); 6191 $('#minicart-amazon-pay-button').show(); 6192 } 6193 }, 6194 getEstimatedAmountForAmazon: function() { 6195 let subtotal = this.cartSubtotal.toFixed(2); 6196 let currencyCode = this.amazonConfigStorage.config.currency; 6197 6198 if (currencyCode === 'JPY') { 6199 subtotal = parseFloat(subtotal).toFixed(0); 6200 } 6201 6202 return { 6203 amount: subtotal, 6204 currencyCode: currencyCode 6205 }; 6206 }, 6207 getEstimatedShippingAddress : function() { 6208 if (this.$store.state.customer.customerId && this.$store.state.quote.customer?.addresses.length > 0) { 6209 return { 6210 "address" : { 6211 "country_id" : this.$store.state.quote.customer.addresses[0].country_id ?? this.$store.state.customer.default_address.country_id , 6212 "city" : this.$store.state.quote.customer.addresses[0].city ?? null, 6213 "email" : this.$store.state.quote.customer.email ?? null, 6214 "firstname" : this.$store.state.quote.customer.addresses[0].firstname ?? null, 6215 "lastname" : this.$store.state.quote.customer.addresses[0].lastname ?? null, 6216 "postcode" : this.$store.state.quote.customer.addresses[0].postcode ?? null, 6217 "region_id" : this.$store.state.quote.customer.addresses[0].region_id ?? this.$store.state.customer.default_address.region_id , 6218 "street" : [ 6219 this.$store.state.quote.customer.addresses[0].street[0] ?? null, 6220 this.$store.state.quote.customer.addresses[0].street[1] ?? null 6221 ] 6222 } 6223 } 6224 } 6225 6226 let countryId = this.$store.state.customer.default_address.country_id 6227 return { 6228 "address" : { 6229 "country_id" : countryId, 6230 } 6231 } 6232 }, 6233 6234 getShippingInformation : function() { 6235 let countryId = this.$store.state.customer.default_address.country_id 6236 6237 return { 6238 "addressInformation" : { 6239 "shipping_address" : { 6240 "country_id" : countryId 6241 }, 6242 "shipping_method_code" : this.methodCode, 6243 "shipping_carrier_code" : this.carrierCode 6244 } 6245 } 6246 }, 6247 6248 }, 6249 template: "#totals", 6250 }); 6251</script>
6251 6252<style> 6253 #svg-left-arrow-animation { 6254 pointer-events : all 6255 } 6256 6257 .button_left:hover #svg-left-arrow-animation #svg-left-arrow-animation-animation-line, 6258 #svg-left-arrow-animation:hover #svg-left-arrow-animation-animation-line { 6259 animation-name : svg-left-arrow-animation-animation-line_c_o, svg-left-arrow-animation-animation-line_s_do; 6260 animation-duration : .8s; 6261 animation-fill-mode : forwards; 6262 animation-timing-function : linear; 6263 animation-direction : normal; 6264 animation-iteration-count : 1 6265 } 6266 6267 @keyframes svg-left-arrow-animation-animation-line_c_o { 6268 0%, 37.5% { 6269 opacity : 0 6270 } 6271 100%, 62.5% { 6272 opacity : 1 6273 } 6274 } 6275 6276 @keyframes svg-left-arrow-animation-animation-line_s_do { 6277 0%, 25% { 6278 stroke-dashoffset : 380 6279 } 6280 100%, 62.5% { 6281 stroke-dashoffset : 0 6282 } 6283 } 6284 6285 .button_left:hover #svg-left-arrow-animation #svg-left-arrow-animation-arrow, 6286 #svg-left-arrow-animation:hover #svg-left-arrow-animation-arrow { 6287 animation : .8s linear forwards svg-left-arrow-animation-arrow__to 6288 } 6289 6290 @keyframes svg-left-arrow-animation-arrow__to { 6291 0% { 6292 transform : translate(200.75688px, 181.997249px) 6293 } 6294 100%, 37.5% { 6295 transform : translate(100.954757px, 181.997249px) 6296 } 6297 } 6298 6299 .button_right:hover #svg-right-arrow-animation #svg-right-arrow-animation-animation-line, 6300 #svg-right-arrow-animation:hover #svg-right-arrow-animation-animation-line { 6301 animation-name : svg-right-arrow-animation-animation-line_c_o, svg-right-arrow-animation-animation-line_s_do; 6302 animation-duration : .8s; 6303 animation-fill-mode : forwards; 6304 animation-timing-function : linear; 6305 animation-direction : normal; 6306 animation-iteration-count : 1 6307 } 6308 6309 @keyframes svg-right-arrow-animation-animation-line_c_o { 6310 0%, 37.5% { 6311 opacity : 0 6312 } 6313 100%, 62.5% { 6314 opacity : 1 6315 } 6316 } 6317 6318 @keyframes svg-right-arrow-animation-animation-line_s_do { 6319 0%, 25% { 6320 stroke-dashoffset : 380 6321 } 6322 100%, 62.5% { 6323 stroke-dashoffset : 0 6324 } 6325 } 6326 6327 .button_right:hover #svg-right-arrow-animation #svg-right-arrow-animation-arrow, 6328 #svg-right-arrow-animation:hover #svg-right-arrow-animation-arrow { 6329 animation : .8s linear forwards svg-right-arrow-animation-arrow__to 6330 } 6331 6332 @keyframes svg-right-arrow-animation-arrow__to { 6333 0% { 6334 transform : translate(233.234697px, 182.5px) 6335 } 6336 100%, 37.5% { 6337 transform : translate(333.03682px, 182.5px) 6338 } 6339 } 6340</style>
6341<script type="text/x-template" id="algolia-recommendations"> 6342 <div class="recos algolia relative"> 6343 <div class="algolia-sentinel" v-observe-visibility="{ callback: (isVisible, entry) => visibilityChanged(isVisible, entry) }" /> 6344 <div class="algolia recommendations-container" v-if="products.length > 0"> 6345 <p class="font-recoleta mb-1">Im Trend: Schnell sichern</p> 6346 <div class="box-content"> 6347 <div role="region" aria-label="Produkt Empfehlungen Slider"> 6348 <div class="controls"> 6349 <button class="button_left" ref="js-reco-arrow-left" aria-label="Vorheriges Element"> 6350 <svg aria-hidden="true" id="svg-left-arrow-animation" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="-10 -13 460 390" shape-rendering="geometricPrecision" text-rendering="geometricPrecision"> 6351 <line id="svg-left-arrow-animation-animation-line" x1="400" y1="182" x2="20" y2="182" transform="matrix(-.955605 0 0 1.005502 435.573342-1.004115)" opacity="0" fill="none" stroke="#000" stroke-width="60" stroke-linecap="round" stroke-miterlimit="1" stroke-dashoffset="380" stroke-dasharray="380"/><g id="svg-left-arrow-animation-arrow" transform="translate(200.75688,181.997249)"><polyline points="255.6,345 413.1,182.6 255.6,20" transform="scale(-1,1) translate(-334.350006,-182.5)" fill="none" stroke="#000" stroke-width="60" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"/></g> 6352 </svg> 6353 </button> 6354 <button class="button_right" ref="js-reco-arrow-right" aria-label="Nächstes Element"> 6355 <svg aria-hidden="true" id="svg-right-arrow-animation" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="-10 -13 455 390" shape-rendering="geometricPrecision" text-rendering="geometricPrecision"> 6356 <line id="svg-right-arrow-animation-animation-line" x1="400" y1="182" x2="20" y2="182" transform="matrix(.955605 0 0 1.005502 0.8879-1.004115)" opacity="0" fill="none" stroke="#000" stroke-width="60" stroke-linecap="round" stroke-miterlimit="1" stroke-dashoffset="380" stroke-dasharray="380"/><g id="svg-right-arrow-animation-arrow" transform="translate(233.234697,182.5)"><polyline points="255.6,345 413.1,182.6 255.6,20" transform="translate(-334.350006,-182.5)" fill="none" stroke="#000" stroke-width="60" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"/></g> 6357 </svg> 6358 </button> 6359 </div> 6360 <div class="javascript-reco-slider" ref="js-reco-slider" role="group" aria-roledescription="carousel" aria-label="Produktempfehlungen"> 6361 <div v-for="(reco,index) in products" :key="index" v-if="reco.price.EUR.default > 0" class="reco-item" ref="js-reco-slider-children" :aria-label="'Produktempfehlung ' + (index + 1) + ' von ' + products.length"> 6362 <div class="cart-item-image-container"> 6363 <a :href="reco.url" 6364 @click="trackClick(reco.name)"> 6365 <img class="lozad" 6366 :data-src="reco.image_url" 6367 :placeholder="placeholder" /> 6368 </a> 6369 </div> 6370 <div class="cart-item-info-container"> 6371 <span class="block mb-1"> 6372 <a :href="reco.url" class="fs-16 lh-24 font-bold product-name text-left">{{ reco.name }}</a> 6373 </span> 6374 <div class="price-container"> 6375 <div v-if="!isCreateYourOwn(reco)" class="price-container text-left"> 6376 <div class="price-box price-final_price font fs-16 lh-24"> 6377 <template v-if="reco.price.EUR.default_max_formated">
6378 <span>{{reco.price.EUR.default_max_formated}}</span> 6379 <template v-if="reco.type_id === 'bundle'"> 6380 <p class="old-price text-main-red fs-12 lh-16 bundle-old-price" 6381 v-if="reco.price.EUR.regular_price_max != reco.price.EUR.default_max && reco.price.EUR.regular_price_max_formated"> 6382 Summe der <br class="tablet:hidden">Einzelpreise {{ reco.price.EUR.regular_price_max_formated }}<span class="old-price percent-difference"> (-{{ calculatePriceDifference(reco) }}%)</span></p> 6383 </template> 6384 <template v-else> 6385 <s v-if="reco.price.EUR.regular_price_max_formated && reco.type_id != 'giftcard' && reco.price.EUR.regular_price_max_formated">{{reco.price.EUR.regular_price_max_formated}}</s> 6386 </template> 6387 </template> 6388 <template v-else> 6389 <span>{{reco.price.EUR.default_formated}}</span> 6390 <template v-if="reco.type_id === 'bundle'"> 6391 <p class="old-price text-main-red fs-12 lh-16 bundle-old-price" v-if="reco.price.EUR.default_original_formated && reco.price.EUR.default_original_formated">Summe der <br class="tablet:hidden">Einzelpreise {{reco.price.EUR.default_original_formated}}</p> 6392 </template> 6393 <template v-else> 6394 <s v-if="reco.price.EUR.default_original_formated && reco.type_id != 'giftcard' && reco.price.EUR.default_original_formated">{{reco.price.EUR.default_original_formated}}</s> 6395 </template> 6396 </template> 6397 </div> 6398 <div class="weight-price"> 6399 <span v-if="reco.weight && reco.weight > 0" class="fs-12 price-per-weight text-main-grey-dark block">{{reco.weight}}g ({{formattedCalculatedWeightPrice(reco)}}/kg)</span> 6400 <span v-else-if="reco.weight_price" class="fs-12 price-per-weight text-main-grey-dark block">{{$store.getters["formattedPrice"](reco.weight_price)}}/kg</span> 6401 </div> 6402 </div> 6403 <div class="add-to-cart-button-container"> 6404 <reco-add-to-cart 6405 :type="reco.type_id" 6406 :url="reco.url" 6407 :sku="reco.sku" 6408 :id="reco.objectID" 6409 v-if="reco && reco.is_saleable === 1 && !isCustomizable(reco)" 6410 ></reco-add-to-cart> 6411 <a :href="reco.url" 6412 @click="trackClick(reco.name)"> 6413 <div v-if="reco && isCustomizable(reco)" class="quick-buy quick-buy flex items-center justify-center"> 6414 <i class="fa-light fa-magnifying-glass fs-24 lh-28"></i> 6415 </div> 6416 </a> 6417 </div> 6418 </div> 6419 </div> 6420 </div> 6421 </div> 6422 </div> 6423 </div> 6424 </div> 6425 </div> 6426</script>
6426 6427 6428
6429<script> 6430 Vue.component("algolia-recommendations", { 6431 data: function () { 6432 return { 6433 placeholder : '', 6434 generatedSlider : false, 6435 recommendations : null 6436 } 6437 }, 6438 updated() { 6439 if(this.generatedSlider === false){ 6440 window.dispatchEvent(new Event('algolia-reco-products-changed')); 6441 lazyLoadInstance.update() 6442 this.slideCarousel() 6443 } 6444 }, 6445 computed: { 6446 6447 products : function() { 6448 if(this.recommendations && this.recommendations.length > 0) { 6449 window.dispatchEvent(new Event('algolia-reco-products-changed')); 6450 } 6451 return this.recommendations ?? [] 6452 }, 6453 6454 quoteIds : function() { 6455 let ids = []; 6456 let cartItems = this.$store.state.quote.items ?? [] 6457 for (let item of cartItems) { 6458 ids.push(item.extension_attributes.js_product_id); 6459 6460 } 6461 6462 return ids; 6463 }, 6464 6465 visibleQuoteIds : function() { 6466 let ids = []; 6467 let cartItems = this.$store.state.quote.items ?? [] 6468 for (let item of cartItems) { 6469 if(item.extension_attributes.is_visible_in_site_visibility === true) { 6470 ids.push(item.extension_attributes.js_product_id); 6471 } 6472 } 6473 6474 return ids; 6475 }, 6476 6477 }, 6478 methods : { 6479 calculatePriceDifference(reco) { 6480 const defaultPrice = parseFloat(reco.price.EUR.default_max) || 0; 6481 const regularPrice = parseFloat(reco.price.EUR.regular_price_max) || 0; 6482 6483 if (regularPrice === 0) return 0; 6484 const difference = ((regularPrice - defaultPrice) / regularPrice) * 100; 6485 return Math.ceil(difference); 6486 }, 6487 isCustomizable: function(item) { 6488 if(item.name.includes('personalisierbar') 6489 || item.name.includes('Personalisierbar') 6490 || item.sku === 'JSB11004156' 6491 || item.type_id === 'giftcard' 6492 || (Array.isArray(item.sku) && item.sku.some(element => element.includes("CYOG"))) 6493 || (Array.isArray(item.sku) && item.sku.some(element => element.includes("CYOB")))){ 6494 return true; 6495 } 6496 return false; 6497 }, 6498 isCreateYourOwn: function(item) { 6499 if((Array.isArray(item.sku) && item.sku.some(element => element.includes("CYOG"))) 6500 || (Array.isArray(item.sku) && item.sku.some(element => element.includes("CYOB")))){ 6501 return true; 6502 } 6503 return false; 6504 }, 6505 formattedCalculatedWeightPrice : function (item) { 6506 let finalPrice = 0; 6507 let weight = item.weight; 6508 if(item.type_id === 'bundle') { 6509 if(item.price.EUR.default_max) { 6510 finalPrice = item.price.EUR.default_max; 6511 }else { 6512 finalPrice = item.price.EUR.default 6513 } 6514 }else { 6515 finalPrice = item.price.EUR.default 6516 } 6517 6518 let calculatedPrice = (finalPrice / weight) * 1000; 6519 6520 return this.$store.getters["formattedPrice"](calculatedPrice); 6521 }, 6522 formattedWeight : function(price) { 6523 return parseFloat(price).toFixed(0) ?? 0 6524 }, 6525 visibilityChanged(isVisible) { 6526 if(isVisible && this.recommendations === null){ 6527 this.getRecommendations(); 6528 } 6529 }, 6530 slideCarousel() { 6531 let recoContainer = this.$refs["js-reco-slider"]; 6532 if (recoContainer) { 6533 let carouselItems = this.$refs["js-reco-slider-children"]; 6534 if (carouselItems.length > 0) { 6535 const buttonLeft = this.$refs['js-reco-arrow-left']; 6536 const buttonRight = this.$refs['js-reco-arrow-right']; 6537 const itemWidth = carouselItems[0].offsetWidth; 6538 const containerWidth = recoContainer.offsetWidth; 6539 const maxScroll = recoContainer.scrollWidth - containerWidth; 6540 let currentPosition = 0; 6541 6542 buttonLeft.addEventListener('click', () => { 6543 if (currentPosition > 0) { 6544 currentPosition -= itemWidth; 6545 currentPosition = Math.max(currentPosition, 0); // Ensure position is not negative 6546 this.scrollToPosition(currentPosition); 6547 updateButtonVisibility(); 6548 } 6549 }); 6550 6551 buttonRight.addEventListener('click', () => { 6552 if (currentPosition < maxScroll) { 6553 currentPosition += itemWidth; 6554 currentPosition = Math.min(currentPosition, maxScroll); // Ensure position does not exceed maxScroll 6555 this.scrollToPosition(currentPosition); 6556 updateButtonVisibility(); 6557 } 6558 }); 6559 6560 function updateButtonVisibility() { 6561 if (currentPosition === 0) { 6562 buttonLeft.style.display = 'none'; 6563 } else { 6564 buttonLeft.style.display = 'block'; 6565 } 6566 6567 if (currentPosition >= maxScroll) { 6568 buttonRight.style.display = 'none'; 6569 } else { 6570 buttonRight.style.display = 'block'; 6571 } 6572 } 6573 6574 this.generatedSlider = true; 6575 updateButtonVisibility(); // Initial button visibility 6576 } 6577 } 6578 }, 6579 scrollToPosition: function(position) { 6580 let recoContainer = this.$refs["js-reco-slider"] 6581 recoContainer.scrollTo({ 6582 left: position, 6583 behavior: 'smooth' 6584 }); 6585 }, 6586 trackClick: function(name){ 6587 window.dataLayer = window.dataLayer || []; 6588 dataLayer.push({ 6589 'event': 'ga4Event', 6590 'eventName': 'recommendation', 6591 'eventAction': 'click', 6592 'eventLabel': name 6593 }); 6594 }, 6595 6596 getRecommendations : async function () { 6597 this.recommendations = []; 6598 const ajaxUrl = "https://www.justspices.de/jsalgolia/reco/get"; 6599 $.ajax({ 6600 url: ajaxUrl, 6601 data: { 6602 "form_key" : hyva.getCookie('form_key'), 6603 "cart_ids" : this.visibleQuoteIds, 6604 "reco_model" : 'trending-items', 6605 }, 6606 type: "GET" 6607 }).done((data) => { 6608 this.recommendations = data;
6609 lazyLoadInstance.update() 6610 }); 6611 }, 6612 6613 sortByKey : function (array, key) { 6614 return array.sort(function(a, b) { 6615 var x = a[key]; var y = b[key]; 6616 return ((x < y) ? 1 : ((x > y) ? -1 : 0)); 6617 }); 6618 }, 6619 6620 }, 6621 template: "#algolia-recommendations", 6622 }); 6623</script>
6623 6624
6625<script type="text/x-template" id="reco-add-to-cart"> 6626 <div class="actions-primary" v-if="type === 'giftcard'"> 6627 <div 6628 @click="window.location=url" 6629 class="quick-buy"> 6630 <i class="fal fa-bag-shopping"></i> 6631 </div> 6632 </div> 6633 <div class="action-btn add-to-cart" title="In den Warenkorb" v-else> 6634 <form 6635 class="reco" 6636 data-role="tocart-form" 6637 method="post" 6638 :action="$store.getters['cart/createAddToCartUrl'](id)" 6639 ref="form" 6640 > 6641 <input type="hidden" name="product" :value="id"> 6642 <input type="hidden" name="uenc" :value="$store.getters['cart/mageEncode']($store.getters['cart/createAddToCartUrl'](id))"> 6643 <input type="hidden" name="currency" class="curreny-symbol" value="EUR"> 6644 <input name="form_key" type="hidden" :value="$store.state.formKey"> 6645 <button class="quick action tocart primary"> 6646 <i class="fa-light fa-bag-shopping"></i> 6647 <div class="spinner hidden"> 6648 <svg aria-hidden="true" focusable="false" role="presentation" class="loading-spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg"> 6649 <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke:white;"></circle> 6650 </svg> 6651 </div> 6652 </button> 6653 </form> 6654 </div> 6655</script>
6655 6656 6657
6658<script> 6659 Vue.component("reco-add-to-cart", { 6660 props: { 6661 type: String, 6662 url: String, 6663 sku: String, 6664 id : Number, 6665 }, 6666 data: function () { 6667 return { 6668 status : 'INACTIVE' 6669 } 6670 }, 6671 mounted() { 6672 if(jQuery('[data-role=tocart-form]').length > 0){ 6673 jQuery('[data-role=tocart-form]').each(function(index) { 6674 bindSubmitAndButton(jQuery(this)); 6675 }); 6676 } 6677 }, 6678 computed: { 6679 buttonAnimationClass : function() { 6680 let url = this.splitUrl(this.url) 6681 // if (this.$store.state.cart.atcErrorUrl.indexOf(url) !== -1) { 6682 // this.status = 'ERROR' 6683 // return 'fal fa-times' 6684 // } 6685 if (this.status === 'SUCCESS') { 6686 return 'fal fa-check' 6687 } 6688 if (this.status === 'LOADING') { 6689 return 'hidden' 6690 } 6691 6692 this.status = 'INACTIVE' 6693 return 'fal fa-bag-shopping' 6694 }, 6695 6696 6697 6698 }, 6699 methods : { 6700 6701 splitUrl : function(url) { 6702 const lastIndex = url.lastIndexOf('/'); 6703 return url.slice(lastIndex + 1); 6704 }, 6705 6706 }, 6707 template: "#reco-add-to-cart", 6708 }); 6709</script>
6709 6710 6711
6712<script> 6713 jQuery(document).ready(function ($) { 6714 Vue.component("cart-modal", { 6715 props: { 6716 visible : Boolean, 6717 besteller : String 6718 }, 6719 data: function () { 6720 return { 6721 storage : {}, 6722 isScrolled: false, 6723 lastScrollTop: 0, 6724 } 6725 }, 6726 computed: { 6727 incentiveSelectionRules : function () { 6728 let incentiveInformation = this.$store.state.cart.incentiveInformation; 6729 if(incentiveInformation && incentiveInformation.triggered_products && Object.keys(incentiveInformation.triggered_products).length > 0) { 6730 this.$store.commit('cart/updateSelectedFreeGiftInCart', true) 6731 return incentiveInformation.triggered_products 6732 } 6733 return []; 6734 }, 6735 6736 isScrollable: function() { 6737 return this.countStoredArticles >= 2 || window.innerHeight < 800 6738 }, 6739 6740 countArticles : function () { 6741 return this.$store.state.quote.items ? this.$store.state.quote.items.length : 0 6742 }, 6743 6744 countStoredArticles : function () { 6745 return this.$store.state.cart.storedCart.summary_count ?? 0 6746 }, 6747 6748 shippingInformationFilled : function() { 6749 return Object.entries(this.$store.state.cart.shippingInformation).length > 0 6750 }, 6751 6752 bestsellerUrl : function() { 6753 return this.besteller 6754 }, 6755 6756 }, 6757 template: "#cart-modal", 6758 }); 6759 }) 6760 6761</script>
6761 6762 6763<style> 6764 .slide-fade-enter-active { 6765 transition: all 0.3s ease-out; 6766 } 6767 6768 .slide-fade-leave-active { 6769 transition: all 0.3s ease-out; 6770 } 6771 6772 .slide-fade-enter-from, 6773 .slide-fade-leave-to { 6774 transform: translateY(100%); 6775 opacity: 0; 6776 } 6777</style> 6778 6779 6780
6781<script> 6782 6783 const lazyLoadVueInstance = new LazyLoad({ 6784 elements_selector: ".vue-lozad", 6785 }); 6786 6787 jQuery(document).ready(function ($) { 6788 6789 const messages = { 6790 de_DE : { 6791 incentives: { 6792 free_shipping: '<strong>{price}</strong> bis zum gratis Versand', 6793 free_spice: '<span class="price">{price}</span> bis zum {incentive}', 6794 free_achived_incentive: '{incentive} erreicht', 6795 free_achived_shipping_incentive: '{incentive} erreicht', 6796 free_shipping_at : 'kostenlos ab {price}â¬' 6797 }, 6798 loyalty : { 6799 rank : 'Du bist Rang {rank}' 6800 } 6801 }, 6802 en_GB : { 6803 incentives: { 6804 free_shipping: '$6.99 shipping <strong>OR</strong> spend {price} more to get <strong>Free Shipping</strong>', 6805 free_spice: '<span class="price">{price}</span> until you get a <b>{incentive}</b>', 6806 free_achived_incentive: '{incentive} achieved', 6807 free_achived_shipping_incentive: '{incentive} achieved!', 6808 free_shipping_at : 'free of charge above £{price}' 6809 }, 6810 loyalty : { 6811 rank : 'You are {rank} Tier' 6812 } 6813 }, 6814 en_US : { 6815 incentives: { 6816 free_shipping: '$6.99 shipping <strong>OR</strong> spend {price} more to get <strong>Free Shipping</strong>', 6817 free_spice: '<span class="price">{price}</span> until you get a <b>{incentive}</b>', 6818 free_achived_incentive: '{incentive} achieved', 6819 free_achived_shipping_incentive: '{incentive} achieved!', 6820 free_shipping_at : 'free of charge above £{price}' 6821 }, 6822 loyalty : { 6823 rank : 'You are {rank} Tier' 6824 } 6825 }, 6826 es_ES : { 6827 incentives: { 6828 free_shipping: '{price} hasta el envÃo gratuito', 6829 free_spice: 'Faltan <span class="price">{price}</span> para un {incentive}', 6830 free_achived_incentive: '{incentive}', 6831 free_achived_shipping_incentive: '¡Tienes gastos de envÃo gratis!', 6832 free_shipping_at : 'gratuito desde {price} â¬' 6833 }, 6834 } 6835 } 6836 6837 const i18n = new VueI18n({ 6838 locale: locale, // set locale 6839 messages, // set locale messages 6840 }) 6841 6842 minicartVue = new Vue({ 6843 i18n, 6844 el: '#slide-in-cart', 6845 store : store, 6846 data() { 6847 return { 6848 visible : false, 6849 mouseIsOver : false, 6850 loaded : true, 6851 storage : JSON.parse(window.localStorage.getItem('mage-cache-storage')), 6852 token : '', 6853 form_key : '', 6854 cart_id : '', 6855 config : { 6856 baseUrl : "https://www.justspices.de/", 6857 locale : '', 6858 shippingThreshold : "39" 6859 }, 6860 cart : { 6861 qty : 0, 6862 subtotals : 0, 6863 subtotalAmount : 0, 6864 items : [], 6865 shippingCosts : '' 6866 }, 6867 bestsellerUrl : "https://www.justspices.de/bestseller-gewuerze.html", 6868 cartOpen : false 6869 } 6870 }, 6871 created() { 6872 window.addEventListener('cart-drawer-toggled', (event) => { 6873 this.cartOpen = event.detail.isOpen 6874 if( this.cartOpen ) { 6875 this.storage = JSON.parse(window.localStorage.getItem('mage-cache-storage')) 6876 if(this.storage) { 6877 this.$store.commit('cart/updateCartId', this.storage.cart?.cartId ?? null) 6878 this.$store.commit('cart/updateStoredCart', this.storage.cart ?? {}) 6879 6880 this.form_key = hyva.getCookie('form_key') 6881 this.$store.commit('customer/updateCustomerIdentifier',this.storage?.customer?.customerId ?? null) 6882 this.$store.commit('customer/updateCustomerId',this.storage?.customer?.
6882signin_token ?? null) 6883 if (this.storage.cart && this.storage.cart.cartId !== '') { 6884 this.loadQuote() 6885 } 6886 6887 this.viewCartDataLayer() 6888 this.loadPromoInformation() 6889 } 6890 } 6891 }) 6892 6893 window.addEventListener('private-content-loaded', (event) => { 6894 if( this.cartOpen ) { 6895 this.storage = event.detail !== null ? event.detail.data : JSON.parse(window.localStorage.getItem('mage-cache-storage')) 6896 this.$store.commit('cart/updateCartId', this.storage.cart?.cartId ?? null) 6897 this.$store.commit('cart/updateStoredCart', this.storage.cart) 6898 6899 this.form_key = hyva.getCookie('form_key') 6900 this.$store.commit('customer/updateCustomerIdentifier',this.storage?.customer?.customerId ?? null) 6901 this.$store.commit('customer/updateCustomerId',this.storage?.customer?.signin_token ?? null) 6902 6903 if (this.storage?.cart) { 6904 this.loadQuote() 6905 } 6906 6907 this.viewCartDataLayer() 6908 this.loadPromoInformation() 6909 } 6910 }) 6911 }, 6912 computed: { 6913 6914 6915 }, 6916 methods : { 6917 loadPromoInformation : function () { 6918 let currentUrl = window.location.href; 6919 let base64currentUrl = btoa(currentUrl); 6920 6921 let request = { 6922 url: this.config.baseUrl + 'amasty_promo/popup/reload/', 6923 data: { 6924 "uenc": btoa(currentUrl) 6925 }, 6926 type: 'GET' 6927 }; 6928 6929 $.ajax(request).done((response) => { 6930 this.$store.commit('cart/updateIncentiveInformation', response.products) 6931 }) 6932 }, 6933 loadQuote : async function() { 6934 let formKey = hyva.getCookie('form_key') 6935 if(formKey) { 6936 this.$store.state.formKey = formKey 6937 } 6938 6939 await this.$store.dispatch('getQuote', { 6940 cartId : this.$store.state.cart.cartId, 6941 token : this.$store.state.customer.customerId 6942 }) 6943 6944 await this.$store.dispatch('cart/getTotals', { 6945 cartId : this.$store.state.cart.cartId, 6946 token : this.$store.state.customer.customerId 6947 }) 6948 }, 6949 6950 viewCartDataLayer : async function() { 6951 window.dataLayer = window.dataLayer || []; 6952 let products = []; 6953 this.storage.cart?.items.forEach(item => { 6954 products.push({ 6955 'name': item.product_name, 6956 'id': item.product_sku, 6957 'price': item.product_price_value, 6958 'brand': 'Just Spices', 6959 'quantity': item.qty 6960 }); 6961 }); 6962 6963 dataLayer.push({ 6964 "pageType": "basket", 6965 'event': 'view_cart', 6966 'eventAction': 'Checkout', 6967 'eventLabel': 'Step 1', 6968 'ecommerce': { 6969 'checkout': { 6970 'actionField': {'step': 1}, 6971 'totals': this.storage.cart.subtotalAmount, 6972 'num_items': this.storage.cart.qty, 6973 'products': products 6974 } 6975 } 6976 }); 6977 }, 6978 6979 getEstimatedShippingAddress : function() { 6980 if (this.$store.state.customer.customerId && this.$store.state.quote.customer?.addresses.length > 0) { 6981 return { 6982 "address" : { 6983 "country_id" : this.$store.state.quote.customer.addresses[0].country_id ?? this.$store.state.customer.default_address.country_id , 6984 "city" : this.$store.state.quote.customer.addresses[0].city ?? null, 6985 "email" : this.$store.state.quote.customer.email ?? null, 6986 "firstname" : this.$store.state.quote.customer.addresses[0].firstname ?? null, 6987 "lastname" : this.$store.state.quote.customer.addresses[0].lastname ?? null, 6988 "postcode" : this.$store.state.quote.customer.addresses[0].postcode ?? null, 6989 "region_id" : this.$store.state.quote.customer.addresses[0].region_id ?? this.$store.state.customer.default_address.region_id , 6990 "street" : [ 6991 this.$store.state.quote.customer.addresses[0].street[0] ?? null, 6992 this.$store.state.quote.customer.addresses[0].street[1] ?? null 6993 ] 6994 } 6995 } 6996 } 6997 6998 let countryId = this.$store.state.customer.default_address.country_id 6999 return { 7000 "address" : { 7001 "country_id" : countryId, 7002 } 7003 } 7004 }, 7005 7006 trackClick: function() { 7007 dataLayer.push({ 7008 'event': 'ga4Event', 7009 'eventName': 'dytest', 7010 'eventCategory': 'cartmodal', 7011 'eventAction': 'click', 7012 'eventLabel': 'Open' 7013 }); 7014 }, 7015 7016 setVisible : function () { 7017 setTimeout(() => { 7018 if (this.visible) { 7019 this.visible = false 7020 } 7021 }, 300) 7022 }, 7023 7024 } 7025 7026 }); 7027 }) 7028</script>
7028 7029 </div> 7030 </div> 7031 </div> 7032 7033</section> 7034 7035 <!--Authentication Pop-Up--> 7036 7037 <!-- Customer Account Drawer --> 7038
7038<script> 7039 'use strict'; 7040 7041 const initCustomerAccountMenuMobile = () => { 7042 return { 7043 mobilePanelActiveId: null, 7044 open: false, 7045 openMenu() { 7046 this.open = true 7047 document.body.style.overflow = 'hidden'; 7048 }, 7049 closeMenu() { 7050 document.body.style.overflow = ''; 7051 this.open = false 7052 this.mobilePanelActiveId = null 7053 } 7054 } 7055 } 7056</script>
7056 7057<nav 7058 x-data="initCustomerAccountMenuMobile()" 7059 @keydown.window.escape="closeMenu()" 7060 class="z-20 laptop:hidden toggle-nav" 7061 aria-label="Customer Account navigation" 7062 role="navigation" 7063 @toggle-customer-nav.window="openMenu($event)" 7064> 7065 <div 7066 x-ref="mobileCustomerAccountLinks" 7067 class="nav-links invisible" 7068 :class="{ 'open': open, 'invisible': !open }" 7069 :aria-hidden="open ? 'false' : 'true'" 7070 role="dialog" 7071 aria-modal="true" 7072 @click="closeMenu()" 7073 > 7074 <div class="navigation-wrapper customer-account"> 7075 <div class="close-button" @click="closeMenu()"> 7076 <i class="fal fa-times"></i> 7077 </div> 7078 <div class="navigation-container" @click.stop> 7079 <ul class="nav items"> 7080<li class="nav item "> 7081 <i class="fal fa-hat-chef"></i> 7082 <a data-role="collapsible" href="https://www.justspices.de/customer/account/">Good Food Club</a> 7083 </li> 7084 7085<li class="nav item "> 7086 <i class="fal fa-box-heart"></i> 7087 <a data-role="collapsible" href="https://www.justspices.de/sales/order/history/">Deine Bestellungen</a> 7088 </li> 7089 7090<li class="nav item "> 7091 <i class="fal fa-star"></i> 7092 <a data-role="collapsible" href="https://www.justspices.de/customeraccountproductrating/index/">Produktbewertungen</a> 7093 </li> 7094 7095<li class="nav item "> 7096 <i class="fal fa-user-edit"></i> 7097 <a data-role="collapsible" href="https://www.justspices.de/customer/account/edit/">Kontoinformation</a> 7098 </li> 7099 7100<li class="nav item "> 7101 <i class="fal fa-map-marker-alt"></i> 7102 <a data-role="collapsible" href="https://www.justspices.de/customer/address/">Deine Adressen</a> 7103 </li> 7104 7105<li class="nav item "> 7106 <i class="fal fa-heart"></i> 7107 <a data-role="collapsible" href="https://www.justspices.de/recipes/account/savedrecipes/">Gespeicherte Rezepte</a> 7108 </li> 7109 7110<li class="nav item logout"> 7111 <a class="button secondary" href="https://www.justspices.de/customer/account/logout/">Abmelden</a> 7112 </li> 7113</ul> </div> 7114 </div> 7115 </div> 7116</nav> 7117</div> 7118<div class="black-overlay hidden"></div> 7119</header><div id="js_autocoupon" class="jsmodal"> 7120 <div class="modal-body-content" data-role="content"> 7121 </div> 7122</div> 7123 7124
7124<script type="text/javascript"> 7125 const autoCouponCookieValue = hyva.getCookie('AutoCoupon'); 7126 7127 if (typeof autoCouponCookieValue !== "undefined" && autoCouponCookieValue !== null) { 7128 const message = autoCouponCookieValue === 'success' 7129 ? 'Der Gutschein wurde Dir direkt in Deinen Warenkorb zugefügt. Wir wünschen Dir viel Spaà beim Shoppen!' 7130 : 'Der Gutschein ist leider abgelaufen'; 7131 7132 hyva.removeCookie('AutoCoupon'); 7133 7134 var popup = jQuery('#js_autocoupon .modal-body-content'); 7135 popup.html(message); 7136 7137 jQuery('#js_autocoupon').show(); 7138 jQuery('#js_autocoupon').addClass('show'); 7139 setTimeout(function () { 7140 jQuery('#js_autocoupon').hide(); 7141 jQuery('#js_autocoupon').removeClass('show'); 7142 }, 5000); 7143 } 7144 </script>
7144 7145<link rel="stylesheet" type="text/css" media="all" href="https://www.justspices.de/static/version1790005904/frontend/Justspices/relaunch/de_DE/JustSpices_Cms/css/modals.css"> 7146<main id="maincontent" class="page-main-full-width"><div id="contentarea" tabindex="-1"></div> 7147<div class="page messages">
7147<script> 7148 function initMessages() { 7149 "use strict"; 7150 return { 7151 messages: window.mageMessages || [], 7152 isEmpty() { 7153 return this.messages.reduce( 7154 function (isEmpty, message) { 7155 return isEmpty && message === undefined 7156 }, true 7157 ) 7158 }, 7159 removeMessage(messageIndex, interacted = false) { 7160 if(interacted) { 7161 let messageType = this.messages[messageIndex].type; 7162 window.hyva.setCookie('closedMessage_' + messageType, true); 7163 } 7164 this.messages[messageIndex] = undefined; 7165 }, 7166 addMessages(messages, hideAfter) { 7167 messages.map((message) => { 7168 this.messages = this.messages.concat(message); 7169 if (hideAfter === undefined && message.type === 'success' && window.defaultSuccessMessageTimeout) { 7170 hideAfter = window.defaultSuccessMessageTimeout; 7171 } 7172 if (hideAfter) { 7173 this.setHideTimeOut(this.messages.length -1, hideAfter); 7174 } 7175 }); 7176 }, 7177 setHideTimeOut(messageIndex, hideAfter) { 7178 setTimeout((messageIndex) => { 7179 this.removeMessage(messageIndex); 7180 }, hideAfter, messageIndex); 7181 }, 7182 eventListeners: { 7183 ['@messages-loaded.window'](event) { 7184 this.addMessages(event.detail.messages, event.detail.hideAfter) 7185 }, 7186 ['@private-content-loaded.window'](event) { 7187 const data = event.detail.data; 7188 if ( 7189 data.messages && 7190 data.messages.messages && 7191 data.messages.messages.length 7192 ) { 7193 this.addMessages(data.messages.messages); 7194 } 7195 }, 7196 ['@clear-messages.window']() { 7197 this.messages = []; 7198 } 7199 } 7200 } 7201 } 7202</script>
7202 7203<section id="messages" 7204 x-data="initMessages()" 7205 x-bind="eventListeners" 7206 aria-live="assertive" 7207 role="alert" 7208> 7209 <template x-if="!isEmpty()"> 7210 <div class="w-full"> 7211 <div class="messages"> 7212 <template x-for="(message, index) in messages" :key="index"> 7213 <div class="slide-in-right"> 7214 <template x-if="message"> 7215 <div class="message" :class="message.type" 7216 :ui-id="'message-' + message.type" 7217 > 7218 <i class="fal" :class="message.type"></i> 7219 <span x-html="message.text"></span> 7220 <button 7221 type="button" 7222 class="text-gray-600 hover:text-black" 7223 aria-label="Close message" 7224 @click.prevent="removeMessage(index, true)" 7225 > 7226 <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"> 7227 <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/> 7228</svg> 7229 </button> 7230 </div> 7231 </template> 7232 </div> 7233 </template> 7234 </div> 7235 </div> 7236 </template> 7237</section> 7238</div><div class="columns"><div class="column main"> 7239
7239<script> 7240 if (window.require) { 7241 require(['jquery', 'domReady!'], function($){ 7242 if ($('.mfblogunveil').length) { 7243 require(['Magefan_Blog/js/lib/mfblogunveil'], function(){ 7244 $('.mfblogunveil').mfblogunveil(); 7245 }); 7246 } 7247 }); 7248 } else { 7249 /* e.g. hyva theme */ 7250 document.addEventListener("DOMContentLoaded", function(){ 7251 var items = document.getElementsByClassName('mfblogunveil'); 7252 var el, url; 7253 if (items.length) { 7254 for (var i=0; i<items.length;i++) { 7255 el = items[i]; 7256 url = el.getAttribute('data-original'); 7257 if (!url) { 7258 continue; 7259 } 7260 if ('IMG' == el.tagName) { 7261 el.src = url; 7262 } else { 7263 el.style.backgroundImage = "url('" + url + "')"; 7264 } 7265 } 7266 } 7267 }); 7268 } 7269 </script>
7269 7270 7271<style>#html-body [data-pb-style=KY3O11T],#html-body [data-pb-style=YNF4CE9]{display:none}</style><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><style> 7272 :root { 7273 --header-main-color : #70D0EC; 7274 } 7275</style></div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><style> 7276 @media (min-width: 768px) and (max-width: 1199px) { 7277 .tablet\:container { 7278 max-width: 100%; 7279 padding-left: 4rem; 7280 padding-right: 4rem; 7281 } 7282 7283 .tablet\:mb-7 { 7284 margin-bottom: 5.6rem; 7285 } 7286 } 7287 7288 @media (min-width: 1200px) { 7289 .laptop\:mb-4 { 7290 margin-bottom: 3.2rem; 7291 } 7292 .laptop\:mt-17 { 7293 margin-top: 13.6rem; 7294 } 7295 .laptop\:ml-10 { 7296 margin-left: 8rem; 7297 } 7298 } 7299 7300 @media (min-width: 1700px) { 7301 .desktop-large\:mb-13 { 7302 margin-bottom: 10.4rem; 7303 } 7304 } 7305 7306 @media screen and (max-width: 767px) { 7307 #image-banner { 7308 height: 600px; 7309 } 7310 } 7311 7312 @media screen and (min-width: 768px) { 7313 #image-banner .banner-content .content-container { 7314 max-width: 601px; 7315 } 7316 } 7317 7318 .hover-image:hover { 7319 transform: scale(1.1); 7320 transition: all .3s ease-in; 7321 } 7322 7323 @media screen and (min-width: 768px) and (max-width: 1199px) { 7324 #prise-magie { 7325 display: flex; 7326 flex-direction: row-reverse; 7327 } 7328 7329 #prise-magie .img-container { 7330 width: 298px; 7331 flex-shrink: 0; 7332 } 7333 7334 #prise-magie .img-container img { 7335 max-width: unset; 7336 width: 420px; 7337 margin-top: -30px; 7338 } 7339 } 7340 7341 @media screen and (min-width: 1200px) { 7342 #prise-magie { 7343 display: flex; 7344 flex-direction: row-reverse; 7345 } 7346 7347 #prise-magie .img-container { 7348 width: 600px; 7349 flex-shrink: 0; 7350 } 7351 } 7352 7353 .perks-list { 7354 gap:40px; 7355 @media screen and (min-width:992px) { 7356 gap:105px; 7357 } 7358 } 7359 7360 .perks-text { 7361 max-width:750px; 7362 margin:0 auto; 7363 } 7364 7365 .perks-list article { 7366 max-width:180px; 7367 display:flex; 7368 flex-direction:column; 7369 align-items:center; 7370 justify-content:flex-start; 7371 gap:8px; 7372 text-align:center; 7373 } 7374 7375 .perks-list figure { 7376 width:80px; 7377 } 7378 7379 #video-container .illu { 7380 position: absolute; 7381 right: -33px; 7382 bottom: -68px; 7383 width: 180px; 7384 } 7385 7386 @media screen and (min-width: 768px) { 7387 #video-container .illu { 7388 width: 320px; 7389 right: -62px; 7390 bottom: -127px; 7391 } 7392 } 7393 7394 @media screen and (min-width: 1200px) { 7395 #video-container .illu { 7396 width: 520px; 7397 right: -180px; 7398 bottom: -268px; 7399 } 7400 } 7401 7402 7403 7404 #reviews .review-slider.javascript-slider-wrapper .javascript-slider > div { 7405 width: 100%; 7406 padding: 16px; 7407 max-width: 304px; 7408 min-width: 304px; 7409 position: relative; 7410 margin-right: 32px; 7411 z-index: 1; 7412 border-radius: 30px; 7413 background: #fff; 7414 7415 } 7416 @media screen and (min-width: 1200px) { 7417 #reviews .review-slider.javascript-slider-wrapper .javascript-slider > div { 7418 max-width: 500px; 7419 min-width: 500px; 7420 } 7421 } 7422 7423 #reviews .background-illu { 7424 position: absolute; 7425 left: -422px; 7426 bottom: -520px; 7427 transform: rotate(0deg); 7428 width: 629px; 7429 max-width: unset; 7430 z-index: -1; 7431 } 7432 7433 #bestseller .illu { 7434 position: absolute; 7435 right: -44px; 7436 bottom: -127px; 7437 z-index: -1; 7438 width: 155px; 7439 transform: rotate(350deg); 7440 } 7441 7442 @media screen and (min-width: 1200px) { 7443 #bestseller .illu { 7444 width: 300px; 7445 bottom: -400px; 7446 right: -100px; 7447 transform: none; 7448 } 7449 } 7450 7451 #bestseller .javascript-slider-wrapper .javascript-slider > div { 7452 width: 100%; 7453 padding: 16px; 7454 max-width: 296px; 7455 min-width: 296px; 7456 position: relative; 7457 margin-right: 32px; 7458 z-index: 1; 7459 7460 } 7461 7462 #bestseller .javascript-slider-wrapper .javascript-slider>div:before { 7463 content: ""; 7464 position: absolute; 7465 background: #fff; 7466 z-index: -1; 7467 bottom: 0; 7468 left: 0; 7469 width: 100%; 7470 height: 538px; 7471 border-radius: 30px; 7472 } 7473 7474 #bestseller .javascript-slider .product-button-with-price .price{ 7475 font-size: 1.8rem; 7476 line-height: 2.6rem; 7477 } 7478 7479 #bestseller .javascript-slider .product-button-with-price .price-per-weight { 7480 margin-top: 0.4rem; 7481 } 7482 7483 #bestseller .javascript-slider .button.add-to-cart-button { 7484 height: 48px; 7485 } 7486 7487 #bestseller .javascript-slider .form-section { 7488 margin-top: 1.6rem; 7489 } 7490 7491 @media screen and (min-width: 1440px) { 7492 #bestseller .javascript-slider-wrapper .controls .button_right, 7493 #bestseller .javascript-slider-wrapper .controls .button_left{ 7494 display: none !important; 7495 } 7496 } 7497 7498.stock-status .in-stock { 7499 color: #00B289; 7500 } 7501 7502 .stock-status .out-of-stock { 7503 color: #F32836; 7504 } 7505 7506 .stock-status>div span { 7507 font-size: 1.2rem; 7508 line-height: 1.6rem; 7509 } 7510 7511 .stock-status>div span:before { 7512 content: ""; 7513 display: inline-block; 7514 width: 8px; 7515 height: 8px; 7516 margin: 0 4px 1px 0; 7517 border-radius: 50%; 7518 } 7519 7520 .stock-status .in-stock span:before { 7521 background-color: #00B289; 7522 } 7523 7524 .stock-status .out-of-stock span:before { 7525 background-color: #F32836; 7526 } 7527 7528 .stock-status>div i { 7529 display: none; 7530 } 7531 7532 #more-product-categories .javascript-slider-wrapper .javascript-slider > div { 7533 width : 139px; 7534 min-width : 139px; 7535 max-width : 139px; 7536 text-align : center; 7537 margin-right : 2.4rem; 7538} 7539 7540 7541 7542 #can-colors > div { 7543 width:50%; 7544 @media screen and (min-width:768px) { 7545 width:33%; 7546 } 7547 @media screen and (min-width:1200px) { 7548 width:212px; 7549 } 7550 } 7551 7552 #faq-list .illu { 7553 position: absolute; 7554 right: -178px; 7555 top: -131px; 7556 z-index: -1; 7557 transform: rotate(315deg); 7558 width: 479px; 7559 max-width: unset; 7560 } 7561 7562 @media screen and (min-width: 1200px) { 7563 #faq-list .illu { 7564 right: unset; 7565 left: -277px; 7566 top: -198px; 7567 width: 600px; 7568 transform: rotate(358deg); 7569 } 7570 } 7571 7572 @media screen and (min-width: 1200px) { 7573 .media-container { 7574 display: flex; 7575 width: 570px; 7576 } 7577} 7578@media screen and (min-width: 1400px) { 7579 .media-container { 7580 display: flex; 7581 width: 630px; 7582 } 7583} 7584@media screen and (min-width: 1700px) { 7585 .media-container { 7586 width: 770px; 7587 } 7588} 7589 7590 .product-info-main-container { 7591 position: relative; 7592 } 7593 7594 7595@media screen and (min-width: 1200px) { 7596 .product-info-main-container { 7597 max-width: 370px; 7598 width: 100%; 7599 margin-left: 10vw; 7600 margin-bottom: 10.4rem; 7601 } 7602 7603 .laptop\:flex-row-reverse .product-info-main-container { 7604 margin-right: 10vw; 7605 margin-left: 0; 7606 } 7607} 7608@media screen and (min-width: 1700px) { 7609 .product-info-main-container { 7610 max-width: 390px; 7611 margin-bottom: 20.8rem; 7612 7613 } 7614} 7615 7616 ul.check-list li:before { 7617 margin-right: 1.1rem; 7618 } 7619 7620 7621 .product-content-popup { 7622 background: #FCFAEE; 7623 position: fixed; 7624 top: 0; 7625 left: 0; 7626 width: 100%; 7627 height: 100%; 7628 z-index: 4; 7629 padding: 1.6rem; 7630 overflow: scroll; 7631 } 7632 7633 @media screen and (min-width: 768px) { 7634 .product-content-popup { 7635 padding: 4rem; 7636 } 7637} 7638 7639 @media screen and (min-width: 1200px) { 7640 .product-content-popup { 7641 padding: 9.6rem 8rem; 7642 } 7643} 7644 7645 #product-content > .included-products-accordion, 7646 #product-content > .animation-illu-3 { 7647 display: none; 7648 } 7649 7650 #product-content { 7651 position: relative; 7652 margin: 0; 7653} 7654 7655 7656 7657 #product-content > p{ 7658 margin-bottom: 2.4rem; 7659 text-align: left; 7660 max-width: 230px; 7661} 7662 7663 @media screen and (min-width: 768px) { 7664 #product-content > p{ 7665 max-width: unset; 7666 width: 100%; 7667 text-align: center; 7668 padding-right: 3.2rem 7669 padding-left: 3.2rem 7670} 7671 7672 } 7673 7674 #product-content > p > span{ 7675 display: inline-block !important; 7676} 7677 7678#product-content .bundle-children-container { 7679 position: relative; 7680 display: block !important; 7681} 7682 7683 #product-content .bundle-children-container .children-slider.javascript-slider-wrapper .controls { 7684 display: block; 7685 } 7686 7687#product-content .bundle-children-container .children-slider .child { 7688 width: 100%; 7689 min-width: 100%; 7690 max-width: 100%; 7691 padding: 0; 7692 margin-right: 16px 7693} 7694 7695 7696@media screen and (min-width: 1200px) { 7697 #product-content .bundle-children-container .children-slider .child { 7698 max-width:33%; 7699 width: calc(33% - (32px / 3)); 7700 min-width: calc(33% - (32px / 3)) 7701 } 7702} 7703 7704#product-content .bundle-children-container .children-slider .child .inner_child_slider { 7705 background: #fff; 7706 border-radius: 20px 7707} 7708 7709#product-content .bundle-children-container .children-slider .child .inner_child_slider .re
7709cipe-background-image-container { 7710 aspect-ratio: 1.264; 7711 overflow: hidden 7712} 7713 7714#product-content .bundle-children-container .children-slider .child .inner_child_slider .recipe-background-image-container .recipeImage { 7715 border-radius: 20px 20px 0px 0px; 7716 width: 100%; 7717 max-width: unset 7718} 7719 7720#product-content .bundle-children-container .children-slider .child .inner_child_slider .productImage { 7721 width: 250px; 7722 height: 250px; 7723 margin: -120px auto 0 7724} 7725 7726#product-content .bundle-children-container .children-slider .child .inner_child_slider .content { 7727 padding: 0 16px 24px 7728} 7729 7730#product-content .bundle-children-container .children-slider .child .inner_child_slider .content p.product-name { 7731 font-family: "BrandonText-Bold",Verdana,Arial,Helvetica,sans-serif; 7732 font-size: 18px; 7733 line-height: 26px; 7734 text-align: center; 7735 margin-top: 8px; 7736 max-width: unset; 7737 margin-bottom: 4px 7738} 7739 7740#product-content .bundle-children-container .children-slider .child .inner_child_slider .content p.weight { 7741 font-size: 1.4rem; 7742 line-height: 1.8rem; 7743 text-align: center; 7744 margin-bottom: 1.6rem 7745} 7746 7747#product-content .bundle-children-container .children-slider .child .inner_child_slider .content .tabs { 7748 border-bottom: 0 7749} 7750 7751#product-content .bundle-children-container .children-slider .child .inner_child_slider .content .tabs .tab-header { 7752 display: inline-flex; 7753 padding-right: 0.8rem; 7754 padding-bottom: 2.4rem 7755} 7756 7757#product-content .bundle-children-container .children-slider .child .inner_child_slider .content .tabs .tab-header#header-nutrition { 7758 padding-right: 0; 7759} 7760 7761#product-content .bundle-children-container .children-slider .child .inner_child_slider .content .tabs .tab-header p { 7762 font-family: 'BrandonText-Regular',sans-serif; 7763 font-size: 1.4rem; 7764 line-height: 2rem 7765} 7766 7767#product-content .bundle-children-container .children-slider .child .inner_child_slider .content .tabs .tab-header.active .button-small { 7768 background-color: #000000; 7769 color: #ffffff 7770} 7771 7772#product-content .bundle-children-container .children-slider .child .inner_child_slider .content .tabs #tab-element-content .information-tab ul li { 7773 padding-left: 3rem; 7774 width: 100%; 7775 padding-bottom: 1.6rem 7776} 7777 7778#product-content .bundle-children-container .children-slider .child .inner_child_slider .content .tabs #tab-element-content .information-tab ul li i,#product-content .bundle-children-container .children-slider .child .inner_child_slider .content .tabs #tab-element-content .information-tab ul li em,#product-content .bundle-children-container .children-slider .child .inner_child_slider .content .tabs #tab-element-content .information-tab ul li em.fa,#product-content .bundle-children-container .children-slider .child .inner_child_slider .content .tabs #tab-element-content .information-tab ul li em.fas,#product-content .bundle-children-container .children-slider .child .inner_child_slider .content .tabs #tab-element-content .information-tab ul li em.far,#product-content .bundle-children-container .children-slider .child .inner_child_slider .content .tabs #tab-element-content .information-tab ul li em.fal { 7779 display: none 7780} 7781 7782#product-content .bundle-children-container .children-slider .child .inner_child_slider .content .tabs #tab-element-content .information-tab ul li:before { 7783 color: #00B289; 7784 font-family: "Font Awesome 6 Pro"; 7785 font-weight: 900; 7786 content: "\f00c"; 7787 margin-right: 1.4rem; 7788 margin-left: -3.2rem; 7789 font-size: 1.8rem 7790} 7791 7792#product-content .bundle-children-container .children-slider .child .inner_child_slider .content .tabs #tab-element-content #ingredients a { 7793 padding: 0; 7794 display: initial 7795} 7796 7797#product-content .bundle-children-container .children-slider .child .inner_child_slider .content .tabs #tab-element-content .ingredients-tab,#product-content .bundle-children-container .children-slider .child .inner_child_slider .content .tabs #tab-element-content .nutrition-tab { 7798 display: none 7799} 7800 7801#product-content .bundle-children-container .children-slider .child .inner_child_slider .content .tabs #tab-element-content #nutritionfacts { 7802 max-width: 31.9rem 7803} 7804 7805#product-content .bundle-children-container .children-slider .child .inner_child_slider .content .tabs #tab-element-content #nutritionfacts tr:last-child td { 7806 border-bottom: 0 7807} 7808 7809#product-content .bundle-children-container .children-slider .child .inner_child_slider .content .tabs #tab-element-content #nutritionfacts td { 7810 padding: .4rem 0; 7811 border-bottom: 1px solid #000 7812} 7813 7814#product-content .bundle-children-container .children-slider .child .inner_child_slider .content .tabs #tab-element-content #nutritionfacts td.table-headline { 7815 border-bottom: 2px solid #000; 7816 padding-bottom: 1.6rem 7817} 7818 7819#product-content .bundle-children-container .children-slider .child .inner_child_slider .content .tabs #tab-element-content #nutritionfacts .label { 7820 float: left; 7821 font-size: 1.4rem; 7822 line-height: 2rem; 7823 font-family: 'BrandonText-Bold',sans-serif 7824} 7825 7826#product-content .bundle-children-container .children-slider .child .inner_child_slider .content .tabs #tab-element-content #nutritionfacts .label.label-headline { 7827 font-size: 1.2rem; 7828 line-height: 1.6rem 7829} 7830 7831#product-content .bundle-children-container .children-slider .child .inner_child_slider .content .tabs #tab-element-content #nutritionfacts .nutrition-value { 7832 display: inline; 7833 float: right; 7834 font-size: 1.4rem; 7835 line-height: 2rem 7836} 7837 7838#product-content .bundle-children-container .children-slider .child .inner_child_slider .content .tabs #tab-element-content #nutritionfacts .nutrition-value.label-headline { 7839 font-family: 'BrandonText-Bold',sans-serif; 7840 font-size: 1.2rem; 7841 line-height: 1.6rem 7842} 7843 7844 .short-description ul.check-list li { 7845 font-size: 14px; 7846 line-height: 18px; 7847} 7848</style></div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><section class="flex relative flex-row mb-2 cursor-pointer" id="image-banner"> 7849 <div class="banner-media"> 7850 <picture> 7851 7852 <source type="image/webp" 7853 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-header-390.webp"> 7854 7855 <source type="image/png" 7856 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-header-390.png"> 7857 7858 <img class="img-fluid w-full tablet:hidden lozad" src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-header-390.png" 7859 alt="Pizza Gewürz" width="585" height="726"> </picture> 7860 7861 7862 7863 <picture> 7864 7865 <source type="image/webp" 7866 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-header-768.webp"> 7867 7868 <source type="image/png" 7869 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-header-768.png"> 7870 7871 <img class="img-fluid w-full hidden tablet:block laptop:hidden lozad" src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-header-768.png" 7872 alt="Pizza Gewürz" width="1152" height="612"> </picture> 7873 7874 7875 7876 <picture> 7877 7878 <source type="image/webp" 7879 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-header-1440.webp"> 7880 7881 <source type="image/png" 7882 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-header-1440.png"> 7883 7884 <img class="img-fluid w-full hidden laptop:block desktop-large:hidden lozad" src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-header-1440.png" 7885 alt="Pizza Gewürz" width="2160" height="609"> </picture> 7886 7887 7888 7889 <picture> 7890 7891 <source type="image/webp" 7892 srcset="https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-header-1920.webp"> 7893 7894 <source type="image/png" 7895 srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-header-1920.png"> 7896 7897 <img class="img-fluid w-full hidden desktop-large:block lozad" src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-header-1920.png" 7898 alt="AsiaPizza Gewürz" width="2880" height="683"> </picture> 7899 7900 7901 </div> 7902 <div class="banner-content container flex relative w-full items-center justify-center laptop:justify-start"> 7903 <div class="banner-box content-container pb-6 tablet:pb-4 laptop:pb-0 flex flex-col h-full justify-end tablet:justify-center items-center"> 7904 <p class="banner-heading font-recoleta text-main-black fs-42 lh-45 mb-2"> 7905 Koche Essen,<br class="tablet:hidden" /> das Du liebst. 7906 </p> 7907 <p class="banner-subline text-center mb-3">Dein <strong>Leben ist zu kurz für langweiliges</strong> Essen: 7908 Mit unseren <strong>All-in-One Gewürzmixen</strong> machst Du <strong>jedes Gericht besonders.</strong> Probiere es jetzt!</p> 7909 <div class="banner-buttons"> 7910 <a href="#bestseller" class="button primary">Zu unseren Gewürzmixen</a> 7911 </div> 7912 </div> 7913 </div> 7914</section></div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><section class="container mb-5 tablet:mb-13 laptop:mb-4" id="bekannt-aus"> 7915 <p class="fs-12 lh-16 mb-2 text-center">Bekannt aus</p> 7916 <div class="brands flex flex-wrap gap-x-3 gap-y-2 justify-center"> 7917 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/brands/Vogue.svg" alt="Logo von der Vogue" /> 7918 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/brands/Glamour.svg" alt="Logo von der Glamour" /> 7919 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/brands/freundin.svg" alt="Logo von der freundin" /> 7920 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/brands/WomensHealth.svg" alt="Logo von der WomensHealth" /> 7921 <img src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/brands/ELLE.svg" alt="Logo von der ELLE" /> 7922 </div> 7923 7924</section></div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><section class="mb-8 tablet:mb-13 tablet:container laptop:container laptop:mb-0" id="prise-magie"> 7925 <div class="img-container"> 7926 <picture> 7927 7928 <source type="image/webp" data-srcset=" 7929 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-avocado-image.webp"> 7930 7931 <source type="image/png" 7932 data-srcset=" 7933 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-avocado-image.png"> 7934 7935 <img class="lozad tablet:hidden" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-avocado-image.png" alt=" Avocado Topping Gewürzdose mit Avocado Brot" /> </picture> 7936 7937 7938 <picture> 7939 7940 <source type="image/webp" data-srcset=" 7941 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-avocado-image_t.webp"> 7942 7943 <source type="image/png" 7944 data-srcset=" 7945 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-avocado-image_t.png"> 7946 7947 <img class="lozad hidden tablet:block" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-avocado-image_t.png" alt=" Avocado Topping Gewürzdose mit Avocado Brot" /> </picture> 7948 7949 7950 </div> 7951 <article class="content mx-2 laptop:mt-17"> 7952 <p class="font-recoleta fs-32 lh-40 mb-1">Deine Prise Magie<br /> für jedes Gericht.</p> 7953 <p>Für <strong>magisch gutes Essen</strong> brauchst Du keinen Zauberspruch â nur unsere Gewürzmixe. 7954 Diese werden von unseren <strong>Köchen Nils & Max für unzählige Gerichte und Küchen</strong> entwickelt. 7955 Ob für <strong>Pasta, Pizza, BBQ, Ramen</strong> oder Tteokbokki: 7956 Unsere Gewürzmischungen sind mit viel Liebe abgestimmt und perfektioniert, damit es <strong>immer schmeckt.</strong> 7957 Das Beste? Bei uns ist kein Firlefanz drin, denn <strong>echter Geschmack braucht keine Verstärker.</strong></p> 7958 </article> 7959</section></div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><section class="container mb-8 tablet:mb-13" id="perks"> 7960 <header class="text-center mb-5 tablet:mb-7"> 7961 <h2 class="fs-32 lh-40 font-recoleta">
7961Wieso Just Spices?</h2> 7962 </header> 7963 <div class="flex justify-center items-center flex-wrap perks-list"> 7964 <article> 7965 <figure> 7966 <picture class="lozad" data-iesrc="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus/pdp_benefit_firlefanz.svg" data-alt="🥫" data-loaded="true"> 7967 <source srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus/pdp_benefit_firlefanz.svg" type="image/svg+xml"> 7968 <img class="" alt="🥫"> 7969 </picture> 7970 </figure> 7971 <div> 7972 <h3 class="font-recoleta fs-24 lh-30 mb-1">Qualität</h3> 7973 <p class=" fs-16 lh-20">Natürlich <strong>ohne Firlefanz</strong> und nur aus besten Zutaten.</p> 7974 </div> 7975 </article> 7976 <article> 7977 <figure> 7978 <picture class="lozad" data-iesrc="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus/pdp_benefit_streuhand.svg" data-alt="🥫" data-loaded="true"> 7979 <source srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus/pdp_benefit_streuhand.svg" type="image/svg+xml"> 7980 <img class="" alt="🥫"> 7981 </picture> 7982 </figure> 7983 <div> 7984 <h3 class="font-recoleta fs-24 lh-30 mb-1">Geschmack</h3> 7985 <p class=" fs-16 lh-20"><strong>Von Köchen</strong> für unzählige Gerichte & Küchen kreiert.</p> 7986 </div> 7987 </article> 7988 <article> 7989 <figure> 7990 <picture class="lozad" data-iesrc="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus/pdp_benefit_herz.svg" data-alt="🥫" data-loaded="true"> 7991 <source srcset="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus/pdp_benefit_herz.svg" type="image/svg+xml"> 7992 <img class="" alt="🥫"> 7993 </picture> 7994 </figure> 7995 <div> 7996 <h3 class="font-recoleta fs-24 lh-30 mb-1">Inspiration</h3> 7997 <p class=" fs-16 lh-20">Wir bringen <strong>Food-Trends & Inspiration</strong> auf die Teller.</p> 7998 </div> 7999 </article> 8000 </div> 8001</section></div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><section class="mb-8 tablet:mb-13 container relative" id="video-container"> 8002 <video class="lozad tablet:hidden rounded-25 w-full" preload="none" loop="" autoplay="" muted="" playsinline=""> 8003 <source data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/videos/JS_Bestseller-Cut_360x590.mp4" type="video/mp4"> 8004 </video> 8005 <video class="lozad hidden tablet:block rounded-25 w-full" preload="none" loop="" autoplay="" muted="" playsinline=""> 8006 <source data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/videos/JS_Bestseller-Cut_1280x640.mp4" type="video/mp4"> 8007 </video> 8008 <img class="lozad illu" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/illu-pusteblume.svg" alt="" /> 8009</section></div><div data-content-type="html" data-appearance="default" data-element="main" data-pb-style="KY3O11T" data-decoded="true"><section id="starter-set" class="relative mb-8 tablet:mb-13 laptop:mb-0 desktop-large:mb-13"> 8010 <p class="font-recoleta fs-32 lh-40 mb-8 container text-center">Lerne uns jetzt kennen - und lieben.</p> 8011 8012 <div class="container laptop:flex"> 8013 <div class="media-container mb-2"> 8014 <div class="hidden laptop:block js-slider js-slider-vertical" js-slider="true" js-slider-type="vertical" js-slider-subtype="thumbnail" 8015 js-slider-slidestoshow="5" js-slider-slidestoscroll="1" js-slider-arrows="false" js-slider-combinedslidersselector="gallery"> 8016 <div class="js-slider-overflow-container"> 8017 <div class="js-slider-slide-list">
8018 <li js-slider-thumb-index="0" class=""> 8019 <picture> 8020 8021 <source type="image/webp" data-srcset=" 8022 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-1-starter-set.webp"> 8023 8024 <source type="image/jpg" 8025 data-srcset=" 8026 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-1-starter-set.jpg"> 8027 8028 <img class="hidden laptop:block lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-1-starter-set.jpg" alt="Just Spices - Starter Set" width="77" height="86"> </picture> 8029 8030 8031 </li> 8032 <li js-slider-thumb-index="1" class=""> 8033 <picture> 8034 8035 <source type="image/webp" data-srcset=" 8036 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-2-starter-set.webp"> 8037 8038 <source type="image/jpg" 8039 data-srcset=" 8040 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-2-starter-set.jpg"> 8041 8042 <img class="hidden laptop:block lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-2-starter-set.jpg" alt="Just Spices - Starter Set" width="77" height="86"> </picture> 8043 8044 8045 </li>
8046 <li js-slider-thumb-index="2" class=""> 8047 <picture> 8048 8049 <source type="image/webp" data-srcset=" 8050 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-3-starter-set.webp"> 8051 8052 <source type="image/jpg" 8053 data-srcset=" 8054 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-3-starter-set.jpg"> 8055 8056 <img class="hidden laptop:block lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-3-starter-set.jpg" alt="Just Spices - Starter Set" width="77" height="86"> </picture> 8057 8058 8059 </li> 8060 <li js-slider-thumb-index="3" class=""> 8061 <picture> 8062 8063 <source type="image/webp" data-srcset=" 8064 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-4-starter-set.webp"> 8065 8066 <source type="image/jpg" 8067 data-srcset=" 8068 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-4-starter-set.jpg"> 8069 8070 <img class="hidden laptop:block lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-4-starter-set.jpg" alt="Just Spices - Starter Set" width="77" height="86"> </picture> 8071 8072 8073 </li>
8074 <li js-slider-thumb-index="4" class=""> 8075 <picture> 8076 8077 <source type="image/webp" data-srcset=" 8078 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-5-starter-set.webp"> 8079 8080 <source type="image/jpg" 8081 data-srcset=" 8082 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-5-starter-set.jpg"> 8083 8084 <img class="hidden laptop:block lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-5-starter-set.jpg" alt="Just Spices - Starter Set" width="77" height="86"> </picture> 8085 8086 8087 </li> 8088 <li js-slider-thumb-index="5" class=""> 8089 <picture> 8090 8091 <source type="image/webp" data-srcset=" 8092 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-6-starter-set.webp"> 8093 8094 <source type="image/jpg" 8095 data-srcset=" 8096 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-6-starter-set.jpg"> 8097 8098 <img class="hidden laptop:block lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-6-starter-set.jpg" alt="Just Spices - Starter Set" width="77" height="86"> </picture> 8099 8100 8101 </li>
8102 <li js-slider-thumb-index="6" class=""> 8103 <picture> 8104 8105 <source type="image/webp" data-srcset=" 8106 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-7-starter-set.webp"> 8107 8108 <source type="image/jpg" 8109 data-srcset=" 8110 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-7-starter-set.jpg"> 8111 8112 <img class="hidden laptop:block lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-7-starter-set.jpg" alt="Just Spices - Starter Set" width="77" height="86"> </picture> 8113 8114 8115 </li> 8116 <li js-slider-thumb-index="7" class=""> 8117 <picture> 8118 8119 <source type="image/webp" data-srcset=" 8120 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-8-starter-set.webp"> 8121 8122 <source type="image/jpg" 8123 data-srcset=" 8124 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-8-starter-set.jpg"> 8125 8126 <img class="hidden laptop:block lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-8-starter-set.jpg" alt="Just Spices - Starter Set" width="77" height="86"> </picture> 8127 8128 8129 </li>
8130 <li js-slider-thumb-index="8" class=""> 8131 <picture> 8132 8133 <source type="image/webp" data-srcset=" 8134 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-9-starter-set.webp"> 8135 8136 <source type="image/jpg" 8137 data-srcset=" 8138 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-9-starter-set.jpg"> 8139 8140 <img class="hidden laptop:block lozad" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-9-starter-set.jpg" alt="Just Spices - Starter Set" width="77" height="86"> </picture> 8141 8142 8143 </li> 8144 </div> 8145 </div> 8146 </div> 8147 8148 <div class="js-slider js-slider-horizontal" js-slider-pagination="true" js-slider-combinedslidersselector="gallery"> 8149 <div class="js-slider-overflow-container"> 8150 <div class="js-slider-slide-list"> 8151 <li class=""> 8152 <picture> 8153 8154 <source type="image/webp" data-srcset=" 8155 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-1-starter-set.webp"> 8156 8157 <source type="image/jpg" 8158 data-srcset=" 8159 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-1-starter-set.jpg"> 8160 8161 <img class="detail lozad" width="516" height="583" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-1-starter-set.jpg" alt="Just Spices - Starter Set"> </picture> 8162 8163 8164 </li> 8165 <li class=""> 8166 <picture> 8167 8168 <source type="image/webp" data-srcset=" 8169 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-2-starter-set.webp"> 8170 8171 <source type="image/jpg" 8172 data-srcset=" 8173 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-2-starter-set.jpg"> 8174 8175 <img class="detail lozad" width="516" height="583" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-2-starter-set.jpg" alt="Just Spices - Starter Set"> </picture> 8176 8177 8178 </li> 8179 <li class=""> 8180 <picture> 8181 8182 <source type="image/webp" data-srcset=" 8183 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-3-starter-set.webp"> 8184 8185 <source type="image/jpg" 8186 data-srcset=" 8187 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-3-starter-set.jpg"> 8188 8189 <img class="detail lozad" width="516" height="583" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-3-starter-set.jpg" alt="Just Spices - Starter Set"> </picture> 8190 8191 8192 </li> 8193 <li class=""> 8194 <picture> 8195 8196 <source type="image/webp" data-srcset=" 8197 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-4-starter-set.webp"> 8198 8199 <source type="image/jpg" 8200 data-srcset=" 8201 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-4-starter-set.jpg"> 8202 8203 <img class="detail lozad" width="516" height="583" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-4-starter-set.jpg" alt="Just Spices - Starter Set"> </picture> 8204 8205 8206 </li> 8207 <li class=""> 8208 <picture> 8209 8210 <source type="image/webp" data-srcset=" 8211 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-5-starter-set.webp"> 8212 8213 <source type="image/jpg" 8214 data-srcset=" 8215 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-5-starter-set.jpg"> 8216 8217 <img class="detail lozad" width="516" height="583" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-5-starter-set.jpg" alt="Just Spices - Starter Set"> </picture> 8218 8219 8220 </li> 8221 <li class=""> 8222 <picture> 8223 8224 <source type="image/webp" data-srcset=" 8225 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-6-starter-set.webp"> 8226 8227 <source type="image/jpg" 8228 data-srcset=" 8229 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-6-starter-set.jpg"> 8230 8231 <img class="detail lozad" width="516" height="583" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-6-starter-set.jpg" alt="Just Spices - Starter Set"> </picture> 8232 8233 8234 </li> 8235 <li class=""> 8236 <picture> 8237 8238 <source type="image/webp" data-srcset=" 8239 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-7-starter-set.webp"> 8240 8241 <source type="image/jpg" 8242 data-srcset=" 8243 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-7-starter-set.jpg"> 8244 8245 <img class="detail lozad" width="516" height="583" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-7-starter-set.jpg" alt="Just Spices - Starter Set"> </picture> 8246 8247 8248 </li> 8249 <li class=""> 8250 <picture> 8251 8252 <source type="image/webp" data-srcset=" 8253 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-8-starter-set.webp"> 8254 8255 <source type="image/jpg" 8256 data-srcset=" 8257 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-8-starter-set.jpg"> 8258 8259 <img class="detail lozad" width="516" height="583" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-8-starter-set.jpg" alt="Just Spices - Starter Set"> </picture> 8260 8261 8262 </li> 8263 <li class=""> 8264 <picture> 8265 8266 <source type="image/webp" data-srcset=" 8267 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-9-starter-set.webp"> 8268 8269 <source type="image/jpg" 8270 data-srcset=" 8271 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-9-starter-set.jpg"> 8272 8273 <img class="detail lozad" width="516" height="583" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/starter-set-2025/slider-9-starter-set.jpg" alt="Just Spices - Starter Set"> </picture> 8274 8275 8276 </li> 8277 </div> 8278 </div> 8279 </div> 8280 </div> 8281 <div class="product-info-main-container"> 8282 <div class="buy-section-starter-set"> 8283 <div class="info-row"> 8284 <div class="rating-summary bg-main-white rounded-25 py-0.5 px-1 inline-flex items-center justify-center"> 8285 <i class="fa-solid fa-star text-main-yellow text-xs"></i> <span class="ml-0.5 text-xs">5/5</span> 8286 </div> 8287 <div class="interferer neu">Neu</div> 8288 </div> 8289 <h2 class="font-recoleta text-xl desktop-large:fs-48 desktop-large:lh-50 mb-0.5">Starter Set</h2> 8290 <p class="font-bold text-s mb-2">Starte Deine Kochreise: 14 Gewürzmixe & Kochbuch</p> 8291 <div class="short-description mt-4 mb-4"> 8292 <ul class="check-list"> 8293 <li>Für Gemüse, Fleisch, Frühstück, Bowls, Pasta & mehr</li> 8294 <li>4 Gewürzdosen & 10 Gewürztütchen zum Ausprobieren</li> 8295 <li>Mit Kochbuch, damit Du direkt Lieblingsgerichte entdeckst</li> 8296 </ul> 8297 </div> 8298 <div class="product-button-with-price flex flex-row align-bottom justify-end"> 8299 8300 <div class="flex flex-col justify-end items-end"> 8301 <div class="stock-status"> 8302 <div class="out-of-stock text-xs">
8303 <span>Nicht lieferbar</span> 8304 </div> 8305 </div> 8306 </div> 8307 </div> 8308<div class="form-section mt-4 mb-2"> 8309 <form action="" method="post" id="product_addtocart_form"> 8310 <input type="hidden" name="form_key" value="P5oasJOfzp0QXvy6"> 8311 <input type="hidden" name="product" value="9180"> 8312 <input type="hidden" name="currency" class="currency-symbol" value="â¬"> 8313 <input type="hidden" name="currencycode" class="currency-code" value="EUR"> 8314
8314<script src="https://www.justspices.de/static/version1790005904/frontend/Justspices/relaunch/de_DE/JustSpices_Catalog/js/norequire/stock-alert.js"></script>
8314 8315 <div class="product-stock"> 8316 <div class="info fs-14 lh-20 mb-2 text-left">Hinterlasse Deine E-Mail und wir melden uns, sobald das Produkt wieder auf Lager ist.</div> 8317 <input type="hidden" id="product_id" name="product_id" value="9180"> 8318 <input type="hidden" id="disable_flash_message" name="disable_flash_message" value="1"> 8319 <div class="floating-label mb-2"> 8320 <input required type="email" placeholder=" " class="input-text form-control email" value="" name="email"> 8321 8322 <label class="label inline" for="email">E-Mail*</label> 8323 <div id="email-error" class="error-message" style="display: none"><i class="fa-solid fa-circle-xmark"></i> Vervollständige bitte die notwendigen Angaben.</div> 8324 </div> 8325 <div class="form-group mb-2"> 8326 <label class="cr-container"> 8327 <span class="fs-14 lh-20 text-left">Zum Newsletter anmelden und keine Neuigkeiten mehr verpassen.</span> 8328 <input type="checkbox" id="accept-newsletter-registration" name="accept_newsletter_registration"> 8329 <div class="input"></div> 8330 </label> 8331 </div> 8332 <button type="submit" id="stock-alert-subscribe-btn" title="Benachrichtige mich" class="button primary green w-full" onclick="sendStockAlert(); return false;"> 8333 <span> 8334 <i class="fa-light fa-envelope" aria-hidden="true"></i> 8335 <span class="button-text">Benachrichtige mich</span> 8336 </span> 8337 </button> 8338 8339 </div> 8340 </form> 8341 </div> 8342 8343 <a href="https://www.justspices.de/starter-set.html" class="button secondary w-full mb-2 laptop:mb-4">Zur Produktseite</a> 8344 <button onclick="openProductContentPopup('buy-section-starter-set')" class="rounded-15 bg-main-white px-1 py-0.5 fs-12">Welche Produkte sind enthalten?</button> 8345 <div class="product-content-popup hidden"> 8346 <div class="close-button absolute top-2 right-2 z-10" onclick="closePopup()"> 8347 <i class="fal fa-times"></i> 8348 </div> 8349 <div class="mt-13"> 8350 <p class="font-recoleta text-xl mb-3 text-left laptop:text-center"> 8351 Welche Produkte sind enthalten? </p> 8352<div class="bundle-children-container"> 8353 <div id="child-product-slider" class="javascript-slider-wrapper children-slider" aria-label="Produkt Slider"> 8354 <div class="controls"> 8355 <button class="button_left" aria-label="Vorheriges Element"> 8356 <svg aria-hidden="true" id="svg-left-arrow-animation" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewbox="-10 -13 460 390" shape-rendering="geometricPrecision" text-rendering="geometricPrecision"> 8357 <line id="svg-left-arrow-animation-animation-line" x1="400" y1="182" x2="20" y2="182" transform="matrix(-.955605 0 0 1.005502 435.573342-1.004115)" opacity="0" fill="none" stroke="#000" stroke-width="60" stroke-linecap="round" stroke-miterlimit="1" stroke-dashoffset="380" stroke-dasharray="380"></line><g id="svg-left-arrow-animation-arrow" transform="translate(200.75688,181.997249)"><polyline points="255.6,345 413.1,182.6 255.6,20" transform="scale(-1,1) translate(-334.350006,-182.5)" fill="none" stroke="#000" stroke-width="60" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"></polyline></g> 8358 </svg> 8359 </button> 8360 <button class="button_right" aria-label="Nächstes Element"> 8361 <svg aria-hidden="true" id="svg-right-arrow-animation" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewbox="-10 -13 455 390" shape-rendering="geometricPrecision" text-rendering="geometricPrecision"> 8362 <line id="svg-right-arrow-animation-animation-line" x1="400" y1="182" x2="20" y2="182" transform="matrix(.955605 0 0 1.005502 0.8879-1.004115
8362)" opacity="0" fill="none" stroke="#000" stroke-width="60" stroke-linecap="round" stroke-miterlimit="1" stroke-dashoffset="380" stroke-dasharray="380"></line><g id="svg-right-arrow-animation-arrow" transform="translate(233.234697,182.5)"><polyline points="255.6,345 413.1,182.6 255.6,20" transform="translate(-334.350006,-182.5)" fill="none" stroke="#000" stroke-width="60" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"></polyline></g> 8363 </svg> 8364 </button> 8365 </div> 8366 <div class="javascript-slider" role="group" aria-roledescription="carousel" aria-label="Produkte"> 8367 <div class="child product-3708" aria-label="Element 1 von 14"> 8368 <div class="inner_child_slider"> 8369 <div class="recipe-background-image-container"> 8370 <picture> 8371 8372 <source type="image/webp" data-srcset=" 8373 https://www.justspices.de/media/opti_image/webp/catalog/product/s/l/slider-2-aglio-e-olio-gewuerz-gsa_1_1.webp"> 8374 8375 <source type="image/png" 8376 data-srcset=" 8377 https://www.justspices.de/media/catalog/product/s/l/slider-2-aglio-e-olio-gewuerz-gsa_1_1.png"> 8378 8379 <img class="lozad recipeImage" data-src="https://www.justspices.de/media/catalog/product/s/l/slider-2-aglio-e-olio-gewuerz-gsa_1_1.png"> </picture> 8380 8381 8382 </div> 8383 <div class="product-image-container text-center"> 8384 <a href="https://www.justspices.de/aglio-e-olio-gewuerzmix.html"> 8385 <picture> 8386 8387 <source type="image/webp" data-srcset=" 8388 https://www.justspices.de/media/opti_image/webp/catalog/product/cache/979fc038911954998ac1859001db96e0/a/g/aglio-e-olio-gewuerzmix-de-can-standing-with-close-up-ws-shop_1__1_1.webp"> 8389 8390 <source type="image/png" 8391 data-srcset=" 8392 https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/a/g/aglio-e-olio-gewuerzmix-de-can-standing-with-close-up-ws-shop_1__1_1.png"> 8393 8394 <img class="lozad productImage" data-src="https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/a/g/aglio-e-olio-gewuerzmix-de-can-standing-with-close-up-ws-shop_1__1_1.png"> </picture> 8395 8396 8397 </a> 8398 </div> 8399 <div class="content"> 8400 <p class="product-name">Aglio e Olio Gewürzmix</p> 8401 <p class="weight">50 g</p> 8402 <div class="tabs mt-2"> 8403 <div class="tab-header-container flex justify-center"> 8404 <div data-role="collapsible" id="header-informations" class="tab-header active"> 8405 <a onclick="openChildProductTab(event, 3708, 'informations-3708')" data-event="ev" data-category="product detail page" data-action="informations" data-toggle="trigger" data-open="informations-3708" class="child-product-tabs button-small w-auto secondary px-2"> 8406 <p>
8406Information</p> 8407 </a> 8408 </div> 8409 <div data-role="collapsible" id="header-ingredients" class="tab-header"> 8410 <a onclick="openChildProductTab(event,3708, 'ingredients-3708')" data-event="ev" data-category="product detail page" data-action="ingredients" data-toggle="trigger" data-open="ingredients-3708" class="child-product-tabs button-small w-auto secondary px-2"> 8411 <p>Zutaten</p> 8412 </a> 8413 </div> 8414 <div data-role="collapsible" id="header-nutrition" class="tab-header"> 8415 <a onclick="openChildProductTab(event,3708, 'nutrition-3708')" data-event="ev" data-category="product detail page" data-action="nutritions" data-toggle="trigger" data-open="nutrition-3708" data-type="toggle" class="child-product-tabs button-small w-auto secondary px-2"> 8416 <p>Nährwerte</p> 8417 </a> 8418 </div> 8419 </div> 8420 <div id="tab-element-content"> 8421 <div id="informations-3708" class="child-product-information-tab-content information-tab" data-role="content"> 8422 <ul><li><span style="font-weight: 400;">Nur mit Olivenöl und Nudeln mischen</span></li><li><span style="font-weight: 400;">Mit Chili, Knobi, Petersilie, Zwiebel & mehr</span></li><li><span style="font-weight: 400;">Wenns mal schnell gehen muss, aber lecker</span></li></ul> </div> 8423 <div id="ingredients-3708" class="child-product-information-tab-content ingredients-tab" data-role="content"> 8424 <div class="fs-14 lh-20 mb-2"> 8425 Gewürzzubereitung für Pasta Aglio e Olio <br> 8426 Zutaten: 8427 32 % Knoblauch, Tomate, Meersalz, Chili, Petersilie, Zwiebel, schwarzer Pfeffer, Oregano. </div> 8428 <p class="allergic fs-11 lh-18">Kann Spuren von <strong>glutenhaltigem Getreide</strong>, <strong>Ei</strong>, <strong>Milch</strong>, <strong>Mandeln</strong>, <strong>Senf</strong>, <strong>Sellerie</strong>, <strong>Sesamsamen</strong> und <strong>Erdnüssen</strong> enthalten. <br> 8429 Kühl und trocken lagern. </p> 8430 <div role="tablist" class="accordion"> 8431 <div data-role="collapsible"> 8432 <div data-role="trigger"> 8433 <p class="toggle-further-notice text-xs underline show-more" onclick="openHintChildrenSlider(event)">Weitere Hinweise</p> 8434 <p class="toggle-further-notice text-xs underline show-less" onclick="closeHintChildrenSlider(event)">Weitere Hinweise ausblenden</p> 8435 </div> 8436 </div> 8437 <div data-role="content" class="further-hints"> 8438 <p class="further-notice text-xs pt-2 pb-2">Wir sind stets bemüht auf Basis deines Feedbacks unsere Produkte zu verbessern. Deshalb können unsere Inhaltsstoffe und damit verbunden die Liste an Inhaltsstoffen von Zeit zu Zeit kleinen Veränderungen unterliegen. Die aktuellsten Informationen kannst du auf der jeweiligen Produktverpackung nachlesen.</p> 8439 <p class="further-notice text-xs">Die Konsistenz und Farbe der natürlichen Inhaltsstoffe in unseren Produkten kann je nach Temperatur und Anbaubedingungen leichte Unterschiede aufweisen. Auch wenn sich deren Erscheinungsbild dadurch leicht verändern kann, beeinträchtigt dies nicht die Qualität der Produkte.</p> 8440 </div> 8441 </div> 8442 </div> 8443 <div id="nutrition-3708" class="child-product-information-tab-content nutrition-tab" data-role="content"> 8444 <div id="nutritionfacts"> 8445 <table cellspacing="0" cellpadding="0" class="w-full"> 8446 <tbody> 8447 <tr> 8448 <td class="table-headline"> 8449 <div class="label label-headline">Durchschnittliche <br>Nährwerte</div> 8450 <div class="nutrition-value label-headline text-right"> 8451 pro <br> 100 g </div> 8452 </td> 8453 </tr> 8454 <tr> 8455 <td> 8456 <div class="line"> 8457 <div class="label">Energie</div> 8458 <div class="nutrition-value">1056kJ/251kcal</div> 8459 </div> 8460 </td> 8461 </tr> 8462 <tr> 8463 <td> 8464 <div class="line"> 8465 <div class="label">Fett</div> 8466 <div class="nutrition-value">3,0g</div> 8467 </div> 8468 </td> 8469 </tr> 8470 <tr> 8471 <td> 8472 <div class="line"> 8473 <div class="label">davon gesättigte Fettsäuren</div> 8474 <div class="nutrition-value">0,6g</div> 8475 </div> 8476 </td> 8477 </tr> 8478 <tr> 8479 <td> 8480 <div class="line"> 8481 <div class="label">Kohlenhydrate</div> 8482 <div class="nutrition-value">39,5g</div> 8483 </div> 8484 </td> 8485 </tr> 8486 <tr> 8487 <td> 8488 <div class="line"> 8489 <div class="label">davon Zucker</div> 8490 <div class="nutrition-value">
849022,0g</div> 8491 </div> 8492 </td> 8493 </tr> 8494 <tr> 8495 <td> 8496 <div class="line"> 8497 <div class="label">Ballaststoffe</div> 8498 <div class="nutrition-value">10,6g</div> 8499 </div> 8500 </td> 8501 </tr> 8502 <tr> 8503 <td> 8504 <div class="line"> 8505 <div class="label">EiweiÃ</div> 8506 <div class="nutrition-value">11,2g</div> 8507 </div> 8508 </td> 8509 </tr> 8510 <tr> 8511 <td> 8512 <div class="line"> 8513 <div class="label">Salz</div> 8514 <div class="nutrition-value">16,9g</div> 8515 </div> 8516 </td> 8517 </tr> 8518 </tbody> 8519 </table> 8520 </div> 8521 </div> 8522 </div> 8523 </div> 8524 </div> 8525 </div> 8526 </div> 8527 <div class="child product-4932" aria-label="Element 2 von 14"> 8528 <div class="inner_child_slider"> 8529 <div class="recipe-background-image-container"> 8530 <picture> 8531 8532 <source type="image/webp" data-srcset=" 8533 https://www.justspices.de/media/opti_image/webp/catalog/product/s/l/slider-2-knoblauch-petersilien-mix.webp"> 8534 8535 <source type="image/png" 8536 data-srcset=" 8537 https://www.justspices.de/media/catalog/product/s/l/slider-2-knoblauch-petersilien-mix.png"> 8538 8539 <img class="lozad recipeImage" data-src="https://www.justspices.de/media/catalog/product/s/l/slider-2-knoblauch-petersilien-mix.png"> </picture> 8540 8541 8542 </div> 8543 <div class="product-image-container text-center"> 8544 <a href="https://www.justspices.de/knoblauch-petersilien-mix.html"> 8545 <picture> 8546 8547 <source type="image/webp" data-srcset=" 8548 https://www.justspices.de/media/opti_image/webp/catalog/product/cache/979fc038911954998ac1859001db96e0/k/n/knoblauch-petersilien-mix-de-can-standing-with-close-up-ws-shop_1_.webp"> 8549 8550 <source type="image/png" 8551 data-srcset=" 8552 https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/k/n/knoblauch-petersilien-mix-de-can-standing-with-close-up-ws-shop_1_.png"> 8553 8554 <img class="lozad productImage" data-src="https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/k/n/knoblauch-petersilien-mix-de-can-standing-with-close-up-ws-shop_1_.png"> </picture> 8555 8556 8557 </a> 8558 </div> 8559 <div class="content"> 8560 <p class="product-name">Knoblauch Petersilien Mix</p> 8561 <p class="weight">50 g</p> 8562 <div class="tabs mt-2"> 8563 <div class="tab-header-container flex justify-center"> 8564 <div data-role="collapsible" id="header-informations" class="tab-header active"> 8565 <a onclick="openChildProductTab(event, 4932, 'informations-4932')" data-event="ev" data-category="product detail page" data-action="informations" data-toggle="trigger" data-open="informations-4932" class="child-product-tabs button-small w-auto secondary px-2"> 8566 <p>
8566Information</p> 8567 </a> 8568 </div> 8569 <div data-role="collapsible" id="header-ingredients" class="tab-header"> 8570 <a onclick="openChildProductTab(event,4932, 'ingredients-4932')" data-event="ev" data-category="product detail page" data-action="ingredients" data-toggle="trigger" data-open="ingredients-4932" class="child-product-tabs button-small w-auto secondary px-2"> 8571 <p>Zutaten</p> 8572 </a> 8573 </div> 8574 <div data-role="collapsible" id="header-nutrition" class="tab-header"> 8575 <a onclick="openChildProductTab(event,4932, 'nutrition-4932')" data-event="ev" data-category="product detail page" data-action="nutritions" data-toggle="trigger" data-open="nutrition-4932" data-type="toggle" class="child-product-tabs button-small w-auto secondary px-2"> 8576 <p>Nährwerte</p> 8577 </a> 8578 </div> 8579 </div> 8580 <div id="tab-element-content"> 8581 <div id="informations-4932" class="child-product-information-tab-content information-tab" data-role="content"> 8582 <ul><li>Würze oder toppe damit jedes Gericht</li><li>Mit dreifach Knoblauch, Petersilie & mehr</li><li>
8582Eine so leckere Kombi, die Du lieben wirst</li></ul> </div> 8583 <div id="ingredients-4932" class="child-product-information-tab-content ingredients-tab" data-role="content"> 8584 <div class="fs-14 lh-20 mb-2"> 8585 Gewürzzubereitung mit Knoblauch (64 %) und Petersilie (21 %) <br> 8586 Zutaten: 8587 Knoblauch, Petersilie, Meersalz, schwarzer Knoblauch, getoasteter Knoblauch. </div> 8588 <p class="allergic fs-11 lh-18">Kann Spuren von <strong>glutenhaltigem Getreide</strong>, <strong>Ei</strong>, <strong>Milch</strong>, <strong>Mandeln</strong>, <strong>Senf</strong>, <strong>Sellerie</strong>, <strong>Sesamsamen</strong> und <strong>Erdnüssen</strong> enthalten. <br> 8589 Kühl und trocken lagern. </p> 8590 <div role="tablist" class="accordion"> 8591 <div data-role="collapsible"> 8592 <div data-role="trigger"> 8593 <p class="toggle-further-notice text-xs underline show-more" onclick="openHintChildrenSlider(event)">Weitere Hinweise</p> 8594 <p class="toggle-further-notice text-xs underline show-less" onclick="closeHintChildrenSlider(event)">Weitere Hinweise ausblenden</p> 8595 </div> 8596 </div> 8597 <div data-role="content" class="further-hints"> 8598 <p class="further-notice text-xs pt-2 pb-2">Wir sind stets bemüht auf Basis deines Feedbacks unsere Produkte zu verbessern. Deshalb können unsere Inhaltsstoffe und damit verbunden die Liste an Inhaltsstoffen von Zeit zu Zeit kleinen Veränderungen unterliegen. Die aktuellsten Informationen kannst du auf der jeweiligen Produktverpackung nachlesen.</p> 8599 <p class="further-notice text-xs">Die Konsistenz und Farbe der natürlichen Inhaltsstoffe in unseren Produkten kann je nach Temperatur und Anbaubedingungen leichte Unterschiede aufweisen. Auch wenn sich deren Erscheinungsbild dadurch leicht verändern kann, beeinträchtigt dies nicht die Qualität der Produkte.</p> 8600 </div> 8601 </div> 8602 </div> 8603 <div id="nutrition-4932" class="child-product-information-tab-content nutrition-tab" data-role="content"> 8604 <div id="nutritionfacts"> 8605 <table cellspacing="0" cellpadding="0" class="w-full"> 8606 <tbody> 8607 <tr> 8608 <td class="table-headline"> 8609 <div class="label label-headline">Durchschnittliche <br>Nährwerte</div> 8610 <div class="nutrition-value label-headline text-right"> 8611 pro <br> 100 g </div> 8612 </td> 8613 </tr> 8614 <tr> 8615 <td> 8616 <div class="line"> 8617 <div class="label">Energie</div> 8618 <div class="nutrition-value">1225 kJ /289 kcal</div> 8619 </div> 8620 </td> 8621 </tr> 8622 <tr> 8623 <td> 8624 <div class="line"> 8625 <div class="label">Fett</div> 8626 <div class="nutrition-value">0,6 g</div> 8627 </div> 8628 </td> 8629 </tr> 8630 <tr> 8631 <td> 8632 <div class="line"> 8633 <div class="label">davon gesättigte Fettsäuren</div> 8634 <div class="nutrition-value">0,1 g</div> 8635 </div> 8636 </td> 8637 </tr> 8638 <tr> 8639 <td> 8640 <div class="line"> 8641 <div class="label">Kohlenhydrate</div> 8642 <div class="nutrition-value">52,1 g</div> 8643 </div> 8644 </td> 8645 </tr> 8646 <tr> 8647 <td> 8648 <div class="line"> 8649 <div class="label">davon Zucker</div> 8650 <div class="nutrition-value">19,3 g</div> 8651 </div> 8652 </td> 8653 </tr> 8654 <tr> 8655 <td> 8656 <div class="line"> 8657 <div class="label">Ballaststoffe</div> 8658 <div class="nutrition-value">7,7 g</div> 8659 </div> 8660 </td> 8661 </tr> 8662 <tr> 8663 <td> 8664 <div class="line"> 8665 <div class="label">EiweiÃ</div> 8666 <div class="nutrition-value">15,0 g</div> 8667 </div> 8668 </td> 8669 </tr> 8670 <tr> 8671 <td> 8672 <div class="line"> 8673 <div class="label">Salz</div> 8674 <div class="nutrition-value">14,6 g</div> 8675 </div> 8676 </td> 8677 </tr> 8678 </tbody> 8679 </table> 8680 </div> 8681 </div> 8682 </div> 8683 </div> 8684 </div> 8685 </div>
8686 </div> 8687 <div class="child product-5573" aria-label="Element 3 von 14"> 8688 <div class="inner_child_slider"> 8689 <div class="recipe-background-image-container"> 8690 <picture> 8691 8692 <source type="image/webp" data-srcset=" 8693 https://www.justspices.de/media/opti_image/webp/catalog/product/s/l/slider-2-ofengemuese-gewuerzmix-gsa_1_2.webp"> 8694 8695 <source type="image/png" 8696 data-srcset=" 8697 https://www.justspices.de/media/catalog/product/s/l/slider-2-ofengemuese-gewuerzmix-gsa_1_2.png"> 8698 8699 <img class="lozad recipeImage" data-src="https://www.justspices.de/media/catalog/product/s/l/slider-2-ofengemuese-gewuerzmix-gsa_1_2.png"> </picture> 8700 8701 8702 </div> 8703 <div class="product-image-container text-center"> 8704 <a href="https://www.justspices.de/ofengemuese-gewuerzmix.html"> 8705 <picture> 8706 8707 <source type="image/webp" data-srcset=" 8708 https://www.justspices.de/media/opti_image/webp/catalog/product/cache/979fc038911954998ac1859001db96e0/o/f/ofengemuese-gewuerzmix-de-can-standing-with-close-up-ws-shop_1_1.webp"> 8709 8710 <source type="image/png" 8711 data-srcset=" 8712 https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/o/f/ofengemuese-gewuerzmix-de-can-standing-with-close-up-ws-shop_1_1.png"> 8713 8714 <img class="lozad productImage" data-src="https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/o/f/ofengemuese-gewuerzmix-de-can-standing-with-close-up-ws-shop_1_1.png"> </picture> 8715 8716 8717 </a> 8718 </div> 8719 <div class="content"> 8720 <p class="product-name">Ofengemüse Gewürzmix</p> 8721 <p class="weight">50 g</p> 8722 <div class="tabs mt-2"> 8723 <div class="tab-header-container flex justify-center"> 8724 <div data-role="collapsible" id="header-informations" class="tab-header active"> 8725 <a onclick="openChildProductTab(event, 5573, 'informations-5573')" data-event="ev" data-category="product detail page" data-action="informations" data-toggle="trigger" data-open="informations-5573" class="child-product-tabs button-small w-auto secondary px-2"> 8726 <p>
8726Information</p> 8727 </a> 8728 </div> 8729 <div data-role="collapsible" id="header-ingredients" class="tab-header"> 8730 <a onclick="openChildProductTab(event,5573, 'ingredients-5573')" data-event="ev" data-category="product detail page" data-action="ingredients" data-toggle="trigger" data-open="ingredients-5573" class="child-product-tabs button-small w-auto secondary px-2"> 8731 <p>Zutaten</p> 8732 </a> 8733 </div> 8734 <div data-role="collapsible" id="header-nutrition" class="tab-header"> 8735 <a onclick="openChildProductTab(event,5573, 'nutrition-5573')" data-event="ev" data-category="product detail page" data-action="nutritions" data-toggle="trigger" data-open="nutrition-5573" data-type="toggle" class="child-product-tabs button-small w-auto secondary px-2"> 8736 <p>Nährwerte</p> 8737 </a> 8738 </div> 8739 </div> 8740 <div id="tab-element-content"> 8741 <div id="informations-5573" class="child-product-information-tab-content information-tab" data-role="content"> 8742 <ul><li><span style="font-weight: 400;">Aubergine bis Zucchini mediterran würzen</span></li><li><span style="font-weight: 400;">Mit Kräuter, Knoblauch, Zwiebel und mehr</span></li><li><span style="font-weight: 400;">Hiermit isst Du freiwillig jeden Tag Gemüse</span></li></ul> </div> 8743 <div id="ingredients-5573" class="child-product-information-tab-content ingredients-tab" data-role="content"> 8744 <div class="fs-14 lh-20 mb-2"> 8745 Würzmischung für Ofengemüse <br> 8746 Zutaten: 8747 Rote Zwiebel, Meersalz, roter Paprika, Tomate, Pastinake, Knoblauch, Thymian, schwarzer Pfeffer, Koriander, Oregano, Chili, Fenchelsaat. </div> 8748 <p class="allergic fs-11 lh-18">Kann Spuren von <strong>glutenhaltigem Getreide</strong>, <strong>Ei</strong>, <strong>Milch</strong>, <strong>Mandeln</strong>, <strong>Senf</strong>, <strong>Sellerie</strong>, <strong>Sesamsamen</strong> und <strong>Erdnüssen</strong> enthalten. <br> 8749 Kühl und trocken lagern. </p> 8750 <div role="tablist" class="accordion"> 8751 <div data-role="collapsible"> 8752 <div data-role="trigger"> 8753 <p class="toggle-further-notice text-xs underline show-more" onclick="openHintChildrenSlider(event)">Weitere Hinweise</p> 8754 <p class="toggle-further-notice text-xs underline show-less" onclick="closeHintChildrenSlider(event)">Weitere Hinweise ausblenden</p> 8755 </div> 8756 </div> 8757 <div data-role="content" class="further-hints"> 8758 <p class="further-notice text-xs pt-2 pb-2">Wir sind stets bemüht auf Basis deines Feedbacks unsere Produkte zu verbessern. Deshalb können unsere Inhaltsstoffe und damit verbunden die Liste an Inhaltsstoffen von Zeit zu Zeit kleinen Veränderungen unterliegen. Die aktuellsten Informationen kannst du auf der jeweiligen Produktverpackung nachlesen.</p> 8759 <p class="further-notice text-xs">Die Konsistenz und Farbe der natürlichen Inhaltsstoffe in unseren Produkten kann je nach Temperatur und Anbaubedingungen leichte Unterschiede aufweisen. Auch wenn sich deren Erscheinungsbild dadurch leicht verändern kann, beeinträchtigt dies nicht die Qualität der Produkte.</p> 8760 </div> 8761 </div> 8762 </div> 8763 <div id="nutrition-5573" class="child-product-information-tab-content nutrition-tab" data-role="content"> 8764 <div id="nutritionfacts"> 8765 <table cellspacing="0" cellpadding="0" class="w-full"> 8766 <tbody> 8767 <tr> 8768 <td class="table-headline"> 8769 <div class="label label-headline">Durchschnittliche <br>Nährwerte</div> 8770 <div class="nutrition-value label-headline text-right"> 8771 pro <br> 100 g </div> 8772 </td> 8773 </tr> 8774 <tr> 8775 <td> 8776 <div class="line"> 8777 <div class="label">Energie</div> 8778 <div class="nutrition-value">1074kJ/256kcal</div> 8779 </div> 8780 </td> 8781 </tr> 8782 <tr> 8783 <td> 8784 <div class="line"> 8785 <div class="label">Fett</div> 8786 <div class="nutrition-value">4,1g</div> 8787 </div> 8788 </td> 8789 </tr> 8790 <tr> 8791 <td> 8792 <div class="line"> 8793 <div class="label">davon gesättigte Fettsäuren</div> 8794 <div class="nutrition-value">0,8g</div> 8795 </div> 8796 </td> 8797 </tr> 8798 <tr> 8799 <td> 8800 <div class="line"> 8801 <div class="label">Kohlenhydrate</div> 8802 <div class="nutrition-value">34,3g</div> 8803 </div> 8804 </td> 8805 </tr> 8806 <tr> 8807 <td> 8808 <div class="line"> 8809 <div class="label">davon Zucker</div> 8810 <div class="nutrition-value">26,1g</div> 8811 </div> 8812 </td> 8813 </tr> 8814 <tr> 8815 <td> 8816 <div class="line"> 8817 <div class="label">Ballaststoffe</div> 8818 <div class="nutrition-value">19,2g</div> 8819 </div> 8820 </td> 8821 </tr> 8822 <tr> 8823 <td> 8824 <div class="line"> 8825 <div class="label">EiweiÃ</div> 8826 <div class="nutrition-value">10,8g</div> 8827 </div> 8828 </td> 8829 </tr> 8830 <tr> 8831 <td> 8832 <div class="line"> 8833 <div class="label">Salz</div> 8834 <div class="nutrition-value">18,6g</div> 8835 </div> 8836 </td> 8837 </tr> 8838 </tbody> 8839 </table> 8840 </div> 8841 </div> 8842 </div> 8843 </div> 8844 </div> 8845 </div>
8846 </div> 8847 <div class="child product-7577" aria-label="Element 4 von 14"> 8848 <div class="inner_child_slider"> 8849 <div class="recipe-background-image-container"> 8850 <picture> 8851 8852 <source type="image/webp" data-srcset=" 8853 https://www.justspices.de/media/opti_image/webp/catalog/product/s/l/slider-2-zitronen-kraeuter-mix.webp"> 8854 8855 <source type="image/png" 8856 data-srcset=" 8857 https://www.justspices.de/media/catalog/product/s/l/slider-2-zitronen-kraeuter-mix.png"> 8858 8859 <img class="lozad recipeImage" data-src="https://www.justspices.de/media/catalog/product/s/l/slider-2-zitronen-kraeuter-mix.png"> </picture> 8860 8861 8862 </div> 8863 <div class="product-image-container text-center"> 8864 <a href="https://www.justspices.de/zitronen-kraeuter-mix.html"> 8865 <picture> 8866 8867 <source type="image/webp" data-srcset=" 8868 https://www.justspices.de/media/opti_image/webp/catalog/product/cache/979fc038911954998ac1859001db96e0/z/i/zitronen-kraeuter-mix-de-can-standing-with-close-up-ws-shop_1.webp"> 8869 8870 <source type="image/png" 8871 data-srcset=" 8872 https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/z/i/zitronen-kraeuter-mix-de-can-standing-with-close-up-ws-shop_1.png"> 8873 8874 <img class="lozad productImage" data-src="https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/z/i/zitronen-kraeuter-mix-de-can-standing-with-close-up-ws-shop_1.png"> </picture> 8875 8876 8877 </a> 8878 </div> 8879 <div class="content"> 8880 <p class="product-name">Zitronen Kräuter Mix</p> 8881 <p class="weight">60 g</p> 8882 <div class="tabs mt-2"> 8883 <div class="tab-header-container flex justify-center"> 8884 <div data-role="collapsible" id="header-informations" class="tab-header active"> 8885 <a onclick="openChildProductTab(event, 7577, 'informations-7577')" data-event="ev" data-category="product detail page" data-action="informations" data-toggle="trigger" data-open="informations-7577" class="child-product-tabs button-small w-auto secondary px-2"> 8886 <p>
8886Information</p> 8887 </a> 8888 </div> 8889 <div data-role="collapsible" id="header-ingredients" class="tab-header"> 8890 <a onclick="openChildProductTab(event,7577, 'ingredients-7577')" data-event="ev" data-category="product detail page" data-action="ingredients" data-toggle="trigger" data-open="ingredients-7577" class="child-product-tabs button-small w-auto secondary px-2"> 8891 <p>Zutaten</p> 8892 </a> 8893 </div> 8894 <div data-role="collapsible" id="header-nutrition" class="tab-header"> 8895 <a onclick="openChildProductTab(event,7577, 'nutrition-7577')" data-event="ev" data-category="product detail page" data-action="nutritions" data-toggle="trigger" data-open="nutrition-7577" data-type="toggle" class="child-product-tabs button-small w-auto secondary px-2"> 8896 <p>Nährwerte</p> 8897 </a> 8898 </div> 8899 </div> 8900 <div id="tab-element-content"> 8901 <div id="informations-7577" class="child-product-information-tab-content information-tab" data-role="content"> 8902 <ul><li>Für Geflügel, Tofu, Gemüse, SoÃen & mehr</li><li>Mit Zitronenmyrte, Kräutern, Ingwer & mehr</li><li>Dieser Mix ist fresher als der Prince von Bel Air</li></ul> </div> 8903 <div id="ingredients-7577" class="child-product-information-tab-content ingredients-tab" data-role="content"> 8904 <div class="fs-14 lh-20 mb-2"> 8905 Gewürzzubereitung mit Zitrone und Kräutern <br> 8906 Zutaten: 8907 Paprika edelsüÃ, rosa Kristallsalz, 12 % Kräuter (Petersilie, Thymian, Oregano, Rosmarin), Zwiebel, Knoblauch, Lauch. 7 % Zitronenschale, schwarzer Tellicherry Pfeffer, Ingwer, Zitronenmyrte, grüner Pfeffer, getoastete Zwiebel, Kurkuma. </div> 8908 <p class="allergic fs-11 lh-18">Kann Spuren von <strong>glutenhaltigem Getreide</strong>, <strong>Ei</strong>, <strong>Milch</strong>, <strong>Mandeln</strong>, <strong>Senf</strong>, <strong>Sellerie</strong>, <strong>Sesamsamen</strong> und <strong>Erdnüssen</strong> enthalten. <br> 8909 Kühl und trocken lagern. </p> 8910 <div role="tablist" class="accordion"> 8911 <div data-role="collapsible"> 8912 <div data-role="trigger"> 8913 <p class="toggle-further-notice text-xs underline show-more" onclick="openHintChildrenSlider(event)">Weitere Hinweise</p> 8914 <p class="toggle-further-notice text-xs underline show-less" onclick="closeHintChildrenSlider(event)">Weitere Hinweise ausblenden</p> 8915 </div> 8916 </div> 8917 <div data-role="content" class="further-hints"> 8918 <p class="further-notice text-xs pt-2 pb-2">Wir sind stets bemüht auf Basis deines Feedbacks unsere Produkte zu verbessern. Deshalb können unsere Inhaltsstoffe und damit verbunden die Liste an Inhaltsstoffen von Zeit zu Zeit kleinen Veränderungen unterliegen. Die aktuellsten Informationen kannst du auf der jeweiligen Produktverpackung nachlesen.</p> 8919 <p class="further-notice text-xs">Die Konsistenz und Farbe der natürlichen Inhaltsstoffe in unseren Produkten kann je nach Temperatur und Anbaubedingungen leichte Unterschiede aufweisen. Auch wenn sich deren Erscheinungsbild dadurch leicht verändern kann, beeinträchtigt dies nicht die Qualität der Produkte.</p> 8920 </div> 8921 </div> 8922 </div> 8923 <div id="nutrition-7577" class="child-product-information-tab-content nutrition-tab" data-role="content"> 8924 <div id="nutritionfacts"> 8925 <table cellspacing="0" cellpadding="0" class="w-full"> 8926 <tbody> 8927 <tr> 8928 <td class="table-headline"> 8929 <div class="label label-headline">Durchschnittliche <br>Nährwerte</div> 8930 <div class="nutrition-value label-headline text-right"> 8931 pro <br> 100 g </div> 8932 </td> 8933 </tr> 8934 <tr> 8935 <td> 8936 <div class="line"> 8937 <div class="label">Energie</div> 8938 <div class="nutrition-value">1036kJ/247kcal</div> 8939 </div> 8940 </td> 8941 </tr> 8942 <tr> 8943 <td> 8944 <div class="line"> 8945 <div class="label">Fett</div> 8946 <div class="nutrition-value">4,2g</div> 8947 </div> 8948 </td> 8949 </tr> 8950 <tr> 8951 <td> 8952 <div class="line"> 8953 <div class="label">davon gesättigte Fettsäuren</div> 8954 <div class="nutrition-value">0,9g</div> 8955 </div> 8956 </td> 8957 </tr> 8958 <tr> 8959 <td> 8960 <div class="line"> 8961 <div class="label">Kohlenhydrate</div> 8962 <div class="nutrition-value">34,4g</div> 8963 </div> 8964 </td> 8965 </tr> 8966 <tr> 8967 <td> 8968 <div class="line"> 8969 <div class="label">davon Zucker</div> 8970 <div class="nutrition-value">25,9g</div> 8971 </div> 8972 </td> 8973 </tr> 8974 <tr> 8975 <td> 8976 <div class="line"> 8977 <div class="label">Ballaststoffe</div> 8978 <div class="nutrition-value">14,7g</div> 8979 </div> 8980 </td> 8981 </tr> 8982 <tr> 8983 <td> 8984 <div class="line"> 8985 <div class="label">EiweiÃ</div> 8986 <div class="nutrition-value">10,6g</div> 8987 </div> 8988 </td> 8989 </tr> 8990 <tr> 8991 <td> 8992 <div class="line"> 8993 <div class="label">Salz</div> 8994 <div class="nutrition-value">14,6g</div> 8995 </div> 8996 </td> 8997 </tr> 8998 </tbody> 8999 </table> 9000 </div> 9001 </div> 9002 </div> 9003 </div> 9004 </div> 9005 </div>
9006 </div> 9007 <div class="child product-4405" aria-label="Element 5 von 14"> 9008 <div class="inner_child_slider"> 9009 <div class="recipe-background-image-container"> 9010 <picture> 9011 9012 <source type="image/webp" data-srcset=" 9013 https://www.justspices.de/media/opti_image/webp/catalog/product/d/e/detail-avocado-topping_1_2_1.webp"> 9014 9015 <source type="image/png" 9016 data-srcset=" 9017 https://www.justspices.de/media/catalog/product/d/e/detail-avocado-topping_1_2_1.png"> 9018 9019 <img class="lozad recipeImage" data-src="https://www.justspices.de/media/catalog/product/d/e/detail-avocado-topping_1_2_1.png"> </picture> 9020 9021 9022 </div> 9023 <div class="product-image-container text-center"> 9024 <a href="https://www.justspices.de/avocado-topping-minituetchen.html"> 9025 <picture> 9026 9027 <source type="image/webp" data-srcset=" 9028 https://www.justspices.de/media/opti_image/webp/catalog/product/cache/979fc038911954998ac1859001db96e0/d/e/de-avocado-topping-spice-bag-relaunch_1_.webp"> 9029 9030 <source type="image/png" 9031 data-srcset=" 9032 https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/d/e/de-avocado-topping-spice-bag-relaunch_1_.png"> 9033 9034 <img class="lozad productImage" data-src="https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/d/e/de-avocado-topping-spice-bag-relaunch_1_.png"> </picture> 9035 9036 9037 </a> 9038 </div> 9039 <div class="content"> 9040 <p class="product-name">Avocado Topping - Minitütchen</p> 9041 <p class="weight">7 g</p> 9042 <div class="tabs mt-2"> 9043 <div class="tab-header-container flex justify-center"> 9044 <div data-role="collapsible" id="header-informations" class="tab-header active"> 9045 <a onclick="openChildProductTab(event, 4405, 'informations-4405')" data-event="ev" data-category="product detail page" data-action="informations" data-toggle="trigger" data-open="informations-4405" class="child-product-tabs button-small w-auto secondary px-2"> 9046 <p>
9046Information</p> 9047 </a> 9048 </div> 9049 <div data-role="collapsible" id="header-ingredients" class="tab-header"> 9050 <a onclick="openChildProductTab(event,4405, 'ingredients-4405')" data-event="ev" data-category="product detail page" data-action="ingredients" data-toggle="trigger" data-open="ingredients-4405" class="child-product-tabs button-small w-auto secondary px-2"> 9051 <p>Zutaten</p> 9052 </a> 9053 </div> 9054 <div data-role="collapsible" id="header-nutrition" class="tab-header"> 9055 <a onclick="openChildProductTab(event,4405, 'nutrition-4405')" data-event="ev" data-category="product detail page" data-action="nutritions" data-toggle="trigger" data-open="nutrition-4405" data-type="toggle" class="child-product-tabs button-small w-auto secondary px-2"> 9056 <p>Nährwerte</p> 9057 </a> 9058 </div> 9059 </div> 9060 <div id="tab-element-content"> 9061 <div id="informations-4405" class="child-product-information-tab-content information-tab" data-role="content"> 9062 <ul> 9063<li>Für Avo-Brote, Guacamole, Bowls und Salate</li> 9064<li>Mit crunchy Meersalz, Sesam, Tomate & mehr</li> 9065<li>So lecker, die Avocado würde sich selbst essen</li> 9066</ul> </div> 9067 <div id="ingredients-4405" class="child-product-information-tab-content ingredients-tab" data-role="content"> 9068 <div class="fs-14 lh-20 mb-2"> 9069 Würzmischung für Avocado-Gerichte <br> 9070 Zutaten: 9071 Meersalzflocken, schwarzer <strong>Sesam</strong>, Tomate, schwarzer Tellicherry Pfeffer, Chili, rosa Beeren. </div> 9072 <p class="allergic fs-11 lh-18">Kann Spuren von <strong>glutenhaltigem Getreide</strong>, <strong>Ei</strong>, <strong>Milch</strong>, <strong>Mandeln</strong>, <strong>Senf</strong>, <strong>Sellerie</strong> und <strong>Erdnüssen</strong> enthalten. <br> 9073 Kühl und trocken lagern. </p> 9074 <div role="tablist" class="accordion"> 9075 <div data-role="collapsible"> 9076 <div data-role="trigger"> 9077 <p class="toggle-further-notice text-xs underline show-more" onclick="openHintChildrenSlider(event)">Weitere Hinweise</p> 9078 <p class="toggle-further-notice text-xs underline show-less" onclick="closeHintChildrenSlider(event)">Weitere Hinweise ausblenden</p> 9079 </div> 9080 </div> 9081 <div data-role="content" class="further-hints"> 9082 <p class="further-notice text-xs pt-2 pb-2">Wir sind stets bemüht auf Basis deines Feedbacks unsere Produkte zu verbessern. Deshalb können unsere Inhaltsstoffe und damit verbunden die Liste an Inhaltsstoffen von Zeit zu Zeit kleinen Veränderungen unterliegen. Die aktuellsten Informationen kannst du auf der jeweiligen Produktverpackung nachlesen.</p> 9083 <p class="further-notice text-xs">Die Konsistenz und Farbe der natürlichen Inhaltsstoffe in unseren Produkten kann je nach Temperatur und Anbaubedingungen leichte Unterschiede aufweisen. Auch wenn sich deren Erscheinungsbild dadurch leicht verändern kann, beeinträchtigt dies nicht die Qualität der Produkte.</p> 9084 </div> 9085 </div> 9086 </div> 9087 <div id="nutrition-4405" class="child-product-information-tab-content nutrition-tab" data-role="content"> 9088 <div id="nutritionfacts"> 9089 <table cellspacing="0" cellpadding="0" class="w-full"> 9090 <tbody> 9091 <tr> 9092 <td class="table-headline"> 9093 <div class="label label-headline">Durchschnittliche <br>Nährwerte</div> 9094 <div class="nutrition-value label-headline text-right"> 9095 pro <br> 100 g </div> 9096 </td> 9097 </tr> 9098 <tr> 9099 <td> 9100 <div class="line"> 9101 <div class="label">Energie</div> 9102 <div class="nutrition-value">1040kJ/251kcal</div> 9103 </div> 9104 </td> 9105 </tr> 9106 <tr> 9107 <td> 9108 <div class="line"> 9109 <div class="label">Fett</div> 9110 <div class="nutrition-value">17,7g</div> 9111 </div> 9112 </td> 9113 </tr> 9114 <tr> 9115 <td> 9116 <div class="line"> 9117 <div class="label">davon gesättigte Fettsäuren</div> 9118 <div class="nutrition-value">2,6g</div> 9119 </div> 9120 </td> 9121 </tr> 9122 <tr> 9123 <td> 9124 <div class="line"> 9125 <div class="label">Kohlenhydrate</div> 9126 <div class="nutrition-value">11,4g</div> 9127 </div> 9128 </td> 9129 </tr> 9130 <tr> 9131 <td> 9132 <div class="line"> 9133 <div class="label">davon Zucker</div> 9134 <div class="nutrition-value">8,2g</div> 9135 </div> 9136 </td> 9137 </tr> 9138 <tr> 9139 <td> 9140 <div class="line"> 9141 <div class="label">Ballaststoffe</div> 9142 <div class="nutrition-value">6,1g</div> 9143 </div> 9144 </td> 9145 </tr> 9146 <tr> 9147 <td> 9148 <div class="line"> 9149 <div class="label">EiweiÃ</div> 9150 <div class="nutrition-value">8,4g</div> 9151 </div> 9152 </td> 9153 </tr> 9154 <tr> 9155 <td> 9156 <div class="line"> 9157 <div class="label">Salz</div> 9158 <div class="nutrition-value">40,7g</div> 9159 </div> 9160 </td> 9161 </tr> 9162 </tbody> 9163 </table> 9164 </div> 9165 </div> 9166 </div> 9167 </div> 9168 </div> 9169 </div>
9170 </div> 9171 <div class="child product-6349" aria-label="Element 6 von 14"> 9172 <div class="inner_child_slider"> 9173 <div class="recipe-background-image-container"> 9174 <picture> 9175 9176 <source type="image/webp" data-srcset=" 9177 https://www.justspices.de/media/opti_image/webp/catalog/product/s/l/slider-2-haehnchen-allrounder_1.webp"> 9178 9179 <source type="image/png" 9180 data-srcset=" 9181 https://www.justspices.de/media/catalog/product/s/l/slider-2-haehnchen-allrounder_1.png"> 9182 9183 <img class="lozad recipeImage" data-src="https://www.justspices.de/media/catalog/product/s/l/slider-2-haehnchen-allrounder_1.png"> </picture> 9184 9185 9186 </div> 9187 <div class="product-image-container text-center"> 9188 <a href="https://www.justspices.de/haehnchen-allrounder-minituetchen.html"> 9189 <picture> 9190 9191 <source type="image/webp" data-srcset=" 9192 https://www.justspices.de/media/opti_image/webp/catalog/product/cache/979fc038911954998ac1859001db96e0/d/e/de-haehnchen-allrounder-spice-bag-relaunch-1000x1000.webp"> 9193 9194 <source type="image/png" 9195 data-srcset=" 9196 https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/d/e/de-haehnchen-allrounder-spice-bag-relaunch-1000x1000.png"> 9197 9198 <img class="lozad productImage" data-src="https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/d/e/de-haehnchen-allrounder-spice-bag-relaunch-1000x1000.png"> </picture> 9199 9200 9201 </a> 9202 </div> 9203 <div class="content"> 9204 <p class="product-name">Hähnchen Allrounder - Minitütchen</p> 9205 <p class="weight">8 g</p> 9206 <div class="tabs mt-2"> 9207 <div class="tab-header-container flex justify-center"> 9208 <div data-role="collapsible" id="header-informations" class="tab-header active"> 9209 <a onclick="openChildProductTab(event, 6349, 'informations-6349')" data-event="ev" data-category="product detail page" data-action="informations" data-toggle="trigger" data-open="informations-6349" class="child-product-tabs button-small w-auto secondary px-2"> 9210 <p>
9210Information</p> 9211 </a> 9212 </div> 9213 <div data-role="collapsible" id="header-ingredients" class="tab-header"> 9214 <a onclick="openChildProductTab(event,6349, 'ingredients-6349')" data-event="ev" data-category="product detail page" data-action="ingredients" data-toggle="trigger" data-open="ingredients-6349" class="child-product-tabs button-small w-auto secondary px-2"> 9215 <p>Zutaten</p> 9216 </a> 9217 </div> 9218 <div data-role="collapsible" id="header-nutrition" class="tab-header"> 9219 <a onclick="openChildProductTab(event,6349, 'nutrition-6349')" data-event="ev" data-category="product detail page" data-action="nutritions" data-toggle="trigger" data-open="nutrition-6349" data-type="toggle" class="child-product-tabs button-small w-auto secondary px-2"> 9220 <p>Nährwerte</p> 9221 </a> 9222 </div> 9223 </div> 9224 <div id="tab-element-content"> 9225 <div id="informations-6349" class="child-product-information-tab-content information-tab" data-role="content"> 9226 <ul> 9227<li>Würze Brathähnchen, Wings, Bollen & Filet</li> 9228<li>Mit Knobi, Paprika, Rauchsalz, Chili & mehr</li> 9229<li>So köstlich, danach leckst Du Dir die Finger</li> 9230</ul> </div> 9231 <div id="ingredients-6349" class="child-product-information-tab-content ingredients-tab" data-role="content"> 9232 <div class="fs-14 lh-20 mb-2"> 9233 Würzmischung für Hähnchengerichte <br> 9234 Zutaten: 9235 Meersalz, Rauchsalz (Speisesalz, Rauch), Rohrohrzucker, Paprika edelsüÃ, Tomate, Knoblauch, Chili, Rosmarin, Thymian, Salbei, Koriander, Kurkuma, Bockshornkleesaat, Fenchelsaat, Kreuzkümmel, schwarzer Pfeffer, Nelke. </div> 9236 <p class="allergic fs-11 lh-18">Kann Spuren von <strong>glutenhaltigem Getreide</strong>, <strong>Ei</strong>, <strong>Milch</strong>, <strong>Mandeln</strong>, <strong>Senf</strong>, <strong>Sellerie</strong>, <strong>Sesamsamen</strong> und <strong>Erdnüssen</strong> enthalten. <br> 9237 Kühl und trocken lagern. </p> 9238 <div role="tablist" class="accordion"> 9239 <div data-role="collapsible"> 9240 <div data-role="trigger"> 9241 <p class="toggle-further-notice text-xs underline show-more" onclick="openHintChildrenSlider(event)">Weitere Hinweise</p> 9242 <p class="toggle-further-notice text-xs underline show-less" onclick="closeHintChildrenSlider(event)">Weitere Hinweise ausblenden</p> 9243 </div> 9244 </div> 9245 <div data-role="content" class="further-hints"> 9246 <p class="further-notice text-xs pt-2 pb-2">Wir sind stets bemüht auf Basis deines Feedbacks unsere Produkte zu verbessern. Deshalb können unsere Inhaltsstoffe und damit verbunden die Liste an Inhaltsstoffen von Zeit zu Zeit kleinen Veränderungen unterliegen. Die aktuellsten Informationen kannst du auf der jeweiligen Produktverpackung nachlesen.</p> 9247 <p class="further-notice text-xs">Die Konsistenz und Farbe der natürlichen Inhaltsstoffe in unseren Produkten kann je nach Temperatur und Anbaubedingungen leichte Unterschiede aufweisen. Auch wenn sich deren Erscheinungsbild dadurch leicht verändern kann, beeinträchtigt dies nicht die Qualität der Produkte.</p> 9248 </div> 9249 </div> 9250 </div> 9251 <div id="nutrition-6349" class="child-product-information-tab-content nutrition-tab" data-role="content"> 9252 <div id="nutritionfacts"> 9253 <table cellspacing="0" cellpadding="0" class="w-full"> 9254 <tbody> 9255 <tr> 9256 <td class="table-headline"> 9257 <div class="label label-headline">Durchschnittliche <br>Nährwerte</div> 9258 <div class="nutrition-value label-headline text-right"> 9259 pro <br> 100 g </div> 9260 </td> 9261 </tr> 9262 <tr> 9263 <td> 9264 <div class="line"> 9265 <div class="label">Energie</div> 9266 <div class="nutrition-value">935kJ/222kcal</div> 9267 </div> 9268 </td> 9269 </tr> 9270 <tr> 9271 <td> 9272 <div class="line"> 9273 <div class="label">Fett</div> 9274 <div class="nutrition-value">4,2g</div> 9275 </div> 9276 </td> 9277 </tr> 9278 <tr> 9279 <td> 9280 <div class="line"> 9281 <div class="label">davon gesättigte Fettsäuren</div> 9282 <div class="nutrition-value">0,9g</div> 9283 </div> 9284 </td> 9285 </tr> 9286 <tr> 9287 <td> 9288 <div class="line"> 9289 <div class="label">Kohlenhydrate</div> 9290 <div class="nutrition-value">36g</div> 9291 </div> 9292 </td> 9293 </tr> 9294 <tr> 9295 <td> 9296 <div class="line"> 9297 <div class="label">davon Zucker</div> 9298 <div class="nutrition-value">31g</div> 9299 </div> 9300 </td> 9301 </tr> 9302 <tr> 9303 <td> 9304 <div class="line"> 9305 <div class="label">Ballaststoffe</div> 9306 <div class="nutrition-value">7,8g</div> 9307 </div> 9308 </td> 9309 </tr> 9310 <tr> 9311 <td> 9312 <div class="line"> 9313 <div class="label">EiweiÃ</div> 9314 <div class="nutrition-value">6,1g</div> 9315 </div> 9316 </td> 9317 </tr> 9318 <tr> 9319 <td> 9320 <div class="line"> 9321 <div class="label">Salz</div> 9322 <div class="nutrition-value">38,8g</div> 9323 </div> 9324 </td> 9325 </tr> 9326 </tbody> 9327 </table> 9328 </div> 9329 </div> 9330 </div> 9331 </div> 9332 </div> 9333 </div>
9334 </div> 9335 <div class="child product-9181" aria-label="Element 7 von 14"> 9336 <div class="inner_child_slider"> 9337 <div class="recipe-background-image-container"> 9338 <picture> 9339 9340 <source type="image/webp" data-srcset=" 9341 https://www.justspices.de/media/opti_image/webp/catalog/product/s/l/slider-2-sesam-chili-mix.webp"> 9342 9343 <source type="image/jpg" 9344 data-srcset=" 9345 https://www.justspices.de/media/catalog/product/s/l/slider-2-sesam-chili-mix.jpeg"> 9346 9347 <img class="lozad recipeImage" data-src="https://www.justspices.de/media/catalog/product/s/l/slider-2-sesam-chili-mix.jpeg"> </picture> 9348 9349 9350 </div> 9351 <div class="product-image-container text-center"> 9352 <a href="https://www.justspices.de/catalog/product/view/id/9181/s/sesam-chili-mix-minituetchen/"> 9353 <picture> 9354 9355 <source type="image/webp" data-srcset=" 9356 https://www.justspices.de/media/opti_image/webp/catalog/product/cache/979fc038911954998ac1859001db96e0/d/e/de-sesam-chili-mix-spice-bag-relaunch.webp"> 9357 9358 <source type="image/png" 9359 data-srcset=" 9360 https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/d/e/de-sesam-chili-mix-spice-bag-relaunch.png"> 9361 9362 <img class="lozad productImage" data-src="https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/d/e/de-sesam-chili-mix-spice-bag-relaunch.png"> </picture> 9363 9364 9365 </a> 9366 </div> 9367 <div class="content"> 9368 <p class="product-name">Sesam Chili Mix - Minitütchen</p> 9369 <p class="weight">5 g</p> 9370 <div class="tabs mt-2"> 9371 <div class="tab-header-container flex justify-center"> 9372 <div data-role="collapsible" id="header-informations" class="tab-header active"> 9373 <a onclick="openChildProductTab(event, 9181, 'informations-9181')" data-event="ev" data-category="product detail page" data-action="informations" data-toggle="trigger" data-open="informations-9181" class="child-product-tabs button-small w-auto secondary px-2"> 9374 <p>
9374Information</p> 9375 </a> 9376 </div> 9377 <div data-role="collapsible" id="header-ingredients" class="tab-header"> 9378 <a onclick="openChildProductTab(event,9181, 'ingredients-9181')" data-event="ev" data-category="product detail page" data-action="ingredients" data-toggle="trigger" data-open="ingredients-9181" class="child-product-tabs button-small w-auto secondary px-2"> 9379 <p>Zutaten</p> 9380 </a> 9381 </div> 9382 <div data-role="collapsible" id="header-nutrition" class="tab-header"> 9383 <a onclick="openChildProductTab(event,9181, 'nutrition-9181')" data-event="ev" data-category="product detail page" data-action="nutritions" data-toggle="trigger" data-open="nutrition-9181" data-type="toggle" class="child-product-tabs button-small w-auto secondary px-2"> 9384 <p>Nährwerte</p> 9385 </a> 9386 </div> 9387 </div> 9388 <div id="tab-element-content"> 9389 <div id="informations-9181" class="child-product-information-tab-content information-tab" data-role="content"> 9390 </div> 9391 <div id="ingredients-9181" class="child-product-information-tab-content ingredients-tab" data-role="content"> 9392 <div class="fs-14 lh-20 mb-2"> 9393 Zutaten: 9394 </div> 9395 <p class="allergic fs-11 lh-18"> <br> 9396 Kühl und trocken lagern. </p> 9397 <div role="tablist" class="accordion"> 9398 <div data-role="collapsible"> 9399 <div data-role="trigger"> 9400 <p class="toggle-further-notice text-xs underline show-more" onclick="openHintChildrenSlider(event)">Weitere Hinweise</p> 9401 <p class="toggle-further-notice text-xs underline show-less" onclick="closeHintChildrenSlider(event)">Weitere Hinweise ausblenden</p> 9402 </div> 9403 </div> 9404 <div data-role="content" class="further-hints"> 9405 <p class="further-notice text-xs pt-2 pb-2">Wir sind stets bemüht auf Basis deines Feedbacks unsere Produkte zu verbessern. Deshalb können unsere Inhaltsstoffe und damit verbunden die Liste an Inhaltsstoffen von Zeit zu Zeit kleinen Veränderungen unterliegen. Die aktuellsten Informationen kannst du auf der jeweiligen Produktverpackung nachlesen.</p> 9406 <p class="further-notice text-xs">Die Konsistenz und Farbe der natürlichen Inhaltsstoffe in unseren Produkten kann je nach Temperatur und Anbaubedingungen leichte Unterschiede aufweisen. Auch wenn sich deren Erscheinungsbild dadurch leicht verändern kann, beeinträchtigt dies nicht die Qualität der Produkte.</p> 9407 </div> 9408 </div> 9409 </div> 9410 <div id="nutrition-9181" class="child-product-information-tab-content nutrition-tab" data-role="content"> 9411 <div id="nutritionfacts"> 9412 <table cellspacing="0" cellpadding="0" class="w-full"> 9413 <tbody> 9414 <tr> 9415 <td class="table-headline"> 9416 <div class="label label-headline">Durchschnittliche <br>Nährwerte</div> 9417 <div class="nutrition-value label-headline text-right"> 9418 pro <br> 100 g </div> 9419 </td> 9420 </tr> 9421 <tr> 9422 <td> 9423 <div class="line"> 9424 <div class="label">Energie</div> 9425 <div class="nutrition-value"></div> 9426 </div> 9427 </td> 9428 </tr> 9429 <tr> 9430 <td> 9431 <div class="line"> 9432 <div class="label">Fett</div> 9433 <div class="nutrition-value"></div> 9434 </div> 9435 </td> 9436 </tr> 9437 <tr> 9438 <td> 9439 <div class="line"> 9440 <div class="label">davon gesättigte Fettsäuren</div> 9441 <div class="nutrition-value"></div> 9442 </div> 9443 </td> 9444 </tr> 9445 <tr> 9446 <td> 9447 <div class="line"> 9448 <div class="label">Kohlenhydrate</div> 9449 <div class="nutrition-value"></div> 9450 </div> 9451 </td> 9452 </tr> 9453 <tr> 9454 <td> 9455 <div class="line"> 9456 <div class="label">davon Zucker</div> 9457 <div class="nutrition-value"></div> 9458 </div> 9459 </td> 9460 </tr> 9461 <tr> 9462 <td> 9463 <div class="line"> 9464 <div class="label">Ballaststoffe</div> 9465 <div class="nutrition-value"></div> 9466 </div> 9467 </td> 9468 </tr> 9469 <tr> 9470 <td> 9471 <div class="line"> 9472 <div class="label">EiweiÃ</div> 9473 <div class="nutrition-value"></div> 9474 </div> 9475 </td> 9476 </tr> 9477 <tr> 9478 <td> 9479 <div class="line"> 9480 <div class="label">Salz</div> 9481 <div class="nutrition-value"></div> 9482 </div> 9483 </td> 9484 </tr> 9485 </tbody> 9486 </table> 9487 </div> 9488 </div> 9489 </div> 9490 </div> 9491 </div> 9492 </div>
9493 </div> 9494 <div class="child product-6361" aria-label="Element 8 von 14"> 9495 <div class="inner_child_slider"> 9496 <div class="recipe-background-image-container"> 9497 <img class="lozad recipeImage" data-src=""> 9498 </div> 9499 <div class="product-image-container text-center"> 9500 <a href="https://www.justspices.de/ei-topping-minituetchen.html"> 9501 <picture> 9502 9503 <source type="image/webp" data-srcset=" 9504 https://www.justspices.de/media/opti_image/webp/catalog/product/cache/979fc038911954998ac1859001db96e0/s/p/spicebag-ei-topping.webp"> 9505 9506 <source type="image/png" 9507 data-srcset=" 9508 https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/s/p/spicebag-ei-topping.png"> 9509 9510 <img class="lozad productImage" data-src="https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/s/p/spicebag-ei-topping.png"> </picture> 9511 9512 9513 </a> 9514 </div> 9515 <div class="content"> 9516 <p class="product-name">Ei Topping - Minitütchen</p> 9517 <p class="weight">4 g</p> 9518 <div class="tabs mt-2"> 9519 <div class="tab-header-container flex justify-center"> 9520 <div data-role="collapsible" id="header-informations" class="tab-header active"> 9521 <a onclick="openChildProductTab(event, 6361, 'informations-6361')" data-event="ev" data-category="product detail page" data-action="informations" data-toggle="trigger" data-open="informations-6361" class="child-product-tabs button-small w-auto secondary px-2"> 9522 <p>
9522Information</p> 9523 </a> 9524 </div> 9525 <div data-role="collapsible" id="header-ingredients" class="tab-header"> 9526 <a onclick="openChildProductTab(event,6361, 'ingredients-6361')" data-event="ev" data-category="product detail page" data-action="ingredients" data-toggle="trigger" data-open="ingredients-6361" class="child-product-tabs button-small w-auto secondary px-2"> 9527 <p>Zutaten</p> 9528 </a> 9529 </div> 9530 <div data-role="collapsible" id="header-nutrition" class="tab-header"> 9531 <a onclick="openChildProductTab(event,6361, 'nutrition-6361')" data-event="ev" data-category="product detail page" data-action="nutritions" data-toggle="trigger" data-open="nutrition-6361" data-type="toggle" class="child-product-tabs button-small w-auto secondary px-2"> 9532 <p>Nährwerte</p> 9533 </a> 9534 </div> 9535 </div> 9536 <div id="tab-element-content"> 9537 <div id="informations-6361" class="child-product-information-tab-content information-tab" data-role="content"> 9538 <ul> 9539<li><span style="font-weight: 400;">Für pochierte Eier, Omelette, Spiegelei</span></li> 9540<li><span style="font-weight: 400;">Mit Sesam, Tomate, Ancho Chili und mehr</span></li> 9541<li><span style="font-weight: 400;">Weil nur Salz & Pfeffer langweilig schmeckt</span></li> 9542</ul> </div> 9543 <div id="ingredients-6361" class="child-product-information-tab-content ingredients-tab" data-role="content"> 9544 <div class="fs-14 lh-20 mb-2"> 9545 Würzmischung für Ei <br> 9546 Zutaten: 9547 Fleur de Sel Meersalz, weiÃer <strong>Sesam</strong>, Tomate, Ancho Chili, Lauch, Knoblauch, getoastete Zwiebel, Schnittlauch. </div> 9548 <p class="allergic fs-11 lh-18">Kann Spuren von <strong>glutenhaltigem Getreide</strong>, <strong>Ei</strong>, <strong>Milch</strong>, <strong>Mandeln</strong>, <strong>Senf</strong>, <strong>Sellerie</strong> und <strong>Erdnüssen</strong> enthalten. <br> 9549 Kühl und trocken lagern. </p> 9550 <div role="tablist" class="accordion"> 9551 <div data-role="collapsible"> 9552 <div data-role="trigger"> 9553 <p class="toggle-further-notice text-xs underline show-more" onclick="openHintChildrenSlider(event)">Weitere Hinweise</p> 9554 <p class="toggle-further-notice text-xs underline show-less" onclick="closeHintChildrenSlider(event)">Weitere Hinweise ausblenden</p> 9555 </div> 9556 </div> 9557 <div data-role="content" class="further-hints"> 9558 <p class="further-notice text-xs pt-2 pb-2">Wir sind stets bemüht auf Basis deines Feedbacks unsere Produkte zu verbessern. Deshalb können unsere Inhaltsstoffe und damit verbunden die Liste an Inhaltsstoffen von Zeit zu Zeit kleinen Veränderungen unterliegen. Die aktuellsten Informationen kannst du auf der jeweiligen Produktverpackung nachlesen.</p> 9559 <p class="further-notice text-xs">Die Konsistenz und Farbe der natürlichen Inhaltsstoffe in unseren Produkten kann je nach Temperatur und Anbaubedingungen leichte Unterschiede aufweisen. Auch wenn sich deren Erscheinungsbild dadurch leicht verändern kann, beeinträchtigt dies nicht die Qualität der Produkte.</p> 9560 </div> 9561 </div> 9562 </div> 9563 <div id="nutrition-6361" class="child-product-information-tab-content nutrition-tab" data-role="content"> 9564 <div id="nutritionfacts"> 9565 <table cellspacing="0" cellpadding="0" class="w-full"> 9566 <tbody> 9567 <tr> 9568 <td class="table-headline"> 9569 <div class="label label-headline">Durchschnittliche <br>Nährwerte</div> 9570 <div class="nutrition-value label-headline text-right"> 9571 pro <br> 100 g </div> 9572 </td> 9573 </tr> 9574 <tr> 9575 <td> 9576 <div class="line"> 9577 <div class="label">Energie</div> 9578 <div class="nutrition-value">1112kJ/267kcal</div> 9579 </div> 9580 </td> 9581 </tr> 9582 <tr> 9583 <td> 9584 <div class="line"> 9585 <div class="label">Fett</div> 9586 <div class="nutrition-value">14,7g</div> 9587 </div> 9588 </td> 9589 </tr> 9590 <tr> 9591 <td> 9592 <div class="line"> 9593 <div class="label">davon gesättigte Fettsäuren</div> 9594 <div class="nutrition-value">2,1g</div> 9595 </div> 9596 </td> 9597 </tr> 9598 <tr> 9599 <td> 9600 <div class="line"> 9601 <div class="label">Kohlenhydrate</div> 9602 <div class="nutrition-value">17,6g</div> 9603 </div> 9604 </td> 9605 </tr> 9606 <tr> 9607 <td> 9608 <div class="line"> 9609 <div class="label">davon Zucker</div> 9610 <div class="nutrition-value">11,3g</div> 9611 </div> 9612 </td> 9613 </tr> 9614 <tr> 9615 <td> 9616 <div class="line"> 9617 <div class="label">Ballaststoffe</div> 9618 <div class="nutrition-value">10,5g</div> 9619 </div> 9620 </td> 9621 </tr> 9622 <tr> 9623 <td> 9624 <div class="line"> 9625 <div class="label">EiweiÃ</div> 9626 <div class="nutrition-value">10,8g</div> 9627 </div> 9628 </td> 9629 </tr> 9630 <tr> 9631 <td> 9632 <div class="line"> 9633 <div class="label">Salz</div> 9634 <div class="nutrition-value">37,6g</div> 9635 </div> 9636 </td> 9637 </tr> 9638 </tbody> 9639 </table> 9640 </div> 9641 </div> 9642 </div> 9643 </div> 9644 </div> 9645 </div>
9646 </div> 9647 <div class="child product-4232" aria-label="Element 9 von 14"> 9648 <div class="inner_child_slider"> 9649 <div class="recipe-background-image-container"> 9650 <picture> 9651 9652 <source type="image/webp" data-srcset=" 9653 https://www.justspices.de/media/opti_image/webp/catalog/product/s/l/slider-2-kartoffel-allrounder-gsa_1.webp"> 9654 9655 <source type="image/png" 9656 data-srcset=" 9657 https://www.justspices.de/media/catalog/product/s/l/slider-2-kartoffel-allrounder-gsa_1.png"> 9658 9659 <img class="lozad recipeImage" data-src="https://www.justspices.de/media/catalog/product/s/l/slider-2-kartoffel-allrounder-gsa_1.png"> </picture> 9660 9661 9662 </div> 9663 <div class="product-image-container text-center"> 9664 <a href="https://www.justspices.de/kartoffel-allrounder-minituetchen.html"> 9665 <picture> 9666 9667 <source type="image/webp" data-srcset=" 9668 https://www.justspices.de/media/opti_image/webp/catalog/product/cache/979fc038911954998ac1859001db96e0/d/e/de-kartoffel-allrounder-spice-bag-relaunch-leh-2.webp"> 9669 9670 <source type="image/jpg" 9671 data-srcset=" 9672 https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/d/e/de-kartoffel-allrounder-spice-bag-relaunch-leh-2.jpg"> 9673 9674 <img class="lozad productImage" data-src="https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/d/e/de-kartoffel-allrounder-spice-bag-relaunch-leh-2.jpg"> </picture> 9675 9676 9677 </a> 9678 </div> 9679 <div class="content"> 9680 <p class="product-name">Kartoffel Allrounder - Minitütchen</p> 9681 <p class="weight">5 g</p> 9682 <div class="tabs mt-2"> 9683 <div class="tab-header-container flex justify-center"> 9684 <div data-role="collapsible" id="header-informations" class="tab-header active"> 9685 <a onclick="openChildProductTab(event, 4232, 'informations-4232')" data-event="ev" data-category="product detail page" data-action="informations" data-toggle="trigger" data-open="informations-4232" class="child-product-tabs button-small w-auto secondary px-2"> 9686 <p>
9686Information</p> 9687 </a> 9688 </div> 9689 <div data-role="collapsible" id="header-ingredients" class="tab-header"> 9690 <a onclick="openChildProductTab(event,4232, 'ingredients-4232')" data-event="ev" data-category="product detail page" data-action="ingredients" data-toggle="trigger" data-open="ingredients-4232" class="child-product-tabs button-small w-auto secondary px-2"> 9691 <p>Zutaten</p> 9692 </a> 9693 </div> 9694 <div data-role="collapsible" id="header-nutrition" class="tab-header"> 9695 <a onclick="openChildProductTab(event,4232, 'nutrition-4232')" data-event="ev" data-category="product detail page" data-action="nutritions" data-toggle="trigger" data-open="nutrition-4232" data-type="toggle" class="child-product-tabs button-small w-auto secondary px-2"> 9696 <p>Nährwerte</p> 9697 </a> 9698 </div> 9699 </div> 9700 <div id="tab-element-content"> 9701 <div id="informations-4232" class="child-product-information-tab-content information-tab" data-role="content"> 9702 <ul> 9703<li>Für Püree, Gratin, KlöÃe & Ofenkartoffel</li> 9704<li>Mit Knobi, Muskatnuss, Kräutern & mehr</li> 9705<li>Macht die Knolle in allen Varianten lecker</li> 9706</ul> </div> 9707 <div id="ingredients-4232" class="child-product-information-tab-content ingredients-tab" data-role="content"> 9708 <div class="fs-14 lh-20 mb-2"> 9709 Gewürzzubereitung für Kartoffelgerichte <br> 9710 Zutaten: 9711 Meersalz, rote Zwiebel, Knoblauch, Rauchsalz, Paprika edelsüÃ, rosa Beeren, Schnittlauch, schwarzer Pfeffer, Petersilie, braunes <strong>Senfmehl</strong>, Koriander, Macis, Majoran, Lorbeerblätter, Muskatnuss. </div> 9712 <p class="allergic fs-11 lh-18">Kann Spuren von <strong>glutenhaltigem Getreide</strong>, <strong>Ei</strong>, <strong>Milch</strong>, <strong>Mandeln</strong>, <strong>Sellerie</strong>, <strong>Sesamsamen</strong> und <strong>Erdnüssen</strong> enthalten. <br> 9713 Kühl und trocken lagern. </p> 9714 <div role="tablist" class="accordion"> 9715 <div data-role="collapsible"> 9716 <div data-role="trigger"> 9717 <p class="toggle-further-notice text-xs underline show-more" onclick="openHintChildrenSlider(event)">Weitere Hinweise</p> 9718 <p class="toggle-further-notice text-xs underline show-less" onclick="closeHintChildrenSlider(event)">Weitere Hinweise ausblenden</p> 9719 </div> 9720 </div> 9721 <div data-role="content" class="further-hints"> 9722 <p class="further-notice text-xs pt-2 pb-2">Wir sind stets bemüht auf Basis deines Feedbacks unsere Produkte zu verbessern. Deshalb können unsere Inhaltsstoffe und damit verbunden die Liste an Inhaltsstoffen von Zeit zu Zeit kleinen Veränderungen unterliegen. Die aktuellsten Informationen kannst du auf der jeweiligen Produktverpackung nachlesen.</p> 9723 <p class="further-notice text-xs">Die Konsistenz und Farbe der natürlichen Inhaltsstoffe in unseren Produkten kann je nach Temperatur und Anbaubedingungen leichte Unterschiede aufweisen. Auch wenn sich deren Erscheinungsbild dadurch leicht verändern kann, beeinträchtigt dies nicht die Qualität der Produkte.</p> 9724 </div> 9725 </div> 9726 </div> 9727 <div id="nutrition-4232" class="child-product-information-tab-content nutrition-tab" data-role="content"> 9728 <div id="nutritionfacts"> 9729 <table cellspacing="0" cellpadding="0" class="w-full"> 9730 <tbody> 9731 <tr> 9732 <td class="table-headline"> 9733 <div class="label label-headline">Durchschnittliche <br>Nährwerte</div> 9734 <div class="nutrition-value label-headline text-right"> 9735 pro <br> 100 g </div> 9736 </td> 9737 </tr> 9738 <tr> 9739 <td> 9740 <div class="line"> 9741 <div class="label">Energie</div> 9742 <div class="nutrition-value">874kJ/209kcal</div> 9743 </div> 9744 </td> 9745 </tr> 9746 <tr> 9747 <td> 9748 <div class="line"> 9749 <div class="label">Fett</div> 9750 <div class="nutrition-value">4,2g</div> 9751 </div> 9752 </td> 9753 </tr> 9754 <tr> 9755 <td> 9756 <div class="line"> 9757 <div class="label">davon gesättigte Fettsäuren</div> 9758 <div class="nutrition-value">0,9 g</div> 9759 </div> 9760 </td> 9761 </tr> 9762 <tr> 9763 <td> 9764 <div class="line"> 9765 <div class="label">Kohlenhydrate</div> 9766 <div class="nutrition-value">26,6g</div> 9767 </div> 9768 </td> 9769 </tr> 9770 <tr> 9771 <td> 9772 <div class="line"> 9773 <div class="label">davon Zucker</div> 9774 <div class="nutrition-value">18,6g</div> 9775 </div> 9776 </td> 9777 </tr> 9778 <tr> 9779 <td> 9780 <div class="line"> 9781 <div class="label">Ballaststoffe</div> 9782 <div class="nutrition-value">15,0g</div> 9783 </div> 9784 </td> 9785 </tr> 9786 <tr> 9787 <td> 9788 <div class="line"> 9789 <div class="label">EiweiÃ</div> 9790 <div class="nutrition-value">8,6 g</div> 9791 </div> 9792 </td> 9793 </tr> 9794 <tr> 9795 <td> 9796 <div class="line"> 9797 <div class="label">Salz</div> 9798 <div class="nutrition-value">34,4 g</div> 9799 </div> 9800 </td> 9801 </tr> 9802 </tbody> 9803 </table> 9804 </div> 9805 </div> 9806 </div> 9807 </div> 9808 </div> 9809 </div>
9810 </div> 9811 <div class="child product-6355" aria-label="Element 10 von 14"> 9812 <div class="inner_child_slider"> 9813 <div class="recipe-background-image-container"> 9814 <picture> 9815 9816 <source type="image/webp" data-srcset=" 9817 https://www.justspices.de/media/opti_image/webp/catalog/product/s/l/slider-2-italian-allrounder-gsa_1_1_2.webp"> 9818 9819 <source type="image/png" 9820 data-srcset=" 9821 https://www.justspices.de/media/catalog/product/s/l/slider-2-italian-allrounder-gsa_1_1_2.png"> 9822 9823 <img class="lozad recipeImage" data-src="https://www.justspices.de/media/catalog/product/s/l/slider-2-italian-allrounder-gsa_1_1_2.png"> </picture> 9824 9825 9826 </div> 9827 <div class="product-image-container text-center"> 9828 <a href="https://www.justspices.de/italian-allrounder-minituetchen.html"> 9829 <picture> 9830 9831 <source type="image/webp" data-srcset=" 9832 https://www.justspices.de/media/opti_image/webp/catalog/product/cache/979fc038911954998ac1859001db96e0/s/p/spicebag-italian-allrounder.webp"> 9833 9834 <source type="image/png" 9835 data-srcset=" 9836 https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/s/p/spicebag-italian-allrounder.png"> 9837 9838 <img class="lozad productImage" data-src="https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/s/p/spicebag-italian-allrounder.png"> </picture> 9839 9840 9841 </a> 9842 </div> 9843 <div class="content"> 9844 <p class="product-name">Italian Allrounder - Minitütchen</p> 9845 <p class="weight">6 g</p> 9846 <div class="tabs mt-2"> 9847 <div class="tab-header-container flex justify-center"> 9848 <div data-role="collapsible" id="header-informations" class="tab-header active"> 9849 <a onclick="openChildProductTab(event, 6355, 'informations-6355')" data-event="ev" data-category="product detail page" data-action="informations" data-toggle="trigger" data-open="informations-6355" class="child-product-tabs button-small w-auto secondary px-2"> 9850 <p>
9850Information</p> 9851 </a> 9852 </div> 9853 <div data-role="collapsible" id="header-ingredients" class="tab-header"> 9854 <a onclick="openChildProductTab(event,6355, 'ingredients-6355')" data-event="ev" data-category="product detail page" data-action="ingredients" data-toggle="trigger" data-open="ingredients-6355" class="child-product-tabs button-small w-auto secondary px-2"> 9855 <p>Zutaten</p> 9856 </a> 9857 </div> 9858 <div data-role="collapsible" id="header-nutrition" class="tab-header"> 9859 <a onclick="openChildProductTab(event,6355, 'nutrition-6355')" data-event="ev" data-category="product detail page" data-action="nutritions" data-toggle="trigger" data-open="nutrition-6355" data-type="toggle" class="child-product-tabs button-small w-auto secondary px-2"> 9860 <p>Nährwerte</p> 9861 </a> 9862 </div> 9863 </div> 9864 <div id="tab-element-content"> 9865 <div id="informations-6355" class="child-product-information-tab-content information-tab" data-role="content"> 9866 <ul> 9867<li>Würze damit Pastasaucen bis Ossobuco</li> 9868<li>Mit Kräutern, Fenchelsaat, Tomate & mehr</li> 9869<li>Zuhause kochen wie im Lieblingsrestaurant</li> 9870</ul> </div> 9871 <div id="ingredients-6355" class="child-product-information-tab-content ingredients-tab" data-role="content"> 9872 <div class="fs-14 lh-20 mb-2"> 9873 Gewürzzubereitung italienischer Art <br> 9874 Zutaten: 9875 Schwarzer Tellicherry Pfeffer, Meersalz, Tomate, Paprika edelsüÃ, Zwiebel, Rosmarin, Knoblauch, Chili, Salbei, Thymian, Fenchelsaat, Basilikum, Majoran, Oregano. </div> 9876 <p class="allergic fs-11 lh-18">Kann Spuren von <strong>glutenhaltigem Getreide</strong>, <strong>Ei</strong>, <strong>Milch</strong>, <strong>Mandeln</strong>, <strong>Senf</strong>, <strong>Sellerie</strong>, <strong>Sesamsamen</strong> und <strong>Erdnüssen</strong> enthalten. <br> 9877 Kühl und trocken lagern. </p> 9878 <div role="tablist" class="accordion"> 9879 <div data-role="collapsible"> 9880 <div data-role="trigger"> 9881 <p class="toggle-further-notice text-xs underline show-more" onclick="openHintChildrenSlider(event)">Weitere Hinweise</p> 9882 <p class="toggle-further-notice text-xs underline show-less" onclick="closeHintChildrenSlider(event)">Weitere Hinweise ausblenden</p> 9883 </div> 9884 </div> 9885 <div data-role="content" class="further-hints"> 9886 <p class="further-notice text-xs pt-2 pb-2">Wir sind stets bemüht auf Basis deines Feedbacks unsere Produkte zu verbessern. Deshalb können unsere Inhaltsstoffe und damit verbunden die Liste an Inhaltsstoffen von Zeit zu Zeit kleinen Veränderungen unterliegen. Die aktuellsten Informationen kannst du auf der jeweiligen Produktverpackung nachlesen.</p> 9887 <p class="further-notice text-xs">Die Konsistenz und Farbe der natürlichen Inhaltsstoffe in unseren Produkten kann je nach Temperatur und Anbaubedingungen leichte Unterschiede aufweisen. Auch wenn sich deren Erscheinungsbild dadurch leicht verändern kann, beeinträchtigt dies nicht die Qualität der Produkte.</p> 9888 </div> 9889 </div> 9890 </div> 9891 <div id="nutrition-6355" class="child-product-information-tab-content nutrition-tab" data-role="content"> 9892 <div id="nutritionfacts"> 9893 <table cellspacing="0" cellpadding="0" class="w-full"> 9894 <tbody> 9895 <tr> 9896 <td class="table-headline"> 9897 <div class="label label-headline">Durchschnittliche <br>Nährwerte</div> 9898 <div class="nutrition-value label-headline text-right"> 9899 pro <br> 100 g </div> 9900 </td> 9901 </tr> 9902 <tr> 9903 <td> 9904 <div class="line"> 9905 <div class="label">Energie</div> 9906 <div class="nutrition-value">1173kJ/279kcal</div> 9907 </div> 9908 </td> 9909 </tr> 9910 <tr> 9911 <td> 9912 <div class="line"> 9913 <div class="label">Fett</div> 9914 <div class="nutrition-value">5,4 g</div> 9915 </div> 9916 </td> 9917 </tr> 9918 <tr> 9919 <td> 9920 <div class="line"> 9921 <div class="label">davon gesättigte Fettsäuren</div> 9922 <div class="nutrition-value">1,3 g</div> 9923 </div> 9924 </td> 9925 </tr> 9926 <tr> 9927 <td> 9928 <div class="line"> 9929 <div class="label">Kohlenhydrate</div> 9930 <div class="nutrition-value">40,4g</div> 9931 </div> 9932 </td> 9933 </tr> 9934 <tr> 9935 <td> 9936 <div class="line"> 9937 <div class="label">davon Zucker</div> 9938 <div class="nutrition-value">33,5g</div> 9939 </div> 9940 </td> 9941 </tr> 9942 <tr> 9943 <td> 9944 <div class="line"> 9945 <div class="label">Ballaststoffe</div> 9946 <div class="nutrition-value">14,6g</div> 9947 </div> 9948 </td> 9949 </tr> 9950 <tr> 9951 <td> 9952 <div class="line"> 9953 <div class="label">EiweiÃ</div> 9954 <div class="nutrition-value">10,0g</div> 9955 </div> 9956 </td> 9957 </tr> 9958 <tr> 9959 <td> 9960 <div class="line"> 9961 <div class="label">Salz</div> 9962 <div class="nutrition-value">16,4g</div> 9963 </div> 9964 </td> 9965 </tr> 9966 </tbody> 9967 </table> 9968 </div> 9969 </div> 9970 </div> 9971 </div> 9972 </div> 9973 </div>
9974 </div> 9975 <div class="child product-4411" aria-label="Element 11 von 14"> 9976 <div class="inner_child_slider"> 9977 <div class="recipe-background-image-container"> 9978 <picture> 9979 9980 <source type="image/webp" data-srcset=" 9981 https://www.justspices.de/media/opti_image/webp/catalog/product/s/l/slider-2-stullen-spice-gsa_1_1.webp"> 9982 9983 <source type="image/png" 9984 data-srcset=" 9985 https://www.justspices.de/media/catalog/product/s/l/slider-2-stullen-spice-gsa_1_1.png"> 9986 9987 <img class="lozad recipeImage" data-src="https://www.justspices.de/media/catalog/product/s/l/slider-2-stullen-spice-gsa_1_1.png"> </picture> 9988 9989 9990 </div> 9991 <div class="product-image-container text-center"> 9992 <a href="https://www.justspices.de/stullen-spice-minituetchen.html"> 9993 <picture> 9994 9995 <source type="image/webp" data-srcset=" 9996 https://www.justspices.de/media/opti_image/webp/catalog/product/cache/979fc038911954998ac1859001db96e0/s/p/spicebag-stullen-spice.webp"> 9997 9998 <source type="image/png" 9999 data-srcset=" 10000 https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/s/p/spicebag-stullen-spice.png"> 10001 10002 <img class="lozad productImage" data-src="https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/s/p/spicebag-stullen-spice.png"> </picture> 10003 10004 10005 </a> 10006 </div> 10007 <div class="content"> 10008 <p class="product-name">Stullen Spice - Minitütchen</p> 10009 <p class="weight">5 g</p> 10010 <div class="tabs mt-2"> 10011 <div class="tab-header-container flex justify-center"> 10012 <div data-role="collapsible" id="header-informations" class="tab-header active"> 10013 <a onclick="openChildProductTab(event, 4411, 'informations-4411')" data-event="ev" data-category="product detail page" data-action="informations" data-toggle="trigger" data-open="informations-4411" class="child-product-tabs button-small w-auto secondary px-2"> 10014 <p>
10014Information</p> 10015 </a> 10016 </div> 10017 <div data-role="collapsible" id="header-ingredients" class="tab-header"> 10018 <a onclick="openChildProductTab(event,4411, 'ingredients-4411')" data-event="ev" data-category="product detail page" data-action="ingredients" data-toggle="trigger" data-open="ingredients-4411" class="child-product-tabs button-small w-auto secondary px-2"> 10019 <p>Zutaten</p> 10020 </a> 10021 </div> 10022 <div data-role="collapsible" id="header-nutrition" class="tab-header"> 10023 <a onclick="openChildProductTab(event,4411, 'nutrition-4411')" data-event="ev" data-category="product detail page" data-action="nutritions" data-toggle="trigger" data-open="nutrition-4411" data-type="toggle" class="child-product-tabs button-small w-auto secondary px-2"> 10024 <p>Nährwerte</p> 10025 </a> 10026 </div> 10027 </div> 10028 <div id="tab-element-content"> 10029 <div id="informations-4411" class="child-product-information-tab-content information-tab" data-role="content"> 10030 <ul> 10031<li><span style="font-weight: 400;">Auf Wurst-, Käse-, Gemüse-Brote streuen</span></li> 10032<li><span style="font-weight: 400;">Mit Fleur de Sel, Senfsaat, Zwiebel & mehr</span></li> 10033<li><span style="font-weight: 400;">Schmeckt so gut, jetzt gibtâs immer Brotzeit</span></li> 10034</ul> </div> 10035 <div id="ingredients-4411" class="child-product-information-tab-content ingredients-tab" data-role="content"> 10036 <div class="fs-14 lh-20 mb-2"> 10037 Würzmischung für Brotmahlzeiten <br> 10038 Zutaten: 10039 Fleur de Sel Meersalz, roter Paprika, Tomate, rote Zwiebel, Lauch, Schwarzkümmel, Rauchsalz (Speisesalz, Rauch), Schnittlauch, grüner Pfeffer, braune <strong>Senfsaat</strong>, Bohnenkraut, Macis, Zitronenmyrte. </div> 10040 <p class="allergic fs-11 lh-18">Kann Spuren von <strong>glutenhaltigem Getreide</strong>, <strong>Ei</strong>, <strong>Milch</strong>, <strong>Mandeln</strong>, <strong>Sellerie</strong>, <strong>Sesamsamen</strong> und <strong>Erdnüssen</strong> enthalten. <br> 10041 Kühl und trocken lagern. </p> 10042 <div role="tablist" class="accordion"> 10043 <div data-role="collapsible"> 10044 <div data-role="trigger"> 10045 <p class="toggle-further-notice text-xs underline show-more" onclick="openHintChildrenSlider(event)">Weitere Hinweise</p> 10046 <p class="toggle-further-notice text-xs underline show-less" onclick="closeHintChildrenSlider(event)">Weitere Hinweise ausblenden</p> 10047 </div> 10048 </div> 10049 <div data-role="content" class="further-hints"> 10050 <p class="further-notice text-xs pt-2 pb-2">Wir sind stets bemüht auf Basis deines Feedbacks unsere Produkte zu verbessern. Deshalb können unsere Inhaltsstoffe und damit verbunden die Liste an Inhaltsstoffen von Zeit zu Zeit kleinen Veränderungen unterliegen. Die aktuellsten Informationen kannst du auf der jeweiligen Produktverpackung nachlesen.</p> 10051 <p class="further-notice text-xs">Die Konsistenz und Farbe der natürlichen Inhaltsstoffe in unseren Produkten kann je nach Temperatur und Anbaubedingungen leichte Unterschiede aufweisen. Auch wenn sich deren Erscheinungsbild dadurch leicht verändern kann, beeinträchtigt dies nicht die Qualität der Produkte.</p> 10052 </div> 10053 </div> 10054 </div> 10055 <div id="nutrition-4411" class="child-product-information-tab-content nutrition-tab" data-role="content"> 10056 <div id="nutritionfacts"> 10057 <table cellspacing="0" cellpadding="0" class="w-full"> 10058 <tbody> 10059 <tr> 10060 <td class="table-headline"> 10061 <div class="label label-headline">Durchschnittliche <br>Nährwerte</div> 10062 <div class="nutrition-value label-headline text-right"> 10063 pro <br> 100 g </div> 10064 </td> 10065 </tr> 10066 <tr> 10067 <td> 10068 <div class="line"> 10069 <div class="label">Energie</div> 10070 <div class="nutrition-value">943kJ/226kcal</div> 10071 </div> 10072 </td> 10073 </tr> 10074 <tr> 10075 <td> 10076 <div class="line"> 10077 <div class="label">Fett</div> 10078 <div class="nutrition-value">7,4 g</div> 10079 </div> 10080 </td> 10081 </tr> 10082 <tr> 10083 <td> 10084 <div class="line"> 10085 <div class="label">davon gesättigte Fettsäuren</div> 10086 <div class="nutrition-value">1,2 g</div> 10087 </div> 10088 </td> 10089 </tr> 10090 <tr> 10091 <td> 10092 <div class="line"> 10093 <div class="label">Kohlenhydrate</div> 10094 <div class="nutrition-value">21,4g</div> 10095 </div> 10096 </td> 10097 </tr> 10098 <tr> 10099 <td> 10100 <div class="line"> 10101 <div class="label">davon Zucker</div> 10102 <div class="nutrition-value">19,2g</div> 10103 </div> 10104 </td> 10105 </tr> 10106 <tr> 10107 <td> 10108 <div class="line"> 10109 <div class="label">Ballaststoffe</div> 10110 <div class="nutrition-value">15,9g</div> 10111 </div> 10112 </td> 10113 </tr> 10114 <tr> 10115 <td> 10116 <div class="line"> 10117 <div class="label">EiweiÃ</div> 10118 <div class="nutrition-value">10,5g</div> 10119 </div> 10120 </td> 10121 </tr> 10122 <tr> 10123 <td> 10124 <div class="line"> 10125 <div class="label">Salz</div> 10126 <div class="nutrition-value">24,6g</div> 10127 </div> 10128 </td> 10129 </tr> 10130 </tbody> 10131 </table> 10132 </div> 10133 </div> 10134 </div> 10135 </div> 10136 </div> 10137 </div>
10138 </div> 10139 <div class="child product-9183" aria-label="Element 12 von 14"> 10140 <div class="inner_child_slider"> 10141 <div class="recipe-background-image-container"> 10142 <picture> 10143 10144 <source type="image/webp" data-srcset=" 10145 https://www.justspices.de/media/opti_image/webp/catalog/product/s/l/slider-4-hackfleisch-allrounder-gsa_1_1.webp"> 10146 10147 <source type="image/png" 10148 data-srcset=" 10149 https://www.justspices.de/media/catalog/product/s/l/slider-4-hackfleisch-allrounder-gsa_1_1.png"> 10150 10151 <img class="lozad recipeImage" data-src="https://www.justspices.de/media/catalog/product/s/l/slider-4-hackfleisch-allrounder-gsa_1_1.png"> </picture> 10152 10153 10154 </div> 10155 <div class="product-image-container text-center"> 10156 <a href="https://www.justspices.de/hackfleisch-allrounder-minituetchen.html"> 10157 <picture> 10158 10159 <source type="image/webp" data-srcset=" 10160 https://www.justspices.de/media/opti_image/webp/catalog/product/cache/979fc038911954998ac1859001db96e0/d/e/de-hackfleisch-allrounder-spice-bag-relaunch_1_1_.webp"> 10161 10162 <source type="image/png" 10163 data-srcset=" 10164 https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/d/e/de-hackfleisch-allrounder-spice-bag-relaunch_1_1_.png"> 10165 10166 <img class="lozad productImage" data-src="https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/d/e/de-hackfleisch-allrounder-spice-bag-relaunch_1_1_.png"> </picture> 10167 10168 10169 </a> 10170 </div> 10171 <div class="content"> 10172 <p class="product-name">Hackfleisch Allrounder - Minitütchen</p> 10173 <p class="weight">5 g</p> 10174 <div class="tabs mt-2"> 10175 <div class="tab-header-container flex justify-center"> 10176 <div data-role="collapsible" id="header-informations" class="tab-header active"> 10177 <a onclick="openChildProductTab(event, 9183, 'informations-9183')" data-event="ev" data-category="product detail page" data-action="informations" data-toggle="trigger" data-open="informations-9183" class="child-product-tabs button-small w-auto secondary px-2"> 10178 <p>
10178Information</p> 10179 </a> 10180 </div> 10181 <div data-role="collapsible" id="header-ingredients" class="tab-header"> 10182 <a onclick="openChildProductTab(event,9183, 'ingredients-9183')" data-event="ev" data-category="product detail page" data-action="ingredients" data-toggle="trigger" data-open="ingredients-9183" class="child-product-tabs button-small w-auto secondary px-2"> 10183 <p>Zutaten</p> 10184 </a> 10185 </div> 10186 <div data-role="collapsible" id="header-nutrition" class="tab-header"> 10187 <a onclick="openChildProductTab(event,9183, 'nutrition-9183')" data-event="ev" data-category="product detail page" data-action="nutritions" data-toggle="trigger" data-open="nutrition-9183" data-type="toggle" class="child-product-tabs button-small w-auto secondary px-2"> 10188 <p>Nährwerte</p> 10189 </a> 10190 </div> 10191 </div> 10192 <div id="tab-element-content"> 10193 <div id="informations-9183" class="child-product-information-tab-content information-tab" data-role="content"> 10194 <ul> 10195<li><span style="font-weight: 400;">Würze Frikadellen, Patties, Chili, Braten</span></li> 10196<li><span style="font-weight: 400;">Mit Zwiebeln, Senfmehl, Paprika & mehr</span></li> 10197<li><span style="font-weight: 400;">Gibt auch Fleischersatz Hack-Geschmack</span></li> 10198</ul> </div> 10199 <div id="ingredients-9183" class="child-product-information-tab-content ingredients-tab" data-role="content"> 10200 <div class="fs-14 lh-20 mb-2"> 10201 Gewürzzubereitung für Hackfleisch <br> 10202 Zutaten: 10203 Rote Zwiebel, Meersalz, Paprika edelsüÃ, Knoblauch, schwarzer Pfeffer, Majoran, Bohnenkraut, gelbes <strong>Senfmehl</strong>, Koriander, Paprika rosenscharf, Kreuzkümmel. </div> 10204 <p class="allergic fs-11 lh-18">Kann Spuren von <strong>glutenhaltigem Getreide</strong>, <strong>Ei</strong>, <strong>Milch</strong>, <strong>Mandeln</strong>, <strong>Sellerie</strong>, <strong>Sesamsamen</strong> und <strong>Erdnüssen</strong> enthalten. <br> 10205 Kühl und trocken lagern. </p> 10206 <div role="tablist" class="accordion"> 10207 <div data-role="collapsible"> 10208 <div data-role="trigger"> 10209 <p class="toggle-further-notice text-xs underline show-more" onclick="openHintChildrenSlider(event)">Weitere Hinweise</p> 10210 <p class="toggle-further-notice text-xs underline show-less" onclick="closeHintChildrenSlider(event)">Weitere Hinweise ausblenden</p> 10211 </div> 10212 </div> 10213 <div data-role="content" class="further-hints"> 10214 <p class="further-notice text-xs pt-2 pb-2">Wir sind stets bemüht auf Basis deines Feedbacks unsere Produkte zu verbessern. Deshalb können unsere Inhaltsstoffe und damit verbunden die Liste an Inhaltsstoffen von Zeit zu Zeit kleinen Veränderungen unterliegen. Die aktuellsten Informationen kannst du auf der jeweiligen Produktverpackung nachlesen.</p> 10215 <p class="further-notice text-xs">Die Konsistenz und Farbe der natürlichen Inhaltsstoffe in unseren Produkten kann je nach Temperatur und Anbaubedingungen leichte Unterschiede aufweisen. Auch wenn sich deren Erscheinungsbild dadurch leicht verändern kann, beeinträchtigt dies nicht die Qualität der Produkte.</p> 10216 </div> 10217 </div> 10218 </div> 10219 <div id="nutrition-9183" class="child-product-information-tab-content nutrition-tab" data-role="content"> 10220 <div id="nutritionfacts"> 10221 <table cellspacing="0" cellpadding="0" class="w-full"> 10222 <tbody> 10223 <tr> 10224 <td class="table-headline"> 10225 <div class="label label-headline">Durchschnittliche <br>Nährwerte</div> 10226 <div class="nutrition-value label-headline text-right"> 10227 pro <br> 100 g </div> 10228 </td> 10229 </tr> 10230 <tr> 10231 <td> 10232 <div class="line"> 10233 <div class="label">Energie</div> 10234 <div class="nutrition-value">1068kJ/255kcal</div> 10235 </div> 10236 </td> 10237 </tr> 10238 <tr> 10239 <td> 10240 <div class="line"> 10241 <div class="label">Fett</div> 10242 <div class="nutrition-value">5,4g</div> 10243 </div> 10244 </td> 10245 </tr> 10246 <tr> 10247 <td> 10248 <div class="line"> 10249 <div class="label">davon gesättigte Fettsäuren</div> 10250 <div class="nutrition-value">0,8g</div> 10251 </div> 10252 </td> 10253 </tr> 10254 <tr> 10255 <td> 10256 <div class="line"> 10257 <div class="label">Kohlenhydrate</div> 10258 <div class="nutrition-value">33,0g</div> 10259 </div> 10260 </td> 10261 </tr> 10262 <tr> 10263 <td> 10264 <div class="line"> 10265 <div class="label">davon Zucker</div> 10266 <div class="nutrition-value">24,3g</div> 10267 </div> 10268 </td> 10269 </tr> 10270 <tr> 10271 <td> 10272 <div class="line"> 10273 <div class="label">Ballaststoffe</div> 10274 <div class="nutrition-value">16,7g</div> 10275 </div> 10276 </td> 10277 </tr> 10278 <tr> 10279 <td> 10280 <div class="line"> 10281 <div class="label">EiweiÃ</div> 10282 <div class="nutrition-value">10,2g</div> 10283 </div> 10284 </td> 10285 </tr> 10286 <tr> 10287 <td> 10288 <div class="line"> 10289 <div class="label">Salz</div> 10290 <div class="nutrition-value">22,2g</div> 10291 </div> 10292 </td> 10293 </tr> 10294 </tbody> 10295 </table> 10296 </div> 10297 </div> 10298 </div> 10299 </div> 10300 </div> 10301 </div>
10302 </div> 10303 <div class="child product-6487" aria-label="Element 13 von 14"> 10304 <div class="inner_child_slider"> 10305 <div class="recipe-background-image-container"> 10306 <picture> 10307 10308 <source type="image/webp" data-srcset=" 10309 https://www.justspices.de/media/opti_image/webp/catalog/product/c/o/collage-2-feta-allrounder-gsa_1_1.webp"> 10310 10311 <source type="image/png" 10312 data-srcset=" 10313 https://www.justspices.de/media/catalog/product/c/o/collage-2-feta-allrounder-gsa_1_1.png"> 10314 10315 <img class="lozad recipeImage" data-src="https://www.justspices.de/media/catalog/product/c/o/collage-2-feta-allrounder-gsa_1_1.png"> </picture> 10316 10317 10318 </div> 10319 <div class="product-image-container text-center"> 10320 <a href="https://www.justspices.de/feta-allrounder-minituetchen.html"> 10321 <picture> 10322 10323 <source type="image/webp" data-srcset=" 10324 https://www.justspices.de/media/opti_image/webp/catalog/product/cache/979fc038911954998ac1859001db96e0/s/p/spicebag-feta-allrounder.webp"> 10325 10326 <source type="image/png" 10327 data-srcset=" 10328 https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/s/p/spicebag-feta-allrounder.png"> 10329 10330 <img class="lozad productImage" data-src="https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/s/p/spicebag-feta-allrounder.png"> </picture> 10331 10332 10333 </a> 10334 </div> 10335 <div class="content"> 10336 <p class="product-name">Feta Allrounder - Minitütchen</p> 10337 <p class="weight">4 g</p> 10338 <div class="tabs mt-2"> 10339 <div class="tab-header-container flex justify-center"> 10340 <div data-role="collapsible" id="header-informations" class="tab-header active"> 10341 <a onclick="openChildProductTab(event, 6487, 'informations-6487')" data-event="ev" data-category="product detail page" data-action="informations" data-toggle="trigger" data-open="informations-6487" class="child-product-tabs button-small w-auto secondary px-2"> 10342 <p>
10342Information</p> 10343 </a> 10344 </div> 10345 <div data-role="collapsible" id="header-ingredients" class="tab-header"> 10346 <a onclick="openChildProductTab(event,6487, 'ingredients-6487')" data-event="ev" data-category="product detail page" data-action="ingredients" data-toggle="trigger" data-open="ingredients-6487" class="child-product-tabs button-small w-auto secondary px-2"> 10347 <p>Zutaten</p> 10348 </a> 10349 </div> 10350 <div data-role="collapsible" id="header-nutrition" class="tab-header"> 10351 <a onclick="openChildProductTab(event,6487, 'nutrition-6487')" data-event="ev" data-category="product detail page" data-action="nutritions" data-toggle="trigger" data-open="nutrition-6487" data-type="toggle" class="child-product-tabs button-small w-auto secondary px-2"> 10352 <p>Nährwerte</p> 10353 </a> 10354 </div> 10355 </div> 10356 <div id="tab-element-content"> 10357 <div id="informations-6487" class="child-product-information-tab-content information-tab" data-role="content"> 10358 <ul> 10359<li>Feta mediterran marinieren und würzen</li> 10360<li><span style="font-weight: 400;">Mit Kräutern, Cumin, Knoblauch & mehr</span></li> 10361<li><span style="font-weight: 400;">Dein Griechenland-Feeling aus der Dose</span></li> 10362</ul> </div> 10363 <div id="ingredients-6487" class="child-product-information-tab-content ingredients-tab" data-role="content"> 10364 <div class="fs-14 lh-20 mb-2"> 10365 Würzmischung für Feta-Gerichte <br> 10366 Zutaten: 10367 Tomate, Lauch, Petersilie, Paprika edelsüÃ, Thymian, Knoblauch, Rosmarin, schwarzer Pfeffer, Kreuzkümmel. </div> 10368 <p class="allergic fs-11 lh-18">Kann Spuren von <strong>glutenhaltigem Getreide</strong>, <strong>Ei</strong>, <strong>Milch</strong>, <strong>Mandeln</strong>, <strong>Senf</strong>, <strong>Sellerie</strong>, <strong>Sesamsamen</strong> und <strong>Erdnüssen</strong> enthalten. <br> 10369 Kühl und trocken lagern. </p> 10370 <div role="tablist" class="accordion"> 10371 <div data-role="collapsible"> 10372 <div data-role="trigger"> 10373 <p class="toggle-further-notice text-xs underline show-more" onclick="openHintChildrenSlider(event)">Weitere Hinweise</p> 10374 <p class="toggle-further-notice text-xs underline show-less" onclick="closeHintChildrenSlider(event)">Weitere Hinweise ausblenden</p> 10375 </div> 10376 </div> 10377 <div data-role="content" class="further-hints"> 10378 <p class="further-notice text-xs pt-2 pb-2">Wir sind stets bemüht auf Basis deines Feedbacks unsere Produkte zu verbessern. Deshalb können unsere Inhaltsstoffe und damit verbunden die Liste an Inhaltsstoffen von Zeit zu Zeit kleinen Veränderungen unterliegen. Die aktuellsten Informationen kannst du auf der jeweiligen Produktverpackung nachlesen.</p> 10379 <p class="further-notice text-xs">Die Konsistenz und Farbe der natürlichen Inhaltsstoffe in unseren Produkten kann je nach Temperatur und Anbaubedingungen leichte Unterschiede aufweisen. Auch wenn sich deren Erscheinungsbild dadurch leicht verändern kann, beeinträchtigt dies nicht die Qualität der Produkte.</p> 10380 </div> 10381 </div> 10382 </div> 10383 <div id="nutrition-6487" class="child-product-information-tab-content nutrition-tab" data-role="content"> 10384 <div id="nutritionfacts"> 10385 <table cellspacing="0" cellpadding="0" class="w-full"> 10386 <tbody> 10387 <tr> 10388 <td class="table-headline"> 10389 <div class="label label-headline">Durchschnittliche <br>Nährwerte</div> 10390 <div class="nutrition-value label-headline text-right"> 10391 pro <br> 100 g </div> 10392 </td> 10393 </tr> 10394 <tr> 10395 <td> 10396 <div class="line"> 10397 <div class="label">Energie</div> 10398 <div class="nutrition-value">1208kJ/287kcal</div> 10399 </div> 10400 </td> 10401 </tr> 10402 <tr> 10403 <td> 10404 <div class="line"> 10405 <div class="label">Fett</div> 10406 <div class="nutrition-value">4,2g</div> 10407 </div> 10408 </td> 10409 </tr> 10410 <tr> 10411 <td> 10412 <div class="line"> 10413 <div class="label">davon gesättigte Fettsäuren</div> 10414 <div class="nutrition-value">0,8g</div> 10415 </div> 10416 </td> 10417 </tr> 10418 <tr> 10419 <td> 10420 <div class="line"> 10421 <div class="label">Kohlenhydrate</div> 10422 <div class="nutrition-value">38,8g</div> 10423 </div> 10424 </td> 10425 </tr> 10426 <tr> 10427 <td> 10428 <div class="line"> 10429 <div class="label">davon Zucker</div> 10430 <div class="nutrition-value">31,1g</div> 10431 </div> 10432 </td> 10433 </tr> 10434 <tr> 10435 <td> 10436 <div class="line"> 10437 <div class="label">Ballaststoffe</div> 10438 <div class="nutrition-value">15,5g</div> 10439 </div> 10440 </td> 10441 </tr> 10442 <tr> 10443 <td> 10444 <div class="line"> 10445 <div class="label">EiweiÃ</div> 10446 <div class="nutrition-value">15,8g</div> 10447 </div> 10448 </td> 10449 </tr> 10450 <tr> 10451 <td> 10452 <div class="line"> 10453 <div class="label">Salz</div> 10454 <div class="nutrition-value">0,18g</div> 10455 </div> 10456 </td> 10457 </tr> 10458 </tbody> 10459 </table> 10460 </div> 10461 </div> 10462 </div> 10463 </div> 10464 </div> 10465 </div>
10466 </div> 10467 <div class="child product-6463" aria-label="Element 14 von 14"> 10468 <div class="inner_child_slider"> 10469 <div class="recipe-background-image-container"> 10470 <picture> 10471 10472 <source type="image/webp" data-srcset=" 10473 https://www.justspices.de/media/opti_image/webp/catalog/product/s/l/slider-2-knoblauchpfeffer-gsa_1_1_.webp"> 10474 10475 <source type="image/png" 10476 data-srcset=" 10477 https://www.justspices.de/media/catalog/product/s/l/slider-2-knoblauchpfeffer-gsa_1_1_.png"> 10478 10479 <img class="lozad recipeImage" data-src="https://www.justspices.de/media/catalog/product/s/l/slider-2-knoblauchpfeffer-gsa_1_1_.png"> </picture> 10480 10481 10482 </div> 10483 <div class="product-image-container text-center"> 10484 <a href="https://www.justspices.de/knoblauchpfeffer-minituetchen.html"> 10485 <picture> 10486 10487 <source type="image/webp" data-srcset=" 10488 https://www.justspices.de/media/opti_image/webp/catalog/product/cache/979fc038911954998ac1859001db96e0/s/p/spicebag-knoblauch-pfeffer.webp"> 10489 10490 <source type="image/png" 10491 data-srcset=" 10492 https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/s/p/spicebag-knoblauch-pfeffer.png"> 10493 10494 <img class="lozad productImage" data-src="https://www.justspices.de/media/catalog/product/cache/979fc038911954998ac1859001db96e0/s/p/spicebag-knoblauch-pfeffer.png"> </picture> 10495 10496 10497 </a> 10498 </div> 10499 <div class="content"> 10500 <p class="product-name">Knoblauchpfeffer - Minitütchen</p> 10501 <p class="weight">6 g</p> 10502 <div class="tabs mt-2"> 10503 <div class="tab-header-container flex justify-center"> 10504 <div data-role="collapsible" id="header-informations" class="tab-header active"> 10505 <a onclick="openChildProductTab(event, 6463, 'informations-6463')" data-event="ev" data-category="product detail page" data-action="informations" data-toggle="trigger" data-open="informations-6463" class="child-product-tabs button-small w-auto secondary px-2"> 10506 <p>
10506Information</p> 10507 </a> 10508 </div> 10509 <div data-role="collapsible" id="header-ingredients" class="tab-header"> 10510 <a onclick="openChildProductTab(event,6463, 'ingredients-6463')" data-event="ev" data-category="product detail page" data-action="ingredients" data-toggle="trigger" data-open="ingredients-6463" class="child-product-tabs button-small w-auto secondary px-2"> 10511 <p>Zutaten</p> 10512 </a> 10513 </div> 10514 <div data-role="collapsible" id="header-nutrition" class="tab-header"> 10515 <a onclick="openChildProductTab(event,6463, 'nutrition-6463')" data-event="ev" data-category="product detail page" data-action="nutritions" data-toggle="trigger" data-open="nutrition-6463" data-type="toggle" class="child-product-tabs button-small w-auto secondary px-2"> 10516 <p>Nährwerte</p> 10517 </a> 10518 </div> 10519 </div> 10520 <div id="tab-element-content"> 10521 <div id="informations-6463" class="child-product-information-tab-content information-tab" data-role="content"> 10522 <ul> 10523<li>Für SoÃen, Brote, Fleisch, Fisch & vieles mehr</li> 10524<li>Mit Knobi, Tellicherry Pfeffer, Zwiebel und mehr</li> 10525<li>Streue das gewisse Extra auf alle Deine Gerichte</li> 10526</ul> </div> 10527 <div id="ingredients-6463" class="child-product-information-tab-content ingredients-tab" data-role="content"> 10528 <div class="fs-14 lh-20 mb-2"> 10529 Gewürzzubereitung mit Knoblauch und Pfeffer <br> 10530 Zutaten: 10531 45 % schwarzer Tellicherry Pfeffer, 16 % Knoblauch, Rohrohrzucker, Meersalz, Zwiebel, Piment, Paprika edelsüÃ, Thymian. </div> 10532 <p class="allergic fs-11 lh-18">Kann Spuren von <strong>glutenhaltigem Getreide</strong>, <strong>Ei</strong>, <strong>Milch</strong>, <strong>Mandeln</strong>, <strong>Senf</strong>, <strong>Sellerie</strong>, <strong>Sesamsamen</strong> und <strong>Erdnüssen</strong> enthalten. <br> 10533 Kühl und trocken lagern. </p> 10534 <div role="tablist" class="accordion"> 10535 <div data-role="collapsible"> 10536 <div data-role="trigger"> 10537 <p class="toggle-further-notice text-xs underline show-more" onclick="openHintChildrenSlider(event)">Weitere Hinweise</p> 10538 <p class="toggle-further-notice text-xs underline show-less" onclick="closeHintChildrenSlider(event)">Weitere Hinweise ausblenden</p> 10539 </div> 10540 </div> 10541 <div data-role="content" class="further-hints"> 10542 <p class="further-notice text-xs pt-2 pb-2">Wir sind stets bemüht auf Basis deines Feedbacks unsere Produkte zu verbessern. Deshalb können unsere Inhaltsstoffe und damit verbunden die Liste an Inhaltsstoffen von Zeit zu Zeit kleinen Veränderungen unterliegen. Die aktuellsten Informationen kannst du auf der jeweiligen Produktverpackung nachlesen.</p> 10543 <p class="further-notice text-xs">Die Konsistenz und Farbe der natürlichen Inhaltsstoffe in unseren Produkten kann je nach Temperatur und Anbaubedingungen leichte Unterschiede aufweisen. Auch wenn sich deren Erscheinungsbild dadurch leicht verändern kann, beeinträchtigt dies nicht die Qualität der Produkte.</p> 10544 </div> 10545 </div> 10546 </div> 10547 <div id="nutrition-6463" class="child-product-information-tab-content nutrition-tab" data-role="content"> 10548 <div id="nutritionfacts"> 10549 <table cellspacing="0" cellpadding="0" class="w-full"> 10550 <tbody> 10551 <tr> 10552 <td class="table-headline"> 10553 <div class="label label-headline">Durchschnittliche <br>Nährwerte</div> 10554 <div class="nutrition-value label-headline text-right"> 10555 pro <br> 100 g </div> 10556 </td> 10557 </tr> 10558 <tr> 10559 <td> 10560 <div class="line"> 10561 <div class="label">Energie</div> 10562 <div class="nutrition-value">1204kJ/285kcal</div> 10563 </div> 10564 </td> 10565 </tr> 10566 <tr> 10567 <td> 10568 <div class="line"> 10569 <div class="label">Fett</div> 10570 <div class="nutrition-value">2,2g</div> 10571 </div> 10572 </td> 10573 </tr> 10574 <tr> 10575 <td> 10576 <div class="line"> 10577 <div class="label">davon gesättigte Fettsäuren</div> 10578 <div class="nutrition-value">0,6g</div> 10579 </div> 10580 </td> 10581 </tr> 10582 <tr> 10583 <td> 10584 <div class="line"> 10585 <div class="label">Kohlenhydrate</div> 10586 <div class="nutrition-value">53,4g</div> 10587 </div> 10588 </td> 10589 </tr> 10590 <tr> 10591 <td> 10592 <div class="line"> 10593 <div class="label">davon Zucker</div> 10594 <div class="nutrition-value">44,2g</div> 10595 </div> 10596 </td> 10597 </tr> 10598 <tr> 10599 <td> 10600 <div class="line"> 10601 <div class="label">Ballaststoffe</div> 10602 <div class="nutrition-value">9,3g</div> 10603 </div> 10604 </td> 10605 </tr> 10606 <tr> 10607 <td> 10608 <div class="line"> 10609 <div class="label">EiweiÃ</div> 10610 <div class="nutrition-value">8,3g</div> 10611 </div> 10612 </td> 10613 </tr> 10614 <tr> 10615 <td> 10616 <div class="line"> 10617 <div class="label">Salz</div> 10618 <div class="nutrition-value">14,30g</div> 10619 </div> 10620 </td> 10621 </tr> 10622 </tbody> 10623 </table> 10624 </div> 10625 </div> 10626 </div> 10627 </div> 10628 </div> 10629 </div>
10630 </div> 10631 </div> 10632 <div class="pagingInfoContainer"><span class="pagingInfo"></span></div> 10633 </div> 10634</div>
10635<script type="text/javascript"> 10636 slideJavascriptCarousels(); 10637 10638 function openChildProductTab(evt,productId, tabId) { 10639 let childProductContainer = document.getElementsByClassName('child product-' + productId)[0]; 10640 let tabs = childProductContainer.getElementsByClassName('tabs')[0]; 10641 let tabContent = tabs.getElementsByClassName("child-product-information-tab-content"); 10642 for (i = 0; i < tabContent.length; i++) { 10643 tabContent[i].style.display = "none"; 10644 } 10645 10646 let tabLinks = tabs.getElementsByClassName("tab-header"); 10647 for (i = 0; i < tabLinks.length; i++) { 10648 tabLinks[i].className = tabLinks[i].className.replace(" active", ""); 10649 } 10650 10651 document.getElementById(tabId).style.display = "block"; 10652 evt.currentTarget.parentElement.className += " active"; 10653 } 10654 10655 function openHintChildrenSlider(event) { 10656 const showMoreButton = event.target; 10657 const parentAccordion = showMoreButton.closest('.accordion'); 10658 const showLessButton = parentAccordion.querySelector('.show-less'); 10659 const furtherHints = parentAccordion.querySelector('.further-hints'); 10660 10661 showMoreButton.style.display = "none"; 10662 showLessButton.style.display = "block"; 10663 furtherHints.style.display = "block"; 10664 } 10665 10666 function closeHintChildrenSlider(event) { 10667 const showLessButton = event.target; 10668 const parentAccordion = showLessButton.closest('.accordion'); 10669 const showMoreButton = parentAccordion.querySelector('.show-more'); 10670 const furtherHints = parentAccordion.querySelector('.further-hints'); 10671 10672 showMoreButton.style.display = "block"; 10673 showLessButton.style.display = "none"; 10674 furtherHints.style.display = "none"; 10675 } 10676</script>
10676 10677 10678 </div> 10679 </div> 10680 </div> 10681 </div> 10682 </div> 10683</section></div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><section class="ml-2 tablet:ml-4 laptop:ml-auto laptop:container mb-8 tablet:mb-13 relative" id="reviews"> 10684 <img class="lozad background-illu" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/illu-blue-bubble.svg" /> 10685 <p class="font-recoleta fs-32 lh-40 mb-3">So schmecktâs anderen.</p> 10686 <div class="review-slider relative javascript-slider-wrapper no-left"> 10687 <div class="controls"> 10688 <div class="button_left" style="display: none;"> 10689 <svg id="svg-left-arrow-animation" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="-10 -13 460 390" shape-rendering="geometricPrecision" text-rendering="geometricPrecision"> 10690 <line id="svg-left-arrow-animation-animation-line" x1="400" y1="182" x2="20" y2="182" transform="matrix(-.955605 0 0 1.005502 435.573342-1.004115)" opacity="0" fill="none" stroke="#000" stroke-width="60" stroke-linecap="round" stroke-miterlimit="1" stroke-dashoffset="380" stroke-dasharray="380"></line><g id="svg-left-arrow-animation-arrow" transform="translate(200.75688,181.997249)"><polyline points="255.6,345 413.1,182.6 255.6,20" transform="scale(-1,1) translate(-334.350006,-182.5)" fill="none" stroke="#000" stroke-width="60" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"></polyline></g> 10691 </svg> 10692 </div> 10693 <div class="button_right" style="display: block;"> 10694 <svg id="svg-right-arrow-animation" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="-10 -13 455 390" shape-rendering="geometricPrecision" text-rendering="geometricPrecision"> 10695 <line id="svg-right-arrow-animation-animation-line" x1="400" y1="182" x2="20" y2="182" transform="matrix(.955605 0 0 1.005502 0.8879-1.004115)" opacity="0" fill="none" stroke="#000" stroke-width="60" stroke-linecap="round" stroke-miterlimit="1" stroke-dashoffset="380" stroke-dasharray="380"></line><g id="svg-right-arrow-animation-arrow" transform="translate(233.234697,182.5)"><polyline points="255.6,345 413.1,182.6 255.6,20" transform="translate(-334.350006,-182.5)" fill="none" stroke="#000" stroke-width="60" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"></polyline></g> 10696 </svg> 10697 </div> 10698 </div> 10699 <div class="javascript-slider"> 10700 <div class="review"> 10701 <div class="rating-result mb-2" title="100%"> 10702 <span style="width:100%"> 10703 <span itemprop="ratingValue">100%</span> 10704 </span> 10705 </div> 10706 <p class="text-s mb-2 review-text">Ich als Gewürzmuffel (sonst nur Salz und Pfeffer) bin begeistert vom Geschmack der Gewürze. Es schmeckt alles wirklich sehr viel besser und kein Gewürz sticht unangenehm heraus (was man von anderen gewürzmischungen nicht immer sagen kann)</p> 10707 <span class="fs-14 lh-18 verified-customer"> 10708 <i class="fa-light fa-badge-check mr-1"></i> Verifizierte/r Kund/in 10709 </span> 10710 </div> 10711 <div class="review"> 10712 <div class="rating-result mb-2" title="100%"> 10713 <span style="width:100%"> 10714 <span itemprop="ratingValue">100%</span> 10715 </span> 10716 </div> 10717 <p class="text-s mb-2 review-text">Bin bereits Kundin der ersten Stunden ;-)... tolle neue Gewürzmischungen sind hinzu gekommen, die gilt es jetzt auszuprobieren. Die Qualität durch den Verzicht auf chemische Aromen hat mich ja vor Jahren schon begeistert und überzeugt!</p>
10718 <span class="fs-14 lh-18 verified-customer"> 10719 <i class="fa-light fa-badge-check mr-1"></i> Verifizierte/r Kund/in 10720 </span> 10721 </div> 10722 <div class="review"> 10723 <div class="rating-result mb-2" title="100%"> 10724 <span style="width:100%"> 10725 <span itemprop="ratingValue">100%</span> 10726 </span> 10727 </div> 10728 <p class="text-s mb-2 review-text">Die Gewürzmischungen sind nicht mehr aus dem Haushalt wegzudenken. Natürlich ist es auch hier Geschmackssache, nicht alles findet totalen Anklang in der Küche, aber die meisten Dinge sind klasse.</p> 10729 <span class="fs-14 lh-18 verified-customer"> 10730 <i class="fa-light fa-badge-check mr-1"></i> Verifizierte/r Kund/in 10731 </span> 10732 </div> 10733 <div class="review"> 10734 <div class="rating-result mb-2" title="100%"> 10735 <span style="width:100%"> 10736 <span itemprop="ratingValue">100%</span> 10737 </span> 10738 </div> 10739 <p class="text-s mb-2 review-text">Ich bin empfindlich was Unverträglichkeiten angeht, aber bei JustSpices vertrage ich alles. Es sind auÃergewöhnliche Mischungen dabei die mir gut schmecken. Mein Favorit ist Avocado Topping.</p> 10740 <span class="fs-14 lh-18 verified-customer"> 10741 <i class="fa-light fa-badge-check mr-1"></i> Verifizierte/r Kund/in 10742 </span> 10743 </div> 10744 <div class="review"> 10745 <div class="rating-result mb-2" title="100%"> 10746 <span style="width:100%"> 10747 <span itemprop="ratingValue">100%</span> 10748 </span> 10749 </div> 10750 <p class="text-s mb-2 review-text">Immer wieder geil..hab meine Favoriten wie Bratkartoffelgewürz oder Gemüseallrounder, die ich immer bestelle....hab jetzt mal Ofengemüsegewürzmix und Turkish-Allroun
10750der ausprobiert..genial</p> 10751 <span class="fs-14 lh-18 verified-customer"> 10752 <i class="fa-light fa-badge-check mr-1"></i> Verifizierte/r Kund/in 10753 </span> 10754 </div> 10755 <div class="review"> 10756 <div class="rating-result mb-2" title="100%"> 10757 <span style="width:100%"> 10758 <span itemprop="ratingValue">100%</span> 10759 </span> 10760 </div> 10761 <p class="text-s mb-2 review-text">Just Spice ist ein fester Bestandteil in unserer Küche geworden. Wir lieben die Vielfalt und Qualität der Gewürze. Als Geschenk kommen die Gewürze auch immer wieder gut an.</p> 10762 <span class="fs-14 lh-18 verified-customer"> 10763 <i class="fa-light fa-badge-check mr-1"></i> Verifizierte/r Kund/in 10764 </span> 10765 </div> 10766 </div> 10767 </div> 10768</section></div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><section class="ml-2 tablet:ml-4 laptop:ml-auto laptop:container mb-13 relative" id="bestseller"> 10769 <img class="lozad illu" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/illu-petersilie.svg" /> 10770 <p class="font-recoleta fs-32 lh-40 mb-3">Unsere meist gekauften Gewürzmixe <i class="fa-solid fa-heart text-main-red fs-32 lh-40"></i></p> 10771 <div class="bestseller-slider relative javascript-slider-wrapper no-left"> 10772 <div class="controls"> 10773 <div class="button_left" style="display: none;"> 10774 <svg id="svg-left-arrow-animation" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="-10 -13 460 390" shape-rendering="geometricPrecision" text-rendering="geometricPrecision"> 10775 <line id="svg-left-arrow-animation-animation-line" x1="400" y1="182" x2="20" y2="182" transform="matrix(-.955605 0 0 1.005502 435.573342-1.004115)" opacity="0" fill="none" stroke="#000" stroke-width="60" stroke-linecap="round" stroke-miterlimit="1" stroke-dashoffset="380" stroke-dasharray="380"></line><g id="svg-left-arrow-animation-arrow" transform="translate(200.75688,181.997249)"><polyline points="255.6,345 413.1,182.6 255.6,20" transform="scale(-1,1) translate(-334.350006,-182.5)" fill="none" stroke="#000" stroke-width="60" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"></polyline></g> 10776 </svg> 10777 </div> 10778 <div class="button_right" style="display: block;"> 10779 <svg id="svg-right-arrow-animation" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="-10 -13 455 390" shape-rendering="geometricPrecision" text-rendering="geometricPrecision"> 10780 <line id="svg-right-arrow-animation-animation-line" x1="400" y1="182" x2="20" y2="182" transform="matrix(.955605 0 0 1.005502 0.8879-1.004115)" opacity="0" fill="none" stroke="#000" stroke-width="60" stroke-linecap="round" stroke-miterlimit="1" stroke-dashoffset="380" stroke-dasharray="380"></line><g id="svg-right-arrow-animation-arrow" transform="translate(233.234697,182.5)"><polyline points="255.6,345 413.1,182.6 255.6,20" transform="translate(-334.350006,-182.5)" fill="none" stroke="#000" stroke-width="60" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"></polyline></g> 10781 </svg> 10782 </div> 10783 </div> 10784 <div class="javascript-slider"> 10785 <div class="product"> 10786 <a href="https://www.justspices.de/avocado-topping.html"> 10787 <picture> 10788 10789 <source type="image/webp" data-srcset=" 10790 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-avo-can.webp"> 10791 10792 <source type="image/png" 10793 data-srcset=" 10794 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-avo-can.png"> 10795 10796 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-avo-can.png" class="lozad hover-scale" alt="Avocado Topping" width="265" height="267"> </picture> 10797 10798 10799 </a> 10800 <p class="font-bold text-m mb-2">Knuspriges Topping <br />für Avocado-Gerichte</p> 10801 <div class="short-description mt-2 mb-2"> 10802 <ul class="check-list"> 10803 <li>Für Avo-Brote, Guacamole, Bowls und Salate</li> 10804 <li>Mit crunchy Meersalz, Sesam, Tomate & mehr</li> 10805 <li>So lecker, die Avocado würde sich selbst essen</li> 10806 </ul> 10807 </div> 10808 <a href="https://www.justspices.de/avocado-topping.html" class="button secondary w-full">Zur Produktseite</a> 10809 </div> 10810 <div class="product"> 10811 <a href="https://www.justspices.de/haehnchen-allrounder.html"> 10812 <picture> 10813 10814 <source type="image/webp" data-srcset=" 10815 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-haehnchen-can.webp"> 10816 10817 <source type="image/png" 10818 data-srcset=" 10819 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-haehnchen-can.png"> 10820 10821 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-haehnchen-can.png" class="lozad hover-scale" alt="Hähnchen Allrounder" width="265" height="267"> </picture> 10822 10823 10824 </a> 10825 <p class="font-bold text-m mb-2">Würzige Mischung <br />für Geflügel</p> 10826 <div class="short-description mt-2 mb-2"> 10827 <ul class="check-list"> 10828 <li>Würze Brathähnchen, Wings, Bollen & Filet</li> 10829 <li>Mit Knobi, Paprika, Rauchsalz, Chili & mehr</li> 10830 <li>So köstlich, danach leckst Du Dir die Finger</li> 10831 </ul> 10832 </div> 10833 <a href="https://www.justspices.de/haehnchen-allrounder.html" class="button secondary w-full">Zur Produktseite</a> 10834 </div> 10835 <div class="product"> 10836 <a href="https://www.justspices.de/ofengemuese-gewuerzmix.html"> 10837 <picture> 10838 10839 <source type="image/webp" data-srcset=" 10840 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-ofengemuese-can.webp"> 10841 10842 <source type="image/png" 10843 data-srcset=" 10844 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-ofengemuese-can.png"> 10845 10846 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-ofengemuese-can.png" class="lozad hover-scale" alt="Ofengemüse Gewürzmix" width="265" height="267"> </picture> 10847 10848 10849 </a> 10850 <p class="font-bold text-m mb-2">Gewürzmix für Gemüse <br />vom Blech</p> 10851 <div class="short-description mt-2 mb-2"> 10852 <ul class="check-list"> 10853 <li>Aubergine bis Zucchini mediterran würzen</li> 10854 <li>Mit Kräuter, Knoblauch, Zwiebel und mehr</li> 10855 <li>Hiermit isst Du freiwillig jeden Tag Gemüse</li> 10856 </ul> 10857 </div> 10858 <a href="https://www.justspices.de/ofengemuese-gewuerzmix.html" class="button secondary w-full">Zur Produktseite</a> 10859 </div> 10860 <div class="product"> 10861 <a href="https://www.justspices.de/pizza-gewuerz.html"> 10862 <picture> 10863 10864 <source type="image/webp" data-srcset=" 10865 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-pizza-can.webp"> 10866 10867 <source type="image/png" 10868 data-srcset=" 10869 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-pizza-can.png"> 10870 10871 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/about-us-pizza-can.png" class="lozad hover-scale" alt="Pizza Gewürz" width="265" height="267"> </picture> 10872 10873 10874 </a> 10875 <p class="font-bold text-m mb-2">Nach Italien mit einem Biss:<br /> Mischung für Pizza</p> 10876 <div class="short-description mt-2 mb-2"> 10877 <ul class="check-list"> 10878 <li>Einfach auf Pizza, Focaccia & mehr streuen</li> 10879 <li>Mit Knoblauch, Oregano, Zwiebeln & mehr</li> 10880 <li>La dolce vita ist nur ein Pizzastück entfernt</li> 10881 </ul> 10882 </div> 10883 <a href="https://www.justspices.de/pizza-gewuerz.html" class="button secondary w-full">Zur Produktseite</a> 10884 </div> 10885 </div> 10886 </div> 10887</section></div><div data-content-type="html" data-appearance="default" data-element="main" data-pb-style="YNF4CE9" data-decoded="true"><section id="more-product-categories" class="relative mb-8"> 10888 <div class="container mb-3"> 10889 <p class="font-recoleta text-xl">Entdecke alle Produkte.</p> 10890 </div> 10891 <div class="category-slider ml-2 tablet:ml-4 laptop:ml-auto laptop:container"> 10892 <div class="javascript-slider-wrapper relative review-fluid-slider"> 10893 <div class="controls"> 10894 <div class="button_left" style="display: none;"> 10895 <svg id="svg-left-arrow-animation" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewB
10895ox="-10 -13 460 390" shape-rendering="geometricPrecision" text-rendering="geometricPrecision"> 10896 <line id="svg-left-arrow-animation-animation-line" x1="400" y1="182" x2="20" y2="182" transform="matrix(-.955605 0 0 1.005502 435.573342-1.004115)" opacity="0" fill="none" stroke="#000" stroke-width="60" stroke-linecap="round" stroke-miterlimit="1" stroke-dashoffset="380" stroke-dasharray="380"></line><g id="svg-left-arrow-animation-arrow" transform="translate(200.75688,181.997249)"><polyline points="255.6,345 413.1,182.6 255.6,20" transform="scale(-1,1) translate(-334.350006,-182.5)" fill="none" stroke="#000" stroke-width="60" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"></polyline></g> 10897 </svg> 10898 </div> 10899 <div class="button_right" style="display: block;"> 10900 <svg id="svg-right-arrow-animation" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="-10 -13 455 390" shape-rendering="geometricPrecision" text-rendering="geometricPrecision"> 10901 <line id="svg-right-arrow-animation-animation-line" x1="400" y1="182" x2="20" y2="182" transform="matrix(.955605 0 0 1.005502 0.8879-1.004115)" opacity="0" fill="none" stroke="#000" stroke-width="60" stroke-linecap="round" stroke-miterlimit="1" stroke-dashoffset="380" stroke-dasharray="380"></line><g id="svg-right-arrow-animation-arrow" transform="translate(233.234697,182.5)"><polyline points="255.6,345 413.1,182.6 255.6,20" transform="translate(-334.350006,-182.5)" fill="none" stroke="#000" stroke-width="60" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"></polyline></g> 10902 </svg> 10903 </div> 10904 </div> 10905 <div class="javascript-slider"> 10906 <div class="category-bubble category-bubble-1"> 10907 <a href="https://www.justspices.de/erstelle-deine-eigene-geschenkbox.html" data-event="ev" data-ga4event="select_category" data-category="home" data-action="CTA" data-label="Eigene Box"> 10908 <picture> 10909 10910 <source type="image/webp" data-srcset=" 10911 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/home/home_categories_eigene_box.webp"> 10912 10913 <source type="image/png" 10914 data-srcset=" 10915 https://www.justspices.de/media/wysiwyg/relaunch-2024/home/home_categories_eigene_box.png"> 10916 10917 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/home/home_categories_eigene_box.png" class="lozad hover-scale" alt="Eigene Box" width="270" height="270"> </picture> 10918 10919 10920 <p class="text-s font-recoleta mt-2">Eigene Box</p> 10921 </a> 10922 </div> 10923 <div class="category-bubble category-bubble-2"> 10924 <a href="https://www.justspices.de/erstelle-dein-eigenes-set-8.html" data-event="ev" data-ga4event="select_category" data-category="home" data-action="CTA" data-label="Eigenes Set"> 10925 <picture> 10926 10927 <source type="image/webp" data-srcset=" 10928 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/home/home_categories_eigenes_set.webp"> 10929 10930 <source type="image/png" 10931 data-srcset=" 10932 https://www.justspices.de/media/wysiwyg/relaunch-2024/home/home_categories_eigenes_set.png"> 10933 10934 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/home/home_categories_eigenes_set.png" class="lozad hover-scale" alt="Eigenes Set" width="270" height="270"> </picture> 10935 10936 10937 <p class="text-s font-recoleta mt-2">Eigenes Set</p> 10938 </a> 10939 </div> 10940 10941 <div class="category-bubble category-bubble-4"> 10942 <a href="https://www.justspices.de/angebote/gewuerzsets.html" data-event="ev" data-ga4event="select_category" data-category="home" data-action="CTA" data-label="Alle Sets"> 10943 <picture> 10944 10945 <source type="image/webp" data-srcset=" 10946 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/home/home_categories_alle_sets.webp"> 10947 10948 <source type="image/png" 10949 data-srcset=" 10950 https://www.justspices.de/media/wysiwyg/relaunch-2024/home/home_categories_alle_sets.png"> 10951 10952 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/home/home_categories_alle_sets.png" class="lozad hover-scale" alt="Alle Sets" width="270" height="270"> </picture> 10953 10954 10955 <p class="text-s font-recoleta mt-2">Alle Sets %</p> 10956 </a> 10957 </div> 10958 <div class="category-bubble category-bubble-5"> 10959 <a href="https://www.justspices.de/geschenkideen/gewuerzboxen.html" data-event="ev" data-ga4event="select_category" data-category="home" data-action="CTA" data-label="Gewürzboxen"> 10960 <picture> 10961 10962 <source type="image/webp" data-srcset=" 10963 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/home/home_categories_gewuerzbox.webp"> 10964 10965 <source type="image/png" 10966 data-srcset=" 10967 https://www.justspices.de/media/wysiwyg/relaunch-2024/home/home_categories_gewuerzbox.png"> 10968 10969 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/home/home_categories_gewuerzbox.png" class="lozad hover-scale" alt="Gewürzboxen" width="270" height="270"> </picture> 10970 10971 10972 <p class="text-s font-recoleta mt-2">Gewürzboxen</p> 10973 </a> 10974 </div> 10975 <div class="category-bubble category-bubble-6"> 10976 <a href="https://www.justspices.de/gewuerzmischungen.html" data-event="ev" data-ga4event="select_category" data-category="home" data-action="CTA" data-label="Gewürzmixe"> 10977 <picture> 10978 10979 <source type="image/webp" data-srcset=" 10980 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/home/home_categories_gewuerzmixe.webp"> 10981 10982 <source type="image/png" 10983 data-srcset=" 10984 https://www.justspices.de/media/wysiwyg/relaunch-2024/home/home_categories_gewuerzmixe.png"> 10985 10986 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/home/home_categories_gewuerzmixe.png" class="lozad hover-scale" alt="Gewürzmixe" width="270" height="270"> </picture> 10987 10988 10989 <p class="text-s font-recoleta mt-2">Gewürzmixe</p> 10990 </a> 10991 </div> 10992 </div> 10993 </div> 10994 </div> 10995</section></div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><section class="mb-13" id="color-meaning"> 10996 <div class="container"> 10997 <p class="font-recoleta fs-32 lh-40 mb-2 text-center">Das bedeuten <br class="tablet:hidden"/> die Farben.</p> 10998 <p class="mb-2 text-center">Just Spices - sind das nicht <strong> die mit den bunten Dosen?</strong> Ja! Bei uns gilt: Eine Zutat, eine Farbe.</p> 10999 <div class="flex justify-start items-start flex-wrap laptop:justify-center" id="can-colors"> 11000 <div class="flex flex-col justify-center items-center "> 11001 <picture> 11002 11003 <source type="image/webp" data-srcset=" 11004 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus/about-us-lp-mockup-avocado-topping.webp"> 11005 11006 <source type="image/png" 11007 data-srcset=" 11008 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus/about-us-lp-mockup-avocado-topping.png"> 11009 11010 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus/about-us-lp-mockup-avocado-topping.png" alt="" class="lozad" /> </picture> 11011 11012 11013 <strong class="font-recoleta fs-16 lh-24">Orange</strong> 11014 <p class="fs-14 lh-18">Samen & Hülsen</p> 11015 </div> 11016 <div class="flex flex-col justify-center items-center"> 11017 <picture> 11018 11019 <source type="image/webp" data-srcset=" 11020 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus/about-us-lp-mockup-ei-topping.webp"> 11021 11022 <source type="image/png" 11023 data-srcset=" 11024 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus/about-us-lp-mockup-ei-topping.png"> 11025 11026 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus/about-us-lp-mockup-ei-topping.png" alt="" class="lozad" /> </picture> 11027 11028 11029 <strong class="font-recoleta fs-16 lh-24">Gelb</strong> 11030 <p class="fs-14 lh-18">Wurzeln & Rinden</p> 11031 </div> 11032 <div class="flex flex-col justify-center items-center"> 11033 <picture> 11034 11035 <source type="image/webp" data-srcset=" 11036 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus/about-us-lp-mockup-italian-allrounder.webp"> 11037 11038 <source type="image/png" 11039 data-srcset=" 11040 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus/about-us-lp-mockup-italian-allrounder.png"> 11041 11042 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus/about-us-lp-mockup-italian-allrounder.png" alt="" class="lozad" /> </picture> 11043 11044 11045 <strong class="font-recoleta fs-16 lh-24">Rot</strong> 11046 <p class="fs-14 lh-18">Früchte & Blüten</p> 11047 </div> 11048 <div class="flex flex-col justify-center items-center"> 11049 <picture> 11050 11051 <source type="image/webp" data-srcset=" 11052 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus/about-us-lp-mockup-haehnchen-allrounder.webp"> 11053 11054 <source type="image/png" 11055 data-srcset=" 11056 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus/about-us-lp-mockup-haehnchen-allrounder.png"> 11057 11058 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus/about-us-lp-mockup-haehnchen-allrounder.png" alt="" class="lozad" /> </picture> 11059 11060 11061 <strong class="font-recoleta fs-16 lh-24">Blau</strong> 11062 <p class="fs-14 lh-18">Salze</p> 11063 </div> 11064 <div class="flex flex-col justify-center items-center"> 11065 <picture> 11066 11067 <source type="image/webp" data-srcset=" 11068 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus/about-us-lp-mockup-knoblauch-pfeffer.webp"> 11069 11070 <source type="image/png" 11071 data-srcset=" 11072 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus/about-us-lp-mockup-knoblauch-pfeffer.png"> 11073 11074 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus/about-us-lp-mockup-knoblauch-pfeffer.png" alt="" class="lozad" /> </picture> 11075 11076 11077 <strong class="font-recoleta fs-16 lh-24">Lila</strong> 11078 <p class="fs-14 lh-18">Pfeffer</p> 11079 </div> 11080 <div class="flex flex-col justify-center items-center"> 11081 <picture> 11082 11083 <source type="image/webp" data-srcset=" 11084 https://www.justspices.de/media/opti_image/webp/wysiwyg/relaunch-2024/cms/aboutus/about-us-lp-mockup-garlic-and-onion.webp"> 11085 11086 <source type="image/png" 11087 data-srcset=" 11088 https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus/about-us-lp-mockup-garlic-and-onion.png"> 11089 11090 <img data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus/about-us-lp-mockup-garlic-and-onion.png" alt="" class="lozad" /> </picture> 11091 11092 11093 <strong class="font-recoleta fs-16 lh-24">Grün</strong> 11094 <p class="fs-14 lh-18">Kräuter & Blätter</p> 11095 </div> 11096 </div> 11097 </div> 11098</section></div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><section class="relative" id="faq-list"> 11099 <img class="lozad illu" data-src="https://www.justspices.de/media/wysiwyg/relaunch-2024/cms/aboutus-sale/illu-green-bubble.svg" /> 11100 <div id="faq" class="container mb-8"> 11101 <div class="faq-headline mb-3"> 11102 <h2 class="font-recoleta text-xl">Du fragst, <br class="tablet:hidden" />wir antworten.</h2> 11103 </div> 11104 <div class="accordion pb-2 faq-question-wrapper"> 11105 <div class="card" itemscope="" itemprop="mainEntity" itemtype="https://schema.org/Question"> 11106 <div class="card-header active" id="heading-1" data-role="collapsible"> 11107 <h3 class="mb-0"> 11108 <button class="btn btn-link text-s collapsed w-full text-left p-0 pr-3 relative" type="button" data-role="trigger" aria-expanded="true" aria-controls="collapse-1" onclick="toggleFaq(this)">
11109 <span itemprop="name">Wie wurde Just Spices gegründet?</span> 11110 <i class="fa-light fa-chevron-down"></i> 11111 </button> 11112 </h3> 11113 </div> 11114 <div itemscope="" itemprop="acceptedAnswer" itemtype="https://schema.org/Answer" id="collapse-1" class="collapse" aria-labelledby="heading-1" data-role="content" style="display: block;"> 11115 <div itemprop="text" class="card-body text-s">Es war einmal in einer Studenten-Bude: Drei Jungs möchten gemeinsam kochen. Indisch soll es sein. Im Supermarkt wird Ole, Bela und Florian jedoch schnell klar, dass sie unzählige Gewürze kaufen müssten, um ein authentisch indisches Gericht zu zaubern. So entstand die Idee, leckere, kreative und landestypische Gewürzmischungen herzustellen, die eine All-in-One-Lösung für alle Lieblingsgerichte bietet. So entstand Just Spices.<br><br> Also gingen die drei auf Weltreise â um sich von den Geschmäckern dieser Welt inspirieren zu lassen, die besten Gewürze für Dich zu finden und Dein Gewürzregal zu revolutionieren. Mit unseren bunten Dosen hältst Du auch Reiseerinnerungen in der Hand: Die abgebildeten Charaktere sind Menschen nachempfunden, mit denen Ole, Bela und Florian weltweit zusammen gekocht haben. Menschen mit Ideen. Menschen mit Visionen. Und ganz viel leckerer Inspiration.</div> 11116 </div> 11117 </div> 11118 </div> 11119 <div class="accordion pb-2 faq-question-wrapper"> 11120 <div class="card" itemscope="" itemprop="mainEntity" itemtype="https://schema.org/Question"> 11121 <div class="card-header " id="heading-2" data-role="collapsible"> 11122 <h3 class="mb-0"> 11123 <button class="btn btn-link text-s collapsed w-full text-left p-0 pr-3 relative" type="button" data-role="trigger" aria-expanded="true" aria-controls="collapse-2" onclick="toggleFaq(this)"> 11124 <span itemprop="name">Was möchtet Ihr erreichen?</span> 11125 <i class="fa-light fa-chevron-down"></i> 11126 </button> 11127 </h3> 11128 </div> 11129 <div itemscope="" itemprop="acceptedAnswer" itemtype="https://schema.org/Answer" id="collapse-2" class="collapse" aria-labelledby="heading-2" data-role="content"> 11130 <div itemprop="text" class="card-body text-s">Wir möchten so viele Menschen wie möglich mit unseren Gewürzmischungen inspirieren, einfach, vielfältig und lecker zu kochen. Ohne viel Aufwand! Denn wir wissen selbst, dass es im stressigen Alltag auch belastend sein kann, gesund zu kochen. Genau deshalb erleichtern unsere Produkte Deinen Kochalltag â und ersparen das Chaos in Deinem Gewürzregal?<br><br> Das ist uns so wichtig, weil wir überzeugt davon sind, dass gutes Essen glücklich macht. Wir möchten, dass Du glücklich bist und Kochen keine Hürde darstellt! Dafür geben wir jeden Tag unser Bestes. Wir kreieren die leckersten Mischungen für Deine neuen Lieblingsgerichte und holen die kulinarische Vielfalt der ganzen Welt auf Deinen Teller. Zudem haben wir eine groÃe Community, die Spicebuddys, die wir mit unseren leckeren, gesunden Rezepten und ganz vielen Informationen zu einzelnen Gewürzen inspirieren.</div> 11131 </div> 11132 </div> 11133 </div> 11134 <div class="accordion pb-2 faq-question-wrapper"> 11135 <div class="card" itemscope="" itemprop="mainEntity" itemtype="https://schema.org/Question"> 11136 <div class="card-header " id="heading-3" data-role="collapsible"> 11137 <h3 class="mb-0"> 11138 <button class="btn btn-link text-s collapsed w-full text-left p-0 pr-3 relative" type="button" data-role="trigger" aria-expanded="true" aria-controls="collapse-3" onclick="toggleFaq(this)"> 11139 <span itemprop="name">Achtet Ihr auf Nachhaltigkeit?</span> 11140 <i class="fa-light fa-chevron-down"></i> 11141 </button> 11142 </h3> 11143 </div>
11144 <div itemscope="" itemprop="acceptedAnswer" itemtype="https://schema.org/Answer" id="collapse-3" class="collapse" aria-labelledby="heading-3" data-role="content"> 11145 <div itemprop="text" class="card-body text-s">Wir möchten dafür sorgen, dass noch mehr Menschen Zugang zu Essen bekommen. Denn eins ist klar: nicht alle haben das Glück, jeden Tag ein warmes Essen auf dem Tisch zu haben. Gleichzeitig haben wir eine soziale und ökologische Verantwortung unserem Team sowie unserem Planeten gegenüber.</div> 11146 </div> 11147 </div> 11148 </div> 11149 </div> 11150</section> 11151</div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true">
11151<script> 11152 slideJavascriptCarousels(); 11153 11154 function openProductContentPopup(name) { 11155 let popup = jQuery('.' + name).find('.product-content-popup'); 11156 popup.removeClass('hidden'); 11157 jQuery('body').addClass('overflow-hidden'); 11158 slideJavascriptCarousels(); 11159 } 11160 11161 function closePopup() { 11162 jQuery('.product-content-popup').addClass('hidden');; 11163 jQuery('body').removeClass('overflow-hidden'); 11164 } 11165 11166</script>
11166</div></div></div></main><footer class="page-footer"><div class="footer content"><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><div class="container laptop:flex laptop:flex-wrap laptop:justify-between"> 11167 <div class="newsletter-section mb-5 laptop:order-2"> 11168 </div> 11169 <div class="social-section flex justify-between flex-wrap mb-4 laptop:mb-6 laptop:block laptop:order-1 laptop:self-center"> 11170 <div class="logo laptop:mb-3"> 11171 <svg xmlns="http://www.w3.org/2000/svg" width="53" height="47" viewBox="0 0 53 47" fill="none"> 11172 <path d="M10.4355 11.4145C10.4355 11.2456 10.4312 11.0696 10.4239 10.8921L10.4151 10.6917C10.3904 10.1564 10.3656 9.60249 10.354 9.05573C10.3525 8.97844 10.3525 8.90115 10.3525 8.82529C10.3525 8.5104 10.3642 8.19265 10.3773 7.88492C10.3846 7.71889 10.3904 7.55286 10.3948 7.38683C10.4006 7.1936 10.4035 6.99894 10.4035 6.80572C10.4035 5.81812 10.3307 4.8391 10.1865 3.89873C10.1661 3.76562 10.1472 3.63108 10.1268 3.49797C10.0525 2.99844 9.97682 2.48317 9.86614 1.98365C9.79479 1.6616 9.64916 1.36819 9.38996 1.03183C9.31132 0.928776 9.2254 0.892993 9.12638 0.925913C8.94435 0.984596 8.76815 1.02467 8.61379 1.06046C8.05897 1.18641 7.83325 1.25654 7.83325 1.72172C7.83325 1.76752 7.83616 1.81619 7.84053 1.86914C7.89296 2.44882 7.99635 3.93309 8.02984 4.40828C8.06042 4.85198 8.06333 5.28567 8.06333 5.65065C8.06333 5.84102 8.06333 6.02995 8.06042 6.22031C8.06042 6.40924 8.05897 6.59818 8.05897 6.78711C8.05897 6.9603 8.05897 7.13205 8.06333 7.30524V7.32957C8.06333 7.36679 8.06188 7.404 8.06042 7.44122C8.06042 7.47414 8.05751 7.50563 8.05751 7.53711C8.05751 7.61011 8.06625 7.65877 8.08663 7.70171L8.10411 7.73893V9.03283L8.08227 9.0729C8.06916 9.09724 8.06479 9.12873 8.06479 9.19027V9.27186C8.05314 10.477 8.02256 11.8883 7.87548 13.3196C7.86674 13.4026 7.85073 13.4842 7.83616 13.5629C7.81578 13.6688 7.79684 13.769 7.79684 13.8635C7.79684 13.9093 7.80121 13.9508 7.81141 13.9894C7.85946 14.1798 7.88276 14.3788 7.88276 14.5963C7.88276 14.8869 7.84199 15.1703 7.80121 15.4451C7.58715 16.9179 7.24348 18.1875 6.74836 19.3225C6.28674 20.3817 5.59794 20.9499 4.64703 21.0572C4.59897 21.063 4.55237 21.0701 4.50432 21.0801C4.14463 21.1588 3.84028 20.9985 3.68009 20.6421C3.60146 20.4647 3.517 20.29 3.43108 20.1169C3.16168 19.5601 2.88208 18.9833 2.77723 18.3206C2.75393 18.1717 2.72481 18.0229 2.69568 17.8726C2.6287 17.5276 2.5588 17.1712 2.5588 16.8105V16.7705C2.5588 16.4813 2.48599 16.2495 2.30542 15.9732C2.2428 15.8759 2.17144 15.833 2.07388 15.833C2.02728 15.833 1.9734 15.843 1.91515 15.8644C1.76516 15.9174 1.63118 15.9632 1.51469 16.0019C0.9919 16.1765 0.852102 16.2323 0.780747 16.4527C0.780747 16.4556 0.773466 16.5257 0.773466 16.8463C0.773466 17.0667 0.777835 17.3315 0.780747 17.5605C0.78366 17.7366 0.785116 17.8926 0.785116 17.9899C0.785116 18.0472 0.785116 18.0887 0.782204 18.1059C0.751623 18.4608 0.737061 18.8187 0.737061 19.1665C0.737061 19.719 0.776379 20.2714 0.852102 20.8067C0.996269 21.813 1.41129 22.7476 2.12193 23.6636C2.50929 24.1632 3.05537 24.5024 3.84173 24.7328C4.37908 24.8903 4.91789 24.7242 5.50183 24.2133C5.54552 24.176 5.58629 24.136 5.62852 24.0959C5.7756 23.9556 5.92851 23.8082 6.13966 23.7452C6.57216 23.6164 6.95369 23.3774 7.35706 23.124L7.42114 23.084C7.7517 22.8764 8.04295 22.6045 8.34002 22.228C8.52059 21.999 8.64728 21.7371 8.78271 21.458C8.85261 21.3163 8.92396 21.1689 9.0026 21.0272C9.16424 20.7366 9.25744 20.4203 9.35501 20.0839C9.43073 19.8249 9.50937 19.5572 9.6215 19.3039C9.62004 19.3067 9.6215 19.2982 9.6215 19.2795V19.2209C9.6215 18.9604 9.71469 18.7342 9.78896 18.5524C9.8807 18.3277 9.93313 18.1502 9.95788 17.9742L10.0525 17.3101C10.1283 16.7848 10.204 16.2609 10.2739 15.7342L10.3016 15.5295C10.3554 15.1402 10.4108 14.738 10.4108 14.3444C10.4108 14.2242 10.4049 14.1082 10.3948 13.9966C10.3685 13.7204 10.3554 13.4427 10.3554 13.1707C10.3554 12.8988 10.3685 12.6168 10.3948 12.3477C10.4239 12.0457 10.4384 11.7308 10.4384 11.4131L10.4355 11.4145Z" fill="black"/> 11173 <path d="M21.0655 12.0549C21.0655 11.8831 21.0567 11.7071 21.0494 11.5367L21.0465 11.4838C21.0276 11.0615 20.9548 10.6307 20.8849 10.2142C20.866 10.0983 20.8456 9.98233 20.8281 9.8664C20.6694 8.86162 20.5354 7.8368 20.4058 6.84634L20.3592 6.49281C20.317 6.17506 20.266 5.85158 20.2179 5.53813C20.1422 5.06007 20.065 4.56484 20.017 4.06961C20.0039 3.9365 19.9631 3.78621 19.8947 3.62304C19.8262 3.46273 19.6952 3.39689 19.6282 3.4384C19.369 3.59871 19.1025 3.62877 18.8433 3.65739C18.7675 3.66598 18.6918 3.67457 18.6175 3.68602C18.2375 3.74613 17.9826 3.9823 17.8152 4.426C17.7249 4.66646 17.6972 4.9241 17.6681 5.19604C17.655 5.31341 17.6419 5.42935 17.6244 5.54671C17.521 6.29529 17.47 7.12401 17.47 8.07726C17.47 8.50236 17.4788 8.96324 17.5006 9.52718C17.5225 10.1355 17.572 10.7552 17.6186 11.355C17.655 11.813 17.6914 12.2867 17.7176 12.7533C1
111737.7336 13.041 17.7409 13.333 17.7409 13.6479C17.7409 14.4151 17.6928 15.178 17.6506 15.7576C17.6361 15.9595 17.6288 16.1627 17.6215 16.366C17.6055 16.771 17.5895 17.1904 17.5239 17.604C17.4526 18.0463 17.3987 18.4786 17.3623 18.8879C17.3055 19.5277 17.2618 20.1818 17.221 20.8145L17.2167 20.8903C17.1715 21.5788 16.9385 22.1842 16.7143 22.7696C16.6647 22.8984 16.6152 23.0287 16.5672 23.1575C16.4652 23.4337 16.2395 23.6084 15.9454 23.637C15.3687 23.6942 14.8474 23.335 14.6231 22.7295C14.3595 22.0139 14.1921 21.4485 14.0814 20.8932C13.927 20.1203 13.7931 19.2858 13.662 18.2639C13.5426 17.5224 13.4057 16.532 13.4057 15.51C13.4057 15.4614 13.4057 15.4127 13.4057 15.364C13.4057 15.2996 13.4057 15.2352 13.4057 15.1708C13.4057 14.4065 13.3504 13.6307 13.2965 12.8807C13.2761 12.6073 13.2572 12.334 13.2397 12.0606L13.2135 11.6498C13.1552 10.7495 13.0955 9.81773 13.0955 8.89454C13.0955 8.7786 13.0955 8.66267 13.0985 8.54673C13.0985 8.47373 13.1014 8.40074 13.1043 8.32774C13.1072 8.22755 13.1101 8.12736 13.1101 8.0286C13.1101 7.89835 13.1057 7.79386 13.0926 7.69654C13.0679 7.50474 13.0562 7.2972 13.0562 7.06676C13.0562 6.79195 13.0737 6.51571 13.0912 6.24805C13.1072 5.99615 13.1232 5.73708 13.1247 5.48231V4.78097C13.1247 4.61637 13.0824 4.48039 12.9965 4.36016C12.947 4.29289 12.8975 4.25281 12.864 4.25281C12.8334 4.25281 12.7912 4.28717 12.7475 4.34728C12.3922 4.84538 12.0645 5.30482 12.0645 5.93746C12.0645 5.96609 12.0645 5.99328 12.066 6.02191C12.0704 6.12353 12.0733 6.22515 12.0733 6.32678C12.0733 6.70035 12.0441 7.11256 11.9844 7.62497C11.9582 7.84969 11.9553 8.07154 11.9553 8.31915V8.4079C11.9553 8.54959 11.9553 8.69129 11.948 8.83156C11.8956 10.0367 11.8577 11.229 11.833 12.3798C11.8315 12.4814 11.8301 12.583 11.8301 12.6846C11.8301 13.2715 11.8636 13.8698 11.8942 14.448C11.9247 15.0148 11.9582 15.6002 11.9597 16.1813C11.9626 16.9728 11.9641 17.8688 12.0791 18.7376C12.1082 18.9595 12.1286 19.1842 12.149 19.4018C12.1796 19.7252 12.2102 20.0602 12.2684 20.3793C12.4111 21.1565 12.5815 21.8536 12.7897 22.5091C12.8407 22.6709 12.8888 22.8355 12.9368 23.0015C13.0591 23.4252 13.1873 23.8631 13.3795 24.2396C13.8673 25.2214 14.5416 25.7539 15.3847 25.824C15.4401 25.8283 15.4969 25.8312 15.5536 25.8312C15.9745 25.8312 16.2992 25.6852 16.5468 25.386C16.6982 25.2028 16.8701 25.1098 17.0521 25.1227C17.0841 25.1241 17.1191 25.1255 17.154 25.1255C17.3972 25.1255 17.6506 25.0797 17.92 25.0311C18.0336 25.011 18.1501 24.9896 18.2666 24.9724C18.5127 24.9352 18.7297 24.835 18.9496 24.6546C19.5291 24.1809 19.8248 23.4896 20.0374 22.877C20.3257 22.0468 20.4204 21.1637 20.5121 20.3092C20.5674 19.7982 20.5936 19.2729 20.6213 18.7634C20.6388 18.427 20.6577 18.0807 20.6825 17.7386L20.6912 17.6183C20.7567 16.7467 20.8252 15.8464 20.8252 14.959C20.8252 14.8402 20.8252 14.7214 20.8223 14.6026C20.8194 14.4967 20.8179 14.3893 20.8179 14.2834C20.8179 13.8798 20.8368 13.3473 20.9795 12.8106C21.0363 12.5959 21.064 12.3554 21.064 12.052L21.0655 12.0549Z" fill="black"/> 11174 <path d="M31.7215 20.7797C31.8905 19.7148 31.972 18.6742 31.972 17.5979C31.972 17.4505 31.9705 17.3031 31.9676 17.1556C31.9574 16.6833 31.8963 16.2038 31.8366 15.7415C31.7958 15.418 31.7521 15.0831 31.7274 14.7496C31.6545 13.8135 31.3327 13.0163 30.7706 12.3779C30.6497 12.2405 30.5274 12.1046 30.4051 11.9686C30.0629 11.5893 29.7105 11.1957 29.3916 10.7792C29.2984 10.6589 29.1717 10.553 28.9911 10.4485C28.7654 10.3068 28.5819 10.1294 28.4042 9.95759L28.3344 9.89032C28.2193 9.78011 28.1043 9.66704 27.9907 9.5554C27.5626 9.13316 27.1199 8.69661 26.6116 8.38745C26.1646 8.1155 25.8588 7.66178 25.6403 7.29823C25.4539 6.9862 25.3564 6.5382 25.3564 6.00003C25.3564 5.04392 25.6622 3.96185 26.0539 3.53533C26.2825 3.28628 26.4864 3.05727 26.6553 2.79963L26.6932 2.74238L26.7558 2.73236C26.7704 2.7295 26.7878 2.72377 26.8082 2.68942L26.8432 2.63074L26.9058 2.61786C27.5509 2.47616 28.1756 2.91557 28.5805 3.78294C28.7042 4.04916 28.7741 4.33829 28.8353 4.61167C28.8673 4.75623 28.8833 4.88075 28.8833 4.99526C28.8833 5.16845 28.8469 5.28581 28.8149 5.38887C28.7872 5.47618 28.7639 5.55204 28.7639 5.66511C28.7639 5.75385 28.7785 5.8569 28.8076 5.98C28.8906 6.3321 29.0552 6.66845 29.31 7.01054C29.4891 7.25099 29.709 7.32972 30.009 7.26388C30.1546 7.23239 30.3119 7.20949 30.4794 7.18659C31.1507 7.09212 31.6312 6.99479 31.6895 6.59116C31.6982 6.52962 31.7026 6.45662 31.7026 6.3736C31.7026 6.17465 31.7099 6.0215 31.7157 5.89984C31.7201 5.8111 31.723 5.73381 31.723 5.65795C31.723 5.52627 31.7128 5.39173 31.6618 5.17131C31.6575 5.15127 31.6545 5.1298 31.6545 5.10547C31.6545 5.08113 31.6575 5.0568 31.6618 5.0339C31.6633 4.97522 31.656 4.96377 31.6414 4.94946L31.5905 4.90365L31.5657 4.54583C31.4609 3.81443 31.241 3.04296 30.8944 2.19992C30.8653 2.12978 30.8551 2.10974 30.8391 2.10259L30.8056 2.08971L30.7808 2.06108C30.0469 1.22949 28.2295 0 26.6611 0C26.102 0 25.6127 0.154581 25.2078 0.459449C24.6079 0.911742 24.0429 1.53722 23.5288 2.32015C23.0279 3.0816 22.6915 4.56587 22.6915 6.01435C22.6915 6.657 22.7585 7.25529 22.8866 7.74623C23.3643 9.5783 24.8452 10.5416 26.1529 11.3918C27.28 12.1246 28.3445 12.8173 28.579 13.9538C28.6314 14.2057 28.7013 14.4605 28.7683 14.7067C28.828 14.9257 28.8906 15.1518 28.9416 15.3794C29.0727 15.9648 29.1935 16.5974 29.1935 17.2429C29.1935 17.4906 29.176 17.7239 29.1411 17.9529C29.0552 18.5755 28.9547 19.2081 28.8557 19.8193C28.8091 20.1084 28.7639 20.3975 28.7188 20.6867C28.6358 21.2234 27.7227 22.1337 27.1373 22.1337C27.0703 22.1337 27.0077 22.1223 26.9509 22.1008C26.5694 21.9534 26.2782 21.7229 26.0423 21.5168C25.4146 20.9686 25.1219 20.2158 25.1219 19.1466C25.1219 18.8131 25.1525 18.4452 25.2107 18.0502C25.2355 17.8684 25.3593 16.9152 25.3593 16.3441C25.3593 16.1823 25.3491 16.095 25.3404 16.0507C25.3025 15.8574 24.9836 15.7501 24.4433 15.7501C24.1171 15.7501 23.7735 15.7873 23.4982 15.8159C23.4123 15.8245 23.3351 15.8331 23.2667 15.8388C23.1968 15.846 23.1196 15.8717 23.0526 15.909C22.6725 16.1251 22.409 16.367 22.2226 16.669C22.0711 16.9137 21.9969 17.2787 21.9969 17.784C21.9969 17.9157 22.0012 18.0345 22.0056 18.1289C22.0085 18.1962 22.01 18.2506 22.01 18.2921V18.3264C22.0027 18.5039 21.9925 18.6599 21.9837 18.8045C21.9706 19.0092 21.9604 19.1852 21.9
11174604 19.3656C21.9604 19.7993 22.0216 20.2601 22.3216 21.2105C22.5313 21.8761 22.7701 22.6304 23.2521 23.1872C24.4404 24.5569 25.5879 25.1423 27.0907 25.1423C27.1825 25.1423 27.2728 25.1409 27.3645 25.1366C28.4756 25.0908 31.1216 24.5741 31.7259 20.7811L31.7215 20.7797Z" fill="black"/> 11175 <path d="M41.9858 6.11138C42.213 6.02263 42.4693 5.92101 42.9557 5.84515L43.1188 5.82082C43.3081 5.79219 43.4988 5.76357 43.6882 5.72779C43.8862 5.69057 43.9386 5.58036 43.9605 5.50021C44.0245 5.26404 44.0566 5.02931 44.0566 4.80173C44.0566 4.55841 44.0187 4.33369 43.9459 4.13188C43.8381 3.83846 43.809 3.51213 43.7814 3.19581C43.7377 2.70487 43.7013 2.27977 43.3969 2.07939C43.2265 1.96632 42.411 1.8103 41.9902 1.8103C41.8897 1.8103 41.8606 1.82032 41.8591 1.82032C41.297 2.04504 40.8267 2.17815 40.3796 2.23826C40.2136 2.26116 40.0447 2.28263 39.8743 2.3041C39.286 2.37996 38.6787 2.45868 38.0526 2.59036C38.022 2.59609 37.9914 2.60181 37.9608 2.60611C37.8516 2.62042 37.8181 2.63187 37.7963 2.67481L37.7424 2.77643L37.6361 2.76212C37.4701 2.73922 37.3099 2.77214 37.1337 2.80649C37.0842 2.81651 37.0347 2.82653 36.9851 2.83512C36.7201 2.88521 36.5177 2.90668 36.3313 2.90668C35.9643 2.90668 35.6498 2.81508 35.3702 2.62615C35.3323 2.60325 35.2872 2.59036 35.2377 2.59036C35.2144 2.59036 35.1911 2.59323 35.1663 2.59895C34.8911 2.66336 34.6159 2.67767 34.3479 2.69199C34.1441 2.70201 33.9518 2.71203 33.7582 2.74208C33.7174 2.74781 33.6766 2.75496 33.6358 2.76069C33.263 2.81365 33.0286 2.86231 32.9237 3.18006C32.8757 3.32462 32.8072 3.45774 32.7402 3.58512C32.6354 3.7855 32.5364 3.97587 32.5364 4.1877C32.5364 4.23064 32.5407 4.27215 32.548 4.31509C32.5611 4.38665 32.564 4.45392 32.5684 4.51976C32.5684 4.54982 32.5713 4.57845 32.5742 4.60707C32.5932 4.82893 32.6893 4.96919 32.8684 5.03647L32.9732 5.07654C33.2426 5.1796 33.5193 5.28408 33.7931 5.32988C34.6872 5.47874 35.5624 5.74639 36.3983 6.12569C36.707 6.26596 36.7827 6.39621 36.7827 6.79411V6.82846C36.7827 7.16911 36.7798 7.51119 36.7755 7.85184L36.7711 8.31129L36.7478 8.52456C36.742 8.54173 36.7332 8.55891 36.7259 8.57752C36.7216 8.5861 36.7172 8.59612 36.7143 8.60471C36.6837 9.3676 36.6546 10.1477 36.6255 10.9263C36.6255 10.9621 36.6284 10.9893 36.6327 11.0165C36.7332 11.5146 36.7492 12.0069 36.7609 12.5537C36.7696 13.0518 36.8002 13.557 36.8293 14.0465C36.8555 14.4845 36.8818 14.9368 36.8949 15.3848C36.9342 16.6486 36.9531 17.7966 36.9531 18.8958V19.1992C36.9531 19.3309 36.9531 19.4612 36.956 19.5928C36.956 19.726 36.9589 19.8591 36.9589 19.9922C36.9589 20.2899 36.9531 20.6449 36.9109 21.0098C36.8788 21.2846 36.8381 21.5609 36.8002 21.8285C36.7216 22.3739 36.6386 22.9378 36.624 23.496C36.6153 23.8581 36.5978 24.1845 36.4653 24.5008C36.458 24.5194 36.4536 24.5394 36.4536 24.5595C36.4536 24.5996 36.4711 24.6382 36.5002 24.6683C36.9152 25.0533 37.2123 25.0461 37.5429 24.6053L37.5793 24.5566C37.7191 24.3705 37.8618 24.1773 38.0628 24.0256C38.1778 23.9383 38.2826 23.851 38.2826 23.7608C38.2826 23.7336 38.2812 23.7093 38.2812 23.6849C38.2812 23.4388 38.338 23.2169 38.3933 23.0036C38.421 22.8949 38.4487 22.7918 38.4661 22.6859C38.5768 22.0647 38.619 21.4192 38.6598 20.7951C38.6685 20.6592 38.6773 20.5218 38.6875 20.3858L38.6904 20.3615C38.8331 19.6286 38.8462 18.86 38.8608 18.1172C38.8637 17.9683 38.8666 17.8195 38.8695 17.672C38.8914 17.3385 38.935 17.0165 38.9787 16.7045C39.0297 16.3366 39.0821 15.9588 39.0923 15.5852V15.5265C39.0952 15.4735 39.0967 15.422 39.0967 15.3705C39.0967 15.1944 39.0777 15.0613 38.9816 14.9411L38.9467 14.8982L38.9409 14.8409C38.8972 14.4029 38.8972 13.9621 38.8957 13.5341C38.8957 13.2221 38.8943 12.8986 38.8768 12.5837C38.8724 12.4979 38.871 12.4134 38.871 12.3275C38.871 12.0985 38.8855 11.8681 38.9001 11.6448C38.9132 11.4272 38.9278 11.2025 38.9278 10.9835C38.9278 10.7187 38.9074 10.4983 38.8622 10.2908C38.8549 10.2622 38.8549 10.2335 38.8549 10.2164C38.8549 10.2035 38.8549 10.1906 38.8549 10.1791V10.1591L38.8477 9.27886C38.8418 8.59183 38.8346 7.9048 38.8287 7.21777V7.17054C38.8287 6.64096 38.9554 6.4921 39.4462 6.45059C39.9282 6.40622 40.5005 6.35613 41.083 6.31605C41.5388 6.28456 41.747 6.20298 41.9887 6.10708L41.9858 6.11138Z" fill="black"/> 11176 <path d="M12.4873 39.1475C12.4873 39.1818 12.4873 39.2176 12.4902 39.2577C12.5179 39.8474 12.5659 40.4371 12.5805 41.0254C12.5936 41.6036 12.7421 42.1404 12.8586 42.6928C12.9911 43.3155 13.1571 43.9381 13.1571 44.585C13.1571 44.6351 13.1571 44.6838 13.1542 44.7339C13.1542 44.7539 13.1542 44.774 13.1542 44.7954C13.1542 44.9429 13.1775 45.086 13.2358 45.2234C13.2707 45.3064 13.2867 45.3837 13.2867 45.4538C13.2867 45.7115 13.0756 45.8732 12.8615 45.929C12.7669 45.9534 12.6635 45.9634
1117612.5557 45.9634C11.9834 45.9634 11.2844 45.6571 11.0354 45.3193C10.7646 44.9529 10.6204 44.5435 10.4602 44.137C10.45 44.1113 10.4456 44.0812 10.4456 44.0511C10.4456 44.024 10.45 43.9982 10.4573 43.9739C10.5563 43.649 10.5534 43.314 10.5811 42.9805C10.6102 42.6456 10.6175 42.3121 10.6306 41.9786C10.5927 41.4133 10.6248 40.8436 10.5418 40.2811C10.533 40.221 10.5301 40.1609 10.5301 40.1022C10.5301 39.939 10.5549 39.7773 10.5549 39.6141C10.5549 38.4748 10.552 37.334 10.584 36.1961C10.6233 34.7791 10.683 33.3636 10.7675 31.9495C10.7908 31.5558 10.8403 31.1608 10.8403 30.7658V30.7157C10.8403 30.7157 10.8403 30.7057 10.8403 30.7014C10.8403 30.4924 10.8927 30.2906 10.9379 30.0873C10.9539 30.0143 10.9626 29.9528 10.9626 29.8984C10.9626 29.7309 10.8796 29.6322 10.6699 29.5077C10.5592 29.4418 10.45 29.3745 10.3423 29.3058C10.1952 29.2114 10.1311 29.0926 10.1311 28.9451C10.1311 28.9022 10.1369 28.8564 10.1471 28.8092C10.2549 28.3082 10.5753 27.9962 11.1228 27.886C11.6427 27.7815 12.1494 27.7242 12.6431 27.7242C13.0188 27.7242 13.3872 27.7572 13.7469 27.8287C14.1226 27.9032 14.4867 28.0449 14.8566 28.1551C15.0517 28.2138 15.2468 28.2724 15.4434 28.3283C15.6939 28.4013 15.8978 28.5687 16.122 28.6961C16.7001 29.0038 17.22 29.4103 17.7341 29.8254C17.9263 29.98 18.0952 30.1589 18.2073 30.3679C18.6151 31.1279 18.9762 31.9022 18.9762 32.7682C18.9762 32.8483 18.9733 32.9299 18.9675 33.0129C18.9442 33.3049 18.9005 33.5883 18.7607 33.8531C18.5597 34.2338 18.4928 34.6604 18.2918 35.0411C18.0836 35.4361 17.8375 35.7911 17.4588 36.0702C17.1792 36.2763 16.9448 36.5354 16.6943 36.7744C16.4336 37.0249 16.1672 37.2367 15.8439 37.3555C15.4623 37.4958 15.1158 37.7233 14.7153 37.8207C14.574 37.855 14.4415 37.9481 14.3178 38.0339C13.8853 38.3302 13.4324 38.5664 12.9169 38.6752C12.5834 38.7453 12.4975 38.8484 12.4975 39.1475H12.4873ZM12.6431 37.0979C12.6984 37.0979 12.7698 37.075 12.8601 37.0335C13.5634 36.7 14.2304 36.3021 14.8449 35.8111C15.1274 35.585 15.3109 35.2901 15.3823 34.9266C15.4056 34.8035 15.4449 34.6904 15.4988 34.5816C15.6458 34.2839 15.7609 33.9719 15.8686 33.657C16.0215 33.209 16.1133 32.7653 16.1133 32.3116C16.1133 32.0024 16.071 31.689 15.9779 31.3683C15.8177 30.8187 15.6007 30.3793 15.0531 30.1875C15.0022 30.1703 14.957 30.1389 14.9075 30.1174C14.4503 29.9084 13.9755 29.8454 13.4921 29.8454C13.3232 29.8454 13.1542 29.8526 12.9853 29.8655C12.6649 29.8869 12.579 29.9814 12.5747 30.3192C12.5659 30.8431 12.5746 31.3683 12.547 31.8922C12.5251 32.3144 12.4975 32.7367 12.4887 33.1603C12.4815 33.4852 12.4538 33.8102 12.4538 34.1365C12.4538 34.3226 12.4625 34.5101 12.4887 34.6976C12.4946 34.7491 12.4975 34.8006 12.4975 34.8521C12.4975 35.0497 12.4611 35.2486 12.4611 35.4447C12.4611 35.5148 12.4654 35.585 12.4785 35.6551C12.4698 35.9356 12.445 36.209 12.445 36.481C12.445 36.5783 12.448 36.6742 12.4567 36.7715C12.4756 36.9977 12.5251 37.1022 12.6445 37.1022L12.6431 37.0979Z" fill="black"/> 11177 <path d="M31.5567 27.0973C31.5567 27.2662 31.478 27.4165 31.3513 27.5467C31.2421 27.6612 31.1315 27.7786 30.9917 27.8487C30.6451 28.019 30.3495 28.2681 30.0378 28.4971C29.5005 28.9065 28.9413 29.1941 28.3996 29.5133C28.0821 29.7008 27.8491 29.9556 27.6642 30.3091C27.054 31.4828 26.6638 32.7438 26.4992 34.1021C26.4934 34.1493 26.473 34.1937 26.4599 34.2395C26.438 34.4728 26.4031 34.7047 26.3958 34.938C26.3929 35.0654 26.39 35.1928 26.39 35.3201C26.39 36.2047 26.4919 37.0706 26.8079 37.8965C26.8269 37.9451 26.8618 37.9681 26.8807 38.011C26.9652 38.1527 27.0482 38.2958 27.1327 38.439C27.2797 38.688 27.4501 38.907 27.6991 39.0229C27.9045 39.1188 28.053 39.302 28.1841 39.4981C28.4156 39.8416 28.7432 40.0349 29.0476 40.2581C29.1656 40.344 29.301 40.3655 29.4408 40.3655C29.5646 40.3655 29.6927 40.3497 29.8194 40.3483C29.9446 40.3483 30.0699 40.3383 30.1936 40.3383C30.3174 40.3383 30.4383 40.3469 30.5606 40.3784C30.6043 40.3898 30.6538 40.3955 30.7019 40.3955C30.7499 40.3955 30.7994 40.3898 30.8431 40.3769C30.948 40.3455 31.047 40.3311 31.1387 40.3311C31.5275 40.3311 31.8173 40.5859 32.0824 40.8979C32.212 41.0497 32.3183 41.21 32.3183 41.3975C32.3183 41.4819 32.2964 41.5721 32.2455 41.6694C32.2236 41.7095 32.2163 41.7553 32.2163 41.8025C32.2163 41.8426 32.2222 41.8855 32.2294 41.9256C32.2411 41.99 32.2469 42.0516 32.2469 42.1145C32.2469 42.3622 32.161 42.5969 32.0853 42.8288C32.0023 43.0807 31.813 43.241 31.5727 43.3054C31.2276 43.3984 30.881 43.4743 30.5592 43.6446C30.4907 43.6818 30.415 43.6961 30.3393 43.6961C30.2839 43.6961 30.2271 43.6876 30.1747 43.6732C30.0611 43.6432 29.9505 43.6303 29.8427 43.6303C29.598 43.6303 29.3709 43.699 29.1539 43.7935C29.0112 43.855 28.8728 43.8865 28.736 43.8865C28.5641 43.8865 28.3967 43.8364 28.2277 43.7334C27.2652 43.1465 26.3871 42.4323 25.6065 41.4533C25.4929 41.3102 25.3633 41.1799 25.2381 41.0482C24.6265 40.4113 24.242 39.6584 24.0324 38.7739C23.8984 38.2042 23.8474 37.6374 23.8474 37.0706C23.8474 36.6183 23.8794 36.1646 23.9275 35.7095C23.9333 35.6479 23.9348 35.5864 23.9348 35.5234C23.9348 35.4747 23.9348 35.4261 23.9348 35.3774C23.9348 35.3516 23.9348 35.3273 23.9348 35.3015C23.977 33.8659 24.2013 32.469 24.7794 31.1522C24.8129 30.9833 24.8915 30.8373 24.9847 30.6985C25.0095 30.5653 25.059 30.4422 25.1376 30.332C25.1493 30.1946 25.2032 30.0744 25.2803 29.9656C25.2803 29.9599 25.2803 29.9527 25.2803 29.947C25.2803 29.8912 25.2905 29.8397 25.3444 29.8067C25.4143 29.5777 25.5454 29.3874 25.6925 29.207C25.8089 29.1111 25.857 28.9637 25.9473 28.8478C26.0623 28.5243 26.2895 28.2881 26.5152 28.0691C26.805 27.7743 27.1225 27.5195 27.4647 27.3148C27.7312 27.156 28.002 27.0085 28.2743 26.8654C28.6471 26.6708 29.0345 26.5706 29.451 26.5634C29.5718 26.562 29.6956 26.5605 29.8194 26.5605C30.1689 26.5605 30.5257 26.5691 30.8839 26.5963C30.932 26.5992 30.9786 26.5978 31.0266 26.6035C31.245 26.6321 31.4606 26.6836 31.5319 26.9384C31.5465 26.9928 31.5538 27.0443 31.5538 27.0959L31.5567 27.0973Z" fill="black"/> 11178 <path d="M37.3779 26.4278C37.7929 26.4278 38.2182 26.4779 38.6594 26.581C38.971 26.6526 38.9535 26.6454 39.2652 26.7198C39.9307 26.8801 40.302 26.9503 40.302 27.603C40.302 27.726 40.2889 27.8706 40.2627 28.0395C40.1695 28.6249 40.0676 28.6664 39.7603 28.6664C39.7108 28.6664 39.6554 28.6664 39.5957 28.6664C39.536 28.6664 39.472 28.6664 39.3991 28.6707C39.1691 28.6836 38.939 28.695 38.7089 28.695C38.4657 28.695 38.2225 28.6822 37.9793 28.6449C37.4332 28.5548 36.9017 28.4131 36.3542 28.4131C36.3221 28.4131 36.2901 28.4131 36.2581 28.4145C35.9828 28.4231 35.7207 28.5075 35.4295 28.5648C35.2431 28.6006 35.1455 28.7337 35.1455 28.9555C35.1455 28.9741 35.1455 28.9927 35.147 29.0128C35.1877 29.6068 35.246 30.1993 35.2999 30.7919C35.4193 32.0872 35.6814 33.3611 35.7877 34.6579C35.8416 35.3492 35.8736 36.0391 35.91 36.7304C35.9231 36.9937 36.0222 37.0982 36.2464 37.134C36.3556 37.1512 36.4634 37.1598 36.5697 37.1598C36.8711 37.1598 37.1638 37.0925 37.4551 36.9665C37.6182 36.895 37.7915 36.8349 37.972 36.8349C38.1031 36.8349 38.2371 36.8678 38.3725 36.9522C38.7031 37.1927 39.0438 37.5849 39.0584 37.947C39.0584 37.9771 39.0598 38.0085 39.0598 38.0386C39.0598 38.103 39.0584 38.1688 39.0584 38.2333C39.0584 38.332 39.0628 38.4308 39.0861 38.531C39.0904 38.5496 39.0919 38.5682 39.0919 38.5854C39.0919 38.8115 38.738 38.9017 38.5167 39.0376C38.0973 39.2981 37.6692 39.4785 37.2483 39.6188C37.0808 39.6746 36.9148 39.719 36.7488 39.719C36.6454 39.719 36.542 39.7018 36.4372 39.6617C36.3891 39.6431 36.3425 39.6331 36.2959 39.6331C36.2406 39.6331 36.1853 39.6474 36.1314 39.6803C36.1052 39.7461 36.06 39.7991 36.0557 39.8807C36.0324 40.3587 35.9974 40.8368 35.9974 41.3149C35.9974 41.6054 36.0105 41.896 36.0455 42.1865C36.0819 42.5186 36.1547 42.6131 36.427 42.6131C36.4357 42.6131 36.4459 42.6131 36.4547 42.6131C36.8508 42.6045 37.2425 42.53 37.6327 42.4613C38.0419 42.3926 38.4715 42.2982 38.9113 42.2738C39.1268 42.261 39.3351 42.1937 39.5113 42.062C39.6132 41.9861 39.7122 41.9575 39.8098 41.9575C39.9962 41.9575 40.1753 42.062 40.3501 42.1278C40.4476 42.1636 40.5059 42.2624 40.5059 42.3726C40.5059 42.417 40.4957 42.4642 40.4753 42.5114C40.3282 42.8349 40.3806 43.1956 40.2874 43.5291C40.2845 43.5377 40.2816 43.5491 40.2816 43.5577C40.2816 43.5606 40.2816 43.5634 40.2816 43.5649C40.3049 43.6364 40.3151 43.7037 40.3151 43.7667C40.3151 44.063 40.0879 44.2619 39.9394 44.5095C39.6613 44.9761 39.2841 45.2252 38.7759 45.3282C38.4177 45.4012 38.0856 45.5902 37.7303 45.6431C37.6793 45.6517 37.6226 45.6775 37.5861 45.719C37.3255 46.0138 36.9847 46.0038 36.6614 46.0525C36.4183 46.0883 36.1707 46.0611 35.9129 46.1198C35.8824 46.1255 35.8503 46.1298 35.8183 46.1298C35.7542 46.1298 35.6901 46.1183 35.6319 46.0997C35.4018 46.0239 35.1688 45.9909 34.93 45.9866C34.9256 45.9866 34.9227 45.9866 34.9183 45.9866C34.7771 45.9866 34.5281 46.0224 34.3067 46.0224C34.1029 46.0224 33.9223 45.9924 33.8669 45.875C33.7723 45.6746 33.74
1117861 45.4413 33.7461 45.1937C33.7461 44.9046 33.781 44.5968 33.7854 44.2948V44.2905C33.7854 44.1818 33.7271 44.0758 33.7228 43.9685C33.6966 43.0639 33.6762 42.1593 33.6543 41.2547C33.6514 41.1245 33.65 40.9942 33.65 40.864C33.65 40.7008 33.65 40.5362 33.65 40.3731C33.65 39.948 33.6412 39.5243 33.5728 39.1006C33.5597 39.0233 33.5568 38.9446 33.5568 38.8659C33.5568 38.7242 33.5699 38.5811 33.5699 38.4394C33.5699 38.3993 33.5699 38.3592 33.567 38.3206C33.5087 37.4303 33.4359 36.54 33.3791 35.6512C33.3791 35.6311 33.3777 35.6111 33.3777 35.5911C33.3777 35.4379 33.4111 35.2819 33.4111 35.1288C33.4111 35.1059 33.4111 35.0815 33.4082 35.0586C33.3718 34.5806 33.3675 34.1025 33.3675 33.6245C33.3675 33.4828 33.3675 33.3411 33.3675 33.1994C33.3675 32.8644 33.366 32.5295 33.3514 32.196C33.3456 32.0672 33.3442 31.9369 33.3442 31.8081C33.3442 31.5033 33.3558 31.1984 33.366 30.8935C33.366 30.8678 33.366 30.8434 33.366 30.8191C33.366 30.643 33.3398 30.4799 33.2277 30.3324C33.1345 30.2094 33.117 30.0648 33.117 29.9116C33.117 29.8988 33.117 29.8873 33.117 29.8744C33.1184 29.7657 33.1199 29.6569 33.1199 29.5481C33.1199 29.2475 33.1141 28.9455 33.1141 28.6449C33.1141 28.4174 33.0835 28.0195 33.0835 27.6445C33.0835 27.331 33.1039 27.0333 33.1811 26.8644C33.3019 26.5967 33.532 26.5552 33.8029 26.5552C33.9281 26.5552 34.0621 26.5638 34.1975 26.5638C34.2849 26.5638 34.3723 26.5595 34.4596 26.5481C34.8819 26.4908 35.3086 26.4737 35.7295 26.3921C35.763 26.3849 35.7994 26.3806 35.8358 26.3806C35.878 26.3806 35.9202 26.3878 35.9552 26.4064C36.0979 26.4822 36.2406 26.5051 36.3848 26.5051C36.5144 26.5051 36.6469 26.4865 36.7794 26.4708C36.9774 26.4479 37.1769 26.435 37.3794 26.435L37.3779 26.4278Z" fill="black"/> 11179 <path d="M4.86962 26.3272C5.04 26.3272 5.25552 26.3143 5.47104 26.3143C5.79432 26.3143 6.11906 26.343 6.29381 26.489C6.72194 26.8182 7.0161 27.0786 7.47918 27.4823C7.9408 27.8873 8.17525 28.8406 8.36165 29.3974C8.47523 29.7394 8.53203 30.1073 8.53203 30.3978C8.53203 30.5796 8.51018 30.7313 8.4665 30.8244C8.35437 31.0648 8.04274 31.145 7.82867 31.248C7.55636 31.3769 7.40782 31.3525 7.13551 31.4556C7.10784 31.4656 7.07726 31.4713 7.04522 31.4713C6.88067 31.4713 6.66951 31.3339 6.43797 31.1579C6.16129 30.946 6.10013 30.7628 6.06809 30.1245C6.03897 29.4875 5.55696 28.8492 5.0633 28.7161C4.94534 28.6846 4.83321 28.6688 4.72691 28.6688C4.05413 28.6688 3.61872 29.2585 3.37699 29.791C3.26631 30.0357 3.21535 30.2604 3.21535 30.468C3.21535 32.0181 5.98218 32.6679 6.96658 33.9847C7.57383 34.7962 8.09079 35.7753 8.20729 36.6441C8.32379 37.5114 8.42427 38.0868 8.58008 38.4962C8.73735 38.9041 8.80434 39.1875 8.83638 39.4623C8.86841 39.7371 8.93103 39.9905 9.04899 40.6102C9.07374 40.7376 9.08539 40.8779 9.08539 41.0253C9.08539 41.5892 8.90628 42.2591 8.55678 42.7686C8.117 43.4127 7.76896 43.7763 7.43549 43.8965C7.10201 44.0167 6.98552 44.1327 6.91125 44.4318C6.83698 44.7309 6.52389 44.8927 6.23847 44.9642C5.988 45.0301 5.80597 45.0458 5.69384 45.0458H5.66472C5.64142 45.0458 5.62249 45.0444 5.59919 45.0444C5.51181 45.0444 5.36619 45.0501 4.75749 45.0673C4.73856 45.0673 4.71963 45.0673 4.7007 45.0673C3.91725 45.0673 2.59791 44.6136 1.74893 43.4599C0.843155 42.2777 0.483467 41.1899 0.3859 40.3869C0.288333 39.584 0.152904 39.166 0.0684426 38.7781C0.013106 38.5234 0 38.2872 0 38.0897C0 37.9866 0.00291245 37.8936 0.00728113 37.8134C0.0174747 37.5787 0.0509679 37.4542 0.256296 37.2123C0.461624 36.9704 0.816943 36.6197 1.21012 36.4537C1.36303 36.3893 1.48244 36.3564 1.58146 36.3564C1.73582 36.3564 1.84067 36.4365 1.9528 36.5997C2.13483 36.8673 2.27171 37.1307 2.30521 37.4799C2.33579 37.8292 2.44209 38.2085 2.55131 38.6035C2.66052 39 2.77848 39.4065 2.88187 39.8158C2.98526 40.2252 3.15419 40.5859 3.31437 40.8149C3.4731 41.0439 3.57795 41.1656 3.75561 41.5892C3.93327 42.0115 4.46624 42.1861 4.81865 42.2076C4.93806 42.2147 5.0298 42.2204 5.10844 42.2204C5.26134 42.2204 5.36619 42.2033 5.53366 42.1589C5.78704 42.0916 5.88606 41.7037 5.9283 41.4532C5.97053 41.2028 5.95596 41.0997 5.988 41.0382C6.02149 40.9766 6.01713 40.928 6.03023 40.8564C6.04188 40.7863 6.04479 40.6904 6.06955 40.626C6.09722 40.5615 6.09431 40.5129 6.11324 40.4284C6.12052 40.3969 6.12052 40.3597 6.12052 40.3197V40.2867C6.12052 40.2252 6.12052 40.1551 6.14236 40.0835C6.17877 39.9504 6.16712 39.7901 6.19624 39.6011C6.21372 39.4881 6.221 39.3635 6.221 39.2533C6.221 39.1789 6.21808 39.1116 6.21226 39.0587C6.19915 38.927 6.19333 38.8812 6.1642 38.8168C6.13508 38.7524 6.14236 38.6522 6.12489 38.5205C6.10741 38.3903 6.08265 38.2271 6.0346 37.603C5.98654 36.979 5.24096 36.4537 4.75166 35.7624C4.0119 34.719 2.75081 34.1607 1.9062 33.2261C1.41108 32.6793 1.0412 31.7805 1.0412 30.7199C1.0412 30.0486 1.18974 29.3115 1.55088 28.56C1.85669 27.9231 2.11298 27.6025 2.47704 27.2218C2.8411 26.8411 3.79784 26.5791 4.39926 26.3959C4.55799 26.3472 4.71526 26.3258 4.86671 26.3258L4.86962 26.3272Z" fill="black"/> 11180 <path d="M21.938 45.3626C21.8477 45.3626 21.7356 45.344 21.5856 45.3125C21.5288 45.3011 21.4691 45.2925 21.4108 45.2925C21.3963 45.2925 21.3817 45.2925 21.3686 45.2939C2
111801.3045 45.2982 21.2419 45.3011 21.1837 45.3011C20.3492 45.3011 20.1075 44.8545 19.9968 44.1017C19.9313 43.6522 19.9153 43.1999 19.9153 42.7491C19.9153 42.4857 19.9211 42.2224 19.924 41.959C19.9371 40.834 19.9633 39.709 19.9837 38.5854C19.9837 38.5153 19.9837 38.4451 19.9837 38.375C19.9837 38.0644 19.9735 37.7524 19.9735 37.4404C19.9735 37.2214 19.9779 37.0024 19.9954 36.7834C20.0871 35.614 20.09 34.4375 20.2386 33.2724C20.2429 33.2352 20.2502 33.1965 20.2502 33.1579V33.0334C20.2502 32.7958 20.2633 32.5639 20.4905 32.4007C20.8312 32.1546 21.156 31.8683 21.5812 31.8683C21.6569 31.8683 21.7356 31.8769 21.8186 31.8969C21.9234 31.9227 22.037 31.9356 22.0982 32.0486C22.2482 32.1445 22.3006 32.2891 22.3122 32.4666C22.3981 33.7905 22.5015 35.1116 22.503 36.4399C22.5045 37.6536 22.5758 38.8645 22.5947 40.0783C22.5991 40.3259 22.602 40.5735 22.602 40.8197C22.602 41.3392 22.5904 41.8588 22.5583 42.3784C22.5481 42.5372 22.5438 42.6961 22.5438 42.8564C22.5438 43.2958 22.5787 43.7367 22.6355 44.1747C22.6443 44.2462 22.6501 44.3164 22.6501 44.3851C22.6501 44.5812 22.602 44.7644 22.4418 44.9146C22.2496 45.2481 22.1564 45.3612 21.9365 45.3612L21.938 45.3626ZM20.3944 29.3206C20.3944 28.5634 20.9361 27.8563 21.6977 27.7375C21.7618 27.6875 21.8259 27.6646 21.8885 27.6646C21.9642 27.6646 22.0385 27.6989 22.1098 27.7576C22.4986 27.9351 22.6544 28.1283 22.6544 28.4876C22.6544 28.5334 22.653 28.5806 22.6472 28.6307C22.618 28.9298 22.5758 29.2275 22.5161 29.521C22.4316 29.9446 22.1724 30.2223 21.7996 30.3941C21.6802 30.4441 21.5535 30.4685 21.4283 30.4685C21.0104 30.4685 20.5997 30.2051 20.4686 29.8015C20.4177 29.6426 20.3929 29.4794 20.3929 29.3206H20.3944Z" fill="black"/> 11181 <path d="M50.3548 30.334C50.3228 30.0234 50.2616 29.6985 50.234 29.4222C50.2311 29.3951 50.2296 29.3679 50.2267 29.3421C50.2136 29.1889 50.2005 29.0558 50.1888 28.9385C50.1146 28.2099 50.0417 28.0639 49.6078 27.2867C49.35 26.9561 49.0107 26.7199 48.718 26.4322C48.2651 25.9885 47.7424 25.6665 47.2138 25.3931C46.9822 25.2672 46.7376 25.2071 46.4856 25.2128C46.2716 25.2185 46.0575 25.2314 45.8464 25.2543C45.3061 25.3144 44.7789 25.4446 44.2722 25.6966C44.2605 25.7023 44.2489 25.7066 44.2372 25.7123C44.2707 25.7366 44.2984 25.7653 44.3202 25.801C44.3319 25.8211 44.345 25.8397 44.3625 25.8569C44.3799 25.874 44.3887 25.8969 44.393 25.9213C44.4003 25.9599 44.396 26 44.4091 26.0372C44.4105 26.0429 44.4091 26.0515 44.4105 26.0572C44.4105 26.0615 44.4105 26.0673 44.4105 26.0716C44.4105 26.0973 44.4032 26.1231 44.396 26.1489C44.3901 26.176 44.3829 26.2018 44.3697 26.2276C44.3552 26.2591 44.3333 26.2905 44.3246 26.3249C44.3086 26.3807 44.2678 26.4179 44.2183 26.4423C44.1528 26.4723 44.0872 26.4924 44.0159 26.4924C43.9897 26.4924 43.9635 26.4895 43.9372 26.4838C43.8994 26.4752 43.8601 26.468 43.8266 26.4509C43.8149 26.4451 43.8047 26.4408 43.796 26.4308C43.7654 26.3965 43.7348 26.365 43.6926 26.3464C43.6868 26.3435 43.681 26.3392 43.6751 26.3349C43.6547 26.3192 43.6358 26.3034 43.6285 26.2791C43.6169 26.2347 43.595 26.1932 43.5805 26.1489C43.5717 26.1231 43.5674 26.0988 43.5674 26.073C43.5674 26.0558 43.5688 26.0401 43.5746 26.0229C43.5776 26.0129 43.5776 26.0029 43.579 25.9928C43.2921 26.1703 43.0519 26.4194 42.8494 26.7285C42.8931 26.7056 42.9383 26.687 42.9849 26.667C43.0315 26.6455 43.0752 26.657 43.1188 26.6727C43.1305 26.677 43.1421 26.6813 43.1538 26.6856C43.1713 26.6856 43.1887 26.6899 43.2033 26.6956C43.2659 26.7171 43.2994 26.7715 43.3183 26.8402C43.33 26.8831 43.346 26.9246 43.3708 26.9618C43.3984 27.0005 43.4115 27.0477 43.3955 27.0878C43.3912 27.0992 43.3839 27.1107 43.3751 27.1207C43.3023 27.2066 43.2499 27.3082 43.1713 27.3884C43.097 27.4671 42.9892 27.4757 42.8931 27.4642C42.8524 27.4599 42.816 27.4513 42.7854 27.4413C42.666 27.3984 42.6004 27.3082 42.5888 27.1937C42.4985 27.3597 42.3864 27.5029 42.2305 27.6088C42.1898 27.636 42.1548 27.6675 42.1228 27.7004C42.165 27.7061 42.2072 27.7147 42.248 27.7319C42.2844 27.7491 42.3194 27.7691 42.3558 27.7877C42.4111 27.8149 42.4563 27.8564 42.4868 27.9108C42.5 27.9294 42.5116 27.9494 42.5291 27.9666C42.5465 27.9838 42.5553 28.0067 42.5582 28.031C42.5655 28.0697 42.5611 28.1097 42.5742 28.147C42.5757 28.1527 42.5742 28.1598 42.5757 28.167C42.5757 28.1713 42.5757 28.177 42.5757 28.1813C42.5757 28.2071 42.5684 28.2328 42.5611 28.2572C42.5553 28.2844 42.5465 28.3101 42.5349 28.3359C42.5203 28.3688 42.4985 28.3989 42.4898 28.4332C42.4737 28.489 42.433 28.5262 42.3835 28.5506C42.3179 28.5806 42.2524 28.6007 42.181 28.6007C42.1548 28.6007 42.1286 28.5978 42.1024 28.5921C42.0645 28.5835 42.0252 28.5778 41.9917 28.5592C41.9801 28.5549 41.9699 28.5492 41.9611 28.5391C41.9306 28.5048 41.9 28.4733 41.8578 28.4547C41.8519 28.4518 41.8461 28.4475 41.8403 28.4432C41.8199 28.4275 41.7995 28.4117 41.7937 28.3874C41.7922 28.3803 41.7893 28.3745 41.7864 28.3674C41.7092 28.6422 41.6714 28.927 41.6029 29.2047C41.4835 29.6885 41.4631 30.168 41.5112 30.6417C41.5447 30.9738 41.6131 31.303 41.7048 31.6293C41.8985 32.3249 42.1505 33.0048 42.7169 33.4872C42.8684 33.616 43.014 33.7534 43.1625 33.8865C43.3256 34.1541 43.5601 34.3416 43.7989 34.5291C44.3071 34.9442 44.8547 35.1718 45.4139 35.3765C46.0954 35.627 47.2807 36.6503 47.3404 37.24C47.3404 37.2415 47.3404 37.2443 47.3404 37.2458C47.3463 37.3216 47.3477 37.4018 47.3565 37.4791C47.3565 37.4977 47.3608 37.5149 47.3637 37.5335C47.3798 37.6336 47.3929 37.7353 47.4045 37.8355C47.4366 38.1518 47.4409 38.471 47.438 38.7887C47.4307 39.5215 47.3696 40.2458 47.2443 40.9643C47.1861 41.3007 47.074 41.5626 46.8715 41.7973C46.6531 42.0507 46.4187 42.2782 46.1463 42.4529C46.126 42.4571 46.1041 42.46 46.0837 42.4614C45.9279 42.4786 45.7721 42.4557 45.6236 42.4013C44.5314 42.0049 44.1076 41.6771 44.0071 40.6981C43.9635 40.273 43.9809 39.7248 44.0304 38.9934C44.0668 38.4481 44.2387 37.9342 44.3625 37.4104C44.3785 37.3417 44.4047 37.2672 44.3974 37.1971C44.393 37.1527 44.3756 37.1098 44.3348 37.0711C44.2314 36.9695 43.5455 36.4442 43.4145 36.46C43.4115 36.46 43.4086 36.46 43.4057 36.4614C43.0999 36.5831 42.6208 36.7133 42.3951 36.9438C42.1286 37.2143 41.7646 37.4762 41.632 37.8741C41.4631 38.3779 41.4529 38.9834 41.5155 39.5931C41.5884 40.2987 41.7558 41.013 41.8854 41.5898C41.9408 41.8431 42.0048 42.105 42.1446 42.3341C42.5334 42.9738 42.8465 43.6666 43.3591 44.2205C43.3984 44.2635 43.445 44.3093 43.464 44.3622C43.5237 44.534 43.6606 44.6241 43.7873 44.7272C44.5226 45.3341 45.3935 45.5774 46.1827 45.8479C46.3386 45.9009 46.49 45.9195 46.6356 45.9037C46.8963 45.8751 47.138 45.7334 47.3492 45.4815C47.5268 45.2697 47.7089 45.055 47.939 44.9104C48.3554 44.6628 48.7632 44.3608 49.136 44.0259C49.4986 43.701 49.8583 43.3489 49.9573 42.8107C50.068 42.2067 50.1481 41.5969 50.1364 40.98C50.1335 40.8498 50.1539 40.7195 50.1408 40.5893C50.1364 40.5521 50.1306 40.5134 50.1189 40.4762C50.0782 40.3331 50.0505 40.1885 50.0359 40.0425C50.0068 39.7577 50.0228 39.47 50.0607 39.1838C50.0985 38.8975 50.1 38.617 50.0723 38.3421C50.025
111817 37.8856 49.8976 37.4433 49.7243 37.0082C49.2758 35.4137 47.7205 33.5244 46.5512 32.7286C45.9177 32.2977 45.2595 31.9199 44.5969 31.5535C44.3392 31.4103 44.0916 31.2586 43.9183 30.9795C43.8848 30.9265 43.8644 30.8435 43.8542 30.7405C43.7829 30.0477 44.1863 28.4175 44.4688 28.2801C44.9217 28.0596 45.3323 27.7233 45.8318 27.6288C45.7284 27.5515 45.6949 27.4213 45.7342 27.2681C45.7357 27.2595 45.7386 27.251 45.7415 27.2409C45.7634 27.1837 45.8027 27.1307 45.8391 27.0778C45.9061 26.9833 46.0138 26.9432 46.1172 26.9003C46.1653 26.8788 46.2075 26.8903 46.2512 26.9046C46.2628 26.9089 46.2745 26.9132 46.2861 26.9175C46.3036 26.9189 46.3211 26.9232 46.3357 26.9275C46.3983 26.9504 46.4318 27.0033 46.4507 27.0735C46.4623 27.1164 46.4784 27.1579 46.5031 27.1951C46.5308 27.2352 46.5439 27.281 46.5279 27.3211C46.5235 27.3325 46.5162 27.344 46.5089 27.354C46.4405 27.437 46.3866 27.5301 46.3153 27.6088C46.4638 27.6288 46.6036 27.6775 46.7361 27.782C47.4613 28.3559 47.7788 29.1875 47.8778 30.1451C47.8792 30.168 47.8822 30.1923 47.8851 30.2166C47.8865 30.2395 47.8894 30.2596 47.8909 30.2796C47.9331 30.6975 47.9812 30.5873 48.1137 31.0368C48.2302 31.406 48.6991 31.6408 49.0326 31.6036C49.0501 31.6021 49.0675 31.5993 49.085 31.595C49.5874 31.4891 50.2849 31.4833 50.3592 30.9022C50.381 30.7276 50.3723 30.5286 50.3519 30.324L50.3548 30.334ZM43.4523 29.3335C43.448 29.345 43.4407 29.3564 43.4319 29.3664C43.3591 29.4537 43.3067 29.5539 43.2281 29.6355C43.1538 29.7142 43.046 29.7228 42.9499 29.7114C42.9092 29.7071 42.8742 29.6985 42.8422 29.687C42.6718 29.6255 42.6092 29.4709 42.6587 29.2791C42.6601 29.2705 42.663 29.2619 42.666 29.2534C42.6878 29.1961 42.7286 29.1417 42.7635 29.0902C42.8305 28.9957 42.9383 28.9556 43.0417 28.9113C43.0897 28.8898 43.1334 28.9013 43.1771 28.917C43.1887 28.9213 43.2004 28.9256 43.212 28.9299C43.2295 28.9313 43.247 28.9356 43.2616 28.9399C43.3242 28.9628 43.3577 29.0158 43.3766 29.0859C43.3882 29.1288 43.4043 29.1703 43.429 29.2076C43.4567 29.2476 43.4683 29.292 43.4538 29.3335H43.4523ZM44.1295 28.23C44.1251 28.2414 44.1178 28.2529 44.1091 28.2629C44.0363 28.3502 43.9838 28.4504 43.9052 28.532C43.8309 28.6107 43.7232 28.6193 43.6271 28.6078C43.5878 28.6035 43.5499 28.595 43.5193 28.5849C43.3489 28.5234 43.2863 28.3674 43.3358 28.177C43.3373 28.1684 43.3402 28.1598 43.3431 28.1498C43.3635 28.0926 43.4043 28.0396 43.4407 27.9866C43.5077 27.8922 43.6154 27.8521 43.7188 27.8077C43.7669 27.7877 43.8106 27.7977 43.8528 27.812C43.8644 27.8163 43.8761 27.8206 43.8877 27.8249C43.9052 27.8263 43.9227 27.8306 43.9372 27.8349C43.9999 27.8578 44.0334 27.9108 44.0523 27.9809C44.0639 28.0239 44.0785 28.0654 44.1047 28.1026C44.1324 28.1427 44.1455 28.1885 44.1295 28.2285V28.23ZM44.977 27.3354C44.9712 27.3626 44.9624 27.3884 44.9508 27.4141C44.9362 27.447 44.9144 27.4771 44.9056 27.5115C44.8896 27.5673 44.8488 27.6059 44.7993 27.6288C44.7338 27.6589 44.6683 27.6789 44.5969 27.6789C44.5707 27.6789 44.5459 27.6761 44.5183 27.6703C44.4804 27.6617 44.4426 27.6546 44.4062 27.6388C44.396 27.6331 44.3843 27.6274 44.3756 27.6174C44.3464 27.5844 44.3144 27.5515 44.2722 27.5329C44.2664 27.5301 44.2605 27.5258 44.2547 27.5215C44.2343 27.5072 44.2154 27.49 44.2096 27.4657C44.1979 27.4213 44.1761 27.3798 44.1615 27.3354C44.1528 27.3096 44.1484 27.2853 44.1484 27.2595C44.1484 27.2424 44.1499 27.2266 44.1557 27.2094C44.1615 27.1865 44.1644 27.1622 44.1659 27.1379C44.1688 27.0921 44.1688 27.0463 44.179 27.0019C44.1921 26.9518 44.211 26.906 44.2576 26.876C44.2736 26.8659 44.2897 26.8531 44.3057 26.843C44.3668 26.7987 44.4353 26.7729 44.5125 26.7729H44.5197C44.5678 26.7772 44.6158 26.7872 44.661 26.8073C44.6974 26.8244 44.7323 26.8445 44.7687 26.8631C44.8241 26.8917 44.8692 26.9332 44.8998 26.9862C44.9129 27.0062 44.9246 27.0262 44.942 27.042C44.9595 27.0606 44.9683 27.0821 44.9712 27.1078C44.9784 27.1465 44.9741 27.1865 44.9872 27.2238C44.9886 27.2295 44.9872 27.2381 44.9886 27.2438C44.9886 27.2481 44.9886 27.2538 44.9886 27.2581C44.9886 27.2839 44.9799 27.3096 44.9755 27.334L44.977 27.3354ZM46.0036 26.0515C45.9993 26.063 45.992 26.0744 45.9847 26.0844C45.9119 26.1703 45.8595 26.2719 45.7808 26.3521C45.7066 26.4308 45.5988 26.4394 45.5027 26.428C45.4634 26.4237 45.427 26.4151 45.3949 26.4051C45.2231 26.3435 45.1605 26.1875 45.2114 25.9971C45.2129 25.9885 45.2158 25.98 45.2187 25.9714C45.2406 25.9141 45.2799 25.8597 45.3163 25.8082C45.3833 25.7137 45.491 25.6737 45.5944 25.6293C45.6425 25.6092 45.6862 25.6193 45.7299 25.635C45.7415 25.6393 45.7532 25.6436 45.7648 25.6479C45.7823 25.6493 45.7998 25.6522 45.8143 25.6579C45.8769 25.6808 45.9104 25.7338 45.9294 25.8039C45.941 25.8468 45.9556 25.8884 45.9818 25.9256C46.0095 25.9656 46.0226 26.0114 46.0065 26.0515H46.0036Z" fill="black"/> 11182 <path d="M42.1998 23.4849C42.2013 23.4764 42.2042 23.4678 42.2071 23.4578C42.2289 23.4005 42.2697 23.3461 42.3047 23.2946C42.3716 23.2001 42.4794 23.16 42.5828 23.1157C42.6308 23.0956 42.6745 23.1056 42.7182 23.1214C42.7299 23.1257 42.7415 23.13 42.7532 23.1328C42.7706 23.1343 42.7881 23.1386 42.8027 23.1429C42.8653 23.1658 42.8988 23.2187 42.9177 23.2889C42.9308 23.3318 42.9454 23.3733 42.9701 23.4105C42.9978 23.4506 43.0095 23.4964 42.9949 23.5365C42.9905 23.5479 42.9833 23.5594 42.9745 23.5694C42.901
111827 23.6553 42.8493 23.7569 42.7706 23.837C42.6964 23.9158 42.5886 23.9244 42.4925 23.9129C42.4532 23.9086 42.4168 23.9 42.3847 23.89C42.2144 23.8285 42.1517 23.6724 42.2013 23.4821L42.1998 23.4849Z" fill="black"/> 11183 <path d="M41.9738 25.9816C41.9767 25.9715 41.9781 25.9644 41.981 25.9558C42.0029 25.8985 42.0437 25.8442 42.0786 25.7926C42.1456 25.6982 42.2534 25.6581 42.3567 25.6137C42.4048 25.5937 42.447 25.6037 42.4907 25.6194C42.5024 25.6237 42.514 25.628 42.5271 25.6323C42.5446 25.6338 42.5621 25.6366 42.5766 25.6423C42.6393 25.6652 42.6728 25.7182 42.6917 25.7883C42.7033 25.8313 42.7193 25.8728 42.7441 25.91C42.7718 25.9501 42.7834 25.9959 42.7689 26.0359C42.7645 26.0474 42.7572 26.0589 42.7499 26.0689C42.6771 26.1547 42.6232 26.2564 42.5461 26.3365C42.4718 26.4152 42.3655 26.4238 42.2679 26.4124C42.2286 26.4081 42.1922 26.3995 42.1602 26.3895C41.9883 26.3279 41.9257 26.1719 41.9767 25.9816H41.9738Z" fill="black"/> 11184 <path d="M41.0116 24.4296C41.0145 24.3852 41.0145 24.3394 41.0262 24.2936C41.0378 24.2435 41.0582 24.1991 41.1048 24.1691C41.1208 24.159 41.1368 24.1476 41.1529 24.1347C41.214 24.0903 41.2825 24.0646 41.3596 24.0646H41.3669C41.415 24.0689 41.463 24.0789 41.5082 24.0989C41.5446 24.1161 41.5795 24.1361 41.6159 24.1547C41.6713 24.1819 41.7164 24.2234 41.747 24.2778C41.7601 24.2979 41.7717 24.3165 41.7892 24.3337C41.8067 24.3508 41.8154 24.3737 41.8184 24.3995C41.8256 24.4381 41.8213 24.4782 41.8344 24.5154C41.8358 24.5212 41.8344 24.5297 41.8358 24.5355C41.8358 24.5398 41.8358 24.5455 41.8358 24.5498C41.8358 24.5756 41.8271 24.6013 41.8213 24.6271C41.8154 24.6543 41.8067 24.68 41.7951 24.7058C41.7805 24.7387 41.7601 24.7688 41.7499 24.8031C41.7339 24.8589 41.6931 24.8962 41.6436 24.9205C41.5781 24.9506 41.5111 24.972 41.4412 24.972C41.415 24.972 41.3888 24.9692 41.3626 24.9634C41.3247 24.9548 41.2854 24.9477 41.2504 24.9305C41.2388 24.9248 41.2286 24.9205 41.2198 24.9105C41.1907 24.8761 41.1587 24.8446 41.1164 24.826C41.1106 24.8232 41.1048 24.8189 41.099 24.8146C41.0786 24.7988 41.0597 24.7831 41.0524 24.7588C41.0407 24.7144 41.0189 24.6729 41.0043 24.6285C40.9956 24.6027 40.9912 24.577 40.9912 24.5526C40.9912 24.5355 40.9927 24.5197 40.9985 24.5026C41.0043 24.4797 41.0072 24.4553 41.0087 24.431L41.0116 24.4296Z" fill="black"/> 11185 <path d="M41.0609 27.073C41.0638 27.0286 41.0638 26.9828 41.074 26.9384C41.0871 26.8884 41.1061 26.8425 41.1527 26.8125C41.1687 26.8025 41.1847 26.791 41.2007 26.7781C41.2619 26.7338 41.3303 26.708 41.4075 26.708H41.4148C41.4628 26.7123 41.5109 26.7223 41.556 26.7424C41.5924 26.7595 41.6274 26.7796 41.6638 26.7982C41.7191 26.8268 41.7643 26.8683 41.7949 26.9213C41.808 26.9413 41.8196 26.9613 41.8371 26.9771C41.8546 26.9943 41.8633 27.0172 41.8662 27.0429C41.8735 27.0816 41.8691 27.1217 41.8822 27.1589C41.8822 27.1646 41.8822 27.1732 41.8822 27.1789C41.8822 27.1832 41.8822 27.1889 41.8822 27.1932C41.8822 27.219 41.8749 27.2447 41.8691 27.2691C41.8633 27.2963 41.8546 27.322 41.8429 27.3478C41.8283 27.3807 41.8065 27.4108 41.7978 27.4451C41.7817 27.501 41.741 27.5382 41.6915 27.5625C41.6259 27.594 41.5604 27.614 41.489 27.614C41.4628 27.614 41.4381 27.6112 41.4119 27.6054C41.374 27.5968 41.3347 27.5911 41.2997 27.5739C41.2881 27.5682 41.2779 27.5639 41.2692 27.5539C41.24 27.5196 41.2095 27.4881 41.1658 27.4695C41.1599 27.4666 41.1541 27.4623 41.1483 27.458C41.1279 27.4423 41.1075 27.4265 41.1017 27.4022C41.09 27.3578 41.0682 27.3163 41.0536 27.2719C41.0449 27.2476 41.0405 27.2218 41.0405 27.1961C41.0405 27.1803 41.042 27.1632 41.0478 27.146C41.0536 27.1231 41.0565 27.0988 41.058 27.073H41.0609Z" fill="black"/> 11186 <path d="M46.472 5.28774C45.6157 5.28774 44.9502 4.61216 44.9502 3.79202C44.9502 2.97188 45.6244 2.28772 46.4807 2.28772C47.337 2.28772 48.0024 2.9633 48.0024 3.78343C48.0024 4.60357 47.3282 5.28774 46.472 5.28774ZM46.4807 2.45375C45.7089 2.45375 45.1279 3.0549 45.1279 3.79202C45.1279 4.52914 45.706 5.12171 46.4734 5.12171C47.2408 5.12171 47.8277 4.52056 47.8277 3.78343C47.8277 3.04631 47.2496 2.45375 46.4821 2.45375H46.4807ZM46.8564 3.97094L47.2525 4.54346H46.8346L46.4894 4.02962H46.2069V4.54346H45.8487V2.94755H46.5695C46.9583 2.94755 47.2059 3.14221 47.2059 3.47427C47.2059 3.73477 47.0617 3.89651 46.8564 3.97094ZM46.5564 3.25815H46.2069V3.72618H46.5651C46.7457 3.72618 46.8433 3.63028 46.8433 3.49431C46.8433 3.33687 46.7341 3.25815 46.5564 3.25815Z" fill="black"/> 11187 <path d="M50.5571 17.4832C49.9454 17.9197 49.5858 18.7327 48.9057 19.0705C48.2256 19.4083 47.7844 19.8992 47.3927 20.3014C46.9995 20.7036 46.4942 21.2404 45.7646 21.5452C45.4326 21.6841 45.1676 21.7972 44.9506 21.8558C44.6957 21.9245 44.505 21.9188 44.3477 21.7914C44.0725 21.5681 44.0026 21.123 44.2239 20.758C44.4409 20.4002 44.7948 20.1268 45.4719 19.3725C46.1447 18.6225 47.1582 18.1974 47.3475 17.8811C47.5368 17.5634 48.3916 17.0839 47.7728 16.0576C47.7728 16.0576 46.9296 15.0543 46.551 15.2146C46.1724 15.3735 45.6161 15.8501 45.204 16.4469C44.7919 17.0438 44.5807 17.4174 44.5225 17.5605C44.4642 17.7036 44.2283 18.8258 44.2065 19.1407C44.2065 19.1507 44.1569 19.57 44.1468 19.5958C44.0987 19.7332 43.8832 20.1325 43.5439 20.7008C43.4521 20.8539 43.4128 21.2862 43.4652 21.576
111877C43.49 21.6483 43.4914 21.8 43.6414 21.9603C43.6662 21.9861 43.7201 22.0534 43.7652 22.092C43.8191 22.1392 43.9458 22.1836 43.9589 22.2337C43.9691 22.2766 43.8963 22.3282 43.8351 22.3582C43.6633 22.4441 43.6414 22.4241 43.4259 22.4312C43.3881 22.4312 43.3473 22.4255 43.3065 22.414C43.273 22.4055 43.241 22.394 43.2104 22.3826C43.0939 22.3396 43.0065 22.1893 42.8929 21.6841C42.8609 21.541 42.759 21.2976 42.7211 21.0915C42.6498 20.7036 42.7153 20.5505 42.7138 20.2814C42.7109 19.6946 42.7997 19.2122 42.8128 18.5953C42.8128 18.5295 42.7735 18.0514 42.7546 17.9541C42.6978 17.6635 42.5726 17.2113 43.0109 16.5858C43.2497 16.2451 43.4201 15.7957 43.5876 15.4837C43.9968 14.7251 44.2094 14.2928 44.272 14.1554C44.4846 13.6888 44.6608 13.1048 45.5462 12.7585C45.8767 12.6296 46.3049 12.5337 46.8713 12.4894C48.5824 12.269 48.048 12.3076 49.0513 12.0657C49.3994 11.9813 50.0066 11.9455 50.4872 11.9555C50.9663 11.9655 51.4104 11.9956 51.6186 11.9913C52.7705 11.9669 52.9773 12.5967 52.989 13.0132C53.0079 13.7346 53.0341 14.3129 52.7691 14.9541C52.4851 15.6411 51.8691 16.4011 50.5571 17.4846V17.4832Z" fill="black"/> 11188 <path d="M44.9519 18.8715C44.9519 18.8715 45.1223 17.8696 45.2548 17.549C45.3888 17.2269 45.7266 16.8118 45.7994 16.7431C45.8723 16.6744 45.932 16.5914 45.9713 16.5428C46.0106 16.4941 46.2654 16.1377 46.3907 16.0976C46.5145 16.0561 46.6309 16.0733 46.663 16.0919C46.695 16.1091 46.8057 16.1534 46.9324 16.2837C47.0256 16.3782 47.113 16.5399 47.0999 16.6687C47.0897 16.7632 46.9615 17.1267 46.9324 17.1496C46.9033 17.174 46.5945 17.6492 46.1315 17.9054C46.1315 17.9054 45.8883 18.0599 45.8548 18.1015C45.8213 18.143 45.3873 18.4264 44.9738 18.8829C44.9621 18.8901 44.9461 18.9144 44.9519 18.8744V18.8715Z" fill="black"/> 11189 <path d="M43.755 13.424C43.608 13.5256 42.8915 14.3372 42.3818 14.8424C42.226 14.997 41.9945 15.1244 41.9304 15.1788C41.7425 15.3419 41.7076 15.4021 41.5445 15.5438C41.5285 15.5581 41.5139 15.5709 41.4979 15.5838C41.3654 15.7012 41.262 15.8014 41.1644 15.8887C41.0144 16.0218 40.9067 16.2179 40.8775 16.2637C40.7552 16.4469 40.6824 16.6659 40.8382 17.2184C40.9154 17.4918 41.0159 17.7093 41.0902 17.9097C41.1266 18.0113 41.3639 18.5023 41.5328 18.9717C41.6348 19.2537 42.0017 20.2442 42.0382 20.3086C42.0615 20.3501 42.0848 20.3801 42.127 20.4503C42.1415 20.4746 42.178 20.1926 42.1663 20.0295C42.092 19.0304 42.2828 18.4794 42.0047 17.6392C41.8838 17.2728 41.9581 16.9278 42.0309 16.7904C42.0964 16.6673 42.194 16.5356 42.5362 16.0476C42.6702 15.8558 43.6764 13.8219 43.7317 13.7289C43.9196 13.4154 44.1788 13.2694 44.1788 13.2694C44.1788 13.2694 43.9516 13.2909 43.755 13.4269V13.424Z" fill="black"/> 11190 </svg> 11191 </div> 11192 <div class="social flex gap-2"> 11193 <a href="https://www.instagram.com/justspices/" title="Just Spices bei Instagram"> 11194 <svg class="hover-scale" xmlns="http://www.w3.org/2000/svg" width="40" height="41" viewBox="0 0 40 41" fill="none"> 11195 <circle cx="20" cy="20.0648" r="20" fill="white"/> 11196 <path d="M30.4028 24.3849C30.3187 26.0635 29.9354 27.5501 28.7107 28.775C27.4861 30.0047 25.9995 30.388 24.3216 30.4675C22.5921 30.5655 17.4082 30.5655 15.6786 30.4675C14.0004 30.3833 12.5189 30 11.2895 28.775C10.0601 27.5501 9.67685 26.0632 9.59743 24.3849C9.49942 22.655 9.49942 17.4699 9.59743 15.74C9.68158 14.0614 10.0601 12.5748 11.2895 11.3499C12.5189 10.1249 14.0051 9.74158 15.6786 9.66215C17.4082 9.56411 22.5921 9.56411 24.3216 9.66215C25.9998 9.74631 27.4861 10.1296 28.7107 11.3546C29.9402 12.5795 30.3234 14.0664 30.4028 15.7447C30.5008 17.4746 30.5008 22.655 30.4028 24.3849ZM28.5891 20.0648C28.5891 18.5407 28.7152 15.2678 28.1684 13.8887C27.799 12.9676 27.0934 12.2615 26.1772 11.8971C24.8029 11.3546 21.5262 11.4763 20.0025 11.4763C18.4787 11.4763 15.2065 11.3502 13.8277 11.8971C12.9068 12.2665 12.2009 12.9723 11.8366 13.8887C11.2942 15.2633 11.4159 18.5407 11.4159 20.0648C11.4159 21.5889 11.2898 24.8619 11.8366 26.241C12.2059 27.1621 12.9116 27.8682 13.8277 28.2325C15.2021 28.775 18.4787 28.6534 20.0025 28.6534C21.5262 28.6534 24.7985 28.7795 26.1772 28.2325C27.098
111961 27.8631 27.8041 27.1573 28.1684 26.241C28.7152 24.8663 28.5891 21.5889 28.5891 20.0648ZM25.3733 20.0648C25.3733 23.0383 22.9753 25.4368 20.0025 25.4368C17.0297 25.4368 14.6317 23.0383 14.6317 20.0648C14.6317 17.0913 17.0297 14.6928 20.0025 14.6928C22.9753 14.6928 25.3733 17.0913 25.3733 20.0648ZM23.494 20.0648C23.494 18.1385 21.9281 16.5721 20.0022 16.5721C18.0763 16.5721 16.5103 18.1385 16.5103 20.0648C16.5103 21.9911 18.081 23.5575 20.0022 23.5575C21.9233 23.5575 23.494 21.9911 23.494 20.0648ZM25.593 15.7261C24.8965 15.7261 24.3402 15.165 24.3402 14.4731C24.3402 13.7812 24.9012 13.2201 25.593 13.2201C26.2847 13.2201 26.8457 13.7812 26.8457 14.4731C26.8457 15.165 26.2847 15.7261 25.593 15.7261Z" fill="black"/> 11197 </svg> 11198 </a> 11199 <a href="https://www.facebook.com/JustSpices/" title="Just Spices bei Facebook"> 11200 <svg class="hover-scale" xmlns="http://www.w3.org/2000/svg" width="40" height="41" viewBox="0 0 40 41" fill="none"> 11201 <circle cx="20" cy="20.0648" r="20" fill="white"/> 11202 <path d="M22.0384 30.5407V23.1753H24.3683L24.8119 20.1286H22.0384V18.1503C22.0384 17.3171 22.4258 16.5042 23.668 16.5042H24.9294V13.9116C24.9294 13.9116 23.7848 13.7059 22.6906 13.7059C20.4057 13.7059 18.9137 15.1649 18.9137 17.8062V20.1283H16.3735V23.175H18.9137V30.5404C14.1328 29.7496 10.4761 25.3891 10.4761 20.1286C10.4761 14.3062 14.9519 9.58862 20.4761 9.58862C26.0002 9.58862 30.4761 14.3062 30.4761 20.1286C30.4761 25.3891 26.8193 29.7496 22.0387 30.541L22.0384 30.5407Z" fill="black"/> 11203 </svg> 11204 </a> 11205 <a href="https://www.tiktok.com/@justspices" title="Just Spices bei TikTok"> 11206 <svg class="hover-scale" xmlns="http://www.w3.org/2000/svg" width="40" height="41" viewBox="0 0 40 41" fill="none"> 11207 <circle cx="20" cy="20.0648" r="20" fill="white"/> 11208 <path d="M29.5019 18.181C27.5664 18.181 25.766 17.5827 24.3025 16.5742V23.8899C24.3011 27.561 21.2037 30.541 17.3893 30.541C13.5748 30.541 10.4761 27.5596 10.4761 23.8871C10.4761 20.2147 13.5737 17.2333 17.3893 17.2333C17.7136 17.2333 18.0258 17.2545 18.3384 17.2965V20.9761C18.0379 20.885 17.7179 20.8359 17.3861 20.8359C15.6345 20.8359 14.2125 22.2045 14.2125 23.8904C14.2125 25.5764 15.6345 26.945 17.3861 26.945C19.1378 26.945 20.5597 25.5756 20.5597 23.8899V9.58862H24.3022C24.3022 9.60242 24.3022 9.6165 24.3022 9.6303C24.3022 9.92753 24.3295 10.2134 24.3816 10.496C24.6489 11.8704 25.4959 13.0489 26.6744 13.7799C27.4902 14.299 28.4674 14.6012 29.5174 14.6012L29.5237 14.6043V18.181H29.5019Z" fill="black"/> 11209 </svg> 11210 </a> 11211 <a href="https://www.pinterest.de/justspices/" title="Just Spices bei Pinterest"> 11212 <svg class="hover-scale" xmlns="http://www.w3.org/2000/svg" width="40" height="41" viewBox="0 0 40 41" fill="none"> 11213 <circle cx="20" cy="20.0648" r="20" fill="white"/> 11214 <path d="M19.9958 9.58862C14.204 9.58862 9.52393 14.2774 9.52393 20.0605C9.52393 24.4991 12.2819 28.2914 16.1778 29.817C16.083 28.9895 16.0053 27.7141 16.2121 26.8091C16.4018 25.9904 17.4361 21.6035 17.4361 21.6035C17.4361 21.6035 17.1258 20.9743 17.1258 20.052C17.1258 18.5953 17.9704 17.5095 19.0219 17.5095C19.9184 17.5095 20.3492 18.1817 20.3492 18.9833C20.3492 19.8798 19.7802 21.2242 19.4786 22.474C19.2287 23.5168 20.0045 24.3702 21.0301 24.3702C22.8917 24.3702 24.3224 22.4051 24.3224 19.5781C24.3224 17.07 22.5211 15.3204 19.944 15.3204C16.962 15.3204 15.2122 17.5528 15.2122 19.8626C15.2122 20.759 15.5569 21.7242 15.9879 22.25C16.074 22.3535 16.0827 22.4484 16.0569 22.5517C15.9792 22.8792 15.7983 23.5944 15.7639 23.741C15.7209 23.9307 15.6089 23.9737 15.4105 23.8789C14.1176 23.2582 13.3075 21.3449 13.3075 19.8108C13.3075 16.5098 15.7037 13.476 20.2285 13.476C23.857 13.476 26.684 16.0615 26.684 19.5264C26.684 22.9912 24.4085 26.0423 21.2541 26.0423C20.1939 26.0423 19.1941 25.4908 18.8579 24.8358C18.8579 24.8358 18.3321 26.8355 18.2029 27.3268C17.9702 28.2404 17.3323 29.378 16.9015 30.0761C17.8841 30.3777 18.9184 30.5415 20.0042 30.5415C25.7875 30.5415 30.4761 25.8527 30.4761 20.0696C30.4678 14.2774 25.7791 9.58862 19.9958 9.58862Z" fill="black"/> 11215 </svg> 11216 </a> 11217 <a href="https://www.youtube.com/channel/UCOGQpoP4yRDnO_E1aMY4hvA" title="Just Spices bei Youtube"> 11218 <svg class="hover-scale" xmlns="http://www.w3.org/2000/svg" width="40" height="41" viewBox="0 0 40 41" fill="none"> 11219 <circle cx="20" cy="20.0648" r="20" fill="white"/> 11220 <path d="M31.4287 20.082C31.4287 20.082 31.4287 24.0745 30.951 25.9885C30.688 27.0444 29.9134 27.8411 28.9301 28.1234C27.1476 28.6363 20.0001 28.6363 20.0001 28.6363C20.0001 28.6363 12.8528 28.6363 11.0701 28.1234C10.0868 27.8414 9.31222 27.0444 9.04924 25.9885C8.57153 24.0749 8.57153 20.082 8.57153 20.082C8.57153 20.082 8.57153 16.0894 9.04924 14.1758C9.31222 13.1199 10.
112200868 12.2883 11.0701 12.0063C12.8526 11.4934 20.0001 11.4934 20.0001 11.4934C20.0001 11.4934 27.1474 11.4934 28.9301 12.0063C29.9134 12.2883 30.688 13.1199 30.951 14.1758C31.4287 16.0894 31.4287 20.082 31.4287 20.082ZM23.6367 20.082L17.6629 16.4566V23.7067L23.6367 20.0817V20.082Z" fill="black"/> 11221 </svg> 11222 </a> 11223 </div> 11224 </div> 11225 <div class="w-full border-b-[2px] border-solid border-main-black mb-5 laptop:order-3"></div> 11226 <div class="footer-navigation mb-4 laptop:mb-5 laptop:order-4 laptop:w-full laptop:flex" id="accordion-footer-links"> 11227 <div class="footer-navigation-link category-footer-links mb-3 laptop:mb-0 laptop:mr-13"> 11228 <div data-role="collapsible" class="flex w-full justify-between"> 11229 <p class="font-bold text-s">Top Kategorien</p> 11230 <i class="fa-regular fa-chevron-down text-m"></i> 11231 </div> 11232 <div data-role="content" style="display: none;"> 11233 <div class=""> 11234 <a class="footer-bottom-link block text-s mt-3" href="https://www.justspices.de/alle-produkte.html" data-event="ev" data-category="footer" data-action="links" data-label="Alle Produkte">Alle Produkte</a> 11235 <a class="footer-bottom-link block text-s mt-3" href="https://www.justspices.de/bestseller.html" data-event="ev" data-category="footer" data-action="links" data-label="Bestseller Produkte">Bestseller</a> 11236 <a class="footer-bottom-link block text-s mt-3" href="https://www.justspices.de/gewuerzmischungen/dips-und-aufstriche.html" data-event="ev" data-category="footer" data-action="links" data-label="Gewürzmischungen für Dips & Aufstriche">Für Dips & Aufstriche</a> 11237 <a class="footer-bottom-link block text-s mt-3" href="https://www.justspices.de/gewuerzmischungen/salat-und-dressing.html" data-event="ev" data-category="footer" data-action="links" data-label="Gewürzmischungen für Salat & Dressing">Für Salat & Dressing</a> 11238 <a class="footer-bottom-link block text-s mt-3" href="https://www.justspices.de/gewuerzmischungen/grillen.html" data-event="ev" data-category="footer" data-action="links" data-label="Gewürzmischungen zum Grillen">Für Grillen & Marinieren</a> 11239 <a class="footer-bottom-link block text-s mt-3" href="https://www.justspices.de/gewuerzmischungen/airfryer.html" data-event="ev" data-category="footer" data-action="links" data-label="Gewürzmischungen für den Airfryer">Für den Airfryer</a> 11240 <a class="footer-bottom-link block text-s mt-3" href="https://www.justspices.de/gewuerzmischungen/thermomix.html" data-event="ev" data-category="footer" data-action="links" data-label="Gewürzmischungen für den Thermomix">Für den Thermomix®</a> 11241 </div> 11242 <div> 11243 <a class="footer-bottom-link block text-s mt-3" href="https://www.justspices.de/gewuerzmischungen/indisch.html" data-event="ev" data-category="footer" data-action="links" data-label="Indische Gewürzmischungen">Indische Gewürze</a> 11244 <a class="footer-bottom-link block text-s mt-3 mb-3 laptop:mb-0" href="https://www.justspices.de/gewuerzmischungen/italienisch.html" data-event="ev" data-category="footer" data-action="links" data-label="Italienische Gewürzmischungen">Italienische Gewürze</a> 11245 <a class="footer-bottom-link block text-s mt-3" href="https://www.justspices.de/gewuerzmischungen/asiatisch.html" data-event="ev" data-category="footer" data-action="links" data-label="Asiatische Gewürzmischungen">Asiatische Gewürze</a> 11246 <a class="footer-bottom-link block text-s mt-3" href="https://www.justspices.de/gewuerzmischungen/orientalisch.html" data-event="ev" data-category="footer" data-action="links" data-label="Orientalische Gewürzmischungen">Orientalische Gewürze</a> 11247 <a class="footer-bottom-link block text-s mt-3" href="https://www.justspices.de/gewuerzmischungen/mexikanisch.html" data-event="ev" data-category="footer" data-action="links" data-label="Mexikanische Gewürzmischungen">Mexikanische Gewürze</a> 11248 <a class="footer-bottom-link block text-s mt-3" href="https://www.justspices.de/gewuerzmischungen/griechisch.html" data-event="ev" data-category="footer" data-action="links" data-label="Griechische Gewürzmischungen">Griechische Gewürze</a> 11249 </div> 11250 <div> 11251 <a class="footer-bottom-link block text-s mt-3" href="https://www.justspices.de/gewuerzmischungen/backen-und-suesses.html" data-event="ev" data-category="footer" data-action="links" data-label="Gewürzmischungen zum Backen">Zum Backen</a> 11252 <a class="footer-bottom-link block text-s mt-3" href="https://www.justspices.de/gewuerzmischungen/fruehstueck.html" data-event="ev" data-category="footer" data-action="links" data-label="Gewürzmischungen zum Frühstück">Zum Frühstück</a> 11253 <a class="footer-bottom-link block text-s mt-3" href="https://www.justspices.de/gewuerzmischungen/fleisch.html" data-event="ev" data-category="footer" data-action="links" data-label="Gewürzmischungen für Fleisch">Für Fleisch</a> 11254 <a class="footer-bottom-link block text-s mt-3" href="https://www.justspices.de/gewuerzmischungen/fisch.html" data-event="ev" data-category="footer" data-action="links" data-label="Gewürzmischungen für Fisch">Für Fisch</a> 11255 <a class="footer-bottom-link block text-s mt-3" href="https://www.justspices.de/gewuerzmischungen/kartoffeln.html" data-event="ev" data-category="footer" data-action="links" data-label="Gewürzmischungen für Kartoffeln">Für Kartoffeln</a> 11256 <a class="footer-bottom-link block text-s mt-3" href="https://www.justspices.de/gewuerzmischungen/gemuese.html" data-event="ev" data-category="footer" data-action="links" data-label="Gewürzmischungen für Gemüse">
11256Für Gemüse</a> 11257 </div> 11258 </div> 11259 </div> 11260 <div class="footer-navigation-link mb-3 laptop:mb-0 laptop:mr-13"> 11261 <div data-role="collapsible" class="flex w-full justify-between"> 11262 <p class="font-bold text-s">Just Spices</p> 11263 <i class="fa-regular fa-chevron-down text-m"></i> 11264 </div> 11265 <div data-role="content" style="display: none;"> 11266 <a class="footer-bottom-link block text-s mt-3" href="https://www.justspices.de/about" data-event="ev" data-category="footer" data-action="links" data-label="Ãber uns">Ãber uns</a> 11267 <a class="footer-bottom-link block text-s mt-3" href="https://www.justspices.de/jobs" data-event="ev" data-category="footer" data-action="links" data-label="Jobs">Jobs</a> 11268 <a class="footer-bottom-link block text-s mt-3" href="https://www.justspices.de/presse" data-event="ev" data-category="footer" data-action="links" data-label="Presse">Presse</a> 11269 <a class="footer-bottom-link block text-s mt-3" href="https://www.justspices.de/storefinder" data-event="ev" data-category="footer" data-action="links" data-label="Store Finder">Store Finder</a> 11270 </div> 11271 </div> 11272 <div class="footer-navigation-link mb-3 laptop:mb-0"> 11273 <div data-role="collapsible" class="flex w-full justify-between"> 11274 <p class="font-bold text-s">Hilfe & Kontakt</p> 11275 <i class="fa-regular fa-chevron-down text-m"></i> 11276 </div> 11277 <div data-role="content" style="display: none;"> 11278 <a class="footer-bottom-link block text-s mt-3" href="https://www.justspices.de/kontakt" data-event="ev" data-category="footer" data-action="links" data-label="Kontakt">Kontakt</a> 11279 <a class="footer-bottom-link block text-s mt-3" href="https://www.justspices.de/impressum" data-event="ev" data-category="footer" data-action="links" data-label="Impressum">Impressum</a> 11280 <a class="footer-bottom-link block text-s mt-3" href="#" data-acsb-custom-trigger="true" data-event="ev" data-category="footer" data-action="links" data-label="Barrierefreiheit">Barrierefreiheit</a> 11281 </div> 11282 </div> 11283 </div> 11284 <div class="w-full border-b-[2px] border-solid border-main-black mb-3 laptop:hidden"></div> 11285 <div class="language-selection laptop:order-5 laptop:w-full"> 11286 <select id="language-selection-dropdown" class="fs-14 lh-16 font-bold"> 11287 <option value="">⬠EUR</option> 11288 <option value="https://www.justspices.es">⬠ES</option> 11289 <option value="https://www.justspices.co.uk">£ UK</option> 11290 <option value="https://www.justspices.com">$ US</option> 11291 </select> 11292 </div> 11293 <div class="required-links mt-4 laptop:mt-5 flex flex-wrap gap-2 mb-13 laptop:order-6"> 11294 <a class="text-xs" href="https://www.justspices.de/impressum" title="Impressum">Impressum</a> 11295 <a class="text-xs" href="https://www.justspices.de/agb" title="AGB">AGB</a> 11296 <a class="text-xs" href="https://www.justspices.de/widerruf" title="Widerrufsbelehrung">Widerrufsbelehrung</a> 11297 <a class="text-xs" href="https://www.justspices.de/datenschutz" title="Datenschutz">Datenschutz</a> 11298 <a class="text-xs" href="https://www.justspices.de/erklaerung-zur-barrierefreiheit" title="Erklärung zur Barrierefreiheit">Barrierefreiheit</a> 11299 </div> 11300 11301</div>
11302<script> 11303 let accordionFooterLinks = document.getElementById('accordion-footer-links'); 11304 11305 if (accordionFooterLinks) { 11306 jQuery(document).ready(function () { 11307 let accordionContentItems = accordionFooterLinks.querySelectorAll('[data-role="content"]'); 11308 accordionContentItems.forEach((accordionContentItem) => { 11309 accordionContentItem.style.display = "none"; 11310 }); 11311 }); 11312 11313 let accordionItems = accordionFooterLinks.querySelectorAll('[data-role="collapsible"]'); 11314 accordionItems.forEach((accordionItem) => { 11315 accordionItem.onclick = function () { 11316 toggleAccordion(this); 11317 }; 11318 }); 11319 } 11320 11321 11322 function toggleAccordion(element) { 11323 let collapseContainer = element.parentElement.querySelector('[data-role="content"]'); 11324 11325 element.classList.toggle("active"); 11326 collapseContainer.classList.toggle("block"); 11327 if(collapseContainer.style.display === "none") { 11328 collapseContainer.style.display = "block"; 11329 } else { 11330 collapseContainer.style.display = "none"; 11331 } 11332 11333 } 11334 11335 document.getElementById('language-selection-dropdown').addEventListener('change', function() { 11336 const url = this.value; 11337 if (url) { 11338 window.location.href = url; 11339 } 11340 }); 11341</script>
11341</div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><style> 11342.vlogin-index-check footer .newsletter-section, 11343.vlogin-index-check footer .social-section, 11344.vlogin-index-check footer .footer-navigation, 11345.vlogin-index-check footer .language-selection, 11346.vlogin-index-check footer .info-icons, 11347.vlogin-index-check footer .w-full.border-solid, 11348.vlogin-index-index footer .newsletter-section, 11349.vlogin-index-index footer .social-section, 11350.vlogin-index-index footer .footer-navigation, 11351.vlogin-index-index footer .language-selection, 11352.vlogin-index-index footer .info-icons, 11353.vlogin-index-index footer .w-full.border-solid { 11354 display: none !important; 11355} 11356</style></div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true">
11356<script> 11357 let currentUrl = window.location.href; 11358 if(currentUrl.includes('vlogin/index/index')) { 11359 document.querySelector('.login-register-container h1').innerText = 'Melde Dich jetzt im Konto an'; 11360 document.querySelector('.login-register-container p.pt-1.text-center.fs-16.lh-24').innerText = '...und dann gehts ab zur Kasse. So sammelst Du mit Deinem Einkauf Punkte, die Du anschlieÃend einlösen kannst.'; 11361 } 11362 11363 if(currentUrl.includes('vlogin/index/check')) { 11364 document.querySelector('.login-register-container h1').innerText = 'Einloggen oder registrieren'; 11365 document.querySelector('.login-register-container p.pt-1.text-center.fs-16.lh-24').innerText = 'Gib zum Fortfahren Deine E-Mailadresse ein'; 11366 } 11367</script>
11367</div></div></footer>
11367<script type="text/javascript"> 11368 let lazyLoadInstance = new LazyLoad({ 11369 // Your custom settings go here 11370 elements_selector: ".lozad", 11371 }); 11372</script>
11372 11373
11374<script> 11375 (() => { 11376 function src_default(Alpine) { 11377 Alpine.directive("intersect", (el, { value, expression, modifiers }, { evaluateLater, cleanup }) => { 11378 let evaluate = evaluateLater(expression); 11379 let options = { 11380 rootMargin: getRootMargin(modifiers), 11381 threshold: getThreshhold(modifiers) 11382 }; 11383 let observer = new IntersectionObserver((entries) => { 11384 entries.forEach((entry) => { 11385 if (entry.isIntersecting === (value === "leave")) 11386 return; 11387 evaluate(); 11388 modifiers.includes("once") && observer.disconnect(); 11389 }); 11390 }, options); 11391 observer.observe(el); 11392 cleanup(() => { 11393 observer.disconnect(); 11394 }); 11395 }); 11396 } 11397 function getThreshhold(modifiers) { 11398 if (modifiers.includes("full")) 11399 return 0.99; 11400 if (modifiers.includes("half")) 11401 return 0.5; 11402 if (!modifiers.includes("threshold")) 11403 return 0; 11404 let threshold = modifiers[modifiers.indexOf("threshold") + 1]; 11405 if (threshold === "100") 11406 return 1; 11407 if (threshold === "0") 11408 return 0; 11409 return Number(`.${threshold}`); 11410 } 11411 function getLengthValue(rawValue) { 11412 let match = rawValue.match(/^(-?[0-9]+)(px|%)?$/); 11413 return match ? match[1] + (match[2] || "px") : void 0; 11414 } 11415 function getRootMargin(modifiers) { 11416 const key = "margin"; 11417 const fallback = "0px 0px 0px 0px"; 11418 const index = modifiers.indexOf(key); 11419 if (index === -1) 11420 return fallback; 11421 let values = []; 11422 for (let i = 1; i < 5; i++) { 11423 values.push(getLengthValue(modifiers[index + i] || "")); 11424 } 11425 values = values.filter((v) => v !== void 0); 11426 return values.length ? values.join(" ").trim() : fallback; 11427 } 11428 11429 document.addEventListener("alpine:init", () => { 11430 window.Alpine.plugin(src_default); 11431 }); 11432 })(); 11433</script>
vendor: 1 bytes, line 11433
11433
11434<script> 11435 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","#product_addtocart_form [x-data]":"intersect","#notice-cookie-block":"intersect"})) { 11436 document.querySelectorAll(selector).forEach(el => el.setAttribute('x-defer', `${deferUntil}`)); 11437 } 11438</script>
vendor: 1 bytes, line 11438
11438
11439<script> 11440 (function () { 11441 "use strict"; 11442 11443 const hasAlpine = new Promise(resolve => { 11444 window.addEventListener('alpine:initialized', resolve, {once: true, passive: true}); 11445 }); 11446 11447 const hasInteract = new Promise(resolve => { 11448 (events => { 11449 const onInteract = () => { 11450 resolve(); 11451 events.forEach(type => window.removeEventListener(type, onInteract)); 11452 } 11453 events.forEach(type => window.addEventListener(type, onInteract, {once: true, passive: true})) 11454 })(['touchstart', 'mouseover', 'wheel', 'scroll', 'keydown']) 11455 }); 11456 11457 const onIntersect = (el) => { 11458 return new Promise(resolve => { 11459 const observer = new IntersectionObserver(entries => { 11460 for (const entry of entries) { 11461 if (entry.isIntersecting) { 11462 observer.disconnect() 11463 resolve(); 11464 } 11465 } 11466 }, {}); 11467 observer.observe(el); 11468 }); 11469 } 11470 11471 function runComponent(el) { 11472 hasAlpine.then(() => { 11473 el.removeAttribute('x-ignore'); 11474 queueMicrotask(() => Alpine.initTree(el)); 11475 }); 11476 } 11477 11478 function initDeferredComponents() { 11479 document.querySelectorAll('[x-data][x-defer]').forEach(el => { 11480 el.setAttribute('x-ignore', ''); 11481 const deferUntil = (el.getAttribute('x-defer') || '').trim(); 11482 switch (deferUntil) { 11483 case 'interact': 11484 hasInteract.then(() => runComponent(el)); 11485 break; 11486 case 'intersect': 11487 onIntersect(el).then(() => runComponent(el)) 11488 break; 11489 case 'idle': 11490 window.requestIdleCallback 11491 ? window.requestIdleCallback(() => runComponent(el), {timeout: 4000}) 11492 : setTimeout(() => runComponent(el), 4000); 11493 break; 11494 case 'eager': 11495 runComponent(el); 11496 break; 11497 default: 11498 if (deferUntil.startsWith('event:') && deferUntil.length > 6) { 11499 window.addEventListener(deferUntil.substring(6), () => runComponent(el), {once: true, passive: true}); 11500 } 11501 } 11502 }); 11503 } 11504 11505 window.addEventListener('alpine:init', initDeferredComponents, {once: true, passive: true}); 11506 })() 11507</script>
11507 11508
11509<script type="module" 11510 src="https://www.justspices.de/static/version1790005904/frontend/Justspices/relaunch/de_DE/Hyva_Theme/js/alpine3.min.js" 11511 defer 11512 crossorigin 11513></script>
vendor: 1 bytes, line 11513
11513
11514<script> 11515 'use strict'; 11516 function dispatchMessages(messages, hideAfter) { 11517 const messagesEvent = new CustomEvent("messages-loaded", { 11518 detail: { 11519 messages: messages, 11520 hideAfter: hideAfter 11521 } 11522 }); 11523 window.dispatchEvent(messagesEvent); 11524 } 11525 11526 if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) { 11527 console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script"); 11528 } 11529 11530 (function( hyva, undefined ) { 11531 11532 hyva.initFormKey = () => { 11533 const inputSelector = 'input[name="form_key"]', 11534 formKey = hyva.getFormKey(); 11535 11536 Array.from(document.querySelectorAll(inputSelector)).map(function (input) { 11537 input.value = formKey 11538 }); 11539 } 11540 11541 hyva.initMessages = () => { 11542 try { 11543 const messages = hyva.getCookie('mage-messages'); 11544 window.mageMessages = messages ? JSON.parse(decodeURIComponent(messages).replace(/\+/g, ' ')) : []; 11545 11546 dispatchMessages(window.mageMessages); 11547 11548 // empty `mage-messages` cookie 11549 const skipSetDomain = true; 11550 hyva.setCookie('mage-messages','', -1, skipSetDomain); 11551 11552 } catch (error) { 11553 console.warn('Error parsing Cookie Messages:', error); 11554 } 11555 } 11556 11557 window.addEventListener('DOMContentLoaded', hyva.initFormKey); 11558 hyva.alpineInitialized(hyva.initMessages) 11559 11560 }( window.hyva = window.hyva || {} )); 11561</script>
vendor: 1 bytes, line 11561
11561
11562<script> 11563 'use strict'; 11564 { 11565 const private_content_key = 'mage-cache-storage'; 11566 const private_content_expire_key = 'mage-cache-timeout'; 11567 const private_content_version_key = 'private_content_version'; 11568 const section_data_ids_key = 'section_data_ids'; 11569 const mage_cache_session_id_key = 'mage-cache-sessid'; 11570 const last_visited_store_key = 'last_visited_store'; 11571 11572 const ttl = 3600; 11573 11574 if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) { 11575 console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script"); 11576 } 11577 11578 function loadSectionData () { 11579 const browserStorage = hyva.getBrowserStorage(); 11580 if (!browserStorage) { 11581 console.error('Please enable LocalStorage in your browser.'); 11582 typeof window.dispatchMessages !== "undefined" && window.dispatchMessages( 11583 [{ 11584 type: "warning", 11585 text: "Please enable LocalStorage in your browser." 11586 }] 11587 ); 11588 return; 11589 } 11590 try { 11591 let isInvalid = false; 11592 11593 if (hyva.getCookie(last_visited_store_key) !== CURRENT_STORE_CODE) { 11594 isInvalid = true; 11595 } 11596 hyva.setCookie(last_visited_store_key, CURRENT_STORE_CODE, false, false); 11597 11598 if (!hyva.getCookie(mage_cache_session_id_key)) { 11599 isInvalid = true; 11600 browserStorage.removeItem(private_content_key); 11601 const skipSetDomain = true; 11602 const days = false; 11603 hyva.setCookie(mage_cache_session_id_key, true, days, skipSetDomain) 11604 } 11605 11606 const cookieVersion = hyva.getCookie(private_content_version_key); 11607 const storageVersion = browserStorage.getItem(private_content_version_key); 11608 11609 if (cookieVersion && !storageVersion || cookieVersion !== storageVersion) { 11610 isInvalid = true; 11611 } 11612 11613 const privateContentExpires = browserStorage.getItem(private_content_expire_key); 11614 if (privateContentExpires && new Date(privateContentExpires) < new Date()) { 11615 browserStorage.removeItem(private_content_key); 11616 } 11617 11618 if (isInvalid && cookieVersion) { 11619 fetchPrivateContent([]); 11620 } else if (cookieVersion && storageVersion && cookieVersion === storageVersion) { 11621 const privateContent = JSON.parse(browserStorage.getItem(private_content_key)); 11622 if ( 11623 privateContent && 11624 privateContentExpires && 11625 privateContent.cart && 11626 privateContent.customer 11627 ) { 11628 dispatchPrivateContent(privateContent); 11629 } else { 11630 fetchPrivateContent([]); 11631 } 11632 } else { 11633 if (document.getElementById('default-section-data')) { 11634 const privateContent = JSON.parse(document.getElementById('default-section-data').innerText.trim()); 11635 dispatchPrivateContent(privateContent); 11636 } else { 11637 dispatchPrivateContent({}); 11638 } 11639 } 11640 11641 } catch (error) { 11642 console.warn('Error retrieving Private Content:', error); 11643 } 11644 window.localStorageLoaded = true; 11645 } 11646 11647 hyva.alpineInitialized(loadSectionData) 11648 window.addEventListener('reload-customer-section-data', loadSectionData); 11649 11650 window.addEventListener('reload-private-content', function (event) { 11651 fetchPrivateContent(event.detail.section); 11652 }); 11653 11654 function dispatchPrivateContent(data) { 11655 const privateContentEvent = new CustomEvent("private-content-loaded", { 11656 detail: { 11657 data: data 11658 } 11659 }); 11660 window.dispatchEvent(privateContentEvent); 11661 } 11662 11663 function fetchPrivateContent(sections) { 11664 fetch(`${BASE_URL}customer/section/load/?sections=${encodeURIComponent(sections.join(','))}`, { 11665 method: 'GET', 11666 headers: { 11667 'Content-Type': 'application/json', 11668 'X-Requested-With': 'XMLHttpRequest' 11669 } 11670 }) 11671 .then(response => response.json()) 11672 .then( 11673 data => { 11674 if (data) { 11675 try { 11676 const browserStorage = hyva.getBrowserStorage(); 11677 11678 // merge new data preserving non-invalidated sections 11679 const oldSectionData = JSON.parse(browserStorage.getItem(private_content_key) || '{}') || {}; 11680 11681 if ((! data.cart || ! data.cart.cartId) && oldSectionData['checkout-data']) { 11682 delete oldSectionData['checkout-data']; 11683 } 11684 const newSectionData = Object.assign(oldSectionData, data); 11685 11686 // don't persist messages, they've been dispatched already 11687 if (newSectionData.messages && newSectionData.messages.messages ) { 11688 newSectionData.messages.messages = []; 11689 } 11690 11691 browserStorage.setItem(private_content_key, JSON.stringify(newSectionData)); 11692 11693 const expiresAt = new Date(Date.now() + (ttl * 1000)).toISOString(); 11694 browserStorage.setItem(private_content_expire_key, expiresAt); 11695 11696 const newCookieVersion = hyva.getCookie(private_content_version_key); 11697 browserStorage.setItem(private_content_version_key, newCookieVersion); 11698 11699 // We don't need the section_data_ids in Hyvä, but we store them for compatibility 11700 // with Luma Fallback. Otherwise, not all sections are loaded in Luma Checkout 11701 hyva.setCookie( 11702 section_data_ids_key, 11703 JSON.stringify( 11704 Object.keys(data).reduce((sectionDataIds, sectionKey) => { 11705 sectionDataIds[sectionKey] = data[sectionKey]['data_id']; 11706 return sectionDataIds; 11707 }, {}) 11708 ), 11709 false, 11710 true 11711 ); 11712 dispatchPrivateContent(newSectionData); 11713 } catch (error) { 11714 console.warn("Couldn't store privateContent", error); 11715 } 11716 } 11717 } 11718 ); 11719 } 11720 } 11721</script>
vendor: 1 bytes, line 11721
11721
11722<script> 11723 (() => { 11724 document.addEventListener('submit', event => event.target.action = event.target.action.replace('%25uenc%25', hyva.getUenc())); 11725 })() 11726</script>
vendor: 1 bytes, line 11726
11726
11727<script> 11728 (events => { 11729 const dispatchUserInteractionEvent = () => { 11730 events.forEach(type => window.removeEventListener(type, dispatchUserInteractionEvent)) 11731 window.dispatchEvent(new Event('init-external-scripts')) 11732 }; 11733 events.forEach(type => window.addEventListener(type, dispatchUserInteractionEvent, {once: true, passive: true})) 11734 })(['touchstart', 'mouseover', 'wheel', 'scroll', 'keydown']) 11735</script>
vendor: 1 bytes, line 11735
11735
11736<script> 11737 function initConfigurableOptions(productId, optionConfig) { 11738 11739 function findPathParam(key) { 11740 const baseUrl = (BASE_URL.substring(0, 2) === '//' ? 'http:' : '') + BASE_URL; 11741 const baseUrlParts = (new URL(baseUrl)).pathname.replace(/\/$/, '').split('/'); 11742 const pathParts = window.location.pathname.split('/').slice(baseUrlParts.length + 3); 11743 for (let i = 0; i < pathParts.length; i += 2) { 11744 if (pathParts[i] === key && pathParts.length > i) { 11745 return pathParts[i + 1]; 11746 } 11747 } 11748 } 11749 11750 return { 11751 optionConfig, 11752 productId, 11753 itemId: (new URLSearchParams(window.location.search)).get('id') || findPathParam('id'), 11754 allowedAttributeOptions: [], 11755 selectedValues: [], 11756 init() { 11757 this.findAllowedAttributeOptions(); 11758 this.$nextTick(() => { 11759 if (typeof this.optionConfig.defaultValues === 'object') { 11760 for (const [attributeId, value] of Object.entries(this.optionConfig.defaultValues)) { 11761 this.changeOption(attributeId, value + ''); 11762 } 11763 } 11764 }); 11765 }, 11766 findSimpleIndex() { 11767 this.productIndex = this.calculateSimpleIndexForPartialSelection(this.selectedValues); 11768 }, 11769 calculateSimpleIndexForPartialSelection(selectedValues) { 11770 if (selectedValues.length === 0) return 0; 11771 let productIndexIds = Object.keys(this.optionConfig.index); 11772 Object.keys(this.optionConfig.attributes).forEach((attribute) => { 11773 const productsWithAttributeMatch = selectedValues[attribute] 11774 ? productIndexIds.filter((productIndex) => { 11775 return this.optionConfig.index[productIndex][attribute] === this.selectedValues[attribute] 11776 }) 11777 : []; 11778 11779 productIndexIds = productsWithAttributeMatch.length ? productsWithAttributeMatch : productIndexIds 11780 }) 11781 return productIndexIds[0]; 11782 }, 11783 calculateSimpleIndexForFullSelection(selectedValues) { 11784 const productIndexes = this.optionConfig.index; 11785 return Object.keys(productIndexes).find(productIndex => { 11786 const productCandidateOptions = productIndexes[productIndex]; 11787 11788 for (const productOption in productCandidateOptions) { 11789 if ( 11790 ! selectedValues[productOption] || 11791 selectedValues[productOption] !== productCandidateOptions[productOption] 11792 ) { 11793 return false; 11794 } 11795 } 11796 return productIndex; 11797 }); 11798 }, 11799 productIndex: 0, 11800 findAllowedAttributeOptions() { 11801 this.allowedAttributeOptions = this.calculateAllowedAttributeOptions(this.selectedValues); 11802 }, 11803 calculateAllowedAttributeOptions(selectedValues) { 11804 const allAttributes = this.optionConfig.attributes; 11805 const allAttributesSorted = Object.values(allAttributes).sort((a,b) => { 11806 return a.position - b.position 11807 }); 11808 11809 const newAllowedAttributeOptions = []; 11810 11811 allAttributesSorted.forEach(attribute => { 11812 const selectionWithoutAttr = Object.assign({}, this.removeAttrFromSelection(selectedValues, attribute.id)); 11813 const availableIndexes = this.calculateAvailableProductIndexes(selectionWithoutAttr); 11814 newAllowedAttributeOptions[attribute.id] = allAttributes[attribute.id].options.filter(option => { 11815 return !!option.products.find(product => { 11816 return availableIndexes.includes(product); 11817 }) 11818 }); 11819 }); 11820 return newAllowedAttributeOptions; 11821 }, 11822 calculateAvailableProductIndexes(selectedOptions) { 11823 if (Object.keys(selectedOptions).length === 0) { 11824 if (Object.values(this.optionConfig.salable || {}).length) { 11825 return [].concat.apply([], [].concat.apply([], Object.values(this.optionConfig.salable).map(Object.values))).filter((x, i, a) => a.indexOf(x) === i) 11826 } 11827 return Object.keys(this.optionConfig.index); 11828 } 11829 11830 const selectedIds = Object.keys(selectedOptions); 11831 if (Object.values(this.optionConfig.salable || {}).length) { 11832 const selectedOptionIndexes = selectedIds.map(attrId => { 11833 const optionValue = selectedOptions[attrId]; 11834 return this.optionConfig.salable[attrId] && this.optionConfig.salable[attrId][optionValue] || [] 11835 }) 11836 return selectedOptionIndexes.reduce((acc, optionIndexes) => { 11837 return acc.filter(index => optionIndexes.includes(index)); 11838 }); 11839 } else { 11840 const productIndexes = this.optionConfig.index; 11841 return Object.keys(productIndexes).filter(index => { 11842 for (const attrId of selectedIds) { 11843 if (productIndexes[index][attrId] !== `${selectedOptions[attrId]}`) return false 11844 } 11845 return true 11846 }); 11847 } 11848 }, 11849 findAttributeByOptionId(optionId) { 11850 for (const attributeId in this.optionConfig.attributes) { 11851 const attributeOptions = this.optionConfig.attributes[attributeId].options || []; 11852 if (attributeOptions.find(option => option.id === optionId)) { 11853 return attributeId; 11854 } 11855 } 11856 }, 11857 getAllowedAttributeOptions(attributeId) { 11858 return this.allowedAttributeOptions[attributeId] || [] 11859 }, 11860 getProductIdsForOption(option) { 11861 const attributeId = this.findAttributeByOptionId(option.id); 11862 const allOptions = this.optionConfig.attributes[attributeId]; 11863 const opt = (allOptions && allOptions.options || []).find(o => o.id === option.id); 11864 return opt && opt.products 11865 ? opt.products 11866 : []; 11867 }, 11868 findProductIdsForPartialSelection(optionSelection) { 11869 const candidateProducts = Object.values(optionSelection).reduce((candidates, optionId) => { 11870 const newCandidates = this.getProductIdsForOption({id: optionId}); 11871 return candidates === null 11872 ? newCandidates 11873 : candidates.filter(productId => newCandidates.includes(productId)); 11874 }, null); 11875 return candidateProducts || []; 11876 },
11877 findCheapestProductForPartialSelection(optionSelection) { 11878 const candidateProducts = this.findProductIdsForPartialSelection(optionSelection); 11879 return candidateProducts.reduce((cheapest, simpleIdx) => { 11880 // in the first iteration we start with simpleIdx as the currently cheapest product 11881 if (! this.optionConfig.optionPrices[cheapest]) return simpleIdx; 11882 const knownCheapestPrice = this.optionConfig.optionPrices[cheapest].finalPrice.amount; 11883 return knownCheapestPrice > this.optionConfig.optionPrices[simpleIdx].finalPrice.amount 11884 ? simpleIdx 11885 : cheapest; 11886 }, 0) 11887 }, 11888 findProductIdToUseForOptionPrice(option) { 11889 // try to find a product for a complete selection 11890 const attributeId = this.findAttributeByOptionId(option.id); 11891 const optionSelection = Object.assign({}, this.selectedValues, {[attributeId]: option.id}); 11892 const matchingSimpleIndex = this.calculateSimpleIndexForFullSelection(optionSelection); 11893 // if there is no complete selection, use the cheapest product for the option 11894 return matchingSimpleIndex || this.findCheapestProductForPartialSelection(optionSelection); 11895 }, 11896 getAttributeOptionLabel(option) { 11897 const optionProduct = this.findProductIdToUseForOptionPrice(option); 11898 if ((! optionProduct) || (optionProduct === this.productIndex)) { 11899 return option.label; 11900 } 11901 11902 const currentPrice = this.getOptionPriceAdjustmentBasePrice(); 11903 11904 if (this.optionConfig.optionPrices[optionProduct]) { 11905 const optionPrice = this.optionConfig.optionPrices[optionProduct].finalPrice.amount; 11906 if (optionPrice !== currentPrice){ 11907 return option.label + ' ' + hyva.formatPrice(optionPrice - currentPrice, true); 11908 } 11909 } 11910 return option.label; 11911 }, 11912 getOptionPriceAdjustmentBasePrice() { 11913 if (this.optionConfig.optionPrices[this.productIndex]) { 11914 return this.optionConfig.optionPrices[this.productIndex].finalPrice.amount 11915 } 11916 const cheapestForSelection = this.findCheapestProductForPartialSelection(this.selectedValues); 11917 return this.optionConfig.optionPrices[cheapestForSelection] 11918 ? this.optionConfig.optionPrices[cheapestForSelection].finalPrice.amount 11919 : this.optionConfig.prices.finalPrice.amount; // default price if no option selection 11920 }, 11921 clearOptionIfActive(optionId, value) { 11922 if (this.selectedValues[optionId] === value) { 11923 this.blurLabel() 11924 this.changeOption(optionId, '') 11925 } 11926 }, 11927 removeAttrFromSelection(selectedValues, attributeId) { 11928 attributeId = parseInt(attributeId); 11929 return selectedValues.reduce((newSelection, val, attr) => { 11930 if (attr !== attributeId) { 11931 newSelection[attr] = val; 11932 } 11933 return newSelection; 11934 }, []); 11935 }, 11936 changeOption(attributeId, value) { 11937 if (value === '') { 11938 this.selectedValues = this.removeAttrFromSelection(this.selectedValues, attributeId) 11939 } else if (value && this.getAllowedAttributeOptions(attributeId).find(option => option.id === value)) { 11940 this.selectedValues[attributeId] = value; 11941 } 11942 this.findSimpleIndex(); 11943 this.findAllowedAttributeOptions(); 11944 this.updatePrices(); 11945 this.updateGallery(); 11946 window.dispatchEvent( 11947 new CustomEvent( 11948 'configurable-selection-changed', 11949 { 11950 detail: { 11951 productId: this.productId, 11952 optionId: attributeId, 11953 value: value, 11954 productIndex: this.productIndex, 11955 selectedValues: this.selectedValues, 11956 candidates: this.findProductIdsForPartialSelection(this.selectedValues), 11957 } 11958 } 11959 ) 11960 ); 11961 }, 11962 calculateIsMinimalPrice() { 11963 return ( 11964 this.selectedValues.filter(value => !!value).length < 11965 Object.keys(this.optionConfig.attributes).length 11966 ); 11967 }, 11968 updatePrices() { 11969 const value = this.productIndex ? 11970 this.optionConfig.optionPrices[this.productIndex] : 11971 this.optionConfig.prices; 11972 window.dispatchEvent( 11973 new CustomEvent( 11974 "update-prices-" + this.productId, 11975 { 11976 detail: Object.assign( 11977 value, 11978 { isMinimalPrice: this.calculateIsMinimalPrice() } 11979 ) 11980 } 11981 ) 11982 ); 11983 }, 11984 updateGallery () { 11985 if (this.productIndex) { 11986 const images = this.optionConfig.images[this.productIndex]; 11987 images && window.dispatchEvent(new CustomEvent( 11988 "update-gallery", 11989 { detail: this.sortImagesByPosition(images) } 11990 )); 11991 } else { 11992 window.dispatchEvent(new Event("reset-gallery")); 11993 } 11994 }, 11995 sortImagesByPosition(images) { 11996 return images.sort((x, y) => { 11997 return x.position === y.position ? 0 : (parseInt(x.position) > parseInt(y.position) ? 1 : -1) 11998 }); 11999 }, 12000 onGetCartData(data) { 12001 }, 12002 preselectCartItems(data) { 12003 // pre-select options based on cart data for current (quote) itemId 12004 const cart = data && data.cart; 12005 if (cart && cart.items) { 12006 const cartItem = cart.items.find((item) => { 12007 return ( 12008 item.item_id === this.itemId 12009 && item.product_id === this.productId 12010 ) 12011 }); 12012 if (cartItem && cartItem.options && cartItem.options.length) { 12013 cartItem.options.map(option => { 12014 this.changeOption(option.option_id, option.option_value); 12015 }) 12016 } 12017 } 12018 }, 12019 preselectQuerystringItems() { 12020 // pre-select option like ?size=167 12021 const urlQueryParams = new URLSearchParams(window.location.search.replace('?','')); 12022 this.preselectItemsBasedOnLocation(attribute => urlQueryParams.get(attribute.code)); 12023 }, 12024 preselectLocationHashItems() { 12025 // pre-select option like #144=167 12026 const urlHashParams = new URLSearchParams(window.location.hash.replace('#','')); 12027 this.preselectItemsBasedOnLocation(attribute => urlHashParams.get(attribute.id)); 12028 }, 12029 preselectItemsBasedOnLocation(getLocationValue) { 12030 Object.values(this.optionConfig.attributes).map(attribute => { 12031 this.changeOption(attribute.id, getLocationValue(attribute)) 12032 }); 12033 } 12034 } 12035 } 12036 12037</script>
vendor: 1 bytes, line 12037
12037
12038<script> 12039 function initSwatchOptions(swatchConfig) { 12040 return { 12041 swatchConfig, 12042 getAttributeSwatchData(attributeId) { 12043 const swatchConfig = Object.assign({}, this.swatchConfig[attributeId]); 12044 swatchConfig['details'] = JSON.parse(swatchConfig['additional_data']); 12045 12046 return swatchConfig; 12047 }, 12048 getAllAttributeOptions(attributeId) { 12049 return ( 12050 this.optionConfig.attributes[attributeId] && 12051 this.optionConfig.attributes[attributeId].options 12052 ) || [] 12053 }, 12054 optionIsActive(attributeId, optionId) { 12055 // return true if a product with this option is in stock 12056 return !!this.getAllowedAttributeOptions(attributeId).find( 12057 option => option.id === optionId 12058 ) 12059 }, 12060 optionIsEnabled(attributeId, optionId) { 12061 // return true if a product with this option is enabled 12062 for (const productId in this.optionConfig.index) { 12063 if (this.optionConfig.index[productId][attributeId] === optionId) { 12064 return true; 12065 } 12066 } 12067 return false; 12068 }, 12069 mapSwatchTypeNumberToTypeCode(typeNumber) { 12070 switch ("" + typeNumber) { 12071 case "1": 12072 return "color" 12073 case "2": 12074 return "image" 12075 case "3": 12076 return "empty" 12077 case "0": 12078 default: 12079 return "text" 12080 } 12081 }, 12082 getTypeOfFirstOption(attributeId) { 12083 for (const optionId in this.swatchConfig[attributeId]) { 12084 const option = this.swatchConfig[attributeId][optionId]; 12085 if (typeof option.type !== 'undefined') { 12086 return this.mapSwatchTypeNumberToTypeCode(option.type); 12087 } 12088 } 12089 }, 12090 getVisualSwatchType(attributeId, targetOptionId) { 12091 // If a type configuration is present for the given option id, use it 12092 const config = this.swatchConfig[attributeId]; 12093 if (config[targetOptionId] && typeof config[targetOptionId].type !== 'undefined') { 12094 return this.mapSwatchTypeNumberToTypeCode(config[targetOptionId].type); 12095 } 12096 12097 // Otherwise - if no config is present for the target option - use the type of the first option 12098 // with a type property from the attribute, thus assuming its the same type as the target option. 12099 // (This edge case condition can occur on single swatch products if some options are not salable) 12100 return this.getTypeOfFirstOption(attributeId); 12101 }, 12102 getSwatchType(attributeId, optionId) { 12103 // Deserialize the attribute details the first time they are used 12104 if (this.swatchConfig[attributeId] && ! this.swatchConfig[attributeId].details) { 12105 this.swatchConfig[attributeId] = this.getAttributeSwatchData(attributeId); 12106 } 12107 const type = this.swatchConfig[attributeId] && 12108 this.swatchConfig[attributeId].details && 12109 this.swatchConfig[attributeId].details.swatch_input_type || 12110 "empty"; 12111 return type === 'visual' ? this.getVisualSwatchType(attributeId, optionId) : type; 12112 }, 12113 isTextSwatch(attributeId, optionId) { 12114 return this.getSwatchType(attributeId, optionId) === 'text'; 12115 }, 12116 isVisualSwatch(attributeId, optionId) { 12117 const type = this.getSwatchType(attributeId, optionId); 12118 12119 return ['image', 'color'].includes(type); 12120 }, 12121 getSwatchBackgroundStyle(attributeId, optionId) {
12122 const config = this.getSwatchConfig(attributeId, optionId); 12123 const type = this.getSwatchType(attributeId, optionId); 12124 12125 if (type === "color") { 12126 return 'background-color:' + config.value; 12127 } else if (type === "image") { 12128 return "background: #ffffff url('" + config.value + "') no-repeat center"; 12129 } else { 12130 return ''; 12131 } 12132 }, 12133 getSwatchText(attributeId, optionId) { 12134 const config = this.getSwatchConfig(attributeId, optionId); 12135 return config.label || config.value || this.getOptionLabelFromOptionConfig(attributeId, optionId); 12136 }, 12137 getOptionLabelFromOptionConfig(attributeId, optionId) { 12138 // Fallback if no value is present in swatchConfig data 12139 // Reference issue https://gitlab.hyva.io/hyva-themes/magento2-default-theme/-/issues/190 12140 const option = this.getAllAttributeOptions(attributeId).filter(option => option.id === optionId); 12141 return option && option[0] && option[0].label ||''; 12142 }, 12143 getSwatchConfig(attributeId, optionId) { 12144 return this.swatchConfig[attributeId] && this.swatchConfig[attributeId][optionId] 12145 ? this.swatchConfig[attributeId][optionId] 12146 : false; 12147 }, 12148 activeTooltipItem: false, 12149 tooltipPositionElement: false, 12150 isTooltipVisible() { 12151 return this.activeTooltipItem &&
12152 this.getSwatchConfig( 12153 this.activeTooltipItem.attribute, 12154 this.activeTooltipItem.item 12155 ); 12156 }, 12157 isFirstItemCol() { 12158 return this.activeTooltipItem.index === 0; 12159 }, 12160 getTooltipImageStyle(attributeId, optionId) { 12161 const config = this.getSwatchConfig(attributeId, optionId); 12162 const type = this.getSwatchType(attributeId, optionId); 12163 12164 if (type === "color") { 12165 return 'background-color:' + config.value + '; width: 110px; height: 90px;'; 12166 } else if (type === "image") { 12167 return "background: #ffffff url('" + config.thumb + 12168 "') center center no-repeat; width: 110px; height: 90px;"; 12169 } else { 12170 return 'display:none'; 12171 } 12172 }, 12173 getTooltipPosition() { 12174 return this.tooltipPositionElement ? 12175 `top: ${this.tooltipPositionElement.offsetTop}px;` + 12176 `left: ${ 12177 this.tooltipPositionElement.offsetLeft - ( 12178 this.tooltipPositionElement.closest('.snap') && 12179 this.tooltipPositionElement.closest('.snap').scrollLeft || 12180 0 12181 ) 12182 }px;` : '' 12183 }, 12184 getTooltipLabel() { 12185 return this.getSwatchConfig(this.activeTooltipItem.attribute, this.activeTooltipItem.item).label 12186 }, 12187 focusedLabel: false, 12188 focusLabel(optionId) { 12189 this.focusedLabel = optionId; 12190 }, 12191 blurLabel() { 12192 this.focusedLabel = false; 12193 }, 12194 showSwatches: false, 12195 initShowSwatchesIntersect() { 12196 if ('IntersectionObserver' in window && !window.scrollY) { 12197 let io = new IntersectionObserver( 12198 entries => { 12199 entries.map(entry => { 12200 if (entry.isIntersecting) { 12201 this.showSwatches = true; 12202 io.unobserve(this.$root); 12203 } 12204 }) 12205 } 12206 ); 12207 io.observe(this.$root); 12208 } else { 12209 this.showSwatches = true 12210 } 12211 } 12212 } 12213 } 12214</script>
vendor: 1 bytes, line 12214
12214
12215<script> 12216 'use strict'; 12217 12218 const grecaptchaV2LoadCallbacks = []; 12219 12220 function executeRecaptchaLoadCallbacks () { 12221 while (window.grecaptcha && grecaptchaV2LoadCallbacks.length > 0) { 12222 const callback = grecaptchaV2LoadCallbacks.pop(); 12223 typeof callback === 'string' ? window[callback]() : callback(); 12224 } 12225 } 12226 12227 (function() { 12228 const loadRecaptchaScript = (event) => { 12229 12230 if (window.grecaptcha || !event.target.form) { 12231 return; 12232 } 12233 12234 const url = 'https://www.google.com/recaptcha/api.js?onload=executeRecaptchaLoadCallbacks'; 12235 const siteKey = ''; 12236 const script = document.createElement('script'); 12237 script.type = 'text/javascript'; 12238 script.src = siteKey ? `${url}&render=${siteKey}` : `${url}&render=explicit`; 12239 script.async = true; 12240 document.head.appendChild(script); 12241 12242 script.addEventListener('load', () => { 12243 Array.from(document.querySelectorAll('button[data-recaptcha-btn]:disabled')).forEach(btn => btn.removeAttribute('disabled')); 12244 }); 12245 } 12246 12247 window.forceLoadRecaptchaScript = (form) => { 12248 loadRecaptchaScript({target: {form: form || 'dummy'}}); 12249 executeRecaptchaLoadCallbacks(); 12250 }; 12251 12252 document.body.addEventListener('input', loadRecaptchaScript, { once: true }); 12253 document.body.addEventListener('focus', loadRecaptchaScript, { once: true }); 12254 12255 }()); 12256 12257</script>
vendor: 1 bytes, line 12257
12257
12258<script> (function () { 12259 var s = document.createElement('script'); 12260 var h = document.querySelector('head') || document.body; 12261 s.src = 'https://acsbapp.com/apps/app/dist/js/app.js'; 12262 s.async = true; 12263 s.defer = true; 12264 s.onload = function () { 12265 acsbJS.init({ 12266 statementLink: '', 12267 footerHtml: '', 12268 hideMobile: false, 12269 hideTrigger: false, 12270 disableBgProcess: false, 12271 language: 'de', 12272 position: 'right', 12273 leadColor: '#00a57e', 12274 triggerColor: '#00a57e', 12275 triggerRadius: '50%', 12276 triggerPositionX: 'right', 12277 triggerPositionY: 'bottom', 12278 triggerIcon: 'people', 12279 triggerSize: 'medium', 12280 triggerOffsetX: 20, 12281 triggerOffsetY: 20, 12282 mobile: { 12283 triggerSize: 'small', 12284 triggerPositionX: 'right', 12285 triggerPositionY: 'center', 12286 triggerOffsetX: 10, 12287 triggerOffsetY: 0, 12288 triggerRadius: '50%' 12289 } 12290 }); 12291 }; 12292 h.appendChild(s); 12293 })(); </script>
12293 12294<div class="acsb-custom-trigger" id="acsb-custom-trigger">
12295<script>if(localStorage.getItem('acsb-trigger-hidden')==='1'){document.getElementById('acsb-custom-trigger').classList.add('acsb-custom-trigger--hidden')}</script>
12295 12296 <button class="acsb-custom-trigger__open" 12297 data-acsb-custom-trigger="true" 12298 aria-label="Open accessibility menu"> 12299 <svg fill="currentColor" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 100 131.3" aria-hidden="true"> 12300 <path d="M71.6 131.3c1 0 2.1-.3 3.1-.8 3.9-1.8 5.5-6.2 3.6-10.1 0 0-14.3-32.7-16.9-44.7-1-4.2-1.6-15.3-1.8-20.5 0-1.8 1-3.4 2.6-3.9l32-9.6c3.9-1 6.2-5.5 5.2-9.4-1-3.9-5.5-6.2-9.4-5.2 0 0-29.6 9.6-40.3 9.6-10.4 0-39.8-9.4-39.8-9.4-3.9-1-8.3.8-9.6 4.7-1.3 4.2 1 8.6 5.2 9.6l32 9.6c1.6.5 2.9 2.1 2.6 3.9-.3 5.2-.8 16.4-1.8 20.5-2.6 12-16.9 44.7-16.9 44.7-1.8 3.9 0 8.3 3.6 10.1 1 .5 2.1.8 3.1.8 2.9 0 5.7-1.6 6.8-4.4l15.3-31.2L64.8 127c1.3 2.7 3.9 4.3 6.8 4.3z"/> 12301 <circle cx="50.3" cy="14.6" r="14.6"/> 12302 </svg> 12303 </button> 12304 <span class="acsb-custom-trigger__divider"></span> 12305 <button class="acsb-custom-trigger__close" 12306 aria-label="Hide accessibility button" 12307 onclick="localStorage.setItem('acsb-trigger-hidden','1');document.getElementById('acsb-custom-trigger').classList.add('acsb-custom-trigger--hidden')"> 12308 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.5" stroke-linecap="round" aria-hidden="true"> 12309 <line x1="4" y1="4" x2="20" y2="20"/><line x1="20" y1="4" x2="4" y2="20"/> 12310 </svg> 12311 </button> 12312</div>
12313<script> 12314 'use strict'; 12315 12316 (function () { 12317 const modals = []; 12318 const excludedFromFocusTrapping = new Set(); 12319 12320 function trapFocusInNextModalWithOverlay() { 12321 for (let idx = modals.length -1; idx >= 0; idx--) { 12322 const nextOnStack = modals[idx]; 12323 const nextDialogElement = nextOnStack.instance.$refs[nextOnStack.name]; 12324 if (! isOverlayDisabled(nextDialogElement)) { 12325 hyva.trapFocus(nextDialogElement); 12326 break; 12327 } 12328 } 12329 } 12330 12331 function focusables(dialogElement) { 12332 const selector = 'button, [href], input, textarea, select, details, [tabindex]:not([tabindex="-1"])'; 12333 return Array.from(dialogElement.querySelectorAll(selector)) 12334 .filter(el => !el.hasAttribute('disabled')); 12335 } 12336 12337 function firstVisible(elements) { 12338 const a = Array.from(elements); 12339 for (let i = 0; i < a.length; i++) { 12340 if (a[i].offsetWidth || a[i].offsetHeight || a[i].getClientRects().length) return a[i]; 12341 } 12342 return null; 12343 } 12344 12345 function isInViewport(element) { 12346 const rect = element && element.getBoundingClientRect(); 12347 return rect && 12348 rect.top >= 0 && 12349 rect.left >= 0 && 12350 rect.right <= window.innerWidth && 12351 rect.bottom <= window.innerHeight; 12352 } 12353 12354 function setFocusAfterTransition(dialogElement, duration) { 12355 const nested = Array.from(dialogElement.querySelectorAll('[role="dialog"]')); 12356 const candidates = Array.from(dialogElement.querySelectorAll('[x-focus-first]')); 12357 next: for (let candidate of candidates) { 12358 for (let child of nested) { 12359 if (child.contains(candidate)) continue next; 12360 } 12361 setTimeout(() => candidate.focus(), 50); 12362 break; 12363 } 12364 window.setTimeout(() => { 12365 const focusElement = firstVisible(dialogElement.querySelectorAll('[x-focus-first]')) || 12366 focusables(dialogElement)[0] || 12367 null; 12368 focusElement && isInViewport(focusElement) && focusElement.focus(); 12369 }, Math.max(1, duration)); 12370 } 12371 12372 function determineTrigger($refs, dialog, trigger) { 12373 if (typeof trigger === 'undefined' && typeof dialog === 'object' && dialog.target instanceof HTMLElement) { 12374 return dialog.target; 12375 } 12376 if (typeof dialog === 'string' && typeof trigger === 'object' && trigger.target instanceof HTMLElement) { 12377 return trigger.target; 12378 } 12379 if (typeof trigger === 'string') { 12380 try { 12381 return $refs[trigger] || document.querySelector(trigger) 12382 } catch (e) {} 12383 } 12384 if (trigger instanceof Element) { 12385 return trigger; 12386 } 12387 12388 return null; 12389 } 12390 12391 function isOverlayDisabled(dialog) { 12392 return dialog && dialog.hasAttribute('x-no-overlay') 12393 } 12394 12395 function areRemainingModalsWithoutOverlay(modals) 12396 { 12397 const overflowDisabled = modals.map(modal => modal.instance.$refs[modal.name]).filter(isOverlayDisabled); 12398 12399 return overflowDisabled.length === modals.length; 12400 } 12401 12402 window.hyva.modal = function(options) { 12403 12404 const config = Object.assign({ 12405 dialog: 'dialog', duration: 300, transitionEnter: 'transition ease-out duration-300', 12406 transitionEnterStart: 'opacity-0', 12407 transitionEnterEnd: 'opacity-100', 12408 transitionLeave: 'transition ease-in duration-300', 12409 transitionLeaveStart: 'opacity-100', 12410 transitionLeaveEnd: 'opacity-0', 12411 }, options); 12412 let lastHide = 0; 12413 12414 return { 12415 opened: {}, 12416 show(dialog, trigger) { 12417 const focusTargetAfterHide = determineTrigger(this.$refs, dialog, trigger); 12418 const name = typeof dialog === 'string' ? dialog : config.dialog; 12419 const dialogElement = this.$refs[name]; 12420 if (! dialogElement) { 12421 return; 12422 } 12423 const useOverlay = ! dialogElement.hasAttribute('x-no-overlay'); 12424 12425 dialogElement.scrollTop = 0; 12426 12427 if (this.opened[name]) { 12428 return; 12429 } 12430 12431 if (focusTargetAfterHide) { 12432 focusTargetAfterHide.setAttribute('aria-expanded', 'true'); 12433 } 12434 12435 this.opened[name] = true; 12436 useOverlay && this.$nextTick(() => hyva.trapFocus(dialogElement)); 12437 setFocusAfterTransition(dialogElement, config.duration); 12438 12439 const frame = {name, instance: this, focusTarget: focu
12439sTargetAfterHide, time: Date.now()}; 12440 12441 modals.push(frame); 12442 if (useOverlay) { 12443 document.body.classList.add('overflow-hidden'); 12444 } 12445 return new Promise(resolve => frame.resolve = resolve); 12446 }, 12447 cancel() { 12448 this.hide(false); 12449 }, 12450 ok() { 12451 this.hide(true); 12452 }, 12453 hide(value) { 12454 if (Date.now() - lastHide < config.duration) { 12455 return; 12456 } 12457 lastHide = Date.now(); 12458 12459 const modal = modals.pop() || {}; 12460 const name = modal.name; 12461 this.opened[name] = false; 12462 hyva.releaseFocus(modal.instance.$refs[modal.name]) 12463 trapFocusInNextModalWithOverlay(); 12464 12465 const nextFocusAfterHide = modal.focusTarget; 12466 nextFocusAfterHide && setTimeout(() => { 12467 nextFocusAfterHide.setAttribute('aria-expanded', 'false'); 12468 nextFocusAfterHide.focus() 12469 }, config.duration); 12470 12471 if (modals.length === 0 || areRemainingModalsWithoutOverlay(modals)) { 12472 document.body.classList.remove('overflow-hidden'); 12473 } 12474 12475 modal.resolve(value); 12476 }, 12477 overlay(dialog) { 12478 const name = typeof dialog === 'string' ? dialog : config.dialog; 12479 return { 12480 ['x-show']() { 12481 return this.opened[name] 12482 }, 12483 ['x-transition:enter']: config.transitionEnter, 12484 ['x-transition:enter-start']: config.transitionEnterStart, 12485 ['x-transition:enter-end']: config.transitionEnterEnd, 12486 ['x-transition:leave']: config.transitionLeave, 12487 ['x-transition:leave-start']: config.transitionLeaveStart, 12488 ['x-transition:leave-end']: config.transitionLeaveEnd, 12489 ['@hyva-modal-show.window'](event) { 12490 event.detail && event.detail.dialog === name && this.show(name, event.detail.focusAfterHide) 12491 } 12492 }; 12493 } 12494 }; 12495 } 12496 12497 window.hyva.modal.peek = () => modals.length > 0 && modals[modals.length -1] 12498 12499 window.hyva.modal.pop = function () { 12500 if (modals.length > 0) { 12501 const modal = modals[modals.length -1]; 12502 modal.instance.hide(); 12503 } 12504 } 12505 12506 window.hyva.modal.excludeSelectorsFromFocusTrap = function (selectors) { 12507 typeof selectors === 'string' || selectors instanceof String 12508 ? excludedFromFocusTrapping.add(selectors) 12509 : selectors.map(selector => excludedFromFocusTrapping.add(selector)); 12510 } 12511 12512 window.hyva.modal.eventListeners = { 12513 keydown: event => { 12514 if (event.key === 'Escape') { 12515 window.hyva.modal.pop(); 12516 } 12517 }, 12518 click: event => { 12519 if (modals.length > 0) { 12520 const modal = modals[modals.length -1]; 12521 const dialog = modal.instance.$refs[modal.name]; 12522 if (modal.time + 50 < Date.now() && // if last click processing is more than 50ms ago 12523 ! isOverlayDisabled(dialog) && // if dialog has overlay 12524 ! dialog.contains(event.target)) { // if click is outside of dialog 12525 modal.instance.hide(); 12526 } 12527 } 12528 } 12529 }; 12530 12531 document.addEventListener('keydown', window.hyva.modal.eventListeners.keydown); 12532 12533 document.addEventListener('click', window.hyva.modal.eventListeners.click); 12534 })(); 12535</script>
12535 12536
12537<script> 12538 'use strict'; 12539 (() => { 12540 function _calculateStrength({elementID, valid}) { 12541 const password = document.getElementById(elementID), 12542 emailElm = document.getElementById('email_address'); 12543 let displayScore; 12544 // Display score is based on combination of whether password is empty, valid, and zxcvbn strength 12545 if (!password || !password.value) { 12546 displayScore = 0; 12547 } else { 12548 // We should only perform this check in case there is an email field on screen 12549 if (emailElm && password.value && emailElm.value && 12550 password.value.toLowerCase() === emailElm.value.toLowerCase()) { 12551 displayScore = 1; 12552 } else { 12553 const zxcvbnScore = zxcvbn(password.value).score; 12554 displayScore = valid && zxcvbnScore > 0 ? zxcvbnScore : 1; 12555 } 12556 } 12557 12558 _displayStrength(displayScore); 12559 } 12560 12561 function _displayStrength(displayScore) { 12562 let strengthLabel = '', 12563 className; 12564 12565 switch (displayScore) { 12566 case 0: 12567 strengthLabel = "Kein\u0020Passwort"; 12568 className = 'password-none'; 12569 break; 12570 12571 case 1: 12572 strengthLabel = "Schwach"; 12573 className = 'password-weak'; 12574 break; 12575 12576 case 2: 12577 strengthLabel = "Mittel"; 12578 className = 'password-medium'; 12579 break; 12580 12581 case 3: 12582 strengthLabel = "Sicher"; 12583 className = 'password-strong'; 12584 break; 12585 12586 case 4: 12587 strengthLabel = "Sehr\u0020sicher"; 12588 className = 'password-very-strong'; 12589 break; 12590 } 12591 const meterElm = document.getElementById('password-strength-meter-container'), 12592 meterLabelElm = document.getElementById('password-strength-meter-label'); 12593 meterElm.className = ''; 12594 meterElm.classList.add(className); 12595 meterLabelElm.textContent = strengthLabel; 12596 } 12597 12598 let loading = false; 12599 const callbacks = []; 12600 12601 function loadZxcvbn(cb) { 12602 callbacks.push(cb); 12603 if (loading) return; 12604 loading = true; 12605 12606 const script = document.createElement('script'); 12607 script.type = 'text/javascript'; 12608 script.src = 'https\u003A\u002F\u002Fwww.justspices.de\u002Fstatic\u002Fversion1790005904\u002Ffrontend\u002FJustspices\u002Frelaunch\u002Fde_DE\u002Fjs\u002Fzxcvbn.js'; 12609 script.async = true; 12610 script.onload = () => callbacks.forEach(cb => cb()); 12611 document.head.appendChild(script); 12612 } 12613 12614 window.addEventListener('password-validate', function (evt) { 12615 const meterElm = document.getElementById('password-strength-meter-container'), 12616 meterLabelElm = document.getElementById('password-strength-meter-label'); 12617 if (meterElm && meterLabelElm) { 12618 if (evt.detail && evt.detail.elementID) { 12619 const cb = () => _calculateStrength(evt.detail); 12620 window.zxcvbn ? cb() : loadZxcvbn(cb) 12621 } 12622 } 12623 }); 12624 12625 12626 document.addEventListener('DOMContentLoaded', () => { 12627 hyva && hyva.formValidation && hyva.formValidation.addRule('password-strength', function(value, options, field, context) { 12628 let counter = 0; 12629 const minCharacterSets = options.minCharacterSets !== undefined ? options.minCharacterSets : 1; 12630 if (value.match(/\d+/)) { 12631 counter++; 12632 } 12633 12634 if (value.match(/[a-z]+/)) { 12635 counter++; 12636 } 12637 12638 if (value.match(/[A-Z]+/)) { 12639 counter++; 12640 } 12641 12642 if (value.match(/[^a-zA-Z0-9]+/)) { 12643 counter++; 12644 } 12645 12646 queueMicrotask(() => { 12647 window.dispatchEvent(new CustomEvent('password-validate', { detail: {
12648 elementID: field.element.id || 'password', 12649 valid: field.state.valid 12650 }})); 12651 }); 12652 12653 if (counter < minCharacterSets) { 12654 const missing = minCharacterSets - counter; 12655 return hyva.str('Das\u0020Kennwort\u0020muss\u0020mindestens\u0020\u00251\u0020der\u0020folgenden\u0020Buchstaben\u0020enthalten\u003A\u0020Gro\u00DFbuchstaben\u0020\u0028A\u2013Z\u0029,\u0020Kleinbuchstaben\u0020\u0028a\u2013z\u0029,\u0020Zahlen\u0020und\u0020Sonderzeichen.', missing); 12656 } 12657 return true; 12658 }); 12659 }) 12660 })(); 12661 12662</script>
vendor: 1 bytes, line 12662
12662
12663<script type="application/json" id="default-section-data"> 12664 {"messages":[],"customer":[],"compare-products":[],"last-ordered-items":[],"cart":[],"directory-data":{"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"}}},"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"}}},"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"}}},"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"}
12664,"179":{"code":"Vizcaya","name":"Vizcaya"},"180":{"code":"Zamora","name":"Zamora"},"181":{"code":"Zaragoza","name":"Zaragoza"}}},"IT":{"name":"Italien"},"NL":{"name":"Niederlande"},"data_id":1790877861},"instant-purchase":[],"loggedAsCustomer":[],"captcha":[],"persistent":[],"review":[],"wishlist":{"items":[]},"ammessages":[],"rewards":[],"recently_viewed_product":[],"recently_compared_product":[],"product_data_storage":[],"paypal-billing-agreement":[]}</script>
12664 12665<div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><div class="widget block block-static-block"> 12666 <div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true">
12666<script> 12667 if (window.innerWidth < 1024) { 12668 window.dataLayer = window.dataLayer || []; 12669 12670 if (typeof hyva !== "undefined" && hyva !== null) { 12671 let abtest_name = 'abtest_navigation_more_categories_mobile'; 12672 let customerVariation = hyva.getCookie(abtest_name); 12673 12674 if (typeof customerVariation !== "undefined" && customerVariation !== null) { 12675 window.addEventListener('load', () => { 12676 dataLayer.push({ 12677 'event': 'ga4Event', 12678 'eventName': 'abtest', 12679 'eventCategory': abtest_name, 12680 'eventAction': 'init', 12681 'eventLabel': 'v' + customerVariation 12682 }); 12683 }); 12684 12685 // Navigation click tracking â mobile only 12686 12687 document.querySelectorAll('.navigation-wrapper .navigation-container a').forEach(link => { 12688 link.addEventListener('click', function () { 12689 const navLevel = getNavDepth(this); 12690 const parentCategory = getParentCategory(this); 12691 const destination = this.textContent?.trim(); 12692 12693 dataLayer.push({ 12694 'event': 'ga4Event', 12695 'eventName': 'abtest', 12696 'eventCategory': abtest_name, 12697 'eventAction': 'nav_click', 12698 'eventLabel': 'level ' + navLevel + ' | ' + 'parent ' + parentCategory + ' | ' + 'destination ' + destination, 12699 }); 12700 }); 12701 }); 12702 12703 if (customerVariation == 1) { 12704 jQuery(document).ready(function ($) { 12705 12706 }); 12707 } 12708 } 12709 } 12710 } 12711 12712 // Count nested <ul> ancestors to determine nav depth 12713 // Level 1: #first-layer > li > a (main categories: Gewürze, Sets, ...) 12714 // Level 2: #first-layer > li > ul > li > a (subcategories: Alle Gewürzmischungen, ...) 12715 // Level 3: deeper nested ul > li > a (category pages: Indisch, Kartoffeln, ...) 12716 function getNavDepth(element) { 12717 let depth = 0; 12718 let el = element; 12719 while (el) { 12720 if (el.tagName === 'UL') depth++; 12721 if (el.id === 'first-layer') break; 12722 el = el.parentElement; 12723 } 12724 return depth; 12725 } 12726 12727 // Get the level 1 parent category name (e.g. "Gewürze" when clicking "Indisch") 12728 function getParentCategory(element) { 12729 // Walk up to the top-level <li> (direct child of #first-layer) 12730 let el = element; 12731 while (el && el.parentElement && el.parentElement.id !== 'first-layer') { 12732 el = el.parentElement; 12733 } 12734 // el is now the top-level <li>, get its first <a> text 12735 if (el && el.tagName === 'LI') { 12736 const firstLink = el.querySelector(':scope > a'); 12737 return firstLink ? firstLink.textContent.trim() : ''; 12738 } 12739 return ''; 12740 } 12741</script>
12741</div></div> 12742</div></div></body> 12743</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.