{"version":3,"file":"/js/main.js","mappings":"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","sources":["webpack:///webpack/runtime/chunk loaded","webpack:///./source/js/headroom.js","webpack:///./node_modules/headroom.js/dist/headroom.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","import Headroom from 'headroom.js';\n\nconst header = document.querySelector('.site-header');\n\nif (header) {\n\n    const headroom = new Headroom(\n        header,\n        {\n            offset: 50,\n        }\n    );\n\n    headroom.init();\n\n}","/*!\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","// 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// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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 = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t829: 0,\n\t364: 0,\n\t992: 0,\n\t266: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunk\"] = self[\"webpackChunk\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\n__webpack_require__.O(undefined, [364,992,266], () => (__webpack_require__(55)))\n__webpack_require__.O(undefined, [364,992,266], () => (__webpack_require__(14)))\n__webpack_require__.O(undefined, [364,992,266], () => (__webpack_require__(358)))\nvar __webpack_exports__ = __webpack_require__.O(undefined, [364,992,266], () => (__webpack_require__(252)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","header","document","querySelector","Headroom","offset","init","module","exports","isBrowser","window","passiveEventsSupported","supported","options","passive","addEventListener","removeEventListener","err","isSupported","bind","documentElement","Object","assign","keys","requestAnimationFrame","isDocument","obj","nodeType","isWindow","windowScroller","win","doc","body","html","scrollHeight","Math","max","offsetHeight","clientHeight","height","innerHeight","scrollY","undefined","pageYOffset","parentNode","scrollTop","elementScroller","element","createScroller","trackScroll","callback","rafId","isPassiveSupported","scrolled","scroller","lastScrollY","details","update","round","direction","distance","abs","isOutOfBounds","top","bottom","toleranceExceeded","tolerance","handleScroll","eventOptions","capture","destroy","cancelAnimationFrame","normalizeUpDown","t","down","up","elem","this","classes","initialised","frozen","prototype","constructor","cutsTheMustard","addClass","setTimeout","self","scrollTracker","forEach","removeClass","unpin","hasClass","onUnpin","call","pin","onPin","freeze","unfreeze","onTop","notTop","onNotTop","onBottom","notBottom","onNotBottom","shouldUnpin","shouldPin","className","classList","add","apply","split","remove","every","cls","contains","pinned","unpinned","initial","factory","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","key","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","prop","hasOwnProperty","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","id","chunkLoadingGlobal","push","__webpack_exports__"],"sourceRoot":""}