(function (){
'use strict';
function ready(callback){
if(document.readyState==='loading'){
document.addEventListener('DOMContentLoaded', callback, { once: true });
}else{
callback();
}}
ready(function (){
var menu=document.querySelector('[data-mobile-menu]');
var overlay=document.querySelector('[data-menu-overlay]');
var openButton=document.querySelector('[data-menu-open]');
var closeButton=document.querySelector('[data-menu-close]');
var lastFocused=null;
function setMobileMenu(open){
if(!menu||!overlay||!openButton) return;
if(open) lastFocused=document.activeElement;
menu.classList.toggle('is-open', open);
overlay.classList.toggle('is-open', open);
menu.setAttribute('aria-hidden', open ? 'false':'true');
openButton.setAttribute('aria-expanded', open ? 'true':'false');
document.body.classList.toggle('sf-menu-open', open);
if(open&&closeButton) closeButton.focus();
if(!open&&lastFocused&&typeof lastFocused.focus==='function') lastFocused.focus();
}
if(openButton){
openButton.addEventListener('click', function (){
setMobileMenu(!menu.classList.contains('is-open'));
});
}
if(closeButton) closeButton.addEventListener('click', function (){ setMobileMenu(false); });
if(overlay) overlay.addEventListener('click', function (){ setMobileMenu(false); });
if(menu){
menu.addEventListener('click', function (event){
if(event.target.closest('a')) setMobileMenu(false);
});
}
document.addEventListener('keydown', function (event){
if(event.key==='Escape'){
setMobileMenu(false);
closeDesktopMenus();
}});
document.querySelectorAll('[data-mobile-submenu]').forEach(function (button){
button.addEventListener('click', function (){
var panel=document.getElementById(button.getAttribute('aria-controls'));
if(!panel) return;
var open=button.getAttribute('aria-expanded')==='true';
button.setAttribute('aria-expanded', open ? 'false':'true');
panel.hidden=open;
});
});
var desktopTriggers=Array.prototype.slice.call(document.querySelectorAll('[data-menu-trigger]'));
function closeDesktopMenus(exceptTrigger){
desktopTriggers.forEach(function (trigger){
if(trigger===exceptTrigger) return;
trigger.setAttribute('aria-expanded', 'false');
var panel=document.querySelector('[data-menu-panel="' + trigger.getAttribute('data-menu-trigger') + '"]');
if(panel) panel.classList.remove('is-open');
});
}
desktopTriggers.forEach(function (trigger){
var panel=document.querySelector('[data-menu-panel="' + trigger.getAttribute('data-menu-trigger') + '"]');
if(!panel) return;
trigger.addEventListener('click', function (event){
if(window.matchMedia('(hover: hover) and (pointer: fine)').matches) return;
event.preventDefault();
var open=trigger.getAttribute('aria-expanded')==='true';
closeDesktopMenus(trigger);
trigger.setAttribute('aria-expanded', open ? 'false':'true');
panel.classList.toggle('is-open', !open);
});
trigger.addEventListener('keydown', function (event){
if(event.key!=='ArrowDown') return;
event.preventDefault();
closeDesktopMenus(trigger);
trigger.setAttribute('aria-expanded', 'true');
panel.classList.add('is-open');
var first=panel.querySelector('a');
if(first) first.focus();
});
});
document.addEventListener('click', function (event){
if(!event.target.closest('.sf-nav-group')) closeDesktopMenus();
});
var book=document.querySelector('[data-sf-mobile-cta-book]');
if(book){
var target =
document.getElementById('apply') ||
document.getElementById('lead') ||
document.getElementById('sf-promo-lead') ||
document.querySelector('[data-susanin-lead]');
if(target&&target.id){
book.setAttribute('href', '#' + target.id);
}else if(target){
if(!target.id) target.id='sf-lead-form';
book.setAttribute('href', '#' + target.id);
}}
});
})();