{"mappings":"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","sources":["node_modules/vanilla-tilt/lib/vanilla-tilt.js","src/data/scrollRevealConfig.js","src/scripts/scrollReveal.js","src/index.js","src/scripts/tiltAnimation.js"],"sourcesContent":["'use strict';\r\n\r\nvar classCallCheck = function (instance, Constructor) {\r\n if (!(instance instanceof Constructor)) {\r\n throw new TypeError(\"Cannot call a class as a function\");\r\n }\r\n};\r\n\r\n/**\r\n * Created by Sergiu Șandor (micku7zu) on 1/27/2017.\r\n * Original idea: https://github.com/gijsroge/tilt.js\r\n * MIT License.\r\n * Version 1.8.0\r\n */\r\n\r\nvar VanillaTilt = function () {\r\n function VanillaTilt(element) {\r\n var settings = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\r\n classCallCheck(this, VanillaTilt);\r\n\r\n if (!(element instanceof Node)) {\r\n throw \"Can't initialize VanillaTilt because \" + element + \" is not a Node.\";\r\n }\r\n\r\n this.width = null;\r\n this.height = null;\r\n this.clientWidth = null;\r\n this.clientHeight = null;\r\n this.left = null;\r\n this.top = null;\r\n\r\n // for Gyroscope sampling\r\n this.gammazero = null;\r\n this.betazero = null;\r\n this.lastgammazero = null;\r\n this.lastbetazero = null;\r\n\r\n this.transitionTimeout = null;\r\n this.updateCall = null;\r\n this.event = null;\r\n\r\n this.updateBind = this.update.bind(this);\r\n this.resetBind = this.reset.bind(this);\r\n\r\n this.element = element;\r\n this.settings = this.extendSettings(settings);\r\n\r\n this.reverse = this.settings.reverse ? -1 : 1;\r\n this.resetToStart = VanillaTilt.isSettingTrue(this.settings[\"reset-to-start\"]);\r\n this.glare = VanillaTilt.isSettingTrue(this.settings.glare);\r\n this.glarePrerender = VanillaTilt.isSettingTrue(this.settings[\"glare-prerender\"]);\r\n this.fullPageListening = VanillaTilt.isSettingTrue(this.settings[\"full-page-listening\"]);\r\n this.gyroscope = VanillaTilt.isSettingTrue(this.settings.gyroscope);\r\n this.gyroscopeSamples = this.settings.gyroscopeSamples;\r\n\r\n this.elementListener = this.getElementListener();\r\n\r\n if (this.glare) {\r\n this.prepareGlare();\r\n }\r\n\r\n if (this.fullPageListening) {\r\n this.updateClientSize();\r\n }\r\n\r\n this.addEventListeners();\r\n this.reset();\r\n\r\n if (this.resetToStart === false) {\r\n this.settings.startX = 0;\r\n this.settings.startY = 0;\r\n }\r\n }\r\n\r\n VanillaTilt.isSettingTrue = function isSettingTrue(setting) {\r\n return setting === \"\" || setting === true || setting === 1;\r\n };\r\n\r\n /**\r\n * Method returns element what will be listen mouse events\r\n * @return {Node}\r\n */\r\n\r\n\r\n VanillaTilt.prototype.getElementListener = function getElementListener() {\r\n if (this.fullPageListening) {\r\n return window.document;\r\n }\r\n\r\n if (typeof this.settings[\"mouse-event-element\"] === \"string\") {\r\n var mouseEventElement = document.querySelector(this.settings[\"mouse-event-element\"]);\r\n\r\n if (mouseEventElement) {\r\n return mouseEventElement;\r\n }\r\n }\r\n\r\n if (this.settings[\"mouse-event-element\"] instanceof Node) {\r\n return this.settings[\"mouse-event-element\"];\r\n }\r\n\r\n return this.element;\r\n };\r\n\r\n /**\r\n * Method set listen methods for this.elementListener\r\n * @return {Node}\r\n */\r\n\r\n\r\n VanillaTilt.prototype.addEventListeners = function addEventListeners() {\r\n this.onMouseEnterBind = this.onMouseEnter.bind(this);\r\n this.onMouseMoveBind = this.onMouseMove.bind(this);\r\n this.onMouseLeaveBind = this.onMouseLeave.bind(this);\r\n this.onWindowResizeBind = this.onWindowResize.bind(this);\r\n this.onDeviceOrientationBind = this.onDeviceOrientation.bind(this);\r\n\r\n this.elementListener.addEventListener(\"mouseenter\", this.onMouseEnterBind);\r\n this.elementListener.addEventListener(\"mouseleave\", this.onMouseLeaveBind);\r\n this.elementListener.addEventListener(\"mousemove\", this.onMouseMoveBind);\r\n\r\n if (this.glare || this.fullPageListening) {\r\n window.addEventListener(\"resize\", this.onWindowResizeBind);\r\n }\r\n\r\n if (this.gyroscope) {\r\n window.addEventListener(\"deviceorientation\", this.onDeviceOrientationBind);\r\n }\r\n };\r\n\r\n /**\r\n * Method remove event listeners from current this.elementListener\r\n */\r\n\r\n\r\n VanillaTilt.prototype.removeEventListeners = function removeEventListeners() {\r\n this.elementListener.removeEventListener(\"mouseenter\", this.onMouseEnterBind);\r\n this.elementListener.removeEventListener(\"mouseleave\", this.onMouseLeaveBind);\r\n this.elementListener.removeEventListener(\"mousemove\", this.onMouseMoveBind);\r\n\r\n if (this.gyroscope) {\r\n window.removeEventListener(\"deviceorientation\", this.onDeviceOrientationBind);\r\n }\r\n\r\n if (this.glare || this.fullPageListening) {\r\n window.removeEventListener(\"resize\", this.onWindowResizeBind);\r\n }\r\n };\r\n\r\n VanillaTilt.prototype.destroy = function destroy() {\r\n clearTimeout(this.transitionTimeout);\r\n if (this.updateCall !== null) {\r\n cancelAnimationFrame(this.updateCall);\r\n }\r\n\r\n this.reset();\r\n\r\n this.removeEventListeners();\r\n this.element.vanillaTilt = null;\r\n delete this.element.vanillaTilt;\r\n\r\n this.element = null;\r\n };\r\n\r\n VanillaTilt.prototype.onDeviceOrientation = function onDeviceOrientation(event) {\r\n if (event.gamma === null || event.beta === null) {\r\n return;\r\n }\r\n\r\n this.updateElementPosition();\r\n\r\n if (this.gyroscopeSamples > 0) {\r\n this.lastgammazero = this.gammazero;\r\n this.lastbetazero = this.betazero;\r\n\r\n if (this.gammazero === null) {\r\n this.gammazero = event.gamma;\r\n this.betazero = event.beta;\r\n } else {\r\n this.gammazero = (event.gamma + this.lastgammazero) / 2;\r\n this.betazero = (event.beta + this.lastbetazero) / 2;\r\n }\r\n\r\n this.gyroscopeSamples -= 1;\r\n }\r\n\r\n var totalAngleX = this.settings.gyroscopeMaxAngleX - this.settings.gyroscopeMinAngleX;\r\n var totalAngleY = this.settings.gyroscopeMaxAngleY - this.settings.gyroscopeMinAngleY;\r\n\r\n var degreesPerPixelX = totalAngleX / this.width;\r\n var degreesPerPixelY = totalAngleY / this.height;\r\n\r\n var angleX = event.gamma - (this.settings.gyroscopeMinAngleX + this.gammazero);\r\n var angleY = event.beta - (this.settings.gyroscopeMinAngleY + this.betazero);\r\n\r\n var posX = angleX / degreesPerPixelX;\r\n var posY = angleY / degreesPerPixelY;\r\n\r\n if (this.updateCall !== null) {\r\n cancelAnimationFrame(this.updateCall);\r\n }\r\n\r\n this.event = {\r\n clientX: posX + this.left,\r\n clientY: posY + this.top\r\n };\r\n\r\n this.updateCall = requestAnimationFrame(this.updateBind);\r\n };\r\n\r\n VanillaTilt.prototype.onMouseEnter = function onMouseEnter() {\r\n this.updateElementPosition();\r\n this.element.style.willChange = \"transform\";\r\n this.setTransition();\r\n };\r\n\r\n VanillaTilt.prototype.onMouseMove = function onMouseMove(event) {\r\n if (this.updateCall !== null) {\r\n cancelAnimationFrame(this.updateCall);\r\n }\r\n\r\n this.event = event;\r\n this.updateCall = requestAnimationFrame(this.updateBind);\r\n };\r\n\r\n VanillaTilt.prototype.onMouseLeave = function onMouseLeave() {\r\n this.setTransition();\r\n\r\n if (this.settings.reset) {\r\n requestAnimationFrame(this.resetBind);\r\n }\r\n };\r\n\r\n VanillaTilt.prototype.reset = function reset() {\r\n this.onMouseEnter();\r\n\r\n if (this.fullPageListening) {\r\n this.event = {\r\n clientX: (this.settings.startX + this.settings.max) / (2 * this.settings.max) * this.clientWidth,\r\n clientY: (this.settings.startY + this.settings.max) / (2 * this.settings.max) * this.clientHeight\r\n };\r\n } else {\r\n this.event = {\r\n clientX: this.left + (this.settings.startX + this.settings.max) / (2 * this.settings.max) * this.width,\r\n clientY: this.top + (this.settings.startY + this.settings.max) / (2 * this.settings.max) * this.height\r\n };\r\n }\r\n\r\n var backupScale = this.settings.scale;\r\n this.settings.scale = 1;\r\n this.update();\r\n this.settings.scale = backupScale;\r\n this.resetGlare();\r\n };\r\n\r\n VanillaTilt.prototype.resetGlare = function resetGlare() {\r\n if (this.glare) {\r\n this.glareElement.style.transform = \"rotate(180deg) translate(-50%, -50%)\";\r\n this.glareElement.style.opacity = \"0\";\r\n }\r\n };\r\n\r\n VanillaTilt.prototype.getValues = function getValues() {\r\n var x = void 0,\r\n y = void 0;\r\n\r\n if (this.fullPageListening) {\r\n x = this.event.clientX / this.clientWidth;\r\n y = this.event.clientY / this.clientHeight;\r\n } else {\r\n x = (this.event.clientX - this.left) / this.width;\r\n y = (this.event.clientY - this.top) / this.height;\r\n }\r\n\r\n x = Math.min(Math.max(x, 0), 1);\r\n y = Math.min(Math.max(y, 0), 1);\r\n\r\n var tiltX = (this.reverse * (this.settings.max - x * this.settings.max * 2)).toFixed(2);\r\n var tiltY = (this.reverse * (y * this.settings.max * 2 - this.settings.max)).toFixed(2);\r\n var angle = Math.atan2(this.event.clientX - (this.left + this.width / 2), -(this.event.clientY - (this.top + this.height / 2))) * (180 / Math.PI);\r\n\r\n return {\r\n tiltX: tiltX,\r\n tiltY: tiltY,\r\n percentageX: x * 100,\r\n percentageY: y * 100,\r\n angle: angle\r\n };\r\n };\r\n\r\n VanillaTilt.prototype.updateElementPosition = function updateElementPosition() {\r\n var rect = this.element.getBoundingClientRect();\r\n\r\n this.width = this.element.offsetWidth;\r\n this.height = this.element.offsetHeight;\r\n this.left = rect.left;\r\n this.top = rect.top;\r\n };\r\n\r\n VanillaTilt.prototype.update = function update() {\r\n var values = this.getValues();\r\n\r\n this.element.style.transform = \"perspective(\" + this.settings.perspective + \"px) \" + \"rotateX(\" + (this.settings.axis === \"x\" ? 0 : values.tiltY) + \"deg) \" + \"rotateY(\" + (this.settings.axis === \"y\" ? 0 : values.tiltX) + \"deg) \" + \"scale3d(\" + this.settings.scale + \", \" + this.settings.scale + \", \" + this.settings.scale + \")\";\r\n\r\n if (this.glare) {\r\n this.glareElement.style.transform = \"rotate(\" + values.angle + \"deg) translate(-50%, -50%)\";\r\n this.glareElement.style.opacity = \"\" + values.percentageY * this.settings[\"max-glare\"] / 100;\r\n }\r\n\r\n this.element.dispatchEvent(new CustomEvent(\"tiltChange\", {\r\n \"detail\": values\r\n }));\r\n\r\n this.updateCall = null;\r\n };\r\n\r\n /**\r\n * Appends the glare element (if glarePrerender equals false)\r\n * and sets the default style\r\n */\r\n\r\n\r\n VanillaTilt.prototype.prepareGlare = function prepareGlare() {\r\n // If option pre-render is enabled we assume all html/css is present for an optimal glare effect.\r\n if (!this.glarePrerender) {\r\n // Create glare element\r\n var jsTiltGlare = document.createElement(\"div\");\r\n jsTiltGlare.classList.add(\"js-tilt-glare\");\r\n\r\n var jsTiltGlareInner = document.createElement(\"div\");\r\n jsTiltGlareInner.classList.add(\"js-tilt-glare-inner\");\r\n\r\n jsTiltGlare.appendChild(jsTiltGlareInner);\r\n this.element.appendChild(jsTiltGlare);\r\n }\r\n\r\n this.glareElementWrapper = this.element.querySelector(\".js-tilt-glare\");\r\n this.glareElement = this.element.querySelector(\".js-tilt-glare-inner\");\r\n\r\n if (this.glarePrerender) {\r\n return;\r\n }\r\n\r\n Object.assign(this.glareElementWrapper.style, {\r\n \"position\": \"absolute\",\r\n \"top\": \"0\",\r\n \"left\": \"0\",\r\n \"width\": \"100%\",\r\n \"height\": \"100%\",\r\n \"overflow\": \"hidden\",\r\n \"pointer-events\": \"none\",\r\n \"border-radius\": \"inherit\"\r\n });\r\n\r\n Object.assign(this.glareElement.style, {\r\n \"position\": \"absolute\",\r\n \"top\": \"50%\",\r\n \"left\": \"50%\",\r\n \"pointer-events\": \"none\",\r\n \"background-image\": \"linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%)\",\r\n \"transform\": \"rotate(180deg) translate(-50%, -50%)\",\r\n \"transform-origin\": \"0% 0%\",\r\n \"opacity\": \"0\"\r\n });\r\n\r\n this.updateGlareSize();\r\n };\r\n\r\n VanillaTilt.prototype.updateGlareSize = function updateGlareSize() {\r\n if (this.glare) {\r\n var glareSize = (this.element.offsetWidth > this.element.offsetHeight ? this.element.offsetWidth : this.element.offsetHeight) * 2;\r\n\r\n Object.assign(this.glareElement.style, {\r\n \"width\": glareSize + \"px\",\r\n \"height\": glareSize + \"px\"\r\n });\r\n }\r\n };\r\n\r\n VanillaTilt.prototype.updateClientSize = function updateClientSize() {\r\n this.clientWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;\r\n\r\n this.clientHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;\r\n };\r\n\r\n VanillaTilt.prototype.onWindowResize = function onWindowResize() {\r\n this.updateGlareSize();\r\n this.updateClientSize();\r\n };\r\n\r\n VanillaTilt.prototype.setTransition = function setTransition() {\r\n var _this = this;\r\n\r\n clearTimeout(this.transitionTimeout);\r\n this.element.style.transition = this.settings.speed + \"ms \" + this.settings.easing;\r\n if (this.glare) this.glareElement.style.transition = \"opacity \" + this.settings.speed + \"ms \" + this.settings.easing;\r\n\r\n this.transitionTimeout = setTimeout(function () {\r\n _this.element.style.transition = \"\";\r\n if (_this.glare) {\r\n _this.glareElement.style.transition = \"\";\r\n }\r\n }, this.settings.speed);\r\n };\r\n\r\n /**\r\n * Method return patched settings of instance\r\n * @param {boolean} settings.reverse - reverse the tilt direction\r\n * @param {number} settings.max - max tilt rotation (degrees)\r\n * @param {startX} settings.startX - the starting tilt on the X axis, in degrees. Default: 0\r\n * @param {startY} settings.startY - the starting tilt on the Y axis, in degrees. Default: 0\r\n * @param {number} settings.perspective - Transform perspective, the lower the more extreme the tilt gets\r\n * @param {string} settings.easing - Easing on enter/exit\r\n * @param {number} settings.scale - 2 = 200%, 1.5 = 150%, etc..\r\n * @param {number} settings.speed - Speed of the enter/exit transition\r\n * @param {boolean} settings.transition - Set a transition on enter/exit\r\n * @param {string|null} settings.axis - What axis should be enabled. Can be \"x\" or \"y\"\r\n * @param {boolean} settings.glare - if it should have a \"glare\" effect\r\n * @param {number} settings.max-glare - the maximum \"glare\" opacity (1 = 100%, 0.5 = 50%)\r\n * @param {boolean} settings.glare-prerender - false = VanillaTilt creates the glare elements for you, otherwise\r\n * @param {boolean} settings.full-page-listening - If true, parallax effect will listen to mouse move events on the whole document, not only the selected element\r\n * @param {string|object} settings.mouse-event-element - String selector or link to HTML-element what will be listen mouse events\r\n * @param {boolean} settings.reset - false = If the tilt effect has to be reset on exit\r\n * @param {boolean} settings.reset-to-start - true = On reset event (mouse leave) will return to initial start angle (if startX or startY is set)\r\n * @param {gyroscope} settings.gyroscope - Enable tilting by deviceorientation events\r\n * @param {gyroscopeSensitivity} settings.gyroscopeSensitivity - Between 0 and 1 - The angle at which max tilt position is reached. 1 = 90deg, 0.5 = 45deg, etc..\r\n * @param {gyroscopeSamples} settings.gyroscopeSamples - How many gyroscope moves to decide the starting position.\r\n */\r\n\r\n\r\n VanillaTilt.prototype.extendSettings = function extendSettings(settings) {\r\n var defaultSettings = {\r\n reverse: false,\r\n max: 15,\r\n startX: 0,\r\n startY: 0,\r\n perspective: 1000,\r\n easing: \"cubic-bezier(.03,.98,.52,.99)\",\r\n scale: 1,\r\n speed: 300,\r\n transition: true,\r\n axis: null,\r\n glare: false,\r\n \"max-glare\": 1,\r\n \"glare-prerender\": false,\r\n \"full-page-listening\": false,\r\n \"mouse-event-element\": null,\r\n reset: true,\r\n \"reset-to-start\": true,\r\n gyroscope: true,\r\n gyroscopeMinAngleX: -45,\r\n gyroscopeMaxAngleX: 45,\r\n gyroscopeMinAngleY: -45,\r\n gyroscopeMaxAngleY: 45,\r\n gyroscopeSamples: 10\r\n };\r\n\r\n var newSettings = {};\r\n for (var property in defaultSettings) {\r\n if (property in settings) {\r\n newSettings[property] = settings[property];\r\n } else if (this.element.hasAttribute(\"data-tilt-\" + property)) {\r\n var attribute = this.element.getAttribute(\"data-tilt-\" + property);\r\n try {\r\n newSettings[property] = JSON.parse(attribute);\r\n } catch (e) {\r\n newSettings[property] = attribute;\r\n }\r\n } else {\r\n newSettings[property] = defaultSettings[property];\r\n }\r\n }\r\n\r\n return newSettings;\r\n };\r\n\r\n VanillaTilt.init = function init(elements, settings) {\r\n if (elements instanceof Node) {\r\n elements = [elements];\r\n }\r\n\r\n if (elements instanceof NodeList) {\r\n elements = [].slice.call(elements);\r\n }\r\n\r\n if (!(elements instanceof Array)) {\r\n return;\r\n }\r\n\r\n elements.forEach(function (element) {\r\n if (!(\"vanillaTilt\" in element)) {\r\n element.vanillaTilt = new VanillaTilt(element, settings);\r\n }\r\n });\r\n };\r\n\r\n return VanillaTilt;\r\n}();\r\n\r\nif (typeof document !== \"undefined\") {\r\n /* expose the class to window */\r\n window.VanillaTilt = VanillaTilt;\r\n\r\n /**\r\n * Auto load\r\n */\r\n VanillaTilt.init(document.querySelectorAll(\"[data-tilt]\"));\r\n}\r\n\r\nmodule.exports = VanillaTilt;\r\n","export const defaultProps = {\r\n easing: \"cubic-bezier(0.5, 0, 0, 1)\",\r\n distance: \"30px\",\r\n duration: 1000,\r\n desktop: true,\r\n mobile: true,\r\n};\r\n\r\nexport const targetElements = [\r\n {\r\n element: \".section-title\",\r\n animation: {\r\n delay: 300,\r\n distance: \"0px\",\r\n origin: \"bottom\",\r\n },\r\n },\r\n {\r\n element: \".hero-title\",\r\n animation: {\r\n delay: 500,\r\n origin: window.innerWidth > 768 ? \"left\" : \"bottom\",\r\n },\r\n },\r\n {\r\n element: \".hero-cta\",\r\n animation: {\r\n delay: 1000,\r\n origin: window.innerWidth > 768 ? \"left\" : \"bottom\",\r\n },\r\n },\r\n {\r\n element: \".about-wrapper__image\",\r\n animation: {\r\n delay: 600,\r\n origin: \"bottom\",\r\n },\r\n },\r\n {\r\n element: \".about-wrapper__info\",\r\n animation: {\r\n delay: 1000,\r\n origin: window.innerWidth > 768 ? \"left\" : \"bottom\",\r\n },\r\n },\r\n {\r\n element: \".project-wrapper__text\",\r\n animation: {\r\n delay: 500,\r\n origin: window.innerWidth > 768 ? \"left\" : \"bottom\",\r\n },\r\n },\r\n {\r\n element: \".project-wrapper__image\",\r\n animation: {\r\n delay: 1000,\r\n origin: window.innerWidth > 768 ? \"right\" : \"bottom\",\r\n },\r\n },\r\n {\r\n element: \".contact-wrapper\",\r\n animation: {\r\n delay: 800,\r\n origin: \"bottom\",\r\n },\r\n },\r\n];\r\n","export default function initScrollReveal(targetElements, defaultProps) {\r\n if (!targetElements.length) return;\r\n\r\n ScrollReveal({ reset: false });\r\n\r\n targetElements.forEach(({ element, animation }) => {\r\n ScrollReveal().reveal(element, Object.assign({}, defaultProps, animation));\r\n });\r\n}\r\n","import initScrollReveal from \"./scripts/scrollReveal\";\r\nimport initTiltEffect from \"./scripts/tiltAnimation\";\r\nimport { targetElements, defaultProps } from \"./data/scrollRevealConfig\";\r\n\r\ninitScrollReveal(targetElements, defaultProps);\r\ninitTiltEffect();\r\n","import VanillaTilt from \"vanilla-tilt\";\r\n\r\nexport default function initTiltAnimation() {\r\n const elements = document.querySelectorAll(\".js-tilt\");\r\n VanillaTilt.init(elements);\r\n}\r\n"],"names":["$b5f6d4efc654cf78$var$classCallCheck","instance","Constructor","TypeError","$b5f6d4efc654cf78$var$VanillaTilt","VanillaTilt","element","settings","arguments","length","undefined","this","Node","width","height","clientWidth","clientHeight","left","top","gammazero","betazero","lastgammazero","lastbetazero","transitionTimeout","updateCall","event","updateBind","update","bind","resetBind","reset","extendSettings","reverse","resetToStart","isSettingTrue","glare","glarePrerender","fullPageListening","gyroscope","gyroscopeSamples","elementListener","getElementListener","prepareGlare","updateClientSize","addEventListeners","startX","startY","setting","prototype","window","document","mouseEventElement","querySelector","onMouseEnterBind","onMouseEnter","onMouseMoveBind","onMouseMove","onMouseLeaveBind","onMouseLeave","onWindowResizeBind","onWindowResize","onDeviceOrientationBind","onDeviceOrientation","addEventListener","removeEventListeners","removeEventListener","destroy","cancelAnimationFrame","vanillaTilt","gamma","beta","updateElementPosition","totalAngleX","gyroscopeMaxAngleX","gyroscopeMinAngleX","totalAngleY","gyroscopeMaxAngleY","gyroscopeMinAngleY","degreesPerPixelX","degreesPerPixelY","posX","posY","clientX","clientY","requestAnimationFrame","style","willChange","setTransition","max","backupScale","scale","resetGlare","glareElement","transform","opacity","getValues","x","y","Math","min","tiltX","toFixed","tiltY","percentageX","percentageY","angle","atan2","PI","rect","getBoundingClientRect","offsetWidth","offsetHeight","values","perspective","axis","dispatchEvent","CustomEvent","detail","jsTiltGlare","createElement","classList","add","jsTiltGlareInner","appendChild","glareElementWrapper","assign","position","overflow","updateGlareSize","glareSize","Object","innerWidth","documentElement","body","innerHeight","_this","transition","speed","easing","setTimeout","defaultSettings","$d859da13df4a30ff$export$adcf75ad64a03007","animation","delay","distance","origin","targetElements","defaultProps","duration","desktop","mobile","ScrollReveal","forEach","reveal","elements","querySelectorAll","$parcel$interopDefault","$b5f6d4efc654cf78$exports","init"],"version":3,"file":"index.f3360eb2.js.map"}