1(()=>{"use strict";var e={156(e){var t=function(e){var t;return!!e&&"object"==typeof e&&"[object RegExp]"!==(t=Object.prototype.toString.call(e))&&"[object Date]"!==t&&e.$$typeof!==n},n="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function i(e,t){return!1!==t.clone&&t.isMergeableObject(e)?s(Array.isArray(e)?[]:{},e,t):e}function o(e,t,n){return e.concat(t).map(function(e){return i(e,n)})}function r(e){return Object.keys(e).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[])}function a(e,t){try{return t in e}catch(e){return!1}}function s(e,n,l){(l=l||{}).arrayMerge=l.arrayMerge||o,l.isMergeableObject=l.isMergeableObject||t,l.cloneUnlessOtherwiseSpecified=i;var c,d,u=Array.isArray(n);return u!==Array.isArray(e)?i(n,l):u?l.arrayMerge(e,n,l):(d={},(c=l).isMergeableObject(e)&&r(e).forEach(function(t){d[t]=i(e[t],c)}),r(n).forEach(function(t){(!a(e,t)||Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))&&(a(e,t)&&c.isMergeableObject(n[t])?d[t]=(function(e,t){if(!t.customMerge)return s;var n=t.customMerge(e);return"function"==typeof n?n:s})(t,c)(e[t],n[t],c):d[t]=i(n[t],c))}),d)}s.all=function(e,t){if(!Array.isArray(e))throw Error("first argument should be an array");return e.reduce(function(e,n){return s(e,n,t)},{})},e.exports=s}},t={};function n(i){var o=t[i];if(void 0!==o)return o.exports;var r=t[i]={exports:{}};return e[i](r,r.exports,n),r.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var i=n(156),o=n.n(i);class r{static ucFirst(e){return e.charAt(0).toUpperCase()+e.slice(1)}static lcFirst(e){return e.charAt(0).toLowerCase()+e.slice(1)}static toDashCase(e){return e.replace(/([A-Z])/g,"-$1").replace(/^-/,"").toLowerCase()}static toLowerCamelCase(e,t){let n=r.toUpperCamelCase(e,t);return r.lcFirst(n)}static toUpperCamelCase(e,t){return t?e.split(t).map(e=>r.ucFirst(e.toLowerCase())).join(""):r.ucFirst(e.toLowerCase())}static parsePrimitive(e){try{return/^\d+(.|,)\d+$/.test(e)&&(e=e.replace(",",".")),JSON.parse(e)}catch(t){return e.toString()}}}class a{constructor(e=document){this._el=e,e.$emitter=this,this._listeners=[]}publish(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=new CustomEvent(e,{detail:t,cancelable:n});return this.el.dispatchEvent(i),i}subscribe(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=this,o=e.split("."),r=n.scope?t.bind(n.scope):t;if(n.once&&!0===n.once){let t=r;r=function(n){i.unsubscribe(e),t(n)}}return this.el.addEventListener(o[0],r),this.listeners.push({splitEventName:o,opts:n,cb:r}),!0}unsubscribe(e){let t=e.split(".");return this.listeners=this.listeners.reduce((e,n)=>([...n.splitEventName].sort().toString()===t.sort().toString()?this.el.removeEventListener(n.splitEventName[0],n.cb):e.push(n),e),[]),!0}reset(){return this.listeners.forEach(e=>{this.el.removeEventListener(e.splitEventName[0],e.cb)}),this.listeners=[],!0}get el(){return this._el}set el(e){this._el=e}get listeners(){return this._listeners}set listeners(e){this._listeners=e}}class s{constructor(e,t={},n=!1){if(!(e instanceof Node)){console.warn(`There is no valid element given while trying to create a plugin instance for "${n}".`);return}this.el=e,this.$emitter=new a(this.el),this._pluginName=this._getPluginName(n),this.options=this._mergeOptions(t),this._initialized=!1,this._registerInstance(),this._init()}init(){console.warn(`The "init" method for the plugin "${this._pluginName}" is not defined. The plugin will not be initialized.`)}update(){}_init(){this._initialized||(this.init(),this._initialized=!0)}_update(){this._initialized&&this.update()}_mergeOptions(e){let t=[this.constructor.options,this.options,e];return t.push(this._getConfigFromDataAttribute()),t.push(this._getOptionsFromDataAttribute()),o().all(t.filter(e=>e instanceof Object&&!(e instanceof Array)).map(e=>e||{}))}_getConfigFromDataAttribute(){let e={};if("function"!=typeof this.el.getAttribute)return e;let t=r.toDashCase(this._pluginName),n=this.el.getAttribute(`data-${t}-config`);return n?window.PluginConfigManager.get(this._pluginName,n):e}_getOptionsFromDataAttribute(){let e={};if("function"!=typeof this.el.getAttribute)return e;let t=r.toDashCase(this._pluginName),n=this.el.getAttribute(`data-${t}-options`);if(n)try{return JSON.parse(n)}catch(e){console.error(`The data attribute "data-${t}-options" could not be parsed to json: ${e.message}`)}return e}_registerInstance(){window.PluginManager.getPluginInstancesFromElement(this.el).set(this._pluginName,this),window.PluginManager.getPlugin(this._pluginName,!1).get("instances").push(this)}_getPluginName(e){return e||(e=this.constructor.name),e}}function l(e){if(!e)return"";let t=document.createElement("div");return t.textContent=e,t.innerHTML}
1function c(e,t,n){let i=new Date;i.setTime(i.getTime()+864e5*n);let o=`expires=${i.toUTCString()}`,r="https:"===location.protocol?";secure":"";document.cookie=`${e}=${t};${o};path=/;SameSite=lax${r}`}function d(e){return document.cookie.split(";").some(t=>t.trim().startsWith(`${e}=`))}function u(e,t){let n=new Date;n.setTime(n.getTime()+864e5*(t||30));let i=`expires=${n.toUTCString()}`;document.cookie=`tcinn_modal_${e}=shown;${i};path=/;SameSite=Lax`}function b(){return d("cookie-preference")}function m(){let e=document.querySelector("[data-cookie-permission]");e&&(e.style.display="none"),document.body.style.paddingBottom=""}let p="tcinn_modal_session";function h(){try{return JSON.parse(sessionStorage.getItem(p))||{displays:{},lastShown:{}}}catch{return{displays:{},lastShown:{}}}}function _(e){let t=h();t.displays[e]=(t.displays[e]||0)+1,t.lastShown[e]=Date.now(),sessionStorage.setItem(p,JSON.stringify(t))}function g(e){let t=e.trigger||{},n=t.maxDisplaysPerSession,i=t.cooldownMinutes,o=h();if(null!==n&&n>0&&(o.displays[e.id]||0)>=n)return!1;if(null!==i&&i>0){let t=o.lastShown[e.id];if(t&&Date.now()-t<6e4*i)return!1}return!0}let f={fadeIn:"tcinn-anim-fade-in",fadeOut:"tcinn-anim-fade-out",slideUp:"tcinn-anim-slide-up",slideDown:"tcinn-anim-slide-down",slideLeft:"tcinn-anim-slide-left",slideRight:"tcinn-anim-slide-right",zoomIn:"tcinn-anim-zoom-in",zoomOut:"tcinn-anim-zoom-out",bounceIn:"tcinn-anim-bounce-in"};function y(e){e.querySelectorAll(".tcinn-consent-entry__checkbox:checked").forEach(e=>{let t=e.dataset.cookie,n=e.dataset.cookieValue||"1",i=parseInt(e.dataset.cookieExpiration,10)||30;t&&c(t,n,i)}),c("cookie-preference","1",30)}let v={none:"",fadeIn:"tcinn-banner-anim-fade-in",fadeOut:"tcinn-banner-anim-fade-out",slideDown:"tcinn-banner-anim-slide-down",slideUp:"tcinn-banner-anim-slide-up"},k=[".cookie-permission-container",".cookie-consent-modal",".cookie-offcanvas","[data-cookie-permission]",".js-cookie-permission-container"];function w(){for(let e of k){let t=document.querySelector(e);if(t){let e=window.getComputedStyle(t);if("none"!==e.display&&"hidden"!==e.visibility&&t.offsetHeight>0&&t.offsetWidth>0)return t.offsetHeight}}return 0}function $(e){switch(e.ageRejectAction||"redirect"){case"redirect":let t=e.ageRejectRedirectUrl||"https://www.google.com";window.location.href=t;break;case"block":!function(){let e=document.createElement("div");e.className="tcinn-age-verification__blocked",e.innerHTML=` 2 <div class="tcinn-age-verification__blocked-content"> 3 <h2>Access Denied</h2> 4 <p>You must be of legal age to access this website.</p> 5 <a href="https://www.google.com" class="tcinn-modal__button">Leave Website</a> 6 </div> 7 `,e.style.cssText=` 8 position: fixed; 9 top: 0; 10 left: 0; 11 right: 0; 12 bottom: 0; 13 background: rgba(0,0,0,0.95); 14 display: flex; 15 align-items: center; 16 justify-content: center; 17 z-index: 999999; 18 color: white; 19 text-align: center; 20 `,document.body.appendChild(e),document.body.style.overflow="hidden"}();break;
20case"back":document.referrer&&document.referrer!==window.location.href?window.history.back():window.location.href="https://www.google.com";break;default:window.location.href="https://www.google.com"}}function x(e,t){let n=new Date;n.setTime(n.getTime()+864e5*t),document.cookie=`tcinn_age_verified_${e}=1;expires=${n.toUTCString()};path=/;SameSite=Lax`}class C extends s{static #e=this.options={endpoint:"/storefront/script/notification-modals"};static #t=this.ANIMATIONS=f;init(){this._queue=[],this._activeModal=null,this._bannerQueues={top:[],bottom:[]},this._activeBanners={top:null,bottom:null},this._escHandler=null,sessionStorage.getItem(p)||sessionStorage.setItem(p,JSON.stringify({displays:{},lastShown:{}})),this.fetchModalData()}fetchModalData(){fetch(this.options.endpoint,{method:"GET",headers:{Accept:"application/json","X-Requested-With":"XMLHttpRequest"}}).then(e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);return e.json()}).then(e=>{e.active&&e.modals&&e.modals.length>0&&this.processModals(e.modals)}).catch(()=>{})}processModals(e){let t={age_verification:0,consent:1},n=[...e].sort((e,n)=>{let i=t[e.type]??2,o=t[n.type]??2;return i!==o?i-o:(n.priority||0)-(e.priority||0)});n.some(e=>!!(!("consent"!==e.type||!this._matchesViewport(e.viewports)||!this._matchesPage(e.trigger)||b())&&g(e)&&this._checkDateRange(e.schedule)))&&m(),n.forEach(e=>{var t,n;if(this._matchesViewport(e.viewports)&&this._matchesPage(e.trigger)){if("consent"===e.type){if(b())return}else if("age_verification"===e.type){if(t=e.id,document.cookie.includes(`tcinn_age_verified_${t}=1`))return}else if(e.showOnce&&(n=e.id,d(`tcinn_modal_${n}`)))return;g(e)&&this._checkDateRange(e.schedule)&&this._setupTrigger(e)}})}_checkDateRange(e){if(!e)return!0;let t=Date.now();return!(e.startAt&&t<new Date(e.startAt).getTime()||e.endAt&&t>new Date(e.endAt).getTime())}_matchesViewport(e){let t;if(!e||0===Object.keys(e).length)return!0;let n=window.innerWidth;return!((t=n<768?"mobile":n<=1024?"tablet":"desktop")in e)||e[t]}_matchesPage(e){if(!e)return!0;let t=window.location.pathname,n=e.pagesInclude||[],i=e.pagesExclude||[];if(i.length>0){for(let e of i)if(this._pathMatches(t,e))return!1}if(n.length>0){for(let e of n)if(this._pathMatches(t,e))return!0;return!1}return!0}_pathMatches(e,t){return t.includes("*")?RegExp("^"+t.replace(/\*/g,".*")+"$").test(e):e===t||e.startsWith(t+"/")}_setupTrigger(e){if("consent"===e.type||"age_verification"===e.type){this._enqueueModal(e);return}let t=e.trigger;switch(t.type){case"pageload":default:this._enqueueModal(e);break;case"delay":setTimeout(()=>{this._enqueueModal(e)},t.delayMs||3e3);break;case"scroll":this._setupScrollTrigger(e,t.scrollPercent||50);break;case"exit_intent":this._setupExitIntentTrigger(e);break;case"click":this._setupClickTrigger(e,t.clickSelector)}}_setupScrollTrigger(e,t){let n=()=>{(window.pageYOffset||document.documentElement.scrollTop)/(document.documentElement.scrollHeight-document.documentElement.clientHeight)*100>=t&&(window.removeEventListener("scroll",n),this._enqueueModal(e))};window.addEventListener("scroll",n,{passive:!0})}_setupExitIntentTrigger(e){let t=!1,n=i=>{!t&&i.clientY<=0&&(t=!0,document.removeEventListener("mouseleave",n),this._enqueueModal(e))};document.addEventListener("mouseleave",n)}_setupClickTrigger(e,t){t&&document.querySelectorAll(t).forEach(t=>{t.addEventListener("click",t=>{t.preventDefault(),this._enqueueModal(e)},{once:!0})})}_enqueueModal(e){if("banner"===e.type){let t=e.styling?.position==="bottom"?"bottom":"top";this._bannerQueues[t].push(e),this._activeBanners[t]||this._showNextBanner(t);return}this._queue.push(e),this._activeModal||this._showNextModal()}_showNextModal(){if(0===this._queue.length){this._activeModal=null;return}let e=this._queue.shift();this._activeModal=e,this._renderModal(e)}_showNextBanner(e){if(0===this._bannerQueues[e].length){this._activeBanners[e]=null;return}let t=this._bannerQueues[e].shift();this._activeBanners[e]=t,this._renderBanner(t)}_renderModal(e){var t;let n;let i=e.styling,o=e.content,r=e.type;if("banner"===r){this._renderBanner(e);return}let a=`tcinn-modal-${e.id}`,s=function(e,t){let n=document.createElement("div");return n.className=`tcinn-modal-backdrop tcinn-modal-position-${t.position||"center"}`,n.setAttribute("data-modal-id",e.id),t.backdropColor&&(n.style.backgroundColor=t.backdropColor),t.backdropBlur&&(n.style.backdropFilter="blur(4px)",n.style.webkitBackdropFilter="blur(4px)"),n.dataset.animationOut=t.animationOut||"fadeOut",n.dataset.animationDuration=t.animationDuration||300,n}(e,i),c=function(e,t,n){let i=`tcinn-modal-${e.id}`,o=e.type,r=document.createElement("div");r.className=`tcinn-modal tcinn-modal-type-${o}`,r.id=i,r.setAttribute("role","dialog"),r.setAttribute("aria-modal","true"),r.setAttribute("aria-labelledby",`${i}-title`),r.setAttribute("tabindex","-1");let a=t.imagePosition||"top";if(r.classList.add(`tcinn-modal--image-${a}
20`),t.imageAsBackground&&n.imageUrl){r.classList.add("tcinn-modal--image-background"),r.style.backgroundImage=`url(${n.imageUrl})`,r.style.backgroundSize=t.imageBackgroundSize||"cover",r.style.backgroundPosition="center",r.style.backgroundRepeat="no-repeat";let e=void 0!==t.imageBackgroundOpacity?t.imageBackgroundOpacity:100;e<100&&r.style.setProperty("--tcinn-bg-opacity",e/100)}t.backgroundColor&&(r.style.backgroundColor=t.backgroundColor),t.textColor&&(r.style.color=t.textColor),void 0!==t.borderRadius&&(r.style.borderRadius=`${t.borderRadius}px`),t.maxWidth&&(r.style.maxWidth=t.maxWidth);let s=t.animationDuration||300;return r.style.setProperty("--tcinn-anim-duration",`${s}ms`),r}(e,i,o),d=(t="age_verification"!==r,n='<div class="tcinn-modal__header">',o.title&&(n+=`<h2 class="tcinn-modal__title" id="${a}-title">${l(o.title)}</h2>`),t&&(n+='<button type="button" class="tcinn-modal__close" aria-label="Close">×</button>'),n+="</div>");"age_verification"===r?d+=function(e,t,n){let i=e.ageVerificationMethod||"button",o=e.ageMinimumAge||18,r='<div class="tcinn-modal__body tcinn-age-verification">';if(t.imageUrl&&!n.imageAsBackground){let e=n.imageWidth||"100%",i="100%"!==e?` style="width:${l(e)};"`:"";r+=`<div class="tcinn-modal__image"${i}><img src="${l(t.imageUrl)}" alt="" loading="lazy"></div>`}switch(t.body&&(r+=`<div class="tcinn-modal__content">${t.body}</div>`),r+='<div class="tcinn-age-verification__form">',i){case"birthdate":r+=` 21 <div class="tcinn-age-verification__birthdate"> 22 <label class="tcinn-age-verification__label"> 23 Please enter your birthdate: 24 </label> 25 <div class="tcinn-age-verification__date-inputs"> 26 <input type="number" class="tcinn-age-verification__input tcinn-age-verification__day" 27 placeholder="DD" min="1" max="31" maxlength="2" inputmode="numeric" required> 28 <span class="tcinn-age-verification__separator">/</span> 29 <input type="number" class="tcinn-age-verification__input tcinn-age-verification__month" 30 placeholder="MM" min="1" max="12" maxlength="2" inputmode="numeric" required> 31 <span class="tcinn-age-verification__separator">/</span> 32 <input type="number" class="tcinn-age-verification__input tcinn-age-verification__year" 33 placeholder="YYYY" min="1900" max="${new Date().getFullYear()}" maxlength="4" inputmode="numeric" required> 34 </div> 35 <p class="tcinn-age-verification__hint">You must be at least ${o} years old.</p> 36 </div> 37 `;break;case"checkbox":r+=function(e,t){let n=(t.ageCheckboxLabel||`I confirm that I am ${e} years or older`).replace("{age}",e);return` 38 <div class="tcinn-age-verification__checkbox"> 39 <label class="tcinn-age-verification__checkbox-label"> 40 <input type="checkbox" class="tcinn-age-verification__checkbox-input" required> 41 <span class="tcinn-age-verification__checkbox-text">${l(n)}</span> 42 </label> 43 </div> 44 `}(o,t)}return r+="</div>",r+="</div>"}(e,o,i):d+=function(e,t,n){let i='<div class="tcinn-modal__body">';if(t.imageUrl&&!n.imageAsBackground){let e=n.imageWidth||"100%",o="100%"!==e?` style="width:${l(e)};"`:"";i+=`<div class="tcinn-modal__image"${o}><img src="${l(t.imageUrl)}" alt="" loading="lazy"></div>`}return t.body&&(i+=`<div class="tcinn-modal__content">${t.body}</div>`),"newsletter"===e.type&&(i+=function(e,t,n){let i=`tcinn-newsletter-form-${e.id}`,o=e.newsletterShowNameFields||!1,r=n.newsletterInputBgColor||"#ffffff",a=n.newsletterInputTextColor||"#1a1a1a",s=`background-color:${r};color:${a};`,c=n.newsletterButtonBgColor||n.buttonColor||"#0870ff",d=n.newsletterButtonTextColor||"#ffffff",u=`background-color:${c};border-color:${c};color:${d};`,b=t.newsletterEmailPlaceholder||"Your email address",m=t.newsletterFirstNamePlaceholder||"First name",p=t.newsletterLastNamePlaceholder||"Last name",h=t.newsletterPrivacyText||"I agree to the privacy policy",_=t.buttonText||"Subscribe",g=`<form id="${i}
44" class="tcinn-newsletter-form" data-modal-id="${e.id}">`;return g+=` 45 <div class="tcinn-newsletter-form__field"> 46 <input type="email" name="email" required 47 class="tcinn-newsletter-form__input" 48 style="${s}" 49 placeholder="${l(b)}"> 50 </div> 51 `,o&&(g+=` 52 <div class="tcinn-newsletter-form__row"> 53 <div class="tcinn-newsletter-form__field"> 54 <input type="text" name="firstName" 55 class="tcinn-newsletter-form__input" 56 style="${s}" 57 placeholder="${l(m)}"> 58 </div> 59 <div class="tcinn-newsletter-form__field"> 60 <input type="text" name="lastName" 61 class="tcinn-newsletter-form__input" 62 style="${s}" 63 placeholder="${l(p)}"> 64 </div> 65 </div> 66 `),g+=` 67 <div class="tcinn-newsletter-form__field tcinn-newsletter-form__field--checkbox"> 68 <label class="tcinn-newsletter-form__checkbox-label"> 69 <input type="checkbox" name="privacy" required class="tcinn-newsletter-form__checkbox"> 70 <span>${l(h)}</span> 71 </label> 72 </div> 73 <input type="hidden" name="option" value="subscribe"> 74 <div class="tcinn-newsletter-form__submit"> 75 <button type="submit" class="tcinn-modal__button" style="${u}"> 76 ${l(_)} 77 </button> 78 </div> 79 <div class="tcinn-newsletter-form__message" style="display:none;"></div></form>`}(e,t,n)),"consent"===e.type&&(i+='<div class="tcinn-consent-cookies" data-loading="true">',i+='<div class="tcinn-consent-cookies__loading">Loading cookie preferences...</div>',i+="</div>"),i+="</div>"}(e,o,i),"consent"===r?d+=function(e,t){let n='<div class="tcinn-modal__footer tcinn-modal__footer--consent">',i=t.buttonColor?`background-color:${t.buttonColor};border-color:${t.buttonColor};`:"";t.buttonTextColor&&(i+=`color:${t.buttonTextColor};`);let o=t.secondaryButtonStyle||"outline",r="",a="tcinn-modal__button--secondary";switch(o){case"outline":r="background-color:transparent;",t.buttonColor?r+=`color:${t.buttonColor};border-color:${t.buttonColor};`:r+="color:inherit;border-color:currentColor;";break;case"ghost":r="background-color:transparent;border-color:transparent;color:inherit;",a+=" tcinn-modal__button--ghost";break;case"filled":t.secondaryButtonBgColor&&"transparent"!==t.secondaryButtonBgColor?r+=`background-color:${t.secondaryButtonBgColor};border-color:${t.secondaryButtonBgColor};`:r+="background-color:#6b7280;border-color:#6b7280;",t.secondaryButtonTextColor&&"inherit"!==t.secondaryButtonTextColor?r+=`color:${t.secondaryButtonTextColor};`:r+="color:#ffffff;";break;default:r="background-color:transparent;color:inherit;border-color:currentColor;"}let s=e.buttonText||"Accept All";n+=`<button type="button" class="tcinn-modal__button tcinn-consent__accept-all" style="${i}">${l(s)}</button>`;let c=e.saveSelectionButtonText||"Save Selection";n+=`<button type="button" class="tcinn-modal__button ${a} tcinn-consent__save" style="${r}">${l(c)}</button>`;let d=e.onlyRequiredButtonText||"Only Required";return n+`<button type="button" class="tcinn-modal__button ${a} tcinn-consent__required-only" style="${r}">${l(d)}</button></div>`}(o,i):"age_verification"===r?d+=function(e,t,n){let i=e.ageVerificationMethod||"button",o=e.ageMinimumAge||18,r='<div class="tcinn-modal__footer tcinn-modal__footer--age-verification">',a=n.buttonColor?`background-color:${n.buttonColor};border-color:${n.buttonColor};`:"";n.buttonTextColor&&(a+=`color:${n.buttonTextColor};`);let s="";n.ageDeclineButtonBgColor&&"transparent"!==n.ageDeclineButtonBgColor?s+=`background-color:${n.ageDeclineButtonBgColor};border-color:${n.ageDeclineButtonBgColor};`:(s+="background-color:transparent;",n.buttonColor?s+=`border-color:${n.buttonColor};`:s+="border-color:currentColor;"),n.ageDeclineButtonTextColor?s+=`color:${n.ageDeclineButtonTextColor};`:n.buttonColor?s+=`color:${n.buttonColor};`:s+="color:inherit;";let c=(t.buttonText||`Yes, I am ${o} or older`).replace("{age}",o),d=(t.ageDeclineButtonText||"No, I am underage").replace("{age}",o);return"birthdate"===i?r+=`<button type="button" class="tcinn-modal__button tcinn-age-verification__verify" style="${a}" disabled>Verify Age</button>`:r+=`<button type="button" class="tcinn-modal__button tcinn-age-verification__confirm" style="${a}"${"checkbox"===i?" disabled":""}>${l(c)}</button>`,r+=`<button type="button" class="tcinn-modal__button tcinn-modal__button--secondary tcinn-age-verification__decline" style="${s}">${l(d)}</button></div>`}(e,o,i):o.buttonText&&"newsletter"!==r&&(d+=function(e,t){if(!e.buttonText)return"";let n='<div class="tcinn-modal__footer">',i=t.buttonColor?`background-color:${t.buttonColor};border-color:${t.buttonColor};`:"";if(t.buttonTextColor&&(i+=`color:${t.buttonTextColor};`),e.buttonLink){let t=e.buttonLinkType||"internal",o=e.buttonLink,r="_self";if("external"===t)r="_blank",o&&!o.match(/^https?:\/\//i)&&(o="https://"+o);else if(o&&!o.match(/^https?:\/\//i)){let e=window.location.origin;o.startsWith("/")||(o="/"+o),o=e+o}n+=`<a href="${l(o)}" class="tcinn-modal__button" style="${i}" target="${r}"${"external"===t?' rel="noopener noreferrer"':""}>${l(e.buttonText)}</a>`}else n+=`<button type="button" class="tcinn-modal__button tcinn-modal__button--confirm" style="${i}">${l(e.buttonText)}</button>`;return n+"</div>"}(o,i)),c.innerHTML=d,s.appendChild(c),document.body.appendChild(s),this._bindModalEvents(s,c,e),function(e,t,n){let i=n.animationDuration||300;requestAnimationFrame(()=>{e.classList.add("tcinn-modal-backdrop--visible");let o=f[n.animationIn]||f.fadeIn;t.classList.add("tcinn-modal--visible",o),setTimeout(()=>{t.classList.remove(o)},i)}),t.focus()}(s,c,i),_(e.id)}_renderBanner(e){let t=e.styling,n=e.content;this._showBannerNow(e,t,n)}_showBannerNow(e,t,n){let i=function(e,t,n){let i=`tcinn-banner-${e.id}`,o="bottom"===t.position?"bottom":"top",r=document.createElement("div");r.className="tcinn-banner",r.id=i,r.setAttribute("data-modal-id",e.id),r.setAttribute("data-position",o),r.setAttribute("role","banner"),r.setAttribute("aria-live","polite"),r.classList.add(`tcinn-banner--${o}`),!1!==t.bannerSticky&&r.classList.add("tcinn-banner--sticky"),!1!==t.bannerCompact&&r.classList.add("tcinn-banner--compact"),!1!==t.bannerPushContent&&r.classList.add("tcinn-banner--push-content"),t.backgroundColor&&(r.style.backgroundColor=t.backgroundColor),t.textColor&&(r.style.color=t.textColor),r.dataset.animationIn=t.animationIn||"slideDown",r.dataset.animationOut=t.animationOut||"slideUp",r.dataset.animationDuration=t.animationDuration||300,r.dataset.autoHide=t.bannerAutoHide||!1,r.dataset.autoHideDelay=t.bannerAutoHideDelay||10;let a=t.animationDuration||300;return r.style.setProperty("--tcinn-banner-anim-duration",`${a}ms`),r}(e,t,0),o=function(e,t,n){let i='<div class="tcinn-banner__container">';if(i+='<div class="tcinn-banner__content">',t.imageUrl&&(i+=`<img src="${l(t.imageUrl)}" alt="" class="tcinn-banner__icon" loading="lazy">`),t.title&&(i+=`<span class="tcinn-banner__title">${l(t.title)}</span>`),t.body&&(i+=`<span class="tcinn-banner__text">${t.body}</span>`),i+='</div><div class="tcinn-banner__actions">',t.buttonText){let e=n.buttonColor?`background-color:${n.buttonColor};border-color:${n.buttonColor};`:"";if(n.buttonTextColor&&(e+=`color:${n.buttonTextColor};`),t.buttonLink){let n=t.buttonLinkType||"internal",o=t.buttonLink,r="_self";if("external"===n)r="_blank",o&&!o.match(/^https?:\/\//i)&&(o="https://"+o);else if(o&&!o.match(/^https?:\/\//i)){let e=window.location.origin;o.startsWith("/")||(o="/"+o),o=e+o}i+=`<a href="${l(o)}" class="tcinn-banner__button" style="${e}" target="${r}"${"external"===n?' rel="noopener noreferrer"':""}>${l(t.buttonText)}</a>`}else i+=`<button type="button" class="tcinn-banner__button tcinn-banner__button--confirm" style="${e}">${l(t.buttonText)}</button>`}return i+'<button type="button" class="tcinn-banner__close" aria-label="Close">×</button></div></div>'}(0,n,t);i.innerHTML=o,this._bindBannerEvents(i,e),function(e){let t=e.dataset.animationIn||"slideDown",n=parseInt(e.dataset.animationDuration,10)||300,i=e.dataset.position||"top";if(document.body.appendChild(e),"bottom"===i){let t=w();t>0&&(e.style.bottom=`${t}px`,e.classList.add("tcinn-banner--above-consent")),e.classList.contains("tcinn-banner--push-content")&&requestAnimationFrame(()=>{let n=e.offsetHeight+t;document.body.style.paddingBottom=`${n}px`}),function(e){if("bottom"!==(e.dataset.position||"top"))return;let t=-1,n=()=>{let n=w();if(n!==t){if(t=n,n>0){if(e.style.bottom=`${n}px`,e.classList.add("tcinn-banner--above-consent"),e.classList.contains("tcinn-banner--push-content")){let t=e.offsetHeight+n;document.body.style.paddingBottom=`${t}px`}}else e.style.bottom="",e.classList.remove("tcinn-banner--above-consent"),e.classList.contains("tcinn-banner--push-content")&&(document.body.style.paddingBottom=`${e.offsetHeight}px`)}};n(),e._consentInterval=setInterval(n,500)}(e)}else e.classList.contains("tcinn-banner--push-content")&&requestAnimationFrame(()=>{!function(e,t){let n=document.body;"top"===e?n.style.paddingTop=`${t}px`:n.style.paddingBottom=`${t}px`}(i,e.offsetHeight)});requestAnimationFrame(()=>{e.classList.add("tcinn-banner--visible");let i=v[t]||v.slideDown;
79i&&(e.classList.add(i),setTimeout(()=>{e.classList.remove(i)},n))})}(i),function(e,t){let n="true"===e.dataset.autoHide,i=parseInt(e.dataset.autoHideDelay,10)||10;n&&setTimeout(()=>{t()},1e3*i)}(i,()=>{this._closeBanner(i,e)}),_(e.id)}_bindBannerEvents(e,t){let n=e.querySelector(".tcinn-banner__close");n&&n.addEventListener("click",()=>{this._closeBanner(e,t)});let i=e.querySelector(".tcinn-banner__button--confirm");i&&i.addEventListener("click",()=>{this._closeBanner(e,t)})}_closeBanner(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{skipCookie:i=!1}=n;t.showOnce&&!i&&u(t.id,t.cookieDays);let o=t.styling?.position==="bottom"?"bottom":"top";!function(e,t){let n=e.dataset.animationOut||"slideUp",i=parseInt(e.dataset.animationDuration,10)||300,o=e.dataset.position||"top";e._consentInterval&&(clearInterval(e._consentInterval),delete e._consentInterval),e.classList.remove("tcinn-banner--visible");let r=v[n]||v.slideUp;r&&e.classList.add(r),e.classList.contains("tcinn-banner--push-content")&&function(e){let t=document.body;"top"===e?t.style.paddingTop="":t.style.paddingBottom=""}(o),setTimeout(()=>{e.parentNode&&e.parentNode.removeChild(e),t&&t()},i)}(e,()=>{this._showNextBanner(o)})}_bindModalEvents(e,t,n){let i="consent"===n.type,o="age_verification"===n.type;o&&n.styling?.ageContentBlur&&n.styling.ageContentBlur&&document.body.classList.add("tcinn-age-content-blurred");let r=t.querySelector(".tcinn-modal__close");r&&!o&&r.addEventListener("click",()=>{this._closeModal(e,n)});let a=t.querySelector(".tcinn-modal__button--confirm");if(a&&a.addEventListener("click",()=>{this._closeModal(e,n)}),"newsletter"===n.type){let e=t.querySelector(".tcinn-newsletter-form");e&&e.addEventListener("submit",t=>{t.preventDefault(),function(e,t,n){let i=new FormData(e),o=e.querySelector(".tcinn-newsletter-form__message"),r=e.querySelector('button[type="submit"]'),a=r.textContent;r.disabled=!0,r.textContent="...",fetch("/form/newsletter",{method:"POST",body:i,headers:{"X-Requested-With":"XMLHttpRequest"}}).then(e=>e.text()).then(i=>{try{let s=JSON.parse(i);if(s&&s.length>0){let i=!1,l="";for(let e of s){if("success"===e.type){i=!0;let t=n.newsletterSuccessMessage||e.alert;l=`<div class="tcinn-newsletter-form__alert tcinn-newsletter-form__alert--success">${t}</div>`;break}("danger"===e.type||"error"===e.type)&&(l+=e.alert)}i?(e.querySelectorAll(".tcinn-newsletter-form__field, .tcinn-newsletter-form__row, .tcinn-newsletter-form__submit").forEach(e=>e.style.display="none"),o.innerHTML=l,o.style.display="block",u(t.id,t.cookieDays)):(o.innerHTML=`<div class="tcinn-newsletter-form__alert tcinn-newsletter-form__alert--error">${l}</div>`,o.style.display="block",r.disabled=!1,r.textContent=a)}}catch(e){o.innerHTML='<div class="tcinn-newsletter-form__alert tcinn-newsletter-form__alert--error">An error occurred. Please try again.</div>',o.style.display="block",r.disabled=!1,r.textContent=a}}).catch(e=>{console.error("[TcinnNotificationModal] Newsletter submit error:",e),o.innerHTML='<div class="tcinn-newsletter-form__alert tcinn-newsletter-form__alert--error">An error occurred. Please try again.</div>',o.style.display="block",r.disabled=!1,r.textContent=a})}(e,n,n.content)})}if(o&&function(e,t,n,i){let o=n.ageVerificationMethod||"button";n.ageMinimumAge;let r=e.querySelector(".tcinn-age-verification__confirm, .tcinn-age-verification__verify");r&&r.addEventListener("click",()=>{!function(e,t,n,i,o){let r=n.ageVerificationMethod||"button",a=n.ageMinimumAge||18;if("birthdate"===r){let r=e.querySelector(".tcinn-age-verification__day"),s=e.querySelector(".tcinn-age-verification__month"),l=e.querySelector(".tcinn-age-verification__year"),c=parseInt(r.value,10),d=parseInt(s.value,10),u=parseInt(l.value,10);if(!c||!d||!u)return;(function(e,t,n){let i=new Date,o=new Date(n,t-1,e),r=i.getFullYear()-o.getFullYear(),a=i.getMonth()-o.getMonth();return(a<0||0===a&&i.getDate()<o.getDate())&&r--,r})(c,d,u)>=a?(x(n.id,n.cookieDays||365),i(t,n)):o(n)}else x(n.id,n.cookieDays||365),i(t,n)}(e,t,n,i,$)});let a=e.querySelector(".tcinn-age-verification__decline");if(a&&a.addEventListener("click",()=>{$(n)}),"checkbox"===o){let t=e.querySelector(".tcinn-age-verification__checkbox-input");t&&r&&t.addEventListener("change",()=>{r.disabled=!t.checked})}if("birthdate"===o){let t=e.querySelector(".tcinn-age-verification__day"),n=e.querySelector(".tcinn-age-verification__month"),i=e.querySelector(".tcinn-age-verification__year"),o=e.querySelector(".tcinn-age-verification__verify"),r=()=>{let e=parseInt(t.value,10),r=parseInt(n.value,10),a=parseInt(i.value,10),s=e>=1&&e<=31&&r>=1&&r<=12&&a>=1900&&a<=new Date().getFullYear();o.disabled=!s};
79[t,n,i].forEach(e=>{e&&e.addEventListener("input",r)})}}(t,e,n,this._closeModal.bind(this)),"consent"===n.type){!function(e,t,n){let i=e.querySelector(".tcinn-consent-cookies");i&&fetch("/cookie/offcanvas",{headers:{"X-Requested-With":"XMLHttpRequest"}}).then(e=>e.text()).then(e=>{let t=new DOMParser().parseFromString(e,"text/html").querySelectorAll(".offcanvas-cookie-group");if(0===t.length){i.innerHTML="<p>No cookie settings available.</p>",i.removeAttribute("data-loading");return}let n='<div class="tcinn-consent-groups">';t.forEach(e=>{let t=e.querySelector(".offcanvas-cookie-parent-input"),i=e.querySelector(".custom-control-label"),o=e.querySelectorAll(".offcanvas-cookie-entry");if(!t||!i)return;let r=t.id,a=i.textContent.trim(),s=t.hasAttribute("data-cookie-required"),c=t.checked;n+=` 80 <div class="tcinn-consent-group" data-group-id="${r}"> 81 <div class="tcinn-consent-group__header"> 82 <label class="tcinn-consent-group__label"> 83 <input type="checkbox" 84 class="tcinn-consent-group__checkbox" 85 ${c?"checked":""} 86 ${s?'disabled data-required="true"':""} 87 data-group-id="${r}"> 88 <span class="tcinn-consent-group__name">${l(a)}</span> 89 ${s?'<span class="tcinn-consent-group__required">(Required)</span>':""} 90 </label> 91 ${o.length>0?'<button type="button" class="tcinn-consent-group__toggle" aria-expanded="false">â¼</button>':""} 92 </div> 93 `,o.length>0&&(n+='<div class="tcinn-consent-group__entries" style="display:none;">',o.forEach(e=>{let t=e.querySelector("input"),i=e.querySelector("label");if(!t||!i)return;let o=t.dataset.cookie||"",r=t.dataset.cookieValue||"1",a=t.dataset.cookieExpiration||"30",s=t.hasAttribute("data-cookie-required"),c=t.checked;n+=` 94 <label class="tcinn-consent-entry"> 95 <input type="checkbox" 96 class="tcinn-consent-entry__checkbox" 97 data-cookie="${o}" 98 data-cookie-value="${r}" 99 data-cookie-expiration="${a}" 100 ${c?"checked":""} 101 ${s?'disabled data-required="true"':""}> 102 <span>${l(i.textContent.trim())}</span> 103 </label> 104 `}),n+="</div>"),n+="</div>"}),n+="</div>",i.innerHTML=n,i.removeAttribute("data-loading"),i.querySelectorAll(".tcinn-consent-group__toggle").forEach(e=>{e.addEventListener("click",()=>{let t=e.closest(".tcinn-consent-group").querySelector(".tcinn-consent-group__entries");if(t){let n="none"!==t.style.display;t.style.display=n?"none":"block",e.textContent=n?"â¼":"â²",e.setAttribute("aria-expanded",!n)}})}),i.querySelectorAll(".tcinn-consent-group__checkbox").forEach(e=>{e.addEventListener("change",()=>{e.closest(".tcinn-consent-group").querySelectorAll(".tcinn-consent-entry__checkbox:not([data-required])").forEach(t=>{t.checked=e.checked})})})}).catch(e=>{console.error("[TcinnNotificationModal] Failed to load cookie settings:",e),i.innerHTML="<p>Failed to load cookie settings.</p>",i.removeAttribute("data-loading")})}(t,0,0);let i=this._closeModal.bind(this),o=t.querySelector(".tcinn-consent__accept-all");o&&o.addEventListener("click",()=>{t.querySelectorAll(".tcinn-consent-group__checkbox, .tcinn-consent-entry__checkbox").forEach(e=>{e.checked=!0}),y(t),i(e,n),m()});let r=t.querySelector(".tcinn-consent__save");r&&r.addEventListener("click",()=>{y(t),i(e,n),m()});let a=t.querySelector(".tcinn-consent__required-only");a&&a.addEventListener("click",()=>{t.querySelectorAll(".tcinn-consent-group__checkbox:not([data-required]), .tcinn-consent-entry__checkbox:not([data-required])").forEach(e=>{e.checked=!1}
104),t.querySelectorAll("[data-required]").forEach(e=>{e.checked=!0}),y(t),i(e,n),m()})}i||o||e.addEventListener("click",t=>{t.target===e&&this._closeModal(e,n)}),o||(this._escHandler=t=>{"Escape"===t.key&&this._closeModal(e,n)},document.addEventListener("keydown",this._escHandler)),function(e){let t=e.querySelectorAll('a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])');if(0===t.length)return;let n=t[0],i=t[t.length-1];e.addEventListener("keydown",e=>{"Tab"===e.key&&(e.shiftKey?document.activeElement===n&&(e.preventDefault(),i.focus()):document.activeElement===i&&(e.preventDefault(),n.focus()))})}(t)}_closeModal(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{skipCookie:i=!1}=n;t.showOnce&&!i&&"consent"!==t.type&&u(t.id,t.cookieDays),"age_verification"===t.type&&document.body.classList.remove("tcinn-age-content-blurred"),this._escHandler&&(document.removeEventListener("keydown",this._escHandler),this._escHandler=null),function(e,t){let n=e.querySelector(".tcinn-modal"),i=e.dataset.animationOut||"fadeOut",o=parseInt(e.dataset.animationDuration,10)||300;if(e.classList.remove("tcinn-modal-backdrop--visible"),n){n.classList.remove("tcinn-modal--visible");let e=f[i]||f.fadeOut;n.classList.add(e)}setTimeout(()=>{e.parentNode&&e.parentNode.removeChild(e),t&&t()},o)}(e,()=>{this._showNextModal()})}}window.PluginManager.register("TcinnNotificationModal",C,"[data-tcinn-notification-modal]")})();
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.