/******/ (function() { // webpackBootstrap
/******/ 	var __webpack_modules__ = ({

/***/ "./src/scss/index.scss":
/*!*****************************!*\
  !*** ./src/scss/index.scss ***!
  \*****************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
// extracted by mini-css-extract-plugin


/***/ }),

/***/ "./src/scss/tailwind.scss":
/*!********************************!*\
  !*** ./src/scss/tailwind.scss ***!
  \********************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
// extracted by mini-css-extract-plugin


/***/ }),

/***/ "./src/js/blocks/index.js":
/*!********************************!*\
  !*** ./src/js/blocks/index.js ***!
  \********************************/
/***/ (function() {

/**
 * Gutenberg Block JS
 *
 * Import JS for Gutenberg blocks.
 */

// Custom Gutenberg Blocks.
// import './wd';
// import './acf';


/***/ }),

/***/ "./src/js/components/alerts/alert.js":
/*!*******************************************!*\
  !*** ./src/js/components/alerts/alert.js ***!
  \*******************************************/
/***/ (function() {

const notificationBar = document.getElementById( 'alert' );
const closeAlert = document.getElementById( 'alertclose' );
const dismiss = localStorage.getItem( 'dismiss' );

document.addEventListener(
	'DOMContentLoaded',
	function () {
		notificationBar.style.display = 'block';

		if ( dismiss ) {
			notificationBar.remove();
		}

		closeAlert.addEventListener( 'click', function () {
			notificationBar.remove();
			localStorage.setItem( 'dismiss', true );
		} );
	},
	false
);


/***/ }),

/***/ "./src/js/components/index.js":
/*!************************************!*\
  !*** ./src/js/components/index.js ***!
  \************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _alerts_alert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./alerts/alert */ "./src/js/components/alerts/alert.js");
/* harmony import */ var _alerts_alert__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_alerts_alert__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _navbar_navbar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./navbar/navbar */ "./src/js/components/navbar/navbar.js");
/* harmony import */ var _navbar_navbar__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_navbar_navbar__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _share_share__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./share/share */ "./src/js/components/share/share.js");
/* harmony import */ var _share_share__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_share_share__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _modal_modal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modal/modal */ "./src/js/components/modal/modal.js");
/* harmony import */ var _modal_modal__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_modal_modal__WEBPACK_IMPORTED_MODULE_3__);
/**
 * Components JS
 *
 * Import JS that applies components.
 */






/***/ }),

/***/ "./src/js/components/modal/modal.js":
/*!******************************************!*\
  !*** ./src/js/components/modal/modal.js ***!
  \******************************************/
/***/ (function() {

// Source: https://github.com/appleple/modal-video 

const btns = document.getElementsByClassName('js-modal-btn');
const modal = document.getElementsByClassName('modal-video');

document.addEventListener('DOMContentLoaded', function() {
	// The forEach method executes a provided function once for each array button.
	btns.forEach((btn, i) => {
		// returns the value of a specificed attribute on the button. 
		let src = btn.getAttribute('data-src');
		// finds mp4 in string
		let mp4 = new RegExp('\\.([^/#?]+)([#?][^/]*)?$');
		// finds youtube in string
		let yt = /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/;
		// finds vimeo in string
		let vimeo = /^.*(vimeo\.com\/)((channels\/[A-z]+\/)|(groups\/[A-z]+\/videos\/))?([0-9]+)/;

		// if found mp4 in src
		if (src.match(mp4)) {
			// sets the value of an attribute on the specified button.
			btn.setAttribute('data-video-url', src);
			// adds a new unique className with index on the specified button. 
			btn.classList.add(`mp4-modal-btn-${i}`)
			// please see the source (line 1)
			new ModalVideo(`.mp4-modal-btn-${i}`);
		}

		// if found youtube in src
		if (src.match(yt)) {
			// gets the youtube ID
			ytId = src.match(/(?:youtube(?:-nocookie)?\.com\/(?:[^\/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&]v=)|youtu\.be\/)([a-zA-Z0-9_-]{11})/)[1];
			// sets the value of an attribute on the specified button.
			btn.setAttribute('data-video-id', ytId);
			// adds a new unique className with index on the specified button. 
			btn.classList.add(`yt-modal-btn-${i}`);
			// please see the source (line 1)
			new ModalVideo(`.yt-modal-btn-${i}`);
		} 

		// if found vimeo in src
		if (src.match(vimeo)) {
			// gets the vimeo ID
			vimeoId = src.match(vimeo)[5];
			// sets the value of an attribute on the specified button.
			btn.setAttribute('data-video-id', vimeoId);
			// adds a new unique className with index on the specified button. 
			btn.classList.add(`vimeo-modal-btn-${i}`);
			// please see the source (line 1)
			new ModalVideo(`.vimeo-modal-btn-${i}`, {channel: 'vimeo'});
		}
	})
 }, false);

/***/ }),

/***/ "./src/js/components/navbar/navbar.js":
/*!********************************************!*\
  !*** ./src/js/components/navbar/navbar.js ***!
  \********************************************/
