1var e=document.querySelector(`.site-header`),t=Array.from(document.querySelectorAll(`.desktop-nav .nav-item`)),n=document.querySelector(`.mobile-menu`),r=e=>{t.forEach(t=>{t!==e&&(t.classList.remove(`is-open`),t.querySelector(`[data-menu-toggle]`)?.setAttribute(`aria-expanded`,`false`))})},i=()=>{e?.classList.toggle(`is-scrolled`,window.scrollY>18)};t.forEach(e=>{let t=e.querySelector(`[data-menu-toggle]`);t?.addEventListener(`click`,n=>{n.preventDefault();let i=!e.classList.contains(`is-open`);r(e),e.classList.toggle(`is-open`,i),t.setAttribute(`aria-expanded`,String(i))})}),document.addEventListener(`click`,e=>{e.target.closest(`.desktop-nav`)||r()}),document.addEventListener(`keydown`,e=>{e.key===`Escape`&&(r(),n&&(n.open=!1))}),n?.addEventListener(`toggle`,()=>{document.body.classList.toggle(`mobile-nav-open`,n.open)}),n?.querySelectorAll(`a`).forEach(e=>{e.addEventListener(`click`,()=>{n.open=!1,document.body.classList.remove(`mobile-nav-open`)})});var a=()=>window.YT?.Player?Promise.resolve(window.YT):new Promise(e=>{let t=window.onYouTubeIframeAPIReady;if(window.onYouTubeIframeAPIReady=()=>{t?.(),e(window.YT)},!document.querySelector(`script[src='https://www.youtube.com/iframe_api']`)){let e=document.createElement(`script`);e.src=`https://www.youtube.com/iframe_api`,document.head.append(e)}});document.querySelectorAll(`[data-youtube-id]`).forEach(e=>{let t=e.dataset.youtubeId,n=e.querySelector(`[data-video-frame]`),r=e.querySelector(`.video-caption`),i,o=!1,s=!1,c=t=>{e.classList.toggle(`is-playing`,t),r?.setAttribute(`aria-label`,t?`Pause video`:`Play video`)},l=()=>{e.classList.add(`is-video-visible`)};a().then(r=>{i=new r.Player(n,{videoId:t,playerVars:{autoplay:0,controls:0,disablekb:1,fs:0,iv_load_policy:3,modestbranding:1,playsinline:1,rel:0},events:{onReady:()=>{o=!0,s&&(l(),i.playVideo())},onStateChange:t=>{let n=t.data,i=n===r.PlayerState.PLAYING,a=i||n===r.PlayerState.PAUSED||n===r.PlayerState.BUFFERING;e.classList.toggle(`is-video-visible`,a),c(i)}}})}),r?.addEventListener(`click`,()=>{if(l(),!o||!i){s=!0;return}if(i.getPlayerState()===window.YT.PlayerState.PLAYING){i.pauseVideo();return}i.playVideo()})}),document.querySelectorAll(`.nav-dropdown.with-feature`).forEach(e=>{let t=e.querySelector(`[data-feature-panel]`),n=e.querySelectorAll(`.nav-dropdown-list a[data-feat-image]`);if(!t||!n.length)return;let r=t.querySelector(`img`),i=t.querySelector(`p`),a=e=>{e.dataset.featImage&&(r.src=e.dataset.featImage),e.dataset.featBody&&(i.textContent=e.dataset.featBody)};n.forEach(e=>{e.addEventListener(`mouseenter`,()=>a(e)),e.addEventListener(`focus`,()=>a(e))}),e.querySelector(`.nav-dropdown-list`).addEventListener(`mouseleave`,()=>a(n[0]))}),i(),window.addEventListener(`scroll`,i,{passive:!0});var o=document.querySelector(`[data-signup-form]`);if(o){let e=document.querySelector(`[data-signup-status]`),t=o.querySelector(`button[type="submit"]`),n=(t,n)=>{e&&(e.hidden=!1,e.classList.toggle(`is-error`,n),e.textContent=t)};o.addEventListener(`submit`,async r=>{r.preventDefault();let i=o.querySelector(`input[name="email"]`),a=o.querySelector(`input[name="phone"]`),s=i&&i.value.trim()!==``,c=a&&a.value.trim()!==``;if(!s&&!c){n(`Please add your email address or your mobile number so we can reach you.`,!0),(i||a)?.focus();return}let l=o.querySelector(`[data-consent-timestamp]`);l&&(l.value=new Date().toISOString()),t?.setAttribute(`disabled`,`true`),e&&(e.hidden=!0);try{let e=await fetch(o.action,{method:`POST`,body:new FormData(o),headers:{Accept:`application/json`}});if(e.ok){try{s&&window.rtlcaAnalytics?.track?.(`email_signup`,{form_id:`form`,outcome:`email_signup`});let e=Array.from(o.querySelectorAll(`input[name="sms_marketing_consent"], input[name="sms_informational_consent"]`)).some(e=>e instanceof HTMLInputElement&&e.checked);c&&e&&window.rtlcaAnalytics?.track?.(`sms_signup`,{form_id:`form`,outcome:`sms_signup`})}catch{}o.hidden=!0,n(`Thank you. You're on the list, and we'll be in touch soon.`,!1)}else{let r=(await e.json().catch(()=>null))?.errors?.map(e=>e.message).join(` `)||`Something went wrong. Please try again.`;n(r,!0),t?.removeAttribute(`disabled`)}}catch{n(`Network error. Please check your connection and try again.`,!0),t?.removeAttribute(`disabled`)}})}
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.