{"version":3,"sources":["Archive_Category_Select.js","Cookies.js","Functions.js","GForms.js","Header.js","Hero_Banner.js","Lazy_Images.js","Loading_Screen.js","Logos_Sliders.js","Responsive_Video.js","YouTube_Iframe_Wrap.js"],"names":["jQuery","$","$select","length","select2","minimumResultsForSearch","on","window","location","href","val","ThemeJS","Cookies","get_cookie","cname","name","ca","decodeURIComponent","document","cookie","split","i","c","charAt","substring","indexOf","JSON","parse","get","cookie_names","cookies","each","index","cookie_name","set","cookie_data","_typeof","isArray","value","hasOwnProperty","expires","cvalue","exdays","isEmptyObject","d","Date","setTime","getTime","toUTCString","stringify","set_cookie","Functions","root","setTimeout","clone","appendTo","e","target","this","attr","trigger","$target","preventDefault","animate","scrollTop","offset","top","send_ajax_request","args","data","nonce","Variables","Ajax","post","url","response","success","error","get_query_parameter","replace","results","RegExp","exec","browser_has_flex_bug","outer","createElement","inner","setAttribute","appendChild","body","documentElement","bug","offsetHeight","parentNode","removeChild","fix_element_flex_bug","el","style","height","$button","addClass","$header","$body","$menu_toggle","$primary_menu","$primary_menu_items","submenu_active","$window","set_opacity","toggleClass","set_active_sub_menu","menu_item_id","arguments","undefined","transition_duration","Boolean","removeClass","filter","concat","css","transition","resize_debounce","is","scroll","paddingTop","click","hasClass","$menu_item","closest","resize","clearTimeout","width","$search_form","$search_toggle","$search_input","$close_search","$hero_bg_video_wrap","$hero_bg_video","bg_video_size","url_arr","domain","open_search_form","focus","close_search_form","blur","resize_bg_video","display_size","video_ar","onYouTubeIframeAPIReady","video_id","videoid","video_container_id","modal_video_player","YT","Player","videoId","playerVars","controls","autoplay","mute","loop","showinfo","modestbranding","origin","fixYoutubeIframeSize","pauseVideo","modal","$section","src","video_src","type","video_type","video_width","video_height","$source","append","fadeIn","init_background_video","Lazy_Images","observer","init","images","querySelectorAll","IntersectionObserver","onIntersection","rootMargin","threshold","observe","entries","entry","intersectionRatio","unobserve","preloadImage","forEach","bg_src","Loading_Screen","$loading_screen","$icon","$icon_wrapper","transition_duration_string","parseInt","parseFloat","remove","fn","loading_screen","show","callback","$local_load_screen","$slider","$slider_links","slick_options","slidesToShow","slidesToScroll","arrows","focusOnSelect","initialSlide","slide","slick","slide_nav","event","currentSlide","nextSlide","$slider_link","eq","slidename","split_href","$target_slider","Responsive_Video","ar","extend","$iframe","find","ar_percent","padding-bottom"],"mappings":"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","file":"main-2154709a.js","sourcesContent":["jQuery(function ($) {\n\n    let $select = $('#category-select');\n    if ( !$select.length ) {\n        return;\n    }\n\n    $select.select2({\n        minimumResultsForSearch: -1,\n    });\n\n    $select.on('change', function () {\n        window.location.href = $select.val();\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})();","/*--------------------------------------------*\\\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    // following 2 functions taken from taken from https://stackoverflow.com/questions/25177791/are-flexbox-and-vh-height-units-not-compatible-in-ie11\n    function browser_has_flex_bug () {\n        var outer = document.createElement('div');\n        var inner = document.createElement('div');\n        outer.setAttribute('style', 'display:-ms-flexbox; display:flex; min-height:100vh;');\n        outer.appendChild(inner);\n        (document.body || document.documentElement).appendChild(outer);\n        var bug = !inner.offsetHeight;\n        outer.parentNode.removeChild(outer);\n        return bug;\n    }\n    function fix_element_flex_bug ( el ) {\n        el.style.height = 'auto';\n        var height = el.offsetHeight;\n        el.style.height = height + 'px';\n    }\n\n\n    $(document).on('mouseenter', '.tribe-events-calendar-month__calendar-event', function () {\n        setTimeout( function () {\n            $('.tooltipster-base').clone().appendTo('body');\n        }, 1000 );\n    });\n\n\n    $( document ).on( 'click', 'a[href^=\\\\#]', function ( e ) {\n        let href = $(this).attr('href');\n        let target = { href: href };\n        $( document ).trigger( 'pre_scroll_to_target', target );\n        let $target = $( target.href );\n        if ( $target.length ) {\n            e.preventDefault();\n            $( 'html, body' ).animate({\n                scrollTop: $target.offset().top - 125\n            }, 1000 );\n        }\n    });\n\n\n\n    return {\n        send_ajax_request,\n        get_query_parameter,\n        browser_has_flex_bug,\n        fix_element_flex_bug\n    }\n\n\n\n\n\n\n})( jQuery, this );\n","jQuery( function ($) {\n\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});","(function ($) {\n\n    let $header;\n    let $body;\n    let $menu_toggle;\n    let $primary_menu;\n    let $primary_menu_items;\n    let submenu_active = false;\n    let $window = $(window);\n\n    function set_opacity () {\n        $header.toggleClass( 'opaque', ( $window.scrollTop() != 0 ) );\n    }\n\n    function set_active_sub_menu ( menu_item_id = false, transition_duration = 300 ) {\n        submenu_active = Boolean( menu_item_id );\n        if ( submenu_active ) {\n            $primary_menu_items.removeClass( 'sub-menu-active' );\n            $primary_menu_items.filter( `#${ menu_item_id }` ).each( function () {\n                $(this).addClass( 'sub-menu-active' );\n            });\n        }\n        $primary_menu.css({\n            transition: `all ${ transition_duration}ms ease`\n        });\n        $primary_menu.toggleClass( 'has-active-sub-menu', submenu_active );\n        // $primary_menu.fadeOut( transition_duration, function () {\n        //     $primary_menu.toggleClass( 'has-active-sub-menu', Boolean( menu_item_id ) );\n        //     $primary_menu_items.removeClass( 'sub-menu-active' );\n        //     $primary_menu_items.filter( `#${ menu_item_id }` ).each( function () {\n        //         $(this).addClass( 'sub-menu-active' );\n        //     });\n        //     $primary_menu.fadeIn( transition_duration );\n        // });\n    }\n\n    $(function () {\n        $header = $('header.site-header');\n        $body = $('body');\n        $menu_toggle = $('.menu-toggle');\n        $primary_menu = $('#menu-primary-menu');\n        $primary_menu_items = $( '.menu-item', $primary_menu );\n        if ( $('main > section:first-child').is('.hero_banner') ) {\n            set_opacity();\n            $window.scroll( set_opacity );\n        } else {\n            $header.addClass( 'opaque' );\n            $('main').css({\n                paddingTop: $header.height()\n            });\n        }\n        \n        $menu_toggle.click( function () {\n            if ( submenu_active ) {\n                set_active_sub_menu();\n                return;\n            }\n            $body.toggleClass( 'menu-open' );\n            if ( !$body.hasClass( 'menu-open' ) ) {\n                set_active_sub_menu( false, 0 );\n            }\n        });\n\n        $( '.toggle-sub-menu', $primary_menu ).click( function () {\n            let $menu_item = $(this).closest( '.menu-item' );\n            let id = $menu_item.length ? $menu_item.attr('id') : false;\n            set_active_sub_menu( id );\n        });\n\n        let resize_debounce;\n        $window.resize( function () {\n            clearTimeout( resize_debounce );\n            resize_debounce = setTimeout( function () {\n                if ( $window.width() >= 1200 ) {\n                    $body.removeClass( 'menu-open' );\n                    set_active_sub_menu( false, 0 );\n                }\n            }, 10 );\n        });\n\n    });\n\n})( jQuery );","(function ($) {\n\n    let $search_form;\n    let $search_toggle;\n\n    let $search_input;\n    let $close_search;\n\n    // set domain for youtube origins\n    let url = window.location.href;\n    let url_arr = url.split(\"/\");\n    let domain = url_arr[0] + \"//\" + url_arr[2];\n\n    // video resizing\n    let $hero_bg_video_wrap;\n    let $hero_bg_video;\n    let bg_video_size;\n\n    function open_search_form () {\n        $search_form.addClass('open');\n        setTimeout(function () {\n            // timeout required to prevent shifting of background img\n            // time matches $transition-timing sass var\n            $search_input.focus();\n        }, 300);\n    }\n\n    function close_search_form () {\n        $search_input.val('');\n        $search_input.blur();\n        $search_form.removeClass('open');\n    }\n\n    window.onYouTubeIframeAPIReady = function () {\n        init_video_modal();\n    }\n\n    function init_video_modal () {\n        $( 'div.hero-video-modal' ).each( function () {\n            let video_id = $( this ).data().videoid;\n            let video_container_id = `hero-video-${ video_id }`;\n            let modal_video_player = new YT.Player( video_container_id, {\n                height: '1080',\n                width: '1920',\n                videoId: video_id,\n                playerVars: {\n                    'controls': 1,\n                    'autoplay': 0,\n                    'mute': 0,\n                    'loop': 0,\n                    'showinfo': 0,\n                    'modestbranding': 1,\n                    'origin': domain\n                },\n            });\n            $( `#${ video_container_id }` ).closest( '.youtube-iframe-wrap' ).fixYoutubeIframeSize();\n            $(this).on( 'hide.bs.modal', function () {\n                modal_video_player.pauseVideo();\n            });\n        });\n        $( document ).on( 'click', 'a.hero-video-link', function (e) {\n            e.preventDefault();\n            let video_id = $(this).attr( 'data-videoid' );\n            $( `div.hero-video-modal[data-videoid=${ video_id }` ).modal( 'show' );\n        });\n    }\n\n    function init_background_video () {\n        $hero_bg_video_wrap = $('.hero-background-video-wrap');\n        if ( !$hero_bg_video_wrap.length || $(window).width() < 768 ) {\n            return;\n        }\n        let src = $hero_bg_video_wrap.data().video_src;\n        let type = $hero_bg_video_wrap.data().video_type;\n\n        bg_video_size = {\n            width: $hero_bg_video_wrap.data().video_width,\n            height: $hero_bg_video_wrap.data().video_height\n        };\n        \n        let $source = $( '<source>' ).attr( 'src', src ).attr( 'type', `video/${ type }` );\n        $hero_bg_video = $( '<video autoplay loop muted>' ).append( $source );\n        $hero_bg_video_wrap.append( $hero_bg_video );\n        resize_bg_video();\n        $hero_bg_video_wrap.fadeIn( 500 );\n        $(window).resize( resize_bg_video );\n    }\n\n    function resize_bg_video () {\n        if ( !$hero_bg_video.length ) { return; }\n        let display_size = {\n            width: $hero_bg_video_wrap.width(),\n            height: $hero_bg_video_wrap.height()\n        };\n        let video_ar = bg_video_size.width / bg_video_size.height;\n        let container_ar = display_size.width / display_size.height;\n        \n        if ( container_ar <= video_ar ) {\n            // set height to container and calculate width\n            $hero_bg_video.height( display_size.height );\n            $hero_bg_video.width( display_size.height * video_ar );\n        } else {\n            // set width to container and calculate height\n            $hero_bg_video.width( display_size.width );\n            $hero_bg_video.height( display_size.width / video_ar );\n        }\n    }\n\n    function fix_flex_min_height_bug () {\n        let $section = $( 'section.hero_banner' );\n        if ( $section.length && ThemeJS.Functions.browser_has_flex_bug() ) {\n            ThemeJS.Functions.fix_element_flex_bug( $section[0] );\n            $(window).resize( function () {\n                ThemeJS.Functions.fix_element_flex_bug( $section[0] );\n            });\n        }\n    }\n\n    $(function () {\n        fix_flex_min_height_bug();\n        $search_form = $( '.hero-search-form' );\n        $search_toggle = $( '.hero-search a' );\n        if ( $search_form.length && $search_toggle.length ) {\n            $search_input = $( '#search-field', $search_form );\n            $close_search = $( '.close-search', $search_form );\n            $search_toggle.click( open_search_form );\n            $close_search.click( close_search_form );\n        }\n        init_background_video();\n    });\n\n})( jQuery );","ThemeJS.Lazy_Images = (function ( $ ) {\n\n    var observer;\n\n    function init () {\n        let images = document.querySelectorAll('.lazy-image, .lazy-bg');\n        let config = {\n            // If the image gets within 100px in the Y axis, start the download.\n            rootMargin: '200px 0px',\n            threshold: 0.01\n        };\n\n        // The observer for the images on the page\n        observer = new IntersectionObserver( onIntersection, config );\n        for ( let 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 ( let i = 0; i < entries.length; i++ ) {\n            let 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        if ( $target.is( 'img' ) ) {\n            ['srcset', 'src'].forEach( attr => {\n                if ( data.hasOwnProperty( attr ) ) {\n                    $target.attr( attr, data[ attr ] );\n                }\n            });\n        } else if ( data.hasOwnProperty( 'bg_src' ) ) {\n            $target.css( 'background-image', `url( ${ data.bg_src } )` );\n        }\n        $target.removeClass('lazy-image lazy-bg');\n    }\n\n    $( init );\n\n    return {\n        init\n    };\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 );","(function ($){\n\n    $('section.logos_slider').each( function () {\n        let $slider = $( '.slick-slider', this );\n        let $slider_links = $( '.slider-control', this );\n\n        if ( !$slider.length || !$slider_links.length ) { return; }\n\n        let slick_options = {\n\t\t\tslidesToShow: 1,\n\t\t\tslidesToScroll: 1,\n\t\t\tarrows: false,\n            focusOnSelect: false,\n            initialSlide: $slider_links.filter( '.active' ).data().slide\n        };\n\n\t\t$slider.slick( slick_options );\n        \n\t\t$slider_links.click(function() {\n\t\t\tlet slide_nav = $(this).attr('data-slide');\n\t\t\t$slider.slick( 'slickGoTo', slide_nav );\n        });\n        \n\t\t$slider.on('beforeChange', function( event, slick, currentSlide, nextSlide ) {\n            let $slider_link = $slider_links.eq( nextSlide );\n            $slider.trigger( 'activate_slide', $slider_link.data().slidename );\n        });\n        \n        $slider.on( 'activate_slide', function ( e, slide ) {\n            let $slider_link = $slider_links.filter( `[data-slidename=${ slide }]` );\n            if ( $slider_link.length ) {\n                $slider_links.removeClass(\"active\");\n                $slider_link.addClass(\"active\");\n                if ( $(window).width() < 768 ) {\n                    $('html, body').animate({\n                        scrollTop: $slider.offset().top - 100\n                    }, 500);\n                }\n            }\n        });\n    });\n\n    $( document ).on( 'pre_scroll_to_target', function ( e, target ) {\n        let split_href = target.href.split('--');\n        if ( split_href.length > 1 && split_href[1] ) {\n            let $target_slider = $( `.logos_slider${ split_href[0] }` );\n            if ( $target_slider.length ) {\n                target.href = split_href[0];\n                let $slider_link = $( `.slider-control[data-slidename=${ split_href[1] }]`, $target_slider );\n                if ( $slider_link.length ) {\n                    $slider_link.click();\n                }\n            }\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 );\n","jQuery.fn.extend({\n    fixYoutubeIframeSize () {\n        if ( this.hasClass( 'youtube-iframe-wrap' ) && !this.hasClass( 'sized' ) ) {\n            let $iframe = this.find( 'iframe' );\n            let ar_percent = $iframe.attr('height') / $iframe.attr('width') * 100;\n            this.css({ 'padding-bottom': ar_percent + '%' }).addClass( 'sized' );\n        }\n        return this;\n    }\n});"]}