/***/ (function() {

const primary = document.querySelectorAll(".menu-item-has-children");
const sub = document.querySelectorAll(".mega-nav-unit");
const flyout = document.getElementById("flyout-section");
const mobileMenu = document.getElementById("mobile-navigation");
const smallDevice = window.matchMedia("(min-width: 1250px)");
const track = document.getElementsByClassName('track');

smallDevice.addListener(handleDeviceChange);

function handleDeviceChange(e) {
	if (e.matches) {
		/* =================================================== */
		// Desktop Navigation
		/* =================================================== */

		// display Mega Menu within children menu items when click a target main menu item
		for (const child of primary) {
			// listen for a click event
			child.addEventListener("click", (e) => {
				e.preventDefault();

				// get a child menu class name... the reason why we have to get offsetParent is because of Google Translator. It added more divs. 
				const getChildMenuClassName = e.target.offsetParent.className;
				// remove all strings except numbers
				const primaryID = getChildMenuClassName.replace(/[^0-9]/g, "");

				// loop through the item using for..of
				for (const item of sub) {
					// get a sub menu class name
					const getSubMenuClassName = item.className;
					// remove all strings except numbers
					const subID = getSubMenuClassName.replace(/[^0-9]/g, "");

					/* display the target menu if the value (ID) in the class name of the child menu and sub menu are the same */
					if (primaryID !== subID) {
						item.classList.remove("active");
					} else {
						item.classList.toggle("active");
						flyout.classList.add("active");

						if (document.documentElement.lang === "en-US") {
							if (!item.classList.contains("active")) {
								flyout.classList.remove("active");
							}
						} else {
							setTimeout(() => {
								track.forEach(element => {
									let children = element.children[0].childNodes[0];
									children.setAttribute('class', 'custom-goog');
								})
							}, 300)
						}

						if (!item.classList.contains("active")) {
							flyout.classList.remove("active");
						}
					}
				}
			});
		}

		// display yellow overline for active state menu item
		document.getElementById("primary").addEventListener("click", (e) => {
			// the reason why we have to get offsetParent + firstChild is because of Google Translator. It added more divs. 
			e.target.offsetParent.firstChild.classList.toggle('overline');
			Array.prototype.slice
				.call(document.querySelectorAll(".overline"))
				.forEach((element) => {
					if (element !== e.target.offsetParent.firstChild) element.classList.remove("overline");
				});
		});
	} else {
		/* =================================================== */
		// Mobile Navigation
		/* =================================================== */
		// display children menu items when click a target main menu item
		mobileMenu.addEventListener('click', (e) => {
			// the reason why we have to get nextElementSibling + parentElement.parentElement.nextElementSibling is because of Google Translator. It added more divs. 
			let nonTranslatorMenu = e.target.nextElementSibling;
			let translatorMenu = e.target.parentElement.parentElement.nextElementSibling;
			let arr = [undefined];
			let href = e.target.href;

			let filtered = arr.filter(function (href) {
				return href !== undefined;
			})

			if (nonTranslatorMenu) {
				nonTranslatorMenu.classList.toggle('active');
			} else if (translatorMenu) {
				translatorMenu.classList.toggle('active');
			} else {
				window.location.href = filtered;
			}
		})
	}
}

// Run it intially
handleDeviceChange(smallDevice);

// click hamburger icon to open mobile nav or close mobile nav and reset mobile subnav
jQuery(function ($) {
	$('.off-canvas-open').on('click', function (e) {
		e.stopPropagation();
		if (!$('body').hasClass('mobile-nav-open')) {
			$('body').addClass('mobile-nav-open');
			$('html, body').scrollTop(0);
		} else {
			$('body').removeClass('mobile-nav-open');
			setTimeout(function () {
				$('#mobile-nav .mega-nav-box').removeClass('mega-nav-open');
				$('#mobile-nav .mega-nav-trigger').removeClass('active');
				$('#mobile-nav .mega-nav-unit').removeClass('visible');
				$('.mobile-main-nav').removeClass('mobile-sub-nav-open');
			}, 500);
		}
	});
});


/***/ }),

/***/ "./src/js/components/share/share.js":
/*!******************************************!*\
  !*** ./src/js/components/share/share.js ***!
  \******************************************/
/***/ (function() {

let facebook = document.querySelector( '.share_button_Facebook' );
let twitter = document.querySelector( '.share_button_Twitter' );
let linkedin = document.querySelector( '.share_button_Linkedin' );

const url = window.location.href;
const params = 'menubar=no,toolbar=no,status=no,width=570,height=570';

if (facebook != null) {
	facebook.addEventListener( 'click', function ( e ) {
		const shareUrl = `https://www.facebook.com/sharer.php?u=${ url }`;
		window.open( shareUrl, 'NewWindow', params );
	} );
}
else {
    facebook = null;
}

if (twitter != null) {
	twitter.addEventListener( 'click', function ( e ) {
		const shareUrl = `https://twitter.com/intent/tweet?url=${ url }`;
		window.open( shareUrl, 'NewWindow', params );
	} );
}
else {
    twitter = null;
}

if (linkedin != null) {
	linkedin.addEventListener( 'click', function ( e ) {
		const shareUrl = 'https://www.linkedin.com/sharing/share-offsite/?url=' + url;
		window.open( shareUrl, 'NewWindow', params );
	} );
}
else {
    linkedin = null;
}



/***/ }),

