!function(t){var i={};function s(e){var n;return(i[e]||(n=i[e]={i:e,l:!1,exports:{}},t[e].call(n.exports,n,n.exports,s),n.l=!0,n)).exports}s.m=t,s.c=i,s.d=function(e,n,t){s.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.t=function(n,e){if(1&e&&(n=s(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var t=Object.create(null);if(s.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var i in n)s.d(t,i,function(e){return n[e]}.bind(null,i));return t},s.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(n,"a",n),n},s.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},s.p="",s(s.s="./src/index.js")}({"./src/index.js":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _sass_global_main_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./sass/global/main.scss */ "./src/sass/global/main.scss");\n/* harmony import */ var _js_scripts_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./js/scripts.js */ "./src/js/scripts.js");\n/* harmony import */ var _js_scripts_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_js_scripts_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\n//# sourceURL=webpack:///./src/index.js?')},"./src/js/scripts.js":function(module,exports){eval("// Initialize AOS library\ndocument.addEventListener('DOMContentLoaded', function (domE) {\n  AOS.init({\n    duration: 1000,\n    easing: 'ease-out',\n    once: true\n  });\n});\n\n// Show/hide Mobile Menu\ndocument.addEventListener('DOMContentLoaded', function (domE) {\n  var btn = document.querySelector('.mobile-menu .mobile-menu-btn');\n  var mobileMenu = document.querySelector('.mobile-menu .menu-drawer');\n  if (!btn || !mobileMenu) {\n    return;\n  }\n  btn.addEventListener('click', function (e) {\n    // Add class to button\n    var btnParent = closest(e.target, 'menu-wrapper');\n    if (btnParent) {\n      btnParent.classList.toggle('open');\n    }\n  });\n});\n\n// Copy to clipboard option when clicking the email link on a social share email icon.\ndocument.addEventListener('DOMContentLoaded', function (domE) {\n  var shareNow = function shareNow(e) {\n    var copiedMsg = document.createElement('div');\n    copiedMsg.classList.add('copied-message');\n    copiedMsg.textContent = \"Link copied!\";\n    closest(e.trigger, 'article-social-share').appendChild(copiedMsg);\n    (function (copiedMsg) {\n      setTimeout(function () {\n        copiedMsg.classList.add('loaded');\n      }, 100);\n      setTimeout(function () {\n        copiedMsg.remove();\n      }, 5000);\n    })(copiedMsg);\n  };\n  var iconLinks = document.querySelectorAll('.article-social-share .icons .email .btn');\n  for (var i = 0; i < iconLinks.length; i++) {\n    var clipboard = new ClipboardJS(iconLinks[i]);\n    console.log('loaded');\n    clipboard.on('success', shareNow);\n  }\n});\n\n// On the main menu nav, if the LI of a link has a classname of \"no-link\", we make sure that link doesnt go anywhere\ndocument.addEventListener('DOMContentLoaded', function (domE) {\n  var blockLink = function blockLink(e) {\n    if (!e.target.classList.contains('.arrow-icon')) {\n      e.preventDefault();\n\n      // If clicking the link text, open the sub menu instead.\n      var link = e.target.nodeName == 'A' ? e.target : closest(e.target, 'menu-item').querySelector('a');\n      if (link) {\n        var arrow = link.querySelector('.arrow-icon');\n        if (arrow) {\n          arrow.click();\n        }\n      }\n    }\n  };\n  var noLinkLinks = document.querySelectorAll('.menu li.no-link > a');\n  for (var i = 0; i < noLinkLinks.length; i++) {\n    noLinkLinks[i].addEventListener('click', blockLink);\n    noLinkLinks[i].classList.add('no-link'); // add to link itself to prevent hover/focus\n  }\n});\n\n// Give nested links ability to show up\ndocument.addEventListener('DOMContentLoaded', function (domE) {\n  var toggleSubMenu = function toggleSubMenu(e) {\n    e.preventDefault();\n    var liEl = closest(e.target, 'menu-item-has-children');\n    if (liEl) {\n      liEl.classList.toggle('open');\n    }\n  };\n\n  // Set the click event on the link arrow icon when link has child menu items.\n  var icons = document.querySelectorAll('.menu-item-has-children > a .arrow-icon');\n  for (var i = 0; i < icons.length; i++) {\n    icons[i].addEventListener('click', toggleSubMenu);\n  }\n\n  // With the mobile menu, we need to set max heights to\n  // use when opened and update them on screen resize.\n  var updateMobileSubmenuHeights = function updateMobileSubmenuHeights(e) {\n    var mobileMenu = document.querySelector('header > .mobile-menu');\n    if (!mobileMenu) {\n      return false;\n    }\n\n    // Get or create the style tag for this\n    var myStyles = document.querySelector('style.sub-menu-heights');\n    if (!myStyles) {\n      myStyles = document.createElement('style');\n      myStyles.classList.add('sub-menu-heights');\n      document.querySelector('body').appendChild(myStyles);\n    }\n    myStyles.textContent = '';\n    var getMenuItemClassIdentifier = function getMenuItemClassIdentifier(liClassList) {\n      for (var _i = 0; _i < liClassList.length; _i++) {\n        if (liClassList[_i].match(/menu-item-[0-9]+/)) {\n          return liClassList[_i];\n        }\n      }\n      return false; // should never hit here\n    };\n\n    var styles = [];\n    var subMenus = mobileMenu.querySelectorAll('ul.sub-menu');\n    for (var _i2 = 0; _i2 < subMenus.length; _i2++) {\n      var selector = getMenuItemClassIdentifier(subMenus[_i2].parentNode.classList);\n      subMenus[_i2].parentNode.classList.add('open');\n      styles.push('.' + selector + '.open > .sub-menu { --max-height: ' + Math.ceil(subMenus[_i2].getBoundingClientRect().height) + \"px; }\");\n      subMenus[_i2].parentNode.classList.remove('open');\n    }\n    myStyles.textContent = styles.join(\"\\n\");\n  };\n  updateMobileSubmenuHeights(); // init on page load\n  window.addEventListener('resize', updateMobileSubmenuHeights);\n});\n\n// Once user starts scrolling page, we add a bg color to the header\ndocument.addEventListener('DOMContentLoaded', function (domE) {\n  var header = document.querySelector('.main-content > header.no-bg');\n  if (!header) {\n    return;\n  }\n  var scrolling = function scrolling(e) {\n    var method = window.scrollY > 50 ? 'add' : 'remove';\n    header.classList[method]('scrolled');\n  };\n  window.addEventListener('scroll', scrolling);\n  scrolling(); // initialize on page load\n});\n\n// *** Helper Functions *** //\n\n// non-jquery of \".closest()\"\nfunction closest(el, className) {\n  if (el.classList.contains(className)) {\n    return el;\n  }\n  return closest(el.parentNode, className);\n}\n\n//# sourceURL=webpack:///./src/js/scripts.js?")},"./src/sass/global/main.scss":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack:///./src/sass/global/main.scss?")}});