{"version":3,"sources":["webpack:///./node_modules/react-intersection-observer/react-intersection-observer.m.js","webpack:///./node_modules/smoothscroll-polyfill/dist/smoothscroll.js","webpack:///./src/components/updategrid.js","webpack:///./src/components/wlgrid.js","webpack:///./src/components/projectsgrid.js","webpack:///./src/components/podgrid.js","webpack:///./src/components/eventgrid.js","webpack:///./src/components/servicesgrid.js","webpack:///./src/components/contactgrid.js","webpack:///./src/components/videogrid.js","webpack:///./src/components/sitegrid.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_setPrototypeOf","o","p","setPrototypeOf","__proto__","observerMap","Map","RootIds","WeakMap","rootId","unsupportedValue","undefined","optionsToId","options","keys","sort","filter","map","root","has","set","toString","get","observe","element","callback","fallbackInView","window","IntersectionObserver","bounds","getBoundingClientRect","isIntersecting","intersectionRatio","threshold","time","boundingClientRect","intersectionRect","rootBounds","_createObserver","id","instance","thresholds","elements","observer","entries","forEach","entry","_elements$get","inView","some","trackVisibility","isVisible","Array","isArray","createObserver","callbacks","push","splice","indexOf","unobserve","size","disconnect","_excluded","isPlainChildren","props","children","InView","_React$Component","subClass","superClass","_this","node","_unobserveCb","handleNode","triggerOnce","skip","setState","initialInView","observeNode","handleChange","onChange","state","create","constructor","_proto","componentDidUpdate","prevProps","rootMargin","delay","componentWillUnmount","_this$props","render","_this$state","ref","_this$props2","as","excluded","sourceKeys","_objectWithoutPropertiesLoose","displayName","defaultProps","module","exports","polyfill","w","d","document","documentElement","style","__forceSmoothScrollPolyfill__","userAgent","Element","HTMLElement","original","scroll","scrollTo","scrollBy","elementScroll","scrollElement","scrollIntoView","now","performance","bind","Date","ROUNDING_TOLERANCE","navigator","RegExp","join","test","shouldBailOut","smoothScroll","body","left","scrollX","pageXOffset","top","scrollY","pageYOffset","scrollLeft","scrollTop","SyntaxError","behavior","scrollableParent","findScrollableParent","parentRects","clientRects","getComputedStyle","position","x","y","firstArg","TypeError","hasScrollableSpace","el","axis","clientHeight","scrollHeight","clientWidth","scrollWidth","canOverflow","overflowValue","isScrollable","isScrollableY","isScrollableX","parentNode","host","step","context","value","currentX","currentY","k","elapsed","startTime","Math","cos","PI","startX","startY","method","scrollable","requestAnimationFrame","Component","PodGrid","layoutContents","React","createRef","className","backgroundColor","data","TileBackgroundColor","borderColor","TileBordercolor","color","TileTextColor","title","to","slug","connect","pods"],"mappings":"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","file":"f94dbc88cecd175c556460d071f8b2182bad5ac3-063b5b1e6d8f7d2e8847.js","sourcesContent":["import \"core-js/modules/es.array.sort.js\";\nimport * as React from 'react';\nimport { useEffect } from 'react';\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n _setPrototypeOf(subClass, superClass);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\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 return target;\n}\nvar observerMap = new Map();\nvar RootIds = new WeakMap();\nvar rootId = 0;\nvar unsupportedValue = undefined;\n/**\r\n * What should be the default behavior if the IntersectionObserver is unsupported?\r\n * Ideally the polyfill has been loaded, you can have the following happen:\r\n * - `undefined`: Throw an error\r\n * - `true` or `false`: Set the `inView` value to this regardless of intersection state\r\n * **/\n\nfunction defaultFallbackInView(inView) {\n unsupportedValue = inView;\n}\n/**\r\n * Generate a unique ID for the root element\r\n * @param root\r\n */\n\nfunction getRootId(root) {\n if (!root) return '0';\n if (RootIds.has(root)) return RootIds.get(root);\n rootId += 1;\n RootIds.set(root, rootId.toString());\n return RootIds.get(root);\n}\n/**\r\n * Convert the options to a string Id, based on the values.\r\n * Ensures we can reuse the same observer when observing elements with the same options.\r\n * @param options\r\n */\n\nfunction optionsToId(options) {\n return Object.keys(options).sort().filter(function (key) {\n return options[key] !== undefined;\n }).map(function (key) {\n return key + \"_\" + (key === 'root' ? getRootId(options.root) : options[key]);\n }).toString();\n}\nfunction createObserver(options) {\n // Create a unique ID for this observer instance, based on the root, root margin and threshold.\n var id = optionsToId(options);\n var instance = observerMap.get(id);\n if (!instance) {\n // Create a map of elements this observer is going to observe. Each element has a list of callbacks that should be triggered, once it comes into view.\n var elements = new Map();\n var thresholds;\n var observer = new IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n var _elements$get;\n\n // While it would be nice if you could just look at isIntersecting to determine if the component is inside the viewport, browsers can't agree on how to use it.\n // -Firefox ignores `threshold` when considering `isIntersecting`, so it will never be false again if `threshold` is > 0\n var inView = entry.isIntersecting && thresholds.some(function (threshold) {\n return entry.intersectionRatio >= threshold;\n }); // @ts-ignore support IntersectionObserver v2\n\n if (options.trackVisibility && typeof entry.isVisible === 'undefined') {\n // The browser doesn't support Intersection Observer v2, falling back to v1 behavior.\n // @ts-ignore\n entry.isVisible = inView;\n }\n (_elements$get = elements.get(entry.target)) == null ? void 0 : _elements$get.forEach(function (callback) {\n callback(inView, entry);\n });\n });\n }, options); // Ensure we have a valid thresholds array. If not, use the threshold from the options\n\n thresholds = observer.thresholds || (Array.isArray(options.threshold) ? options.threshold : [options.threshold || 0]);\n instance = {\n id: id,\n observer: observer,\n elements: elements\n };\n observerMap.set(id, instance);\n }\n return instance;\n}\n/**\r\n * @param element - DOM Element to observe\r\n * @param callback - Callback function to trigger when intersection status changes\r\n * @param options - Intersection Observer options\r\n * @param fallbackInView - Fallback inView value.\r\n * @return Function - Cleanup function that should be triggered to unregister the observer\r\n */\n\nfunction observe(element, callback, options, fallbackInView) {\n if (options === void 0) {\n options = {};\n }\n if (fallbackInView === void 0) {\n fallbackInView = unsupportedValue;\n }\n if (typeof window.IntersectionObserver === 'undefined' && fallbackInView !== undefined) {\n var bounds = element.getBoundingClientRect();\n callback(fallbackInView, {\n isIntersecting: fallbackInView,\n target: element,\n intersectionRatio: typeof options.threshold === 'number' ? options.threshold : 0,\n time: 0,\n boundingClientRect: bounds,\n intersectionRect: bounds,\n rootBounds: bounds\n });\n return function () {// Nothing to cleanup\n };\n } // An observer with the same options can be reused, so lets use this fact\n\n var _createObserver = createObserver(options),\n id = _createObserver.id,\n observer = _createObserver.observer,\n elements = _createObserver.elements; // Register the callback listener for this element\n\n var callbacks = elements.get(element) || [];\n if (!elements.has(element)) {\n elements.set(element, callbacks);\n }\n callbacks.push(callback);\n observer.observe(element);\n return function unobserve() {\n // Remove the callback from the callback list\n callbacks.splice(callbacks.indexOf(callback), 1);\n if (callbacks.length === 0) {\n // No more callback exists for element, so destroy it\n elements[\"delete\"](element);\n observer.unobserve(element);\n }\n if (elements.size === 0) {\n // No more elements are being observer by this instance, so destroy it\n observer.disconnect();\n observerMap[\"delete\"](id);\n }\n };\n}\nvar _excluded = [\"children\", \"as\", \"triggerOnce\", \"threshold\", \"root\", \"rootMargin\", \"onChange\", \"skip\", \"trackVisibility\", \"delay\", \"initialInView\", \"fallbackInView\"];\nfunction isPlainChildren(props) {\n return typeof props.children !== 'function';\n}\n/**\r\n ## Render props\r\n\n To use the `` component, you pass it a function. It will be called\r\n whenever the state changes, with the new value of `inView`. In addition to the\r\n `inView` prop, children also receive a `ref` that should be set on the\r\n containing DOM element. This is the element that the IntersectionObserver will\r\n monitor.\r\n\n If you need it, you can also access the\r\n [`IntersectionObserverEntry`](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry)\r\n on `entry`, giving you access to all the details about the current intersection\r\n state.\r\n\n ```jsx\r\n import { InView } from 'react-intersection-observer';\r\n\n const Component = () => (\r\n \r\n {({ inView, ref, entry }) => (\r\n
\r\n

{`Header inside viewport ${inView}.`}

\r\n
\r\n )}\r\n
\r\n );\r\n\n export default Component;\r\n ```\r\n\n ## Plain children\r\n\n You can pass any element to the ``, and it will handle creating the\r\n wrapping DOM element. Add a handler to the `onChange` method, and control the\r\n state in your own component. Any extra props you add to `` will be\r\n passed to the HTML element, allowing you set the `className`, `style`, etc.\r\n\n ```jsx\r\n import { InView } from 'react-intersection-observer';\r\n\n const Component = () => (\r\n console.log('Inview:', inView)}>\r\n

