{"version":3,"sources":["webpack://four-words-website/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://four-words-website/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://four-words-website/./node_modules/classnames/index.js","webpack://four-words-website/./node_modules/lazysizes/lazysizes.js","webpack://four-words-website/./node_modules/lazysizes/plugins/attrchange/ls.attrchange.js","webpack://four-words-website/./node_modules/react-bootstrap/esm/createChainedFunction.js","webpack://four-words-website/./node_modules/react-bootstrap/esm/SafeAnchor.js","webpack://four-words-website/./node_modules/react-bootstrap/esm/Button.js","webpack://four-words-website/./node_modules/react-bootstrap/esm/Col.js","webpack://four-words-website/./node_modules/react-bootstrap/esm/Container.js","webpack://four-words-website/./node_modules/react-bootstrap/esm/Row.js","webpack://four-words-website/./node_modules/react-bootstrap/esm/ThemeProvider.js","webpack://four-words-website/./src/components/Topbar/topbar.js","webpack://four-words-website/./src/components/Footer/footer.js","webpack://four-words-website/./src/components/Footer/footer.module.scss","webpack://four-words-website/./src/components/Layout/layout.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf","hasOwn","classNames","classes","arg","argType","push","Array","isArray","inner","toString","join","module","exports","default","window","factory","lazySizes","document","Date","lazysizes","lazySizesCfg","prop","lazySizesDefaults","lazyClass","loadedClass","loadingClass","preloadClass","errorClass","autosizesClass","fastLoadedClass","iframeLoadMode","srcAttr","srcsetAttr","sizesAttr","minSize","customMedia","init","expFactor","hFac","loadMode","loadHidden","ricTimeout","throttleDelay","lazySizesConfig","lazysizesConfig","getElementsByClassName","cfg","noSupport","docElem","documentElement","supportPicture","HTMLPictureElement","_addEventListener","_getAttribute","addEventListener","bind","setTimeout","requestAnimationFrame","requestIdleCallback","regPicture","loadEvents","regClassCache","forEach","hasClass","ele","cls","RegExp","test","addClass","setAttribute","trim","removeClass","reg","replace","addRemoveLoadEvents","dom","fn","add","action","evt","triggerEvent","elem","name","detail","noBubbles","noCancelable","event","createEvent","instance","initEvent","dispatchEvent","updatePolyfill","el","full","polyfill","picturefill","pf","src","reevaluate","elements","getCSS","style","getComputedStyle","getWidth","parent","width","offsetWidth","_lazysizesWidth","parentNode","rAF","firstFns","secondFns","fns","run","runFns","running","waiting","shift","rafBatch","queue","hidden","_lsFlush","rAFIt","simple","that","args","throttle","lastTime","gDelay","rICTimeout","now","idleCallback","timeout","isPriority","delay","debounce","func","timestamp","wait","later","last","loader","regImg","regIframe","supportScroll","navigator","userAgent","shrinkExpand","currentExpand","isLoading","lowRuns","resetPreloading","e","isVisible","isBodyHidden","body","isNestedVisible","elemExpand","outerRect","visible","eLtop","eLbottom","eLleft","eLright","offsetParent","getBoundingClientRect","left","right","top","bottom","checkElements","eLlen","rect","autoLoadElem","loadedSomething","elemNegativeExpand","elemExpandVal","beforeExpandVal","defaultExpand","preloadExpand","lazyloadElems","_lazyRace","prematureUnveil","unveilElement","expand","clientHeight","clientWidth","_defEx","eLvW","innerWidth","elvH","innerHeight","isCompleted","preloadElems","preloadAfterLoad","throttledCheckElements","switchLoadingClass","_lazyCache","rafSwitchLoadingClass","rafedSwitchLoadingClass","changeIframeSrc","getAttribute","contentWindow","location","handleSources","sourceSrcset","lazyUnveil","isAuto","sizes","isImg","srcset","isPicture","firesLoad","defaultPrevented","nodeName","clearTimeout","resetPreloadingTimer","getElementsByTagName","isLoaded","complete","naturalWidth","loading","autoSizer","updateElem","afterScroll","altLoadmodeScrollListner","onload","started","_","persisted","loadingElements","querySelectorAll","img","MutationObserver","observe","childList","subtree","attributes","setInterval","readyState","checkElems","unveil","_aLSL","sizeElement","sources","len","dataAttr","getSizeElement","debouncedUpdateElementsSizes","autosizesElems","uP","aC","rC","hC","fire","gW","addObserver","connect","disconnect","observer","connected","runs","modifications","callMutations","lsCfg","regClassTest","setClass","unloadedClass","display","onMutation","mutations","mutation","attributeName","localName","querySelector","className","attributeFilter","attrName","newValue","removeEventListener","_len","funcs","_key","filter","f","reduce","acc","Error","_len2","_key2","_excluded","isTrivialHref","href","SafeAnchor","_ref","ref","_ref$as","as","Component","disabled","onKeyDown","props","handleClick","onClick","preventDefault","stopPropagation","role","tabIndex","displayName","Button","bsPrefix","variant","size","active","block","type","prefix","defaultProps","DEVICE_SIZES","Col","spans","brkPoint","span","offset","order","propValue","_propValue$span","infix","concat","Container","fluid","suffix","Row","noGutters","decoratedBsPrefix","sizePrefix","cols","ThemeContext","Consumer","Provider","useBootstrapPrefix","defaultPrefix","prefixes","useContext","handleScroll","scrollY","setState","isNavBarTop","state","componentDidMount","componentWillUnmount","render","Link","to","React","BRAND_NAME","FooterCategories","category","title","links","map","link","index","socials","val","url","height","alt","data-src","icon","CATEGORY_DATA","year","getFullYear","lg","fontSize","xs","sm","main","children"],"mappings":"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","file":"commons-bed5e85056f0c9bcadcb.js","sourcesContent":["export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n\n/* global define */\n(function () {\n 'use strict';\n\n var hasOwn = {}.hasOwnProperty;\n\n function classNames() {\n var classes = [];\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n var argType = typeof arg;\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg)) {\n if (arg.length) {\n var inner = classNames.apply(null, arg);\n\n if (inner) {\n classes.push(inner);\n }\n }\n } else if (argType === 'object') {\n if (arg.toString === Object.prototype.toString) {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n } else {\n classes.push(arg.toString());\n }\n }\n }\n\n return classes.join(' ');\n }\n\n if (typeof module !== 'undefined' && module.exports) {\n classNames.default = classNames;\n module.exports = classNames;\n } else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n // register as 'classnames', consistent with npm package name\n define('classnames', [], function () {\n return classNames;\n });\n } else {\n window.classNames = classNames;\n }\n})();","(function (window, factory) {\n var lazySizes = factory(window, window.document, Date);\n window.lazySizes = lazySizes;\n\n if (typeof module == 'object' && module.exports) {\n module.exports = lazySizes;\n }\n})(typeof window != 'undefined' ? window : {},\n/**\n * import(\"./types/global\")\n * @typedef { import(\"./types/lazysizes-config\").LazySizesConfigPartial } LazySizesConfigPartial\n */\nfunction l(window, document, Date) {\n // Pass in the window Date function also for SSR because the Date class can be lost\n 'use strict';\n /*jshint eqnull:true */\n\n var lazysizes,\n /**\n * @type { LazySizesConfigPartial }\n */\n lazySizesCfg;\n\n (function () {\n var prop;\n var lazySizesDefaults = {\n lazyClass: 'lazyload',\n loadedClass: 'lazyloaded',\n loadingClass: 'lazyloading',\n preloadClass: 'lazypreload',\n errorClass: 'lazyerror',\n //strictClass: 'lazystrict',\n autosizesClass: 'lazyautosizes',\n fastLoadedClass: 'ls-is-cached',\n iframeLoadMode: 0,\n srcAttr: 'data-src',\n srcsetAttr: 'data-srcset',\n sizesAttr: 'data-sizes',\n //preloadAfterLoad: false,\n minSize: 40,\n customMedia: {},\n init: true,\n expFactor: 1.5,\n hFac: 0.8,\n loadMode: 2,\n loadHidden: true,\n ricTimeout: 0,\n throttleDelay: 125\n };\n lazySizesCfg = window.lazySizesConfig || window.lazysizesConfig || {};\n\n for (prop in lazySizesDefaults) {\n if (!(prop in lazySizesCfg)) {\n lazySizesCfg[prop] = lazySizesDefaults[prop];\n }\n }\n })();\n\n if (!document || !document.getElementsByClassName) {\n return {\n init: function init() {},\n\n /**\n * @type { LazySizesConfigPartial }\n */\n cfg: lazySizesCfg,\n\n /**\n * @type { true }\n */\n noSupport: true\n };\n }\n\n var docElem = document.documentElement;\n var supportPicture = window.HTMLPictureElement;\n var _addEventListener = 'addEventListener';\n var _getAttribute = 'getAttribute';\n /**\n * Update to bind to window because 'this' becomes null during SSR\n * builds.\n */\n\n var addEventListener = window[_addEventListener].bind(window);\n\n var setTimeout = window.setTimeout;\n var requestAnimationFrame = window.requestAnimationFrame || setTimeout;\n var requestIdleCallback = window.requestIdleCallback;\n var regPicture = /^picture$/i;\n var loadEvents = ['load', 'error', 'lazyincluded', '_lazyloaded'];\n var regClassCache = {};\n var forEach = Array.prototype.forEach;\n /**\n * @param ele {Element}\n * @param cls {string}\n */\n\n var hasClass = function hasClass(ele, cls) {\n if (!regClassCache[cls]) {\n regClassCache[cls] = new RegExp('(\\\\s|^)' + cls + '(\\\\s|$)');\n }\n\n return regClassCache[cls].test(ele[_getAttribute]('class') || '') && regClassCache[cls];\n };\n /**\n * @param ele {Element}\n * @param cls {string}\n */\n\n\n var addClass = function addClass(ele, cls) {\n if (!hasClass(ele, cls)) {\n ele.setAttribute('class', (ele[_getAttribute]('class') || '').trim() + ' ' + cls);\n }\n };\n /**\n * @param ele {Element}\n * @param cls {string}\n */\n\n\n var removeClass = function removeClass(ele, cls) {\n var reg;\n\n if (reg = hasClass(ele, cls)) {\n ele.setAttribute('class', (ele[_getAttribute]('class') || '').replace(reg, ' '));\n }\n };\n\n var addRemoveLoadEvents = function addRemoveLoadEvents(dom, fn, add) {\n var action = add ? _addEventListener : 'removeEventListener';\n\n if (add) {\n addRemoveLoadEvents(dom, fn);\n }\n\n loadEvents.forEach(function (evt) {\n dom[action](evt, fn);\n });\n };\n /**\n * @param elem { Element }\n * @param name { string }\n * @param detail { any }\n * @param noBubbles { boolean }\n * @param noCancelable { boolean }\n * @returns { CustomEvent }\n */\n\n\n var triggerEvent = function triggerEvent(elem, name, detail, noBubbles, noCancelable) {\n var event = document.createEvent('Event');\n\n if (!detail) {\n detail = {};\n }\n\n detail.instance = lazysizes;\n event.initEvent(name, !noBubbles, !noCancelable);\n event.detail = detail;\n elem.dispatchEvent(event);\n return event;\n };\n\n var updatePolyfill = function updatePolyfill(el, full) {\n var polyfill;\n\n if (!supportPicture && (polyfill = window.picturefill || lazySizesCfg.pf)) {\n if (full && full.src && !el[_getAttribute]('srcset')) {\n el.setAttribute('srcset', full.src);\n }\n\n polyfill({\n reevaluate: true,\n elements: [el]\n });\n } else if (full && full.src) {\n el.src = full.src;\n }\n };\n\n var getCSS = function getCSS(elem, style) {\n return (getComputedStyle(elem, null) || {})[style];\n };\n /**\n *\n * @param elem { Element }\n * @param parent { Element }\n * @param [width] {number}\n * @returns {number}\n */\n\n\n var getWidth = function getWidth(elem, parent, width) {\n width = width || elem.offsetWidth;\n\n while (width < lazySizesCfg.minSize && parent && !elem._lazysizesWidth) {\n width = parent.offsetWidth;\n parent = parent.parentNode;\n }\n\n return width;\n };\n\n var rAF = function () {\n var running, waiting;\n var firstFns = [];\n var secondFns = [];\n var fns = firstFns;\n\n var run = function run() {\n var runFns = fns;\n fns = firstFns.length ? secondFns : firstFns;\n running = true;\n waiting = false;\n\n while (runFns.length) {\n runFns.shift()();\n }\n\n running = false;\n };\n\n var rafBatch = function rafBatch(fn, queue) {\n if (running && !queue) {\n fn.apply(this, arguments);\n } else {\n fns.push(fn);\n\n if (!waiting) {\n waiting = true;\n (document.hidden ? setTimeout : requestAnimationFrame)(run);\n }\n }\n };\n\n rafBatch._lsFlush = run;\n return rafBatch;\n }();\n\n var rAFIt = function rAFIt(fn, simple) {\n return simple ? function () {\n rAF(fn);\n } : function () {\n var that = this;\n var args = arguments;\n rAF(function () {\n fn.apply(that, args);\n });\n };\n };\n\n var throttle = function throttle(fn) {\n var running;\n var lastTime = 0;\n var gDelay = lazySizesCfg.throttleDelay;\n var rICTimeout = lazySizesCfg.ricTimeout;\n\n var run = function run() {\n running = false;\n lastTime = Date.now();\n fn();\n };\n\n var idleCallback = requestIdleCallback && rICTimeout > 49 ? function () {\n requestIdleCallback(run, {\n timeout: rICTimeout\n });\n\n if (rICTimeout !== lazySizesCfg.ricTimeout) {\n rICTimeout = lazySizesCfg.ricTimeout;\n }\n } : rAFIt(function () {\n setTimeout(run);\n }, true);\n return function (isPriority) {\n var delay;\n\n if (isPriority = isPriority === true) {\n rICTimeout = 33;\n }\n\n if (running) {\n return;\n }\n\n running = true;\n delay = gDelay - (Date.now() - lastTime);\n\n if (delay < 0) {\n delay = 0;\n }\n\n if (isPriority || delay < 9) {\n idleCallback();\n } else {\n setTimeout(idleCallback, delay);\n }\n };\n }; //based on http://modernjavascript.blogspot.de/2013/08/building-better-debounce.html\n\n\n var debounce = function debounce(func) {\n var timeout, timestamp;\n var wait = 99;\n\n var run = function run() {\n timeout = null;\n func();\n };\n\n var later = function later() {\n var last = Date.now() - timestamp;\n\n if (last < wait) {\n setTimeout(later, wait - last);\n } else {\n (requestIdleCallback || run)(run);\n }\n };\n\n return function () {\n timestamp = Date.now();\n\n if (!timeout) {\n timeout = setTimeout(later, wait);\n }\n };\n };\n\n var loader = function () {\n var preloadElems, isCompleted, resetPreloadingTimer, loadMode, started;\n var eLvW, elvH, eLtop, eLleft, eLright, eLbottom, isBodyHidden;\n var regImg = /^img$/i;\n var regIframe = /^iframe$/i;\n var supportScroll = 'onscroll' in window && !/(gle|ing)bot/.test(navigator.userAgent);\n var shrinkExpand = 0;\n var currentExpand = 0;\n var isLoading = 0;\n var lowRuns = -1;\n\n var resetPreloading = function resetPreloading(e) {\n isLoading--;\n\n if (!e || isLoading < 0 || !e.target) {\n isLoading = 0;\n }\n };\n\n var isVisible = function isVisible(elem) {\n if (isBodyHidden == null) {\n isBodyHidden = getCSS(document.body, 'visibility') == 'hidden';\n }\n\n return isBodyHidden || !(getCSS(elem.parentNode, 'visibility') == 'hidden' && getCSS(elem, 'visibility') == 'hidden');\n };\n\n var isNestedVisible = function isNestedVisible(elem, elemExpand) {\n var outerRect;\n var parent = elem;\n var visible = isVisible(elem);\n eLtop -= elemExpand;\n eLbottom += elemExpand;\n eLleft -= elemExpand;\n eLright += elemExpand;\n\n while (visible && (parent = parent.offsetParent) && parent != document.body && parent != docElem) {\n visible = (getCSS(parent, 'opacity') || 1) > 0;\n\n if (visible && getCSS(parent, 'overflow') != 'visible') {\n outerRect = parent.getBoundingClientRect();\n visible = eLright > outerRect.left && eLleft < outerRect.right && eLbottom > outerRect.top - 1 && eLtop < outerRect.bottom + 1;\n }\n }\n\n return visible;\n };\n\n var checkElements = function checkElements() {\n var eLlen, i, rect, autoLoadElem, loadedSomething, elemExpand, elemNegativeExpand, elemExpandVal, beforeExpandVal, defaultExpand, preloadExpand, hFac;\n var lazyloadElems = lazysizes.elements;\n\n if ((loadMode = lazySizesCfg.loadMode) && isLoading < 8 && (eLlen = lazyloadElems.length)) {\n i = 0;\n lowRuns++;\n\n for (; i < eLlen; i++) {\n if (!lazyloadElems[i] || lazyloadElems[i]._lazyRace) {\n continue;\n }\n\n if (!supportScroll || lazysizes.prematureUnveil && lazysizes.prematureUnveil(lazyloadElems[i])) {\n unveilElement(lazyloadElems[i]);\n continue;\n }\n\n if (!(elemExpandVal = lazyloadElems[i][_getAttribute]('data-expand')) || !(elemExpand = elemExpandVal * 1)) {\n elemExpand = currentExpand;\n }\n\n if (!defaultExpand) {\n defaultExpand = !lazySizesCfg.expand || lazySizesCfg.expand < 1 ? docElem.clientHeight > 500 && docElem.clientWidth > 500 ? 500 : 370 : lazySizesCfg.expand;\n lazysizes._defEx = defaultExpand;\n preloadExpand = defaultExpand * lazySizesCfg.expFactor;\n hFac = lazySizesCfg.hFac;\n isBodyHidden = null;\n\n if (currentExpand < preloadExpand && isLoading < 1 && lowRuns > 2 && loadMode > 2 && !document.hidden) {\n currentExpand = preloadExpand;\n lowRuns = 0;\n } else if (loadMode > 1 && lowRuns > 1 && isLoading < 6) {\n currentExpand = defaultExpand;\n } else {\n currentExpand = shrinkExpand;\n }\n }\n\n if (beforeExpandVal !== elemExpand) {\n eLvW = innerWidth + elemExpand * hFac;\n elvH = innerHeight + elemExpand;\n elemNegativeExpand = elemExpand * -1;\n beforeExpandVal = elemExpand;\n }\n\n rect = lazyloadElems[i].getBoundingClientRect();\n\n if ((eLbottom = rect.bottom) >= elemNegativeExpand && (eLtop = rect.top) <= elvH && (eLright = rect.right) >= elemNegativeExpand * hFac && (eLleft = rect.left) <= eLvW && (eLbottom || eLright || eLleft || eLtop) && (lazySizesCfg.loadHidden || isVisible(lazyloadElems[i])) && (isCompleted && isLoading < 3 && !elemExpandVal && (loadMode < 3 || lowRuns < 4) || isNestedVisible(lazyloadElems[i], elemExpand))) {\n unveilElement(lazyloadElems[i]);\n loadedSomething = true;\n\n if (isLoading > 9) {\n break;\n }\n } else if (!loadedSomething && isCompleted && !autoLoadElem && isLoading < 4 && lowRuns < 4 && loadMode > 2 && (preloadElems[0] || lazySizesCfg.preloadAfterLoad) && (preloadElems[0] || !elemExpandVal && (eLbottom || eLright || eLleft || eLtop || lazyloadElems[i][_getAttribute](lazySizesCfg.sizesAttr) != 'auto'))) {\n autoLoadElem = preloadElems[0] || lazyloadElems[i];\n }\n }\n\n if (autoLoadElem && !loadedSomething) {\n unveilElement(autoLoadElem);\n }\n }\n };\n\n var throttledCheckElements = throttle(checkElements);\n\n var switchLoadingClass = function switchLoadingClass(e) {\n var elem = e.target;\n\n if (elem._lazyCache) {\n delete elem._lazyCache;\n return;\n }\n\n resetPreloading(e);\n addClass(elem, lazySizesCfg.loadedClass);\n removeClass(elem, lazySizesCfg.loadingClass);\n addRemoveLoadEvents(elem, rafSwitchLoadingClass);\n triggerEvent(elem, 'lazyloaded');\n };\n\n var rafedSwitchLoadingClass = rAFIt(switchLoadingClass);\n\n var rafSwitchLoadingClass = function rafSwitchLoadingClass(e) {\n rafedSwitchLoadingClass({\n target: e.target\n });\n };\n\n var changeIframeSrc = function changeIframeSrc(elem, src) {\n var loadMode = elem.getAttribute('data-load-mode') || lazySizesCfg.iframeLoadMode; // loadMode can be also a string!\n\n if (loadMode == 0) {\n elem.contentWindow.location.replace(src);\n } else if (loadMode == 1) {\n elem.src = src;\n }\n };\n\n var handleSources = function handleSources(source) {\n var customMedia;\n\n var sourceSrcset = source[_getAttribute](lazySizesCfg.srcsetAttr);\n\n if (customMedia = lazySizesCfg.customMedia[source[_getAttribute]('data-media') || source[_getAttribute]('media')]) {\n source.setAttribute('media', customMedia);\n }\n\n if (sourceSrcset) {\n source.setAttribute('srcset', sourceSrcset);\n }\n };\n\n var lazyUnveil = rAFIt(function (elem, detail, isAuto, sizes, isImg) {\n var src, srcset, parent, isPicture, event, firesLoad;\n\n if (!(event = triggerEvent(elem, 'lazybeforeunveil', detail)).defaultPrevented) {\n if (sizes) {\n if (isAuto) {\n addClass(elem, lazySizesCfg.autosizesClass);\n } else {\n elem.setAttribute('sizes', sizes);\n }\n }\n\n srcset = elem[_getAttribute](lazySizesCfg.srcsetAttr);\n src = elem[_getAttribute](lazySizesCfg.srcAttr);\n\n if (isImg) {\n parent = elem.parentNode;\n isPicture = parent && regPicture.test(parent.nodeName || '');\n }\n\n firesLoad = detail.firesLoad || 'src' in elem && (srcset || src || isPicture);\n event = {\n target: elem\n };\n addClass(elem, lazySizesCfg.loadingClass);\n\n if (firesLoad) {\n clearTimeout(resetPreloadingTimer);\n resetPreloadingTimer = setTimeout(resetPreloading, 2500);\n addRemoveLoadEvents(elem, rafSwitchLoadingClass, true);\n }\n\n if (isPicture) {\n forEach.call(parent.getElementsByTagName('source'), handleSources);\n }\n\n if (srcset) {\n elem.setAttribute('srcset', srcset);\n } else if (src && !isPicture) {\n if (regIframe.test(elem.nodeName)) {\n changeIframeSrc(elem, src);\n } else {\n elem.src = src;\n }\n }\n\n if (isImg && (srcset || isPicture)) {\n updatePolyfill(elem, {\n src: src\n });\n }\n }\n\n if (elem._lazyRace) {\n delete elem._lazyRace;\n }\n\n removeClass(elem, lazySizesCfg.lazyClass);\n rAF(function () {\n // Part of this can be removed as soon as this fix is older: https://bugs.chromium.org/p/chromium/issues/detail?id=7731 (2015)\n var isLoaded = elem.complete && elem.naturalWidth > 1;\n\n if (!firesLoad || isLoaded) {\n if (isLoaded) {\n addClass(elem, lazySizesCfg.fastLoadedClass);\n }\n\n switchLoadingClass(event);\n elem._lazyCache = true;\n setTimeout(function () {\n if ('_lazyCache' in elem) {\n delete elem._lazyCache;\n }\n }, 9);\n }\n\n if (elem.loading == 'lazy') {\n isLoading--;\n }\n }, true);\n });\n /**\n *\n * @param elem { Element }\n */\n\n var unveilElement = function unveilElement(elem) {\n if (elem._lazyRace) {\n return;\n }\n\n var detail;\n var isImg = regImg.test(elem.nodeName); //allow using sizes=\"auto\", but don't use. it's invalid. Use data-sizes=\"auto\" or a valid value for sizes instead (i.e.: sizes=\"80vw\")\n\n var sizes = isImg && (elem[_getAttribute](lazySizesCfg.sizesAttr) || elem[_getAttribute]('sizes'));\n\n var isAuto = sizes == 'auto';\n\n if ((isAuto || !isCompleted) && isImg && (elem[_getAttribute]('src') || elem.srcset) && !elem.complete && !hasClass(elem, lazySizesCfg.errorClass) && hasClass(elem, lazySizesCfg.lazyClass)) {\n return;\n }\n\n detail = triggerEvent(elem, 'lazyunveilread').detail;\n\n if (isAuto) {\n autoSizer.updateElem(elem, true, elem.offsetWidth);\n }\n\n elem._lazyRace = true;\n isLoading++;\n lazyUnveil(elem, detail, isAuto, sizes, isImg);\n };\n\n var afterScroll = debounce(function () {\n lazySizesCfg.loadMode = 3;\n throttledCheckElements();\n });\n\n var altLoadmodeScrollListner = function altLoadmodeScrollListner() {\n if (lazySizesCfg.loadMode == 3) {\n lazySizesCfg.loadMode = 2;\n }\n\n afterScroll();\n };\n\n var onload = function onload() {\n if (isCompleted) {\n return;\n }\n\n if (Date.now() - started < 999) {\n setTimeout(onload, 999);\n return;\n }\n\n isCompleted = true;\n lazySizesCfg.loadMode = 3;\n throttledCheckElements();\n addEventListener('scroll', altLoadmodeScrollListner, true);\n };\n\n return {\n _: function _() {\n started = Date.now();\n lazysizes.elements = document.getElementsByClassName(lazySizesCfg.lazyClass);\n preloadElems = document.getElementsByClassName(lazySizesCfg.lazyClass + ' ' + lazySizesCfg.preloadClass);\n addEventListener('scroll', throttledCheckElements, true);\n addEventListener('resize', throttledCheckElements, true);\n addEventListener('pageshow', function (e) {\n if (e.persisted) {\n var loadingElements = document.querySelectorAll('.' + lazySizesCfg.loadingClass);\n\n if (loadingElements.length && loadingElements.forEach) {\n requestAnimationFrame(function () {\n loadingElements.forEach(function (img) {\n if (img.complete) {\n unveilElement(img);\n }\n });\n });\n }\n }\n });\n\n if (window.MutationObserver) {\n new MutationObserver(throttledCheckElements).observe(docElem, {\n childList: true,\n subtree: true,\n attributes: true\n });\n } else {\n docElem[_addEventListener]('DOMNodeInserted', throttledCheckElements, true);\n\n docElem[_addEventListener]('DOMAttrModified', throttledCheckElements, true);\n\n setInterval(throttledCheckElements, 999);\n }\n\n addEventListener('hashchange', throttledCheckElements, true); //, 'fullscreenchange'\n\n ['focus', 'mouseover', 'click', 'load', 'transitionend', 'animationend'].forEach(function (name) {\n document[_addEventListener](name, throttledCheckElements, true);\n });\n\n if (/d$|^c/.test(document.readyState)) {\n onload();\n } else {\n addEventListener('load', onload);\n\n document[_addEventListener]('DOMContentLoaded', throttledCheckElements);\n\n setTimeout(onload, 20000);\n }\n\n if (lazysizes.elements.length) {\n checkElements();\n\n rAF._lsFlush();\n } else {\n throttledCheckElements();\n }\n },\n checkElems: throttledCheckElements,\n unveil: unveilElement,\n _aLSL: altLoadmodeScrollListner\n };\n }();\n\n var autoSizer = function () {\n var autosizesElems;\n var sizeElement = rAFIt(function (elem, parent, event, width) {\n var sources, i, len;\n elem._lazysizesWidth = width;\n width += 'px';\n elem.setAttribute('sizes', width);\n\n if (regPicture.test(parent.nodeName || '')) {\n sources = parent.getElementsByTagName('source');\n\n for (i = 0, len = sources.length; i < len; i++) {\n sources[i].setAttribute('sizes', width);\n }\n }\n\n if (!event.detail.dataAttr) {\n updatePolyfill(elem, event.detail);\n }\n });\n /**\n *\n * @param elem {Element}\n * @param dataAttr\n * @param [width] { number }\n */\n\n var getSizeElement = function getSizeElement(elem, dataAttr, width) {\n var event;\n var parent = elem.parentNode;\n\n if (parent) {\n width = getWidth(elem, parent, width);\n event = triggerEvent(elem, 'lazybeforesizes', {\n width: width,\n dataAttr: !!dataAttr\n });\n\n if (!event.defaultPrevented) {\n width = event.detail.width;\n\n if (width && width !== elem._lazysizesWidth) {\n sizeElement(elem, parent, event, width);\n }\n }\n }\n };\n\n var updateElementsSizes = function updateElementsSizes() {\n var i;\n var len = autosizesElems.length;\n\n if (len) {\n i = 0;\n\n for (; i < len; i++) {\n getSizeElement(autosizesElems[i]);\n }\n }\n };\n\n var debouncedUpdateElementsSizes = debounce(updateElementsSizes);\n return {\n _: function _() {\n autosizesElems = document.getElementsByClassName(lazySizesCfg.autosizesClass);\n addEventListener('resize', debouncedUpdateElementsSizes);\n },\n checkElems: debouncedUpdateElementsSizes,\n updateElem: getSizeElement\n };\n }();\n\n var init = function init() {\n if (!init.i && document.getElementsByClassName) {\n init.i = true;\n\n autoSizer._();\n\n loader._();\n }\n };\n\n setTimeout(function () {\n if (lazySizesCfg.init) {\n init();\n }\n });\n lazysizes = {\n /**\n * @type { LazySizesConfigPartial }\n */\n cfg: lazySizesCfg,\n autoSizer: autoSizer,\n loader: loader,\n init: init,\n uP: updatePolyfill,\n aC: addClass,\n rC: removeClass,\n hC: hasClass,\n fire: triggerEvent,\n gW: getWidth,\n rAF: rAF\n };\n return lazysizes;\n});","(function (window, factory) {\n if (!window) {\n return;\n }\n\n var globalInstall = function globalInstall() {\n factory(window.lazySizes);\n window.removeEventListener('lazyunveilread', globalInstall, true);\n };\n\n factory = factory.bind(null, window, window.document);\n\n if (typeof module == 'object' && module.exports) {\n factory(require('lazysizes'));\n } else if (typeof define == 'function' && define.amd) {\n define(['lazysizes'], factory);\n } else if (window.lazySizes) {\n globalInstall();\n } else {\n window.addEventListener('lazyunveilread', globalInstall, true);\n }\n})(typeof window != 'undefined' ? window : 0, function (window, document, lazySizes) {\n 'use strict';\n\n var addObserver = function addObserver() {\n var connect, disconnect, observer, connected;\n var lsCfg = lazySizes.cfg;\n var attributes = {\n 'data-bgset': 1,\n 'data-include': 1,\n 'data-poster': 1,\n 'data-bg': 1,\n 'data-script': 1\n };\n var regClassTest = '(\\\\s|^)(' + lsCfg.loadedClass;\n var docElem = document.documentElement;\n\n var setClass = function setClass(target) {\n lazySizes.rAF(function () {\n lazySizes.rC(target, lsCfg.loadedClass);\n\n if (lsCfg.unloadedClass) {\n lazySizes.rC(target, lsCfg.unloadedClass);\n }\n\n lazySizes.aC(target, lsCfg.lazyClass);\n\n if (target.style.display == 'none' || target.parentNode && target.parentNode.style.display == 'none') {\n setTimeout(function () {\n lazySizes.loader.unveil(target);\n }, 0);\n }\n });\n };\n\n var onMutation = function onMutation(mutations) {\n var i, len, mutation, target;\n\n for (i = 0, len = mutations.length; i < len; i++) {\n mutation = mutations[i];\n target = mutation.target;\n\n if (!target.getAttribute(mutation.attributeName)) {\n continue;\n }\n\n if (target.localName == 'source' && target.parentNode) {\n target = target.parentNode.querySelector('img');\n }\n\n if (target && regClassTest.test(target.className)) {\n setClass(target);\n }\n }\n };\n\n if (lsCfg.unloadedClass) {\n regClassTest += '|' + lsCfg.unloadedClass;\n }\n\n regClassTest += '|' + lsCfg.loadingClass + ')(\\\\s|$)';\n regClassTest = new RegExp(regClassTest);\n attributes[lsCfg.srcAttr] = 1;\n attributes[lsCfg.srcsetAttr] = 1;\n\n if (window.MutationObserver) {\n observer = new MutationObserver(onMutation);\n\n connect = function connect() {\n if (!connected) {\n connected = true;\n observer.observe(docElem, {\n subtree: true,\n attributes: true,\n attributeFilter: Object.keys(attributes)\n });\n }\n };\n\n disconnect = function disconnect() {\n if (connected) {\n connected = false;\n observer.disconnect();\n }\n };\n } else {\n docElem.addEventListener('DOMAttrModified', function () {\n var runs;\n var modifications = [];\n\n var callMutations = function callMutations() {\n onMutation(modifications);\n modifications = [];\n runs = false;\n };\n\n return function (e) {\n if (connected && attributes[e.attrName] && e.newValue) {\n modifications.push({\n target: e.target,\n attributeName: e.attrName\n });\n\n if (!runs) {\n setTimeout(callMutations);\n runs = true;\n }\n }\n };\n }(), true);\n\n connect = function connect() {\n connected = true;\n };\n\n disconnect = function disconnect() {\n connected = false;\n };\n }\n\n addEventListener('lazybeforeunveil', disconnect, true);\n addEventListener('lazybeforeunveil', connect);\n addEventListener('lazybeforesizes', disconnect, true);\n addEventListener('lazybeforesizes', connect);\n connect();\n removeEventListener('lazybeforeunveil', addObserver);\n };\n\n addEventListener('lazybeforeunveil', addObserver);\n});","/**\n * Safe chained function\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n *\n * @param {function} functions to chain\n * @returns {function|null}\n */\nfunction createChainedFunction() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n return funcs.filter(function (f) {\n return f != null;\n }).reduce(function (acc, f) {\n if (typeof f !== 'function') {\n throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');\n }\n\n if (acc === null) return f;\n return function chainedFunction() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n } // @ts-ignore\n\n\n acc.apply(this, args); // @ts-ignore\n\n f.apply(this, args);\n };\n }, null);\n}\n\nexport default createChainedFunction;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"as\", \"disabled\", \"onKeyDown\"];\nimport React from 'react';\nimport createChainedFunction from './createChainedFunction';\n\nfunction isTrivialHref(href) {\n return !href || href.trim() === '#';\n}\n/**\n * There are situations due to browser quirks or Bootstrap CSS where\n * an anchor tag is needed, when semantically a button tag is the\n * better choice. SafeAnchor ensures that when an anchor is used like a\n * button its accessible. It also emulates input `disabled` behavior for\n * links, which is usually desirable for Buttons, NavItems, DropdownItems, etc.\n */\n\n\nvar SafeAnchor = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'a' : _ref$as,\n disabled = _ref.disabled,\n onKeyDown = _ref.onKeyDown,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var handleClick = function handleClick(event) {\n var href = props.href,\n onClick = props.onClick;\n\n if (disabled || isTrivialHref(href)) {\n event.preventDefault();\n }\n\n if (disabled) {\n event.stopPropagation();\n return;\n }\n\n if (onClick) {\n onClick(event);\n }\n };\n\n var handleKeyDown = function handleKeyDown(event) {\n if (event.key === ' ') {\n event.preventDefault();\n handleClick(event);\n }\n };\n\n if (isTrivialHref(props.href)) {\n props.role = props.role || 'button'; // we want to make sure there is a href attribute on the node\n // otherwise, the cursor incorrectly styled (except with role='button')\n\n props.href = props.href || '#';\n }\n\n if (disabled) {\n props.tabIndex = -1;\n props['aria-disabled'] = true;\n }\n\n return /*#__PURE__*/React.createElement(Component, _extends({\n ref: ref\n }, props, {\n onClick: handleClick,\n onKeyDown: createChainedFunction(handleKeyDown, onKeyDown)\n }));\n});\nSafeAnchor.displayName = 'SafeAnchor';\nexport default SafeAnchor;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"variant\", \"size\", \"active\", \"className\", \"block\", \"type\", \"as\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport SafeAnchor from './SafeAnchor';\nvar defaultProps = {\n variant: 'primary',\n active: false,\n disabled: false\n};\nvar Button = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n variant = _ref.variant,\n size = _ref.size,\n active = _ref.active,\n className = _ref.className,\n block = _ref.block,\n type = _ref.type,\n as = _ref.as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var prefix = useBootstrapPrefix(bsPrefix, 'btn');\n var classes = classNames(className, prefix, active && 'active', variant && prefix + \"-\" + variant, block && prefix + \"-block\", size && prefix + \"-\" + size);\n\n if (props.href) {\n return /*#__PURE__*/React.createElement(SafeAnchor, _extends({}, props, {\n as: as,\n ref: ref,\n className: classNames(classes, props.disabled && 'disabled')\n }));\n }\n\n if (ref) {\n props.ref = ref;\n }\n\n if (type) {\n props.type = type;\n } else if (!as) {\n props.type = 'button';\n }\n\n var Component = as || 'button';\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n className: classes\n }));\n});\nButton.displayName = 'Button';\nButton.defaultProps = defaultProps;\nexport default Button;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"className\", \"as\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar DEVICE_SIZES = ['xl', 'lg', 'md', 'sm', 'xs'];\nvar Col = /*#__PURE__*/React.forwardRef( // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\nfunction (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var prefix = useBootstrapPrefix(bsPrefix, 'col');\n var spans = [];\n var classes = [];\n DEVICE_SIZES.forEach(function (brkPoint) {\n var propValue = props[brkPoint];\n delete props[brkPoint];\n var span;\n var offset;\n var order;\n\n if (typeof propValue === 'object' && propValue != null) {\n var _propValue$span = propValue.span;\n span = _propValue$span === void 0 ? true : _propValue$span;\n offset = propValue.offset;\n order = propValue.order;\n } else {\n span = propValue;\n }\n\n var infix = brkPoint !== 'xs' ? \"-\" + brkPoint : '';\n if (span) spans.push(span === true ? \"\" + prefix + infix : \"\" + prefix + infix + \"-\" + span);\n if (order != null) classes.push(\"order\" + infix + \"-\" + order);\n if (offset != null) classes.push(\"offset\" + infix + \"-\" + offset);\n });\n\n if (!spans.length) {\n spans.push(prefix); // plain 'col'\n }\n\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n ref: ref,\n className: classNames.apply(void 0, [className].concat(spans, classes))\n }));\n});\nCol.displayName = 'Col';\nexport default Col;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"fluid\", \"as\", \"className\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar defaultProps = {\n fluid: false\n};\nvar Container = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n fluid = _ref.fluid,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n className = _ref.className,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var prefix = useBootstrapPrefix(bsPrefix, 'container');\n var suffix = typeof fluid === 'string' ? \"-\" + fluid : '-fluid';\n return /*#__PURE__*/React.createElement(Component, _extends({\n ref: ref\n }, props, {\n className: classNames(className, fluid ? \"\" + prefix + suffix : prefix)\n }));\n});\nContainer.displayName = 'Container';\nContainer.defaultProps = defaultProps;\nexport default Container;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"className\", \"noGutters\", \"as\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar DEVICE_SIZES = ['xl', 'lg', 'md', 'sm', 'xs'];\nvar defaultProps = {\n noGutters: false\n};\nvar Row = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n noGutters = _ref.noGutters,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'row');\n var sizePrefix = decoratedBsPrefix + \"-cols\";\n var classes = [];\n DEVICE_SIZES.forEach(function (brkPoint) {\n var propValue = props[brkPoint];\n delete props[brkPoint];\n var cols;\n\n if (propValue != null && typeof propValue === 'object') {\n cols = propValue.cols;\n } else {\n cols = propValue;\n }\n\n var infix = brkPoint !== 'xs' ? \"-\" + brkPoint : '';\n if (cols != null) classes.push(\"\" + sizePrefix + infix + \"-\" + cols);\n });\n return /*#__PURE__*/React.createElement(Component, _extends({\n ref: ref\n }, props, {\n className: classNames.apply(void 0, [className, decoratedBsPrefix, noGutters && 'no-gutters'].concat(classes))\n }));\n});\nRow.displayName = 'Row';\nRow.defaultProps = defaultProps;\nexport default Row;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React, { useContext, useMemo } from 'react';\nvar ThemeContext = /*#__PURE__*/React.createContext({});\nvar Consumer = ThemeContext.Consumer,\n Provider = ThemeContext.Provider;\n\nfunction ThemeProvider(_ref) {\n var prefixes = _ref.prefixes,\n children = _ref.children;\n var copiedPrefixes = useMemo(function () {\n return _extends({}, prefixes);\n }, [prefixes]);\n return /*#__PURE__*/React.createElement(Provider, {\n value: copiedPrefixes\n }, children);\n}\n\nexport function useBootstrapPrefix(prefix, defaultPrefix) {\n var prefixes = useContext(ThemeContext);\n return prefix || prefixes[defaultPrefix] || defaultPrefix;\n}\n\nfunction createBootstrapComponent(Component, opts) {\n if (typeof opts === 'string') opts = {\n prefix: opts\n };\n var isClassy = Component.prototype && Component.prototype.isReactComponent; // If it's a functional component make sure we don't break it with a ref\n\n var _opts = opts,\n prefix = _opts.prefix,\n _opts$forwardRefAs = _opts.forwardRefAs,\n forwardRefAs = _opts$forwardRefAs === void 0 ? isClassy ? 'ref' : 'innerRef' : _opts$forwardRefAs;\n var Wrapped = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {\n var props = _extends({}, _ref2);\n\n props[forwardRefAs] = ref;\n var bsPrefix = useBootstrapPrefix(props.bsPrefix, prefix);\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n bsPrefix: bsPrefix\n }));\n });\n Wrapped.displayName = \"Bootstrap(\" + (Component.displayName || Component.name) + \")\";\n return Wrapped;\n}\n\nexport { createBootstrapComponent, Consumer as ThemeConsumer };\nexport default ThemeProvider;","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Link } from 'gatsby'\n\nclass Topbar extends React.Component {\n //constructor to set state and bind \"this\"\n constructor(props){\n super(props)\n this.state = {\n isNavBarTop: true\n }\n }\n\n componentDidMount(){\n window.addEventListener('scroll', this.handleScroll)\n }\n\n componentWillUnmount(){\n window.removeEventListener('scroll', this.handleScroll)\n }\n\n handleScroll = () => {\n const windowTop = window.scrollY < 400\n windowTop ? this.setState({isNavBarTop: true}) : this.setState({isNavBarTop: false}) \n }\n\n render() {\n return
\n
\n

Learning Curve

\n
\n \n
\n }\n}\n\nTopbar.propTypes = {\n type: PropTypes.string\n}\n\nexport default Topbar","/* eslint-disable react/prop-types */\nimport React from 'react'\nimport { Link } from 'gatsby'\n\nimport Container from 'react-bootstrap/Container'\nimport Row from 'react-bootstrap/Row'\nimport Col from 'react-bootstrap/Col'\nimport Button from 'react-bootstrap/Button'\n\n//Styling\nimport {footer, footerSecondary, categoryNav, categoryTitle, categoryList, categoryItem} from './footer.module.scss'\n\nconst BRAND_NAME = 'LEARNING CURVE'\n\nconst FooterCategories = ({category}) => {\n return(\n \n )\n}\n\nconst CATEGORY_DATA = [\n {\n title: 'Why Learning Curve',\n links: [\n {\n title: 'Our Process',\n link: '/process',\n type: 'internal'\n },\n {\n title: 'About Us',\n link: '/about',\n type: 'internal'\n },\n ]\n },\n {\n title: 'Case Studies',\n links: [\n {\n title: 'Rush Digital',\n link: '/cases/rush-digital',\n type: 'internal'\n },\n {\n title: 'Cultureflow',\n link: '/cases/cultureflow',\n type: 'internal'\n },\n {\n title: 'Engage',\n link: '/cases/engage',\n type: 'internal'\n }\n ]\n },\n {\n title: 'Company',\n links: [\n {\n title: 'Contact us',\n link: '/contact',\n type: 'internal'\n },\n {\n title: 'hello@learningcurve.so',\n link: 'mailTo:hello@learningcurve.so',\n type: 'external'\n },\n ]\n }\n]\n\nclass Footer extends React.Component {\n render () {\n let today = new Date()\n let year = today.getFullYear()\n\n return \n }\n}\n\nexport default Footer","// extracted by mini-css-extract-plugin\nexport var footer = \"footer-module--footer--3VpLX\";\nexport var footerSecondary = \"footer-module--footerSecondary--IolOG\";\nexport var categoryNav = \"footer-module--categoryNav--2FMHi\";\nexport var categoryTitle = \"footer-module--categoryTitle--2G8lc\";\nexport var categoryList = \"footer-module--categoryList--3YcKv\";","import React from 'react'\nimport PropTypes from 'prop-types'\nimport 'lazysizes'\nimport 'lazysizes/plugins/attrchange/ls.attrchange'\n\n//styles\nimport {main} from './layout.module.scss'\n\n//components\nimport Topbar from '../Topbar/topbar'\nimport Footer from '../Footer/footer'\n\nclass Layout extends React.Component {\n\n render() {\n return <>\n \n
\n {this.props.children} \n
\n