/***/ "./src/js/global/index.js":
/*!********************************!*\
  !*** ./src/js/global/index.js ***!
  \********************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _js_enabled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./js-enabled */ "./src/js/global/js-enabled.js");
/* harmony import */ var _js_enabled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_js_enabled__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _window_ready__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./window-ready */ "./src/js/global/window-ready.js");
/* harmony import */ var _window_ready__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_window_ready__WEBPACK_IMPORTED_MODULE_1__);
/**
 * Global JS
 *
 * Import JS that applies globally.
 */





/***/ }),

/***/ "./src/js/global/js-enabled.js":
/*!*************************************!*\
  !*** ./src/js/global/js-enabled.js ***!
  \*************************************/
/***/ (function() {

/**
 * File js-enabled.js
 *
 * If Javascript is enabled, replace the <body> class "no-js".
 */
document.body.className = document.body.className.replace( 'no-js', 'js' );


/***/ }),

/***/ "./src/js/global/window-ready.js":
/*!***************************************!*\
  !*** ./src/js/global/window-ready.js ***!
  \***************************************/
/***/ (function() {

/**
 * File window-ready.js
 *
 * Add a "ready" class to <body> when window is ready.
 *
 * @author Greg Rickaby, Corey Collins
 * @since January 31, 2020
 */
function wdsWindowReady() {
	document.body.classList.add( 'ready' );
}

if (
	( 'complete' === document.readyState ||
		'loading' !== document.readyState ) &&
	! document.documentElement.doScroll
) {
	wdsWindowReady();
} else {
	document.addEventListener( 'DOMContentLoaded', wdsWindowReady );
}


/***/ }),

/***/ "./src/js/index.js":
/*!*************************!*\
  !*** ./src/js/index.js ***!
  \*************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _global__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./global */ "./src/js/global/index.js");
/* harmony import */ var _template_tags__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./template-tags */ "./src/js/template-tags/index.js");
/* harmony import */ var _templates__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./templates */ "./src/js/templates/index.js");
/* harmony import */ var _templates__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_templates__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _blocks__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./blocks */ "./src/js/blocks/index.js");
/* harmony import */ var _blocks__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_blocks__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components */ "./src/js/components/index.js");
/**
 * Site JS
 */








/***/ }),

/***/ "./src/js/template-tags/accessible.js":
/*!********************************************!*\
  !*** ./src/js/template-tags/accessible.js ***!
  \********************************************/
/***/ (function() {

/**
 * Hero Carousel.
 */
window.addEventListener('load', function () {
	const slick = document.getElementsByClassName('slick-track')[0];
	if (slick) {
		slick.setAttribute('aria-label', 'carousel')
	}
})

/**
 * jQuery can't add support to passive listeners - https://github.com/jquery/jquery/issues/2871
 * Use passive listeners to improve scrolling performance. 
 */
jQuery.event.special.touchstart = {
	setup: function (_, ns, handle) {
		this.addEventListener("touchstart", handle, {
			passive: !ns.includes("noPreventDefault")
		});
	}
};

jQuery.event.special.touchmove = {
	setup: function (_, ns, handle) {
		this.addEventListener("touchmove", handle, {
			passive: !ns.includes("noPreventDefault")
		});
	}
};

jQuery.event.special.wheel = {
	setup: function (_, ns, handle) {
		this.addEventListener("wheel", handle, {
			passive: true
		});
	}
};

jQuery.event.special.mousewheel = {
	setup: function (_, ns, handle) {
		this.addEventListener("mousewheel", handle, {
			passive: true
		});
	}
};


/***/ }),

/***/ "./src/js/template-tags/analytics.js":
/*!*******************************************!*\
  !*** ./src/js/template-tags/analytics.js ***!
  \*******************************************/
