{"version":3,"sources":["main.js"],"names":["Accordions","accordions","$","accordionTitle","length","init","openFirst","on","event","toggleAccordion","off","keycode","keyCode","which","accordion","currentTarget","closest","accordionContent","children","accordionArrow","openAccordions","siblings","hasClass","removeClass","slideUp","attr","addClass","blur","find","slideDown","responsiveTable","DataTable","responsive","paging","searching","ordering","info","autoWidth","window","outerWidth","headerHeight","outerHeight","animate","scrollTop","offset","top","firstAccordion","first","Alerts","alert","alertCloseBtn","preventDefault","closeAlert","checkStorage","each","id","alertSessionStorage","sessionStorage","getItem","hide","show","setItem","ComparisonCards","comparisonCards","editMode","self","slider","totalCards","initSlider","slick","slidesToShow","slidesToScroll","infinite","arrows","nextArrow","prevArrow","breakpoint","settings","FeaturedResources","resourceLinks","mouseenter","addHoverState","mouseleave","removeHoverState","FeaturedStats","stats","statHeaders","getTallestHeadline","resize","tallest","css","itemHeight","FeaturedRates","rates","rateHeaders","FloatingFormLabel","formFields","val","field","hasFocus","checkIfEmpty","target","Menu","body","mainMenu","siteHeader","toggleMobileMenuBtn","menuTier1LI","menuTier1Link","mobileMenuIcons","browserWidth","getBrowserWidth","bindMenu","unbindMobile","desktopHandlers","unbindDesktop","mobileHandlers","stop","focus","menuLI","parent","toggleClass","toggleMobileMenu","keypress","mobileSubMenu","e","openMobileMenu","closeMobileMenu","calculateMenuHeight","Login","closeLogin","HeaderSearch","closeSearch","html","clickedLI","slideToggle","headerH","alertH","totalH","alerts","innerWidth","loginWrapper","loginBtn","mobileLoginBtn","loginBox","mobileLoginBox","moveLoginIfMobileHeader","toggleLoginBox","document","openLogin","appendTo","searchWrapper","toggleSearchBtn","searchBox","moveSearchIfMobileHeader","toggleSearchBox","updateAriaLabel","openSearch","isOpen","ariaLabel","ImageLoader","options","queue","backgroundQueue","lazyImageObserver","lazyBgObserver","getImagesToLazyLoad","abort","onContentLoaded","setGenericPlaceholder","forEach","lazyImage","observe","lazyBg","querySelectorAll","genericImagePlaceholder","img","setAttribute","genericBgPlaceholder","bg","style","backgroundColor","IntersectionObserver","entries","observer","entry","isIntersecting","src","dataset","srcset","classList","remove","unobserve","i","getAttribute","IsElementInView","animatedModules","loopThruModules","index","myModule","isInViewport","elementTop","elementBottom","viewportTop","viewportBottom","height","MapMarker","model","map","bounds","onMarkerClick","allInfoWindows","marker","locations","greatestMarkerDistance","position","google","maps","LatLng","lat","long","icon","optimized","Marker","extend","fitBounds","toRad","value","Math","PI","calcDistance","lat1","lng1","lat2","lng2","earth","dLat","dLng","a","sin","cos","c","atan2","sqrt","distance","j","listener","addListener","getZoom","setZoom","removeListener","link","hoursets","title","text","hours","startDay","endDay","openTime","closeTime","infowindow","InfoWindow","content","name","street","cityStateZip","address","push","close","open","closeWindow","openWindow","GoogleMap","container","mapBounds","markers","styling","searchedLocation","searchedMarker","querySelector","LatLngBounds","Map","disableDefaultUI","zoomControl","gestureHandling","styles","zoomListener","location","setupMarker","linkMarker","animation","Animation","DROP","locationId","Array","isArray","makeMarker","geocoder","Geocoder","geoModel","geocode","results","status","GeocoderStatus","OK","console","warn","geometry","lng","Locations","pinOptions","data","branchImage","MarkerImage","Size","Point","atmImage","liveTellerImage","blankImage","split","arrTitles","get","locOptions","toLowerCase","trim","indexOf","includes","toUpperCase","locationsMap","calculateItemPositions","itemTop","main","filterLocations","resetMap","updateFilterSelectboxText","clearFilters","toggleFilterSelectbox","code","selectbox","arrow","dropdown","placesAutocomplete","filterTypes","selectboxText","clearFiltersBtn","showLocation","reloadMap","hideLocation","item","reset","toFixed","showRadius","filterVal","sortLocations","sort","b","selectFirstOnEnter","input","_addEventListener","addEventListener","attachEvent","addEventListenerWrapper","type","orig_listener","suggestion_selected","simulated_downarrow","Event","apply","furthestWest","furthestEast","furthestSouth","furthestNorth","pinBuffer","pi","m","parseFloat","lon","b1","b2","lookupBounds","strictBounds","types","componentRestrictions","country","autocomplete","places","Autocomplete","getElementById","place","getPlace","undefined","prop","PolyfillHelpers","NodeList","prototype","Element","matches","msMatchesSelector","webkitMatchesSelector","s","el","call","parentElement","parentNode","nodeType","ResponsiveDatatables","tableWrapper","tableHeadline","toggleTable","initializeDatatables","table","toggleTableIcon","closestTable","ScrollToTop","scrollToTopButton","button","view","timeoutKey","fadeIn","fadeOut","clearTimeout","setTimeout","SliderCallout","sliderWrapper","totalItems","pausePlayBtn","dotsWrapper","dots","appendDots","lazyLoad","fade","autoplay","autoplaySpeed","pauseOnHover","pausePlay","SimpleForm","selectFields","submitBtn","addDisabledToSelects","thankYouMessage","form","setInterval","SocialShare","shareIcons","fb","lk","tw","url","encodeURIComponent","href","SolutionsLinks","solutionsSelect","selectTitle","selectDropdown","selectOptions","goBtn","toggleSolutionsDropdown","closeDropdown","optionSelected","openDropdown","aria","SpeedBump","speedbumpLink","acceptBtn","denyBtn","speedbumpModal","message","createSpeedBumpModal","bindButtons","returnToSite","allowLink","prepend","Testimonials","MainScripts","svg4everybody","imageLoader","initialize","displayLocations","FixYoutubeWatchLinks","iframes","getElementsByTagName","hasAttribute","sandboxval"],"mappings":"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","file":"main.js","sourcesContent":["class Accordions {\r\n\r\n\tconstructor() {\r\n // dom elements\r\n this.accordions = $('.accordion');\r\n\t\tthis.accordionTitle = $('.accordion-title');\r\n\t\t\r\n\t\tif (this.accordions.length) {\r\n\t\t\tthis.init();\t\t\t\r\n\t\t}\r\n\t}\r\n\r\n\tinit() {\r\n\r\n // on page load, open first accordion\r\n this.openFirst();\r\n\r\n // Handle toggling of accordion if clicked\r\n\t\tthis.accordionTitle.on('click', (event) => {\r\n\t\t\tthis.toggleAccordion(event);\r\n\t\t});\r\n\r\n\t\t// Handle toggling of accordion if enter key pressed\r\n\t\tthis.accordionTitle.off('keypress').on('keypress', (event) => {\r\n\t\t const keycode = (event.keyCode ? event.keyCode : event.which);\r\n\r\n\t\t if( keycode == '13' || keycode == '32') {\r\n\t\t this.toggleAccordion(event);\r\n\t\t }\r\n\t\t});\r\n\r\n\t}\r\n\r\n\ttoggleAccordion(event) {\r\n\t\tconst accordion = $(event.currentTarget).closest('.accordion'),\r\n\t\t\t accordionContent = accordion.children('.accordion-content'),\r\n\t\t\t accordionTitle = accordion.children('.accordion-title'),\r\n\t\t\t accordionArrow = $(event.currentTarget).children('.fas'),\r\n\t\t\t openAccordions = accordion.siblings('.accordion.open');\r\n\r\n // close accordion\r\n\t\tif (accordion.hasClass('open')) {\r\n\t\t\taccordion.removeClass('open');\r\n\t\t\taccordionContent.slideUp(300);\r\n\t\t\taccordionTitle.attr('aria-expanded', false);\r\n\t\t\taccordionArrow.removeClass('fa-chevron-down').addClass('fa-chevron-right');\r\n $(event.currentTarget).blur();\r\n\t\t}\r\n // open accordion and close all others\r\n\t\telse {\r\n\t\t\topenAccordions.removeClass('open').find('.accordion-content').slideUp(300);\r\n\t\t\topenAccordions.children('.accordion-title').attr('aria-expanded', false);\r\n\t\t\topenAccordions.find('.accordion-title .fas').removeClass('fa-chevron-down').addClass('fa-chevron-right');\r\n\r\n\t\t\taccordion.addClass('open');\r\n\t\t\taccordionContent.slideDown('300', () => {\r\n\t\t\t\taccordionArrow.removeClass('fa-chevron-right').addClass('fa-chevron-down');\r\n\t\t\t\taccordionTitle.attr('aria-expanded', true);\r\n\t\t\t\t\r\n\t\t\t\t// check if any tables exist and initilize if not already\r\n\t\t\t\tconst responsiveTable = accordionContent.find($('.responsive-table'));\r\n\t\t\t\tif (responsiveTable.length && !responsiveTable.hasClass('dataTable')) {\r\n\t\t\t\t\tresponsiveTable.DataTable( {\r\n\t\t\t\t\t responsive: true,\r\n\t\t\t\t\t paging: false,\r\n\t\t\t\t\t searching: false,\r\n\t\t\t\t ordering: false,\r\n\t\t\t\t info: false,\r\n\t\t\t\t autoWidth: false\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// tablet or down, scroll window to clicked accordion\r\n\t\t\t\tif (window.outerWidth < 991.98) {\r\n\t\t\t\t\tconst headerHeight = $('.mobile-header').outerHeight(true);\r\n\r\n\t\t\t\t\t$('html, body').animate({\r\n\t\t\t\t\t\tscrollTop: accordion.offset().top - headerHeight\r\n\t\t\t\t\t}, 1000);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\t\r\n }\r\n }\r\n \r\n \r\n openFirst() {\r\n const firstAccordion = this.accordions.first(); \r\n \r\n\t\tfirstAccordion.addClass('open').find('.accordion-content').slideDown(300);\r\n\t\tfirstAccordion.children('.accordion-title').attr('aria-expanded', true);\r\n firstAccordion.find('.accordion-title .fas').removeClass('fa-chevron-right').addClass('fa-chevron-down');\r\n\r\n }\r\n}\n\nclass Alerts {\r\n\t\r\n\tconstructor() {\r\n\r\n\t\tthis.alert = $('.alert');\r\n\t\tthis.alertCloseBtn = $('.close-alert-btn');\r\n\r\n\t\tif (this.alert.length) {\r\n\t\t\tthis.init();\t\t\t\r\n\t\t}\r\n\t}\r\n\r\n\tinit() {\r\n\r\n\t\t// Handle Toggling Alert Click\r\n\t\tthis.alertCloseBtn.on('click', (event) => {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tthis.closeAlert(event);\r\n\t\t});\r\n\r\n\t\tthis.checkStorage();\r\n\t}\r\n\r\n\r\n\t// check if they closed alert already and storage session id was set. if so close id on page load`\r\n\tcheckStorage() {\r\n\t\t$('.alert').each(function() {\r\n\t\t\tlet id = $(this).attr('id');\r\n\t\t\tlet alertSessionStorage = sessionStorage.getItem(id);\r\n\t\t\t// console.log(`id: ${id}, sessionID: ${alertSessionStorage}`);\r\n\t\t\t\r\n\t\t\tif (alertSessionStorage != null) {\r\n\t\t\t\tif (alertSessionStorage == 'closed') {\r\n\t\t\t\t\t$('#'+id+'').hide();\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\t$('#'+id+'').show();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t$('#'+id+'').show();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t}\r\n\t\r\n\t// close alert and add session storage id\r\n\tcloseAlert(event) {\r\n\t\tconst alert = $(event.currentTarget).closest('.alert');\r\n\t\tconst id = alert.attr('id');\r\n\r\n\t\talert.slideUp(300);\r\n\t\tsessionStorage.setItem(id, 'closed');\r\n\t}\r\n\r\n}\n\nclass ComparisonCards {\r\n\r\n constructor() {\r\n this.comparisonCards = $('.comparison-cards'); \r\n this.editMode = $('.sfPageEditor'); \r\n\r\n if (this.comparisonCards.length && !this.editMode.length) {\r\n this.init();\r\n }\r\n \r\n }\r\n \r\n init() {\r\n const self = this;\r\n \r\n // loop thru each slider and turn into slider if it doesn't have class .stack-cards\r\n this.comparisonCards.each(function() {\r\n \r\n if (!$(this).hasClass('stack-cards')) {\r\n let slider = $(this).find('.slick-slider');\r\n let totalCards = slider.find('.comparison-card-item').length;\r\n \r\n if (totalCards > 3) {\r\n self.initSlider(slider);\r\n }\r\n else {\r\n slider.closest('.cards').addClass('less-than-3');\r\n }\r\n }\r\n });\r\n \r\n }\r\n \r\n initSlider(slider) {\r\n\r\n slider.slick({\r\n slidesToShow: 3,\r\n slidesToScroll: 1,\r\n infinite: false,\r\n arrows: true,\r\n nextArrow: '',\r\n responsive: [\r\n\r\n {\r\n breakpoint: 992,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1\r\n }\r\n },\r\n {\r\n breakpoint: 768,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1\r\n }\r\n }\r\n ]\r\n // adaptiveHeight: true\r\n });\r\n }\r\n}\n\nclass FeaturedResources {\r\n\r\n\tconstructor() {\r\n\t\t// dom elements\r\n\t\tthis.resourceLinks = $('.featured-resource-item a');\r\n\r\n\t\tif (this.resourceLinks.length) {\r\n\t\t\tthis.init();\t\t\t\r\n\t\t}\r\n\t}\r\n\r\n\tinit() {\r\n\r\n\t\t// Handle when hovering into any news image/title/btn\r\n\t\tthis.resourceLinks.on({\r\n\t\t mouseenter: (event) => {\r\n\t\t this.addHoverState(event);\r\n\t\t },\r\n\t\t mouseleave: (event) => {\r\n\t\t this.removeHoverState(event);\r\n\t\t }\r\n\t\t});\r\n\r\n\t\t// Handle when focused into any news image/title/btn\r\n\t\tthis.resourceLinks.on('focusin', (event) => {\r\n\t this.addHoverState(event);\r\n\t\t}).on('focusout', (event) => {\r\n\t this.removeHoverState(event);\r\n\t\t});\r\n\r\n\t}\r\n\r\n\taddHoverState(event) {\r\n\t\t$(event.currentTarget).closest('.featured-resource-item').addClass('hover');\r\n\t}\r\n\r\n\tremoveHoverState(event) {\r\n\t\t$(event.currentTarget).closest('.featured-resource-item').removeClass('hover');\r\n\t}\r\n\r\n}\n\nclass FeaturedStats {\r\n\r\n constructor() {\r\n this.stats = $('.featured-stat-item');\r\n this.statHeaders = $('.featured-stat-item .stat-header');\r\n\r\n if (this.stats.length) {\r\n this.init();\r\n }\r\n }\r\n\r\n init() {\r\n\r\n // on page load, calculate tallest headline and set each one equally\r\n this.getTallestHeadline();\r\n\r\n $(window).resize(()=> {\r\n this.getTallestHeadline();\r\n });\r\n \r\n }\r\n\r\n getTallestHeadline() {\r\n let tallest = 0;\r\n const stats = $('.featured-stat-item');\r\n \r\n this.statHeaders.css('height', 'auto'); // reset headers before calculating tallest\r\n stats.each( function() {\r\n let itemHeight = $(this).find('.stat-header').outerHeight(true);\r\n tallest = itemHeight > tallest ? itemHeight : tallest;\r\n // console.log(`itemHeight: ${itemHeight}, tallest: ${tallest}... tallest now is ${tallest}`);\r\n });\r\n\r\n // set all headlines to be equal heights\r\n this.statHeaders.css('height', tallest);\r\n }\r\n}\n\nclass FeaturedRates {\r\n\r\n constructor() {\r\n this.rates = $('.featured-rate-item');\r\n this.rateHeaders = $('.featured-rate-item .rate-header');\r\n\r\n if (this.rates.length) {\r\n this.init();\r\n }\r\n }\r\n\r\n init() {\r\n\r\n // on page load, calculate tallest headline and set each one equally\r\n this.getTallestHeadline();\r\n\r\n $(window).resize(()=> {\r\n this.getTallestHeadline();\r\n });\r\n \r\n }\r\n\r\n getTallestHeadline() {\r\n let tallest = 0;\r\n const rates = $('.featured-rate-item');\r\n \r\n this.rateHeaders.css('height', 'auto'); // reset headers before calculating tallest\r\n rates.each( function() {\r\n let itemHeight = $(this).find('.rate-header').outerHeight(true);\r\n tallest = itemHeight > tallest ? itemHeight : tallest;\r\n // console.log(`itemHeight: ${itemHeight}, tallest: ${tallest}... tallest now is ${tallest}`);\r\n });\r\n\r\n // set all headlines to be equal heights\r\n this.rateHeaders.css('height', tallest);\r\n }\r\n}\n\nclass FloatingFormLabel {\r\n\r\n constructor() {\r\n // dom elements\r\n this.formFields = $('.floating-form-label input, .floating-form-label select, .floating-form-label textarea');\r\n\r\n if (this.formFields.length) {\r\n this.init(); \r\n }\r\n }\r\n\r\n init() {\r\n\r\n // on page load check inputs for postbacks to style accordingly\r\n this.formFields.each(function() {\r\n $(this).val(''); \r\n let field = $(this).closest('.field');\r\n \r\n if ($(this).val()) {\r\n field.addClass(\"not-empty\");\r\n }\r\n else {\r\n field.removeClass(\"not-empty\");\r\n }\r\n });\r\n\r\n // Handle when input gets focus\r\n this.formFields.on('focus', (event) => {\r\n this.hasFocus(event); \r\n });\r\n\r\n // Handle when input loses focus\r\n this.formFields.on('blur', (event) => {\r\n this.checkIfEmpty(event);\r\n });\r\n }\r\n\r\n hasFocus(event) {\r\n const field = $(event.target).closest('.field'); \r\n field.addClass('active'); \r\n }\r\n\r\n checkIfEmpty(event) {\r\n const field = $(event.target).closest('.field');\r\n\r\n if ($(event.target).val()) {\r\n field.addClass(\"not-empty\");\r\n }\r\n else {\r\n field.removeClass(\"not-empty\");\r\n }\r\n\r\n field.removeClass('active'); \r\n }\r\n\r\n\r\n\t\r\n\r\n}\n\nclass Menu {\r\n\r\n\tconstructor() {\r\n\t\t// dom elements\r\n\t\tthis.body = $('body');\r\n\t\tthis.mainMenu = $('.main-menu');\r\n\t\tthis.siteHeader = $('header.site-header');\r\n\t\tthis.toggleMobileMenuBtn = $('.toggle-mobile-menu .menu-btn');\r\n\t\tthis.menuTier1LI = $('.main-menu li.tier1.has-children');\r\n\t\tthis.menuTier1Link = $('.main-menu li.tier1.has-children > a');\r\n\t\tthis.mobileMenuIcons = $('.main-menu li .icon');\r\n\r\n\t\t// variables/indicators\r\n\t\tthis.breakpoint = 1199.98; // bootstraps \"lg\"\r\n\t\tthis.browserWidth = this.getBrowserWidth();\r\n\r\n\t\tthis.init();\r\n\t}\r\n\r\n\tinit() {\r\n\r\n\t\t// Handle rebinding elements if page resized\r\n\t\tthis.bindMenu();\r\n\r\n\t\t$(window).resize( () => {\r\n\t\t\tthis.bindMenu();\r\n\t\t});\r\n\t}\r\n\r\n\t// determines if desktop or mobile and binds appropriate menu elements\r\n\tbindMenu() {\r\n\t\tthis.browserWidth = this.getBrowserWidth();\r\n\r\n\t\tif (this.browserWidth >= this.breakpoint) {\r\n\t\t\tthis.unbindMobile();\r\n\t\t\tthis.desktopHandlers();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.unbindDesktop();\r\n\t\t\tthis.mobileHandlers();\r\n\t\t}\r\n\t}\r\n\r\n\tdesktopHandlers() {\r\n\r\n // Desktop Menu Hovered Over\r\n this.menuTier1LI.off('mouseenter mouseleave').on({\r\n mouseenter: (event) => {\r\n $(event.currentTarget).siblings('.hover').removeClass('hover').children('.mega-menu').stop().slideUp().removeClass('open');\r\n $(event.currentTarget).addClass('hover');\r\n $(event.currentTarget).children('.mega-menu').stop().addClass('open').slideDown(300);\r\n },\r\n mouseleave: (event) => {\r\n $(event.currentTarget).removeClass('hover');\r\n $(event.currentTarget).children('.mega-menu').stop().removeClass('open').slideUp(300);\r\n }\r\n });\r\n\r\n // Keyboard Used to focus\r\n this.menuTier1Link.on({\r\n focus: (event) => {\r\n const menuLI = $(event.currentTarget).parent('li.has-children');\r\n\r\n // close any open menus first\r\n menuLI.siblings('.has-children.hover').removeClass('hover').children('.mega-menu').stop().slideUp().removeClass('open');\r\n\r\n // now open focused menu item\r\n menuLI.addClass('hover').children('.mega-menu').stop().slideDown().addClass('open');\r\n }\r\n\t\t});\r\n\t\t\r\n\t\t// close menu if you focus anywhere besides menu\r\n\t\t$('a').on('focus', (event) => {\t\t\t\r\n\t\t\tif (!$(event.target).closest('.main-menu').length) {\r\n\t\t\t\tthis.menuTier1LI.removeClass('hover').children('.mega-menu').stop().slideUp().removeClass('open');\r\n\t\t\t}\r\n }); \r\n\t}\r\n\r\n\r\n\tmobileHandlers() {\r\n\t\t\r\n\t\t// Mobile Menu Btn clicked\r\n\t\tthis.toggleMobileMenuBtn.off('click').on('click', (event) => {\r\n\t\t\tconst keycode = (event.keyCode ? event.keyCode : event.which);\r\n\r\n\t\t\t$(event.currentTarget).find('.fas').toggleClass('fa-bars fa-times');\r\n\t\t\tthis.toggleMobileMenu();\r\n\t\t\t$(event.currentTarget).blur();\r\n\t\t\treturn false;\r\n\t\t});\r\n\r\n\t\t// Mobile Menu Btn Enter Key Pressed\r\n\t\t$('.toggle-mobile-menu').off('keypress').keypress( (event) => {\r\n\t\t const keycode = (event.keyCode ? event.keyCode : event.which);\r\n\r\n\t\t if( keycode == '13' || keycode == '32') {\r\n\t\t this.toggleMobileMenuBtn.find('.fas').toggleClass('fa-bars fa-times');\r\n\t\t\t\tthis.toggleMobileMenu(); \r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// Mobile Item's Icon clicked to toggle submenu\r\n\t\tthis.mobileMenuIcons.off('click').on('click', (event) => {\r\n\t\t\tevent.preventDefault();\r\n\r\n\t\t\tthis.mobileSubMenu(event);\r\n\t\t});\r\n\r\n\t\t// Mobile Item's Icon trigered with keyboard \r\n\t\tthis.mobileMenuIcons.off('keypress').keypress( (e) => {\r\n\t\t const keycode = (e.keyCode ? e.keyCode : e.which);\r\n\r\n\t\t if( keycode == '13' || keycode == '32') {\r\n\t\t this.mobileSubMenu(event);\r\n\t\t }\r\n\t\t});\r\n\t}\r\n\r\n\tunbindDesktop() {\r\n\t\t$('.main-menu li.tier1.has-children').off('mouseenter mouseleave');\r\n\t}\r\n\r\n\tunbindMobile() {\r\n\t\tthis.mobileMenuIcons.off('click');\r\n\t\tthis.mobileMenuIcons.off('keypress');\r\n\t}\r\n\r\n\ttoggleMobileMenu() {\r\n\r\n\t\tif (!$('body').hasClass('nav-open')) {\r\n\t\t\tthis.openMobileMenu();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tMenu.closeMobileMenu();\r\n\t\t}\r\n\r\n\t\tthis.calculateMenuHeight();\t\t\r\n\t}\r\n\r\n\r\n\r\n\topenMobileMenu() {\r\n\t\t// first close login and Search if they are open\r\n if ($('.toggle-mobile-login').hasClass('open')) {\r\n Login.closeLogin();\r\n }\r\n if ($('.site-search').hasClass('open')) {\r\n HeaderSearch.closeSearch();\r\n }\r\n\t\t\r\n\t\tthis.body.addClass('nav-open');\r\n\t\tthis.toggleMobileMenuBtn.addClass('open').attr('aria-expanded', true).children('.text').html('CLOSE');\r\n\t\tthis.mainMenu.slideDown();\r\n\t}\r\n\r\n\tstatic closeMobileMenu() {\r\n\t\t$('body').removeClass('nav-open');\r\n\t\t$('.main-menu').slideUp();\r\n\t\t$('.menu-btn').removeClass('open');\r\n\t\t$('.toggle-mobile-menu .menu-btn').removeClass('open').attr('aria-expanded', false).children('.text').html('MENU');\r\n\t\t// close all menu's\r\n\t\t$('.main-menu li.open').removeClass('open hover').find('.icon').removeClass('fa-minus').addClass('fa-plus');\r\n\t\t$('.main-menu .dropdown').slideUp();\r\n\t}\r\n\r\n\t// Handles toggling a mobile menu item\r\n\tmobileSubMenu(event) {\r\n\t\tconst clickedLI = $(event.target).closest('li');\r\n\t\t\r\n\t\t$(event.currentTarget).toggleClass('fa-plus fa-minus');\r\n\t\tclickedLI.toggleClass('open').children('.dropdown').slideToggle(300);\r\n\r\n\t\t// close open menu items\r\n\t\tclickedLI.siblings().removeClass('open').find('.dropdown').slideUp(300);\r\n\t\tclickedLI.siblings().find('.icon').removeClass('fa-minus').addClass('fa-plus');\r\n\t}\r\n\r\n\t// when mobile menu is open, calculate height of any alerts and header and set CSS so only menu is scrollable. rest of site is unscrollable during menu open\r\n\tcalculateMenuHeight() {\r\n\t\tconst headerH = this.siteHeader.find('.mobile-header').outerHeight(true);\r\n\t\tlet alertH = 0,\r\n\t\t\ttotalH = 0;\r\n\r\n\t\tconst alerts = $('.alert');\r\n\t\tif (alerts.length) {\r\n\t\t\talerts.each( function() {\r\n\t\t\t\talertH += $(this).outerHeight(true);\r\n\t\t\t});\r\n\t\t}\r\n\t\ttotalH = headerH;\r\n\r\n\t\tthis.siteHeader.css('max-height', 'calc(100vh - '+totalH+'px)');\r\n\t}\r\n\t\r\n\tresetMenu() {\r\n\t\tthis.siteHeader.css('height', 'auto');\r\n\t}\r\n\r\n\tgetBrowserWidth() {\r\n\t\treturn window.innerWidth;\r\n\t}\r\n\r\n}\n\nclass Login {\r\n\r\n constructor() {\r\n this.loginWrapper = $('header .login-wrapper');\r\n this.loginBtn = $('header .toggle-login-btn');\r\n this.mobileLoginBtn = $('header .toggle-mobile-login');\r\n this.loginBox = $('header .login-box');\r\n this.mobileLoginBox = $('header .mobile-login-box');\r\n this.breakpoint = 1199.98; // bootstraps \"lg\"\r\n\r\n if (this.loginWrapper.length) {\r\n this.init();\r\n }\r\n }\r\n\r\n init() {\r\n\r\n this.moveLoginIfMobileHeader();\r\n $(window).resize(() => {\r\n this.moveLoginIfMobileHeader();\r\n });\r\n\r\n if (this.loginBtn.attr('href') && this.loginBtn.attr('href') != null) {\r\n // Handler to Toggle Mobile Login Box\r\n $('header .toggle-mobile-login').attr('href', $('header .toggle-login-btn').attr('href'));\r\n $('header .toggle-mobile-login').attr('target', $('header .toggle-login-btn').attr('target'));\r\n $('header .toggle-mobile-login').attr('aria-label', $('header .toggle-login-btn').attr('aria-label'));\r\n } else {\r\n // Handler to Toggle Desktop Login Box\r\n this.loginBtn.off('click').on('click', (event) => {\r\n event.preventDefault();\r\n this.toggleLoginBox();\r\n $(event.currentTarget).blur();\r\n });\r\n\r\n // Handler to Toggle Mobile Login Box\r\n this.mobileLoginBtn.off('click').on('click', (event) => {\r\n event.preventDefault();\r\n $(event.currentTarget).toggleClass('open');\r\n this.toggleLoginBox();\r\n $(event.currentTarget).blur();\r\n });\r\n\r\n // handle if user clicks outside of search box\r\n $(document).on('click', (event) => {\r\n let browserWidth = $(window).outerWidth();\r\n \r\n // if on desktop, did they click outside of button or login box\r\n if (browserWidth > this.breakpoint) {\r\n if (!$(event.target).closest('header .login-wrapper').length) {\r\n Login.closeLogin();\r\n }\r\n }\r\n else {\r\n // if on mobile header, did they click outside of button or login box\r\n if ( (!$(event.target).closest('header .login-wrapper').length) && (!$(event.target).closest('header .toggle-mobile-login')) ) {\r\n Login.closeLogin();\r\n }\r\n }\r\n }); \r\n }\r\n\r\n \r\n \r\n }\r\n\r\n // Desktop Login\r\n toggleLoginBox() {\r\n this.loginWrapper = $('header .login-wrapper');\r\n\r\n if (!this.loginWrapper.hasClass('open')) {\r\n this.openLogin();\r\n }\r\n else {\r\n Login.closeLogin();\r\n }\r\n }\r\n\r\n\r\n\r\n openLogin() {\r\n this.loginWrapper = $('header .login-wrapper');\r\n this.loginBox = $('header .login-box'); \r\n\r\n // first close Search and menu if they are open\r\n if ($('.site-search').hasClass('open')) {\r\n HeaderSearch.closeSearch();\r\n }\r\n if ($('body').hasClass('nav-open')) {\r\n Menu.closeMobileMenu();\r\n } \r\n\r\n this.loginWrapper.addClass('open');\r\n this.loginBox.slideDown(300);\r\n $('header .login-box input').first().focus();\r\n }\r\n\r\n static closeLogin() {\r\n const loginWrapper = $('header .login-wrapper');\r\n const loginBox = $('header .login-box');\r\n const mobileLoginBtn = $('header .toggle-mobile-login');\r\n \r\n loginWrapper.removeClass('open');\r\n mobileLoginBtn.removeClass('open');\r\n loginBox.slideUp(300);\r\n }\r\n\r\n\r\n // if mobile header is showing, move login inside .mobile-header\r\n moveLoginIfMobileHeader() {\r\n let browserWidth = $(window).outerWidth();\r\n\r\n if (browserWidth < this.breakpoint) {\r\n if (!$('header .mobile-login-box .login-wrapper').length) {\r\n $('.utility-sub-menu .desktop-login .login-wrapper').appendTo('header .mobile-login-box');\r\n // console.log('moving login to mobile position'); \r\n }\r\n }\r\n else {\r\n if (!$('.utility-sub-menu .desktop-login .login-wrapper').length) {\r\n $('header .mobile-login-box .login-wrapper').appendTo('.utility-sub-menu .desktop-login');\r\n // console.log('moving login back to desktop position'); \r\n }\r\n \r\n }\r\n }\r\n}\n\nclass HeaderSearch {\r\n\r\n constructor() {\r\n this.searchWrapper = $('header .site-search');\r\n this.toggleSearchBtn = $('header .site-search .toggle-search');\r\n this.searchBox = $('header .site-search .search-box');\r\n this.breakpoint = 1199.98; // bootstraps \"lg\"\r\n\r\n if (this.searchWrapper.length) {\r\n this.init();\r\n }\r\n }\r\n\r\n init() {\r\n\r\n this.moveSearchIfMobileHeader();\r\n $(window).resize(() => {\r\n this.moveSearchIfMobileHeader();\r\n });\r\n\r\n // Handler to Toggle Search Box\r\n this.toggleSearchBtn.off('click').on('click', (event) => {\r\n event.preventDefault();\r\n this.toggleSearchBox();\r\n this.updateAriaLabel();\r\n });\r\n\r\n // handle if user clicks outside of search box\r\n $(document).off('click').on('click', (event) => { \r\n if (!$(event.target).closest('header .site-search').length) {\r\n HeaderSearch.closeSearch();\r\n }\r\n }); \r\n \r\n }\r\n\r\n toggleSearchBox() {\r\n if (!this.searchWrapper.hasClass('open')) {\r\n this.openSearch();\r\n }\r\n else {\r\n HeaderSearch.closeSearch();\r\n }\r\n }\r\n\r\n openSearch() {\r\n // first close login and menu if they are open\r\n if ($('.toggle-mobile-login').hasClass('open')) {\r\n Login.closeLogin();\r\n }\r\n if ($('body').hasClass('nav-open')) {\r\n Menu.closeMobileMenu();\r\n }\r\n \r\n this.searchWrapper.addClass('open');\r\n $('header .site-search .search-box input').focus();\r\n $('header').addClass('search-open');\r\n }\r\n\r\n updateAriaLabel() {\r\n const isOpen = this.searchWrapper.hasClass('open');\r\n const ariaLabel = isOpen ? 'click here to close site search' : 'click here to open site search';\r\n this.toggleSearchBtn.attr('aria-label', ariaLabel);\r\n }\r\n\r\n static closeSearch() {\r\n $('header .site-search').removeClass('open');\r\n $('header').removeClass('search-open');\r\n }\r\n\r\n moveSearchIfMobileHeader() {\r\n // if mobile header is showing, move search inside .mobile-header\r\n let browserWidth = $(window).outerWidth();\r\n // console.log(`browser: ${browserWidth}, breakpoint: ${this.breakpoint}`);\r\n\r\n if (browserWidth < this.breakpoint) {\r\n if (!$('.mobile-header .mobile-search .site-search').length) {\r\n $('header .site-search').appendTo('.mobile-header .mobile-search');\r\n // console.log('moving search to mobile position');\r\n }\r\n }\r\n else {\r\n if (!$('.utlity-nav .desktop-site-search .site-search').length) {\r\n $('.mobile-header .mobile-search .site-search').appendTo('.utility-nav .desktop-site-search');\r\n // console.log('moving search back to desktop position');\r\n }\r\n \r\n }\r\n }\r\n}\n\n/**\r\n * Lazy loads images that are set up properly.\r\n * For img tags: \r\n * \r\n \r\n For BG Images:
${model.street}
\r\n${model.cityStateZip}
\r\n