{"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","tag","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-9b3275c6dd24123ef499.js","sourcesContent":["import \"core-js/modules/es.array.sort.js\";\nimport * as React from 'react';\nimport { useEffect } from 'react';\n\nfunction _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}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _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\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\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\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}\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\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; // 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\n\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\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\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\n\nfunction observe(element, callback, options, fallbackInView) {\n if (options === void 0) {\n options = {};\n }\n\n if (fallbackInView === void 0) {\n fallbackInView = unsupportedValue;\n }\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\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\n var callbacks = elements.get(element) || [];\n\n if (!elements.has(element)) {\n elements.set(element, callbacks);\n }\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\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\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}\n\nvar _excluded = [\"children\", \"as\", \"tag\", \"triggerOnce\", \"threshold\", \"root\", \"rootMargin\", \"onChange\", \"skip\", \"trackVisibility\", \"delay\", \"initialInView\", \"fallbackInView\"];\n\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\n\nvar InView = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(InView, _React$Component);\n\n function InView(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.node = null;\n _this._unobserveCb = null;\n\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\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\n _this.node = node ? node : null;\n\n _this.observeNode();\n };\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\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\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\n _this.state = {\n inView: !!props.initialInView,\n entry: undefined\n };\n return _this;\n }\n\n var _proto = InView.prototype;\n\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\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.unobserve();\n this.node = null;\n };\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\n _proto.unobserve = function unobserve() {\n if (this._unobserveCb) {\n this._unobserveCb();\n\n this._unobserveCb = null;\n }\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\n var _this$props2 = this.props,\n children = _this$props2.children,\n as = _this$props2.as,\n tag = _this$props2.tag,\n props = _objectWithoutPropertiesLoose(_this$props2, _excluded);\n\n return /*#__PURE__*/React.createElement(as || tag || 'div', _extends({\n ref: this.handleNode\n }, props), children);\n };\n\n return InView;\n}(React.Component);\n\nInView.displayName = 'InView';\nInView.defaultProps = {\n threshold: 0,\n triggerOnce: false,\n initialInView: false\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\n var unobserve = React.useRef();\n\n var _React$useState = React.useState({\n inView: !!initialInView\n }),\n state = _React$useState[0],\n setState = _React$useState[1];\n\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\n if (skip) return;\n\n if (node) {\n unobserve.current = observe(node, function (inView, entry) {\n setState({\n inView: inView,\n entry: entry\n });\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 }, // We break the rule here, because we aren't including the actual `threshold` variable\n // eslint-disable-next-line react-hooks/exhaustive-deps\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}\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'; // polyfill\n\n function polyfill() {\n // aliases\n var w = window;\n var d = document; // return if scroll behavior is supported and polyfill is not forced\n\n if ('scrollBehavior' in d.documentElement.style && w.__forceSmoothScrollPolyfill__ !== true) {\n return;\n } // globals\n\n\n var Element = w.HTMLElement || w.Element;\n var SCROLL_TIME = 468; // object gathering original scroll methods\n\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 }; // define timing method\n\n var now = w.performance && w.performance.now ? w.performance.now.bind(w.performance) : Date.now;\n /**\n * indicates if a the current browser is made by Microsoft\n * @method isMicrosoftBrowser\n * @param {String} userAgent\n * @returns {Boolean}\n */\n\n function isMicrosoftBrowser(userAgent) {\n var userAgentPatterns = ['MSIE ', 'Trident/', 'Edge/'];\n return new RegExp(userAgentPatterns.join('|')).test(userAgent);\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\n\n var ROUNDING_TOLERANCE = isMicrosoftBrowser(w.navigator.userAgent) ? 1 : 0;\n /**\n * changes scroll position inside an element\n * @method scrollElement\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n\n function scrollElement(x, y) {\n this.scrollLeft = x;\n this.scrollTop = y;\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\n\n function ease(k) {\n return 0.5 * (1 - Math.cos(Math.PI * k));\n }\n /**\n * indicates if a smooth behavior should be applied\n * @method shouldBailOut\n * @param {Number|Object} firstArg\n * @returns {Boolean}\n */\n\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\n if (typeof firstArg === 'object' && firstArg.behavior === 'smooth') {\n // first argument is an object and behavior is smooth\n return false;\n } // throw error when behavior is not supported\n\n\n throw new TypeError('behavior member of ScrollOptions ' + firstArg.behavior + ' is not a valid value for enumeration ScrollBehavior.');\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\n\n function hasScrollableSpace(el, axis) {\n if (axis === 'Y') {\n return el.clientHeight + ROUNDING_TOLERANCE < el.scrollHeight;\n }\n\n if (axis === 'X') {\n return el.clientWidth + ROUNDING_TOLERANCE < el.scrollWidth;\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\n\n function canOverflow(el, axis) {\n var overflowValue = w.getComputedStyle(el, null)['overflow' + axis];\n return overflowValue === 'auto' || overflowValue === 'scroll';\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\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 * finds scrollable parent of an element\n * @method findScrollableParent\n * @param {Node} el\n * @returns {Node} el\n */\n\n\n function findScrollableParent(el) {\n while (el !== d.body && isScrollable(el) === false) {\n el = el.parentNode || el.host;\n }\n\n return el;\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\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; // avoid elapsed times higher than one\n\n elapsed = elapsed > 1 ? 1 : elapsed; // apply easing to elapsed time\n\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); // scroll more if we have not reached our destination\n\n if (currentX !== context.x || currentY !== context.y) {\n w.requestAnimationFrame(step.bind(w, context));\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\n\n function smoothScroll(el, x, y) {\n var scrollable;\n var startX;\n var startY;\n var method;\n var startTime = now(); // define scroll context\n\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 } // scroll looping over a frame\n\n\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 } // ORIGINAL METHODS OVERRIDES\n // w.scroll and w.scrollTo\n\n\n w.scroll = w.scrollTo = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n } // avoid smooth behavior if not required\n\n\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, // 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 } // LET THE SMOOTHNESS BEGIN!\n\n\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 }; // w.scrollBy\n\n\n w.scrollBy = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n } // avoid smooth behavior if not required\n\n\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 } // LET THE SMOOTHNESS BEGIN!\n\n\n smoothScroll.call(w, d.body, ~~arguments[0].left + (w.scrollX || w.pageXOffset), ~~arguments[0].top + (w.scrollY || w.pageYOffset));\n }; // Element.prototype.scroll and Element.prototype.scrollTo\n\n\n Element.prototype.scroll = Element.prototype.scrollTo = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n } // avoid smooth behavior if not required\n\n\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\n original.elementScroll.call(this, // 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, // 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\n var left = arguments[0].left;\n var top = arguments[0].top; // LET THE SMOOTHNESS BEGIN!\n\n smoothScroll.call(this, this, typeof left === 'undefined' ? this.scrollLeft : ~~left, typeof top === 'undefined' ? this.scrollTop : ~~top);\n }; // Element.prototype.scrollBy\n\n\n Element.prototype.scrollBy = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n } // avoid smooth behavior if not required\n\n\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\n this.scroll({\n left: ~~arguments[0].left + this.scrollLeft,\n top: ~~arguments[0].top + this.scrollTop,\n behavior: arguments[0].behavior\n });\n }; // Element.prototype.scrollIntoView\n\n\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 } // LET THE SMOOTHNESS BEGIN!\n\n\n var scrollableParent = findScrollableParent(this);\n var parentRects = scrollableParent.getBoundingClientRect();\n var clientRects = this.getBoundingClientRect();\n\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); // reveal parent in viewport unless is fixed\n\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\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":""}