
!function(e){var t={};function o(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,o),i.l=!0,i.exports}o.m=e,o.c=t,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)o.d(n,i,function(t){return e[t]}.bind(null,i));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=11)}([function(e,t){e.exports='{{message}} <a aria-label="learn more about cookies" role=button tabindex=0 class=cc-link href={{href}} rel="noopener noreferrer nofollow" target={{target}}> {{link}} </a> '},function(e,t){e.exports='<div class="cc-revoke dp--revoke {{classes}}"> <i class=dp--icon-fingerprint></i> <span class=dp--hover>{{policy}}</span> </div> '},function(e,t,o){(function(e,o){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var i=/^\[object .+?Constructor\]$/,s=/^(?:0|[1-9]\d*)$/,r={};r["[object Float32Array]"]=r["[object Float64Array]"]=r["[object Int8Array]"]=r["[object Int16Array]"]=r["[object Int32Array]"]=r["[object Uint8Array]"]=r["[object Uint8ClampedArray]"]=r["[object Uint16Array]"]=r["[object Uint32Array]"]=!0,r["[object Arguments]"]=r["[object Array]"]=r["[object ArrayBuffer]"]=r["[object Boolean]"]=r["[object DataView]"]=r["[object Date]"]=r["[object Error]"]=r["[object Function]"]=r["[object Map]"]=r["[object Number]"]=r["[object Object]"]=r["[object RegExp]"]=r["[object Set]"]=r["[object String]"]=r["[object WeakMap]"]=!1;var c="object"==(void 0===e?"undefined":n(e))&&e&&e.Object===Object&&e,a="object"==("undefined"==typeof self?"undefined":n(self))&&self&&self.Object===Object&&self,l=c||a||Function("return this")(),u="object"==n(t)&&t&&!t.nodeType&&t,d=u&&"object"==n(o)&&o&&!o.nodeType&&o,p=d&&d.exports===u,h=p&&c.process,f=function(){try{var e=d&&d.require&&d.require("util").types;return e||h&&h.binding&&h.binding("util")}catch(e){}}(),v=f&&f.isTypedArray;function k(e,t,o){switch(o.length){case 0:return e.call(t);case 1:return e.call(t,o[0]);case 2:return e.call(t,o[0],o[1]);case 3:return e.call(t,o[0],o[1],o[2])}return e.apply(t,o)}var b,y,m,w=Array.prototype,g=Function.prototype,C=Object.prototype,x=l["__core-js_shared__"],_=g.toString,S=C.hasOwnProperty,O=(b=/[^.]+$/.exec(x&&x.keys&&x.keys.IE_PROTO||""))?"Symbol(src)_1."+b:"",E=C.toString,P=_.call(Object),j=RegExp("^"+_.call(S).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),T=p?l.Buffer:void 0,A=l.Symbol,L=l.Uint8Array,D=T?T.allocUnsafe:void 0,N=(y=Object.getPrototypeOf,m=Object,function(e){return y(m(e))}),B=Object.create,M=C.propertyIsEnumerable,R=w.splice,I=A?A.toStringTag:void 0,F=function(){try{var e=ue(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),H=T?T.isBuffer:void 0,z=Math.max,U=Date.now,W=ue(l,"Map"),q=ue(Object,"create"),J=function(){function e(){}return function(t){if(!Ce(t))return{};if(B)return B(t);e.prototype=t;var o=new e;return e.prototype=void 0,o}}();function $(e){var t=-1,o=null==e?0:e.length;for(this.clear();++t<o;){var n=e[t];this.set(n[0],n[1])}}function K(e){var t=-1,o=null==e?0:e.length;for(this.clear();++t<o;){var n=e[t];this.set(n[0],n[1])}}function G(e){var t=-1,o=null==e?0:e.length;for(this.clear();++t<o;){var n=e[t];this.set(n[0],n[1])}}function Y(e){var t=this.__data__=new K(e);this.size=t.size}function X(e,t){var o=be(e),n=!o&&ke(e),i=!o&&!n&&me(e),s=!o&&!n&&!i&&_e(e),r=o||n||i||s,c=r?function(e,t){for(var o=-1,n=Array(e);++o<e;)n[o]=t(o);return n}(e.length,String):[],a=c.length;for(var l in e)!t&&!S.call(e,l)||r&&("length"==l||i&&("offset"==l||"parent"==l)||s&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||de(l,a))||c.push(l);return c}function V(e,t,o){(void 0===o||ve(e[t],o))&&(void 0!==o||t in e)||ee(e,t,o)}function Z(e,t,o){var n=e[t];S.call(e,t)&&ve(n,o)&&(void 0!==o||t in e)||ee(e,t,o)}function Q(e,t){for(var o=e.length;o--;)if(ve(e[o][0],t))return o;return-1}function ee(e,t,o){"__proto__"==t&&F?F(e,t,{configurable:!0,enumerable:!0,value:o,writable:!0}):e[t]=o}$.prototype.clear=function(){this.__data__=q?q(null):{},this.size=0},$.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},$.prototype.get=function(e){var t=this.__data__;if(q){var o=t[e];return"__lodash_hash_undefined__"===o?void 0:o}return S.call(t,e)?t[e]:void 0},$.prototype.has=function(e){var t=this.__data__;return q?void 0!==t[e]:S.call(t,e)},$.prototype.set=function(e,t){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=q&&void 0===t?"__lodash_hash_undefined__":t,this},K.prototype.clear=function(){this.__data__=[],this.size=0},K.prototype.delete=function(e){var t=this.__data__,o=Q(t,e);return!(o<0)&&(o==t.length-1?t.pop():R.call(t,o,1),--this.size,!0)},K.prototype.get=function(e){var t=this.__data__,o=Q(t,e);return o<0?void 0:t[o][1]},K.prototype.has=function(e){return Q(this.__data__,e)>-1},K.prototype.set=function(e,t){var o=this.__data__,n=Q(o,e);return n<0?(++this.size,o.push([e,t])):o[n][1]=t,this},G.prototype.clear=function(){this.size=0,this.__data__={hash:new $,map:new(W||K),string:new $}},G.prototype.delete=function(e){var t=le(this,e).delete(e);return this.size-=t?1:0,t},G.prototype.get=function(e){return le(this,e).get(e)},G.prototype.has=function(e){return le(this,e).has(e)},G.prototype.set=function(e,t){var o=le(this,e),n=o.size;return o.set(e,t),this.size+=o.size==n?0:1,this},Y.prototype.clear=function(){this.__data__=new K,this.size=0},Y.prototype.delete=function(e){var t=this.__data__,o=t.delete(e);return this.size=t.size,o},Y.prototype.get=function(e){return this.__data__.get(e)},Y.prototype.has=function(e){return this.__data__.has(e)},Y.prototype.set=function(e,t){var o=this.__data__;if(o instanceof K){var n=o.__data__;if(!W||n.length<199)return n.push([e,t]),this.size=++o.size,this;o=this.__data__=new G(n)}return o.set(e,t),this.size=o.size,this};var te,oe=function(e,t,o){for(var n=-1,i=Object(e),s=o(e),r=s.length;r--;){var c=s[te?r:++n];if(!1===t(i[c],c,i))break}return e};function ne(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":I&&I in Object(e)?function(e){var t=S.call(e,I),o=e[I];try{e[I]=void 0;var n=!0}catch(e){}var i=E.call(e);n&&(t?e[I]=o:delete e[I]);return i}(e):function(e){return E.call(e)}(e)}function ie(e){return xe(e)&&"[object Arguments]"==ne(e)}function se(e){return!(!Ce(e)||function(e){return!!O&&O in e}(e))&&(we(e)?j:i).test(function(e){if(null!=e){try{return _.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(e))}function re(e){if(!Ce(e))return function(e){var t=[];if(null!=e)for(var o in Object(e))t.push(o);return t}(e);var t=pe(e),o=[];for(var n in e)("constructor"!=n||!t&&S.call(e,n))&&o.push(n);return o}function ce(e,t,o,n,i){e!==t&&oe(t,(function(s,r){if(i||(i=new Y),Ce(s))!function(e,t,o,n,i,s,r){var c=he(e,o),a=he(t,o),l=r.get(a);if(l)return void V(e,o,l);var u=s?s(c,a,o+"",e,t,r):void 0,d=void 0===u;if(d){var p=be(a),h=!p&&me(a),f=!p&&!h&&_e(a);u=a,p||h||f?be(c)?u=c:xe(m=c)&&ye(m)?u=function(e,t){var o=-1,n=e.length;t||(t=Array(n));for(;++o<n;)t[o]=e[o];return t}(c):h?(d=!1,u=function(e,t){if(t)return e.slice();var o=e.length,n=D?D(o):new e.constructor(o);return e.copy(n),n}(a,!0)):f?(d=!1,v=a,k=!0?(b=v.buffer,y=new b.constructor(b.byteLength),new L(y).set(new L(b)),y):v.buffer,u=new v.constructor(k,v.byteOffset,v.length)):u=[]:function(e){if(!xe(e)||"[object Object]"!=ne(e))return!1;var t=N(e);if(null===t)return!0;var o=S.call(t,"constructor")&&t.constructor;return"function"==typeof o&&o instanceof o&&_.call(o)==P}(a)||ke(a)?(u=c,ke(c)?u=function(e){return function(e,t,o,n){var i=!o;o||(o={});var s=-1,r=t.length;for(;++s<r;){var c=t[s],a=n?n(o[c],e[c],c,o,e):void 0;void 0===a&&(a=e[c]),i?ee(o,c,a):Z(o,c,a)}return o}(e,Se(e))}(c):Ce(c)&&!we(c)||(u=function(e){return"function"!=typeof e.constructor||pe(e)?{}:J(N(e))}(a))):d=!1}var v,k,b,y;var m;d&&(r.set(a,u),i(u,a,n,s,r),r.delete(a));V(e,o,u)}(e,t,r,o,ce,n,i);else{var c=n?n(he(e,r),s,r+"",e,t,i):void 0;void 0===c&&(c=s),V(e,r,c)}}),Se)}function ae(e,t){return fe(function(e,t,o){return t=z(void 0===t?e.length-1:t,0),function(){for(var n=arguments,i=-1,s=z(n.length-t,0),r=Array(s);++i<s;)r[i]=n[t+i];i=-1;for(var c=Array(t+1);++i<t;)c[i]=n[i];return c[t]=o(r),k(e,this,c)}}(e,t,Pe),e+"")}function le(e,t){var o,i,s=e.__data__;return("string"==(i=n(o=t))||"number"==i||"symbol"==i||"boolean"==i?"__proto__"!==o:null===o)?s["string"==typeof t?"string":"hash"]:s.map}function ue(e,t){var o=function(e,t){return null==e?void 0:e[t]}(e,t);return se(o)?o:void 0}function de(e,t){var o=n(e);return!!(t=null==t?9007199254740991:t)&&("number"==o||"symbol"!=o&&s.test(e))&&e>-1&&e%1==0&&e<t}function pe(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||C)}function he(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}var fe=function(e){var t=0,o=0;return function(){var n=U(),i=16-(n-o);if(o=n,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(F?function(e,t){return F(e,"toString",{configurable:!0,enumerable:!1,value:(o=t,function(){return o}),writable:!0});var o}:Pe);function ve(e,t){return e===t||e!=e&&t!=t}var ke=ie(function(){return arguments}())?ie:function(e){return xe(e)&&S.call(e,"callee")&&!M.call(e,"callee")},be=Array.isArray;function ye(e){return null!=e&&ge(e.length)&&!we(e)}var me=H||function(){return!1};function we(e){if(!Ce(e))return!1;var t=ne(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}function ge(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function Ce(e){var t=n(e);return null!=e&&("object"==t||"function"==t)}function xe(e){return null!=e&&"object"==n(e)}var _e=v?function(e){return function(t){return e(t)}}(v):function(e){return xe(e)&&ge(e.length)&&!!r[ne(e)]};function Se(e){return ye(e)?X(e,!0):re(e)}var Oe,Ee=(Oe=function(e,t,o){ce(e,t,o)},ae((function(e,t){var o=-1,i=t.length,s=i>1?t[i-1]:void 0,r=i>2?t[2]:void 0;for(s=Oe.length>3&&"function"==typeof s?(i--,s):void 0,r&&function(e,t,o){if(!Ce(o))return!1;var i=n(t);return!!("number"==i?ye(o)&&de(t,o.length):"string"==i&&t in o)&&ve(o[t],e)}(t[0],t[1],r)&&(s=i<3?void 0:s,i=1),e=Object(e);++o<i;){var c=t[o];c&&Oe(e,c,o,s)}return e})));function Pe(e){return e}o.exports=Ee}).call(this,o(13),o(14)(e))},function(e,t){e.exports='<div class="cc-compliance cc-highlight"> {{allow}} {{allow-all}} </div> '},function(e,t){e.exports='<div class=dp--cookie-check xmlns:f=http://www.w3.org/1999/html> <label for=dp--cookie-require> <input type=checkbox id=dp--cookie-require class=dp--check-box checked=checked disabled=disabled /> {{dpRequire}} </label> <label for=dp--cookie-statistics> <input type=checkbox id=dp--cookie-statistics class=dp--check-box {{checked.statistics}} value=""/> {{dpStatistik}} </label> <label for=dp--cookie-marketing> <input type=checkbox id=dp--cookie-marketing class=dp--check-box {{checked.marketing}} value=""/> {{dpMarketing}} </label> </div> '},function(e,t){e.exports="<span id=cookieconsent:desc class=cc-message> {{cookieDesc}} </span> "},function(e,t){e.exports="<span id=cookieconsent:desc class=cc-message> {{cookieDesc}} {{cookieSelect}} </span> "},function(e,t){e.exports='<a aria-label="dismiss cookies" role=button tabindex=0 class="cc-btn cc-dismiss"> {{allow-all}} </a> '},function(e,t){e.exports="{{dpmessagelink}}{{compliance}} "},function(e,t){e.exports="<div class=dp--overlay-inner> <div class=dp--overlay-header>{{notice}}</div> <div class=dp--overlay-description>{{desc}}</div> <div class=dp--overlay-button> <button class=db--overlay-submit onclick=window.DPCookieConsent.forceAccept(this) data-cookieconsent={{type}} {{style}}> {{btn}} </button> </div> </div> "},function(e,t){e.exports=function(){this.lang={message:"We use cookies and other tracking technologies to personalize and improve your experience. By continuing to use our website you consent to this.",dismiss:"allow cookies",allow:"allow cookies","allow-all":"allow all!",deny:"decline",policy:"Cookie Policy",link:"More info",dpRequire:"necessary",dpStatistik:"statistics",dpMarketing:"marketing",media:{notice:"Cookie Notice",desc:"Loading this resource will connect to external servers which use cookies and other tracking technologies to personalize and improve experience. Further information can be found in our privacy policy.",btn:"allow cookies and load this resource"}}}},function(e,t,o){o(12),e.exports=o(16)},function(e,t,o){"use strict";o.r(t);var n=o(3),i=o.n(n),s=o(4),r=o.n(s),c=o(0),a=o.n(c),l=o(5),u=o.n(l),d=o(6),p=o.n(d),h=o(7),f=o.n(h),v=o(8),k=o.n(v),b=o(1),y=o.n(b),m=o(9),w=o.n(m),g=o(2),C=o.n(g),x=o(10),_=o.n(x);function S(e){return(S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}
/*!
  * Cookie Consent Adapter
  * Copyright 2019 Dirk Persky (https://github.com/DirkPersky/typo3-dp_cookieconsent)
  * Licensed under GPL v3+ (https://github.com/DirkPersky/typo3-dp_cookieconsent/blob/master/LICENSE)
  */window.addEventListener("load",(function(){function e(){this.cookie_name="dp_cookieconsent_status",this.cookie={path:"/",domain:"",expiryDays:365,secure:!1},this.prevCheckboxes=!1,this.checkboxes=[{name:"statistics",checked:!0},{name:"marketing",checked:!1}],this.settings={autoOpen:!0,revokable:!0,dismissOnScroll:!1,layout:"dpextend",type:"opt-in",theme:"edgeless",position:"bottom-right",reloadOnRevoke:!1,overlay:{notice:!0,box:{background:"rgba(0,0,0,.8)",text:"#fff"},btn:{background:"#F96332",text:"#fff"}},palette:{popup:{background:"rgba(0,0,0,.8)",text:"#FFFFFF"},button:{background:"#F96332",text:"#FFFFFF"}}}}"undefined"==typeof dpCookieConsentLang&&(window.DPCookieConsentL10N=_.a),window.DPCookieConsentL10N.prototype.replace=function(){window.cookieconsent_options.content=C()(this.lang,window.cookieconsent_options.content)},(new window.DPCookieConsentL10N).replace(),e.prototype.asyncLoad=function(e,t,o){var n=document,i=n.createElement(t),s=n.getElementsByTagName(t)[0];switch(t){case"script":i.src=e,i.setAttribute("defer","");break;case"link":i.rel="stylesheet",i.type="text/css",i.setAttribute("defer",""),i.href=e}o&&i.addEventListener("load",(function(e){o(null,e)}),!1),s.parentNode.insertBefore(i,s)},e.prototype.asyncJS=function(e,t){this.asyncLoad(e,"script",t)},e.prototype.getCookieElementsByTag=function(e,t){void 0===t&&(t="data-cookieconsent");var o=[];if(void 0===document.querySelectorAll)o=document.querySelectorAll(e+"["+t+"]");else{var n=document.getElementsByTagName(e);for(var i in n){var s=n[i];void 0!==s.getAttribute&&s.getAttribute(t)&&o.push(s)}}return o},e.prototype.callIframeHandler=function(e){var t=e.cloneNode(!0);t.getAttribute("data-src")&&(t.src=t.getAttribute("data-src")),e.parentNode.replaceChild(t,e),t.classList.add("dp--loaded"),t.setAttribute("data-cookieconsent-loaded",t.getAttribute("data-cookieconsent")),t.removeAttribute("data-cookieconsent"),window.DPCookieConsent.fireEvent("dp--cookie-iframe",t)},e.prototype.callScriptHandler=function(e){var t=e.innerHTML;t&&t.length&&(t=t.trim()),t&&t.length?(eval.call(this,t),window.DPCookieConsent.fireEvent("dp--cookie-fire",e)):e.getAttribute("data-src")?this.asyncJS(e.getAttribute("data-src"),(function(t){window.DPCookieConsent.fireEvent("dp--cookie-fire",e)})):e.src&&this.asyncJS(e.src,(function(t){window.DPCookieConsent.fireEvent("dp--cookie-fire",e)})),e.setAttribute("data-cookieconsent-loaded",e.getAttribute("data-cookieconsent")),e.removeAttribute("data-cookieconsent")},e.prototype.loadCookies=function(){var e,t=this.getCookieElementsByTag("script");if((t=t.concat(this.getCookieElementsByTag("iframe"))).length>0)for(e=0;e<t.length;e++){if("dpextend"===window.cookieconsent_options.layout){var o=t[e].getAttribute("data-cookieconsent");if("required"!=o&&(this.loadCookiesPreset(),!this.dpCookies.hasOwnProperty("dp--cookie-"+o)||!0!==this.dpCookies["dp--cookie-"+o]))continue}if(void 0!==t[e].tagName)switch(t[e].tagName.toUpperCase()){case"IFRAME":this.callIframeHandler(t[e]);break;default:this.callScriptHandler(t[e])}}window.DPCookieConsent.prevCheckboxes=[],window.DPCookieConsent.checkboxes.map((function(e){e&&window.DPCookieConsent.prevCheckboxes.push({name:e.name,checked:e.checked})}))},e.prototype.setClass=function(e){!0===e?document.querySelector("body").classList.remove("dp--cookie-consent"):document.querySelector("body").classList.add("dp--cookie-consent")},e.prototype.initCheckboxes=function(){if("object"===S(window.cookieconsent_options.checkboxes))for(var e in this.checkboxes=[],window.cookieconsent_options.checkboxes)this.checkboxes.push({name:e,checked:window.cookieconsent_options.checkboxes[e]});var t=DPCookieConsent.getCookieElementsByTag("script","data-dp-cookieSelect");t=t.length>0?t[0].innerHTML:r.a,this.checkboxes.map((function(e){var o="";(!0===e.checked||!1!==e.checked&&"true"===e.checked.toLowerCase())&&(o='checked="checked"'),t=t.replace("{{checked."+e.name+"}}",o)})),t=this.replaceLabels(t),window.cookieconsent_options.content.cookieSelect=t},e.prototype.replaceLabels=function(e){for(var t in window.cookieconsent_options.content)e=e.replace("{{"+t+"}}",window.cookieconsent_options.content[t]);return e},e.prototype.setCheckboxes=function(){if("dpextend"==window.cookieconsent_options.layout){var e=this,t=e.checkboxes.map((function(t){return e.loadCheckbox(t.name)}));this.saveCookie(t)}},e.prototype.loadCheckboxes=function(){if("dpextend"==window.cookieconsent_options.layout){var e=this;e.loadCookiesPreset(),e.checkboxes.map((function(t){e.loadCheckbox(t.name,!0)}))}},e.prototype.saveCookie=function(e){var t={};e.map((function(e){e&&(t[e.id]=e.checked)})),this.dpCookies=e,window.cookieconsent.utils.setCookie(this.cookie_name,JSON.stringify(t),this.cookie.expiryDays,this.cookie.domain,this.cookie.path,this.cookie.secure)},e.prototype.loadCookiesPreset=function(){if(0!=this.dpCookies&&(this.dpCookies=window.cookieconsent.utils.getCookie(this.cookie_name)),void 0!==this.dpCookies)try{this.dpCookies=JSON.parse(this.dpCookies)}catch(e){this.dpCookies=!1}else this.dpCookies=!1},e.prototype.loadCheckbox=function(e,t,o){var n=this,i="dp--cookie-"+e,s=document.getElementById(i),r=!1,c=!1;if(!0===t?this.dpCookies&&this.dpCookies.hasOwnProperty(i)&&(r=this.dpCookies[i],c=!0):void 0!==o&&(r=o,c=!0),s)return c&&(s.checked=r),n.checkboxes.map((function(t,o){t.name==e&&(n.checkboxes[o].checked=s.checked)})),s;n.checkboxes.map((function(t,o){c&&t.name==e&&(n.checkboxes[o].checked=r)}))},e.prototype.loadContentDescription=function(){var e=DPCookieConsent.getCookieElementsByTag("script","data-dp-cookieDesc");e=e.length>0?e[0].innerHTML:a.a,window.cookieconsent_options.content.cookieDesc=this.replaceLabels(e)},e.prototype.loadContentRevoke=function(){var e=DPCookieConsent.getCookieElementsByTag("script","data-dp-cookieRevoke");e.length>0?window.cookieconsent_options.revokeBtn=e[0].innerHTML:window.cookieconsent_options.revokeBtn=y.a},e.prototype.defaults=function(){window.cookieconsent_options=C()(this.settings,window.cookieconsent_options)},e.prototype.init=function(){this.defaults(),o(15),this.loadContentDescription("data-dp-cookieDesc",a.a),this.loadContentRevoke("data-dp-cookieRevoke",y.a),"dpextend"==window.cookieconsent_options.layout&&this.initCheckboxes();var e={autoOpen:window.cookieconsent_options.autoOpen,content:window.cookieconsent_options.content,theme:window.cookieconsent_options.theme,position:window.cookieconsent_options.position,palette:window.cookieconsent_options.palette,dismissOnScroll:window.cookieconsent_options.dismissOnScroll,type:window.cookieconsent_options.type,layout:window.cookieconsent_options.layout,revokable:window.cookieconsent_options.revokable,cookie:window.DPCookieConsent.cookie,layouts:{dpextend:k.a},elements:{messagelink:u.a,dpmessagelink:p.a,"allow-all":f.a},revokeBtn:window.cookieconsent_options.revokeBtn,compliance:{"opt-in":i.a},onPopupOpen:function(){window.DPCookieConsent.setClass(),window.DPCookieConsent.loadCheckboxes()},onPopupClose:function(){window.DPCookieConsent.setClass(!0)},onInitialise:function(e){!this.hasConsented()||"dismiss"!=e&&"allow"!=e||(window.DPCookieConsent.loadCheckboxes(),window.DPCookieConsent.loadCookies(),window.DPCookieConsent.fireEvent("dp--cookie-accept-init"))},onStatusChange:function(e){"opt-in"==window.cookieconsent_options.type&&"dpextend"===window.cookieconsent_options.layout&&"dismiss"==e&&window.DPCookieConsent.checkboxes.map((function(e){window.DPCookieConsent.loadCheckbox(e.name,!1,!0)}));if(window.DPCookieConsent.setCheckboxes(),!this.hasConsented()||"dismiss"!=e&&"allow"!=e)window.DPCookieConsent.fireEvent("dp--cookie-deny");else{var t=!1;window.DPCookieConsent.settings.reloadOnRevoke&&window.DPCookieConsent.prevCheckboxes&&window.DPCookieConsent.prevCheckboxes.map((function(e,o){var n=window.DPCookieConsent.checkboxes[o];!0===e.checked&&(n&&0!=n.checked||(t=!0))})),window.DPCookieConsent.loadCookies(),window.DPCookieConsent.fireEvent("dp--cookie-accept"),t&&location.reload()}},onRevokeChoice:function(){window.DPCookieConsent.fireEvent("dp--cookie-revoke")}};window.cookieconsent.initialise(e,(function(e){window.DPCookieConsent.setPopup(e),window.DPCookieConsent.overlays(),window.DPCookieConsent.fireEvent("dp--cookie-init")}))},e.prototype.setPopup=function(e){this.popup=e},e.prototype.forceAccept=function(e){var t=this;void 0!==t.popup&&setTimeout((function(){if("dpextend"===window.cookieconsent_options.layout){t.loadCheckboxes();var o=e.getAttribute("data-cookieconsent");t.checkboxes.map((function(e,n){e.name==o?t.loadCheckbox(e.name,!1,!0):t.popup.hasAnswered()||t.loadCheckbox(e.name,!1,!1)}))}t.popup.setStatus(window.cookieconsent.status.allow),t.popup.close(!0)}),250)},e.prototype.forceDeny=function(e){var t=this;void 0!==t.popup&&setTimeout((function(){if("dpextend"===window.cookieconsent_options.layout){t.loadCheckboxes();var o=e.getAttribute("data-cookieconsent");t.checkboxes.map((function(e,n){e.name==o&&t.loadCheckbox(e.name,!1,!1)}))}t.popup.setStatus(window.cookieconsent.status.deny),t.popup.close(!0)}),250)},e.prototype.fireEvent=function(e,t){var o;t?(o=document.createEvent("CustomEvent")).initCustomEvent(e,!0,!0,{$el:t}):(o=document.createEvent("Event")).initEvent(e,!0,!0),document.dispatchEvent(o)},e.prototype.overlays=function(){if(window.cookieconsent_options.overlay.notice){var e,t=this.getCookieElementsByTag("iframe");if(t.length>0)for(e=0;e<t.length;e++){var o=t[e],n=o.getAttribute("data-cookieconsent-notice")||window.cookieconsent_options.content.media.notice,i=o.getAttribute("data-cookieconsent-description")||window.cookieconsent_options.content.media.desc,s=o.getAttribute("data-cookieconsent-btn")||window.cookieconsent_options.content.media.btn,r=o.getAttribute("data-cookieconsent"),c=document.createElement("div");c.classList.add("dp--overlay");var a="";window.cookieconsent_options.overlay.btn.background&&(a+="background:"+window.cookieconsent_options.overlay.btn.background+";"),window.cookieconsent_options.overlay.btn.text&&(a+="color:"+window.cookieconsent_options.overlay.btn.text+";"),c.innerHTML=w.a.replace("{{notice}}",n).replace("{{desc}}",i).replace("{{type}}",r).replace("{{style}}",'style="'+a+'"').replace("{{btn}}",s),window.cookieconsent_options.overlay.box.background&&(c.style.background=window.cookieconsent_options.overlay.box.background),window.cookieconsent_options.overlay.box.text&&(c.style.color=window.cookieconsent_options.overlay.box.text),o.parentNode.appendChild(c)}}},window.DPCookieConsent=new e,window.DPCookieConsent.init()}))},function(e,t){function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"===("undefined"==typeof window?"undefined":o(window))&&(n=window)}e.exports=n},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t){function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}!function(e){if(!e.hasInitialised){var t={escapeRegExp:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},hasClass:function(e,t){var o=" ";return 1===e.nodeType&&(o+e.className+o).replace(/[\n\t]/g,o).indexOf(o+t+o)>=0},addClass:function(e,t){e.className+=" "+t},removeClass:function(e,t){var o=new RegExp("\\b"+this.escapeRegExp(t)+"\\b");e.className=e.className.replace(o,"")},interpolateString:function(e,t){return e.replace(/{{([a-z][a-z0-9\-_]*)}}/gi,(function(e){return t(arguments[1])||""}))},getCookie:function(e){var t=("; "+document.cookie).split("; "+e+"=");return t.length<2?void 0:t.pop().split(";").shift()},setCookie:function(e,t,o,n,i,s){var r=new Date;r.setHours(r.getHours()+24*(o||365));var c=[e+"="+t,"expires="+r.toUTCString(),"path="+(i||"/")];n&&c.push("domain="+n),s&&c.push("secure"),document.cookie=c.join(";")},deepExtend:function(e,t){for(var o in t)t.hasOwnProperty(o)&&(o in e&&this.isPlainObject(e[o])&&this.isPlainObject(t[o])?this.deepExtend(e[o],t[o]):e[o]=t[o]);return e},throttle:function(e,t){var o=!1;return function(){o||(e.apply(this,arguments),o=!0,setTimeout((function(){o=!1}),t))}},hash:function(e){var t,o,n=0;if(0===e.length)return n;for(t=0,o=e.length;t<o;++t)n=(n<<5)-n+e.charCodeAt(t),n|=0;return n},normaliseHex:function(e){return"#"==e[0]&&(e=e.substr(1)),3==e.length&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),e},getContrast:function(e){return e=this.normaliseHex(e),(299*parseInt(e.substr(0,2),16)+587*parseInt(e.substr(2,2),16)+114*parseInt(e.substr(4,2),16))/1e3>=128?"#000":"#fff"},getLuminance:function(e){var t=parseInt(this.normaliseHex(e),16),o=38+(t>>16),n=38+(t>>8&255),i=38+(255&t);return"#"+(16777216+65536*(o<255?o<1?0:o:255)+256*(n<255?n<1?0:n:255)+(i<255?i<1?0:i:255)).toString(16).slice(1)},isMobile:function(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)},isPlainObject:function(e){return"object"===o(e)&&null!==e&&e.constructor==Object},traverseDOMPath:function(e,o){return e&&e.parentNode?t.hasClass(e,o)?e:this.traverseDOMPath(e.parentNode,o):null}};e.status={deny:"deny",allow:"allow",dismiss:"dismiss"},e.transitionEnd=function(){var e=document.createElement("div"),t={t:"transitionend",OT:"oTransitionEnd",msT:"MSTransitionEnd",MozT:"transitionend",WebkitT:"webkitTransitionEnd"};for(var o in t)if(t.hasOwnProperty(o)&&void 0!==e.style[o+"ransition"])return t[o];return""}(),e.hasTransition=!!e.transitionEnd;var n=Object.keys(e.status).map(t.escapeRegExp);e.customStyles={},e.Popup=function(){var o={enabled:!0,container:null,cookie:{name:"cookieconsent_status",path:"/",domain:"",expiryDays:365,secure:!1},onPopupOpen:function(){},onPopupClose:function(){},onInitialise:function(e){},onStatusChange:function(e,t){},onRevokeChoice:function(){},onNoCookieLaw:function(e,t){},content:{header:"Cookies used on the website!",message:"This website uses cookies to ensure you get the best experience on our website.",dismiss:"Got it!",allow:"Allow cookies",deny:"Decline",link:"Learn more",href:"https://www.cookiesandyou.com",close:"&#x274c;",target:"_blank",policy:"Cookie Policy"},elements:{header:'<span class="cc-header">{{header}}</span>&nbsp;',message:'<span id="cookieconsent:desc" class="cc-message">{{message}}</span>',messagelink:'<span id="cookieconsent:desc" class="cc-message">{{message}} <a aria-label="learn more about cookies" role=button tabindex="0" class="cc-link" href="{{href}}" rel="noopener noreferrer nofollow" target="{{target}}">{{link}}</a></span>',dismiss:'<a aria-label="dismiss cookie message" role=button tabindex="0" class="cc-btn cc-dismiss">{{dismiss}}</a>',allow:'<a aria-label="allow cookies" role=button tabindex="0"  class="cc-btn cc-allow">{{allow}}</a>',deny:'<a aria-label="deny cookies" role=button tabindex="0" class="cc-btn cc-deny">{{deny}}</a>',link:'<a aria-label="learn more about cookies" role=button tabindex="0" class="cc-link" href="{{href}}" rel="noopener noreferrer nofollow" target="{{target}}">{{link}}</a>',close:'<span aria-label="dismiss cookie message" role=button tabindex="0" class="cc-close">{{close}}</span>'},window:'<div role="dialog" aria-live="polite" aria-label="cookieconsent" aria-describedby="cookieconsent:desc" class="cc-window {{classes}}">\x3c!--googleoff: all--\x3e{{children}}\x3c!--googleon: all--\x3e</div>',revokeBtn:'<div class="cc-revoke {{classes}}">{{policy}}</div>',compliance:{info:'<div class="cc-compliance">{{dismiss}}</div>',"opt-in":'<div class="cc-compliance cc-highlight">{{deny}}{{allow}}</div>',"opt-out":'<div class="cc-compliance cc-highlight">{{deny}}{{allow}}</div>'},type:"info",layouts:{basic:"{{messagelink}}{{compliance}}","basic-close":"{{messagelink}}{{compliance}}{{close}}","basic-header":"{{header}}{{message}}{{link}}{{compliance}}"},layout:"basic",position:"bottom",theme:"block",static:!1,palette:null,revokable:!1,animateRevokable:!0,showLink:!0,dismissOnScroll:!1,dismissOnTimeout:!1,dismissOnWindowClick:!1,ignoreClicksFrom:["cc-revoke","cc-btn"],autoOpen:!0,autoAttach:!0,whitelistPage:[],blacklistPage:[],overrideHTML:null};function i(){this.initialise.apply(this,arguments)}function s(e){this.openingTimeout=null,t.removeClass(e,"cc-invisible")}function r(t){t.style.display="none",t.removeEventListener(e.transitionEnd,this.afterTransition),this.afterTransition=null}function c(){var t=this.options.onInitialise.bind(this);if(!window.navigator.cookieEnabled)return t(e.status.deny),!0;if(window.CookiesOK||window.navigator.CookiesOK)return t(e.status.allow),!0;var o=Object.keys(e.status),n=this.getStatus(),i=o.indexOf(n)>=0;return i&&t(n),i}function a(){var e=this.options.position.split("-"),t=[];return e.forEach((function(e){t.push("cc-"+e)})),t}function l(){var e=this.options,o="top"==e.position||"bottom"==e.position?"banner":"floating";t.isMobile()&&(o="floating");var n=["cc-"+o,"cc-type-"+e.type,"cc-theme-"+e.theme];e.static&&n.push("cc-static"),n.push.apply(n,a.call(this));h.call(this,this.options.palette);return this.customStyleSelector&&n.push(this.customStyleSelector),n}function u(){var e={},o=this.options;o.showLink||(o.elements.link="",o.elements.messagelink=o.elements.message),Object.keys(o.elements).forEach((function(n){e[n]=t.interpolateString(o.elements[n],(function(e){var t=o.content[e];return e&&"string"==typeof t&&t.length?t:""}))}));var n=o.compliance[o.type];n||(n=o.compliance.info),e.compliance=t.interpolateString(n,(function(t){return e[t]}));var i=o.layouts[o.layout];return i||(i=o.layouts.basic),t.interpolateString(i,(function(t){return e[t]}))}function d(o){var n=this.options,i=document.createElement("div"),s=n.container&&1===n.container.nodeType?n.container:document.body;i.innerHTML=o;var r=i.children[0];return r.style.display="none",t.hasClass(r,"cc-window")&&e.hasTransition&&t.addClass(r,"cc-invisible"),this.onButtonClick=p.bind(this),r.addEventListener("click",this.onButtonClick),n.autoAttach&&(s.firstChild?s.insertBefore(r,s.firstChild):s.appendChild(r)),r}function p(o){var i=t.traverseDOMPath(o.target,"cc-btn")||o.target;if(t.hasClass(i,"cc-btn")){var s=i.className.match(new RegExp("\\bcc-("+n.join("|")+")\\b")),r=s&&s[1]||!1;r&&(this.setStatus(r),this.close(!0))}t.hasClass(i,"cc-close")&&(this.setStatus(e.status.dismiss),this.close(!0)),t.hasClass(i,"cc-revoke")&&this.revokeChoice()}function h(o){var n=t.hash(JSON.stringify(o)),i="cc-color-override-"+n,s=t.isPlainObject(o);return this.customStyleSelector=s?i:null,s&&function(o,n,i){if(e.customStyles[o])return void++e.customStyles[o].references;var s={},r=n.popup,c=n.button,a=n.highlight;r&&(r.text=r.text?r.text:t.getContrast(r.background),r.link=r.link?r.link:r.text,s[i+".cc-window"]=["color: "+r.text,"background-color: "+r.background],s[i+".cc-revoke"]=["color: "+r.text,"background-color: "+r.background],s[i+" .cc-link,"+i+" .cc-link:active,"+i+" .cc-link:visited"]=["color: "+r.link],c&&(c.text=c.text?c.text:t.getContrast(c.background),c.border=c.border?c.border:"transparent",s[i+" .cc-btn"]=["color: "+c.text,"border-color: "+c.border,"background-color: "+c.background],c.padding&&s[i+" .cc-btn"].push("padding: "+c.padding),"transparent"!=c.background&&(s[i+" .cc-btn:hover, "+i+" .cc-btn:focus"]=["background-color: "+(c.hover||f(c.background))]),a?(a.text=a.text?a.text:t.getContrast(a.background),a.border=a.border?a.border:"transparent",s[i+" .cc-highlight .cc-btn:first-child"]=["color: "+a.text,"border-color: "+a.border,"background-color: "+a.background]):s[i+" .cc-highlight .cc-btn:first-child"]=["color: "+r.text]));var l=document.createElement("style");document.head.appendChild(l),e.customStyles[o]={references:1,element:l.sheet};var u=-1;for(var d in s)s.hasOwnProperty(d)&&l.sheet.insertRule(d+"{"+s[d].join(";")+"}",++u)}(n,o,"."+i),s}function f(e){return"000000"==(e=t.normaliseHex(e))?"#222":t.getLuminance(e)}function v(e,t){for(var o=0,n=e.length;o<n;++o){var i=e[o];if(i instanceof RegExp&&i.test(t)||"string"==typeof i&&i.length&&i===t)return!0}return!1}function k(){var o=this.setStatus.bind(this),n=this.close.bind(this),i=this.options.dismissOnTimeout;"number"==typeof i&&i>=0&&(this.dismissTimeout=window.setTimeout((function(){o(e.status.dismiss),n(!0)}),Math.floor(i)));var s=this.options.dismissOnScroll;if("number"==typeof s&&s>=0){var r=function t(i){window.pageYOffset>Math.floor(s)&&(o(e.status.dismiss),n(!0),window.removeEventListener("scroll",t),this.onWindowScroll=null)};this.options.enabled&&(this.onWindowScroll=r,window.addEventListener("scroll",r))}var c=this.options.dismissOnWindowClick,a=this.options.ignoreClicksFrom;if(c){var l=function(i){for(var s=!1,r=i.path.length,c=a.length,u=0;u<r;u++)if(!s)for(var d=0;d<c;d++)s||(s=t.hasClass(i.path[u],a[d]));s||(o(e.status.dismiss),n(!0),window.removeEventListener("click",l),window.removeEventListener("touchend",l),this.onWindowClick=null)}.bind(this);this.options.enabled&&(this.onWindowClick=l,window.addEventListener("click",l),window.addEventListener("touchend",l))}}function b(){if("info"!=this.options.type&&(this.options.revokable=!0),t.isMobile()&&(this.options.animateRevokable=!1),this.options.revokable){var e=a.call(this);this.options.animateRevokable&&e.push("cc-animate"),this.customStyleSelector&&e.push(this.customStyleSelector);var o=this.options.revokeBtn.replace("{{classes}}",e.join(" ")).replace("{{policy}}",this.options.content.policy);this.revokeBtn=d.call(this,o);var n=this.revokeBtn;if(this.options.animateRevokable){var i=t.throttle((function(e){var o=!1,i=window.innerHeight-20;t.hasClass(n,"cc-top")&&e.clientY<20&&(o=!0),t.hasClass(n,"cc-bottom")&&e.clientY>i&&(o=!0),o?t.hasClass(n,"cc-active")||t.addClass(n,"cc-active"):t.hasClass(n,"cc-active")&&t.removeClass(n,"cc-active")}),200);this.onMouseMove=i,window.addEventListener("mousemove",i)}}}return i.prototype.initialise=function(e){this.options&&this.destroy(),t.deepExtend(this.options={},o),t.isPlainObject(e)&&t.deepExtend(this.options,e),c.call(this)&&(this.options.enabled=!1),v(this.options.blacklistPage,location.pathname)&&(this.options.enabled=!1),v(this.options.whitelistPage,location.pathname)&&(this.options.enabled=!0);var n=this.options.window.replace("{{classes}}",l.call(this).join(" ")).replace("{{children}}",u.call(this)),i=this.options.overrideHTML;if("string"==typeof i&&i.length&&(n=i),this.options.static){var s=d.call(this,'<div class="cc-grower">'+n+"</div>");s.style.display="",this.element=s.firstChild,this.element.style.display="none",t.addClass(this.element,"cc-invisible")}else this.element=d.call(this,n);k.call(this),b.call(this),this.options.autoOpen&&this.autoOpen()},i.prototype.destroy=function(){this.onButtonClick&&this.element&&(this.element.removeEventListener("click",this.onButtonClick),this.onButtonClick=null),this.dismissTimeout&&(clearTimeout(this.dismissTimeout),this.dismissTimeout=null),this.onWindowScroll&&(window.removeEventListener("scroll",this.onWindowScroll),this.onWindowScroll=null),this.onWindowClick&&(window.removeEventListener("click",this.onWindowClick),this.onWindowClick=null),this.onMouseMove&&(window.removeEventListener("mousemove",this.onMouseMove),this.onMouseMove=null),this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.element=null,this.revokeBtn&&this.revokeBtn.parentNode&&this.revokeBtn.parentNode.removeChild(this.revokeBtn),this.revokeBtn=null,function(o){if(t.isPlainObject(o)){var n=t.hash(JSON.stringify(o)),i=e.customStyles[n];if(i&&!--i.references){var s=i.element.ownerNode;s&&s.parentNode&&s.parentNode.removeChild(s),e.customStyles[n]=null}}}(this.options.palette),this.options=null},i.prototype.open=function(t){if(this.element)return this.isOpen()||(e.hasTransition?this.fadeIn():this.element.style.display="",this.options.revokable&&this.toggleRevokeButton(),this.options.onPopupOpen.call(this)),this},i.prototype.close=function(t){if(this.element)return this.isOpen()&&(e.hasTransition?this.fadeOut():this.element.style.display="none",t&&this.options.revokable&&this.toggleRevokeButton(!0),this.options.onPopupClose.call(this)),this},i.prototype.fadeIn=function(){var o=this.element;if(e.hasTransition&&o&&(this.afterTransition&&r.call(this,o),t.hasClass(o,"cc-invisible"))){if(o.style.display="",this.options.static){var n=this.element.clientHeight;this.element.parentNode.style.maxHeight=n+"px"}this.openingTimeout=setTimeout(s.bind(this,o),20)}},i.prototype.fadeOut=function(){var o=this.element;e.hasTransition&&o&&(this.openingTimeout&&(clearTimeout(this.openingTimeout),s.bind(this,o)),t.hasClass(o,"cc-invisible")||(this.options.static&&(this.element.parentNode.style.maxHeight=""),this.afterTransition=r.bind(this,o),o.addEventListener(e.transitionEnd,this.afterTransition),t.addClass(o,"cc-invisible")))},i.prototype.isOpen=function(){return this.element&&""==this.element.style.display&&(!e.hasTransition||!t.hasClass(this.element,"cc-invisible"))},i.prototype.toggleRevokeButton=function(e){this.revokeBtn&&(this.revokeBtn.style.display=e?"":"none")},i.prototype.revokeChoice=function(e){this.options.enabled=!0,this.clearStatus(),this.options.onRevokeChoice.call(this),e||this.autoOpen()},i.prototype.hasAnswered=function(t){return Object.keys(e.status).indexOf(this.getStatus())>=0},i.prototype.hasConsented=function(t){var o=this.getStatus();return o==e.status.allow||o==e.status.dismiss},i.prototype.autoOpen=function(e){!this.hasAnswered()&&this.options.enabled?this.open():this.hasAnswered()&&this.options.revokable&&this.toggleRevokeButton(!0)},i.prototype.setStatus=function(o){var n=this.options.cookie,i=t.getCookie(n.name),s=Object.keys(e.status).indexOf(i)>=0;Object.keys(e.status).indexOf(o)>=0?(t.setCookie(n.name,o,n.expiryDays,n.domain,n.path,n.secure),this.options.onStatusChange.call(this,o,s)):this.clearStatus()},i.prototype.getStatus=function(){return t.getCookie(this.options.cookie.name)},i.prototype.clearStatus=function(){var e=this.options.cookie;t.setCookie(e.name,"",-1,e.domain,e.path)},i}(),e.Location=function(){var e={timeout:5e3,services:["ipinfo"],serviceDefinitions:{ipinfo:function(){return{url:"//ipinfo.io",headers:["Accept: application/json"],callback:function(e,t){try{var o=JSON.parse(t);return o.error?s(o):{code:o.country}}catch(e){return s({error:"Invalid response ("+e+")"})}}}},ipinfodb:function(e){return{url:"//api.ipinfodb.com/v3/ip-country/?key={api_key}&format=json&callback={callback}",isScript:!0,callback:function(e,t){try{var o=JSON.parse(t);return"ERROR"==o.statusCode?s({error:o.statusMessage}):{code:o.countryCode}}catch(e){return s({error:"Invalid response ("+e+")"})}}}},maxmind:function(){return{url:"//js.maxmind.com/js/apis/geoip2/v2.1/geoip2.js",isScript:!0,callback:function(e){window.geoip2?geoip2.country((function(t){try{e({code:t.country.iso_code})}catch(t){e(s(t))}}),(function(t){e(s(t))})):e(new Error("Unexpected response format. The downloaded script should have exported `geoip2` to the global scope"))}}}}};function o(o){t.deepExtend(this.options={},e),t.isPlainObject(o)&&t.deepExtend(this.options,o),this.currentServiceIndex=-1}function n(e,t,o){var n,i=document.createElement("script");i.type="text/"+(e.type||"javascript"),i.src=e.src||e,i.async=!1,i.onreadystatechange=i.onload=function(){var e=i.readyState;clearTimeout(n),t.done||e&&!/loaded|complete/.test(e)||(t.done=!0,t(),i.onreadystatechange=i.onload=null)},document.body.appendChild(i),n=setTimeout((function(){t.done=!0,t(),i.onreadystatechange=i.onload=null}),o)}function i(e,t,o,n,i){var s=new(window.XMLHttpRequest||window.ActiveXObject)("MSXML2.XMLHTTP.3.0");if(s.open(n?"POST":"GET",e,1),s.setRequestHeader("Content-type","application/x-www-form-urlencoded"),Array.isArray(i))for(var r=0,c=i.length;r<c;++r){var a=i[r].split(":",2);s.setRequestHeader(a[0].replace(/^\s+|\s+$/g,""),a[1].replace(/^\s+|\s+$/g,""))}"function"==typeof t&&(s.onreadystatechange=function(){s.readyState>3&&t(s)}),s.send(n)}function s(e){return new Error("Error ["+(e.code||"UNKNOWN")+"]: "+e.error)}return o.prototype.getNextService=function(){var e;do{e=this.getServiceByIdx(++this.currentServiceIndex)}while(this.currentServiceIndex<this.options.services.length&&!e);return e},o.prototype.getServiceByIdx=function(e){var o=this.options.services[e];if("function"==typeof o){var n=o();return n.name&&t.deepExtend(n,this.options.serviceDefinitions[n.name](n)),n}return"string"==typeof o?this.options.serviceDefinitions[o]():t.isPlainObject(o)?this.options.serviceDefinitions[o.name](o):null},o.prototype.locate=function(e,t){var o=this.getNextService();o?(this.callbackComplete=e,this.callbackError=t,this.runService(o,this.runNextServiceOnError.bind(this))):t(new Error("No services to run"))},o.prototype.setupUrl=function(e){var t=this.getCurrentServiceOpts();return e.url.replace(/\{(.*?)\}/g,(function(o,n){if("callback"===n){var i="callback"+Date.now();return window[i]=function(t){e.__JSONP_DATA=JSON.stringify(t)},i}if(n in t.interpolateUrl)return t.interpolateUrl[n]}))},o.prototype.runService=function(e,t){var o=this;e&&e.url&&e.callback&&(e.isScript?n:i)(this.setupUrl(e),(function(n){var i=n?n.responseText:"";e.__JSONP_DATA&&(i=e.__JSONP_DATA,delete e.__JSONP_DATA),o.runServiceCallback.call(o,t,e,i)}),this.options.timeout,e.data,e.headers)},o.prototype.runServiceCallback=function(e,t,o){var n=this,i=t.callback((function(t){i||n.onServiceResult.call(n,e,t)}),o);i&&this.onServiceResult.call(this,e,i)},o.prototype.onServiceResult=function(e,t){t instanceof Error||t&&t.error?e.call(this,t,null):e.call(this,null,t)},o.prototype.runNextServiceOnError=function(e,t){if(e){this.logError(e);var o=this.getNextService();o?this.runService(o,this.runNextServiceOnError.bind(this)):this.completeService.call(this,this.callbackError,new Error("All services failed"))}else this.completeService.call(this,this.callbackComplete,t)},o.prototype.getCurrentServiceOpts=function(){var e=this.options.services[this.currentServiceIndex];return"string"==typeof e?{name:e}:"function"==typeof e?e():t.isPlainObject(e)?e:{}},o.prototype.completeService=function(e,t){this.currentServiceIndex=-1,e&&e(t)},o.prototype.logError=function(e){var t=this.currentServiceIndex,o=this.getServiceByIdx(t);console.warn("The service["+t+"] ("+o.url+") responded with the following error",e)},o}(),e.Law=function(){var e={regionalLaw:!0,hasLaw:["AT","BE","BG","HR","CZ","CY","DK","EE","FI","FR","DE","EL","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","SK","ES","SE","GB","UK","GR","EU"],revokable:["HR","CY","DK","EE","FR","DE","LV","LT","NL","PT","ES"],explicitAction:["HR","IT","ES"]};function o(e){this.initialise.apply(this,arguments)}return o.prototype.initialise=function(o){t.deepExtend(this.options={},e),t.isPlainObject(o)&&t.deepExtend(this.options,o)},o.prototype.get=function(e){var t=this.options;return{hasLaw:t.hasLaw.indexOf(e)>=0,revokable:t.revokable.indexOf(e)>=0,explicitAction:t.explicitAction.indexOf(e)>=0}},o.prototype.applyLaw=function(e,t){var o=this.get(t);return o.hasLaw||(e.enabled=!1,"function"==typeof e.onNoCookieLaw&&e.onNoCookieLaw(t,o)),this.options.regionalLaw&&(o.revokable&&(e.revokable=!0),o.explicitAction&&(e.dismissOnScroll=!1,e.dismissOnTimeout=!1)),e},o}(),e.initialise=function(o,n,i){var s=new e.Law(o.law);n||(n=function(){}),i||(i=function(){});var r=Object.keys(e.status),c=t.getCookie("cookieconsent_status");r.indexOf(c)>=0?n(new e.Popup(o)):e.getCountryCode(o,(function(t){delete o.law,delete o.location,t.code&&(o=s.applyLaw(o,t.code)),n(new e.Popup(o))}),(function(t){delete o.law,delete o.location,i(t,new e.Popup(o))}))},e.getCountryCode=function(t,o,n){t.law&&t.law.countryCode?o({code:t.law.countryCode}):t.location?new e.Location(t.location).locate((function(e){o(e||{})}),n):o({})},e.utils=t,e.hasInitialised=!0,window.cookieconsent=e}}(window.cookieconsent||{})},function(e,t){}]);
var propFaktor = 0.688; //0.667 / 0.6584
var actHeadheight;
            
            jQuery(window).on('load', function(e) {
                console.log("verything has loaded!");
                var Headheight = $('.row.head').outerHeight();
                if( ($('.no-resize').length == 0) && ($('.content-frame').size() > 0)&& (Headheight < actHeadheight) ){ 
                
                    try {
                        console.log("resetting width and height");
						setProportionalHeight( propFaktor ); //some heights not working with "height: 100%"
						loadingReady();
                    }
                    catch (e) {
                        console.log("not able to set width and height: " +e);
                        //var height = $('.content-frame' ).height();
                        if($('.content-frame' ).height()< 50)
                            $('.content-frame').css('height', $('.site-wrapper' ).height()  );
                          
                    }
                }
				else{
					loadingReady();
				};
				
            });

		
			jQuery(document).ready(function () {
			//The Problem was getting wrong Heights cause rendering was not ready yet!!!
			//jQuery(window).on('load', function(e) {
				
				if($('.content-frame.no-frame').length > 0){
					propFaktor = 0.6671875;
				}
				

				// .no-resize is used in Template for displaying Page in Iframe of Fancybox 
				if( ($('.no-resize').length == 0) && ($('.content-frame').size() > 0) ){ 
				
					try {
						console.log("setting width and height");
						setProportionalHeight( propFaktor ); //some heights not working with "height: 100%"
					}
					catch (e) {
						console.log("not able to set width and height: " +e);
						//var height = $('.content-frame' ).height();
						if($('.content-frame' ).height()< 50)
							$('.content-frame').css('height', $('.site-wrapper' ).height()  );
						  
					}
					
					setParentHeightFromChild( '.subnav' );
					
					//Repaint for Safari Textrescale
					
					causeRepaintsOn = $("h1, h2, h3, p");
					
					var resizeTimer;
					// Store the window width
                    var windowWidth = $(window).width();
	
					// Resize Event
					$(window).on('resize', function(e) {
						
						// Check window width has actually changed and it's not just iOS triggering a resize event on scroll
                        if ($(window).width() != windowWidth) {
                            //iphoneAlert ("on resize");
                
                            // Update the window width for next time
                            windowWidth = $(window).width();
						
        					//$('#Modal_Iframe iframe[allowFullscreen]') //this.document.activeElement.allowFullscreen
        					if($('.fancybox-opened iframe[allowFullscreen]').length == 0 && $('#Modal_Iframe iframe[allowFullscreen]').length == 0 && $('.afterglow-lightbox').length == 0){
        					
        						clearTimeout(resizeTimer);
        						resizeTimer = setTimeout(function() {
        					
        							causeRepaintsOn.css("z-index", 1);
        							//setProportionalHeight( propFaktor );
        							location.reload();
        											
        						}, 250);
        					};
    					};
    					
    					
    			    });
				
				};
				
				// Temporary switched off for Video Integration
				/*
				if($('.no-resize').length > 0){
					$('body').addClass('no-overflow');
				};
				*/
				
			}); // end Document ready
			

			
			
			function setProportionalHeight( faktor ){
				/** Test for Scrollbar width **/
				var scrollbarWidth = getScrollbarWidth();
				
				/** checking outer Container **/
				var actContainerwitdh = $('.content-frame' ).width();
				
				var actContainerheight = document.getElementsByClassName('content-frame')[0].getBoundingClientRect().height;
				var propContainerheight = (actContainerwitdh -scrollbarWidth) * faktor;
				
				if( actContainerheight < propContainerheight){
					$('.content-frame').css('height', propContainerheight);
					scrollbarWidth = getScrollbarWidth();
					
					if( scrollbarWidth > 2 ){
						propContainerheight = (actContainerwitdh -scrollbarWidth) * faktor;
						$('.content-frame').css('height', propContainerheight);
					}
					
				}
				/** checking inner Container **/
				var actContainerInnerwitdh = $('.content-frame').innerWidth();	
				var actContainerInnerheight = document.getElementsByClassName('content-wrapper')[0].getBoundingClientRect().height;
				var propInnerContainerheight = actContainerInnerwitdh * 0.638;
				
				/*
				if( actContainerInnerheight < propInnerContainerheight){
					$('.content-wrapper').css('height', propContainerheight);
					actContainerInnerheight = propInnerContainerheight;
				}
				*/
				if( actContainerInnerheight == 0){
					$('.content-wrapper').css('height', propContainerheight);
					scrollbarWidth = getScrollbarWidth();
					
					if( scrollbarWidth > 2 ){
						propContainerheight = (actContainerwitdh - scrollbarWidth) * faktor;
						$('.content-wrapper').css('height', propContainerheight);
					}
						
					actContainerInnerheight = propInnerContainerheight;
				}
				
				
				
				//Footer
				var actFooterheight = 0;
				if($('.footer').length > 0){
					actFooterheight = document.getElementsByClassName('footer')[0].getBoundingClientRect().height;
					$('.footer').css('height', actFooterheight);
				}
				//Footer Menu Opera				
				if($('.footer-overlay').length > 0){
					var actFooterOverlayheight = document.getElementsByClassName('footer-overlay')[0].getBoundingClientRect().height;
					$('.footer-overlay').css('height', actFooterOverlayheight);
				}
				//Head (beim ersten mal laden wird in einigen Browsern die Höhe vom Header falsch gesetzt, danach ist sie korrekt)
				//$('.row.head').redraw();
				actHeadheight = document.getElementsByClassName('head')[0].getBoundingClientRect().height;
				console.log("actHeadheight: " +actHeadheight +", HeadHeight:" + $('.row.head').height() +", " +$('.row.head').outerHeight() +", " +$('.row.head').innerHeight() +" headerheight: " +$('.header').height() +", " + $('.header').outerHeight() +", " +$('.header').innerHeight() );
				//var Headheight = $('.row.head').outerHeight();
					
				var toFillHeight = actContainerInnerheight -actHeadheight - actFooterheight;
				//var toFillHeight = actContainerInnerheight -Headheight - actFooterheight;
				//console.log("toFillHeight: " +toFillHeight +" = actContainerInnerheight: " +actContainerInnerheight +" - actHeadheight: " +actHeadheight +" - actFooterheight: " +actFooterheight);
				
				var actContentheight = $('.content' ).height();
				//if ( actContentheight == 0 || actContentheight > toFillHeight  )
				if ($('.company-content-frame .content').length == 0 || actContentheight < 100 ){
				    $('.content').css('height', toFillHeight);
				    console.log("set Height: " + toFillHeight);
				    
				    // recalculate Head Height
				    var Headheight = $('.row.head').outerHeight();
				    if(Headheight < actHeadheight){
				        toFillHeight = actContainerInnerheight - Headheight - actFooterheight;
				        $('.content').css('height', toFillHeight);
				        console.log("reset Height: " + toFillHeight);
				    };
				    
				    
				}
					
				
				
			};
			
			function setParentHeightFromChild( child ){
				
				var childHeight = $(child).height();
				$(child).parent().css('height', childHeight);
				
			};

			function setRemainingHeight(fromSelector,toSelector){
				$(fromSelector).parentsUntil(toSelector).each(function () {
					console.log($(this).parent());
				  });
			}
			
			function getScrollbarWidth(){
				var scrollbarWidth=(window.innerWidth-$(window).width());
				console.log("Scrollbar: " +scrollbarWidth);
				return scrollbarWidth;
			};
			
			$.fn.redraw = function(){
                return $(this).each(function(){
                var redraw = this.offsetHeight;
                });
            };
            
            function iphoneAlert (alertText){
                if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPad/i)) || (navigator.userAgent.match(/iPod/i))  ) {
                    alert(alertText);
                }
                
			}
			
			function loadingReady(){
				console.log("Ready with loading Content")
				$('.site-wrapper').addClass("loaded");
				$(document).trigger( "content-loading-ready" );
			}

!function(e,t){"function"==typeof define&&define.amd?define([],function(){return e.toast=t()}):"object"==typeof exports?module.exports=t():e.toast=t()}(this,function(){function e(){var e=document.getElementsByTagName("head")[0],n=function(t){if(e){if(t.length){for(var a,r,c=-1;a=t[++c];)if("string"==typeof a)o(a);else if("function"==typeof a){r=a;break}i(r,Array.prototype.slice.call(t,c+1))}}else setTimeout(function(){n(t)},50)},o=function(n){var o,i,r=/\.(\w+)$/.exec(n),c=/^\[(\w+)\](.+)/.exec(n);if(null!==c)o=c[1],n=c[2];else{if(null===r)return;o=r[1]}if(!(n in t))switch(t[n]=!1,o){case"js":i=document.createElement("script"),i.src=n,i.async=!1,e.appendChild(i);var f=navigator.appVersion.match(/MSIE (\d)/);null!==f&&parseInt(f[1],10)<9?i.onreadystatechange=function(){/ded|co/.test(this.readyState)&&(t[n]=!0,i.onreadystatechange=null)}:i.onload=function(){t[n]=!0,i.onload=null};break;case"css":i=document.createElement("link"),i.rel="styleSheet",i.href=n,e.appendChild(i),a(i,n);break;default:return void delete t[n]}},i=function(e,o){for(var a in t)if(!t[a])return void setTimeout(function(){i(e,o)},50);"function"==typeof e&&e(),n(o)},a=function(e,n){e.sheet||e.styleSheet?t[n]=!0:setTimeout(function(){a(e,n)},50)};n(arguments)}var t={};return e});
var maxItems = 8;
var csspath = "/fileadmin/Resources/Public/Css/"; // /fileadmin/Resources/Public/Css/ || ../css/
var jspath = "/fileadmin/Resources/Public/JavaScript/"; // /fileadmin/Resources/Public/JavaScript/ || ../js/

$(document).ready(function(){
			//var csspath = "/fileadmin/Resources/Public/Css/"; // /fileadmin/Resources/Public/Css/ || ../css/
			//var jspath = "/fileadmin/Resources/Public/JavaScript/"; // /fileadmin/Resources/Public/JavaScript/ || ../js/
			//var maxItems = 7;
			var itemsCount = $('.owl-carousel .item').length;
			var loadedTimeout;
			
			console.log("Items: " +itemsCount);
			
			if( itemsCount > maxItems){
			
				// Launch a callback when the CSS has been downloaded, and another when scripts have been downloaded too
				$('.owl-carousel').css('visibility','hidden');
				$('.owl-carousel').css('opacity','0');
				toast(
						csspath +'owl.carousel.css',
						csspath +'owl_custom.css',
						function() {
							console.log('owl.css downloaded');
						},
						jspath +'Libs/owl.carousel.min.js',
						jspath +'Libs/jquery.mousewheel.min.js',
						jspath +'Libs/jquery.ui.touch-punch.min.js',
						jspath +'init_owl_click.js',
						function() {
								console.log('Owl Css & Javascript loaded');
								$('.thumbnail-container').addClass('carousel-on');
								init_OwlCarousel();
								init_owl_trigger();
								$('.owl-carousel').css('visibility','visible');
								$('.owl-carousel').fadeTo(800,1);
						}
				);
			
			}
			
			else {
				//$('.owl-carousel').css('opacity','0');
				//$('.owl-carousel').fadeTo(500,1);
			};
			
		
			$(document).on('image_loaded',function (e) {
				//alert("Image Loaded");
				
				//Initalise as responsive Image				
				$('.image-wrap img.lazyload').responsiveimage();
				// Reload data in src								
				$(".image-wrap img.lazyload",document).responsiveimage('unveil');
				
				var imagesrc = $('.image-wrap img.lazyload').attr('src');
				console.log(imagesrc);
				var counter = 0;
				//try again if src is not loaded
				while(imagesrc == "/typo3conf/ext/bootstrap_package/Resources/Public/Images/blank.gif" && counter < 3){
		        	//$(".image-wrap img.lazyload",document).responsiveimage('unveil');
		        	setTimeout("$('.image-wrap img.lazyload',document).responsiveimage('unveil');", 200);
		        	imagesrc = $('.image-wrap img.lazyload').attr('src');
		        	counter ++;
		        	console.log("tried: " +counter +" times " +imagesrc);
		       		};
			});
			
							
		});
		
function load_Contend(item){
		//load_ContentFromElement(item, ".content .right .product-description");
		//load_ContentFromElement(item, ".content .right .additionalInfosField");
		//load_ContentFromElement(item, ".content .center .image-wrap");
		
		ajax_load_Contend(item);
					
		};	
		
function load_ContentFromElement(item, selector){
			if ($(selector).length > 0){
				$(selector).hide();
				$(selector).empty();
				//var contend = $(item).attr('url') +" " +selector +" > *"
				var itemlink = $(item).find('a').attr('href');
				var contend = itemlink +" " +selector +" > *"
					$( selector ).load( contend , function(responseTxt, statusTxt, xhr) {
                		
                		if(statusTxt == "success"){
	                		//alert("loaded: " + selector);
	                		console.log("successfull loaded: " + selector)
	                		if(selector == ".content .center .image-wrap")
	                			$(document).trigger("image_loaded");
	                		
                		};
                		
                		if(statusTxt == "error"){
            				console.log("Error: " + xhr.status + ": " + xhr.statusText +"Element: " + selector);
            				
            				$( selector ).load( contend);
            				//setTimeout('$( selector ).load( contend)', 500);
            				/*
            				setTimeout(function(){
								  load_ContentFromElement(item, selector);
								}, 200);
							*/
							
            			};	
                		
            	});
				$(selector).fadeIn();
			};
		};

function ajax_load_Contend(item){
	
	var itemlink = $(item).find('a').attr('href');
	
	
	var loaded_data = $.get(itemlink, {}, 
		function(data) {
    		var temp = $('<div />').html(data);
    		console.log("loaded: " +itemlink);
    		
    		ajax_load_ContentFromElement('.content .right .product-description', temp);
			ajax_load_ContentFromElement('.content .right .additionalInfosField', temp);
			ajax_load_ContentFromElement('.content .center .image-wrap', temp);
		},
		'html');
	
		//loaded_data.fail( console.log("Error loading: " +itemlink) );	
	
	
	
};

function ajax_load_ContentFromElement(selector, temp){
	
	if ($(selector).length > 0){
		
		$(selector).hide();
		$(selector).empty();
		
		$(selector).replaceWith( $(selector,temp) );
		
		if(selector == ".content .center .image-wrap")
	    	$(document).trigger("image_loaded");
	    
	    $(selector).fadeIn();
	}
	
}


		// decrypt helper function
		/*
		function decryptCharcode(n,start,end,offset) {
			n = n + offset;
			if (offset > 0 && n > end) {
				n = start + (n - end - 1);
			} else if (offset < 0 && n < start) {
				n = end - (start - n - 1);
			}
			return String.fromCharCode(n);
		}
		*/
		
		// decrypt string
		function decryptString(enc,offset) {
			var dec = "";
			var len = enc.length;
			for(var i=0; i < len; i++) {
				var n = enc.charCodeAt(i);
				if (n >= 0x2B && n <= 0x3A) {
					dec += decryptCharcode(n,0x2B,0x3A,offset);	// 0-9 . , - + / :
				} else if (n >= 0x40 && n <= 0x5A) {
					dec += decryptCharcode(n,0x40,0x5A,offset);	// A-Z @
				} else if (n >= 0x61 && n <= 0x7A) {
					dec += decryptCharcode(n,0x61,0x7A,offset);	// a-z
				} else if (n >= 0x25 && n <= 0x26) {
					dec += decryptCharcode(n,0x25,0x26,offset);	// % &	
					
				} else {
					dec += enc.charAt(i);
				}
			}
			return dec;
		}
		
		// decrypt spam-protected emails
		
		function linkTo_UnCryptMailto(s) {
			var err,failed;
			//location.href = decryptString(s,-1);
			var string = decryptString(s,-1);
			try{
				location.href = string;
			}
			catch(err){
				console.log("First Try Error: " +err.name);
				failed =1;
			};
			
			if(failed){
				try{
				location.href = replaceUtf2Iso(string);
				}
				catch(err){
					console.log("Second Try Error: " +err.name);
							
				};
			};
		
		};
		

function replaceIso2Utf(string){

	var replace_map = {
	'%E4': '%C3%A4', //ä
	'%F6': '%C3%B6', //ö
    '%FC': '%C3%BC', //ü
    '%C4': '%C3%84', //Ä
    '%D6': '%C3%96', //Ö
	'%DC': '%C3%9C'  //Ü
  	};
	string = string.replace(new RegExp("(" + Object.keys(replace_map).map(function(i){return i.replace(/[.?*+^$[\]\\(){}|-]/g, "\\$&")}).join("|") + ")", "g"), function(s){ return replace_map[s]});
	
	return string;
}

function replaceUtf2Iso(string){

	var replace_map = {
	'%C3%A4' : '%E4', //ä
	'%C3%B6': '%F6', //ö
    '%C3%BC': '%FC', //ü
    '%C3%84': '%C4', //Ä
    '%C3%96': '%D6', //Ö
	'%C3%9C': '%DC'  //Ü
  	};
	string = string.replace(new RegExp("(" + Object.keys(replace_map).map(function(i){return i.replace(/[.?*+^$[\]\\(){}|-]/g, "\\$&")}).join("|") + ")", "g"), function(s){ return replace_map[s]});
	
	return string;
}


$(document).ready(function(){
		var csspath = "/fileadmin/Resources/Public/Css/"; // /fileadmin/Resources/Public/Css/ || ../css/
		var jspath = "/fileadmin/Resources/Public/JavaScript/"; // /fileadmin/Resources/Public/JavaScript/ || ../js/
 		
 		/*
 		if($('a[href^="javascript:linkTo_UnCryptMailto"]').length > 0){
 			
 			toast(
				jspath +'extended_email_encryption.js',
				function() {
						console.log('Email Encryption Javascript loaded');
					}
				);
 			
 		};
 		*/
 		
 		
 		if($("#videoPlayer").length > 0){
 			
 			toast(
				jspath +'video.js',
				function() {
						console.log('videoPlayer Javascript loaded');
						$( document ).trigger("videoPlayerReady");
					}
				);
							
		};
		
		if($('.fancybox').length > 0){
			
			toast(
				jspath +'check_start_fancybox.js',
				function() {
						console.log('Fancybox Javascript loaded');
					}
				);
			
		};
		
		if($('.non-modal-popup.make-draggable').length > 0){
			
			toast(
				jspath +'draggable_non-modal_popup.js',
				function() {
						console.log('Draggable Popup Javascript loaded');
					}
				);
			
		}
		
		if($('a.launch-modal.iframe').length > 0){
			
			toast(
				//jspath +'modal_iframe_16by9.js',
				jspath +'modal_iframe_16by9_cookies.js',
				function() {
						console.log('Modal Iframe Javascript loaded');
					}
				);
							
		};

		if($('.openModal').length > 0){
			
			toast(
				jspath +'openModal.js',
				function() {
						console.log('Bootstrap Modal Javascript loaded');
					}
				);
							
		};

		
		if($('.panorama').length > 0){
			
			toast(
				jspath +'autoScrollPanorama.js',
				function() {
						console.log('autoScrollPanorama Javascript loaded');
					}
				);
							
		};
		
		
		if($('img[usemap]').length > 0){
			
			toast(
				jspath +'responsiveImageMaps_custom.js',
				function() {
						console.log('responsiveImageMaps Javascript loaded');
						//$('img[usemap]').trigger('load');
					}
				);
			
								
		};

// Cecks for IE <= 10		
var ieVersion = (function() { if (new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})").exec(navigator.userAgent) != null) { return parseFloat( RegExp.$1 ); } else { return false; } })();		
			
		if($('.footer-overlay img[data-origin]').length > 0 && Modernizr.inlinesvg && !ieVersion && Modernizr.flexbox){
			
			toast(
				//jspath +'footer_link_clipping.js',
				jspath +'footer_link_clipping_svgoverlay.js',
				csspath +'footer_svgoverlay_clipping.css',
				function() {
						console.log('footer_link_clipping Javascript loaded');						
					}
				);
			

			if (!Modernizr.csspointerevents){
				console.log("No Css PointerEvents supported")
				//toast(jspath +'/Libs/pointer_events_polyfill.js',
				toast(jspath +'/Libs/jquery.pointer-events-polyfill.min.js',
				function() {
						console.log('polyfill for Pointerevents loaded');
						//PointerEventsPolyfill.initialize({});
						window.pointerEventsPolyfill();
					});
			}
		};

	
	

	//if(!Modernizr.flexbox || !Modernizr.flexboxlegacy){
	if($('.footer-menu-left-right .flex-wrapper').length){		
		toast(
			jspath +'no-flexbox-center-position.js',
			function() {
					console.log('Javascript flexbox center loaded');
				}
			);
	}

	
	if($('.afterglow').length){	
		/* moved to css 
		if($('.afterglow-VideoFrame').length){
			console.log("Hide VideoElement on Start firstTime");
			//$('.afterglow-VideoFrame').css("opacity", "0");
			$('.afterglow-VideoFrame').addClass('hidden');
			}
		*/
		toast(
			csspath +'afterglow_custom.css',
			jspath +'videohelper.js',
			function() {
				//setVideoDimensions('video.afterglow');
				trimRteAfterglowPopupLink('a.afterglow');
				},
			
			jspath +'/Libs/afterglow.min.js',
			function() {
					console.log('Video Afterglow Js loaded & init');					
					/*
					$.when( setVideoDimensions('video.afterglow') ).done(function() {
						console.log("init Afterglow");
						afterglow.init();
					 });
					*/
					//afterglow.init();
					$( document ).trigger("afterglowInit");
					
				},
			
			jspath +'afterclow_custom.js',
			function() {
					console.log('Video Afterglow Custom Js loaded');
					$( document ).trigger("afterglowReady");
				}
			);
	}


	if($('.waconcookiemanagement').length){		
		toast(
			jspath +'/Libs/jquery.cookie.js',
			//jspath +'custom_cookie_management.js',
			function() {
					console.log('Cookie Managment found');
					//var cookies = $.cookie();
					c_config = $.cookie('waconcookiemanagement');
					
					if (c_config == "min" || (c_config.includes("c") && !c_config.includes("c5"))){
						console.log("removing GA Cookies")
						$.removeCookie('_ga', { domain: '.webseiten.cc' });
						$.removeCookie('_gid', { domain: '.webseiten.cc' });
						$.removeCookie('_gat', { domain: '.webseiten.cc' });
					}
						
				}
			);
	}


	/* Show Content only on specific Country  */
	/*
	if($('div[data-countrycode]').length > 0 ){		
		toast(
			jspath +'checkCountryCodeViaAjax.js',
			function() {
					console.log('Javascript check CountyCode loaded');
					showHiddenElement("data-countrycode");
				}
			);
	}
	*/

	/* Show Content only on specific Country  */
	if($('div[data-countrycode]').length > 0 ){		
		toast(
			jspath +'checkCountryCodeViaPhp.js',
			function() {
					console.log('Javascript check CountyCode loaded');
					showHiddenElement("data-countrycode");
				}
			);
	}


	
	
	
		
	
		
		
		
			
});// end Document ready
function get_params_from_href(href){
    var paramstr = href.split('?')[1];        // get what's after '?' in the href
    
	if(paramstr){
		var paramsarr = paramstr.split('&');      // get all key-value items
		var params = Array();
		for (var i = 0; i < paramsarr.length; i++) {
			var tmparr = paramsarr[i].split('='); // split key from value
			params[tmparr[0]] = tmparr[1];        // sort them in a arr[key] = value way
		}
		return params;
	}
	else return false;
  }
$(document).ready(function(){
 		
   var href = window.location.href;
   var params = get_params_from_href(href);
     
   if(params.openLink){
        elementId = '#'+params.openLink;
        element = document.getElementById(params.openLink);
        //$(element).trigger('click');
        setTimeout(function(){
            triggerEvent( element, 'click' );
            }, 500);

   };
       
});// end Document ready


$(document).on("click", "a", function(){
console.log("link clicked: " + $(this).attr('id'));
});

/**
 * Trigger the specified event on the specified element.
 * @param  {Object} elem  the target element.
 * @param  {String} event the type of the event (e.g. 'click').
 */
 function triggerEvent( elem, event ) {
    var clickEvent = new Event( event ); // Create the event.
    elem.dispatchEvent( clickEvent );    // Dispatch the event.
  }
!function(A){"use strict";var e="webp",t="avif";function s(A,e,t){var s=function(A){if(window.sessionStorage){var e=window.sessionStorage.getItem(A+"Support");if("false"===e||"true"===e)return"true"===e}return null}(A);if(null===s){var o=new Image;return o.onload=o.onerror=function(){t(A,2===o.height)},void(o.src=e)}a(A,s)}function a(s,a){if(a){var o=A.documentElement;o.classList?o.classList.add("webp"===s?e:t):o.className+=" "+s=="webp"?e:t,window.sessionStorage.setItem(s+"Support",!0)}else window.sessionStorage.setItem(s+"Support",!1)}console.info("avif-web.js: please consider to remove this script and switch to `background-image: image-set();` @see https://bit.ly/3bP3Dov"),s("webp","data:image/webp;base64,UklGRi4AAABXRUJQVlA4TCEAAAAvAUAAEB8wAiMwAgSSNtse/cXjxyCCmrYNWPwmHRH9jwMA",a),s("avif","data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUEAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAF0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgS0AAAAAABNjb2xybmNseAACAAIAAIAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAGVtZGF0EgAKBzgAPtAgIAkyUBAAAPWc41TP///4gHBX9H8XVK7gGeDllq8TYARA+8Tfsv7L+zPE24eIoIzE0WhHbrqcrTK9VEgEG/hwgB5rdCbvP8g3KYPdV88CvPJnptgQ",a)}(document);
$(document).ready(function(){
    

});


$(document).on('content-loading-ready', function (e) {
    console.log("Content Ready");
    if(document.querySelector("section.layout-7")){ //$('section.layout-7') //document.querySelector("section.layout-7")
        console.log("set no Cookies");
        $(this).trigger('dp--cookie-deny');
        $('body').addClass('hide-cc');
    }
    else{
        check_cookie_Status();
    }
});




document.addEventListener('dp--cookie-fire', function (e) {
    console.log('dp--cookie-fire', e.detail.$el);
});
document.addEventListener('dp--cookie-accept', function (e) {
    console.log('dp--cookie-accept', e);
});
document.addEventListener('dp--cookie-deny', function (e) {
    console.log('dp--cookie-deny', e);
    setCookieStatus('dp--cookie-statistics',false);
    setCookieStatus('dp--cookie-thirdparty',false);
});
document.addEventListener('dp--cookie-revoke', function (e) {
    console.log('dp--cookie-revoke', e);
});

var cookie_management;

function check_cookie_Status(){

    //if($("div[aria-label=cookieconsent]").length){		
        toast(
            jspath +'/Libs/jquery.cookie.js',
            function() {
                    console.log('Cookie check');
                    //var cookies = $.cookie();
                    cookie_management = "dp_cookieconsent_notset";
                    if($.cookie('dp_cookieconsent_status')){
                        cookie_management = "dp_cookieconsent";
                        c_dp_cookieconsent_status =  $.parseJSON( $.cookie('dp_cookieconsent_status') );
                        //var obj = $.parseJSON(c_dp_cookieconsent_status);
                        c_cookieconsent_status = $.cookie('cookieconsent_status');
                        
                        if (c_dp_cookieconsent_status['dp--cookie-statistics'] == false){
                            console.log("removing GA Cookies")
                            //$.cookie('_ga', '',{path:'/'});
                            $.cookie('_ga', '',{domain: '.albrecht-germany.com'});
                            $.cookie('_gid', '',{ domain: '.albrecht-germany.com' });
                            $.cookie('_gat', '',{ domain: '.albrecht-germany.com' });
                            
                            $.removeCookie('_ga', { domain: '.albrecht-germany.com'}); //domain: '.webseiten.cc' 
                            $.removeCookie('_gid', { domain: '.albrecht-germany.com'});
                            $.removeCookie('_gat', { domain: '.albrecht-germany.com'});
                            //GA4
                            $.removeCookie('_ga_386184803', { domain: '.albrecht-germany.com'});
                            $.removeCookie('_ga_386184803', { path:'/'});
                            $.removeCookie('_ga_7Y1GPL17BR', { domain: '.albrecht-germany.com'});
                        }
                    }
                        
                }
            );
    //}

}

function setCookieStatus(key,value){
    c_dp_cookieconsent_status =  $.parseJSON( $.cookie('dp_cookieconsent_status') );

    c_dp_cookieconsent_status[key] = value;
    console.log( key+ ":" +c_dp_cookieconsent_status[key]);
    //$.cookie('cookieconsent_status', JSON.stringify(c_dp_cookieconsent_status) ) ;
    str = JSON.stringify(c_dp_cookieconsent_status);
    //var str_esc = unescape(str);
    $.cookie.raw = true;
    $.cookie('dp_cookieconsent_status', str,{path:'/'});
    location.reload(); 
}

function getCookieStatus(){
    c_dp_cookieconsent_status =  $.parseJSON( $.cookie('dp_cookieconsent_status') );
    return c_dp_cookieconsent_status;
}

function removeCookies(name,settings){
    if($.cookie(name)){
        $.cookie(name, '',settings);
        $.removeCookie(name, settings);
        //document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:01 GMT; domain=" + settings.[domain] + "; path=" + settings.[path];
    }
}
/***  Cookies ***/

// returns the cookie with the given name,
// or undefined if not found
function getCookie(name) {
    let matches = document.cookie.match(new RegExp(
      "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
    ));
    return matches ? decodeURIComponent(matches[1]) : undefined;
  }

  function setCookie(name, value, options = {}) {

    options = {
      path: '/',
      // add other defaults here if necessary
      ...options
    };
  
    if (options.expires instanceof Date) {
      options.expires = options.expires.toUTCString();
    }
  
    let updatedCookie = encodeURIComponent(name) + "=" + encodeURIComponent(value);
  
    for (let optionKey in options) {
      updatedCookie += "; " + optionKey;
      let optionValue = options[optionKey];
      if (optionValue !== true) {
        updatedCookie += "=" + optionValue;
      }
    }
  
    document.cookie = updatedCookie;
  }
  
  // Example of use:
  //setCookie('user', 'John', {secure: true, 'max-age': 3600});
//var reloadPage = 0

$(document).ready(function(){
    /*
    //Server FileInfo aus dem Head auslesen
    console.log("Server File fetchHeader:" +fetchHeader(location.href,'Last-Modified'));
    fetchLastModified(location.href, compareLastModified);
    console.log($("#c2446 img").attr("data-src"));
    fetchLastModified($("#c2446 img").attr("data-src"), compareLastModified);
    */


    //Document 
    console.log("Document File lastModified: " +document.lastModified);
    console.log("Document Header Meta (date) Last-Modified: " +document.querySelector('meta[name="date"]').content);


    // Compage against LastUpdated edited manually
    jsonUrl = addParameterToURL('type=1')
    fetchJsonData(jsonUrl,compareJsonWithDocumentData);

    /*
    if(document.querySelector('meta[name="date"]').content != "")
    {
        // Compage against LastUpdated edited manually
        jsonUrl = addParameterToURL('type=1')
        fetchJsonData(jsonUrl,compareJsonWithDocumentData);
    }
    else{
        // Compage against LastCanged which represent the saving Date of the Page
        fetchLastModified(location.href, compareLastModified);
    }
    */
});


function fetchHeader(url, wch) {
    try {
        var req=new XMLHttpRequest();
        req.open("HEAD", url, false);
        req.send(null);
        if(req.status== 200){
            return req.getResponseHeader(wch);
        }
        else return false;
    } catch(er) {
        return er.message;
    }
}


function fetchLastModified(url, callback) {
    fetch(url, {method: "HEAD"})
        .then(r => {callback(new Date(r.headers.get('Last-Modified')))});
}

function compareLastModified(serverHeaderLastModified){
    var reloadPage
    doc_LastModified = new Date(document.lastModified)
    
    doc_LastModified.setSeconds(0)
    serverHeaderLastModified.setSeconds(0)

    console.log("doc_LastModified: " +doc_LastModified);
    console.log("Server-File fetchLastModified:" +serverHeaderLastModified)

    if( doc_LastModified.getTime()  === serverHeaderLastModified.getTime() ){
        console.log("Seite ist aktuell LastModified")
        reloadPage = 0;
        //document.cookie = 'reloadPage=' +reloadPage +';';
        setCookie('reloadPage', reloadPage, {secure: true, samesite:'Strict'});
        
    }
    
    else if( doc_LastModified.getTime()  <  serverHeaderLastModified.getTime() ){
        console.log("Seite ist veraltet LastModified")
        reloadPage = getCookie('reloadPage') ? parseInt( getCookie('reloadPage')) : 0;
        if(reloadPage <= 0){
            console.log("Seite wird neu geladen")
            reloadPage += 1;
            setCookie('reloadPage', reloadPage, {secure: true, samesite:'Strict'});
            //location.reload(true)
            self.clear();
        }
    }

}


function getDocumentHeaderInfo(metaName){
    document.querySelector('meta[name="'+metaName+'"]').content
}

function compareJsonWithDocumentData(jsonObj){
    var reloadPage
    doc_LastUpdated = new Date(document.querySelector('meta[name="date"]').content);
    //new Date(1697032711000).toLocaleString();
    //dateOptions = { dateStyle: 'full', timeStyle: 'long', timeZone: 'Australia/Sydney' }
    //json_LastUpdated = new Date(parseInt(jsonObj.LastUpdated)*1000).toLocaleString();
    json_LastUpdated = new Date(parseInt(jsonObj.LastUpdated)*1000)
    json_LastChanged = new Date(parseInt(jsonObj.LastChanged)*1000)
    
    console.log("doc_LastUpdated: " +doc_LastUpdated);
    console.log("json_LastUpdated: " +json_LastUpdated.toString());
    console.log("json_LastChanged: " +json_LastChanged.toString());


    if(doc_LastUpdated.getTime() === json_LastUpdated.getTime() || doc_LastUpdated.getTime() === json_LastChanged.getTime() ){
        if(doc_LastUpdated.getTime() === json_LastUpdated.getTime())
            console.log("Seite ist aktuell LastUpdated")
        else
        console.log("Seite ist aktuell LastChanged")
        reloadPage = 0;
        //document.cookie = 'reloadPage=' +reloadPage +';';
        setCookie('reloadPage', reloadPage, {secure: true, samesite:'Strict'});
        
    }
    
    /*
    else if( doc_LastUpdated <  json_LastUpdated){
        console.log("Seite ist veraltet LastUpdated")
        reloadPage = getCookie('reloadPage') ? parseInt( getCookie('reloadPage')) : 0;
        if(reloadPage <= 0){
            console.log("Seite wird neu geladen")
            reloadPage += 1;
            setCookie('reloadPage', reloadPage, {secure: true, samesite:'Strict'});
            //location.reload(true)
            self.clear();
        }
    }
    */

    else{
        if( doc_LastUpdated <  json_LastUpdated)
            console.log("Seite ist veraltet LastUpdated")
        else
            console.log("Seite ist veraltet LastChanged")

        reloadPage = getCookie('reloadPage') ? parseInt( getCookie('reloadPage')) : 0;
        if(reloadPage <= 0){
            console.log("Seite wird neu geladen")
            reloadPage += 1;
            setCookie('reloadPage', reloadPage, {secure: true, samesite:'Strict'});
            //location.reload(true)
            self.clear();
        }
    
    }
    
}

function fetchJsonData(url,callback){
    var myHeaders = new Headers();
    myHeaders.append('cache', 'no-cache');
    myHeaders.append('pragma', 'no-cache');
    myHeaders.append('cache-control', 'no-cache');

    var myInit = {
    method: 'GET',
    headers: myHeaders,
    };
    options = {
            cache: "no-cache", 
            pragma: "no-cache"
            //cache-control: "no-cache"
        } 


    fetch(url, myInit ).then(response => {
        return response.json();
        }).then(data => {
        // Work with JSON data here
        console.log(data);
        callback(data);
        }).catch(err => {
        // Do something for an error here
        console.log(err);
        });
}

function getJsonData(url){
    $.ajax({
    url: url,
    cache: false,
    dataType: 'application/json',
    complete: function(data){
        console.log("complete;" + data)
        },
    success: function(data){
        console.log("success;" + data)
        }
    });
}

self.clear = function () {
    //location.reload(true); Doesn't work to IE neither Firefox;
    //also, hash tags must be removed or no postback will occur.
    //window.location.href = window.location.href.replace(/#.*$/, '');

    $.ajax({
        url: window.location.href,
        headers: {
            "Pragma": "no-cache",
            "Expires": -1,
            "Cache-Control": "no-cache"
        }
    }).done(function () {
        window.location.reload(true);
    });
};

function addParameterToURL(param){
    _url = location.href;
    _url += (_url.split('?')[1] ? '&':'?') + param;
    return _url;
}


