1(function(){'use strict';function initMobileMenu(){const menuToggle=document.querySelector('.site-header__menu-toggle');const mobileMenu=document.getElementById('site-mobile-menu');if(!menuToggle||!mobileMenu){return} 2const closeTriggers=mobileMenu.querySelectorAll('[data-menu-close]');const views=Array.prototype.slice.call(mobileMenu.querySelectorAll('[data-mobile-view]'));const rootView=mobileMenu.querySelector('[data-mobile-view="root"]');const list=mobileMenu.querySelector('.site-mobile-menu__list');const headerLogo=mobileMenu.querySelector('[data-mobile-header-logo]');const headerBack=mobileMenu.querySelector('[data-mobile-header-back]');const reduceMotion=window.matchMedia('(prefers-reduced-motion: reduce)').matches;const openDelayMs=60;const revealMs=850;const closeMs=400;let lastFocused=null;let closeTimer=null;let openTimer=null;function getView(name){return mobileMenu.querySelector('[data-mobile-view="'+name+'"]')} 3function setHeaderMode(isPanel){if(headerLogo){headerLogo.classList.toggle('hidden',isPanel)} 4if(headerBack){headerBack.classList.toggle('hidden',!isPanel);headerBack.classList.toggle('inline-flex',isPanel)}} 5function setView(name){views.forEach(function(view){const isActive=view.getAttribute('data-mobile-view')===name;view.classList.toggle('is-active',isActive);if(isActive){view.removeAttribute('hidden')}else{view.setAttribute('hidden','')}});setHeaderMode(name!=='root');if(list){mobileMenu.querySelectorAll('[data-mobile-panel]').forEach(function(trigger){trigger.setAttribute('aria-expanded',trigger.getAttribute('data-mobile-panel')===name?'true':'false')})}} 6function clearAnimTimers(){if(closeTimer){window.clearTimeout(closeTimer);closeTimer=null} 7if(openTimer){window.clearTimeout(openTimer);openTimer=null}} 8function setOpen(isOpen){clearAnimTimers();if(isOpen){setView('root');lastFocused=document.activeElement;menuToggle.setAttribute('aria-expanded','true');document.documentElement.classList.add('site-mobile-menu-open');mobileMenu.setAttribute('aria-hidden','false');mobileMenu.classList.add('is-visible');const startReveal=function(){mobileMenu.classList.add('is-open');openTimer=window.setTimeout(function(){openTimer=null;const focusTarget=mobileMenu.querySelector('[data-menu-close]');if(focusTarget){focusTarget.focus()}},Math.min(220,revealMs))};if(reduceMotion){mobileMenu.classList.add('is-open');const focusTarget=mobileMenu.querySelector('[data-menu-close]');if(focusTarget){focusTarget.focus()} 9return} 10window.requestAnimationFrame(function(){window.requestAnimationFrame(function(){openTimer=window.setTimeout(startReveal,openDelayMs)})});return} 11mobileMenu.classList.remove('is-open');menuToggle.setAttribute('aria-expanded','false');document.documentElement.classList.remove('site-mobile-menu-open');const finishClose=function(){mobileMenu.classList.remove('is-visible');mobileMenu.setAttribute('aria-hidden','true');setView('root');if(lastFocused&&typeof lastFocused.focus==='function'){lastFocused.focus()}};if(reduceMotion){finishClose();return} 12closeTimer=window.setTimeout(finishClose,closeMs)} 13function openMenu(){setOpen(!0)} 14function closeMenu(){setOpen(!1)} 15menuToggle.addEventListener('click',function(){if(mobileMenu.classList.contains('is-open')){closeMenu();return} 16openMenu()});closeTriggers.forEach(function(trigger){trigger.addEventListener('click',closeMenu)});document.addEventListener('keydown',function(event){if('Escape'===event.key&&mobileMenu.classList.contains('is-open')){const active=mobileMenu.querySelector('.site-mobile-menu__view.is-active');const activeName=active?active.getAttribute('data-mobile-view'):'root';if(activeName&&'root'!==activeName){setView('root');return} 17closeMenu()}});mobileMenu.querySelectorAll('[data-mobile-back]').forEach(function(back){back.addEventListener('click',function(){setView('root')})});mobileMenu.querySelectorAll('[data-mobile-panel]').forEach(function(trigger){if(list&&list.contains(trigger)){return} 18trigger.addEventListener('click',function(event){event.preventDefault();const panelName=trigger.getAttribute('data-mobile-panel');if(panelName&&getView(panelName)){setView(panelName)}})});setHeaderMode(!1);if(list){list.querySelectorAll('.menu-item-has-children > a, .menu-item-has-children > button').forEach(function(link){if(!link.hasAttribute('data-mobile-panel')){link.setAttribute('aria-expanded','false')}});list.addEventListener('click',function(event){const panelTrigger=event.target.closest('[data-mobile-panel]');if(panelTrigger&&list.contains(panelTrigger)){event.preventDefault();event.stopPropagation();const panelName=panelTrigger.getAttribute('data-mobile-panel');if(panelName&&getView(panelName)){setView(panelName)} 19return} 20const megaItem=event.target.closest('.has-mega-menu');if(megaItem&&list.contains(megaItem)){event.preventDefault();event.stopPropagation();const megaClass=Array.prototype.find.call(megaItem.classList,function(cls){return 0===cls.indexOf('has-mega-menu--')});const panelName=megaClass?megaClass.replace('has-mega-menu--',''):'';if(panelName&&getView(panelName)){setView(panelName)} 21return} 22const caret=event.target.closest('.site-header-nav__caret');if(!caret||!list.contains(caret)){return} 23const item=caret.closest('.menu-item-has-children');if(!item||item.classList.contains('has-mega-menu')){return} 24event.preventDefault();event.stopPropagation();const isExpanded=item.classList.toggle('is-expanded');const link=item.querySelector(':scope > a, :scope > button');if(link){link.setAttribute('aria-expanded',isExpanded?'true':'false')}})} 25if(!rootView){return}} 26function initInlineVideos(){const players=document.querySelectorAll('[data-panaya-inline-video]');const links=document.querySelectorAll('[data-panaya-inline-video-link]');if(!players.length&&!links.length){return} 27function getYouTubeId(url){if(url.hostname==='youtu.be'){return url.pathname.replace(/^\/+/,'').split('/')[0]||''} 28if(url.hostname.indexOf('youtube.com')!==-1){if(url.pathname.indexOf('/embed/')===0){return url.pathname.split('/embed/')[1].split('/')[0]||''} 29return url.searchParams.get('v')||''} 30return''} 31function getVimeoId(url){const match=url.hostname.indexOf('vimeo.com')!==-1?url.pathname.match(/\/(?:video\/)?([0-9]+)/):null;return match?match[1]:''} 32function buildEmbedUrl(rawUrl){let url;
32try{url=new URL(rawUrl,window.location.href)}catch(error){return''} 33const host=url.hostname.replace(/^www\./,'');const youtubeId=getYouTubeId(url);const vimeoId=getVimeoId(url);if(youtubeId){return'https://www.youtube.com/embed/'+encodeURIComponent(youtubeId)+'?autoplay=1&rel=0'} 34if(vimeoId){return'https://player.vimeo.com/video/'+encodeURIComponent(vimeoId)+'?autoplay=1'} 35if(/\.(mp4|webm|ogg)(\?.*)?$/i.test(url.pathname+url.search)){return url.href} 36if(host.indexOf('youtube.com')!==-1||host.indexOf('youtu.be')!==-1||host.indexOf('vimeo.com')!==-1){return url.href} 37return url.href} 38function playInline(player){const rawUrl=player.getAttribute('data-video-url')||'';const embedUrl=buildEmbedUrl(rawUrl);const trigger=player.querySelector('[data-panaya-inline-video-trigger]');if(!embedUrl){return} 39if(player.querySelector('.panaya-inline-video__player')){return} 40const isFile=/\.(mp4|webm|ogg)(\?.*)?$/i.test(embedUrl);const media=document.createElement(isFile?'video':'iframe');media.className='panaya-inline-video__player absolute inset-0 z-[2] block h-full w-full bg-black object-cover';if(isFile){media.setAttribute('controls','');media.setAttribute('playsinline','');media.setAttribute('autoplay','');media.addEventListener('playing',function(){if(trigger){trigger.classList.add('hidden')}});media.src=embedUrl}else{media.src=embedUrl;media.setAttribute('title',player.getAttribute('aria-label')||'Video');media.setAttribute('allow','autoplay; fullscreen; picture-in-picture');media.setAttribute('allowfullscreen','');media.setAttribute('loading','eager');media.addEventListener('load',function(){if(trigger){trigger.classList.add('hidden')}})} 41player.appendChild(media);if(isFile&&typeof media.play==='function'){const playPromise=media.play();if(playPromise&&typeof playPromise.catch==='function'){playPromise.catch(function(){})}}} 42players.forEach(function(player){const trigger=player.querySelector('[data-panaya-inline-video-trigger]');if(!trigger){return} 43trigger.addEventListener('click',function(){playInline(player)})});links.forEach(function(link){link.addEventListener('click',function(event){const rawUrl=link.getAttribute('href')||'';const embedUrl=buildEmbedUrl(rawUrl);const next=link.nextElementSibling;if(!embedUrl||(next&&next.classList.contains('panaya-inline-video__mobile-player'))){return} 44event.preventDefault();const isFile=/\.(mp4|webm|ogg)(\?.*)?$/i.test(embedUrl);const wrap=document.createElement('div');const media=document.createElement(isFile?'video':'iframe');wrap.className='panaya-inline-video__mobile-player relative aspect-video w-full overflow-hidden rounded-20 bg-black';media.className='absolute inset-0 block h-full w-full object-cover';if(isFile){media.setAttribute('controls','');media.setAttribute('playsinline','');media.setAttribute('autoplay','');media.src=embedUrl}else{media.src=embedUrl;media.setAttribute('title',link.getAttribute('aria-label')||link.textContent.trim()||'Video');media.setAttribute('allow','autoplay; fullscreen; picture-in-picture');media.setAttribute('allowfullscreen','');media.setAttribute('loading','eager')} 45wrap.appendChild(media);link.insertAdjacentElement('afterend',wrap);if(isFile&&typeof media.play==='function'){const playPromise=media.play();if(playPromise&&typeof playPromise.catch==='function'){playPromise.catch(function(){})}}})})} 46function initMobileMenuSubmenus(){} 47function initPeopleSaySection(section){const tags=section.querySelectorAll('.home-people-say__tag');const stories=section.querySelectorAll('.home-people-say__story');const staggerMs=70;const prefersReducedMotion=window.matchMedia('(prefers-reduced-motion: reduce)').matches;if(!stories.length){return} 48function resetStoryReveal(story){story.querySelectorAll('.home-people-say__reveal').forEach(function(el){el.classList.remove('is-revealed');el.style.removeProperty('--reveal-delay')})} 49function revealStory(story){const items=story.querySelectorAll('.home-people-say__reveal');items.forEach(function(el,index){el.classList.remove('is-revealed');el.style.removeProperty('--reveal-delay');if(prefersReducedMotion){el.classList.add('is-revealed');return} 50el.style.setProperty('--reveal-delay',index*staggerMs+'ms');void el.offsetWidth;el.classList.add('is-revealed')})} 51function activate(index){const indexStr=String(index);
51tags.forEach(function(tag){const isActive=tag.dataset.personaIndex===indexStr;tag.classList.toggle('is-active',isActive);tag.classList.toggle('text-white',isActive);tag.classList.toggle('text-charcoal',!isActive);tag.setAttribute('aria-selected',isActive?'true':'false')});let activeStory=null;stories.forEach(function(story){const isActive=story.dataset.storyIndex===indexStr;if(isActive){resetStoryReveal(story);activeStory=story} 52story.classList.toggle('hidden',!isActive);story.classList.toggle('is-active',isActive)});if(activeStory){window.requestAnimationFrame(function(){window.requestAnimationFrame(function(){revealStory(activeStory)})})}} 53if(tags.length){tags.forEach(function(tag){tag.addEventListener('click',function(){activate(tag.dataset.personaIndex)})})} 54section.classList.add('home-people-say--ready');const initialStory=section.querySelector('.home-people-say__story.is-active');if(initialStory){resetStoryReveal(initialStory);window.requestAnimationFrame(function(){window.requestAnimationFrame(function(){revealStory(initialStory)})})}} 55function initPeopleSay(){document.querySelectorAll('.home-people-say').forEach(initPeopleSaySection)} 56function findEmailField(form){const fields=form.querySelectorAll('input[type="email"], input[name]');return Array.prototype.find.call(fields,function(field){const name=(field.getAttribute('name')||'').toLowerCase();return field.type==='email'||name.indexOf('email')!==-1})} 57function initCtaEmailRedirect(){document.querySelectorAll('[data-cta-email-redirect], .panaya-cf7-form--hero, .panaya-cf7-form--solution-hero').forEach(function(wrapper){const form=wrapper.matches('form')?wrapper:wrapper.querySelector('form');const config=wrapper.closest('[data-book-demo-url]')||wrapper.querySelector('[data-book-demo-url]')||wrapper;const bookDemoUrl=config.getAttribute('data-book-demo-url')||window.location.origin+'/start-demo/';if(!form||form.classList.contains('js-multi-step-form')||!bookDemoUrl||form.dataset.ctaEmailRedirectInit==='true'){return} 58form.dataset.ctaEmailRedirectInit='true';form.addEventListener('submit',function(event){const emailField=findEmailField(form);if(!emailField||!emailField.checkValidity()){return} 59const email=emailField.value.trim();if(!email){return} 60event.preventDefault();event.stopImmediatePropagation();const target=new URL(bookDemoUrl,window.location.origin);target.searchParams.set('book_demo_email',email);target.searchParams.set('book_demo_step','2');try{window.sessionStorage.setItem('panayaBookDemoEmail',email)}catch(error){} 61window.location.assign(target.toString())},!0)})} 62function closeHeaderLangSwitcher(){const root=document.querySelector('.site-header-lang');if(!root){return} 63const toggle=root.querySelector('[data-lang-toggle]');const menu=root.querySelector('.site-header-lang__menu');root.classList.remove('is-open');if(toggle){toggle.setAttribute('aria-expanded','false')} 64if(menu){menu.setAttribute('aria-hidden','true')} 65if(document.activeElement&&root.contains(document.activeElement)){document.activeElement.blur()}} 66function closeHeaderMegaMenus(){const items=document.querySelectorAll('.site-header-nav .has-mega-menu');items.forEach(function(item){item.classList.remove('is-mega-open');const trigger=item.querySelector(':scope > a, :scope > button');const panel=item.querySelector(':scope > .site-mega-menu');if(trigger){trigger.setAttribute('aria-expanded','false')} 67if(panel){panel.setAttribute('aria-hidden','true')} 68if(document.activeElement&&item.contains(document.activeElement)){document.activeElement.blur()}})} 69function initMegaMenu(){const nav=document.querySelector('.site-header-nav');if(!nav){return} 70const items=Array.prototype.slice.call(nav.querySelectorAll('.has-mega-menu'));const topItems=Array.prototype.slice.call(nav.querySelectorAll('.site-header-nav__list > li'));const closeDelayMs=220;topItems.forEach(function(li){li.addEventListener('mouseenter',closeHeaderLangSwitcher)});items.forEach(function(item){const trigger=item.querySelector(':scope > a, :scope > button');const panel=item.querySelector(':scope > .site-mega-menu');if(!trigger||!panel){return} 71let closeTimer=null;trigger.setAttribute('aria-haspopup','true');trigger.setAttribute('aria-expanded','false');function clearCloseTimer(){if(closeTimer){window.clearTimeout(closeTimer);closeTimer=null}} 72function setOpen(isOpen){item.classList.toggle('is-mega-open',isOpen);trigger.setAttribute('aria-expanded',isOpen?'true':'false');
72panel.setAttribute('aria-hidden',isOpen?'false':'true')} 73function openMenu(){clearCloseTimer();closeHeaderLangSwitcher();items.forEach(function(other){if(other!==item){other.classList.remove('is-mega-open');const otherTrigger=other.querySelector(':scope > a, :scope > button');const otherPanel=other.querySelector(':scope > .site-mega-menu');if(otherTrigger){otherTrigger.setAttribute('aria-expanded','false')} 74if(otherPanel){otherPanel.setAttribute('aria-hidden','true')} 75if(document.activeElement&&other.contains(document.activeElement)){document.activeElement.blur()}}});setOpen(!0)} 76function scheduleClose(){clearCloseTimer();closeTimer=window.setTimeout(function(){setOpen(!1);closeTimer=null},closeDelayMs)} 77item.addEventListener('mouseenter',openMenu);item.addEventListener('mouseleave',scheduleClose);panel.addEventListener('mouseenter',openMenu);panel.addEventListener('mouseleave',scheduleClose);item.addEventListener('focusin',openMenu);item.addEventListener('focusout',function(event){if(!item.contains(event.relatedTarget)){scheduleClose()}})})} 78function initStickyLauncherReset(){const selector='.launcher-container--sticky';function resetLauncher(node){if(!node||node.nodeType!==1){return} 79const launchers=node.matches(selector)?[node]:Array.prototype.slice.call(node.querySelectorAll(selector));launchers.forEach(function(launcher){launcher.style.setProperty('height','0','important');launcher.style.setProperty('block-size','0','important');launcher.style.setProperty('min-height','0','important');launcher.style.setProperty('min-block-size','0','important');launcher.style.setProperty('max-height','0','important');launcher.style.setProperty('max-block-size','0','important');launcher.style.setProperty('padding','0','important');launcher.style.setProperty('padding-block','0','important')})} 80resetLauncher(document.documentElement);if(!('MutationObserver' in window)){return} 81const observer=new MutationObserver(function(mutations){mutations.forEach(function(mutation){Array.prototype.forEach.call(mutation.addedNodes,resetLauncher)})});observer.observe(document.documentElement,{childList:!0,subtree:!0,})} 82function initLangSwitcher(){const root=document.querySelector('.site-header-lang');const headerContainer=document.querySelector('.site-header .container');if(!root||!headerContainer){return} 83const toggle=root.querySelector('[data-lang-toggle]');const menu=root.querySelector('.site-header-lang__menu');if(!toggle||!menu){return} 84const closeDelayMs=220;let closeTimer=null;function clearCloseTimer(){if(closeTimer){window.clearTimeout(closeTimer);closeTimer=null}} 85function positionMenu(){const containerRect=headerContainer.getBoundingClientRect();const toggleRect=toggle.getBoundingClientRect();const isRtl='rtl'===document.documentElement.getAttribute('dir');const fromEdgePx=16;if(isRtl){menu.style.insetInlineStart='auto';menu.style.insetInlineEnd=Math.max(0,containerRect.right-toggleRect.right-fromEdgePx)+'px'}else{menu.style.insetInlineEnd='auto';menu.style.insetInlineStart=Math.max(0,toggleRect.left-containerRect.left-fromEdgePx)+'px'}} 86function setOpen(isOpen){root.classList.toggle('is-open',isOpen);toggle.setAttribute('aria-expanded',isOpen?'true':'false');menu.setAttribute('aria-hidden',isOpen?'false':'true');if(isOpen){positionMenu()}} 87function openMenu(){clearCloseTimer();closeHeaderMegaMenus();setOpen(!0)} 88function scheduleClose(){clearCloseTimer();closeTimer=window.setTimeout(function(){setOpen(!1);closeTimer=null},closeDelayMs)} 89toggle.addEventListener('mouseenter',openMenu);toggle.addEventListener('mouseleave',scheduleClose);menu.addEventListener('mouseenter',openMenu);menu.addEventListener('mouseleave',scheduleClose);toggle.addEventListener('focusin',openMenu);root.addEventListener('focusout',function(event){if(!root.contains(event.relatedTarget)&&!menu.contains(event.relatedTarget)){scheduleClose()}});menu.addEventListener('focusin',openMenu);menu.addEventListener('focusout',function(event){if(!root.contains(event.relatedTarget)&&!menu.contains(event.relatedTarget)){scheduleClose()}});toggle.addEventListener('click',function(event){event.preventDefault();openMenu();window.setTimeout(function(){if(document.activeElement===toggle){toggle.blur()}},0)});document.addEventListener('keydown',function(event){if('Escape'===event.key&&root.classList.contains('is-open')){clearCloseTimer();setOpen(!1);toggle.focus()}});window.addEventListener('resize',function(){if(root.classList.contains('is-open')){positionMenu()}},{passive:!0})} 90function enhanceSelectPlaceholders(scope){scope=scope||document;scope.querySelectorAll('.wpcf7-form select, .panaya-cf7-form select').forEach(function(select){if(select.id==='geo-state'){return} 91const first=select.options[0];if(!first||first.value!==''){return} 92first.hidden=!1;first.disabled=!1;first.removeAttribute('hidden');first.removeAttribute('disabled');
92if(!select.value){first.selected=!0} 93select.classList.toggle('is-placeholder',!select.value);if(select.dataset.panayaPlaceholderBound){return} 94select.dataset.panayaPlaceholderBound='1';function hidePlaceholderOption(){first.hidden=!0} 95function restorePlaceholderOption(){if(!select.value){first.hidden=!1;first.selected=!0}else{first.hidden=!0} 96select.classList.toggle('is-placeholder',!select.value)} 97select.addEventListener('mousedown',hidePlaceholderOption);select.addEventListener('keydown',function(event){if('ArrowDown'===event.key||'ArrowUp'===event.key||' '===event.key||'Enter'===event.key){hidePlaceholderOption()}});select.addEventListener('blur',restorePlaceholderOption);select.addEventListener('change',restorePlaceholderOption)})} 98window.Panaya=window.Panaya||{};window.Panaya.initPeopleSay=initPeopleSay;window.Panaya.enhanceSelectPlaceholders=enhanceSelectPlaceholders;initStickyLauncherReset();initMobileMenu();initMobileMenuSubmenus();initMegaMenu();initLangSwitcher();initPeopleSay();initInlineVideos();initCtaEmailRedirect();enhanceSelectPlaceholders();document.addEventListener('wpcf7reset',function(event){enhanceSelectPlaceholders(event.target)});document.addEventListener('wpcf7mailsent',function(event){enhanceSelectPlaceholders(event.target)})})()
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.