Plain children are always rendered. Use onChange to monitor state.

\r\n
\r\n );\r\n\n export default Component;\r\n ```\r\n */\n\nvar InView = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(InView, _React$Component);\n function InView(props) {\n var _this;\n _this = _React$Component.call(this, props) || this;\n _this.node = null;\n _this._unobserveCb = null;\n _this.handleNode = function (node) {\n if (_this.node) {\n // Clear the old observer, before we start observing a new element\n _this.unobserve();\n if (!node && !_this.props.triggerOnce && !_this.props.skip) {\n // Reset the state if we get a new node, and we aren't ignoring updates\n _this.setState({\n inView: !!_this.props.initialInView,\n entry: undefined\n });\n }\n }\n _this.node = node ? node : null;\n _this.observeNode();\n };\n _this.handleChange = function (inView, entry) {\n if (inView && _this.props.triggerOnce) {\n // If `triggerOnce` is true, we should stop observing the element.\n _this.unobserve();\n }\n if (!isPlainChildren(_this.props)) {\n // Store the current State, so we can pass it to the children in the next render update\n // There's no reason to update the state for plain children, since it's not used in the rendering.\n _this.setState({\n inView: inView,\n entry: entry\n });\n }\n if (_this.props.onChange) {\n // If the user is actively listening for onChange, always trigger it\n _this.props.onChange(inView, entry);\n }\n };\n _this.state = {\n inView: !!props.initialInView,\n entry: undefined\n };\n return _this;\n }\n var _proto = InView.prototype;\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n // If a IntersectionObserver option changed, reinit the observer\n if (prevProps.rootMargin !== this.props.rootMargin || prevProps.root !== this.props.root || prevProps.threshold !== this.props.threshold || prevProps.skip !== this.props.skip || prevProps.trackVisibility !== this.props.trackVisibility || prevProps.delay !== this.props.delay) {\n this.unobserve();\n this.observeNode();\n }\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.unobserve();\n this.node = null;\n };\n _proto.observeNode = function observeNode() {\n if (!this.node || this.props.skip) return;\n var _this$props = this.props,\n threshold = _this$props.threshold,\n root = _this$props.root,\n rootMargin = _this$props.rootMargin,\n trackVisibility = _this$props.trackVisibility,\n delay = _this$props.delay,\n fallbackInView = _this$props.fallbackInView;\n this._unobserveCb = observe(this.node, this.handleChange, {\n threshold: threshold,\n root: root,\n rootMargin: rootMargin,\n // @ts-ignore\n trackVisibility: trackVisibility,\n // @ts-ignore\n delay: delay\n }, fallbackInView);\n };\n _proto.unobserve = function unobserve() {\n if (this._unobserveCb) {\n this._unobserveCb();\n this._unobserveCb = null;\n }\n };\n _proto.render = function render() {\n if (!isPlainChildren(this.props)) {\n var _this$state = this.state,\n inView = _this$state.inView,\n entry = _this$state.entry;\n return this.props.children({\n inView: inView,\n entry: entry,\n ref: this.handleNode\n });\n }\n var _this$props2 = this.props,\n children = _this$props2.children,\n as = _this$props2.as,\n props = _objectWithoutPropertiesLoose(_this$props2, _excluded);\n return /*#__PURE__*/React.createElement(as || 'div', _extends({\n ref: this.handleNode\n }, props), children);\n };\n return InView;\n}(React.Component);\nInView.displayName = 'InView';\nInView.defaultProps = {\n threshold: 0,\n triggerOnce: false,\n initialInView: false\n};\n\n/**\r\n * React Hooks make it easy to monitor the `inView` state of your components. Call\r\n * the `useInView` hook with the (optional) [options](#options) you need. It will\r\n * return an array containing a `ref`, the `inView` status and the current\r\n * [`entry`](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry).\r\n * Assign the `ref` to the DOM element you want to monitor, and the hook will\r\n * report the status.\r\n *\r\n * @example\r\n * ```jsx\r\n * import React from 'react';\r\n * import { useInView } from 'react-intersection-observer';\r\n *\r\n * const Component = () => {\r\n * const { ref, inView, entry } = useInView({\r\n * threshold: 0,\r\n * });\r\n *\r\n * return (\r\n *
\r\n *

{`Header inside viewport ${inView}.`}

\r\n *
\r\n * );\r\n * };\r\n * ```\r\n */\n\nfunction useInView(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n threshold = _ref.threshold,\n delay = _ref.delay,\n trackVisibility = _ref.trackVisibility,\n rootMargin = _ref.rootMargin,\n root = _ref.root,\n triggerOnce = _ref.triggerOnce,\n skip = _ref.skip,\n initialInView = _ref.initialInView,\n fallbackInView = _ref.fallbackInView;\n var unobserve = React.useRef();\n var _React$useState = React.useState({\n inView: !!initialInView\n }),\n state = _React$useState[0],\n setState = _React$useState[1];\n var setRef = React.useCallback(function (node) {\n if (unobserve.current !== undefined) {\n unobserve.current();\n unobserve.current = undefined;\n } // Skip creating the observer\n\n if (skip) return;\n if (node) {\n unobserve.current = observe(node, function (inView, entry) {\n setState({\n inView: inView,\n entry: entry\n });\n if (entry.isIntersecting && triggerOnce && unobserve.current) {\n // If it should only trigger once, unobserve the element after it's inView\n unobserve.current();\n unobserve.current = undefined;\n }\n }, {\n root: root,\n rootMargin: rootMargin,\n threshold: threshold,\n // @ts-ignore\n trackVisibility: trackVisibility,\n // @ts-ignore\n delay: delay\n }, fallbackInView);\n }\n },\n // We break the rule here, because we aren't including the actual `threshold` variable\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n // If the threshold is an array, convert it to a string so it won't change between renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n Array.isArray(threshold) ? threshold.toString() : threshold, root, rootMargin, triggerOnce, skip, trackVisibility, fallbackInView, delay]);\n /* eslint-disable-next-line */\n\n useEffect(function () {\n if (!unobserve.current && state.entry && !triggerOnce && !skip) {\n // If we don't have a ref, then reset the state (unless the hook is set to only `triggerOnce` or `skip`)\n // This ensures we correctly reflect the current state - If you aren't observing anything, then nothing is inView\n setState({\n inView: !!initialInView\n });\n }\n });\n var result = [setRef, state.inView, state.entry]; // Support object destructuring, by adding the specific values.\n\n result.ref = result[0];\n result.inView = result[1];\n result.entry = result[2];\n return result;\n}\nexport { InView, InView as default, defaultFallbackInView, observe, useInView };","/* smoothscroll v0.4.4 - 2019 - Dustan Kasten, Jeremias Menichelli - MIT License */\n(function () {\n 'use strict';\n\n // polyfill\n function polyfill() {\n // aliases\n var w = window;\n var d = document;\n\n // return if scroll behavior is supported and polyfill is not forced\n if ('scrollBehavior' in d.documentElement.style && w.__forceSmoothScrollPolyfill__ !== true) {\n return;\n }\n\n // globals\n var Element = w.HTMLElement || w.Element;\n var SCROLL_TIME = 468;\n\n // object gathering original scroll methods\n var original = {\n scroll: w.scroll || w.scrollTo,\n scrollBy: w.scrollBy,\n elementScroll: Element.prototype.scroll || scrollElement,\n scrollIntoView: Element.prototype.scrollIntoView\n };\n\n // define timing method\n var now = w.performance && w.performance.now ? w.performance.now.bind(w.performance) : Date.now;\n\n /**\n * indicates if a the current browser is made by Microsoft\n * @method isMicrosoftBrowser\n * @param {String} userAgent\n * @returns {Boolean}\n */\n function isMicrosoftBrowser(userAgent) {\n var userAgentPatterns = ['MSIE ', 'Trident/', 'Edge/'];\n return new RegExp(userAgentPatterns.join('|')).test(userAgent);\n }\n\n /*\n * IE has rounding bug rounding down clientHeight and clientWidth and\n * rounding up scrollHeight and scrollWidth causing false positives\n * on hasScrollableSpace\n */\n var ROUNDING_TOLERANCE = isMicrosoftBrowser(w.navigator.userAgent) ? 1 : 0;\n\n /**\n * changes scroll position inside an element\n * @method scrollElement\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n function scrollElement(x, y) {\n this.scrollLeft = x;\n this.scrollTop = y;\n }\n\n /**\n * returns result of applying ease math function to a number\n * @method ease\n * @param {Number} k\n * @returns {Number}\n */\n function ease(k) {\n return 0.5 * (1 - Math.cos(Math.PI * k));\n }\n\n /**\n * indicates if a smooth behavior should be applied\n * @method shouldBailOut\n * @param {Number|Object} firstArg\n * @returns {Boolean}\n */\n function shouldBailOut(firstArg) {\n if (firstArg === null || typeof firstArg !== 'object' || firstArg.behavior === undefined || firstArg.behavior === 'auto' || firstArg.behavior === 'instant') {\n // first argument is not an object/null\n // or behavior is auto, instant or undefined\n return true;\n }\n if (typeof firstArg === 'object' && firstArg.behavior === 'smooth') {\n // first argument is an object and behavior is smooth\n return false;\n }\n\n // throw error when behavior is not supported\n throw new TypeError('behavior member of ScrollOptions ' + firstArg.behavior + ' is not a valid value for enumeration ScrollBehavior.');\n }\n\n /**\n * indicates if an element has scrollable space in the provided axis\n * @method hasScrollableSpace\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function hasScrollableSpace(el, axis) {\n if (axis === 'Y') {\n return el.clientHeight + ROUNDING_TOLERANCE < el.scrollHeight;\n }\n if (axis === 'X') {\n return el.clientWidth + ROUNDING_TOLERANCE < el.scrollWidth;\n }\n }\n\n /**\n * indicates if an element has a scrollable overflow property in the axis\n * @method canOverflow\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function canOverflow(el, axis) {\n var overflowValue = w.getComputedStyle(el, null)['overflow' + axis];\n return overflowValue === 'auto' || overflowValue === 'scroll';\n }\n\n /**\n * indicates if an element can be scrolled in either axis\n * @method isScrollable\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function isScrollable(el) {\n var isScrollableY = hasScrollableSpace(el, 'Y') && canOverflow(el, 'Y');\n var isScrollableX = hasScrollableSpace(el, 'X') && canOverflow(el, 'X');\n return isScrollableY || isScrollableX;\n }\n\n /**\n * finds scrollable parent of an element\n * @method findScrollableParent\n * @param {Node} el\n * @returns {Node} el\n */\n function findScrollableParent(el) {\n while (el !== d.body && isScrollable(el) === false) {\n el = el.parentNode || el.host;\n }\n return el;\n }\n\n /**\n * self invoked function that, given a context, steps through scrolling\n * @method step\n * @param {Object} context\n * @returns {undefined}\n */\n function step(context) {\n var time = now();\n var value;\n var currentX;\n var currentY;\n var elapsed = (time - context.startTime) / SCROLL_TIME;\n\n // avoid elapsed times higher than one\n elapsed = elapsed > 1 ? 1 : elapsed;\n\n // apply easing to elapsed time\n value = ease(elapsed);\n currentX = context.startX + (context.x - context.startX) * value;\n currentY = context.startY + (context.y - context.startY) * value;\n context.method.call(context.scrollable, currentX, currentY);\n\n // scroll more if we have not reached our destination\n if (currentX !== context.x || currentY !== context.y) {\n w.requestAnimationFrame(step.bind(w, context));\n }\n }\n\n /**\n * scrolls window or element with a smooth behavior\n * @method smoothScroll\n * @param {Object|Node} el\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n function smoothScroll(el, x, y) {\n var scrollable;\n var startX;\n var startY;\n var method;\n var startTime = now();\n\n // define scroll context\n if (el === d.body) {\n scrollable = w;\n startX = w.scrollX || w.pageXOffset;\n startY = w.scrollY || w.pageYOffset;\n method = original.scroll;\n } else {\n scrollable = el;\n startX = el.scrollLeft;\n startY = el.scrollTop;\n method = scrollElement;\n }\n\n // scroll looping over a frame\n step({\n scrollable: scrollable,\n method: method,\n startTime: startTime,\n startX: startX,\n startY: startY,\n x: x,\n y: y\n });\n }\n\n // ORIGINAL METHODS OVERRIDES\n // w.scroll and w.scrollTo\n w.scroll = w.scrollTo = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scroll.call(w, arguments[0].left !== undefined ? arguments[0].left : typeof arguments[0] !== 'object' ? arguments[0] : w.scrollX || w.pageXOffset,\n // use top prop, second argument if present or fallback to scrollY\n arguments[0].top !== undefined ? arguments[0].top : arguments[1] !== undefined ? arguments[1] : w.scrollY || w.pageYOffset);\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(w, d.body, arguments[0].left !== undefined ? ~~arguments[0].left : w.scrollX || w.pageXOffset, arguments[0].top !== undefined ? ~~arguments[0].top : w.scrollY || w.pageYOffset);\n };\n\n // w.scrollBy\n w.scrollBy = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0])) {\n original.scrollBy.call(w, arguments[0].left !== undefined ? arguments[0].left : typeof arguments[0] !== 'object' ? arguments[0] : 0, arguments[0].top !== undefined ? arguments[0].top : arguments[1] !== undefined ? arguments[1] : 0);\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(w, d.body, ~~arguments[0].left + (w.scrollX || w.pageXOffset), ~~arguments[0].top + (w.scrollY || w.pageYOffset));\n };\n\n // Element.prototype.scroll and Element.prototype.scrollTo\n Element.prototype.scroll = Element.prototype.scrollTo = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n // if one number is passed, throw error to match Firefox implementation\n if (typeof arguments[0] === 'number' && arguments[1] === undefined) {\n throw new SyntaxError('Value could not be converted');\n }\n original.elementScroll.call(this,\n // use left prop, first number argument or fallback to scrollLeft\n arguments[0].left !== undefined ? ~~arguments[0].left : typeof arguments[0] !== 'object' ? ~~arguments[0] : this.scrollLeft,\n // use top prop, second argument or fallback to scrollTop\n arguments[0].top !== undefined ? ~~arguments[0].top : arguments[1] !== undefined ? ~~arguments[1] : this.scrollTop);\n return;\n }\n var left = arguments[0].left;\n var top = arguments[0].top;\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(this, this, typeof left === 'undefined' ? this.scrollLeft : ~~left, typeof top === 'undefined' ? this.scrollTop : ~~top);\n };\n\n // Element.prototype.scrollBy\n Element.prototype.scrollBy = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.elementScroll.call(this, arguments[0].left !== undefined ? ~~arguments[0].left + this.scrollLeft : ~~arguments[0] + this.scrollLeft, arguments[0].top !== undefined ? ~~arguments[0].top + this.scrollTop : ~~arguments[1] + this.scrollTop);\n return;\n }\n this.scroll({\n left: ~~arguments[0].left + this.scrollLeft,\n top: ~~arguments[0].top + this.scrollTop,\n behavior: arguments[0].behavior\n });\n };\n\n // Element.prototype.scrollIntoView\n Element.prototype.scrollIntoView = function () {\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scrollIntoView.call(this, arguments[0] === undefined ? true : arguments[0]);\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n var scrollableParent = findScrollableParent(this);\n var parentRects = scrollableParent.getBoundingClientRect();\n var clientRects = this.getBoundingClientRect();\n if (scrollableParent !== d.body) {\n // reveal element inside parent\n smoothScroll.call(this, scrollableParent, scrollableParent.scrollLeft + clientRects.left - parentRects.left, scrollableParent.scrollTop + clientRects.top - parentRects.top);\n\n // reveal parent in viewport unless is fixed\n if (w.getComputedStyle(scrollableParent).position !== 'fixed') {\n w.scrollBy({\n left: parentRects.left,\n top: parentRects.top,\n behavior: 'smooth'\n });\n }\n } else {\n // reveal element in viewport\n w.scrollBy({\n left: clientRects.left,\n top: clientRects.top,\n behavior: 'smooth'\n });\n }\n };\n }\n if (typeof exports === 'object' && typeof module !== 'undefined') {\n // commonjs\n module.exports = {\n polyfill: polyfill\n };\n } else {\n // global\n polyfill();\n }\n})();","import React, { Component } from 'react'\n\nimport ReactMarkdown from \"react-markdown\"\n\nimport {Link} from 'gatsby'\nimport BackgroundImage from 'gatsby-background-image'\n\n\n\nclass UpdateGrid extends Component {\n constructor(props) {\n super(props)\n\n\n this.returnImage = this.returnImage.bind(this)\n\n this.layoutContents = React.createRef()\n\n }\n\n\n returnImage(image){\n\n return ([\nimage,\n`linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.8))`\n].reverse()\n)\n\n }\n\n render() {\n\n\n\n\n return (\n\n
  • \n\n
    \n
    \n
    \n\n
    \n
    \n
    \n

    \n {this.props.data.title}\n \n\n

    \n
    \n
    \n {this.props.data.title}\n
    \n
    \n \n
    \n
    \n\n
  • \n\n\n\n\n\n )\n\n\n}\n}\n\nexport default UpdateGrid;\n","import React, { Component } from 'react'\nimport ReactMarkdown from \"react-markdown\"\n\nimport {Link} from 'gatsby'\nimport BackgroundImage from 'gatsby-background-image'\n\n\nclass EventGrid extends Component {\n constructor(props) {\n super(props)\n\n\n\n this.layoutContents = React.createRef()\n this.transitionCover = React.createRef()\n }\n\n\n returnImage(image){\n\nif(image === null || image === undefined ){\nreturn ([\n`backgroundColor:white;`\n].reverse()\n)\n}else{\nreturn ([\nimage.childImageSharp.fluid,\n `linear-gradient(60deg, rgba(0,0,0,0.7) 31%, rgba(0,0,0,0.3169642857142857) 77%)`\n].reverse()\n)\n}\n}\n\n\n\n render() {\n\n\n return (\n\n
  • \n\n
    \n {this.props.data.image !== undefined ? (\n \n
    \n\n
    \n
    \n \n
    \n {this.props.data.author}\n
    \n
    \n \n\n
    \n ):(\n
    \n
    \n\n
    \n
    \n \n
    \n {this.props.data.author}\n
    \n
    \n \n\n
    \n\n )}\n\n\n
    \n\n
  • \n )\n\n\n}\n}\n\nexport default EventGrid;\n","import React, { Component } from 'react'\n\nimport ReactMarkdown from \"react-markdown\"\n\n\nimport {Link} from 'gatsby'\nimport BackgroundImage from 'gatsby-background-image'\n\n\n\nclass ProjectGrid extends Component {\n constructor(props) {\n super(props)\n\n\n\n this.layoutContents = React.createRef()\n\n }\n\n\n\n returnImage(image){\n\nif(image === null || image === undefined ){\nreturn ([\n`backgroundColor:white;`\n].reverse()\n)\n}else{\nreturn ([\nimage.childImageSharp.fluid,\n `linear-gradient(60deg, rgba(0,0,0,0.7) 31%, rgba(0,0,0,0.3169642857142857) 77%)`\n].reverse()\n)\n}\n}\n\n render() {\n\n\n\n\n\n return (\n\n
  • \n\n
    \n \n\n
    \n\n
    \n
    \n \n
    \n\n
    \n
    \n \n
    \n
    \n\n
  • \n\n\n )\n\n\n}\n}\n\nexport default ProjectGrid;\n","import React, { Component } from 'react'\nimport ReactMarkdown from \"react-markdown\"\nimport { connect } from 'react-redux';\nimport {Link} from 'gatsby'\n\n\nclass PodGrid extends Component {\n constructor(props) {\n super(props)\n\n\n this.layoutContents = React.createRef()\n }\n\n render() {\n\n\n\n\nreturn(\n\n\n
  • \n\n\n\n
    \n
    \n
    \n\n
    \n
    \n
    \n

    \n {this.props.data.title}\n

    \n
    \n
    \n
    Listen
    \n
    \n
    \n\n\n \n
    \n
    \n\n
  • \n\n )\n\n\n}\n}\n\n\nfunction mapStateToProps(state) {\n return {\n pods: state.pods\n };\n}\n\nexport default connect(mapStateToProps)(PodGrid);\n","import React, { Component } from 'react'\n\nimport ReactMarkdown from \"react-markdown\"\n\nimport {Link} from 'gatsby'\n\n\nclass EventGrid extends Component {\n constructor(props) {\n super(props)\n\n\n\n this.layoutContents = React.createRef()\n this.transitionCover = React.createRef()\n }\n\n\n render() {\n return (\n\n
  • \n\n
    \n
    \n
    \n\n
    \n
    \n
    \n

    \n {this.props.data.title}\n \n\n

    \n
    \n
    \n {this.props.data.author}\n {this.props.data.sub_message}\n\n
    \n
    \n \n
    \n
    \n\n
  • \n\n\n )\n\n\n}\n}\n\nexport default EventGrid;\n","import React, { Component } from 'react'\nimport ReactMarkdown from \"react-markdown\"\nimport {Link} from 'gatsby'\n\n\nclass EventGrid extends Component {\n constructor(props) {\n super(props)\n\n\n\n this.layoutContents = React.createRef()\n this.transitionCover = React.createRef()\n }\n\n render() {\n\n return (\n
  • \n\n
    \n
    \n
    \n\n
    \n
    \n
    \n

    \n\n {this.props.data.title}\n\n

    \n
    \n
    \n {this.props.data.title}\n
    \n
    \n \n
    \n
    \n\n
  • \n\n\n\n )\n\n\n}\n}\n\nexport default EventGrid;\n","import React, { Component } from 'react'\nimport ReactMarkdown from \"react-markdown\"\n\n\nimport {Link} from 'gatsby'\nimport BackgroundImage from 'gatsby-background-image'\nimport LinkedIn from \"../images/linkedin.svg\"\n\n\n\nclass ProjectGrid extends Component {\n constructor(props) {\n super(props)\n\n this.returnImage = this.returnImage.bind(this)\n\n this.layoutContents = React.createRef()\n }\n\n returnImage(image){\nif(image !== null){\n return ([\nimage.childImageSharp.fluid,\n`linear-gradient(${this.props.data.TileBackgroundColor}, ${this.props.data.TileBordercolor})`\n].reverse()\n)\n}else{\n return ([\n`linear-gradient(${this.props.data.TileBackgroundColor}, ${this.props.data.TileBordercolor})`\n].reverse()\n)\n}\n }\n\n render() {\n\n\n\n\n\n return (\n\n
  • \n\n
    \n \n\n
    \n\n
    \n
    \n \n
    \n {this.props.data.author}\n
    \n\n
    \n \n \n\n \n
    \n
    \n\n
  • \n\n\n )\n\n\n}\n}\n\nexport default ProjectGrid;\n","import React, { Component } from 'react'\n\nimport ReactMarkdown from \"react-markdown\"\n\n\nimport {Link} from 'gatsby'\nimport BackgroundImage from 'gatsby-background-image'\nimport Video from \"./WistiaEmbed.js\"\nimport VideoIcon from \"../images/video-01.svg\"\nimport { disableBodyScroll, enableBodyScroll, clearAllBodyScrollLocks } from 'body-scroll-lock';\n\n\n\nclass ProjectGrid extends Component {\n constructor(props) {\n super(props)\n\n this.state = {\n Modal:false\n };\n\n this.targetRef = React.createRef();\n this.targetElement = null;\n\n\n this.returnImage = this.returnImage.bind(this)\n\n this.layoutContents = React.createRef()\n\n }\n\n\n ModalShow = (event) => {\n\n if(this.state.Modal){\n this.setState({ Modal: false });\n enableBodyScroll(this.targetElement);\n\n}else{\n this.setState({ Modal: true });\n disableBodyScroll(this.targetElement);\n}\n};\n\n\n returnImage(image){\n\n return ([\nimage,\n`linear-gradient(${this.props.data.TileBackgroundColor}, ${this.props.data.TileBordercolor})`\n].reverse()\n)\n\n }\n\n render() {\n\n\n\n\n\n return (\n<>\n
  • \n\n
    \n \n\n
    \n\n
    \n
    \n \n
    \n\n
    \n
    \n
    \n\n
    \n
    \n\n
  • \n {this.state.Modal ?\n <>\n
    \n
    \n
    \n :<>\n }\n \n\n\n )\n\n\n}\n}\n\nexport default ProjectGrid;\n","import React, { Component } from 'react'\nimport ReactMarkdown from \"react-markdown\"\n\nimport {Link} from 'gatsby'\nimport BackgroundImage from 'gatsby-background-image'\n\n\nclass EventGrid extends Component {\n constructor(props) {\n super(props)\n\n\n\n this.layoutContents = React.createRef()\n this.transitionCover = React.createRef()\n }\n\n\n returnImage(image){\n return ([\nimage.childImageSharp.fluid,\n`linear-gradient(${this.props.data.TileBackgroundColor}, ${this.props.data.TileBackgroundColor})`\n].reverse()\n)\n\n }\n\n render() {\n\n\n\n return (\n\n
  • \n\n
    \n {this.props.data.image !== null ? (\n \n
    \n\n
    \n
    \n \n
    \n {this.props.data.author}\n
    \n
    \n \n\n
    \n ):(\n
    \n
    \n\n
    \n
    \n \n
    \n {this.props.data.author}\n
    \n
    \n \n\n
    \n\n )}\n\n\n
    \n\n
  • \n )\n\n\n}\n}\n\nexport default EventGrid;\n"],"sourceRoot":""}