{"version":3,"file":"./assets/js/scripts.js","mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE,KAA4D;AAC9D,EAAE,CACsD;AACxD,CAAC,qBAAqB;;AAEtB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B;AAC/B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mCAAmC;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,gDAAgD;AAChE;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,CAAC;;;;;;;;;;;;;;;;;;ACpbD;AACA;AACA;;AAEA;AACO,MAAMA,UAAU,GAAG,CACzB,QAAQ,EACR,OAAO,EACP,UAAU,EACV,QAAQ,EACR,GAAG,EACH,QAAQ,EACR,QAAQ,EAC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","sources":["webpack://wdg/./node_modules/headroom.js/dist/headroom.js","webpack://wdg/./assets/js/base/_tabIndex.js","webpack://wdg/./assets/js/base/_throttle.js","webpack://wdg/./assets/js/modules/alert-banner.js","webpack://wdg/./assets/js/modules/fetch.js","webpack://wdg/./assets/js/modules/fitvid.js","webpack://wdg/./assets/js/modules/flyout.js","webpack://wdg/./assets/js/modules/links.js","webpack://wdg/./assets/js/modules/masthead.js","webpack://wdg/./assets/js/modules/section-nav.js","webpack://wdg/./assets/js/modules/share.js","webpack://wdg/webpack/bootstrap","webpack://wdg/webpack/runtime/define property getters","webpack://wdg/webpack/runtime/hasOwnProperty shorthand","webpack://wdg/webpack/runtime/make namespace object","webpack://wdg/./assets/js/scripts.js"],"sourcesContent":["/*!\n * headroom.js v0.12.0 - Give your page some headroom. Hide your header until you need it\n * Copyright (c) 2020 Nick Williams - http://wicky.nillia.ms/headroom.js\n * License: MIT\n */\n\n(function (global, factory) {\n  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n  typeof define === 'function' && define.amd ? define(factory) :\n  (global = global || self, global.Headroom = factory());\n}(this, function () { 'use strict';\n\n  function isBrowser() {\n    return typeof window !== \"undefined\";\n  }\n\n  /**\n   * Used to detect browser support for adding an event listener with options\n   * Credit: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener\n   */\n  function passiveEventsSupported() {\n    var supported = false;\n\n    try {\n      var options = {\n        // eslint-disable-next-line getter-return\n        get passive() {\n          supported = true;\n        }\n      };\n      window.addEventListener(\"test\", options, options);\n      window.removeEventListener(\"test\", options, options);\n    } catch (err) {\n      supported = false;\n    }\n\n    return supported;\n  }\n\n  function isSupported() {\n    return !!(\n      isBrowser() &&\n      function() {}.bind &&\n      \"classList\" in document.documentElement &&\n      Object.assign &&\n      Object.keys &&\n      requestAnimationFrame\n    );\n  }\n\n  function isDocument(obj) {\n    return obj.nodeType === 9; // Node.DOCUMENT_NODE === 9\n  }\n\n  function isWindow(obj) {\n    // `obj === window` or `obj instanceof Window` is not sufficient,\n    // as the obj may be the window of an iframe.\n    return obj && obj.document && isDocument(obj.document);\n  }\n\n  function windowScroller(win) {\n    var doc = win.document;\n    var body = doc.body;\n    var html = doc.documentElement;\n\n    return {\n      /**\n       * @see http://james.padolsey.com/javascript/get-document-height-cross-browser/\n       * @return {Number} the scroll height of the document in pixels\n       */\n      scrollHeight: function() {\n        return Math.max(\n          body.scrollHeight,\n          html.scrollHeight,\n          body.offsetHeight,\n          html.offsetHeight,\n          body.clientHeight,\n          html.clientHeight\n        );\n      },\n\n      /**\n       * @see http://andylangton.co.uk/blog/development/get-viewport-size-width-and-height-javascript\n       * @return {Number} the height of the viewport in pixels\n       */\n      height: function() {\n        return win.innerHeight || html.clientHeight || body.clientHeight;\n      },\n\n      /**\n       * Gets the Y scroll position\n       * @return {Number} pixels the page has scrolled along the Y-axis\n       */\n      scrollY: function() {\n        if (win.pageYOffset !== undefined) {\n          return win.pageYOffset;\n        }\n\n        return (html || body.parentNode || body).scrollTop;\n      }\n    };\n  }\n\n  function elementScroller(element) {\n    return {\n      /**\n       * @return {Number} the scroll height of the element in pixels\n       */\n      scrollHeight: function() {\n        return Math.max(\n          element.scrollHeight,\n          element.offsetHeight,\n          element.clientHeight\n        );\n      },\n\n      /**\n       * @return {Number} the height of the element in pixels\n       */\n      height: function() {\n        return Math.max(element.offsetHeight, element.clientHeight);\n      },\n\n      /**\n       * Gets the Y scroll position\n       * @return {Number} pixels the element has scrolled along the Y-axis\n       */\n      scrollY: function() {\n        return element.scrollTop;\n      }\n    };\n  }\n\n  function createScroller(element) {\n    return isWindow(element) ? windowScroller(element) : elementScroller(element);\n  }\n\n  /**\n   * @param element EventTarget\n   */\n  function trackScroll(element, options, callback) {\n    var isPassiveSupported = passiveEventsSupported();\n    var rafId;\n    var scrolled = false;\n    var scroller = createScroller(element);\n    var lastScrollY = scroller.scrollY();\n    var details = {};\n\n    function update() {\n      var scrollY = Math.round(scroller.scrollY());\n      var height = scroller.height();\n      var scrollHeight = scroller.scrollHeight();\n\n      // reuse object for less memory churn\n      details.scrollY = scrollY;\n      details.lastScrollY = lastScrollY;\n      details.direction = scrollY > lastScrollY ? \"down\" : \"up\";\n      details.distance = Math.abs(scrollY - lastScrollY);\n      details.isOutOfBounds = scrollY < 0 || scrollY + height > scrollHeight;\n      details.top = scrollY <= options.offset[details.direction];\n      details.bottom = scrollY + height >= scrollHeight;\n      details.toleranceExceeded =\n        details.distance > options.tolerance[details.direction];\n\n      callback(details);\n\n      lastScrollY = scrollY;\n      scrolled = false;\n    }\n\n    function handleScroll() {\n      if (!scrolled) {\n        scrolled = true;\n        rafId = requestAnimationFrame(update);\n      }\n    }\n\n    var eventOptions = isPassiveSupported\n      ? { passive: true, capture: false }\n      : false;\n\n    element.addEventListener(\"scroll\", handleScroll, eventOptions);\n    update();\n\n    return {\n      destroy: function() {\n        cancelAnimationFrame(rafId);\n        element.removeEventListener(\"scroll\", handleScroll, eventOptions);\n      }\n    };\n  }\n\n  function normalizeUpDown(t) {\n    return t === Object(t) ? t : { down: t, up: t };\n  }\n\n  /**\n   * UI enhancement for fixed headers.\n   * Hides header when scrolling down\n   * Shows header when scrolling up\n   * @constructor\n   * @param {DOMElement} elem the header element\n   * @param {Object} options options for the widget\n   */\n  function Headroom(elem, options) {\n    options = options || {};\n    Object.assign(this, Headroom.options, options);\n    this.classes = Object.assign({}, Headroom.options.classes, options.classes);\n\n    this.elem = elem;\n    this.tolerance = normalizeUpDown(this.tolerance);\n    this.offset = normalizeUpDown(this.offset);\n    this.initialised = false;\n    this.frozen = false;\n  }\n  Headroom.prototype = {\n    constructor: Headroom,\n\n    /**\n     * Start listening to scrolling\n     * @public\n     */\n    init: function() {\n      if (Headroom.cutsTheMustard && !this.initialised) {\n        this.addClass(\"initial\");\n        this.initialised = true;\n\n        // defer event registration to handle browser\n        // potentially restoring previous scroll position\n        setTimeout(\n          function(self) {\n            self.scrollTracker = trackScroll(\n              self.scroller,\n              { offset: self.offset, tolerance: self.tolerance },\n              self.update.bind(self)\n            );\n          },\n          100,\n          this\n        );\n      }\n\n      return this;\n    },\n\n    /**\n     * Destroy the widget, clearing up after itself\n     * @public\n     */\n    destroy: function() {\n      this.initialised = false;\n      Object.keys(this.classes).forEach(this.removeClass, this);\n      this.scrollTracker.destroy();\n    },\n\n    /**\n     * Unpin the element\n     * @public\n     */\n    unpin: function() {\n      if (this.hasClass(\"pinned\") || !this.hasClass(\"unpinned\")) {\n        this.addClass(\"unpinned\");\n        this.removeClass(\"pinned\");\n\n        if (this.onUnpin) {\n          this.onUnpin.call(this);\n        }\n      }\n    },\n\n    /**\n     * Pin the element\n     * @public\n     */\n    pin: function() {\n      if (this.hasClass(\"unpinned\")) {\n        this.addClass(\"pinned\");\n        this.removeClass(\"unpinned\");\n\n        if (this.onPin) {\n          this.onPin.call(this);\n        }\n      }\n    },\n\n    /**\n     * Freezes the current state of the widget\n     * @public\n     */\n    freeze: function() {\n      this.frozen = true;\n      this.addClass(\"frozen\");\n    },\n\n    /**\n     * Re-enables the default behaviour of the widget\n     * @public\n     */\n    unfreeze: function() {\n      this.frozen = false;\n      this.removeClass(\"frozen\");\n    },\n\n    top: function() {\n      if (!this.hasClass(\"top\")) {\n        this.addClass(\"top\");\n        this.removeClass(\"notTop\");\n\n        if (this.onTop) {\n          this.onTop.call(this);\n        }\n      }\n    },\n\n    notTop: function() {\n      if (!this.hasClass(\"notTop\")) {\n        this.addClass(\"notTop\");\n        this.removeClass(\"top\");\n\n        if (this.onNotTop) {\n          this.onNotTop.call(this);\n        }\n      }\n    },\n\n    bottom: function() {\n      if (!this.hasClass(\"bottom\")) {\n        this.addClass(\"bottom\");\n        this.removeClass(\"notBottom\");\n\n        if (this.onBottom) {\n          this.onBottom.call(this);\n        }\n      }\n    },\n\n    notBottom: function() {\n      if (!this.hasClass(\"notBottom\")) {\n        this.addClass(\"notBottom\");\n        this.removeClass(\"bottom\");\n\n        if (this.onNotBottom) {\n          this.onNotBottom.call(this);\n        }\n      }\n    },\n\n    shouldUnpin: function(details) {\n      var scrollingDown = details.direction === \"down\";\n\n      return scrollingDown && !details.top && details.toleranceExceeded;\n    },\n\n    shouldPin: function(details) {\n      var scrollingUp = details.direction === \"up\";\n\n      return (scrollingUp && details.toleranceExceeded) || details.top;\n    },\n\n    addClass: function(className) {\n      this.elem.classList.add.apply(\n        this.elem.classList,\n        this.classes[className].split(\" \")\n      );\n    },\n\n    removeClass: function(className) {\n      this.elem.classList.remove.apply(\n        this.elem.classList,\n        this.classes[className].split(\" \")\n      );\n    },\n\n    hasClass: function(className) {\n      return this.classes[className].split(\" \").every(function(cls) {\n        return this.classList.contains(cls);\n      }, this.elem);\n    },\n\n    update: function(details) {\n      if (details.isOutOfBounds) {\n        // Ignore bouncy scrolling in OSX\n        return;\n      }\n\n      if (this.frozen === true) {\n        return;\n      }\n\n      if (details.top) {\n        this.top();\n      } else {\n        this.notTop();\n      }\n\n      if (details.bottom) {\n        this.bottom();\n      } else {\n        this.notBottom();\n      }\n\n      if (this.shouldUnpin(details)) {\n        this.unpin();\n      } else if (this.shouldPin(details)) {\n        this.pin();\n      }\n    }\n  };\n\n  /**\n   * Default options\n   * @type {Object}\n   */\n  Headroom.options = {\n    tolerance: {\n      up: 0,\n      down: 0\n    },\n    offset: 0,\n    scroller: isBrowser() ? window : null,\n    classes: {\n      frozen: \"headroom--frozen\",\n      pinned: \"headroom--pinned\",\n      unpinned: \"headroom--unpinned\",\n      top: \"headroom--top\",\n      notTop: \"headroom--not-top\",\n      bottom: \"headroom--bottom\",\n      notBottom: \"headroom--not-bottom\",\n      initial: \"headroom\"\n    }\n  };\n\n  Headroom.cutsTheMustard = isSupported();\n\n  return Headroom;\n\n}));\n","/**\n * Array of selectors that are tab index capable\n */\n\n// prettier-ignore\nexport const tabCapable = [\n\t'select',\n\t'input',\n\t'textarea',\n\t'button',\n\t'a',\n\t'iframe',\n\t'object',\n\t'embed',\n\t'*[contenteditable]',\n\t'*[tabindex]',\n];\n\n/**\n * Disable nodes tabIndex while saving the previous tabIndex value in node.dataset\n *\n * @param {string} exclude query selector to filter disabling items\n * @param {HTMLElement} scope Defaults to document\n * @returns {array}\n */\nexport function disable( exclude = null, scope = document ) {\n\tlet nodes = Array.from( scope.querySelectorAll( tabCapable.join( ', ' ) ) );\n\n\tif ( exclude ) {\n\t\tnodes = nodes.filter( ( node ) => ! node.matches( exclude ) && ! node.closest( exclude ) );\n\t}\n\n\tnodes.forEach( ( node ) => {\n\t\tif ( node.tabIndex && node.tabIndex !== '-1' ) {\n\t\t\tnode.dataset.tabIndex = node.tabIndex;\n\t\t}\n\n\t\tnode.tabIndex = '-1';\n\t} );\n\n\treturn nodes;\n}\n\n/**\n * Enable nodes tabIndex by restoring a previously saved tabIndex or removing it entirely\n *\n * @param {string} exclude query selector to filter disabling items\n * @param {HTMLElement} scope Defaults to document\n * @returns {array}\n */\nexport function enable( exclude = null, scope = document ) {\n\tlet nodes = Array.from( scope.querySelectorAll( tabCapable.join( ', ' ) ) );\n\n\tif ( exclude ) {\n\t\tnodes = nodes.filter( ( node ) => ! node.matches( exclude ) && ! node.closest( exclude ) );\n\t}\n\n\tnodes.forEach( ( node ) => {\n\t\tif ( node.dataset.tabIndex ) {\n\t\t\tnode.tabIndex = node.dataset.tabIndex;\n\t\t} else {\n\t\t\tnode.removeAttribute( 'tabIndex' );\n\t\t}\n\t} );\n\n\treturn nodes;\n}\n\nexport default {\n\ttabCapable,\n\tenable,\n\tdisable,\n};\n","export default function (fn, time = 50) {\n\tlet timer = null;\n\n\tfunction throttledFn(...args) {\n\t\tif (!timer) {\n\t\t\ttimer = setTimeout(() => {\n\t\t\t\tfn(...args);\n\t\t\t\ttimer = null;\n\t\t\t}, time)\n\t\t}\n\t}\n\n\tthrottledFn.cancel = () => {\n\t\tclearTimeout(timer);\n\t\ttimer = null;\n\t}\n\n\treturn throttledFn;\n}\n","export default class AlertBanner {\n\tconstructor( bannerSelector, closeSelector ) {\n\t\tthis.banner = document.querySelector( bannerSelector );\n\t\tthis.closeButton = this.banner?.querySelector( closeSelector );\n\t\tthis.cookieName = 'alert_banner_closed';\n\t\tthis.bannerVersion = this.banner?.dataset.bannerVersion || '';\n\t\tconsole.log( this.banner );\n\n\t\tif ( ! this.banner || ! this.closeButton ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.init();\n\t}\n\n\tinit() {\n\t\tif ( this.isCookieSet() ) {\n\t\t\tthis.hideBanner();\n\t\t\treturn;\n\t\t}\n\t\tthis.showBanner();\n\t\tthis.closeButton.addEventListener( 'click', () => this.handleClose() );\n\t}\n\n\thandleClose() {\n\t\tthis.setSessionCookie();\n\t\tthis.hideBanner();\n\t}\n\n\tsetSessionCookie() {\n\t\t// Set a session cookie (no `expires` attribute means the cookie lasts for the session)\n\t\tdocument.cookie = `${ this.cookieName }=${ this.bannerVersion }; path=/`;\n\t}\n\n\t//display alert if the content gets updated\n\tisCookieSet() {\n\t\t// Check if the cookie matches the current banner version\n\t\treturn document.cookie.split( '; ' ).some( ( cookie ) => cookie === `${ this.cookieName }=${ this.bannerVersion }` );\n\t}\n\tshowBanner() {\n\t\tthis.banner.classList.remove( 'hidden' );\n\t}\n\thideBanner() {\n\t\tthis.banner.classList.add( 'hidden' );\n\t}\n}\n\n// Initialize AlertBanner\ndocument.addEventListener( 'DOMContentLoaded', () => {\n\tnew AlertBanner( '#alert-banner', '#close-alert-banner' );\n} );\n","export class Watch {\n\tconstructor( node, selector ) {\n\t\tthis.node     = node;\n\t\tthis.selector = selector;\n\t\tthis.trigger  = this.node.dataset.fetch || 'a';\n\t\tthis.mode     = [ 'pushState', 'replaceState' ].includes( this.node.dataset.fetchMode ) ? this.node.dataset.fetchMode : 'pushState';\n\n\t\tconst onClick = (e) => {\n\t\t\tlet target = e.target;\n\n\t\t\twhile ( target && target !== node ) {\n\t\t\t\tif ( target.matches( this.trigger ) && target.href ) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tthis.fetch( target.href );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttarget = target.parentNode;\n\t\t\t}\n\t\t}\n\n\t\tthis.node.addEventListener( 'click', onClick );\n\n\t\tif ( this.mode ) {\n\t\t\t// handle back button\n\t\t\twindow.addEventListener( 'popstate', () => this.fetch( location.href, false ) );\n\t\t}\n\t}\n\n\tasync fetch( href, history = true ) {\n\t\ttry {\n\t\t\tthis.node.classList.add( 'is-loading' );\n\n\t\t\tif ( history && this.mode ) {\n\t\t\t\twindow.history[ this.mode ]( {}, '', href );\n\t\t\t}\n\n\t\t\tconst response = await fetch( href );\n\t\t\tconst html     = await response.text();\n\t\t\tconst parser   = new DOMParser();\n\t\t\tconst doc      = parser.parseFromString( html, 'text/html' );\n\t\t\tconst node     = doc.querySelector( this.selector );\n\n\t\t\tif ( ! node instanceof HTMLElement ) {\n\t\t\t\tthrow new Error( 'target node not found' );\n\t\t\t}\n\n\t\t\tthis.node.innerHTML = node.innerHTML;\n\t\t\tthis.node.dispatchEvent( new CustomEvent( 'wdg:fetch:refresh', { bubbles: true, detail: this } ) );\n\t\t} catch ( fault ) {\n\t\t\tconsole.error( href, fault );\n\t\t\tlocation.href = href;\n\t\t} finally {\n\t\t\tthis.node.classList.remove( 'is-loading' );\n\n\t\t\tif ( this.node.getBoundingClientRect().top < 0 ) {\n\t\t\t\tthis.node.scrollIntoView( { behavior: 'smooth' } );\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport function watch( selector = '[data-fetch]' ) {\n\tconst nodes = Array.from( document.querySelectorAll( selector ) );\n\n\tif ( nodes.length > 0 ) {\n\t\tif ( nodes.length > 1 ) {\n\t\t\tconsole.error( 'Multiple nodes of the same selector are not supported. Please use something unique.' );\n\t\t\treturn;\n\t\t}\n\n\t\treturn new Watch( nodes[0], selector );\n\t}\n}\n\ndocument.addEventListener( 'DOMContentLoaded', () => watch() );\n","/**\n * this implementation of fitvid doesn't force items to 16/9.  It measures them and then keeps the ratio unique per embed\n *\n * @var selectors (string|array) additional selectors search for in the DOM\n * @return nodes - array of matched items\n */\n\nexport function fitvid( selectors ) {\n\tconst config = {\n\t\tselectors: [\n\t\t\t'iframe[src*=\"player.vimeo.com\"]:not(.wp-block-embed iframe)',\n\t\t\t'iframe[src*=\"youtube.com\"]:not(.wp-block-embed iframe)',\n\t\t\t'iframe[src*=\"youtube-nocookie.com\"]:not(.wp-block-embed iframe)',\n\t\t\t'object:not(.wp-block-embed object)',\n\t\t\t'embed:not(.wp-block-embed embed)'\n\t\t]\n\t};\n\n\tif ( selectors ) {\n\t\tif ( !Array.isArray( selectors ) ) {\n\t\t\tselectors = [selectors];\n\t\t}\n\n\t\tconfig.selectors = config.selectors.concat( selectors ).filter( ( val, index, arr ) => arr.indexOf( val ) === index );\n\t}\n\n\tconst nodes = Array.prototype.slice.call( document.querySelectorAll( config.selectors.join( ',' ) ) );\n\n\tif ( nodes.length > 0 ) {\n\t\tnodes.forEach( ( node ) => {\n\t\t\tif ( node.getAttribute( 'data-fitvid' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst wrapper = document.createElement( 'div' );\n\t\t\tconst computed = window.getComputedStyle( node );\n\t\t\tconst ratio = ( ( computed.height > 0 && computed.width > 0 ) ? computed.height / computed.width : 9 / 16 ) * 100;\n\n\t\t\twrapper.className = 'fitvid';\n\t\t\twrapper.style.width = '100%';\n\t\t\twrapper.style.height = 0;\n\t\t\twrapper.style.position = 'relative';\n\t\t\twrapper.style.paddingTop = `${ratio}%`;\n\n\t\t\tnode.style.position = 'absolute';\n\t\t\tnode.style.top = 0;\n\t\t\tnode.style.left = 0;\n\t\t\tnode.style.width = '100%';\n\t\t\tnode.style.height = '100%';\n\t\t\tnode.setAttribute( 'data-fitvid', ratio );\n\t\t\tnode.parentNode.insertBefore( wrapper, node );\n\n\t\t\twrapper.appendChild( node );\n\t\t} );\n\t}\n\n\treturn nodes;\n}\n\nexport default fitvid;\n\ndocument.addEventListener( 'DOMContentLoaded', () => fitvid() );\n","export default class Flyout {\n\tconstructor( toggleSelector, menuSelector ) {\n\t\tthis.toggle = document.querySelector( toggleSelector ); // Select the toggle button\n\t\tthis.menu = document.querySelector( menuSelector ); // Select the flyout menu\n\t\tthis.closeIcon = this.menu.querySelector( '.masthead__flyout--close-icon' ); // Select the close icon\n\t\tthis.menuOpenClass = 'flyout--open'; // Class added to open the menu\n\t\tthis.bodyClass = 'flyout-open'; // Class added to the body when the menu is open\n\n\t\tif ( ! this.toggle || ! this.menu ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.init();\n\t}\n\n\tinit() {\n\t\t// Toggle menu on click of the button\n\t\tthis.toggle.addEventListener( 'click', () => this.toggleMenu() );\n\n\t\t// Close menu on click of the close icon\n\t\tthis.closeIcon?.addEventListener( 'click', ( event ) => {\n\t\t\tthis.closeMenu();\n\t\t\tevent.stopPropagation();\n\t\t} );\n\n\t\t// Close menu when clicking outside of it\n\t\tdocument.addEventListener( 'click', ( e ) => this.handleOutsideClick( e ) );\n\n\t\t// Close menu when pressing the Escape key\n\t\tdocument.addEventListener( 'keyup', ( e ) => {\n\t\t\tif ( e.key === 'Escape' ) {\n\t\t\t\tthis.closeMenu();\n\t\t\t}\n\t\t} );\n\t}\n\n\ttoggleMenu() {\n\t\tif ( this.menu.classList.contains( this.menuOpenClass ) ) {\n\t\t\tthis.closeMenu();\n\t\t} else {\n\t\t\tthis.openMenu();\n\t\t}\n\t}\n\n\topenMenu() {\n\t\tthis.menu.classList.add( this.menuOpenClass );\n\t\tdocument.body.classList.add( this.bodyClass );\n\t}\n\n\tcloseMenu() {\n\t\tthis.menu.classList.remove( this.menuOpenClass );\n\t\tdocument.body.classList.remove( this.bodyClass );\n\t\tconsole.log( 'close menu' );\n\t}\n\n\thandleOutsideClick( e ) {\n\t\t// Close the menu if clicking outside the menu or toggle button\n\t\tif ( ! this.menu.contains( e.target ) && ! this.toggle.contains( e.target ) ) {\n\t\t\tthis.closeMenu();\n\t\t}\n\t}\n}\n\n// Initialize Flyout\nconst flyout = new Flyout( '.masthead__flyout-menu-actions', '.masthead__flyout-menu' );\n","export function empty() {\n\tconst links = Array.from( document.querySelectorAll('a[href=\"\"], a[href=\"#\"], a:not([href])') );\n\n\tconsole.info(`There are ${links.length} empty links on this page`, links);\n\n\treturn links;\n}\n\n/**\n *\n * @returns\n */\nexport function external( target = '_blank' ) {\n\tconst links = Array.from(document.querySelectorAll('a[href]:not([target])')).filter((link) => {\n\t\tconst href = link.getAttribute( 'href' ).trim();\n\t\tconst isEmpty = href === '';\n\t\tconst isLocal = href.indexOf(document.location.origin) === 0;\n\t\tconst isAnchor = href.indexOf('#') === 0;\n\n\t\tif ( isEmpty || isLocal || isAnchor ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t});\n\n\tif ( target ) {\n\t\tlinks.forEach( link => {\n\t\t\tif ( target && ! link.getAttribute( 'target' ) ) {\n\t\t\t\tlink.target = target;\n\t\t\t}\n\t\t} );\n\t}\n\n\tconsole.info( 'External Links', links )\n\n\treturn links;\n}\n","import Headroom from 'headroom.js';\nimport { enable, disable } from '../base/_tabIndex.js';\n\nclass MastheadParent {\n\tconstructor( node, controller ) {\n\t\tthis.node = node;\n\t\tthis.controller = controller;\n\n\t\tif ( ! this.node ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// stores the timeout id of the enter hover intent\n\t\tthis.enterTimeout = null;\n\n\t\t// stores the timeout of the leave hover intent\n\t\tthis.leaveTimeout = null;\n\n\t\t// is the current item active\n\t\tthis.active = false;\n\n\t\t// reference the direct child link in case we need to preventDefault on click\n\t\tthis.link = this.node.querySelector( ':scope > .masthead__link' );\n\n\t\t// does this item have a back button on the mobile menu\n\t\tthis.back = this.node.querySelector( '.masthead__back' );\n\n\t\t// what types of pointer events are 'hoverable'\n\t\tthis.hoverTypes = [ 'mouse', 'pen' ];\n\n\t\t// trigger the enter hover intent depending on the pointer type\n\t\tconst onPointerEnter = ( e ) => {\n\t\t\tif ( this.hoverTypes.includes( e.pointerType ) && 'hover' === this.controller.getPointerMode() ) {\n\t\t\t\tif ( typeof this.leaveTimeout === 'number' ) {\n\t\t\t\t\twindow.clearTimeout( this.leaveTimeout );\n\t\t\t\t\tthis.leaveTimeout = null;\n\t\t\t\t}\n\n\t\t\t\tthis.enterTimeout = setTimeout( () => this.activate(), this.controller.hoverDelay );\n\t\t\t}\n\t\t};\n\n\t\t// trigger the leave hover intent depending on the pointer type\n\t\tconst onPointerLeave = ( e ) => {\n\t\t\tif ( this.hoverTypes.includes( e.pointerType ) && 'hover' === this.controller.getPointerMode() ) {\n\t\t\t\tif ( typeof this.enterTimeout === 'number' ) {\n\t\t\t\t\twindow.clearTimeout( this.enterTimeout );\n\t\t\t\t\tthis.enterTimeout = null;\n\t\t\t\t}\n\n\t\t\t\tthis.leaveTimeout = window.setTimeout( () => this.deactivate(), this.controller.hoverDelay );\n\t\t\t}\n\t\t};\n\n\t\t// store the last pointer type on pointerup so we can potentially preventDefault onClick\n\t\tconst onPointerUp = ( e ) => {\n\t\t\tthis.pointerType = e.pointerType ?? null;\n\t\t};\n\n\t\t// if not in hover mode, or we're not a hoverable type, simply toggle instead of following the link\n\t\tconst onClick = ( e ) => {\n\t\t\tif ( 'hover' !== this.controller.getPointerMode() || ! this.hoverTypes.includes( this.pointerType ) ) {\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.toggle();\n\t\t\t}\n\n\t\t\tif ( this.pointerType ) {\n\t\t\t\tdelete this.pointerType;\n\t\t\t}\n\t\t};\n\n\t\t// when a element outside of this node is focused, close this menu\n\t\tconst onFocus = () => {\n\t\t\tlet target = document.activeElement;\n\n\t\t\twhile ( target && target.parentNode ) {\n\t\t\t\tif ( target === this.node ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttarget = target.parentNode;\n\t\t\t}\n\n\t\t\tthis.deactivate();\n\t\t};\n\n\t\tthis.node.addEventListener( 'pointerenter', onPointerEnter );\n\t\tthis.node.addEventListener( 'pointerleave', onPointerLeave );\n\t\tthis.node.addEventListener( 'pointerup', onPointerUp );\n\t\tdocument.body.addEventListener( 'focus', onFocus, true );\n\n\t\tif ( this.back ) {\n\t\t\tthis.back.addEventListener( 'click', this.deactivate.bind( this ) );\n\t\t}\n\n\t\tif ( this.link ) {\n\t\t\tthis.link.addEventListener( 'click', onClick );\n\t\t}\n\t}\n\n\t/**\n\t * Toggle this dropdown menu state\n\t */\n\ttoggle() {\n\t\tthis.active ? this.deactivate() : this.activate();\n\t}\n\n\t/**\n\t * Activate this dropdown menu state\n\t */\n\tactivate() {\n\t\tif ( ! this.active ) {\n\t\t\tthis.active = true;\n\t\t\tthis.controller.deactivate( this );\n\t\t\tthis.node.classList.add( this.controller.parentActiveClass );\n\t\t\tthis.node.dispatchEvent( new Event( 'masthead:activate' ) );\n\t\t}\n\t}\n\n\t/**\n\t * Deactivate this dropdown menu state\n\t */\n\tdeactivate() {\n\t\tif ( this.active ) {\n\t\t\tthis.active = false;\n\t\t\tthis.node.classList.remove( this.controller.parentActiveClass );\n\t\t\tthis.node.dispatchEvent( new Event( 'masthead:deactivate' ) );\n\t\t}\n\t}\n}\n\nclass Masthead {\n\tconstructor() {\n\t\tthis.node = document.querySelector( '.masthead' );\n\n\t\tif ( ! this.node ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// no mode by default (can be search|menu)\n\t\tthis.mode = null;\n\n\t\t// what mouse/pen mode do we want to operate under - hover or click\n\t\tthis.pointerMode = this.node.dataset.pointerMode || 'hover';\n\n\t\t// the delay used for hover-intent\n\t\tthis.hoverDelay = 200;\n\n\t\t// the item active class\n\t\tthis.parentActiveClass = 'masthead__item--active';\n\n\t\t// node references for interaction\n\t\tthis.nav = this.node.querySelector( '.masthead__nav' );\n\t\tthis.menuIcon = this.node.querySelector( '.masthead__menu-icon' );\n\t\tthis.search = this.node.querySelector( '.masthead__search' );\n\t\tthis.searchIcon = this.node.querySelector( '.masthead__search-icon' );\n\t\tthis.closeIcon = this.node.querySelector( '.masthead__close-icon' );\n\n\t\t// at what media query is the mobile menu triggered - update this value to match whatever is used in _masthead.scss\n\t\tthis.mobileMediaQuery = '(max-width: 48em)';\n\n\t\t// initialize menu items that are parents\n\t\tthis.parents = Array.from( this.node.querySelectorAll( '.masthead__item--depth-0.masthead__item--has-children' ) ).map( ( node ) => {\n\t\t\treturn new MastheadParent( node, this );\n\t\t} );\n\n\t\t// headroom sticky hide configuration - @see https://www.npmjs.com/package/headroom.js\n\t\tthis.headroom = new Headroom( this.node, {\n\t\t\ttolerance: {\n\t\t\t\tup: 7,\n\t\t\t\tdown: 5,\n\t\t\t},\n\t\t\tclasses: {\n\t\t\t\tinitial: 'masthead',\n\t\t\t\tpinned: 'masthead--pinned',\n\t\t\t\tunpinned: 'masthead--unpinned',\n\t\t\t\ttop: 'masthead--top',\n\t\t\t\tnotTop: 'masthead--not-top',\n\t\t\t\tbottom: 'masthead--bottom',\n\t\t\t\tnotBottom: 'masthead--not-bottom',\n\t\t\t\tfrozen: 'masthead--frozen',\n\t\t\t},\n\t\t} );\n\t\tthis.headroom.init();\n\t\tthis.headroom.update( this.headroom );\n\n\t\t// deactivate the mode of the menu on escape key\n\t\tconst onKeyUp = ( e ) => {\n\t\t\tswitch ( e.key ) {\n\t\t\t\tcase 'Escape':\n\t\t\t\t\tif ( this.mode ) {\n\t\t\t\t\t\tthis.setMode( '' );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t};\n\n\t\t// deactivate mode when clicking outside of the masthead\n\t\tconst onClick = ( e ) => {\n\t\t\tlet target = e.target;\n\n\t\t\twhile ( target.parentNode ) {\n\t\t\t\tif ( target === this.nav ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttarget = target.parentNode;\n\t\t\t}\n\n\t\t\tthis.deactivate();\n\t\t};\n\n\t\tdisable( null, this.search );\n\n\t\tthis.node.addEventListener( 'keyup', onKeyUp );\n\n\t\tthis.searchIcon.addEventListener( 'click', ( e ) => {\n\t\t\te.stopPropagation();\n\t\t\tthis.toggleMode( 'search' );\n\t\t} );\n\t\tthis.menuIcon.addEventListener( 'click', ( e ) => {\n\t\t\te.stopPropagation();\n\t\t\tthis.toggleMode( 'menu' );\n\t\t} );\n\t\tthis.closeIcon.addEventListener( 'click', ( e ) => {\n\t\t\te.stopPropagation();\n\t\t\tthis.setMode();\n\t\t} );\n\n\t\tdocument.body.addEventListener( 'click', onClick );\n\t}\n\n\t/**\n\t * Deactivate all dropdown menus (optionally exclude one menu)\n\t *\n\t * @param {MastheadParent} exclude\n\t */\n\tdeactivate( exclude ) {\n\t\tthis.parents.forEach( ( parent ) => {\n\t\t\tif ( ! exclude || parent !== exclude ) {\n\t\t\t\tparent.deactivate();\n\t\t\t}\n\t\t} );\n\n\t\tif ( ! window.matchMedia( this.mobileMediaQuery ).matches ) {\n\t\t\tthis.setMode( '' );\n\t\t}\n\t}\n\n\t/**\n\t * Set the interactive mode of the masthead\n\t *\n\t * @param {string} mode search|menu\n\t * @returns void\n\t */\n\tsetMode( mode = '' ) {\n\t\tif ( this.mode && mode !== this.mode ) {\n\t\t\tconst lastMode = this.mode;\n\n\t\t\tif ( 'search' === lastMode ) {\n\t\t\t\tdisable( null, this.search );\n\n\t\t\t\tconst onTransitionEnd = () => {\n\t\t\t\t\tthis.search.hidden = true;\n\t\t\t\t\tthis.search.removeEventListener( 'transitionend', onTransitionEnd );\n\n\t\t\t\t\tif ( ! this.node.classList.contains( 'masthead--search-overlay' ) ) {\n\t\t\t\t\t\tthis.nav.classList.remove( 'masthead__nav--search' );\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tthis.search.addEventListener( 'transitionend', onTransitionEnd );\n\t\t\t}\n\n\t\t\tthis.node.classList.remove( `masthead--mode-${ lastMode }` );\n\t\t\tdocument.documentElement.classList.remove( 'has-masthead-mode', `has-masthead--mode-${ lastMode }` );\n\t\t}\n\n\t\tthis.mode = mode;\n\n\t\tif ( mode ) {\n\t\t\tif ( 'search' === this.mode ) {\n\t\t\t\tenable( null, this.search );\n\t\t\t\tthis.search.removeAttribute( 'hidden' );\n\t\t\t\tthis.search.querySelector( 'input' ).focus();\n\n\t\t\t\tif ( ! this.node.classList.contains( 'masthead--search-overlay' ) ) {\n\t\t\t\t\tthis.nav.classList.add( 'masthead__nav--search' );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tsetTimeout( () => {\n\t\t\t\tthis.node.classList.add( `masthead--mode-${ this.mode }` );\n\t\t\t\tdocument.documentElement.classList.add( 'has-masthead-mode', `has-masthead--mode-${ mode }` );\n\t\t\t}, 10 );\n\t\t}\n\n\t\tthis.node.dispatchEvent( new Event( 'masthead:mode', { detail: this } ) );\n\t}\n\n\t/**\n\t * Toggle the interactive mode of the masthead\n\t *\n\t * @param {string} mode search|menu\n\t * @returns void\n\t */\n\ttoggleMode( mode ) {\n\t\tthis.setMode( this.mode === mode ? '' : mode );\n\t}\n\n\t/**\n\t * Gets the mode of the pointerType of how the dropdowns should react to pointer events\n\t *\n\t * - mobile view should always be click based even with mouse/pen pointer events\n\t * - update the breakpoint\n\t *\n\t * @returns string hover|click\n\t */\n\tgetPointerMode() {\n\t\tif ( 'hover' === this.pointerMode && window.matchMedia( this.mobileMediaQuery ).matches ) {\n\t\t\treturn 'click';\n\t\t}\n\n\t\treturn this.pointerMode;\n\t}\n}\n\nexport default new Masthead();\n","import throttle from '../../../assets/js/base/_throttle.js';\n// import masthead from '@wdg/masthead';\n\nexport class SectionNav {\n\t/**\n\t * Initialize a new Sections element\n\t *\n\t * @param {HTMLElement} node - the node that contains the root scrolling element\n\t * @param {object} opts -\n\t * \t- mode: snap, normal\n\t *  - sticky: true\n\t */\n\tconstructor( node, opts ) {\n\t\tthis.node = node;\n\t\tthis.opts = {\n\t\t\tmode: 'snap', // snap to next item or free scroll\n\t\t\tback: '.section-nav__scroll--back',\n\t\t\tforward: '.section-nav__scroll--forward',\n\t\t\tcontent: '.section-nav__content',\n\t\t\titems: '.section-nav__item',\n\t\t\tsticky: true,\n\t\t\t...opts,\n\t\t};\n\n\t\tif ( ! this.node ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.interval = null;\n\t\tthis.back = this.node.querySelector( this.opts.back );\n\t\tthis.forward = this.node.querySelector( this.opts.forward );\n\t\tthis.content = this.node.querySelector( this.opts.content );\n\t\tthis.items = Array.from( this.node.querySelectorAll( this.opts.items ) ).map( ( link ) => {\n\t\t\tlet id = null;\n\t\t\tlet target = null;\n\n\t\t\tif ( link.hash ) {\n\t\t\t\tid = link.hash.slice( 1 );\n\t\t\t\ttarget = document.getElementById( id );\n\t\t\t}\n\n\t\t\treturn { id, link, target };\n\t\t} );\n\n\t\twindow.addEventListener( 'resize', this.setState.bind( this ) );\n\t\tthis.content.addEventListener( 'scroll', this.setState.bind( this ) );\n\n\t\tif ( 'snap' === this.opts.mode ) {\n\t\t\tthis.forward.addEventListener( 'click', this.forwardIndex.bind( this ) );\n\t\t\tthis.back.addEventListener( 'click', this.backIndex.bind( this ) );\n\t\t} else {\n\t\t\tthis.forward.addEventListener( 'pointerdown', this.scrollForward.bind( this ) );\n\t\t\tthis.forward.addEventListener( 'pointerup', this.scrollStop.bind( this ) );\n\t\t\tthis.back.addEventListener( 'pointerdown', this.scrollBack.bind( this ) );\n\t\t\tthis.back.addEventListener( 'pointerup', this.scrollStop.bind( this ) );\n\t\t}\n\n\t\tif ( this.opts.sticky ) {\n\t\t\tconst onScrollActiveAnchor = () => {\n\t\t\t\tconst { scrollTop, clientHeight } = document.documentElement;\n\t\t\t\tconst absTarget = scrollTop + ( clientHeight / 3 ); // prettier-ignore\n\t\t\t\tconst distances = this.items\n\t\t\t\t\t.filter( ( item ) => item.target )\n\t\t\t\t\t.reduce(\n\t\t\t\t\t\t( distances, item ) => ( {\n\t\t\t\t\t\t\t...distances,\n\t\t\t\t\t\t\t[ item.id ]: item.target ? Math.abs( item.target.getBoundingClientRect().top + scrollTop - absTarget ) : null,\n\t\t\t\t\t\t} ),\n\t\t\t\t\t\t{}\n\t\t\t\t\t);\n\n\t\t\t\tconst closest = Object.keys( distances ).reduce(\n\t\t\t\t\t( closest, id ) => ( ! closest || ! distances[ closest ] || distances[ id ] < distances[ closest ] ? id : closest ),\n\t\t\t\t\tnull\n\t\t\t\t);\n\n\t\t\t\tthis.items.forEach( ( item ) => {\n\t\t\t\t\tif ( closest && item.id === closest ) {\n\t\t\t\t\t\titem.link.classList.add( 'section-nav__item--active' );\n\t\t\t\t\t} else {\n\t\t\t\t\t\titem.link.classList.remove( 'section-nav__item--active' );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t};\n\n\t\t\tconst onScrollFixed = () => {\n\t\t\t\tif ( this.node.getBoundingClientRect().top <= 0 ) {\n\t\t\t\t\tthis.node.style.height = `${ this.node.offsetHeight }px`;\n\t\t\t\t\tthis.node.classList.add( 'section-nav--sticky' );\n\t\t\t\t} else {\n\t\t\t\t\tthis.node.style.height = '';\n\t\t\t\t\tthis.node.classList.remove( 'section-nav--sticky' );\n\t\t\t\t}\n\t\t\t};\n\n\t\t\twindow.addEventListener( 'scroll', throttle( onScrollActiveAnchor, 100 ) );\n\t\t\twindow.addEventListener( 'scroll', throttle( onScrollFixed, 5 ) );\n\t\t\tonScrollActiveAnchor();\n\t\t\tonScrollFixed();\n\t\t}\n\n\t\tconst onLinkClick = () => {\n\t\t\t// freeze the masthead temporarily while we click on TOC links cause to prevent the masthead overlaying the TOC while interacting with it\n\t\t\tif ( masthead && masthead.node.classList.contains( 'masthead--unpinned' ) ) {\n\t\t\t\tmasthead.headroom.freeze();\n\n\t\t\t\tif ( typeof this.mastheadFreezeTimeout === 'number' ) {\n\t\t\t\t\tclearTimeout( this.mastheadFreezeTimeout );\n\t\t\t\t\tdelete this.mastheadFreezeTimeout;\n\t\t\t\t}\n\n\t\t\t\tthis.mastheadFreezeTimeout = setTimeout( () => {\n\t\t\t\t\tmasthead.headroom.unfreeze();\n\t\t\t\t\tdelete this.mastheadFreezeTimeout;\n\t\t\t\t}, 1500 );\n\t\t\t}\n\t\t};\n\t\tthis.items.filter( ( item ) => item.target ).forEach( ( item ) => item.link.addEventListener( 'click', onLinkClick ) );\n\n\t\tlet initialIndex = window.location.hash ? Math.max( 0, this.items.map( ( item ) => item.hash ).indexOf( window.location.hash ) ) : 0;\n\t\tthis.setIndex( initialIndex );\n\t\tthis.setState();\n\t}\n\n\t/**\n\t * Scroll forward the scrollable content area\n\t */\n\tscrollForward() {\n\t\tthis.scrollInterval = setInterval( () => {\n\t\t\tthis.content.scrollTo( { left: this.content.scrollLeft + 5 } );\n\n\t\t\tif ( this.forward.disabled ) {\n\t\t\t\tthis.scrollStop();\n\t\t\t}\n\t\t}, 10 );\n\t}\n\n\t/**\n\t * Scroll backwards the scrollable content area\n\t */\n\tscrollBack() {\n\t\tthis.scrollInterval = setInterval( () => {\n\t\t\tthis.content.scrollTo( { left: Math.max( 0, this.content.scrollLeft - 5 ) } );\n\n\t\t\tif ( this.back.disabled ) {\n\t\t\t\tthis.scrollStop();\n\t\t\t}\n\t\t}, 10 );\n\t}\n\n\t/**\n\t * Stop the scrolling interval if it's active\n\t */\n\tscrollStop() {\n\t\tif ( typeof this.scrollInterval === 'number' ) {\n\t\t\tclearInterval( this.scrollInterval );\n\t\t}\n\n\t\tthis.scrollInterval = null;\n\t}\n\n\tsetState() {\n\t\tconst firstItem = this.items[ 0 ].link;\n\t\tconst lastItem = this.items[ this.items.length - 1 ].link;\n\n\t\tif ( firstItem.offsetLeft - this.content.scrollLeft >= 0 ) {\n\t\t\t// first item is is view\n\t\t\tthis.back.disabled = true;\n\t\t\tthis.node.classList.remove( 'section-nav--fade-in' );\n\t\t} else {\n\t\t\t// first item is outside the scroll area\n\t\t\tthis.back.removeAttribute( 'disabled' );\n\t\t\tthis.node.classList.add( 'section-nav--fade-in' );\n\t\t}\n\n\t\tif ( this.content.scrollLeft + this.content.offsetWidth >= lastItem.offsetLeft + lastItem.offsetWidth - 1 ) {\n\t\t\t// the last item is fully in view\n\t\t\tthis.forward.disabled = true;\n\t\t\tthis.node.classList.remove( 'section-nav--fade-out' );\n\t\t} else {\n\t\t\t// last item is outside the scroll area\n\t\t\tthis.forward.removeAttribute( 'disabled' );\n\t\t\tthis.node.classList.add( 'section-nav--fade-out' );\n\t\t}\n\t}\n\n\tgetIndex() {\n\t\tconst distances = this.items.map( ( item ) => Math.abs( item.offsetLeft - this.content.scrollLeft ) );\n\n\t\treturn distances.indexOf( Math.min( ...distances ) );\n\t}\n\n\tsetIndex( index, behavior = 'smooth' ) {\n\t\tif ( index <= this.items.length ) {\n\t\t\tthis.content.scrollTo( {\n\t\t\t\tleft: this.items[ index ].offsetLeft,\n\t\t\t\tbehavior,\n\t\t\t} );\n\t\t} else if ( interval > 0 ) {\n\t\t\tclearInterval( interval );\n\t\t\tinterval = null;\n\t\t}\n\t}\n\n\tbackIndex() {\n\t\tthis.setIndex( Math.round( Math.max( this.getIndex() - 1, 0 ) ) );\n\t}\n\n\tforwardIndex() {\n\t\tthis.setIndex( Math.round( Math.min( this.getIndex() + 1, this.items.length - 1 ) ) );\n\t}\n}\n\ndocument.addEventListener( 'DOMContentLoaded', () => {\n\tdocument.querySelectorAll( '.section-nav' ).forEach( ( node ) => {\n\t\tconsole.log( new SectionNav( node, { ...node.dataset } ) );\n\t} );\n} );\n","export function clipboard( text, confirmation = 'Copied!', timeout = 4000 ) {\n\ttry {\n\t\tnavigator.clipboard.writeText( text );\n\n\t\tif ( this instanceof HTMLElement ) {\n\t\t\tconst confirm = document.createElement('div');\n\t\t\tconfirm.classList.add('share__confirm');\n\t\t\tconfirm.appendChild( document.createTextNode( confirmation ) );\n\n\t\t\tthis.classList.add('share__link--copied');\n\t\t\tthis.appendChild( confirm );\n\n\t\t\tsetTimeout( () => {\n\t\t\t\tthis.classList.remove('share__link--copied');\n\t\t\t\tconfirm.parentNode.removeChild( confirm );\n\t\t\t}, timeout );\n\t\t}\n\t} catch ( fault ) {\n\t\tconsole.error( fault );\n\t}\n}\n\ndocument.addEventListener( 'click', function(e) {\n\tlet node = e.target;\n\n\twhile ( node && node.parentNode ) {\n\t\tif ( node.matches( '.share__item--clipboard' ) ) {\n\t\t\te.preventDefault();\n\t\t\treturn clipboard.call( node, node.href );\n\t\t}\n\n\t\tnode = node.parentNode;\n\t}\n} );\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export { default as masthead } from './modules/masthead.js';\nexport { default as flyout } from './modules/flyout.js';\nexport { default as AlertBanner } from './modules/alert-banner.js';\nexport { SectionNav } from './modules/section-nav.js';\nexport * as share from './modules/share.js';\nexport * as links from './modules/links.js';\nexport * as fitvid from './modules/fitvid.js';\nexport * as fetch from './modules/fetch.js';\n\nexport const blocks = {}; // this is necessary for webpack's export modules - see webpack.config.js\n"],"names":["tabCapable","disable","exclude","arguments","length","undefined","scope","document","nodes","Array","from","querySelectorAll","join","filter","node","matches","closest","forEach","tabIndex","dataset","enable","removeAttribute","fn","time","timer","throttledFn","_len","args","_key","setTimeout","cancel","clearTimeout","AlertBanner","constructor","bannerSelector","closeSelector","banner","querySelector","closeButton","cookieName","bannerVersion","console","log","init","isCookieSet","hideBanner","showBanner","addEventListener","handleClose","setSessionCookie","cookie","split","some","classList","remove","add","Watch","selector","trigger","fetch","mode","includes","fetchMode","onClick","e","target","href","preventDefault","parentNode","window","location","history","response","html","text","parser","DOMParser","doc","parseFromString","HTMLElement","Error","innerHTML","dispatchEvent","CustomEvent","bubbles","detail","fault","error","getBoundingClientRect","top","scrollIntoView","behavior","watch","fitvid","selectors","config","isArray","concat","val","index","arr","indexOf","prototype","slice","call","getAttribute","wrapper","createElement","computed","getComputedStyle","ratio","height","width","className","style","position","paddingTop","left","setAttribute","insertBefore","appendChild","Flyout","toggleSelector","menuSelector","toggle","menu","closeIcon","menuOpenClass","bodyClass","toggleMenu","event","closeMenu","stopPropagation","handleOutsideClick","key","contains","openMenu","body","flyout","empty","links","info","external","link","trim","isEmpty","isLocal","origin","isAnchor","Headroom","MastheadParent","controller","enterTimeout","leaveTimeout","active","back","hoverTypes","onPointerEnter","pointerType","getPointerMode","activate","hoverDelay","onPointerLeave","deactivate","onPointerUp","onFocus","activeElement","bind","parentActiveClass","Event","Masthead","pointerMode","nav","menuIcon","search","searchIcon","mobileMediaQuery","parents","map","headroom","tolerance","up","down","classes","initial","pinned","unpinned","notTop","bottom","notBottom","frozen","update","onKeyUp","setMode","toggleMode","parent","matchMedia","lastMode","onTransitionEnd","hidden","removeEventListener","documentElement","focus","throttle","SectionNav","opts","forward","content","items","sticky","interval","id","hash","getElementById","setState","forwardIndex","backIndex","scrollForward","scrollStop","scrollBack","onScrollActiveAnchor","scrollTop","clientHeight","absTarget","distances","item","reduce","Math","abs","Object","keys","onScrollFixed","offsetHeight","onLinkClick","masthead","freeze","mastheadFreezeTimeout","unfreeze","initialIndex","max","setIndex","scrollInterval","setInterval","scrollTo","scrollLeft","disabled","clearInterval","firstItem","lastItem","offsetLeft","offsetWidth","getIndex","min","round","clipboard","confirmation","timeout","navigator","writeText","confirm","createTextNode","removeChild","default","share","blocks"],"sourceRoot":""}