{"version":3,"sources":["Blog.js","Cookies.js","Focus_Without_Scroll.js","Forms.js","Functions.js","Header.js","Lazy_Images.js","Loading_Screen.js","Media_Queries.js","Responsive_Video.js","layouts/image-slider.js","layouts/image-ticker.js","layouts/initiatives.js","layouts/slider-banner.js"],"names":["jQuery","$","$search_form","$category_select","$load_more","$articles","length","change","attr","this","data","click","addClass","ThemeJS","Functions","send_ajax_request","action","query","success","response","articles","forEach","value","index","$article","css","concat","append","requestAnimationFrame","children","removeClass","more","parseInt","removeAttr","remove","Cookies","get_cookie","cname","name","ca","decodeURIComponent","document","cookie","split","i","c","charAt","substring","indexOf","JSON","parse","get","cookie_names","cookies","each","cookie_name","set","cookie_data","_typeof","isArray","hasOwnProperty","expires","cvalue","exdays","isEmptyObject","d","Date","setTime","getTime","toUTCString","stringify","set_cookie","fn","extend","focus_without_scroll","x","window","scrollX","y","scrollY","focus","scrollTo","init_select2","element","_$$data$close_on_sele","select2","minimumResultsForSearch","closeOnSelect","close_on_select","on","event","parent","find","prop","$button","e","form_id","current_page","$form_wrap","closest","scroll_to","setTimeout","tabIndex","aria-hidden","$target","duration","arguments","undefined","animate","scrollTop","offset","top","height","is","preventDefault","scrollbar_width","args","nonce","Variables","Ajax","post","url","error","get_query_parameter","location","href","replace","results","RegExp","exec","get_scrollbar_width","outer","inner","createElement","style","visibility","overflow","msOverflowStyle","body","appendChild","offsetWidth","parentNode","removeChild","$header","$body","$menu_wrap","$menu_toggle","$sub_menu_toggles","$non_mobile_menu_tabbables","$window","transparent_header","set_body_padding","spacing","paddingTop","set_menu_wrap_transition","toggleClass","Media_Queries","is_at_least","to","from","includes","hasClass","first","stopPropagation","$parent_li","$submenu","was_visible","slideToggle","Lazy_Images","observer","onIntersection","entries","entry","intersectionRatio","unobserve","target","src","preloadImage","images","querySelectorAll","IntersectionObserver","rootMargin","threshold","observe","Loading_Screen","transition_duration","$loading_screen","$icon","$icon_wrapper","transition_duration_string","parseFloat","loading_screen","show","callback","$local_load_screen","Boolean","clone","breakpoints_obj","Screen_Sizes","breakpoints","size","px","push","sort","a","b","queries","obj","matchMedia","addListener","breakpoint_changed","current_size","previous_size","calculate_current_size","max_matched_size","matches","trigger","get_current_size","Responsive_Video","ar","$section","$slider","num_slides","slick","slidesToShow","slidesToScroll","speed","arrows","infinite","draggable","centerMode","mobileFirst","prevArrow","nextArrow","$all_slides","current","next","slick_index","actual_slide_index","autoplay","accessibility","responsive","breakpoint","sm","settings","lg","closing","$content","$live_section","$slider_btns","$slides","filter","btn_text_class","aria_live","contains","activeElement","html"],"mappings":"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","file":"main-17115bad.js","sourcesContent":["jQuery( function ( $ ) {\n\n if ( !$('section.blog').length ) { return; }\n\n let $search_form = $( '.blog-search-form' );\n let $category_select = $( '#category-select' );\n let $load_more = $( 'button.load-more' );\n let $articles = $( '.articles' );\n\n $category_select.change( function () {\n $search_form.attr( 'action', $( ':selected', this ).data('action') );\n });\n\n $load_more.click( function () {\n $load_more.addClass( 'active' ).attr( 'disabled', 'disabled' );\n ThemeJS.Functions.send_ajax_request({\n data: {\n action: 'load_more_posts',\n query: $load_more.data(),\n },\n success: function ( response ) {\n response.articles.forEach( function ( value, index ) {\n let $article = $( value );\n $article.css( 'transition-delay', `${ 150 * index }ms` );\n $article.addClass( 'ajax-loaded' );\n $articles.append( $article );\n });\n requestAnimationFrame( function () {\n $articles.children().removeClass( 'ajax-loaded' );\n });\n if ( response.more ) {\n $load_more.data( 'paged', parseInt( $load_more.data( 'paged' ) ) + 1 );\n $load_more.removeClass( 'active' ).removeAttr( 'disabled' );\n } else {\n $load_more.remove();\n }\n }\n })\n });\n\n});","/*-------------------------------------------------------*\\\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\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 = 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 /*-------------------------------------------------------*\\\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\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 return {\n get: get,\n set: set\n }\n\n})();","( function ( $ ) {\n\n $.fn.extend({\n focus_without_scroll: function() {\n let x = window.scrollX, y = window.scrollY;\n this.focus();\n window.scrollTo( x, y );\n return this;\n }\n });\n\n})( jQuery );","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 $(element).select2({\n minimumResultsForSearch: 5,\n closeOnSelect: $(element).data().close_on_select ?? true\n });\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 $(document).on('gform_confirmation_loaded', function( event, form_id ) {\n let $form_wrap = $( `#gform_confirmation_wrapper_${ form_id }`).closest( '.form-wrap' );\n if ( $form_wrap ) {\n $form_wrap.addClass( 'form-submitted' );\n ThemeJS.Functions.scroll_to( $form_wrap );\n }\n });\n\n setTimeout( function () {\n $( '.moxie-shim-html5 input[type=\"file\"]' ).attr({\n tabIndex: '-1',\n 'aria-hidden': 'true'\n });\n }, 0 );\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() },\n duration,\n function() {\n $target.focus_without_scroll();\n if ( $target.is(\":focus\") ) {\n return false;\n } else {\n $target.attr('tabindex','-1');\n $target.focus_without_scroll();\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 let scrollbar_width = null;\n // taken from https://stackoverflow.com/questions/13382516/getting-scroll-bar-width-using-javascript\n function get_scrollbar_width () {\n if ( scrollbar_width === null ) {\n let outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.overflow = 'scroll';\n outer.style.msOverflowStyle = 'scrollbar';\n document.body.appendChild(outer);\n let inner = document.createElement('div');\n outer.appendChild(inner);\n scrollbar_width = ( outer.offsetWidth - inner.offsetWidth );\n outer.parentNode.removeChild(outer);\n }\n return scrollbar_width;\n }\n \n return {\n send_ajax_request,\n get_query_parameter,\n scroll_to,\n get_scrollbar_width\n }\n\n})( jQuery, this );","( function ( $ ) {\n\n\n let $header;\n let $body;\n let $menu_wrap;\n let $menu_toggle;\n let $submenus;\n let $sub_menu_toggles;\n let $window = $(window);\n let $non_mobile_menu_tabbables;\n\n let transparent_header = false;\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 $submenus = $( '#primary-menu-container > ul > li > .sub-menu' );\n $sub_menu_toggles = $( 'button.sub-menu-toggle', $menu_wrap );\n $non_mobile_menu_tabbables = $( '#skip-to-content, .header-logo-link, main, footer' );\n }\n\n\n function is_mobile () {\n return $menu_toggle.is( ':visible' );\n }\n\n\n\n function init_header_style () {\n // sets initial styles and listeners\n set_body_padding();\n $window.on( 'breakpoint_changed', set_body_padding );\n $header.addClass( 'fixed' );\n $menu_toggle.css( 'margin-right', ThemeJS.Functions.get_scrollbar_width() );\n }\n\n\n function set_body_padding () {\n let spacing = transparent_header ? 0 : $header.height();\n $body.css({\n paddingTop: `${ spacing }px`\n });\n }\n\n function set_menu_wrap_transition () {\n $menu_wrap.toggleClass( 'has-transition', !ThemeJS.Media_Queries.is_at_least( 'xl' ) );\n }\n\n\n $( function () {\n set_element_refs();\n init_header_style();\n set_menu_wrap_transition();\n $window.on( 'breakpoint_changed', function ( e, to, from ) {\n if ( [ to, from ].includes( 'lg' ) && [ to, from ].includes( 'xl' ) ) {\n $non_mobile_menu_tabbables.css( 'visibility', 'visible' );\n $body.removeClass( 'menu-open' );\n }\n set_menu_wrap_transition();\n });\n\n $menu_toggle.click( function () {\n $body.toggleClass( 'menu-open' );\n if ( $body.hasClass( 'menu-open' ) ) {\n $( 'a', $menu_wrap ).first().focus();\n setTimeout( function () {\n $non_mobile_menu_tabbables.css( 'visibility', 'hidden' );\n }, 300 );\n } else {\n $non_mobile_menu_tabbables.css( 'visibility', 'visible' );\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 var $target = $(target);\n $target.attr('src', $target.data().src );\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 = $('').addClass('loading-icon');\n var $icon_wrapper = $('
').addClass('loading-icon-wrapper').append( $icon );\n $loading_screen = $('').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 let breakpoints_obj = ThemeJS.Variables.Screen_Sizes;\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 previous_size = null;\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 previous_size = current_size;\n calculate_current_size();\n $( window ).trigger( 'breakpoint_changed', [ current_size, previous_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\n $('section.image_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\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: $( '.previous-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 custom 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 $('section.image_ticker').each(function () {\n const $section = $(this);\n const $slider = $( '.slider', $section );\n const num_slides = $( '.slide', $slider ).length;\n\n const args = {\n slidesToShow: 1,\n slidesToScroll: 1,\n autoplay: true,\n infinite: true,\n draggable: true,\n centerMode: true,\n mobileFirst: true,\n accessibility: false,\n arrows: true,\n prevArrow: $( '.previous-btn', $section ),\n nextArrow: $( '.next-btn', $section ),\n responsive: [\n {\n breakpoint: ThemeJS.Variables.Screen_Sizes.sm,\n settings: num_slides < 3 ? 'unslick' : {\n slidesToShow: 3,\n }\n },\n {\n breakpoint: ThemeJS.Variables.Screen_Sizes.lg,\n settings: num_slides < 5 ? 'unslick' : {\n slidesToShow: 5,\n }\n },\n ]\n };\n\n $slider.slick( args );\n $( window ).on( 'breakpoint_changed', function () {\n $slider.slick( args );\n });\n\n });\n\n});","jQuery( function ($) {\n\n $( document ).on( 'click', 'section.initiatives article button.expand-toggle', function () {\n let $content = $( `#${ $(this).attr( 'aria-controls' ) }` );\n if ( $content.length ) {\n let closing = $content.is(':visible');\n $content.slideToggle();\n $content.attr( 'aria-hidden', closing ? 'true' : 'false' );\n // not using $(this) because there are mobile/desktop copies\n $( 'button.expand-toggle', $(this).closest( 'article') ).attr( 'aria-expanded', closing ? 'false' : 'true' );\n }\n });\n\n});","jQuery( function ($) {\n\n $('.slider_banner').each(function () {\n let $section = $(this);\n let $slider = $( '.slick-slider', $section );\n let $live_section = $( '.slider-text-live', $section );\n\n $slider.slick({\n slidesToShow: 1,\n slidesToScroll: 1,\n arrows: true,\n infinite: true,\n prevArrow: $( '.previous-btn', $section ),\n nextArrow: $( '.next-btn', $section ),\n });\n\n // these don't have slick-arrow class until after init\n let $slider_btns = $( '.slick-arrow', $section );\n\n $slider.on( 'beforeChange', function ( e, slick, current, next ) {\n $slider_btns\n .removeClass( slick.$slides.filter( `[data-slick-index=${current}]` ).data().btn_text_class )\n .addClass( slick.$slides.filter( `[data-slick-index=${next}]` ).data().btn_text_class );\n });\n\n $slider.on( 'afterChange', function ( e, slick, current ) {\n let aria_live = this.contains( document.activeElement ) ? 'polite' : 'off';\n $live_section.attr( 'aria-live', aria_live );\n $live_section.html( `Active slide title: ${ $( '.slide-title', slick.$slides.filter( '.slick-active' ) ).html() }` );\n });\n\n });\n\n});"]}