/***/ (function() {

/**
 * Search Form.
 */
jQuery(document).ready(function ($) {
	$('.search-form').submit(function () {
		dataLayer.push({
			event: 'Search',
			eventCategory: 'Search',
			eventLabel: $('.search-field').val(),
		});
	});
});

/**
 * Service Page.
 */
const servicesTemplate = document.getElementsByClassName(
	'single-services'
)[0];
const navLinks = document.getElementsByClassName('nav-links')[0];

if (servicesTemplate) {
	let children = navLinks.children;
	for (let individual of children) {
		let link = individual.lastChild;
		let text = link.innerHTML;
		link.setAttribute('data-emacategory', 'In-Page Navigation');
		link.setAttribute('data-emalabel', `${ text }`);
	}
}

/**
 * Footer Navigation.
 */
const miscMenu = document.getElementById('menu-misc-menu');
const serviceMenu = document.getElementById('menu-services-menu');
const locationMenu = document.getElementById('menu-locations-menu');

let miscChildren = miscMenu.children;
let serviceChildren = serviceMenu.children;
let locationChildren = locationMenu.children;

for (let individual of miscChildren) {
	let link = individual.lastChild;
	link.setAttribute('data-emacategory', 'Footer Navigation');
}

for (let individual of serviceChildren) {
	let link = individual.lastChild;
	link.setAttribute('data-emacategory', 'Footer Navigation');
}

for (let individual of locationChildren) {
	let link = individual.lastChild;
	link.setAttribute('data-emacategory', 'Footer Navigation');
}

/**
 * YouTube
 */
jQuery(document).ready(function ($) {
	$('#google_language_translator').click(function() {
		dataLayer.push({
			event: 'translate',
			eventCategory: 'Translate',
		});
	});

	function loadScript() {
		if (typeof YT == 'undefined' || typeof YT.Player == 'undefined') {
			const tag = document.createElement('script');
			tag.src = 'https://www.youtube.com/iframe_api';
			const firstScriptTag = document.getElementsByTagName(
				'script'
			)[0];
			firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
			loadPlayer();
		}
	}

	function loadPlayer() {
		window.onYouTubePlayerAPIReady = function () {
			onYouTubePlayer();
		};
	}

	function onYouTubePlayer() {
		const youTubePlayers = document.querySelectorAll(
			'.yt-player-autoload'
		);
		if (youTubePlayers) {
			for (const player of youTubePlayers) {
				const id = player.id;
				ytVideoId = id;
				ytVideoTitle = id;
				loadYouTubePlayer(ytVideoId, 0, ytVideoTitle);
			}
		}
	}

	function loadYouTubePlayer(id, autoplay, ytVideoTitle) {
		embeddedPlayer = new YT.Player(id, {
			playerVars: {
				autoplay: autoplay,
				controls: 2,
				autohide: 1,
				wmode: 'opaque',
				rel: 0,
			},
			videoId: id,
			events: {
				onStateChange: embeddedOnPlayerStateChange,
			},
		});
	}

	function embeddedOnPlayerStateChange(event) {
		const gtm = document.querySelector('script[src*="googletagmanager.com/gtm.js"]');
		videoInfo = event.target.getVideoData();
		switch (event.data) {
			case YT.PlayerState.PLAYING:
				if (!gtm) {
					ga('send', 'event', 'Video', 'Play', videoInfo.title);
				} else if (gtm) {
					dataLayer.push({
						event: 'video',
						eventCategory: 'Video',
						eventAction: 'Play',
						eventLabel: videoInfo.title,
					});
				} else {
					console.error('There is something wrong with embeddedOnPlayerStateChange!');
				}

				break;

			case YT.PlayerState.ENDED:
				if (!gtm) {
					ga('send', 'event', 'Video', 'Complete', videoInfo.title);
				} else if (gtm) {
					dataLayer.push({
						event: 'video',
						eventCategory: 'Video',
						eventAction: 'Complete',
						eventLabel: videoInfo.title,
					});
				} else {
					console.error('There is something wrong with embeddedOnPlayerStateChange!');
				}

				break;
		}
	}

	$(function () {
		loadScript();
	});
});


/***/ }),

/***/ "./src/js/template-tags/custom.js":
/*!****************************************!*\
  !*** ./src/js/template-tags/custom.js ***!
  \****************************************/
/***/ (function() {

window.addEventListener('DOMContentLoaded', function () {
	const slickDots = document.getElementsByClassName('slick-dots')[0];

	if (slickDots) {
		slickDots.insertAdjacentHTML('beforeend',
			`<button class="pause" id="pause" type="button" data-role="none" role="button" aria-required="false">pause</button>`
		);
	}
});


/***/ }),

/***/ "./src/js/template-tags/index.js":
/*!***************************************!*\
  !*** ./src/js/template-tags/index.js ***!
  \***************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _analytics__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./analytics */ "./src/js/template-tags/analytics.js");
/* harmony import */ var _analytics__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_analytics__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _mobile_menu__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mobile-menu */ "./src/js/template-tags/mobile-menu.js");
/* harmony import */ var _mobile_menu__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_mobile_menu__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _modal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modal */ "./src/js/template-tags/modal.js");
/* harmony import */ var _modal__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_modal__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _navigation_primary__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./navigation-primary */ "./src/js/template-tags/navigation-primary.js");
/* harmony import */ var _navigation_primary__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_navigation_primary__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var _off_canvas__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./off-canvas */ "./src/js/template-tags/off-canvas.js");
/* harmony import */ var _off_canvas__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_off_canvas__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var _table__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./table */ "./src/js/template-tags/table.js");
/* harmony import */ var _table__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_table__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var _video__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./video */ "./src/js/template-tags/video.js");
/* harmony import */ var _video__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_video__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var _accessible__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./accessible */ "./src/js/template-tags/accessible.js");
/* harmony import */ var _accessible__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_accessible__WEBPACK_IMPORTED_MODULE_7__);
/* harmony import */ var _custom__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./custom */ "./src/js/template-tags/custom.js");
/* harmony import */ var _custom__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_custom__WEBPACK_IMPORTED_MODULE_8__);
/**
 * Template Tag JS
 *
 * JS for functions in template-tags.php.
 */











/***/ }),

/***/ "./src/js/template-tags/mobile-menu.js":
/*!*********************************************!*\
  !*** ./src/js/template-tags/mobile-menu.js ***!
  \*********************************************/
