var _____WB$wombat$assign$function_____=function(name){return (globalThis._wb_wombat && globalThis._wb_wombat.local_init && globalThis._wb_wombat.local_init(name))||globalThis[name];};if(!globalThis.__WB_pmw){globalThis.__WB_pmw=function(obj){this.__WB_source=obj;return this;}}{
let window = _____WB$wombat$assign$function_____("window");
let self = _____WB$wombat$assign$function_____("self");
let document = _____WB$wombat$assign$function_____("document");
let location = _____WB$wombat$assign$function_____("location");
let top = _____WB$wombat$assign$function_____("top");
let parent = _____WB$wombat$assign$function_____("parent");
let frames = _____WB$wombat$assign$function_____("frames");
let opener = _____WB$wombat$assign$function_____("opener");


// Do not edit this file directly. it is generated by Grunt. Please edit the source files in the "scripts" directory of this folder.

/**
  * @namespace modern_tribe
  * @since 1.1.0 built on 02-11-2014
  * @desc The modern_tribe namespace stores all custom functions, data, application states and an empty events object to bind custom events to.
  * It is aliased to the letter "t" in the code below for the sake of brevity.
  * modern_tribe_i18n is aliased to nls and contains all language strings.
  * modern_tribe_config is aliased to config and contains all config info required by js from wp.
*/

var modern_tribe = window.modern_tribe || {};

(function (window, document, $, t, nls, config, m) {

/**
 * @namespace modern_tribe.plugins
 * @since 1.0
 * @desc modern_tribe.plugins is where we add custom jquery plugins we write. Other non jquery functions used globally go in the functions file.
 */

$.extend( verge );


/**
 * @namespace modern_tribe.br
 * @since 1.0
 * @desc modern_tribe.br is where we have some handy browser tests we shouldn't use but probably will.
 */

t.br = {
	chrome : !!window.chrome,
	firefox: typeof InstallTrigger !== 'undefined',
	ie     : /*@cc_on!@*/false || document.documentMode,
	ie8    : false,
	ios    : !!navigator.userAgent.match(/(iPod|iPhone|iPad)/i),
	safari : Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0,
	opera  : !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0,
	os     : navigator.platform
};


/**
 * @namespace modern_tribe.data
 * @since 1.0
 * @desc modern_tribe.data is where we can store/pass data during js operations.
 */

t.data = {
	resize_timer: setTimeout(function () {}, 200),
	resource_url: ''
};

/**
 * @namespace modern_tribe.el
 * @since 1.0
 * @desc modern_tribe.el is where we cache all of our needed DOM elements as jQuery objects.
 */

t.el = {
	adminbar : $(' #wpadminbar' ),
	body     : $('body'),
	doc      : $(document),
	hb       : $('html, body'),
	html     : $('html'),
	main     : $('#main'),
	site_wrap: $('#site-wrap'),
	window   : $(window)
};


/**
 * @function modern_tribe.bind_events
 * @since 1.0
 * @desc modern_tribe.bind_events is where we bind all of our event handlers.
 */


t.bind_events = function() {

	/***
	 * @handler Window Events
	 * @since 1.0
	 * @desc These handlers listen on the window object.
	 */

	t.el.window
		.on( 'resize', _.debounce( t.fn.execute_resize, 200, false ) )
		.load( t.fn.execute_load );

};
/**
 * @namespace modern_tribe.fn
 * @since 1.0
 * @desc modern_tribe.fn is where we store our modular and misc functions. Alphabetical order.
 * Store one offs or larger groups of related functions inside their own namespace as part of h.fn below, e.g. h.fn.
 */

t.fn = {

	/**
	 * @function modern_tribe.fn.execute_load
	 * @since 1.0
	 * @desc modern_tribe.fn.execute_load brings together all functions that must execute on window load.
	 */

	execute_load: function () {

		// @ifdef DEBUG
		console.time('t.fn.execute_load timer');
		// @endif

		t.fn.update_viewport_dims();
		t.el.html.removeClass('page-loading');

		// @ifdef DEBUG
		console.timeEnd('t.fn.execute_load timer');
		// @endif

	},

	/**
	 * @function modern_tribe.fn.execute_ready
	 * @since 1.0
	 * @desc modern_tribe.fn.execute_ready brings together all functions that must execute on doc ready.
	 */

	execute_ready: function () {

		// @ifdef DEBUG
		console.time('t.fn.execute_ready timer');
		// @endif
		
		t.fn.execute_tests();
        t.fn.update_viewport_dims();
        t.fn.initialize_plugins();
        t.fn.responsive_modules_init();
        t.bind_events();

		t.nav.init();

		// @ifdef DEBUG
		console.timeEnd('t.fn.execute_ready timer');
		// @endif

	},

	/**
	 * @function modern_tribe.fn.execute_resize
	 * @since 1.0
	 * @desc modern_tribe.fn.execute_resize brings together all functions that must execute on the end of browser resize.
	 */

	execute_resize: function () {

		// @ifdef DEBUG
		console.time('t.fn.execute_resize timer');
		// @endif
		
		if(!t.br.ie8){

			t.fn.update_viewport_dims();
            t.fn.responsive_modules_init();

		}

		t.el.doc.trigger('modern_tribe_resize_executed');

		// @ifdef DEBUG
		console.timeEnd('t.fn.execute_resize timer');
		// @endif

	},

	/**
	 * @function modern_tribe.fn.execute_tests
	 * @since 1.0
	 * @desc modern_tribe.fn.execute_tests brings together all tests that need to be run on init.
	 */

	execute_tests: function () {

		if (t.tests.has_touch()) {
			if (window.navigator.pointerEnabled)
				t.state.click = "pointerdown";
			else if (window.navigator.msPointerEnabled)
				t.state.click = "MSPointerDown";
			else if('ontouchstart' in document.documentElement)
				t.state.click = "touchstart";
		}

		if(t.el.html.is('.lt-ie9'))
			t.br.ie8 = true;

	},

	/**
	 * @function modern_tribe.fn.initialize_plugins
	 * @since 1.0
	 * @desc Function to wrap all simple third part plugin inits.
	 */

	initialize_plugins: function () {

		FastClick.attach(document.body);

	},
	
	/**
     * @function modern_tribe.fn.responsive_modules_init
     * @since 1.0
     * @desc modern_tribe.fn.responsive_modules_init fires out inits that shouldn't execute until a mobile or desktop state has been detected.
     */

    responsive_modules_init: function(){

        if(!t.state.desktop_initialized && t.state.v_width >= t.options.mobile_breakpoint){

            t.state.desktop_initialized = true;

            // @ifdef DEBUG
            console.info('Completed initializing desktop plugins.');
            // @endif

        } else if(!t.state.mobile_initialized && t.state.v_width < t.options.mobile_breakpoint){

            t.state.mobile_initialized = true;

            // @ifdef DEBUG
            console.info('Completed initializing mobile plugins.');
            // @endif

        }

    },

	/**
	 * @function modern_tribe.fn.scroll_to
	 * @since 1.0
	 * @desc modern_tribe.fn.scroll_to allows equalized or duration based scrolling of the body to a supplied target with options.
	 */

	scroll_to: function( opts ) {

		var options = $.extend( {
			auto           : false,
			auto_coefficent: 2.5,
			after_scroll   : function() {
			},
			duration       : 1000,
			easing         : 'linear',
			offset         : 0,
			target         : $()
		}, opts );

		if ( options.target.length ) {

			var position = options.target.offset().top + options.offset;

			if ( options.auto ) {

				var html_position = s.el.html.scrollTop();

				if ( position > html_position ) {
					options.duration = (position - html_position) / options.auto_coefficent;
				}
				else {
					options.duration = (html_position - position) / options.auto_coefficent;
				}
			}

			t.el.hb.animate( {scrollTop: position}, options.duration, options.easing, options.after_scroll );
		}

	},

	/**
	 * @function modern_tribe.fn.update_viewport_dims
	 * @since 1.0
	 * @desc modern_tribe.fn.update_viewport_dims updates the state object viewport dimension variables for use throughout the app.
	 */

	update_viewport_dims: function () {

		t.state.v_height = $.viewportH();
		t.state.v_width = $.viewportW();

		if ( t.state.v_width >= t.options.mobile_breakpoint ) {
			t.state.is_desktop = true;
			t.state.is_mobile = false;
		}
		else {
			t.state.is_desktop = false;
			t.state.is_mobile = true;
		}

	}

};

/**
 * @namespace modern_tribe.mobile
 * @since 1.0
 * @desc modern_tribe.nav is were store our mobile functions.
 */

t.mobile = {

	$el: {

	},

	init: function(){

		this.bind_events();

	},

	bind_events: function() {



	}

};

/**
 * @namespace modern_tribe.nav
 * @since 1.0
 * @desc modern_tribe.nav is were store our main nav functions.
 */

t.nav = {

	$el: $( '#site-navigation' ),

	init: function() {

		this.bind_events();

	},

	bind_events: function() {

		_.bindAll( this, '_close_menus', '_show_mobile_nav', '_show_mobile_about', '_show_sub_menu' );

		this.$el
			.on( 'click', '#mobile-nav', this._show_mobile_nav )
			.on( 'click', '#mobile-about', this._show_mobile_about )
			.on( 'click', '.menu-item-has-children > a', this._show_sub_menu );

		t.el.main
			.on( 'click', this._close_menus );

	},

	_close_menus: function() {

		this.$el
			.find( '.mobile-about-copy' )
			.removeClass( 'menu-open' );

		this.$el
			.find( '.sub-menu-open' )
			.removeClass( 'sub-menu-open' );

		this.$el
			.find( '.menu-main-menu-container' )
			.removeClass( 'menu-open' );

	},

	_show_mobile_about: function( e ) {

		e.preventDefault();

		this.$el
			.find( '.mobile-about-copy' )
			.toggleClass( 'menu-open' );

		this.$el
			.find( '.menu-main-menu-container' )
			.removeClass( 'menu-open' );

	},

	_show_mobile_nav: function( e ) {

		e.preventDefault();

		var $menu = this.$el.find( '.menu-main-menu-container' );

		this.$el
			.find( '.mobile-about-copy' )
			.removeClass( 'menu-open' );

		this.$el
			.find( '.menu-main-menu-container' )
			.toggleClass( 'menu-open' );

		var $bar = $( '#wpadminbar' );

		if ( $menu.is( '.menu-open' ) ) {
			t.fn.scroll_to( {
				duration: 400,
				easing  : 'easeInOutCubic',
				offset  : ($bar.length) ? -($bar.height() - 1) : 0,
				target  : $( e.currentTarget )
			}
			);
		}

	},

	_show_sub_menu: function( e ) {

		e.preventDefault();

		this.$el
			.find( '.sub-menu-open' )
			.not( $( e.currentTarget ).parent() )
			.removeClass( 'sub-menu-open' );

		$( e.currentTarget ).parent().toggleClass( 'sub-menu-open' );

	}

};

/**
 * @namespace modern_tribe.options
 * @since 1.0
 * @desc modern_tribe.options is where we store app options.
 */

t.options = {
	mobile_breakpoint: 768
};

/**
 * @namespace modern_tribe.events
 * @since 1.0
 * @desc modern_tribe.events is where we can bind custom actions and events.
 */

t.events = {};

/**
 * @namespace modern_tribe.state
 * @since 1.0
 * @desc modern_tribe.state is were we can store various state variables, like browser info, viewport height, width etc.
 */

t.state = {
	click              : 'click',
	desktop_initialized: false,
	domain             : location.protocol + '//' + location.host + '/',
	is_desktop         : false,
	is_mobile          : false,
	mobile_initialized : false,
	v_height           : 0,
	v_width            : 0
};
/**
 * @namespace modern_tribe.tests
 * @since 1.0
 * @desc modern_tribe.tests is where we store all other tests.
 */

t.tests = {

	animating: function (el) {
		return el.is(':animated');
	},

	has_bar: function () {
		return t.el.body.is('.admin-bar');
	},

	has_touch: function () {
		return ('ontouchstart' in document.documentElement || navigator.msMaxTouchPoints > 0);
	},

	home: function () {
		return t.el.body.is('.home');
	}

};

/**
 * @function modern_tribe.init
 * @since 1.0
 * @desc modern_tribe.init is where we kickoff the app!
 */

t.el.doc.ready(
	t.fn.execute_ready
);

})(window, document, jQuery, modern_tribe, modern_tribe_i18n, modern_tribe_config, Modernizr);
}

/*
     FILE ARCHIVED ON 08:13:10 Feb 01, 2015 AND RETRIEVED FROM THE
     INTERNET ARCHIVE ON 07:48:04 Jun 26, 2026.
     JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.

     ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
     SECTION 108(a)(3)).
*/
/*
playback timings (ms):
  capture_cache.get: 0.354
  load_resource: 63.692
  PetaboxLoader3.resolve: 21.31
  PetaboxLoader3.datanode: 16.325
*/