$(document).ready(function(){MainNav.Init()});var MainNav=function(){return{selector:{item:"[data-js-nav-item]",link:"[data-js-nav-link]",logoCell:"[data-js-logo-cell]",nav:"[data-js-nav]",navExpanderTrigger:"[data-js-nav-link-trigger]",searchButton:".h-search__button",secondarySubMenu:"[data-js-sub-menu-secondary]",subMenu:"[data-js-sub-menu]",subMenuList:"[data-js-sub-menu-list]",toggle:"[data-js-nav-toggle]",wrapperForFixedElements:"[data-js-fixed-wrapper]",wrapperForToggle:"[data-js-toggle-wrapper]"},element:{fixedWrapper:undefined,fixedWrapperClone:undefined,logoCell:undefined,nav:undefined,navExpanderTrigger:undefined,navLink:undefined,searchButton:undefined,toggle:undefined,toggleWrapper:undefined},property:{isOpen:!1,subMenuTransitionSpeed:400},Init:function(){MainNav.Setup()},Setup:function(){var t=this.selector,n=this.element;(n.toggle=$(t.toggle).first(),n.nav=$(t.nav).first(),n.navLink=$(t.link),n.navExpanderTrigger=$(t.navExpanderTrigger),n.searchButton=$(t.searchButton).first(),n.fixedWrapper=$(t.wrapperForFixedElements).first(),n.logoCell=$(t.logoCell).first(),n.toggleWrapper=n.toggle.length?n.toggle.closest(t.wrapperForToggle):[],this.Exit())||(this.SubMenu.Setup(),this.Accessibility.MakeAllSubMenuItemsUntabbable(),this.SecondarySubMenu(),this.Events.Init(),this.FixedPositioning.Init(),this.ApplyCurrentState())},Exit:function(){for(var u,n=this.element,i=[n.toggle,n.nav,n.navLink,n.searchButton,n.toggleWrapper,n.fixedWrapper,n.logoCell],r=!1,t=0;t<i.length;t++)if(u=i[t],!u.length){r=!0;break}return r},SecondarySubMenu:function(){$(this.selector.secondarySubMenu).each(function(){var t=$(this),n=t.closest(MainNav.selector.subMenu);n.length&&n.addClass("has-secondary-sub-menu")})},ApplyCurrentState:function(){this.element.navLink.each(function(){var n=$(this);n.hasClass("is-current")&&n.closest(MainNav.selector.item).addClass("is-current")})},FixedPositioning:{offset:undefined,isFixed:!1,shouldBeFixed:!1,Init:function(){this.Setup();this.Scroll();this.Resize()},Setup:function(){this.CloneFixedEl();this.SetProperties()},CloneFixedEl:function(){var n=MainNav.element,t=n.fixedWrapper.clone();t.addClass("is-clone").css({position:"static"}).hide().html("");n.fixedWrapperClone=t;n.fixedWrapperClone.insertAfter(n.fixedWrapper)},SetProperties:function(){var r=$(window).scrollTop(),u=MQ.IsMobile(),e=MQ.IsTablet(),f=MQ.IsDesktop(),n=MainNav.element,t=MainNav.FixedPositioning,i;f?t.shouldBeFixed=!1:(u?t.offset=n.logoCell.outerHeight():(i=n.fixedWrapper.outerHeight()+parseInt(n.fixedWrapper.css("margin-bottom")),t.offset=n.logoCell.offset().top+(n.logoCell.outerHeight()-i)),t.shouldBeFixed=r>=t.offset)},FixOrUnfix:function(){this.shouldBeFixed?this.Fix():this.Unfix()},Fix:function(){var n=MainNav.element;n.fixedWrapper.addClass("is-fixed");n.fixedWrapperClone.css({display:"flex"}).height(n.fixedWrapper.outerHeight());this.isFixed=!0},Unfix:function(){MainNav.element.fixedWrapper.removeClass("is-fixed");MainNav.element.fixedWrapperClone.hide();this.isFixed=!1},Resize:function(){var n=debounce(function(){MainNav.FixedPositioning.SetProperties();MainNav.FixedPositioning.FixOrUnfix();MQ.IsDesktop()?MainNav.element.nav.css(MainNav.RemoveCSS()):MainNav.element.nav.css(MainNav.GetCSS())},200);$(window).resize(function(){n()})},Scroll:function(){var n=debounce(function(){MainNav.FixedPositioning.SetProperties();MainNav.FixedPositioning.FixOrUnfix();MQ.IsDesktop()?MainNav.element.nav.css(MainNav.RemoveCSS()):MainNav.element.nav.css(MainNav.GetCSS())},10);$(window).scroll(function(){n()})}},Keyboard:{focusedLink:undefined,linkHasFocus:!1,firstFocusableElement:undefined,escape:function(){MainNav.SubMenu.HideAll()},cycle:function(n,t){var i=MainNav.Keyboard,r=MainNav.selector,f,e;i.focusedLink=$(":focus");i.linkHasFocus=i.focusedLink.length;switch(n){case 9:i.focusedLink.closest(MainNav.selector.subMenu).length==0&&i.focusedLink.closest(MainNav.selector.link).length==0&&MainNav.SubMenu.HideAll();break;case 38:if(!i.focusedLink.is(i.firstFocusableElement))return;var u=i.focusedLink.closest(r.item),o=u.length?u.children(r.link).first():[],s=u.length?u.children(r.subMenu).first():[];if(!u.length||!o.length||!s.length)return;o.trigger("focus");MainNav.SubMenu.Hide(u,s);t.stopPropagation();t.preventDefault();break;case 40:if(!i.linkHasFocus||!i.focusedLink.is(r.link))return;if(f=i.focusedLink.closest(r.item),!f.length)return;if(e=f.children(r.subMenu).first(),!e.length)return;i.firstFocusableElement=Accessibility.GetFocusableElements({parent:e,onlyFirst:!0});i.firstFocusableElement.length&&(MainNav.SubMenu.Show(f,e),MainNav.Keyboard.firstFocusableElement.trigger("focus"),t.stopPropagation(),t.preventDefault());break;default:return}}},GetCSS:function(){var n=MainNav.element,r=n.searchButton.outerWidth(),u=typeof n.searchButton!="undefined"?[$(window).width()-r,"px"].join(""):"100%",t=MainNav.FixedPositioning.isFixed,i=window.innerHeight?window.innerHeight:$(window).height(),f=t?i-n.fixedWrapper.outerHeight():MQ.IsDesktop()?"":i-n.fixedWrapper.outerHeight()-n.fixedWrapper.offset().top;return{width:MQ.IsMobile()?u:"",top:t?n.fixedWrapper.outerHeight():"100%",position:t?"fixed":MQ.IsDesktop()?"relative":"absolute",height:f,"overflow-y":"auto",display:"none"}},RemoveCSS:function(){return{width:"",top:"",position:"",height:"","overflow-y":"",display:"none"}},Show:function(){var t=MainNav.element,i=t.toggle,n=t.nav,r=t.toggleWrapper;typeof i!="undefined"&&typeof n!="undefined"&&typeof r!="undefined"&&(i.addClass("is-selected").attr("aria-expanded","true"),r.addClass("is-selected"),n.addClass("is-transitioning"),n.css(MainNav.GetCSS()).slideDown(MainNav.property.subMenuTransitionSpeed,function(){n.removeClass("is-transitioning");MainNav.property.isOpen=!0;n.addClass("is-visible").removeAttr("aria-hidden")}))},Hide:function(){var t=MainNav.element.toggle,i=MainNav.element.toggleWrapper,n=MainNav.element.nav;typeof t!="undefined"&&typeof n!="undefined"&&typeof i!="undefined"&&(t.removeClass("is-selected").attr("aria-expanded","false"),i.removeClass("is-selected"),n.addClass("is-transitioning"),n.slideUp(MainNav.property.subMenuTransitionSpeed,function(){n.removeClass("is-transitioning");MainNav.property.isOpen=!1;n.removeClass("is-visible").attr("aria-hidden","true").css({width:""})}))},Events:{Init:function(){this.Resize();this.Hover();this.Focus();this.Click.Init()},Resize:function(){var n=debounce(function(){MQ.IsTablet()||MQ.IsMobile()?MainNav.Hide():(MainNav.element.nav.css(MainNav.RemoveCSS()),MainNav.SubMenu.HideAll())},200);$(window).resize(function(){n()})},Click:{Init:function(){this.NavToggle();this.NavLink()},NavToggle:function(){$(MainNav.selector.toggle).click(function(n){MainNav.property.isOpen?MainNav.Hide():MainNav.Show();n.preventDefault()})},NavLink:function(){if(MainNav.element.navLink.click(function(n){var i=$(this),t=i.closest(MainNav.selector.item),r=t.length?t.children(MainNav.selector.subMenu).first():undefined;MQ.IsDesktop()&&Modernizr.touchevents&&(t.hasClass("is-touched")||(n.preventDefault(),$(MainNav.selector.item).removeClass("is-touched is-selected"),t.addClass("is-touched is-selected")))}),Modernizr.touchevents)$(document).on("touchstart",function(n){$(n.target).closest(MainNav.selector.item).length==0&&$(MainNav.selector.item).removeClass("is-touched is-selected")});MainNav.element.navExpanderTrigger.click(function(n){var r=$(this),t=r.closest(MainNav.selector.item),i=t.length?t.children(MainNav.selector.subMenu).first():undefined,u=t.hasClass("is-selected");u?MainNav.SubMenu.Hide(t,i):(MainNav.SubMenu.HideAll(),MainNav.SubMenu.Show(t,i));n.preventDefault()})}},Hover:function(){var n,t,i=MainNav.selector,r=!0;$(i.item).hover(function(){n=$(this);r=!0;t=n.children(i.subMenu).first();MQ.IsDesktop()&&t.length&&setTimeout(function(){r&&MainNav.SubMenu.Show(n,t)},100)},function(){n=$(this);r=!1;t=n.children(i.subMenu).first();MQ.IsDesktop()&&t.length&&MainNav.SubMenu.Hide(n,t)})},Focus:function(){MainNav.element.navLink.focus(function(){MQ.IsDesktop()&&MainNav.SubMenu.HideAll()})}},SubMenu:{Setup:function(){var n=MainNav.selector;MainNav.element.navLink.each(function(){var i=$(this),t=i.closest(n.item);t.length&&t.find(n.subMenuList).length&&t.addClass("has-submenu")})},Show:function(n,t){function i(){t.removeAttr("aria-hidden");MainNav.Accessibility.MakeSubMenuItemsTabbable(t);n.addClass("is-selected")}typeof t!="undefined"&&n.hasClass("has-submenu")&&(MQ.IsDesktop()?(i(),t.css({display:""})):t.hasClass("is-transitioning")||(i(),t.addClass("is-transitioning").slideDown(MainNav.property.subMenuTransitionSpeed,function(){t.removeClass("is-transitioning")}),n.find(".h-nav__link--device").attr("aria-expanded",!0)))},Hide:function(n,t){function i(){t.attr("aria-hidden","true");MainNav.Accessibility.MakeSubMenuItemsUntabbable(t);n.removeClass("is-selected");n.find(".h-nav__link--device").attr("aria-expanded",!1)}typeof t!="undefined"&&n.hasClass("has-submenu")&&(MQ.IsDesktop()?(i(),t.css({display:""})):t.hasClass("is-transitioning")||(i(),t.addClass("is-transitioning").slideUp(MainNav.property.subMenuTransitionSpeed,function(){t.removeClass("is-transitioning")})))},HideAll:function(){$(MainNav.selector.item).each(function(){var n=$(this),t=n.children(MainNav.selector.subMenu).first();t.length&&MainNav.SubMenu.Hide(n,t)})}},Accessibility:{MakeAllSubMenuItemsUntabbable:function(){$(MainNav.selector.subMenu).each(function(){var t=$(this),n=Accessibility.GetFocusableElements({parent:t});n.length&&Accessibility.MakeUntabbable(n)})},MakeSubMenuItemsTabbable:function(n){var t=Accessibility.GetFocusableElements({parent:n});Accessibility.MakeTabbable(t)},MakeSubMenuItemsUntabbable:function(n){var t=Accessibility.GetFocusableElements({parent:n});Accessibility.MakeUntabbable(t)}}}}()