(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)+'
Task Force Protection

Professional security and patrol services across the Carolinas.

Request a quote
'; 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'); if(contactForm){ var contactReturn=contactForm.querySelector('input[name="_next"]'); if(contactReturn)contactReturn.value=window.location.origin+'/contact/?submitted=1'; 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('https://formsubmit.co/ajax/operations@tfprotection.com',{method:'POST',headers:{Accept:'application/json'},body:new FormData(contactForm)}) .then(function(response){return response.json().then(function(data){if(!response.ok||data.success===false)throw new Error(data.message||'Submission failed');return data;});}) .then(function(){contactForm.reset();if(status){status.textContent='Thank you. Your inquiry has been submitted successfully.';status.className='contact-form-status is-success';}}) .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; history.replaceState({},document.title,window.location.pathname); } })();