/***/ (function() {

/**
 * File: mobile-menu.js
 *
 * Create an accordion style dropdown.
 */

// Make sure everything is loaded first.
if (
	( 'complete' === document.readyState ||
		'loading' !== document.readyState ) &&
	! document.documentElement.doScroll
) {
	wdsMobileMenu();
} else {
	document.addEventListener( 'DOMContentLoaded', wdsMobileMenu );
}

/**
 * Handle our mobile menus.
 *
 * @author Corey Collins
 * @since January 31, 2020
 */
function wdsMobileMenu() {
	const subMenuParentItem = document.querySelectorAll(
		'.mobile-menu li.menu-item-has-children, .utility-navigation li.menu-item-has-children'
	);

	subMenuParentItem.forEach( ( subMenuParent ) => {
		const menuItem = subMenuParent.querySelector( 'a' );

		menuItem.innerHTML +=
			'<button type="button" aria-expanded="false" class="parent-indicator caret-down" aria-label="Open submenu"><span class="down-arrow"></span></button>';

		const subMenuTrigger = document.querySelectorAll( '.parent-indicator' );

		subMenuTrigger.forEach( ( trigger ) => {
			trigger.addEventListener( 'click', toggleSubmenu );
		} );
	} );

	/**
	 * Open/Close a submenu.
	 *
	 * @author Corey Collins
	 * @since January 31, 2020
	 * @param {Object} event The triggered event.
	 */
	function toggleSubmenu( event ) {
		event.preventDefault();

		const targetElement = event.target,
			targetParent = targetElement.parentNode.closest(
				'.menu-item-has-children'
			),
			subMenu = targetParent.querySelector( 'ul.sub-menu' );

		closeAllSubmenus( targetParent );
		maybeOpenSubmenu( targetParent, subMenu );
	}

	/**
	 * Open a submenu.
	 *
	 * @author Corey Collins
	 * @since January 31, 2020
	 * @param {Object} parent  The parent menu.
	 * @param {Object} subMenu The submenu.
	 */
	function maybeOpenSubmenu( parent, subMenu ) {
		if ( parent.classList.contains( 'is-visible' ) ) {
			closeSubmenu( parent, subMenu );
			return;
		}

		// Expand the list menu item, and set the corresponding button aria to true.
		parent.classList.add( 'is-visible' );
		parent
			.querySelector( '.parent-indicator' )
			.setAttribute( 'aria-expanded', true );

		// Slide the menu in.
		subMenu.classList.add( 'is-visible', 'animated', 'slideInLeft' );
	}

	/**
	 * Close a submenu.
	 *
	 * @author Corey Collins
	 * @since January 31, 2020
	 * @param {Object} parent  The parent item.
	 * @param {Object} subMenu The submenu.
	 */
	function closeSubmenu( parent, subMenu ) {
		parent.classList.remove( 'is-visible' );
		parent
			.querySelector( '.parent-indicator' )
			.setAttribute( 'aria-expanded', false );
		subMenu.classList.remove( 'is-visible', 'animated', 'slideInLeft' );
	}

	/**
	 * Close all open submenus on the same
	 * level/hierarchys the menu we're trying
	 * to open.
	 *
	 * @author Corey Collins
	 * @since January 31, 2020
	 * @param {Object} targetParent The target parent item.
	 */
	function closeAllSubmenus( targetParent ) {
		const submenuSiblings = getSiblings( targetParent );

		submenuSiblings.forEach( ( sibling ) => {
			sibling.classList.remove( 'is-visible' );

			if ( sibling.querySelector( '.parent-indicator' ) ) {
				sibling
					.querySelector( '.parent-indicator' )
					.setAttribute( 'aria-expanded', false );
			}

			if ( sibling.querySelector( '.sub-menu' ) ) {
				sibling
					.querySelector( '.sub-menu' )
					.classList.remove(
						'is-visible',
						'animated',
						'slideInLeft'
					);
			}
		} );
	}

	/**
	 * Find siblings of an item.
	 *
	 * @author Corey Collins
	 * @since January 31, 2020
	 * @param {Object} element The element being opened.
	 * @return {Array} List of siblings.
	 */
	const getSiblings = function ( element ) {
		const siblings = [];
		let sibling = element.parentNode.firstChild;

		while ( sibling ) {
			if ( 1 === sibling.nodeType && sibling !== element ) {
				siblings.push( sibling );
			}

			sibling = sibling.nextSibling;
		}

		return siblings;
	};
}


/***/ }),

/***/ "./src/js/template-tags/modal.js":
/*!***************************************!*\
  !*** ./src/js/template-tags/modal.js ***!
  \***************************************/
