1<!doctype html> 2<html lang="de"> 3<head > 4 <meta charset="utf-8"/>
4<script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"1120159695",accountID:"3770366",trustKey:"1322840",xpid:"VwEAUVVVDhABVFBRBQkHUl0A",licenseKey:"NRJS-347d3647e7c3803f539",applicationID:"1013280491",browserID:"1120159695"};;/*! For license information please see nr-loader-spa-1.322.0.min.js.LICENSE.txt */ 5(()=>{var e={8122(e,t,r){"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),s=0===Object.keys(r).length?e:r;for(let a in s)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):e[a]instanceof Map||e[a]instanceof Set||e[a]instanceof Date||e[a]instanceof RegExp?r[a]=e[a]:"object"==typeof e[a]&&null!==t[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){r[a]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){"use strict";r.d(t,{f:()=>a});var n=r(384),i=r(8122);const s={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function a(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}r.d(t,["D",0,e=>(0,i.a)(e,s)])},7699(e,t,r){"use strict";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,["It",0,1e6,"KC",0,i,"qh",0,"SESSION_ERROR"])},9324(e,t,r){"use strict";r.d(t,["A",0,"@newrelic/rrweb","x",0,"1.322.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},9752(e,t,r){"use strict";const n="newrelic-iframe-",i=n+"timing-update",s=n+"api",a=n+"api-response",o=n+"vitals-update",c=n+"ajax";r.d(t,["$8",0,o,"Gi",0,a,"KU",0,c,"Pl",0,n,"cS",0,s,"cr",0,i])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,s="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),o=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)();r.d(t,["OF",0,d,"RI",0,i,"WN",0,f,"bv",0,s,"gm",0,a,"lR",0,l,"m",0,c,"mw",0,o,"sb",0,u,"zk",0,()=>{const e=a?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<a.performance.now())return e}])},7295(e,t,r){"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>s});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;if("*"===n[0].hostname)return!1;for(var t=0;t<n.length;t++){var r=n[t];if(r.hostname.test(e.hostname)&&r.pathname.test(e.pathname))return!1}return!0}function s(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;if("*"===r)return void(n=[{hostname:"*"}]);0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let s,a;i>0?(s=r.substring(0,i),a=r.substring(i)):(s=r,a="*");let[c]=s.split(":");n.push({hostname:o(c),pathname:o(a,!0)})}}function o(e,t=!1){const r=e.replace(/[.+?^${}()|[\]\\]/g,e=>"\\"+e).replace(/\*/g,".*?");return new RegExp((t?"^":"")+r+"$")}},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>d,x3:()=>c});var n=r(3241),i=r(3606),s=r(860),a=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};
5e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&u(e))}function d(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,u(e)}}function u(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const s=e.ee,o=i.i.handlers;if(s&&!s.aborted&&s.backlog&&o){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=s.backlog[t],r=o[t];if(r){for(let t=0;e&&t<e.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=>{Object.values(t||{}).forEach(t=>{t[0]?.on&&t[0].context()instanceof a.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}s.isolatedBacklog||delete o[t],s.backlog[t]=null,s.emit("drain-"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],s=e[2];n.apply(i,s)}})}},7836(e,t,r){"use strict";var n=r(384),i=r(8990),s=r(2646),a=r(5607);const o="nr@context:".concat(a.W),c=function e(t,r){var n={},a={},u={},l=!1;try{l=16===r.length&&d.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,s){!1!==s&&(s=!0);if(c.aborted&&!i)return;t&&s&&t.emit(e,r,n);var o=h(n);g(e).forEach(e=>{e.apply(o,r)});var d=v()[a[e]];d&&d.push([f,e,r,o]);return o},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=>{a[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=>{delete f.backlog[e]})},isBuffering:function(e){return!!v()[a[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof s.y?e:e?(0,i.I)(e,o,()=>new s.y(o)):new s.y(o)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=c),r.d(t,["P",0,o,"ee",0,c])},2646(e,t,r){"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908(e,t,r){"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,s){s?(s.buffer([e],i),s.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(9908);s.on=a;var i=s.handlers={};function s(e,t,r,s){a(s||n.d,i,e,t,r)}function a(e,t,r,i,s){s||(s="feature"),e||(e=n.d);var a=t[s]=t[s]||{};(a[r]=a[r]||[]).push([e,i])}},3878(e,t,r){"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function s(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>s,jT:()=>n,sp:()=>i})},5607(e,t,r){"use strict";const n=(0,r(9566).bz)();r.d(t,["W",0,n])},9566(e,t,r){"use strict";r.d(t,{LA:()=>a,ZF:()=>o,bz:()=>s,el:()=>c});var n=r(6154);function i(e,t){return e?15&e[t]:16*Math.random()|0}function s(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split("").map(e=>"x"===e?i(t,r++).toString(16):"y"===e?(3&i()|8).toString(16):e).join("")}function a(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,s=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var o=0;o<e;o++)a.push(i(r,s++).toString(16));return a.join("")}function o(){return a(16)}function c(){return a(32)}},2614(e,t,r){"use strict";r.d(t,["BB",0,18e5,"Wt",0,"NRBA_SESSION::","g",0,{OFF:0,FULL:1,ERROR:2},"iL",0,{SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},"tS",0,{STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},"wk",0,144e5])},733(e,t,r){"use strict";function n(e,t){return function(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0")}("".concat(String(e),":").concat(String(t)))}r.d(t,{Y:()=>n})},1863(e,t,r){"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},9119(e,t,r){"use strict";r.d(t,{L:()=>s});var n=/([^?#]*)[^#]*(#[^?]*|$).*/,i=/([^?#]*)().*/;function s(e,t){return e?e.replace(t?n:i,"$1$2"):e}},7485(e,t,r){"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},7866(e,t,r){"use strict";r.d(t,["Nc",0,/^\s*at Function code \(Function code:\d+:\d+\)\s*/i,"cn",0,/^\s*(?:([^@]*)(?:\(.*?\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\d+)(?::(\d+))?\s*$/i,"fL",0,/^\s*at .+ \(eval at \S+ \((?:(?:file|http|https):[^)]+)?\)(?:, [^:]*:\d+:\d+)?\)$/i,"h3",0,/function (.+?)\s*\(/,"hB",0,/^\s*at (?:((?:\[object object\])?(?:[^(]*\([^)]*\))*[^()]*(?: \[as \S+\])?) )?\(?((?:file|http|https|chrome-extension):.*?)?:(\d+)(?::(\d+))?\)?\s*$/i])},944(e,t,r){"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(e,t){"function"==typeof console.debug&&(console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},8990(e,t,r){"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389(e,t,r){"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout(()=>{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=>{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},1910(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(944);const i=new Map;function s(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),s=t.includes("nrWrapper");return r||s||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},3304(e,t,r){"use strict";r.d(t,{A:()=>i});var n=r(7836);function i(e){try{return JSON.stringify(e,(()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}})())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},9232(e,t,r){"use strict";r.d(t,["f",0,{MFE:"MFE",BA:"BA"}])},7560(e,t,r){"use strict";r.d(t,{N:()=>a,j:()=>c});var n=r(9119),i=r(944);const s=(0,r(6389).J)(e=>(0,i.R)(80,e));function a(e){if(!Array.isArray(e?.assets)||!e.assets.length)return;
5const t=e.assets.map(o).filter(Boolean);return t.length?{assets:t,scripts:t.filter(e=>e.isScript)}:void 0}function o(e){if(!e||"object"!=typeof e)return;const{matcher:t,type:r}=e;let i="string"==typeof t&&t.endsWith(".js");return void 0!==r&&(!function(e){return"script"===e||"asset"===e}(r)?s(r):i=function(e){return"script"===e}(r)),a=t,"[object RegExp]"===Object.prototype.toString.call(a)?{pattern:t,test:e=>(t.lastIndex=0,t.test((0,n.L)(e))),isScript:i}:"string"==typeof t&&t.length>0?{pattern:t,test:e=>(0,n.L)(e).includes(t),isScript:i}:void s(t);var a}function c(e,t,{scriptsOnly:r=!1}={}){if(!e||!t)return!1;return(r?e.scripts:e.assets).some(e=>e.test(t))}},5718(e,t,r){"use strict";r.d(t,{xo:()=>T,AZ:()=>v,cI:()=>g,Qr:()=>A,QL:()=>y});var n=r(6154),i=r(1863),s=r(9119),a=r(7866);class o{dom=new c;performance=new c;constructor(e){this.url=e,this.claimedBy=new Set}get script(){const e=Math.max(this.dom.start,this.performance.end);return{start:e,end:Math.max(this.dom.end,this.performance.end,e)}}}class c{start=0;end=0;value=void 0}function d(e=()=>{},t){return{get:()=>void 0!==t?t:e(),set:e=>{t=e}}}let u;try{u=v(y())[0]}catch(e){u=v(e)[0]}const l=new Map;let f=[];const h=new WeakMap;function p(e){let t=h.get(e);return t||(t={weighedAssetUrls:new Set,recordManifestScriptWindow:(t,r)=>{t&&(e.scriptStart=e.scriptStart>0?Math.min(e.scriptStart,t):t),r&&(e.scriptEnd=e.scriptEnd>0?Math.max(e.scriptEnd,r):r)}},h.set(e,t)),t}function g(e){return l.get(e)}function m(e){const t=g(e);
5if(t)return t;const r=new o(e);if(l.set(e,r),l.size>1e3){const e=l.keys().next().value;l.delete(e)}return r}if(n.gm.MutationObserver&&n.gm.document){new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{if("SCRIPT"===e.nodeName&&e.src){const t=m((0,s.L)(e.src));t.dom.start=(0,i.t)(),t.dom.value=e;const r=()=>{t.dom.end=(0,i.t)()};["load","error"].forEach(t=>e.addEventListener(t,r,{once:!0}))}})})}).observe(n.gm.document,{childList:!0,subtree:!0})}if(n.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{if((e=>"script"===e.initiatorType||["link","fetch"].includes(e.initiatorType)&&(0,s.L)(e.name).endsWith(".js"))(e)){const t=m((0,s.L)(e.name));t.performance.start=Math.floor(e.startTime),t.performance.end=Math.floor(e.responseEnd),t.performance.value=e}if(!f.length)return;const t=[];f.forEach(({test:r,addedAt:n},s)=>{(r(e)||(0,i.t)()-n>1e4)&&t.push(s)}),f=f.filter((e,r)=>!t.includes(r))})}).observe({type:"resource",buffered:!0})}function v(e){if(!e||"string"!=typeof e)return[];const t=new Set,r=e.split("\n");for(const e of r){const r=e.match(a.cn)||e.match(a.hB)||e.match(a.fL);if(r&&r[2])t.add((0,s.L)(r[2]));else{const r=e.match(/\(([^)]+\.js):\d+:\d+\)/)||e.match(/^\s+at\s+([^\s(]+\.js):\d+:\d+/);r&&r[1]&&t.add((0,s.L)(r[1]))}}return[...t]}function y(){let e;try{const t=Error.stackTraceLimit;Error.stackTraceLimit=50,e=(new Error).stack,Error.stackTraceLimit=t}catch(t){e=(new Error).stack}return e}function b(e,t){return(0,s.L)(e.name)===t}function E(e,t){e.fetchStart=Math.floor(t.startTime),e.fetchEnd=Math.floor(t.responseEnd),e.asset=t.name,e.type=t.initiatorType,w(e,t)}function w(e,t){const r=(0,s.L)(t.name),{weighedAssetUrls:n}=p(e);n.has(r)||(n.add(r),e.totalWeight=(e.totalWeight||0)+(t.transferSize||0),"blocking"===t.renderBlockingStatus?e.renderBlocking=!0:"non-blocking"===t.renderBlockingStatus&&!0!==e.renderBlocking&&(e.renderBlocking=!1))}function R(e,t,r,n,i){if(w(e,t),"scripts"!==i&&"all"!==i)return;if("all"===i||r.isScript){const r=Math.floor(t.startTime),n=Math.floor(t.responseEnd);e.fetchStart=e.fetchStart>0?Math.min(e.fetchStart,r):r,e.fetchEnd=e.fetchEnd>0?Math.max(e.fetchEnd,n):n}if(r.isScript){const r=g((0,s.L)(t.name));if(r){const t=()=>{const{start:t,end:n}=r.script;p(e).recordManifestScriptWindow(t,n)};t(),!r.dom.end&&r.dom.value&&["load","error"].forEach(e=>r.dom.value.addEventListener(e,t,{once:!0}))}n.resolved||(e.asset=t.name,e.type=t.initiatorType,n.resolved=!0)}}function T(e,t){const r=t?.manifest;if(!r||!r.assets.length)return;const s={resolved:!1},a=new Set(r.assets);(n.gm.performance?.getEntriesByType("resource")||[]).forEach(r=>{const n=[...a].find(e=>e.test(r.name));n&&(R(e,r,n,s,t.timingMethod),a.delete(n))}),a.size&&function(e,t,r,s){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:n=>{const i=[...t].find(e=>e.test(n.name));return i&&(R(e,n,i,r,s),t.delete(i)),0===t.size}})}(e,a,s,t.timingMethod)}function A(e){const t=e?.id,r={registeredAt:(0,i.t)(),reportedAt:void 0,fetchStart:0,fetchEnd:0,scriptStart:0,scriptEnd:0,asset:void 0,type:"unknown",totalWeight:0,renderBlocking:void 0},a=y();if(!a)return r;const o=n.gm.performance?.getEntriesByType("navigation")?.[0]?.name||"";try{const e=v(a),c=(e.length>1?e.filter(e=>u!==e):e)[0];if(!c)return r;if(o.includes(c))return r.asset=(0,s.L)(o),r.type="inline",r;r.correlation=g(c);const l=r.correlation?.performance.value||n.gm.performance?.getEntriesByType("resource")?.find(e=>b(e,c));if(l)E(r,l);else{(function(e){if(!e||!n.gm.document)return!1;try{const t=n.gm.document.querySelectorAll('link[rel="preload"][as="script"]');for(const r of t)if((0,s.L)(r.href)===e)return!0}catch(e){}return!1})(c)&&(r.asset=c,r.type="preload"),function(e,t){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:r=>!!b(r,t)&&(E(e,r),!0)})}(r,c)}const h=r.correlation,m=!!t&&!!h?.claimedBy.has(t);h&&t&&h.claimedBy.add(t);const y=()=>{const e=h?.script.start;if(!m||!e)return!1;return r.registeredAt-e>1e4};let w=0,R=0;p(r).recordManifestScriptWindow=(e,t)=>{e&&(w=w>0?Math.min(w,e):e),t&&(R=R>0?Math.max(R,t):t)},Object.defineProperty(r,"scriptStart",d(()=>{const e=y()?r.registeredAt:h?.script.start??r.fetchEnd;return w>0?Math.min(e,w):e})),Object.defineProperty(r,"scriptEnd",d(()=>{const e=y()?r.registeredAt:h?.script.end??r.registeredAt;return R>0?Math.max(e,R):e}))}catch(e){}return r}},5732(e,t,r){"use strict";r.d(t,{$5:()=>m,B5:()=>g,K6:()=>u,M$:()=>
5o,Ms:()=>d,NG:()=>c,Ux:()=>h,YA:()=>p,yx:()=>l});var n=r(5718),i=r(7560),s=r(9119),a=r(9232);function o(e){return e?.type===a.f.MFE}function c(e,t){if(!y(e,t))return;const r=t.runtime.registeredEntities;return r?.find(t=>t.metadata.target.iframeInterfaceId===e)}function d(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities;return r?.filter(t=>String(t.metadata.target.id)===String(e)).map(e=>e.metadata.target)||[]}function u(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=(0,s.L)(e),a=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!1}):!!t.metadata.timings?.asset&&(0,s.L)(t.metadata.timings.asset)===n});return f(a).map(e=>e.metadata.target)}function l(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!0}):!!t.metadata.timings?.asset?.endsWith(e)});return f(n).map(e=>e.metadata.target)}function f(e){if(!e?.length)return e||[];const t=new Map,r=[];for(const n of e){const e=n.metadata?.timings?.asset;if(!e){r.push(n);continue}const i="".concat(e,"::").concat(n.metadata?.target?.id),s=t.get(i);if(s){if(s.metadata.target?.blocked&&!n.metadata.target?.blocked){const e=r.indexOf(s);-1!==e&&(r[e]=n),t.set(i,n)}}else t.set(i,n),r.push(n)}return r}function h(e,t){return v(t)?o(e)?e.attributes:t.agentRef.runtime.v2Target.attributes:{}}function p(e,t){return g(e,t)?{"child.id":e.id,"child.type":e.type,...h(void 0,t)}:{}}function g(e,t){return o(e)&&!!v(t)&&t.agentRef.init.api.register.duplicate_data_to_container}function m(e){if(!e?.runtime)return[];if(!y(!0,e)||!e.runtime.registeredEntities?.length)return[e.runtime.v2Target];const t=[];try{var r=(0,n.AZ)((0,n.QL)());let i=r.length-1;for(;r[i];)t.push(...l(r[i--],e))}catch(e){}const i=function(e){const t=new Set,r=[];for(const n of e){const e=n?.instance;t.has(e)||(t.add(e),r.push(n))}return r}(t);return i.length||i.push(e.runtime.v2Target),i}function v(e){return 2===e?.harvestEndpointVersion}function y(e,t){return!!e&&!!t?.init.api.register.enabled}},5289(e,t,r){"use strict";r.d(t,{GG:()=>a,Qr:()=>c,sB:()=>o});var n=r(3878),i=r(6389);function s(){return"undefined"==typeof document||"complete"===document.readyState}function a(e,t){if(s())return e();const r=(0,i.J)(e),a=setInterval(()=>{s()&&(clearInterval(a),r())},500);(0,n.sp)("load",r,t)}function o(e){if(s())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(s())return e();(0,n.sp)("popstate",e)}},384(e,t,r){"use strict";r.d(t,{Zm:()=>c,bQ:()=>u,dV:()=>d,pV:()=>l});var n=r(6154),i=r(1863),s=r(944),a=r(1910);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function d(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,a.i)(...Object.values(e.o))),e}function u(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,s.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),d(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,["NT",0,o])},2843(e,t,r){"use strict";r.d(t,{G:()=>s,u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)},r,i)}function s(e,t,r){(0,n.sp)("pagehide",e,t,r)}},8139(e,t,r){"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),s=r(8990),a=r(6154);const o={},c=a.gm.XMLHttpRequest,d="addEventListener",u="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e,t){var r=function(e){return(e||n.ee).get("events")}(e);if(o[r.debugId]++)return r;o[r.debugId]=1;var f=(0,i.YM)(r,!0,t);function p(e){f.inPlace(e,[d,u],"-",g)}function g(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,p),c&&h(c.prototype,p),h(a.gm,p)),r.on(d+"-start",function(e,t){var r=e[1];if(null!==r&&("function"==typeof r||"object"==typeof r)&&"newrelic"!==e[0]){var n=(0,s.I)(r,l,function(){var e={object:function(){if("function"!=typeof r.handleEvent)return;return r.handleEvent.apply(r,arguments)},function:r}[typeof r];return e?f(e,"fn-",null,e.name||"anonymous"):r});this.wrapped=e[1]=n}}),r.on(u+"-start",function(e){e[1]=this.wrapped||e[1]}),r}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434(e,t,r){"use strict";r.d(t,{YM:()=>d});var n=r(7836),i=r(5607),s=r(5732);const a="nr@original:".concat(i.W);var o=Object.prototype.hasOwnProperty,c=!1;function d(e,t,r){return e||(e=n.ee),i.inPlace=function(e,t,r,n,s,a){r||(r="");const o="-"===r.charAt(0);for(let c=0;c<t.length;c++){const d=t[c],u=e[d];l(u)||(e[d]=i(u,o?d+r:r,n,d,s,a))}},i.flag=a,i;function i(t,n,i,c,f,h){return l(t)?t:(n||(n=""),nrWrapper[a]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach(function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})}),t}catch(e){u([e],r)}for(var n in e)o.call(e,n)&&(t[n]=e[n])}
5(t,nrWrapper,e),nrWrapper);function nrWrapper(){var a,o,l,p;let g,m;try{o=this,a=[...arguments],m=h?(0,s.$5)(r):[r?.runtime?.v2Target],l="function"==typeof i?i(a,o):i||{}}catch(t){u([t,"",[a,o,c],l],e)}d(n+"start",[a,o,c,m],l,f);const v=performance.now();let y;try{return p=t.apply(o,a),y=performance.now(),p}catch(e){throw y=performance.now(),d(n+"err",[a,o,e,m],l,f),g=e,g}finally{const e=y-v,t={start:v,end:y,duration:e,isLongTask:e>=50,methodName:c,thrownError:g};t.isLongTask&&d("long-task",[t,o,m],l,f),d(n+"end",[a,o,p,m],l,f)}}}function d(r,n,i,s){if(!c||t){var a=c;c=!0;try{e.emit(r,n,i,t,s)}catch(t){u([t,r,n,i],e)}c=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function l(e){return!(e&&"function"==typeof e&&e.apply&&!e[a])}r.d(t,["Jt",0,a])},9300(e,t,r){"use strict";const n=r(860).K7.ajax;r.d(t,["TZ",0,n,"f5",0,"ajaxRequest.id","mo",0,{NONE:"none",FAILURES:"failures",ALL:"all"}])},3333(e,t,r){"use strict";var n=r(981);const i=r(860).K7.genericEvents,s=[n.R.PA,n.R.UA,n.R.BP];r.d(t,["$v",0,{RESOURCES:"experimental.resources",REGISTER:"register"},"TZ",0,i,"Zp",0,["auxclick","click","copy","keydown","paste","scrollend"],"kd",0,s,"qN",0,["focus","blur"]])},6774(e,t,r){"use strict";const n=r(860).K7.jserrors;r.d(t,["T",0,n])},993(e,t,r){"use strict";const n=r(860).K7.logging;r.d(t,["A$",0,{OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},"TZ",0,n,"p_",0,{ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"}])},3785(e,t,r){"use strict";r.d(t,{R:()=>c,b:()=>d});var n=r(9908),i=r(1863),s=r(860),a=r(3969),o=r(993);function c(e,t,r={},c=o.p_.INFO,d=!0,u,l=(0,i.t)()){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,s.K7.metrics,e),(0,n.p)("log",[l,t,r,c,d,u],void 0,s.K7.logging,e)}function d(e){return"string"==typeof e&&Object.values(o.p_).some(t=>t===e.toUpperCase().trim())}},3969(e,t,r){"use strict";const n=r(860).K7.metrics;r.d(t,["TZ",0,n,"XG",0,"storeEventMetrics","xV",0,"storeSupportabilityMetrics"])},6630(e,t,r){"use strict";const n=r(860).K7.pageViewEvent;r.d(t,["T",0,n])},782(e,t,r){"use strict";const n=r(860).K7.pageViewTiming;r.d(t,["T",0,n])},6344(e,t,r){"use strict";var n=r(2614);const i=r(860).K7.sessionReplay,s={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0}
5;r.d(t,["Qb",0,{API:"api",RESUME:"resume",SWITCH_TO_FULL:"switchToFull",INITIALIZE:"initialize",PRELOAD:"preload"},"TZ",0,i,"Vh",0,"errorDuringReplay","_s",0,{DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},"bc",0,{RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},"yP",0,s])},5270(e,t,r){"use strict";r.d(t,{Aw:()=>a,SR:()=>s,rF:()=>o});var n=r(384),i=r(7767);function s(e){return!!(0,n.dV)().o.MO&&(0,i.V)(e)&&!0===e?.session_trace.enabled}function a(e){return!0===e?.session_replay.preload&&s(e)}function o(e,t){try{if("string"==typeof t?.type&&"password"===t.type.toLowerCase())return"*".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains("nr-unmask"))return e}catch(e){}return"string"==typeof e?e.replace(/[\S]/g,"*"):"*".repeat(e?.length||0)}},3738(e,t,r){"use strict";const n=r(860).K7.sessionTrace,i="-start",s="-end",a="fn"+i,o="fn"+s;r.d(t,["He",0,"bstResource","Kp",0,s,"Lc",0,o,"Rz",0,"pushState","TZ",0,n,"bD",0,"resource","bc",0,{CROSS_TAB:{message:"Session Entity was set to OFF on another tab"},ENTITLEMENTS:{message:"Session Trace is not allowed and will not be started"},RESET:{message:"Session was reset"},SESSION_CHANGED:{message:"Session identifier changed unexpectedly"}},"d3",0,i,"uP",0,a])},3962(e,t,r){"use strict";const n=r(860).K7.softNav;r.d(t,["O2",0,{INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},"OV",0,"popstate","Qu",0,{INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},"TZ",0,n,"ih",0,{IP:"in progress",PF:"pending finish",FIN:"finished",CAN:"cancelled"},"pP",0,"initialPageLoad","tC",0,["click","keydown","submit"]])},4234(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){"use strict";var n=r(6154);r.d(t,["V",0,e=>n.RI&&!0===e?.privacy.cookies_enabled])},8362(e,t,r){"use strict";r.d(t,{d:()=>s});var n=r(9566),i=r(1741);class s extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){"use strict";r.d(t,{W:()=>s});var n=r(944),i=r(4261);class s{#e(e,...t){if(this[e]!==s.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e("log",e,t)}start(){return this.#e("start")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){"use strict";r.d(t,["BL",0,"finished","CH",0,"recordReplay","Dl",0,"setUserId","Fw",0,"setPageViewName","PA",0,"setCurrentRouteName","Pv",0,"consent","Tb",0,"pauseReplay","U2",0,"addToTrace","V1",0,"measure","Wb",0,"wrapLogger","bt",0,"setErrorHandler","cD",0,"setCustomAttribute","dT",0,"interaction","eY",0,"register","fF",0,"recordCustomEvent","hG",0,"addPageAction","hw",0,"api-ixn-","k6",0,"addRelease","nb",0,"setApplicationVersion","o5",0,"noticeError"])},1738(e,t,r){"use strict";r.d(t,{U:()=>l,Y:()=>u});var n=r(3241),i=r(9908),s=r(1863),a=r(944),o=r(3969),c=r(8362),d=r(860);function u(e,t,r,s){const u=s||r;!u||u[e]&&u[e]!==c.d.prototype[e]||(u[e]=function(){(0,i.p)(o.xV,["API/"+e+"/called"],void 0,d.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:"api-"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,a.R)(23,e)}})}function l(e,t,r,n,a){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(a||null===r)&&(0,i.p)("api-"+n,[(0,s.t)(),t,r],void 0,"session",e.ee)}},8374(e,t,r){r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860(e,t,r){"use strict";const n="events",i="jserrors",s="browser/blobs",a="browser/logs",o={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},d={[o.pageViewEvent]:"rum",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:s,[o.sessionReplay]:s,[o.logging]:a,[o.genericEvents]:"ins"};r.d(t,["$J",0,d,"K7",0,o,"P3",0,c,"XX",0,i,"Yy",0,a,"df",0,s,"hg",0,"connect"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.m=e,r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],s=t[n++];r.o(e,i)?0===s&&n++:0===s?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:s})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>({212:"nr-spa-compressor",238:"nr-spa-iframe-message-handler",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.322.0.min.js"),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.322.0.PROD:";r.l=(n,i,s,a)=>
5{if(e[n])return void e[n].push(i);let o,c;if(void 0!==s){const e=document.getElementsByTagName("script");for(var d=0;d<e.length;d++){const r=e[d];if(r.getAttribute("src")==n||r.getAttribute("data-webpack")==t+s){o=r;break}}}if(!o){c=!0;var u={478:"sha512-SARROoir04gFygxlr/+mTI+PyMeFL+epi1vnUA2G5mTQ7s3G44ItQBJKbOaIMdIE5OBzuaKhb4k5JYta0NICxg==",249:"sha512-6DKQo5WP7YlpzX6l9UfYkgGLGK2oITdoaYTcZtgl5Foa22NY63lED/0z1hBBLeD7qZCz/YdlY19/r8drlol1tg==",212:"sha512-CYxuvSpDx6ErqWJwAvpoHn54eY37YdMcFao/axOumlw3BsSL7yioOeB2LWViY/Njs818sQG10dSglUhYCMfLPw==",238:"sha512-mvbMILWa3ohYst+u6TLfNrmtY2swUIB3rbJFN/uzt3W62KhgvUVwB81UEZ1R0/it5bfrQ5EVz864pi/CAmucNQ=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+s),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),u[a]&&(o.integrity=u[a])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={38:0,788:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const s=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=s);const a=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(a,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,s,a]=n;var o,c,d=0;if(i.some(t=>0!==e[t])){for(o in s)r.o(s,o)&&(r.m[o]=s[o]);if(a)a(r)}for(t&&t(n);d<i.length;d++)c=i[d],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.322.0.PROD"]=self["webpackChunk:NRBA-1.322.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),s=r(1741);var a=r(2555),o=r(3333),c=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var u=r(2614),l=r(944),f=r(8122);const h="[data-nr-mask]",p=e=>(0,f.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:c.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(o.$v.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,l.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:u.wk,inactiveMs:u.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inl
5ine_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector="".concat(t,",").concat(h):""===t||null===t?e.mask_selector=h:(0,l.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){d(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,l.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]},web_sockets:{enabled:!1}}})());var g=r(6154),m=r(9324);let v=0;const y={buildEnv:"PROD",distMethod:"CDN",version:m.x,originTime:g.WN},b={consented:!1},E={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||b.consented},set consented(e){b.consented=e},customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++v},listeningForIframeMessages:!1};var w=r(9232);var R=r(7836),T=r(3241);const A={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var S=r(9908),x=r(9752);function O(e,t={},n,o){let{init:c,info:d,loader_config:u,runtime:l={},exposed:h=!0}=t;if(!d){const e=(0,i.pV)();c=e.init,d=e.info,u=e.loader_config}var m;e.init=p(c||{}),e.loader_config=(m=u||{},(0,f.a)(m,A)),d.jsAttributes??={},g.bv&&(d.jsAttributes.isWorker=!0),e.info=(0,a.D)(d);const v=e.init;e.runtime??=(e=>{const t=(0,f.a)(e,E),r=Object.keys(y).reduce((e,t)=>(e[t]={value:y[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:w.f.BA,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{"entity.guid":this.id,appId:e.info.applicationID}}},v.proxy.assets&&(e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(s.W.prototype).forEach(r=>{const n=s.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let i=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=R.ee.get(e.agentIdentifier),e.exposed=h,(0,T.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge&&g.gm.addEventListener("message",t=>{"string"==typeof t.data?.type&&t.data.type.startsWith(x.Pl)&&(0,S.p)("iframe-message",[t],void 0,"IFRAME",e.ee)}),e.runtime.configured=!0)}var _=r(1863),k=r(4261),N=r(1738);var L=r(1687),M=r(4234),P=r(5289),I=r(5270),j=r(7767),C=r(6389),D=r(7699);const B=new WeakSet,H=new WeakMap;class W extends M.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,C.J)(()=>{(0,L.Ak)(e,this.featureName),t()}))}):(0,L.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=>{if(await this.deferred,this.#t(e),!(0,a.f)(e.info))return(0,l.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(H.has(e))return H.get(e);const i=(async()=>
5{if((0,j.V)(e.init))try{const{setupAgentSession:t}=await r.e(478).then(r.bind(r,8766));t(e)}catch(e){(0,l.R)(20,e),t.emit("internal-error",[e]),(0,S.p)(D.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await r.e(238).then(r.bind(r,6417));t(e)}catch(e){(0,l.R)(23,e)}const[{Connector:i},{Harvester:s}]=await Promise.all([r.e(478).then(r.bind(r,6589)),r.e(478).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new s(e);const a=Object.values(e.features).filter(t=>e.runtime.drainRegistry.has(t.featureName));Promise.all(a.map(e=>e.onAggregateImported)).then(()=>e.runtime.harvester.startTimer())})();H.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,l.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,l.R)(34,e),this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};g.RI?(0,P.GG)(()=>i(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return(0,I.SR)(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!B.has(e)&&(B.add(e),!(0,a.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}O(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var U=r(6630);class K extends W{static featureName=U.T;constructor(e){var t;super(e,U.T),this.setupInspectionEvents(),t=e,(0,N.Y)(k.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,S.p)("api-"+k.Fw,[(0,_.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>e.init.feature_flags.includes("rum_v2")?r.e(478).then(r.bind(r,908)):r.e(478).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,T.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,P.sB)(t=>{e(t,"DOMContentLoaded")}),(0,P.GG)(t=>{e(t,"load")}),(0,P.Qr)(t=>{e(t,"navigate")}),this.ee.on(u.tS.UPDATE,(e,t)=>{(0,T.W)({type:"lifecycle",name:"session",data:t})})}}class F extends e.d{constructor(e){var t;(super(),g.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(K),O(this,e,e.loaderType||"agent"),t=this,(0,N.Y)(k.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,N.U)(t,e,r,k.cD,n);(0,l.R)(40,typeof r)}else(0,l.R)(39,typeof e)},t),function(e){(0,N.Y)(k.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,l.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,S.p)("api-setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,N.U)(e,"enduser.id",t,k.Dl,!0)},e)}(this),function(e){(0,N.Y)(k.nb,function(t){if("string"==typeof t||null===t)return(0,N.U)(e,"application.version",t,k.nb,!1);(0,l.R)(42,typeof t)},e)}(this),function(e){(0,N.Y)("start",function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,N.Y)(k.Pv,function(t=!0){if("boolean"==typeof t){if((0,S.p)("api-"+k.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum?.()})}}else(0,l.R)(65,typeof t)},e)}(this),this.run()):(0,l.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};return n.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes("rum_v2");r.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=>{if(!e[r.featureName]&&(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,l.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,l.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var V=r(2843),z=r(782);class G extends W{static featureName=z.T;constructor(e){super(e,z.T),g.RI&&((0,V.u)(()=>(0,S.p)("docHidden",[(0,_.t)()],void 0,z.T,this.ee),!0),(0,V.G)(()=>(0,S.p)("winPagehide",[(0,_.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=>r.e(478).then(r.bind(r,9917))))}}var q=r(3969);class Y extends W{static featureName=q.TZ;constructor(e){super(e,q.TZ),this.importAggregator(e,()=>r.e(478).then(r.bind(r,6555)))}}var Z=r(6774),J=r(3878),X=r(3304);class Q{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,X.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function ee(e){return ne(e)?e:new Q(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic,e?.cause)}function te(e){const t="Unhandled Promise Rejection: ";if(!e?.reason)return;if(ne(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return ee(e.reason)}const r=ee(e.reason);return(r.message||"").startsWith(t)||(r.message=t+r.message),r}function re(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new Q(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic,e.cause);return t.name=SyntaxError.name,t}return ne(e.error)?e.error:ee(e)}function ne(e){return e instanceof Error&&!!e.stack}function ie(e,r,n,i,s=(0,_.t)()){"string"==typeof e&&(e=new Error(e)),(0,S.p)("err",[e,s,!1,r,n.runtime.isRecording,void 0,i],void 0,t.K7.jserrors,n.ee),(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,n.ee)}var se=r(993),ae=r(3785);function oe(e,{customAttributes:t={},level:r=se.p_.INFO}={},n,i,s=(0,_.t)()){(0,ae.R)(n.ee,e,t,r,!1,i,s)}function ce(e,r,n,i,s=(0,_.t)()){(0,S.p)("api-"+k.hG,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}function de(e,r,n,i,s=(0,_.t)()){const{start:a,end:o,customAttributes:c}=r||{},d={customAttributes:c||{}};if("object"!=typeof d.customAttributes||"string"!=typeof e||0===e.length)return void(0,l.R)(57);const u=(e,t)=>
5null==e?t:"number"==typeof e?e:e instanceof PerformanceMark?e.startTime:Number.NaN;if(d.start=u(a,0),d.end=u(o,s),Number.isNaN(d.start)||Number.isNaN(d.end))(0,l.R)(57);else{if(d.duration=d.end-d.start,!(d.duration<0))return(0,S.p)("api-"+k.V1,[d,e,i],void 0,t.K7.genericEvents,n.ee),d;(0,l.R)(58)}}function ue(e,r={},n,i,s=(0,_.t)()){(0,S.p)("api-"+k.fF,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}var le=r(5718);const fe=(e,t)=>e?.nrMfeId===t.id&&(!e?.nrMfeObserved||e?.nrMfeObserved===t.instance),he=e=>{try{return g.gm.CSS.escape(e)}catch(t){return e}},pe=(e,t={})=>{const r=t.id,n=t.instance;if(!e||!r||!n)return!1;try{let r=1===e.nodeType?e:e.parentElement;for(;r?.tagName;){if(fe(r.dataset,t))return r.dataset.nrMfeObserved=n,!0;r=r.parentNode}}catch(e){}return!1},ge=(e,t)=>{const r=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]')),n=(Array.from(r)||[]).find(t=>fe(t.dataset,e));let i=!!n;i&&(n.dataset.nrMfeObserved??=e.instance);const s=new g.gm.MutationObserver(r=>{r.forEach(r=>{r.addedNodes.forEach(r=>{const n=1===r.nodeType?r:null;!i&&fe(n?.dataset,e)&&(s.disconnect(),s.observe(n,{childList:!0,subtree:!0}),i=!0,n.dataset.nrMfeObserved=e.instance),(e=>{try{return e?.textContent?.trim()||["img","video","canvas","svg"].includes(e?.nodeName?.toLowerCase())}catch(e){return!1}})(r)&&(i||pe(r,e))&&t(r,s)})})});return s.observe(n||g.gm.document,{childList:!0,subtree:!0}),s},me=(e,t,r)=>{try{const n=new g.gm.PerformanceObserver(e=>{e.getEntries().forEach(r)});return n.observe(t),e.push(n),n}catch(e){return null}};function ve(e,t){let r,n,i=!1;const s=e=>null==e?e:e-(t?.scriptStart||t?.registeredAt||0),a={fcp:{get value(){const e=s(r);return e>1e4?void 0:e},set value(e){i||(r=e)}},lcp:{get value(){if(void 0!==a.fcp.value)return s(n)},set value(e){i||(n=e)}},cls:{value:void 0},inp:{value:void 0},disconnect:()=>{}};if(!(e&&g.RI&&g.gm.MutationObserver&&g.gm.PerformanceObserver))return a;const o=[];setTimeout(()=>{r||a.disconnect()},1e4);const c=()=>{if(!i){if(null==r){const e=(0,_.t)();if(s(e)>1e4)return void a.disconnect();r=e}n??=(0,_.t)(),a.cls.value??=0}},d=ge(e,(e,t)=>{c(),t.disconnect()});o.push(d);let u=0,l=null;const f=new Set;try{l=new g.gm.ResizeObserver(e=>{i||e.forEach(e=>{try{const t=e.contentRect.width*e.contentRect.height;t>u&&(u=t,a.lcp.value=(0,_.t)()),l.unobserve(e.target)}catch(e){}})})}catch(e){}const h=ge(e,e=>{if(c(),l)try{const t=1===e.nodeType?e:e.parentElement;t&&!f.has(t)&&(f.add(t),"IMG"===t.tagName?t.complete?l.observe(t):t.addEventListener("load",()=>{l.observe(t)},{once:!0}):"VIDEO"===t.tagName?t.readyState>=2?l.observe(t):t.addEventListener("loadeddata",()=>{l.observe(t)},{once:!0}):l.observe(t))}catch(e){}});l&&o.push(l),o.push(h),me(o,{type:"layout-shift",buffered:!0},t=>{i||t.hadRecentInput||(t.sources||[]).some(r=>!!pe(r.node,e)&&(c(),a.cls.value+=t.value,!0))}),me(o,{type:"event",buffered:!0,durationThreshold:40},t=>{!i&&t.interactionId&&pe(t.target,e)&&(void 0===a.inp.value||t.duration>a.inp.value)&&(c(),a.inp.value=t.duration)});const p=["pointerdown","keydown"],m=()=>{p.forEach(e=>{g.gm.removeEventListener(e,v,{passive:!0})})};a.disconnect=()=>{i=!0,o.forEach(e=>{try{e?.disconnect()}catch(e){}}),m(),["visibilitychange","pagehide"].forEach(e=>{g.gm.removeEventListener(e,a.disconnect,{once:!0,passive:!0})})};const v=t=>{pe(t?.target,e)&&((()=>{try{h?.disconnect(),l?.disconnect()}catch(e){}})(),m())};p.forEach(e=>{g.gm.addEventListener(e,v,{passive:!0})}),["visibilitychange","pagehide"].forEach(e=>{g.gm.addEventListener(e,a.disconnect,{once:!0,passive:!0})});const y=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]'));return Array.from(y||[]).some(t=>fe(t.dataset,e))&&c(),a}var ye=r(9566),be=r(7560),Ee=r(9119);const we=["entry","scripts","all"],Re=["name","id","type"],Te=new Map([[ce,"addPageAction"],[oe,"log"],[de,"measure"],[ie,"noticeError"],[ue,"recordCustomEvent"]]),Ae={experimental:(0,C.J)(()=>(0,l.R)(54,"newrelic.register")),disabled:(0,C.J)(()=>(0,l.R)(55)),invalidTarget:(0,C.J)(e=>(0,l.R)(48,e)),deregistered:(0,C.J)(()=>(0,l.R)(68)),invalidTimingMethod:(0,C.J)(e=>(0,l.R)(80,e)),duplicateName:(0,C.J)(e=>(0,l.R)(81,e)),duplicateId:(0,C.J)(e=>(0,l.R)(82,e))};function Se(e){(0,N.Y)(k.eY,function(t){return xe(e,t)},e)}function xe(e,r){Ae.experimental(),r||={},r.instance=(0,ye.LA)(8),r.type=w.f.MFE,r.licenseKey||=e.info.licenseKey,r.blocked=!1,("object"!=typeof r.tags||null===r.tags||Array.isArray(r.tags))&&(r.tags={}),r.parent??={get id(){return e.runtime.appMetadata.agents?.[0].entityGuid},type:w.f.BA},r.manifest=(0,be.N)(r.manifest),void 0===r.timingMethod||we.includes(r.timingMethod)||(Ae.invali
5dTimingMethod(r.timingMethod),r.timingMethod=void 0);const n=(0,le.Qr)(r);r.manifest&&(0,le.xo)(n,r);const i=ve(r,n),s=(0,Ee.L)(""+location),a={};Object.prototype.hasOwnProperty.call(r,"attributes")||Object.defineProperty(r,"attributes",{get:()=>({...a,"source.id":r.id,"source.name":r.name,"source.type":r.type,"parent.type":r.parent?.type||w.f.BA,"parent.id":r.parent?.id})}),Object.entries(r.tags).forEach(([e,t])=>{Re.includes(e)||(a["source.".concat(e)]=t)});let o=()=>{};const c=e.runtime.registeredEntities,d=e=>{r.blocked=!0,o=e};function u(e){return"string"==typeof e&&!!e.trim()&&e.trim().length<501}e.init.api.register.enabled||d(Ae.disabled),u(r.id)&&u(r.name)||d(()=>Ae.invalidTarget(r)),c.forEach(e=>{try{const{name:t,id:n}=e.metadata.target;t===r.name&&n!==r.id&&Ae.duplicateName(r),n===r.id&&t!==r.name&&Ae.duplicateId(r)}catch(e){}});const f={addPageAction:(t,n={})=>m(ce,[t,{...a,...n},e],r),deregister:()=>{p(),d(Ae.deregistered)},log:(t,n={})=>m(oe,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),measure:(t,n={})=>m(de,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),noticeError:(t,n={})=>m(ie,[t,{...a,...n},e],r),recordCustomEvent:(t,n={})=>m(ue,[t,{...a,...n},e],r),setApplicationVersion:e=>g("application.version",e),setCustomAttribute:(e,t)=>g(e,t),setUserId:e=>g("enduser.id",e),metadata:{get customAttributes(){return a},target:r,timings:n,vitals:i,events:{latestTimestamp:void 0}}},h=()=>(r.blocked&&o(),r.blocked);function p(){if(n.reportedAt)return;n.reportedAt=(0,_.t)(),i.disconnect(),n.fcp=i.fcp,n.lcp=i.lcp,n.cls=i.cls,n.inp=i.inp;const e=n.fetchEnd-n.fetchStart,t=n.scriptEnd-n.scriptStart,r={assetUrl:n.asset,assetType:n.type,registerUrl:s,deregisterUrl:(0,Ee.L)(""+location),pageUrl:void 0,currentUrl:void 0,timeAlive:n.reportedAt-n.registeredAt,timeToBeRequested:n.fetchStart,timeToExecute:t,timeToFetch:e,timeToLoad:e+t,t
5imeToRegister:n.registeredAt,totalWeight:n.totalWeight,...void 0!==n.renderBlocking&&{renderBlocking:n.renderBlocking},...i.fcp.value>=0&&{"vitals.fcp.value":i.fcp.value},...i.lcp.value>=0&&{"vitals.lcp.value":i.lcp.value},...i.cls.value>=0&&{"vitals.cls.value":i.cls.value},...i.inp.value>=0&&{"vitals.inp.value":i.inp.value}};f.recordCustomEvent("MicroFrontEndTiming",r)}h()||(c.push(f),(0,V.G)(p));const g=(e,t)=>{h()||(a[e]=t)},m=(r,n,i)=>{if(h()&&r!==xe)return;const s=f.metadata.events.latestTimestamp??(0,_.t)();f.metadata.events.latestTimestamp=void 0;const a=Te.get(r)||"unknown";(0,S.p)(q.xV,["API/register/".concat(a,"/called")],void 0,t.K7.metrics,e.ee);try{return r(...n,i,s)}catch(e){(0,l.R)(50,e)}};return f}class Oe extends W{static featureName=Z.T;constructor(e){var t;super(e,Z.T),t=e,(0,N.Y)(k.o5,(e,r)=>ie(e,r,t),t),function(e){(0,N.Y)(k.bt,function(t){e.runtime.onerror=t},e)}(e),function(e){let t=0;(0,N.Y)(k.k6,function(e,r){++t>10||(this.runtime.releaseIds[e.slice(-200)]=(""+r).slice(-200))},e)}(e),Se(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(t,r)=>{this.abortHandler&&(0,S.p)("ierr",[ee(t),(0,_.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)}),g.gm.addEventListener("unhandledrejection",t=>{this.abortHandler&&(0,S.p)("err",[te(t),(0,_.t)(),!1,{unhandledPromiseRejection:1},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),g.gm.addEventListener("error",t=>{this.abortHandler&&(0,S.p)("err",[re(t),(0,_.t)(),!1,{},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e,()=>r.e(478).then(r.bind(r,9377)))}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var _e=r(8990);let ke=1;function Ne(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===g.gm?0:(0,_e.I)(e,"nr@id",function(){return ke++})}function Le(e){if("string"==typeof e)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,X.A)(e).length}catch(e){return}}}var Me=r(8139),Pe=r(3434),Ie=r(5732);const je={},Ce=["open","send","setRequestHeader"];function De(e,t){var r=e||R.ee;const n=function(e){return(e||R.ee).get("xhr")}(r);if(void 0===g.gm.XMLHttpRequest)return n;if(je[n.debugId]++)return n;je[n.debugId]=1,(0,Me.u)(r,t);var i=(0,Pe.YM)(n,void 0,t),s=g.gm.XMLHttpRequest,a=g.gm.MutationObserver,o=g.gm.Promise,c=g.gm.setInterval,d="readystatechange",u=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],f=[],h=g.gm.XMLHttpRequest=function(e){const r=new s(e),a=n.context(r);a.targets=(0,Ie.$5)(t);try{n.emit("new-xhr",[r],a),r.addEventListener(d,(o=a,function(){var e=this;e.readyState>3&&!o.resolved&&(o.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,u,"fn-",E)}),(0,J.jT)(!1))}catch(e){(0,l.R)(15,e);try{n.emit("internal-error",[e])}catch(e){}}var o;return r};function p(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(s,h),h.prototype=s.prototype,i.inPlace(h.prototype,Ce,"-xhr-",E),n.on("send-xhr-start",function(e,t){p(e,t),function(e){f.push(e),a&&(m?m.then(b):c?c(b):(v=-v,y.data=v))}(t)}),n.on("open-xhr-start",p),a){var m=o&&o.resolve();if(!c&&!o){var v=1,y=document.createTextNode(v);new a(b).observe(y,{characterData:!0})}}else r.on("fn-end",function(e){e[0]&&e[0].type===d||b()});function b(){for(var e=0;e<f.length;e++)p(0,f[e]);f.length&&(f=[])}function E(e,t){return t}return n}var Be="fetch-",He=Be+"body-",We=["arrayBuffer","blob","json","text","formData"],Ue=g.gm.Request,Ke=g.gm.Response,Fe="prototype";const Ve={};function ze(e,t){const r=function(e){return(e||R.ee).get("fetch")}(e);if(!(Ue&&Ke&&g.gm.fetch))return r;if(Ve[r.debugId]++)return r;function n(e,n,i){var s=e[n];"function"==typeof s&&(e[n]=function(){var e=[...arguments];const n={},a=(0,Ie.$5)(t);var o;r.emit(i+"before-start",[e],n),n[R.P]&&n[R.P].dt&&(o=n[R.P].dt);var c=s.apply(this,e);return r.emit(i+"start",[e,o],c),c.then(function(e){return r.emit(i+"end",[null,e,a],c),e},function(e){throw r.emit(i+"end",[e,void 0,a],c),e})})}
5return Ve[r.debugId]=1,We.forEach(e=>{n(Ue[Fe],e,He),n(Ke[Fe],e,He)}),n(g.gm,"fetch",Be),r.on(Be+"end",function(e,n,i){var s=this;if(s.targets=i||[t.runtime.v2Target],n){var a=n.headers.get("content-length");null!==a&&(s.rxSize=a),r.emit(Be+"done",[null,n],s)}else r.emit(Be+"done",[e],s)}),r}var Ge=r(7485);class qe{constructor(e){this.agentRef=e}generateTracePayload(e){const t=this.agentRef.loader_config;if(!this.shouldGenerateTrace(e)||!t)return null;var r=(t.accountID||"").toString()||null,n=(t.agentID||"").toString()||null,i=(t.trustKey||"").toString()||null;if(!r||!n)return null;var s=(0,ye.ZF)(),a=(0,ye.el)(),o=Date.now(),c={spanId:s,traceId:a,timestamp:o};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(c.traceContextParentHeader=this.generateTraceContextParentHeader(s,a),c.traceContextStateHeader=this.generateTraceContextStateHeader(s,o,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(c.newrelicHeader=this.generateTraceHeader(s,a,o,r,n,i)),c}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,s){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return s&&n!==s&&(a.d.tk=s),btoa((0,X.A)(a))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,Ge.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.cors_use_tracecontext_headers}}var Ye=r(7295);function Ze(e){return"string"==typeof e?e:e instanceof(0,i.dV)().o.REQ?e.url:g.gm?.URL&&e instanceof URL?e.href:void 0}function $e(e,t){var r=(0,Ge.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var Je=["load","error","abort","timeout"],Xe=Je.length,Qe=(0,i.dV)().o.REQ,et=(0,i.dV)().o.XHR;const tt="X-NewRelic-App-Data",rt="internal-error";class nt extends W{static featureName=c.TZ;constructor(e){super(e,c.TZ),this.dt=new qe(e),this.handler=(e,t,r,n)=>(0,S.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};g.gm?.performance?.getEntriesByType("resource").forEach(r=>{if(r.initiatorType in e&&0!==r.responseStatus){const n={status:r.responseStatus},i={rxSize:r.transferSize,duration:Math.floor(r.duration),cbTime:0};$e(n,r.name),this.handler("xhr",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}ze(this.ee,e),De(this.ee,e),function(e,r,n,i){const s=[c.mo.ALL,c.mo.FAILURES].includes(e.init.ajax?.capture_payloads);function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=A,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},t.latestLongtaskEnd=0,e.addEventListener("load",function(r){O(t,e)},(0,J.jT)(!1)),g.lR||e.addEventListener("progress",function(e){t.lastSize=e.loaded},(0,J.jT)(!1))}function o(e){this.params={method:e[0]},$e(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var s=!1;n.newrelicHeader&&(r.setRequestHeader("newrelic",n.newrelicHeader),s=!0),n.traceContextParentHeader&&(r.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&r.setRequestHeader("tracestate",n.traceContextStateHeader),s=!0),s&&(this.dt=n)}}function u(e,t){s&&e.length>=2&&(this.requestHeaders??={},this.requestHeaders[e[0].toLowerCase()]=e[1])}function l(e,t){var n=this.metrics,i=e[0],s=this;if(n&&i){var a=Le(i);a&&(n.txSize=a)}this.startTime=(0,_.t)(),this.requestBody=i,this.listener=function(e){try{"abort"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),("load"
5!==e.type||s.called===s.totalCbs&&(s.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof s.end)&&s.end(t)}catch(e){try{r.emit(rt,[e])}catch(e){}}};for(var o=0;o<Xe;o++)t.addEventListener(Je[o],this.listener,(0,J.jT)(!1))}function f(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function h(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function m(){this.endTime=(0,_.t)()}function v(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-added",[e[1],e[2]],t)}function y(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-removed",[e[1],e[2]],t)}function b(e,t,r){t instanceof et&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,_.t)()))}function E(e,t){this.xhrCbStart&&r.emit("xhr-cb-time",[(0,_.t)()-this.xhrCbStart,this.onload,t],t)}function w(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&g.RI&&(t=""+g.gm.location.href):e[0]&&e[0].url?t=e[0].url:g.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,Ge.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)o(e[0].headers,n)&&(this.dt=n);else{var s={};for(var a in r)s[a]=r[a];s.headers=new Headers(r.headers||{}),o(s.headers,n)&&(this.dt=n),e.length>1?e[1]=s:e.push(s)}}function o(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function R(e,t){this.params={},this.metrics={},this.startTime=(0,_.t)(),this.dt=t;let[r,n={}]=e;$e(this,Ze(r));const i=(""+(r&&r instanceof Qe&&r.method||n.method||"GET")).toUpperCase();this.params.method=i,this.txSize=Le(n.body||r?.body)||0;try{var a=n.headers||r?.headers;if(s&&a)if(this.requestHeaders??={},a instanceof Headers)a.forEach(function(e,t){this.requestHeaders[t.toLowerCase()]=e}.bind(this));else if("object"==typeof a)for(var o in a)this.requestHeaders[o.toLowerCase()]=a[o]}catch(e){}this.requestBody=n.body||r?.body}function T(e,t){if(this.endTime=(0,_.t)(),this.params||(this.params={}),(0,Ye.iW)(this.params))return;this.params.status=t?t.status:0;const n=()=>{const e=+this.rxSize,t=null==this.rxSize||isNaN(e)?void 0:e,r={txSize:this.txSize,rxSize:t,duration:this.endTime-this.startTime},n=[this.params,r,this.startTime,this.endTime,"fetch"];this.targets.forEach(e=>x(n,this,e))};t&&s?t.clone().text().then(e=>{this.responseBody=e,this.rxSize&&"0"!==this.rxSize&&0!==this.rxSize||void 0===e||0===this.params.status||(this.rxSize=Le(e)),t?.headers&&(this.responseHeaders={},t.headers.forEach(function(e,t){this.responseHeaders[t.toLowerCase()]=e}.bind(this)))}).catch(e=>{r.emit(rt,[e])}).finally(()=>{n()}):n()}function A(e){const t=this.params,n=this.metrics;if(this.ended)return;this.ended=!0;for(let t=0;t<Xe;t++)e.removeEventListener(Je[t],this.listener,!1);if(t.aborted)return;if((0,Ye.iW)(t))return;if(n.duration=this.endTime-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):O(this,e),n.cbTime=this.cbTime,s){try{this.responseBody=e.responseText}catch(t){this.responseBody=e.response}if((!n.rxSize||0===n.rxSize)&&void 0!==this.responseBody&&0!==t.status){const e=Le(this.responseBody);void 0!==e&&(n.rxSize=e)}try{this.responseHeaders=function(e){const t={};return e?(e.split("\r\n").forEach(function(e){const r=e.indexOf(": ");if(r>0){const n=e.substring(0,r),i=e.substring(r+2);t[n.toLowerCase()]=i}}),t):t}(e.getAllResponseHeaders())}catch(e){r.emit(rt,[e])}}const i=[t,n,this.startTime,this.endTime,"xhr"];this.targets.forEach(e=>x(i,this,e))}function x(e,r,i){n("xhr",[...e,i],r,t.K7.ajax)}function O(e,n){e.params.status=n.status;var i=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?Le(e.response):"text"===r||""===r||void 0===r?Le(e.responseText):void 0}(n,e.lastSize);if(void 0!==i&&0!==n.status&&(e.metrics.rxSize=i),e.sameOrigin&&n.getAllResponseHeaders().indexOf(tt)>=0){var s=n.getResponseHeader(tt);s&&((0,S.p)("sm",["Ajax/CrossApplicationTracing/Header/Seen"],void 0,t.K7.metrics,r),e.params.cat=s.split(", ").pop())}e.loadCaptureCalled=!0}r.on("new-xhr",a),r.on("open-xhr-start",o),r.on("open-xhr-end",d),r.on("send-xhr-start",l),r.on("setRequestHeader-xhr-start",u),r.on("xhr-cb-time",f),r.on("xhr-load-added",h),r.on("xhr-load-removed",p),r.on("xhr-resolved",m),r.on("addEventListener-end",v),r.on("removeEventListener-end",y),r.on("fn-end",E),r.on("fetch-before-start",w),r.on("fetch-start",R),r.on("fn-start",b),r.on("fetch-done",T)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,()=>r.e(478).then(r.bind(r,3845)))}}const it={},st=["pushState","replaceState"];function at(e,t){const r=function(e){return(e||R.ee).get("history")}(e);return!g.RI||it[r.debugId]++||(it[r.debugId]=1,(0,Pe.YM)(r,void 0,t).inPlace(window.history,st,"-")),r}var ot=r(3738);function ct(e){(0,N.Y)(k.BL,function(r=Date.now()){const n=r-g.WN;n<0&&(0,l.R)(62,r),(0,S.p)(q.XG,[k.BL,{time:n}],void 0,t.K7.metrics,e.ee),e.addToTrace({name:k.BL,start:r,origin:"nr"}),(0,S.p)("api-"+k.hG,[n,k.BL],void 0,t.K7.genericEvents,e.ee)},e)}const{He:dt,bD:ut,d3:lt,Kp:ft,TZ:ht,Lc:pt,uP:gt,Rz:mt}=ot;class vt extends W{static featureName=ht;constructor(e){var n;super(e,ht),n=e,(0,N.Y)(k.U2,function(e){if(!(e&&"object"==typeof e&&e.name&&e.start))return;const r={n:e.name,s:e.start-g.WN,e:(e.end||e.start)-g.WN,o:e.origin||"",t:"api"};r.s<0||r.e<0||r.e<r.s?(0,l.R)(61,{start:r.s,end:r.e}):(0,S.p)("bstApi",[r],void 0,t.K7.sessionTrace,n.ee)},n),ct(e);
5if(!(0,j.V)(e.init))return void this.deregisterDrain();const i=this.ee;let s;at(i,e),this.eventsEE=(0,Me.u)(i,e),this.eventsEE.on(gt,function(e,t){this.bstStart=(0,_.t)()}),this.eventsEE.on(pt,function(e,r){(0,S.p)("bst",[e[0],r,this.bstStart,(0,_.t)()],void 0,t.K7.sessionTrace,i)}),i.on(mt+lt,function(e){this.time=(0,_.t)(),this.startPath=location.pathname+location.hash}),i.on(mt+ft,function(e){(0,S.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,t.K7.sessionTrace,i)});try{s=new PerformanceObserver(e=>{const r=e.getEntries();(0,S.p)(dt,[r],void 0,t.K7.sessionTrace,i)}),s.observe({type:ut,buffered:!0})}catch(e){}this.importAggregator(e,()=>r.e(478).then(r.bind(r,6974)),{resourceObserver:s})}}var yt=r(733),bt=r(6344);class Et extends W{static featureName=bt.TZ;#i;recorder;constructor(e){var n;let i;super(e,bt.TZ),n=e,(0,N.Y)(k.CH,function(){(0,S.p)(k.CH,[],void 0,t.K7.sessionReplay,n.ee)},n),function(e){(0,N.Y)(k.Tb,function(){(0,S.p)(k.Tb,[],void 0,t.K7.sessionReplay,e.ee)},e)}(e);const s="".concat(u.Wt).concat((0,yt.Y)(e.info.licenseKey,e.info.applicationID));try{i=JSON.parse(localStorage.getItem(s))}catch(e){}(0,I.SR)(e.init)&&this.ee.on(k.CH,()=>this.#s()),this.#a(i)&&this.importRecorder().then(e=>{e.startRecording(bt.Qb.PRELOAD,i?.sessionReplayMode)}),this.abortHandler=this.#n,this.importAggregator(this.agentRef,()=>r.e(478).then(r.bind(r,6167)),this),this.ee.on("err",e=>{this.blocked||this.agentRef.runtime.isRecording&&(this.errorNoticed=!0,(0,S.p)(bt.Vh,[e],void 0,this.featureName,this.ee))})}#a(e){return e&&(e.sessionReplayMode===u.g.FULL||e.sessionReplayMode===u.g.ERROR)||(0,I.Aw)(this.agentRef.init)}importRecorder(){return this.recorder?Promise.resolve(this.recorder):(this.#i??=Promise.all([r.e(478),r.e(249)]).then(r.bind(r,4866)).then(({Recorder:e})=>(this.recorder=new e(this),this.recorder)).catch(e=>{throw this.ee.emit("internal-error",[e]),this.blocked=!0,e}),this.#i)}#s(){this.blocked||(this.featAggregate?this.featAggregate.mode!==u.g.FULL&&this.featAggregate.initializeRecording(u.g.FULL,!0,bt.Qb.API):this.importRecorder().then(()=>{this.recorder.startRecording(bt.Qb.API,u.g.FULL)}))}#n(){this.recorder?.stopRecording()}}var wt=r(3962);class Rt extends W{static featureName=wt.TZ;constructor(e){if(super(e,wt.TZ),function(e){const r=e.ee.get("tracer");function n(){}(0,N.Y)(k.dT,function(e){return(new n).get("object"==typeof e?e:{})},e);const i=n.prototype={createTracer:function(n,i){var s={},a=this,o="function"==typeof i;return(0,S.p)(q.xV,["API/createTracer/called"],void 0,t.K7.metrics,e.ee),function(){if(r.emit((o?"":"no-")+"fn-start",[(0,_.t)(),a,o],s),o)try{return i.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw r.emit("fn-err",[arguments,this,t],s),t}finally{r.emit("fn-end",[(0,_.t)()],s)}}}};["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach(r=>{N.Y.apply(this,[r,function(){return(0,S.p)(k.hw+r,[performance.now(),...arguments],this,t.K7.softNav,e.ee),this},e,i])}),(0,N.Y)(k.PA,function(){(0,S.p)(k.hw+"routeName",[performance.now(),...arguments],void 0,t.K7.softNav,e.ee)},e)}(e),!g.RI||!(0,i.dV)().o.MO)return;const n=at(this.ee,e);try{this.removeOnAbort=new AbortController}catch(e){}wt.tC.forEach(e=>{(0,J.sp)(e,e=>{c(e)},!0,this.removeOnAbort?.signal)}
5);const s=()=>(0,S.p)("newURL",[(0,_.t)(),""+window.location],void 0,this.featureName,this.ee);n.on("pushState-end",s),n.on("replaceState-end",s),(0,J.sp)(wt.OV,e=>{c(e),(0,S.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)},!0,this.removeOnAbort?.signal);let a=!1;const o=new((0,i.dV)().o.MO)((e,t)=>{a||(a=!0,requestAnimationFrame(()=>{(0,S.p)("newDom",[(0,_.t)()],void 0,this.featureName,this.ee),a=!1}))}),c=(0,C.s)(e=>{"loading"!==document.readyState&&((0,S.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0}))},100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,()=>r.e(478).then(r.bind(r,4393)),{domObserver:o})}}var Tt=r(981);const At={},St=new Set;function xt(e){return"string"==typeof e?{type:"string",size:(new TextEncoder).encode(e).length}:e instanceof ArrayBuffer?{type:"ArrayBuffer",size:e.byteLength}:e instanceof Blob?{type:"Blob",size:e.size}:e instanceof DataView?{type:"DataView",size:e.byteLength}:ArrayBuffer.isView(e)?{type:"TypedArray",size:e.byteLength}:{type:"unknown",size:0}}class Ot{constructor(e,t){this.timestamp=(0,_.t)(),this.currentUrl=(0,Ee.L)(window.location.href),this.socketId=(0,ye.LA)(8),this.requestedUrl=(0,Ee.L)(e),this.requestedProtocols=Array.isArray(t)?t.join(","):t||"",this.openedAt=void 0,this.protocol=void 0,this.extensions=void 0,this.binaryType=void 0,this.messageOrigin=void 0,this.messageCount=0,this.messageBytes=0,this.messageBytesMin=0,this.messageBytesMax=0,this.messageTypes=void 0,this.sendCount=0,this.sendBytes=0,this.sendBytesMin=0,this.sendBytesMax=0,this.sendTypes=void 0,this.closedAt=void 0,this.closeCode=void 0,this.closeReason="unknown",this.closeWasClean=void 0,this.connectedDuration=0,this.hasErrors=void 0}}class _t extends W{static featureName=o.TZ;constructor(e){super(e,o.TZ);const n=e.init.feature_flags.includes("websockets")||e.init.web_sockets?.enabled,s=!e.init.feature_flags.includes("no_spv"),a=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.performance.resources.enabled,e.init.user_actions.enabled,n,s];var c;let d;if(c=e,(0,N.Y)(k.hG,(e,t)=>ce(e,t,c),c),function(e){(0,N.Y)(k.fF,(t,r)=>ue(t,r,e),e)}(e),ct(e),Se(e),function(e){(0,N.Y)(k.V1,(t,r)=>de(t,r,e),e)}(e),this.removeOnAbort=new AbortController,this.abortHandler=()=>{this.removeOnAbort.abort(),this.abortHandler=void 0},n){const u=function(e,t){if(!(0,i.dV)().o.WS)return e;const r=e.get("websockets");if(At[r.debugId]++)return r;At[r.debugId]=1,(0,V.G)(()=>{const e=(0,_.t)();St.forEach(t=>{t.nrData.closedAt=e,t.nrData.closeCode=1001,t.nrData.closeReason="Page navigating away",t.nrData.closeWasClean=!1,t.nrData.openedAt&&(t.nrData.connectedDuration=e-t.nrData.openedAt),r.emit("ws",[t.nrData,t.targets],t)})});
5class n extends WebSocket{static name=Tt.R.WS;static toString(){return"function WebSocket() { [native code] }"}toString(){return"[object WebSocket]"}get[Symbol.toStringTag](){return n.name}#o(e){(e.__newrelic??={}).socketId=this.nrData.socketId,this.nrData.hasErrors??=!0}constructor(...e){super(...e),this.nrData=new Ot(e[0],e[1]),this.targets=(0,Ie.$5)(t),this.addEventListener("open",()=>{this.nrData.openedAt=(0,_.t)(),["protocol","extensions","binaryType"].forEach(e=>{this.nrData[e]=this[e]}),St.add(this)}),this.addEventListener("message",e=>{const{type:t,size:r}=xt(e.data);this.nrData.messageOrigin??=(0,Ee.L)(e.origin),this.nrData.messageCount++,this.nrData.messageBytes+=r,this.nrData.messageBytesMin=Math.min(this.nrData.messageBytesMin||1/0,r),this.nrData.messageBytesMax=Math.max(this.nrData.messageBytesMax,r),(this.nrData.messageTypes??"").includes(t)||(this.nrData.messageTypes=this.nrData.messageTypes?"".concat(this.nrData.messageTypes,",").concat(t):t)}),this.addEventListener("close",e=>{this.nrData.closedAt=(0,_.t)(),this.nrData.closeCode=e.code,e.reason&&(this.nrData.closeReason=e.reason),this.nrData.closeWasClean=e.wasClean,this.nrData.connectedDuration=this.nrData.closedAt-this.nrData.openedAt,St.delete(this),r.emit("ws",[this.nrData,this.targets],this)})}addEventListener(e,t,...r){const n=this,i="function"==typeof t?function(...e){try{return t.apply(this,e)}catch(e){throw n.#o(e),e}}:t?.handleEvent?{handleEvent:function(...e){try{return t.handleEvent.apply(t,e)}catch(e){throw n.#o(e),e}}}:t;return super.addEventListener(e,i,...r)}send(e){if(this.readyState===WebSocket.OPEN){const{type:t,size:r}=xt(e);this.nrData.sendCount++,this.nrData.sendBytes+=r,this.nrData.sendBytesMin=Math.min(this.nrData.sendBytesMin||1/0,r),this.nrData.sendBytesMax=Math.max(this.nrData.sendBytesMax,r),(this.nrData.sendTypes??"").includes(t)||(this.nrData.sendTypes=this.nrData.sendTypes?"".concat(this.nrData.sendTypes,",").concat(t):t)}try{return super.send(e)}catch(e){throw this.#o(e),e}}close(...e){try{super.close(...e)}catch(e){throw this.#o(e),e}}}return g.gm.WebSocket=n,r}(this.ee,e);u.on("ws",(e,t)=>{(0,S.p)("ws-complete",[e,t],void 0,this.featureName,this.ee)})}if(s){if("function"==typeof g.gm.ReportingObserver){const l=new g.gm.ReportingObserver(e=>{e.forEach(e=>{(0,S.p)("spv",[kt(e),(0,_.t)()],void 0,t.K7.genericEvents,this.ee)}),l.disconnect()},{types:["csp-violation"],buffered:!0});l.observe()}g.gm.addEventListener("securitypolicyviolation",e=>{(0,S.p)("spv",[kt(e),e.timeStamp],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal))}if(g.RI){if(ze(this.ee,e),De(this.ee,e),d=at(this.ee,e),e.init.user_actions.enabled){function f(t){const r=(0,Ge.D)(t);return e.beacons.includes(r.hostname+":"+r.port)}function h(){d.emit("navChange")}o.Zp.forEach(e=>(0,J.sp)(e,e=>(0,S.p)("ua",[e],void 0,this.featureName,this.ee),!0)),o.qN.forEac
5h(e=>{const t=(0,C.s)(e=>{(0,S.p)("ua",[e],void 0,this.featureName,this.ee)},500,{leading:!0});(0,J.sp)(e,t)}),g.gm.addEventListener("error",()=>{(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal)),this.ee.on("open-xhr-start",(e,r)=>{f(e[1])||r.addEventListener("readystatechange",()=>{2===r.readyState&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(void 0,this.removeOnAbort.signal))}),this.ee.on("fetch-start",e=>{e.length>=1&&!f(Ze(e[0]))&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)}),d.on("pushState-end",h),d.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,J.jT)(!0,this.removeOnAbort.signal)),window.addEventListener("popstate",h,(0,J.jT)(!0,this.removeOnAbort.signal))}if(e.init.performance.resources.enabled&&g.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{(0,S.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)})}).observe({type:"resource",buffered:!0})}}a.some(e=>e)?this.importAggregator(e,()=>r.e(478).then(r.bind(r,8019))):this.deregisterDrain()}}function kt(e){const t=e.body??e;return{blockedUrl:t.blockedURL??e.blockedURI,documentUrl:t.documentURL??e.documentURI,effectiveDirective:t.effectiveDirective,originalPolicy:t.originalPolicy,sourceFile:t.sourceFile,statusCode:t.statusCode,lineNumber:t.lineNumber,columnNumber:t.columnNumber,disposition:"reporting"===t.disposition?"report":t.disposition,sample:t.sample,referrer:t.referrer}}var Nt=r(2646);const Lt=new Map;function Mt(e,t,r,n,i=!0,s){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const a=function(e){return(e||R.ee).get("logger")}(e),o=(0,Pe.YM)(a,void 0,s),c=new Nt.y(R.P);c.level=n.level,c.customAttributes=n.customAttributes,c.autoCaptured=i;const d=t[r]?.[Pe.Jt]||t[r];return Lt.set(d,c),o.inPlace(t,[r],"wrap-logger-",()=>Lt.get(d),void 0,!0),a}var Pt=r(1910);class It extends W{static featureName=se.TZ;constructor(e){var t;super(e,se.TZ),t=e,(0,N.Y)("log",(e,r)=>oe(e,r,t),t),function(e){(0,N.Y)(k.Wb,(t,r,{customAttributes:n={},level:i=se.p_.INFO}={})=>{Mt(e.ee,t,r,{customAttributes:n,level:i},!1,e)},e)}(e),Se(e);const n=this.ee;["log","error","warn","info","debug","trace"].forEach(t=>{(0,Pt.i)(g.gm.console[t]),Mt(n,g.gm.console,t,{level:"log"===t?"info":t},void 0,e)}),this.ee.on("wrap-logger-end",function([t],r,i,s=[e.runtime.v2Target]){const{level:a,customAttributes:o,autoCaptured:c}=this;s.forEach(e=>{(0,ae.R)(n,t,o,a,c,e)})}),this.importAggregator(e,()=>r.e(478).then(r.bind(r,5288)))}}new F({features:[nt,K,G,vt,Et,Y,Oe,_t,It,Rt],loaderType:"spa"})})()})();</script>
5 6<meta name="title" content="Neue Firma"/> 7<meta name="keywords" content="Magento, Varien, E-commerce"/> 8<meta name="robots" content="INDEX,FOLLOW"/> 9<meta name="viewport" content="width=device-width, initial-scale=1"/> 10<title>Neue Firma</title> 11 <link rel="stylesheet" type="text/css" media="all" href="https://pik.de/shop/static/version1790200954/frontend/PIK/default/de_DE/css/styles.css" />
12<script type="text/javascript" src="https://pik.de/shop/static/version1790200954/frontend/PIK/default/de_DE/Magento_Catalog/js/addto-script.js"></script>
12 13<link rel="preload" as="font" crossorigin="anonymous" href="https://pik.de/shop/static/version1790200954/frontend/PIK/default/de_DE/fonts/roboto-condensed-v25-latin-regular.woff2" /> 14<link rel="icon" type="image/x-icon" href="https://pik.de/shop/media/favicon/stores/1/Screenshot_2026-05-19_085745.png" /> 15<link rel="shortcut icon" type="image/x-icon" href="https://pik.de/shop/media/favicon/stores/1/Screenshot_2026-05-19_085745.png" /> 16<style> 17#Silhouette { 18 transform-box: fill-box; 19 transform-origin: 50% 50%; 20 animation: 21 silhouetteAppear 0.5s 0.2s cubic-bezier(.25, .8, .3, 1.3) both, 22 silhouetteFade 0.4s 2.1s linear forwards; 23 } 24 @keyframes silhouetteAppear { 25 0% { opacity: 0; transform: scale(0); } 26 30% { opacity: 1; transform: scale(1.18); } 27 60% { transform: scale(0.94); } 28 80% { transform: scale(1.03); } 29 100% { opacity: 1; transform: scale(1); } 30 } 31 @keyframes silhouetteFade { 32 0% { opacity: 1; } 33 100% { opacity: 0; } 34 } 35 36 #final-cone, 37 #final-wave-1, 38 #final-wave-2 { 39 opacity: 0; 40 transform-box: fill-box; 41 } 42 #final-cone { transform-origin: 50% 50%; animation: coneSpin 1.1s 2.15s cubic-bezier(.4,.1,.3,1) forwards; } 43 #final-wave-1 { transform-origin: 0% 50%; animation: wave1Spin 1.2s 2.25s cubic-bezier(.4,.1,.3,1) forwards; } 44 #final-wave-2 { transform-origin: 0% 50%; animation: wave2Spin 1.3s 2.4s cubic-bezier(.4,.1,.3,1) forwards; } 45 46 @keyframes coneSpin { 47 0% { opacity: 0; transform: rotateY(-90deg); } 48 35% { opacity: 1; transform: rotateY(45deg); } 49 65% { transform: rotateY(-18deg); } 50 100% { opacity: 1; transform: rotateY(0deg); } 51 } 52 @keyframes wave1Spin { 53 0% { opacity: 0; transform: scaleX(0) rotateY(80deg); } 54 35% { opacity: 1; transform: scaleX(1) rotateY(-48deg); } 55 65% { transform: scaleX(1) rotateY(20deg); } 56 100% { opacity: 1; transform: scaleX(1) rotateY(0deg); } 57 } 58 @keyframes wave2Spin { 59 0% { opacity: 0; transform: scaleX(0) rotateY(-85deg); } 60 35% { opacity: 1; transform: scaleX(1) rotateY(50deg); } 61 65% { transform: scaleX(1) rotateY(-22deg); } 62 100% { opacity: 1; transform: scaleX(1) rotateY(0deg); } 63 } 64 65 /* Hover-FX POP â Scale-Bounce (browser-unabhaengig, kein Filter) */ 66 .pendle { transform-box: fill-box; transform-origin: 50% 50%; } 67 68 /* Shine-Sweep nur ueber PIK (R->L, skewX -25°). Wird per JS bei Hover ueber das Logo getriggert. */ 69 #shineSweep { 70 transform-box: fill-box; 71 opacity: 0; 72 } 73 @keyframes shineMove { 74 0% { transform: translateX(80px) skewX(-25deg); opacity: 0; } 75 12% { transform: translateX(65px) skewX(-25deg); opacity: 1; } 76 88% { transform: translateX(-50px) skewX(-25deg); opacity: 1; } 77 100% { transform: translateX(-70px) skewX(-25deg); opacity: 0; } 78 } 79 80 @keyframes fx_pop { 81 0% { transform: scale(1); } 82 30% { transform: scale(1.18); } 83 55% { transform: scale(0.94); } 84 80% { transform: scale(1.03); } 85 100% { transform: scale(1); } 86 } 87 88 .wave { 89 fill: none; 90 stroke-linecap: round; 91 transform-box: fill-box; 92 opacity: 0; 93 } 94 95 /* FORWARD (alle 3 Wellen, gleiches Pattern, unterschiedliche Dicken/Farben) */ 96 .fwd { 97 transform-origin: 0% 50%; 98 } 99 #wave-fwd-1 { stroke: #fff; animation: fwdGo1 1.6s 0.55s linear, fwdGo1 1.6s 2.1s linear; } 100 #wave-fwd-2 { stroke: #fff; animation: fwdGo2 1.6s 0.8s linear, fwdGo2 1.6s 2.35s linear; } 101 #wave-fwd-3 { stroke: #fff; animation: fwdGo3 1.6s 1.05s linear, fwdGo3 1.6s 2.6s linear; } 102 103 @keyframes fwdGo1 { 104 0% { transform: scale(0.3); opacity: 1; stroke-width: 1.25; } 105 25% { opacity: 1; } 106 32% { transform: scale(5); opacity: 1; stroke-width: 2; } 107 34% { transform: scale(5.2); opacity: 0; stroke-width: 2.25; } 108 100% { transform: scale(5.2); opacity: 0; stroke-width: 2.25; } 109 } 110 @keyframes fwdGo2 { 111 0% { transform: scale(0.3); opacity: 1; stroke-width: 1.75; } 112 25% { opacity: 1; } 113 32% { transform: scale(5); opacity: 1; stroke-width: 2.75; } 114 34% { transform: scale(5.2); opacity: 0; stroke-width: 3; } 115 100% { transform: scale(5.2); opacity: 0; stroke-width: 3; } 116 } 117 @keyframes fwdGo3 { 118 0% { transform: scale(0.3); opacity: 1; stroke-width: 1; } 119 25% { opacity: 1; } 120 32% { transform: scale(5); opacity: 1; stroke-width: 1.5; } 121 34% { transform: scale(5.2); opacity: 0; stroke-width: 1.75; } 122 100% { transform: scale(5.2); opacity: 0; stroke-width: 1.75; } 123 } 124 125 /* REVERSE (alle 3 Wellen, gleiches Pattern wie Forward aber gespiegelt, mit Decel + Fade) */ 126 .rev { 127 transform-origin: 100% 50%; 128 } 129 #wave-rev-1 { stroke: #fff; animation: revBack1 1.6s 0.55s cubic-bezier(.15, .5, .3, 1); } 130 #wave-rev-2 { stroke: #fff; animation: revBack2 1.6s 0.8s cubic-bezier(.15, .5, .3, 1); } 131 #wave-rev-3 { stroke: #fff; animation: revBack3 1.6s 1.05s cubic-bezier(.15, .5, .3, 1); } 132 133 @keyframes revBack1 { 134 0%,33% { transform: scale(0.3); opacity: 0; stroke-width: 1.25; } 135 34% { transform: scale(0.3); opacity: 0.5; stroke-width: 1.25; } 136 100% { transform: scale(5.2); opacity: 0; stroke-width: 2.25; } 137 } 138 @keyframes revBack2 { 139 0%,33% { transform: scale(0.3); opacity: 0; stroke-width: 1.75; } 140 34% { transform: scale(0.3); opacity: 0.5; stroke-width: 1.75; } 141 100% { transform: scale(5.2); opacity: 0; stroke-width: 3; } 142 } 143 @keyframes revBack3 { 144 0%,33% { transform: scale(0.3); opacity: 0; stroke-width: 1; } 145 34% { transform: scale(0.3); opacity: 0.5; stroke-width: 1; } 146 100% { transform: scale(5.2); opacity: 0; stroke-width: 1.75; } 147 } 148 149 /* LETTER REVEAL: blur-in mit motion */ 150 #wordmark-1, #wordmark-2, #wordmark-3 { 151 transform-box: fill-box; 152 transform-origin: 50% 50%; 153 opacity: 0; 154 filter: blur(6px); 155 } 156 #wordmark-3 { animation: blurIn 0.55s 1.7s ease-out forwards; } 157 #wordmark-2 { animation: blurIn 0.55s 1.85s ease-out forwards; } 158 #wordmark-1 { animation: blurIn 0.55s 2.0s ease-out forwards; } 159 @keyframes blurIn { 160 0% { opacity: 0; transform: translateX(20px); filter: blur(6px); } 161 100% { opacity: 1; transform: translateX(0); filter: blur(0); } 162 } 163 164 /* TAGLINE â Wipe-Reveal nach dem Logo (ab 2.8s, L->R) */ 165 166#Tagline { 167 opacity: 0; 168 animation: taglineWipe 0.9s 3s cubic-bezier(0.3, 0.8, 0.3, 1) forwards !important; 169} 170 171 @keyframes taglineWipe { 172 0% { clip-path: inset(0 100% 0 0); opacity: 1; } 173 100% { clip-path: inset(0 0% 0 0); opacity: 1; } 174} 175 </style> 176 177 178
179<script> 180 // Hover-FX POP (cone/wellen) + Shine-Sweep (PIK) bei Logo-Hover 181 (function() { 182 var POP_DUR = '0.55s'; 183 var POP_EASE = 'cubic-bezier(0.25, 0.8, 0.3, 1.3)'; 184 185 function bindPop(el) { 186 var running = false; 187 el.addEventListener('mouseenter', function() { 188 if (running) return; 189 running = true; 190 el.style.animation = 'fx_pop ' + POP_DUR + ' ' + POP_EASE + ' forwards'; 191 }); 192 el.addEventListener('animationend', function(ev) { 193 if (ev.target !== el || ev.animationName !== 'fx_pop') return; 194 running = false; 195 el.style.animation = ''; 196 el.style.transform = ''; 197 el.style.filter = ''; 198 }); 199 } 200 201 function bindShine() { 202 var svg = document.getElementById('Logo'); 203 var shine = document.getElementById('shineSweep'); 204 if (!svg || !shine) return; 205 var running = false; 206 svg.addEventListener('mouseenter', function() { 207 if (running) return; 208 running = true; 209 shine.style.animation = 'shineMove 1.8s ease-in-out forwards'; 210 }); 211 shine.addEventListener('animationend', function(ev) { 212 if (ev.animationName !== 'shineMove') return; 213 running = false; 214 shine.style.animation = ''; 215 }); 216 } 217 218 function revealTagline() { 219 var t = document.getElementById('Tagline'); 220 if (t) t.classList.add('r_eveal'); 221 } 222 function init() { 223 document.querySelectorAll('.pendle').forEach(bindPop); 224 bindShine(); 225 // setTimeout(revealTagline, 2800); // nach PIK-BlurIn (bis 2.55s) 226 } 227 if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', init); 228 else init(); 229 })(); 230 </script>
230 231 232 233 234 235 236<link media="all" href="https://pik.de/pik-shop-styles.css" rel="stylesheet"> 237<link media="all" href="https://pik.de/lbmain.css" rel="stylesheet"> 238 239 240 241 242<style> 243/**** rebranding *****/ 244.btn-primary { 245 border-color: #0f1e5a; 246 background-color: #0f1e5a; 247} 248 249.btn-primary:hover { 250 border-color: #0f1e5a; 251 color: #0f1e5a; 252} 253 254.bg-primary { 255 background-color: #0f1e5a; 256} 257 258.border-primary { 259 border-color: #0f1e5a; 260} 261 262.text-primary { 263 color: #0f1e5a; 264} 265 266.ring-primary\/50 { 267 --tw-ring-color: #0f1e5a80; 268} 269 270.ring-primary\/75 { 271 --tw-ring-color: #0f1e5abf; 272} 273 274.focus\:border-primary:focus, 275.focus\:border-primary-lighter:focus { 276 border-color: #0f1e5a; 277} 278 279.focus-visible\:ring-primary:focus-visible { 280 --tw-ring-color: #0f1e5a; 281} 282 283.hover\:border-primary:hover { 284 border-color: #0f1e5a; 285} 286 287.hover\:text-primary:hover { 288 color: #0f1e5a; 289} 290 291a.pagebuilder-button-primary, 292button.pagebuilder-button-primary, 293div.pagebuilder-button-primary { 294 border-color: #0f1e5a; 295 background-color: #0f1e5a; 296} 297 298a.pagebuilder-button-primary:hover, 299button.pagebuilder-button-primary:hover, 300div.pagebuilder-button-primary:hover { 301 border-color: #0f1e5a; 302 color: #0f1e5a; 303} 304 305.actions-toolbar .primary button { 306 border-color: #0f1e5a; 307 background-color: #0f1e5a; 308} 309 310.actions-toolbar .primary button:hover { 311 border-color: #0f1e5a; 312 color: #0f1e5a; 313} 314 315 316 317 318 319 320 321.playbutton [data-playbutton-background-color=pik-white]:after,.playbutton:hover [data-playbutton-background-color=pik-blue]:after { 322 border-color: #0000 #0000 #0000 #0f1e5a; 323} 324 325 326.playbutton [data-playbutton-arrow-direction=down][data-playbutton-background-color=pik-white]:after,.playbutton:hover [data-playbutton-arrow-direction=down][data-playbutton-background-color=pik-blue]:after { 327 border-color: #f1e5a #0000 #0000 #0000; 328} 329 330.playbutton:hover [data-playbutton-background-color=pik-white]:before { 331 background-color: #0f1e5a; 332} 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354/***** end rebranding *****/ 355 356 357 358 359 360/* 361#menu-pik-menu #menu-item-6992 #menu-item-57269 a, 362#menu-pik-menu #menu-item-6992 #menu-item-57269 a.active, 363#menu-pik-menu #menu-item-6992 #menu-item-57269:hover a { 364 color: #fff; 365 background: #8c52ff !important; 366} 367*/ 368 369 370.grid.product-tabs { 371 display: block !important; 372} 373 374 375body, button, input, select, textarea { 376 font-family: "Roboto Condensed", sans-serif; 377 font-size: 15px; 378} 379 380[id^="qty"] { 381 border: 1px solid #ccc; 382} 383 384.top-bar { 385 font-size: 13px; 386} 387 388body { 389 overflow-x: hidden; 390} 391 392#search-content input[type=search] { 393 padding: 10px 20px !important; 394} 395 396input#search { 397 height: 42px !important; 398} 399 400div#mega-menu-wrap-primary { 401 height: 90px !important;; 402} 403 404 405 406.catalog-product-view .container.product { 407 margin-bottom: 0 !important; 408} 409 410.relative.self-center.w-full.product-slider_ { 411 max-width: 744px !important; 412} 413 414h1 { 415 margin-bottom: 8px; 416} 417 418 419 420 421 422a#compare-link.invisible span.-absolute.top-0, 423.invisible { 424 display: none; 425} 426 427@media (max-width:768px) { 428#html-body [data-pb-style=BU1V5YG], #html-body [data-pb-style=H73VDLV], #html-body [data-pb-style=PE73275], #html-body [data-pb-style=PMVRSFH] { 429 flex-basis: calc(50% - 15px) !important; 430} 431 432[data-content-type=row][data-appearance=contained], 433[data-content-type=row]>div { 434 padding-right: 0 !important;; 435 padding-left: 0 !important; 436} 437.columns, 438div#pik-footer, 439[data-content-type=row][data-appearance=full-width]>.row-full-width-inner, 440.page-bottom .page-bottom-std, 441.category-description, 442.page-bottom .content .widget.block { 443 padding-right: 15px !important;; 444 padding-left: 15px !important; 445} 446 447#header .inside-header.grid-container.grid-parent { 448 box-sizing: content-box !important; 449} 450 451.balkenlinks { 452 margin-left: 10px !important; 453} 454 455.balkenlinks .pagebuilder-column-line { 456 flex-direction: column; 457 gap:0; 458} 459 460.balkenlinks .pagebuilder-column-line .pagebuilder-column { 461width:100% !important; 462} 463 464.category-description .pagebuilder-column:nth-child(2) { 465min-width:300px !important; 466} 467 468} 469 470.catalog-product-view #maincontent h2,
471.catalog-product-view #maincontent h2 .gross { 472 font-size:28px !important; 473} 474 475 476.message.company-warning._hidden { 477 display: none !important; 478 position: absolute; 479 z-index: 1; 480} 481 482 483.spacer-60 { 484 height:60px; 485 clear:both; 486} 487 488@media (max-width:1050px) { 489 .spacer-60 { 490 height:0; 491} 492.icons-top-wrapper { 493 margin-bottom:15px; 494} 495} 496 497 498 499.icons-top-wrapper ul { 500 margin-bottom:0px !important; 501} 502 503 504 505@media (max-width: 1280px) { 506 #masthead .site-logo { 507 margin-bottom: -25px !important; 508 margin-top: 10px !important 509 } 510} 511 512 513 514 515@media (max-width:500px) { 516.icons-top-wrapper ul img { 517 width: 12vw !important; 518} 519 520.eel-img { 521 522 display:flex; 523 justify-content:center; 524} 525.eel-img img { 526 max-width: 85%; 527} 528} 529 530.liste-horizontal { 531 display: flex; 532 align-content: center; 533 justify-content: center; 534 gap:30px; 535 width:100%; 536 } 537 538#category-view-container { 539 align-items: normal; 540} 541 542main#maincontent { 543 margin-top: 0; 544} 545 546.column.main section { 547 padding-top: 0; 548} 549 550.pages-items a.bg-gray-100.border-primary { 551 background: #ccc; 552 color: #000; 553} 554 555#menu-pik-menu > li > ul.sub-menu > li { 556 white-space :nowrap; 557} 558 559#menu-pik-menu > li > ul.sub-menu > li > ul { 560 white-space :normal; 561} 562 563 564 565[data-content-type=row][data-appearance=contained] { 566 overflow: hidden; 567} 568 569h3.heading-line_ { 570 max-width: 100vw !important; 571 overflow: hidden; 572} 573 574</style> 575
575<script type="text/javascript" data-routing="commerce=rum" defer="defer" src="https://rum.hlx.page/.rum/@adobe/helix-rum-js@^2/dist/rum-standalone.js"></script>
575 576
577<script nonce="b3pzYWc0OTRsd2J4MW4zODJ3Ymh3Ymx1OW91czhsbGc="> 578 window.YIREO_GOOGLETAGMANAGER2_ENABLED = true; 579 (function (events) { 580 const initYireoGoogleTagManager2 = function () { 581 events.forEach(function (eventType) { 582 window.removeEventListener(eventType, initYireoGoogleTagManager2); 583 }); 584 585 (function (w, d, s, l, i) { 586 w[l] = w[l] || []; 587 w[l].push({'gtm.start': new Date().getTime(), event: 'gtm.js'}); 588 var f = d.getElementsByTagName(s)[0], 589 j = d.createElement(s), 590 dl = l != 'dataLayer' ? '&l=' + l : ''; 591 j.async = true; 592 j.src = 'https\u003A\u002F\u002Fdata.pik.de' + '/gtm.js?id=' + i + dl; 593 f.parentNode.insertBefore(j, f); 594 })(window, document, 'script', 'dataLayer', 'GTM\u002DT78SH7J'); 595 }; 596 597 events.forEach(function (eventType) { 598 window.addEventListener(eventType, initYireoGoogleTagManager2, {once: true, passive: true}) 599 }); 600 })(['load', 'keydown', 'mouseover', 'scroll', 'touchstart', 'wheel']); 601 602 </script>
vendor: 1 bytes, line 602
602
603<script> 604 var BASE_URL = 'https://pik.de/shop/'; 605 var THEME_PATH = 'https://pik.de/shop/static/version1790200954/frontend/PIK/default/de_DE'; 606 var COOKIE_CONFIG = { 607 "expires": null, 608 "path": "\u002Fshop", 609 "domain": ".pik.de", 610 "secure": true, 611 "lifetime": "3600", 612 "cookie_restriction_enabled": false }; 613 var CURRENT_STORE_CODE = 'pik_de_de_de'; 614 var CURRENT_WEBSITE_ID = '1'; 615 616 window.hyva = window.hyva || {} 617 618 window.cookie_consent_groups = window.cookie_consent_groups || {} 619 window.cookie_consent_groups['necessary'] = true; 620 621 window.cookie_consent_config = window.cookie_consent_config || {}; 622 window.cookie_consent_config['necessary'] = [].concat( 623 window.cookie_consent_config['necessary'] || [], 624 [ 625 'user_allowed_save_cookie', 626 'form_key', 627 'mage-messages', 628 'private_content_version', 629 'mage-cache-sessid', 630 'last_visited_store', 631 'section_data_ids' 632 ] 633 ); 634 //# sourceURL=hyva-variables.js 635</script>
vendor: 1 bytes, line 635
635
636<script> 637 (function( hyva, undefined ) { 638 639 function lifetimeToExpires(options, defaults) { 640 641 const lifetime = options.lifetime || defaults.lifetime; 642 643 if (lifetime) { 644 const date = new Date; 645 date.setTime(date.getTime() + lifetime * 1000); 646 return date; 647 } 648 649 return null; 650 } 651 652 function generateRandomString() { 653 654 const allowedCharacters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', 655 length = 16; 656 657 let formKey = '', 658 charactersLength = allowedCharacters.length; 659 660 for (let i = 0; i < length; i++) { 661 formKey += allowedCharacters[Math.round(Math.random() * (charactersLength - 1))] 662 } 663 664 return formKey; 665 } 666 667 const sessionCookieMarker = {noLifetime: true} 668 669 const cookieTempStorage = {}; 670 671 const internalCookie = { 672 get(name) { 673 const v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)'); 674 return v ? v[2] : null; 675 }, 676 set(name, value, days, skipSetDomain) { 677 let expires, 678 path, 679 domain, 680 secure, 681 samesite; 682 683 const defaultCookieConfig = { 684 expires: null, 685 path: '/', 686 domain: null, 687 secure: false, 688 lifetime: null, 689 samesite: 'lax' 690 }; 691 692 const cookieConfig = window.COOKIE_CONFIG || {}; 693 694 expires = days && days !== sessionCookieMarker 695 ? lifetimeToExpires({lifetime: 24 * 60 * 60 * days, expires: null}, defaultCookieConfig) 696 : lifetimeToExpires(window.COOKIE_CONFIG, defaultCookieConfig) || defaultCookieConfig.expires; 697 698 path = cookieConfig.path || defaultCookieConfig.path; 699 domain = !skipSetDomain && (cookieConfig.domain || defaultCookieConfig.domain); 700 secure = cookieConfig.secure || defaultCookieConfig.secure; 701 samesite = cookieConfig.samesite || defaultCookieConfig.samesite; 702 703 document.cookie = name + "=" + encodeURIComponent(value) + 704 (expires && days !== sessionCookieMarker ? '; expires=' + expires.toGMTString() : '') + 705 (path ? '; path=' + path : '') + 706 (domain ? '; domain=' + domain : '') + 707 (secure ? '; secure' : '') + 708 (samesite ? '; samesite=' + samesite : 'lax'); 709 }, 710 isWebsiteAllowedToSaveCookie() { 711 const allowedCookies = this.get('user_allowed_save_cookie'); 712 if (allowedCookies) { 713 const allowedWebsites = JSON.parse(unescape(allowedCookies)); 714 715 return allowedWebsites[CURRENT_WEBSITE_ID] === 1; 716 } 717 return false; 718 }, 719 getGroupByCookieName(name) { 720 const cookieConsentConfig = window.cookie_consent_config || {}; 721 let group = null; 722 for (let prop in cookieConsentConfig) { 723 if (!cookieConsentConfig.hasOwnProperty(prop)) continue; 724 if (cookieConsentConfig[prop].includes(name)) { 725 group = prop; 726 break; 727 } 728 } 729 return group; 730 }, 731 isCookieAllowed(name) { 732 const cookieGroup = this.getGroupByCookieName(name); 733 return cookieGroup 734 ? window.cookie_consent_groups[cookieGroup] 735 : this.isWebsiteAllowedToSaveCookie(); 736 }, 737 saveTempStorageCookies() { 738 for (const [name, data] of Object.entries(cookieTempStorage)) { 739 if (this.isCookieAllowed(name)) { 740 this.set(name, data['value'], data['days'], data['skipSetDomain']); 741 delete cookieTempStorage[name]; 742 } 743 } 744 } 745 }; 746 747 hyva.getCookie = (name) => { 748 const cookieConfig = window.COOKIE_CONFIG || {}; 749 750 if (cookieConfig.cookie_restriction_enabled && ! internalCookie.isCookieAllowed(name)) { 751 return cookieTempStorage[name] ? cookieTempStorage[name]['value'] : null; 752 } 753 754 return internalCookie.get(name); 755 } 756 757 hyva.setCookie = (name, value, days, skipSetDomain) => { 758 const cookieConfig = window.COOKIE_CONFIG || {}; 759 760 if (cookieConfig.cookie_restriction_enabled && ! internalCookie.isCookieAllowed(name)) { 761 cookieTempStorage[name] = {value, days, skipSetDomain}; 762 return; 763 } 764 return internalCookie.set(name, value, days, skipSetDomain); 765 } 766 767 768 hyva.setSessionCookie = (name, value, skipSetDomain) => { 769 return hyva.setCookie(name, value, sessionCookieMarker, skipSetDomain) 770 } 771 772 hyva.getBrowserStorage = () => { 773 const browserStorage = window.localStorage || window.sessionStorage; 774 if (!browserStorage) { 775 console.warn('Browser Storage is unavailable'); 776 return false;
777 } 778 try { 779 browserStorage.setItem('storage_test', '1'); 780 browserStorage.removeItem('storage_test'); 781 } catch (error) { 782 console.warn('Browser Storage is not accessible', error); 783 return false; 784 } 785 return browserStorage; 786 } 787 788 hyva.postForm = (postParams) => { 789 const form = document.createElement("form"); 790 791 let data = postParams.data; 792 793 if (! postParams.skipUenc && ! data.uenc) { 794 data.uenc = btoa(window.location.href); 795 } 796 form.method = "POST"; 797 form.action = postParams.action; 798 799 Object.keys(postParams.data).map(key => { 800 const field = document.createElement("input"); 801 field.type = 'hidden' 802 field.value = postParams.data[key]; 803 field.name = key; 804 form.appendChild(field); 805 }); 806 807 const form_key = document.createElement("input"); 808 form_key.type = 'hidden'; 809 form_key.value = hyva.getFormKey(); 810 form_key.name="form_key"; 811 form.appendChild(form_key); 812 813 document.body.appendChild(form); 814 815 form.submit(); 816 } 817 818 hyva.getFormKey = function () { 819 let formKey = hyva.getCookie('form_key'); 820 821 if (!formKey) { 822 formKey = generateRandomString(); 823 hyva.setCookie('form_key', formKey); 824 } 825 826 return formKey; 827 } 828 829 hyva.formatPrice = (value, showSign, options = {}) => { 830 const groupSeparator = options.groupSeparator; 831 const decimalSeparator = options.decimalSeparator 832 delete options.groupSeparator; 833 delete options.decimalSeparator; 834 const formatter = new Intl.NumberFormat( 835 'de\u002DDE', 836 Object.assign({ 837 style: 'currency', 838 currency: 'EUR', 839 signDisplay: showSign ? 'always' : 'auto' 840 }, options) 841 ); 842 return (typeof Intl.NumberFormat.prototype.formatToParts === 'function') ? 843 formatter.formatToParts(value).map(({type, value}) => { 844 switch (type) { 845 case 'currency': 846 return '\u20AC' || value; 847 case 'minusSign': 848 return '- '; 849 case 'plusSign': 850 return '+ '; 851 case 'group': 852 return groupSeparator !== undefined ? groupSeparator : value; 853 case 'decimal': 854 return decimalSeparator !== undefined ? decimalSeparator : value; 855 default : 856 return value; 857 } 858 }).reduce((string, part) => string + part) : 859 formatter.format(value); 860 } 861 862 const formatStr = function (str, nStart) { 863 const args = Array.from(arguments).slice(2); 864 865 return str.replace(/(%+)([0-9]+)/g, (m, p, n) => { 866 const idx = parseInt(n) - nStart; 867 868 if (args[idx] === null || args[idx] === void 0) { 869 return m; 870 } 871 return p.length % 2 872 ? p.slice(0, -1).replace('%%', '%') + args[idx] 873 : p.replace('%%', '%') + n; 874 }) 875 } 876 877 hyva.str = function (string) { 878 const args = Array.from(arguments); 879 args.splice(1, 0, 1); 880 881 return formatStr.apply(undefined, args); 882 } 883 884 hyva.strf = function () { 885 const args = Array.from(arguments); 886 args.splice(1, 0, 0); 887 888 return formatStr.apply(undefined, args); 889 } 890 891 /** 892 * Take a html string as `content` parameter and 893 * extract an element from the DOM to replace in 894 * the current page under the same selector, 895 * defined by `targetSelector` 896 */ 897 hyva.replaceDomElement = (targetSelector, content) => { 898 // Parse the content and extract the DOM node using the `targetSelector` 899 const parser = new DOMParser(); 900 const doc = parser.parseFromString(content, 'text/html');
901 const contentNode = doc.querySelector(targetSelector); 902 903 // Bail if content or target can't be found 904 if (!contentNode || !document.querySelector(targetSelector)) { 905 return; 906 } 907 908 hyva.activateScripts(contentNode); 909 910 // Replace the old DOM node with the new content 911 document.querySelector(targetSelector).replaceWith(contentNode); 912 913 // Reload customerSectionData and display cookie-messages if present 914 window.dispatchEvent(new CustomEvent("reload-customer-section-data")); 915 hyva.initMessages(); 916 } 917 918 hyva.removeScripts = (contentNode) => { 919 const scripts = contentNode.getElementsByTagName('script'); 920 for (let i = 0; i < scripts.length; i++) { 921 scripts[i].parentNode.removeChild(scripts[i]); 922 } 923 const templates = contentNode.getElementsByTagName('template'); 924 for (let i = 0; i < templates.length; i++) { 925 const container = document.createElement('div'); 926 container.innerHTML = templates[i].innerHTML; 927 hyva.removeScripts(container); 928 templates[i].innerHTML = container.innerHTML; 929 } 930 } 931 932 hyva.activateScripts = (contentNode) => { 933 // Create new array from HTMLCollection to avoid mutation of collection while manipulating the DOM. 934 const scripts = Array.from(contentNode.getElementsByTagName('script')); 935 936 // Iterate over all script tags to duplicate+inject each into the head 937 for (const original of scripts) { 938 const script = document.createElement('script'); 939 original.type && (script.type = original.type); 940 script.innerHTML = original.innerHTML; 941 942 // Remove the original (non-executing) script from the contentNode 943 original.parentNode.removeChild(original) 944 945 // Add script to head 946 document.head.appendChild(script); 947 } 948 949 return contentNode; 950 } 951 952 const replace = {['+']: '-', ['/']: '_', ['=']: ','}; 953 hyva.getUenc = () => btoa(window.location.href).replace(/[+/=]/g, match => replace[match]); 954 955 let currentTrap; 956 957 const focusableElements = (rootElement) => { 958 const selector = 'button, [href], input, select, textarea, details, [tabindex]:not([tabindex="-1"]'; 959 return Array.from(rootElement.querySelectorAll(selector)) 960 .filter(el => { 961 return el.style.display !== 'none' 962 && !el.disabled 963 && el.tabIndex !== -1 964 && (el.offsetWidth || el.offsetHeight || el.getClientRects().length) 965 }) 966 } 967 968 const focusTrap = (e) => { 969 const isTabPressed = e.key === 'Tab' || e.keyCode === 9; 970 if (!isTabPressed) return; 971 972 const focusable = focusableElements(currentTrap) 973 const firstFocusableElement = focusable[0] 974 const lastFocusableElement = focusable[focusable.length - 1] 975 976 e.shiftKey 977 ? document.activeElement === firstFocusableElement && (lastFocusableElement.focus(), e.preventDefault()) 978 : document.activeElement === lastFocusableElement && (firstFocusableElement.focus(), e.preventDefault()) 979 }; 980 981 hyva.releaseFocus = (rootElement) => { 982 if (currentTrap && (!rootElement || rootElement === currentTrap)) { 983 currentTrap.removeEventListener('keydown', focusTrap) 984 currentTrap = null 985 } 986 } 987 hyva.trapFocus = (rootElement) => { 988 if (!rootElement) return; 989 hyva.releaseFocus() 990 currentTrap = rootElement 991 rootElement.addEventListener('keydown', focusTrap) 992 const firstElement = focusableElements(rootElement)[0] 993 firstElement && firstElement.focus() 994 } 995 996 hyva.safeParseNumber = (rawValue) => { 997 const number = rawValue ? parseFloat(rawValue) : null; 998 999 return Array.isArray(number) || isNaN(number) ? rawValue : number; 1000 } 1001 1002 const toCamelCase = s => s.split('_').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(''); 1003 hyva.createBooleanObject = (name, value = false, additionalMethods = {}) => { 1004 1005 const camelCase = toCamelCase(name);
1006 const key = '__hyva_bool_' + name 1007 1008 return new Proxy(Object.assign( 1009 additionalMethods, 1010 { 1011 [key]: !!value, 1012 [name]() {return !!this[key]}, 1013 ['!' + name]() {return !this[key]}, // @deprecated This does not work with non-CSP Alpine 1014 ['not' + camelCase]() {return !this[key]}, 1015 ['toggle' + camelCase]() {this[key] = !this[key]}, 1016 [`set${camelCase}True`]() {this[key] = true}, 1017 [`set${camelCase}False`]() {this[key] = false}, 1018 } 1019 ), { 1020 set(target, prop, value) { 1021 return prop === name 1022 ? (target[key] = !!value) 1023 : Reflect.set(...arguments); 1024 } 1025 }) 1026 } 1027 1028 hyva.alpineInitialized = (fn) => window.addEventListener('alpine:initialized', fn, {once: true}) 1029 window.addEventListener('alpine:init', () => Alpine.data('{}', () => ({})), {once: true}); 1030 window.addEventListener('user-allowed-save-cookie', () => internalCookie.saveTempStorageCookies()) 1031 1032 }( window.hyva = window.hyva || {} )); 1033 //# sourceURL=hyva.js 1034</script>
vendor: 1 bytes, line 1034
1034
1035<script type="speculationrules"> 1036{ 1037 "tag": "Hyva Theme", 1038 "prefetch": [{ 1039 "source": "document", 1040 "where": { 1041 "and": [ 1042 { "href_matches": "/*" }, 1043 { "not": { 1044 "href_matches": ["/shop/customer/*","/shop/search/*","/shop/sales/*","/shop/wishlist/*","/shop/checkout/*","/shop/paypal/*","/shop/newsletter/*","/shop/stores/store/redirect/*"] }}, 1045 { "not": { 1046 "selector_matches": [".no-preload", ".do-not-prerender", "[download]", "[rel~=nofollow]", "[target]"] 1047 }} 1048 ] 1049 }, 1050 "eagerness": "moderate" 1051 }] 1052} 1053</script>
1053 1054</head> 1055<body id="html-body" class="pik-ag-class company-account-create page-layout-1column"> 1056<noscript><iframe src="https://data.pik.de/ns.html?id=GTM-T78SH7J" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 1057
1058<script> 1059 'use strict'; 1060 (function( vatSwitcher, undefined ) { 1061 const defaultVatMode = 'excluding'; 1062 1063 vatSwitcher.getVatModeFromBrowserStorage = () => { 1064 const browserStorage = hyva.getBrowserStorage(); 1065 if (! browserStorage) { 1066 console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script"); 1067 return null; 1068 } 1069 1070 return browserStorage.getItem('vat-switch-mode'); 1071 } 1072 1073 vatSwitcher.setVatMode = (value) => { 1074 const browserStorage = hyva.getBrowserStorage(); 1075 1076 if (browserStorage) { 1077 browserStorage.setItem('vat-switch-mode', value); 1078 } else { 1079 console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script"); 1080 } 1081 } 1082 1083 vatSwitcher.getVatMode = () => { 1084 return vatSwitcher.getVatModeFromBrowserStorage() || defaultVatMode; 1085 } 1086 }( window.vatSwitcher = window.vatSwitcher || {} )); 1087</script>
1087 1088<input name="form_key" type="hidden" value="rbk6CO4BduJNJki3" /> 1089 <noscript> 1090 <section 1091 class="message global noscript border-b-2 border-blue-500 bg-blue-50 shadow-none m-0 px-0 rounded-none font-normal" 1092 aria-labelledby="messageGlobalNoScriptMessage" 1093 > 1094 <div class="container text-center"> 1095 <p id="messageGlobalNoScriptMessage"> 1096 <strong>JavaScript scheint in Ihrem Browser deaktiviert zu sein.</strong> 1097 <span> 1098 Um unsere Website in bester Weise zu erfahren, aktivieren Sie Javascript in Ihrem Browser. </span> 1099 </p> 1100 </div> 1101 </section> 1102 </noscript> 1103 1104
1105<script> 1106 document.body.addEventListener('touchstart', () => {}, {passive: true}) 1107</script>
1107 1108<svg aria-hidden="true" style="position: absolute; width: 0; height: 0; overflow: hidden;" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 1109 <defs> 1110 <symbol id="icon-cart" viewBox="0 0 30 32"> 1111 <path d="M11.429 27.429c0 1.25-1.035 2.286-2.286 2.286s-2.286-1.035-2.286-2.286 1.035-2.286 2.286-2.286 2.286 1.035 2.286 2.286zM27.429 27.429c0 1.25-1.035 2.286-2.286 2.286s-2.286-1.035-2.286-2.286 1.035-2.286 2.286-2.286 2.286 1.035 2.286 2.286zM29.714 8v9.143c0 0.571-0.447 1.072-1.018 1.143l-18.642 2.178c0.089 0.41 0.232 0.822 0.232 1.25 0 0.41-0.25 0.786-0.429 1.143h16.429c0.625 0 1.143 0.518 1.143 1.143s-0.518 1.143-1.143 1.143h-18.286c-0.625 0-1.143-0.518-1.143-1.143 0-0.553 0.803-1.893 1.089-2.447l-3.161-14.696h-3.642c-0.625 0-1.143-0.518-1.143-1.143s0.518-1.143 1.143-1.143h4.571c1.197 0 1.232 1.429 1.41 2.286h21.447c0.625 0 1.143 0.518 1.143 1.143z"></path> 1112 </symbol> 1113 <symbol id="icon-heart" viewBox="0 0 32 32"> 1114 <path d="M16 29.714c-0.286 0-0.571-0.107-0.786-0.321l-11.143-10.75c-0.143-0.125-4.072-3.714-4.072-8 0-5.232 3.197-8.358 8.536-8.358 3.125 0 6.054 2.464 7.464 3.857 1.41-1.393 4.339-3.857 7.464-3.857 5.339 0 8.536 3.125 8.536 8.358 0 4.286-3.928 7.875-4.089 8.035l-11.125 10.714c-0.201 0.198-0.477 0.321-0.781 0.321-0.002 0-0.004 0-0.005 0h0z"></path> 1115 </symbol> 1116 </defs> 1117</svg> 1118 1119<div x-data="companyNoticeBlocked" 1120 @company-permissions-loaded.window="loadPrivateCompanyData" 1121> 1122 <template x-if="showNotice"> 1123 <div class="fixed w-full top-0 left-0 z-50 message company-warning bg-red-500 m-0 rounded-none"> 1124 <span class="mx-auto text-white"> 1125 Das Kunden-Firmen-Konto ist blockiert und der Kunde kann keine Bestellungen tätigen. </span> 1126 </div> 1127 </template> 1128</div> 1129
1130<script> 1131 function companyNoticeBlocked() { 1132 return { 1133 showNotice: false, 1134 loadPrivateCompanyData() { 1135 return this.showNotice = this.$event.detail.isCompanyBlocked ?? false 1136 } 1137 } 1138 } 1139 1140 window.addEventListener('alpine:init', () => Alpine.data('companyNoticeBlocked', companyNoticeBlocked), {once: true}); 1141</script>
vendor: 1 bytes, line 1141
1141
1142<script> 1143 'use strict'; 1144 1145 (() => { 1146 window.addEventListener( 1147 'ga-initialized', 1148 () => { 1149 window.addEventListener('cart-item-added', (event) => { 1150 let products = []; 1151 1152 event.detail.forEach((item) => { 1153 products.push({ 1154 id: item['product_sku'], 1155 name: item['product_name'], 1156 price: item['product_price_value'], 1157 quantity: item['qty'], 1158 }); 1159 }); 1160 1161 dataLayer.push({ 1162 event: 'addToCart', 1163 ecommerce: { 1164 currencyCode: 'EUR', 1165 add: { 1166 products: products, 1167 }, 1168 }, 1169 }); 1170 }); 1171 }, 1172 { once: true } 1173 ); 1174 })(); 1175</script>
vendor: 1 bytes, line 1175
1175
1176<script> 1177 'use strict'; 1178 1179 (() => { 1180 window.addEventListener( 1181 'ga-initialized', 1182 () => { 1183 window.addEventListener('cart-item-removed', (event) => { 1184 let products = []; 1185 1186 event.detail.forEach((item) => { 1187 products.push({ 1188 id: item['product_sku'], 1189 name: item['product_name'], 1190 price: item['product_price_value'], 1191 quantity: item['qty'], 1192 }); 1193 }); 1194 1195 dataLayer.push({ 1196 event: 'removeFromCart', 1197 ecommerce: { 1198 currencyCode: 'EUR', 1199 remove: { 1200 products: products, 1201 }, 1202 }, 1203 }); 1204 }); 1205 }, 1206 { once: true } 1207 ); 1208 })(); 1209</script>
vendor: 1 bytes, line 1209
1209
1210<script> 1211 'use strict'; 1212 1213 (() => { 1214 window.addEventListener( 1215 'ga-initialized', 1216 () => { 1217 const banners = document.querySelectorAll('\u005Bdata\u002Dbanner\u002Did\u005D'); 1218 let promotions = []; 1219 1220 banners.forEach((banner) => { 1221 banner.addEventListener('click', () => { 1222 window.dataLayer.push({ 1223 event: 'promotionClick', 1224 ecommerce: { 1225 promoClick: { 1226 promotions: [{ 1227 id: banner.dataset.bannerId, 1228 name: banner.dataset.bannerName, 1229 creative: '', 1230 position: 'company_account_create', 1231 }], 1232 }, 1233 }, 1234 }); 1235 }); 1236 1237 promotions.push({ 1238 id: banner.dataset.bannerId, 1239 name: banner.dataset.bannerName, 1240 creative: '', 1241 position: 'company_account_create', 1242 }); 1243 }); 1244 1245 if (promotions.length) { 1246 window.dataLayer.push({ 1247 event: 'promotionView', 1248 ecommerce: { 1249 promoView: { 1250 promotions: promotions, 1251 }, 1252 }, 1253 }); 1254 } 1255 }, 1256 { once: true } 1257 ); 1258 })(); 1259</script>
vendor: 1 bytes, line 1259
1259
1260<script nonce="b3pzYWc0OTRsd2J4MW4zODJ3Ymh3Ymx1OW91czhsbGc="> 1261 function yireoGoogleTagManager2Pusher(eventData, message, callback) { 1262 window.YIREO_GOOGLETAGMANAGER2_PAST_EVENTS = window.YIREO_GOOGLETAGMANAGER2_PAST_EVENTS || []; 1263 1264 function doCallback(cb) { 1265 if (undefined === cb) { 1266 return; 1267 } 1268 1269 cb(); 1270 } 1271 1272 1273 const copyEventData = Object.assign({}, eventData); 1274 let metaData = {}; 1275 if (copyEventData.meta) { 1276 metaData = copyEventData.meta; 1277 delete copyEventData.meta; 1278 } 1279 1280 const eventHash = btoa(encodeURIComponent(JSON.stringify(copyEventData))); 1281 if (window.YIREO_GOOGLETAGMANAGER2_PAST_EVENTS.includes(eventHash)) { 1282 yireoGoogleTagManager2Logger('Warning: Event already triggered', eventData); 1283 doCallback(callback); 1284 return; 1285 } 1286 1287 if (metaData && metaData.allowed_pages && metaData.allowed_pages.length > 0 1288 && false === metaData.allowed_pages.some(page => window.location.pathname.includes(page))) { 1289 yireoGoogleTagManager2Logger('Warning: Skipping event, not in allowed pages', window.location.pathname, eventData); 1290 doCallback(callback); 1291 return; 1292 } 1293 1294 if (metaData && metaData.allowed_events && metaData.allowed_events.length > 0) { 1295 for (const [allowedEventKey, allowedEvent] of Object.entries(metaData.allowed_events)) { 1296 window.addEventListener(allowedEvent, function () { 1297 const eventDataCopy = Object.assign({}, eventData); 1298 eventDataCopy.meta.allowed_events = false; 1299 yireoGoogleTagManager2Pusher(eventDataCopy, 'push (allowed event "' + eventData.event + '") [script-pusher]'); 1300 }); 1301 } 1302 1303 yireoGoogleTagManager2Logger('Warning: Skipping event, not in allowed events', window.location.pathname, eventData); 1304 doCallback(callback); 1305 return; 1306 } 1307 1308 if (!message) { 1309 message = 'push (unknown) [unknown]'; 1310 } 1311 1312 yireoGoogleTagManager2Logger(message, eventData); 1313 window.dataLayer = window.dataLayer || []; 1314 1315 if (eventData.ecommerce) { 1316 window.dataLayer.push({ecommerce: null}); 1317 } 1318 1319 try { 1320 window.dataLayer.push(eventData); 1321 window.YIREO_GOOGLETAGMANAGER2_PAST_EVENTS.push(eventHash); 1322 } catch(error) { 1323 doCallback(callback); 1324 } 1325 1326 doCallback(callback); 1327 } 1328</script>
vendor: 1 bytes, line 1328
1328
1329<script nonce="b3pzYWc0OTRsd2J4MW4zODJ3Ymh3Ymx1OW91czhsbGc="> 1330 function yireoGoogleTagManager2Logger(...args) { 1331 const debug = window.YIREO_GOOGLETAGMANAGER2_DEBUG || false; 1332 if (false === debug) { 1333 return; 1334 } 1335 1336 var color = 'gray'; 1337 if (args[0].toLowerCase().startsWith('push')) { 1338 color = 'green'; 1339 } 1340 1341 if (args[0].toLowerCase().startsWith('warning')) { 1342 color = 'orange'; 1343 } 1344 1345 var css = 'color:white; background-color:' + color + '; padding:1px;' 1346 console.log('%cYireo_GoogleTagManager2', css, ...args); 1347 } 1348</script>
vendor: 1 bytes, line 1348
1348
1349<script id="Cookiebot" src="https://consent.cookiebot.com/uc.js" data-cbid="09eebe69-8685-4bba-a286-1b668fbb49fe" data-blockingmode="auto" type="text/javascript"></script>
vendor: 1 bytes, line 1349
1349
1350<script> 1351 (function(hyva) { 1352 const formValidationRules = { 1353 required(value, options, field, context) { 1354 const el = field.element.type === 'hidden' ? createTextInputFrom(field.element) : field.element, 1355 fieldName = getFieldName(field), 1356 msg = fieldName 1357 ? hyva.str('\u00251\u0020ist\u0020ein\u0020Pflichtfeld.', fieldName) 1358 : 'Dies\u0020ist\u0020ein\u0020Pflichtfeld.'; 1359 1360 if (el.type === 'radio' || el.type === 'checkbox') { 1361 return (value === undefined || value.length === 0) ? msg : true; 1362 } 1363 1364 el.setAttribute('required', ''); 1365 el.checkValidity(); 1366 1367 return el.validity.valueMissing ? msg : true; 1368 }, 1369 maxlength(value, options, field, context) { 1370 const n = Number(options) 1371 if (value.length > n) { 1372 const fieldName = getFieldName(field); 1373 return fieldName 1374 ? n === 1 1375 ? hyva.str('\u00251\u0020field\u0020cannot\u0020be\u0020longer\u0020than\u00201\u0020character.', fieldName) 1376 : hyva.str('\u00251\u0020field\u0020cannot\u0020be\u0020longer\u0020than\u0020\u00252\u0020characters.', fieldName, options) 1377 : n === 1 1378 ? 'Bitte\u0020geben\u0020Sie\u0020nicht\u0020mehr\u0020als\u00201\u0020Zeichen\u0020ein.' 1379 : hyva.strf('Bitte\u0020geben\u0020Sie\u0020nicht\u0020mehr\u0020als\u0020\u00250\u0020Zeichen\u0020ein.', options); 1380 } 1381 return true; 1382 }, 1383 minlength(value, options, field, context) { 1384 const n = Number(options) 1385 if (value.length > 0 && value.length < n) { 1386 const fieldName = getFieldName(field); 1387 return fieldName 1388 ? n === 1 1389 ? hyva.str('\u00251\u0020field\u0020must\u0020be\u0020at\u0020least\u00201\u0020character\u0020long.', fieldName) 1390 : hyva.str('\u00251\u0020field\u0020must\u0020be\u0020at\u0020least\u0020\u00252\u0020characters\u0020long.', fieldName, options) 1391 : n === 1 1392 ? 'Bitte\u0020geben\u0020Sie\u0020mindestens\u00201\u0020Zeichen\u0020ein.' 1393 : hyva.strf('Bitte\u0020geben\u0020Sie\u0020mindestens\u0020\u00250\u0020Zeichen\u0020ein.', options); 1394 } 1395 return true; 1396 }, 1397 max(value, options, field, context) { 1398 field.element.setAttribute('max', options); 1399 field.element.checkValidity(); 1400 if (field.element.validity.rangeOverflow) { 1401 const fieldName = getFieldName(field); 1402 return fieldName 1403 ? hyva.str('\u00251\u0020field\u0020must\u0020contain\u0020a\u0020value\u0020less\u0020than\u0020or\u0020equal\u0020to\u0020\u0022\u00252\u0022.', fieldName, options) 1404 : hyva.strf('Bitte\u0020geben\u0020Sie\u0020einen\u0020Wert\u0020ein,\u0020der\u0020kleiner\u0020oder\u0020gleich\u0020\u0022\u00250\u0022\u0020ist.', options); 1405 } 1406 return true; 1407 }, 1408 min(value, options, field, context) { 1409 field.element.setAttribute('min', options); 1410 field.element.checkValidity(); 1411 if (field.element.validity.rangeUnderflow) { 1412 const fieldName = getFieldName(field); 1413 return fieldName 1414 ? hyva.str('\u00251\u0020field\u0020must\u0020contain\u0020a\u0020value\u0020greater\u0020than\u0020or\u0020equal\u0020to\u0020\u0022\u00252\u0022.', fieldName, options) 1415 : hyva.strf('Bitte\u0020geben\u0020Sie\u0020einen\u0020Wert\u0020gr\u00F6\u00DFer\u0020oder\u0020gleich\u0020\u0022\u00250\u0022\u0020ein.', options); 1416 } 1417 return true; 1418 }, 1419 step(value, options, field, context) { 1420 field.element.setAttribute('step', options); 1421 field.element.checkValidity(); 1422 if (field.element.validity.stepMismatch) { 1423 const val = Number(value), 1424 step = Number(options), 1425 fieldName = getFieldName(field), 1426 nearestLowerValue = Math.floor(val / step) * step,
1427 nearestUpperValue = Math.ceil(val / step) * step; 1428 return fieldName 1429 ? hyva.str('\u00251\u0020field\u0020is\u0020invalid.\u0020The\u0020two\u0020nearest\u0020valid\u0020values\u0020are\u0020\u0022\u00252\u0022\u0020and\u0020\u0022\u00253\u0022.', fieldName, nearestLowerValue, nearestUpperValue) 1430 : hyva.strf('Bitte\u0020geben\u0020Sie\u0020einen\u0020g\u00FCltigen\u0020Wert\u0020ein.\u0020Die\u0020beiden\u0020n\u00E4chstliegenden\u0020g\u00FCltigen\u0020Werte\u0020sind\u0020\u0022\u00250\u0022\u0020und\u0020\u0022\u00251\u0022.', nearestLowerValue, nearestUpperValue); 1431 } 1432 return true; 1433 }, 1434 pattern(value, options, field, context) { 1435 field.element.setAttribute('pattern', options); 1436 field.element.checkValidity(); 1437 if (field.element.validity.patternMismatch) { 1438 const fieldName = getFieldName(field); 1439 return fieldName 1440 ? field.element.pattern 1441 ? hyva.str('\u00251\u0020field\u0020must\u0020match\u0020the\u0020requested\u0020format\u003A\u0020\u00252.', fieldName, field.element.pattern) 1442 : hyva.str('\u00251\u0020field\u0020must\u0020match\u0020the\u0020requested\u0020format.', fieldName) 1443 : field.element.pattern 1444 ? hyva.strf('Bitte\u0020entsprechen\u0020Sie\u0020dem\u0020gew\u00FCnschten\u0020Format\u003A\u0020\u00250.', field.element.pattern) 1445 : 'Bitte\u0020beachten\u0020Sie\u0020das\u0020gew\u00FCnschte\u0020Format.'; 1446 } 1447 return true; 1448 }, 1449 email(value, options, field, context) { 1450 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; 1451 if (value.length > 0 && !rule.test(value)) { 1452 const fieldName = getFieldName(field); 1453 return fieldName 1454 ? hyva.str('\u00251\u0020field\u0020must\u0020contain\u0020a\u0020valid\u0020email\u0020address\u0020\u0028Ex\u003A\u0020johndoe\u0040domain.com\u0029.', fieldName) 1455 : 'Bitte\u0020geben\u0020Sie\u0020eine\u0020g\u00FCltige\u0020E\u002DMail\u0020Adresse\u0020ein\u0020\u0028z.B.\u0020johndoe\u0040domain.com\u0029.'; 1456 } 1457 return true; 1458 }, 1459 password(value, options, field, context) { 1460 const rule = /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/; 1461 if (value.length > 0 && !rule.test(value)) { 1462 const fieldName = getFieldName(field); 1463 return fieldName 1464 ? hyva.str('\u00251\u0020field\u0020must\u0020contain\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', fieldName) 1465 : 'Bitte\u0020geben\u0020Sie\u0020mindestens\u0020einen\u0020Gro\u00DFbuchstaben,\u0020einen\u0020Kleinbuchstaben,\u0020eine\u0020Ziffer\u0020und\u0020ein\u0020Sonderzeichen\u0020\u0028\u0023\u003F\u0021\u0040\u0024\u0025\u005E\u0026amp\u003B\u002A\u002D\u0029\u0020an.'; 1466 } 1467 return true; 1468 }, 1469 equalTo(value, options, field, context) { 1470 const dependencyField = context.fields[options].element; 1471 if (value !== dependencyField.value) { 1472 const dependencyFieldName = 1473 dependencyField.label || 1474 dependencyField.title || 1475 (dependencyField.labels && dependencyField.labels[0] && dependencyField.labels[0].innerText) || 1476 dependencyField.name, 1477 fieldName = getFieldName(field); 1478 return fieldName
1479 ? hyva.str('\u00251\u0020field\u0020value\u0020must\u0020be\u0020the\u0020same\u0020as\u0020\u0022\u00252\u0022.', fieldName, dependencyFieldName) 1480 : hyva.strf('Der\u0020Wert\u0020dieses\u0020Feldes\u0020muss\u0020mit\u0020\u0022\u00250\u0022\u0020identisch\u0020sein.', dependencyFieldName); 1481 } 1482 return true; 1483 } 1484 }; 1485 1486 function raceSome(promises, pred) { 1487 return new Promise((resolve, reject) => { 1488 1489 if (promises.length === 0) { 1490 return resolve(); 1491 } 1492 1493 let settled = false, nDone = 0; 1494 1495 const resolveIf = v => { 1496 if (!settled && (pred(v) || ++nDone === promises.length)) { 1497 settled = true; 1498 resolve(v); 1499 } 1500 return v; 1501 } 1502 1503 promises.map(promise => { 1504 promise.then(resolveIf).catch(reason => { 1505 settled = true; 1506 reject(reason) 1507 }); 1508 return promise; 1509 }); 1510 }); 1511 } 1512 1513 const INPUT_ATTRIBUTE_RULES = {min: 'min', max: 'max', required: 'required', minlength: 'minlength', maxlength: 'maxlength', step: 'step', pattern: 'pattern'} 1514 const INPUT_TYPE_RULES = {email: 'email'} 1515 1516 function getRules(element) { 1517 let rules = {}; 1518 Object.keys(INPUT_ATTRIBUTE_RULES).forEach(attrName => { 1519 if (element.hasAttribute(attrName)) { 1520 rules[INPUT_ATTRIBUTE_RULES[attrName]] = element.getAttribute(attrName); 1521 } 1522 }) 1523 if (INPUT_TYPE_RULES[element.type]) { 1524 rules[INPUT_TYPE_RULES[element.type]] = true; 1525 } 1526 1527 if (element.dataset.validate) { 1528 try { 1529 Object.assign(rules, JSON.parse(element.dataset.validate)); 1530 } catch (error) { 1531 console.error('Validator error. Cannot parse data-validate attribute of element:\n', element); 1532 } 1533 } 1534 1535 return rules; 1536 } 1537 1538 function isInvalidRuleResult(ruleState) { 1539 return typeof ruleState === 'string' || !ruleState || (ruleState.type && ruleState.content); 1540 } 1541 1542 async function runValidateFn(rule, options, value, field) { 1543 return formValidationRules[rule](value, options, field, this); 1544 } 1545 1546 function generateId() { 1547 let id; 1548 do { 1549 id = `${this.idPrefix}-${++this.idSeq}`; 1550 } while (document.getElementById(id)); 1551 return id; 1552 } 1553 1554 function isVisible(element) { 1555 const el = element.type !== 'hidden' ? element : (element.parentElement || {}); 1556 return !!(el.offsetWidth || el.offsetHeight || el.getClientRects().length) 1557 } 1558 1559 function elementWillValidate(element) { 1560 return (element.willValidate || element.type === 'hidden') 1561 && element.tagName !== 'BUTTON' 1562 && element.disabled === false 1563 && !(element.tagName === 'INPUT' && element.type === 'submit') 1564 && (element.hasAttribute('data-validate-hidden') || isVisible(element)) 1565 } 1566 1567 function createMessageContainer(el, fieldWrapperClassName) { 1568 if (! el.parentElement) { 1569 return; 1570 } 1571 const refocus = document.activeElement === el; 1572 const wrapper = document.createElement('div'); 1573 wrapper.classList.add.apply(wrapper.classList, fieldWrapperClassName.split(' ')); 1574 el.parentElement.insertBefore(wrapper, el); 1575 wrapper.appendChild(el); 1576 refocus && document.activeElement !== el && el.focus(); 1577 return wrapper; 1578 } 1579 1580 function containerNotFound(selector, el) { 1581 const msg = `Cannot find message container element ${selector} of ${el.name}`; 1582 console.error(msg, el); 1583 throw msg; 1584 } 1585 1586 function createTextInputFrom(el) { 1587 const text = document.createElement('INPUT'); 1588 text.type = 'text'; 1589 text.value = el.value; 1590 return text; 1591 } 1592 1593 function classNamesToSelector(classNames) { 1594 return classNames.split(' ') 1595 .filter(className => className.length > 0) 1596 .map(className => `.${className}`) 1597 .join('') 1598 } 1599 1600 function hasMessagesWrapper(field, messagesWrapperClassName) { 1601 return this.getMessageContainer(field).querySelector(classNamesToSelector(messagesWrapperClassName)); 1602 } 1603
1604 function getMessagesWrapper(field, messagesWrapperClassName) { 1605 if (hasMessagesWrapper.call(this, field, messagesWrapperClassName)) { 1606 return this.getMessageContainer(field).querySelector(classNamesToSelector(messagesWrapperClassName)); 1607 } 1608 1609 const msgWrapper = document.createElement('ul'); 1610 const msgId = generateId.call(this); 1611 msgWrapper.id = msgId; 1612 field.element.setAttribute('aria-errormessage', msgId); 1613 field.element.setAttribute('aria-describedby', msgId); 1614 msgWrapper.classList.add.apply(msgWrapper.classList, messagesWrapperClassName.split(' ')); 1615 if (field.validateOnChange) { 1616 msgWrapper.setAttribute('aria-live', 'polite'); 1617 } 1618 this.getMessageContainer(field).appendChild(msgWrapper); 1619 1620 return msgWrapper; 1621 } 1622 1623 function getCheckedValues(field) { 1624 const name = field.element.name.replace(/([\\"])/g, '\\$1'); 1625 const elements = field.element.form.querySelectorAll('input[name="' + name + '"]:checked'); 1626 return Array.from(elements).map(el => el.value); 1627 } 1628 1629 function escapeHtml(s) { 1630 const div = document.createElement('div') 1631 div.innerText = s; 1632 return div.innerHTML; 1633 } 1634 1635 1636 function formValidation(form, options = {}) { 1637 const formElement = form || this.$el; 1638 1639 if (formElement.dataset && formElement.dataset.options) { 1640 try { 1641 options = Object.assign(options, JSON.parse(formElement.dataset.options || '{}')); 1642 } catch (e) { 1643 throw new Error('Cannot read the form options from the data-options attribute: not valid JSON'); 1644 } 1645 } 1646 1647 // Disable browser default validation 1648 if (formElement.tagName === 'FORM') { 1649 formElement.setAttribute('novalidate', ''); 1650 } else { 1651 console.error('formValidation can be initialized only on FORM element', formElement); 1652 return; 1653 } 1654 1655 options = Object.assign({ 1656 fieldWrapperClassName: 'field field-reserved', 1657 messagesWrapperClassName: 'messages', 1658 validClassName: 'field-success', 1659 invalidClassName: 'field-error', 1660 pageMessagesWrapperSelector: null, 1661 scrollToFirstError: true, 1662 }, options || {}); 1663 1664 return { 1665 state: { 1666 valid: false, 1667 }, 1668 fields: {}, 1669 idSeq: 0, 1670 idPrefix: formElement.id || 'vld-msg', 1671 setupFields(elements) { 1672 this.fields = {}; 1673 Array.from(elements).forEach(element => { 1674 if (elementWillValidate(element)) { 1675 this.setupField(element); 1676 } 1677 }); 1678 }, 1679 setupField(element) { 1680 if (! element) return; 1681 const onChange = !!element.dataset.onChange; 1682 if (elementWillValidate(element)) { 1683 const rules = getRules(element); 1684 if (Object.keys(rules).length > 0) { 1685 if (this.fields[element.name]) { 1686 Object.assign(this.fields[element.name].rules, rules); 1687 } else { 1688 this.fields[element.name] = { 1689 element, 1690 rules: rules, 1691 validateOnChange: onChange, 1692 state: { 1693 valid: null, 1694 rules: {} 1695 } 1696 } 1697 } 1698 } 1699 } else { 1700 console.error('Element will not validate', element); 1701 } 1702 }, 1703 onSubmit(event) { 1704 if (event.target.tagName === 'FORM') { 1705 event.preventDefault(); 1706 1707 this.validate() 1708 .then(() => event.target.submit()) 1709 .catch(invalidElements => {}); 1710 } 1711 }, 1712 onChange(event) {
1713 event.target.dataset.onChange = 'true'; 1714 if (!Object.keys(this.fields).length) { 1715 this.setupFields(formElement.elements); 1716 } 1717 if (!Object.keys(this.fields).includes(event.target.name)) { 1718 this.setupField(event.target); 1719 } 1720 const field = this.fields[event.target.name]; 1721 1722 this.validateField(field); 1723 field && field.element.removeAttribute('data-on-change') 1724 }, 1725 validateSafe() { 1726 return new Promise(resolve => this.validate().then(() => resolve(true)).catch(() => {})) 1727 }, 1728 validate() { 1729 if (!Object.keys(this.fields).length || !Object.keys(this.fields).length !== formElement.elements.length) { 1730 this.setupFields(formElement.elements); 1731 } 1732 return new Promise(async (resolve, reject) => { 1733 if (formElement.elements) { 1734 await raceSome(this.validateFields(), result => result !== true) 1735 const invalidFields = Object.values(this.fields).filter(field => !field.state.valid); 1736 this.state.valid = invalidFields.length === 0; 1737 if (this.state.valid) { 1738 resolve(); 1739 } else { 1740 if (options.scrollToFirstError && invalidFields.length > 0) { 1741 invalidFields[0].element.focus() 1742 invalidFields[0].element.select && invalidFields[0].element.select(); 1743 } 1744 reject(invalidFields.map(field => field.element)); 1745 } 1746 } 1747 }); 1748 }, 1749 validateFields() { 1750 const fields = Object.values(this.fields); 1751 1752 fields.forEach(field => { 1753 this.getMessageContainer(field).classList.remove(options.validClassName, options.invalidClassName) 1754 }); 1755 return fields.map(field => this.validateField(field)) 1756 }, 1757 validateField(field) { 1758 if (! field || ! elementWillValidate(field.element)) { 1759 return new Promise(resolve => resolve(true)) 1760 } 1761 1762 let value; 1763 if (field.element.type === 'checkbox') { 1764 value = getCheckedValues(field); 1765 } else if (field.element.type === 'radio') { 1766 value = getCheckedValues(field)[0] || undefined; 1767 } else if (field.element.tagName === 'SELECT' && field.element.multiple) { 1768 value = Array.from(field.element.selectedOptions).map(opt => opt.value); 1769 } else { 1770 value = field.element.value; 1771 } 1772 1773 const rules = field.rules || {}; 1774 1775 field.state.valid = true; 1776 this.showFieldState(field); 1777 1778 1779 const fieldValidations = Object.keys(rules).filter(rule => formValidationRules[rule]).map(async rule => { 1780 return runValidateFn.call(this, rule, rules[rule], value, field).then(result => { 1781 field.state.rules[rule] = result; 1782 return result; 1783 }) 1784 }); 1785 1786 return new Promise(resolve => { 1787 Promise.all(fieldValidations).then(results => { 1788 field.state.valid = !elementWillValidate(field.element) || rules.length === 0 || !results.some(isInvalidRuleResult)
1789 this.showFieldState(field); 1790 resolve(field.state.valid); 1791 }) 1792 }); 1793 }, 1794 getMessagesByField(field) { 1795 const messages = []; 1796 const invalidRules = Object.keys(field.state.rules).filter(rule => isInvalidRuleResult(field.state.rules[rule])); 1797 1798 field.rules && Object.keys(field.rules).forEach((rule) => { 1799 if (invalidRules.includes(rule)) { 1800 const customMessage = field.element.getAttribute('data-msg-' + rule); 1801 const message = customMessage ? customMessage : field.state.rules[rule]; 1802 const ruleOptions = JSON.parse(JSON.stringify(field.rules[rule])); 1803 1804 if (typeof message === 'undefined' || message === null || (typeof message !== 'string' && ! message.type)) { 1805 messages.push(hyva.strf('Validation rule "%0" failed.', rule)); 1806 } else if (Array.isArray(ruleOptions)) { 1807 ruleOptions.unshift(message.type ? message.content : message); 1808 const content = hyva.strf.apply(null, ruleOptions); 1809 messages.push(message.type ? {type: message.type, content} : content); 1810 } else { 1811 const content = hyva.strf(message.type ? message.content : message, ruleOptions) 1812 messages.push(message.type ? {type: message.type, content} : content); 1813 } 1814 } 1815 }); 1816 return messages; 1817 }, 1818 /** @deprecated */ 1819 getFieldWrapper(field) { 1820 return this.getMessageContainer(field) 1821 }, 1822 getMessageContainer(field) { 1823 let container; 1824 const pageSelector = field.element.getAttribute('data-validation-container') || options.pageMessagesContainerSelector; 1825 if (pageSelector) { 1826 container = document.querySelector(pageSelector) 1827 || containerNotFound(pageSelector, field.element) 1828 } else { 1829 const containerSelector = classNamesToSelector(options.fieldWrapperClassName); 1830 container = field.element.closest(containerSelector) 1831 || createMessageContainer(field.element, options.fieldWrapperClassName) 1832 || containerNotFound(containerSelector, field.element); 1833 } 1834 1835 return container; 1836 }, 1837 showFieldState(field) { 1838 const container = this.getMessageContainer(field), 1839 hasErrorMessages = hasMessagesWrapper.call(this, field, options.messagesWrapperClassName), 1840 messages = this.getMessagesByField(field).map(m => { 1841 return m.type !== 'html' ? escapeHtml(m.type ? m.content : m) : m.content; 1842 }); 1843 container.classList.toggle(options.validClassName, field.state.valid && ! hasErrorMessages); 1844 container.classList.toggle(options.invalidClassName, !field.state.valid || hasErrorMessages); 1845 this.createHtmlErrorMessage(field, messages); 1846 1847 if (field.state.valid) { 1848 field.element.removeAttribute('aria-invalid'); 1849 } else { 1850 field.element.setAttribute('aria-invalid', 'true'); 1851 if (! document.activeElement) { 1852 field.element.focus(); 1853 } 1854 } 1855 }, 1856 removeMessages(field, messagesClass) { 1857 if (! hasMessagesWrapper.call(this, field, messagesClass || options.messagesWrapperClassName)) { 1858 return; 1859 } 1860 1861 const msgWrapper = getMessagesWrapper.call(this, field, messagesClass || options.messagesWrapperClassName); 1862 const messages = msgWrapper.querySelectorAll(`[data-msg-field='${field.element.name}']`);
1863 Array.from(messages).forEach(msg => msg.remove()); 1864 if (msgWrapper && msgWrapper.childElementCount === 0) { 1865 field.element.removeAttribute('aria-errormessage'); 1866 field.element.removeAttribute('aria-describedby'); 1867 msgWrapper.remove(); 1868 } 1869 }, 1870 createErrorMessage(field, messages) { 1871 const htmlMessages = (Array.isArray(messages) ? messages : [messages]).map(escapeHtml) 1872 this.createHtmlErrorMessage(field, htmlMessages); 1873 }, 1874 createHtmlErrorMessage(field, messages) { 1875 this.removeMessages(field, options.messagesWrapperClassName); 1876 field.element.removeAttribute('aria-errormessage'); 1877 field.element.removeAttribute('aria-describedby'); 1878 1879 if (!field.state.valid) { 1880 const msgWrapper = this.addHtmlMessages(field, options.messagesWrapperClassName, messages); 1881 field.element.setAttribute('aria-errormessage', msgWrapper.id); 1882 field.element.setAttribute('aria-describedby', msgWrapper.id); 1883 } 1884 }, 1885 /** @deprecated */ 1886 createMessage(field, message) { 1887 return this.addMessages(field, options.messagesWrapperClassName, message); 1888 }, 1889 addMessages(field, messagesClass, messages) { 1890 const htmlMessages = (Array.isArray(messages) ? messages : [messages]).map(escapeHtml) 1891 return this.addHtmlMessages(field, messagesClass, htmlMessages); 1892 }, 1893 addHtmlMessages(field, messagesClass, htmlMessages) { 1894 const msgWrapper = getMessagesWrapper.call(this, field, messagesClass); 1895 1896 (Array.isArray(htmlMessages) ? htmlMessages : [htmlMessages]).forEach((htmlMessage) => { 1897 const li = document.createElement('li'); 1898 li.innerHTML = htmlMessage; 1899 li.setAttribute('data-msg-field', field.element.name); 1900 msgWrapper.appendChild(li); 1901 }); 1902 1903 return msgWrapper; 1904 }, 1905 setField(name, value) { 1906 this.fields[name].element.value = value; 1907 this.fields[name].element.dispatchEvent((new Event('input'))); 1908 this.validateField(this.fields[name]); 1909 } 1910 } 1911 } 1912 1913 function getFieldName(field) { 1914 const fieldName = field.element?.getAttribute('title') 1915 || document.querySelector(`label[for="${field.element?.id}"]`)?.innerText; 1916 1917 return fieldName 1918 ? fieldName.trim() 1919 : ''; 1920 } 1921 1922 hyva.formValidation = formValidation; 1923 hyva.formValidation.rules = formValidationRules; 1924 hyva.formValidation.setInputAttributeRuleName = (attrName, ruleName) => INPUT_ATTRIBUTE_RULES[attrName] = ruleName || attrName; 1925 hyva.formValidation.setInputTypeRuleName = (typeName, ruleName) => INPUT_TYPE_RULES[typeName] = ruleName || typeName; 1926 hyva.formValidation.addRule = (name, validator) => formValidationRules[name] = validator; 1927 hyva.formValidation.getFieldName = getFieldName; 1928 }(window.hyva = window.hyva || {})); 1929 1930 window.addEventListener('alpine:init', () => { 1931 Alpine.data('hyva.formValidation', hyva.formValidation); 1932 Alpine.data('hyva.formValidation($el)', hyva.formValidation); 1933 }, {once: true}); 1934 //# sourceURL=hyva-advanced-form-validation.js 1935</script>
1935 1936 1937<div x-data="initVatSwitcher()" class="fixed"> 1938 </div> 1939
1940<script> 1941 function initVatSwitcher() { 1942 return { 1943 isSelected(value) { 1944 return vatSwitcher.getVatMode() === value; 1945 }, 1946 1947 setVatMode(value) { 1948 vatSwitcher.setVatMode(value) 1949 1950 window.dispatchEvent( 1951 new CustomEvent('vat-switch', {detail: value}) 1952 ); 1953 } 1954 } 1955 } 1956</script>
1956 1957<div class="page-wrapper"><header class="page-header"><a class="action skip sr-only focus:not-sr-only focus:absolute focus:z-40 focus:bg-white 1958 contentarea" 1959 href="#contentarea"> 1960 <span> 1961 Zum Inhalt springen </span> 1962</a>
1963<script> 1964 function initHeader() { 1965 return { 1966 searchOpen: false, 1967 cart: {}, 1968 isCartOpen: false, 1969 getData(data) { 1970 this.cart = data.cart ?? {}; 1971 }, 1972 summaryCount() { 1973 return this.cart.summary_count || 0; 1974 }, 1975 cartAriaLabel() { 1976 return 'Mini\u002DWarenkorb\u0020umschalten, ' + 1977 (this.isCartEmpty() ? 'Warenkorb\u0020ist\u0020leer' : ( 1978 Math.abs(this.summaryCount()) > 1 ? 1979 hyva.str('\u00251\u0020Artikel', this.summaryCount()) : 1980 hyva.str('\u00251\u0020Element', this.summaryCount()) 1981 )) 1982 }, 1983 isCartEmpty() { 1984 return !this.cart.summary_count; 1985 }, 1986 toggleCart() { 1987 this.isCartOpen = this.$event.detail?.isOpen ?? true; 1988 this.$dispatch('toggle-cart', { isOpen: this.isCartOpen }) 1989 }, 1990 toggleSearch() { 1991 this.searchOpen = !this.searchOpen; 1992 this.$dispatch('search-open'); 1993 }, 1994 toggleSearchOpen() { 1995 this.searchOpen = true; 1996 this.$dispatch('search-open'); 1997 }, 1998 searchClose() { 1999 this.searchOpen = false; 2000 this.$refs.searchButton?.focus(); 2001 }, 2002 searchEscape() { 2003 this.searchClose(); 2004 }, 2005 isMac: /Mac|iPod|iPhone|iPad/.test(navigator.platform), 2006 textShortcutModifier() { 2007 return this.isMac ? 'â K' : 'Ctrl+K'; 2008 }, 2009 searchShortcut(e) { 2010 const modifier = this.isMac ? e.metaKey : e.ctrlKey; 2011 if (modifier && e.key === 'k') { 2012 e.preventDefault(); 2013 this.toggleSearchOpen(); 2014 } 2015 } 2016 } 2017 } 2018 2019 function initCompareHeader() { 2020 return { 2021 compareProducts: null, 2022 itemCount: 0, 2023 hiddenIfEmpty() { 2024 return { 2025 'invisible': this.itemCount < 1 2026 } 2027 }, 2028 linkAriaLabel() { 2029 const countLabel = this.itemCount > 1 2030 ? hyva.str('\u00251\u0020Artikel', this.itemCount) 2031 : hyva.str('\u00251\u0020Artikel', this.itemCount); 2032 return `Produkte\u0020vergleichen (${countLabel})`; 2033 }, 2034 receiveCompareData(data) { 2035 const sectionData = data ?? this.$event?.detail?.data ?? {}; 2036 if (sectionData['compare-products']) { 2037 this.compareProducts = sectionData['compare-products']; 2038 this.itemCount = this.compareProducts.count || 0; 2039 } 2040 }, 2041 itemCountLabel() { 2042 return `(${this.itemCount})`; 2043 } 2044 } 2045 } 2046 2047 window.addEventListener('alpine:init', () => { 2048 Alpine.data('initHeader', initHeader); 2049 Alpine.data('initCompareHeader', initCompareHeader); 2050 }, { once: true }) 2051</script>
2051 2052 2053<div id="header" 2054 class="relative z-[100] w-full" 2055 x-data="initHeader()" 2056 @keydown.window.escape="searchOpen = false;" 2057 @private-content-loaded.window="getData(event.detail.data)" 2058> 2059 2060 <!--Main Navigation--> 2061 <div data-content-type="html" data-appearance="default" id="" data-element="main" data-decoded="true"><!--<div class="gb-container gb-container-927f0534 orange" style="background:#E2732A;"> 2062<div id="editor-html_block_daf02f511e589e0076239aace477bf9a" class="editor-html grid-container editor-html haken p-top-0 p-bottom-0 m-top-normal m-bottom-normal"> 2063<p style="margin-top: 10px; font-size: 18px; text-align: center; color: #fff;"><a style="color: #fff;" href="https://pik.de/convention/">PIK CONVENTION 2026 | Medientechnik live | 2. Juli | Jetzt kostenlos anmelden!</a></p> 2064</div>--> 2065<!-- topbar--> 2066<style> 2067@media (max-width:640px) { 2068span.text-icon { 2069 display:none; 2070} 2071 2072.top-bar svg { 2073 height: 30px !important; 2074 margin-top: -2px !important; 2075 margin-left: 12px !important; 2076} 2077 2078li#menu-item-18137 { 2079 margin-left: 12px; 2080} 2081} 2082 2083 2084input#checkbox-tax { 2085 opacity: 0; 2086} 2087 2088#checkbox-tax+label:after { 2089 content:'Nein'; 2090 position: absolute; 2091 left:16px; 2092 top:-6px; 2093} 2094 2095#checkbox-tax:checked+label:after { 2096position: absolute; 2097 content:'Ja'; 2098 left: -20px; 2099} 2100 2101label#tax-switch { 2102 left: 4px; 2103 top: 3px; 2104 margin-top: 0; 2105} 2106 2107#checkbox-tax:checked+label#tax-switch { 2108 left: 30px; 2109} 2110 2111_span.block.mr-2.text-xs { 2112 padding-top: 2px; 2113} 2114 2115span.block.mr-2{ 2116 margin-top: -2px; 2117} 2118 2119input#checkbox-tax { 2120 top: -2px; 2121} 2122</style> 2123<style> 2124#menu-top-menu li a { 2125display:flex !important; 2126} 2127 2128li#menu-item-51545 { 2129 z-index: 10000; 2130} 2131 2132.top-bar svg { 2133 display: inline-block; 2134 fill: #1B4F80; 2135 height: 15px; 2136margin-top:5px; 2137} 2138 2139 2140@media(min-width:1051px) { 2141div#search-content { 2142 position: relative; 2143 margin-top: 0px; 2144} 2145#mega-menu-wrap-primary .mega-menu-toggle { 2146 display: none; 2147} 2148} 2149 2150.top-bar svg { 2151 display: inline-block; 2152 fill: #0f1e5a; 2153 height: 15px; 2154} 2155 2156 2157div#pik-footer { 2158 background: #0f1e5a; 2159 color: #fff; 2160 padding: 30px; 2161} 2162div#mega-menu-wrap-primary { 2163 background: #fff !important; 2164 position: relative; 2165 z-index: 1000; 2166} 2167div#search-content { 2168 display: block !important; 2169} 2170 2171 2172.top-bar { 2173 height:45px; 2174 padding: 10px; 2175 background-image: url(https://pik.de/wp-content/uploads/2018/09/ecke3.png); 2176 background-repeat: no-repeat; 2177 background-size: contain; 2178 background-position: top right; 2179 background-color: #fff; 2180 color: #0a0a0a; 2181} 2182.top-bar li { 2183 list-style-type: none; 2184} 2185 2186.instagram-bg { 2187 background: #d6249f; 2188 background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%); 2189 box-shadow: 0px 3px 10px rgba(0,0,0,.25); 2190} 2191 2192 2193ul#menu-top-menu { 2194 gap:20px; 2195} 2196 2197 2198@media (max-width:500px) { 2199ul#menu-top-menu { 2200 gap:6px !important; 2201} 2202} 2203 2204@media (max-width:340px) { 2205ul#menu-top-menu { 2206 gap: 2px !important; 2207} 2208} 2209 2210.fa-youtube { 2211 background-color: #FF0000; 2212} 2213 2214li.icon-item span { 2215 z-index: 3; 2216} 2217 2218button.w-auto.btn.btn-primary.justify-center.text-sm.mr-auto { 2219 display: none; 2220} 2221 2222#mega-menu-wrap-primary #mega-menu-primary li#mega-menu-item-18145 ul.mega-sub-menu li a 2223 { 2224 transform: translate(0, 0); 2225 opacity:1; 2226 transition: opacity 200ms ease-in, visibility 200ms ease-in; 2227} 2228#mega-menu-wrap-primary #mega-menu-primary li#mega-menu-item-18145 > ul.mega-sub-menu { 2229 visibility: visible; 2230 z-index: 998 !important; 2231} 2232 2233 2234 @media (min-width: 1051px) { 2235#mega-menu-wrap-primary #mega-menu-primary>li#mega-menu-item-18145 >a.mega-menu-link { 2236 border-bottom: 5px solid #1f507c !important; 2237} 2238} 2239</style> 2240 2241 2242 2243 2244 2245 2246 2247 2248<div class="top-bar w-100 p-2.5 h-[45px]"> 2249 <ul id="menu-top-menu" class="flex justify-end menu"> 2250 2251<li> 2252<div class="flex" style="margin-top:2px;"><span class=" block mr-2">Preise inkl. MwSt.</span><div style="width:48px;height:20px;border-color: #1B4F80;" class="tax-switcher relative rounded-full transition duration-50 ease-linear border-color-primary border border-solid"> 2253 <input type="checkbox" id="checkbox-tax" name="toggle" class="peer appearance-none w-full h-full active:outline-none focus:outline-none" /> 2254 2255 <label id="tax-switch" for="toggle" style="width:12px;height:12px;" 2256 class="text-primary absolute translate-x-0 drop-shadow-lg left-1 bg-primary rounded-full transition transform duration-100 ease-linear cursor-pointer peer-checked:text-primary"> 2257 </label> 2258 </div> 2259</div> 2260</li> 2261 2262<li id="menu-item-18134" class="fa-phone top-icon menu-item menu-item-type-custom menu-item-object-custom menu-item-18134"><a href="tel:+4930%20750%2016%20500"><!-- Generated by IcoMoon.io --> 2263<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="22" height="28" viewBox="0 0 22 28"> 2264<title>phone</title> 2265<path d="M22 19.375c0 0.562-0.25 1.656-0.484 2.172-0.328 0.766-1.203 1.266-1.906 1.656-0.922 0.5-1.859 0.797-2.906 0.797-1.453 0-2.766-0.594-4.094-1.078-0.953-0.344-1.875-0.766-2.734-1.297-2.656-1.641-5.859-4.844-7.5-7.5-0.531-0.859-0.953-1.781-1.297-2.734-0.484-1.328-1.078-2.641-1.078-4.094 0-1.047 0.297-1.984 0.797-2.906 0.391-0.703 0.891-1.578 1.656-1.906 0.516-0.234 1.609-0.484 2.172-0.484 0.109 0 0.219 0 0.328 0.047 0.328 0.109 0.672 0.875 0.828 1.188 0.5 0.891 0.984 1.797 1.5 2.672 0.25 0.406 0.719 0.906 0.719 1.391 0 0.953-2.828 2.344-2.828 3.187 0 0.422 0.391 0.969 0.609 1.344 1.578 2.844 3.547 4.813 6.391 6.391 0.375 0.219 0.922 0.609 1.344 0.609 0.844 0 2.234-2.828 3.187-2.828 0.484 0 0.984 0.469 1.391 0.719 0.875 0.516 1.781 1 2.672 1.5 0.313 0.156 1.078 0.5 1.188 0.828 0.047 0.109 0.047 0.219 0.047 0.328z"></path> 2266</svg> 2267<span class="text-icon tel-hide">Tel: 030 750 16 500</span></a></li> 2268 <li id="menu-item-18135" class="fa-envelope"><a href="/kontakt/"><!-- Generated by IcoMoon.io --> 2269<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 28 28"> 2270<title>envelope</title> 2271<path d="M28 11.094v12.406c0 1.375-1.125 2.5-2.5 2.5h-23c-1.375 0-2.5-1.125-2.5-2.5v-12.406c0.469 0.516 1 0.969 1.578 1.359 2.594 1.766 5.219 3.531 7.766 5.391 1.313 0.969 2.938 2.156 4.641 2.156h0.031c1.703 0 3.328-1.188 4.641-2.156 2.547-1.844 5.172-3.625 7.781-5.391 0.562-0.391 1.094-0.844 1.563-1.359zM28 6.5c0 1.75-1.297 3.328-2.672 4.281-2.438 1.687-4.891 3.375-7.313 5.078-1.016 0.703-2.734 2.141-4 2.141h-0.031c-1.266 0-2.984-1.437-4-2.141-2.422-1.703-4.875-3.391-7.297-5.078-1.109-0.75-2.688-2.516-2.688-3.938 0-1.531 0.828-2.844 2.5-2.844h23c1.359 0 2.5 1.125 2.5 2.5z"></path> 2272</svg><span class="text-icon">Kontakt</span></a></li> 2273 <li id="menu-item-18136" class="fa-bolt"><a href="https://pik.de/service-und-wartung/#stoerung"><!-- Generated by IcoMoon.io --> 2274<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="14" height="28" viewBox="0 0 14 28"> 2275<title>bolt</title> 2276<path d="M13.828 8.844c0.172 0.187 0.219 0.453 0.109 0.688l-8.437 18.078c-0.125 0.234-0.375 0.391-0.656 0.391-0.063 0-0.141-0.016-0.219-0.031-0.344-0.109-0.547-0.438-0.469-0.766l3.078-12.625-6.344 1.578c-0.063 0.016-0.125 0.016-0.187 0.016-0.172 0-0.359-0.063-0.484-0.172-0.187-0.156-0.25-0.391-0.203-0.609l3.141-12.891c0.078-0.297 0.359-0.5 0.688-0.5h5.125c0.391 0 0.703 0.297 0.703 0.656 0 0.094-0.031 0.187-0.078 0.281l-2.672 7.234 6.188-1.531c0.063-0.016 0.125-0.031 0.187-0.031 0.203 0 0.391 0.094 0.531 0.234z"></path> 2277</svg><span class="text-icon">Störung</span></a></li> 2278 2279 <li id="menu-item-51545" class="relative menu-item menu-item-type-custom menu-item-object-custom menu-item-51545"><div id="burger-cont"><div id="burger" class="menu--button"><span></span><span></span><span></span></div></div></li> 2280 </ul> 2281 </div> 2282
2283<script> 2284if (localStorage.getItem("vat-switch-mode") !== null) { 2285var check = localStorage.getItem("vat-switch-mode"); 2286//var checked = false; 2287if( check === 'including') { 2288var checked = true; 2289document.getElementById("checkbox-tax").checked = checked; 2290} 2291} 2292 2293 2294function save() { 2295if (document.getElementById("checkbox-tax").checked === true) { 2296 window.dispatchEvent(new CustomEvent('vat-switch', {detail: 'including'})); 2297 localStorage.setItem("vat-switch-mode", "including"); 2298} 2299 2300if (document.getElementById("checkbox-tax").checked === false) { 2301 window.dispatchEvent(new CustomEvent('vat-switch', {detail: 'excluding'})); 2302 localStorage.setItem("vat-switch-mode", "excluding"); 2303} 2304} 2305window.addEventListener('change', save); 2306</script>
2306</div><div data-content-type="html" data-appearance="default" id="" data-element="main" data-decoded="true"><style> 2307li#menu-item-0000, 2308.icon-item { 2309 height: 42px; 2310 line-height: 42px; 2311} 2312 2313a#menu-cart-icon { 2314 height: 42px; 2315} 2316 2317li#menu-item-0000_ .sub-menu a { 2318 padding: 13px 7px 13px 7px !important; 2319} 2320 2321 2322#menu-pik-menu li.icon-item a { 2323 padding-top:0; 2324 padding-bottom:0; 2325} 2326 2327li#pik-cart-icon { 2328 width: 44px; 2329} 2330 2331 2332#menu-pik-menu svg { 2333 stroke: #ccc !important; 2334 width:22px; 2335 z-index: 1; 2336 position: relative; 2337 2338} 2339 2340#menu-pik-menu a:hover svg { 2341 stroke: #fff !important; 2342} 2343 2344a#compare-link.invisible { 2345 /* display: none;*/ 2346 visibility: visible !important; 2347} 2348 2349a#compare-link.invisible span.-absolute.top-0 { 2350 display:none; 2351} 2352 2353span.-absolute.top-0.right-0.h-5.px-2.py-1.-mt-5.-mr-4.text-xs.font-semibold.leading-none.text-center.text-white.uppercase.transform.-translate-x-1.translate-y-1\/2.bg-yellow-500.rounded-full { 2354 position: absolute; 2355 top: 13px; 2356 display: none; 2357 width: 12px; 2358 height: 16px; 2359 text-align: center; 2360 2361 display: block; 2362 width: 16px; 2363 height: 16px; 2364 background: #0f1e5a 2365 !important; 2366 color: #fff; 2367 2368 font-size: 10px; 2369 margin-left: 55px; 2370 left: -32px; 2371 top: 14px; 2372 padding: 3px !important; 2373} 2374 2375 2376@media all{ 2377 header { 2378 display: block; 2379 } 2380 2381 .site-header { 2382 position: relative; 2383 } 2384} 2385 2386.site-header { 2387 background-color: #ffffff; 2388 color: #3a3a3a; 2389} 2390 2391.site-header { 2392 position: sticky; 2393 top: 0; 2394 transition: all 1.4s ease; 2395 box-shadow: none; 2396} 2397 2398@media (min-width: 1281px){ 2399 header#masthead { 2400 height: 104px; 2401 } 2402} 2403 2404header#masthead { 2405 z-index: 100; 2406} 2407 2408@media all{ 2409 2410 2411 2412 .grid-container { 2413 margin-left: auto; 2414 margin-right: auto; 2415 max-width: 1200px; 2416 padding-left: 10px; 2417 padding-right: 10px; 2418 } 2419 2420 .grid-parent { 2421 padding-left: 0; 2422 padding-right: 0; 2423 } 2424 2425 .inside-header { 2426 padding: 20px 40px; 2427 } 2428} 2429 2430.inside-header { 2431 padding: 20px 0px 0px 0px; 2432} 2433 2434@media all{ 2435 .grid-container { 2436 padding-left: 15px; 2437 padding-right: 15px; 2438 } 2439} 2440 2441.grid-container { 2442 max-width: 1440px !important; 2443} 2444 2445.grid-container { 2446 max-width: 1280px; 2447} 2448 2449@media all{ 2450 2451.site-logo { 2452 display: inline-block; 2453 max-width: 100%; 2454 } 2455 2456 2457 2458 .main-navigation { 2459 z-index: 100; 2460 padding: 0; 2461 clear: both; 2462 display: block; 2463 } 2464} 2465 2466.main-navigation { 2467 background-color: #ffffff; 2468} 2469 2470@media all{ 2471 .inside-header .main-navigation { 2472 float: right; 2473 clear: right; 2474 } 2475 2476} 2477 2478 2479 2480@media all{ 2481 .inside-navigation { 2482 position: relative; 2483 } 2484 2485 img { 2486 height: auto; 2487 max-width: 100%; 2488 } 2489 2490 :where(img) { 2491 height: auto; 2492 max-width: 100%; 2493 } 2494 2495 a img { 2496 border: 0; 2497 } 2498 2499 .site-header .header-image { 2500 vertical-align: middle; 2501 } 2502} 2503 2504.site-header .header-image { 2505 width: 163px; 2506} 2507 2508.site-header .header-image { 2509 /* transition: all 0.7s ease; */ 2510} 2511 2512@media (min-width: 1281px){ 2513 #masthead .site-logo img { 2514 margin-top: -38px !important; 2515 } 2516} 2517 2518 2519 2520@media all{ 2521 .menu-toggle { 2522 display: none; 2523 } 2524 2525 .menu-toggle { 2526 padding: 0 20px; 2527 line-height: 60px; 2528 margin: 0; 2529 font-weight: 400; 2530 text-transform: none; 2531 font-size: 15px; 2532 cursor: pointer; 2533 } 2534 2535 button.menu-toggle { 2536 background-color: transparent; 2537 width: 100%; 2538 border: 0; 2539 text-align: center; 2540 } 2541} 2542 2543.main-navigation .menu-toggle { 2544 color: #0f1e5a 2545; 2546} 2547 2548#site-navigation button.menu-toggle { 2549 display: none; 2550} 2551 2552 2553 2554@media all{ 2555 button.menu-toggle:active,button.menu-toggle:hover { 2556 background-color: transparent; 2557 } 2558 2559 span { 2560 border: 0; 2561 margin: 0; 2562 padding: 0; 2563 } 2564 2565 .menu-toggle .mobile-menu { 2566 padding-left: 3px; 2567 } 2568 2569 2570 2571 .main-navigation ul { 2572 list-style: none; 2573 margin: 0; 2574 padding-left: 0; 2575 } 2576 2577 2578 2579 .main-navigation li { 2580 float: left; 2581 position: relative; 2582 } 2583} 2584 2585@media (min-width: 1281px){ 2586 .sf-menu > li { 2587 position: static; 2588 } 2589} 2590 2591#menu-item-18145 { 2592 order: -1; 2593} 2594 2595@media all{ 2596 .main-navigation a { 2597 display: block; 2598 text-decoration: none; 2599 font-weight: 400; 2600 text-transform: none; 2601 font-size: 15px; 2602 } 2603} 2604 2605.main-navigation a { 2606 font-family: "Roboto Condensed", sans-serif; 2607 font-weight: 700; 2608 text-transform: uppercase; 2609 font-size: 14px; 2610} 2611 2612@media all{ 2613 .main-navigation .main-nav ul li a { 2614 padding-left: 20px; 2615 padding-right: 20px; 2616 line-height: 60px; 2617 } 2618} 2619 2620.main-navigation .main-nav ul li a { 2621 color: #0f1e5a 2622; 2623} 2624 2625.main-navigation .main-nav ul li a { 2626 padding-left: 7px; 2627 padding-right: 7px; 2628 line-height: 42px; 2629} 2630 2631@media all{ 2632 .main-navigation .main-nav ul li.menu-item-has-children > a { 2633 padding-right: 0; 2634 position: relative; 2635 } 2636} 2637 2638@media (min-width: 1281px){ 2639 #menu-pik-menu > li > a { 2640 border-bottom: 1px solid #c3c3c3; 2641 line-height: 42px; 2642 height: 42px; 2643 box-sizing: border-box; 2644 transition: background 200ms linear, color 200ms linear, border 200ms linear; 2645 padding-left: 12px; 2646 padding-right: 12px; 2647 } 2648} 2649 2650.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a { 2651 color: #0f1e5a 2652; 2653 background-color: #ffffff; 2654} 2655 2656@media (min-width: 1281px){ 2657 #menu-pik-menu > li > a:hover { 2658 border-bottom: 5px solid #1f507c; 2659 } 2660} 2661 2662@media all{ 2663 li > ul { 2664 margin-bottom: 0; 2665 margin-left: 1.5em; 2666 } 2667 2668 .main-navigation ul ul { 2669 display: block; 2670 box-shadow: 1px 1px 0 rgba(0,0,0,.1); 2671 float: left; 2672 position: absolute; 2673 left: -99999px; 2674 opacity: 0; 2675 z-index: 99999; 2676 width: 200px; 2677 text-align: left; 2678 top: auto; 2679 transition: opacity 80ms linear; 2680 transition-delay: 0s; 2681 pointer-events: none; 2682 height: 0; 2683 overflow: hidden; 2684 } 2685} 2686 2687.main-navigation ul ul { 2688 background-color: #ffffff; 2689} 2690 2691@media (min-width: 1281px){ 2692 .main-navigation ul ul { 2693 box-shadow: none; 2694 } 2695 2696 body .main-navigation ul.menu > li > ul { 2697 width: 100%; 2698 left: 0 !important; 2699 } 2700} 2701 2702body .main-navigation ul.menu > li > ul { 2703 max-width: 1200px !important; 2704 left: initial !important; 2705 right: 0 !important; 2706 display: flex; 2707 justify-content: flex-end; 2708 width: calc(100vw - 240px); 2709} 2710 2711@media (min-width: 1281px){ 2712 2713 2714 #menu-item-18145 > ul { 2715 left: auto; 2716 opacity: 1 !important; 2717 transition-delay: 150ms; 2718 pointer-events: auto; 2719 height: auto; 2720 overflow: visible !important; 2721 } 2722 2723 #menu-pik-menu > li > a:hover, #menu-pik-menu > li[class*="current"] > a { 2724 border-bottom: 5px solid #1f507c; 2725 } 2726} 2727 2728span.outside { 2729 padding: 0; 2730} 2731 2732.menu-item > a span.outside { 2733 display: inline-block; 2734 line-height: 2 !important; 2735 position: relative; 2736} 2737 2738.menu-item > a span.outside::before { 2739 position: absolute; 2740 top: 100%; 2741 left: 0; 2742 overflow: hidden; 2743 opacity: 0; 2744 content: attr(data-hover); 2745 z-index: 9; 2746 line-height: 1; 2747 -webkit-transition: all .4s ease; 2748 transition: all .4s ease; 2749} 2750 2751li.menu-item:hover > a span.outside::before { 2752 opacity: 1; 2753 top: 8px; 2754} 2755 2756span.dropdown-menu-toggle { 2757 display: none; 2758} 2759 2760span.dropdown-menu-toggle { 2761 display: none !important; 2762} 2763 2764@media all{ 2765 .menu-item-has-children .dropdown-menu-toggle { 2766 display: inline-block; 2767 height: 100%; 2768 clear: both; 2769 padding-right: 20px; 2770 padding-left: 10px; 2771 } 2772} 2773 2774.menu-item-has-children .dropdown-menu-toggle { 2775 padding-right: 7px; 2776} 2777 2778@media all{ 2779 .main-navigation ul ul li { 2780 width: 100%; 2781 } 2782} 2783 2784@media (min-width: 1281px){ 2785 body .sf-menu > li > ul > li { 2786 position: static; 2787 } 2788 2789 body .main-navigation ul.menu > li > ul > li { 2790 width: auto; 2791 } 2792} 2793 2794span.inside { 2795 padding: 0; 2796} 2797 2798.menu-item > a span span { 2799 position: relative; 2800 top: 0; 2801 display: inline-block; 2802 -webkit-transition: all .55s ease; 2803 transition: all .55s ease; 2804} 2805 2806li.menu-item:hover > a span span { 2807 position: relative; 2808 top: -20px; 2809 display: inline-block; 2810 opacity: 0; 2811} 2812 2813@media all{ 2814 .main-navigation ul ul a { 2815 display: block; 2816 } 2817 2818 .main-navigation .main-nav ul ul li a { 2819 line-height: normal; 2820 padding: 10px 20px; 2821 font-size: 14px; 2822 } 2823} 2824 2825.main-navigation .main-nav ul ul li a { 2826 font-size: 13px; 2827} 2828 2829.main-navigation .main-nav ul ul li a { 2830 color: #0f1e5a 2831; 2832} 2833 2834.main-navigation .main-nav ul ul li a { 2835 padding: 13px 7px 13px 7px; 2836} 2837 2838#menu-pik-menu > li > ul > li > a { 2839 font-size: 14px; 2840} 2841 2842@media (min-width: 1281px){ 2843 #menu-pik-menu > li > ul > li > a { 2844 color: #777; 2845 font-weight: 400; 2846 padding-left: 8px; 2847 padding-right: 8px; 2848 } 2849} 2850 2851.main-navigation .main-nav ul ul li:not([class*="current-menu-"]):hover > a { 2852 color: var(--base-3); 2853 background-color: #0f1e5a 2854; 2855} 2856 2857@media (min-width: 1281px){ 2858 #menu-pik-menu > li > ul > li > a:hover { 2859 color: #fff; 2860 } 2861 2862 ul.sub-menu.mm-level { 2863 padding: 15px; 2864 } 2865} 2866 2867@media all{ 2868 .main-navigation ul ul ul { 2869 top: 0; 2870 } 2871} 2872 2873@media (min-width: 1281px){ 2874 body .main-navigation ul.menu > li > ul > li ul { 2875 left: 0; 2876 top: 100%; 2877 } 2878 2879 body .main-navigation ul.menu > li > ul > li > ul { 2880 width: 100%; 2881 left: 0 !important; 2882 top: 42px !important; 2883 } 2884 2885 #menu-pik-menu .sub-menu ul.sub-menu { 2886 box-shadow: 0px 10px 30px 0 rgb(0 0 0 / 11%) !important; 2887 -webkit-box-shadow: 0px 10px 30px 0 rgb(0 0 0 / 11%) !important; 2888 } 2889} 2890 2891li#menu-item-18145 li a { 2892 text-transform: initial !important; 2893} 2894 2895@media all{ 2896 .menu-item-has-children ul .dropdown-menu-toggle { 2897 padding-top: 10px; 2898 padding-bottom: 10px; 2899 margin-top: -10px; 2900 } 2901} 2902 2903.menu-item-has-children ul .dropdown-menu-toggle { 2904 padding-top: 13px; 2905 padding-bottom: 13px; 2906 margin-top: -13px; 2907} 2908 2909@media all{ 2910 nav ul ul .menu-item-has-children .dropdown-menu-toggle { 2911 float: right; 2912 } 2913 2914 .menu__heading-mit-play-button { 2915 margin: 15px 0; 2916 } 2917} 2918 2919@media (min-width: 1281px){ 2920 .boxes-container { 2921 display: flex; 2922 flex-wrap: wrap; 2923 } 2924} 2925 2926@media all{ 2927 .wp-block-columns { 2928 display: flex; 2929 margin-bottom: 1.75em; 2930 box-sizing: border-box; 2931 flex-wrap: wrap; 2932 } 2933} 2934 2935@media (min-width: 782px){ 2936 .wp-block-columns { 2937 flex-wrap: nowrap; 2938 } 2939} 2940 2941@media all{ 2942 .wp-block-columns { 2943 margin-bottom: 15px; 2944 } 2945} 2946 2947.wp-block-columns { 2948 gap: 15px; 2949} 2950 2951@media all{ 2952 #site-navigation .m-top-doppel { 2953 margin-top: 30px !important; 2954 } 2955} 2956 2957.gb-container-1b9780ee { 2958 display: flex; 2959 flex-direction: column; 2960 column-gap: 30px; 2961 row-gap: 30px; 2962 margin: 15px; 2963} 2964 2965@media all{ 2966 #site-navigation .m-bottom-0 { 2967 margin-bottom: 0px !important; 2968 } 2969 2970 #site-navigation .m-top-normal { 2971 margin-top: 15px !important; 2972 } 2973 2974 .heading-button-link { 2975 display: flex;
2976 align-items: center; 2977 } 2978} 2979 2980@media (min-width: 1281px){ 2981 ul.sub-menu.mm-level a { 2982 display: inline-block; 2983 } 2984} 2985 2986ul.sub-menu.mm-level .heading-button-link { 2987 font-weight: 400; 2988} 2989 2990@media all{ 2991 .mega-box-container { 2992 cursor: pointer; 2993 } 2994 2995 .item-container-drei-spalten { 2996 width: 33.33%; 2997 float: left; 2998 } 2999} 3000 3001.item-container-drei-spalten { 3002 width: 100%; 3003} 3004 3005@media (min-width: 1281px){ 3006 .item-container-drei-spalten { 3007 width: 33.33%; 3008 } 3009} 3010 3011.mega-box-container:hover { 3012 color: #fff !important; 3013} 3014 3015 3016 3017@media all{ 3018 .wp-block-column { 3019 flex-grow: 1; 3020 min-width: 0; 3021 word-break: break-word; 3022 overflow-wrap: break-word; 3023 } 3024} 3025 3026@media (min-width: 782px){ 3027 .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { 3028 flex-basis: 0; 3029 flex-grow: 1; 3030 } 3031 3032 .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:first-child) { 3033 margin-left: var(--wp--style--block-gap,2em); 3034 } 3035 3036 .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:first-child) { 3037 margin-left: 0 !important; 3038 } 3039} 3040 3041 3042 3043 3044@media all{ 3045 .content-vertical { 3046 justify-content: center; 3047 flex-direction: column; 3048 display: flex; 3049 } 3050} 3051 3052#menu-boxes-menu-boxes-block_60c87ad6ce996 .item-container-drei-spalten:hover { 3053 background-color: #294955; 3054 box-shadow: 0 0 10px 0px #aaa; 3055} 3056 3057@media (min-width: 782px){ 3058 .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column[style*="flex-basis"] { 3059 flex-grow: 0; 3060 } 3061} 3062 3063 3064 3065@media all{ 3066 .item-container-zwei-spalten { 3067 width: 50%; 3068 float: left; 3069 } 3070} 3071 3072 3073 3074@media all{ 3075 .text-inside { 3076 display: inline-block; 3077 } 3078 3079 .grid-menu-boxes-inside { 3080 padding: 15px; 3081 min-height: 100px; 3082 } 3083} 3084 3085.grid-menu-boxes-inside { 3086 display: flex; 3087 gap: 15px; 3088} 3089 3090@media all{ 3091 .wp-block-column .grid-container { 3092 margin: 0; 3093 } 3094 3095 .editor-html.grid-container { 3096 clear: both; 3097 } 3098} 3099 3100 3101 3102@media all{ 3103 #site-navigation .p-bottom-0 { 3104 padding-bottom: 0px !important; 3105 } 3106} 3107 3108 3109 3110@media all{ 3111 figure { 3112 display: block; 3113 } 3114 3115 figure { 3116 margin: 0; 3117 } 3118 3119 .size-full { 3120 max-width: 100%; 3121 height: auto; 3122 } 3123 3124 .wp-block-image { 3125 margin: 0 0 1em; 3126 } 3127 3128 .p-left-15 { 3129 padding-left: 15px !important; 3130 } 3131} 3132 3133 3134 3135@media all{ 3136 #site-navigation .p-top-0 { 3137 padding-top: 0px !important; 3138 } 3139 3140 #site-navigation .m-top-0 { 3141 margin-top: 0px !important; 3142 } 3143} 3144 3145 3146 3147@media all{ 3148 #site-navigation .m-bottom-normal { 3149 margin-bottom: 15px !important; 3150 } 3151 3152 .logo-bild { 3153 display: inline-block; 3154 height: 90px; 3155 vertical-align: middle; 3156 padding-right: 20px; 3157 } 3158} 3159 3160.gb-container-Farbe-Microsoft { 3161 background-color: #4B53bc; 3162 color: #ffffff; 3163} 3164 3165 3166 3167@media all{ 3168 .padding-0 { 3169 padding-left: 0; 3170 padding-right: 0; 3171 } 3172 3173 .padding-0 { 3174 padding: 0; 3175 } 3176} 3177 3178 3179@media all{ 3180 #site-navigation .p-top-normal { 3181 padding-top: 15px !important; 3182 } 3183} 3184 3185 3186 3187 3188 3189 3190@media all{ 3191 .hpb-titel { 3192 font-size: 28px; 3193 line-height: 60px !important; 3194 } 3195} 3196 3197 3198@media all{ 3199 .hpb-subline { 3200 font-size: 18px; 3201 color: #333; 3202 } 3203 3204 .col-sm-4 { 3205 width: 33.33%; 3206 float: left; 3207 } 3208 3209 .col-sm-8 { 3210 width: calc(66.66% - 15px); 3211 float: left; 3212 font-size: 18px; 3213 padding-left: 15px; 3214 } 3215 3216 p { 3217 border: 0; 3218 margin: 0; 3219 padding: 0; 3220 } 3221 3222 p { 3223 margin-bottom: 1.5em; 3224 } 3225 3226 p { 3227 overflow-wrap: break-word; 3228 } 3229 3230 p { 3231 margin: 0 0 10px; 3232 } 3233} 3234 3235 3236 3237@media all{ 3238 .wp-block-image:not(.is-style-rounded) > a { 3239 border-radius: inherit; 3240 } 3241 3242 figcaption { 3243 display: block; 3244 } 3245 3246 .wp-block-image figcaption { 3247 font-size: 13px; 3248 text-align: center; 3249 } 3250 3251 .wp-block-image figcaption { 3252 margin-top: .5em; 3253 margin-bottom: 1em; 3254 } 3255 3256 .wp-block-image figcaption { 3257 display: none; 3258 } 3259 3260 .box30 { 3261 width: 30%; 3262 float: left; 3263 overflow: hidden; 3264 } 3265 3266 .box70 { 3267 width: 70%; 3268 float: left; 3269 overflow: hidden; 3270 } 3271} 3272 3273 3274 3275.gb-container-Farbe-Microsoft > .gb-inside-container { 3276 max-width: 1280px; 3277 margin-left: auto; 3278 margin-right: auto; 3279} 3280 3281.gb-container-6fafee75 > .gb-inside-container { 3282 padding-top: 15px; 3283 padding-bottom: 15px; 3284} 3285 3286 3287 3288@media all{ 3289 .grid-100 { 3290 -moz-box-sizing: border-box; 3291 -webkit-box-sizing: border-box; 3292 box-sizing: border-box; 3293 padding-left: 10px; 3294 padding-right: 10px; 3295 } 3296} 3297 3298@media (min-width: 1025px){ 3299 .grid-100 { 3300 clear: both; 3301 width: 100%; 3302 } 3303} 3304 3305@media all{ 3306 h3 { 3307 border: 0; 3308 margin: 0; 3309 padding: 0; 3310 } 3311 3312 h3 { 3313 font-family: inherit; 3314 font-size: 100%; 3315 font-style: inherit; 3316 font-weight: inherit; 3317 } 3318 3319 h3 { 3320 font-size: 29px; 3321 margin-bottom: 20px; 3322 line-height: 1.2em; 3323 font-weight: 400; 3324 text-transform: none; 3325 } 3326} 3327 3328h3 { 3329 font-family: "Roboto Condensed", sans-serif; 3330 font-weight: 500; 3331 font-size: 22px; 3332} 3333 3334@media all{ 3335 h3 { 3336 overflow-wrap: break-word; 3337 } 3338 3339 h3 { 3340 margin-bottom: 10px !important; 3341 } 3342} 3343 3344h3 { 3345 font-size: 22px !important; 3346} 3347 3348 3349 3350@media all{ 3351 .grid-75 { 3352 -moz-box-sizing: border-box; 3353 -webkit-box-sizing: border-box; 3354 box-sizing: border-box; 3355 padding-left: 10px; 3356 padding-right: 10px; 3357 } 3358} 3359 3360@media (min-width: 1025px){ 3361 .grid-75 { 3362 float: left; 3363 } 3364 3365 .grid-75 { 3366 width: 75%; 3367 } 3368} 3369 3370 3371 3372 3373 3374@media all{ 3375 .circle { 3376 position: relative; 3377 width: 42px; 3378 height: 42px; 3379 border-radius: 50%; 3380 box-shadow: 0 0 10px 0px #aaa; 3381 display: inline-block; 3382 margin-bottom: -14px; 3383 margin-left: 12px; 3384 } 3385 3386 .menu__heading-mit-play-button .circle { 3387 position: relative; 3388 width: 42px; 3389 height: 42px; 3390 border-radius: 50%; 3391 box-shadow: 0 0 10px 0px #aaa; 3392 display: inline-block; 3393 margin-bottom: -14px; 3394 margin-left: 12px; 3395 float: none !important; 3396 } 3397} 3398 3399 3400 3401.menu-img-box { 3402 width: 100%; 3403}
3404 3405@media all{ 3406 img.menu-img-box { 3407 padding-bottom: 15px !important; 3408 display: block; 3409 } 3410} 3411 3412img.menu-img-box { 3413 _width: 70px; 3414} 3415 3416@media all{ 3417 .menu-text { 3418 font-size: 16px; 3419 } 3420 3421 .size-thumbnail { 3422 max-width: 100%; 3423 height: auto; 3424 } 3425 3426 .crestron { 3427 color: #004a80 !important; 3428 } 3429} 3430 3431.main-navigation .editor-html a { 3432 padding: 0 !important; 3433 font-weight: 400; 3434} 3435 3436#menu-pik-menu .editor-html a { 3437 display: inline; 3438} 3439 3440@media all{ 3441 .samsung { 3442 color: #0084c7 !important; 3443 } 3444 3445 .alignleft { 3446 float: left; 3447 margin-right: 1.5em; 3448 } 3449 3450 .clickshare { 3451 color: #f00000 !important; 3452 } 3453} 3454 3455 3456 3457@media all{ 3458 h4 { 3459 border: 0; 3460 margin: 0; 3461 padding: 0; 3462 } 3463 3464 h4 { 3465 font-family: inherit; 3466 font-size: 100%; 3467 font-style: inherit; 3468 font-weight: inherit; 3469 } 3470 3471 h4 { 3472 font-size: 24px; 3473 } 3474 3475 h4 { 3476 margin-bottom: 20px; 3477 } 3478} 3479 3480h4 { 3481 font-size: inherit; 3482} 3483 3484@media all{ 3485 h4 { 3486 overflow-wrap: break-word; 3487 } 3488} 3489 3490 3491 3492@media all{ 3493 .wp-block-image img { 3494 vertical-align: bottom; 3495 } 3496 3497 .wp-block-image:not(.is-style-rounded) img { 3498 border-radius: inherit; 3499 } 3500} 3501 3502@media all{ 3503 .size-large { 3504 max-width: 100%; 3505 height: auto; 3506 } 3507 3508 .heading-container { 3509 text-shadow: none !important; 3510 } 3511} 3512 3513.heading-container { 3514 overflow: hidden; 3515} 3516 3517@media all{ 3518 .heading-mit-play-button { 3519 clear: both; 3520 padding: 15px 0; 3521 } 3522 3523 .padding-15 { 3524 padding-top: 15px; 3525 padding-bottom: 15px; 3526 } 3527 3528 .heading-mit-play-button { 3529 clear: both; 3530 padding-left: 15px; 3531 } 3532} 3533 3534 3535 3536@media all{ 3537 .medium { 3538 font-size: 18px !important; 3539 } 3540} 3541 3542@media (min-width: 769px){ 3543 .medium { 3544 font-size: 18px; 3545 } 3546} 3547 3548@media all{ 3549 .size-medium { 3550 max-width: 100%; 3551 height: auto; 3552 } 3553 3554 #site-navigation .p-top-doppel { 3555 padding-top: 30px !important; 3556 } 3557 3558 .pik-button { 3559 position: relative; 3560 min-width: 250px; 3561 max-width: calc(100% - 30px); 3562 padding: 1rem 1.5rem; 3563 color: #fff; 3564 border: none; 3565 border-radius: 4px; 3566 font-size: 16px; 3567 cursor: pointer; 3568 text-align: center; 3569 text-transform: uppercase; 3570 display: flex; 3571 flex-wrap: wrap; 3572 flex-direction: column; 3573 align-items: center; 3574 transition-duration: 300ms; 3575 transition-timing-function: ease-in; 3576 } 3577 3578 .pik-button { 3579 text-shadow: none !important; 3580 } 3581} 3582 3583.pik-button { 3584 box-shadow: 0 0 15px 0px #ddd !important; 3585 margin: 15px !important; 3586} 3587 3588@media all{ 3589 a.pik-button { 3590 min-width: auto !important; 3591 } 3592} 3593 3594 3595 3596#menu-pik-menu a.pik-button { 3597 padding: 1rem 1.5rem !important; 3598 color: #fff; 3599 display: block !important; 3600} 3601 3602.pik-button:hover { 3603 color: #0f1e5a 3604; 3605 border: 1px solid #0f1e5a 3606; 3607} 3608 3609 3610 3611@media all{ 3612 .gross { 3613 font-size: 24px !important; 3614 } 3615} 3616 3617@media (min-width: 769px){ 3618 .gross { 3619 font-size: 22px; 3620 } 3621} 3622 3623 3624 3625@media all{ 3626 .sehr-gross { 3627 line-height: 1.2 !important; 3628 } 3629 3630 .sehr-gross { 3631 font-size: 46px !important; 3632 } 3633 3634 strong { 3635 border: 0; 3636 margin: 0; 3637 padding: 0; 3638 } 3639 3640 strong { 3641 font-weight: 700; 3642 } 3643 3644 .poly { 3645 color: #eb3c00 !important; 3646 } 3647 3648 .main-navigation:not(.toggled) ul li:hover > ul { 3649 left: auto; 3650 opacity: 1; 3651 transition-delay: 150ms; 3652 pointer-events: auto; 3653 height: auto; 3654 overflow: visible; 3655 } 3656 3657 .main-navigation:not(.toggled) ul ul li:hover > ul { 3658 left: 100%; 3659 top: 0; 3660 } 3661} 3662 3663@media (min-width: 1281px){ 3664 #menu-pik-menu > li:hover > ul { 3665 z-index: 100000; 3666 } 3667} 3668 3669#hedline-subine_block_61f657c40fc6c .circle { 3670 background-color: #004a80; 3671} 3672 3673#hedline-subine_block_61f657c40fc6c:hover .circle { 3674 transition: all 0.3s ease; 3675 background-color: #fff; 3676} 3677 3678@media all{ 3679 .button-play { 3680 border-color: transparent transparent transparent #fff;
3681 width: 20px; 3682 height: 20px; 3683 border-style: solid; 3684 box-sizing: border-box; 3685 border-width: 10px 0px 10px 14px; 3686 position: absolute; 3687 top: 11px; 3688 left: 16px; 3689 display: inline-block; 3690 transition: all 0.3s ease; 3691 } 3692 3693 .menu__heading-mit-play-button .button-play { 3694 border-color: transparent transparent transparent #fff; 3695 width: 20px; 3696 height: 20px; 3697 border-style: solid; 3698 box-sizing: border-box; 3699 border-width: 10px 0px 10px 14px; 3700 position: absolute; 3701 top: 11px; 3702 left: 16px; 3703 display: inline-block; 3704 transition: all 0.3s ease; 3705 } 3706} 3707 3708 3709 3710.main-navigation .main-nav ul ul li .box-headline a { 3711 padding: 0; 3712 font-size: 18px; 3713 text-transform: none; 3714 font-weight: 400; 3715} 3716 3717 3718 3719.mega-box-container:hover a, .mega-box-container:hover { 3720 color: #fff !important; 3721} 3722 3723 3724@media all{ 3725 .aligncenter { 3726 clear: both; 3727 display: block; 3728 margin: 0 auto; 3729 } 3730 3731 .aligncenter { 3732 clear: both; 3733 } 3734} 3735 3736 3737@media all{ 3738 .pb-linktext { 3739 color: #666 !important; 3740 display: block; 3741 padding-bottom: 20px; 3742 } 3743} 3744 3745 3746 3747@media all{ 3748 .wp-block-image figure { 3749 margin: 0; 3750 } 3751 3752 .wp-block-image .aligncenter { 3753 display: table; 3754 } 3755 3756 .wp-block-image .aligncenter { 3757 margin-left: auto; 3758 margin-right: auto; 3759 } 3760} 3761 3762 3763 3764@media all{ 3765 .venue { 3766 color: #401B40 !important; 3767 } 3768} 3769 3770.no-text-shadow { 3771 text-shadow: none !important; 3772} 3773 3774@media all{ 3775 .linktext { 3776 display: block; 3777 float: left; 3778 width: calc(100% - 60px); 3779 min-height: 60px !important; 3780 } 3781 3782 .linktext { 3783 display: block; 3784 float: left; 3785 width: calc(100% - 60px); 3786 min-height: 60px !important; 3787 text-align: center !important; 3788 } 3789 3790 .heading-mit-play-button .circle { 3791 position: relative; 3792 width: 42px; 3793 height: 42px; 3794 border-radius: 50%; 3795 box-shadow: 0 0 10px 0px #aaa; 3796 display: inline-block; 3797 margin-bottom: -25px; 3798 margin-left: 5px; 3799 float: right; 3800 } 3801} 3802 3803 3804@media all{ 3805 .heading-mit-play-button:hover .circle { 3806 transition: all 0.3s ease; 3807 background-color: #fff !important; 3808 } 3809} 3810 3811 3812 3813.gb-container .wp-block-image img { 3814 vertical-align: middle; 3815} 3816 3817 3818 3819 3820</style> 3821 3822 3823<style> 3824@media (max-width:1280px) { 3825.item-container-drei-spalten { 3826 width: 100%; 3827} 3828 3829#menu-pik-menu .gb-grid-wrapper > .gb-grid-column, #menu-pik-menu .mega-box-container { 3830 width: 100% !important; 3831} 3832 3833} 3834 3835.gb-grid-wrapper>.gb-grid-column-41450028 { 3836 width: 25% 3837} 3838 3839@media (max-width: 767px) { 3840 .gb-grid-wrapper>.gb-grid-column-41450028 { 3841 width:100% 3842 } 3843} 3844 3845.gb-grid-wrapper>.gb-grid-column-67d3d28a { 3846 width: 75%; 3847} 3848 3849 3850 3851 3852 3853 3854 3855.menu-item-has-children .dropdown-menu-toggle { 3856 display: none; 3857} 3858/*! 3859 * mmenujs.com/mmenu-light 3860 * 3861 * Copyright (c) Fred Heusschen 3862 * www.frebsite.nl 3863 * 3864 * License: CC-BY-4.0 3865 * http://creativecommons.org/licenses/by/4.0/ 3866 */ 3867 3868@media (max-width:1280px) { 3869 3870 .mm,.mm a,.mm li,.mm span,.mm ul{display:block;padding:0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box} 3871 3872:root{--mm-item-height:50px;--mm-item-indent:20px;--mm-line-height:24px} 3873 3874.mm-hidden{display:none!important} 3875 3876.mm{-webkit-tap-highlight-color:transparent;-webkit-overflow-scrolling:touch;overflow:hidden;-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0);color:#000;background:#fff;line-height:24px;line-height:var(--mm-line-height);-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)} 3877 3878.mm{cursor:pointer} 3879 3880.mm:before{content:'';display:block;position:absolute;top:25px;top:calc(var(--mm-item-height)/ 2);left:20px;left:var(--mm-item-indent);width:10px;height:10px;margin-top:2px;border-top:2px solid;border-left:2px solid;-webkit-transform:rotate(-45deg) translate(50%,-50%);-ms-transform:rotate(-45deg) translate(50%,-50%);transform:rotate(-45deg) translate(50%,-50%);opacity:1} 3881
3882.mm.mm--main{cursor:default} 3883 3884.mm.mm--main:before{content:none;display:none} 3885 3886.mm:after{ 3887content:attr(data-mm-title); 3888display:block;position:absolute;top:0;left:0;right:0;height:50px;height:var(--mm-item-height);padding:0 40px;padding:0 calc(var(--mm-item-indent) * 2);line-height:50px;line-height:var(--mm-item-height);opacity:1;text-align:center;overflow:hidden;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;-webkit-box-shadow:0 1px 0 0 rgba(235,235,235,1),0 1px 0 0 currentColor; 3889box-shadow:0 1px 0 0 rgba(235,235,235,1),0 1px 0 0 currentColor; 3890color: #0f1e5a 3891} 3892 3893.mm.mm--main:after{padding-left:20px;padding-left:var(--mm-item-indent)} 3894 3895.mm ul{-webkit-overflow-scrolling:touch;position:fixed;top:50px;top:var(--mm-item-height);left:100%;bottom:0;width:200%;padding-right:100%;overflow:visible;overflow-y:auto;background:inherit;-webkit-transition:left .3s ease 0s;-o-transition:left .3s ease 0s;transition:left .3s ease 0s;cursor:default} 3896 3897.mm ul:after{content:'';display:block;height:50px;height:var(--mm-item-height)} 3898 3899.mm>ul{left:0} 3900 3901.mm ul.mm--open{left:0} 3902 3903.mm ul.mm--parent{left:-100%;overflow-y:hidden} 3904 3905.mm li{position:relative;background:inherit;cursor:pointer} 3906 3907.mm li:before{content:'';display:block;position:absolute;top:25px;top:calc(var(--mm-item-height)/ 2);right:25px;right:calc(var(--mm-item-height)/ 2);z-index:0;width:10px;height:10px;border-top:2px solid;border-right:2px solid;-webkit-transform:rotate(45deg) translate(0,-50%);-ms-transform:rotate(45deg) translate(0,-50%);transform:rotate(45deg) translate(0,-50%);opacity:.4} 3908 3909.mm li:after{content:'';display:block;margin-left:20px;margin-left:var(--mm-item-indent);border-top:0px solid;opacity:.15} 3910 3911.mm .menu-item > a,.mm-- span{position:relative;z-index:1;padding:13px 20px;padding:calc((var(--mm-item-height) - var(--mm-line-height))/ 2) var(--mm-item-indent)} 3912 3913 3914 3915.mm ul > li > a { 3916background:inherit;color:#0f1e5a 3917;text-decoration:none;text-transform: uppercase;font-weight:700; 3918} 3919
3920#primary-menu.mm ul > li > ul > li > a { 3921 text-decoration:none; 3922 text-transform: normal !important; 3923 font-weight:400; 3924} 3925 3926 3927 3928 3929 3930.mm a:not(:last-child){width:calc(100% - 50px);width:calc(100% - var(--mm-item-height))} 3931 3932.mm a:not(:last-child):after{content:'';display:block;position:absolute;top:0;right:0;bottom:0;border-right:0px solid;opacity:.15} 3933 3934.mm span{background:0 0} 3935 3936.mm.mm--dark{background:#333;color:#ccc} 3937 3938.mm.mm--vertical:after,.mm.mm--vertical:before{content:none;display:none} 3939 3940.mm.mm--vertical{overflow-y:auto} 3941 3942.mm.mm--vertical ul{width:100%;padding-right:0;position:static} 3943 3944.mm.mm--vertical ul ul{display:none;padding-left:20px;padding-left:var(--mm-item-indent)} 3945 3946.mm.mm--vertical ul ul:after{height:25px;height:calc(var(--mm-item-height)/ 2)} 3947 3948.mm.mm--vertical ul.mm--open{display:block} 3949 3950.mm.mm--vertical li.mm--open:before{-webkit-transform:rotate(135deg) translate(-50%,0);-ms-transform:rotate(135deg) translate(-50%,0);transform:rotate(135deg) translate(-50%,0)} 3951 3952.mm.mm--vertical ul ul li:last-child:after{content:none;display:none} 3953 3954:root{--mm-width:80%;
3954--mm-min-width:200px;--mm-max-width:440px} 3955 3956.mm-body--open{overflow-y:hidden;pointer-events:none} 3957 3958.mm{pointer-events:auto} 3959 3960.mm.mm--offcanvas{position:fixed;top:0;bottom:0;left:0;z-index:9995;width:80%;width:var(--mm-width);min-width:200px;min-width:var(--mm-min-width);max-width:440px;max-width:var(--mm-max-width);-webkit-transition:bottom 0s ease 0s,-webkit-transform .3s ease 0s;transition:bottom 0s ease 0s,-webkit-transform .3s ease 0s;-o-transition:transform .3s ease 0s,bottom 0s ease 0s;transition:transform .3s ease 0s,bottom 0s ease 0s;transition:transform .3s ease 0s,bottom 0s ease 0s,-webkit-transform .3s ease 0s} 3961 3962.mm.mm--offcanvas:not(.mm--open){bottom:100%;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);-webkit-transition-delay:0s,.16s;-o-transition-delay:0s,.16s;transition-delay:0s,.16s} 3963 3964.mm.mm--right{left:auto;right:0} 3965 3966.mm.mm--right:not(.mm--open){-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)} 3967 3968.mm-blocker{pointer-events:auto;display:block;position:fixed;bottom:0;right:0;background:rgba(0,0,0,.2);top:100%;z-index:9990;width:100%;opacity:0;-webkit-transition-property:opacity,top;-o-transition-property:opacity,top;transition-property:opacity,top;-webkit-transition-timing-function:ease,linear;-o-transition-timing-function:ease,linear;transition-timing-function:ease,linear;-webkit-transition-duration:.45s,0s;-o-transition-duration:.45s,0s;transition-duration:.45s,0s;-webkit-transition-delay:0s,.45s;-o-transition-delay:0s,.45s;transition-delay:0s,.45s} 3969 3970.mm-blocker.mm--open{top:0;z-index:9999;width:calc(100% - 80%);width:calc(100% - var(--mm-width));min-width:calc(100% - 440px);min-width:calc(100% - var(--mm-max-width));max-width:calc(100% - 200px);max-width:calc(100% - var(--mm-min-width));opacity:1;-webkit-transition-delay:.3s,0s;-o-transition-delay:.3s,0s;transition-delay:.3s,0s} 3971 3972.mm.mm--right{left:auto;right:0} 3973 3974.mm.mm--right:not(.mm--open){-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)} 3975 3976.mm-blocker.mm--right{right:auto;left:0} 3977 3978} 3979 3980 3981 3982 3983</style> 3984 3985 3986 3987 3988<!-- 3989<div id="burger" href="#primary-menu" class="menu-button"> 3990 <span></span> 3991 <span></span> 3992 <span></span> 3993</div> 3994--> 3995 3996<style> 3997@media (max-width:1280px) { 3998body .sf-menu > li > ul > li { 3999 position: relative; 4000} 4001 4002#menu-pik-menu img { 4003 max-width:280px !important; 4004 height: auto !important; 4005 4006} 4007 4008} 4009 4010 4011#burger { 4012 position: relative; 4013 right: 20px; 4014 height: 20px; 4015 width: 35px; 4016 z-index: 1000; 4017} 4018 4019div#burger-cont { 4020 position: absolute; 4021 top: 70px; 4022 right: -10px; 4023} 4024 4025.page-scrolled #burger-cont { 4026 position: fixed; 4027 top: 50px; 4028 right: 0px; 4029 z-index: 1005; 4030} 4031 4032 4033 4034 4035 #burger:hover { 4036 cursor: pointer; 4037 } 4038 4039 #burger span { 4040 position: absolute; 4041 width: 100%; 4042 height: 4px; 4043 top: 50%; 4044 margin-top: -1px; 4045 left: 0; 4046 display: block; 4047 background: #0f1e5a 4048; 4049 transition: .5s; 4050 } 4051 4052 #burger span:first-child { 4053 top: 0px; 4054 } 4055 4056 #burger span:last-child { 4057 top: 20px; 4058 } 4059 4060 .mm-body--open #burger span { 4061 opacity: 0; 4062 top: 50%; 4063 } 4064 4065 .mm-body--open #burger span:first-child { 4066 opacity: 1; 4067 transform: rotate(135deg); 4068 } 4069 4070 .mm-body--open #burger span:last-child { 4071 opacity: 1; 4072 transform: rotate(-135deg); 4073 } 4074 4075</style> 4076 4077 4078<!-- 4079<link rel="stylesheet" href="https:////maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" /> 4080 4081<div id="hea2"> 4082 <a href="#menu" class="fa fa-bars">hier mobilstart</a> 4083 <a href="#content" class="fa fa-close">mobil close</a> 4084</div> 4085--> 4086 4087<style> 4088 4089 4090 4091 #hea2 { 4092 display: -webkit-box; 4093 display: -ms-flexbox; 4094 display: flex; 4095 -webkit-box-align: center; 4096 -ms-flex-align: center;
4097 align-items: center; 4098 -webkit-box-pack: center; 4099 -ms-flex-pack: center; 4100 justify-content: center; 4101 position: -webkit-sticky; 4102 position: fixed; 4103 top: 50px; 4104 z-index: 100000; 4105 height: 50px; 4106 font-size: 18px; 4107 font-weight: 400; 4108 color: #fff; 4109 background: #0f1e5a 4110; 4111} 4112 4113 #menu:not(.mm-menu):not(.mm) { 4114 display: none; 4115} 4116.mm-wrapper--opened #header a[href="#page"] { 4117 display: -webkit-box; 4118 display: -ms-flexbox; 4119 display: flex; 4120} 4121 4122 4123 4124 4125 4126 4127 4128 </style> 4129 4130 4131 4132 4133<style> 4134.mm ul { 4135 display:flex; 4136 flex-direction:column; 4137 } 4138 4139 4140 4141#menu-item-18145 { 4142 order:-1; 4143} 4144 4145 4146span.dropdown-menu-toggle { 4147 display: none; 4148} 4149 4150span.inside { 4151 padding: 0; 4152 4153} 4154span.outside { 4155 padding: 0; 4156} 4157 4158.grid-menu-boxes-inside { 4159 display: flex; 4160 gap:15px; 4161} 4162 4163img.menu-img-box { 4164 _width: 70px; 4165} 4166 4167 4168 4169 4170 4171 4172 4173</style> 4174 4175 4176<style> 4177body.mm-body--open { 4178 overflow:hidden !important; 4179 position: fixed; 4180 width: 100%; 4181 height: 100%; 4182} 4183 4184 4185@media (max-width:1280px) { 4186 4187header#masthead { 4188 position:relative !important; 4189 height:inherit !important; 4190 box-shadow: none !important; 4191} 4192 4193#content { 4194 margin-top:0 !important; 4195} 4196 4197.site-logo { 4198 margin-bottom: 0 !important; 4199} 4200 4201.inside-header { 4202 padding-top: 0 !important; 4203} 4204 4205.inside-navigation.grid-container.grid-parent div#primary-menu { 4206 display: none; 4207} 4208 4209 4210.inside-header.grid-container.grid-parent { 4211 text-align: left; 4212} 4213 4214#page { 4215 padding-top: 0px !important; 4216} 4217 4218div#breadcrumb { 4219 margin: 0 !important; 4220} 4221 4222.site-header .header-image { 4223 width: 150px; 4224} 4225} 4226 4227 4228@media (min-width:1281px) { 4229 #burger {
4230 display:none; 4231 } 4232 4233 4234} 4235 4236 4237</style> 4238 4239<style> 4240.mm---open > ul > li.menu-item:before { 4241 display:none !important; 4242} 4243 4244#menu-pik-menu .editor-html a { 4245 display: inline; 4246} 4247 4248#menu-pik-menu a.pik-button { 4249 padding: 1rem 1.5rem !important; 4250 color:#fff; 4251 display:block !important; 4252} 4253 4254 4255.main-navigation .main-nav ul ul li .box-headline a { 4256 padding: 0; 4257 font-size:18px; 4258 line-height 27px; 4259 text-transform:none; 4260 font-weight:400; 4261} 4262 4263ul.sub-menu.mm-level .heading-button-link { 4264 font-weight:400; 4265} 4266 4267.mega-box-container:hover a, 4268.mega-box-container:hover { 4269 color:#fff !important; 4270} 4271.main-navigation .editor-html a { 4272 padding:0 !important; 4273 font-weight:400; 4274} 4275 4276@media (min-width:1281px) { 4277#menu-pik-menu ul li.sfHover> a, 4278.main-navigation .main-nav ul ul li.hovered > a 4279 { 4280 background:#f4f4f4 !important; 4281 color: #777 !important; 4282} 4283 4284#menu-pik-menu .sub-menu ul.sub-menu { 4285 box-shadow: 0px 10px 30px 0 rgb(0 0 0 / 11%) !important; 4286 -webkit-box-shadow: 0px 10px 30px 0 rgb(0 0 0 / 11%) !important; 4287} 4288 4289ul.sub-menu.mm-level { 4290 padding: 15px; 4291} 4292} 4293 4294</style></div><div data-content-type="html" data-appearance="default" id="" data-element="main" data-decoded="true"><!-- shop cats css --> 4295<style> 4296ul#menu-shop-kategorien.mm--open a:hover svg { 4297 stroke: #000 !important; 4298} 4299 4300 4301#menu-pik-menu > li >ul >li > a { 4302 font-size: 14px; 4303} 4304 4305@media (min-width:1051px) { 4306 4307#menu-pik-menu .logo-bild { 4308 height: 90px !important; 4309} 4310 4311#primary-menu .sub-menu.mm-level { 4312 margin-right: 0px; 4313} 4314 4315#menu-pik-menu #menu-item-18145 li.fullwidth .mm-level { 4316 width:100% !important; 4317 box-shadow:none !important; 4318 padding:0 !important; 4319} 4320 4321#menu-pik-menu #menu-item-18145 li.fullwidth- > ul, 4322#menu-pik-menu #menu-item-18145 li.fullwidth .second-level 4323 { 4324 padding:15px !important; 4325} 4326 4327#menu-pik-menu #menu-item-18145 ul a, 4328#menu-pik-menu > .menu-item > ul > li > a { 4329 color:#777; 4330 background:#fff; 4331} 4332#menu-pik-menu #menu-item-18145 ul a:hover, 4333#menu-pik-menu > .menu-item > ul > li > a:hover { 4334 color: #fff; 4335 background:#0f1e5a; 4336 } 4337 4338 4339#menu-pik-menu #menu-item-18145 li > ul a { 4340 display:block; 4341} 4342 4343#menu-pik-menu #menu-item-18145 li > ul ul a, 4344#menu-pik-menu #menu-item-18145 > ul .submenu .second-level a { 4345 font-weight:400 !important; 4346} 4347 4348#menu-shop-kategorien ul li:not([class*="current-menu-"]):hover > a, 4349#menu-shop-kategorien ul li:not([class*="current-menu-"]):focus > a, 4350#menu-shop-kategorien ul li.sfHover:not([class*="_current-menu-"]) > a, 4351.secondary-navigation ul li[class*="current-menu-"] > a { 4352 background:#ececec !important; 4353 color: #333 !important; 4354 display:block !important; 4355} 4356 4357 4358header#masthead { 4359 height: 104px; 4360} 4361 4362#masthead .site-logo img { 4363 margin-top: -38px !important 4364} 4365 4366#masthead.headroom--not-top .site-logo img { 4367 margin-top: -10px !important; 4368} 4369 4370#masthead.headroom--unpinned .site-logo img { 4371 margin-top: 54px !important; 4372} 4373 4374#masthead.headroom--unpinned { 4375 height: 115px; 4376} 4377 4378} 4379 4380.headroom--unpinned div#primary-menu { 4381 margin-top: 10px; 4382} 4383 4384.headroom--pinned { 4385 height: 105px !important; 4386} 4387 4388#header .featured_image { 4389 margin-top:0 !important; 4390} 4391 4392 4393@media(min-width:1281px) { 4394 4395.boxes-container { 4396 display: flex; 4397 flex-wrap: wrap; 4398} 4399 4400.item-container-drei-spalten { 4401 width: 33.33%; 4402} 4403 4404ul.sub-menu.mm-level a { 4405 display: inline-block; 4406} 4407 4408 4409 4410 4411 4412.main-navigation ul > li[class*='current'] > ul:not(.sub-menu.mm-level), 4413.home #menu-item-7340 > ul { 4414 left: auto; 4415 opacity: 1 !important; 4416 transition-delay: 150ms; 4417 pointer-events: auto; 4418 height: auto; 4419 overflow: visible !important; 4420} 4421#menu-item-18145 .submenu .sub-menu { 4422 width:220px; 4423 position:absolute; 4424 left: auto !important; 4425} 4426 4427#menu-pik-menu > li > a { 4428 border-bottom: 1px solid #c3c3c3; 4429 line-height: 42px; 4430 height:42px; 4431 box-sizing: border-box; 4432 transition: background 200ms linear, color 200ms linear, border 200ms linear; 4433 padding-left:12px; 4434 padding-right:12px; 4435} 4436 4437 4438#menu-pik-menu > li > a:hover, 4439#menu-pik-menu > li[class*='current'] > a { 4440 border-bottom: 5px solid #0f1e5a; 4441} 4442 4443#menu-pik-menu > li:hover > ul { 4444 z-index:100000; 4445} 4446
4447 4448.menu-item-has-children span.outside { 4449 /*top:-15px;*/ 4450} 4451 4452#menu-pik-menu > li >ul >li > a { 4453 color: #777; 4454 font-weight: 400; 4455 padding-left:8px; 4456 padding-right:8px; 4457} 4458 4459#menu-pik-menu > li >ul >li > a:hover { 4460 color: #fff; 4461} 4462 4463#menu-pik-menu ul li a { 4464 /* padding: 13px 20px; */ 4465} 4466} 4467 4468 4469 4470@media (max-width: 768px) { 4471 .main-navigation ul, .gen-sidebar-nav { 4472 display: block !important; 4473 } 4474} 4475 4476 4477 .home #menu-item-18145- > .sub-menu { 4478 height: auto !important; 4479 opacity: 1 !important; 4480 pointer-events:initial; 4481} 4482 4483 4484 4485 4486 4487 4488li#menu-item--18145 li.submenu ul { 4489 position: absolute; 4490 left: auto !important; 4491 width:200px; 4492 4493} 4494 4495li#menu-item-18145 li#menu-item-49252 ul__ { 4496 position: static !important; 4497 left: 0 !important; 4498} 4499 4500 4501 li#menu-item-18145 li a { 4502 text-transform: initial !important; 4503} 4504 4505 4506 4507.main-navigation ul ul ul ul { 4508 display: block; 4509 box-shadow: 1px 1px 0 rgba(0, 0, 0, .1); 4510 float: none; 4511 position: static; 4512 left: iniial; 4513 opacity:1; 4514 /* z-index: 99999; */ 4515 width: 200px; 4516 text-align: left; 4517 top: auto; 4518 transition: opacity 80ms linear; 4519 transition-delay: 0s; 4520 pointer-events: none; 4521 height: auto; 4522 overflow: hidden; 4523} 4524 4525li#menu-item-49252 ul { 4526 display: flex; 4527} 4528 4529li#menu-item-49252 ul ul { 4530 flex-direction:column; 4531} 4532 4533 4534 4535@media (min-width:1281px) { 4536 4537.sf-menu > li { position: static;} 4538body .main-navigation ul.menu > li > ul { width: 100%; left: 0 !important;} 4539body .main-navigation ul.menu > li > ul > li { width: auto;} 4540body .main-navigation ul.menu > li > ul > li ul { left: 0; top: 100%;} 4541 4542 4543body .sf-menu > li > ul > li { position: static;} 4544 4545body .main-navigation ul.menu > li > ul > li> ul { 4546 width: 100%; left: 0 !important; top:42px !important; 4547 } 4548 4549.main-navigation ul ul { 4550 box-shadow:none; 4551} 4552} 4553 4554 4555body .main-navigation ul.menu > li > ul { 4556 max-width: 1010px !important; 4557 left: initial !important; 4558 right: 0 !important; 4559 display: flex; 4560 justify-content: flex-end; 4561 width: calc(100vw - 240px); 4562} 4563 4564.site-header .header-image { 4565 /* transition: all 0.7s ease; */ 4566} 4567 4568.site-header.headroom--unpinned .header-image { 4569 width: 76px !important; 4570 margin-top: 54px !important; 4571} 4572 4573 @media (max-width:1240px) { 4574body .main-navigation ul.menu > li > ul { 4575 _width: 100% !important; 4576 } 4577} 4578 4579 #site--navigation, .site-header { 4580/* height:72px; */ 4581 position:sticky; 4582 top:0; 4583 /*transition: all 1.4s ease;*/ 4584 box-shadow:none; 4585} 4586 4587#site--navigation.headroom--not-top, 4588.site-header.headroom--not-top 4589 { 4590 position: fixed; 4591 width: 100%; 4592 z-index: 1001; 4593 top: 0; 4594 left: 0; 4595 background:#fff; 4596 height:114px; 4597 box-shadow: 0px 9px 35px 0 rgb(0 0 0/45%); 4598 /*transition: all 0.4 ease;*/ 4599} 4600 4601#site-navigation_ #mega-menu-item-18104 img { 4602 margin-top:-40px; 4603} 4604 4605 4606#site-navigation.headroom--not-top #mega-menu-item-18104 img { 4607 height:80px; 4608 margin-top: -20px; 4609 position:relative; 4610 z-index:1000; 4611 transition: height .1s ease; 4612} 4613 4614.headroom { 4615 will-change: transform; 4616 transition: transform 500ms linear; 4617} 4618.headroom--pinned { 4619 transform: translateY(0%); 4620} 4621.headroom--unpinned { 4622 transform: translateY(-72px); 4623} 4624#site-navigation.headroom--unpinned #mega-menu-item-18104 img { 4625 margin-top: 40px; 4626 height: 40px; 4627} 4628 4629header#masthead { 4630 z-index: 10; 4631} 4632 4633ul#menu-shop-kategorien.mm--open a { 4634 padding: 13px 20px !important; 4635} 4636 4637ul#menu-shop-kategorien.mm--open a:hover { 4638 color:#777; 4639} 4640</style></div><div data-content-type="html" data-appearance="default" id="" data-element="main" data-decoded="true"><header class="site-header" id="masthead" aria-label="Website" itemtype="https://schema.org/WPHeader" itemscope data-nosnippet><div class="inside-header grid-container grid-parent"><div class="site-logo"><a href="https://pik.de/" rel="home"><div class="header-image is-logo-image"><style>.site-logo {margin-top: -20px;}.site-logo_ svg {width:150px;height:100px;} </style><svg id="Logo" xmlns="http://www.w3.org/2000/svg" viewBox="-6 -8 165 98" role="img"> <defs> <clipPath id="silhouetteClip"> <path transform="translate(33.5 34) scale(1.08) translate(-33.5 -34)" d="M2.67,12.71S57.63.86,61.41.12s6.15,2.15,6.22,3.48.07,58.81,0,60.52-2.89,4.59-6.52,3.7S3.93,54.19,2.52,53.53.15,51.3.07,49.45-.07,16.93.15,15.38s1.48-2.37,2.52-2.67Z"></path> </clipPath> <clipPath id="wordmarkReveal"> <rect id="wordmarkRevealRect" x="-3" y="-5" width="80" height="80"></rect> </clipPath> <linearGradient id="shineGrad" x1="0%" x2="100%" y1="0%" y2="0%"> <stop offset="0" stop-color="#fff" stop-opacity="0"></stop> <stop offset="0.3" stop-color="#fff" stop-opacity="0"></stop> <stop offset="0.5" stop-color="#fff" stop-opacity="0.95"></stop> <stop offset="0.7" stop-color="#fff" stop-opacity="0"></stop> <stop offset="1" stop-color="#fff" stop-opacity="0"></stop> </linearGradient> <clipPath id="logoShineClip"> <path d="M16.14,18.76c-1.77-.83-3.84-1.25-6.22-1.25H0v32.88h5.54v-12.45h4.37c2.38,0,4.45-.42,6.22-1.25,1.77-.83,3.14-2.01,4.11-3.55.97-1.53,1.46-3.35,1.46-5.45s-.49-3.91-1.46-5.43c-.97-1.52-2.34-2.69-4.11-3.52ZM14.52,31.7c-1.16.91-2.69,1.36-4.6,1.36h-4.37v-10.66
4640h4.37c1.91,0,3.44.45,4.6,1.34s1.74,2.22,1.74,3.97-.58,3.08-1.74,3.99Z"></path> <rect x="27.15" y="17.51" width="5.59" height="32.88"></rect> <polygon points="65.35 50.4 50.78 32.92 64.64 17.51 57.97 17.51 45.76 31.17 45.76 17.51 40.07 17.51 40.07 50.4 45.76 50.4 45.76 35.09 58.53 50.4 65.35 50.4"></polygon> </clipPath> </defs> <g id="wordmark"> <path id="wordmark-1" d="M16.14,18.76c-1.77-.83-3.84-1.25-6.22-1.25H0v32.88h5.54v-12.45h4.37c2.38,0,4.45-.42,6.22-1.25,1.77-.83,3.14-2.01,4.11-3.55.97-1.53,1.46-3.35,1.46-5.45s-.49-3.91-1.46-5.43c-.97-1.52-2.34-2.69-4.11-3.52ZM14.52,31.7c-1.16.91-2.69,1.36-4.6,1.36h-4.37v-10.66h4.37c1.91,0,3.44.45,4.6,1.34s1.74,2.22,1.74,3.97-.58,3.08-1.74,3.99Z" fill="#0f1e5a"></path> <rect id="wordmark-2" x="27.15" y="17.51" width="5.59" height="32.88" fill="#0f1e5a"></rect> <polygon id="wordmark-3" points="65.35 50.4 50.78 32.92 64.64 17.51 57.97 17.51 45.76 31.17 45.76 17.51 40.07 17.51 40.07 50.4 45.76 50.4 45.76 35.09 58.53 50.4 65.35 50.4" fill="#0f1e5a"></polygon> </g> <g transform="translate(73.5 0.5)"> <g id="Silhouette"> <path d="M2.67,12.71S57.63.86,61.41.12s6.15,2.15,6.22,3.48.07,58.81,0,60.52-2.89,4.59-6.52,3.7S3.93,54.19,2.52,53.53.15,51.3.07,49.45-.07,16.93.15,15.38s1.48-2.37,2.52-2.67Z" fill="#0f1e5a"></path> <g clip-path="url(#silhouetteClip)"> <path id="wave-fwd-1" class="wave fwd" d="M 8 -5 C 24 16, 24 54, 8 75"></path> <path id="wave-fwd-2" class="wave fwd" d="M 8 -2 C 22 18, 22 52, 8 72"></path> <path id="wave-fwd-3" class="wave fwd" d="M 8 1 C 20 21, 20 49, 8 69"></path> <path id="wave-rev-1" class="wave rev" d="M 67 -5 C 51 16, 51 54, 67 75"></path> <path id="wave-rev-2" class="wave rev" d="M 67 -2 C 53 18, 53 52, 67 72"></path> <path id="wave-rev-3" class="wave rev" d="M 67 1 C 55 21, 55 49, 67 69"></path> </g> </g> </g> <g id="finalForm"> <g class="pendle pendle-wave-2" style=""><path id="final-wave-2" d="M127.39,65.97c-3.13-.76,5.55,1.37,7.37,1.82,1.86.45,6.67-.16,6.67-4.1V4.1c0-2.28-3.21-4.66-6.38-3.98-3.04.65-6.27,1.38-7.38,1.61-1.1.23,5.47-.72,5.47,4.11v56.14c0,1.88-2.47,4.78-5.74,3.98" fill="#d9d9ee"></path></g> <g class="pendle pendle-wave-1"><path id="final-wave-1" d="M119.75,64.14c-2.22-.54-18.2-4.29-18.15-4.34,11.65-10.38,11.21-42.25-.25-52.19-.01-.01,16.41-3.74,18.38-4.16,2.03-.43,4.98,1.51,4.98,3.8v53.04c0,2.49-2.67,4.4-4.96,3.84" fill="#9ea3c7"></path></g> <g class="pendle pendle-cone"><path id="final-cone" d="M91.11,57.19c-5.47-1.35-13.53-3.28-14.45-3.5-.91-.22-2.82-1.17-2.82-4.55s-.14-30.42,0-32.85c.15-2.59,1.75-3.51,2.88-3.75.81-.17,12.64-2.67,14.45-3.09,18.7-4.38,18.14,51.45-.05,47.74" fill="#0f1e5a"></path></g> </g> <g clip-path="url(#logoShineClip)"> <rect id="shineSweep" x="0" y="-10" width="42" height="80" fill="url(#shineGrad)" style=""></rect> </g> <g id="Tagline" transform="translate(1.13 75.33) scale(1.2) translate(-1.13 -75.33)" class="reveal"> <path id="tag-word-1" d="M1.13,75.33h3.02v1.02H1.13v1.66h2.83v.99H1.13v2.15h3.02v1.01H0v-6.83h1.13ZM5.59,82.16h1.03v-4.49h-1.03v4.49ZM6.11,75.24c-.18,0-.33.06-.46.19-.13.12-.2.28-.2.46s.07.33.2.45c.13.13.29.19.46.19.19,0,.35-.06.47-.19.13-.13.19-.28.19-.45s-.06-.33-.19-.46c-.13-.12-.28-.19-.47-.19ZM10.49,77.57c-.31,0-.58.06-.8.19-.22.13-.41.33-.55.6v-.69h-1.05v4.49h1.05v-2.73c0-.2.04-.38.13-.53.09-.15.2-.27.35-.35.15-.08.32-.12.52-.12.29,0,.5.09.63.25s.2.42.2.75v2.73h1.08v-2.85c0-.54-.13-.96-.4-1.27s-.65-.46-1.16-.46Z" fill="#0f1e5a"></path> <path id="tag-word-2" d="M20.19,75.33h1.15v4.59c0,.38-.06.71-.18,1.01-.12.3-.29.55-.51.76-.22.21-.48.37-.79.48s-.64.17-1,.17-.7-.06-1.01-.17-.57-.27-.8-.48c-.22-.21-.39-.46-.51-.76s-.17-.63-.17-1.01v-4.59h1.15v4.54c0,.42.11.76.34,1.02.22.26.56.39,1,.39s.77-.13.99-.39.34-.6.34-1.02v-4.54ZM25.13,77.57c-.31,0-.58.06-.81.19s-.41.33-.55.6v-.69h-1.05v4.49h1.05v-2.73c0-.2.04-.38.13-.53.08-.15.2-.27.35-.35s.32-.12.52-.12c.29,0,.5.09.63.25s.21.42.21.75v2.73h1.08v-2.85c0-.54-.13-.96-.4-1.27s-.65-.46-1.16-.46ZM29.21,76.11h-1.04v1.56h-.75v.93h.75v3.56h1.04v-3.56h.75v-.93h-.75v-1.56ZM34.66,78.63c.18.34.27.75.27,1.23,0,.05,0,.11,0,.17,0,.06,0,.1-.01.13h-3.48c.02.2.06.39.12.54.1.22.24.4.43.51.19.12.42.17.7.17.29,0,.54-.06.75-.17.22-.12.39-.3.54-.54l.91.37c-.23.4-.54.71-.91.91-.37.2-.82.3-1.34.3-.46,0-.86-.1-1.21-.29-.35-.19-.62-.47-.8-.82-.19-.35-.28-.76-.28-1.23s.1-.89.29-1.24c.19-.35.46-.62.81-.82.35-.19.76-.29,1.24-.29s.88.09,1.21.27c.33.18.59.44.77.79ZM31.56,79.06c-.05.11-.09.24-.11.38h2.33c-.01-.
464019-.05-.36-.13-.51-.09-.17-.22-.31-.39-.41-.17-.1-.36-.15-.58-.15-.27,0-.49.06-.68.18-.19.12-.33.29-.43.51ZM38,77.57c-.23,0-.45.08-.66.24-.14.11-.26.25-.37.41v-.56h-1.04v4.49h1.04v-2.53c0-.22.02-.4.07-.56s.13-.28.24-.38.25-.14.43-.14c.13,0,.24.02.32.06.08.04.17.1.27.18l.51-.89c-.1-.12-.22-.21-.36-.26s-.3-.07-.46-.07ZM41.96,77.57c-.31,0-.58.06-.8.19-.22.13-.41.33-.55.6v-.69h-1.05v4.49h1.05v-2.73c0-.2.04-.38.13-.53.09-.15.2-.27.35-.35.15-.08.32-.12.52-.12.29,0,.5.09.63.25s.2.42.2.75v2.73h1.08v-2.85c0-.54-.13-.96-.4-1.27s-.65-.46-1.16-.46ZM48.84,78.63c.18.34.27.75.27,1.23,0,.05,0,.11,0,.17,0,.06,0,.1-.01.13h-3.48c.02.2.06.39.12.54.1.22.24.4.43.51.19.12.42.17.7.17s.54-.06.75-.17c.21-.12.39-.3.54-.54l.91.37c-.23.4-.54.71-.91.91-.37.2-.82.3-1.34.3-.46,0-.86-.1-1.21-.29-.35-.19-.62-.47-.81-.82-.19-.35-.28-.76-.28-1.23s.1-.89.29-1.24c.19-.35.46-.62.82-.82.35-.19.76-.29,1.24-.29s.88.09,1.21.27c.33.18.59.44.77.79ZM45.74,79.06c-.05.11-.09.24-.11.38h2.33c-.01-.19-.05-.36-.13-.51-.09-.17-.22-.31-.39-.41s-.36-.15-.58-.15c-.27,0-.49.06-.68.18s-.33.29-.43.51ZM53.37,77.74c-.23-.13-.51-.19-.84-.19s-.63.08-.86.25c-.21.15-.37.35-.49.58v-3.83h-1.05v7.61h1.05v-2.73c0-.2.04-.38.13-.53.08-.15.2-.27.35-.35.15-.09.32-.13.52-.13.29,0,.51.09.64.25.13.17.2.42.2.75v2.73h1.06v-2.88c0-.38-.06-.7-.18-.96-.12-.26-.29-.45-.52-.58ZM61.19,77.77c-.21-.13-.48-.2-.8-.2s-.58.07-.82.2-.43.34-.59.6c-.1-.26-.26-.46-.47-.6s-.49-.2-.82-.2c-.29,0-.53.06-.75.19-.21.13-.38.31-.51.56v-.65h-1.03v4.49h1.03v-2.73c0-.21.04-.4.11-.55.07-.15.17-.26.31-.34.13-.08.29-.12.47-.12.26,0,.45.08.57.25.12.17.18.42.18.76v2.73h1.05v-2.73c0-.21.04-.4.11-.55.07-.15.18-.26.31-.34.13-.08.29-.12.46-.12.26,0,.45.08.57.25.12.17.18.42.18.76v2.73h1.05v-2.85c0-.37-.05-.69-.16-.95-.1-.26-.26-.46-.47-.59ZM67.14,78.63c.18.34.27.75.27,1.23,0,.05,0,.11,0,.17,0,.06,0,.1-.01.13h-3.48c.02.2.06.39.12.54.1.22.24.4.43.51.19.12.42.17.7.17s.54-.06.75-.17c.21-.12.39-.3.54-.54l.91.37c-.23.4-.54.71-.91.91-.37.2-.82.3-1.34.3-.46,0-.86-.1-1.21-.29-.35-.19-.62-.47-.81-.82-.19-.35-.28-.76-.28-1.23s.1-.89.29-1.24c.19-.35.46-.62.82-.82.35-.19.76-.29,1.24-.29s.88.09,1.21.27c.33.18.59.44.77.79ZM64.05,79.06c-.05.11-.09.24-.11.38h2.33c-.01-.19-.05-.36-.13-.51-.09-.17-.22-.31-.39-.41s-.36-.15-.58-.15c-.27,0-.49.06-.68.18s-.33.29-.43.51ZM70.83,77.57c-.31,0-.58.06-.81.19s-.41.33-.55.6v-.69h-1.05v4.49h1.05v-2.73c0-.2.04-.38.13-.53.08-.15.2-.27.35-.35s.32-.12.52-.12c.29,0,.5.09.63.25s.21.42.21.75v2.73h1.08v-2.85c0-.54-.13-.96-.4-1.27s-.65-.46-1.16-.46Z" fill="#0f1e5a"></path> <path id="tag-word-3" d="M79.47,77.67h1.16l-2.33,4.9-2.32-4.9h1.15l1.17,2.9,1.17-2.9ZM85.33,78.7c.22.35.32.76.32,1.22s-.11.86-.32,1.21c-.21.35-.5.63-.86.83-.36.2-.77.3-1.23.3s-.88-.1-1.24-.3c-.36-.2-.65-.47-.86-.83s-.32-.76-.32-1.21.11-.87.32-1.22c.21-.35.5-.63.86-.82.36-.2.78-.3,1.24-.3s.87.1,1.23.3c.36.2.65.47.86.82ZM84.57,79.92c0-.28-.06-.53-.18-.74s-.28-.38-.48-.5c-.21-.12-.43-.18-.68-.18s-.48.06-.68.18c-.2.12-.36.28-.48.5-.12.22-.18.46-.18.74s.06.52.18.74c.12.21.28.38.48.5.2.12.43.18.68.18s.47-.06.68-.18c.2-.12.37-.29.48-.5.12-.21.18-.46.18-.74ZM89.05,77.57c-.31,0-.58.06-.8.19-.22.13-.41.33-.55.6v-.69h-1.05v4.49h1.05v-2.73c0-.2.04-.38.13-.53.09-.15.2-.27.35-.35.15-.08.32-.12.52-.12.29,0,.5.09.63.25s.2.42.2.75v2.73h1.08v-2.85c0-.54-.13-.96-.4-1.27s-.65-.46-1.16-.46Z" fill="#0f1e5a"></path> <path id="tag-word-4" d="M99.29,79.49c.1.22.15.48.15.78,0,.32-.06.6-.19.86-.12.25-.29.47-.51.64-.21.17-.46.31-.73.4-.27.09-.55.14-.84.14-.4,0-.78-.08-1.12-.24-.34-.16-.64-.37-.89-.64-.25-.27-.46-.56-.6-.87l.86-.6c.15.26.31.49.48.69.17.2.36.35.57.46s.44.16.7.16c.31,0,.57-.08.76-.25.19-.17.29-.39.29-.65s-.06-.46-.19-.61c-.12-.15-.29-.28-.51-.39-.22-.11-.47-.21-.76-.32-.17-.06-.36-.14-.57-.24-.21-.1-.41-.23-.6-.38-.19-.15-.34-.34-.47-.57-.12-.22-.18-.5-.18-.82,0-.36.09-.68.28-.96s.44-.49.77-.64c.32-.15.69-.23,1.1-.23s.75.07,1.05.22c.3.14.55.33.76.55s.37.45.48.69l-.94.53c-.09-.17-.19-.33-.32-.47s-.28-.26-.45-.35c-.17-.09-.37-.13-.6-.13-.32,0-.55.07-.7.22-.15.15-.22.32-.22.51,0,.17.05.33.16.47s.27.27.5.39c.23.12.52.25.89.38.2.07.4.16.61.27s.39.25.56.41c.17.17.3.36.4.58ZM104.83,76.32c.2.31.3.69.3,1.13s-.1.81-.3,1.13-.49.56-.85.74c-.37.17-.8.26-1.29.26h-.91v2.59h-1.15v-6.83h2.06c.49,0,.92.09,1.29.26.37.17.65.42.85.73ZM104,77.45c0-.36-.12-.64-.36-.82s-.56-.28-.96-.28h-.91v2.21h.91c.4,0,.72-.09.96-.28s.36-.46.36-.83ZM106.27,82.16h1.16v-6.83h-1.16v6.83ZM113.1,76.34v-1.02h-4.16v6.83h4.16v-1.01h-3.02v-2.15h2.83v-.99h-2.83v-1.66h3.02Z" fill="#0f1e5a"></path> </g></svg></div></a></div>
4640<nav class="main-navigation sub-menu-right" id="site-navigation" aria-label="Primär" itemtype="https://schema.org/SiteNavigationElement" itemscope data-nosnippet><div class="inside-navigation grid-container grid-parent"><div id="primary-menu" class="main-nav"><ul id="menu-pik-menu" class="menu sf-menu"><li id="menu-item-7340" class="mega-menu_ menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-7340"><a title="Geschäftsfelder" href="https://pik.de/geschaeftsfelder/"><span class="outside" data-hover="Geschäftsfelder"><span class="inside">Geschäftsfelder</span></span><span role="presentation" class="dropdown-menu-toggle"></span></a> <ul class="sub-menu"> <li id="menu-item-5479" class="g-feld menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children second-level menu-item-5479"><a title="Medientechnik (Präsentations- & Konferenztechnik)" href="/medientechnik/">MEDIENTECHNIK<span role="presentation" class="dropdown-menu-toggle"></span></a> <ul class="sub-menu mm-level"> <li id="menu-item-50822" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-50822"> <div id="hedline-subine_block_fbfcd1ed32a10b47db20c38dba11c2bc" class="headingh3-subline grid-container menu__heading-mit-play-button"> <a class="heading-button-link" href="https://pik.de/medientechnik/" title="Wir sind Medientechnik | - Unsere Leistungen im Ãberblick"> <div class="text-inside"> <span class="hpb-titel">Wir sind Medientechnik | </span> <span class="hpb-subline">Unsere Leistungen im Ãberblick<span class="circle"><span class="menu button-play"></span></span></span> </div> </a> </div> <style> #hedline-subine_block_fbfcd1ed32a10b47db20c38dba11c2bc .circle { background-color: #657fa4; } #hedline-subine_block_fbfcd1ed32a10b47db20c38dba11c2bc:hover .button-play { border-color: transparent transparent transparent #657fa4; transition: all 0.3s ease; } #hedline-subine_block_fbfcd1ed32a10b47db20c38dba11c2bc:hover .circle { transition: all 0.3s ease; background-color: #fff; } #hedline-subine_block_fbfcd1ed32a10b47db20c38dba11c2bc a .hpb-titel, #hedline-subine_block_fbfcd1ed32a10b47db20c38dba11c2bc:hover a .hpb-titel { color: #657fa4 !important; } </style> <div class="boxes-container" id ="menu-boxes-menu-boxes-block_5bba32664396e45426d644a08d0e3598"> <div class="item-container-drei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img fetchpriority="high" width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2021/06/Touch-Displays-300.jpg" srcset="https://pik.de/wp-content/uploads/2021/06/Touch-Displays-300.jpg 300w, https://pik.de/wp-content/uploads/2021/06/Touch-Displays-300-150x150.jpg 150w" sizes="(max-width: 300px) 100vw, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/medientechnik/interaktive-whiteboards-touch-displays/" title="TOP 3 der besten Touch Displays 2026">TOP 3 der besten Touch Displays 2026</a> </div> <div class="box-subline menu-text">Interaktive Whiteboards für mehr Effizienz</div> </div> </div> </div> <div class="item-container-drei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2021/06/LED-Wand-q.jpg" srcset="https://pik.de/wp-content/uploads/2021/06/LED-Wand-q.jpg 300w, https://pik.de/wp-content/uploads/2021/06/LED-Wand-q-150x150.jpg 150w" sizes="(max-width: 300px) 100vw, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/medientechnik/led-wand-videowall/" title="LED Wand / Videowall">LED Wand / Videowall</a> </div> <div class="box-subline menu-text">Hochskalierbare Visualisierungslösungen</div> </div> </div> </div> <div class="item-container-drei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2021/06/Live-streaming.jpg" srcset="https://pik.de/wp-content/uploads/2021/06/Live-streaming.jpg 300w, https://pik.de/wp-content/uploads/2021/06/Live-streaming-150x150.jpg 150w" sizes="(max-width: 300px) 100v
4640w, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/medientechnik/livestreaming/" title="Live-Streaming">Live-Streaming</a> </div> <div class="box-subline menu-text">Virtuelle und Hybride Veranstaltungen mit Full-Service</div> </div> </div> </div> <div class="item-container-drei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2021/06/Konferenztechnik-q.jpg" srcset="https://pik.de/wp-content/uploads/2021/06/Konferenztechnik-q.jpg 300w, https://pik.de/wp-content/uploads/2021/06/Konferenztechnik-q-150x150.jpg 150w" sizes="(max-width: 300px) 100vw, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/medientechnik/konferenztechnik/" title="Konferenztechnik">Konferenztechnik</a> </div> <div class="box-subline menu-text">Von der Planung bis zur Realisierung â und darüber hinaus</div> </div> </div> </div> <div class="item-container-drei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2021/06/Beamer-q.jpg" srcset="https://pik.de/wp-content/uploads/2021/06/Beamer-q.jpg 300w, https://pik.de/wp-content/uploads/2021/06/Beamer-q-150x150.jpg 150w" sizes="(max-width: 300px) 100vw, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/medientechnik/beamer-und-projektoren/" title="Beamer & Projektoren">Beamer & Projektoren</a> </div> <div class="box-subline menu-text">Beratung und Installation von GroÃraumprojektoren</div> </div> </div> </div> <div class="item-container-drei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2021/06/Managed-Service.jpg" srcset="https://pik.de/wp-content/uploads/2021/06/Managed-Service.jpg 300w, https://pik.de/wp-content/uploads/2021/06/Managed-Service-150x150.jpg 150w" sizes="(max-width: 300px) 100vw, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/managed-services/" title="Managed Service">Managed Service</a> </div> <div class="box-subline menu-text">Leasing war gestern. Managed Service ist heute.</div> </div> </div> </div> </div> <div style="clear:both;"></div> <style> #menu-boxes-menu-boxes-block_5bba32664396e45426d644a08d0e3598 .box-headline a{ color: #657fa4 !important; } #menu-boxes-menu-boxes-block_5bba32664396e45426d644a08d0e3598 .mega-box-container:hover .box-headline a{ color: #fff !important; transition: none; } #menu-boxes-menu-boxes-block_5bba32664396e45426d644a08d0e3598 .item-container-drei-spalten:hover { background-color: #657fa4; box-shadow: 0 0 10px 0px #aaa; } .menu-img-box { width:100%; } </style> <div class="wp-block-columns m-top-doppel"> <div class="wp-block-column"> <div id="editor-html_block_ec41f7da04ec05bbb0d09a3fae93fd59" class="editor-html grid-container editor-html haken p-bottom-0 m-bottom-0"> <p><img class="alignnone size-thumbnail wp-image-18171" src="https://pik.de/wp-content/uploads/2021/06/crestron-logo-150x28.png" alt="Crestron" width="150" height="28" srcset="https://pik.de/wp-content/uploads/2021/06/crestron-logo-150x28.png 150w, https://pik.de/wp-content/uploads/2021/06/crestron-logo.png 450w" sizes="(max-width: 150px) 100vw, 150px" /> <a class="crestron" href="https://pik.de/medientechnik/crestron/">Crestron | </a> <a class="crestron" href="https://pik.de/medientechnik/crestron/crestron-flex/">Crestron Flex</a> | <a class="crestron" href="https://pik.de/medientechnik/crestron/digitalmedia-nvx-serie/">Crestron Digital Media NVX Serie</a> | <a class="crestron" href="https://pik.de/medientechnik/crestron/fusion/">Crestron Fusion</a> | <a class="crestron" href="https://pik.de/medientechnik/crestron/airmedia-2/">Airmedia 2</a></p> </div> <style> .box-schatten { box-shadow: 0 0 15px 0px #eee; padding: 15px !important; overflow: hidden; } #editor-html_block_ec41f7da04ec05bbb0d09a3fae93fd59 .editor-html ul li:before { background: #0f1e5a; } #editor-html_block_ec41f7da04ec05bbb0d09a3fae93fd59 { clear:both; } #editor-html_block_ec41f7da04ec05bbb0d09a3fae93fd59 .pik-button { background: #0f1e5a; border: 1px solid #0f1e5a; } .farbig-bg #editor-html_block_ec41f7da04ec05bbb0d09a3fae93fd59 .pik-button { border: 1px solid #fff; } #editor-html_block_ec41f7da04ec05bbb0d09a3fae93fd59 .pik-button:hover { color:#0f1e5a !important; background: #fff; border: 1px solid #0f1e5a; } /* #editor-html_block_ec41f7da04ec05bbb0d09a3fae93fd59 .pik-button:hover btn_text { color:#0f1e5a !important; } */ #editor-html_block_ec41f7da04ec05bbb0d09a3fae93fd59.punkt-klein ul li { margin-bottom:5px; } .editor-html ol li:before { display:none !important; } #editor-html_block_ec41f7da04ec05bbb0d09a3fae93fd59 .editor-html.haken ul li:before { background: ; } </style></div> <div class="wp-block-column"> <div id="editor-html_block_47c4231d91ef33dfb186d3c8ba613fc5" class="editor-html grid-container editor-html haken p-bottom-0 m-bottom-0"> <p><img class="alignnone size-thumbnail wp-image-18172" src="https://pik.de/wp-content/uploads/2021/06/Samsung_Flip_LOGO-150x36.jpg" alt="Samsung Flip" width="150" height="36" srcset="https://pik.de/wp-content/uploads/2021/06/Samsung_Flip_LOGO-150x36.jpg 150w, https://pik.de/wp-content/uploads/2021/06/Samsung_Flip_LOGO-500x122.jpg 500w, https://pik.de/wp-content/uploads/2021/06/Samsung_Flip_LOGO-768x187.jpg 768w, https://pik.de/wp-content/uploads/2021/06/Samsung_Flip_LOGO-533x130.jpg 533w, https://pik.de/wp-content/uploads/2021/06/Samsung_Flip_LOGO-867x211.jpg 867w, https://pik.de/wp-content/uploads/2021/06/Samsung_Flip_LOGO.jpg 917w" sizes="(max-width: 150px) 100v
4640w, 150px" /> <a class="samsung" href="https://pik.de/medientechnik/samsung-flip/">Samsung Flip 2</a> | <a class="samsung" href="https://pik.de/medientechnik/samsung-flip/samsung-flip-85-zoll-als-digitale-tafel/">85-Zoll Samsung Flip 2</a> | <a class="samsung" href="https://pik.de/medientechnik/samsung-flip/webex-on-flip-videokonferenz-auf-dem-samsung-flip/">Webex on Flip</a> | <a class="samsung" href="https://pik.de/medientechnik/samsung-flip/webex-on-flip-videokonferenz-auf-dem-samsung-flip/">Videokonferenzen mit dem Samsung Flip</a></p> </div> <style> .box-schatten { box-shadow: 0 0 15px 0px #eee; padding: 15px !important; overflow: hidden; } #editor-html_block_47c4231d91ef33dfb186d3c8ba613fc5 .editor-html ul li:before { background: #0f1e5a; } #editor-html_block_47c4231d91ef33dfb186d3c8ba613fc5 { clear:both; } #editor-html_block_47c4231d91ef33dfb186d3c8ba613fc5 .pik-button { background: #0f1e5a; border: 1px solid #0f1e5a; } .farbig-bg #editor-html_block_47c4231d91ef33dfb186d3c8ba613fc5 .pik-button { border: 1px solid #fff; } #editor-html_block_47c4231d91ef33dfb186d3c8ba613fc5 .pik-button:hover { color:#0f1e5a !important; background: #fff; border: 1px solid #0f1e5a; } /* #editor-html_block_47c4231d91ef33dfb186d3c8ba613fc5 .pik-button:hover btn_text { color:#0f1e5a !important; } */ #editor-html_block_47c4231d91ef33dfb186d3c8ba613fc5.punkt-klein ul li { margin-bottom:5px; } .editor-html ol li:before { display:none !important; } #editor-html_block_47c4231d91ef33dfb186d3c8ba613fc5 .editor-html.haken ul li:before { background: ; } </style></div> <div class="wp-block-column"> <div id="editor-html_block_730e381859c3bff014251ba20fd1bb4b" class="editor-html grid-container editor-html haken p-bottom-0 m-bottom-0"> <p><img class="size-thumbnail wp-image-18175 alignleft" src="https://pik.de/wp-content/uploads/2021/06/clickshare-brand-150x25.png" alt="Barco Clickshare" width="150" height="25" srcset="https://pik.de/wp-content/uploads/2021/06/clickshare-brand-150x25.png 150w, https://pik.de/wp-content/uploads/2021/06/clickshare-brand.png 459w" sizes="(max-width: 150px) 100vw, 150px" /><br /> <a class="clickshare" href="https://pik.de/medientechnik/clickshare/">Barco ClickShare</a><br /> <a class="clickshare" href="https://pik.de/shop/produkt/barco-clickshare-c-5/">C-5</a> | <a class="clickshare" href="https://pik.de/shop/produkt/barco-clickshare-c-10/">C-10</a> | <a class="clickshare" href="https://pik.de/medientechnik/clickshare/clickshare-cx-20/">CX-20</a> | <a class="clickshare" href="https://pik.de/medientechnik/clickshare/clickshare-cx-30/">CX-30</a> | <a class="clickshare" href="https://pik.de/medientechnik/clickshare/clickshare-cx-50/">CX-50</a> | <a class="clickshare" href="https://pik.de/medientechnik/clickshare/clickshare-cs-100-huddle/">CS-100 Huddle</a> | <a class="clickshare" href="https://pik.de/medientechnik/clickshare/clickshare-cs-100/">CS-100</a> | <a class="clickshare" href="https://pik.de/medientechnik/clickshare/clickshare-cse-200/">CSE-200</a> | <a class="clickshare" href="https://pik.de/medientechnik/clickshare/clickshare-cse-200plus/">CSE-200+</a> | <a class="clickshare" href="https://pik.de/medientechnik/clickshare/clickshare-cse-800/">CSE-800</a></p> </div> <style> .box-schatten { box-shadow: 0 0 15px 0px #eee; padding: 15px !important; overflow: hidden; } #editor-html_block_730e381859c3bff014251ba20fd1bb4b .editor-html ul li:before { background: #0f1e5a; } #editor-html_block_730e381859c3bff014251ba20fd1bb4b { clear:both; } #editor-html_block_730e381859c3bff014251ba20fd1bb4b .pik-button { background: #0f1e5a; border: 1px solid #0f1e5a; } .farbig-bg #editor-html_block_730e381859c3bff014251ba20fd1bb4b .pik-button { border: 1px solid #fff; } #editor-html_block_730e381859c3bff014251ba20fd1bb4b .pik-button:hover { color:#0f1e5a !important; background: #fff; border: 1px solid #0f1e5a; } /* #editor-html_block_730e381859c3bff014251ba20fd1bb4b .pik-button:hover btn_text { color:#0f1e5a !important; } */ #editor-html_block_730e381859c3bff014251ba20fd1bb4b.punkt-klein ul li { margin-bottom:5px; } .editor-html ol li:before { display:none !important; } #editor-html_block_730e381859c3bff014251ba20fd1bb4b .editor-html.haken ul li:before { background: ; } </style></div> </div> </li> </ul> </li> <li id="menu-item-5484" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children second-level menu-item-5484"><a title="Beratung, Planung und Realisierung von Videokonferenzen" href="/videokonferenz/">VIDEOKONFERENZEN<span role="presentation" class="dropdown-menu-toggle"></span></a> <ul class="sub-menu mm-level"> <li id="menu-item-50826" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-50826"> <div id="hedline-subine_block_80581ec86c3c862dc23b384f1897ac7f"
4640class="headingh3-subline grid-container menu__heading-mit-play-button"> <a class="heading-button-link" href="https://pik.de/videokonferenz/" title="Videokonferenz | - Beratung, Planung und Realisierung"> <div class="text-inside"> <span class="hpb-titel">Videokonferenz | </span> <span class="hpb-subline"> Beratung, Planung und Realisierung<span class="circle"><span class="menu button-play"></span></span></span> </div> </a> </div> <style> #hedline-subine_block_80581ec86c3c862dc23b384f1897ac7f .circle { background-color: #296f79; } #hedline-subine_block_80581ec86c3c862dc23b384f1897ac7f:hover .button-play { border-color: transparent transparent transparent #296f79; transition: all 0.3s ease; } #hedline-subine_block_80581ec86c3c862dc23b384f1897ac7f:hover .circle { transition: all 0.3s ease; background-color: #fff; } #hedline-subine_block_80581ec86c3c862dc23b384f1897ac7f a .hpb-titel, #hedline-subine_block_80581ec86c3c862dc23b384f1897ac7f:hover a .hpb-titel { color: #296f79 !important; } </style> <div class="boxes-container" id ="menu-boxes-menu-boxes-block_fc2219f500ca07273b51f9e54779e5b4"> <div class="item-container-drei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2024/04/vk25.jpg" srcset="https://pik.de/wp-content/uploads/2024/04/vk25.jpg 300w, https://pik.de/wp-content/uploads/2024/04/vk25-150x150.jpg 150w" sizes="(max-width: 300px) 100vw, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/videokonferenz/videokonferenzsystem/" title="Die TOP 3 Videokonferenzsysteme">Die TOP 3 Videokonferenzsysteme</a> </div> <div class="box-subline menu-text">2026 â Anbieter im Vergleich</div> </div> </div> </div> <div class="item-container-drei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2024/04/videokonferenzen26.jpg" srcset="https://pik.de/wp-content/uploads/2024/04/videokonferenzen26.jpg 300w, https://pik.de/wp-content/uploads/2024/04/videokonferenzen26-150x150.jpg 150w" sizes="(max-width: 300px) 100vw, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/videokonferenz/konferenzraum-und-konferenzraumtechnik/" title="Konferenzraum & Konferenzraumtechnik">Konferenzraum & Konferenzraumtechnik</a> </div> <div class="box-subline menu-text">Komplettlösungen für Konferenzräume. </div> </div> </div> </div> <div class="item-container-drei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2021/06/Videokonferenzsoftware-q.jpg" srcset="https://pik.de/wp-content/uploads/2021/06/Videokonferenzsoftware-q.jpg 300w, https://pik.de/wp-content/uploads/2021/06/Videokonferenzsoftware-q-150x150.jpg 150w" sizes="(max-width: 300px) 100vw, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/videokonferenz/software/" title="Videokonferenzsoftware">Videokonferenzsoftware</a> </div> <div class="box-subline menu-text">Marktüberblick über Videokonferenzsysteme</div> </div> </div> </div> <div class="item-container-drei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2021/06/Konferenzraum-monitor-300.jpg" srcset="https://pik.de/wp-content/uploads/2021/06/Konferenzraum-monitor-300.jpg 300w, https://pik.de/wp-content/uploads/2021/06/Konferenzraum-monitor-300-150x150.jpg 150w" sizes="(max-width: 300px) 100vw, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/videokonferenz/konferenzraum-und-konferenzraumtechnik/display-konferenzraum/" title="Displays / Monitore für Konferenzräume">Displays / Monitore für Konferenzräume</a> </div> <div class="box-subline menu-text">Bildschirme für die verschiedensten Anforderungen</div> </div> </div> </div> <div class="item-container-drei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2021/06/videokonferenz-kamera-q.jpg" srcset="https://pik.de/wp-content/uploads/2021/06/videokonferenz-kamera-q.jpg 300w, https://pik.de/wp-content/uploads/2021/06/videokonferenz-kamera-q-150x150.jpg 150w" sizes="(max-width: 300px) 100v
4640w, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/videokonferenz/videokonferenz-kamera/" title="Kameras für Videokonferenzen">Kameras für Videokonferenzen</a> </div> <div class="box-subline menu-text">Beratung · Kauf · Installation · Wartung</div> </div> </div> </div> <div class="item-container-drei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2021/06/huddle-room-300.jpg" srcset="https://pik.de/wp-content/uploads/2021/06/huddle-room-300.jpg 300w, https://pik.de/wp-content/uploads/2021/06/huddle-room-300-150x150.jpg 150w" sizes="(max-width: 300px) 100vw, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/videokonferenz/huddle-rooms/" title="Huddle Rooms">Huddle Rooms</a> </div> <div class="box-subline menu-text">Gemeinsam Ideen entwickeln und präsentieren.</div> </div> </div> </div> </div> <div style="clear:both;"></div> <style> #menu-boxes-menu-boxes-block_fc2219f500ca07273b51f9e54779e5b4 .box-headline a{ color: #296f79 !important; } #menu-boxes-menu-boxes-block_fc2219f500ca07273b51f9e54779e5b4 .mega-box-container:hover .box-headline a{ color: #fff !important; transition: none; } #menu-boxes-menu-boxes-block_fc2219f500ca07273b51f9e54779e5b4 .item-container-drei-spalten:hover { background-color: #296f79; box-shadow: 0 0 10px 0px #aaa; } .menu-img-box { width:100%; } </style> <style>.gb-container-1b9780ee{display:flex;flex-direction:column;column-gap:30px;row-gap:30px;margin:15px;}</style><div class="gb-container gb-container-1b9780ee"> <style>.gb-grid-wrapper-4da225b1{display:flex;flex-wrap:wrap;margin-left:-30px;}.gb-grid-wrapper-4da225b1 > .gb-grid-column{box-sizing:border-box;padding-left:30px;}</style><div class="gb-grid-wrapper gb-grid-wrapper-4da225b1"> <style>.gb-grid-wrapper > .gb-grid-column-e1a13674{width:41.66667%;}@media (max-width: 767px) {.gb-grid-wrapper > .gb-grid-column-e1a13674{width:100%;}}</style><div class="gb-grid-column gb-grid-column-e1a13674"><div class="gb-container gb-container-e1a13674"> <style>.gb-image-f6905b17{vertical-align:middle;}</style> <figure class="gb-block-image gb-block-image-f6905b17"><a href="/videokonferenz/teams-rooms/"><img width="703" height="166" class="gb-image gb-image-f6905b17" src="https://pik.de/wp-content/uploads/2021/06/MicrosoftTeams-Beratung.jpg" alt="Microsoft Teams-Beratung" title="MicrosoftTeams-Beratung" srcset="https://pik.de/wp-content/uploads/2021/06/MicrosoftTeams-Beratung.jpg 703w, https://pik.de/wp-content/uploads/2021/06/MicrosoftTeams-Beratung-500x118.jpg 500w, https://pik.de/wp-content/uploads/2021/06/MicrosoftTeams-Beratung-150x35.jpg 150w, https://pik.de/wp-content/uploads/2021/06/MicrosoftTeams-Beratung-533x126.jpg 533w" sizes="(max-width: 703px) 100vw, 703px" /></a></figure> </div></div> <style>.gb-grid-wrapper > .gb-grid-column-d5f57a3a{width:25%;}@media (max-width: 767px) {.gb-grid-wrapper > .gb-grid-column-d5f57a3a{width:100%;}}</style><div class="gb-grid-column gb-grid-column-d5f57a3a"><div class="gb-container gb-container-d5f57a3a"> <style>.gb-image-46f2b1d3{vertical-align:middle;}</style> <figure class="gb-block-image gb-block-image-46f2b1d3"><a href="/videokonferenz/zoom/"><img width="516" height="214" class="gb-image gb-image-46f2b1d3" src="https://pik.de/wp-content/uploads/2022/01/Zoom-Certified-Integrator.jpg" alt="" title="Zoom Certified Integrator" srcset="https://pik.de/wp-content/uploads/2022/01/Zoom-Certified-Integrator.jpg 516w, https://pik.de/wp-content/uploads/2022/01/Zoom-Certified-Integrator-500x207.jpg 500w, https://pik.de/wp-content/uploads/2022/01/Zoom-Certified-Integrator-150x62.jpg 150w" sizes="(max-width: 516px) 100vw, 516px" /></a></figure> </div></div> <style>.gb-grid-wrapper > .gb-grid-column-af80ce5b{width:33.33%;}@media (max-width: 767px) {.gb-grid-wrapper > .gb-grid-column-af80ce5b{width:100%;}}</style><div class="gb-grid-column gb-grid-column-af80ce5b"><div class="gb-container gb-container-af80ce5b"> <h4 class="gb-headline gb-headline-b62c940b gb-headline-text"><strong>PERFEKTE ZUSAMMENARBEIT MIT GOOGLE MEET</strong></h4> <style>.gb-image-1ce8f56a{vertical-align:middle;}</style> <figure class="gb-block-image gb-block-image-1ce8f56a"><a href="/videokonferenz/google-workspace/google-meet/"><img width="494" height="96" class="gb-image gb-image-1ce8f56a" src="https://pik.de/wp-content/uploads/2023/01/meet-logo.svg" alt="Google Meet Logo" title="Google Meet Logo"/></a></figure> </div></div> </div> </div></li> </ul> </li> <li id="menu-item-15427" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children second-level menu-item-15427"><a title="VERANSTALTUNGSSTÃTTEN" href="https://pik.de/veranstaltungstaetten/">VERANSTALTUNGSSTÃTTEN<span role="presentation" class="dropdown-menu-toggle"></span></a> <ul class="sub-menu mm-level"> <li id="menu-item-50830" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-50830"><div class="gb-container gb-container-b9daacbe"> <style>.gb-grid-wrapper-f2fbb7b2{display:flex;flex-wrap:wrap;}.gb-grid-wrapper-f2fbb7b2 > .gb-grid-column{box-sizing:border-box;}</style><div class="gb-grid-wrapper gb-grid-wrapper-f2fbb7b2"> <style>.gb-grid-wrapper > .gb-grid-column-d5b1ab38{width:66.6667%;}@media (max-width: 767px) {.gb-grid-wrapper > .gb-grid-column-d5b1ab38{width:100%;}}</style><div class="gb-grid-column gb-grid-column-d5b1ab38"><div class="gb-container gb-container-d5b1ab38"> <div id="hedline-subine_block_56894c835a6bd2a08ed2d735ad4f6f61" class="headingh3-subline grid-container menu__heading-mit-play-button"> <a class="heading-button-link" href="https://pik.de/veranstaltungstaetten/" title="Veranstaltungsstätten - Alles für den groÃen Auftritt - Audio, Video und Licht"> <div class="text-inside"> <span class="hpb-titel">Veranstaltungsstätten </span> <span class="hpb-subline">Alles für den groÃen Auftritt â Audio, Video und Licht<span class="circle"><span class="menu button-play"></span></span></span> </div> </a> </div> <style> #hedline-subine_block_56894c835a6bd2a08ed2d735ad4f6f61 .circle { background-color: #401B40; } #hedline-subine_block_56894c835a6bd2a08ed2d735ad4f6f61:hover .button-play { border-color: transparent transparent transparent #401B40; transition: all 0.3s ease; } #hedline-subine_block_56894c835a6bd2a08ed2d735ad4f6f61:hover .circle { transition: all 0.3s ease; background-color: #fff; } #hedline-subine_block_56894c835a6bd2a08ed2d735ad4f6f61 a .hpb-titel, #hedline-subine_block_56894c835a6bd2a08ed2d735ad4f6f61:hover a .hpb-titel { color: #401B40 !important; } </style> <div class="boxes-container" id ="menu-boxes-menu-boxes-block_1382fbe7ffb650d7beb36c94cca41a80"> <div class="item-container-zwei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="150" height="150" class="menu-img-box" src="https://pik.de/wp-content/uploads/2021/11/Licht-150.jpg" srcset="" sizes="(max-width: 150px) 100v
4640w, 150px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/lichttechnik/" title="Lichttechnik">Lichttechnik</a> </div> <div class="box-subline menu-text">Szenische Lichttechnik als Gestaltungselement</div> </div> </div> </div> <div class="item-container-zwei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2021/06/veranstaltungsstaetten-audiotechnik-q.jpg" srcset="https://pik.de/wp-content/uploads/2021/06/veranstaltungsstaetten-audiotechnik-q.jpg 300w, https://pik.de/wp-content/uploads/2021/06/veranstaltungsstaetten-audiotechnik-q-150x150.jpg 150w" sizes="(max-width: 300px) 100vw, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/veranstaltungstaetten/audiotechnik/" title="Audiotechnik">Audiotechnik</a> </div> <div class="box-subline menu-text"> Für Theater, Opernhäuser und anderen Veranstaltungsstätten</div> </div> </div> </div> </div> <div style="clear:both;"></div> <style> #menu-boxes-menu-boxes-block_1382fbe7ffb650d7beb36c94cca41a80 .box-headline a{ color: #401B40 !important; } #menu-boxes-menu-boxes-block_1382fbe7ffb650d7beb36c94cca41a80 .mega-box-container:hover .box-headline a{ color: #fff !important; transition: none; } #menu-boxes-menu-boxes-block_1382fbe7ffb650d7beb36c94cca41a80 .item-container-zwei-spalten:hover { background-color: #401B40; box-shadow: 0 0 10px 0px #aaa; } .menu-img-box { width:100%; } </style> <div class="wp-block-columns m-bottom-0 m-top-normal"> <div class="wp-block-column"> <figure class="wp-block-image size-full p-left-15 m-top-normal m-bottom-0"><img width="762" height="470" src="https://pik.de/wp-content/uploads/2022/01/PIK-AG-macht-Theater-2.jpg" alt="PIK AG macht Theater" class="wp-image-32564" srcset="https://pik.de/wp-content/uploads/2022/01/PIK-AG-macht-Theater-2.jpg 762w, https://pik.de/wp-content/uploads/2022/01/PIK-AG-macht-Theater-2-500x308.jpg 500w, https://pik.de/wp-content/uploads/2022/01/PIK-AG-macht-Theater-2-150x93.jpg 150w, https://pik.de/wp-content/uploads/2022/01/PIK-AG-macht-Theater-2-486x300.jpg 486w" sizes="(max-width: 762px) 100vw, 762px" /></figure> </div> <div class="wp-block-column content-vertical"> <div id="block___block_38d26e1b150de4c5ac0512aa177143bf" class="heading-container pik-heading-bg heading-h3-gross-bg-color center p-top-0 p-bottom-0 m-bottom-0 m-top-normal"> <h3 id="hedline-h3-gross-bg-color_block_38d26e1b150de4c5ac0512aa177143bf" class="gross"> PIK GmbH macht Theater</h3> </div> <style> .heading-container { overflow:hidden; } h3#hedline-h3-gross-bg-color_block_38d26e1b150de4c5ac0512aa177143bf { color:#fff; background-color: #401B40; padding:15px; display:inline-block; clear:both; margin-top:0px; margin-bottom:0px; position:relative; } h3#hedline-h3-gross-bg-color_block_38d26e1b150de4c5ac0512aa177143bf::before { content: ''; display:block; height:1px;
4640 border-top: 4px solid #401B40; content: ''; width: 9999px; position:absolute; left:0; top:0; } h3#hedline-h3-gross-bg-color_block_38d26e1b150de4c5ac0512aa177143bf::before { display:none; } h3#hedline-h3-gross-bg-color_block_38d26e1b150de4c5ac0512aa177143bf { display:block; } h3#hedline-h3-gross-bg-color_block_38d26e1b150de4c5ac0512aa177143bf { padding: 15px; /*display:block; text-align:left;*/ } </style> <div id="editor-html_block_d5f20cbc1185630c72b52bc0054c5a57" class="editor-html grid-container editor-html haken p-top-0 p-bottom-0 m-top-0 m-bottom-0"> <p style="text-align: center;"><span class="medium"><strong>Neu bei der PIK GmbH:</strong></span> Experten für die medientechnische Ausstattung von Theatern und Veranstaltungsstätten</p> </div> <style> .box-schatten { box-shadow: 0 0 15px 0px #eee; padding: 15px !important; overflow: hidden; } #editor-html_block_d5f20cbc1185630c72b52bc0054c5a57 .editor-html ul li:before { background: #0f1e5a; } #editor-html_block_d5f20cbc1185630c72b52bc0054c5a57 { clear:both; } #editor-html_block_d5f20cbc1185630c72b52bc0054c5a57 .pik-button { background: #0f1e5a; border: 1px solid #0f1e5a; } .farbig-bg #editor-html_block_d5f20cbc1185630c72b52bc0054c5a57 .pik-button { border: 1px solid #fff; } #editor-html_block_d5f20cbc1185630c72b52bc0054c5a57 .pik-button:hover { color:#0f1e5a !important; background: #fff; border: 1px solid #0f1e5a; } /* #editor-html_block_d5f20cbc1185630c72b52bc0054c5a57 .pik-button:hover btn_text { color:#0f1e5a !important; } */ #editor-html_block_d5f20cbc1185630c72b52bc0054c5a57.punkt-klein ul li { margin-bottom:5px; } .editor-html ol li:before { display:none !important; } #editor-html_block_d5f20cbc1185630c72b52bc0054c5a57 .editor-html.haken ul li:before { background: ; } </style> <div id="layouts_block_a41571b0157d7f9c0caec19a11c028ba" class="grid-container top-parent-elements padding-0 p-top-0 p-bottom-0 m-top-0"> <div id="layouts_block_a41571b0157d7f9c0caec19a11c028ba-button-1" class="pik-buttons grid-75 m-bottom-normal p-top-0 p-bottom-0"> <a class="pik-button smooth-scroll" href="https://pik.de/medientechnik/news/pik-ag-macht-theater/">Erfahren Sie mehr darüber</a> </div> <style> #layouts_block_a41571b0157d7f9c0caec19a11c028ba-button-1 .pik-button { background: #401B40; border: 1px solid #fff; } #layouts_block_a41571b0157d7f9c0caec19a11c028ba-button-1 .pik-button:hover { color:#401B40 !important; background: #fff; border: 1px solid #401B40; } #layouts_block_a41571b0157d7f9c0caec19a11c028ba-button-1 .pik-button:hover btn_text { color:#401B40 !important; } #layouts_block_a41571b0157d7f9c0caec19a11c028ba { width:100%; margin:0 auto; display: flex; justify-content: center; } </style> </div> <style> .page-id-12743 .top-parent-elements { display: flex; flex-direction: row; flex-wrap: wrap; } .page-id-12743 .layout-elem-block.grid-25 { height:100% !important; } </style></div> </div> </div></div> <style>.gb-grid-wrapper > .gb-grid-column-09781c05{width:33.3333%;}@media (max-width: 767px) {.gb-grid-wrapper > .gb-grid-column-09781c05{width:100%;}}</style><div class="gb-grid-column gb-grid-column-09781c05"><div class="gb-container gb-container-09781c05"> <div id="editor-html_block_a634852effa15fcb1eaaf57846e13c4f" class="editor-html grid-container editor-html haken p-top-0 p-bottom-0 m-top-normal m-bottom-normal"> <p><span class="venue medium">Erfahrung mit langjährigen Partnern</span></p> <p><a href="https://pik.de/audiotechnik/meyersound/"><img class="alignnone wp-image-19729 size-full" src="https://pik.de/wp-content/uploads/2021/04/meyer_sound_logo_large.jpg" alt="" width="800" height="450" srcset="https://pik.de/wp-content/uploads/2021/04/meyer_sound_logo_large-500x281.jpg 500w, https://pik.de/wp-content/uploads/2021/04/meyer_sound_logo_large-150x84.jpg 150w, https://pik.de/wp-content/uploads/2021/04/meyer_sound_logo_large-768x432.jpg 768w, https://pik.de/wp-content/uploads/2021/04/meyer_sound_logo_large-533x300.jpg 533w" sizes="(max-width: 800px) 100vw, 800px" /></a></p> <div class="box30"><a href="https://pik.de/audiotechnik/alcons-audio/">
4640<img class="alignnone wp-image-32551 size-full" src="https://pik.de/wp-content/uploads/2022/01/Alcons-logo-span2.jpg" alt="Alcons Audio" width="205" height="300" srcset="https://pik.de/wp-content/uploads/2022/01/Alcons-logo-span2.jpg 205w, https://pik.de/wp-content/uploads/2022/01/Alcons-logo-span2-103x150.jpg 103w" sizes="(max-width: 205px) 100vw, 205px" /></a></div> <div class="box70 p-top-normal"><a href="https://pik.de/audiotechnik/d-b-audiotechnik/"><img class="alignnone wp-image-51835 size-full" src="https://pik.de/wp-content/uploads/2021/06/dbaudio-logo-rgb-black-2024.png" alt="Dbaudio Logo 2024" width="400" height="109" srcset="https://pik.de/wp-content/uploads/2021/06/dbaudio-logo-rgb-black-2024.png 400w, https://pik.de/wp-content/uploads/2021/06/dbaudio-logo-rgb-black-2024-150x41.png 150w" sizes="(max-width: 400px) 100vw, 400px" /></a><br /> <a href="https://pik.de/audiotechnik/digico/"><img class="alignnone wp-image-32563 size-full" src="https://pik.de/wp-content/uploads/2022/01/DiGiCo-logo-long5.jpg" alt="DiGiCo" width="467" height="84" srcset="https://pik.de/wp-content/uploads/2022/01/DiGiCo-logo-long5.jpg 467w, https://pik.de/wp-content/uploads/2022/01/DiGiCo-logo-long5-150x27.jpg 150w" sizes="(max-width: 467px) 100vw, 467px" /></a></div> </div> <style> .box-schatten { box-shadow: 0 0 15px 0px #eee; padding: 15px !important; overflow: hidden; } #editor-html_block_a634852effa15fcb1eaaf57846e13c4f .editor-html ul li:before { background: #0f1e5a; } #editor-html_block_a634852effa15fcb1eaaf57846e13c4f { clear:both; } #editor-html_block_a634852effa15fcb1eaaf57846e13c4f .pik-button { background: #0f1e5a; border: 1px solid #0f1e5a; } .farbig-bg #editor-html_block_a634852effa15fcb1eaaf57846e13c4f .pik-button { border: 1px solid #fff; } #editor-html_block_a634852effa15fcb1eaaf57846e13c4f .pik-button:hover { color:#0f1e5a !important; background: #fff; border: 1px solid #0f1e5a; } /* #editor-html_block_a634852effa15fcb1eaaf57846e13c4f .pik-button:hover btn_text { color:#0f1e5a !important; } */ #editor-html_block_a634852effa15fcb1eaaf57846e13c4f.punkt-klein ul li { margin-bottom:5px; } .editor-html ol li:before { display:none !important; } #editor-html_block_a634852effa15fcb1eaaf57846e13c4f .editor-html.haken ul li:before { background: ; } </style> </div></div> </div> </div></li> </ul> </li> <li id="menu-item-5828" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children second-level menu-item-5828"><a title="Audiotechnik" href="/audiotechnik/">AUDIOTECHNIK<span role="presentation" class="dropdown-menu-toggle"></span></a> <ul class="sub-menu mm-level"> <li id="menu-item-50831" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-50831"> <div id="hedline-subine_block_0097049e73fa4e411620a2aa0d2abe61" class="headingh3-subline grid-container menu__heading-mit-play-button"> <a class="heading-button-link" href="https://pik.de/audiotechnik/" title="Audiotechnik - Mikrofone, Signalverarbeitung und Lautsprechersysteme"> <div class="text-inside"> <span class="hpb-titel">Audiotechnik </span> <span class="hpb-subline">Mikrofone, Signalverarbeitung und Lautsprechersysteme<span class="circle"><span class="menu button-play"></span></span></span> </div> </a> </div> <style> #hedline-subine_block_0097049e73fa4e411620a2aa0d2abe61 .circle { background-color: #2E6D79; } #hedline-subine_block_0097049e73fa4e411620a2aa0d2abe61:hover .button-play { border-color: transparent transparent transparent #2E6D79; transition: all 0.3s ease; } #hedline-subine_block_0097049e73fa4e411620a2aa0d2abe61:hover .circle { transition: all 0.3s ease; background-color: #fff; } #hedline-subine_block_0097049e73fa4e411620a2aa0d2abe61 a .hpb-titel, #hedline-subine_block_0097049e73fa4e411620a2aa0d2abe61:hover a .hpb-titel { color: #2E6D79 !important; } </style> <div class="boxes-container" id ="menu-boxes-menu-boxes-block_569facd416d907ba0ffae885125b3853"> <div class="item-container-drei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2021/06/audiotechnik-mikrofone-und-lautsprecher-q.jpg" srcset="https://pik.de/wp-content/uploads/2021/06/audiotechnik-mikrofone-und-lautsprecher-q.jpg 300w, https://pik.de/wp-content/uploads/2021/06/audiotechnik-mikrofone-und-lautsprecher-q-150x150.jpg 150w" sizes="(max-width: 300px) 100v
4640w, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/videokonferenz/konferenzraum-und-konferenzraumtechnik/" title="Mikrofone & Lautsprecher">Mikrofone & Lautsprecher</a> </div> <div class="box-subline menu-text">Professionelle Technik für Konferenzräume</div> </div> </div> </div> <div class="item-container-drei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2021/06/audiotechnik-veranstaltungsstaetten-q.jpg" srcset="https://pik.de/wp-content/uploads/2021/06/audiotechnik-veranstaltungsstaetten-q.jpg 300w, https://pik.de/wp-content/uploads/2021/06/audiotechnik-veranstaltungsstaetten-q-150x150.jpg 150w" sizes="(max-width: 300px) 100vw, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/veranstaltungstaetten/audiotechnik/" title="Audiotechnik für Theater, Opernhäuser und anderen Veranstaltungsstätten">Audiotechnik für Theater, Opernhäuser und anderen Veranstaltungsstätten</a> </div> <div class="box-subline menu-text"></div> </div> </div> </div> <div class="item-container-drei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2021/06/audiotechnik-sprachalarmierung-q.jpg" srcset="https://pik.de/wp-content/uploads/2021/06/audiotechnik-sprachalarmierung-q.jpg 300w, https://pik.de/wp-content/uploads/2021/06/audiotechnik-sprachalarmierung-q-150x150.jpg 150w" sizes="(max-width: 300px) 100vw, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/audiotechnik/sprachalarmierung/" title="Sprachalarmierung">Sprachalarmierung</a> </div> <div class="box-subline menu-text">Wir sind nach DIN 14675 zertifizierter Partner bei der Ausrüstung von Sprachalarmanlagen</div> </div> </div> </div> </div> <div style="clear:both;"></div> <style> #menu-boxes-menu-boxes-block_569facd416d907ba0ffae885125b3853 .box-headline a{ color: #2E6D79 !important; } #menu-boxes-menu-boxes-block_569facd416d907ba0ffae885125b3853 .mega-box-container:hover .box-headline a{ color: #fff !important; transition: none; } #menu-boxes-menu-boxes-block_569facd416d907ba0ffae885125b3853 .item-container-drei-spalten:hover { background-color: #2E6D79; box-shadow: 0 0 10px 0px #aaa; } .menu-img-box { width:100%; } </style> <div class="wp-block-columns m-top-normal m-bottom-0"> <div class="wp-block-column"> <figure class="wp-block-image size-full p-left-15"><a href="https://pik.de/audiotechnik/meyersound/"><img width="368" height="162" src="https://pik.de/wp-content/uploads/2021/04/meyer_sound_logo_startseite.jpg" alt="Meyer Sound" class="wp-image-19568"/></a><figcaption class="wp-element-caption"> </figcaption></figure> </div> <div class="wp-block-column content-vertical"> <div id="editor-html_block_b5bedb2b3ffc793102a8bb6202cf76ac" class="editor-html grid-container editor-html haken p-top-0 p-bottom-0 m-top-0"> <p><a href="https://pik.de/audiotechnik/d-b-audiotechnik/"><img class="alignnone wp-image-51835 size-full" src="https://pik.de/wp-content/uploads/2021/06/dbaudio-logo-rgb-black-2024.png" alt="Dbaudio Logo 2024" width="400" height="109" srcset="https://pik.de/wp-content/uploads/2021/06/dbaudio-logo-rgb-black-2024.png 400w, https://pik.de/wp-content/uploads/2021/06/dbaudio-logo-rgb-black-2024-150x41.png 150w" sizes="(max-width: 400px) 100vw, 400px" /></a></p> </div> <style> .box-schatten { box-shadow: 0 0 15px 0px #eee; padding: 15px !important; overflow: hidden; } #editor-html_block_b5bedb2b3ffc793102a8bb6202cf76ac .editor-html ul li:before { background: #0f1e5a; } #editor-html_block_b5bedb2b3ffc793102a8bb6202cf76ac { clear:both; } #editor-html_block_b5bedb2b3ffc793102a8bb6202cf76ac .pik-button { background: #0f1e5a; border: 1px solid #0f1e5a; } .farbig-bg #editor-html_block_b5bedb2b3ffc793102a8bb6202cf76ac .pik-button { border: 1px solid #fff; } #editor-html_block_b5bedb2b3ffc793102a8bb6202cf76ac .pik-button:hover { color:#0f1e5a !important; background: #fff; border: 1px solid #0f1e5a; } /* #editor-html_block_b5bedb2b3ffc793102a8bb6202cf76ac .pik-button:hover btn_text { color:#0f1e5a !important; } */ #editor-html_block_b5bedb2b3ffc793102a8bb6202cf76ac.punkt-klein ul li { margin-bottom:5px; } .editor-html ol li:before { display:none !important; } #editor-html_block_b5bedb2b3ffc793102a8bb6202cf76ac .editor-html.haken ul li:before { background: ; } </style></div> <div class="wp-block-column"> <div id="editor-html_block_a8019d9a2d8320faaafe9ca111ea22d8" class="editor-html grid-container editor-html haken p-top-0 p-bottom-0 m-top-normal m-bottom-normal"> <div class="box30"><a href="https://pik.de/audiotechnik/alcons-audio/">
4640<img class="alignnone wp-image-32551 size-full" src="https://pik.de/wp-content/uploads/2022/01/Alcons-logo-span2.jpg" alt="Alcons Audio" width="205" height="300" srcset="https://pik.de/wp-content/uploads/2022/01/Alcons-logo-span2.jpg 205w, https://pik.de/wp-content/uploads/2022/01/Alcons-logo-span2-103x150.jpg 103w" sizes="(max-width: 205px) 100vw, 205px" /></a></div> <div class="box70"> <div class="mceTemp"></div> <p><a href="https://pik.de/audiotechnik/digico/"><img class="alignnone wp-image-32563 size-full" src="https://pik.de/wp-content/uploads/2022/01/DiGiCo-logo-long5.jpg" alt="DiGiCo" width="467" height="84" srcset="https://pik.de/wp-content/uploads/2022/01/DiGiCo-logo-long5.jpg 467w, https://pik.de/wp-content/uploads/2022/01/DiGiCo-logo-long5-150x27.jpg 150w" sizes="(max-width: 467px) 100vw, 467px" /></a><img class="alignnone wp-image-32562 size-full" src="https://pik.de/wp-content/uploads/2022/01/shure-logo-long5.jpg" alt="Shure" width="467" height="84" srcset="https://pik.de/wp-content/uploads/2022/01/shure-logo-long5.jpg 467w, https://pik.de/wp-content/uploads/2022/01/shure-logo-long5-150x27.jpg 150w" sizes="(max-width: 467px) 100vw, 467px" /><br /> <a href="https://pik.de/medientechnik/sennheiser/"><img class="aligncenter wp-image-32561 size-full" src="https://pik.de/wp-content/uploads/2022/01/sennheiser-logo-long5.jpg" alt="Sennheiser" width="467" height="84" srcset="https://pik.de/wp-content/uploads/2022/01/sennheiser-logo-long5.jpg 467w, https://pik.de/wp-content/uploads/2022/01/sennheiser-logo-long5-150x27.jpg 150w" sizes="(max-width: 467px) 100vw, 467px" /></a></p> </div> </div> <style> .box-schatten { box-shadow: 0 0 15px 0px #eee; padding: 15px !important; overflow: hidden; } #editor-html_block_a8019d9a2d8320faaafe9ca111ea22d8 .editor-html ul li:before { background: #0f1e5a; } #editor-html_block_a8019d9a2d8320faaafe9ca111ea22d8 { clear:both; } #editor-html_block_a8019d9a2d8320faaafe9ca111ea22d8 .pik-button { background: #0f1e5a; border: 1px solid #0f1e5a; } .farbig-bg #editor-html_block_a8019d9a2d8320faaafe9ca111ea22d8 .pik-button { border: 1px solid #fff; } #editor-html_block_a8019d9a2d8320faaafe9ca111ea22d8 .pik-button:hover { color:#0f1e5a !important; background: #fff; border: 1px solid #0f1e5a; } /* #editor-html_block_a8019d9a2d8320faaafe9ca111ea22d8 .pik-button:hover btn_text { color:#0f1e5a !important; } */ #editor-html_block_a8019d9a2d8320faaafe9ca111ea22d8.punkt-klein ul li { margin-bottom:5px; } .editor-html ol li:before { display:none !important; } #editor-html_block_a8019d9a2d8320faaafe9ca111ea22d8 .editor-html.haken ul li:before { background: ; } </style></div> </div> <p class="wp-block-paragraph"></p> </li> </ul> </li> <li id="menu-item-27167" class="menu-item menu-item-type-post_type menu-item-object-page second-level menu-item-27167"><a href="https://pik.de/lichttechnik/">LICHTTECHNIK</a></li> <li id="menu-item-5478" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-5478"><a title="Digital Signage / Informationssysteme" href="/digital-signage/">DIGITAL SIGNAGE</a></li> <li id="menu-item-10420" class="menu-item menu-item-type-post_type menu-item-object-page second-level menu-item-10420"><a title="MANAGED SERVICES" href="https://pik.de/managed-services/">MANAGED SERVICE</a></li> <li id="menu-item-5480" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-5480"><a title="Service & Wartung" href="/service-und-wartung/">SERVICE & WARTUNG</a></li> </ul> </li> <li id="menu-item-5467" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-5467"><a href="/unsere-loesungen/"><span class="outside" data-hover="Lösungen"><span class="inside">Lösungen</span></span><span role="presentation" class="dropdown-menu-toggle"></span></a> <ul class="sub-menu"> <li id="menu-item-11529" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children second-level menu-item-11529"><a title="Konferenzraum / Konferenzraumtechnik" href="https://pik.de/videokonferenz/konferenzraum-und-konferenzraumtechnik/">Konferenzraum<span role="presentation" class="dropdown-menu-toggle"></span></a> <ul class="sub-menu mm-level"> <li id="menu-item-50832" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-50832"> <div id="hedline-subine_block_60c87a9bce995" class="headingh3-subline grid-container menu__heading-mit-play-button"> <a class="heading-button-link" href="https://pik.de/videokonferenz/konferenzraum-und-konferenzraumtechnik/" title="Konferenzraumtechnik - Komplettlösungen für Konferenzräume. Einrichtung & Ausstattung"> <div class="text-inside"> <span class="hpb-titel">Konferenzraumtechnik </span> <span class="hpb-subline">Komplettlösungen für Konferenzräume. Einrichtung & Ausstattung<span class="circle"><span class="menu button-play"></span></span></span> </div> </a> </div> <style> #hedline-subine_block_60c87a9bce995 .circle { background-color: #296f79; } #hedline-subine_block_60c87a9bce995:hover .button-play { border-color: transparent transparent transparent #296f79; transition: all 0.3s ease; } #hedline-subine_block_60c87a9bce995:hover .circle { transition: all 0.3s ease; background-color: #fff; } #hedline-subine_block_60c87a9bce995 a .hpb-titel, #hedline-subine_block_60c87a9bce995:hover a .hpb-titel { color: #296f79 !important; } </style> <div class="boxes-container" id ="menu-boxes-menu-boxes-block_60c87ad6ce996"> <div class="item-container-drei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2021/06/Videokonferenzsoftware-q.jpg" srcset="https://pik.de/wp-content/uploads/2021/06/Videokonferenzsoftware-q.jpg 300w, https://pik.de/wp-content/uploads/2021/06/Videokonferenzsoftware-q-150x150.jpg 150w" sizes="(max-width: 300px) 100v
4640w, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/videokonferenz/" title="Videokonferenz">Videokonferenz</a> </div> <div class="box-subline menu-text">Beratung, Planung und Realisierung</div> </div> </div> </div> <div class="item-container-drei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2021/06/displays-monitore-q.jpg" srcset="https://pik.de/wp-content/uploads/2021/06/displays-monitore-q.jpg 300w, https://pik.de/wp-content/uploads/2021/06/displays-monitore-q-150x150.jpg 150w" sizes="(max-width: 300px) 100vw, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/videokonferenz/konferenzraum-und-konferenzraumtechnik/display-konferenzraum/" title="Displays / Monitore für Konferenzräume">Displays / Monitore für Konferenzräume</a> </div> <div class="box-subline menu-text">Bildschirme für die verschiedensten Anforderungen</div> </div> </div> </div> <div class="item-container-drei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2021/06/videokonferenz-kamera-q.jpg" srcset="https://pik.de/wp-content/uploads/2021/06/videokonferenz-kamera-q.jpg 300w, https://pik.de/wp-content/uploads/2021/06/videokonferenz-kamera-q-150x150.jpg 150w" sizes="(max-width: 300px) 100vw, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/videokonferenz/videokonferenz-kamera/" title="Kameras für Videokonferenzen">Kameras für Videokonferenzen</a> </div> <div class="box-subline menu-text">Beratung · Kauf · Installation · Wartung</div> </div> </div> </div> <div class="item-container-drei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2021/06/Interaktive-Whiteboards-300.jpg" srcset="https://pik.de/wp-content/uploads/2021/06/Interaktive-Whiteboards-300.jpg 300w, https://pik.de/wp-content/uploads/2021/06/Interaktive-Whiteboards-300-150x150.jpg 150w" sizes="(max-width: 300px) 100vw, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/medientechnik/interaktive-whiteboards-touch-displays/" title="Interaktive Whiteboards & Touchdisplays">Interaktive Whiteboards & Touchdisplays</a> </div> <div class="box-subline menu-text">Smarte Lösungen für mehr Effizienz</div> </div> </div> </div> <div class="item-container-drei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2021/06/Videokonferenz-Raumbuchungssysteme-q.jpg" srcset="https://pik.de/wp-content/uploads/2021/06/Videokonferenz-Raumbuchungssysteme-q.jpg 300w, https://pik.de/wp-content/uploads/2021/06/Videokonferenz-Raumbuchungssysteme-q-150x150.jpg 150w" sizes="(max-width: 300px) 100vw, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/videokonferenz/konferenzraum-und-konferenzraumtechnik/" title="Raumbuchungssyteme">Raumbuchungssyteme</a> </div> <div class="box-subline menu-text">Moderne Raumbuchung und technische Ãberwachung</div> </div> </div> </div> <div class="item-container-drei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2021/06/audiotechnik-mikrofone-und-lautsprecher-q.jpg" srcset="https://pik.de/wp-content/uploads/2021/06/audiotechnik-mikrofone-und-lautsprecher-q.jpg 300w, https://pik.de/wp-content/uploads/2021/06/audiotechnik-mikrofone-und-lautsprecher-q-150x150.jpg 150w" sizes="(max-width: 300px) 100v
4640w, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/videokonferenz/konferenzraum-und-konferenzraumtechnik/" title="Mikrofone & Lautsprecher">Mikrofone & Lautsprecher</a> </div> <div class="box-subline menu-text">Professionelle Raumakustik</div> </div> </div> </div> </div> <div style="clear:both;"></div> <style> #menu-boxes-menu-boxes-block_60c87ad6ce996 .box-headline a{ color: #296f79 !important; } #menu-boxes-menu-boxes-block_60c87ad6ce996 .mega-box-container:hover .box-headline a{ color: #fff !important; transition: none; } #menu-boxes-menu-boxes-block_60c87ad6ce996 .item-container-drei-spalten:hover { background-color: #296f79; box-shadow: 0 0 10px 0px #aaa; } .menu-img-box { width:100%; } </style> </li> </ul> </li> <li id="menu-item-54328" class="menu-item menu-item-type-post_type menu-item-object-page second-level menu-item-54328"><a href="https://pik.de/medientechnik/hybrider-gerichtssaal/">Hybride Gerichtssäle</a></li> <li id="menu-item-5473" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-5473"><a title="Schulen / Universitäten / Hörsaal" href="/medientechnik/schulen-universitaeten-hoersaal/">Bildungseinrichtungen</a></li> <li id="menu-item-5472" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-5472"><a title="Museen & Ausstellungen" href="/medientechnik/museen-und-ausstellungen/">Museen & Ausstellungen</a></li> <li id="menu-item-5469" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-5469"><a title="Hotels" href="/medientechnik/hotels/">Hotels</a></li> <li id="menu-item-5471" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-5471"><a title="Leitwarten" href="/medientechnik/leitwarten/">Leitwarten</a></li> </ul> </li> <li id="menu-item-6992" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-6992"><a href="https://pik.de/innovation/"><span class="outside" data-hover="Innovationen"><span class="inside">Innovationen</span></span><span role="presentation" class="dropdown-menu-toggle"></span></a> <ul class="sub-menu"> <li id="menu-item-57485" class="menu-item menu-item-type-post_type menu-item-object-page second-level menu-item-57485"><a href="https://pik.de/innovation/byom-und-byod/">BYOM und BYOD</a></li> <li id="menu-item-57269" class="menu-item menu-item-type-post_type menu-item-object-page second-level menu-item-57269"><a href="https://pik.de/innovation/ise/">ISE 2026</a></li> <li id="menu-item-27166" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children second-level menu-item-27166"><a href="https://pik.de/videokonferenz/teams-rooms/">TEAMS ROOMS<span role="presentation" class="dropdown-menu-toggle"></span></a> <ul class="sub-menu mm-level"> <li id="menu-item-50844" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-50844"> <div id="hedline-subine_block_70e734977cb04c93035399882844f906" class="headingh3-subline grid-container menu__heading-mit-play-button"> <a class="heading-button-link text-in-gross" href="https://pik.de/videokonferenz/teams-rooms/" title="TEAMS ROOMS - Lösungen und mehr"> <img class="logo-bild" src="https://pik.de/wp-content/uploads/2019/09/Microsoft-Teams-Logo-Banner-vierkant.jpg" /> <div class="text-inside"> <span class="hpb-titel">TEAMS ROOMS </span> <span class="hpb-subline">Lösungen und mehr<span class="circle"><span class="menu button-play"></span></span></span> </div> </a> </div> <style> #hedline-subine_block_70e734977cb04c93035399882844f906 .circle { background-color: #4B53bc; } #hedline-subine_block_70e734977cb04c93035399882844f906:hover .button-play { border-color: transparent transparent transparent #4B53bc; transition: all 0.3s ease; } #hedline-subine_block_70e734977cb04c93035399882844f906:hover .circle { transition: all 0.3s ease; background-color: #fff; } #hedline-subine_block_70e734977cb04c93035399882844f906 a .hpb-titel, #hedline-subine_block_70e734977cb04c93035399882844f906:hover a .hpb-titel { color: #4B53bc !important; } #hedline-subine_block_70e734977cb04c93035399882844f906 .hpb-titel, #hedline-subine_block_70e734977cb04c93035399882844f906 .hpb-subline { font-size:24px !important; line-height:90px; font-weight:700; } #hedline-subine_block_70e734977cb04c93035399882844f906 .circle { margin-bottom: -13px; } </style> <div class="wp-block-columns m-bottom-0"> <div class="wp-block-column" style="flex-basis:33.33%"><style>.gb-container-6fafee75 > .gb-inside-container{padding-top:15px;padding-bottom:15px;}.gb-grid-wrapper > .gb-grid-column-6fafee75 > .gb-container{display:flex;flex-direction:column;height:100%;}</style><div class="gb-container gb-container-6fafee75 gb-container-Farbe-Microsoft"><div class="gb-inside-container"> <div id="editor-html_block_ab24caa6eaaba8dee80ec6a1602f1898" class="editor-html grid-container editor-html haken p-top-normal m-bottom-0"> <p style="text-align: center;"><span class="medium no-text-shadow">Wir beraten und installieren Microsoft Teams Komplettlösungen.</span></p> <p style="text-align: center;"><span class="medium no-text-shadow"> Deutschlandweit. Schnell. Systemübergreifend.</span></p> <p style="text-align: center;"><img class="alignnone size-full wp-image-18778" src="https://pik.de/wp-content/uploads/2021/01/Hero_Microsoft-Teams-Rooms-Premium.
4640jpg" alt="Microsoft Teams Rooms Premium" width="960" height="500" srcset="https://pik.de/wp-content/uploads/2021/01/Hero_Microsoft-Teams-Rooms-Premium.jpg 960w, https://pik.de/wp-content/uploads/2021/01/Hero_Microsoft-Teams-Rooms-Premium-500x260.jpg 500w, https://pik.de/wp-content/uploads/2021/01/Hero_Microsoft-Teams-Rooms-Premium-150x78.jpg 150w, https://pik.de/wp-content/uploads/2021/01/Hero_Microsoft-Teams-Rooms-Premium-768x400.jpg 768w, https://pik.de/wp-content/uploads/2021/01/Hero_Microsoft-Teams-Rooms-Premium-533x278.jpg 533w, https://pik.de/wp-content/uploads/2021/01/Hero_Microsoft-Teams-Rooms-Premium-867x452.jpg 867w" sizes="(max-width: 960px) 100vw, 960px" /></p> </div> <style> .box-schatten { box-shadow: 0 0 15px 0px #eee; padding: 15px !important; overflow: hidden; } #editor-html_block_ab24caa6eaaba8dee80ec6a1602f1898 .editor-html ul li:before { background: #0f1e5a; } #editor-html_block_ab24caa6eaaba8dee80ec6a1602f1898 { clear:both; } #editor-html_block_ab24caa6eaaba8dee80ec6a1602f1898 .pik-button { background: #0f1e5a; border: 1px solid #0f1e5a; } .farbig-bg #editor-html_block_ab24caa6eaaba8dee80ec6a1602f1898 .pik-button { border: 1px solid #fff; } #editor-html_block_ab24caa6eaaba8dee80ec6a1602f1898 .pik-button:hover { color:#0f1e5a !important; background: #fff; border: 1px solid #0f1e5a; } /* #editor-html_block_ab24caa6eaaba8dee80ec6a1602f1898 .pik-button:hover btn_text { color:#0f1e5a !important; } */ #editor-html_block_ab24caa6eaaba8dee80ec6a1602f1898.punkt-klein ul li { margin-bottom:5px; } .editor-html ol li:before { display:none !important; } #editor-html_block_ab24caa6eaaba8dee80ec6a1602f1898 .editor-html.haken ul li:before { background: ; } </style> <div id="layouts_block_df3e82944a9048f55d1ea55ca831b488" class="grid-container top-parent-elements padding-0 p-top-0 m-top-0"> <div id="layouts_block_df3e82944a9048f55d1ea55ca831b488-button-1" class="pik-buttons grid-75 m-bottom-normal p-top-0 p-bottom-0"> <a class="pik-button smooth-scroll" href="https://pik.de/videokonferenz/teams-rooms/">JETZT BERATEN LASSEN!</a> </div> <style> #layouts_block_df3e82944a9048f55d1ea55ca831b488-button-1 .pik-button { background: #4B53bc; border: 1px solid #fff; } #layouts_block_df3e82944a9048f55d1ea55ca831b488-button-1 .pik-button:hover { color:#4B53bc !important; background: #fff; border: 1px solid #4B53bc; } #layouts_block_df3e82944a9048f55d1ea55ca831b488-button-1 .pik-button:hover btn_text { color:#4B53bc !important; } #layouts_block_df3e82944a9048f55d1ea55ca831b488-button-1 .pik-button { background: #fff; border: 1px solid #4B53bc; color:#4B53bc !important; } .farbig-bg #layouts_block_df3e82944a9048f55d1ea55ca831b488-button-1 .pik-button { background: #fff; border: 1px solid #fff; color:#4B53bc !important; } #layouts_block_df3e82944a9048f55d1ea55ca831b488-button-1 .pik-button:hover { color:#fff !important; background: #4B53bc; border: 1px solid #fff; } #layouts_block_df3e82944a9048f55d1ea55ca831b488 { width:100%; margin:0 auto; display: flex; justify-content: center; } </style> </div> <style> .page-id-12743 .top-parent-elements { display: flex; flex-direction: row; flex-wrap: wrap; } .page-id-12743 .layout-elem-block.grid-25 { height:100% !important; } </style> </div></div></div> <div class="wp-block-column" style="flex-basis:66.66%"> <div class="wp-block-columns"> <div class="wp-block-column" style="flex-basis:66.66%"> <figure class="wp-block-image size-large"><img width="1024" height="467" src="https://pik.de/wp-content/uploads/2023/04/Front-Row-Layout-1024x467.jpg" alt="Front Row Layout" class="wp-image-43816" srcset="https://pik.de/wp-content/uploads/2023/04/Front-Row-Layout-1024x467.jpg 1024w, https://pik.de/wp-content/uploads/2023/04/Front-Row-Layout-500x228.jpg 500w, https://pik.de/wp-content/uploads/2023/04/Front-Row-Layout-150x68.jpg 150w, https://pik.de/wp-content/uploads/2023/04/Front-Row-Layout-768x350.jpg 768w, https://pik.de/wp-content/uploads/2023/04/Front-Row-Layout-533x243.jpg 533w, https://pik.de/wp-content/uploads/2023/04/Front-Row-Layout-867x396.jpg 867w, https://pik.de/wp-content/uploads/2023/04/Front-Row-Layout.jpg 1120w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> </div> <div class="wp-block-column" style="flex-basis:33.33%"> <div id="block___block_d0c10eba933ab23542f21fbe0c172122" class="heading-container pik-heading-bg heading-h3-gross-bg-color m-bottom-0 p-top-0 p-bottom-0 m-top-normal m-bottom-normal"> <h3 id="hedline-h3-gross-bg-color_block_d0c10eba933ab23542f21fbe0c172122" class="gross"> Das neue Front Row Layout für Microsoft TEAMS</h3> </div> <style> .heading-container { overflow:hidden; } h3#hedline-h3-gross-bg-color_block_d0c10eba933ab23542f21fbe0c172122 { color:#fff; background-color: #4B53bc; padding:15px; display:inline-block; clear:both; margin-top:0px; margin-bottom:0px; position:relative; } h3#hedline-h3-gross-bg-color_block_d0c10eba933ab23542f21fbe0c172122::before { c
4640ontent: ''; display:block; height:1px; border-top: 4px solid #4B53bc; content: ''; width: 9999px; position:absolute; left:0; top:0; } h3#hedline-h3-gross-bg-color_block_d0c10eba933ab23542f21fbe0c172122::before { display:none; } h3#hedline-h3-gross-bg-color_block_d0c10eba933ab23542f21fbe0c172122 { display:block; } h3#hedline-h3-gross-bg-color_block_d0c10eba933ab23542f21fbe0c172122 { padding: 15px; /*display:block; text-align:left;*/ } </style> <div id="playbutton-link-medium_block_a4e855b9d57ce9484fd380e6bdbdeb4d" class="heading-mit-play-button playbutton-link-medium main-gfeld-color _grid-container padding-15" > <a href="https://pik.de/videokonferenz/teams-rooms/microsoft-front-row-layout/" class="smooth-scroll pb-linktext normal" title="Erfahren Sie mehr zum neuen Front Row Layout für Microsoft Teams" > <span class="linktext">Erfahren Sie mehr zum neuen Front Row Layout für Microsoft Teams</span><span class="circle"><span class="button-play"></span></span></a> </div> <style> #playbutton-link-medium_block_a4e855b9d57ce9484fd380e6bdbdeb4d .circle { background-color: #4B53bc; } .mega-sub-menu #playbutton-link-medium_block_a4e855b9d57ce9484fd380e6bdbdeb4d .circle { position: relative; width: 42px; height: 42px; border-radius: 50%; box-shadow: 0 0 10px 0px #aaa; display: inline-block; margin-left: 5px; } #playbutton-link-medium_block_a4e855b9d57ce9484fd380e6bdbdeb4d:hover .button-play { border-color: transparent transparent transparent #4B53bc; transition: all 0.3s ease; } #playbutton-link-medium_block_a4e855b9d57ce9484fd380e6bdbdeb4d:hover .circle { transition: all 0.3s ease; background-color: #fff; } #playbutton-link-medium_block_a4e855b9d57ce9484fd380e6bdbdeb4d.down .button-play { border-color: #fff transparent transparent transparent !important; border-width: 14px 10px 10px 10px !important; left: 11px !important; top: 16px !important; } #playbutton-link-medium_block_a4e855b9d57ce9484fd380e6bdbdeb4d.down:hover .button-play { border-color: #4B53bc transparent transparent transparent !important; } </style> </div> </div> <div class="wp-block-columns m-bottom-0"> <div class="wp-block-column" style="flex-basis:33.33%"> <div id="editor-html_block_982703c38b74072a7ad1cc5b733b1b07" class="editor-html grid-container editor-html haken p-top-0 p-bottom-0 m-bottom-0"> <p><a href="https://pik.de/videokonferenz/teams-rooms/teams-rooms-mit-logitech/">Microsoft Teams mit <strong><span style="color: #00b8fc;">Logitech</span></strong></a></p> <p><a href="https://pik.de/videokonferenz/teams-rooms/teams-rooms-mit-poly/">Microsoft Teams mit <strong><span style="color: #eb3c00;">Poly</span></strong></a></p> <p><a href="https://pik.de/videokonferenz/teams-rooms/teams-rooms-mit-lenovo/">Microsoft Teams mit <strong><span style="color: #e22319;">Lenovo</span></strong></a></p> <p><a href="https://pik.de/videokonferenz/teams-rooms/teams-rooms-mit-yealink/">Microsoft Teams mit <strong><span style="color: #3fa683;">Yealink</span></strong></a></p> <p><a href="https://pik.de/videokonferenz/teams-rooms/teams-rooms-mit-neat/">Microsoft Teams mit <strong><span style="color: #4e4e4e;">neat.</span></strong></a></p> </div> <style> .box-schatten { box-shadow: 0 0 15px 0px #eee; padding: 15px !important; overflow: hidden; } #editor-html_block_982703c38b74072a7ad1cc5b733b1b07 .editor-html ul li:before { background: #0f1e5a; } #editor-html_block_982703c38b74072a7ad1cc5b733b1b07 { clear:both; } #editor-html_block_982703c38b74072a7ad1cc5b733b1b07 .pik-button { background: #0f1e5a; border: 1px solid #0f1e5a; } .farbig-bg #editor-html_block_982703c38b74072a7ad1cc5b733b1b07 .pik-button { border: 1px solid #fff; } #editor-html_block_982703c38b74072a7ad1cc5b733b1b07 .pik-button:hover { color:#0f1e5a !important; background: #fff; border: 1px solid #0f1e5a; } /* #editor-html_block_982703c38b74072a7ad1cc5b733b1b07 .pik-button:hover btn_text { color:#0f1e5a !important; } */ #editor-html_block_982703c38b74072a7ad1cc5b733b1b07.punkt-klein ul li { margin-bottom:5px; } .editor-html ol li:before { display:none !important; } #editor-html_block_982703c38b74072a7ad1cc5b733b1b07 .editor-html.haken ul li:before { background: ; } </style></div> <div class="wp-block-column" style="flex-basis:66.66%"> <div id="block___block_3262d19707a5103627d722c0cabf0c25" class="heading-container pik-heading-bg heading-h3-gross-bg-color p-top-0 p-bottom-0 m-top-0"> <h4 id="hedline-h3-gross-bg-color_block_3262d19707a5103627d722c0cabf0c25" class="medium"> BEI UNS IM SHOP</h4> </div> <style> .heading-container { overflow:hidden; } h4#hedline-h3-gross-bg-color_block_3262d19707a5103627d722c0cabf0c25 { color:#fff; background-color: #4B53bc; padding:15px; display:inline-block; clear:both; margin-top:0px; margin-bottom:0px; position:relative; } h4#hedline-h3-gross-bg-color_block_3262d19707a5103627d722c0cabf0c25::before { c
4640ontent: ''; display:block; height:1px; border-top: 4px solid #4B53bc; content: ''; width: 9999px; position:absolute; left:0; top:0; } h4#hedline-h3-gross-bg-color_block_3262d19707a5103627d722c0cabf0c25::before { display:none; } h4#hedline-h3-gross-bg-color_block_3262d19707a5103627d722c0cabf0c25 { display:block; } h3#hedline-h3-gross-bg-color_block_3262d19707a5103627d722c0cabf0c25 { padding: 15px; /*display:block; text-align:left;*/ } </style> <div class="wp-block-columns m-bottom-0"> <div class="wp-block-column"> <figure class="wp-block-image size-full"><img width="950" height="509" src="https://pik.de/wp-content/uploads/2021/01/HP-Elite-Slice-G2.jpg" alt="HP Elite Slice G2" class="wp-image-18244" srcset="https://pik.de/wp-content/uploads/2021/01/HP-Elite-Slice-G2.jpg 950w, https://pik.de/wp-content/uploads/2021/01/HP-Elite-Slice-G2-500x268.jpg 500w, https://pik.de/wp-content/uploads/2021/01/HP-Elite-Slice-G2-150x80.jpg 150w, https://pik.de/wp-content/uploads/2021/01/HP-Elite-Slice-G2-768x411.jpg 768w, https://pik.de/wp-content/uploads/2021/01/HP-Elite-Slice-G2-533x286.jpg 533w, https://pik.de/wp-content/uploads/2021/01/HP-Elite-Slice-G2-867x465.jpg 867w" sizes="(max-width: 950px) 100vw, 950px" /><figcaption class="wp-element-caption"> </figcaption></figure> </div> <div class="wp-block-column content-vertical"> <div id="playbutton-link-medium_block_9088f6b358b0b6ad80d1cd880239aa63" class="heading-mit-play-button playbutton-link-medium main-gfeld-color m-top-0 p-top-0 _grid-container padding-15" > <a href="https://pik.de/shop/produkt/hp-elite-slice-g2-mit-microsoft-teams-rooms-desktop-pc-mit-audioerweiterung-und-touch-pad-fuer-microsoft-teams/" class="smooth-scroll pb-linktext normal" title="Das HP Elite Slice G2 mit Microsoft Teams Rooms" > <span class="linktext">Das HP Elite Slice G2 mit Microsoft Teams Rooms</span><span class="circle"><span class="button-play"></span></span></a> </div> <style> #playbutton-link-medium_block_9088f6b358b0b6ad80d1cd880239aa63 .circle { background-color: #4B53bc; } .mega-sub-menu #playbutton-link-medium_block_9088f6b358b0b6ad80d1cd880239aa63 .circle { position: relative; width: 42px; height: 42px; border-radius: 50%; box-shadow: 0 0 10px 0px #aaa; display: inline-block; margin-left: 5px; } #playbutton-link-medium_block_9088f6b358b0b6ad80d1cd880239aa63:hover .button-play { border-color: transparent transparent transparent #4B53bc; transition: all 0.3s ease; } #playbutton-link-medium_block_9088f6b358b0b6ad80d1cd880239aa63:hover .circle { transition: all 0.3s ease; background-color: #fff; } #playbutton-link-medium_block_9088f6b358b0b6ad80d1cd880239aa63.down .button-play { border-color: #fff transparent transparent transparent !important; border-width: 14px 10px 10px 10px !important; left: 11px !important; top: 16px !important; } #playbutton-link-medium_block_9088f6b358b0b6ad80d1cd880239aa63.down:hover .button-play { border-color: #4B53bc transparent transparent transparent !important; } </style> </div> </div> </div> </div> </div> </div> <div class="extra-html-container extra-html content-media p-top-0 p-bottom-0 m-top-normal m-bottom-normal"> </div> </li> </ul> </li> <li id="menu-item-8382" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children second-level menu-item-8382"><a title="Zoom â Die Revolution in der Videokonferenz0" href="https://pik.de/videokonferenz/zoom/">ZOOM<span role="presentation" class="dropdown-menu-toggle"></span></a> <ul class="sub-menu mm-level"> <li id="menu-item-50845" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-50845"> <div class="wp-block-columns m-bottom-0"> <div class="wp-block-column" style="flex-basis:100%"> <div id="hedline-subine_block_c44511793eef004117585aee290e2489" class="headingh3-subline grid-container menu__heading-mit-play-button"> <a class="heading-button-link text-in-gross" href="https://pik.de/videokonferenz/zoom/" title=" - Die Revolution Ihrer Videokonferenz"> <img class="logo-bild" src="https://pik.de/wp-content/uploads/2021/06/zoom-brand-trans.png" /> <div class="text-inside"> <span class="hpb-subline">Die Revolution Ihrer Videokonferenz<span class="circle"><span class="menu button-play"></span></span></span> </div> </a> </div> <style> #hedline-subine_block_c44511793eef004117585aee290e2489 .circle { background-color: #368df8; } #hedline-subine_block_c44511793eef004117585aee290e2489:hover .button-play { border-color: transparent transparent transparent #368df8; transition: all 0.3s ease; } #hedline-subine_block_c44511793eef004117585aee290e2489:hover .circle { transition: all 0.3s ease; background-color: #fff; } #hedline-subine_block_c44511793eef004117585aee290e2489 a .hpb-titel, #hedline-subine_block_c44511793eef004117585aee290e2489:hover a .hpb-titel { color: #368df8 !important; } #hedline-subine_block_c44511793eef004117585aee290e2489 .hpb-titel, #hedline-subine_block_c44511793eef004117585aee290e2489 .hpb-subline { font-size:24px !important; line-height:90px; font-weight:700; } #hedline-subine_block_c44511793eef004117585aee290e2489 .circle { margin-bottom: -13px; } </style> </div> </div> <div class="boxes-container" id ="menu-boxes-menu-boxes-block_870718a1554d77cb3194098d74d27c87"> <div class="item-container-zwei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2021/06/Zoom-Meetings-und-Chats.jpg" srcset="https://pik.de/wp-content/uploads/2021/06/Zoom-Meetings-und-Chats.jpg 300w, https://pik.de/wp-content/uploads/2021/06/Zoom-Meetings-und-Chats-150x150.jpg 150w" sizes="(max-width: 300px) 100v
4640w, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/videokonferenz/zoom/zoom-meetings/" title="Zoom Meeting und Chats">Zoom Meeting und Chats</a> </div> <div class="box-subline menu-text">Zoom Meetings and Chats als plattformübergreifende Lösung</div> </div> </div> </div> <div class="item-container-zwei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2021/06/Zoom-Rooms.jpg" srcset="https://pik.de/wp-content/uploads/2021/06/Zoom-Rooms.jpg 300w, https://pik.de/wp-content/uploads/2021/06/Zoom-Rooms-150x150.jpg 150w" sizes="(max-width: 300px) 100vw, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/videokonferenz/zoom/zoomrooms-and-workspaces/" title="Zoom Rooms">Zoom Rooms</a> </div> <div class="box-subline menu-text">Zoom Rooms & Workspaces bietet Flexibilität und Unabhängigkeit</div> </div> </div> </div> </div> <div style="clear:both;"></div> <style> #menu-boxes-menu-boxes-block_870718a1554d77cb3194098d74d27c87 .box-headline a{ color: #368df8 !important; } #menu-boxes-menu-boxes-block_870718a1554d77cb3194098d74d27c87 .mega-box-container:hover .box-headline a{ color: #fff !important; transition: none; } #menu-boxes-menu-boxes-block_870718a1554d77cb3194098d74d27c87 .item-container-zwei-spalten:hover { background-color: #368df8; box-shadow: 0 0 10px 0px #aaa; } .menu-img-box { width:100%; } </style> <div class="boxes-container" id ="menu-boxes-menu-boxes-block_c2bef9e6bf6c5c0994eb2fa34cf5c150"> <div class="item-container-drei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2021/06/zoom-events-300.jpg" srcset="https://pik.de/wp-content/uploads/2021/06/zoom-events-300.jpg 300w, https://pik.de/wp-content/uploads/2021/06/zoom-events-300-150x150.jpg 150w" sizes="(max-width: 300px) 100vw, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/videokonferenz/zoom/zoom-events/" title="Zoom Events">Zoom Events</a> </div> <div class="box-subline menu-text">Die All-in-One â Plattform für interaktive virtuelle Events</div> </div> </div> </div> <div class="item-container-drei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2021/06/Zoom-Webinare.jpg" srcset="https://pik.de/wp-content/uploads/2021/06/Zoom-Webinare.jpg 300w, https://pik.de/wp-content/uploads/2021/06/Zoom-Webinare-150x150.jpg 150w" sizes="(max-width: 300px) 100vw, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/videokonferenz/zoom/zoom-video-webinare/" title="Zoom Webinare">Zoom Webinare</a> </div> <div class="box-subline menu-text">Virtuelle Live-Events mit Zoom Video Webinars</div> </div> </div> </div> <div class="item-container-drei-spalten mega-box-container"> <div class="grid-menu-boxes-inside"> <div class="col-sm-4"> <img width="300" height="300" class="menu-img-box" src="https://pik.de/wp-content/uploads/2021/06/Zoom-Education.jpg" srcset="https://pik.de/wp-content/uploads/2021/06/Zoom-Education.jpg 300w, https://pik.de/wp-content/uploads/2021/06/Zoom-Education-150x150.jpg 150w" sizes="(max-width: 300px) 100vw, 300px" alt="" /> </div> <div class="col-sm-8"> <div class="box-headline"> <a class="mega-item-link" href="https://pik.de/videokonferenz/zoom/zoom-education/" title="Zoom Education">Zoom Education</a> </div> <div class="box-subline menu-text">Die Zoom Education Lizenz für Schulen & Universitäten</div> </div> </div> </div> </div> <div style="clear:both;"></div> <style> #menu-boxes-menu-boxes-block_c2bef9e6bf6c5c0994eb2fa34cf5c150 .box-headline a{ color: #368df8 !important; } #menu-boxes-menu-boxes-block_c2bef9e6bf6c5c0994eb2fa34cf5c150 .mega-box-container:hover .box-headline a{ color: #fff !important; transition: none; } #menu-boxes-menu-boxes-block_c2bef9e6bf6c5c0994eb2fa34cf5c150 .item-container-drei-spalten:hover { background-color: #368df8; box-shadow: 0 0 10px 0px #aaa; } .menu-img-box { width:100%; } </style> </li> </ul> </li> <li id="menu-item-48093" class="menu-item menu-item-type-post_type menu-item-object-page second-level menu-item-48093"><a href="https://pik.de/videokonferenz/google-workspace/">GOOGLE Workspace</a></li> </ul> </li> <li id="menu-item-7538" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7538"><a title="Aktuelle Meldungen" href="https://pik.de/aktuelle-meldungen/"><span class="outside" data-hover="News"><span class="inside">News</span></span></a></li> <li id="menu-item-5492" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-5492"><a href="/unternehmen/"><span class="outside" data-hover="Unternehmen"><span class="inside">Unternehmen</span></span><span role="presentation" class="dropdown-menu-toggle"></span></a> <ul class="sub-menu"> <li id="menu-item-35127" class="menu-item menu-item-type-post_type menu-item-object-page second-level menu-item-35127"><a title="karriere" href="https://pik.de/unternehmen/karriere/">Karriere</a></li> <li id="menu-item-5494" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-5494"><a title="Philosophie der PIK GmbH" href="/unternehmen/philosophie-der-pik-ag/">Philosophie</a></li> <li id="menu-item-5493" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-5493"><a title="Historie der PIK GmbH" href="/unternehmen/unternehmenshistorie-der-pik-ag/">Historie</a></li> <li id="menu-item-29000" class="menu-item menu-item-type-post_type menu-item-object-page second-level menu-item-29000"><a href="https://pik.de/unternehmen/handelspartner/">Handelspartner</a></li> <li id="menu-item-5501" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-5501"><a href="/engagement/">Soziales Engagement</a></li> </ul> </li> <li id="menu-item-5499" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-5499"><a title="Referenzen" href="/unsere-referenzen/"><span class="outside" data-hover="Referenzen"><span class="inside">Referenzen</span></span></a></li> <li id="menu-item-55480" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-55480"><a href="https://pik.de/convention/">PIK Convention</a></li> <li id="menu-item-51267" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-51267"><a href="https://pik.de/showroom/"><span class="outside" data-hover="SHOWROOM"><span class="inside">SHOWROOM</span></span></a></li> <li id="menu-item-18145" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-18145"><a title="Zum Shop" href="/shop/"><span class="outside" data-hover="Shop"><span class="inside">Shop</span></span></a><ul id="menu-shop-kategorien" class="sub-menu"><li id="menu-item-49226" class="submenu menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-49226"><a href="/shop/konferenzsysteme/">Konferenzsysteme</a> <ul class="sub-menu"> <li id="menu-item-57531" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-57531"><a href="https://pik.de/shop/konferenzsysteme/raumbuchungssystem/">Raumbuchungssysteme</a></li> <li id="menu-item-49227" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-49227"><a href="/shop/konferenzsysteme/konferenztelefone/">Konferenztelefone</a></li> <li id="menu-item-49229" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-49229"><a href="/shop/konferenzsysteme/videokonferenzsysteme/">Videokonferenzsysteme</a></li> <li id="menu-item-49230" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-49230"><a href="/shop/konferenzsysteme/konferenzkamera/">Konferenzkameras</a></li> <li id="menu-item-49231" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-49231"><a href="/shop/konferenzsysteme/praesentationssystem/">Präsentationssysteme</a></li> <li id="menu-item-49232" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-49232"><a href="/shop/konferenzsysteme/huddle-room/">Huddle Room</a></li> <li id="menu-item-49233" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-49233"><a href="/shop/konferenzsysteme/zubehoer-konferenzsysteme/">Zubehör</a></li> </ul> </li> <li id="menu-item-49234" class="submenu menu-item menu-item-type-custom menu-item-object-custom menu-item-49234"><a href="/shop/mediensteuerung/">
4640Mediensteuerung</a></li> <li id="menu-item-49235" class="submenu menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-49235"><a href="/shop/kameras/">Kameras</a> <ul class="sub-menu"> <li id="menu-item-49236" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-49236"><a href="/shop/kameras/usb-kameras/">USB-Kameras</a></li> <li id="menu-item-49237" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-49237"><a href="/shop/kameras/ptz-kameras/">PTZ Kameras</a></li> <li id="menu-item-49238" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-49238"><a href="/shop/kameras/all-in-one-kameras/">All-in-One Kameras</a></li> <li id="menu-item-60100" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-60100"><a href="https://pik.de/shop/kameras/dokumentenkameras/">Dokumentenkameras</a></li> <li id="menu-item-49239" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-49239"><a href="/shop/kameras/zubehoer-kameras/">Zubehör</a></li> </ul> </li> <li id="menu-item-49240" class="submenu menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-49240"><a href="/shop/audiotechnik/">Audiotechnik</a> <ul class="sub-menu"> <li id="menu-item-49241" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-49241"><a href="/shop/audiotechnik/mischpulte/">Mischpulte</a></li> <li id="menu-item-49242" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-49242"><a href="/shop/audiotechnik/mikrofone/">Mikrofone</a></li> <li id="menu-item-49243" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-49243"><a href="/shop/audiotechnik/audiokonferenz/">Audiokonferenz</a></li> <li id="menu-item-49244" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-49244"><a href="/shop/audiotechnik/lautsprecher/">Lautsprecher</a></li> <li id="menu-item-49245" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-49245"><a href="/shop/audiotechnik/headsets/">Headsets</a></li> <li id="menu-item-49246" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-49246"><a href="/shop/audiotechnik/raumakustik/">Raumakustik</a></li> <li id="menu-item-49247" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-49247"><a href="/shop/audiotechnik/zubehoer-audiotechnik/">Zubehör</a></li> </ul> </li> <li id="menu-item-49248" class="submenu menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-49248"><a href="/shop/software/">Software</a> <ul class="sub-menu"> <li id="menu-item-49249" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-49249"><a href="/shop/software/lizenzen/">Lizenzen</a></li> </ul> </li> <li id="menu-item-49250" class="fullwidth menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-49250"><a href="/shop/lichttechnik/">Lichttechnik</a> <ul class="sub-menu"> <li id="menu-item-58965" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children second-level menu-item-58965"><a href="https://pik.de/shop/lichttechnik/scheinwerfer/">Scheinwerfer</a> <ul class="sub-menu mm-level"> <li id="menu-item-58968" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-58968"><a href="https://pik.de/shop/lichttechnik/scheinwerfer/profilscheinwerfer/">Profilscheinwerfer</a></li> <li id="menu-item-58969" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-58969"><a href="https://pik.de/shop/lichttechnik/scheinwerfer/buehnenbeleuchtung/">Bühnenbeleuchtung</a></li> <li id="menu-item-58972" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-58972"><a href="https://pik.de/shop/lichttechnik/scheinwerfer/led-bars/">LED Bars</a></li> </ul> </li> <li id="menu-item-58966" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children second-level menu-item-58966"><a href="https://pik.de/shop/lichttechnik/lichtsteuerung/">
4640Lichtsteuerung</a> <ul class="sub-menu mm-level"> <li id="menu-item-58973" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-58973"><a href="https://pik.de/shop/lichttechnik/lichtsteuerung/dmx-controller/">DMX-Controller</a></li> <li id="menu-item-58974" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-58974"><a href="https://pik.de/shop/lichttechnik/lichtsteuerung/lichtpulte/">Lichtpulte</a></li> </ul> </li> <li id="menu-item-58967" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children second-level menu-item-58967"><a href="https://pik.de/shop/lichttechnik/spezialbeleuchtung/">Spezialbeleuchtung</a> <ul class="sub-menu mm-level"> <li id="menu-item-58975" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-58975"><a href="https://pik.de/shop/lichttechnik/spezialbeleuchtung/studiobeleuchtung//">Studiobeleuchtung</a></li> <li id="menu-item-58976" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-58976"><a href="https://pik.de/shop/lichttechnik/spezialbeleuchtung/architekturbeleuchtung//">Architekturbeleuchtung</a></li> <li id="menu-item-49251" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49251"><a href="/shop/lichttechnik/fuer-videokonferenzen/">Lichttechnik für Videokonferenzen</a></li> <li id="menu-item-58977" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-58977"><a href="https:/pik.de/shop/lichttechnik/spezialbeleuchtung/zubehoer-lichttechnik">Zubehör Lichttechnik</a></li> </ul> </li> </ul> </li> <li id="menu-item-49252" class="fullwidth menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-49252"><a href="/shop/displays/">Displays</a> <ul class="sub-menu"> <li id="menu-item-49253" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children second-level menu-item-49253"><a href="/shop/displays/display-nach-anwendungsbereich/">Displays nach Anwendungsbereich</a> <ul class="sub-menu mm-level"> <li id="menu-item-49254" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49254"><a href="/shop/displays/display-nach-anwendungsbereich/displays-fuer-konferenzraum/">Displays für Konferenzraum</a></li> <li id="menu-item-49255" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49255"><a href="/shop/displays/display-nach-anwendungsbereich/digital-signage/">Digital Signage Displays</a></li> <li id="menu-item-49256" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49256"><a href="/shop/displays/display-nach-anwendungsbereich/displays-fuer-grosse-raeume/">Displays für groÃe Räume</a></li> <li id="menu-item-49258" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49258"><a href="/shop/displays/display-nach-anwendungsbereich/interaktive-displays/">Interaktive Displays</a></li> <li id="menu-item-49259" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49259"><a href="/shop/displays/display-nach-anwendungsbereich/digitale-tafel-fuer-schulungsraum/">Digitale Tafel für Schulungsraum</a></li> <li id="menu-item-49260" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49260"><a href="/shop/displays/display-nach-anwendungsbereich/videowall-displays/">LED-Wände / Videowall Displays</a></li> <li id="menu-item-53480" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-53480"><a href="https://pik.de/shop/displays/display-nach-anwendungsbereich/all-in-one-led-waende/">All-in-One LED Wände</a></li> <li id="menu-item-53481" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-53481"><a href="https://pik.de/shop/displays/display-nach-anwendungsbereich/e-paper-displays/">e-Paper Displays</a></li> </ul> </li> <li id="menu-item-49261" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children second-level menu-item-49261"><a href="/shop/displays/displays-nach-marke/">
4640Displays nach Marke</a> <ul class="sub-menu mm-level"> <li id="menu-item-49268" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49268"><a href="/shop/displays/displays-nach-marke/aver-displays/">AVer Displays</a></li> <li id="menu-item-56157" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-56157"><a href="https://pik.de/shop/displays/displays-nach-marke/avocor-displays/">Avocor</a></li> <li id="menu-item-49269" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49269"><a href="/shop/displays/displays-nach-marke/dten-displays/">DTEN Displays</a></li> <li id="menu-item-49270" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49270"><a href="/shop/displays/displays-nach-marke/iiyama-displays/">Iiyama Displays</a></li> <li id="menu-item-49263" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49263"><a href="/shop/displays/displays-nach-marke/legamaster-displays/">Legamaster Displays</a></li> <li id="menu-item-49262" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49262"><a href="/shop/displays/displays-nach-marke/nec-displays/">NEC Displays</a></li> <li id="menu-item-49265" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49265"><a href="/shop/displays/displays-nach-marke/newline-interactive-displays/">Newline Interactive Displays</a></li> <li id="menu-item-49267" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49267"><a href="/shop/displays/displays-nach-marke/samsung-displays/">Samsung Displays</a></li> <li id="menu-item-49264" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49264"><a href="/shop/displays/displays-nach-marke/smart-board-displays/">SMART Boards Displays</a></li> <li id="menu-item-49271" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49271"><a href="/shop/displays/displays-nach-marke/sony-displays/">SONY Displays</a></li> <li id="menu-item-49266" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49266"><a href="/shop/displays/displays-nach-marke/viewsonic-displays/">Viewsonic Displays</a></li> </ul> </li> <li id="menu-item-49272" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children second-level menu-item-49272"><a href="/shop/displays/displays-nach-groesse/">Displays nach GröÃe</a> <ul class="sub-menu mm-level"> <li id="menu-item-49273" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49273"><a href="/shop/displays/displays-nach-groesse/displays-unter-32-zoll/">Displays unter 32 Zoll</a></li> <li id="menu-item-49274" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49274"><a href="/shop/displays/displays-nach-groesse/displays-32-55-zoll/">Displays 32 â 55 Zoll</a></li> <li id="menu-item-49275" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49275"><a href="/shop/displays/displays-nach-groesse/displays-56-65-zoll/">Displays 56 â 65 Zoll</a></li> <li id="menu-item-49276" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49276"><a href="/shop/displays/displays-nach-groesse/displays-66-75-zoll/">Displays 66 â 75 Zoll</a></li> <li id="menu-item-49277" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49277"><a href="/shop/displays/displays-nach-groesse/displays-76-85-zoll/">Displays 76 â 85 Zoll</a></li> <li id="menu-item-49278" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49278"><a href="/shop/displays/displays-nach-groesse/displays-ueber-85-zoll/">Displays über 85 Zoll</a></li> <li id="menu-item-49279" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49279"><a href="/shop/displays/displays-nach-groesse/219-ultrawide-displays/">21:9 Ultrawide Displays</a></li> </ul> </li> <li id="menu-item-49280" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children second-level menu-item-49280"><a href="/shop/displays/halterungssysteme/">Halterungssysteme</a> <ul class="sub-menu mm-level"> <li id="menu-item-49281" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49281"><a href="/shop/displays/halterungssysteme/bodenloesungen-fuer-displays/">Bodenlösungen für Displays</a></li> <li id="menu-item-49282" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49282"><a href="/shop/displays/halterungssysteme/wandloesungen-fuer-displays/">Wandlösungen für Displays</a></li> <li id="menu-item-49283" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49283"><a href="/shop/displays/zubehoer/">Zubehör</a></li> </ul> </li> </ul> </li> <li id="menu-item-49284" class="submenu menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-49284"><a href="/shop/beamer/">Beamer</a> <ul class="sub-menu"> <li id="menu-item-49285" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-49285"><a href="/shop/beamer/laser/">Laser</a></li> </ul> </li> <li id="menu-item-49287" class="submenu menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-49287"><a href="/shop/zubehoer/">Zubehör</a> <ul class="sub-menu"> <li id="menu-item-49288" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-49288"><a href="/shop/zubehoer/konferenzraumausstattung/">Konferenzraumausstattung</a></li> <li id="menu-item-49289" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-49289"><a href="/shop/zubehoer/luftreiniger/">Luftreiniger</a></li> <li id="menu-item-49290" class="menu-item menu-item-type-custom menu-item-object-custom second-level menu-item-49290"><a href="/shop/zubehoer/erweiterungen/">Erweiterungen</a></li> </ul> </li> <li id="menu-item-49291" class="submenu menu-item menu-item-type-custom menu-item-object-custom menu-item-49291"><a href="/shop/b-ware/">B-Ware</a></li> <li id="menu-item-50937" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-50937"><a href="https://pik.de/shop/bundles/">Bundles</a></li> </ul></li> </ul></div><style> 4641/* 4642#menu-pik-menu #menu-item-55480 a, 4643#menu-pik-menu #menu-item-55480 a.active, 4644#menu-pik-menu #menu-item-55480:hover a { color: #fff; background: #e2732a !important; 4645} 4646*/ 4647 4648#menu-pik-menu #menu-item-18145 #menu-item-50937 a, 4649#menu-pik-menu #menu-item-18145 #menu-item-50937 a.active, 4650#menu-pik-menu #menu-item-18145 #menu-item-50937:hover a { color: #fff; background: #8c52ff !important; 4651} 4652@media (min-width:1281px) { 4653#masthead svg#Logo { width:160px; transition: all .5s ease-in-out; 4654} 4655#masthead.headroom--unpinned .site-logo svg#Logo { width:70px; 4656} 4657#masthead.headroom--unpinned g#Tagline { display: none; 4658} 4659#masthead.headroom--unpinned .site-logo { margin-top: 0px; 4660} 4661#menu-pik-menu ul.sub-menu.mm-level { /*left: 120px !important;*/ width: calc(100% + 120px); 4662} 4663#menu-pik-menu > li > ul.sub-menu { margin-right:165px !important; 4664} 4665#menu-pik-menu > li#menu-item-18145 > ul.sub-menu { /*margin-right:10px !important;*/ max-width:1010px !important; 4666} 4667} 4668#menu-pik-icons svg { stroke: #ccc !important; width: 22px; z-index: 1; position: relative; height:42px; margin-top:-1px; 4669} 4670#menu-pik-icons .icon-item a { padding: 0 8px; height: 42px; 4671} 4672#menu-pik-icons .icon-item { height: 42px; line-height: 42px; 4673} 4674ul#menu-shop-kategorien > li > a { height: 42px; 4675} 4676#menu-pik-icons .customer-menu { width:150px; display:block; top:41px; box-shadow: 0px 10px 30px 0 rgb(0 0 0 / 11%) !important; -webkit-box-shadow: 0px 10px 30px 0 rgb(0 0 0 / 11%) !important; 4677} 4678#menu-pik-icons .customer-menu li { display:block; float:none; 4679} 4680#menu-pik-icons .customer-menu a { padding: 0 7px; text-transform:none; font-size:13px; font-weight:400; 4681} 4682#menu-pik-icons .icon-item a:hover { color: #fff; background: #0f1e5a; 4683} 4684#menu-pik-icons #customer-menu a:hover { background:#ececec !important; color:#3a3a3a !important; 4685} 4686#menu-pik-icons a:hover svg { stroke: #fff !important; fill:#0f1e5a; 4687} 4688#favo-link svg { fill:#fff; stroke-width:1.75px; 4689} 4690.icons-cont { position:absolute; top:43px; right:10px; 4691} 4692.headroom--unpinned .icons-cont { top:53px; 4693} 4694@media (max-width:1280px) { 4695.icons-cont { position: relative; top: 25px; right: 40px; 4696} 4697li#menu-item-37965 { display: none; 4698} 4699li#menu-item-ac { display: none; 4700} 4701} 4702@media (max-width: 768px) {
4703.nav-float-right .inside-header .main-navigation { float: right !important; clear: right !important; 4704} 4705.site-header .header-image { width: 122px; 4706} 4707}</style><div class="icons-cont"><ul id="menu-pik-icons" class="menu sf-menu"><li id="menu-item-0000" class="icon-item menu-item submenu second-level menu-item-has-children menu-item-0000"><a href="/shop/customer/account/index/"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" class="md:h-6 md:w-6" width="25" height="25" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"></path></svg><span role="presentation" class="dropdown-menu-toggle"></span></a><ul id="customer-menu" class="sub-menu customer-menu"><li class="second-level logout-item"><a href="/shop/customer/account/index/">Anmelden</a></li><li class="second-level"><a href="/shop/customer/account/index/">Mein Konto</a></li><li class="second-level logout-item"><a href="/shop/company/account/create/">Ein Konto erstellen</a></li><li class="second-level login-item"><a href="/shop/customer/account/logout/">Abmelden</a></li></ul></li><li class="icon-item favo-icon"><a id="favo-link" href="/shop/wishlist/index/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-7 h-7" width="28" height="28"> <path fill-rule="evenodd" d="M3.172 5.172a4 4 0 015.656 0L10 6.343l1.172-1.171a4 4 0 115.656 5.656L10 17.657l-6.828-6.829a4 4 0 010-5.656z" clip-rule="evenodd"></path></svg></a></li><li style="position:relative;" class="icon-item compare-icon"><a id="compare-link" class="relative inline-block no-underline hover:text-black invisible" :class="{ 'invisible': !(itemCount > 0) }" href="https://pik.de/shop/catalog/product_compare/index/" title="Produkte vergleichen" x-data="initCompareHeader()" @private-content-loaded.window="receiveCompareData($event.detail.data)"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" class="w-8 h-8 md:h-6 md:w-6 hover:text-black" width="25" height="25"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 6l3 1m0 0l-3 9a5.002 5.002 0 006.001 0M6 7l3 9M6 7l6-2m6 2l3-1m-3 1l-3 9a5.002 5.002 0 006.001 0M18 7l3 9m-3-9l-6-2m0-2v2m0 16V5m0 16H9m3 0h3"></path></svg> <span class="sr-only label"> Produkte vergleichen </span> <span class="-absolute top-0 right-0 h-5 px-2 py-1 -mt-5 -mr-4 text-xs font-semibold leading-none text-center text-white uppercase transform -translate-x-1 translate-y-1/2 bg-yellow-500 rounded-full invisible" :class="{'invisible': !(itemCount > 0) }"> <span x-text="itemCount">0</span> <span x-show="itemCount === 1" class="sr-only" style="display: none;"> Artikel </span> <span x-show="itemCount > 1" class="sr-only" style="display: none;"> Artikel </span> </span> </a></li><li id="pik-cart-icon" class="icon-item" style="position:relative;"><a id="menu-cart-icon" @click.prevent.stop="$dispatch('toggle-cart',{});" class="relative inline-block no-underline hover:text-black" href="/shop/checkout/cart/index/"> <span class="sr-only label"> Warenkorb </span> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" class="w-8 h-8 md:h-6 md:w-6 hover:text-black" width="25" height="25"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"></path></svg> <span x-text="cart.summary_count" class="--absolute font-semibold leading-none text-center uppercase rounded-full bg-primrry hidden" :class="{ 'hidden': !cart.summary_count, 'block': cart.summary_count }">0</span></a></li></ul></div></div></nav></div></header><div id="content-x" style="margin-top: 0px;"></div><style>.gb-grid-wrapper > .gb-grid-column-7670c005{width:66.66%;}.gb-grid-wrapper > .gb-grid-column-c0fbfe52{width:33.33%;}.gb-container-927f0534{background-color:#e2732a;color:var(--base-3);}.gb-grid-wrapper-88cd4951{display:flex;flex-wrap:wrap;}.gb-grid-wrapper-88cd4951 > .gb-grid-column{box-sizing:border-box;}.gb-grid-wrapper-fd719b14{display:flex;flex-wrap:wrap;}.gb-grid-wrapper-fd719b14 > .gb-grid-column{box-sizing:border-box;}@media (max-width: 767px) {.gb-grid-wrapper > .gb-grid-column-b19daf2c{width:100%;}.gb-grid-wrapper > .gb-grid-column-7670c005{width:100%;}.gb-grid-wrapper > .gb-grid-column-c0fbfe52{width:100%;}}:root{--gb-container-width:1280px;}.gb-container .wp-block-image img{vertical-align:middle;}.gb-grid-wrapper .wp-block-image{margin-bottom:0;}.gb-highlight{background:none;}.gb-shape{line-height:0;}.gb-container-link{position:absolute;top:0;right:0;bottom:0;left:0;z-index:99;} /*# sourceURL=generateblocks-inline-css */ </style> 4708 4709</div><div data-content-type="html" data-appearance="default" id="" data-element="main" data-decoded="true"><!--headroom js-->
vendor: 5,630 bytes, lines 4710-4754
4710<script> 4711/*! 4712 * headroom.js v0.12.0 - Give your page some headroom. Hide your header until you need it 4713 * Copyright (c) 2020 Nick Williams - http://wicky.nillia.ms/headroom.js 4714 * License: MIT 4715 */ 4716 4717!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t=t||self).Headroom=n()}(this,function(){"use strict";function t(){return"undefined"!=typeof window}function d(t){return function(t){return t&&t.document&&function(t){return 9===t.nodeType}(t.document)}(t)?function(t){var n=t.document,o=n.body,s=n.documentElement;return{scrollHeight:function(){return Math.max(o.scrollHeight,s.scrollHeight,o.offsetHeight,s.offsetHeight,o.clientHeight,s.clientHeight)},height:function(){return t.innerHeight||s.clientHeight||o.clientHeight},scrollY:function(){return void 0!==t.pageYOffset?t.pageYOffset:(s||o.parentNode||o).scrollTop}}}(t):function(t){return{scrollHeight:function(){return Math.max(t.scrollHeight,t.offsetHeight,t.clientHeight)},height:function(){return Math.max(t.offsetHeight,t.clientHeight)},scrollY:function(){return t.scrollTop}}}(t)}function n(t,s,e){var n,o=function(){var n=!1;try{var t={get passive(){n=!0}};window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(t){n=!1}return n}(),i=!1,r=d(t),l=r.scrollY(),a={};function c(){var t=Math.round(r.scrollY()),n=r.height(),o=r.scrollHeight();a.scrollY=t,a.lastScrollY=l,a.direction=l<t?"down":"up",a.distance=Math.abs(t-l),a.isOutOfBounds=t<0||o<t+n,a.top=t<=s.offset[a.direction],a.bottom=o<=t+n,a.toleranceExceeded=a.distance>s.tolerance[a.direction],e(a),l=t,i=!1}function h(){i||(i=!0,n=requestAnimationFrame(c))}var u=!!o&&{passive:!0,capture:!1};return t.addEventListener("scroll",h,u),c(),{destroy:function(){cancelAnimationFrame(n),t.removeEventListener("scroll",h,u)}}}function o(t){return t===Object(t)?t:{down:t,up:t}}function s(t,n){n=n||{},Object.assign(this,s.options,n),this.classes=Object.assign({},s.options.classes,n.classes),this.elem=t,this.tolerance=o(this.tolerance),this.offset=o(this.offset),this.initialised=!1,this.frozen=!1}return s.prototype={constructor:s,init:function(){return s.cutsTheMustard&&!this.initialised&&(this.addClass("initial"),this.initialised=!0,setTimeout(function(t){t.scrollTracker=n(t.scroller,{offset:t.offset,tolerance:t.tolerance},t.update.bind(t))},100,this)),this},destroy:function(){this.initialised=!1,Object.keys(this.classes).forEach(this.removeClass,this),this.scrollTracker.destroy()},unpin:function(){!this.hasClass("pinned")&&this.hasClass("unpinned")||(this.addClass("unpinned"),this.removeClass("pinned"),this.onUnpin&&this.onUnpin.call(this))},pin:function(){this.hasClass("unpinned")&&(this.addClass("pinned"),this.removeClass("unpinned"),this.onPin&&this.onPin.call(this))},freeze:function(){this.frozen=!0,this.addClass("frozen")},unfreeze:function(){this.frozen=!1,this.removeClass("frozen")},top:function(){this.hasClass("top")||(this.addClass("top"),this.removeClass("notTop"),this.onTop&&this.onTop.call(this))},notTop:function(){this.hasClass("notTop")||(this.addClass("notTop"),this.removeClass("top"),this.onNotTop&&this.onNotTop.call(this))},bottom:function(){this.hasClass("bottom")||(this.addClass("bottom"),this.removeClass("notBottom"),this.onBottom&&this.onBottom.call(this))},notBottom:function(){this.hasClass("notBottom")||(this.addClass("notBottom"),this.removeClass("bottom"),this.onNotBottom&&this.onNotBottom.call(this))},shouldUnpin:function(t){return"down"===t.direction&&!t.top&&t.toleranceExceeded},shouldPin:function(t){return"up"===t.direction&&t.toleranceExceeded||t.top},addClass:function(t){this.elem.classList.add.apply(this.elem.classList,this.classes[t].split(" "))},removeClass:function(t){this.elem.classList.remove.apply(this.elem.classList,this.classes[t].split(" "))},hasClass:function(t){return this.classes[t].split(" ").every(function(t){return this.classList.contains(t)},this.elem)},update:function(t){t.isOutOfBounds||!0!==this.frozen&&(t.top?this.top():this.notTop(),t.bottom?this.bottom():this.notBottom(),this.shouldUnpin(t)?this.unpin():this.shouldPin(t)&&this.pin())}},s.options={tolerance:{up:0,down:0},offset:0,scroller:t()?window:null,classes:{frozen:"headroom--frozen",pinned:"headroom--pinned",unpinned:"headroom--unpinned",top:"headroom--top",notTop:"headroom--not-top",bottom:"headroom--bottom",notBottom:"headroom--not-bottom",initial:"headroom"}},s.cutsTheMustard=!!(t()&&function(){}.bind&&"classList"in document.documentElement&&Object.assign&&Object.keys&&requestAnimationFrame),s}); 4718 4719 4720 4721 4722//var myElement = document.querySelector("#site-navigation"); 4723var myElement = document.querySelector(".site-header"); 4724// construct an instance of Headroom, passing the element 4725var headroom = new Headroom(myElement, { 4726 tolerance: { 4727 down : 30, 4728 up : 30 4729 }, 4730 onPin : function() { 4731 // alert('onpin'); 4732 }, 4733 // callback when unpinned, `this` is headroom object 4734 onUnpin : function() { 4735 // alert('onunpin'); 4736 }, 4737 // callback when above offset, `this` is headroom object 4738 onTop : function() { 4739 document.getElementById("content-x").style.marginTop = "0px"; 4740 document.getElementById("masthead").position = "relative"; 4741 }, 4742 // callback when below offset, `this` is headroom object 4743 onNotTop : function() { 4744 document.getElementById("content-x").style.marginTop = "105px"; 4745 document.getElementById("masthead").position = "fixed"; 4746 }, 4747 // callback when at bottom of page, `this` is headroo 4748 4749 4750 4751 4752 4753 offset : 45 4754 });
4755 headroom.init(); 4756 4757</script>
4757</div><div data-content-type="html" data-appearance="default" id="" data-element="main" data-decoded="true"><!-- to top --> 4758<a id="to-top" data-text="Top" class="smooth----scroll" href="#menu-top-menu" style="transform: translateY(0px);"><span class="fa fa-long-arrow-up main-color"> 4759<!-- Generated by IcoMoon.io --> 4760<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="12" height="28" viewBox="0 0 12 28"> 4761<title>long-arrow-up</title> 4762<path d="M11.953 7.703c-0.078 0.172-0.25 0.297-0.453 0.297h-3.5v19.5c0 0.281-0.219 0.5-0.5 0.5h-3c-0.281 0-0.5-0.219-0.5-0.5v-19.5h-3.5c-0.203 0-0.375-0.109-0.453-0.297s-0.047-0.391 0.078-0.547l5.469-6c0.094-0.094 0.219-0.156 0.359-0.156v0c0.141 0 0.281 0.063 0.375 0.156l5.547 6c0.125 0.156 0.156 0.359 0.078 0.547z"></path> 4763</svg> 4764</span></a> 4765 4766<style> 4767.page-scrolled #to-contact { 4768 transform: translateY(-220px) !important; 4769 WebkitTransform: translateY(-220px) !important; 4770} 4771 4772.page-scrolled #to-top { 4773 transform: translateY(-120px) !important; 4774 WebkitTransform: translateY(-120px) !important; 4775} 4776</style> 4777 4778<!--
4779<script defer>function tocontact() { 4780 var winScroll_contact = jQuery(window).scrollTop(); 4781 4782 if (winScroll_contact > 200) { 4783 4784 jQuery("#to--contact").css({transform: "translateY(-220px)",WebkitTransform: "translateY(-220px)"}); 4785 jQuery('#to--top').css({transform: 'translateY(-120px)',WebkitTransform: 'translateY(-120x)'}); 4786 } else { 4787 jQuery("#to--contact").css({transform: "translateY(70px)",WebkitTransform: "translateY(70px)"}); 4788 jQuery('#to--top').css({transform: 'translateY(0px)',WebkitTransform: 'translateY(0px)'}); 4789 } 4790 4791 4792 4793} 4794jQuery('#to-top').on('click',function(e) { 4795 e.preventDefault(); 4796 jQuery('html, body').animate({scrollTop: 0}, 300); 4797}); 4798 4799jQuery(window).on("load", tocontact); 4800jQuery(window).on("scroll", tocontact); 4801</script>
4801 4802
4803<script> 4804 jQuery(document).ready(function () { 4805 jQuery(".column---link-box").click(function(){ 4806 window.location = jQuery(this).find("a").attr("href"); 4807 return false; 4808 }); 4809 }); 4810</script>
4810--> </div><div data-content-type="html" data-appearance="default" id="" data-element="main" data-decoded="true">
4810<script> 4811const element = document.querySelector('body'); 4812const classToAdd = 'page-scrolled'; 4813 4814window.addEventListener('scroll', function() { 4815 const verticalScrollPosition = window.pageYOffset; 4816 4817 4818 if (verticalScrollPosition > 200) { 4819 element.classList.add(classToAdd); 4820 } else { 4821 element.classList.remove(classToAdd); 4822 } 4823}); 4824</script>
4824</div><div data-content-type="html" data-appearance="default" id="" data-element="main" data-decoded="true"><!-- mmenu js -->
vendor: 1,068 bytes, lines 4825-4826
4825<script> 4826!function(t){var e={};function n(o){if(e[o])return e[o].exports;var s=e[o]={i:o,l:!1,exports:{}};return t[o].call(s.exports,s,s.exports,n),s.l=!0,s.exports}n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var s in t)n.d(o,s,function(e){return t[e]}.bind(null,s));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=0)}([function(t,e,n){"use strict";n.r(e);var o=function(){function t(t){var e=this;this.listener=function(t){(t.matches?e.matchFns:e.unmatchFns).forEac
4826h(function(t){t()})},this.toggler=window.matchMedia(t),this.toggler.addListener(this.listener),this.matchFns=[],this.unmatchFns=[]}return t.prototype.destroy=function(){this.toggler.removeListener(this.listener),this.unmatchFns.forEach(function(t){t()}),this.matchFns=[],this.unmatchFns=[]},t.prototype.add=function(t,e){this.matchFns.push(t),this.unmatchFns.push(e),(this.toggler.matches?t:e)()},t}(),s={title:"PIK GmbH",theme:"light",slidingSubmenus:!0,selected:"Selected"},i={blockPage:!0,move:!0,position:"left"},r="ontouchstart"in window||!!navigator.msMaxTouchPoints||!1,a=navigator.userAgent.indexOf("MSIE")>-1||navigator.appVersion.indexOf("Trident/")>-1,m=function(t){return Array.prototype.slice.call(t)},c=function(t,e){return m((e||document).querySelectorAll(t))},u=function(){function t(e,n){var o=this;void 0===n&&(n={}),this.options={},Object.keys(t.options).forEach(function(e){o.options[e]=void 0!==n[e]?n[e]:t.options[e]}),a&&(this.options.slidingSubmenus=!1),this.menu=e,"dark"==this.options.theme&&this.menu.classList.add("mm--dark"),this.options.slidingSubmenus||this.menu.classList.add("mm--vertical"),this._openPanel(),this._initAnchors()}return t.prototype.enable=function(t){var e=this;return void 0===t&&(t="all"),this.toggler=new o(t),this.toggler.add(function(){return e.menu.classList.add("mm")},function(){return e.menu.classList.remove("mm")}),this.toggler},t.prototype.disable=function(){this.toggler.destroy()},t.prototype._openPanel=function(){var t=c("."+this.options.selected,this.menu),e=t[t.length-1],n=null;e&&(n=e.closest("ul")),n||(n=this.menu.querySelector("ul")),this.openPanel(n)},t.prototype.openPanel=function(t){var e=t.dataset.mmTitle,n=t.parentElement;n===this.menu?this.menu.classList.add("mm--main"):(this.menu.classList.remove("mm--main"),e||m(n.children).forEach(function(t){t.matches("a, span")&&(e=t.textContent)})),e||(e=this.options.title),this.menu.dataset.mmTitle=e,c(".mm--open",this.menu).forEach(function(t){t.classList.remove("mm--open","mm--parent")}),t.classList.add("mm--open"),t.classList.remove("mm--parent");for(var o=t.parentElement.closest("ul");o;)o.classList.add("mm--open","mm--parent"),o=o.parentElement.closest("ul")},t.prototype.togglePanel=function(t){if(this.options.slidingSubmenus)this.openPanel(t);else{var e="add";t.matches(".mm--open")&&(e="remove"),t.classList[e]("mm--open"),t.parentElement.classList[e]("mm--open")}},t.prototype._initAnchors=function(){var t=this;this.menu.addEventListener("click",function(e){if(t.menu.matches(".mm")){var n=!1;n=(n=(n=n||function(t){return!!t.target.matches("a")&&(t.stopImmediatePropagation(),!0)}(e))||function(e){var n,o=e.target;return!!(n=o.closest("span")?o.parentElement:!!o.closest("li")&&o)&&(m(n.children).forEach(function(e){e.matches("ul")&&t.togglePanel(e)}),e.stopImmediatePropagation(),!0)}(e))||function(e){var n=e.target;if(n.matches(".mm")){var o=c(".mm--open",n),s=o[o.length-1];if(s){var i=s.parentElement.closest("ul");i&&t.openPanel(i)}return e.stopImmediatePropagation(),!0}return!1}(e)}})},t.version="2.3.1",t.options=s,t.optionsOffcanvas=i,t}();u.prototype.open=function(){this.menu.matches(".mm")&&(this.menu.classList.add("mm--open"),document.body.classList.add("mm-body--open"),this.blocker&&this.blocker.classList.add("mm--open"),this.menu.dispatchEvent(new Event("mm:open")))},u.prototype.close=function(){this.menu.classList.remove("mm--open"),document.body.classList.remove("mm-body--open"),this.blocker&&this.blocker.classList.remove("mm--open"),this.menu.dispatchEvent(new Event("mm:close"))}; 4827/*! 4828 * mmenujs.com/mmenu-light 4829 * 4830 * Copyright (c) Fred Heusschen 4831 * www.frebsite.nl 4832 * 4833 * License: CC-BY-4.0 4834 * http://creativecommons.org/licenses/by/4.0/ 4835 */ 4836u.prototype.offcanvas=function(t){var e=this;void 0===t&&(t={});var n,o={};Object.keys(u.optionsOffcanvas).forEach(function(e){o[e]=void 0!==t[e]?t[e]:u.optionsOffcanvas[e]}),this.menu.classList.add("mm--offcanvas"),this.toggler.add(function(){},function(){e.close()}),"right"==o.position&&this.menu.classList.add("mm--right"),o.move&&this.toggler.add(function(){n=document.createComment("original menu location"),e.menu.after(n),document.body.prepend(e.menu)},function(){n&&n.replaceWith(e.menu)});o.blockPage&&(this.blocker=document.createElement("div"),this.blocker.classList.add("mm-blocker"),"right"==o.position&&this.blocker.classList.add("mm--right"),document.body.append(this.blocker),"modal"!=o.blockPage&&function(){var t=this;this.blocker.addEventListener(r?"touchstart":"mousedown",function(e){return!!t.menu.matches(".mm")&&!!t.menu.matches(".mm--open")&&(t.close(),e.preventDefault(),e.stopImmediatePropagation(),!0)})}.call(this),this.toggler.add(function(){e.blocker.classList.remove("mm-hidden")},function(){e.blocker.classList.add("mm-hidden")}))};e.default=u;window.MmenuLight=u}]); 4837 4838// document.addEventListener('DOMContentLoaded', () => { 4839const menu = new MmenuLight( document.getElementById( "primary-menu" ) ); 4840 menu.enable("(max-width: 1280px)"); 4841 menu.offcanvas(); 4842 4843 document.querySelector( '#burger-cont' ) 4844 .addEventListener( 'click', ( evnt ) => { 4845 menu.open(); 4846 evnt.preventDefault(); 4847 evnt.stopPropagation(); 4848}); 4849 4850// }); 4851</script>
4851 4852<style> 4853#menu-pik-menu > li#menu-item-18145 > #menu-shop-kategorien > li > a.active 4854 { 4855 color: #fff; 4856 background: #0f1e5a; 4857 } 4858</style>
4859<script> 4860 //console.log(window.location.pathname); 4861 var menuItems = document.querySelectorAll('.main-navigation a, #menu-pik-menu a, #menu-pik-icons a'); 4862 var len = menuItems.length; 4863 var current_location = location.href; 4864 4865 var firstPath = window.location.pathname.split('/')[2]; 4866 4867 menuItems.forEach((element,index) => { 4868 4869 var parent = element.href.split('/')[4]; 4870 4871 if ((current_location === element.href) ) { 4872 element.className = "active _" + index; 4873 } 4874 4875 4876 if (firstPath === parent) { 4877var first_iteration = true; 4878 if (first_iteration) { 4879 element.className = "active _parent" + index; 4880 first_iteration = false; 4881 } 4882 4883 } 4884 4885 4886 4887 4888 4889 }); 4890 4891</script>
4891</div> <!--Search--> 4892 <div class="absolute z-10 w-full border-t shadow-sm bg-container-lighter border-container-lighter" 4893 id="search-content" 4894 x-cloak 4895 x-show="searchOpen" 4896 @click.outside="searchClose" 4897 @keydown.escape="searchEscape"> 4898
4899<script> 4900 function initMiniSearchComponent() { 4901 "use strict"; 4902 4903 return { 4904 show:false, 4905 formSelector: "#search_mini_form", 4906 url: "https\u003A\u002F\u002Fpik.de\u002Fshop\u002Fsearch\u002Fajax\u002Fsuggest\u002F", 4907 destinationSelector: "#search_autocomplete", 4908 templates: {"term":{"title":"Suchbegriffe","template":"Hyva_SmileElasticsuite::core\/autocomplete\/term.phtml"},"product":{"title":"Artikel","template":"Hyva_SmileElasticsuite::catalog\/autocomplete\/product.phtml"},"category":{"title":"Kategorien","template":"Hyva_SmileElasticsuite::catalog\/autocomplete\/category.phtml"},"product_attribute":{"title":"Attribute","template":"Hyva_SmileElasticsuite::catalog\/autocomplete\/product_attribute.phtml","titleRenderer":"renderEsAutocompleteTitleAttribute"},"cms_page":{"title":"Cms page","template":"Hyva_SmileElasticsuite::cms-search\/autocomplete\/cms.phtml"}}, 4909 priceFormat: {"pattern":"%s\u00a0\u20ac","precision":2,"requiredPrecision":2,"decimalSymbol":",","groupSymbol":".","groupLength":3,"integerRequired":false}, 4910 minSearchLength: 2, 4911 searchResultsByType: {}, 4912 currentRequest: null, 4913 4914 /** 4915 * Get search results. 4916 */ 4917 getSearchResults: function () { 4918 let value = document.querySelector('#search').value.trim(); 4919 4920 if (value.length < parseInt(this.minSearchLength, 10)) { 4921 this.searchResultsByType = []; 4922 4923 return false; 4924 } 4925 4926 let url = this.url + '?' + new URLSearchParams({ 4927 q: document.querySelector('#search').value, 4928 _: Date.now() 4929 }).toString(); 4930 4931 if (this.currentRequest !== null) { 4932 this.currentRequest.abort(); 4933 } 4934 this.currentRequest = new AbortController(); 4935 4936 fetch(url, { 4937 method: 'GET', 4938 signal: this.currentRequest.signal, 4939 }).then((response) => { 4940 if (response.ok) { 4941 return response.json(); 4942 } 4943 }).then((data) => { 4944 this.show = data.length > 0; 4945 4946 this.searchResultsByType = data.reduce((acc, result) => { 4947 if (! acc[result.type]) acc[result.type] = []; 4948 acc[result.type].push(result); 4949 return acc; 4950 }, {}); 4951 }).catch((error) => { 4952 ; 4953 }); 4954 }, 4955 } 4956 } 4957</script>
4957 4958<div id="elasticsuite-search-container" x-show="true"> 4959 <div class="container py-2! text-black" x-data="initMiniSearchComponent()" @click.away="show = false"> 4960 <form class="form minisearch" id="search_mini_form" action="https://pik.de/shop/catalogsearch/result/" method="get" role="search"> 4961 <div class="relative"> 4962 <label class="sr-only" for="search"> 4963 Gesamten Shop hier durchsuchen... </label> 4964 <input id="search" 4965 x-on:input.debounce="getSearchResults()" 4966 x-ref="searchInput" 4967 type="search" 4968 class="w-full p-2 text-lg leading-normal transition appearance-none text-grey-800 4969 focus:outline-none focus:border-transparent lg:text-xl" 4970 autocapitalize="off" autocomplete="off" autocorrect="off" 4971 name="q" 4972 value="" 4973 placeholder="Gesamten Shop hier durchsuchen..." 4974 maxlength="128" 4975 @search-open.window.debounce.10=" 4976 $el.focus(); 4977 $el.select(); 4978 " 4979 /> 4980 </div> 4981 <div id="search_autocomplete" class="search-autocomplete relative w-full" x-show="show" style="display:none;"> 4982 <div class="absolute bg-white border border-solid border-black z-50 w-full grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4"> 4983 <template x-for="searchResultByType in Object.values(searchResultsByType)"> 4984 <div class=""> 4985 <template x-if="searchResultByType.hasOwnProperty(0) && templates[searchResultByType[0].type].title && templates[searchResultByType[0].type].titleRenderer === undefined"> 4986 <div class="font-bold pt-2 pl-2 text-center" x-text="templates[searchResultByType[0].type].title"></div> 4987 </template> 4988 <template x-if="searchResultByType.hasOwnProperty(0) && templates[searchResultByType[0].type].titleRenderer !== undefined"> 4989 <div class="font-bold pt-2 pl-2 text-center" x-text="window[templates[searchResultByType[0].type].titleRenderer](searchResultByType)"></div> 4990 </template> 4991 4992 <template x-for="searchResult in searchResultByType"> 4993 <div class="hover:bg-gray-100"> 4994 4995<template x-if="searchResult.type == 'term'"> 4996 <div class="term-search"> 4997 <a class="w-full block p-2 search-term" 4998 x-bind:href="'https://pik.de/shop/catalogsearch/result/?q=' + searchResult.title" 4999 :title="searchResult.title"> 5000 <span class="text-sm" x-text="searchResult.title"></span> 5001 <span class="text-sm" x-text="'(' + searchResult.num_results + ')'"></span> 5002 </a> 5003 </div> 5004</template> 5005 5006<template x-if="searchResult.type == 'product'"> 5007 <a class="w-full block search-item" :href="searchResult.url" :title="searchResult.title"> 5008 <div class="grid grid-cols-4 gap-4 p-3"> 5009 <div> 5010 <img :src="searchResult.image" class="inline-block" /> 5011 </div> 5012 <div class="col-span-3"> 5013 <span class="ses-title text-sm" x-text="searchResult.title"></span> 5014 <span class="no-price text-sm font-bold" x-html="searchResult.price"></span> 5015 </div> 5016 </div> 5017 </a> 5018</template> 5019 5020<template x-if="searchResult.type == 'category'"> 5021 <a class="w-full block p-2" :href="searchResult.url" :title="searchResult.title"> 5022 <span class="text-sm italic block text-gray-500" x-text="searchResult.breadcrumb.join(' > ').concat(' > ')"></span>
5023 <span class="text-sm" x-text="searchResult.title"></span> 5024 </a> 5025</template> 5026 5027<template x-if="searchResult.type == 'product_attribute'"> 5028 <a class="w-full block p-2" :href="searchResult.url" :title="searchResult.title"> 5029 <span class="text-sm" x-text="searchResult.title"></span> 5030 <span class="text-xs uppercase text-gray-500" x-text="searchResult.attribute_label" style="vertical-align: super;"></span> 5031 </a> 5032</template> 5033
5034<script> 5035 function renderEsAutocompleteTitleAttribute(data) 5036 { 5037 data = data.filter(function(item) { 5038 return item.type === 'product_attribute'; 5039 }).map(function(item) { 5040 return item['attribute_label'] 5041 }).reduce(function(prev, item) { 5042 if (item in prev) { 5043 prev[item]++; 5044 } else { 5045 prev[item] = 1; 5046 } 5047 return prev; 5048 }, {}); 5049 5050 data = Object.entries(data).sort(function(item1, item2) { 5051 return item2[1] - item1[1] 5052 }).map(function(item) {return item[0]}); 5053 5054 if (data.length > 2) { 5055 data = data.slice(0, 2); 5056 data.push('...'); 5057 } 5058 5059 return data.join(', '); 5060 } 5061</script>
5061 5062 5063<template x-if="searchResult.type == 'cms_page'"> 5064 <a class="w-full block p-2" :href="searchResult.url" :title="searchResult.title"> 5065 <span class="text-sm" x-text="searchResult.title"></span> 5066 </a> 5067</template> 5068 </div> 5069 </template> 5070 </div> 5071 </template> 5072 </div> 5073 </div> 5074 </form> 5075 </div> 5076</div> 5077 </div> 5078 5079 <!--icons top wrapper content from cmsBlock --> 5080 <div data-content-type="html" data-appearance="default" id="" data-element="main" data-decoded="true"><style> 5081 .icons-top-wrapper { 5082 margin: 0 15px auto; 5083 } 5084 5085 5086 </style> 5087<div class="container"><div class="icons-top-wrapper"> 5088<p style="text-align:center;color:#0f1e5a">** Unser Angebot gilt ausschlieÃlich für gewerbliche Endkunden und öffentliche Auftraggeber. **</p> 5089</div></div></div>
5090 <!--Cart Drawer--> 5091
5092<script> 5093 function initCartDrawer() { 5094 return { 5095 open: false, 5096 isLoading: false, 5097 cart: {}, 5098 maxItemsToDisplay: 10, 5099 itemsCount: 0, 5100 showSku: false, 5101 autocompleteNumber: 100, 5102 init() { 5103 if (document.prerendering) { 5104 document.addEventListener("prerenderingchange", () => { 5105 window.dispatchEvent( 5106 new CustomEvent('reload-customer-section-data') 5107 ); 5108 }, { once: true }); 5109 } 5110 }, 5111 showDetails() { 5112 return this.item.options && this.item.options.length || this.showSku; 5113 }, 5114 cartIsEmpty() { 5115 return this.itemsCount === 0 5116 }, 5117 getData() { 5118 const data = this.$event.detail.data; 5119 5120 if (data.cart) { 5121 this.cart = data.cart; 5122 this.itemsCount = data.cart.items && data.cart.items.length || 0; 5123 this.setCartItems(); 5124 } 5125 this.isLoading = false; 5126 }, 5127 cartItems: [], 5128 getItemCountTitle() { 5129 return hyva.strf('\u00250\u0020von\u0020\u00251\u0020Produkten\u0020im\u0020Warenkorb\u0020angezeigt', this.maxItemsToDisplay, this.itemsCount) 5130 }, 5131 shouldShowItemCount() { 5132 return this.maxItemsToDisplay && this.maxItemsToDisplay < this.itemsCount; 5133 }, 5134 setCartItems() { 5135 this.cartItems = this.cart.items && this.cart.items.sort((a, b) => b.item_id - a.item_id) || []; 5136 5137 if (this.maxItemsToDisplay > 0) { 5138 this.cartItems = this.cartItems.slice(0, parseInt(this.maxItemsToDisplay, 10)); 5139 } 5140 }, 5141 updateItemQty(event) { 5142 const form = event.target; 5143 this.isLoading = true; 5144 hyvaAjaxFormMinicart({ form, redirect: false }, () => { 5145 this.isLoading = false; 5146 }); 5147 }, 5148 deleteItemFromCart() { 5149 const itemId = this.item.item_id; 5150 const formKey = hyva.getFormKey(); 5151 this.isLoading = true; 5152 5153 hyvaAjaxFormMinicart({ 5154 url: BASE_URL + 'checkout/sidebar/removeItem/', 5155 body: 'form_key=' + formKey + '&item_id=' + itemId, 5156 message: 'Sie\u0020haben\u0020den\u0020Artikel\u0020entfernt.' 5157 }, () => { 5158 this.isLoading = false 5159 }); 5160 }, 5161 toggleCartDrawer(event) { 5162 this.open = event.detail?.isOpen ?? !this.open; 5163 }, 5164 openCartDrawer() { 5165 this.open = true; 5166 }, 5167 closeCartDrawer() { 5168 this.open = false; 5169 }, 5170 getSectionDataExtraActions() { 5171 if (!this.cart.extra_actions) { 5172 return ''; 5173 } 5174 5175 const contentNode = document.createElement('div'); 5176 contentNode.innerHTML = this.cart.extra_actions; 5177 5178 hyva.activateScripts(contentNode); 5179 5180 return contentNode.innerHTML; 5181 }, 5182 productIsVisibleInSite() { 5183 return this.item.product_has_url && this.item.is_visible_in_site_visibility 5184 }, 5185 productIsNotVisibleInSite() { 5186 return !this.productIsVisibleInSite() 5187 }, 5188 productIsNotGroupedAndVisibleInSite() { 5189 return this.item.product_type !== 'grouped' && this.item.is_visible_in_site_visibility 5190 }, 5191 productAriaLabel() { 5192 return hyva.strf(this.$el.dataset.ariaLabel, this.item.product_name) 5193 }, 5194 proceedToCheckout() { 5195 this.closeCartDrawer() 5196 5197 this.$dispatch( 5198 'toggle-authentication', 5199 { 5200 url: 'https://pik.de/shop/checkout/' 5201 } 5202 ) 5203 }, 5204 setItemMessage(itemId, message) { 5205 const items = this.cartItems;
5206 items.forEach((item) => { 5207 if (item.item_id === itemId) { 5208 item.message = message; 5209 } 5210 }); 5211 }, 5212 cartListeners: { 5213 ['@private-content-loaded.window'](event) { 5214 this.getData(event.detail.data); 5215 }, 5216 ['@toggle-cart.window'](event) { 5217 this.toggleCartDrawer(event); 5218 }, 5219 ['@minicart-error-message.window'](event) { 5220 if (!event.detail) return; 5221 const { itemId, message } = event.detail; 5222 this.setItemMessage(itemId, message); 5223 }, 5224 ["@pageshow.window"](event) { 5225 if (event.persisted) { 5226 this.open = false; 5227 window.dispatchEvent(new CustomEvent("reload-customer-section-data")); 5228 } 5229 } 5230 } 5231 } 5232 } 5233 5234 window.addEventListener('alpine:init', () => { 5235 Alpine.data('initCartDrawer', initCartDrawer); 5236 }, { once: true }) 5237 5238 async function hyvaAjaxFormMinicart( 5239 { 5240 form = null, 5241 url = '', 5242 body = '', 5243 redirect = 'default', 5244 message = '', 5245 } = {}, 5246 callback = () => {} 5247 ) { 5248 const formData = body ? body : (form ? new FormData(form) : ''); 5249 const postUrl = url ? url : (form ? form.action : ''); 5250 if (!formData || !postUrl) { 5251 console.warn('You must provide the form or formData and postUrl!'); 5252 return; 5253 } 5254 5255 const formUenc = hyva.getUenc(); 5256 const itemId = body ? new URLSearchParams(body).get('item_id') : formData.get('item_id'); 5257 let bodyUrl = new URLSearchParams(formData); 5258 bodyUrl.append('uenc', formUenc); 5259 5260 try { 5261 const response = await fetch(postUrl, { 5262 method: 'POST', 5263 body: bodyUrl.toString(), 5264 mode: 'cors', 5265 credentials: 'include', 5266 headers: { 5267 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8', 5268 'X-Requested-With': 'XMLHttpRequest' 5269 } 5270 }); 5271 5272 if (!response.ok) { 5273 return form.submit(); 5274 } 5275 5276 if (redirect === 'default' && response.redirected) { 5277 return window.location.href = response.url; 5278 } else if (redirect !== 'default' && redirect !== false) { 5279 return window.location.href = redirect; 5280 } 5281 5282 const responseBody = await response.json(); 5283 5284 if (!responseBody.success) { 5285 throw responseBody.error_message; 5286 } 5287 5288 window.dispatchEvent(new CustomEvent('reload-customer-section-data')); 5289 } catch (error) { 5290 window.dispatchEvent(new CustomEvent('minicart-error-message', { detail: { itemId, message: error } })); 5291 } finally { 5292 callback(); 5293 } 5294 } 5295</script>
5295 5296 5297<template x-teleport="body"> 5298 <div 5299 id="cart-drawer" 5300 role="dialog" 5301 aria-labelledby="cart-drawer-title" 5302 class="fixed inset-0 z-[1100]" 5303 x-data="initCartDrawer" 5304 x-bind="cartListeners" 5305 x-show="open" 5306 x-cloak 5307 @click.self="closeCartDrawer" 5308 @keydown.escape.window="open && closeCartDrawer()" 5309 > 5310 <div class="absolute inset-0 bg-black/50" aria-hidden="true" @click="closeCartDrawer"></div> 5311 <div 5312 class="relative ms-auto w-full max-w-[448px] h-full bg-white flex flex-col px-8 py-6 transition ease-out duration-300 motion-reduce:duration-0" 5313 x-show="open" 5314 x-transition:enter="transition ease-in-out duration-500" 5315 x-transition:enter-start="translate-x-full" 5316 x-transition:enter-end="translate-x-0" 5317 x-transition:leave="transition ease-in-out duration-300" 5318 x-transition:leave-start="translate-x-0" 5319 x-transition:leave-end="translate-x-full" 5320 > 5321 5322 <div class="relative mb-6"> 5323 <p id="cart-drawer-title" class="text-[22px] text-gray-700 font-normal leading-none"> 5324 Mein Warenkorb <span 5325 class="items-total text-xs" 5326 x-show="shouldShowItemCount" 5327 x-text="getItemCountTitle" 5328 ></span> 5329 </p> 5330 <button 5331 type="button" 5332 class="absolute top-0 right-0 p-0 text-gray-300 transition duration-150 ease-in-out hover:text-black" 5333 @click="closeCartDrawer" 5334 aria-label="Mini-Warenkorb schließen" 5335 > 5336 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24" aria-hidden="true"><path d="M18 6 6 18M6 6l12 12"/></svg> 5337 </button> 5338 </div> 5339 5340 5341 <template x-if="cartIsEmpty"> 5342 <div class="grow grid place-items-center"> 5343 <div class="text-center"> 5344 <svg xmlns="http://www.w3.org/2000/svg" width="120" height="120" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24" class="inline-block text-fg/30 max-w-full h-auto" aria-hidden="true"><path d="m15 11-1 9M19 11l-4-7M2 11h20M3.5 11l1.6 7.4a2 2 0 0 0 2 1.6h9.8a2 2 0 0 0 2-1.6l1.7-7.4M4.5 15.5h15M5 11l4-7M9 11l1 9"/></svg> 5345 <p class="mt-10 text-xl"> 5346 <strong>Warenkorb ist leer</strong> 5347 </p> 5348 </div> 5349 </div> 5350 </template> 5351 5352 <template x-if="itemsCount"> 5353 <ul class="grow flex flex-col overflow-y-auto overscroll-y-contain mask-overflow mask-dir-y min-h-0"> 5354 <template x-for="item in cartItems"> 5355 <li class="flex gap-4 md:gap-6 items-start py-4 px-1"> 5356 <template x-if="productIsVisibleInSite"> 5357 <a 5358 class="block shrink-0 max-w-[25%]" 5359 :href="item.product_url" 5360 data-aria-label="Produkt "%0"" 5361 :title="item.product_name" 5362 > 5363 <img 5364 :src="item.product_image.src" 5365 :width="item.product_image.width" 5366 :height="item.product_image.height" 5367 loading="lazy" 5368 :alt="item.product_name" 5369 > 5370 </a> 5371 </template> 5372 <template x-if="productIsNotVisibleInSite"> 5373 <div class="block shrink-0 max-w-[25%]"> 5374 <img 5375 :src="item.product_image.src" 5376 :width="item.product_image.width" 5377 :height="item.product_image.height" 5378 loading="lazy" 5379 :alt="item.product_name" 5380 /> 5381 </div> 5382 </template> 5383 <div class="grow space-y-4"> 5384 <p>
5385 <span x-html="item.qty"></span> x <span x-html="item.product_name"></span> 5386 </p> 5387 <p x-show="item.product_sku" x-html="item.product_sku"></p> 5388 <span class="price-box" x-html="item.product_price"></span> 5389 <template x-if="showDetails"> 5390 <dl class="text-sm"> 5391 <template x-if="showSku"> 5392 <div class="table-row"> 5393 <dt class="table-cell font-bold min-w-16 pe-2 pb-2"> 5394 Artikelnr. </dt> 5395 <dd class="table-cell font-normal! pb-2" x-html="item.product_sku"></dd> 5396 </div> 5397 </template> 5398 <template x-for="option in item.options"> 5399 <div class="mt-3"> 5400 <dt 5401 class="font-bold min-w-16 pe-2 pb-2" 5402 x-text="option.label" 5403 ></dt> 5404 <dd class="font-normal pb-2 m-0!" x-html="option.value"></dd> 5405 </div> 5406 </template> 5407 </dl> 5408 </template> 5409 <div class="mt-4 flex flex-wrap gap-2 items-center"> 5410 <div class="inline-flex flex-wrap items-center gap-2"> 5411 <a 5412 :href="item.configure_url" 5413 x-show="productIsNotGroupedAndVisibleInSite" 5414 class="btn btn-primary p-2" 5415 data-aria-label="Produkt bearbeiten "%0"" 5416 :aria-label="productAriaLabel" 5417 > 5418 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24" class="fill:white" aria-hidden="true"><path d="M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497zM15 5l4 4"/></svg> 5419 </a> 5420 <button 5421 type="button" 5422 class="btn btn-primary p-2" 5423 @click="deleteItemFromCart" 5424 data-aria-label="Produkt "%0" aus dem Warenkorb entfernen" 5425 :aria-label="productAriaLabel" 5426 > 5427 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24" class="fill:white" aria-hidden="true"><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/></svg> 5428 </button> 5429 </div> 5430 <template x-if="item.message"> 5431 <div class="message error" x-text="item.message"></div> 5432 </template> 5433 </div> 5434 </div> 5435 </li> 5436 </template> 5437 </ul> 5438 </template> 5439 5440 5441 <template x-if="itemsCount"> 5442 <div class="py-6"> 5443 5444 <p class="mt-12"> 5445 Zwischensumme: <span x-html="cart.subtotal"></span> 5446 </p> 5447 5448 <div class="flex flex-wrap items-center gap-3 mt-12"> 5449 <a 5450 @click.prevent.stop="proceedToCheckout" 5451 href="https://pik.de/shop/checkout/" 5452 class="btn btn-primary py-2 px-6 font-normal" 5453 > 5454 Kasse </a>
5455 <span>oder</span> 5456 <a 5457 href="https://pik.de/shop/checkout/cart/" 5458 class="underline! font-normal" 5459 > 5460 Warenkorb anzeigen und bearbeiten </a> 5461 <div x-html="getSectionDataExtraActions"></div> 5462 </div> 5463 </div> 5464 </template> 5465 5466 <template x-if="cartIsEmpty"> 5467 <div class="flex flex-col"> 5468 <button 5469 type="button" 5470 @click="closeCartDrawer" 5471 class="btn btn-primary" 5472 >Einkauf fortsetzen</button> 5473 </div> 5474 </template> 5475 5476 <div 5477 class="z-50 fixed inset-0 flex justify-center items-center bg-white/70 select-none" 5478 x-show="isLoading" 5479 x-cloak 5480 x-transition.opacity.duration.200ms 5481> 5482 <div class="flex items-center"> 5483 <svg xmlns="http://www.w3.org/2000/svg" width="54" height="54" viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" stroke-linecap="round" class="animate-spin" aria-hidden="true"> 5484 <circle style="opacity: .3;" cx="12" cy="12" r="10"/> 5485 <path fill="none" stroke-width="2" d="M12,2 a10,10 0 0,1 10,10"/> 5486</svg> 5487 <div class="ml-10 text-xl"> 5488 Wird geladen ⦠</div> 5489 </div> 5490</div> 5491 </div> 5492 </div> 5493</template> 5494 5495 <!--Authentication Pop-Up--> 5496
5496<script> 5497 function initAuthentication() { 5498 return { 5499 open: false, 5500 close() { 5501 this.open = false; 5502 }, 5503 forceAuthentication: false, 5504 checkoutUrl: 'https://pik.de/shop/checkout/index/', 5505 errors: 0, 5506 hasCaptchaToken: 0, 5507 displayErrorMessage: false, 5508 errorMessages: [], 5509 setErrorMessages(message) { 5510 this.errorMessages = [message]; 5511 this.displayErrorMessage = true; 5512 }, 5513 submitForm() { 5514 // Do not rename $form, the variable is expected to be declared in the recaptcha output 5515 const $form = document.querySelector('#login-form'); 5516 if (!this.hasCaptchaToken) { 5517 this.errors = 1; 5518 5519 5520 const executeGreCaptcha = () => { 5521 grecaptcha.ready(() => { 5522 grecaptcha.execute( 5523 '6LfkTJooAAAAALRIyqeaJ6hs4IoAK0RhQDtXBjKf', 5524 {action: 'submit'} 5525 ).then((token) => { 5526 const tokenElement = $form['g\u002Drecaptcha\u002Dresponse']; 5527 5528 if (tokenElement && token && token.length > 0) { 5529 $form['g\u002Drecaptcha\u002Dresponse'].value = token; 5530 this.errors = 0; 5531 this.hasCaptchaToken = 1; 5532 (this.submitForm || $form.submit).call(this); 5533 } else { 5534 this.errors = 1; 5535 const error = tokenElement 5536 ? 'ReCaptcha\u0020validation\u0020failed,\u0020please\u0020try\u0020again' 5537 : 'ReCaptcha\u0020token\u0020element\u0020is\u0020missing.\u0020Please\u0020refresh\u0020the\u0020page\u0020and\u0020trying\u0020again.'; 5538 if (this.setErrorMessages) { 5539 this.setErrorMessages([error]) 5540 this.displayErrorMessage = true; 5541 } else { 5542 window.dispatchMessages && window.dispatchMessages([{type: "error", text: error}], 5000); 5543 } 5544 } 5545 }).catch(exception => { 5546 console.error(exception || `An unknown error occurred during ReCaptcha validation. Are the tokens and the domain correctly set up in the Google console?`) 5547 }); 5548 }) 5549 } 5550 5551 if (window.grecaptcha) { 5552 executeGreCaptcha(); 5553 } else { 5554 const recaptchaUrl = "https://www.google.com/recaptcha/api.js?render=6LfkTJooAAAAALRIyqeaJ6hs4IoAK0RhQDtXBjKf"; 5555 const script = document.createElement('script'); 5556 script.setAttribute('type', 'text/javascript'); 5557 script.setAttribute('src', recaptchaUrl); 5558 document.head.appendChild(script); 5559 5560 script.addEventListener("load", executeGreCaptcha, false); 5561 } 5562 } 5563 5564 if (this.errors === 0) { 5565 this.dispatchLoginRequest($form); 5566 } 5567 }, 5568 onPrivateContentLoaded() { 5569 const data = this.$event.detail.data; 5570 const isLoggedIn = data.customer && data.customer.firstname; 5571 if (data.cart && !isLoggedIn) { 5572 this.forceAuthentication = !data.cart.isGuestCheckoutAllowed; 5573 } 5574 }, 5575 redirectIfAuthenticated() { 5576 const event = this.$event; 5577 this.open = this.forceAuthentication; 5578 5579 if (event.detail && event.detail.url) { 5580 this.checkoutUrl = event.detail.url; 5581 } 5582 if (!this.forceAuthentication) { 5583 window.location.href = this.checkoutUrl; 5584 } 5585 }, 5586 resetErrors() { 5587 this.errors = 0; 5588 }, 5589 dispatchLoginRequest(form) { 5590 this.isLoading = true; 5591 const username = this.$refs['customer-email'].value; 5592 const password = this.$refs['customer-password'].value; 5593 const formKey = hyva.getFormKey(); 5594 const bodyFields = { 5595 'username': username, 5596 'password': password, 5597 'formKey': formKey 5598 }; 5599 const fieldName = 'g\u002Drecaptcha\u002Dresponse'; 5600 const recaptchaField = fieldName && form[fieldName]; 5601 if (recaptchaField) { 5602 bodyFields[fieldName] = recaptchaField.value; 5603 } 5604 fetch('https://pik.de/shop/customer/ajax/login/', { 5605 method: 'POST', 5606 headers: { 5607 'Content-Type': 'application/json', 5608 'X-Requested-With': 'XMLHttpRequest' 5609 }, 5610 body: JSON.stringify(bodyFields) 5611 } 5612 ).then(response => { 5613 return response.json() 5614 } 5615 ).then(data => { 5616 this.isLoading = false;
5617 if (data.errors) { 5618 this.setErrorMessages(data.message); 5619 this.errors = 1; 5620 this.hasCaptchaToken = 0; 5621 } else { 5622 window.location.href = this.checkoutUrl; 5623 } 5624 }); 5625 }, 5626 eventListeners: { 5627 ['@private-content-loaded.window']() { 5628 this.onPrivateContentLoaded(); 5629 }, 5630 ['@toggle-authentication.window']() { 5631 this.redirectIfAuthenticated(); 5632 }, 5633 ['@pageshow.window'](event) { 5634 if (event.persisted) { 5635 this.close(); 5636 }; 5637 } 5638 } 5639 } 5640 } 5641 5642 window.addEventListener('alpine:init', () => Alpine.data('initAuthentication', initAuthentication), {once: true}) 5643</script>
5643 5644 5645<dialog 5646 id="authentication-popup" 5647 aria-labelledby="authentication-popup-title" 5648 class="open:flex flex-col transition ease-out duration-300 motion-reduce:duration-0 p-0" 5649 x-data="initAuthentication" 5650 x-bind="eventListeners" 5651 x-show="open" 5652 x-htmldialog="close" 5653 closeby="any" 5654 x-transition 5655> 5656 <div class="pt-8 px-8"> 5657 <div class="flex gap-2 justify-between items-center"> 5658 <p id="authentication-popup-title" class="text-xl"> 5659 <strong>Login</strong> 5660 </p> 5661 <button 5662 type="button" 5663 class="btn bg-transparent border-transparent p-2" 5664 @click="close" 5665 aria-label="Paneel schließen" 5666 > 5667 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24" aria-hidden="true"><path d="M18 6 6 18M6 6l12 12"/></svg> 5668 </button> 5669 </div> 5670 5671 <div class="message error" x-show="errors" x-cloak> 5672 <template x-for="(message, index) in errorMessages" :key="index"> 5673 <div> 5674 <template x-if="message"> 5675 <span x-html="message"></span> 5676 </template> 5677 </div> 5678 </template> 5679 </div> 5680 </div> 5681 5682 <div class="block-customer-login p-8"> 5683 <p id="authenticate-customer-login" class="text-lg mb-2"> 5684 <strong>Mit Ihrem Konto bestellen</strong> 5685 </p> 5686 5687 <form 5688 id="login-form" 5689 class="form form-login" 5690 method="post" 5691 @submit.prevent="submitForm" 5692 > 5693 <div class="control"> 5694 <input type="hidden" 5695 value="" 5696 name="g-recaptcha-response" 5697 > 5698</div> 5699 <input name="context" type="hidden" value="checkout"> 5700 5701 <div class="flex flex-col gap-4"> 5702 <div class="field email required"> 5703 <label for="form-login-username"> 5704 <span>E-Mailadresse</span> 5705 </label> 5706 <div class="control"> 5707 <input 5708 id="form-login-username" 5709 name="username" 5710 type="email" 5711 class="form-input w-full" 5712 required 5713 autocomplete="off" 5714 x-ref="customer-email" 5715 @change="resetErrors" 5716 > 5717 </div> 5718 </div> 5719 <div class="field password required"> 5720 <label for="form-login-password"> 5721 <span>Passwort</span> 5722 </label> 5723 <div class="control"> 5724 <input 5725 id="form-login-password" 5726 name="password" 5727 type="password" 5728 class="form-input w-full" 5729 required 5730 autocomplete="off" 5731 x-ref="customer-password" 5732 @change="resetErrors" 5733 > 5734 </div> 5735 </div> 5736 </div> 5737 5738 <div class="actions-toolbar"> 5739 <button 5740 type="submit" 5741 class="btn btn-primary" 5742 > 5743 Anmelden </button> 5744 <a 5745 href="https://pik.de/shop/customer/account/forgotpassword/" 5746 class="underline hover:no-underline" 5747 > 5748 Passwort vergessen? </a> 5749 </div> 5750 </form> 5751 <p class="my-4 text-sm"> 5752 Dieses Formular ist durch reCAPTCHA geschützt - es gelten die <a class="underline" href="https://policies.google.com/privacy" target="_blank" rel="noopener">Google-Datenschutzbestimmungen</a> und <a class="underline" href="https://policies.google.com/terms" target="_blank" rel="noopener">-Geschäftsbedingungen</a>.</p> 5753 </div> 5754 <div class="block-new-customer p-8 border-t border-gray-300">
5755 <p id="authenticate-new-customer" class="text-lg mb-2"> 5756 <strong>Als neuer Kunde bestellen</strong> 5757 </p> 5758 5759 <div class="block-content"> 5760 <p class="mb-1"> 5761 Das Erstellen eines Kontos hat viele Vorteile: </p> 5762 <ul class="list-disc pl-5"> 5763 <li> Bestell- und Versandstatus ansehen</li> 5764 <li> Bestellverlauf verfolgen</li> 5765 <li> Schneller bestellen</li> 5766 </ul> 5767 <div class="actions-toolbar mt-6 mb-2"> 5768 <a href="https://pik.de/shop/customer/account/create/" 5769 class="inline-flex btn btn-primary"> 5770 Ein Konto erstellen </a> 5771 </div> 5772 </div> 5773 </div> 5774</dialog> 5775</div> 5776</header><main id="maincontent" class="page-main"><div id="contentarea" tabindex="-1"></div> 5777<div class="page messages">
5777<script> 5778 function initMessages() { 5779 "use strict"; 5780 return { 5781 messages: window.mageMessages || [], 5782 isEmpty() { 5783 return this.messages.reduce( 5784 function (isEmpty, message) { 5785 return isEmpty && message === undefined 5786 }, true 5787 ) 5788 }, 5789 hasMessages() { 5790 return !this.isEmpty(); 5791 }, 5792 hasMessage() { 5793 return !!this.message; 5794 }, 5795 removeMessage() { 5796 this.messages[this.index] = undefined; 5797 }, 5798 addMessages(messages, hideAfter) { 5799 messages.map((message) => { 5800 if (!message.text || !message.text.trim()) return; 5801 this.messages = this.messages.concat(message); 5802 if (hideAfter === undefined && message.type === 'success' && window.defaultSuccessMessageTimeout) { 5803 hideAfter = window.defaultSuccessMessageTimeout; 5804 } 5805 if (hideAfter) { 5806 this.setHideTimeOut(this.messages.length -1, hideAfter); 5807 } 5808 }); 5809 }, 5810 setHideTimeOut(messageIndex, hideAfter) { 5811 setTimeout((messageIndex) => { 5812 this.messages[messageIndex] = undefined; 5813 }, hideAfter, messageIndex); 5814 }, 5815 eventListeners: { 5816 ['@messages-loaded.window'](event) { 5817 this.addMessages(event.detail.messages, event.detail.hideAfter) 5818 }, 5819 ['@private-content-loaded.window'](event) { 5820 const data = event.detail.data; 5821 if ( 5822 data.messages && 5823 data.messages.messages && 5824 data.messages.messages.length 5825 ) { 5826 this.addMessages(data.messages.messages); 5827 } 5828 }, 5829 ['@clear-messages.window']() { 5830 this.messages = []; 5831 }, 5832 ['@pageshow.window'](event) { 5833 if (event.persisted) { 5834 this.messages = []; 5835 }; 5836 } 5837 }, 5838 getMessageUiId() { 5839 return 'message-' + this.message.type; 5840 } 5841 } 5842 } 5843 5844 window.addEventListener('alpine:init', () => Alpine.data('initMessages', initMessages), {once: true}) 5845</script>
5845 5846<section id="messages" 5847 x-data="initMessages" 5848 x-bind="eventListeners" 5849 role="alert" 5850> 5851 <template x-if="hasMessages"> 5852 <div class="w-full"> 5853 <div class="messages container mx-auto py-3"> 5854 <template x-for="(message, index) in messages" :key="index"> 5855 <div> 5856 <template x-if="hasMessage"> 5857 <div class="message" 5858 :class="message.type" 5859 :ui-id="getMessageUiId" 5860 > 5861 <span x-html="message.text"></span> 5862 <button 5863 type="button" 5864 class="text-gray-600 hover:text-black" 5865 aria-label="Nachricht schlieÃen" 5866 @click.prevent="removeMessage" 5867 > 5868 <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"> 5869 <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/> 5870</svg> 5871 </button> 5872 </div> 5873 </template> 5874 </div> 5875 </template> 5876 </div> 5877 </div> 5878 </template> 5879</section> 5880</div> <div class="container my-6 flex flex-col md:flex-row flex-wrap"> 5881 <h1 class="page-title page-title text-3xl font-bold pb-2 border-b-8 border-gray w-full" 5882 data-ui-id="page-title-wrapper" 5883 > 5884 Neuen Firmenaccount erstellen </h1> 5885 </div> 5886<div class="columns"><div class="column main"><div class="registration-container flex-columns-wrapper flex-wrap"><div class="basis-full"><style>.cmsb234-mb-2 { 5887margin-bottom: 0.5rem 5888} 5889.cmsb234-flex { 5890display: flex 5891} 5892.cmsb234-shrink-0 { 5893flex-shrink: 0 5894} 5895.cmsb234-flex-col { 5896flex-direction: column 5897} 5898.cmsb234-items-center { 5899align-items: center 5900} 5901.cmsb234-justify-end { 5902justify-content: flex-end 5903} 5904.cmsb234-justify-center { 5905justify-content: center 5906} 5907.cmsb234-pt-1 { 5908padding-top: 0.25rem 5909} 5910.cmsb234-pt-2 { 5911padding-top: 0.5rem 5912} 5913.cmsb234-pt-6 { 5914padding-top: 1.5rem 5915} 5916.cmsb234-text-right { 5917text-align: right 5918}</style> 5919<div data-content-type="html" data-appearance="default" id="" data-element="main" data-decoded="true"><link rel="stylesheet" href="https://pik.de/pik-banner.css"> 5920<div class="LBmain"> 5921 <div class="pik-full-row bg-pik"> 5922 <div class="pik-row"> 5923 5924 <div class="grid-40 pos-relative cmsb234-flex cmsb234-flex-col cmsb234-justify-center"> 5925 <span class="pbanner-ovbox-zier pik-zier-kundenkonto"></span> 5926 <div class="sehr-gross digitalsignage">Gemeinsam einkaufen.</div> 5927 <div class="sehr-gross weiss cmsb234-mb-2">Zentral verwalten.</div> 5928 <p class="font-300 m-bottom-0">Ein Konto für Ihr ganzes Team, vom Einkauf 5929 bis zur Buchhaltung.</p> 5930 </div> 5931 5932 <div class="grid-40 cmsb234-flex cmsb234-flex-col cmsb234-justify-center p-top-doppel p-bottom-doppel"> 5933 <div class="editor-html haken zweispaltig cmsb234-shrink-0 cmsb234-pt-6"> 5934 <ul class="liste-haken"> 5935 <li class="medium cmsb234-pt-1 m-bottom-0">Dedizierte Preise</li> 5936 <li class="medium cmsb234-pt-1 m-bottom-0">Angebotsanfragen</li> 5937 <li class="medium cmsb234-pt-1 m-bottom-0">Rollen und Rechte</li> 5938 <li class="medium cmsb234-pt-1 m-bottom-0">Mehrere Adressen</li> 5939 </ul> 5940 </div> 5941 </div> 5942 5943 <div class="grid-20 cmsb234-flex cmsb234-items-center cmsb234-justify-end p-top-doppel p-bottom-doppel"> 5944 <a class="pik-button pik-button-white shadow-image" href="#vorteile">Alle Vorteile</a> 5945 </div> 5946 5947 </div> 5948 </div> 5949 5950 <div class="pik-full-row"> 5951 <div class="pik-row"> 5952 <div class="grid-100 cmsb234-text-right"> 5953 <p class="text-small farbig-text m-top-0 m-bottom-normal cmsb234-pt-2">Keine Firma? 5954 <a class="farbig-text" href="https://pik.de/shop/customer/account/create/">Hier geht es zur Einzel-Anmeldung â</a></p> 5955 </div> 5956 </div> 5957 </div> 5958</div> 5959</div></div><div class="mb-8 basis-full"> 5960 <form class="form create account form-create-account" 5961 action="https://pik.de/shop/company/account/createPost/" 5962 x-data="Object.assign(hyva.formValidation($el), initForm())" 5963 @private-content-loaded.window="onPrivateContentLoaded(event.detail.data)"
5964 id="accountcreate" 5965 @submit.prevent="submitForm()" 5966 method="post" id="form-validate" enctype="multipart/form-data" autocomplete="off"> 5967 <input name="form_key" type="hidden" value="rbk6CO4BduJNJki3" /> <div class="control"> 5968 <input type="hidden" 5969 value="" 5970 name="g-recaptcha-response" 5971 > 5972</div> 5973 <div class="lg:grid lg:grid-cols-3 gap-4"> 5974 <fieldset class="mb-8 space-y-4 shadow-checkout-sidebar p-4!"> 5975 <legend class="contents"> 5976 <span> 5977 Unternehmensinformation </span> 5978 </legend> 5979 <input type="hidden" name="success_url" value=""> 5980 <input type="hidden" name="error_url" value=""> 5981 <div class="field field-reserved w-full field-name-company-name required"> 5982 <label class="label" for="company_name"> 5983 <span>Firmenname</span> 5984 </label> 5985 <div class="control"> 5986 <input type="text" id="company_name" name="company[company_name]" value="" required="" 5987 title="Firmenname" 5988 class="form-input required-entry"> 5989 </div> 5990 </div> 5991 <div class="field field-reserved w-full field-name-legal-name "> 5992 <label class="label" for="legal_name"> 5993 <span>Rechtlicher Name des Unternehmens</span> 5994 </label> 5995 <div class="control"> 5996 <input type="text" id="legal_name" name="company[legal_name]" value="" 5997 title="Rechtlicher Name des Unternehmens" class="form-input"> 5998 </div> 5999 </div> 6000 <div class="field field-reserved required"> 6001 <label for="company_email" class="label"> 6002 <span> 6003 Firmen-E-Mail </span> 6004 </label> 6005 <div class="control"> 6006 <input type="email" name="company[company_email]" id="company_email" required 6007 value="" 6008 title="Firmen-E-Mail" class="form-input"/> 6009 </div> 6010 </div> 6011 <div class="field field-reserved w-full field-name-vat-tax-id "> 6012 <label class="label" for="vat_tax_id"> 6013 <span>USt.-ID</span> 6014 </label> 6015 <div class="control"> 6016 <input type="text" id="vat_tax_id" name="company[vat_tax_id]" value="" 6017 title="USt.-ID" class="form-input"> 6018 </div> 6019 </div> 6020 <div class="field field-reserved w-full field-name-reseller-id "> 6021 <label class="label" for="reseller_id"> 6022 <span>VAT/Re-seller ID</span> 6023 </label> 6024 <div class="control"> 6025 <input type="text" id="reseller_id" name="company[reseller_id]" value="" 6026 title="Reseller-ID" class="form-input"> 6027 </div> 6028 </div> 6029 </fieldset> 6030 <fieldset class="mb-8 space-y-4 shadow-checkout-sidebar p-4!"> 6031 <legend class="contents"> 6032 <span> 6033 Meldeadresse </span> 6034 </legend> 6035 <input type="hidden" name="create_address" value="1"/> 6036 <div class="grid grid-cols-1 lg:grid-cols-3 gap-4"> 6037 <div class="field field-reserved street required lg:col-span-2"> 6038 <label for="street_0" class="label"><span>StraÃe</span></label> 6039 <div class="control"> 6040 <input type="text" name="company[street][0]" 6041 value="" 6042 title="StraÃe" 6043 id="street_0" 6044 required 6045 class="form-input required-entry"> 6046 </div> 6047 </div> 6048 <div class="field field-reserved additional lg:col-span-1"> 6049 <div class="field additional required"> 6050 <label class="label" for="street_1">
6051 <span>Hausnummer</span> 6052 </label> 6053 <div class="control"> 6054 <input type="text" name="company[street][1]" 6055 value="" 6056 title="Hausnummer" 6057 id="street_1" 6058 required class="form-input required-entry"> 6059 </div> 6060 </div> 6061 </div> 6062 </div> 6063 <div class="grid grid-cols-1 lg:grid-cols-3 gap-4"> 6064 <div class="field required field-reserved zip w-full lg:col-span-1"> 6065 <label class="label" for="zip"> 6066 <span> 6067 PLZ </span> 6068 </label> 6069 <div class="control"> 6070 <input type="text" 6071 name="company[postcode]" 6072 x-ref="postcode" 6073 value="" 6074 title="PLZ" 6075 id="zip" 6076 required 6077 @change="onChange" 6078 data-validate='{"postcode": true}' 6079 class="form-input validate-zip-international 6080 "> 6081 </div> 6082 </div> 6083 6084 <div class="field field-reserved required lg:col-span-2"> 6085 <label for="city" class="label"> 6086 <span> 6087 Ort </span> 6088 </label> 6089 <div class="control"> 6090 <input type="text" name="company[city]" value="" title="Ort" required class="form-input required-entry" id="city"> 6091 </div> 6092 </div> 6093 </div> 6094 6095 <div class="field field-reserved region required w-full"> 6096 <label class="label" for="region_id"> 6097 <span>Bundesland</span> 6098 </label> 6099 <div class="control select-group"> 6100 <template x-if="hasAvailableRegions()"> 6101 <select id="region_id" name="company[region_id]" 6102 title="Bundesland" 6103 class="form-select validate-select region_id" 6104 x-ref="region_id" 6105 x-model="selectedRegion" 6106 required 6107 @change="$refs.region.value = availableRegions[selectedRegion].name" 6108 > 6109 <option value="">Wählen Sie eine Region, Bundesland oder Provinz.</option> 6110 <template x-for="regionId in Object.keys(availableRegions)"> 6111 <option :value="regionId" 6112 :name="availableRegions[regionId] && availableRegions[regionId].name" 6113 x-text="availableRegions[regionId] && availableRegions[regionId].name" 6114 :selected="selectedRegion === regionId" 6115 > 6116 </option> 6117 </template> 6118 </select> 6119 </template> 6120 <input :type="hasAvailableRegions() ? 'hidden' : 'text'" 6121 id="region" 6122 name="company[region]" 6123 x-ref="region" 6124 value="" 6125 title="Bundesland" 6126 class="form-input" 6127 :required="!hasAvailableRegions()" 6128 /> 6129 </div> 6130 </div> 6131 6132 <div class="field field-reserved country required w-full"> 6133 <label class="label" for="country">
6134 <span>Land</span> 6135 </label> 6136 <div class="control select-group"> 6137 <select name="company[country_id]" 6138 id="country" 6139 title="Country" 6140 required 6141 class="form-select" 6142 x-ref="country_id" 6143 @change="changeCountry($event.target)" 6144 > 6145 <option name="Deutschland" value="DE" data-is-zip-required="0" data-is-region-required="1" selected="selected"> 6146 Deutschland </option> 6147 </select> 6148 </div> 6149 </div> 6150 6151 <div class="field field-reserved w-full field-name-telephone required"> 6152 <label class="label" for="telephone"> 6153 <span>Telefonnummer</span> 6154 </label> 6155 <div class="control"> 6156 <input type="text" id="telephone" name="company[telephone]" value="" required="" 6157 title="Telefonnummer" 6158 class="form-input required-entry"> 6159 </div> 6160 </div> 6161 6162 <input type="hidden" name="default_billing" value="1"> 6163 <input type="hidden" name="default_shipping" value="1"> 6164 </fieldset> 6165 <fieldset class="mb-8 space-y-4 shadow-checkout-sidebar p-4!"> 6166 <legend class="contents"> 6167 <span> 6168 Firmen-Admin </span> 6169 </legend> 6170 <div class="field field-reserved w-full field-name-job-title "> 6171 <label class="label" for="job_title"> 6172 <span>Job-Titel</span> 6173 </label> 6174 <div class="control"> 6175 <input type="text" id="job_title" name="company[job_title]" value="" 6176 title="Job-Titel" class="form-input"> 6177 </div> 6178 </div> 6179 <div class="field field-reserved required"> 6180 <label for="customer_email" class="label"> 6181 <span> 6182 E-Mail </span> 6183 </label> 6184 <div class="control"> 6185 <input type="email" name="customer[email]" id="customer_email" required 6186 value="" 6187 title="E-Mail" class="form-input"/> 6188 </div> 6189 </div> 6190 <div class="field field-reserved w-full field-name-firstname required mb-4"> 6191 <label class="label" for="firstname"> 6192 <span>Vorname</span> 6193 </label> 6194 <div class="control"> 6195 <input type="text" id="firstname" name="customer[firstname]" value="" required="" 6196 title="Vorname" class="form-input required-entry"> 6197 </div> 6198 </div> 6199 <div class="field field-reserved w-full field-name-lastname required"> 6200 <label class="label" for="lastname"> 6201 <span>Nachname</span> 6202 </label> 6203 <div class="control"> 6204 <input type="text" id="lastname" name="customer[lastname]" value="" required="" 6205 title="Nachname" class="form-input required-entry"> 6206 </div> 6207 </div> 6208 </fieldset> 6209 </div> 6210 <style>.cmsb237-flex { 6211display: flex 6212} 6213.cmsb237-flex-col { 6214flex-direction: column 6215} 6216.cmsb237-justify-center { 6217justify-content: center 6218} 6219.cmsb237-pb-0 { 6220padding-bottom: 0px 6221} 6222.cmsb237-pt-1 { 6223padding-top: 0.25rem 6224}
6225.cmsb237-pt-6 { 6226padding-top: 1.5rem 6227}</style> 6228<div data-content-type="html" data-appearance="default" id="vorteile" data-element="main" data-decoded="true"><div class="LBmain"> 6229 <div class="pik-full-row bg-pik pos-relative lb-ukb m-top-doppel m-bottom-doppel" id="vorteile"> 6230 6231 <div class="overlay-fill"> 6232 <img class="img-cover" src="https://pik.de/shop/media/wysiwyg/pik-unternehmenskonto-banner.jpg" alt="" width="2000" height="1125" loading="lazy"> 6233 </div> 6234 <div class="overlay-fill lb-ukb-scrim"></div> 6235 6236 <div class="pik-row pos-relative p-top-big p-bottom-big"> 6237 6238 <div class="grid-40 cmsb237-flex cmsb237-flex-col cmsb237-justify-center"> 6239 <div class="lb-stage-kicker m-bottom-normal">UNTERNEHMENSKONTO IM PIK ONLINESHOP</div> 6240 <div class="super-gross digitalsignage">Ohne Anruf.</div> 6241 <div class="super-gross weiss m-bottom-normal">Alles im Konto.</div> 6242 <p class="medium cmsb237-pb-0 m-bottom-0">Preise, Angebote, Lieferstatus und Rechnungen sehen 6243 Sie selbst. Ihr B2B-Team bleibt trotzdem erreichbar.</p> 6244 </div> 6245 6246 <div class="grid-60"> 6247 <div class="editor-html haken cmsb237-pt-6"> 6248 <ul class="liste-haken"> 6249 <li class="medium cmsb237-pt-1 m-bottom-normal"><b>Dedizierte Preise</b> Ihre Konditionen direkt im Shop hinterlegt</li> 6250 <li class="medium cmsb237-pt-1 m-bottom-normal"><b>Angebotsanfragen</b> direkt aus dem Warenkorb stellen</li> 6251 <li class="medium cmsb237-pt-1 m-bottom-normal"><b>Vorbereitete Warenkörbe</b> wiederkehrende Bestellungen schneller auslösen</li> 6252 <li class="medium cmsb237-pt-1 m-bottom-normal"><b>Rollen und Berechtigungen</b> für Ihre Mitarbeiter individuell festlegen</li> 6253 <li class="medium cmsb237-pt-1 m-bottom-normal"><b>Mehrere Lieferadressen</b> Standorte und Baustellen zentral verwalten</li> 6254 <li class="medium cmsb237-pt-1 m-bottom-normal"><b>Bevorzugte Zahlungsmittel</b> Ihre Zahlungsarten im Konto hinterlegt</li> 6255 <li class="medium cmsb237-pt-1 m-bottom-0"><b>Direkter Ansprechpartner</b> Ihr B2B-Team bei PIK</li> 6256 </ul> 6257 </div> 6258 </div> 6259 6260 </div> 6261 </div> 6262</div> 6263</div> <div class="flex justify-center"> 6264 <div class="primary"> 6265 <button type="submit" class="action submit primary btn btn-primary btn-size-lg disabled:opacity-75" 6266 title="Ein Konto erstellen" 6267 > 6268 <span>Ein Konto erstellen</span> 6269 </button> 6270 </div> 6271 <div class="sr-only"> 6272 <a class="action back" 6273 href="https://pik.de/shop/customer/account/login/"> 6274 <span> 6275 Zurück </span> 6276 </a> 6277 </div> 6278 </div> 6279 </form> 6280 6281
6281<script> 6282 function initForm() { 6283 return { 6284 errors: 0, 6285 hasCaptchaToken: 0, 6286 showPassword: false, 6287 showPasswordConfirm: false, 6288 submitForm() { 6289 this.validate() 6290 .then(() => { 6291 // Do not rename $form, the variable is expected to be declared in the recaptcha output 6292 const $form = document.querySelector('#accountcreate'); 6293 if (!this.hasCaptchaToken) { 6294 this.errors = 1; 6295 6296 6297 const executeGreCaptcha = () => { 6298 grecaptcha.ready(() => { 6299 grecaptcha.execute( 6300 '6LfkTJooAAAAALRIyqeaJ6hs4IoAK0RhQDtXBjKf', 6301 {action: 'submit'} 6302 ).then((token) => { 6303 const tokenElement = $form['g\u002Drecaptcha\u002Dresponse']; 6304 6305 if (tokenElement && token && token.length > 0) { 6306 $form['g\u002Drecaptcha\u002Dresponse'].value = token; 6307 this.errors = 0; 6308 this.hasCaptchaToken = 1; 6309 (this.submitForm || $form.submit).call(this); 6310 } else { 6311 this.errors = 1; 6312 const error = tokenElement 6313 ? 'ReCaptcha\u0020validation\u0020failed,\u0020please\u0020try\u0020again' 6314 : 'ReCaptcha\u0020token\u0020element\u0020is\u0020missing.\u0020Please\u0020refresh\u0020the\u0020page\u0020and\u0020trying\u0020again.'; 6315 if (this.setErrorMessages) { 6316 this.setErrorMessages([error]) 6317 this.displayErrorMessage = true; 6318 } else { 6319 window.dispatchMessages && window.dispatchMessages([{type: "error", text: error}], 5000); 6320 } 6321 } 6322 }).catch(exception => { 6323 console.error(exception || `An unknown error occurred during ReCaptcha validation. Are the tokens and the domain correctly set up in the Google console?`) 6324 }); 6325 }) 6326 } 6327 6328 if (window.grecaptcha) { 6329 executeGreCaptcha(); 6330 } else { 6331 const recaptchaUrl = "https://www.google.com/recaptcha/api.js?render=6LfkTJooAAAAALRIyqeaJ6hs4IoAK0RhQDtXBjKf"; 6332 const script = document.createElement('script'); 6333 script.setAttribute('type', 'text/javascript'); 6334 script.setAttribute('src', recaptchaUrl); 6335 document.head.appendChild(script); 6336 6337 script.addEventListener("load", executeGreCaptcha, false); 6338 } 6339 } 6340 6341 if (this.errors === 0) { 6342 $form.submit(); 6343 } 6344 }) 6345 .catch((invalid) => { 6346 if (invalid.length > 0) { 6347 invalid[0].focus(); 6348 } 6349 }); 6350 }, 6351 directoryData: {}, 6352 availableRegions: {}, 6353 selectedRegion: 0, 6354 isZipRequired: true, 6355 isRegionRequired: true, 6356 showOptionalRegions: false, 6357 onPrivateContentLoaded(data) { 6358 this.directoryData = data['directory-data'] || {}; 6359 6360 this.setCountry(this.$refs['country_id'], ''); 6361 6362 }, 6363 setRegionInputValue(regionName) { 6364 this.$nextTick(() => { 6365 const regionInputElement = this.$refs['region']; 6366 if (regionInputElement) { 6367 regionInputElement.value = regionName; 6368 } 6369 }) 6370 }, 6371 setCountry(countrySelectElement, initialRegion) { 6372 const selectedOption = countrySelectElement.options[countrySelectElement.selectedIndex]; 6373 const countryCode = countrySelectElement.value; 6374 const countryData = this.directoryData[countryCode] || false; 6375 6376 if (!countryData) { 6377 this.setRegionInputValue(''); 6378 return; 6379 } 6380 6381 this.isZipRequired = selectedOption.dataset.isZipRequired === '1'; 6382 this.isRegionRequired = true; 6383 6384 this.availableRegions = countryData.regions || {}; 6385 6386 const initialRegionId = Object.keys(this.availableRegions).filter(regionId => this.availableRegions[regionId].name === initialRegion)[0]; 6387 this.selectedRegion = initialRegionId || '0'; 6388 this.setRegionInputValue(initialRegionId && this.availableRegions[initialRegionId].name || ''); 6389 6390 }, 6391 changeCountry(countrySelectElement, initialRegion) { 6392 this.setCountry(countrySelectElement, initialRegion); 6393 6394 this.validateCountryDependentFields(); 6395 }, 6396 validateCountryDependentFields() { 6397 this.$nextTick(() => { 6398 this.fields['postcode'] && this.removeMessages(this.fields['postcode']) 6399 this.fields['region_id'] && this.removeMessages(this.fields['region_id']) 6400 this.fields['region'] && this.removeMessages(this.fields['region']) 6401 delete this.fields['postcode']; 6402 delete this.fields['region_id']; 6403 delete this.fields['region']; 6404 this.setupField(this.$refs['country_id']); 6405 this.setupField(this.$refs['postcode']); 6406 this.$refs['region_id'] && this.setupField(this.$refs['region_id']); 6407 this.$refs['region'] && this.setupField(this.$refs['region']); 6408 6409 this.fields['postcode'] && this.validateField(this.fields['postcode']); 6410 this.fields['region_id'] && this.validateField(this.fields['region_id']); 6411 this.fields['region'] && this.validateField(this.fields['region']); 6412 }) 6413 }, 6414 hasAvailableRegions() { 6415 return Object.keys(this.availableRegions).length > 0; 6416 } 6417 } 6418 } 6419 6420 window.addEventListener('DOMContentLoaded', () => { 6421 6422 hyva.formValidation.addRule('telephone', (value, options) => { 6423 const phoneNumber = value.trim().replace(' ', ''); 6424 if (phoneNumber && phoneNumber.length < (options.minlength || 3)) { 6425 return 'Die\u0020Rufnummer\u0020ist\u0020zu\u0020kurz.'; 6426 } 6427 6428 return true; 6429 }); 6430 6431 const postCodeSpecs = {"AD":{"pattern_1":{"example":"AD100","pattern":"^AD\\d{3}$"}},"AM":{"pattern_1":{"example":"123456","pattern":"^[0-9]{6}$"}},"AR":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"},"pattern_2":{"example":"A1234BCD","pattern":"^[a-zA-z]{1}[0-9]{4}[a-zA-z]{3}$"}},"AS":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"AT":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"AU":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"AX":{"pattern_1":{"example":"22123","pattern":"^22\\d{3}$"}},"AZ":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"},"pattern_2":{"example":"123456","pattern":"^[0-9]{6}$"}},"BA":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"BB":{"pattern_1":{"example":"BB12345","pattern":"^(BB\\d{5})?$"}},"BD":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"BE":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"BG":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"BH":{"pattern_1":{"example":"323","pattern":"^((1[0-2]|[1-9])\\d{2})?$"}},"BM":{"pattern_1":{"example":"MA 02","pattern":"^[A-Z]{2}[ ]?[A-Z0-9]{2}$"}},"BN":{"pattern_1":{"example":"AB1234","pattern":"^[a-zA-z]{2}[0-9]{4}$"}},"BR":{"pattern_1":{"example":"12345678","pattern":"^[0-9]{8}$"},"pattern_2":{"example":"12345-678","pattern":"^[0-9]{5}\\-[0-9]{3}$"}},"BY":{"pattern_1":{"example":"123456","pattern":"^[0-9]{6}$"}},"CA":{"pattern_1":{"example":"A1B 2C3","pattern":"^[a-zA-z]{1}[0-9]{1}[a-zA-z]{1}\\s[0-9]{1}[a-zA-z]{1}[0-9]{1}$"},"pattern_2":{"example":"A1B2C3","pattern":"^[a-zA-z]{1}[0-9]{1}[a-zA-z]{1}[0-9]{1}[a-zA-z]{1}[0-9]{1}$"},"pattern_3":{"example":"A1B","pattern":"^[a-zA-z]{1}[0-9]{1}[a-zA-z]{1}$"}},"CC":{"pattern_1":{"example":"6799","pattern":"^6799$"}},"CH":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"CK":{"pattern_1":{"example":"1234","pattern":"^\\d{4}$"}},"CL":{"pattern_1":{"example":"1234567","pattern":"^\\d{7}$"}},"CN":{"pattern_1":{"example":"123456","pattern":"^[0-9]{6}$"}},"CR":{"pattern_1":{"example":"12345 or 123-1234","pattern":"^\\d{4,5}|\\d{3}-\\d{4}$"}},"CS":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"CU":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"CV":{"pattern_1":{"example":"1234","pattern":"^\\d{4}$"}},"CX":{"pattern_1":{"example":"6798","pattern":"^6798$"}},"CY":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"CZ":{"pattern_1":{"example":"123 45","pattern":"^[0-9]{3}\\s[0-9]{2}$"}},"DE":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"DK":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"DO":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"DZ":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"EC":{"pattern_1":{"example":"A1234B or AB123456 or 123456","pattern":"^([A-Z]\\d{4}[A-Z]|(?:[A-Z]{2})?\\d{6})?$"}},"EE":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"EG":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"ES":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"ET":{"pattern_1":{"example":"1234","pattern":"^\\d{4}$"}},"FI":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"FK":{"pattern_1":{"example":"FIQQ 1ZZ","pattern":"^FIQQ 1ZZ$"}},"FM":{"pattern_1":{"example":"96941","pattern":"^(9694[1-4])([ \\-]\\d{4})?$"}},"FO":{"pattern_1":{"example":"123","pattern":"^\\d{3}$"}},"FR":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"GB":{"pattern_1":{"example":"AB12 3CD","pattern":"^[a-zA-Z]{2}[0-9]{2}\\s?[0-9]{1}[a-zA-Z]{2}$"},"pattern_2":{"example":"A1B 2CD","pattern":"^[a-zA-Z]{1}[0-9]{1}[a-zA-Z]{1}\\s?[0-9]{1}[a-zA-Z]{2}$"},"pattern_3":{"example":"AB1 2CD","pattern":"^[a-zA-Z]{2}[0-9]{1}\\s?[0-9]{1}[a-zA-Z]{2}$"},"pattern_4":{"example":"AB1C 2DF","pattern":"^[a-zA-Z]{2}[0-9]{1}[a-zA-Z]{1}\\s?[0-9]{1}[a-zA-Z]{2}$"},"pattern_5":{"example":"A12 3BC","pattern":"^[a-zA-Z]{1}[0-9]{2}\\s?[0-9]{1}[a-zA-Z]{2}$"},"pattern_6":{"example":"A1 2BC","pattern":"^[a-zA-Z]{1}[0-9]{1}\\s?[0-9]{1}[a-zA-Z]{2}$"}},"GE":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"GF":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"GG":{"pattern_1":{"example":"GY10 2AB","pattern":"^[gG][yY]([1-9]|10)\\s?[0-9]{1}[a-zA-Z]{2}$"}},"GH":{"pattern_1":{"example":"GA18400","pattern":"^[A-Z][A-Z0-9]\\d{3,5}$"}},"GL":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"GN":{"pattern_1":{"example":"123","pattern":"^\\d{3}$"}},"GP":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"GR":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"GS":{"pattern_1":{"example":"SIQQ 1ZZ","pattern":"^SIQQ 1ZZ$"}},"GT":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"GU":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"GW":{"pattern_1":{"example":"1234","pattern":"^\\d{4}$"}},"HM":{"pattern_1":{"example":"1234","pattern":"^\\d{4}$"}},"HN":{"pattern_1":{"example":"12345","pattern":"^(?:\\d{5})?$"}},"HR":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"HT":{"pattern_1":{"example":"1234","pattern":"^\\d{4}$"}},"HU":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"IC":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"ID":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"IL":{"pattern_1":{"example":"6687865","pattern":"^[0-9]{7}$"}},"IM":{"pattern_1":{"example":"IM1 1AD","pattern":"^IM\\d[\\dA-Z]?[ ]?\\d[ABD-HJLN-UW-Z]{2}$"}},"IN":{"pattern_1":{"example":"123456","pattern":"^[0-9]{6}$"}},"IO":{"pattern_1":{"example":"BBND 1ZZ","pattern":"^BBND 1ZZ$"}},"IS":{"pattern_1":{"example":"123","pattern":"^[0-9]{3}$"}},"IQ":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"IT":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}}
6431,"JE":{"pattern_1":{"example":"JE2 4PJ","pattern":"^[jJ][eE][1-5]{1}\\s?[0-9]{1}[a-zA-Z]{2}$"}},"JO":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"JP":{"pattern_1":{"example":"123-4567","pattern":"^[0-9]{3}-[0-9]{4}$"},"pattern_2":{"example":"1234567","pattern":"^[0-9]{7}$"}},"KE":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"KG":{"pattern_1":{"example":"123456","pattern":"^[0-9]{6}$"}},"KR":{"pattern_1":{"example":"123-456","pattern":"^[0-9]{3}-[0-9]{3}$"},"pattern_2":{"example":"12345","pattern":"^[0-9]{5}$"}},"KH":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"KW":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"KZ":{"pattern_1":{"example":"123456","pattern":"^[0-9]{6}$"}},"LA":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"LB":{"pattern_1":{"example":"1234 5678","pattern":"^(\\d{4}([ ]?\\d{4})?)?$"}},"LI":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"LK":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"LT":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"LU":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"LV":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"MA":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"MC":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"MD":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"ME":{"pattern_1":{"example":"81101","pattern":"^8\\d{4}$"}},"MG":{"pattern_1":{"example":"123","pattern":"^[0-9]{3}$"}},"MH":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"MK":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"MN":{"pattern_1":{"example":"123456","pattern":"^[0-9]{6}$"}},"MP":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"MS":{"pattern_1":{"example":"MSR1250","pattern":"^MSR\\s?\\d{4}$"}},"MQ":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"MT":{"pattern_1":{"example":"ABC 1234","pattern":"^[a-zA-Z]{3}\\s[0-9]{4}$"},"pattern_2":{"example":"ABC 123","pattern":"^[a-zA-Z]{3}\\s[0-9]{3}$"},"pattern_3":{"example":"ABC 12","pattern":"^[a-zA-Z]{3}\\s[0-9]{2}$"}},"MU":{"pattern_1":{"example":"A1201 or 80110","pattern":"^([AR]|[0-9])\\d{4,5}$"}},"MV":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"},"pattern_2":{"example":"1234","pattern":"^[0-9]{4}$"}},"MX":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"MY":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"NC":{"pattern_1":{"example":"98800","pattern":"^988\\d{2}$"}},"NE":{"pattern_1":{"example":"1234","pattern":"^\\d{4}$"}},"NF":{"pattern_1":{"example":"2899","pattern":"^2899$"}},"NG":{"pattern_1":{"example":"123456","pattern":"^(\\d{6})?$"}},"NI":{"pattern_1":{"example":"22500","pattern":"^\\d{5}$"}},"NL":{"pattern_1":{"example":"1234 AB\/1234AB","pattern":"^[1-9][0-9]{3}\\s?[a-zA-Z]{2}$"},"pattern_2":{"example":"1234","pattern":"^[1-9][0-9]{3}$"}},"NO":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"NP":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"NZ":{"pattern_1":{"example":"1234","pattern":"^\\d{4}$"}},"OM":{"pattern_1":{"example":"PC 123 or 123","pattern":"^(PC )?\\d{3}$"}},"PA":{"pattern_1":{"example":"1234","pattern":"^\\d{4}$"}},"PF":{"pattern_1":{"example":"98701","pattern":"^987\\d{2}$"}},"PG":{"pattern_1":{"example":"123","pattern":"^\\d{3}$"}},"PH":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"PK":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"PL":{"pattern_1":{"example":"12-345","pattern":"^[0-9]{2}-[0-9]{3}$"}},"PM":{"pattern_1":{"example":"97500","pattern":"^9[78]5\\d{2}$"}},"PN":{"pattern_1":{"example":"PCRN 1ZZ","pattern":"^PCRN 1ZZ$"}},"PR":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"PT":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"},"pattern_2":{"example":"1234-567","pattern":"^[0-9]{4}-[0-9]{3}$"}},"PW":{"pattern_1":{"example":"96939 or 96940","pattern":"^(?:96939|96940)$"}}
6431,"PY":{"pattern_1":{"example":"1234","pattern":"^\\d{4}$"}},"RE":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"RO":{"pattern_1":{"example":"123456","pattern":"^[0-9]{6}$"}},"RS":{"pattern_1":{"example":"123456","pattern":"^\\d{6}$"}},"RU":{"pattern_1":{"example":"123456","pattern":"^[0-9]{6}$"}},"SA":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"SE":{"pattern_1":{"example":"123 45","pattern":"^[0-9]{3}\\s[0-9]{2}$"}},"SG":{"pattern_1":{"example":"123456","pattern":"^[0-9]{6}$"}},"SI":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"SK":{"pattern_1":{"example":"123 45","pattern":"^[0-9]{3}\\s[0-9]{2}$"}},"SH":{"pattern_1":{"example":"ASCN 1ZZ","pattern":"^(ASCN|STHL) 1ZZ$"}},"SJ":{"pattern_1":{"example":"1234","pattern":"^\\d{4}$"}},"SM":{"pattern_1":{"example":"47890","pattern":"^4789\\d$"}},"SN":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"SO":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"SZ":{"pattern_1":{"example":"A123","pattern":"^[a-zA-Z]{1}[0-9]{3}$"}},"TC":{"pattern_1":{"example":"TKCA 1ZZ","pattern":"^TKCA 1ZZ$"}},"TH":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"TJ":{"pattern_1":{"example":"123456","pattern":"^[0-9]{6}$"}},"TM":{"pattern_1":{"example":"123456","pattern":"^[0-9]{6}$"}},"TN":{"pattern_1":{"example":"1234","pattern":"^\\d{4}$"}},"TR":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"TT":{"pattern_1":{"example":"120110","pattern":"^\\d{6}$"}},"TW":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"},"pattern_2":{"example":"123","pattern":"^[0-9]{3}$"}},"UA":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"US":{"pattern_1":{"example":"12345-6789","pattern":"^[0-9]{5}\\-[0-9]{4}$"},"pattern_2":{"example":"12345","pattern":"^[0-9]{5}$"}},"UY":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"UZ":{"pattern_1":{"example":"123456","pattern":"^[0-9]{6}$"}},"VA":{"pattern_1":{"example":"00120","pattern":"^00120$"}},"VE":{"pattern_1":{"example":"1234","pattern":"^\\d{4}$"}},"VI":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"WF":{"pattern_1":{"example":"98601","pattern":"^986\\d{2}$"}},"XK":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"XY":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"YT":{"pattern_1":{"example":"97601","pattern":"^976\\d{2}$"}},"ZA":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"ZM":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}}}; 6432 6433 hyva.formValidation.addRule('postcode', (postCode, options, field, context) => { 6434 context.removeMessages(field, 'postcode-warning') 6435 const countryId = (context.fields['country_id'] && context.fields['country_id'].element.value), 6436 validatedPostCodeExamples = [], 6437 countryPostCodeSpecs = countryId && postCodeSpecs ? postCodeSpecs[countryId] : false; 6438 6439 if (!postCode || !countryPostCodeSpecs) return true; 6440 6441 for (const postCodeSpec of Object.values(countryPostCodeSpecs)) { 6442 if (new RegExp(postCodeSpec.pattern).test(postCode)) return true; 6443 validatedPostCodeExamples.push(postCodeSpec.example); 6444 } 6445 if (validatedPostCodeExamples) { 6446 context.addMessages(field, 'postcode-warning', [ 6447 'Die\u0020angegebene\u0020Postleitzahl\u0020ist\u0020ung\u00FCltig.', 6448 'Beispiel\u003A\u0020' + validatedPostCodeExamples.join('; ') + '. ', 6449 'Wenn\u0020Sie\u0020glauben,\u0020dass\u0020dies\u0020richtig\u0020ist,\u0020k\u00F6nnen\u0020Sie\u0020den\u0020Hinweis\u0020ignorieren.' 6450 ]); 6451 } 6452 6453 return true; 6454 }); 6455 }) 6456 </script>
6456 6457</div> 6458</div></div></div></main><div class="page-bottom"><div class="widget block block-static-block"> 6459 <style>.cmsb18-flex-col { 6460flex-direction: column 6461} 6462.cmsb18-text-center { 6463text-align: center 6464} 6465.cmsb18-opacity-80 { 6466opacity: 0.8 6467} 6468.cmsb18-opacity-90 { 6469opacity: 0.9 6470}</style> 6471<style>#html-body [data-pb-style=XO9P66J]{justify-content:center;display:flex;flex-direction:column;background-color:#f4f4f4;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}</style><div data-content-type="row" data-appearance="full-width" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-background-lazy-load="false" id="" data-element="main" data-pb-style="XO9P66J"><div class="row-full-width-inner" data-element="inner"><div data-content-type="text" data-appearance="default" id="" data-element="main"><p style="text-align: center; margin-bottom: 0 !important;"><span class="farbig-text medium">** Unser Angebot gilt ausschließlich für gewerbliche Endkunden und öffentliche Auftraggeber. **</span></p></div></div></div><div data-content-type="html" data-appearance="default" id="" data-element="main" data-decoded="true"><div class="LBmain"> 6472<section class="pik-full-row bg-pik fsb-band"> 6473 <div class="pik-row"> 6474 6475 <!-- Botschaft über den drei Kacheln --> 6476 <div class="grid-100 p-top-big p-bottom-doppel"> 6477 <h2 class="sehr-gross m-top-0 m-bottom-0">Von der Planung bis zur Wartung dasselbe Haus.</h2> 6478 </div> 6479 6480 <!-- Kachel 1 â Beratung & Service --> 6481 <div class="grid-33 cmsb18-flex-col p-bottom-big"> 6482 <div class="lb-stage-kicker m-bottom-normal">Alles aus einer Hand</div> 6483 <h3 class="sehr-gross">Beratung.<br>Installation.<br>Service.</h3> 6484 <p class="cmsb18-opacity-80"> 6485 Vom ersten Kontakt bis zur Inbetriebnahme â unsere Experten begleiten Sie. 6486 Ausgebaute Service- und Wartungsabteilung für Full-Service in ganz Deutschland. 6487 </p> 6488 <a href="#pik-anfrage" class="pikbutton-weiss"> 6489 Kontakt aufnehmen 6490 <svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2.5" aria-hidden="true"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> 6491 </a> 6492 </div> 6493 6494 <!-- Kachel 2 â DACH-Region. Ãberschrift steht fest, nur die 6495 Fläche darunter dreht: Karte gegen Standortliste. --> 6496 <div class="grid-33 cmsb18-flex-col cmsb18-text-center p-bottom-big fsb-dach" tabindex="0"> 6497 <div class="lb-stage-kicker m-bottom-normal">Einsatzgebiet</div> 6498 <h3 class="sehr-gross">DACH-Region</h3> 6499 6500 <div class="fsb-flip"> 6501 <div class="fsb-vorn"> 6502 <!-- viewBox auf die gemessene Bounding Box der Pfade gesetzt. 6503 Die Vorlage hatte 995 216 94 76 und war damit breiter als 6504 ihr Inhalt: die Karte stand 28,6 px links aus der Mitte. --> 6505 <svg class="fsb-karte" xmlns="http://www.w3.org/2000/svg" viewBox="1005 224.5 56.1 57.5" width="280" aria-hidden="true"> 6506 <path d="m 1043.6,232.3 -2.4,-1.9 -5.5,-2.4 -2.5,1.7 -4.7,1.1 -0.1,-2.1 -4.9,-1.4 -0.2,-2.3 -3,0.9 -3.6,-0.8 0.4,3.4 1.2,2.2 -3,3 -1,-1.3 -3.9,0.3 -0.9,1.3 1,2 -1,5.6 -1.1,2.3 -2.9,0 1.1,6.4 -0.4,4.2 1,1.4 -0.2,2.7 2.4,1.6 7.1,1.2 -2.3,4.2 -0.5,4.5 4.2,0 1,-1.4 5.4,1.9 1.5,-0.3 2.6,1.7 0.6,-1.6 4.4,0.3 3.4,-1.2 2.4,0.2 1.7,1.3 0.4,-1.1 -1,-4 1.7,-0.8 1.5,-2.9 -2.9,-2.6 -2.6,-1.5 -0.7,-2.6 -1,-1.9 3.4,-1.3 1.7,-1.5 3.4,-1.2 1.1,-1.2 1.4,0.7 2.1,-0.6 -2.3,-3.9 0.1,-2.1 -1.4,-3.3 -2,-2.2 1.2,-1.6 -1.4,-3.1 z" fill="rgba(255,255,255,0.9)" stroke="rgba(15,30,90,0.3)" stroke-width="0.2"></path> 6507 <path d="m 1060.2,264 -2.3,-1.2 -2.3,0.3 -4,-1.9 -1.7,0.5 -2.6,2.5 -3.8,-2 -1.5,2.9 -1.7,0.8 1,4 -0.4,1.1 -1.7,-1.3 -2.4,-0.2 -3.4,1.2 -4.4,-0.3 -0.6,1.6 -2.6,-1.7 -1.5,0.3 0.2,1.1 -0.7,1.6 2.3,1.1 2.6,0.2 3.1,0.9 0.5,-1.2 4.8,-1.1 1.3,2.2 7.2,1.6 4.2,0.4 2.4,-1.4 4.3,-0.1 0.9,-1.1 1.3,-4 -1.1,-1.3 2.8,0 0.2,-2.6 -0.7,-2.1 0.3,-0.8 z" fill="rgba(255,255,255,0.6)" stroke="rgba(15,30,90,0.3)" stroke-width="0.2"></path> 6508 <path d="m 1024.3,270.6 -5.4,-1.9 -1,1.4 -4.2,0 -1.3,1 -2.3,-0.6 0.2,1.6 -3.5,3.5 0,2.8 2.4,-0.9 1.8,2.7 2.2,1.3 2.4,-0.3 2.7,-2.1 0.9,1 2.4,-0.2 0.9,-2.5 3.8,0.8 2.1,-1.1 0.3,-2.5 -2.6,-0.2 -2.3,-1.1 0.7,-1.6 -0.2,-1.1 z" fill="rgba(255,255,255,0.6)" stroke="rgba(15,30,90,0.3)" stroke-width="0.2"></path> 6509 </svg> 6510 </div> 6511 6512 <div class="fsb-hinten"> 6513 <ul class="fsb-standorte text-small cmsb18-opacity-90"> 6514 <li><strong>Berlin (HQ)</strong></li> 6515 <li>Hamburg</li> 6516 <li>Magdeburg</li> 6517 <li>Dessau</li> 6518 <li>Dresden</li> 6519 <li>Bonn</li> 6520 <li>Frankfurt a.M.</li> 6521 <li>Fürth</li> 6522 <li>Ludwigsburg</li> 6523 <li>München</li> 6524 </ul> 6525 </div> 6526 </div> 6527 </div> 6528 6529 <!-- Kachel 3 â Managed Service --> 6530 <div class="grid-33 cmsb18-flex-col p-bottom-big"> 6531 <div class="lb-stage-kicker m-bottom-normal">Proaktiver Support</div> 6532 <h3 class="sehr-gross">Managed Service</h3> 6533 <p class="medium font-500 cmsb18-opacity-80">Wir lösen Probleme,<br><strong>bevor Sie davon wissen.</strong></p> 6534 <p class="cmsb18-opacity-80"> 6535 Echtzeitanalyse, extrem kurze Reaktionszeiten, Remote Service & 6536 Help-Desk â bevor es brennt. 6537 </p> 6538 <a href="https://pik.de/managed-services/" class="pikbutton-weiss"> 6539 Mehr erfahren 6540 <svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2.5" aria-hidden="true"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> 6541 </a> 6542 </div> 6543 6544 </div> 6545</section> 6546</div> 6547</div></div> 6548<div class="widget block block-static-block"> 6549 <style>::backdrop { 6550--tw-border-spacing-x: 0; 6551--tw-border-spacing-y: 0; 6552--tw-translate-x: 0; 6553--tw-translate-y: 0; 6554--tw-rotate: 0; 6555--tw-skew-x: 0; 6556--tw-skew-y: 0; 6557--tw-scale-x: 1; 6558--tw-scale-y: 1; 6559--tw-pan-x: ; 6560--tw-pan-y: ; 6561--tw-pinch-zoom: ; 6562--tw-scroll-snap-strictness: proximity; 6563--tw-gradient-from-position: ;
6564--tw-gradient-via-position: ; 6565--tw-gradient-to-position: ; 6566--tw-ordinal: ; 6567--tw-slashed-zero: ; 6568--tw-numeric-figure: ; 6569--tw-numeric-spacing: ; 6570--tw-numeric-fraction: ; 6571--tw-ring-inset: ; 6572--tw-ring-offset-width: 0px; 6573--tw-ring-offset-color: #fff; 6574--tw-ring-color: rgb(59 130 246 / 0.5); 6575--tw-ring-offset-shadow: 0 0 #0000; 6576--tw-ring-shadow: 0 0 #0000; 6577--tw-shadow: 0 0 #0000; 6578--tw-shadow-colored: 0 0 #0000; 6579--tw-blur: ; 6580--tw-brightness: ; 6581--tw-contrast: ; 6582--tw-grayscale: ; 6583--tw-hue-rotate: ; 6584--tw-invert: ; 6585--tw-saturate: ; 6586--tw-sepia: ; 6587--tw-drop-shadow: ; 6588--tw-backdrop-blur: ; 6589--tw-backdrop-brightness: ; 6590--tw-backdrop-contrast: ; 6591--tw-backdrop-grayscale: ; 6592--tw-backdrop-hue-rotate: ; 6593--tw-backdrop-invert: ; 6594--tw-backdrop-opacity: ; 6595--tw-backdrop-saturate: ; 6596--tw-backdrop-sepia: 6597} 6598.cmsb15-block { 6599display: block 6600}</style> 6601<style>#html-body [data-pb-style=RQ3PPEX],#html-body [data-pb-style=X5XVKAH]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=X5XVKAH]{justify-content:flex-start;display:flex;flex-direction:column;background-color:#1b4f80;padding-bottom:32px}#html-body [data-pb-style=RQ3PPEX]{align-self:stretch}#html-body [data-pb-style=TJ2221G]{display:flex;width:100%}#html-body [data-pb-style=FGB8GF2],#html-body [data-pb-style=FQ4AST3]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:50%;padding-top:32px;align-self:stretch}</style><div class="ansprechpartner-block" data-content-type="row" data-appearance="full-width" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" id="pik-anfrage" data-element="main" data-pb-style="X5XVKAH"><div class="row-full-width-inner" data-element="inner"><div class="pagebuilder-column-group" data-background-images="{}" data-content-type="column-group" data-appearance="default" data-grid-size="12" data-element="main" data-pb-style="RQ3PPEX"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="TJ2221G"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="FQ4AST3"><div data-content-type="text" data-appearance="default" id="" data-element="main"><p style="text-align: center; margin-bottom: 0 !important;"><span id="BVOFVSA" class="gross" style="color: #ffffff;">Ihre Ansprechpartner</span></p> 6602<hr style="background-color: #fff; margin-top: 5px;"></div><div data-content-type="block" data-appearance="default" id="" data-element="main"><div class="widget block block-static-block"> 6603 <style>::backdrop { 6604--tw-border-spacing-x: 0; 6605--tw-border-spacing-y: 0; 6606--tw-translate-x: 0; 6607--tw-translate-y: 0; 6608--tw-rotate: 0; 6609--tw-skew-x: 0; 6610--tw-skew-y: 0; 6611--tw-scale-x: 1; 6612--tw-scale-y: 1; 6613--tw-pan-x: ; 6614--tw-pan-y: ; 6615--tw-pinch-zoom: ; 6616--tw-scroll-snap-strictness: proximity; 6617--tw-gradient-from-position: ; 6618--tw-gradient-via-position: ; 6619--tw-gradient-to-position: ; 6620--tw-ordinal: ; 6621--tw-slashed-zero: ; 6622--tw-numeric-figure: ; 6623--tw-numeric-spacing: ; 6624--tw-numeric-fraction: ; 6625--tw-ring-inset: ; 6626--tw-ring-offset-width: 0px; 6627--tw-ring-offset-color: #fff; 6628--tw-ring-color: rgb(59 130 246 / 0.5); 6629--tw-ring-offset-shadow: 0 0 #0000; 6630--tw-ring-shadow: 0 0 #0000; 6631--tw-shadow: 0 0 #0000; 6632--tw-shadow-colored: 0 0 #0000; 6633--tw-blur: ; 6634--tw-brightness: ; 6635--tw-contrast: ; 6636--tw-grayscale: ; 6637--tw-hue-rotate: ; 6638--tw-invert: ; 6639--tw-saturate: ; 6640--tw-sepia: ; 6641--tw-drop-shadow: ; 6642--tw-backdrop-blur: ; 6643--tw-backdrop-brightness: ; 6644--tw-backdrop-contrast: ; 6645--tw-backdrop-grayscale: ; 6646--tw-backdrop-hue-rotate: ; 6647--tw-backdrop-invert: ; 6648--tw-backdrop-opacity: ; 6649--tw-backdrop-saturate: ; 6650--tw-backdrop-sepia: 6651} 6652.cmsb99-block { 6653display: block 6654} 6655.cmsb99-rounded-full { 6656border-radius: 9999px 6657}</style> 6658<style>#html-body [data-pb-style=CJWY3W1],#html-body [data-pb-style=JEO0BM2]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=JEO0BM2]{justify-content:flex-start;display:flex;flex-direction:column}#html-body [data-pb-style=CJWY3W1]{align-self:stretch}#html-body [data-pb-style=BTEVXKW]{display:flex;width:100%}#html-body [data-pb-style=BU1V5YG],#html-body [data-pb-style=H73VDLV],#html-body [data-pb-style=PE73275],#html-body [data-pb-style=PMVRSFH]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:25%;align-self:stretch}</style><div data-content-type="row" data-appearance="contained" id="" data-element="main"><div data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="inner" data-pb-style="JEO0BM2"><div class="pagebuilder-column-group" data-background-images="{}" data-content-type="column-group" data-appearance="default" data-grid-size="12" id="" data-element="main" data-pb-style="CJWY3W1"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="BTEVXKW"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="PE73275"><div data-content-type="text" data-appearance="default" id="" data-element="main"><p><img class="cmsb99-rounded-full" style="display: block; margin-left: auto; margin-right: auto;" src="https://pik.de/shop/media/.renditions/wysiwyg/Ansprechpartner/K-W-150-q.jpg" alt="" width="200" height="200"></p> 6659<p style="text-align: center;"><span style="color: #ffffff;">Kevin Weiß</span></p></div></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="PMVRSFH"><div data-content-type="text" data-appearance="default" id="" data-element="main"><p><img class="cmsb99-rounded-full" style="display: block; margin-left: auto; margin-right: auto;" src="https://pik.de/shop/media/.renditions/wysiwyg/Ansprechpartner/M-S-q.jpg" alt="" width="200" height="200"></p> 6660<p style="text-align: center;"><span style="color: #ffffff;">Michael Schleffler</span></p></div></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="H73VDLV"></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="BU1V5YG"></div></div></div></div></div></div> 6661</div><div data-content-type="text" data-appearance="default" id="" data-element="main"><p><span style="color: #ffffff;">Unser Team steht Ihnen für Ihre Fragen und zur Beratung gerne zur Verfügung.</span></p> 6662<p><span class="gross"><a tabindex="0" title="Rufen Sie uns an!" href="tel:+49tel:+493075016555"><span style="color: #ffffff;">030 - 750 16 550</span></a></span></p> 6663<p><span class="gross" style="color: #ffffff;"><a style="color: #ffffff;" tabindex="0" href="mailto:[email protected]">[email protected]</a></span></p> 6664<p> </p> 6665<p style="text-align: center; margin-bottom: 0 !important;"><span class="gross" style="color: #ffffff;">Unser Service</span></p> 6666<hr style="background-color: #fff; margin-top: 5px;"></div><div data-content-type="text" data-appearance="default" id="" data-element="main"><p><span style="color: #ffffff;">Damit Sie dann auch lange Freude mit Ihrer neuen Technik haben, bieten wir Ihnen auch den passenden Service an. </span></p> 6667<p><span style="color: #ffffff;">Von der Installation, über den technischen Support bis hin zum Wartungsvertrag.</span></p> 6668<p><span style="color: #ffffff;">Sprechen Sie uns einfach an. Wir beraten Sie gerne und unverbindlich.</span></p></div></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="FGB8GF2"><div data-content-type="text" data-appearance="default" id="" data-element="main"><p style="text-align: center; margin-bottom: 0 !important;"><span class="gross" style="color: #ffffff;">Wir antworten i.d.R. innerhalb 2 Stunden.</span></p> 6669<hr style="background-color: #fff; margin-top: 5px;"></div><div data-content-type="block" data-appearance="default" data-element="main"><div class="widget block block-static-block"> 6670 <style>::backdrop { 6671--tw-border-spacing-x: 0; 6672--tw-border-spacing-y: 0; 6673--tw-translate-x: 0; 6674--tw-translate-y: 0; 6675--tw-rotate: 0; 6676--tw-skew-x: 0; 6677--tw-skew-y: 0; 6678--tw-scale-x: 1; 6679--tw-scale-y: 1; 6680--tw-pan-x: ; 6681--tw-pan-y: ; 6682--tw-pinch-zoom: ; 6683--tw-scroll-snap-strictness: proximity; 6684--tw-gradient-from-position: ;
6685--tw-gradient-via-position: ; 6686--tw-gradient-to-position: ; 6687--tw-ordinal: ; 6688--tw-slashed-zero: ; 6689--tw-numeric-figure: ; 6690--tw-numeric-spacing: ; 6691--tw-numeric-fraction: ; 6692--tw-ring-inset: ; 6693--tw-ring-offset-width: 0px; 6694--tw-ring-offset-color: #fff; 6695--tw-ring-color: rgb(59 130 246 / 0.5); 6696--tw-ring-offset-shadow: 0 0 #0000; 6697--tw-ring-shadow: 0 0 #0000; 6698--tw-shadow: 0 0 #0000; 6699--tw-shadow-colored: 0 0 #0000; 6700--tw-blur: ; 6701--tw-brightness: ; 6702--tw-contrast: ; 6703--tw-grayscale: ; 6704--tw-hue-rotate: ; 6705--tw-invert: ; 6706--tw-saturate: ; 6707--tw-sepia: ; 6708--tw-drop-shadow: ; 6709--tw-backdrop-blur: ; 6710--tw-backdrop-brightness: ; 6711--tw-backdrop-contrast: ; 6712--tw-backdrop-grayscale: ; 6713--tw-backdrop-hue-rotate: ; 6714--tw-backdrop-invert: ; 6715--tw-backdrop-opacity: ; 6716--tw-backdrop-saturate: ; 6717--tw-backdrop-sepia: 6718} 6719.cmsb3-block { 6720display: block 6721}</style> 6722<div data-content-type="html" data-appearance="default" id="" data-element="main" data-decoded="true"> 6723<form class="form contact formberatung" action="https://pik.de/shop/pikcontact/index/post/" id="contact-form" method="post" x-data="initContactForm()" @submit.prevent="submitForm()"> 6724 6725 <input name="form_key" type="hidden" value="rbk6CO4BduJNJki3"> 6726 <!-- for reCAPTCHA v3 --> 6727 <div class="control"> 6728 <input type="hidden" value="" name="g-recaptcha-response"> 6729</div> 6730 6731 <fieldset class="fieldset"> 6732 <div class="field radio mb-4"> 6733 <div class="control radio-button radio-wrapper flex"> 6734 <div class="control flex gap-3 items-center mr-4 custom-control"> 6735 <label class="label text-white" for="prefix_male">Herr</label> 6736 <input type="radio" name="prefix" id="prefix_male" value="Herr"> 6737 </div> 6738 <div class="control flex gap-3 items-center custom-control"> 6739 <label class="label text-white" for="prefix_female">Frau</label> 6740 <input type="radio" name="prefix" id="prefix_female" value="Frau"> 6741 </div> 6742 </div> 6743 </div> 6744 <div class="field name required mb-4"> 6745 <label class="label" for="name"> 6746 <span class="text-white">Ihr Name</span> 6747 </label> 6748 <div class="control"> 6749 <input name="name" id="name" title="Ihr Name" class="w-full input-text" type="text" required> 6750 </div> 6751 </div> 6752 <div class="field email required mb-4"> 6753 <label class="label" for="email"> 6754 <span class="text-white">Ihre E-Mail</span> 6755 </label> 6756 <div class="control"> 6757 <input name="email" id="email" title="Bitte geben Sie eine gültige E-Mail-Adresse an." class="w-full input-text" type="email" pattern="^[^\s@]+@[^\s@]+\.[^\s@]+$" required> 6758 </div> 6759 </div> 6760 <div class="field telephone required mb-4"> 6761 <label class="label" for="telephone"> 6762 <span class="text-white">Ihre Telefonnummer</span> 6763 </label> 6764 <div class="control"> 6765 <input name="telephone" id="telephone" title="Ihre Telefonnummer" class="w-full input-text" type="tel" required> 6766 </div> 6767 </div> 6768 <div class="field comment mb-4"> 6769 <label class="label" for="comment"> 6770 <span class="text-white">Haben Sie vorab eine Frage?</span> 6771 </label> 6772 <div class="control"> 6773 <textarea name="comment" id="comment" title="Haben Sie vorab eine Frage?" class="w-full input-text" cols="5" rows="3"></textarea> 6774 </div> 6775 </div> 6776 <div class="field choice required mt-4 mb-4"> 6777 <input type="checkbox" value="1" id="privacy_policy" name="privacy_policy" required class="mr-2"> 6778 <label class="label" for="privacy_policy"> 6779 <span class="text-white">Ich habe die Datenschutzerklärung gelesen und akzeptiert</span> 6780 </label> 6781 </div> 6782 </fieldset> 6783 6784 <!-- Only for recaptcha v3: render the legal notice block --> 6785 <div class="w-full grecaptcha-legal text-white"> 6786 <p class="my-4 text-sm"> 6787 Dieses Formular ist durch reCAPTCHA geschützt - es gelten die <a class="underline" href="https://policies.google.com/privacy" target="_blank" rel="noopener">Google-Datenschutzbestimmungen</a> und <a class="underline" href="https://policies.google.com/terms" target="_blank" rel="noopener">-Geschä
6787ftsbedingungen</a>.</p> 6788 </div> 6789 6790 <div class="actions-toolbar block mt-0"> 6791 <div class="primary"> 6792 <input type="hidden" name="hideit" id="hideit" value=""> 6793 <button type="submit" title="Submit" class="block w-full action submit primary custom-button"> 6794 <span class="text-[#0f1e5a] text-center w-full">Unverbindliche Beratung anfordern</span> 6795 </button> 6796 </div> 6797 </div> 6798</form>
6799<script> 6800 function initContactForm() { 6801 return { 6802 submitForm() { 6803 // Do not rename $form! 6804 // In recaptcha_validation it is expected to be declared 6805 6806 const $form = document.getElementById('contact-form'); 6807 if (!this.hasCaptchaToken) { 6808 this.errors = 1; 6809 6810 6811 const executeGreCaptcha = () => { 6812 grecaptcha.ready(() => { 6813 grecaptcha.execute( 6814 '6LfkTJooAAAAALRIyqeaJ6hs4IoAK0RhQDtXBjKf', 6815 {action: 'contactform_0'} 6816 ).then((token) => { 6817 const tokenElement = $form['g\u002Drecaptcha\u002Dresponse']; 6818 6819 if (tokenElement && token && token.length > 0) { 6820 $form['g\u002Drecaptcha\u002Dresponse'].value = token; 6821 this.errors = 0; 6822 this.hasCaptchaToken = 1; 6823 (this.submitForm || $form.submit).call(this); 6824 } else { 6825 this.errors = 1; 6826 const error = tokenElement 6827 ? 'ReCaptcha\u0020validation\u0020failed,\u0020please\u0020try\u0020again' 6828 : 'ReCaptcha\u0020token\u0020element\u0020is\u0020missing.\u0020Please\u0020refresh\u0020the\u0020page\u0020and\u0020trying\u0020again.'; 6829 if (this.setErrorMessages) { 6830 this.setErrorMessages([error]) 6831 this.displayErrorMessage = true; 6832 } else { 6833 window.dispatchMessages && window.dispatchMessages([{type: "error", text: error}], 5000); 6834 } 6835 } 6836 }).catch(exception => { 6837 console.error(exception || `An unknown error occurred during ReCaptcha validation. Are the tokens and the domain correctly set up in the Google console?`) 6838 }); 6839 }) 6840 } 6841 6842 if (window.grecaptcha) { 6843 executeGreCaptcha(); 6844 } else { 6845 const recaptchaUrl = "https://www.google.com/recaptcha/api.js?render=6LfkTJooAAAAALRIyqeaJ6hs4IoAK0RhQDtXBjKf"; 6846 const script = document.createElement('script'); 6847 script.setAttribute('type', 'text/javascript'); 6848 script.setAttribute('src', recaptchaUrl); 6849 document.head.appendChild(script); 6850 6851 script.addEventListener("load", executeGreCaptcha, false); 6852 } 6853 } 6854 6855 if (this.errors === 0) { 6856 $form.submit(); 6857 } 6858 } 6859 } 6860 } 6861</script>
6861 6862</div></div> 6863</div></div></div></div></div></div></div> 6864</div><footer class="page-footer"><div class="footer content">
6864<script defer src='//widgets.trustedshops.com/js/X8E01D175341C80C0E2837CA214514100.js' 6865 id='ts-easy-integration-trustbadge-main-js' group='1' async data-desktop-y-offset='120' 6866 data-mobile-y-offset='120' data-desktop-disable-reviews='false' data-desktop-enable-custom='false' 6867 data-desktop-position='right' data-desktop-custom-width='156' data-desktop-enable-fadeout='false' 6868 data-disable-mobile='false' data-disable-trustbadge='false' data-mobile-custom-width='156' 6869 data-mobile-disable-reviews='false' data-mobile-enable-custom='false' data-mobile-position='right' 6870 charset='UTF-8'></script>
6870 6871<style>::backdrop { 6872--tw-border-spacing-x: 0; 6873--tw-border-spacing-y: 0; 6874--tw-translate-x: 0; 6875--tw-translate-y: 0; 6876--tw-rotate: 0; 6877--tw-skew-x: 0; 6878--tw-skew-y: 0; 6879--tw-scale-x: 1; 6880--tw-scale-y: 1; 6881--tw-pan-x: ; 6882--tw-pan-y: ; 6883--tw-pinch-zoom: ; 6884--tw-scroll-snap-strictness: proximity; 6885--tw-gradient-from-position: ; 6886--tw-gradient-via-position: ; 6887--tw-gradient-to-position: ; 6888--tw-ordinal: ; 6889--tw-slashed-zero: ; 6890--tw-numeric-figure: ; 6891--tw-numeric-spacing: ; 6892--tw-numeric-fraction: ; 6893--tw-ring-inset: ; 6894--tw-ring-offset-width: 0px; 6895--tw-ring-offset-color: #fff; 6896--tw-ring-color: rgb(59 130 246 / 0.5); 6897--tw-ring-offset-shadow: 0 0 #0000; 6898--tw-ring-shadow: 0 0 #0000; 6899--tw-shadow: 0 0 #0000; 6900--tw-shadow-colored: 0 0 #0000; 6901--tw-blur: ; 6902--tw-brightness: ; 6903--tw-contrast: ; 6904--tw-grayscale: ; 6905--tw-hue-rotate: ; 6906--tw-invert: ; 6907--tw-saturate: ; 6908--tw-sepia: ; 6909--tw-drop-shadow: ; 6910--tw-backdrop-blur: ; 6911--tw-backdrop-brightness: ; 6912--tw-backdrop-contrast: ; 6913--tw-backdrop-grayscale: ; 6914--tw-backdrop-hue-rotate: ; 6915--tw-backdrop-invert: ; 6916--tw-backdrop-opacity: ; 6917--tw-backdrop-saturate: ; 6918--tw-backdrop-sepia: 6919} 6920.cmsb75-absolute { 6921position: absolute 6922} 6923.cmsb75-relative { 6924position: relative 6925} 6926.cmsb75-mr-3 { 6927margin-right: 0.75rem 6928} 6929.cmsb75-block { 6930display: block 6931} 6932.cmsb75-inline { 6933display: inline 6934} 6935.cmsb75-flex { 6936display: flex 6937} 6938.cmsb75-hidden { 6939display: none 6940} 6941.cmsb75-cursor-pointer { 6942cursor: pointer 6943} 6944.cmsb75-border { 6945border-width: 1px 6946} 6947.cmsb75-text-xl { 6948font-size: 1.25rem; 6949line-height: 1.75rem 6950} 6951.cmsb75-uppercase { 6952text-transform: uppercase 6953} 6954.cmsb75-transition { 6955transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; 6956transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); 6957transition-duration: 150ms 6958} 6959.cmsb75-duration-500 { 6960transition-duration: 500ms 6961} 6962.cmsb75-ease-in { 6963transition-timing-function: cubic-bezier(0.4, 0, 1, 1) 6964} 6965.cmsb75-ease-in-out { 6966transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) 6967}</style> 6968<div data-content-type="html" data-appearance="default" id="" data-element="main" data-decoded="true"><footer class="page-footer"><div class="footer content"> 6969<style> 6970#html-body [data-pb-style=X5XVKAH], 6971#menu-pik-icons .icon-item a:hover { 6972 background-color: #0f1e5a !important; 6973} 6974 6975 6976 6977#pik-footer { 6978background: #0f1e5a; 6979background: linear-gradient(180deg, rgba(7, 15, 45, 1) 0%, rgba(15, 30, 90, 1) 50%) !important; 6980box-shadow: 0px -9px 75px 0 rgb(0 0 0/45%) !important; 6981-webkit-box-shadow: 0px -9px 75px 0 rgb(0 0 0/45%); 6982position: relative; 6983 z-index: 100; 6984} 6985div#pik-anfrage { 6986 padding-bottom: 64px !important; 6987} 6988 6989 6990 6991span.social-list.half-icons svg { 6992 fill: #fff; 6993 display: inline; 6994} 6995 6996.fa-envelope-o svg { 6997 display: inline; 6998 width: 22px; 6999 height: 22px; 7000 fill: #0f1e5a; 7001 margin-top: -2px; 7002} 7003 7004 7005select.form-select.sorter-options.mr-3 { 7006 width: 135px !important; 7007 border: none !important; 7008 border: 1px solid #ddd !important; 7009 box-shadow: 0 6px 10px 0 rgb(0 0 0 / 10%); 7010} 7011 7012 7013 7014 7015 7016.rating-summary.flex.cursor-pointer { 7017 display: none; 7018} 7019.price-box.price-final_price { 7020 text-align: center; 7021} 7022 7023div#back2Top { 7024 bottom: 50px; 7025 right: 30px; 7026 color: #fff; 7027 background: #333; 7028} 7029 7030 7031 7032 7033body { 7034 font-family: "Roboto Condensed", "Helvetica Neue", Arial, sans-serif; 7035 background:#fff; 7036} 7037 7038.panel.header { 7039 background-image: url(https://pik.de/wp-content/uploads/2018/09/ecke3.png); 7040 background-repeat: no-repeat; 7041 background-size: contain; 7042 background-position: top right; 7043 padding:10px; 7044} 7045 7046 7047 7048.message.company-warning._hidden { 7049 display: none !important; 7050} 7051 7052 7053 7054.newsletter-container { 7055 padding: 40px 30px; 7056 margin: -20px auto 0; 7057 max-width: 1280px; 7058 color:#333; 7059} 7060.nl-title, .pik-blue { 7061 color: #1b4f80; 7062} 7063 7064.nl-title{ 7065 font-size: 22px; 7066} 7067.newsletter-box { 7068 margin-bottom: 20px; 7069 padding-top: 0; 7070 margin-top: -45px; 7071 background-color: #f4f4f4; 7072} 7073.newsletter-button { 7074 display: block; 7075 background-color: #1f507c; 7076 border: 1px solid #fff; 7077 letter-spacing: .5px; 7078 min-width: 250px; 7079 color: #fff; 7080 padding: 1rem 2.5rem; 7081 font-size: 14px; 7082 text-align: center; 7083 line-height: 1; 7084 position: relative; 7085 text-transform: uppercase; 7086 overflow: hidden; 7087 font-weight: 700; 7088 cursor: pointer; 7089 border-radius: 5px; 7090 -webkit-transition: all.3s ease-in-out; 7091 -moz-transition: all .3s ease-in-out; 7092 transition: all .3s ease-in-out 7093} 7094 7095.newsletter-button:hover { 7096 color: #1f507c; 7097 background-color: #fff; 7098 border: 1px solid #1f507c 7099} 7100 7101.wp-block-embed__wrapper { 7102 position: relative; 7103 overflow: hidden; 7104 width: 100%; 7105 padding-top: 56.25%; 7106} 7107 7108.wp-block-embed__wrapper iframe { 7109 position: absolute; 7110 top: 0; 7111 left: 0; 7112 bottom: 0; 7113 right: 0; 7114 width: 100%; 7115 height: 100%; 7116} 7117</style> 7118 7119<div id="pik-footer"> 7120<div class="cmsb75-duration-500 cmsb75-ease-in _alignfull newsletter-box row-fullwidth"> 7121<div class="newsletter-container"> 7122 7123<div class="wp-block-columns"> 7124<div class="wp-block-column"> 7125<h3 class="nl-title" style="color:#0f1e5a !important;"><i class="fa fa-envelope-o"><svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" viewB
7125ox="0 0 512 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2023 Fonticons, Inc.--><path d="M64 112c-8.8 0-16 7.2-16 16v22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16H64zM48 212.2V384c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z"/></svg></i>Der PIK AG Newsletter.</h3> 7126 7127 7128 7129<p class="pik-blue" style="color:#0f1e5a !important;">Melden Sie sich bei unseren Newsletter an</p> 7130</div> 7131 7132 7133 7134<div class="wp-block-column"> 7135<a href="/shop/unser-newsletter" class="newsletter-button" style="background:#0f1e5a;" data-featherlight="iframe">Zur Newsletter-Anmeldung</a> 7136</div> 7137</div> 7138 7139 7140 7141<p>Wir versenden in regelmäÃigen Abständen (ca. 1x/Quartal) einen Newsletter mit aktuellen Beiträgen zu unseren Workshops und Projekten und informieren über die neusten Entwicklungen und Produkte der Medientechnik.</p> 7142 7143 7144 7145<p></p> 7146 7147</div> 7148 7149 7150</div> 7151 7152 7153 7154 7155<div class="wp-block-columns"> 7156<div class="wp-block-column"> 7157<div><img class="PIK AG Logo" src="https://pik.de/wp-content/uploads/2018/09/PIK-Logo-weiss.svg" alt="" width="151" height="69"></div> 7158<p>PIK GmbH<br>RathausstraÃe 48<br>12105 Berlin<br>Telefon: 030/75016-500<br>Fax: 030/75016-588<br>[email protected]</p> 7159</div> 7160 7161 7162 7163 <div class="wp-block-column"> 7164 <div class="footer-menu"> 7165 <div class="menu-title widgettitle">Geschäftsfelder</div> 7166 <div class="footermenu"> 7167 <ul> 7168 <li><a class="footer-menu-item" href="https://pik.de/medientechnik/" title="Medientechnik">Medientechnik</a></li> 7169 <li><a class="footer-menu-item" href="https://pik.de/videokonferenz/" title="Videokonferenz">Videokonferenz</a></li> 7170 <li><a class="footer-menu-item" href="https://pik.de/veranstaltungstaetten/" title="Veranstaltungstätten">Veranstaltungstätten</a></li> 7171 <li><a class="footer-menu-item" href="https://pik.de/audiotechnik/" title="Audiotechnik">Audiotechnik</a></li> 7172 <li><a class="footer-menu-item" href="https://pik.de/lichttechnik/" title="Lichttechnik">Lichttechnik</a></li> 7173 <li><a class="footer-menu-item" href="https://pik.de/digital-signage/" title="Digital Signage">Digital Signage</a></li> 7174 <li><a class="footer-menu-item" href="https://pik.de/managed-services/" title="Managed Services">Managed Services</a></li> 7175 <li><a class="footer-menu-item" href="https://pik.de/service-und-wartung/" title="Service & Wartung">Service & Wartung</a></li> 7176 <li><a class="footer-menu-item" href="https://pik.de/shop/" title="SHOP">SHOP</a></li> 7177 </ul> 7178 </div> 7179 </div> 7180 </div> 7181 7182 <div class="wp-block-column"> 7183 <div class="footer-menu"> 7184 <div class="menu-title widgettitle">Lösungen</div> 7185 <div class="footermenu"> 7186 <ul> 7187 <li><a class="footer-menu-item" href="https://pik.de/videokonferenz/konferenzraum-und-konferenzraumtechnik/" title="Konferenzraumtechnik">Konferenzraumtechnik</a></li> 7188 <li><a class="footer-menu-item" href="https://pik.de/medientechnik/schulen-universitaeten-hoersaal/" title="Schulen Universitäten Hörsaal">Schulen Universitäten Hörsaal</a></li> 7189 <li><a class="footer-menu-item" href="https://pik.de/medientechnik/museen-und-ausstellungen/" title="Museen und Ausstellungen">Museen und Ausstellungen</a></li> 7190 <li><a class="footer-menu-item" href="https://pik.de/medientechnik/hotels/" title="Hotels">Hotels</a></li> 7191 <li><a class="footer-menu-item" href="https://pik.de/?page_id=5905" title="Leitwarten">Leitwarten</a></li> 7192 </ul> 7193 </div> 7194 </div> 7195 </div> 7196 7197 <div class="wp-block-column"> 7198 <div class="footer-menu"> 7199 <div class="menu-title widgettitle">Innovationen</div> 7200 <div class="footermenu"> 7201 <ul> 7202 <li><a class="footer-menu-item" href="https://pik.de/videokonferenz/teams-rooms/" title="TEAMS ROOMS">TEAMS ROOMS</a></li> 7203 <li><a class="footer-menu-item" href="https://pik.de/videokonferenz/google-workspace/google-meet/" title="Google Meet">Google Meet</a></li> 7204 <li><a class="footer-menu-item" href="https://pik.de/videokonferenz/zoom/" title="Zoom">Zoom</a></li> 7205 <li><a class="footer-menu-item" href="https://pik.de/medientechnik/clickshare/" title="ClickShare">
7205ClickShare</a></li> 7206 <li><a class="footer-menu-item" href="https://pik.de/medientechnik/interaktive-whiteboards-touch-displays/samsung-flip/" title="Samsung Flip">Samsung Flip</a></li> 7207 <li><a class="footer-menu-item" href="https://pik.de/videokonferenz/videokonferenz-kamera/auto-tracking-kameras/" title="KI - Auto Tracking Kameras">KI - Auto Tracking Kameras</a></li> 7208 <li><a class="footer-menu-item" href="https://pik.de/videokonferenz/polycom/" title="POLY">POLY</a></li> 7209 <li><a class="footer-menu-item" href="https://pik.de/medientechnik/crestron/" title="Crestron">Crestron</a></li> 7210 <li><a class="footer-menu-item" href="https://pik.de/medientechnik/led-wand-videowall/" title="LED-Wand / Videowall">LED-Wand / Videowall</a></li> 7211 </ul> 7212 </div> 7213 </div> 7214 </div> 7215 7216 <div class="wp-block-column"> 7217 <div class="footer-menu"> 7218 <div class="menu-title widgettitle">Unternehmen</div> 7219 <div class="footermenu"> 7220 <ul> 7221 <li><a class="footer-menu-item" href="https://pik.de/unternehmen/philosophie-der-pik-ag/" title="Philosophie der PIK">Philosophie der PIK</a></li> 7222 <li><a class="footer-menu-item" href="https://pik.de/unternehmen/unternehmenshistorie-der-pik-ag/" title="Unternehmenshistorie der PIK">Unternehmenshistorie der PIK</a></li> 7223 <li><a class="footer-menu-item" href="https://pik.de/unternehmen/karriere/" title="Karriere">Karriere</a></li> 7224 <li><a class="footer-menu-item" href="https://pik.de/unternehmen/handelspartner/" title="Handelspartner">Handelspartner</a></li> 7225 <li><a class="footer-menu-item" href="https://pik.de/engagement/" title="Soziales Engagment">Soziales Engagment</a></li> 7226 <li><a class="footer-menu-item" href="https://pik.de/convention/" title="PIK Convention">PIK Convention</a></li> 7227 </ul> 7228 </div> 7229 </div> 7230 </div> 7231 7232 <div class="wp-block-column"> 7233 <div class="footer-menu"> 7234 <div class="menu-title widgettitle">Service</div> 7235 <div class="footermenu"> 7236 <ul> 7237 <li><a class="footer-menu-item" href="https://pik.de/kontakt/" title="Kontaktieren Sie uns!">Kontaktieren Sie uns!</a></li> 7238 <li><a class="footer-menu-item" href="https://pik.de/service-und-wartung/" title="Service & Wartung">Service & Wartung</a></li> 7239 <li><a class="footer-menu-item" href="https://pik.de/unternehmen/downloads/" title="Downloads">Downloads</a></li> 7240 </ul> 7241 </div> 7242 </div> 7243 </div> 7244 7245 7246 7247 7248 7249</div> 7250 7251 7252 7253<div class="footer-menu social-icons"><div class="widgettitle">Besuchen Sie uns auch auf unseren sozialen Kanälen:</div> 7254 7255<span class="social-list half-icons"> 7256<a href="https://www.facebook.com/pikagberlin/" target="_blank"><i class="ic-colored sm-icon fa fa-facebook"><svg xmlns="http://www.w3.org/2000/svg" height="16" width="10" viewBox="0 0 320 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2023 Fonticons, Inc.--><path d="M80 299.3V512H196V299.3h86.5l18-97.8H196V166.9c0-51.7 20.3-71.5 72.7-71.5c16.3 0 29.4 .4 37 1.2V7.9C291.4 4 256.4 0 236.2 0C129.3 0 80 50.5 80 159.4v42.1H14v97.8H80z"/></svg></i></a> 7257<a href="https://www.linkedin.com/company/pik-ag/" target="_blank"><i class="ic-colored sm-icon fa fa-linkedin"><svg xmlns="http://www.w3.org/2000/svg" height="16" width="14" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2023 Fonticons, Inc.--><path d="M100.3 448H7.4V148.9h92.9zM53.8 108.1C24.1 108.1 0 83.5 0 53.8a53.8 53.8 0 0 1 107.6 0c0 29.7-24.1 54.3-53.8 54.3zM447.9 448h-92.7V302.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V448h-92.8V148.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V448z"/></svg></i></a> 7258<a href="https://www.xing.com/pages/pikag" target="_blank"><i class="ic-colored sm-icon fa fa-xing"><svg xmlns="http://www.w3.org/2000/svg" height="16" width="12" viewBox="0 0 384 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2023 Fonticons, Inc.--><path d="M162.7 210c-1.8 3.3-25.2 44.4-70.1 123.5-4.9 8.3-10.8 12.5-17.7 12.5H9.8c-7.7 0-12.1-7.5-8.5-14.4l69-121.3c.2 0 .2-.1 0-.3l-43.9-75.6c-4.3-7.8 .3-14.1 8.5-14.1H100c7.3 0 13.3 4.1 18 12.2l44.7 77.5zM382.6 46.1l-144 253v.3L330.2 466c3.9 7.1 .2 14.1-8.5 14.1h-65.2c-7.6 0-13.6-4-18-12.2l-92.4-168.5c3.3-5.8 51.5-90.8 144.8-255.2 4.6-8.1 10.4-12.2 17.5-12.2h65.7c8 0 12.3 6.7 8.5 14.1z"/></svg></i></a> 7259<a href="https://www.youtube.com/channel/UC9JaGJwfGmevW71ptGJ5xMw" target="_blank"><i class="ic-colored sm-icon fa fa-youtube"><svg xmlns="http://www.w3.org/2000/svg" height="16" width="18" viewBox="0 0 576 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2023 Fonticons, Inc.--><path d="M549.7 124.1c-6.3-23.7-24.8-42.3-48.3-48.6C458.8 64 288 64 288 64S117.2 64 74.6 75.5c-23.5 6.3-42 24.9-48.3 48.6-11.4 42.9-11.4 132.3-11.4 132.3s0 89.4 11.4 132.3c6.3 23.7 24.8 41.5 48.3 47.8C117.2 448 288 448 288 448s170.8 0 213.4-11.5c23.5-6.3 42-24.2 48.3-47.8 11.4-42.9 11.4-132.3 11.4-132.3s0-89.4-11.4-132.3zm-317.5 213.5V175.2l142.7 81.2-142.7 81.2z"/></svg></i></a> 7260<a href="https://www.instagram.com/pik_ag_medientechnik/" target="_blank" rel="noopener"><i class="ic-colored sm-icon fa fa-instagram instagram-bg"><svg xmlns="http://www.w3.org/2000/svg" height="16" width="14" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2023 Fonticons, Inc.--><path d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"/></svg></i></a> </span> 7261</div> 7262 7263 7264 7265<p class="footer-bottom">© 2026 PIK GmbH | <a href="https://pik.de/kontakt/">Kontakt</a> | <a href="https://pik.de/impressum/">Impressum</a> | <a href="https://pik.de/datenschutz/">Datenschutz</a> | <a href="https://pik.de/shop/widerruf/">Widerrufsrecht</a> | <a rel="noreferrer noopener" href="https://pik.de/agb/" target="_blank">AGB</a></p> 7266 7267</div> 7268 7269</div></footer></div> 7270 7271<!--extra html element as cmsBlock only if logged in --> 7272 7273<div class="widget block block-static-block"> 7274 <style>.cmsb111-container { 7275width: 100%; 7276} 7277@media (min-width: 640px) { 7278.cmsb111-container { 7279max-width: 640px; 7280} 7281} 7282@media (min-width: 768px) { 7283.cmsb111-container { 7284max-width: 768px; 7285} 7286} 7287@media (min-width: 1024px) { 7288.cmsb111-container { 7289max-width: 1024px; 7290} 7291} 7292@media (min-width: 1280px) { 7293.cmsb111-container { 7294max-width: 1280px; 7295} 7296} 7297@media (min-width: 1536px) { 7298.cmsb111-container { 7299max-width: 1536px; 7300} 7301} 7302.cmsb111-prose { 7303color: var(--tw-prose-body); 7304max-width: 65ch; 7305} 7306.cmsb111-prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7307margin-top: 1.25em; 7308margin-bottom: 1.25em; 7309} 7310.cmsb111-prose :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7311color: var(--tw-prose-lead); 7312font-size: 1.25em; 7313line-height: 1.6; 7314margin-top: 1.2em; 7315margin-bottom: 1.2em; 7316}
7317.cmsb111-prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7318color: var(--tw-prose-links); 7319text-decoration: underline; 7320font-weight: 500; 7321} 7322.cmsb111-prose :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7323color: var(--tw-prose-bold); 7324font-weight: 600; 7325} 7326.cmsb111-prose :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7327color: inherit; 7328} 7329.cmsb111-prose :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7330color: inherit; 7331} 7332.cmsb111-prose :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7333color: inherit; 7334} 7335.cmsb111-prose :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7336list-style-type: decimal; 7337margin-top: 1.25em; 7338margin-bottom: 1.25em; 7339padding-inline-start: 1.625em; 7340} 7341.cmsb111-prose :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7342list-style-type: upper-alpha; 7343} 7344.cmsb111-prose :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7345list-style-type: lower-alpha; 7346} 7347.cmsb111-prose :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7348list-style-type: upper-alpha; 7349} 7350.cmsb111-prose :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7351list-style-type: lower-alpha; 7352} 7353.cmsb111-prose :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7354list-style-type: upper-roman; 7355} 7356.cmsb111-prose :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7357list-style-type: lower-roman; 7358} 7359.cmsb111-prose :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7360list-style-type: upper-roman; 7361} 7362.cmsb111-prose :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7363list-style-type: lower-roman; 7364} 7365.cmsb111-prose :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7366list-style-type: decimal; 7367} 7368.cmsb111-prose :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7369list-style-type: disc; 7370margin-top: 1.25em; 7371margin-bottom: 1.25em; 7372padding-inline-start: 1.625em; 7373} 7374.cmsb111-prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker { 7375font-weight: 400; 7376color: var(--tw-prose-counters); 7377} 7378.cmsb111-prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker { 7379color: var(--tw-prose-bullets); 7380} 7381.cmsb111-prose :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7382color: var(--tw-prose-headings); 7383font-weight: 600; 7384margin-top: 1.25em; 7385} 7386.cmsb111-prose :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7387border-color: var(--tw-prose-hr); 7388border-top-width: 1px; 7389margin-top: 3em; 7390margin-bottom: 3em; 7391} 7392.cmsb111-prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7393font-weight: 500; 7394font-style: italic; 7395color: var(--tw-prose-quotes); 7396border-inline-start-width: 0.25rem; 7397border-inline-start-color: var(--tw-prose-quote-borders); 7398quotes: "\201C""\201D""\2018""\2019"; 7399margin-top: 1.6em; 7400margin-bottom: 1.6em; 7401padding-inline-start: 1em; 7402} 7403.cmsb111-prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before { 7404content: open-quote; 7405} 7406.cmsb111-prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after { 7407content: close-quote; 7408} 7409.cmsb111-prose :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7410color: var(--tw-prose-headings); 7411font-weight: 800; 7412font-size: 2.25em; 7413margin-top: 0; 7414margin-bottom: 0.8888889em; 7415line-height: 1.1111111; 7416} 7417.cmsb111-prose :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7418font-weight: 900; 7419color: inherit; 7420} 7421.cmsb111-prose :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7422color: var(--tw-prose-headings); 7423font-weight: 700; 7424font-size: 1.5em; 7425margin-top: 2em; 7426margin-bottom: 1em; 7427line-height: 1.3333333; 7428} 7429.cmsb111-prose :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7430font-weight: 800; 7431color: inherit; 7432} 7433.cmsb111-prose :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7434color: var(--tw-prose-headings);
7435font-weight: 600; 7436font-size: 1.25em; 7437margin-top: 1.6em; 7438margin-bottom: 0.6em; 7439line-height: 1.6; 7440} 7441.cmsb111-prose :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7442font-weight: 700; 7443color: inherit; 7444} 7445.cmsb111-prose :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7446color: var(--tw-prose-headings); 7447font-weight: 600; 7448margin-top: 1.5em; 7449margin-bottom: 0.5em; 7450line-height: 1.5; 7451} 7452.cmsb111-prose :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7453font-weight: 700; 7454color: inherit; 7455} 7456.cmsb111-prose :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7457margin-top: 2em; 7458margin-bottom: 2em; 7459} 7460.cmsb111-prose :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7461display: block; 7462margin-top: 2em; 7463margin-bottom: 2em; 7464} 7465.cmsb111-prose :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7466margin-top: 2em; 7467margin-bottom: 2em; 7468} 7469.cmsb111-prose :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7470font-weight: 500; 7471font-family: inherit; 7472color: var(--tw-prose-kbd); 7473box-shadow: 0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows) / 10%); 7474font-size: 0.875em; 7475border-radius: 0.3125rem; 7476padding-top: 0.1875em; 7477padding-inline-end: 0.375em; 7478padding-bottom: 0.1875em; 7479padding-inline-start: 0.375em; 7480} 7481.cmsb111-prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7482color: var(--tw-prose-code); 7483font-weight: 600; 7484font-size: 0.875em; 7485} 7486.cmsb111-prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before { 7487content: "`"; 7488} 7489.cmsb111-prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after { 7490content: "`"; 7491} 7492.cmsb111-prose :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7493color: inherit; 7494} 7495.cmsb111-prose :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7496color: inherit; 7497} 7498.cmsb111-prose :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7499color: inherit; 7500font-size: 0.875em; 7501} 7502.cmsb111-prose :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7503color: inherit; 7504font-size: 0.9em; 7505} 7506.cmsb111-prose :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7507color: inherit; 7508} 7509.cmsb111-prose :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7510color: inherit; 7511} 7512.cmsb111-prose :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7513color: inherit; 7514} 7515.cmsb111-prose :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7516color: var(--tw-prose-pre-code); 7517background-color: var(--tw-prose-pre-bg); 7518overflow-x: auto; 7519font-weight: 400; 7520font-size: 0.875em; 7521line-height: 1.7142857; 7522margin-top: 1.7142857em; 7523margin-bottom: 1.7142857em; 7524border-radius: 0.375rem; 7525padding-top: 0.8571429em; 7526padding-inline-end: 1.1428571em; 7527padding-bottom: 0.8571429em; 7528padding-inline-start: 1.1428571em; 7529} 7530.cmsb111-prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7531background-color: transparent; 7532border-width: 0; 7533border-radius: 0; 7534padding: 0; 7535font-weight: inherit; 7536color: inherit; 7537font-size: inherit; 7538font-family: inherit; 7539line-height: inherit; 7540} 7541.cmsb111-prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before { 7542content: none; 7543} 7544.cmsb111-prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after { 7545content: none; 7546} 7547.cmsb111-prose :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7548width: 100%; 7549table-layout: auto; 7550margin-top: 2em; 7551margin-bottom: 2em; 7552font-size: 0.875em; 7553line-height: 1.7142857; 7554} 7555.cmsb111-prose :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7556border-bottom-width: 1px; 7557border-bottom-color: var(--tw-prose-th-borders); 7558} 7559.cmsb111-prose :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7560color: var(--tw-prose-headings); 7561font-weight: 600; 7562vertical-align: bottom; 7563padding-inline-end: 0.5714286em; 7564padding-bottom: 0.5714286em; 7565padding-inline-start: 0.5714286em; 7566}
7567.cmsb111-prose :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7568border-bottom-width: 1px; 7569border-bottom-color: var(--tw-prose-td-borders); 7570} 7571.cmsb111-prose :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7572border-bottom-width: 0; 7573} 7574.cmsb111-prose :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7575vertical-align: baseline; 7576} 7577.cmsb111-prose :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7578border-top-width: 1px; 7579border-top-color: var(--tw-prose-th-borders); 7580} 7581.cmsb111-prose :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7582vertical-align: top; 7583} 7584.cmsb111-prose :where(th, td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7585text-align: start; 7586} 7587.cmsb111-prose :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7588margin-top: 0; 7589margin-bottom: 0; 7590} 7591.cmsb111-prose :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7592color: var(--tw-prose-captions); 7593font-size: 0.875em; 7594line-height: 1.4285714; 7595margin-top: 0.8571429em; 7596} 7597.cmsb111-prose { 7598--tw-prose-body: #374151; 7599--tw-prose-headings: #111827; 7600--tw-prose-lead: #4b5563; 7601--tw-prose-links: #111827; 7602--tw-prose-bold: #111827; 7603--tw-prose-counters: #6b7280; 7604--tw-prose-bullets: #d1d5db; 7605--tw-prose-hr: #e5e7eb; 7606--tw-prose-quotes: #111827; 7607--tw-prose-quote-borders: #e5e7eb; 7608--tw-prose-captions: #6b7280; 7609--tw-prose-kbd: #111827; 7610--tw-prose-kbd-shadows: 17 24 39; 7611--tw-prose-code: #111827; 7612--tw-prose-pre-code: #e5e7eb; 7613--tw-prose-pre-bg: #1f2937; 7614--tw-prose-th-borders: #d1d5db; 7615--tw-prose-td-borders: #e5e7eb; 7616--tw-prose-invert-body: #d1d5db; 7617--tw-prose-invert-headings: #fff; 7618--tw-prose-invert-lead: #9ca3af; 7619--tw-prose-invert-links: #fff; 7620--tw-prose-invert-bold: #fff; 7621--tw-prose-invert-counters: #9ca3af; 7622--tw-prose-invert-bullets: #4b5563; 7623--tw-prose-invert-hr: #374151; 7624--tw-prose-invert-quotes: #f3f4f6; 7625--tw-prose-invert-quote-borders: #374151; 7626--tw-prose-invert-captions: #9ca3af; 7627--tw-prose-invert-kbd: #fff; 7628--tw-prose-invert-kbd-shadows: 255 255 255; 7629--tw-prose-invert-code: #fff; 7630--tw-prose-invert-pre-code: #d1d5db; 7631--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%); 7632--tw-prose-invert-th-borders: #4b5563; 7633--tw-prose-invert-td-borders: #374151; 7634font-size: 1rem; 7635line-height: 1.75; 7636} 7637.cmsb111-prose :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7638margin-top: 0; 7639margin-bottom: 0; 7640} 7641.cmsb111-prose :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7642margin-top: 0.5em; 7643margin-bottom: 0.5em; 7644} 7645.cmsb111-prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7646padding-inline-start: 0.375em; 7647} 7648.cmsb111-prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7649padding-inline-start: 0.375em; 7650} 7651.cmsb111-prose :where(.cmsb111-prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7652margin-top: 0.75em; 7653margin-bottom: 0.75em; 7654} 7655.cmsb111-prose :where(.cmsb111-prose > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7656margin-top: 1.25em; 7657} 7658.cmsb111-prose :where(.cmsb111-prose > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7659margin-bottom: 1.25em; 7660} 7661.cmsb111-prose :where(.cmsb111-prose > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7662margin-top: 1.25em; 7663} 7664.cmsb111-prose :where(.cmsb111-prose > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7665margin-bottom: 1.25em; 7666} 7667.cmsb111-prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7668margin-top: 0.75em; 7669margin-bottom: 0.75em; 7670} 7671.cmsb111-prose :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7672margin-top: 1.25em; 7673margin-bottom: 1.25em; 7674} 7675.cmsb111-prose :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7676margin-top: 0.5em; 7677padding-inline-start: 1.625em; 7678} 7679.cmsb111-prose :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7680margin-top: 0; 7681} 7682.cmsb111-prose :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7683margin-top: 0; 7684} 7685.cmsb111-prose :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7686margin-top: 0; 7687} 7688.cmsb111-prose :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7689margin-top: 0; 7690} 7691.cmsb111-prose :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7692padding-inline-start: 0; 7693} 7694.cmsb111-prose :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7695padding-inline-end: 0; 7696} 7697.cmsb111-prose :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7698padding-top: 0.5714286em; 7699padding-inline-end: 0.5714286em; 7700padding-bottom: 0.5714286em; 7701padding-inline-start: 0.5714286em; 7702}
7703.cmsb111-prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7704padding-inline-start: 0; 7705} 7706.cmsb111-prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7707padding-inline-end: 0; 7708} 7709.cmsb111-prose :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7710margin-top: 2em; 7711margin-bottom: 2em; 7712} 7713.cmsb111-prose :where(.cmsb111-prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7714margin-top: 0; 7715} 7716.cmsb111-prose :where(.cmsb111-prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { 7717margin-bottom: 0; 7718} 7719.cmsb111-fixed { 7720position: fixed; 7721} 7722.cmsb111-absolute { 7723position: absolute; 7724} 7725.cmsb111-relative { 7726position: relative; 7727} 7728.cmsb111-inset-0 { 7729inset: 0px; 7730} 7731.cmsb111-left-0 { 7732left: 0px; 7733} 7734.cmsb111-right-0 { 7735right: 0px; 7736} 7737.cmsb111-z-10 { 7738z-index: 10; 7739} 7740.cmsb111-z-50 { 7741z-index: 50; 7742} 7743.cmsb111-order-1 { 7744order: 1; 7745} 7746.cmsb111-col-span-1 { 7747grid-column: span 1 / span 1; 7748} 7749.cmsb111-col-span-2 { 7750grid-column: span 2 / span 2; 7751} 7752.cmsb111-my-4 { 7753margin-top: 1rem; 7754margin-bottom: 1rem; 7755} 7756.cmsb111-my-6 { 7757margin-top: 1.5rem; 7758margin-bottom: 1.5rem; 7759} 7760.cmsb111-mb-6 { 7761margin-bottom: 1.5rem; 7762} 7763.cmsb111-ml-2 { 7764margin-left: 0.5rem; 7765} 7766.cmsb111-ml-auto { 7767margin-left: auto; 7768} 7769.cmsb111-mr-2 { 7770margin-right: 0.5rem; 7771} 7772.cmsb111-mr-auto { 7773margin-right: auto; 7774} 7775.cmsb111-mt-4 { 7776margin-top: 1rem; 7777} 7778.cmsb111-mt-8 { 7779margin-top: 2rem; 7780} 7781.cmsb111-block { 7782display: block; 7783} 7784.cmsb111-flex { 7785display: flex; 7786} 7787.cmsb111-inline-flex { 7788display: inline-flex; 7789} 7790.cmsb111-table { 7791display: table; 7792} 7793.cmsb111-grid { 7794display: grid; 7795} 7796.cmsb111-hidden { 7797display: none; 7798} 7799.cmsb111-h-10 { 7800height: 2.5rem; 7801} 7802.cmsb111-w-1 { 7803width: 0.25rem; 7804} 7805.cmsb111-w-10 { 7806width: 2.5rem; 7807} 7808.cmsb111-w-20 { 7809width: 5rem; 7810} 7811.cmsb111-w-60 { 7812width: 15rem; 7813} 7814.cmsb111-w-auto { 7815width: auto; 7816} 7817.cmsb111-w-full { 7818width: 100%; 7819} 7820.cmsb111-max-w-prose { 7821max-width: 65ch; 7822} 7823.cmsb111-table-auto { 7824table-layout: auto; 7825} 7826.cmsb111-transform { 7827transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); 7828} 7829.cmsb111-grid-cols-1 { 7830grid-template-columns: repeat(1, minmax(0, 1fr)); 7831} 7832.cmsb111-grid-cols-3 { 7833grid-template-columns: repeat(3, minmax(0, 1fr)); 7834} 7835.cmsb111-grid-cols-4 { 7836grid-template-columns: repeat(4, minmax(0, 1fr)); 7837} 7838.cmsb111-flex-row { 7839flex-direction: row; 7840} 7841.cmsb111-flex-col { 7842flex-direction: column; 7843} 7844.cmsb111-flex-wrap { 7845flex-wrap: wrap; 7846} 7847.cmsb111-items-center { 7848align-items: center; 7849} 7850.cmsb111-justify-center { 7851justify-content: center; 7852} 7853.cmsb111-justify-between { 7854justify-content: space-between; 7855} 7856.cmsb111-gap-4 { 7857gap: 1rem; 7858} 7859.cmsb111-gap-8 { 7860gap: 2rem; 7861} 7862.cmsb111-space-x-1 > :not([hidden]) ~ :not([hidden]) { 7863--tw-space-x-reverse: 0; 7864margin-right: calc(0.25rem * var(--tw-space-x-reverse)); 7865margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse))); 7866} 7867.cmsb111-rounded-full { 7868border-radius: 9999px; 7869} 7870.cmsb111-rounded-md { 7871border-radius: 0.375rem; 7872} 7873.cmsb111-border { 7874border-width: 1px; 7875} 7876.cmsb111-border-0 { 7877border-width: 0px; 7878} 7879.cmsb111-border-b { 7880border-bottom-width: 1px; 7881} 7882.cmsb111-border-t { 7883border-top-width: 1px; 7884} 7885.cmsb111-border-solid { 7886border-style: solid; 7887} 7888.cmsb111-border-black { 7889--tw-border-opacity: 1; 7890border-color: rgb(0 0 0 / var(--tw-border-opacity)); 7891} 7892.cmsb111-border-gray-300 { 7893--tw-border-opacity: 1; 7894border-color: rgb(209 213 219 / var(--tw-border-opacity)); 7895} 7896.cmsb111-bg-black { 7897--tw-bg-opacity: 1; 7898background-color: rgb(0 0 0 / var(--tw-bg-opacity)); 7899} 7900.cmsb111-bg-gray-100 { 7901--tw-bg-opacity: 1; 7902background-color: rgb(243 244 246 / var(--tw-bg-opacity)); 7903} 7904.cmsb111-bg-gray-200 { 7905--tw-bg-opacity: 1; 7906background-color: rgb(229 231 235 / var(--tw-bg-opacity)); 7907} 7908.cmsb111-bg-white { 7909--tw-bg-opacity: 1; 7910background-color: rgb(255 255 255 / var(--tw-bg-opacity)); 7911} 7912.cmsb111-bg-opacity-50 { 7913--tw-bg-opacity: 0.5; 7914} 7915.cmsb111-p-0 { 7916padding: 0px; 7917} 7918.cmsb111-p-3 { 7919padding: 0.75rem; 7920} 7921.cmsb111-px-2 {
7922padding-left: 0.5rem; 7923padding-right: 0.5rem; 7924} 7925.cmsb111-px-3 { 7926padding-left: 0.75rem; 7927padding-right: 0.75rem; 7928} 7929.cmsb111-px-4 { 7930padding-left: 1rem; 7931padding-right: 1rem; 7932} 7933.cmsb111-py-2 { 7934padding-top: 0.5rem; 7935padding-bottom: 0.5rem; 7936} 7937.cmsb111-pl-2 { 7938padding-left: 0.5rem; 7939} 7940.cmsb111-pt-2 { 7941padding-top: 0.5rem; 7942} 7943.cmsb111-pt-6 { 7944padding-top: 1.5rem; 7945} 7946.cmsb111-text-left { 7947text-align: left; 7948} 7949.cmsb111-text-center { 7950text-align: center; 7951} 7952.cmsb111-align-top { 7953vertical-align: top; 7954} 7955.cmsb111-text-2xl { 7956font-size: 1.5rem; 7957line-height: 2rem; 7958} 7959.cmsb111-text-3xl { 7960font-size: 1.875rem; 7961line-height: 2.25rem; 7962} 7963.cmsb111-text-sm { 7964font-size: 0.875rem; 7965line-height: 1.25rem; 7966} 7967.cmsb111-font-bold { 7968font-weight: 700; 7969} 7970.cmsb111-uppercase { 7971text-transform: uppercase; 7972} 7973.cmsb111-leading-5 { 7974line-height: 1.25rem; 7975} 7976.cmsb111-text-gray-500 { 7977--tw-text-opacity: 1; 7978color: rgb(107 114 128 / var(--tw-text-opacity)); 7979} 7980.cmsb111-text-gray-700 { 7981--tw-text-opacity: 1; 7982color: rgb(55 65 81 / var(--tw-text-opacity)); 7983} 7984.cmsb111-text-gray-900 { 7985--tw-text-opacity: 1; 7986color: rgb(17 24 39 / var(--tw-text-opacity)); 7987} 7988.cmsb111-text-red-600 { 7989--tw-text-opacity: 1; 7990color: rgb(220 38 38 / var(--tw-text-opacity)); 7991} 7992.cmsb111-underline { 7993text-decoration-line: underline; 7994} 7995.cmsb111-opacity-25 { 7996opacity: 0.25; 7997} 7998.cmsb111-filter { 7999filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); 8000} 8001.cmsb111-transition { 8002transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; 8003transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); 8004transition-duration: 150ms; 8005}</style> 8006<div data-content-type="html" data-appearance="default" id="" data-element="main" data-decoded="true"><!-- ####################### hier exta CSS ############### --> 8007<style> 8008div#product-options-wrapper { 8009 margin-top: 16px; 8010} 8011 8012div#product-options-wrapper h2 { 8013 margin-bottom:0; 8014} 8015 8016.sm\:ml-2.text-gray-900.text-left.w-full.sm\:w-1\/2 { 8017 width: 100%; 8018} 8019 8020.flex.flex-col.sm\:flex-row.border-t.border-gray-300.py-2.last\:mb-6.last\:border-b.w-full.items-center { 8021 flex-direction: column; 8022} 8023 8024.options-list.nested .field { 8025 display: flex; 8026 gap: 16px; 8027} 8028 8029.options-list.nested input { 8030 z-index: 1; 8031} 8032 8033label.label.text-gray-700.text-left.w-full.sm\:w-1\/2 { 8034 width: 100%; 8035 font-size: 18px; 8036} 8037 8038.options-list span.price-notice { 8039 display: flex; 8040} 8041 8042span.price-container.tax.weee { 8043 font-weight: 700; 8044 padding-left: 3px; 8045} 8046 8047 8048 8049 8050body img { 8051 height: auto !important; 8052} 8053body [data-pb-style=SIP8HR5] img { 8054 height: auto !important; 8055} 8056 8057body .cat-image img.cat-img { 8058 height: auto !important; 8059} 8060 8061.price-box.price-final_price { 8062 height: 131px !important; 8063} 8064 8065div#thumbs { 8066 height: 130px; 8067} 8068 8069 8070.catalog-product-view .container.product { 8071 margin-bottom: 0 !important; 8072} 8073 8074.playbutton .pagebuilder-button-primary { 8075 border: none !important; 8076} 8077.short-desc .modalbox { 8078 margin-top:16px; 8079} 8080 8081.eel-img img { 8082 max-width: 400px; 8083} 8084 8085 8086 8087div#product-attributes.max-w-prose table tr.border-gray-300:nth-child(2n) { 8088 background-color: rgb(243 244 246/var(--tw-bg-opacity)) !important; 8089} 8090 8091div#product-attributes table, 8092div#product-attributes table th, 8093div#product-attributes table td { 8094 border:none; 8095} 8096 8097 8098div#product-attributes.max-w-prose { 8099 width: 100% !important; 8100 max-width: 100%; 8101} 8102div#product-attributes.max-w-prose th.col { 8103 width: 30%; 8104} 8105 8106.table-wrapper.compare-tbl table, 8107.table-wrapper.compare-tbl td, 8108.table-wrapper.compare-tbl th { 8109 border:none; 8110} 8111 8112.table-wrapper.compare-tbl td { 8113 border-top: 1px solid #E5E5E5; 8114 border-left: 1px solid #E5E5E5; 8115} 8116 8117.table-wrapper.compare-tbl th { 8118 border-top: 1px solid #E5E5E5; 8119 _border-bottom: 1px solid #E5E5E5; 8120} 8121 8122table.table-auto.table-items-to-compare tr:first-child th span { 8123 display: none; 8124} 8125 8126td.top-compare-item.relative.w-60.border.border-gray-300.py-2.px-3.align-top { 8127 border-top: none; 8128} 8129 8130.table-wrapper.compare-tbl tr:first-child th { 8131 border-top: none; 8132} 8133 8134 8135 8136table.table-auto.table-items-to-compare button.w-auto.btn.btn-primary.justify-center.text-sm.mr-auto { 8137 display:block; 8138} 8139 8140td.top-compare-item strong a { 8141 display: block; 8142 min-height: 60px; 8143} 8144 8145 8146div#mobil-pik-cart-icon { 8147 position: absolute; 8148 z-index: 0; 8149 right: 80px; 8150 top: 70px; 8151} 8152table.table-auto.table-items-to-compare div a { 8153 justify-content: center; 8154 display: flex !important; 8155} 8156 8157table.table-auto.table-items-to-compare span.old-price .price { 8158 font-size: 0.875em !important; 8159 color: #333 !important; 8160 opacity: 0.5; 8161} 8162 8163table.table-auto.table-items-to-compare span.old-price .price:after { 8164 content:''; 8165} 8166 8167 8168select { 8169 border: 1px solid #ddd !important; 8170 box-shadow: 0 6px 10px 0 rgb(0 0 0 / 10%); 8171} 8172 8173.manufacturer-article-number:before { 8174 content: 'Artikelnummer:'; 8175} 8176.attr-list { 8177 padding: 3px 0; 8178} 8179.sku { 8180 display:none; 8181} 8182 8183 8184 8185.box-icons .bg-gray-200 { 8186background:#fff; 8187} 8188
8189button.inline-flex.items-center.justify-center.w-10.h-10.p-0.ml-auto.text-gray-500.bg-gray-200.border-0.rounded-full.hover\:text-red-600 svg { 8190 fill: #ccc; 8191} 8192 8193.product-detail-label { 8194position:relative; 8195margin-left:3em; 8196} 8197 8198 8199.product-detail--label:before { 8200 position:absolute; 8201 width: 20px; 8202 height: 20px; 8203 margin-left: 16px !important; 8204 display: inline-block; 8205 content: ''; 8206 -webkit-mask: url(data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNi44IDI4LjczIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6IzFCNEY4MDt9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMCwxNS4wN2M1LTMuMzUsNC43Ny0zLjY4LDEwLjA1LDIuODJoMEMxMy40NCw5Ljc4LDE5LjM0LDQuMzEsMjYuOCwwaDBjLS4xNiwxLjYtLjI2LDIuODMtLjk1LDMuNTUtNS42Myw2LTkuNjEsMTMtMTMuMjcsMjAuMjZBNTQuNzMsNTQuNzMsMCwwLDEsOS43NywyOC43YzAsLjA2LS4xMywwLS4yLDAtLjkzLS4xMS0yLjgxLTIuOTItMy40Ny00LjQ1QzQuNjMsMjAuODIsMy4zNSwxNy4zNCwwLDE1LjFBMCwwLDAsMCwxLDAsMTUuMDdaIi8+PC9zdmc+) no-repeat 50% 50%; 8207 mask: url(data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNi44IDI4LjczIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6IzFCNEY4MDt9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMCwxNS4wN2M1LTMuMzUsNC43Ny0zLjY4LDEwLjA1LDIuODJoMEMxMy40NCw5Ljc4LDE5LjM0LDQuMzEsMjYuOCwwaDBjLS4xNiwxLjYtLjI2LDIuODMtLjk1LDMuNTUtNS42Myw2LTkuNjEsMTMtMTMuMjcsMjAuMjZBNTQuNzMsNTQuNzMsMCwwLDEsOS43NywyOC43YzAsLjA2LS4xMywwLS4yLDAtLjkzLS4xMS0yLjgxLTIuOTItMy40Ny00LjQ1QzQuNjMsMjAuODIsMy4zNSwxNy4zNCwwLDE1LjFBMCwwLDAsMCwxLDAsMTUuMDdaIi8+PC9zdmc+) no-repeat 50% 50%; 8208 -webkit-mask-size: cover; 8209 mask-size: cover; 8210 background: #0f1e5a !important; 8211 left:-3em; 8212} 8213.product-detail--label:before { 8214 position: absolute; 8215 width: 8px; 8216 height: 8px; 8217 margin-left: -16px; 8218 top: 2px; 8219 display: inline-block; 8220 content: '.'; 8221 border-radius: 15px; 8222 background:#0f1e5a !important; 8223} 8224 8225 8226 8227.product-detail-label:before { 8228 position: absolute; 8229 width: 10px; 8230 height: 10px; 8231 margin-left: -20px; 8232 top: 6px; 8233 display: inline-block; 8234 content: ''; 8235 border-radius: 15px; 8236 background:#0f1e5a !important; 8237} 8238 8239ul.liste-haken li:before, .single_add_to_cart_button, #pik-anfrage .option-input:checked, #pik-anfrage .radiobutton input:checked, .woocommerce div.product .woocommerce-tabs ul.tabs, button.single_add_to_cart_button.button.alt, .accordion-titel.btn-align-center, ul.liste-punkte li:before, ul.liste-punkte-klein li:before, ul.liste-haken-klein li:before { 8240 background: #0f1e5a !important; 8241} 8242 8243 8244 8245.attr-list { 8246 padding: 3px 0; 8247} 8248 8249.price-or-product .not(div) { 8250 font-size: 26px !important; 8251 line-height: 1.75rem !important; 8252 font-weight: 400; 8253 color: #77a464 !important; 8254} 8255span.text-por, 8256.price-or-item { 8257 font-size: 26px !important; 8258 line-height: 1.75rem !important; 8259 font-weight: 400; 8260 color: #77a464 !important; 8261 display:block; 8262 text-align:center; 8263} 8264 8265 8266 8267.qty-addcart .item-price-or { 8268 display: block !important; 8269} 8270 8271 8272.short-desc ul { 8273 list-style: disc; 8274 margin-left:3em; 8275} 8276 8277.short-desc [class*="liste-"] { 8278 list-style: none; 8279} 8280 8281.catalog-product_compare-index .container.flex.flex-col.md\:flex-row.flex-wrap.my-6.font-bold.lg\:mt-8.text-3xl { 8282 display: flex; 8283 flex-direction: column; 8284} 8285 8286.price-or-item { 8287 margin-top:16px; 8288} 8289 8290 8291.checkout-cart-index .page-bottom, 8292.customer-account-login .page-bottom, 8293.customer-account-create .page-bottom, 8294.company-account-create .page-bottom { 8295display:none; 8296} 8297 8298 8299 8300.absolute.bg-white.border.border-solid.border-black.z-50.w-full.grid.grid-cols-1.md\:grid-cols-3.lg\:grid-cols-4 { 8301 order: revert; 8302 display: flex !important; 8303 flex-direction: column-reverse; 8304 border: none; 8305 box-shadow: 0 6px 10px 0 rgb(0 0 0 / 10%) !important; 8306 margin-top: -8px; 8307} 8308 8309#search_autocomplete .hover\:bg-gray-100:hover { 8310 background: #f4f4f4 !important; 8311} 8312 8313#search_autocomplete .font-bold.pt-2.pl-2.text-center { 8314 font-weight: 500; 8315 text-transform: uppercase; 8316 border-bottom: 1px solid #ccc; 8317 margin: 8px; 8318 flex: 1 0 calc(100% - 16px) !important; 8319} 8320 8321span.no-price.text-sm.font-bold { 8322 display: block; 8323 font-size: 18px; 8324 font-size: 26px !important; 8325 line-height: 1.75rem; 8326 font-weight: 400; 8327 color: #77a464 !important; 8328 margin-top: 15px; 8329} 8330 8331 8332.message.success { 8333 background-color: #fff; 8334 color: #0f1e5a; 8335 max-width: 450px; 8336 margin: 0 auto; 8337 box-shadow: 0 0 15px 0px #eee !important; 8338 text-align:center; 8339 justify-content:center; 8340} 8341 8342 8343a.message-item-title { 8344 text-decoration: none; 8345 font-weight: 700; 8346 display: block; 8347 8348} 8349 8350 8351.main .title.account-nav-title { 8352 background: #f4f4f4; 8353 padding: 8px; 8354 border-radius: 5px; 8355 color: #0f1e5a; 8356} 8357span.cart-price .price { 8358 display: flex; 8359 flex-direction: column; 8360 flex-wrap: wrap; 8361 text-align: right; 8362} 8363td.col.item.pt-6.px-4.flex.flex-wrap.gap-8.text-left.w-full.lg\:w-auto { 8364 flex-wrap: initial; 8365} 8366 8367.gift-options-component.w-full.flex.flex-wrap.my-6 { 8368 margin: 0; 8369} 8370 8371 8372.checkout-cart-index h2.w-full.text-2xl.text-center.text-gray-900.title-font.font-base.md\:text-left { 8373 font-size: 24px !important; 8374 margin-bottom: 0; 8375} 8376 8377.checkout-cart-index table, .checkout-cart-index td, .checkout-cart-index th { 8378 border: none; 8379} 8380 8381 8382.checkout-cart-index #checkout-link-button:hover, 8383#checkout-link-button { 8384border: 1px solid #0f1e5a; 8385} 8386 8387 8388.adv-form-order { 8389 border-bottom: none; 8390} 8391 8392.filter-divider hr { 8393 display: none; 8394} 8395 8396 8397.pagebuilder-button-primary { 8398 border: 1px solid #0f1e5a !important; 8399} 8400 8401.pagebuilder-button-secondary { 8402 background: #f4f4f4 !important; 8403} 8404 8405.pagebuilder-button-secondary:hover { 8406 background: #f2f2f2 !important; 8407} 8408 8409.pagebuilder-button-secondary:focus, .pagebuilder-button-primary:focus { 8410 box-shadow: 0 6px 10px 0 #0000001a !important; 8411 border:none !important; 8412} 8413 8414 8415.column-link-box { 8416 position:relative; 8417 max-width:100%; 8418 overflow:hidden; 8419 cursor:pointer 8420} 8421 8422.column-link-box:hover { 8423 cursor:pointer 8424} 8425 8426 8427.column-link-box figure { 8428 transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); 8429 transition-duration: 300ms; 8430 transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; 8431 transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); 8432 transition-duration: 150ms; 8433 z-index:0; 8434} 8435.column-link-box:hover figure { 8436 transform:scale(1.25,1.25); 8437} 8438 8439 8440.column-link-box [data-content-type=text] { 8441 top: 45%; 8442 align-items: center; 8443 width: 100%; 8444 z-index: 10; 8445 position: absolute; 8446} 8447 8448 8449 8450.zentriert-x { 8451 justify-center; 8452} 8453 8454.zentriert-y { 8455 align-itemns-center; 8456} 8457 8458.zentriert-xy { 8459 justify-center; 8460 align-itemns-center; 8461} 8462 8463 8464 8465[data-content-type=row] img { 8466 display:inline-block !important; 8467} 8468 8469img.pagebuilder-mobile-only { 8470 display: none !important; 8471} 8472.img-center {
8473 align-items: center; 8474} 8475 8476 8477div#search_autocomplete div { 8478 grid-template-columns: auto !important; 8479} 8480 8481div#search_autocomplete > div > div { 8482 flex-direction: row; 8483 display:flex !important; 8484 flex-wrap: wrap; 8485} 8486 8487 8488 8489div#search_autocomplete .font-bold.pt-2.pl-2.text-center { 8490 flex: 1 0 100%; 8491} 8492 8493div#search_autocomplete > div > div > div { 8494 display:flex !important; 8495} 8496div#search_autocomplete .grid.grid-cols-4.gap-4.p-3 { 8497 justify-content: center !important; 8498 display: flex; 8499 flex-direction: column; 8500 align-items: center; 8501 text-align: center; 8502} 8503 8504div#search_autocomplete .hover\:bg-gray-100 { 8505 flex-basis: 100%; 8506} 8507 8508@media (min-width:600px) { 8509div#search_autocomplete .hover\:bg-gray-100 { 8510 flex-basis: 33.3333%; 8511} 8512} 8513 8514@media (min-width:1200px) { 8515div#search_autocomplete .hover\:bg-gray-100 { 8516 flex-basis: 25%; 8517} 8518} 8519 8520div#search_autocomplete .price-including-tax .price:after { 8521 display: block !important; 8522} 8523 8524 8525div#search_autocomplete .text-gray-500 { 8526 color:#333; 8527} 8528 8529 8530 8531 8532 8533#gallery { 8534overflow:hidden; 8535} 8536 8537#gallery button.block.absolute.z-10.left-0, 8538#gallery button.block.absolute.z-10.right-0 { 8539transition: all 0.3s ease; 8540} 8541 8542#gallery button.block.absolute.z-10.left-0 { 8543left: -100px; 8544} 8545#gallery button.block.absolute.z-10.right-0 { 8546right:-100px; 8547} 8548 8549 8550#gallery:hover button.block.absolute.z-10.left-0 { 8551left:0; 8552} 8553#gallery:hover button.block.absolute.z-10.right-0 { 8554right:0; 8555} 8556.product-slider button.ml-4:before { 8557right:0; 8558} 8559 8560 8561 8562 8563 8564button.btn.btn-primary:disabled { 8565 background: #ccc !important; 8566 opacity: 1; 8567 border: transparent; 8568} 8569 8570#customer-login-container { 8571 gap:1em; 8572} 8573#customer-login-container > div { 8574 box-shadow: 0 0 15px 0px #eee !important; 8575 border: none 8576} 8577 8578 8579#gallery img { 8580 aspect-ratio: 3/2 !important; 8581} 8582#menu-cart-icon:hover svg:hover { 8583 8584color:#fff !important; 8585} 8586 8587 8588.glider::-webkit-scrollbar{opacity:0 !important; 8589} 8590 8591.glider-track { 8592 scrollbar-width: none !important; 8593} 8594 8595@-moz-document url-prefix() { 8596 .glider-track { 8597 margin-bottom: 17px !important;; 8598 } 8599 .glider-wrap { 8600 overflow: hidden !important; 8601 } 8602} 8603 8604 8605 8606@media (max-width:520px) { 8607 8608#mmmm [data-content-type=products][data-appearance=carousel] [data-role=glider-content] { 8609 grid-template-columns: initial; 8610} 8611} 8612 8613 8614.prose :where(h3):not(:where([class~=not-prose] *)), 8615.prose :where(h2):not(:where([class~=not-prose] *)) { 8616 font-weight: 500 !important; 8617} 8618.balkenlinks a, #balkenlinks a { 8619 color: #0f1e5a; 8620 text-decoration: underline; 8621 display:inline-block; 8622 padding:4px; 8623} 8624 8625 8626.balkenlinks a:hover, 8627#balkenlinks a:hover { 8628 background: #0f1e5a; 8629 color: #fff !important; 8630 padding-left: 16px; 8631 padding-right: 16px; 8632 -webkit-transition: all .2s ease 0s; 8633 -moz-transition: all .2s ease 0s; 8634 -o-transition: all .2s ease 0s; 8635 -ms-transition: all .2s ease 0s; 8636 transition: all .2s ease 0s; 8637 text-transform:none; 8638} 8639 8640a#to-top svg { 8641 margin-left: 14px; 8642 height: 20px; 8643 fill: #0f1e5a; 8644} 8645 8646 8647ul.mega-sub-menu { 8648 transition-delay: 0.5s !important; 8649} 8650 8651 8652.customer-logged-in .customer-menu li.logout-item, 8653.customer-menu li.login-item { 8654 display: none !important; 8655} 8656 8657.customer-logged-in .customer-menu li.login-item { 8658display: block !important; 8659} 8660 8661 8662 8663.account .card { 8664 border-radius: 0 !important; 8665 box-shadow: none !important; 8666 border: 1px solid #ccc; 8667 margin: 0 !important; 8668} 8669.account .block-title.my-6.flex.justify-between.items-center.card { 8670 box-shadow: none; 8671 border: none; 8672 color: #ADB1BA; 8673 padding-left: 0 !important; 8674 padding-bottom: 0; 8675 margin-bottom: 1.5em !important; 8676} 8677 8678.account .container.flex.flex-col.md\:flex-row.flex-wrap.my-6.font-bold.lg\:mt-8.text-3xl h1 { 8679margin-bottom:8px; 8680} 8681.account .container.flex.flex-col.md\:flex-row.flex-wrap.my-6.font-bold.lg\:mt-8.text-3xl:after { 8682 content: ''; 8683 border-bottom: 8px solid #ccc; 8684} 8685 8686.account .container.flex.flex-col.md\:flex-row.flex-wrap.my-6.font-bold.lg\:mt-8.text-3xl { 8687 flex-direction: column; 8688} 8689 8690.block.block-dashboard-orders.card.mt-4 { 8691 margin-top: 32px !important; 8692} 8693 8694 8695 8696 8697 8698 8699aside.sidebar.sidebar-main { 8700 margin-top: 12px; 8701} 8702 8703.modes.flex.space-x-1.mr-2.items-center.px-2.py-2.rounded-md.border.border-gray-300.bg-white.text-sm.leading-5.w-20.order-1.col-span-1.sm\:col-span-2.md\:col-span-1.lg\:col-span-2 { 8704 margin-bottom: -8px; 8705} 8706 8707.price-including-tax .price { 8708 font-size: 26px !important; 8709 line-height: 1.75rem; 8710 font-weight: 400; 8711 color: #77a464 !important; 8712} 8713 8714.price-including-tax .price:after { 8715content: ' inkl. 19% MwSt.'; 8716font-size: 15px !important; 8717color:#333; 8718} 8719 8720.product-item .price-including-tax .price:after { 8721display:block; 8722content: ' inkl. 19% MwSt.'; 8723} 8724 8725.pagebuilder-column .price-including-tax .price:after { 8726content: '' !important; 8727} 8728 8729.price-excluding-tax .price, 8730.price-wrapper.price-excluding-tax:before { 8731 font-size: 15px !important; 8732 line-height: 1; 8733 font-weight: 400; 8734 color: #77a464 !important; 8735 content:'Netto: ' !important; 8736} 8737 8738.block.account-nav.card.filter-option { 8739 box-shadow: 0 0 15px 0px #eee !important; 8740} 8741 8742 8743 8744 8745 8746main#maincontent- { 8747 position: relative; 8748 z-index: -1; 8749} 8750 8751.message.company-warning._hidden { 8752 display: none !important; 8753 position: absolute; 8754 z-index: 1; 8755} 8756 8757/* 8758input[type="checkbox"]:checked::before, input[type="radio"]:checked::before { 8759content:url(data:image/svg+xml;base64,PHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNi44IDI4LjczIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6IzFCNEY4MDt9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMCwxNS4wN2M1LTMuMzUsNC43Ny0zLjY4LDEwLjA1LDIuODJoMEMxMy40NCw5Ljc4LDE5LjM0LDQuMzEsMjYuOCwwaDBjLS4xNiwxLjYtLjI2LDIuODMtLjk1LDMuNTUtNS42Myw2LTkuNjEsMTMtMTMuMjcsMjAuMjZBNTQuNzMsNTQuNzMsMCwwLDEsOS43NywyOC43YzAsLjA2LS4xMywwLS4yLDAtLjkzLS4xMS0yLjgxLTIuOTItMy40Ny00LjQ1QzQuNjMsMjAuODIsMy4zNSwxNy4zNCwwLDE1LjFBMCwwLDAsMCwxLDAsMTUuMDdaIi8+PC9zdmc+) !important; 8760} 8761*/ 8762 8763 8764 8765 8766.modes-mode.opacity-25 { 8767 opacity: 0.05 !important; 8768} 8769.modes-mode.opacity-25:hover { 8770 opacity: 0.38 !important; 8771} 8772.modes-mode.active { 8773 opacity: 0.38 !important; 8774} 8775a.action.sorter-action { 8776 color:#999 !important; 8777} 8778 8779.cmsb96-shadow-md { 8780 box-shadow: 0 0 15px 0px #eee !important; 8781} 8782 8783 8784.secondary-navigation .main-nav ul ul li a { 8785 color: #333 !important; 8786} 8787 8788header.page-header- { 8789 z-index: 0; 8790 position:relative; 8791} 8792.fixed.inset-0.bg-black.bg-opacity-50.z-50-- { 8793 z-index: 1000000!important; 8794} 8795.price-excluding-tax { 8796 display: none; 8797} 8798 8799 8800.add-icons.action-icons { 8801 justify-content: flex-start !important 8802} 8803.flex.flex-col.sm\:flex-row.justify-between.my-4 { 8804 margin: 0; 8805} 8806.flex.flex-col.sm\:flex-row.justify-between.my-4 p { 8807 margin: 0; 8808} 8809 8810</style></div></div> 8811<div class="widget block block-static-block"> 8812 <style>::backdrop { 8813--tw-border-spacing-x: 0; 8814--tw-border-spacing-y: 0; 8815--tw-translate-x: 0; 8816--tw-translate-y: 0; 8817--tw-rotate: 0; 8818--tw-skew-x: 0; 8819--tw-skew-y: 0; 8820--tw-scale-x: 1; 8821--tw-scale-y: 1; 8822--tw-pan-x: ; 8823--tw-pan-y: ; 8824--tw-pinch-zoom: ; 8825--tw-scroll-snap-strictness: proximity; 8826--tw-gradient-from-position: ;
8827--tw-gradient-via-position: ; 8828--tw-gradient-to-position: ; 8829--tw-ordinal: ; 8830--tw-slashed-zero: ; 8831--tw-numeric-figure: ; 8832--tw-numeric-spacing: ; 8833--tw-numeric-fraction: ; 8834--tw-ring-inset: ; 8835--tw-ring-offset-width: 0px; 8836--tw-ring-offset-color: #fff; 8837--tw-ring-color: rgb(59 130 246 / 0.5); 8838--tw-ring-offset-shadow: 0 0 #0000; 8839--tw-ring-shadow: 0 0 #0000; 8840--tw-shadow: 0 0 #0000; 8841--tw-shadow-colored: 0 0 #0000; 8842--tw-blur: ; 8843--tw-brightness: ; 8844--tw-contrast: ; 8845--tw-grayscale: ; 8846--tw-hue-rotate: ; 8847--tw-invert: ; 8848--tw-saturate: ; 8849--tw-sepia: ; 8850--tw-drop-shadow: ; 8851--tw-backdrop-blur: ; 8852--tw-backdrop-brightness: ; 8853--tw-backdrop-contrast: ; 8854--tw-backdrop-grayscale: ; 8855--tw-backdrop-hue-rotate: ; 8856--tw-backdrop-invert: ; 8857--tw-backdrop-opacity: ; 8858--tw-backdrop-saturate: ; 8859--tw-backdrop-sepia: 8860} 8861.cmsb160-container { 8862width: 100% 8863} 8864@media (min-width: 640px) { 8865.cmsb160-container { 8866max-width: 640px 8867} 8868} 8869@media (min-width: 768px) { 8870.cmsb160-container { 8871max-width: 768px 8872} 8873} 8874@media (min-width: 1024px) { 8875.cmsb160-container { 8876max-width: 1024px 8877} 8878} 8879@media (min-width: 1280px) { 8880.cmsb160-container { 8881max-width: 1280px 8882} 8883} 8884@media (min-width: 1536px) { 8885.cmsb160-container { 8886max-width: 1536px 8887} 8888} 8889.cmsb160-relative { 8890position: relative 8891} 8892.cmsb160-my-6 { 8893margin-top: 1.5rem; 8894margin-bottom: 1.5rem 8895} 8896.cmsb160-my-8 { 8897margin-top: 2rem; 8898margin-bottom: 2rem 8899} 8900.cmsb160-block { 8901display: block 8902} 8903.cmsb160-flex { 8904display: flex 8905} 8906.cmsb160-flex-col { 8907flex-direction: column 8908} 8909.cmsb160-flex-wrap { 8910flex-wrap: wrap 8911} 8912.cmsb160-border { 8913border-width: 1px 8914} 8915.cmsb160-text-3xl { 8916font-size: 1.875rem; 8917line-height: 2.25rem 8918} 8919.cmsb160-font-bold {
8920font-weight: 700 8921}</style> 8922<div data-content-type="html" data-appearance="default" id="" data-element="main" data-decoded="true"><style> 8923.field.field-reserved.street.required label span:after, 8924.field.street._required span:after { 8925 content: ' & Hsnr'; 8926} 8927 8928.company-account-create form fieldset.my-8.card .field.field-reserved.additional { 8929display:none !important; 8930} 8931 8932.company-profile-edit .field.street { 8933 display: none; 8934} 8935 8936.company-profile-edit .field.street._required { 8937 display: block; 8938} 8939 8940@media (min-width:1023px) { 8941#company-edit-form fieldset.info { 8942 width:48%; 8943 float:left; 8944 8945} 8946#company-edit-form fieldset.info:first-child { 8947 margin-right:2% !important; 8948} 8949 8950#company-edit-form fieldset.fieldset.info { 8951 margin-right: 2%; 8952} 8953 8954} 8955 8956#company-edit-form .actions-toolbar { 8957 width: 100%; 8958} 8959 8960 8961.checkout-cart-index #to-contact { 8962 display:none !important; 8963} 8964 8965.checkout-cart-index header.page-header { 8966 position: relative; 8967 z-index: 1; 8968} 8969 8970.checkout-cart-index .footer.content { 8971 position: relative; 8972 z-index: -1; 8973} 8974 8975#company-edit-form fieldset { 8976 max-width:600px; 8977 padding:16px; 8978} 8979 8980#company-edit-form.actions-toolbar { 8981 width: 100%; 8982} 8983 8984#company-edit-form fieldset, 8985.customer-account-create fieldset.my-8.card, 8986.company-account-create fieldset.my-8.card { 8987 box-shadow: 0 0 15px 0px #eee !important; 8988 border: none; 8989} 8990 8991.customer-account-create .container.flex.flex-col.md\:flex-row.flex-wrap.my-6.font-bold.lg\:mt-8.text-3xl:after, 8992.company-account-create .container.flex.flex-col.md\:flex-row.flex-wrap.my-6.font-bold.lg\:mt-8.text-3xl:after { 8993 content: ''; 8994 border-bottom: 8px solid #ccc; 8995} 8996 8997.customer-account-create .container.flex.flex-col.md\:flex-row.flex-wrap.my-6.font-bold.lg\:mt-8.text-3xl, 8998.company-account-create .container.flex.flex-col.md\:flex-row.flex-wrap.my-6.font-bold.lg\:mt-8.text-3xl { 8999 flex-direction:column; 9000} 9001 9002h1 { 9003 margin-bottom:8px; 9004} 9005 9006legend span { 9007 font-size: initial; 9008 color: #ADB1BA; 9009 display:block; 9010 margin-bottom:8px; 9011} 9012 9013.registration-container.registation-container.container.flex-columns-wrapper { 9014 flex-direction: column !important; 9015} 9016form.form-address-edit input, 9017form.form-address-edit select, 9018#company-edit-form input, 9019#company-edit-form select, 9020input#firstname, 9021input#lastname, 9022input#email_address, 9023.company-account-create .registration-container input, 9024.company-account-create .registration-container select { 9025 width: 100%; 9026} 9027 9028#company-edit-form legend.legend { 9029 position: relative; 9030 top: -10px; 9031 padding: 0; 9032 margin: 0; 9033 margin-top:4px; 9034} 9035 9036#company-edit-form fieldset.fieldset.info { 9037 position: relative; 9038 top: 8px; 9039 margin-bottom:24px; 9040} 9041</style></div></div> 9042</div></footer>
9043<script> 9044 let SnapSlider = class { 9045 constructor(el, { 9046 labelSepparator = 'von', 9047 autoPager, 9048 groupPager 9049 } = {}) { 9050 this.el = el; 9051 this.track = this.el.querySelector("[data-track]"); 9052 if (!this.track) { 9053 console.warn( 9054 "No Slider track defined, reverting back to CSS slider.\nPlease create a wrapper for your slides with the attribute data-track", 9055 this.el 9056 ); 9057 return; 9058 } 9059 this.initialLoad = true; 9060 this.slides = []; 9061 this.inViewObserver; 9062 this.mutationObserver; 9063 this.resizeObserver; 9064 this.pager = this.el.querySelector("[data-pager]"); 9065 this.navBtns = Array.from( 9066 this.el.querySelectorAll("[data-next], [data-prev]") 9067 ); 9068 this.slideLabelSepparator = this.el.dataset.slideLabelSepparator || labelSepparator; 9069 this.useAutoPager = autoPager || this.el.hasAttribute("data-auto-pager") || false; 9070 this.useGroupPager = groupPager || this.el.hasAttribute("data-group-pager") || false; 9071 this.sliderLabel = this.el.hasAttribute("aria-label") && this.el.getAttribute("aria-label").toLowerCase().trim().replace(/[^a-z0-9_-]+/g, "-").replace(/^-+|-+$/g, ""); 9072 this.sliderId = this.el.id || this.sliderLabel || "slider"; 9073 this.markerIdName = "data-target-id"; 9074 this.pagerClasses = this.el.dataset.pagerClass || "snap-pager"; 9075 this.markerClasses = this.el.dataset.markerClass || "snap-marker"; 9076 this.init(); 9077 } 9078 init() { 9079 this.setupSlides(); 9080 this.setupNav(); 9081 if (this.useAutoPager) { 9082 this.createPager(); 9083 } else { 9084 this.setupPager(); 9085 } 9086 this.setupObservers(); 9087 this.setupMutationObserver(); 9088 this.setupResizeObserver(); 9089 this.el.addEventListener("click", this.eventHandler.bind(this)); 9090 this.el.addEventListener("keydown", this.eventHandler.bind(this)); 9091 } 9092 destroy() { 9093 this.inViewObserver?.disconnect(); 9094 this.mutationObserver?.disconnect(); 9095 this.resizeObserver?.disconnect(); 9096 this.el.removeEventListener("click", this.eventHandler.bind(this)); 9097 this.el.removeEventListener("keydown", this.eventHandler.bind(this)); 9098 } 9099 roundUpIfGreaterThan(number, min = 8) { 9100 const decimalPart = number - Math.floor(number); 9101 return decimalPart >= min ? Math.ceil(number) : Math.floor(number); 9102 } 9103 getInViewItems() { 9104 const inViewSlides = this.track.querySelectorAll("[data-in-view]"); 9105 const firstInViewSlide = inViewSlides[0] || null; 9106 const lastInViewSlide = inViewSlides[inViewSlides.length - 1] || null; 9107 const isAtStart = firstInViewSlide === this.slides[0]; 9108 const isAtEnd = lastInViewSlide === this.slides[this.slides.length - 1]; 9109 return { 9110 inViewSlides, 9111 totalInViewSlides: inViewSlides.length, 9112 firstInViewSlide, 9113 lastInViewSlide, 9114 isAtStart, 9115 isAtEnd, 9116 hasNoOverflow: isAtStart && isAtEnd 9117 }; 9118 } 9119 groupPagerMarkers() { 9120 if (this.slides.length === 0 || !this.pager || !this.useGroupPager) return; 9121 const totalVisibleSlides = this.roundUpIfGreaterThan( 9122 this.track.offsetWidth / this.slides[0].offsetWidth 9123 ); 9124 const markers = Array.from(this.pager.querySelectorAll("a, button")); 9125 markers.forEach((marker, index) => { 9126 marker.style.display = index % totalVisibleSlides === 0 ? null : "none"; 9127 }); 9128 } 9129 handleInView(entries) { 9130 entries.forEach((entry) => { 9131 const marker = this.pager && (this.pager.querySelector(`[href="#${entry.target.id}"]`) || this.pager.querySelector( 9132 `[${this.markerIdName}="${entry.target.id}"]` 9133 )); 9134 entry.target.toggleAttribute("data-in-view", entry.isIntersecting); 9135 entry.target.toggleAttribute("inert", !entry.isIntersecting); 9136 marker?.setAttribute("aria-current", entry.isIntersecting); 9137 marker?.setAttribute("tabindex", entry.isIntersecting ? "0" : "-1"); 9138 }); 9139 const { 9140 isAtStart, 9141 isAtEnd, 9142 hasNoOverflow 9143 } = this.getInViewItems(); 9144 this.navBtns.forEach((btn) => { 9145 if (btn.hasAttribute("data-next")) { 9146 btn.style.visibility = hasNoOverflow ? "hidden" : null; 9147 isAtEnd ? btn.setAttribute("disabled", "") : btn.removeAttribute("disabled"); 9148 } 9149 if (btn.hasAttribute("data-prev")) { 9150 btn.style.visibility = hasNoOverflow ? "hidden" : null; 9151 isAtStart ? btn.setAttribute("disabled", "") : btn.removeAttribute("disabled"); 9152 } 9153 }); 9154 if (this.pager) { 9155 this.pager.style.visibility = hasNoOverflow ? "hidden" : null; 9156 } 9157 if (!this.initialLoad) { 9158 this.el.dispatchEvent( 9159 new CustomEvent("slideChange", { 9160 detail: this.getInViewItems() 9161 }) 9162 ); 9163 } else { 9164 this.initialLoad = false;
9165 } 9166 if (document.activeElement.parentElement.hasAttribute("data-pager")) { 9167 const activeItems = this.pager.querySelectorAll('[tabindex="0"]'); 9168 if (activeItems.length) { 9169 activeItems[0].focus({ preventScroll: true }); 9170 } 9171 } 9172 } 9173 getSlides() { 9174 if (!this.track) return []; 9175 return Array.from(this.track.children).filter( 9176 (child) => child.tagName.toLowerCase() !== "template" && child.tagName.toLowerCase() !== "style" && child.tagName.toLowerCase() !== "script" 9177 ); 9178 } 9179 refreshSlides() { 9180 this.initialLoad = true; 9181 this.slides = this.getSlides(); 9182 this.setupSlides(); 9183 if (this.useAutoPager) { 9184 this.createPager(); 9185 } else { 9186 this.setupPager(); 9187 } 9188 this.groupPagerMarkers(); 9189 this.setupObservers(); 9190 } 9191 setupSlides() { 9192 this.slides = this.getSlides(); 9193 this.slides.forEach((slide, index) => { 9194 const totalSlides = this.slides.length; 9195 const currentSlide = index + 1; 9196 const existingLabel = slide.getAttribute("aria-label") || ""; 9197 const isImage = slide.tagName.toLowerCase() === "img" || slide.tagName.toLowerCase() === "picture"; 9198 const slideLabelTag = isImage ? "alt" : "aria-label"; 9199 const hasAutoLabel = existingLabel.startsWith( 9200 `${currentSlide} ${this.slideLabelSepparator} ` 9201 ); 9202 if (!slide.hasAttribute("id")) { 9203 slide.setAttribute( 9204 "id", 9205 `${this.sliderId}-item-${currentSlide}` 9206 ); 9207 } 9208 if (!slide.hasAttribute(slideLabelTag) || slide.getAttribute(slideLabelTag) === "" || hasAutoLabel) { 9209 slide.setAttribute( 9210 slideLabelTag, 9211 `${currentSlide} ${this.slideLabelSepparator} ${totalSlides}` 9212 ); 9213 } 9214 if (slide.tagName.toLowerCase() === "div" && !slide.hasAttribute("role")) { 9215 slide.setAttribute("role", "group"); 9216 } 9217 if (this.pager && !isImage) { 9218 slide.setAttribute("role", "tabpanel"); 9219 } 9220 if (slide.getAttribute("role") === "group") { 9221 slide.setAttribute("aria-roledescription", "item"); 9222 } 9223 }); 9224 if (!this.el.hasAttribute("role") && this.el.tagName !== "SECTION") { 9225 this.el.setAttribute("role", "region"); 9226 } 9227 if (!this.el.hasAttribute("aria-roledescription")) { 9228 this.el.setAttribute("aria-roledescription", "carousel"); 9229 } 9230 this.track.setAttribute("tabindex", 0); 9231 this.track.setAttribute("aria-live", "polite"); 9232 } 9233 setupNav() { 9234 this.navBtns.forEach((btn) => { 9235 btn.setAttribute("disabled", ""); 9236 btn.removeAttribute("hidden"); 9237 btn.classList.remove("invisible"); 9238 btn.style.visibility = null; 9239 }); 9240 } 9241 createPager() { 9242 const newPager = document.createElement("nav"); 9243 newPager.setAttribute("data-pager", ""); 9244 newPager.setAttribute("role", "tablist"); 9245 newPager.classList.add(...this.pagerClasses.split(" ")); 9246 this.slides.forEach((slide, index) => { 9247 const marker = document.createElement("button"); 9248 const slideId = slide.id || `${this.sliderId}-item-${index + 1}`; 9249 marker.setAttribute(this.markerIdName, slideId); 9250 marker.classList.add(...this.markerClasses.split(" ")); 9251 this.setupPagerMarker(marker, index); 9252 newPager.appendChild(marker); 9253 if (slide.tagName.toLowerCase() !== "img" && slide.tagName.toLowerCase() !== "picture") { 9254 slide.removeAttribute("aria-roledescription"); 9255 slide.setAttribute("role", "tabpanel"); 9256 } 9257 }); 9258 if (this.pager) { 9259 this.pager.setAttribute("role", "tablist"); 9260 this.pager.replaceChildren(...newPager.children); 9261 } else { 9262 this.track.after(newPager); 9263 this.pager = this.el.querySelector("[data-pager]"); 9264 } 9265 } 9266 setupPager() { 9267 if (!this.pager) return; 9268 this.pager.setAttribute("role", "tablist"); 9269 const items = Array.from(this.pager.querySelectorAll("a, button"));
9270 items.forEach((marker, index) => this.setupPagerMarker(marker, index)); 9271 } 9272 setupPagerMarker(marker, index) { 9273 const markerId = marker.getAttribute("href")?.slice(1) || marker.getAttribute(this.markerIdName); 9274 const slideId = markerId || `${this.sliderId}-item-${index + 1}`; 9275 if (!markerId) { 9276 marker.setAttribute(this.markerIdName, slideId); 9277 } 9278 marker.setAttribute("role", "tab"); 9279 marker.setAttribute("aria-controls", slideId); 9280 marker.setAttribute("aria-posinset", index + 1); 9281 marker.setAttribute("aria-setsize", this.slides.length); 9282 marker.setAttribute("tabindex", "-1"); 9283 if (!marker.hasAttribute("aria-label")) { 9284 marker.setAttribute("aria-label", `Slide ${index + 1}`); 9285 } 9286 } 9287 setupObservers() { 9288 if (this.inViewObserver) { 9289 this.inViewObserver.disconnect(); 9290 } 9291 this.inViewObserver = new IntersectionObserver( 9292 this.handleInView.bind(this), { 9293 root: this.track, 9294 threshold: 0.8 9295 } 9296 ); 9297 this.slides.forEach((slide) => this.inViewObserver.observe(slide)); 9298 } 9299 setupMutationObserver() { 9300 this.mutationObserver = new MutationObserver( 9301 this.refreshSlides.bind(this) 9302 ); 9303 this.mutationObserver.observe(this.track, { 9304 childList: true, 9305 subtree: false 9306 }); 9307 } 9308 setupResizeObserver() { 9309 this.resizeObserver = new ResizeObserver( 9310 this.groupPagerMarkers.bind(this) 9311 ); 9312 this.resizeObserver.observe(this.el); 9313 } 9314 goToSlideDir(dir = "next") { 9315 const { 9316 firstInViewSlide, 9317 lastInViewSlide 9318 } = this.getInViewItems(); 9319 const isPrev = dir === "prev"; 9320 let targetSlide = isPrev ? firstInViewSlide?.previousElementSibling : lastInViewSlide?.nextElementSibling; 9321 if (!targetSlide) return; 9322 if (targetSlide.tagName.toLowerCase() === "template") { 9323 targetSlide = isPrev ? targetSlide?.previousElementSibling : targetSlide?.nextElementSibling; 9324 } 9325 targetSlide.scrollIntoView({ block: "nearest", inline: isPrev ? "end" : "start" }); 9326 } 9327 pagerToSlide(event) { 9328 if (!event.target.closest("[data-pager]")) return; 9329 const marker = event.target.closest("a, button"); 9330 if (!marker) return; 9331 event.preventDefault(); 9332 const slideId = marker.getAttribute("href")?.slice(1) || marker.getAttribute(this.markerIdName); 9333 const targetSlide = this.track.querySelector(`#${slideId}`); 9334 targetSlide?.scrollIntoView({ block: "nearest", inline: "start" }); 9335 } 9336 eventHandler(event) { 9337 const target = event.target.closest( 9338 "[data-next], [data-prev], [data-pager]" 9339 ); 9340 if (!target) return; 9341 if (event.type === "click") { 9342 if (target.hasAttribute("data-next")) { 9343 this.goToSlideDir("next"); 9344 } else if (target.hasAttribute("data-prev")) { 9345 this.goToSlideDir("prev"); 9346 } else if (target.closest("[data-pager]")) { 9347 this.pagerToSlide(event); 9348 } 9349 } 9350 if (event.type === "keydown" && target.closest("[data-pager]")) { 9351 if (event.key === "ArrowRight") { 9352 this.goToSlideDir("next"); 9353 } else if (event.key === "ArrowLeft") { 9354 this.goToSlideDir("prev"); 9355 } 9356 } 9357 } 9358 }; 9359 9360 (() => { 9361 function alpineSnapSlider(Alpine) { 9362 Alpine.directive("snap-slider", (el, { 9363 modifiers 9364 }, { 9365 cleanup 9366 }) => { 9367 const autoPager = modifiers.includes("auto-pager");
9368 const groupPager = modifiers.includes("group-pager"); 9369 const slider = new SnapSlider(el, { 9370 autoPager, 9371 groupPager 9372 }); 9373 cleanup(() => { 9374 slider.destroy(); 9375 }); 9376 }); 9377 } 9378 9379 document.addEventListener("alpine:init", () => { 9380 window.Alpine.plugin(alpineSnapSlider); 9381 }); 9382 })(); 9383 //# sourceURL=alpine-snap-slider.js 9384</script>
9384 9385
9386<script> 9387 (() => { 9388 // src/dialog.js 9389 function dialog_default(Alpine) { 9390 Alpine.directive("htmldialog", fylgjaAlpineDialog); 9391 function fylgjaAlpineDialog(el, { expression, modifiers }, { evaluateLater, cleanup }) { 9392 const evaluate = expression.length ? evaluateLater(expression) : () => {}; 9393 const canEvaluate = expression.length > 0; 9394 const lockPageScroll = modifiers.includes("noscroll"); 9395 const closeBy = el.getAttribute("closeby") || modifierValue(modifiers, "closeby", "closerequest"); 9396 el.style.display = null; 9397 el.style.length === 0 && el.removeAttribute("style"); 9398 if (el._x_isShown) { 9399 open(); 9400 } 9401 const closeBySupported = (() => { 9402 return "closedBy" in HTMLDialogElement.prototype; 9403 })(); 9404 function scrollLock(use = true) { 9405 document.body.style.overflow = use ? "hidden" : ""; 9406 } 9407 function dialogSubmit(event) { 9408 if (event.target.getAttribute("method") === "dialog" || event.submitter?.getAttribute("formmethod") === "dialog") { 9409 event.preventDefault(); 9410 evaluate(); 9411 } 9412 } 9413 function escapeDialog(event) { 9414 if (event.key !== "Escape") return; 9415 event.preventDefault(); 9416 if (closeBy === "none") return; 9417 evaluate(); 9418 } 9419 function handleCloseByEvent(event) { 9420 if (event.target !== el) return; 9421 const rect = el.getBoundingClientRect(); 9422 const isInDialog = rect.top <= event.clientY && event.clientY <= rect.top + rect.height && rect.left <= event.clientX && event.clientX <= rect.left + rect.width; 9423 if (!isInDialog) { 9424 if (closeBy === "any") { 9425 if (closeBySupported) { 9426 event.preventDefault(); 9427 } 9428 evaluate(); 9429 } 9430 } 9431 } 9432 function handleCloseEvent() { 9433 evaluate(); 9434 } 9435 function open() { 9436 if (el.hasAttribute("open")) return; 9437 el.showModal(); 9438 scrollLock(lockPageScroll); 9439 } 9440 function close() { 9441 if (!el.hasAttribute("open")) return; 9442 el.close(); 9443 scrollLock(false); 9444 } 9445 el._x_doShow = () => open(); 9446 el._x_doHide = () => close(); 9447 el.addEventListener("keydown", escapeDialog); 9448 el.addEventListener("submit", dialogSubmit); 9449 el.addEventListener("click", handleCloseByEvent); 9450 el.addEventListener("cancel", handleCloseEvent); 9451 cleanup(() => { 9452 el.removeEventListener("keydown", escapeDialog); 9453 el.removeEventListener("submit", dialogSubmit); 9454 el.removeEventListener("click", handleCloseByEvent); 9455 el.removeEventListener("cancel", handleCloseEvent); 9456 scrollLock(false); 9457 }); 9458 } 9459 } 9460 function modifierValue(modifiers, key, fallback) { 9461 if (modifiers.indexOf(key) === -1) return fallback; 9462 const rawValue = modifiers[modifiers.indexOf(key) + 1]; 9463 if (!rawValue) return fallback; 9464 if (key === "closeby") { 9465 const allowedValues = ["auto", "none", "closerequest", "any"]; 9466 const options = allowedValues.join(", "); 9467 if (!allowedValues.includes(rawValue)) { 9468 console.warn( 9469 `"${rawValue}" is not one of the allowed values for closeby: ${options}` 9470 ); 9471 return fallback; 9472 } 9473 } 9474 return rawValue; 9475 } 9476 9477 // src/cdn.js 9478 document.addEventListener("alpine:init", () => { 9479 window.Alpine.plugin(dialog_default); 9480 }); 9481 })(); 9482 //# sourceURL=alpine-htmldialog.js 9483</script>
9483 9484
vendor: 2,386 bytes, lines 9485-9545
9485<script> 9486 (() => { 9487 function src_default(Alpine) { 9488 Alpine.directive("intersect", Alpine.skipDuringClone((el, { value, expression, modifiers }, { evaluateLater, cleanup }) => { 9489 let evaluate = evaluateLater(expression); 9490 let options = { 9491 rootMargin: getRootMargin(modifiers), 9492 threshold: getThreshold(modifiers) 9493 }; 9494 let observer = new IntersectionObserver((entries) => { 9495 entries.forEach((entry) => { 9496 if (entry.isIntersecting === (value === "leave")) 9497 return; 9498 evaluate(); 9499 modifiers.includes("once") && observer.disconnect(); 9500 }); 9501 }, options); 9502 observer.observe(el); 9503 cleanup(() => { 9504 observer.disconnect(); 9505 }); 9506 })); 9507 } 9508 function getThreshold(modifiers) { 9509 if (modifiers.includes("full")) 9510 return 0.99; 9511 if (modifiers.includes("half")) 9512 return 0.5; 9513 if (!modifiers.includes("threshold")) 9514 return 0; 9515 let threshold = modifiers[modifiers.indexOf("threshold") + 1]; 9516 if (threshold === "100") 9517 return 1; 9518 if (threshold === "0") 9519 return 0; 9520 return Number(`.${threshold}`); 9521 } 9522 function getLengthValue(rawValue) { 9523 let match = rawValue.match(/^(-?[0-9]+)(px|%)?$/); 9524 return match ? match[1] + (match[2] || "px") : void 0; 9525 } 9526 function getRootMargin(modifiers) { 9527 const key = "margin"; 9528 const fallback = "0px 0px 0px 0px"; 9529 const index = modifiers.indexOf(key); 9530 if (index === -1) 9531 return fallback; 9532 let values = []; 9533 for (let i = 1; i < 5; i++) { 9534 values.push(getLengthValue(modifiers[index + i] || "")); 9535 } 9536 values = values.filter((v) => v !== void 0); 9537 return values.length ? values.join(" ").trim() : fallback; 9538 } 9539 9540 document.addEventListener("alpine:init", () => { 9541 window.Alpine.plugin(src_default); 9542 }); 9543 })(); 9544 //# sourceURL=alpine-intersect.js 9545</script>
9545 9546
9547<script> 9548 for (const [selector, deferUntil] of Object.entries({".product-slider section[x-data]:not([x-data] [x-data])":"intersect",".product-info [x-data]:not([x-data] [x-data])":"intersect","#filters-content [x-data]:not([x-data] [x-data])":"intersect","#review_form":"intersect","section[x-data^=initRecentlyViewedProductsComponent]":"intersect","div[x-data^=initBundleOptions]":"intersect","#product_addtocart_form [x-data]:not([x-data] [x-data])":"intersect","#notice-cookie-block":"idle"})) { 9549 document.querySelectorAll(selector).forEach(el => el.setAttribute('x-defer', `${deferUntil}`)); 9550 } 9551 //# sourceURL=alpine-defer-rules.js 9552</script>
vendor: 1 bytes, line 9552
9552
9553<script> 9554 (() => { 9555 const hasAlpine = new Promise(resolve => { 9556 window.addEventListener('alpine:initialized', resolve, {once: true, passive: true}); 9557 }); 9558 9559 const hasInteract = new Promise(resolve => { 9560 (events => { 9561 const onInteract = () => { 9562 resolve(); 9563 events.forEach(type => window.removeEventListener(type, onInteract)); 9564 } 9565 events.forEach(type => window.addEventListener(type, onInteract, {once: true, passive: true})) 9566 })(['touchstart', 'mouseover', 'wheel', 'scroll', 'keydown']) 9567 }); 9568 9569 const onIntersect = (el) => { 9570 return new Promise(resolve => { 9571 const observer = new IntersectionObserver(entries => { 9572 for (const entry of entries) { 9573 if (entry.isIntersecting) { 9574 observer.disconnect() 9575 resolve(); 9576 } 9577 } 9578 }, {}); 9579 observer.observe(el); 9580 }); 9581 } 9582 9583 function runComponent(el) { 9584 hasAlpine.then(() => { 9585 el.removeAttribute('x-ignore'); 9586 queueMicrotask(() => Alpine.initTree(el)); 9587 }); 9588 } 9589 9590 function initDeferredComponents() { 9591 document.querySelectorAll('[x-data][x-defer]').forEach(el => { 9592 el.setAttribute('x-ignore', ''); 9593 const deferUntil = (el.getAttribute('x-defer') || '').trim(); 9594 switch (deferUntil) { 9595 case 'interact': 9596 hasInteract.then(() => runComponent(el)); 9597 break; 9598 case 'intersect': 9599 onIntersect(el).then(() => runComponent(el)) 9600 break; 9601 case 'idle': 9602 window.requestIdleCallback 9603 ? window.requestIdleCallback(() => runComponent(el), {timeout: 4000}) 9604 : setTimeout(() => runComponent(el), 4000); 9605 break; 9606 case 'eager': 9607 runComponent(el); 9608 break; 9609 default: 9610 if (deferUntil.startsWith('event:') && deferUntil.length > 6) { 9611 window.addEventListener(deferUntil.substring(6), () => runComponent(el), {once: true, passive: true}); 9612 } 9613 } 9614 }); 9615 } 9616 9617 window.addEventListener('alpine:init', initDeferredComponents, {once: true, passive: true}); 9618 })(); 9619 //# sourceURL=alpine-defer.js 9620</script>
9620 9621 9622
9623<script type="module" 9624 src="https://pik.de/shop/static/version1790200954/frontend/PIK/default/de_DE/Hyva_Theme/js/alpine3.min.js" 9625 defer 9626 crossorigin 9627></script>
vendor: 1 bytes, line 9627
9627
9628<script> 9629 function dispatchMessages(messages, hideAfter) { 9630 const messagesEvent = new CustomEvent("messages-loaded", { 9631 detail: { 9632 messages: messages, 9633 hideAfter: hideAfter 9634 } 9635 }); 9636 window.dispatchEvent(messagesEvent); 9637 } 9638 9639 if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) { 9640 console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script"); 9641 } 9642 9643 (function( hyva, undefined ) { 9644 9645 hyva.initFormKey = () => { 9646 const inputSelector = 'input[name="form_key"]', 9647 formKey = hyva.getFormKey(); 9648 9649 Array.from(document.querySelectorAll(inputSelector)).map(function (input) { 9650 input.value = formKey 9651 }); 9652 } 9653 9654 hyva.initMessages = () => { 9655 try { 9656 const messages = hyva.getCookie('mage-messages'); 9657 window.mageMessages = messages ? JSON.parse(decodeURIComponent(messages).replace(/\+/g, ' ')) : []; 9658 9659 dispatchMessages(window.mageMessages); 9660 9661 // empty `mage-messages` cookie 9662 const skipSetDomain = true; 9663 hyva.setCookie('mage-messages','', -1, skipSetDomain); 9664 9665 } catch (error) { 9666 console.warn('Error parsing Cookie Messages:', error); 9667 } 9668 } 9669 9670 window.addEventListener('DOMContentLoaded', hyva.initFormKey); 9671 hyva.alpineInitialized(hyva.initMessages) 9672 9673 }( window.hyva = window.hyva || {} )); 9674 //# sourceURL=hyva-cookies.js 9675</script>
vendor: 1 bytes, line 9675
9675
9676<script> 9677 { 9678 const private_content_key = 'mage-cache-storage'; 9679 const private_content_expire_key = 'mage-cache-timeout'; 9680 const private_content_version_key = 'private_content_version'; 9681 const section_data_ids_key = 'section_data_ids'; 9682 const mage_cache_session_id_key = 'mage-cache-sessid'; 9683 const last_visited_store_key = 'last_visited_store'; 9684 9685 const ttl = 3600; 9686 9687 if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) { 9688 console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script"); 9689 } 9690 9691 function loadSectionData () { 9692 const browserStorage = hyva.getBrowserStorage(); 9693 if (!browserStorage) { 9694 typeof window.dispatchMessages !== "undefined" && window.dispatchMessages( 9695 [{ 9696 type: "warning", 9697 text: "Bitte aktivieren Sie LocalStorage in Ihrem Browser." 9698 }] 9699 ); 9700 return; 9701 } 9702 try { 9703 let isInvalid = false; 9704 9705 if (hyva.getCookie(last_visited_store_key) !== CURRENT_STORE_CODE) { 9706 isInvalid = true; 9707 } 9708 hyva.setCookie(last_visited_store_key, CURRENT_STORE_CODE, false, false); 9709 9710 if (!hyva.getCookie(mage_cache_session_id_key)) { 9711 isInvalid = true; 9712 browserStorage.removeItem(private_content_key); 9713 const skipSetDomain = true; 9714 const days = false; 9715 hyva.setCookie(mage_cache_session_id_key, true, days, skipSetDomain) 9716 } 9717 9718 const cookieVersion = hyva.getCookie(private_content_version_key); 9719 const storageVersion = browserStorage.getItem(private_content_version_key); 9720 9721 if (cookieVersion && !storageVersion || cookieVersion !== storageVersion) { 9722 isInvalid = true; 9723 } 9724 9725 const privateContentExpires = browserStorage.getItem(private_content_expire_key); 9726 if (privateContentExpires && new Date(privateContentExpires) < new Date()) { 9727 browserStorage.removeItem(private_content_key); 9728 } 9729 9730 if (isInvalid && cookieVersion) { 9731 fetchPrivateContent([]); 9732 } else if (cookieVersion && storageVersion && cookieVersion === storageVersion) { 9733 const privateContent = JSON.parse(browserStorage.getItem(private_content_key)); 9734 if ( 9735 privateContent && 9736 privateContentExpires && 9737 privateContent.cart && 9738 privateContent.customer 9739 ) { 9740 dispatchPrivateContent(privateContent); 9741 } else { 9742 fetchPrivateContent([]); 9743 } 9744 } else { 9745 if (document.getElementById('default-section-data')) { 9746 const privateContent = JSON.parse(document.getElementById('default-section-data').innerText.trim()); 9747 dispatchPrivateContent(privateContent); 9748 } else { 9749 dispatchPrivateContent({}); 9750 } 9751 } 9752 9753 } catch (error) { 9754 console.warn('Error retrieving Private Content:', error); 9755 } 9756 } 9757 9758 hyva.alpineInitialized(loadSectionData) 9759 window.addEventListener('reload-customer-section-data', loadSectionData); 9760 9761 window.processSectionDataBeforeDispatch = window.processSectionDataBeforeDispatch || (data => data); 9762 9763 function dispatchPrivateContent(data) { 9764 9765 const privateContentEvent = new CustomEvent("private-content-loaded", { 9766 detail: { 9767 data: window.processSectionDataBeforeDispatch(data) 9768 } 9769 }); 9770 window.dispatchEvent(privateContentEvent); 9771 } 9772 9773 function fetchPrivateContent(sections) { 9774 fetch(`${BASE_URL}customer/section/load/?sections=${encodeURIComponent(sections.join(','))}`, { 9775 method: 'GET', 9776 headers: { 9777 'Content-Type': 'application/json', 9778 'X-Requested-With': 'XMLHttpRequest' 9779 } 9780 }) 9781 .then(response => response.ok && response.json()) 9782 .then( 9783 data => { 9784 if (data) { 9785 try { 9786 const browserStorage = hyva.getBrowserStorage(); 9787 9788 // merge new data preserving non-invalidated sections 9789 const oldSectionData = JSON.parse(browserStorage.getItem(private_content_key) || '{}') || {}; 9790 9791 if ((! data.cart || ! data.cart.cartId) && oldSectionData['checkout-data']) { 9792 delete oldSectionData['checkout-data']; 9793 } 9794 const newSectionData = Object.assign(oldSectionData, data); 9795 9796 dispatchPrivateContent(newSectionData); 9797 9798 // don't persist messages, they've been dispatched already 9799 if (newSectionData.messages && newSectionData.messages.messages ) { 9800 newSectionData.messages.messages = []; 9801 } 9802 9803 browserStorage.setItem(private_content_key, JSON.stringify(newSectionData)); 9804 9805 const expiresAt = new Date(Date.now() + (ttl * 1000)).toISOString(); 9806 browserStorage.setItem(private_content_expire_key, expiresAt); 9807 9808 const newCookieVersion = hyva.getCookie(private_content_version_key); 9809 browserStorage.setItem(private_content_version_key, newCookieVersion); 9810 9811 // We don't need the section_data_ids in Hyvä, but we store them for compatibility 9812 // with Luma Fallback. Otherwise, not all sections are loaded in Luma Checkout 9813 hyva.setCookie( 9814 section_data_ids_key, 9815 JSON.stringify( 9816 Object.keys(data).reduce((sectionDataIds, sectionKey) => { 9817 sectionDataIds[sectionKey] = data[sectionKey]['data_id']; 9818 return sectionDataIds; 9819 }, {}) 9820 ), 9821 false, 9822 true 9823 ); 9824 } catch (error) { 9825 console.warn("Couldn't store privateContent", error); 9826 } 9827 } 9828 } 9829 ) 9830 .catch(error => { 9831 console.warn("Couldn't fetch privateContent", error); 9832 }); 9833 } 9834 } 9835 //# sourceURL=hyva-private-content.js 9836</script>
vendor: 1 bytes, line 9836
9836
9837<script> 9838 (() => { 9839 document.addEventListener('submit', event => event.target.action = event.target.action.replace('%25uenc%25', hyva.getUenc())); 9840 })() 9841</script>
vendor: 1 bytes, line 9841
9841
9842<script> 9843 (events => { 9844 const dispatchUserInteractionEvent = () => { 9845 events.forEach(type => window.removeEventListener(type, dispatchUserInteractionEvent)) 9846 window.dispatchEvent(new Event('init-external-scripts')) 9847 }; 9848 events.forEach(type => window.addEventListener(type, dispatchUserInteractionEvent, {once: true, passive: true})) 9849 })(['touchstart', 'mousemove', 'wheel', 'scroll', 'keydown']); 9850 //# sourceURL=hyva-init-external-scripts.js 9851</script>
9851 9852<a class="smooth-scroll to-kontakt" style="background: #0f1e5a !important; transform: translateY(0px);" id="to-contact" href="#pik-anfrage" data-text="Kontakt"><img class="kontakt-uns ls-is-cached lazyloaded" src="https://pik.de/shop/media/.renditions/wysiwyg/Ansprechpartner/K-W-150-q.jpg" data-src="https://pik.de/shop/media/.renditions/wysiwyg/Ansprechpartner/K-W-150-q.jpg" width="40" height="40"> <span class="fa_fa-long-arrow-up main-color"><img class="icon_kontakt ls-is-cached lazyloaded" src="https://pik.de/wp-content/uploads/2020/07/32-chat-pik.png" data-src="https://pik.de/wp-content/uploads/2020/07/32-chat-pik.png"> Kontaktieren<br>Sie uns!</span> </a> 9853 9854<style> 9855 .customer-logged-in #menu-pik-menu .customer-menu li.login-item {display: block !important;} 9856 9857 [data-content-type=products][data-appearance=carousel] [data-role=glider-content] { 9858 grid-template-columns: repeat(1, calc(100% - 1rem)) !important; 9859 gap: 30px !important; 9860} 9861 9862@media (min-width: 640px) { 9863 [data-content-type=products][data-appearance=carousel] [data-role=glider-content] { 9864 grid-template-columns: repeat(2, calc(50% - 1rem)) !important; 9865} 9866} 9867 9868@media (min-width: 1024px) { 9869 [data-content-type=products][data-appearance=carousel] [data-role=glider-content] { 9870 grid-template-columns: repeat(4, calc(25% - 32px)) !important; 9871} 9872} 9873 9874 #description .card { 9875 border-radius: 0 !important; 9876 box-shadow: none !important; 9877 border: 1px solid #ccc !important; 9878 margin: 5px !important; 9879 overflow:hidden; 9880} 9881 9882 9883 9884 9885 9886 9887 9888 9889 9890 9891 9892 9893 9894#gallery button.btn-fullscreen.block { 9895 position: fixed; 9896 right: 20px; 9897 top: 20px; 9898 z-index: 100; 9899} 9900 9901 9902a#to-top svg { 9903 margin-left: 14px; 9904 height: 20px; 9905 fill: #0f1e5a !important; 9906} 9907 9908#to-top { 9909 transition-delay: 1s; 9910 height: 40px; 9911 width: 40px; 9912 background-color: #fff; 9913 border-radius: 50%; 9914 display: inline-block; 9915 box-shadow: 0px 0px 10px 0px #ccc; 9916 position: fixed; 9917 right: 20px; 9918 bottom: -100px; 9919 z-index: 1000; 9920 cursor: pointer; 9921 display: inline-block; 9922 transform: translateY(0px); 9923 -webkit-transform: translateY(0px); 9924 -webkit-transition: all .8s ease; 9925 transition: all .8s ease; 9926 line-height: 1; 9927 margin-bottom: 20px; 9928} 9929 9930 9931#to-top span { 9932 margin-top: 10px; 9933 text-align: center; 9934 font-size: 22px; 9935 display: block; 9936 display: block; 9937 margin-bottom: 8px; 9938 transition: all .2s ease-out; 9939 -webkit-transition: all .2s ease-out; 9940} 9941 9942img.kontakt-uns { 9943 border-radius: 24px; 9944 position: absolute; 9945 left: -17px; 9946 top: -2px; 9947 border: 2px solid #fff; 9948 width:46px 9949} 9950 9951#to-contact { 9952 position: fixed; 9953 right: 20px; 9954 bottom: -150px; 9955 z-index: 50; 9956 cursor: pointer; 9957 transform: translateY(70px); 9958 -webkit-transform: translateY(70px); 9959 -webkit-transition: all .8s ease; 9960 transition: all .8s ease; 9961 line-height: 1; 9962 margin-bottom: 20px; 9963 font-size:12px; 9964 transition-delay: 0s; 9965 min-height: 30px; 9966width: 135px; 9967background-color: transparent; 9968display: inline-block; 9969box-shadow: 0px 0px 10px 0px #ccc; 9970border-radius:7px; 9971 right: 20px; 9972} 9973 9974#to-contact:after{ 9975display:none; 9976} 9977 9978 9979#to-contact span { 9980 text-align: left; 9981 font-size: 10px; 9982 display: block; 9983 display:block; 9984 margin-bottom: 8px; 9985 transition:all 0.2s ease-out; 9986 -webkit-transition:all 0.2s ease-out; 9987 margin-top: 14px; 9988} 9989 9990a#to-contact span { 9991 font-size: 13px !important; 9992 color: #fff; 9993 margin: 0 !important; 9994 padding:8px 5px 8px 35px; 9995 text-transform:uppercase; 9996 max-height: 48px; 9997 9998} 9999 10000div#pik-anfrage { 10001 position: relative; 10002 z-index: 100; 10003}img.icon_kontakt.lazyloaded { 10004 display: none; 10005} 10006 10007 10008@media (min-width:1024px) { 10009img.kontakt-uns { 10010 border-radius: 30px; 10011 position: absolute; 10012 left: -32px; 10013 top: -7px; 10014 border: 2px solid #fff; 10015 width: 60px !important; 10016 height:60px !important; 10017} 10018#to-contact {width:188px;} 10019 10020a#to-contact span { 10021 font-size: 14px !important; 10022 color: #fff; 10023 margin: 0 !important; 10024 padding:8px 5px 8px 75px; 10025 text-transform:uppercase; 10026 line-height:16px; 10027 10028} 10029img.icon_kontakt { 10030 position: absolute; 10031 left: 36px; 10032 width:26px; 10033 top:12px; 10034 display:block !important; 10035} 10036} 10037 10038 10039#to-top { 10040 transition-delay: 1s; 10041} 10042 10043.stroke-white { 10044 stroke: #1b4f80 !important; 10045} 10046 10047 10048 10049#block-summary input[type=radio] { 10050 border-radius: 50% !important; 10051 margin-right:10px !important; 10052} 10053 10054#block-summary [type=radio]:checked { 10055 background-image: url(https://pik.de/wp-content/icons/haken.svg) !important; 10056} 10057</style>
10058<script> 10059 function initConfigurableOptions(productId, optionConfig) { 10060 10061 function findPathParam(key) { 10062 const baseUrl = (BASE_URL.substring(0, 2) === '//' ? 'http:' : '') + BASE_URL; 10063 const baseUrlParts = (new URL(baseUrl)).pathname.replace(/\/$/, '').split('/'); 10064 const pathParts = window.location.pathname.split('/').slice(baseUrlParts.length + 3); 10065 for (let i = 0; i < pathParts.length; i += 2) { 10066 if (pathParts[i] === key && pathParts.length > i) { 10067 return pathParts[i + 1]; 10068 } 10069 } 10070 } 10071 10072 return { 10073 optionConfig, 10074 productId, 10075 itemId: (new URLSearchParams(window.location.search)).get('id') || findPathParam('id'), 10076 allowedAttributeOptions: [], 10077 selectedValues: [], 10078 init() { 10079 this.buildLookupMap(); 10080 this.findAllowedAttributeOptions(); 10081 this.$nextTick(() => { 10082 if (typeof this.optionConfig.defaultValues === 'object') { 10083 for (const [attributeId, value] of Object.entries(this.optionConfig.defaultValues)) { 10084 this.changeOption(attributeId, value + ''); 10085 } 10086 } 10087 }); 10088 }, 10089 productIndex: 0, 10090 productIndexForPrice: 0, 10091 productIndexesMap: null, 10092 productIndexesKeys: null, 10093 attributeCount: 0, 10094 optionIsActive(attributeId, optionId) { 10095 return !!this.getAllowedAttributeOptions(attributeId).find( 10096 option => option.id === optionId 10097 ) 10098 }, 10099 optionIsEnabled(attributeId, optionId) { 10100 for (const productId in this.optionConfig.index) { 10101 if (this.optionConfig.index[productId][attributeId] === optionId) { 10102 return true; 10103 } 10104 } 10105 return false; 10106 }, 10107 findSimpleIndex() { 10108 this.productIndex = this.calculateSimpleIndexForPartialSelection(this.selectedValues); 10109 this.productIndexForPrice = this.findCheapestProductForPartialSelection(this.selectedValues); 10110 }, 10111 calculateSimpleIndexForPartialSelection(selectedValues) { 10112 if (selectedValues.length === 0) return 0; 10113 return this.findProductIdsForPartialSelection(selectedValues)[0]; 10114 }, 10115 buildLookupMap() { 10116 this.productIndexesMap = new Map(); 10117 this.attributeCount = Object.keys(this.optionConfig.attributes).length; 10118 for (const id in this.optionConfig.index) { 10119 const options = this.optionConfig.index[id]; 10120 if (! this.productIndexesKeys) { 10121 this.productIndexesKeys = Object.keys(options).sort(); 10122 } 10123 const key = JSON.stringify(options, this.productIndexesKeys); 10124 this.productIndexesMap.set(key, id); 10125 } 10126 }, 10127 calculateSimpleIndexForFullSelection(selectedValues) { 10128 if (! this.isFullSelection(selectedValues)) return false; 10129 10130 const attrKeys = this.productIndexesKeys || []; 10131 const normalised = {}; 10132 for (let i = 0; i < attrKeys.length; i++) { 10133 normalised[attrKeys[i]] = selectedValues[attrKeys[i]]; 10134 } 10135 const queryKey = JSON.stringify(normalised, attrKeys); 10136 return this.productIndexesMap.get(queryKey); 10137 }, 10138 findAllowedAttributeOptions() { 10139 this.allowedAttributeOptions = this.calculateAllowedAttributeOptions(this.selectedValues); 10140 }, 10141 calculateAllowedAttributeOptions(selectedValues) { 10142 const allAttributes = this.optionConfig.attributes; 10143 const allAttributesSorted = Object.values(allAttributes).sort((a,b) => { 10144 return a.position - b.position 10145 }); 10146 10147 const newAllowedAttributeOptions = []; 10148 10149 allAttributesSorted.forEach(attribute => { 10150 const selectionWithoutAttr = Object.assign({}, this.removeAttrFromSelection(selectedValues, attribute.id)); 10151 const availableIndexes = this.calculateAvailableProductIndexes(selectionWithoutAttr); 10152 newAllowedAttributeOptions[attribute.id] = allAttributes[attribute.id].options.filter(option => { 10153 return !!option.products.find(product => { 10154 return availableIndexes.includes(product); 10155 }) 10156 }); 10157 }); 10158 return newAllowedAttributeOptions; 10159 }, 10160 calculateAvailableProductIndexes(selectedOptions) { 10161 if (Object.keys(selectedOptions).length === 0) { 10162 if (Object.values(this.optionConfig.salable || {}).length) { 10163 return [].concat.apply([], [].concat.apply([], Object.values(this.optionConfig.salable).map(Object.values))).filter((x, i, a) => a.indexOf(x) === i) 10164 } 10165 return Object.keys(this.optionConfig.index); 10166 } 10167 10168 const selectedIds = Object.keys(selectedOptions); 10169 if (Object.values(this.optionConfig.salable || {}).length) { 10170 const selectedOptionIndexes = selectedIds.map(attrId => { 10171 const optionValue = selectedOptions[attrId]; 10172 return this.optionConfig.salable[attrId] && this.optionConfig.salable[attrId][optionValue] || [] 10173 }) 10174 return selectedOptionIndexes.reduce((acc, optionIndexes) => { 10175 return acc.filter(index => optionIndexes.includes(index)); 10176 }); 10177 } else { 10178 const productIndexes = this.optionConfig.index; 10179 return Object.keys(productIndexes).filter(index => { 10180 for (const attrId of selectedIds) { 10181 if (productIndexes[index][attrId] !== `${selectedOptions[attrId]}`) return false 10182 } 10183 return true 10184 }); 10185 } 10186 }, 10187 findAttributeByOptionId(optionId) { 10188 for (const attributeId in this.optionConfig.attributes) { 10189 const attributeOptions = this.optionConfig.attributes[attributeId].options || []; 10190 if (attributeOptions.find(option => option.id === optionId)) { 10191 return attributeId; 10192 } 10193 } 10194 }, 10195 getAllowedAttributeOptions(attributeId) { 10196 return this.allowedAttributeOptions[attributeId] || [] 10197 }, 10198 getAllAttributeOptions(attributeId) { 10199 return ( 10200 this.optionConfig.attributes[attributeId] && 10201 this.optionConfig.attributes[attributeId].options 10202 ) || [] 10203 }, 10204 getProductIdsForOption(option) { 10205 const attributeId = this.findAttributeByOptionId(option.id); 10206 const allOptions = this.optionConfig.attributes[attributeId]; 10207 const opt = (allOptions && allOptions.options || []).find(o => o.id === option.id); 10208 return opt && opt.products 10209 ? opt.products 10210 : []; 10211 }, 10212 findProductIdsForPartialSelection(optionSelection) { 10213 const candidateProducts = Object.values(optionSelection).reduce((candidates, optionId) => { 10214 const newCandidates = this.getProductIdsForOption({id: optionId}); 10215 return candidates === null 10216 ? newCandidates 10217 : candidates.filter(productId => newCandidates.includes(productId)); 10218 }, null); 10219 return candidateProducts || []; 10220 },
10221 findCheapestProductForPartialSelection(optionSelection) { 10222 const candidateProducts = this.findProductIdsForPartialSelection(optionSelection); 10223 return candidateProducts.reduce((cheapest, simpleIdx) => { 10224 // in the first iteration we start with simpleIdx as the currently cheapest product 10225 if (! this.optionConfig.optionPrices[cheapest]) return simpleIdx; 10226 const knownCheapestPrice = this.optionConfig.optionPrices[cheapest].finalPrice.amount; 10227 return knownCheapestPrice > this.optionConfig.optionPrices[simpleIdx].finalPrice.amount 10228 ? simpleIdx 10229 : cheapest; 10230 }, 0) 10231 }, 10232 findProductIdToUseForOptionPrice(option) { 10233 // try to find a product for a complete selection 10234 const attributeId = this.findAttributeByOptionId(option.id); 10235 const optionSelection = Object.assign({}, this.selectedValues, {[attributeId]: option.id}); 10236 const matchingSimpleIndex = this.calculateSimpleIndexForFullSelection(optionSelection); 10237 // if there is no complete selection, use the cheapest product for the option 10238 return matchingSimpleIndex || this.findCheapestProductForPartialSelection(optionSelection); 10239 }, 10240 getAttributeOptionLabel(option) { 10241 const optionProduct = this.findProductIdToUseForOptionPrice(option); 10242 10243 if ((! optionProduct) || (optionProduct === this.productIndexForPrice)) { 10244 return option.label; 10245 } 10246 10247 const currentPrice = this.getOptionPriceAdjustmentBasePrice(); 10248 10249 if (this.optionConfig.optionPrices[optionProduct]) { 10250 const optionPrice = this.optionConfig.optionPrices[optionProduct].finalPrice.amount; 10251 if (optionPrice !== currentPrice){ 10252 return option.label + ' ' + hyva.formatPrice(optionPrice - currentPrice, true); 10253 } 10254 } 10255 return option.label; 10256 }, 10257 getOptionPriceAdjustmentBasePrice() { 10258 if (this.optionConfig.optionPrices[this.productIndexForPrice]) { 10259 return this.optionConfig.optionPrices[this.productIndexForPrice].finalPrice.amount 10260 } 10261 return this.optionConfig.prices.finalPrice.amount; // default price if no option selection 10262 }, 10263 clearOptionIfActive(optionId, value) { 10264 if (this.selectedValues[optionId] === value) { 10265 this.blurLabel() 10266 this.changeOption(optionId, '') 10267 } 10268 }, 10269 removeAttrFromSelection(selectedValues, attributeId) { 10270 attributeId = parseInt(attributeId); 10271 return selectedValues.reduce((newSelection, val, attr) => { 10272 if (attr !== attributeId) { 10273 newSelection[attr] = val; 10274 } 10275 return newSelection; 10276 }, []); 10277 }, 10278 changeOption(attributeId, value) { 10279 if (value === '') { 10280 this.selectedValues = this.removeAttrFromSelection(this.selectedValues, attributeId) 10281 } else if (value && this.getAllowedAttributeOptions(attributeId).find(option => option.id === value)) { 10282 this.selectedValues[attributeId] = value; 10283 } 10284 this.findSimpleIndex(); 10285 this.findAllowedAttributeOptions(); 10286 this.updatePrices(); 10287 this.updateGallery(); 10288 10289 const candidates = this.findProductIdsForPartialSelection(this.selectedValues); 10290 10291 window.dispatchEvent( 10292 new CustomEvent( 10293 'configurable-selection-changed', 10294 { 10295 detail: { 10296 productId: this.productId, 10297 optionId: attributeId, 10298 value: value, 10299 productIndex: this.productIndex, 10300 selectedValues: this.selectedValues, 10301 candidates: candidates, 10302 skuCandidates: Object.values(candidates).map(id =>
10302 this.optionConfig.sku?.[id] ?? null).filter(Boolean), 10303 } 10304 } 10305 ) 10306 ); 10307 }, 10308 calculateIsMinimalPrice() { 10309 return ! this.isFullSelection(this.selectedValues); 10310 }, 10311 isFullSelection(selectedValues) { 10312 return Object.keys(selectedValues).length === this.attributeCount; 10313 }, 10314 updatePrices() { 10315 const value = this.optionConfig.optionPrices[this.productIndexForPrice] || this.optionConfig.prices; 10316 window.dispatchEvent( 10317 new CustomEvent( 10318 "update-prices-" + this.productId, 10319 { 10320 detail: Object.assign( 10321 value, 10322 { isMinimalPrice: this.calculateIsMinimalPrice() } 10323 ) 10324 } 10325 ) 10326 ); 10327 }, 10328 updateGallery () { 10329 if (this.productIndex) { 10330 const images = this.optionConfig.images[this.productIndex]; 10331 images && window.dispatchEvent(new CustomEvent( 10332 "update-gallery", 10333 { detail: this.sortImagesByPosition(images) } 10334 )); 10335 } else { 10336 window.dispatchEvent(new Event("reset-gallery")); 10337 } 10338 }, 10339 sortImagesByPosition(images) { 10340 return images.sort((x, y) => { 10341 return x.position === y.position ? 0 : (parseInt(x.position) > parseInt(y.position) ? 1 : -1) 10342 }); 10343 }, 10344 onGetCartData(data) { 10345 }, 10346 preselectCartItems(data) { 10347 // pre-select options based on cart data for current (quote) itemId 10348 const cart = data && data.cart; 10349 if (cart && cart.items) { 10350 const cartItem = cart.items.find((item) => { 10351 return ( 10352 item.item_id === this.itemId 10353 && item.product_id === this.productId 10354 ) 10355 }); 10356 if (cartItem && cartItem.options && cartItem.options.length) { 10357 cartItem.options.map(option => { 10358 this.changeOption(option.option_id, option.option_value); 10359 }) 10360 } 10361 } 10362 }, 10363 preselectQuerystringItems() { 10364 // pre-select option like ?size=167 10365 const urlQueryParams = new URLSearchParams(window.location.search.replace('?','')); 10366 this.preselectItemsBasedOnLocation(attribute => urlQueryParams.get(attribute.code)); 10367 }, 10368 preselectLocationHashItems() { 10369 // pre-select option like #144=167 10370 const urlHashParams = new URLSearchParams(window.location.hash.replace('#','')); 10371 this.preselectItemsBasedOnLocation(attribute => urlHashParams.get(attribute.id)); 10372 }, 10373 preselectItemsBasedOnLocation(getLocationValue) { 10374 Object.values(this.optionConfig.attributes).map(attribute => { 10375 const v = getLocationValue(attribute); 10376 v && this.changeOption(attribute.id, v) 10377 }); 10378 } 10379 } 10380 } 10381</script>
vendor: 1 bytes, line 10381
10381
10382<script> 10383 function initSwatchOptions(swatchConfig) { 10384 return { 10385 swatchConfig, 10386 getAttributeSwatchData(attributeId) { 10387 const swatchConfig = Object.assign({}, this.swatchConfig[attributeId]); 10388 swatchConfig['details'] = JSON.parse(swatchConfig['additional_data']); 10389 10390 return swatchConfig; 10391 }, 10392 getAllAttributeOptions(attributeId) { 10393 return ( 10394 this.optionConfig.attributes[attributeId] && 10395 this.optionConfig.attributes[attributeId].options 10396 ) || [] 10397 }, 10398 optionIsActive(attributeId, optionId) { 10399 // MOD: relies on filtered allowedAttributeOptions (salable-only) after configurable override. 10400 return !!this.getAllowedAttributeOptions(attributeId).find( 10401 option => option.id === optionId 10402 ) 10403 }, 10404 optionIsEnabled(attributeId, optionId) { 10405 for (const productId in this.optionConfig.index) { 10406 if (this.optionConfig.index[productId][attributeId] === optionId) { 10407 return true; 10408 } 10409 } 10410 return false; 10411 }, 10412 mapSwatchTypeNumberToTypeCode(typeNumber) { 10413 switch ("" + typeNumber) { 10414 case "1": 10415 return "color" 10416 case "2": 10417 return "image" 10418 case "3": 10419 return "empty" 10420 case "0": 10421 default: 10422 return "text" 10423 } 10424 }, 10425 getTypeOfFirstOption(attributeId) { 10426 for (const optionId in this.swatchConfig[attributeId]) { 10427 const option = this.swatchConfig[attributeId][optionId]; 10428 if (typeof option.type !== 'undefined') { 10429 return this.mapSwatchTypeNumberToTypeCode(option.type); 10430 } 10431 } 10432 }, 10433 getVisualSwatchType(attributeId, targetOptionId) { 10434 // If a type configuration is present for the given option id, use it 10435 const config = this.swatchConfig[attributeId]; 10436 if (config[targetOptionId] && typeof config[targetOptionId].type !== 'undefined') { 10437 return this.mapSwatchTypeNumberToTypeCode(config[targetOptionId].type); 10438 } 10439 10440 // Otherwise - if no config is present for the target option - use the type of the first option 10441 // with a type property from the attribute, thus assuming its the same type as the target option. 10442 // (This edge case condition can occur on single swatch products if some options are not salable) 10443 return this.getTypeOfFirstOption(attributeId); 10444 }, 10445 getSwatchType(attributeId, optionId) { 10446 // Deserialize the attribute details the first time they are used 10447 if (this.swatchConfig[attributeId] && ! this.swatchConfig[attributeId].details) { 10448 this.swatchConfig[attributeId] = this.getAttributeSwatchData(attributeId); 10449 } 10450 const type = this.swatchConfig[attributeId] && 10451 this.swatchConfig[attributeId].details && 10452 this.swatchConfig[attributeId].details.swatch_input_type || 10453 "empty"; 10454 return type === 'visual' ? this.getVisualSwatchType(attributeId, optionId) : type; 10455 }, 10456 isTextSwatch(attributeId, optionId) { 10457 return this.getSwatchType(attributeId, optionId) === 'text'; 10458 }, 10459 isVisualSwatch(attributeId, optionId) { 10460 const type = this.getSwatchType(attributeId, optionId); 10461 10462 return ['image', 'color'].includes(type); 10463 }, 10464 getSwatchBackgroundStyle(attributeId, optionId) { 10465 const config = this.getSwatchConfig(attributeId, optionId);
10466 const type = this.getSwatchType(attributeId, optionId); 10467 10468 if (type === "color") { 10469 return 'background-color:' + config.value; 10470 } else if (type === "image") { 10471 return "background: #fff url('" + config.value + "') no-repeat center"; 10472 } else { 10473 return ''; 10474 } 10475 }, 10476 getSwatchText(attributeId, optionId) { 10477 const config = this.getSwatchConfig(attributeId, optionId); 10478 return config.label || config.value || this.getOptionLabelFromOptionConfig(attributeId, optionId); 10479 }, 10480 getOptionLabelFromOptionConfig(attributeId, optionId) { 10481 // Fallback if no value is present in swatchConfig data 10482 // Reference issue https://gitlab.hyva.io/hyva-themes/magento2-default-theme/-/issues/190 10483 const option = this.getAllAttributeOptions(attributeId).filter(option => option.id === optionId); 10484 return option && option[0] && option[0].label ||''; 10485 }, 10486 getSwatchConfig(attributeId, optionId) { 10487 return this.swatchConfig[attributeId] && this.swatchConfig[attributeId][optionId] 10488 ? this.swatchConfig[attributeId][optionId] 10489 : false; 10490 }, 10491 activeTooltipItem: false, 10492 tooltipPositionElement: false, 10493 isTooltipVisible() { 10494 return this.activeTooltipItem &&
10495 this.getSwatchConfig( 10496 this.activeTooltipItem.attribute, 10497 this.activeTooltipItem.item 10498 ); 10499 }, 10500 isFirstItemCol() { 10501 return this.activeTooltipItem.index === 0; 10502 }, 10503 getTooltipImageStyle(attributeId, optionId) { 10504 const config = this.getSwatchConfig(attributeId, optionId); 10505 const type = this.getSwatchType(attributeId, optionId); 10506 10507 if (type === "color") { 10508 return 'background-color:' + config.value + '; width: 110px; height: 90px;'; 10509 } else if (type === "image") { 10510 return "background: #ffffff url('" + config.thumb + 10511 "') center center no-repeat; width: 110px; height: 90px;"; 10512 } else { 10513 return 'display:none'; 10514 } 10515 }, 10516 getTooltipPosition() { 10517 return this.tooltipPositionElement ? 10518 `top: ${this.tooltipPositionElement.offsetTop}px;` + 10519 `left: ${ 10520 this.tooltipPositionElement.offsetLeft - ( 10521 this.tooltipPositionElement.closest('.snap') && 10522 this.tooltipPositionElement.closest('.snap').scrollLeft || 10523 0 10524 ) 10525 }px;` : '' 10526 }, 10527 getTooltipLabel() { 10528 return this.getSwatchConfig(this.activeTooltipItem.attribute, this.activeTooltipItem.item).label 10529 }, 10530 focusedLabel: false, 10531 focusLabel(optionId) { 10532 this.focusedLabel = optionId; 10533 }, 10534 blurLabel() { 10535 this.focusedLabel = false; 10536 }, 10537 showSwatches: false, 10538 initShowSwatchesIntersect() { 10539 if ('IntersectionObserver' in window && !window.scrollY) { 10540 let io = new IntersectionObserver( 10541 entries => { 10542 entries.map(entry => { 10543 if (entry.isIntersecting) { 10544 this.showSwatches = true; 10545 io.unobserve(this.$root); 10546 } 10547 }) 10548 } 10549 ); 10550 io.observe(this.$root); 10551 } else { 10552 this.showSwatches = true 10553 } 10554 } 10555 } 10556 } 10557</script>
vendor: 1 bytes, line 10557
10557
10558<script> 10559 (function () { 10560 const modals = []; 10561 const excludedFromFocusTrapping = new Set(); 10562 10563 function trapFocusInNextModalWithOverlay() { 10564 for (let idx = modals.length -1; idx >= 0; idx--) { 10565 const nextOnStack = modals[idx]; 10566 const nextDialogElement = nextOnStack.instance.$refs[nextOnStack.name]; 10567 if (! isOverlayDisabled(nextDialogElement)) { 10568 hyva.trapFocus(nextDialogElement); 10569 break; 10570 } 10571 } 10572 } 10573 10574 function focusables(dialogElement) { 10575 const selector = 'button, [href], input, textarea, select, details, [tabindex]:not([tabindex="-1"])'; 10576 return Array.from(dialogElement.querySelectorAll(selector)) 10577 .filter(el => !el.hasAttribute('disabled')); 10578 } 10579 10580 function firstVisible(elements) { 10581 const a = Array.from(elements); 10582 for (let i = 0; i < a.length; i++) { 10583 if (a[i].offsetWidth || a[i].offsetHeight || a[i].getClientRects().length) return a[i]; 10584 } 10585 return null; 10586 } 10587 10588 function isInViewport(element) { 10589 const rect = element && element.getBoundingClientRect(); 10590 return rect && 10591 rect.top >= 0 && 10592 rect.left >= 0 && 10593 rect.right <= window.innerWidth && 10594 rect.bottom <= window.innerHeight; 10595 } 10596 10597 function setFocusAfterTransition(dialogElement, duration) { 10598 const nested = Array.from(dialogElement.querySelectorAll('[role="dialog"]')); 10599 const candidates = Array.from(dialogElement.querySelectorAll('[x-focus-first]')); 10600 next: for (let candidate of candidates) { 10601 for (let child of nested) { 10602 if (child.contains(candidate)) continue next; 10603 } 10604 setTimeout(() => candidate.focus(), 50); 10605 break; 10606 } 10607 window.setTimeout(() => { 10608 const focusElement = firstVisible(dialogElement.querySelectorAll('[x-focus-first]')) || 10609 focusables(dialogElement)[0] || 10610 null; 10611 focusElement && isInViewport(focusElement) && focusElement.focus(); 10612 }, Math.max(1, duration)); 10613 } 10614 10615 function determineTrigger($refs, dialog, trigger) { 10616 if (typeof trigger === 'undefined' && typeof dialog === 'object' && dialog.target instanceof HTMLElement) { 10617 return dialog.target; 10618 } 10619 if (typeof dialog === 'string' && typeof trigger === 'object' && trigger.target instanceof HTMLElement) { 10620 return trigger.target; 10621 } 10622 if (typeof trigger === 'string') { 10623 try { 10624 return $refs[trigger] || document.querySelector(trigger) 10625 } catch (e) {} 10626 } 10627 if (trigger instanceof Element) { 10628 return trigger; 10629 } 10630 10631 return null; 10632 } 10633 10634 function isOverlayDisabled(dialog) { 10635 return dialog && dialog.hasAttribute('x-no-overlay') 10636 } 10637 10638 function areRemainingModalsWithoutOverlay(modals) 10639 { 10640 const overflowDisabled = modals.map(modal => modal.instance.$refs[modal.name]).filter(isOverlayDisabled); 10641 10642 return overflowDisabled.length === modals.length; 10643 } 10644 10645 window.hyva.modal = function(options = {}) { 10646 if (this.$el && this.$el.dataset && this.$el.dataset.options) { 10647 try { 10648 options = Object.assign(options, JSON.parse(this.$el.dataset.options || '{}')); 10649 } catch (e) { 10650 throw new Error('Cannot read the dialog options from the data-options attribute: not valid JSON'); 10651 } 10652 } 10653 10654 const config = Object.assign({ 10655 dialog: 'dialog', duration: 300, transitionEnter: 'transition ease-out duration-300', 10656 transitionEnterStart: 'opacity-0', 10657 transitionEnterEnd: 'opacity-100', 10658 transitionLeave: 'transition ease-in duration-300', 10659 transitionLeaveStart: 'opacity-100', 10660 transitionLeaveEnd: 'opacity-0', 10661 }, options); 10662 let lastHide = 0; 10663 10664 return { 10665 opened: {}, 10666 show(dialog, trigger) { 10667 const focusTargetAfterHide = determineTrigger(this.$refs, dialog, trigger); 10668 const name = typeof dialog === 'string' ? dialog : config.dialog; 10669 const dialogElement = this.$refs[name]; 10670 if (! dialogElement) { 10671 return; 10672 } 10673 const useOverlay = ! dialogElement.hasAttribute('x-no-overlay'); 10674 10675 dialogElement.scrollTop = 0; 10676 10677 if (this.opened[name]) { 10678 return; 10679 } 10680 10681 if (focusTargetAfterHide) { 10682 focusTargetAfterHide.setAttribute('aria-expanded', 'true'); 10683 } 10684 10685 this.opened[name] = true; 10686 useOverlay && this.$nextTick(() => hyva.trapFocus(dialogElement)); 10687 setFocusAfterTransition(dialogElement, config.duration); 10688 10689 const frame = {name, instance: this, focusTarget: focu
10689sTargetAfterHide, time: Date.now()}; 10690 10691 modals.push(frame); 10692 if (useOverlay) { 10693 document.body.classList.add('overflow-hidden'); 10694 } 10695 return new Promise(resolve => frame.resolve = resolve); 10696 }, 10697 cancel() { 10698 this.hide(false); 10699 }, 10700 ok() { 10701 this.hide(true); 10702 }, 10703 hide(value) { 10704 if (Date.now() - lastHide < config.duration) { 10705 return; 10706 } 10707 lastHide = Date.now(); 10708 10709 const modal = modals.pop() || {}; 10710 if (! modal.instance) { 10711 return; 10712 } 10713 10714 const name = modal.name; 10715 this.opened[name] = false; 10716 hyva.releaseFocus(modal.instance.$refs[modal.name]) 10717 trapFocusInNextModalWithOverlay(); 10718 10719 const nextFocusAfterHide = modal.focusTarget; 10720 nextFocusAfterHide && setTimeout(() => { 10721 nextFocusAfterHide.setAttribute('aria-expanded', 'false'); 10722 nextFocusAfterHide.focus() 10723 }, config.duration); 10724 10725 if (modals.length === 0 || areRemainingModalsWithoutOverlay(modals)) { 10726 document.body.classList.remove('overflow-hidden'); 10727 } 10728 10729 modal.resolve(value); 10730 }, 10731 overlay(dialog) { 10732 dialog = this.$el.dataset.dialogRefName || dialog; 10733 const name = typeof dialog === 'string' ? dialog : config.dialog; 10734 return { 10735 ['x-show']() { 10736 return this.opened[name] 10737 }, 10738 ['x-transition:enter']: config.transitionEnter, 10739 ['x-transition:enter-start']: config.transitionEnterStart, 10740 ['x-transition:enter-end']: config.transitionEnterEnd, 10741 ['x-transition:leave']: config.transitionLeave, 10742 ['x-transition:leave-start']: config.transitionLeaveStart, 10743 ['x-transition:leave-end']: config.transitionLeaveEnd, 10744 ['@hyva-modal-show.window'](event) { 10745 event.detail && event.detail.dialog === name && this.show(name, event.detail.focusAfterHide) 10746 } 10747 }; 10748 }, 10749 showDialogOnInit() { 10750 const parent = this.$el.closest('[data-dialog-ref-name]'); 10751 if (parent && parent.dataset.dialogRefName) { 10752 this.$dispatch('hyva-modal-show', {dialog: parent.dataset.dialogRefName}) 10753 } 10754 } 10755 }; 10756 } 10757 10758 window.hyva.modal.peek = () => modals.length > 0 && modals[modals.length -1] 10759 10760 window.hyva.modal.pop = function () { 10761 if (modals.length > 0) { 10762 const modal = modals[modals.length -1]; 10763 modal.instance.hide(); 10764 } 10765 } 10766 10767 window.hyva.modal.excludeSelectorsFromFocusTrap = function (selectors) { 10768 typeof selectors === 'string' || selectors instanceof String 10769 ? excludedFromFocusTrapping.add(selectors) 10770 : selectors.map(selector => excludedFromFocusTrapping.add(selector)); 10771 } 10772 10773 window.hyva.modal.eventListeners = { 10774 keydown: event => { 10775 if (event.key === 'Escape') { 10776 window.hyva.modal.pop(); 10777 } 10778 }, 10779 click: event => { 10780 if (modals.length > 0) { 10781 const modal = modals[modals.length -1]; 10782 const dialog = modal.instance.$refs[modal.name]; 10783 if (modal.time + 50 < Date.now() && // if last click processing is more than 50ms ago 10784 ! isOverlayDisabled(dialog) && // if dialog has overlay 10785 ! dialog.contains(event.target)) { // if click is outside of dialog 10786 modal.instance.hide(); 10787 } 10788 } 10789 } 10790 }; 10791 10792 document.addEventListener('keydown', window.hyva.modal.eventListeners.keydown); 10793 10794 document.addEventListener('click', window.hyva.modal.eventListeners.click); 10795 })(); 10796 window.addEventListener('alpine:init', () => { 10797 Alpine.data('hyvaModal', window.hyva.modal); 10798 }, {once: true}); 10799</script>
vendor: 1 bytes, line 10799
10799
10800<script> 10801 'use strict'; 10802 10803 const grecaptchaV2LoadCallbacks = []; 10804 10805 function executeRecaptchaLoadCallbacks () { 10806 while (window.grecaptcha && grecaptchaV2LoadCallbacks.length > 0) { 10807 const callback = grecaptchaV2LoadCallbacks.pop(); 10808 typeof callback === 'string' ? window[callback]() : callback(); 10809 } 10810 } 10811 10812 (function() { 10813 const loadRecaptchaScript = (event) => { 10814 10815 if (window.grecaptcha || !event.target.form) { 10816 return; 10817 } 10818 10819 const url = 'https://www.google.com/recaptcha/api.js?onload=executeRecaptchaLoadCallbacks'; 10820 const siteKey = '6LfkTJooAAAAALRIyqeaJ6hs4IoAK0RhQDtXBjKf'; 10821 const script = document.createElement('script'); 10822 script.type = 'text/javascript'; 10823 script.src = siteKey ? `${url}&render=${siteKey}` : `${url}&render=explicit`; 10824 script.async = true; 10825 document.head.appendChild(script); 10826 10827 script.addEventListener('load', () => { 10828 Array.from(document.querySelectorAll('button[data-recaptcha-btn]:disabled')).forEach(btn => btn.removeAttribute('disabled')); 10829 }); 10830 } 10831 10832 window.forceLoadRecaptchaScript = (form) => { 10833 loadRecaptchaScript({target: {form: form || 'dummy'}}); 10834 executeRecaptchaLoadCallbacks(); 10835 }; 10836 10837 document.body.addEventListener('input', loadRecaptchaScript, { once: true }); 10838 document.body.addEventListener('focus', loadRecaptchaScript, { once: true }); 10839 10840 }()); 10841 10842</script>
vendor: 1 bytes, line 10842
10842
10843<script> 10844 function customerCustomAttributeField() 10845 { 10846 return { 10847 attributeCode: '', 10848 10849 init() 10850 { 10851 this.attributeCode = this.$root.dataset.attributeCode; 10852 }, 10853 10854 getValue() 10855 { 10856 if (this.attributeCode 10857 && this.customerData 10858 && this.customerData.custom_attributes 10859 && this.customerData.custom_attributes[this.attributeCode] 10860 ) { 10861 return this.customerData.custom_attributes[this.attributeCode].value; 10862 } 10863 10864 return this.$el.value; 10865 }, 10866 10867 hasValue() 10868 { 10869 return !!this.getValue(this.attributeCode); 10870 }, 10871 10872 getEncodedValue() 10873 { 10874 return btoa(this.getValue(this.attributeCode)).replace('+/=', '-_,'); 10875 }, 10876 10877 getMultilineValue() 10878 { 10879 const index = this.$el.dataset.lineCount || 0; 10880 const values = this.getValue(this.attributeCode).split('\n'); 10881 10882 return values[index] ? values[index] : null; 10883 }, 10884 10885 isSelected() 10886 { 10887 const values = this.getValue(this.attributeCode); 10888 10889 if (values) { 10890 return values.split(',').includes(this.$el.value); 10891 } 10892 10893 return false; 10894 }, 10895 10896 getFileName() 10897 { 10898 if (this.hasValue(this.attributeCode)) { 10899 return this.getValue(this.attributeCode).split('/').pop(); 10900 } 10901 10902 return null; 10903 }, 10904 10905 getFileUrl() 10906 { 10907 const route = this.$root.dataset.route; 10908 10909 if (route) { 10910 return route + 'file/' + getEncodedValue(this.attributeCode); 10911 } 10912 }, 10913 10914 updateFileHiddenValue() 10915 { 10916 this.$event.target.nextElementSibling.value = this.$event.target.files[0].name; 10917 }, 10918 } 10919 } 10920 10921 window.addEventListener('alpine:init', () => Alpine.data('customerCustomAttributeField', customerCustomAttributeField), {once: true}); 10922</script>
vendor: 1 bytes, line 10922
10922
10923<script> 10924 function customerCustomAttributeDateField() 10925 { 10926 return Object.assign( 10927 customerCustomAttributeField(), 10928 { 10929 defaultValue: null, 10930 intlDate: null, 10931 localeDate: null, 10932 loadDataWithFetch: false, 10933 attributeCode: null, 10934 locale: null, 10935 10936 init() 10937 { 10938 this.attributeCode = this.$root.dataset.attributeCode; 10939 this.defaultValue = this.$root.dataset.defaultValue; 10940 this.loadDataWithFetch = !!this.$root.dataset.loadWithFetch; 10941 this.locale = this.$root.dataset.locale; 10942 10943 const value = this.loadDataWithFetch && this.getValue(this.attributeCode) 10944 ? this.getValue(this.attributeCode) 10945 : this.defaultValue; 10946 const date = value ? new Date(value) : new Date(); 10947 10948 this.localeDate = date.toLocaleDateString(this.locale); 10949 this.intlDate = date.toISOString().substring(0,10); 10950 }, 10951 10952 updateLocaleDate() 10953 { 10954 const date = new Date(this.$refs.datePicker.value); 10955 10956 this.localeDate = date instanceof Date && !isNaN(date) 10957 ? date.toLocaleDateString(this.locale) 10958 : null; 10959 }, 10960 10961 updateHiddenLocaleDate() 10962 { 10963 this.localeDate = this.$event.currentTarget.value; 10964 }, 10965 } 10966 ); 10967 } 10968 10969 window.addEventListener('alpine:init', () => Alpine.data('customerCustomAttributeDateField', customerCustomAttributeDateField), {once: true}); 10970</script>
vendor: 1 bytes, line 10970
10970
10971<script> 10972 'use strict'; 10973 10974 window.addEventListener('DOMContentLoaded', () => { 10975 function getClassLike(element, className) 10976 { 10977 return [...element.classList].find(value => value.includes(className)); 10978 } 10979 10980 hyva.formValidation.addRule( 10981 'customerCustomAttributesClassBasedValidation', 10982 (value, options, field, context) => { 10983 if (field.element.dataset.validate) { 10984 return true; } 10985 10986 let validationStatus = true; 10987 10988 for (let className of [...field.element.classList]) { 10989 if (className === 'validate\u002Dalphanum' 10990 && value.length > 0 10991 && !(/^[a-zA-Z0-9]+$/.test(value)) 10992 ) { 10993 validationStatus = 'Bitte\u0020nur\u0020Buchstaben\u0020\u0028a\u002Dz\u0020oder\u0020A\u002DZ\u0029\u0020oder\u0020Zahlen\u0020\u00280\u002D9\u0029\u0020in\u0020diesem\u0020Feld\u0020verwenden.\u0020Keine\u0020Leerzeichen\u0020oder\u0020andere\u0020Zeichen\u0020sind\u0020zul\u00E4ssig.'; 10994 10995 break; 10996 } 10997 if (className === 'validate\u002Dalphanum\u002Dwith\u002Dspaces' 10998 && value.length > 0 10999 && !(/^[a-zA-Z0-9 ]+$/.test(value)) 11000 ) { 11001 validationStatus = 'Bitte\u0020verwenden\u0020Sie\u0020nur\u0020Buchstaben\u0020\u0028a\u002Dz\u0020oder\u0020A\u002DZ\u0029,\u0020Zahlen\u0020\u00280\u002D9\u0029\u0020oder\u0020Leerzeichen\u0020in\u0020diesem\u0020Feld.'; 11002 11003 break; 11004 } 11005 if (className === 'validate\u002Demail' 11006 && value.length > 0 11007 && !(/^([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.test(value)) 11008 ) { 11009 validationStatus = 'Bitte\u0020geben\u0020Sie\u0020eine\u0020g\u00FCltige\u0020E\u002DMail\u002DAdresse\u0020an.'; 11010 11011 break; 11012 } 11013 if (className === 'validate\u002Dalpha' 11014 && value.length > 0 11015 && !(/^[a-zA-Z]+$/.test(value)) 11016 ) { 11017 validationStatus = 'Bitte\u0020verwenden\u0020Sie\u0020nur\u0020Buchstaben\u0020\u0028a\u002Dz\u0020oder\u0020A\u002DZ\u0029,\u0020Zahlen\u0020\u00280\u002D9\u0029\u0020oder\u0020Leerzeichen\u0020in\u0020diesem\u0020Feld.'; 11018 11019 break; 11020 } 11021 if (className === 'validate\u002Ddigits' 11022 && value.length > 0 11023 && !(/^-?\d+(\.\d+)?$/.test(value)) 11024 ) { 11025 validationStatus = 'Bitte\u0020geben\u0020Sie\u0020eine\u0020g\u00FCltige\u0020Nummer\u0020in\u0020dieses\u0020Feld\u0020ein.'; 11026 11027 break; 11028 } 11029 if (className === 'validate\u002Durl' 11030 && value.length > 0 11031 && !(/^(http|https|ftp):\/\/(([A-Z0-9]([A-Z0-9_-]*[A-Z0-9]|))(\.[A-Z0-9]([A-Z0-9_-]*[A-Z0-9]|))*)(:(\d+))?(\/[A-Z0-9~](([A-Z0-9_~-]|\.)*[A-Z0-9~]|))*\/?(.*)?$/i.test(value)) 11032 ) { 11033 validationStatus = 'Bitte\u0020geben\u0020Sie\u0020eine\u0020g\u00FCltige\u0020URL\u0020ein.\u0020Protokoll\u0020ist\u0020erforderlich\u0020\u0028http\u003A\u002F\u002F,\u0020https\u003A\u002F\u002F\u0020oder\u0020ftp\u003A\u002F\u002F\u0029.'; 11034 11035 break; 11036 } 11037 11038 if (className.includes('maximum-length-')) { 11039 const maxLengthClass = getClassLike(field.element, className); 11040 const maxLength = maxLengthClass.split('-')[2]; 11041 11042 if (value.length > 0 && value.length > maxLength) { 11043 validationStatus = maxLength === 1 11044 ? hyva.strf('Bitte\u0020geben\u0020Sie\u0020nicht\u0020mehr\u0020als\u00201\u0020Zeichen\u0020ein.') 11045 : hyva.strf( 11046 'Bitte\u0020geben\u0020Sie\u0020nicht\u0020mehr\u0020als\u0020\u00250\u0020Zeichen\u0020ein.', 11047 maxLength 11048 ); 11049 11050 break; 11051 } 11052 } 11053 11054 if (className.includes('minimum-length-')) { 11055 const minLengthClass = getClassLike(field.element, className); 11056 const minLength = minLengthClass.split('-')[2]; 11057 11058 if (value.length > 0 && value.length < minLength) { 11059 validationStatus = minLength === 1 11060 ? hyva.strf('Bitte\u0020geben\u0020Sie\u0020mindestens\u00201\u0020Zeichen\u0020ein.') 11061 : hyva.strf( 11062 'Bitte\u0020geben\u0020Sie\u0020mindestens\u0020\u00250\u0020Zeichen\u0020ein.', 11063 minLength 11064 ); 11065 11066 break; 11067 } 11068 } 11069 } 11070 11071 return validationStatus; 11072 } 11073 ); 11074 11075 hyva.formValidation.setInputAttributeRuleName( 11076 'class', 11077 'customerCustomAttributesClassBasedValidation' 11078 ); 11079 }); 11080</script>
11080 11081
11082<script> 11083 'use strict'; 11084 11085 (() => { 11086 const browserStorage = hyva.getBrowserStorage(); 11087 const storageKey = 'mage-banners-cache-storage'; 11088 const cacheTimeoutKey = 'mage-banners-cache-timeout'; 11089 const storeIdKey = 'mage-banners-storeId'; 11090 const cartIdKey = 'mage-banners-cartDataId'; 11091 const options = { 11092 cacheTtl: 30000, 11093 sectionLoadUrl: 'https://pik.de/shop/banner/ajax/load/' 11094 }; 11095 11096 if (browserStorage && browserStorage.getItem(storageKey) === null) { 11097 browserStorage.setItem(storageKey, "{}"); 11098 } 11099 11100 async function initBanners(elements) { 11101 invalidateCacheBySessionTimeOut(); 11102 11103 const storageData = JSON.parse(browserStorage.getItem(storageKey)); 11104 let items = []; 11105 11106 if (storageData.data) { 11107 items = getFromStorage(); 11108 } else { 11109 items = await getFromServer(); 11110 } 11111 11112 populateDynamicBlocks(elements, items); 11113 } 11114 11115 // Cache invalidation. Banner cache ttl is 30 sec by default.
11116 function invalidateCacheBySessionTimeOut() { 11117 const cacheEol = new Date(browserStorage.getItem(cacheTimeoutKey)) 11118 const dateTo = new Date(Date.now() + options.cacheTtl); 11119 const globalStoreId = hyva.getCookie('store') || 'default'; 11120 const mageCacheStorage = JSON.parse(browserStorage.getItem('mage-cache-storage')); 11121 let cartDataId = null; 11122 11123 if (browserStorage.getItem(storeIdKey) === null) { 11124 browserStorage.setItem(storeIdKey, globalStoreId); 11125 } 11126 11127 if (mageCacheStorage !== null && 11128 mageCacheStorage.hasOwnProperty('cart')) { 11129 cartDataId = mageCacheStorage.cart['data_id']; 11130 } 11131 11132 if (cacheEol < new Date() || 11133 browserStorage.getItem(storeIdKey) !== globalStoreId || 11134 Number(browserStorage.getItem(cartIdKey)) !== cartDataId) 11135 { 11136 browserStorage.setItem(storageKey, "{}"); 11137 browserStorage.setItem(cacheTimeoutKey, dateTo); 11138 browserStorage.setItem(storeIdKey, globalStoreId); 11139 11140 if (cartDataId) { 11141 browserStorage.setItem(cartIdKey, cartDataId); 11142 } 11143 } 11144 } 11145 11146 async function getFromServer() { 11147 try { 11148 const url = new URL(options.sectionLoadUrl); 11149 url.searchParams.append('requesting_page_url', url.origin); 11150 url.searchParams.append('_', Date.now()); 11151 11152 const response = await fetch(url.href, { 11153 headers: { 11154 'Content-Type': 'application/json', 11155 'X-Requested-With': 'XMLHttpRequest' 11156 } 11157 }); 11158 const storageData = await response.json(); 11159 11160 browserStorage.setItem(storageKey, JSON.stringify(storageData)); 11161 11162 if (storageData.data && storageData.data.items) { 11163 return storageData.data.items.fixed ? storageData.data.items.fixed : []; 11164 } 11165 } catch (error) { 11166 console.warn(error); 11167 11168 return []; 11169 } 11170 } 11171 11172 function getFromStorage() { 11173 const storageData = JSON.parse(browserStorage.getItem(storageKey)); 11174 if (storageData.data && storageData.data.items) { 11175 return storageData.data.items.fixed || []; 11176 } 11177 } 11178 11179 function populateDynamicBlocks(elements, items) { 11180 if (!items || items.length === 0) { 11181 console.log(`No\u0020banners\u0020found`); 11182 11183 return; 11184 } 11185 11186 for (const element of elements) { 11187 // Filter IDs by those allowed for current customer segment 11188 const ids = element.getAttribute('data-ids').split(',').filter((id) => items.hasOwnProperty(id)); 11189 const config = { 11190 type: element.getAttribute('data-rotate'), 11191 dynamicBlockId: element.getAttribute('data-banner-id'), 11192 }; 11193 11194 getByType(config, element, items, ids); 11195 } 11196 } 11197 11198 function getByType(config = null, element, items, ids) { 11199 if (!config) return; 11200 11201 if (config.type === 'random') { 11202 ids = [ids[Math.floor(Math.random() * ids.length)]]; 11203 } 11204 11205 if (config.type === 'series' || config.type === 'shuffle') { 11206 ids = [getNextInOrder(config, ids)]; 11207 } 11208 11209 for (const id of ids) { 11210 if (items[id]) { 11211 element.insertAdjacentHTML('beforeend', items[id].content); 11212 } 11213 } 11214 } 11215 11216 function getNextInOrder(config, ids) { 11217 const dynamicBlockId = config.dynamicBlockId; 11218 const localStorageKey = 'dynamic-block-banner-rotator'; 11219 let localStorageData = JSON.parse(localStorage.getItem(localStorageKey)) || {}; 11220 let nextId; 11221 11222 if (localStorageData[dynamicBlockId] && localStorageData[dynamicBlockId].length > 0) { 11223 nextId = localStorageData[dynamicBlockId].shift(0); 11224 } else { 11225 if (config.type === 'shuffle') { 11226 ids.sort(() => Math.random() - 0.5); 11227 } 11228 nextId = ids.shift(0); 11229 localStorageData[dynamicBlockId] = ids; 11230 } 11231 11232 localStorage.setItem( 11233 localStorageKey, 11234 JSON.stringify(localStorageData) 11235 ); 11236 11237 return nextId; 11238 } 11239 11240 const elements = document.querySelectorAll('[data-banner-id][data-ids]'); 11241 if (elements.length > 0) { 11242 initBanners(elements); 11243 } 11244 })(); 11245</script>
vendor: 1 bytes, line 11245
11245
11246<script type="text/json" id="default-section-data"> 11247 {"messages":[],"customer":[],"compare-products":[],"last-ordered-items":[],"requisition":[],"cart":[],"directory-data":{"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"}}},"data_id":1790250959},"captcha":[],"wishlist":{"items":[]},"company":[],"company_authorization":[],"customer-companies":[],"negotiable_quote":[],"purchase_order":[],"instant-purchase":[],"loggedAsCustomer":[],"multiplewishlist":[],"persistent":[],"review":[],"payments":[],"hyva_enterprise":[],"hyva_checkout":[],"gtm-checkout":[],"recently_viewed_product":[],"recently_compared_product":[],"product_data_storage":[]}</script>
11247 11248
11249<script> 11250 'use strict'; 11251 11252 (() => { 11253 window.addEventListener('private-content-loaded', (event) => { 11254 const sectionData = event.detail.data; 11255 const company = sectionData.company; 11256 const companyAuth = sectionData.company_authorization; 11257 const customerCompanies = sectionData['customer-companies']; 11258 const permissions = {}; 11259 11260 if (company) { 11261 if (company.is_login_allowed === false) { 11262 window.dispatchMessages && window.dispatchMessages([{ 11263 type: 'error', 11264 text: 'Ihr\u0020Konto\u0020ist\u0020gesperrt. Falls\u0020dies\u0020ein\u0020Fehler\u0020ist,\u0020kontaktieren\u0020Sie\u0020bitte\u0020den\u0020Verk\u00E4ufer.' 11265 }]); 11266 setTimeout(() => { 11267 window.location.href = 'https\u003A\u002F\u002Fpik.de\u002Fshop\u002Fcustomer\u002Faccount\u002Flogout\u002F'; 11268 }, 2000); 11269 } 11270 11271 permissions.isCompanyAdmin = company.is_company_admin; 11272 permissions.isCompanyUser = company.has_customer_company; 11273 permissions.isCompanyBlocked = company.is_company_blocked; 11274 permissions.isCompanyRegistrationAllowed = company.is_storefront_registration_allowed; 11275 permissions.canRegister = !permissions.isCompanyUser && permissions.isCompanyRegistrationAllowed; 11276 permissions.canPlaceOrders = company.is_checkout_allowed; 11277 } 11278 11279 if (companyAuth && companyAuth.resources) { 11280 permissions.canViewCompanyUsers = companyAuth.resources['Magento_Company\u003A\u003Ausers_view']; 11281 permissions.canViewNegotiableQuotes = companyAuth.resources['Magento_NegotiableQuote\u003A\u003Aall']; 11282 permissions.canViewPurchaseOrders = companyAuth.resources['Magento_PurchaseOrder\u003A\u003Aview_purchase_orders']; 11283 permissions.canViewOrders = companyAuth.resources['Magento_Sales\u003A\u003Aview_orders']; 11284 } 11285 11286 if (customerCompanies && customerCompanies.items) { 11287 permissions.canChangeCompanies = customerCompanies.items.length > 1; 11288 const currentCompany = customerCompanies.items.find((item) => item.current) || {}; 11289 permissions.currentCompanyName = currentCompany.name || ''; 11290 } 11291 11292 window.dispatchEvent(new CustomEvent('company-permissions-loaded', {detail: {...permissions}})); 11293 }); 11294 })(); 11295</script>
11295 11296</div><div class="addto-container" x-data="hyva.modal()" @addto-modal-show.window="show('addto-modal')"> 11297 <div x-cloak data-dialog-ref-name="addto-modal" 11298 x-bind="overlay" 11299 class="fixed inset-0 bg-black/50 z-50"> 11300 <div class="fixed flex justify-center items-center text-left z-40 inset-0"> 11301 <div x-ref="addto-modal" role="dialog" aria-modal="true" 11302 class="inline-block bg-white shadow-xl max-h-screen max-h-svh overflow-auto overscroll-y-contain z-40 h-56 w-8/12 md:w-96"> 11303 <div class="modal relative h-full bg-white shadow-box" 11304 x-data="addToModal()" 11305 @addto-script.window.debounce="getProductData($event)"> 11306 <div class="modal-header flex items-center h-14.5 z-10 p-5 w-full relative"> 11307 <div class="absolute top-0 right-0 flex p-2 mt-2"> 11308 <button @click.prevent="hide" aria-label="Close panel" id="closeModalBtn" class="p-2"> 11309 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="24" height="24" role="img"> 11310 <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/> 11311<title>x</title></svg> 11312 </button> 11313 </div> 11314 </div> 11315 <div class="modal-body p-5"> 11316 <span class="text-m md:text-lg leading-normal" x-text="name"></span> 11317 <template x-if="type === 'wishlist'"> 11318 <span class="text-m md:text-lg leading-normal">wurde zur Wunschliste hinzugefügt.</span> 11319 </template> 11320 <template x-if="type === 'compare'"> 11321 <span class="text-m md:text-lg leading-normal">wurde zur Vergleichsliste hinzugefügt.</span> 11322 </template> 11323 </div> 11324 <div class="modal-footer p-5 absolute w-full bottom-px"> 11325 <template x-if="type === 'wishlist'"> 11326 <a class="btn btn-primary primary action px-6 py-2 justify-center hover:border hover:border-solid hover:border-gray-900" href="/shop/wishlist/index/"> 11327 <span class="uppercase">Zur Wunschliste</span> 11328 </a> 11329 </template> 11330 <template x-if="type === 'compare'"> 11331 <a class="btn btn-primary primary action px-6 py-2 justify-center hover:border hover:border-solid hover:border-gray-900" href="/shop/catalog/product_compare/index/"> 11332 <span class="uppercase">Zur Vergleichsliste</span> 11333 </a> 11334 </template> 11335 </div> 11336</div>
11337<script> 11338 'use strict'; 11339 11340 function addToModal() { 11341 return { 11342 type: '', 11343 id: 0, 11344 name: '', 11345 getProductData(e) { 11346 this.type = e.detail.productData.type; 11347 this.id = e.detail.productData.id; 11348 this.name = e.detail.productData.name; 11349 } 11350 } 11351 } 11352</script>
11352 11353 </div> 11354 </div> 11355 </div> 11356</div>
11357<script nonce="b3pzYWc0OTRsd2J4MW4zODJ3Ymh3Ymx1OW91czhsbGc="> 11358 yireoGoogleTagManager2Pusher({"version":"3.10.7","page_type":"company\/account\/create","page_path":"https:\/\/pik.de\/shop\/company\/account\/create\/","page_title":"Neue Firma","virtual_page":"\/shop\/company\/account\/create","breadcrumb":[],"user":{"has_transacted":false}}, 'push (initial page) [data-layer.phtml]'); 11359 </script>
vendor: 1 bytes, line 11359
11359
11360<script nonce="b3pzYWc0OTRsd2J4MW4zODJ3Ymh3Ymx1OW91czhsbGc="> 11361 function yireoGoogleTagManager2FindParentElementWithName(element, parentTagName) { 11362 if (!element.parentElement) { 11363 return null; 11364 } 11365 11366 if (element.parentElement.tagName.toLowerCase() === parentTagName) { 11367 return element.parentElement; 11368 } 11369 11370 return yireoGoogleTagManager2FindParentElementWithName(element.parentElement, parentTagName); 11371 } 11372 11373 const products = document.querySelectorAll('.products\u0020a.product,\u0020.products\u0020a.product\u002Ditem\u002Dlink,\u0020.card\u0020a.product\u002Ditem\u002Dlink,\u0020.card\u0020a.product\u002Ditem\u002Dphoto,\u0020.card\u0020a.btn\u002Dprimary'); 11374 if (products && products.length > 0) { 11375 products.forEach(function(product) { 11376 product.addEventListener('click', function(event, s) { 11377 let parentElement = yireoGoogleTagManager2FindParentElementWithName(event.target, 'form'); 11378 if (!parentElement) { 11379 return; 11380 } 11381 11382 const inputElement = parentElement.querySelector('input[name="product"]'); 11383 const productId = inputElement.value; 11384 const productData = window['YIREO_GOOGLETAGMANAGER2_PRODUCT_DATA_ID_' + productId] || {}; 11385 productData.item_id = productId; 11386 11387 const eventData = { 11388 'event': 'select_item', 11389 'ecommerce': { 11390 'items': [productData] 11391 } 11392 } 11393 11394 yireoGoogleTagManager2Pusher(eventData, 'push (page event "select_item") [script-product-clicks.phtml]'); 11395 11396 if (window['YIREO_GOOGLETAGMANAGER2_DEBUG_CLICKS'] && confirm("Press to continue with redirect") === false) { 11397 event.preventDefault(); 11398 } 11399 }); 11400 }) 11401 } 11402</script>
vendor: 1 bytes, line 11402
11402
11403<script nonce="b3pzYWc0OTRsd2J4MW4zODJ3Ymh3Ymx1OW91czhsbGc="> 11404 window.addEventListener('private-content-loaded', function(event) { 11405 window.dataLayer = window.dataLayer || []; 11406 11407 var isEmpty = function (variable) { 11408 if (typeof variable === 'undefined') { 11409 return true; 11410 } 11411 11412 if (Array.isArray(variable) && variable.length === 0) { 11413 return true; 11414 } 11415 11416 return typeof variable === 'object' && Object.keys(variable).length === 0; 11417 } 11418 11419 var getSectionNames = function () { 11420 return ['cart', 'customer']; 11421 } 11422 11423 getSectionNames().forEach(function (sectionName) { 11424 if (!event.detail.data[sectionName].gtm) { 11425 return; 11426 } 11427 11428 const attributes = event.detail.data[sectionName].gtm; 11429 if (!Object.keys(attributes).length > 0) { 11430 return; 11431 } 11432 11433 yireoGoogleTagManager2Pusher(attributes, 'push (attributes) [script-additions.phtml]'); 11434 }); 11435 11436 let attributes = {}; 11437 getSectionNames().forEach(function (sectionName) { 11438 if (!event.detail.data[sectionName].gtm_events) { 11439 return; 11440 } 11441 11442 const gtmEvents = event.detail.data[sectionName].gtm_events; 11443 for (const [eventId, eventData] of Object.entries(gtmEvents)) { 11444 yireoGoogleTagManager2Logger('found event in section "' + sectionName + '"', eventData); 11445 11446 const metaData = eventData.meta; 11447 yireoGoogleTagManager2Pusher(eventData, 'push (customerData "' + sectionName + '" event "' + eventId + '")'); 11448 11449 if (!metaData || metaData.cacheable !== true) { 11450 yireoGoogleTagManager2Logger('removing event "' + eventId + '" from section "' + sectionName + '"') 11451 11452 let mageCacheStorage = event.detail.data; 11453 11454 if (mageCacheStorage !== null 11455 && typeof mageCacheStorage[sectionName] !== 'undefined' 11456 && typeof mageCacheStorage[sectionName].gtm_events !== 'undefined' 11457 && eventId in mageCacheStorage[sectionName].gtm_events) { 11458 delete mageCacheStorage[sectionName].gtm_events[eventId]; 11459 } 11460 11461 window.localStorage.setItem('mage-cache-storage', JSON.stringify(mageCacheStorage)); 11462 } 11463 } 11464 }); 11465 11466 if (false === isEmpty(attributes)) { 11467 yireoGoogleTagManager2Pusher(attributes, 'dataLayer (initial js) [script-additions.phtml]'); 11468 } 11469 }); 11470 11471 window.addEventListener('toggle-cart', (event) => { 11472 if (!event.detail || !event.detail.isOpen) { 11473 return; 11474 } 11475 11476 window.dispatchEvent(new CustomEvent('minicart_collapse')); 11477 }); 11478</script>
vendor: 1 bytes, line 11478
11478
11479<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-347d3647e7c3803f539","applicationID":"1013280491","transactionName":"MwFXMhZSVxBRUBFYDApLdAUQWlYNH1AKXBMFCkxJBVBaDEVdER4AFgFUEgE=","queueTime":0,"applicationTime":421,"atts":"H0ZARF5IRE8SUkcLGBkZ","errorBeacon":"bam.nr-data.net","agent":""}</script>
11479</body> 11480</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.