{"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":""}