/***/ (function() {

// /**
//  * File modal.js
//  *
//  * Deal with multiple modals and their media.
//  */

// // Make sure everything is loaded first.
// if (
// 	( 'complete' === document.readyState ||
// 		'loading' !== document.readyState ) &&
// 	! document.documentElement.doScroll
// ) {
// 	wdsModals();
// } else {
// 	document.addEventListener( 'DOMContentLoaded', wdsModals );
// }

// /**
//  * Fire off our modal functions.
//  *
//  * @author Corey Collins
//  * @since January 31, 2020
//  */
// function wdsModals() {
// 	const modalTrigger = document.querySelectorAll( '.modal-trigger' ),
// 		modalClose = document.querySelectorAll( '.modal .close' ),
// 		pageBody = document.body;

// 	// Loop through each modal trigger on the page and add a listener for its header.
// 	modalTrigger.forEach( ( trigger ) => {
// 		trigger.addEventListener( 'click', openModal );
// 	} );

// 	modalClose.forEach( ( trigger ) => {
// 		trigger.addEventListener( 'click', closeModalOnCloseButton );
// 	} );

// 	pageBody.addEventListener( 'keydown', closeOnEscape );
// 	pageBody.addEventListener( 'click', closeOnClick );

// 	/**
// 	 * Open a modal when we trigger it.
// 	 *
// 	 * @author Corey Collins
// 	 * @since January 31, 2020
// 	 * @param {Object} event The triggered event.
// 	 */
// 	function openModal( event ) {
// 		const thisTarget = event.target,
// 			thisModalTarget = thisTarget.getAttribute( 'data-target' ),
// 			thisModal = document.querySelector( thisModalTarget ),
// 			focusableChildren = thisModal.querySelectorAll(
// 				'a, input, button'
// 			);

// 		pageBody.classList.add( 'modal-open' );
// 		thisModal.classList.add( 'modal-open' );
// 		thisModal.setAttribute( 'aria-hidden', false );

// 		if ( 0 < focusableChildren.length ) {
// 			focusableChildren[ 0 ].focus();
// 		}
// 	}

// 	/**
// 	 * Close a modal when we hit the close button.
// 	 *
// 	 * @author Corey Collins
// 	 * @since January 31, 2020
// 	 * @param {Object} event The triggered event.
// 	 */
// 	function closeModalOnCloseButton( event ) {
// 		const thisTarget = event.target,
// 			thisModalTarget = thisTarget.getAttribute( 'data-target' ),
// 			thisModal = document.querySelector( thisModalTarget ),
// 			modalIframe = thisModal.querySelector( 'iframe' );

// 		pageBody.classList.remove( 'modal-open' );
// 		thisModal.classList.remove( 'modal-open' );
// 		thisModal.setAttribute( 'aria-hidden', true );

// 		if ( modalIframe ) {
// 			const iframeURL = modalIframe.getAttribute( 'src' );

// 			modalIframe.setAttribute( 'src', '' );
// 			modalIframe.setAttribute( 'src', iframeURL );
// 		}
// 	}

// 	/**
// 	 * Close the modal when we hit the escape key.
// 	 *
// 	 * @author Corey Collins
// 	 * @since January 31, 2020
// 	 * @param {Object} event The triggered event.
// 	 */
// 	function closeOnEscape( event ) {
// 		if ( ! pageBody.classList.contains( 'modal-open' ) ) {
// 			return;
// 		}

// 		const currentlyOpenModal = document.querySelector(
// 				'.modal.modal-open'
// 			),
// 			modalIframe = currentlyOpenModal.querySelector( 'iframe' );

// 		if ( 27 === event.keyCode ) {
// 			currentlyOpenModal.setAttribute( 'aria-hidden', true );
// 			currentlyOpenModal.classList.remove( 'modal-open' );
// 			pageBody.classList.remove( 'modal-open' );

// 			if ( modalIframe ) {
// 				const iframeURL = modalIframe.getAttribute( 'src' );
// 				modalIframe.setAttribute( 'src', '' );
// 				modalIframe.setAttribute( 'src', iframeURL );
// 			}
// 		}
// 	}

// 	/**
// 	 * Close the modal when we hit outside of the modal area.
// 	 *
// 	 * @author Corey Collins
// 	 * @since January 31, 2020
// 	 * @param {Object} event The triggered event.
// 	 */
// 	function closeOnClick( event ) {
// 		const clickedElement = event.target;

// 		if ( pageBody.classList.contains( 'modal-open' ) ) {
// 			if ( clickedElement.classList.contains( 'modal-open' ) ) {
// 				const modalIframe = clickedElement.querySelector( 'iframe' );

// 				pageBody.classList.remove( 'modal-open' );
// 				clickedElement.classList.remove( 'modal-open' );
// 				clickedElement.setAttribute( 'aria-hidden', true );

// 				if ( modalIframe ) {
// 					const iframeURL = modalIframe.getAttribute( 'src' );

// 					modalIframe.setAttribute( 'src', '' );
// 					modalIframe.setAttribute( 'src', iframeURL );
// 				}
// 			}
// 		}
// 	}
// }


/***/ }),

/***/ "./src/js/template-tags/navigation-primary.js":
/*!****************************************************!*\
  !*** ./src/js/template-tags/navigation-primary.js ***!
  \****************************************************/
