{"version":3,"sources":["Accordions.js","Cookies.js","Functions.js","Loading_Screen.js","Media_Queries.js","Menus.js","Responsive_Video.js","Search.js","Sliders.js","gforms.js","hash-links.js"],"names":["AccordionGroup","$element","_this","this","$group","_classCallCheck","jQuery","hasClass","$items","active_bg","data","inactive_bg","each","css","on","e","$target","currentTarget","closest","console","log","filter","length","toggle_item","addClass","error","_createClass","key","value","$item","opening","arguments","undefined","Boolean","first","attr","toggleClass","concat","_class","get_instance","instance","init","ThemeJS","Cookies","get_cookie","cname","name","ca","decodeURIComponent","document","cookie","split","i","c","charAt","substring","indexOf","JSON","parse","get","cookie_names","cookies","$","index","cookie_name","set","cookie_data","cvalue","d","_typeof","isArray","hasOwnProperty","expires","exdays","isEmptyObject","Date","setTime","getTime","toUTCString","stringify","Functions","outer","inner","scrollbar_width","querySelector","style","setProperty","createElement","visibility","overflow","msOverflowStyle","body","appendChild","offsetWidth","parentNode","removeChild","send_ajax_request","args","nonce","Variables","Ajax","post","url","response","success","wp_rest_request","ajax_args","method","_args$method","toString","toUpperCase","WP_REST","root","endpoint","contentType","beforeSend","xhr","setRequestHeader","complete","dataType","ajax","get_query_parameter","window","location","href","replace","results","RegExp","exec","transition_duration","$loading_screen","$icon","$icon_wrapper","append","transition_duration_string","parseInt","parseFloat","remove","fn","loading_screen","show","callback","$local_load_screen","clone","setTimeout","removeClass","Media_Queries","current_size","breakpoints_obj","Screen_Sizes","breakpoints","queries","size","px","push","sort","a","b","previous_size","obj","matchMedia","addListener","breakpoint_changed","calculate_current_size","max_matched_size","query","matches","trigger","get_current_size","is_at_least","watch","_queries$size","addEventListener","$opacity_px","$body","$header","$menu","$toggle","speed","menu_bp","appendTo","IntersectionObserver","entries","intersectionRatio","threshold","observe","focus_trap","focusTrap","createFocusTrap","onActivate","onDeactivate","initialFocus","resize","outerHeight","deactivate","set_submenu_open","$li","$submenu","$btn","click","activate","is","contains","relatedTarget","preventDefault","$menu_top_lvl_items","calc_menu_pos","_this2","$this","innerWidth","getBoundingClientRect","right","clearTimeout","menu_pos_debounce","Responsive_Video","ar","fadeIn","focus","stopPropagation","target","fadeOut","videoSliderIds","_toConsumableArray","querySelectorAll","map","slider","classList","slider_options","infinite","dots","arrows","autoplay","slidesToScroll","rows","prevArrow","nextArrow","responsive","breakpoint","md","settings","slidesToShow","lg","this_slider_options","extend","slick","forEach","slickInstance","slickOnclick","slickinstance","element","slickEvent","arrowPrev","previousElementSibling","arrowNext","nextElementSibling","init_select2","$gf_placeholder","text","html","select2","minimumResultsForSearch","closeOnSelect","_$$data$close_on_sele","close_on_select","allowClear","$button","form_id","current_page","$form","gform_observer","ResizeObserver","_step","_iterator","_createForOfIteratorHelper","s","n","done","$filled","entry","$gfields","$submit","prev","offsetTop","set_error_position","err","f","modal","animate","scrollTop","offset","top"],"mappings":"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","file":"main.js","sourcesContent":["class AccordionGroup {\n\n // STATIC\n\n static init () {\n let _class = this;\n jQuery( '.accordion-group:not(.initialized)' ).each( function () {\n _class.get_instance( this );\n });\n }\n\n\n static get_instance ( $element ) {\n $element = jQuery( $element );\n const $group = $element.closest( '.accordion-group' );\n let instance = $group.data( 'AccordionGroup' );\n if ( !instance ) {\n instance = new this( $group );\n $group.data( 'AccordionGroup', instance );\n }\n return instance;\n }\n\n // static method for external programmatic use\n static toggle_item ( $item, opening = null ) {\n const instance = this.get_instance( $item );\n instance.toggle_item( $item, opening );\n }\n\n\n // INSTANCE\n\n constructor ( $element ) {\n const $group = jQuery( $element );\n if ( !$group.hasClass( 'accordion-group' ) ) {\n console.error( 'Invalid Accordion Group' );\n return;\n }\n this.$group = $group;\n this.$items = jQuery( '> .accordion-item', $element );\n this.active_bg = this.$group.data('bg-active');\n this.inactive_bg = this.$group.data('bg-inactive');\n\n this.$items.each( function () {\n jQuery( '.accordion-content', this ).css( 'display', jQuery(this).hasClass( 'open' ) ? 'block' : 'none' );\n });\n\n this.$group.on( 'click', '.accordion-toggle', (e) => {\n const $target = jQuery( e.currentTarget ).closest( '.accordion-item' );\n console.log( this.$items.filter( $target ).length );\n if ( this.$items.filter( $target ).length ) {\n this.toggle_item( $target );\n }\n });\n\n this.$group.addClass( 'initialized' );\n }\n\n\n toggle_item ( $item, opening = null ) {\n $item = jQuery( $item ).closest( '.accordion-item' );\n opening = Boolean( ( opening !== null ) ? opening : !$item.hasClass( 'open' ) );\n const $toggle = jQuery( '.accordion-toggle', $item ).first();\n $toggle.attr( 'aria-expanded', opening ? 'true' : 'false' );\n $item.toggleClass( 'open', opening );\n if ( this.active_bg != this.inactive_bg ) {\n $item\n .toggleClass( `bg-${ this.active_bg }`, opening )\n .toggleClass( `bg-${ this.inactive_bg }`, !opening )\n }\n jQuery( '> .accordion-content', $item )[ opening ? 'slideDown' : 'slideUp' ]( 300 );\n }\n\n}\n\n\njQuery( function () {\n AccordionGroup.init();\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\t\tInclude Globally Useful JS Functions\n\\*--------------------------------------------*/\n\nThemeJS.Functions = (function ($, root) {\n\n\tfunction send_ajax_request(args) {\n\t\targs.data.nonce = ThemeJS.Variables.Ajax.nonce;\n\t\t$.post(ThemeJS.Variables.Ajax.url, args.data, function (response) {\n\t\t\tresponse = JSON.parse(response);\n\t\t\tif (!response.hasOwnProperty('data')) { response.data = {}; }\n\t\t\tif (response.success && typeof args.success == 'function') {\n\t\t\t\targs.success(response.data);\n\t\t\t} else if (!response.success && typeof args.error == 'function') {\n\t\t\t\targs.error(response.data);\n\t\t\t}\n\t\t});\n\t}\n\n\tfunction wp_rest_request ( args ) {\n\t\tlet ajax_args = {\n\t\t\tmethod: ( args.method ?? 'GET' ).toString().toUpperCase(),\n\t\t\turl: `${ ThemeJS.Variables.WP_REST.root }${ args.endpoint }`,\n\t\t\tdata: args.data,\n\t\t\tcontentType: 'application/json; charset=utf-8',\n\t\t\tbeforeSend ( xhr ) {\n\t\t\t\txhr.setRequestHeader( 'X-WP-Nonce', ThemeJS.Variables.WP_REST.nonce );\n\t\t\t},\n\t\t\tsuccess ( data ) {\n\t\t\t\tif ( typeof args.success == 'function' ) {\n\t\t\t\t\targs.success( data );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror ( data ) {\n\t\t\t\tif ( typeof args.error == 'function' ) {\n\t\t\t\t\targs.error( data );\n\t\t\t\t}\n\t\t\t},\n\t\t\tcomplete ( data ) {\n\t\t\t\tif ( typeof args.complete == 'function' ) {\n\t\t\t\t\targs.complete( data );\n\t\t\t}\n\t\t\t}\n\t\t};\n\t\tif ( ajax_args.method != 'GET' ) {\n\t\t\tajax_args.dataType = 'json';\n\t\t\tajax_args.data = JSON.stringify( ajax_args.data );\n\t\t}\n\t\tjQuery.ajax( ajax_args );\n\t}\n\n\tfunction get_query_parameter(name, url) {\n\t\tif (!url) url = window.location.href;\n\t\tname = name.replace(/[\\[\\]]/g, '\\\\$&');\n\t\tvar regex = new RegExp('[?&#]' + name + '(=([^&#]*)|&|#|$)'),\n\t\t\tresults = regex.exec(url);\n\t\tif (!results) return null;\n\t\tif (!results[2]) return '';\n\t\treturn decodeURIComponent(results[2].replace(/\\+/g, ' '));\n\t}\n\n\tlet scrollbar_width = null;\n\t// taken from https://stackoverflow.com/questions/13382516/getting-scroll-bar-width-using-javascript\n\tfunction get_scrollbar_width() {\n\t\tif (scrollbar_width === null) {\n\t\t\tlet outer = document.createElement('div');\n\t\t\touter.style.visibility = 'hidden';\n\t\t\touter.style.overflow = 'scroll';\n\t\t\touter.style.msOverflowStyle = 'scrollbar';\n\t\t\tdocument.body.appendChild(outer);\n\t\t\tlet inner = document.createElement('div');\n\t\t\touter.appendChild(inner);\n\t\t\tscrollbar_width = (outer.offsetWidth - inner.offsetWidth);\n\t\t\touter.parentNode.removeChild(outer);\n\t\t}\n\t\treturn scrollbar_width;\n\t}\n\n\tdocument.querySelector(':root').style.setProperty('--scrollbar-width', `${get_scrollbar_width()}px`);\n\n\treturn {\n\t\tsend_ajax_request,\n\t\twp_rest_request,\n\t\tget_query_parameter,\n\t\t\n\t}\n\n})(jQuery, this);","/*-------------------------------------------------------------------*\\\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\n(function ( $, root ) {\n\n var $loading_screen = false;\n var transition_duration = 0;\n \n function init () {\n var $icon = $('').addClass( 'loading-icon fas fa-cog fa-spin' );\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 watch: function ( size, callback ) {\n if ( queries[ size ] ?? null ) {\n queries[ size ].addEventListener( 'change', callback );\n }\n },\n };\n\n})( jQuery );","( function( $ ){\n\n const $body = $( 'body' );\n const $header = $( '#site-header' );\n\n const $menu = $( '#menu-wrap', $header );\n const $toggle = $( '#mobile-menu-toggle', $header );\n const speed = 300;\n\n const menu_bp = $header.data( 'menu-bp' );\n\n\n if ( !$header.hasClass( 'opaque' ) ) {\n\n const $opacity_px = $( \"\" );\n $opacity_px.appendTo( $body );\n\n const opacity_observer = new IntersectionObserver( set_opacity, {\n root: document,\n threshold: 1\n });\n\n opacity_observer.observe( $opacity_px.get(0) );\n\n function set_opacity ( entries ) {\n // console.log( entries );\n $header.toggleClass( 'opaque', ( entries[0].intersectionRatio < 1 ) );\n }\n }\n\n\n function is_mobile () {\n return $toggle.is( ':visible' );\n }\n\n\n // create focus trap\n const focus_trap = focusTrap.createFocusTrap( $header.get(0), {\n onActivate () {\n $toggle.addClass( 'is-active' );\n $menu.addClass( 'visible' );\n $body.addClass( 'menu-open' );\n },\n onDeactivate () {\n $toggle.removeClass( 'is-active' );\n $body.removeClass( 'menu-open' );\n setTimeout( function () {\n $menu.removeClass( 'visible' );\n }, speed );\n },\n initialFocus: $toggle.get(0),\n });\n\n\n function resize () {\n $header.toggleClass( 'mobile', !ThemeJS.Media_Queries.is_at_least( menu_bp ) );\n document.querySelector( ':root' ).style.setProperty( '--header-height', `${ $header.outerHeight() }px` );\n $body.removeClass( 'mobile-transition-enabled' );\n setTimeout( function () {\n $body.addClass( 'mobile-transition-enabled' );\n }, 0 );\n if ( ThemeJS.Media_Queries.is_at_least( menu_bp ) ) {\n focus_trap.deactivate();\n $( 'button.sub-menu-toggle' ).closest( 'li' ).each( function () {\n set_submenu_open( $(this), false );\n });\n }\n }\n\n\n // init header pad height and set header to fixed\n resize();\n $header.addClass( 'fixed' );\n // trigger height recalculation on breakpoint change\n $( window ).on( 'breakpoint_changed', resize );\n\n // toggle mobile menu on hamburger click\n $toggle.click( () => {\n $body.hasClass( 'menu-open' ) ? focus_trap.deactivate() : focus_trap.activate();\n });\n\n\n // function to set submenus open/close\n function set_submenu_open ( $li, opening ) {\n let $btn = $( '> .link-wrap button.sub-menu-toggle', $li );\n if ( !$btn.length ) { return; }\n let $submenu = $( `#${ $btn.attr( 'aria-controls' ) }` );\n if ( !$submenu.length ) { return; }\n $btn.attr( 'aria-expanded', opening ? 'true' : 'false' );\n\t\t$submenu.attr( 'aria-hidden', opening ? 'false' : 'true' )[ opening ? 'slideDown' : 'slideUp' ]( speed );\n }\n\n\n // toggle submenus on click of caret btns\n $menu.on( 'click', 'button.sub-menu-toggle', function () {\n set_submenu_open( $(this).closest( 'li' ), $(this).attr( 'aria-expanded' ) == 'false' );\n });\n\n\n // close submenu on tab out\n $menu.on( 'focusout', 'li.menu-item-has-children', function ( e ) {\n if ( is_mobile() || $.contains( this, e.relatedTarget ) ) { return; }\n set_submenu_open( $(this), false );\n });\n\n\n // treat click of a custom link '#' menu item as clicking its submenu toggle\n $menu.on( 'click', 'a[href=\"#\"]', function ( e ) {\n e.preventDefault();\n let $btn = $( '+ .sub-menu-toggle', this );\n if ( $btn.length ) {\n $btn.click();\n }\n });\n\n\n\n const $menu_top_lvl_items = $( '.menu > li', $menu );\n let menu_pos_debounce;\n function calc_menu_pos () {\n if ( ThemeJS.Media_Queries.is_at_least( menu_bp ) ) {\n $menu_top_lvl_items.each( function () {\n const $this = $(this);\n $this.removeClass( 'align-right' );\n setTimeout( () => {\n $( 'ul.sub-menu', this ).each( function () {\n // console.log( window.innerWidth - this.getBoundingClientRect().right );\n if ( ( window.innerWidth - this.getBoundingClientRect().right ) < 100 ) {\n $this.addClass( 'align-right' );\n return false;\n }\n });\n }, 0 );\n });\n }\n }\n calc_menu_pos();\n $( window ).on( 'resize', function () {\n clearTimeout( menu_pos_debounce );\n setTimeout( function () {\n calc_menu_pos();\n }, 50 );\n });\n\n\n})( jQuery );\n","\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 );","( function( $ ){\n\n $( '.search-trigger' ).on( 'click', (e) => {\n let is_visible = $( '.search-popup' ).is( ':visible' );\n if( ! is_visible ){\n $( '.search-popup' ).fadeIn();\n $( '.search-input' ).focus();\n e.stopPropagation();\n }\n });\n\n $( document ).on( 'click', (e) => {\n if( \n $( e.target ).closest( '.search-popup' ).length == 0\n && $( '.search-popup' ).is( ':visible' )\n ){\n $( '.search-popup' ).fadeOut();\n }\n });\n\n})( jQuery );","jQuery( function ( $ ) {\n\n const videoSliders = [...document.querySelectorAll('.video-slick-slider')];\n const videoSliderIds = videoSliders.map( slider => slider.classList[2] );\n \n let slider_options = {\n infinite: true,\n dots: false,\n arrows: true,\n autoplay: false,\n slidesToScroll: 1,\n rows: 0,\n prevArrow: '',\n nextArrow: '',\n responsive: [\n {\n breakpoint: ThemeJS.Variables.Screen_Sizes.md,\n settings: {\n slidesToShow: 1\n }\n },\n {\n breakpoint: ThemeJS.Variables.Screen_Sizes.lg,\n settings: {\n slidesToShow: 2\n }\n }\n ]\n };\n\n $( '.slick-slider' ).each( function () {\n let this_slider_options = $.extend( {}, slider_options, true );\n\n let slidesToShow = $( this ).attr( 'data-slidestoshow' );\n this_slider_options.slidesToShow = parseInt( slidesToShow );\n if ( parseInt( slidesToShow ) == 1 ) {\n delete this_slider_options[ 'responsive' ];\n }\n\n $( this ).slick( this_slider_options );\n\n \n });\n\n // since multiple sliers can be on a page, this is to ensure the target of the slickNext and slickPrev are for the current object and not all on the page\n // unique target ==> setup using uuid generate on pageload for the video-slick-slider container and prev and next buttons\n videoSliderIds.forEach( slider => {\n \n $( `.${slider}` ).each( function (){\n\n $( this ).slick( 'unslick' );\n\n let this_slider_options = $.extend( {}, slider_options, true );\n\n let slidesToShow = $( this ).attr( 'data-slidestoshow' );\n this_slider_options.slidesToShow = parseInt( slidesToShow );\n if ( parseInt( slidesToShow ) == 1 ) {\n delete this_slider_options[ 'responsive' ];\n }\n\n $( this ).slick( this_slider_options );\n\n let slickInstance = $( this );\n\n function slickOnclick( slickinstance, element, slickEvent ){\n if( element.length ){\n element.on('click', function(){\n slickinstance.slick( slickEvent );\n });\n }\n }\n\n let arrowPrev = $( `.${ $( this )[0].previousElementSibling.classList[1] }` );\n let arrowNext = $( `.${ $( this )[0].nextElementSibling.classList[1] }` );\n\n slickOnclick( slickInstance, arrowPrev, 'slickPrev' );\n slickOnclick( slickInstance, arrowNext, 'slickNext' );\n });\n });\n\n\n});","jQuery( function ($) {\n\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 function init_select2 ( element ) {\n let $element = $(element);\n let $gf_placeholder = $( 'option.gf_placeholder', $element );\n if ( $gf_placeholder.length ) {\n $element.attr( 'data-placeholder', $gf_placeholder.text() );\n $gf_placeholder.html('').removeClass( 'gf_placeholder' );\n }\n $element.select2({\n minimumResultsForSearch: 5,\n closeOnSelect: $(element).data().close_on_select ?? true,\n allowClear: $element.attr( 'aria-required' ) != 'true',\n });\n }\n\n\n $( 'select:not(#my-calendar-year):not(#my-calendar-month)' ).each( function () {\n init_select2( this );\n });\n\n\n $(document).on( 'gform_post_render', function ( e, form_id, current_page ) {\n const $form = `#gform_${ form_id }`;\n $( 'select', $form ).each( function () {\n init_select2( this );\n });\n gform_observer.observe( $( '.gform_fields', $form ).get(0) );\n });\n\n\n const gform_observer = new ResizeObserver( entries => {\n for ( let entry of entries ) {\n set_inline_submit_styles( $( entry.target ) );\n $( '.gfield_error', entry.target ).each( set_error_position );\n }\n });\n\n function set_inline_submit_styles ( $gfields ) {\n const $submit = $( '.gfield--width-fill + .gfield--type-submit', $gfields );\n if ( $submit.length ) {\n const $filled = $submit.prev();\n $filled.toggleClass( 'btn-inline', ( $submit.get(0).offsetTop == $filled.get(0).offsetTop ) );\n }\n }\n\n // scoped to .gfield\n function set_error_position () {\n $(this).css( '--input-container-top', `${ $( '.ginput_container', this ).get(0).offsetTop }px` );\n }\n\n\n});","( function ( $ ) {\n\n // smooth-scroll / toggle modal on click of id href\n $( document ).on( 'click', 'a[href^=\"#\"]', function ( e ) {\n let $target = $( $(this).attr('href') );\n if ( $target.length ) {\n e.preventDefault();\n if ( $target.hasClass('modal') ) {\n $target.modal('toggle');\n return;\n }\n $('html, body').animate(\n { scrollTop: $target.offset().top },\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\n})( jQuery );"]}