{"version":3,"sources":["Cookies.js","Forms.js","Functions.js","Header.js","Lazy_Images.js","Loading_Screen.js","Media_Queries.js","Responsive_Video.js","action_banner.js","layouts/accordions.js","layouts/centered-slider.js","layouts/content-with-slider.js","layouts/featured-pages.js","layouts/quote-slider.js","layouts/slider-banner.js","layouts/upcoming-events.js"],"names":["ThemeJS","Cookies","get_cookie","cname","name","ca","decodeURIComponent","document","cookie","split","i","length","c","charAt","substring","indexOf","JSON","parse","setSingle","cvalue","exdays","date","Date","setTime","getTime","expires","toGMTString","get","cookie_names","cookies","$","each","index","cookie_name","set","cookie_data","_typeof","isArray","value","hasOwnProperty","isEmptyObject","d","toUTCString","stringify","set_cookie","jQuery","init_select2","element","_$$data$close_on_sele","args","minimumResultsForSearch","closeOnSelect","data","close_on_select","attr","placeholder","select2","on","event","parent","find","prop","$button","this","addClass","e","form_id","current_page","concat","Functions","root","scroll_to","$target","arguments","undefined","animate","scrollTop","offset","top","height","focus","is","preventDefault","href","location","hostname","target","aria-label","send_ajax_request","nonce","Variables","Ajax","post","url","response","success","error","get_query_parameter","window","replace","results","RegExp","exec","$header","$body","$menu_wrap","$menu_toggle","$sub_menu_toggles","$window","transparent_header","set_opacity","toggleClass","init_header_style","hasClass","set_body_margin","spacing","css","marginTop","set_menu_tab_index","tab_index","_tab_index","Media_Queries","is_at_least","sub_menu_toggle_tab_index","body","setTimeout","click","stopPropagation","$parent_li","closest","$submenu","was_visible","slideToggle","Lazy_Images","observer","onIntersection","entries","entry","intersectionRatio","unobserve","preloadImage","forEach","removeAttr","images","querySelectorAll","IntersectionObserver","rootMargin","threshold","observe","Loading_Screen","$loading_screen","transition_duration","$icon","$icon_wrapper","append","transition_duration_string","parseInt","parseFloat","remove","fn","loading_screen","show","callback","Boolean","$local_load_screen","clone","removeClass","init","breakpoints","sm","md","lg","xl","size","px","push","sort","a","b","current_size","queries","calculate_current_size","max_matched_size","query","matches","breakpoint_changed","trigger","obj","matchMedia","addListener","get_current_size","Responsive_Video","ar","action_banner","outerHeight","resize","scroll","action_banner_text","text","next","$section","$slider","num_slides","slick","slidesToShow","slidesToScroll","speed","arrows","infinite","draggable","centerMode","mobileFirst","prevArrow","nextArrow","$all_slides","current","slick_index","actual_slide_index","slider_speed","$slides","$slide_imgs","slide_transition_property","position_slides","active","slides_offset","slide_css","slide_width","rtl","resize_debounce","$slick_track","resize_slider","position","transition-duration","first","width","clearTimeout","description_sections","$columns","$height_matchers","layout_type","resize_section","per_block","resize_args","per_row","block_size","content_from_index","content_into_index","img_grow_indices","Math","round","index_mod","is_first_row_of_block","has_next_row","children","eq","$second_column","prepend","includes","num_items","siblings","num_rows","ceil","this_row","is_last_row","matchHeight","$description_wrap","html","dots","adaptiveHeight","$text_wrapper","$slider_text","$live_section","$g_background","autoplay_speed","left","autoplaySpeed","autoplay","text_height","filter","$active_text","bottom","this_height","current_slide","recalculate_slider_text_height","slick_options","responsive","breakpoint","settings","$slider_control_bar","$slider_controls_row","$slider_controls","$active_page_display","appendTo","init_slider_controls","slides_per_page","window_size","num_pages","$control","slide"],"mappings":"8PAMAA,QAAAC,QAAA,WAaA,SAAAC,EAAAC,GAIA,IAHA,IAAAC,EAAAD,EAAA,IAEAE,EADAC,mBAAAC,SAAAC,QACAC,MAAA,KACAC,EAAA,EAAAA,EAAAL,EAAAM,OAAAD,IAAA,CAEA,IADA,IAAAE,EAAAP,EAAAK,GACA,KAAAE,EAAAC,OAAA,IACAD,EAAAA,EAAAE,UAAA,GAEA,GAAA,GAAAF,EAAAG,QAAAX,GACA,OAAAY,KAAAC,MAAAL,EAAAE,UAAAV,EAAAO,OAAAC,EAAAD,SAGA,MAAA,GAsEA,MAAA,CACAO,UAVA,SAAAf,EAAAgB,EAAAC,GACA,GAAAA,EAAA,CACA,IAAAC,EAAA,IAAAC,KACAD,EAAAE,QAAAF,EAAAG,UAAA,GAAAJ,EAAA,GAAA,GAAA,KACA,IAAAK,EAAA,aAAAJ,EAAAK,mBACAD,EAAA,GACAlB,SAAAC,OAAAL,EAAA,IAAAgB,EAAAM,EAAA,WAKAE,IAlDA,SAAAC,GACA,GAAA,iBAAAA,EACA,OAAA1B,EAAA0B,GAEA,IAAAC,EAAA,GAIA,OAHAC,EAAAC,KAAAH,EAAA,SAAAI,EAAAC,GACAJ,EAAAI,GAAA/B,EAAA+B,KAEAJ,GA2CAK,IA5BA,SAAAL,GACAC,EAAAC,KAAAF,EAAA,SAAAI,EAAAE,GACAA,IACA,UAAAC,QAAAD,IAAAL,EAAAO,QAAAF,MACAA,EAAA,CAAAG,MAAAH,IAEAA,EAAAI,eAAA,aACAJ,EAAAV,QAAA,IAGAU,EAAA,CAAAG,MAAA,GAAAb,QAAA,GAhFA,SAAAtB,EAAAgB,EAAAC,GACAD,IAAAW,EAAAU,cAAArB,IAAAA,EAAAR,SACAQ,EAAA,GACAC,EAAA,GAEA,IAAAqB,EAAA,IAAAnB,KACAmB,EAAAlB,QAAAkB,EAAAjB,UAAA,GAAAJ,EAAA,GAAA,GAAA,KACA,IAAAK,EAAA,WAAAgB,EAAAC,cACAnC,SAAAC,OACAL,EAAA,IAAAa,KAAA2B,UAAAxB,GAAA,IAAAM,EAAA,UAyEAmB,CAAAX,EAAAE,EAAAG,MAAAH,EAAAV,aAnFA,GCNAoB,OAAA,SAAAf,GAgBA,SAAAgB,EAAAC,GAAA,IAAAC,EACAC,EAAA,CACAC,wBAAA,EACAC,cAAA,QAAAH,EAAAlB,EAAAiB,GAAAK,OAAAC,uBAAA,IAAAL,GAAAA,GAEAlB,EAAAiB,GAAAO,KAAA,iBACAL,EAAAM,YAAAzB,EAAAiB,GAAAO,KAAA,gBAEAxB,EAAAiB,GAAAS,QAAAP,GAEAnB,EAAAiB,GAAAO,KAAA,aACAxB,EAAAiB,GAAAU,GAAA,kCAAA,SAAAC,GACA5B,EAAAiB,GAAAY,SAAAC,KAAA,0BACAC,KAAA,YAAA,KA1BA/B,EAAAvB,UAAAkD,GAAA,SAAA,sBAAA,WACA,IAAAK,EAAAhC,EAAA,sBAAAiC,MACAD,EAAAnD,SACAmD,EAAAR,KAAA,YAAA,GACAQ,EAAAR,KAAA,gBAAA,QACAQ,EAAAE,SAAA,yBAKAlC,EAAA,8CAAAwB,KAAA,gBAAA,QAqBAxB,EAAA,UAAAC,KAAA,WACAe,EAAAiB,QAGAjC,EAAAvB,UAAAkD,GAAA,oBAAA,SAAAQ,EAAAC,EAAAC,GACArC,EAAA,SAAA,UAAAsC,OAAAF,IAAAnC,KAAA,WACAe,EAAAiB,YCpCA/D,QAAAqE,UAAA,SAAAvC,EAAAwC,GAyBA,SAAAC,EAAAC,GAAA,EAAAC,UAAA9D,aAAA+D,IAAAD,UAAA,IAAAA,UAAA,GACA,iBAAAD,IACAA,EAAA1C,EAAA,SAEA0C,aAAA3B,SACA2B,EAAA1C,EAAA0C,IAEAA,EAAA7D,QACAmB,EAAA,cAAA6C,QACA,CAAAC,UAAAJ,EAAAK,SAAAC,IAAAhD,EAAA,sBAAAiD,SAAA,IACA,IACA,WAEA,GADAP,EAAAQ,QACAR,EAAAS,GAAA,UACA,OAAA,EAEAT,EAAAlB,KAAA,WAAA,MACAkB,EAAAQ,UAuBA,OAjBAlD,EAAAvB,UAAAkD,GAAA,QAAA,eAAA,SAAAQ,GACAA,EAAAiB,iBACAX,EAAAzC,EAAAiC,MAAAT,KAAA,WAGAxB,EAAA,WAEAA,EAAA,iBAAAC,KAAA,YACA,GAAAgC,KAAAoB,KAAApE,QAAAqE,SAAAC,WACAvD,EAAAiC,MAAAT,KAAA,CACAgC,OAAA,SACAC,aAAA,8BAMA,CACAC,kBAhEA,SAAAvC,GACAA,EAAAG,KAAAqC,MAAAzF,QAAA0F,UAAAC,KAAAF,MACA3D,EAAA8D,KAAA5F,QAAA0F,UAAAC,KAAAE,IAAA5C,EAAAG,KAAA,SAAA0C,IACAA,EAAA9E,KAAAC,MAAA6E,IACAvD,eAAA,UAAAuD,EAAA1C,KAAA,IACA0C,EAAAC,SAAA,mBAAA9C,EAAA8C,QACA9C,EAAA8C,QAAAD,EAAA1C,MACA0C,EAAAC,SAAA,mBAAA9C,EAAA+C,OACA/C,EAAA+C,MAAAF,EAAA1C,SAyDA6C,oBApDA,SAAA7F,EAAAyF,GACAA,IAAAA,EAAAK,OAAAd,SAAAD,MACA/E,EAAAA,EAAA+F,QAAA,UAAA,QACA,IACAC,EADA,IAAAC,OAAA,QAAAjG,EAAA,qBACAkG,KAAAT,GACA,OAAAO,EACAA,EAAA,GACA9F,mBAAA8F,EAAA,GAAAD,QAAA,MAAA,MADA,GADA,MAgDA5B,UAAAA,GApEA,CAuEA1B,QC3EA,SAAAf,GAEA,IAAAyE,EACAC,EACAC,EACAC,EACAC,EACAC,EAAA9E,EAAAoE,QAEAW,GAAA,EAYA,SAAAC,IACAP,EAAAQ,YAAA,UAAAF,GAAA,GAAAD,EAAAhC,aAIA,SAAAoC,IAEAT,EAAAU,SAAA,WACAV,EAAAvC,SAAA,sBACA6C,GAAA,EACAC,IACAF,EAAAnD,GAAA,4BAAAqD,IAEAI,IACAN,EAAAnD,GAAA,qBAAAyD,GACAX,EAAAvC,SAAA,SAIA,SAAAkD,IACA,IAAAC,EAAAN,EAAA,EAAAN,EAAAxB,SACAyB,EAAAY,IAAA,CACAC,UAAA,GAAAjD,OAAA+C,EAAA,QAKA,SAAAG,EAAAC,GAAA,IAAAC,EACAD,EAAA,QAAAC,EAAAD,SAAA,IAAAC,EAAAA,EAAAxH,QAAAyH,cAAAC,YAAA,MAAA,GAAA,EACA5F,EAAA,IAAA2E,GAAAnD,KAAA,WAAAiE,GACA,IAAAI,EAAA3H,QAAAyH,cAAAC,YAAA,QAAA,GAAAH,GAAA,EAAA,EACAzF,EAAA,yBAAA2E,GAAAnD,KAAA,WAAAqE,GAIA7F,EAAA,WA3CAyE,EAAAzE,EAAA,sBACA0E,EAAA1E,EAAAvB,SAAAqH,MACAnB,EAAA3E,EAAA,aAAAyE,GACAG,EAAA5E,EAAA,qBAAAyE,GACAI,EAAA7E,EAAA,0EAAAyE,GAyCAsB,WAAAb,EAAA,GAEAM,IACAV,EAAAnD,GAAA,qBAAA,WACA6D,MAGAZ,EAAAoB,MAAA,WACAtB,EAAAO,YAAA,aACAP,EAAAS,SAAA,cACAK,EAAA,GACAb,EAAAzB,SAEAsC,GAAA,KAGAX,EAAAhG,QACAgG,EAAAmB,MAAA,SAAA7D,GACAA,EAAAiB,iBACAjB,EAAA8D,kBACA,IAAAC,EAAAlG,EAAAiC,MAAAkE,QAAA,MACAC,EAAApG,EAAA,cAAAkG,GACAG,EAAAD,EAAAjD,GAAA,YACAiD,EAAAE,YAAA,KACAJ,EAAA1E,KAAA,iBAAA6E,OAlFA,CAwFAtF,QCxFA7C,QAAAqI,YAAA,SAAAvG,GAEA,IAAAwG,EAiBA,SAAAC,EAAAC,GAEA,IAAA,IAAA9H,EAAA,EAAAA,EAAA8H,EAAA7H,OAAAD,IAAA,CACA,IAAA+H,EAAAD,EAAA9H,GAEA,EAAA+H,EAAAC,oBAGAJ,EAAAK,UAAAF,EAAAnD,QACAsD,EAAAH,EAAAnD,UAKA,SAAAsD,EAAAtD,GACA,IAAAd,EAAA1C,EAAAwD,GACAlC,EAAAoB,EAAApB,OACA,CAAA,SAAA,OAAAyF,QAAA,SAAAvF,GACAF,EAAAb,eAAAe,KACAkB,EAAAlB,KAAAA,EAAAF,EAAAE,IACAkB,EAAAsE,WAAA,QAAA1E,OAAAd,OAKA,OAxCAxB,EAAA,WACA,IAAAiH,EAAAxI,SAAAyI,iBAAA,eAQAV,EAAA,IAAAW,qBAAAV,EAPA,CAEAW,WAAA,YACAC,UAAA,MAKA,IAAA,IAAAzI,EAAA,EAAAA,EAAAqI,EAAApI,OAAAD,IACA4H,EAAAc,QAAAL,EAAArI,MA6BA,GA5CA,CA8CAmC,QCxBA7C,QAAAqJ,eAAA,SAAAvH,EAAAwC,GAEA,IAAAgF,GAAA,EACAC,EAAA,EAuCAzH,EAAA,YArCA,WACA,IAAA0H,EAAA1H,EAAA,QAAAkC,SAAA,gBACAyF,EAAA3H,EAAA,UAAAkC,SAAA,wBAAA0F,OAAAF,GACAF,EAAAxH,EAAA,UAAAkC,SAAA,8BAAA0F,OAAAD,GACA3H,EAAA,QAAA4H,OAAAJ,GACA,IAAAK,EAAAL,EAAAlC,IAAA,uBACAmC,EAAAK,SAAA,IAAAC,WAAAF,IACAL,EAAAQ,SAEAhI,EAAAiI,GAAAC,eAAA,SAAAC,EAAAC,GAEA,GADAD,OAAA,IAAAA,GAAAE,QAAAF,GACA,CACA,GAAAnI,EAAA,8BAAAiC,MAAApD,OAAA,OACA,UAAAmB,EAAAiC,MAAAqD,IAAA,aAAAtF,EAAAiC,MAAAqD,IAAA,WAAA,YACA,IAAAgD,EAAAd,EAAAe,QACAvI,EAAAiC,MAAA2F,OAAAU,GACAvC,WAAA,WACAuC,EAAApG,SAAA,YACA,GACA,mBAAAkG,GACArC,WAAAqC,EAAAX,OAEA,CAEA,KADAa,EAAAtI,EAAA,8BAAAiC,OACApD,OAAA,OACAyJ,EAAAE,YAAA,WACAzC,WAAA,WACAuC,EAAAN,SACA,mBAAAI,GACAA,KAEAX,KAOAgB,KA3CA,CA8CA1H,QCpEA7C,QAAAyH,cAAA,SAAA3F,GAKA,IASA0I,EAAA,GACA1I,EAAAC,KAVA,CACA0I,GAAA,IACAC,GAAA,IACAC,GAAA,IACAC,GAAA,MAMA,SAAAC,EAAAC,GACAN,EAAAO,KAAA,CAAAF,KAAAA,EAAAC,GAAAA,MAEAN,EAAAQ,KAAA,SAAAC,EAAAC,GACA,OAAAD,EAAAH,GAAAI,EAAAJ,KAGA,IAMAK,EANAC,EAAA,GAQA,SAAAC,IACA,IAAAC,EAAA,KACAxJ,EAAAC,KAAAqJ,EAAA,SAAAP,EAAAU,GACA,IAAAA,EAAAC,QAIA,OAAA,EAHAF,EAAAT,IAKAM,EAAAG,EAGA,SAAAG,IACAJ,IACAvJ,EAAAoE,QAAAwF,QAAA,qBAAAP,GAGA,OAxBArJ,EAAAC,KAAAyI,EAAA,SAAAxI,EAAA2J,GACAP,EAAAO,EAAAd,MAAA3E,OAAA0F,WAAA,gBAAAxH,OAAAuH,EAAAb,GAAA,SACAM,EAAAO,EAAAd,MAAAgB,YAAAJ,KAIAJ,IAkBA,CACAS,iBAAA,WACA,OAAAX,GAEAzD,YAAA,SAAAmD,GACA,OAAAO,EAAAP,GAAAW,UApDA,CAwDA3I,QCtDA7C,QAAA+L,iBAAA,SAAAjK,EAAAwC,GAGAxC,EAAA,qBAAAC,KAAA,WAGA,IAAAiK,EAAAlK,EAAAiC,MAAAT,KAAA,oBAGA,cAAAlB,QAAA4J,KAAA,IAAAA,GACAlK,EAAAiC,MAAAqD,IAAA,iBAAA,EAAA4E,EAAA,IAAA,OAVA,CAeAnJ,QCjBAA,OAAA,SAAAf,GACA,IAAAmK,EAAAnK,EAAA,kBACAmK,EAAAtL,SACAmB,EAAA,UAAAwB,KAAA,QAAA,cAAA2I,EAAAC,cAAA,MACApK,EAAA,8BAAAwB,KACA,QACA,cAAA2I,EAAAC,cAAA,MAEApK,EAAAoE,QAAAiG,OAAA,WACAF,EAAAhF,SAAA,YACAnF,EAAA,UAAAwB,KACA,QACA,cAAA2I,EAAAC,cAAA,MAEApK,EAAA,8BAAAwB,KACA,QACA,cAAA2I,EAAAC,cAAA,SAIApK,EAAAoE,QAAAkG,OAAA,WACAtK,EAAAoE,QAAAtB,aACA9C,EAAA,UAAAwB,KAAA,QAAA,kBACAxB,EAAA,8BAAAwB,KAAA,QAAA,mBAEA2I,EAAAhF,SAAA,YACAnF,EAAA,UAAAwB,KACA,QACA,cAAA2I,EAAAC,cAAA,MAEApK,EAAA,8BAAAwB,KACA,QACA,cAAA2I,EAAAC,cAAA,SAKApK,EAAA,wBAAAgG,MAAA,WACAhG,EAAA,UAAAwB,KAAA,QAAA,kBACAxB,EAAA,8BAAAwB,KAAA,QAAA,kBACA,IAAA+I,EAAAvK,EAAA,uBAAAwK,OACAL,EAAAjI,SAAA,UACAhE,QAAAC,QAAAiB,UACA,iCACAmL,EACA,UC7CAxJ,OAAA,SAAAf,GAEAA,EAAA,qBAAAgG,MAAA,WACAhG,EAAAiC,MAAAgD,YAAA,kBAAAwF,KAAA,sBAAAnE,YAAA,SCHAvF,OAAA,SAAAf,GAEAA,EAAA,oBAAAC,KAAA,WACA,IACAyK,EAAA1K,EAAAiC,MACA0I,EAAA3K,EAAA,gBAAA0K,GAEAE,EADA5K,EAAA,eAAA2K,GACA9L,OAGA8L,EAAAE,MAAA,CACAC,aAAA,EACAC,eAAA,EACAC,MAVA,IAWAC,QAAA,EACAC,UAAA,EACAC,WAAA,EACAC,YAAA,EACAC,aAAA,EACAC,UAAAtL,EAAA,YAAA0K,GACAa,UAAAvL,EAAA,YAAA0K,KAIA,IAAAc,EAAAxL,EAAA,eAAA2K,GAIAA,EAAAhJ,GAAA,eAAA,SAAAQ,EAAA0I,EAAAY,EAAAhB,GACAe,EAAAvL,KAAA,WACA,IAAAyL,EAAA5D,SAAA9H,EAAAiC,MAAAT,KAAA,qBAEAmK,GAAAf,EADAc,EAAAd,GACAA,EACA5K,EAAAiC,MAAAgD,YAAA,uBAAA0G,GAAAlB,WCjCA1J,OAAA,SAAAf,GAEAA,EAAA,wBAAAC,KAAA,WACA,IAAA2L,EAAA,IACAlB,EAAA1K,EAAAiC,MACA0I,EAAA3K,EAAA,gBAAA0K,GACAmB,EAAA7L,EAAA,eAAA2K,GAAArF,IAAA,sBAAA,GAAAhD,OAAAsJ,EAAA,OACAE,EAAA9L,EAAA,MAAA6L,GAEAE,GADA/L,EAAA,gBAAA0K,GACAA,EAAAvF,SAAA,kBAAA,OAAA,SAiBA,SAAA6G,EAAAC,GACAJ,EAAA5L,KAAA,WACA,IAAAyL,EAAA1L,EAAAiC,MAAAT,KAAA,oBACAxB,EAAAiC,MAAAgD,YAAA,aAAAyG,GAAAO,EAAA,GACA,IAAAC,EAAAR,EAAAO,EAAAA,EAAAP,EACAS,EAAA,GACAA,EAAAJ,GAAA,GAAAzJ,OAAA4J,EAAAE,EAAA,MACApM,EAAAiC,MAAAqD,IAAA6G,KAvBA,SAAAJ,GACApB,EAAAnJ,KAAA,MAAA,OAGAmJ,EAAAE,MAAA,CACAC,aAAA,EACAC,eAAA,EACAC,MAAAY,EACAX,QAAA,EACAC,UAAA,EACAC,WAAA,EACAkB,IAAA,SAAAN,EACAT,UAAAtL,EAAA,YAAA0K,GACAa,UAAAvL,EAAA,YAAA0K,KAcAC,EAAAhJ,GAAA,eAAA,SAAAQ,EAAA0I,EAAAY,EAAAhB,GACAuB,EAAAvB,KAMA,IACA2B,EACAE,EAFAC,EAAAvM,EAAA,eAAA0K,GAIA,SAAA8B,IACAV,EAAAxG,IAAA,sBAAA,GACAuG,EAAAvG,IAAA,CACAmH,SAAA,SACAC,sBAAA,IAEAH,EAAAjH,IAAA,SAAA,QAAArC,OAAAsJ,EAAAtJ,UACAmJ,EAAAP,EAAAc,QAAAC,QACAf,EAAA5L,KAAA,WACA,IAAAkM,EAAA,CACAM,SAAA,WACAC,sBAAAd,GAEA5L,EAAAiC,MAAAqD,IAAA6G,KAEAH,EAAArB,EAAAE,MAAA,sBACAiB,EAAAxG,IAAA,sBAAA,GAAAhD,OAAAsJ,EAAA,OAGAY,IACAxM,EAAAoE,QAAAiG,OAAA,WACAwC,aAAAP,GACAA,EAAAvG,WAAAyG,EAAA,WCtEAzL,OAAA,SAAAf,GAEAA,EAAA,0BAAAC,KAAA,WAEA,IAMA6M,EANApC,EAAA1K,EAAAiC,MACA8K,EAAA/M,EAAA,iBAAA0K,GACAsC,EAAAhN,EAAA,kBAAA0K,GAEAuC,EAAAvC,EAAApJ,OAAA2L,YAiBA,SAAAC,IACA,IAOAC,EACAC,EACAC,EAiCAC,EA1CAH,EAAA,YAAAF,GAAA/O,QAAAyH,cAAAC,YAAA,MAAA,EAAA,EACA,WAAAqH,GAAA/O,QAAAyH,cAAAC,YAAA,QACAuH,EAAA,GAMAC,EAmCA,IADAE,EAnCAH,EAHAA,IA0CA,CACAI,mBAAA,EACAC,mBAAA,GAAAF,EAAA,EAAA,EACAG,iBAAA,GAAAH,EAAA,CAAA,EAAA,EAAA,GAAA,CAAA,EAAA,IAxCAD,EAAAK,KAAAC,MAAAZ,EAAAlL,SAAA+K,QAAAG,EAAAH,SACAG,EAAA9M,KAAA,WAEA,GADAD,EAAA,gBAAAiC,MAAA+F,SACA,GAAAmF,EACAnN,EAAAiC,MAAAuG,YAAA,YACAxI,EAAAiC,MAAA2F,OAAAkF,EAAA9M,EAAAiC,MAAAT,KAAA,0BACA,CACA,IAAAtB,EAAAF,EAAAiC,MAAA/B,QACA0N,EAAA1N,EAAAiN,EACAU,EAAAD,EAAAP,EACAS,EAAA9N,EAAAiC,MAAAJ,SAAAkM,WAAAC,GAAA9N,EAAAmN,GAAAxO,OAMA,GALAgP,GAAAC,EAEAF,GAAAR,EAAAG,oBACAvN,EAAA,kBAAAiC,MAAA2F,OAAAkF,EAAA9M,EAAAiC,MAAAT,KAAA,sBAFAxB,EAAAiC,MAAA2F,OAAAkF,EAAA9M,EAAAiC,MAAAT,KAAA,sBAIAoM,GAAAR,EAAAI,mBAAA,CACA,IAAAS,EAAAjO,EAAAiC,MAAAJ,SAAAkM,WAAAC,GAAA,GACAhO,EAAA,kBAAAiC,MAAAiM,QAAApB,EAAAmB,EAAAzM,KAAA,sBAEAxB,EAAAiC,MAAAgD,YAAA,WAAAmI,EAAAK,iBAAAU,SAAAP,IAEA,IAAAQ,EAAApO,EAAAiC,MAAAoM,WAAAxP,OAAA,EACAyP,EAAAZ,KAAAa,KAAAH,EAAAf,GACAmB,EAAAd,KAAAa,MAAAvO,EAAAiC,MAAA/B,QAAA,GAAAmN,GACAoB,EAAAD,GAAAF,EACAtO,EAAA,8BAAAiC,MAAAgD,YAAA,OAAAwJ,KAEAzB,EAAA0B,cA9CA5B,EAAA,GACAC,EAAA9M,KAAA,WACA,IAAA0O,EAAA3O,EAAA,oBAAAiC,MACA6K,EAAA9M,EAAAiC,MAAAT,KAAA,qBAAAmN,EAAAC,OACAD,EAAA3G,WARAkF,IACAlN,EAAAoE,QAAAzC,GAAA,qBAAAuL,OCdAnM,OAAA,SAAAf,GAEAA,EAAA,iBAAAC,KAAA,WACA,IACAyK,EAAA1K,EAAAiC,MACAjC,EAAA,gBAAA0K,GAEAG,MAAA,CACAC,aAAA,EACAC,eAAA,EACAC,MAPA,IAQAC,QAAA,EACA4D,MAAA,EACA3D,UAAA,EACAC,WAAA,EACAE,aAAA,EACAyD,gBAAA,QChBA/N,OAAA,SAAAf,GAEAA,EAAA,kBAAAC,KAAA,WACA,IAAA2L,EAAA,IACAlB,EAAA1K,EAAAiC,MACA0I,EAAA3K,EAAA,gBAAA0K,GACAmB,EAAA7L,EAAA,eAAA2K,GAAArF,IAAA,sBAAA,GAAAhD,OAAAsJ,EAAA,OACAE,EAAA9L,EAAA,MAAA6L,GACAkD,EAAA/O,EAAA,gBAAA0K,GACAsE,EAAAhP,EAAA,eAAA+O,GAAAzJ,IAAA,sBAAA,GAAAhD,OAAAsJ,EAAA,OACAqD,EAAAjP,EAAA,oBAAA0K,GACAwE,EAAAlP,EAAA,gBAAA0K,GAEAyE,EAAArH,SAAA6C,EAAArJ,KAAA,mBAeA,SAAA0K,EAAAC,GACAJ,EAAA5L,KAAA,WACA,IAAAyL,EAAA1L,EAAAiC,MAAAT,KAAA,oBACAxB,EAAAiC,MAAAgD,YAAA,aAAAyG,GAAAO,EAAA,GACA,IAAAC,EAAAR,EAAAO,EAAAA,EAAAP,EACA1L,EAAAiC,MAAAqD,IAAA,CACA8J,KAAA,GAAA9M,OAAA4J,EAAAE,EAAA,UAnBAzB,EAAAE,MAAA,CACAC,aAAA,EACAC,eAAA,EACAC,MAAAY,EACAX,QAAA,EACAC,UAAA,EACAC,WAAA,EACAG,UAAAtL,EAAA,YAAA0K,GACAa,UAAAvL,EAAA,YAAA0K,GACA2E,cAAA,IAAAF,EACAG,SAAAjH,QAAA8G,KAcAxE,EAAAhJ,GAAA,eAAA,SAAAQ,EAAA0I,EAAAY,EAAAhB,GACAuB,EAAAvB,GAGAuE,EAAAxG,YAAA,UACA,IAAA+G,EAAAP,EAAAQ,OAAA,WACA,OAAAxP,EAAAiC,MAAAT,KAAA,qBAAAiJ,IACAxH,SACA8L,EAAA9L,OAAAsM,KAOA5E,EAAAhJ,GAAA,cAAA,SAAAQ,EAAA0I,EAAAY,GACAuD,EAAAxG,YAAA,WACA,IAAAiH,EAAAT,EAAAQ,OAAA,WACA,OAAAxP,EAAAiC,MAAAT,KAAA,qBAAAiK,IACAvJ,SAAA,kBACA+M,EAAAL,KAAA5O,EAAA,KAAAyP,GAAAb,UAKA,IACAxC,EACAE,EAFAC,EAAAvM,EAAA,eAAA0K,GAIA,SAAA8B,IAoCA,IACAkD,EApCA5D,EAAAxG,IAAA,sBAAA,GACAuG,EAAAvG,IAAA,CACAmH,SAAA,SACAC,sBAAA,IAEAH,EAAAjH,IAAA,SAAA,QAAArC,OAAAsJ,EAAAtJ,UACAmJ,EAAAP,EAAAc,QAAAC,QACAf,EAAA5L,KAAA,WACAD,EAAAiC,MAAAqD,IAAA,CACAmH,SAAA,WACAC,sBAAA,GAAApK,OAAAsJ,EAAA,UAGAI,EAAArB,EAAAE,MAAA,sBACAiB,EAAAxG,IAAA,sBAAA,GAAAhD,OAAAsJ,EAAA,OAKA,WACA,IAAA3I,EAAA,EACA,GAAA,KAAAjD,EAAAoE,QAAAwI,QACAoC,EAAA/O,KAAA,WACA,IAAA0P,EAAA3P,EAAAiC,MAAAgB,SACAA,EAAAA,EAAA0M,EAAAA,EAAA1M,QAEA,CACA,IAAA2M,EAAAjF,EAAAE,MAAA,qBACA5H,EAAA+L,EAAAQ,OAAA,WACA,OAAAxP,EAAAiC,MAAAT,KAAA,qBAAAoO,IACA3M,SAEA8L,EAAA9L,OAAAA,GAjBA4M,GAqBAH,EAAAxR,QAAAyH,cAAAC,YAAA,MAAA,EAAA,GAAAtD,OAAAwF,SAAA4C,EAAApF,IAAA,mBAAAqF,EAAA1H,SAAA,EAAA,MACAiM,EAAA5J,IAAA,SAAAoK,GAGAlD,IACAxM,EAAAoE,QAAAiG,OAAA,WACAwC,aAAAP,GACAA,EAAAvG,WAAAyG,EAAA,WChHAzL,OAAA,SAAAf,GAEA,IACA8P,EAAA,CACAhF,aAAA,EACAC,eAAA,EACAC,MAJA,IAKAC,QAAA,EACAC,UAAA,EACAG,aAAA,EACA0E,WAAA,CACA,CACAC,WAAA,KACAC,SAAA,CACAnF,aAAA,EACAC,eAAA,IAGA,CACAiF,WAAA,IACAC,SAAA,CACAnF,aAAA,EACAC,eAAA,IAGA,CACAiF,WAAA,IACAC,SAAA,CACAnF,aAAA,EACAC,eAAA,IAGA,CACAiF,WAAA,IACAC,SAAA,CACAnF,aAAA,EACAC,eAAA,MAMA+E,EAAAC,WAAA7G,KAAA,SAAAC,EAAAC,GACA,OAAAD,EAAA6G,WAAA5G,EAAA4G,aAGAhQ,EAAA,oBAAAC,KAAA,WACA,IAYAqM,EAZA5B,EAAA1K,EAAAiC,MACA0I,EAAA3K,EAAA,gBAAA0K,GACAmB,EAAA7L,EAAA,eAAA2K,GACAuF,EAAAlQ,EAAA,sBAAA0K,GACAyF,EAAAnQ,EAAA,OAAAkQ,GACAE,EAAApQ,EAAA,IACAqQ,EAAArQ,EAAA,SACAkC,SAAA,uBACAoD,IAAA,sBAFA,GAAAhD,OAnDA,IAmDA,OAGAgO,SAAAJ,GAkBA,SAAAK,IACA,IAAA3F,EAAAiB,EAAAhN,OACA2R,EAAAV,EAAA/E,eACA0F,EAAAzQ,EAAAoE,QAAAwI,QACA5M,EAAAC,KAAA6P,EAAAC,WAAA,SAAA7P,EAAAM,GACAiQ,EAAAjQ,EAAAwP,YAAAxP,EAAAyP,SAAAxP,eAAA,oBACA+P,EAAAhQ,EAAAyP,SAAAlF,kBAGA,IAAA2F,EAAAhD,KAAAa,KAAA3D,EAAA4F,GACAJ,EAAApI,SACA,IAAA,IAAApJ,EAAA,EAAAA,EAAA8R,EAAA9R,IAAA,CACA,IAAA+R,EAAA3Q,EAAA,OACAkC,SAAA,sBACAV,KAAA,OAAA,sBACAA,KAAA,aAAA5C,EAAA4R,GACAhP,KAAA,OAAA,UACAoN,KALA,uCAAAtM,OAKA1D,EAAA,EALA,YAMAuR,EAAAvI,OAAA+I,GAEAP,EAAApQ,EAAA,kBAAAmQ,GACAE,EAAA/K,IAAA,QAAA,GAAAhD,OAAA8N,EAAAzD,QAAAC,QAAA,OACAwD,EAAApK,MAAA,WACA2E,EAAAE,MAAA,YAAA/C,SAAA9H,EAAAiC,MAAAX,OAAAsP,UArCAL,IACAvQ,EAAAoE,QAAAiG,OAAA,WACAwC,aAAAP,GACAA,EAAAvG,WAAAwK,EAAA,MAGA5F,EAAAE,MAAAiF,GAEAnF,EAAAhJ,GAAA,eAAA,SAAAQ,EAAA0I,EAAAY,EAAAhB,GACA4F,EAAA/K,IAAA,CACA8J,KAAAgB,EAAAZ,OAAA,eAAAlN,OAAAmI,EAAA,MAAAgC,WAAA2C","file":"main-8800c21a.js","sourcesContent":["/*-------------------------------------------------------*\\\n    Exposes get/set methods to read/write cookies\n\n    See .get and .set functions for more documentation\n\\*-------------------------------------------------------*/\n\nThemeJS.Cookies = (function () {\n  function set_cookie(cname, cvalue, exdays) {\n    if (!cvalue || $.isEmptyObject(cvalue) || !cvalue.length) {\n      cvalue = \"\";\n      exdays = 0;\n    }\n    var d = new Date();\n    d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000);\n    var expires = \"expires=\" + d.toUTCString();\n    document.cookie =\n      cname + \"=\" + JSON.stringify(cvalue) + \";\" + expires + \";path=/\";\n  }\n\n  function get_cookie(cname) {\n    var name = cname + \"=\";\n    var decodedCookie = decodeURIComponent(document.cookie);\n    var ca = decodedCookie.split(\";\");\n    for (var i = 0; i < ca.length; i++) {\n      var c = ca[i];\n      while (c.charAt(0) == \" \") {\n        c = c.substring(1);\n      }\n      if (c.indexOf(name) == 0) {\n        return JSON.parse(c.substring(name.length, c.length));\n      }\n    }\n    return \"\";\n  }\n\n  /*-------------------------------------------------------*\\\n        Read cookies by name\n\n\n        Params:\n            cookie_names:\n                String/Array( String[] )\n\n        Return:\n            If cookie_names = String:\n                value of cookie\n            If cookie_names = Array\n                Object of signatue\n                {\n                    cookie_name : cookie_value\n                    ...\n                }\n\n    \\*-------------------------------------------------------*/\n  function get(cookie_names) {\n    if (typeof cookie_names == \"string\") {\n      return get_cookie(cookie_names);\n    }\n    var cookies = {};\n    $.each(cookie_names, function (index, cookie_name) {\n      cookies[cookie_name] = get_cookie(cookie_name);\n    });\n    return cookies;\n  }\n\n  /*-------------------------------------------------------*\\\n        Set cookies\n\n        Params:\n            cookies:\n                Object of signature\n                {\n                    cookie_name : cookie_value\n                    ...\n                }\n\n    \\*-------------------------------------------------------*/\n  function set(cookies) {\n    $.each(cookies, function (cookie_name, cookie_data) {\n      if (cookie_data) {\n        if (typeof cookie_data != \"object\" || $.isArray(cookie_data)) {\n          cookie_data = { value: cookie_data };\n        }\n        if (!cookie_data.hasOwnProperty(\"expires\")) {\n          cookie_data.expires = 1;\n        }\n      } else {\n        cookie_data = { value: \"\", expires: 0 };\n      }\n      set_cookie(cookie_name, cookie_data.value, cookie_data.expires);\n    });\n  }\n  \n  function set_the_cookie(cname, cvalue, exdays) {\n    if (exdays) {\n      var date = new Date();\n      date.setTime(date.getTime() + exdays * 24 * 60 * 60 * 1000);\n      var expires = \"; expires=\" + date.toGMTString();\n    } else var expires = \"\";\n    document.cookie = cname + \"=\" + cvalue + expires + \";path=/\";\n  }\n\n  return {\n    setSingle: set_the_cookie,\n    get: get,\n    set: set,\n  };\n})();\n","jQuery( function ($) {\n\n    // improved gform ajax spinner\n    $(document).on( 'submit', '.gform_wrapper form', function () {\n        let $button = $( 'button[type=submit]', this );\n        if ( !$button.length ) { return; }\n        $button.attr( 'disabled', true );\n        $button.attr( 'aria-disabled', 'true' );\n        $button.addClass( 'is-ajax-submitting' );\n    });\n\n\n    // add aria-required to date fields\n    $( '.gfield_contains_required input.datepicker' ).attr( 'aria-required', 'true' );\n\n\n    function init_select2 ( element ) {\n        let args = {\n            minimumResultsForSearch: 5,\n            closeOnSelect: $(element).data().close_on_select ?? true,\n        };\n        if ( $(element).attr( 'placeholder' ) ) {\n            args.placeholder = $(element).attr( 'placeholder' );\n        }\n        $(element).select2( args );\n        // disable search field for multiselect -- uses custom checkbox styling\n        if ( $(element).attr('multiple') ) {\n            $(element).on('select2:opening select2:closing', function( event ) {\n                let $searchfield = $(element).parent().find('.select2-search__field');\n                $searchfield.prop('disabled', true);\n            });\n        }\n    }\n\n    $( 'select' ).each( function () {\n        init_select2( this );\n    });\n\n    $(document).on( 'gform_post_render', function ( e, form_id, current_page ) {\n        $( 'select', `#gform_${ form_id }` ).each( function () {\n            init_select2( this );\n        });\n    });\n\n});","/*--------------------------------------------*\\\n    Include Globally Useful JS Functions\n\\*--------------------------------------------*/\n\nThemeJS.Functions = (function ( $, root ) {\n\n    function send_ajax_request ( args ) {\n        args.data.nonce = ThemeJS.Variables.Ajax.nonce;\n        $.post( ThemeJS.Variables.Ajax.url, args.data, function ( response ) {\n            response = JSON.parse( response );\n            if ( !response.hasOwnProperty( 'data' ) ) { response.data = {}; }\n            if ( response.success && typeof args.success == 'function' ) {\n                args.success( response.data );\n            } else if ( !response.success && typeof args.error == 'function' ) {\n                args.error( response.data );\n            }\n        });\n    }\n\n    function get_query_parameter( name, url ) {\n        if (!url) url = window.location.href;\n        name = name.replace(/[\\[\\]]/g, '\\\\$&');\n        var regex = new RegExp('[?&#]' + name + '(=([^&#]*)|&|#|$)'),\n            results = regex.exec(url);\n        if (!results) return null;\n        if (!results[2]) return '';\n        return decodeURIComponent(results[2].replace(/\\+/g, ' '));\n    }\n\n    function scroll_to ( $target, duration = 300 ) {\n        if ( $target == '#main-content' ) {\n            $target = $( 'main' );\n        }\n        if ( ! ( $target instanceof jQuery ) ) {\n            $target = $( $target );\n        }\n        if ( !$target.length ) { return; }\n        $( 'html, body' ).animate(\n            { scrollTop: $target.offset().top - $( 'header.site-header' ).height() - 50 },\n            500,\n            function() {\n                $target.focus();\n                if ( $target.is(\":focus\") ) {\n                    return false;\n                } else {\n                    $target.attr('tabindex','-1');\n                    $target.focus();\n                }\n            }\n        );\n    }\n\n    $(document).on( 'click', 'a[href^=\"#\"]', function ( e ) {\n        e.preventDefault();\n        scroll_to( $(this).attr('href') );\n    });\n\n    $( function () {\n        // force all external links to open in new tab\n        $( \"a[href^=http]\" ).each( function () {\n            if ( this.href.indexOf( location.hostname ) == -1 ) {\n                $( this ).attr({\n                    target: \"_blank\",\n                    'aria-label': \"Opens in a new window\"\n                });\n            }\n        })\n    });\n    \n    return {\n        send_ajax_request,\n        get_query_parameter,\n        scroll_to\n    }\n\n})( jQuery, this );","(function ($) {\n\n    let $header;\n    let $body;\n    let $menu_wrap;\n    let $menu_toggle;\n    let $sub_menu_toggles;\n    let $window = $(window);\n\n    let transparent_header = false;\n\n\n    function set_element_refs () {\n        $header = $( 'header.site-header' );\n        $body = $( document.body );\n        $menu_wrap = $( '.menu-wrap', $header );\n        $menu_toggle = $( 'button.menu-toggle', $header );\n        $sub_menu_toggles = $( '#menu-primary-menu li.menu-item-has-children > a button.sub-menu-toggle', $header );\n    }\n\n\n    function set_opacity () {\n        $header.toggleClass( 'opaque', ( !transparent_header || ( $window.scrollTop() != 0 ) ) );\n    }\n\n\n    function init_header_style () {\n        // sets initial styles and listeners based on whether header is loaded as fixed\n        if ( $header.hasClass( 'fixed' ) ) {\n            $header.addClass( 'transparent-at-top' );\n            transparent_header = true;\n            set_opacity();\n            $window.on( 'scroll breakpoint_changed', set_opacity );\n        }\n        set_body_margin();\n        $window.on( 'breakpoint_changed', set_body_margin );\n        $header.addClass( 'fixed' );\n    }\n\n\n    function set_body_margin () {\n        let spacing = transparent_header ? 0 : $header.height();\n        $body.css({\n            marginTop: `${ spacing }px`\n        });\n    }\n\n\n    function set_menu_tab_index ( tab_index ) {\n        tab_index = tab_index ?? ( ThemeJS.Media_Queries.is_at_least( 'xl' ) ? 0 : -1 );\n        $( 'a', $menu_wrap ).attr( 'tabindex', tab_index );\n        let sub_menu_toggle_tab_index = ( ThemeJS.Media_Queries.is_at_least( 'xl' ) || tab_index == -1 ) ? -1 : 0;\n        $( 'button.sub-menu-toggle', $menu_wrap ).attr( 'tabindex', sub_menu_toggle_tab_index );\n    }\n\n\n    $(function () {\n        set_element_refs();\n        setTimeout( init_header_style, 0 );\n\n        set_menu_tab_index();\n        $window.on( 'breakpoint_changed', function () {\n            set_menu_tab_index();\n        });\n        \n        $menu_toggle.click( function () {\n            $body.toggleClass( 'menu-open' );\n            if ( $body.hasClass( 'menu-open' ) ) {\n                set_menu_tab_index( 0 );\n                $menu_wrap.focus();\n            } else {\n                set_menu_tab_index( -1 );\n            }\n        });\n        if ( $sub_menu_toggles.length ) {\n            $sub_menu_toggles.click( function ( e ) {\n                e.preventDefault();\n                e.stopPropagation();\n                let $parent_li = $(this).closest( 'li' );\n                let $submenu = $( 'ul.sub-menu', $parent_li );\n                let was_visible = $submenu.is( ':visible' );\n                $submenu.slideToggle( 300 );\n                $parent_li.attr( 'aria-expanded', !was_visible );\n            });\n        }\n\n    });\n\n})( jQuery );","ThemeJS.Lazy_Images = (function ( $ ) {\n\n    var observer;\n\n    $(function () {\n        var images = document.querySelectorAll('.lazy-image');\n        var config = {\n            // If the image gets within 100px in the Y axis, start the download.\n            rootMargin: '100px 0px',\n            threshold: 0.01\n        };\n\n        // The observer for the images on the page\n        observer = new IntersectionObserver( onIntersection, config );\n        for ( var i = 0; i < images.length; i++ ) {\n            observer.observe( images[i] );\n        };\n    });\n\n    function onIntersection( entries ) {\n        // Loop through the entries\n        for ( var i = 0; i < entries.length; i++ ) {\n            var entry = entries[i];\n            // Are we in viewport?\n            if ( entry.intersectionRatio > 0 ) {\n        \n                // Stop watching and load the image\n                observer.unobserve( entry.target );\n                preloadImage( entry.target );\n            }\n        };\n    }\n\n    function preloadImage( target ) {\n        let $target = $(target);\n        let data = $target.data();\n        ['srcset', 'src'].forEach( attr => {\n            if ( data.hasOwnProperty( attr ) ) {\n                $target.attr( attr, data[ attr ] );\n                $target.removeAttr( `data-${ attr }` );\n            }\n        });\n    }\n\n    return {};\n\n})( jQuery );","/*-------------------------------------------------------------------*\\\n\n\tJQuery extension for easy load screens\n\n    Usage:\n    $('selector').loadingScreen( show, callback );\n\n    Params:\n        show:\n            Boolean\n            Default = true\n            Whether loading screen is coming in or out\n        callback:\n            Function\n            Default = null\n            Function to execute after transition has completed\n\n    Styling handled in SCSS\n\n\\*-------------------------------------------------------------------*/\n\n\nThemeJS.Loading_Screen = (function ( $, root ) {\n\n    var $loading_screen = false;\n    var transition_duration = 0;\n\n    function init () {\n        var $icon = $('<i/>').addClass('loading-icon');\n        var $icon_wrapper = $('<div/>').addClass('loading-icon-wrapper').append( $icon );\n        $loading_screen = $('<div/>').addClass('simplistics-loading-screen').append( $icon_wrapper );\n        $('body').append( $loading_screen );\n        var transition_duration_string = $loading_screen.css('transition-duration'); // js reads in seconds (will convert from ms)\n        transition_duration = parseInt( 1000 * parseFloat( transition_duration_string ) ); // convert to int in ms\n        $loading_screen.remove();\n\n        $.fn.loading_screen = function ( show, callback ) {\n            show = ( typeof show == 'undefined' || Boolean( show ) );\n            if ( show ) {\n                if ( $( '.simplistics-loading-screen', this ).length ) { return; }\n                if ( $(this).css('position') == 'static' ) { $(this).css( 'position', 'relative' ); }\n                var $local_load_screen = $loading_screen.clone();\n                $(this).append( $local_load_screen );\n                setTimeout( function () {\n                    $local_load_screen.addClass('loading');\n                }, 0 );\n                if ( typeof callback == 'function' ) {\n                    setTimeout( callback, transition_duration );\n                }\n            } else {\n                var $local_load_screen = $( '.simplistics-loading-screen', this );\n                if ( !$local_load_screen.length ) { return; }\n                $local_load_screen.removeClass('loading');\n                setTimeout(function(){\n                    $local_load_screen.remove();\n                    if ( typeof callback == 'function' ) {\n                        callback();\n                    }\n                }, transition_duration );\n            }\n        }\n\n    }\n\n    $( function () {\n        init();\n    });\n\n})( jQuery, this );","ThemeJS.Media_Queries = ( function ( $ ) {\n\n    // JS objects cannot be relied on for sorting\n    // use array of objects\n    // omit xs (assumed min 0)\n    let breakpoints_obj = {\n        sm: 576,\n        md: 768,\n        lg: 992,\n        xl: 1200\n    };\n\n    // JS objects cannot be relied on for ordering\n    // rebuild into array of objects and sort\n    let breakpoints = [];\n    $.each( breakpoints_obj, function ( size, px ) {\n        breakpoints.push({ size, px });\n    });\n    breakpoints.sort( function( a, b ) {\n        return a.px - b.px;\n    });\n\n    let queries = {};\n    $.each( breakpoints, function ( index, obj ) {\n        queries[ obj.size ] = window.matchMedia( `( min-width: ${ obj.px }px )` );\n        queries[ obj.size ].addListener( breakpoint_changed );\n    });\n\n    let current_size;\n    calculate_current_size();\n    function calculate_current_size () {\n        let max_matched_size = 'xs';\n        $.each( queries, function ( size, query ) {\n            if ( query.matches ) {\n                max_matched_size = size;\n                return;\n            }\n            return false;\n        });\n        current_size = max_matched_size;\n    }\n\n    function breakpoint_changed () {\n        calculate_current_size();\n        $( window ).trigger( 'breakpoint_changed', current_size );\n    }\n\n    return {\n        get_current_size: function () {\n            return current_size;\n        },\n        is_at_least: function ( size ) {\n            return queries[ size ].matches;\n        },\n    };\n\n})( jQuery );","\n//Automatic responsive videos in content editor\nThemeJS.Responsive_Video = (function ( $, root ) {\n\n    // Run code for each element\n    $('.embed-responsive').each( function (){\n\n        // Get ar\n        var ar = $(this).attr('data-aspectratio');\n    \n        // Check for existance and set padding-bottom\n        if (typeof ar !== typeof undefined && ar !== false ) {\n            $(this).css('padding-bottom', (1/ar)*100+'%');\n        }\n   \n    });\n\n})( jQuery, this );","jQuery(function ($) {\n  const action_banner = $(\".action-banner\");\n  if (!action_banner.length) return;\n  $(\"header\").attr(\"style\", \"margin-top:\" + action_banner.outerHeight() + \"px\");\n  $(\"main > section:first-child\").attr(\n    \"style\",\n    \"margin-top:\" + action_banner.outerHeight() + \"px\"\n  );\n  $(window).resize(function () {\n    if (!action_banner.hasClass(\"hidden\")) {\n      $(\"header\").attr(\n        \"style\",\n        \"margin-top:\" + action_banner.outerHeight() + \"px\"\n      );\n      $(\"main > section:first-child\").attr(\n        \"style\",\n        \"margin-top:\" + action_banner.outerHeight() + \"px\"\n      );\n    }\n  });\n  $(window).scroll(function () {\n    if ($(window).scrollTop()) {\n      $(\"header\").attr(\"style\", \"margin-top:0px\");\n      $(\"main > section:first-child\").attr(\"style\", \"margin-top:0px\");\n    } else {\n      if (!action_banner.hasClass(\"hidden\")) {\n        $(\"header\").attr(\n          \"style\",\n          \"margin-top:\" + action_banner.outerHeight() + \"px\"\n        );\n        $(\"main > section:first-child\").attr(\n          \"style\",\n          \"margin-top:\" + action_banner.outerHeight() + \"px\"\n        );\n      }\n    }\n  });\n  $(\".close-action-banner\").click(function () {\n    $(\"header\").attr(\"style\", \"margin-top:0px\");\n    $(\"main > section:first-child\").attr(\"style\", \"margin-top:0px\");\n    let action_banner_text = $(\".action-banner span\").text();\n    action_banner.addClass(\"hidden\");\n    ThemeJS.Cookies.setSingle(\n      \"wordpress_action_banner_opened\",\n      action_banner_text,\n      365\n    );\n  });\n});\n","jQuery( function ($) {\n\n    $('.accordion-toggle').click( function () {\n        $(this).toggleClass( 'accordion-open' ).next( '.accordion-content' ).slideToggle( 300 );\n    });\n\n});","jQuery( function ($) {\n\n    $('.centered_slider').each(function () {\n        let slider_speed = 300;\n        let $section = $(this);\n        let $slider = $( '.slick-slider', $section );\n        let $slides = $( '.slick-slide', $slider );\n        let num_slides = $slides.length;\n        // let last_index = num_slides - 1;\n\n        $slider.slick({\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            speed: slider_speed,\n            arrows: true,\n            infinite: true,\n            draggable: true,\n            centerMode: true,\n            mobileFirst: true,\n            prevArrow: $( '.prev-btn', $section ),\n            nextArrow: $( '.next-btn', $section ),\n        });\n\n        // grabbed after slick init to include .slick-cloned\n        let $all_slides = $( '.slick-slide', $slider );\n\n        // we need to add a acustom class to the slide that is about to be centered\n        // the issue has to do with slick's cloning and shifting of slides\n        $slider.on( 'beforeChange', function ( e, slick, current, next ) {\n            $all_slides.each( function () {\n                let slick_index = parseInt( $(this).attr( 'data-slick-index' ) );\n                let index_mod = slick_index % num_slides;\n                let actual_slide_index = ( num_slides + index_mod ) % num_slides;\n                $(this).toggleClass( 'actual-centered-item', actual_slide_index == next );\n            });\n        });\n\n    });\n\n});","jQuery( function ($) {\n\n    $('.content_with_slider').each(function () {\n        let slider_speed = 300;\n        let $section = $(this);\n        let $slider = $( '.slick-slider', $section );\n        let $slides = $( '.slick-slide', $slider ).css( 'transition-duration', `${ slider_speed }ms` );\n        let $slide_imgs = $( 'img', $slides );\n        let $text_wrapper = $( '.text-wrapper', $section );\n        let slide_transition_property = $section.hasClass( 'text-side-left' ) ? 'left' : 'right';\n        if ( slide_transition_property == 'right' ) {\n            $slider.attr( 'dir', 'rtl' );\n        }\n\n        $slider.slick({\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            speed: slider_speed,\n            arrows: true,\n            infinite: false,\n            draggable: false,\n            rtl: ( slide_transition_property == 'right' ),\n            prevArrow: $( '.prev-btn', $section ),\n            nextArrow: $( '.next-btn', $section ),\n        });\n\n        function position_slides ( active ) {\n            $slides.each( function () {\n                let slick_index = $(this).attr( 'data-slick-index' );\n                $(this).toggleClass( 'next-slide', slick_index == active + 1 );\n                let slides_offset = ( slick_index < active ) ? active : slick_index;\n                let slide_css = {};\n                slide_css[ slide_transition_property ] = `${ slides_offset * slide_width }px`;\n                $(this).css( slide_css );\n            });\n        }\n\n        $slider.on( 'beforeChange', function ( e, slick, current, next ) {\n            position_slides( next );\n        });\n        \n\n\n        // start resizing events\n        let $slick_track = $( '.slick-track', $section );\n        let slide_width;\n        let resize_debounce;\n        \n        function resize_slider () {\n            $slide_imgs.css( 'transition-duration', 0 );\n            $slides.css({\n                position: 'static',\n                'transition-duration': 0\n            });\n            $slick_track.css('height', 'auto' ).height( $slick_track.height() );\n            slide_width = $slides.first().width();\n            $slides.each( function () {\n                let slide_css = {\n                    position: 'absolute',\n                    'transition-duration': slider_speed\n                };\n                $(this).css( slide_css );\n            });\n            position_slides( $slider.slick('slickCurrentSlide') );\n            $slide_imgs.css( 'transition-duration', `${ slider_speed }ms` );\n        }\n\n        resize_slider();\n        $(window).resize( function () {\n            clearTimeout( resize_debounce );\n            resize_debounce = setTimeout( resize_slider, 100 );\n        });\n        // end resizing\n\n    });\n\n});","jQuery( function ( $ ) {\n\n    $( 'section.featured_pages' ).each( function () {\n\n        let $section = $( this );\n        let $columns = $( '.page-link-col', $section );\n        let $height_matchers = $( '.height-matcher', $section );\n\n        let layout_type = $section.data().layout_type;\n\n        let description_sections;\n        cache_descriptions();\n\n        resize_section();\n        $( window ).on( 'breakpoint_changed', resize_section );\n\n        function cache_descriptions () {\n            description_sections = {};\n            $columns.each( function () {\n                let $description_wrap = $( '.description-wrap', this );\n                description_sections[ $( this ).attr( 'aria-describedby' ) ] = $description_wrap.html();\n                $description_wrap.remove();\n            });\n        }\n\n        function resize_section () {\n            let per_block = ( layout_type != 'standard' && ThemeJS.Media_Queries.is_at_least( 'md' ) ) ? 4 : 1;\n            if ( layout_type == '6-block' &&  ThemeJS.Media_Queries.is_at_least( 'xl' ) ) {\n                per_block = 6;\n            }\n            adjust_section_layout( per_block );\n        }\n\n        function adjust_section_layout ( per_block ) {\n            let resize_args = get_resize_args( per_block );\n            let per_row = Math.round( $columns.parent().width() / $columns.width() );\n            $columns.each( function () {\n                $( '.text-content', this ).remove();\n                if ( per_block == 1 ) {\n                    $(this).removeClass( 'img-grow' );\n                    $(this).append( description_sections[ $(this).attr( 'aria-describedby' ) ] );\n                } else {\n                    let index = $(this).index();\n                    let index_mod = index % per_block;\n                    let is_first_row_of_block = index_mod < per_row;\n                    let has_next_row = $(this).parent().children().eq( index + per_row ).length;\n                    if ( !is_first_row_of_block || !has_next_row ) {\n                        $(this).append( description_sections[ $(this).attr( 'aria-describedby' ) ] );\n                    } else if ( index_mod != resize_args.content_from_index ) {\n                        $( '.height-matcher', this).append( description_sections[ $(this).attr( 'aria-describedby' ) ] );\n                    }\n                    if ( index_mod == resize_args.content_into_index ) {\n                        let $second_column = $(this).parent().children().eq( 1 );\n                        $( '.height-matcher', this ).prepend( description_sections[ $second_column.attr( 'aria-describedby' ) ] );\n                    }\n                    $(this).toggleClass( 'img-grow', resize_args.img_grow_indices.includes( index_mod ) );\n                }\n                let num_items = $( this ).siblings().length + 1;\n                let num_rows = Math.ceil( num_items / per_row );\n                let this_row = Math.ceil( ( $( this ).index() + 1 ) / per_row );\n                let is_last_row = this_row == num_rows;\n                $( 'div.text-content:last-child', this ).toggleClass( 'pb-0', is_last_row );\n            });\n            $height_matchers.matchHeight();\n        }\n\n    });\n\n    function get_resize_args ( block_size ) {\n        if ( block_size == 1 ) {\n            return false;\n        }\n        return {\n            content_from_index: 1,\n            content_into_index: ( block_size == 6 ) ? 4 : 3,\n            img_grow_indices: ( block_size == 6 ) ? [ 1, 3, 5 ] : [ 1, 2 ]\n        };\n    }\n\n});","jQuery( function ($) {\n\n    $('.quote_slider').each(function () {\n        let slider_speed = 300;\n        let $section = $(this);\n        let $slider = $( '.slick-slider', $section );\n\n        $slider.slick({\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            speed: slider_speed,\n            arrows: false,\n            dots: true,\n            infinite: true,\n            draggable: true,\n            mobileFirst: true,\n            adaptiveHeight: true,\n        });\n\n    });\n\n});","jQuery( function ($) {\n\n    $('.slider_banner').each(function () {\n        let slider_speed = 300;\n        let $section = $(this);\n        let $slider = $( '.slick-slider', $section );\n        let $slides = $( '.slick-slide', $slider ).css( 'transition-duration', `${ slider_speed }ms` );\n        let $slide_imgs = $( 'img', $slides );\n        let $text_wrapper = $( '.text-wrapper', $section );\n        let $slider_text = $( '.slider-text', $text_wrapper ).css( 'transition-duration', `${ slider_speed }ms` );\n        let $live_section = $( '.slider-text-live', $section );\n        let $g_background = $( '.g-background', $section );\n\n        let autoplay_speed = parseInt( $slider.data( 'autoplay-speed' ) );\n\n        $slider.slick({\n            slidesToShow: 1,\n            slidesToScroll: 1,\n            speed: slider_speed,\n            arrows: true,\n            infinite: false,\n            draggable: false,\n            prevArrow: $( '.prev-btn', $section ),\n            nextArrow: $( '.next-btn', $section ),\n            autoplaySpeed: autoplay_speed * 1000,\n            autoplay: Boolean( autoplay_speed ),\n        });\n\n        function position_slides ( active ) {\n            $slides.each( function () {\n                let slick_index = $(this).attr( 'data-slick-index' );\n                $(this).toggleClass( 'next-slide', slick_index == active + 1 );\n                let slides_offset = ( slick_index < active ) ? active : slick_index;\n                $(this).css({\n                    left: `${ slides_offset * slide_width }px`\n                });\n            });\n        }\n\n        $slider.on( 'beforeChange', function ( e, slick, current, next ) {\n            position_slides( next );\n            // $slides.filter( `[data-slick-index=${next}]` ).focus();\n\n            $slider_text.removeClass( 'active' );\n            let text_height = $slider_text.filter( function () {\n                return $(this).attr( 'data-slick-index' ) == next;\n            }).height();\n            $text_wrapper.height( text_height );\n\n            // if ( !ThemeJS.Media_Queries.is_at_least( 'md' ) ) {\n            //     ThemeJS.Functions.scroll_to( $text_wrapper );\n            // }\n        });\n        \n        $slider.on( 'afterChange', function ( e, slick, current ) {\n            $slider_text.removeClass( 'visible' );\n            let $active_text = $slider_text.filter( function () {\n                return $(this).attr( 'data-slick-index' ) == current;\n            }).addClass( 'visible active' );\n            $live_section.html( $( 'h2', $active_text ).html() );\n        });\n\n\n        // start resizing events\n        let $slick_track = $( '.slick-track', $section );\n        let slide_width;\n        let resize_debounce;\n        \n        function resize_slider () {\n            $slide_imgs.css( 'transition-duration', 0 );\n            $slides.css({\n                position: 'static',\n                'transition-duration': 0\n            });\n            $slick_track.css( 'height', 'auto' ).height( $slick_track.height() );\n            slide_width = $slides.first().width();\n            $slides.each( function () {\n                $(this).css({\n                    position: 'absolute',\n                    'transition-duration': `${ slider_speed }ms`\n                });\n            });\n            position_slides( $slider.slick('slickCurrentSlide') );\n            $slide_imgs.css( 'transition-duration', `${ slider_speed }ms` );\n            recalculate_slider_text_height();\n            recalculate_g_background_height();\n        }\n\n        function recalculate_slider_text_height () {\n            let height = 0;\n            if ( $(window).width() >= 768 ) {\n                $slider_text.each ( function () {\n                    let this_height = $(this).height();\n                    height = ( this_height > height ) ? this_height : height;\n                });\n            } else {\n                let current_slide = $slider.slick( 'slickCurrentSlide' );\n                height = $slider_text.filter( function () {\n                    return $(this).attr( 'data-slick-index' ) == current_slide;\n                }).height();\n            }\n            $text_wrapper.height( height );\n        }\n\n        function recalculate_g_background_height () {\n            let bottom = ThemeJS.Media_Queries.is_at_least( 'md' ) ? 0 : `${ parseInt( $section.css( 'padding-bottom' ) ) + ( $slider.height() / 2 ) }px`;\n            $g_background.css( 'bottom', bottom );\n        }\n\n        resize_slider();\n        $(window).resize( function () {\n            clearTimeout( resize_debounce );\n            resize_debounce = setTimeout( resize_slider, 100 );\n        });\n        // end resizing\n\n    });\n\n});","jQuery( function ($) {\n\n    let slider_speed = 300;\n    let slick_options = {\n        slidesToShow: 1,\n        slidesToScroll: 1,\n        speed: slider_speed,\n        arrows: false,\n        infinite: false,\n        mobileFirst: true,\n        responsive: [\n            {\n                breakpoint: 1200,\n                settings: {\n                    slidesToShow: 3,\n                    slidesToScroll: 3,\n                }\n            },\n            {\n                breakpoint: 992,\n                settings: {\n                    slidesToShow: 2,\n                    slidesToScroll: 2\n                }\n            },\n            {\n                breakpoint: 768,\n                settings: {\n                    slidesToShow: 3,\n                    slidesToScroll: 3\n                }\n            },\n            {\n                breakpoint: 576,\n                settings: {\n                    slidesToShow: 2,\n                    slidesToScroll: 2\n                }\n            },\n        ]\n    };\n    // ensure breakpoints in order\n    slick_options.responsive.sort( function ( a, b ) {\n        return a.breakpoint - b.breakpoint;\n    });\n\n    $('.upcoming_events').each(function () {\n        let $section = $(this);\n        let $slider = $( '.slick-slider', $section );\n        let $slides = $( '.slick-slide', $slider );\n        let $slider_control_bar = $( '.slider-control-bar', $section );\n        let $slider_controls_row = $( '.row', $slider_control_bar );\n        let $slider_controls = $([]);\n        let $active_page_display = $( '<div>' )\n                .addClass( 'active-page-display' )\n                .css( 'transition-duration', `${ slider_speed }ms` )\n                .appendTo( $slider_control_bar );\n\n        // custom controls\n        let resize_debounce;\n        init_slider_controls();\n        $(window).resize( function () {\n            clearTimeout( resize_debounce );\n            resize_debounce = setTimeout( init_slider_controls, 10 );\n        });\n\n        $slider.slick( slick_options );\n\n        $slider.on( 'beforeChange', function ( e, slick, current, next ) {\n            $active_page_display.css({\n                left: $slider_controls.filter( `[data-slide=${ next }]` ).position().left\n            });\n        });\n\n        function init_slider_controls () {\n            let num_slides = $slides.length;\n            let slides_per_page = slick_options.slidesToScroll;\n            let window_size = $(window).width();\n            $.each( slick_options.responsive, function ( index, value ) {\n                if ( window_size > value.breakpoint && value.settings.hasOwnProperty( 'slidesToScroll' ) ) {\n                    slides_per_page = value.settings.slidesToScroll;\n                }\n            });\n            let num_pages = Math.ceil( num_slides / slides_per_page );\n            $slider_controls.remove();\n            for ( let i = 0; i < num_pages; i++ ) {\n                let $control = $( '<a>' )\n                    .addClass( 'col slider-control' )\n                    .attr( 'href', 'javascript:void(0)' )\n                    .attr( 'data-slide', i * slides_per_page )\n                    .attr( 'role', 'button' )\n                    .html( `<span class='sr-only'>Slide to page ${ i + 1 }</span>` );\n                $slider_controls_row.append( $control );\n            }\n            $slider_controls = $( '.slider-control', $slider_controls_row );\n            $active_page_display.css( 'width', `${ $slider_controls.first().width() }px` );\n            $slider_controls.click(function () {\n                $slider.slick( 'slickGoTo', parseInt( $(this).data().slide ) );\n            });\n        }\n\n    });\n\n});"]}