/***/ (function() {

/**
 * File: navigation-primary.js
 *
 * Helpers for the primary navigation.
 */

( function () {
	const subMenuParentItem = document.querySelectorAll(
		'.main-navigation .menu-item-has-children'
	);

	document.addEventListener( 'DOMContentLoaded', addDownArrow );
	document.addEventListener( 'DOMContentLoaded', toggleFocusClass );

	/**
	 * Adds the down arrow to parent menu items.
	 *
	 * @author Corey Collins
	 * @since January 31, 2020
	 */
	function addDownArrow() {
		subMenuParentItem.forEach( ( parentItem ) => {
			const menuItem = parentItem.querySelector( 'a' );
			menuItem.innerHTML +=
				'<span class="caret-down" aria-hidden="true"></span>';
		} );
	}

	/**
	 * Adds event listeners for tabbing in and out of parent items.
	 *
	 * @author Corey Collins
	 * @since January 31, 2020
	 */
	function toggleFocusClass() {
		subMenuParentItem.forEach( ( parentItem ) => {
			parentItem.addEventListener( 'focusin', toggleIn );
			parentItem.addEventListener( 'focusout', toggleOut );
		} );
	}

	/**
	 * Handle toggling a parent menu on.
	 *
	 * @author Corey Collins
	 * @since January 31, 2020
	 * @param {Object} event The triggered event.
	 */
	function toggleIn( event ) {
		const parentMenuItems = getParents(
			event.target.parentNode,
			'.menu-item-has-children'
		);
		parentMenuItems.forEach( ( parentItem ) => {
			parentItem.classList.add( 'focus' );
		} );
	}

	/**
	 * Handle toggling a parent menu off.
	 *
	 * @since January 31, 2020
	 * @author Corey Collins
	 * @param {Object} event The triggered event.
	 */
	function toggleOut( event ) {
		const parentMenuItems = getParents(
			event.target.parentNode,
			'.menu-item-has-children'
		);
		parentMenuItems.forEach( ( parentItem ) => {
			parentItem.classList.remove( 'focus' );
		} );
	}

	/**
	 * Get all of the parents for a matching element and selector.
	 *
	 * @author Corey Collins
	 * @since January 31, 2020
	 * @see https://gomakethings.com/climbing-up-and-down-the-dom-tree-with-vanilla-javascript/#getting-all-matches-up-the-tree
	 * @param {Object} elem     The parent menu item.
	 * @param {string} selector The CSS class of the element.
	 * @return {Array} Parents.
	 */
	const getParents = function ( elem, selector ) {
		// Element.matches() polyfill.
		if ( ! Element.prototype.matches ) {
			Element.prototype.matches =
				Element.prototype.matchesSelector ||
				Element.prototype.mozMatchesSelector ||
				Element.prototype.msMatchesSelector ||
				Element.prototype.oMatchesSelector ||
				Element.prototype.webkitMatchesSelector ||
				function ( s ) {
					const matches = (
						this.document || this.ownerDocument
					).querySelectorAll( s );
					let i = matches.length;
					while ( 0 >= --i && matches.item( i ) !== this ) {}
					return -1 > i;
				};
		}

		// Setup parents array.
		const parents = [];

		// Get matching parent elements.
		for ( ; elem && elem !== document; elem = elem.parentNode ) {
			// Add matching parents to array.
			if ( selector ) {
				if ( elem.matches( selector ) ) {
					parents.push( elem );
				}
			} else {
				parents.push( elem );
			}
		}

		return parents;
	};
} )();


/***/ }),

/***/ "./src/js/template-tags/off-canvas.js":
/*!********************************************!*\
  !*** ./src/js/template-tags/off-canvas.js ***!
  \********************************************/
/***/ (function() {

/**
 * File: off-canvas.js
 *
 * Help deal with the off-canvas mobile menu.
 */

// Make sure everything is loaded first.
if (
	( 'complete' === document.readyState ||
		'loading' !== document.readyState ) &&
	! document.documentElement.doScroll
) {
	wdsOffCanvas();
} else {
	document.addEventListener( 'DOMContentLoaded', wdsOffCanvas );
}

/**
 * Kick off our off canvas functions.
 *
 * @author Corey Collins
 * @since January 31, 2020
 */
function wdsOffCanvas() {
	const offCanvasScreen = document.querySelector( '.off-canvas-screen' );

	if ( ! offCanvasScreen ) {
		return;
	}

	const offCanvasContainer = document.querySelector(
			'.off-canvas-container'
		),
		offCanvasOpen = document.querySelector( '.off-canvas-open' );

	offCanvasOpen.addEventListener( 'click', toggleOffCanvas );
	offCanvasScreen.addEventListener( 'click', closeOffCanvas );
	document.body.addEventListener( 'keydown', closeOnEscape );

	/**
	 * Close everything when we hit the escape key.
	 *
	 * @author Corey Collins
	 * @since January 31, 2020
	 * @param {Object} event The event trigger.
	 */
	function closeOnEscape( event ) {
		if ( 27 === event.keyCode ) {
			closeOffCanvas();
		}
	}

	/**
	 * Handle closing the off-canvas overlay.
	 *
	 * @author Corey Collins
	 * @since January 31, 2020
	 */
	function closeOffCanvas() {
		offCanvasContainer.classList.remove( 'is-visible' );
		offCanvasOpen.classList.remove( 'is-visible' );
		offCanvasScreen.classList.remove( 'is-visible' );

		offCanvasContainer.setAttribute( 'aria-hidden', true );
		offCanvasOpen.setAttribute( 'aria-expanded', false );
	}

	/**
	 * Toggle the display of the off-canvas overlay.
	 *
	 * @author Corey Collins
	 * @since January 31, 2020
	 */
	function toggleOffCanvas() {
		if ( 'true' === offCanvasOpen.getAttribute( 'aria-expanded' ) ) {
			closeOffCanvas();
		} else {
			openOffCanvas();
		}
	}

	/**
	 * Handle opening the off-canvas overlay.
	 *
	 * @author Corey Collins
	 * @since January 31, 2020
	 */
	function openOffCanvas() {
		offCanvasContainer.classList.add( 'is-visible' );
		offCanvasOpen.classList.add( 'is-visible' );
		offCanvasScreen.classList.add( 'is-visible' );

		offCanvasContainer.setAttribute( 'aria-hidden', false );
		offCanvasOpen.setAttribute( 'aria-expanded', true );
	}
}


/***/ }),

