(function(){
var megaStyles=document.createElement('link');
megaStyles.rel='stylesheet';
megaStyles.href='/assets/nav-mega.css?v=1';
document.head.appendChild(megaStyles);
var heroStyles=document.createElement('link');
heroStyles.rel='stylesheet';
heroStyles.href='/assets/hero-uniform.css?v=1';
document.head.appendChild(heroStyles);
var uniqueHeroStyles=document.createElement('link');
uniqueHeroStyles.rel='stylesheet';
uniqueHeroStyles.href='/assets/unique-heroes.css?v=1';
document.head.appendChild(uniqueHeroStyles);
document.querySelectorAll('[data-year]').forEach(function(el){el.textContent=new Date().getFullYear();});
var button=document.querySelector('.menu-button');
var menu=document.getElementById('mobile-menu');
if(button&&menu){
var mobileMenuStyles=document.createElement('style');
mobileMenuStyles.textContent='@media(max-width:940px){#mobile-menu.open{display:block!important;padding:10px 22px 20px!important}#mobile-menu>.mobile-menu-group{display:block!important;width:100%!important;border:0!important;border-bottom:1px solid #e5e5e7!important}#mobile-menu>.mobile-menu-group>.mobile-submenu-toggle{appearance:none!important;-webkit-appearance:none!important;display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;margin:0!important;padding:16px 0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#1d1d1f!important;font-size:19px!important;font-weight:500!important;line-height:1.2!important;text-align:left!important}#mobile-menu .mobile-submenu-toggle i{display:block!important;width:9px!important;height:9px!important;margin:0 4px 4px 20px!important;border:0!important;border-right:1.5px solid currentColor!important;border-bottom:1.5px solid currentColor!important;border-radius:0!important;background:transparent!important;transform:rotate(45deg)!important;transition:transform .22s ease!important}#mobile-menu .mobile-menu-group.is-open>.mobile-submenu-toggle i{margin-bottom:-4px!important;transform:rotate(225deg)!important}#mobile-menu .mobile-submenu[hidden]{display:none!important}#mobile-menu .mobile-submenu:not([hidden]){display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;padding:0 0 12px!important}#mobile-menu .mobile-submenu a{display:block!important;width:100%!important;padding:10px 0 10px 18px!important;border:0!important;color:#515154!important;font-size:16px!important;line-height:1.35!important;white-space:normal!important}#mobile-menu>a{display:block!important;width:100%!important;padding:16px 0!important;border-bottom:1px solid #e5e5e7!important;font-size:19px!important;line-height:1.2!important}}';
document.head.appendChild(mobileMenuStyles);
var mobileData={Services:[['Mobile Patrol','/patrol/'],['Armed & Unarmed Security','/armed-unarmed-security/'],['Fire Watch','/fire-watch/'],['Explore All Services','/services/']],About:[['About Us','/about/'],['Leadership','/leadership/'],['Capability Statement','/capabilities/']]};
Object.keys(mobileData).forEach(function(label,index){
var topLink=Array.prototype.slice.call(menu.children).find(function(item){return item.tagName==='A'&&item.textContent.trim()===label;});
if(!topLink)return;
var group=document.createElement('div');group.className='mobile-menu-group';
var toggle=document.createElement('button');toggle.type='button';toggle.className='mobile-submenu-toggle';toggle.setAttribute('aria-expanded','false');toggle.setAttribute('aria-controls','mobile-submenu-'+index);toggle.innerHTML=''+label+'';
var submenu=document.createElement('div');submenu.className='mobile-submenu';submenu.id='mobile-submenu-'+index;submenu.hidden=true;
mobileData[label].forEach(function(item){var link=document.createElement('a');link.href=item[1];link.textContent=item[0];submenu.appendChild(link);});
toggle.addEventListener('click',function(){var open=!group.classList.contains('is-open');menu.querySelectorAll('.mobile-menu-group.is-open').forEach(function(other){other.classList.remove('is-open');other.querySelector('.mobile-submenu-toggle').setAttribute('aria-expanded','false');other.querySelector('.mobile-submenu').hidden=true;});group.classList.toggle('is-open',open);toggle.setAttribute('aria-expanded',String(open));submenu.hidden=!open;});
group.append(toggle,submenu);topLink.replaceWith(group);
});
button.addEventListener('click',function(){var open=menu.classList.toggle('open');button.setAttribute('aria-expanded',String(open));button.setAttribute('aria-label',open?'Close menu':'Open menu');});
menu.addEventListener('click',function(event){if(!event.target.closest('a'))return;menu.classList.remove('open');button.setAttribute('aria-expanded','false');button.setAttribute('aria-label','Open menu');});
}
var desktopNav=document.querySelector('.nav-links');
if(desktopNav){
desktopNav.querySelectorAll('a[href="/leadership/"]').forEach(function(link){link.remove();});
var megaData={
Services:{
heading:'Services',
primary:[['Mobile Patrol','/patrol/'],['Armed & Unarmed Security','/armed-unarmed-security/'],['Fire Watch','/fire-watch/'],['Explore All Services','/services/']],
secondary:[['Capability Statement','/capabilities/']]
},
About:{
heading:'About',
primary:[['About Us','/about/'],['Leadership','/leadership/'],['Capability Statement','/capabilities/']],
secondary:[['Contact our team','/contact/']]
},
Leadership:{
primary:[['Meet the command team','/leadership/'],['Steven Corbin','/leadership/'],['Erica R. Allen','/leadership/'],['Nazir McKoy','/leadership/'],['John M. Simons','/leadership/'],['Jeremy Adams','/leadership/']],
secondary:[['How we lead','/leadership/#meet-command'],['Company overview','/about/'],['Join the ranks','/join-the-ranks/']]
},
Resources:{
primary:[['Public resources','/resources/'],['Frequently asked questions','/faq/'],['Join the ranks','/join-the-ranks/']],
secondary:[['Request a quote','/request-quote/'],['Contact','/contact/'],['Privacy policy','/privacy/']]
}
};
var panel=document.createElement('div');
panel.className='mega-panel';
panel.setAttribute('aria-hidden','true');
var panelInner=document.createElement('div');
panelInner.className='mega-panel-inner';
panel.appendChild(panelInner);
var scrim=document.createElement('button');
scrim.className='mega-scrim';
scrim.type='button';
scrim.setAttribute('aria-label','Close navigation menu');
document.body.append(scrim,panel);
var closeTimer;
function links(items,large){return items.map(function(item){return ''+item[0]+'';}).join('');}
function openMega(label,trigger){
var data=megaData[label];
if(!data||window.matchMedia('(max-width:940px)').matches)return;
clearTimeout(closeTimer);
panelInner.innerHTML='
'+(data.heading||'Explore')+''+links(data.primary,true)+'
Quick links'+links(data.secondary,false)+'
';
document.querySelectorAll('.nav-links a').forEach(function(link){link.removeAttribute('data-menu-open');});
trigger.setAttribute('data-menu-open','true');
panel.classList.add('open');scrim.classList.add('open');panel.setAttribute('aria-hidden','false');
}
function closeMega(){
panel.classList.remove('open');scrim.classList.remove('open');panel.setAttribute('aria-hidden','true');
document.querySelectorAll('.nav-links a').forEach(function(link){link.removeAttribute('data-menu-open');});
}
desktopNav.querySelectorAll('a:not(.nav-action)').forEach(function(link){
var label=link.textContent.trim();
if(!megaData[label])return;
link.setAttribute('aria-haspopup','true');
link.addEventListener('click',function(event){event.preventDefault();openMega(label,link);});
link.addEventListener('pointerenter',function(){openMega(label,link);});
link.addEventListener('focus',function(){openMega(label,link);});
});
desktopNav.addEventListener('pointerleave',function(){closeTimer=setTimeout(closeMega,140);});
panel.addEventListener('pointerenter',function(){clearTimeout(closeTimer);});
panel.addEventListener('pointerleave',function(){closeTimer=setTimeout(closeMega,140);});
scrim.addEventListener('click',closeMega);
document.addEventListener('keydown',function(event){if(event.key==='Escape')closeMega();});
window.addEventListener('resize',function(){if(window.innerWidth<=940)closeMega();});
}
if('IntersectionObserver' in window){
var observer=new IntersectionObserver(function(entries){entries.forEach(function(entry){if(entry.isIntersecting){entry.target.classList.add('visible');observer.unobserve(entry.target);}});},{threshold:.12});
document.querySelectorAll('.reveal').forEach(function(el){observer.observe(el);});
}else{document.querySelectorAll('.reveal').forEach(function(el){el.classList.add('visible');});}
document.querySelectorAll('[data-standard-sequence]').forEach(function(sequence){
var steps=Array.prototype.slice.call(sequence.querySelectorAll('[data-standard-step]'));
if(!steps.length)return;
function activate(step){
sequence.style.setProperty('--standard-step',step);
sequence.setAttribute('data-standard-active',String(step));
steps.forEach(function(item,index){item.classList.toggle('is-active',index===step);});
}
activate(0);
if('IntersectionObserver' in window){
var stepObserver=new IntersectionObserver(function(entries){
entries.forEach(function(entry){if(entry.isIntersecting)activate(Number(entry.target.getAttribute('data-standard-step'))||0);});
},{rootMargin:'-32% 0px -32% 0px',threshold:0});
steps.forEach(function(step){stepObserver.observe(step);});
}
var ticking=false;
function updateSequenceProgress(){
var rect=sequence.querySelector('.ah-standard-sequence').getBoundingClientRect();
var travel=Math.max(1,rect.height-window.innerHeight);
var progress=Math.max(0,Math.min(1,-rect.top/travel));
sequence.style.setProperty('--standard-progress',progress.toFixed(4));
ticking=false;
}
window.addEventListener('scroll',function(){if(!ticking){ticking=true;requestAnimationFrame(updateSequenceProgress);}},{passive:true});
window.addEventListener('resize',updateSequenceProgress);
updateSequenceProgress();
});
document.querySelectorAll('.page-hero, .detail-hero, .leadership-cinematic').forEach(function(hero,index){
if(hero.querySelector('.hero-discover'))return;
var destination=hero.nextElementSibling;
if(!destination)return;
if(!destination.id)destination.id='discover-'+(index+1);
var link=document.createElement('a');
link.className='hero-discover';
link.href='#'+destination.id;
link.innerHTML='Scroll to discover';
hero.appendChild(link);
});
var form=document.getElementById('quote-form');
if(form){form.addEventListener('submit',function(event){
event.preventDefault();
if(!form.reportValidity())return;
var data=new FormData(form);
var lines=['TASK FORCE PROTECTION QUOTE REQUEST',''];
var labels={name:'Name',company:'Company / Community',email:'Email',phone:'Phone',property:'Property type',service:'Service needed',location:'Service location',start:'Desired start date',schedule:'Coverage needed',details:'Property details and concerns'};
Object.keys(labels).forEach(function(key){var value=String(data.get(key)||'').trim();if(value)lines.push(labels[key]+': '+value);});
var subject=encodeURIComponent('Quote Request — '+String(data.get('company')||data.get('name')||'New Prospect'));
var body=encodeURIComponent(lines.join('\n'));
var status=document.getElementById('form-status');
if(status)status.textContent='Opening your email app…';
window.location.href='mailto:operations@tfprotection.com?subject='+subject+'&body='+body;
});}
var contactForm=document.getElementById('contact-form');
var contactPhone=contactForm&&contactForm.querySelector('input[name="Phone"]');
if(contactPhone)contactPhone.addEventListener('input',function(){
var digits=contactPhone.value.replace(/\D/g,'');
if(digits.length===11&&digits.charAt(0)==='1')digits=digits.slice(1);
digits=digits.slice(0,10);
contactPhone.value=digits.length>6?'('+digits.slice(0,3)+') '+digits.slice(3,6)+'-'+digits.slice(6):digits.length>3?'('+digits.slice(0,3)+') '+digits.slice(3):digits.length?'('+digits:'';
});
if(contactForm){contactForm.addEventListener('submit',function(event){
event.preventDefault();
if(!contactForm.reportValidity())return;
var submit=contactForm.querySelector('[type="submit"]');
var status=document.getElementById('contact-form-status');
submit.disabled=true;submit.firstChild.nodeValue='Submitting… ';
if(status){status.textContent='Sending your inquiry…';status.className='contact-form-status is-sending';}
fetch('/api/contact-submit',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify((function(){var form=new FormData(contactForm);return {first:form.get('First name'),last:form.get('Last name'),email:form.get('Email'),phone:form.get('Phone'),company:form.get('Company or community'),type:form.get('Inquiry type'),state:form.get('State'),message:form.get('Message'),honey:form.get('_honey')};})())})
.then(function(response){return response.json().then(function(data){if(!response.ok||!data.ok)throw new Error(data.error||'Submission failed');return data;});})
.then(function(){contactForm.reset();contactForm.hidden=true;var confirmation=document.getElementById('contact-success');if(confirmation)confirmation.hidden=false;})
.catch(function(){if(status){status.textContent='We could not submit your inquiry. Please call (844) 364-8273 or email operations@tfprotection.com.';status.className='contact-form-status is-error';}})
.finally(function(){submit.disabled=false;submit.firstChild.nodeValue='Submit inquiry ';});
});}
var contactSuccess=document.getElementById('contact-success');
if(contactSuccess&&new URLSearchParams(window.location.search).get('submitted')==='1'){
contactSuccess.hidden=false;
if(contactForm)contactForm.hidden=true;
history.replaceState({},document.title,window.location.pathname);
}
})();