/***/ "./src/js/template-tags/table.js":
/*!***************************************!*\
  !*** ./src/js/template-tags/table.js ***!
  \***************************************/
/***/ (function() {

/**
 * File table.js
 *
 * Make tables responsive.
 *
 * @author Haris Zulfiqar, Corey Collins
 * @since January 31, 2020
 */

( function () {
	document.querySelectorAll( 'table' ).forEach( ( table ) => {
		const tableHeaders = table.querySelectorAll( 'th' );

		// Bail if our table has no headers set.
		if ( 0 === tableHeaders.length ) {
			return;
		}

		const tableRow = table.querySelectorAll( 'tbody tr' );

		tableRow.forEach( ( row ) => {
			const tableCell = row.querySelectorAll( 'td' );

			tableCell.forEach( ( cell, index ) => {
				if ( tableHeaders[ index ].textContent ) {
					cell.setAttribute(
						'data-label',
						tableHeaders[ index ].textContent
					);
				}
			} );
		} );
	} );
} )();


/***/ }),

/***/ "./src/js/template-tags/video.js":
/*!***************************************!*\
  !*** ./src/js/template-tags/video.js ***!
  \***************************************/
/***/ (function() {

/**
 * File video.js
 *
 * Deal with video playback.
 */

( function () {
	const videoButtons = document.querySelectorAll( '.video-toggle' );

	// Toggle playback on background videos.
	videoButtons.forEach( ( videoButton ) => {
		videoButton.addEventListener( 'click', toggleVideoPlayback );
	} );

	/**
	 * Toggle video playback when the button is pressed.
	 *
	 * @author Jo Murgel, Corey Collins
	 * @since January 31, 2020
	 * @param {Object} event The triggered event.
	 */
	function toggleVideoPlayback( event ) {
		const targetParent = event.target.parentNode,
			targetElement = targetParent.querySelector( '.video-background' );

		targetParent.classList.toggle( 'video-toggled' );

		if ( targetParent.classList.contains( 'video-toggled' ) ) {
			targetElement.pause();
		} else {
			targetElement.play();
		}
	}
} )();


/***/ }),

/***/ "./src/js/templates/index.js":
/*!***********************************!*\
  !*** ./src/js/templates/index.js ***!
  \***********************************/
/***/ (function() {

/**
 * Template JS
 *
 * JS for WordPress template files.
 * See https://developer.wordpress.org/themes/basics/template-files/.
 */

// import './template-name';


/***/ })

/******/ 	});
/************************************************************************/
/******/ 	// The module cache
/******/ 	var __webpack_module_cache__ = {};
/******/ 	
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/ 		// Check if module is in cache
/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
/******/ 		if (cachedModule !== undefined) {
/******/ 			return cachedModule.exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = __webpack_module_cache__[moduleId] = {
/******/ 			// no module.id needed
/******/ 			// no module.loaded needed
/******/ 			exports: {}
/******/ 		};
/******/ 	
/******/ 		// Execute the module function
/******/ 		__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/ 	
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/ 	
/************************************************************************/
/******/ 	/* webpack/runtime/compat get default export */
/******/ 	!function() {
/******/ 		// getDefaultExport function for compatibility with non-harmony modules
/******/ 		__webpack_require__.n = function(module) {
/******/ 			var getter = module && module.__esModule ?
/******/ 				function() { return module['default']; } :
/******/ 				function() { return module; };
/******/ 			__webpack_require__.d(getter, { a: getter });
/******/ 			return getter;
/******/ 		};
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/define property getters */
/******/ 	!function() {
/******/ 		// define getter functions for harmony exports
/******/ 		__webpack_require__.d = function(exports, definition) {
/******/ 			for(var key in definition) {
/******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ 				}
/******/ 			}
/******/ 		};
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/hasOwnProperty shorthand */
/******/ 	!function() {
/******/ 		__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/make namespace object */
/******/ 	!function() {
/******/ 		// define __esModule on exports
/******/ 		__webpack_require__.r = function(exports) {
/******/ 			if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 			}
/******/ 			Object.defineProperty(exports, '__esModule', { value: true });
/******/ 		};
/******/ 	}();
/******/ 	
/************************************************************************/
var __webpack_exports__ = {};
// This entry need to be wrapped in an IIFE because it need to be in strict mode.
!function() {
"use strict";
/*!**********************!*\
  !*** ./src/index.js ***!
  \**********************/
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _scss_tailwind_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./scss/tailwind.scss */ "./src/scss/tailwind.scss");
/* harmony import */ var _scss_index_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./scss/index.scss */ "./src/scss/index.scss");
/* harmony import */ var _js_index__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./js/index */ "./src/js/index.js");
/* eslint eslint-comments/disable-enable-pair: error */
/* eslint-disable no-undef, no-unused-vars */





/* eslint-enable no-undef, no-unused-vars */

}();
/******/ })()
;
//# sourceMappingURL=index.js.map