{"version":3,"sources":["jarallax.js"],"names":["modules","installedModules","__webpack_require__","moduleId","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","global","win","window","self","callback","document","readyState","attachEvent","addEventListener","g","_typeof","Symbol","iterator","obj","constructor","this","Function","eval","e","_liteReady2","_interopRequireDefault","_global","_jarallax2","default","oldPlugin","jarallax","noConflict","jQuery","jQueryPlugin","args","arguments","Array","unshift","res","apply","oldJqPlugin","fn","querySelectorAll","value","_slicedToArray","arr","isArray","_arr","_n","_d","_e","undefined","_s","_i","next","done","push","length","err","sliceIterator","TypeError","_createClass","defineProperties","target","props","descriptor","writable","key","Constructor","protoProps","staticProps","_rafl2","supportTransform","prefixes","split","div","createElement","style","wndW","wndH","wndY","forceResizeParallax","forceScrollParallax","updateWndVars","innerWidth","documentElement","clientWidth","innerHeight","clientHeight","type","jarallaxList","oldPageData","updateParallax","pageYOffset","body","parentNode","scrollTop","isResized","width","height","isScrolled","y","forEach","item","onResize","onScroll","resizeObserver","ResizeObserver","entry","instanceID","Jarallax","userOptions","instance","_classCallCheck","$item","defaults","speed","imgSrc","imgElement","imgSize","imgPosition","imgRepeat","keepImg","elementInViewport","zIndex","disableParallax","disableVideo","automaticResize","videoSrc","videoStartTime","videoEndTime","videoVolume","videoPlayOnlyVisible","onInit","onDestroy","onCoverImage","deprecatedDataAttribute","getAttribute","oldDataOptions","JSON","parse","console","warn","dataOptions","dataset","pureDataOptions","keys","loweCaseOption","substr","toLowerCase","options","extend","pureOptions","Math","min","max","parseFloat","noAndroid","noIos","RegExp","disableParallaxRegexp","test","navigator","userAgent","disableVideoRegexp","elementInVP","Element","image","src","$container","useImgTag","position","initImg","canInitParallax","init","el","styles","getComputedStyle","getPropertyValue","transform","out","_arguments","$imgElement","querySelector","cloneNode","$itemParent","css","replace","containerStyles","top","left","overflow","pointerEvents","imageStyles","curStyle","setAttribute","curImgStyle","z-index","appendChild","object-fit","object-position","font-family","max-width","background-position","background-size","background-repeat","background-image","parentWithTransform","$itemParents","parentTransform","coverImage","clipContainer","observe","addToParallaxList","splice","removeFromParallaxList","originalStylesTag","removeAttribute","originalStylesImgTag","$clipStyles","removeChild","rect","getBoundingClientRect","head","getElementsByTagName","styleSheet","cssText","innerHTML","contH","isScroll","scrollDist","resultH","resultMT","abs","parallaxScrollDistance","marginTop","container","isElementInViewport","force","contT","viewportRect","bottom","right","beforeTop","beforeTopEnd","afterTop","beforeBottom","beforeBottomEnd","afterBottom","fromViewportCenter","visiblePercent","opacity","scale","positionY","section","plugin","items","HTMLElement","nodeType","nodeName","slice","len","k","ret","request","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","curr","Date","ms","prev","req","setTimeout","cancel","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","clearTimeout","bind"],"mappings":"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","file":"jarallax.min.js","sourcesContent":["/*!\n * Name : Just Another Parallax [Jarallax]\n * Version : 1.10.3\n * Author : nK \n * GitHub : https://github.com/nk-o/jarallax\n */\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 11);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n\nvar win;\n\nif (typeof window !== \"undefined\") {\n win = window;\n} else if (typeof global !== \"undefined\") {\n win = global;\n} else if (typeof self !== \"undefined\") {\n win = self;\n} else {\n win = {};\n}\n\nmodule.exports = win;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (callback) {\n\n\tif (document.readyState === 'complete' || document.readyState === 'interactive') {\n\t\t// Already ready or interactive, execute callback\n\t\tcallback.call();\n\t} else if (document.attachEvent) {\n\t\t// Old browsers\n\t\tdocument.attachEvent('onreadystatechange', function () {\n\t\t\tif (document.readyState === 'interactive') callback.call();\n\t\t});\n\t} else if (document.addEventListener) {\n\t\t// Modern browsers\n\t\tdocument.addEventListener('DOMContentLoaded', callback);\n\t}\n};\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar g;\n\n// This works in non-strict mode\ng = function () {\n\treturn this;\n}();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\n} catch (e) {\n\t// This works if the window reference is available\n\tif ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n/***/ }),\n/* 3 */,\n/* 4 */,\n/* 5 */,\n/* 6 */,\n/* 7 */,\n/* 8 */,\n/* 9 */,\n/* 10 */,\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(12);\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _liteReady = __webpack_require__(1);\n\nvar _liteReady2 = _interopRequireDefault(_liteReady);\n\nvar _global = __webpack_require__(0);\n\nvar _jarallax = __webpack_require__(13);\n\nvar _jarallax2 = _interopRequireDefault(_jarallax);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// no conflict\nvar oldPlugin = _global.window.jarallax;\n_global.window.jarallax = _jarallax2.default;\n_global.window.jarallax.noConflict = function () {\n _global.window.jarallax = oldPlugin;\n return this;\n};\n\n// jQuery support\nif (typeof _global.jQuery !== 'undefined') {\n var jQueryPlugin = function jQueryPlugin() {\n var args = arguments || [];\n Array.prototype.unshift.call(args, this);\n var res = _jarallax2.default.apply(_global.window, args);\n return (typeof res === 'undefined' ? 'undefined' : _typeof(res)) !== 'object' ? res : this;\n };\n jQueryPlugin.constructor = _jarallax2.default.constructor;\n\n // no conflict\n var oldJqPlugin = _global.jQuery.fn.jarallax;\n _global.jQuery.fn.jarallax = jQueryPlugin;\n _global.jQuery.fn.jarallax.noConflict = function () {\n _global.jQuery.fn.jarallax = oldJqPlugin;\n return this;\n };\n}\n\n// data-jarallax initialization\n(0, _liteReady2.default)(function () {\n (0, _jarallax2.default)(document.querySelectorAll('[data-jarallax]'));\n});\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _liteReady = __webpack_require__(1);\n\nvar _liteReady2 = _interopRequireDefault(_liteReady);\n\nvar _rafl = __webpack_require__(14);\n\nvar _rafl2 = _interopRequireDefault(_rafl);\n\nvar _global = __webpack_require__(0);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar supportTransform = function () {\n var prefixes = 'transform WebkitTransform MozTransform'.split(' ');\n var div = document.createElement('div');\n for (var i = 0; i < prefixes.length; i++) {\n if (div && div.style[prefixes[i]] !== undefined) {\n return prefixes[i];\n }\n }\n return false;\n}();\n\n// Window data\nvar wndW = void 0;\nvar wndH = void 0;\nvar wndY = void 0;\nvar forceResizeParallax = false;\nvar forceScrollParallax = false;\nfunction updateWndVars(e) {\n wndW = _global.window.innerWidth || document.documentElement.clientWidth;\n wndH = _global.window.innerHeight || document.documentElement.clientHeight;\n if ((typeof e === 'undefined' ? 'undefined' : _typeof(e)) === 'object' && (e.type === 'load' || e.type === 'dom-loaded')) {\n forceResizeParallax = true;\n }\n}\nupdateWndVars();\n_global.window.addEventListener('resize', updateWndVars);\n_global.window.addEventListener('orientationchange', updateWndVars);\n_global.window.addEventListener('load', updateWndVars);\n(0, _liteReady2.default)(function () {\n updateWndVars({\n type: 'dom-loaded'\n });\n});\n\n// list with all jarallax instances\n// need to render all in one scroll/resize event\nvar jarallaxList = [];\n\n// Animate if changed window size or scrolled page\nvar oldPageData = false;\nfunction updateParallax() {\n if (!jarallaxList.length) {\n return;\n }\n\n if (_global.window.pageYOffset !== undefined) {\n wndY = _global.window.pageYOffset;\n } else {\n wndY = (document.documentElement || document.body.parentNode || document.body).scrollTop;\n }\n\n var isResized = forceResizeParallax || !oldPageData || oldPageData.width !== wndW || oldPageData.height !== wndH;\n var isScrolled = forceScrollParallax || isResized || !oldPageData || oldPageData.y !== wndY;\n\n forceResizeParallax = false;\n forceScrollParallax = false;\n\n if (isResized || isScrolled) {\n jarallaxList.forEach(function (item) {\n if (isResized) {\n item.onResize();\n }\n if (isScrolled) {\n item.onScroll();\n }\n });\n\n oldPageData = {\n width: wndW,\n height: wndH,\n y: wndY\n };\n }\n\n (0, _rafl2.default)(updateParallax);\n}\n\n// ResizeObserver\nvar resizeObserver = global.ResizeObserver ? new global.ResizeObserver(function (entry) {\n if (entry && entry.length) {\n (0, _rafl2.default)(function () {\n entry.forEach(function (item) {\n if (item.target && item.target.jarallax) {\n if (!forceResizeParallax) {\n item.target.jarallax.onResize();\n }\n forceScrollParallax = true;\n }\n });\n });\n }\n}) : false;\n\nvar instanceID = 0;\n\n// Jarallax class\n\nvar Jarallax = function () {\n function Jarallax(item, userOptions) {\n _classCallCheck(this, Jarallax);\n\n var self = this;\n\n self.instanceID = instanceID++;\n\n self.$item = item;\n\n self.defaults = {\n type: 'scroll', // type of parallax: scroll, scale, opacity, scale-opacity, scroll-opacity\n speed: 0.5, // supported value from -1 to 2\n imgSrc: null,\n imgElement: '.jarallax-img',\n imgSize: 'cover',\n imgPosition: '50% 50%',\n imgRepeat: 'no-repeat', // supported only for background, not for tag\n keepImg: false, // keep tag in it's default place\n elementInViewport: null,\n zIndex: -100,\n disableParallax: false,\n disableVideo: false,\n automaticResize: true, // use ResizeObserver to recalculate position and size of parallax image\n\n // video\n videoSrc: null,\n videoStartTime: 0,\n videoEndTime: 0,\n videoVolume: 0,\n videoPlayOnlyVisible: true,\n\n // events\n onScroll: null, // function(calculations) {}\n onInit: null, // function() {}\n onDestroy: null, // function() {}\n onCoverImage: null // function() {}\n };\n\n // DEPRECATED: old data-options\n var deprecatedDataAttribute = self.$item.getAttribute('data-jarallax');\n var oldDataOptions = JSON.parse(deprecatedDataAttribute || '{}');\n if (deprecatedDataAttribute) {\n // eslint-disable-next-line no-console\n console.warn('Detected usage of deprecated data-jarallax JSON options, you should use pure data-attribute options. See info here - https://github.com/nk-o/jarallax/issues/53');\n }\n\n // prepare data-options\n var dataOptions = self.$item.dataset || {};\n var pureDataOptions = {};\n Object.keys(dataOptions).forEach(function (key) {\n var loweCaseOption = key.substr(0, 1).toLowerCase() + key.substr(1);\n if (loweCaseOption && typeof self.defaults[loweCaseOption] !== 'undefined') {\n pureDataOptions[loweCaseOption] = dataOptions[key];\n }\n });\n\n self.options = self.extend({}, self.defaults, oldDataOptions, pureDataOptions, userOptions);\n self.pureOptions = self.extend({}, self.options);\n\n // prepare 'true' and 'false' strings to boolean\n Object.keys(self.options).forEach(function (key) {\n if (self.options[key] === 'true') {\n self.options[key] = true;\n } else if (self.options[key] === 'false') {\n self.options[key] = false;\n }\n });\n\n // fix speed option [-1.0, 2.0]\n self.options.speed = Math.min(2, Math.max(-1, parseFloat(self.options.speed)));\n\n // deprecated noAndroid and noIos options\n if (self.options.noAndroid || self.options.noIos) {\n // eslint-disable-next-line no-console\n console.warn('Detected usage of deprecated noAndroid or noIos options, you should use disableParallax option. See info here - https://github.com/nk-o/jarallax/#disable-on-mobile-devices');\n\n // prepare fallback if disableParallax option is not used\n if (!self.options.disableParallax) {\n if (self.options.noIos && self.options.noAndroid) {\n self.options.disableParallax = /iPad|iPhone|iPod|Android/;\n } else if (self.options.noIos) {\n self.options.disableParallax = /iPad|iPhone|iPod/;\n } else if (self.options.noAndroid) {\n self.options.disableParallax = /Android/;\n }\n }\n }\n\n // prepare disableParallax callback\n if (typeof self.options.disableParallax === 'string') {\n self.options.disableParallax = new RegExp(self.options.disableParallax);\n }\n if (self.options.disableParallax instanceof RegExp) {\n var disableParallaxRegexp = self.options.disableParallax;\n self.options.disableParallax = function () {\n return disableParallaxRegexp.test(navigator.userAgent);\n };\n }\n if (typeof self.options.disableParallax !== 'function') {\n self.options.disableParallax = function () {\n return false;\n };\n }\n\n // prepare disableVideo callback\n if (typeof self.options.disableVideo === 'string') {\n self.options.disableVideo = new RegExp(self.options.disableVideo);\n }\n if (self.options.disableVideo instanceof RegExp) {\n var disableVideoRegexp = self.options.disableVideo;\n self.options.disableVideo = function () {\n return disableVideoRegexp.test(navigator.userAgent);\n };\n }\n if (typeof self.options.disableVideo !== 'function') {\n self.options.disableVideo = function () {\n return false;\n };\n }\n\n // custom element to check if parallax in viewport\n var elementInVP = self.options.elementInViewport;\n // get first item from array\n if (elementInVP && (typeof elementInVP === 'undefined' ? 'undefined' : _typeof(elementInVP)) === 'object' && typeof elementInVP.length !== 'undefined') {\n var _elementInVP = elementInVP;\n\n var _elementInVP2 = _slicedToArray(_elementInVP, 1);\n\n elementInVP = _elementInVP2[0];\n }\n // check if dom element\n if (!(elementInVP instanceof Element)) {\n elementInVP = null;\n }\n self.options.elementInViewport = elementInVP;\n\n self.image = {\n src: self.options.imgSrc || null,\n $container: null,\n useImgTag: false,\n\n // position fixed is needed for the most of browsers because absolute position have glitches\n // on MacOS with smooth scroll there is a huge lags with absolute position - https://github.com/nk-o/jarallax/issues/75\n // on mobile devices better scrolled with absolute position\n position: /iPad|iPhone|iPod|Android/.test(navigator.userAgent) ? 'absolute' : 'fixed'\n };\n\n if (self.initImg() && self.canInitParallax()) {\n self.init();\n }\n }\n\n // add styles to element\n\n\n _createClass(Jarallax, [{\n key: 'css',\n value: function css(el, styles) {\n if (typeof styles === 'string') {\n return _global.window.getComputedStyle(el).getPropertyValue(styles);\n }\n\n // add transform property with vendor prefix\n if (styles.transform && supportTransform) {\n styles[supportTransform] = styles.transform;\n }\n\n Object.keys(styles).forEach(function (key) {\n el.style[key] = styles[key];\n });\n return el;\n }\n\n // Extend like jQuery.extend\n\n }, {\n key: 'extend',\n value: function extend(out) {\n var _arguments = arguments;\n\n out = out || {};\n Object.keys(arguments).forEach(function (i) {\n if (!_arguments[i]) {\n return;\n }\n Object.keys(_arguments[i]).forEach(function (key) {\n out[key] = _arguments[i][key];\n });\n });\n return out;\n }\n\n // get window size and scroll position. Useful for extensions\n\n }, {\n key: 'getWindowData',\n value: function getWindowData() {\n return {\n width: wndW,\n height: wndH,\n y: wndY\n };\n }\n\n // Jarallax functions\n\n }, {\n key: 'initImg',\n value: function initImg() {\n var self = this;\n\n // find image element\n var $imgElement = self.options.imgElement;\n if ($imgElement && typeof $imgElement === 'string') {\n $imgElement = self.$item.querySelector($imgElement);\n }\n // check if dom element\n if (!($imgElement instanceof Element)) {\n $imgElement = null;\n }\n\n if ($imgElement) {\n if (self.options.keepImg) {\n self.image.$item = $imgElement.cloneNode(true);\n } else {\n self.image.$item = $imgElement;\n self.image.$itemParent = $imgElement.parentNode;\n }\n self.image.useImgTag = true;\n }\n\n // true if there is img tag\n if (self.image.$item) {\n return true;\n }\n\n // get image src\n if (self.image.src === null) {\n self.image.src = self.css(self.$item, 'background-image').replace(/^url\\(['\"]?/g, '').replace(/['\"]?\\)$/g, '');\n }\n return !(!self.image.src || self.image.src === 'none');\n }\n }, {\n key: 'canInitParallax',\n value: function canInitParallax() {\n return supportTransform && !this.options.disableParallax();\n }\n }, {\n key: 'init',\n value: function init() {\n var self = this;\n var containerStyles = {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n overflow: 'hidden',\n pointerEvents: 'none'\n };\n var imageStyles = {};\n\n if (!self.options.keepImg) {\n // save default user styles\n var curStyle = self.$item.getAttribute('style');\n if (curStyle) {\n self.$item.setAttribute('data-jarallax-original-styles', curStyle);\n }\n if (self.image.useImgTag) {\n var curImgStyle = self.image.$item.getAttribute('style');\n if (curImgStyle) {\n self.image.$item.setAttribute('data-jarallax-original-styles', curImgStyle);\n }\n }\n }\n\n // set relative position and z-index to the parent\n if (self.css(self.$item, 'position') === 'static') {\n self.css(self.$item, {\n position: 'relative'\n });\n }\n if (self.css(self.$item, 'z-index') === 'auto') {\n self.css(self.$item, {\n zIndex: 0\n });\n }\n\n // container for parallax image\n self.image.$container = document.createElement('div');\n self.css(self.image.$container, containerStyles);\n self.css(self.image.$container, {\n 'z-index': self.options.zIndex\n });\n self.image.$container.setAttribute('id', 'jarallax-container-' + self.instanceID);\n self.$item.appendChild(self.image.$container);\n\n // use img tag\n if (self.image.useImgTag) {\n imageStyles = self.extend({\n 'object-fit': self.options.imgSize,\n 'object-position': self.options.imgPosition,\n // support for plugin https://github.com/bfred-it/object-fit-images\n 'font-family': 'object-fit: ' + self.options.imgSize + '; object-position: ' + self.options.imgPosition + ';',\n 'max-width': 'none'\n }, containerStyles, imageStyles);\n\n // use div with background image\n } else {\n self.image.$item = document.createElement('div');\n if (self.image.src) {\n imageStyles = self.extend({\n 'background-position': self.options.imgPosition,\n 'background-size': self.options.imgSize,\n 'background-repeat': self.options.imgRepeat,\n 'background-image': 'url(\"' + self.image.src + '\")'\n }, containerStyles, imageStyles);\n }\n }\n\n if (self.options.type === 'opacity' || self.options.type === 'scale' || self.options.type === 'scale-opacity' || self.options.speed === 1) {\n self.image.position = 'absolute';\n }\n\n // check if one of parents have transform style (without this check, scroll transform will be inverted if used parallax with position fixed)\n // discussion - https://github.com/nk-o/jarallax/issues/9\n if (self.image.position === 'fixed') {\n var parentWithTransform = 0;\n var $itemParents = self.$item;\n while ($itemParents !== null && $itemParents !== document && parentWithTransform === 0) {\n var parentTransform = self.css($itemParents, '-webkit-transform') || self.css($itemParents, '-moz-transform') || self.css($itemParents, 'transform');\n if (parentTransform && parentTransform !== 'none') {\n parentWithTransform = 1;\n self.image.position = 'absolute';\n }\n $itemParents = $itemParents.parentNode;\n }\n }\n\n // add position to parallax block\n imageStyles.position = self.image.position;\n\n // insert parallax image\n self.css(self.image.$item, imageStyles);\n self.image.$container.appendChild(self.image.$item);\n\n // set initial position and size\n self.coverImage();\n self.clipContainer();\n self.onScroll(true);\n\n // ResizeObserver\n if (self.options.automaticResize && resizeObserver) {\n resizeObserver.observe(self.$item);\n }\n\n // call onInit event\n if (self.options.onInit) {\n self.options.onInit.call(self);\n }\n\n // remove default user background\n if (self.css(self.$item, 'background-image') !== 'none') {\n self.css(self.$item, {\n 'background-image': 'none'\n });\n }\n\n self.addToParallaxList();\n }\n\n // add to parallax instances list\n\n }, {\n key: 'addToParallaxList',\n value: function addToParallaxList() {\n jarallaxList.push(this);\n\n if (jarallaxList.length === 1) {\n updateParallax();\n }\n }\n\n // remove from parallax instances list\n\n }, {\n key: 'removeFromParallaxList',\n value: function removeFromParallaxList() {\n var self = this;\n\n jarallaxList.forEach(function (item, key) {\n if (item.instanceID === self.instanceID) {\n jarallaxList.splice(key, 1);\n }\n });\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n var self = this;\n\n self.removeFromParallaxList();\n\n // return styles on container as before jarallax init\n var originalStylesTag = self.$item.getAttribute('data-jarallax-original-styles');\n self.$item.removeAttribute('data-jarallax-original-styles');\n // null occurs if there is no style tag before jarallax init\n if (!originalStylesTag) {\n self.$item.removeAttribute('style');\n } else {\n self.$item.setAttribute('style', originalStylesTag);\n }\n\n if (self.image.useImgTag) {\n // return styles on img tag as before jarallax init\n var originalStylesImgTag = self.image.$item.getAttribute('data-jarallax-original-styles');\n self.image.$item.removeAttribute('data-jarallax-original-styles');\n // null occurs if there is no style tag before jarallax init\n if (!originalStylesImgTag) {\n self.image.$item.removeAttribute('style');\n } else {\n self.image.$item.setAttribute('style', originalStylesTag);\n }\n\n // move img tag to its default position\n if (self.image.$itemParent) {\n self.image.$itemParent.appendChild(self.image.$item);\n }\n }\n\n // remove additional dom elements\n if (self.$clipStyles) {\n self.$clipStyles.parentNode.removeChild(self.$clipStyles);\n }\n if (self.image.$container) {\n self.image.$container.parentNode.removeChild(self.image.$container);\n }\n\n // call onDestroy event\n if (self.options.onDestroy) {\n self.options.onDestroy.call(self);\n }\n\n // delete jarallax from item\n delete self.$item.jarallax;\n }\n\n // it will remove some image overlapping\n // overlapping occur due to an image position fixed inside absolute position element\n\n }, {\n key: 'clipContainer',\n value: function clipContainer() {\n // needed only when background in fixed position\n if (this.image.position !== 'fixed') {\n return;\n }\n\n var self = this;\n var rect = self.image.$container.getBoundingClientRect();\n var width = rect.width,\n height = rect.height;\n\n\n if (!self.$clipStyles) {\n self.$clipStyles = document.createElement('style');\n self.$clipStyles.setAttribute('type', 'text/css');\n self.$clipStyles.setAttribute('id', 'jarallax-clip-' + self.instanceID);\n var head = document.head || document.getElementsByTagName('head')[0];\n head.appendChild(self.$clipStyles);\n }\n\n var styles = '#jarallax-container-' + self.instanceID + ' {\\n clip: rect(0 ' + width + 'px ' + height + 'px 0);\\n clip: rect(0, ' + width + 'px, ' + height + 'px, 0);\\n }';\n\n // add clip styles inline (this method need for support IE8 and less browsers)\n if (self.$clipStyles.styleSheet) {\n self.$clipStyles.styleSheet.cssText = styles;\n } else {\n self.$clipStyles.innerHTML = styles;\n }\n }\n }, {\n key: 'coverImage',\n value: function coverImage() {\n var self = this;\n\n var rect = self.image.$container.getBoundingClientRect();\n var contH = rect.height;\n var speed = self.options.speed;\n\n var isScroll = self.options.type === 'scroll' || self.options.type === 'scroll-opacity';\n var scrollDist = 0;\n var resultH = contH;\n var resultMT = 0;\n\n // scroll parallax\n if (isScroll) {\n // scroll distance and height for image\n if (speed < 0) {\n scrollDist = speed * Math.max(contH, wndH);\n } else {\n scrollDist = speed * (contH + wndH);\n }\n\n // size for scroll parallax\n if (speed > 1) {\n resultH = Math.abs(scrollDist - wndH);\n } else if (speed < 0) {\n resultH = scrollDist / speed + Math.abs(scrollDist);\n } else {\n resultH += Math.abs(wndH - contH) * (1 - speed);\n }\n\n scrollDist /= 2;\n }\n\n // store scroll distance\n self.parallaxScrollDistance = scrollDist;\n\n // vertical center\n if (isScroll) {\n resultMT = (wndH - resultH) / 2;\n } else {\n resultMT = (contH - resultH) / 2;\n }\n\n // apply result to item\n self.css(self.image.$item, {\n height: resultH + 'px',\n marginTop: resultMT + 'px',\n left: self.image.position === 'fixed' ? rect.left + 'px' : '0',\n width: rect.width + 'px'\n });\n\n // call onCoverImage event\n if (self.options.onCoverImage) {\n self.options.onCoverImage.call(self);\n }\n\n // return some useful data. Used in the video cover function\n return {\n image: {\n height: resultH,\n marginTop: resultMT\n },\n container: rect\n };\n }\n }, {\n key: 'isVisible',\n value: function isVisible() {\n return this.isElementInViewport || false;\n }\n }, {\n key: 'onScroll',\n value: function onScroll(force) {\n var self = this;\n\n var rect = self.$item.getBoundingClientRect();\n var contT = rect.top;\n var contH = rect.height;\n var styles = {};\n\n // check if in viewport\n var viewportRect = rect;\n if (self.options.elementInViewport) {\n viewportRect = self.options.elementInViewport.getBoundingClientRect();\n }\n self.isElementInViewport = viewportRect.bottom >= 0 && viewportRect.right >= 0 && viewportRect.top <= wndH && viewportRect.left <= wndW;\n\n // stop calculations if item is not in viewport\n if (force ? false : !self.isElementInViewport) {\n return;\n }\n\n // calculate parallax helping variables\n var beforeTop = Math.max(0, contT);\n var beforeTopEnd = Math.max(0, contH + contT);\n var afterTop = Math.max(0, -contT);\n var beforeBottom = Math.max(0, contT + contH - wndH);\n var beforeBottomEnd = Math.max(0, contH - (contT + contH - wndH));\n var afterBottom = Math.max(0, -contT + wndH - contH);\n var fromViewportCenter = 1 - 2 * (wndH - contT) / (wndH + contH);\n\n // calculate on how percent of section is visible\n var visiblePercent = 1;\n if (contH < wndH) {\n visiblePercent = 1 - (afterTop || beforeBottom) / contH;\n } else if (beforeTopEnd <= wndH) {\n visiblePercent = beforeTopEnd / wndH;\n } else if (beforeBottomEnd <= wndH) {\n visiblePercent = beforeBottomEnd / wndH;\n }\n\n // opacity\n if (self.options.type === 'opacity' || self.options.type === 'scale-opacity' || self.options.type === 'scroll-opacity') {\n styles.transform = 'translate3d(0,0,0)';\n styles.opacity = visiblePercent;\n }\n\n // scale\n if (self.options.type === 'scale' || self.options.type === 'scale-opacity') {\n var scale = 1;\n if (self.options.speed < 0) {\n scale -= self.options.speed * visiblePercent;\n } else {\n scale += self.options.speed * (1 - visiblePercent);\n }\n styles.transform = 'scale(' + scale + ') translate3d(0,0,0)';\n }\n\n // scroll\n if (self.options.type === 'scroll' || self.options.type === 'scroll-opacity') {\n var positionY = self.parallaxScrollDistance * fromViewportCenter;\n\n // fix if parallax block in absolute position\n if (self.image.position === 'absolute') {\n positionY -= contT;\n }\n\n styles.transform = 'translate3d(0,' + positionY + 'px,0)';\n }\n\n self.css(self.image.$item, styles);\n\n // call onScroll event\n if (self.options.onScroll) {\n self.options.onScroll.call(self, {\n section: rect,\n\n beforeTop: beforeTop,\n beforeTopEnd: beforeTopEnd,\n afterTop: afterTop,\n beforeBottom: beforeBottom,\n beforeBottomEnd: beforeBottomEnd,\n afterBottom: afterBottom,\n\n visiblePercent: visiblePercent,\n fromViewportCenter: fromViewportCenter\n });\n }\n }\n }, {\n key: 'onResize',\n value: function onResize() {\n this.coverImage();\n this.clipContainer();\n }\n }]);\n\n return Jarallax;\n}();\n\n// global definition\n\n\nvar plugin = function plugin(items) {\n // check for dom element\n // thanks: http://stackoverflow.com/questions/384286/javascript-isdom-how-do-you-check-if-a-javascript-object-is-a-dom-object\n if ((typeof HTMLElement === 'undefined' ? 'undefined' : _typeof(HTMLElement)) === 'object' ? items instanceof HTMLElement : items && (typeof items === 'undefined' ? 'undefined' : _typeof(items)) === 'object' && items !== null && items.nodeType === 1 && typeof items.nodeName === 'string') {\n items = [items];\n }\n\n var options = arguments[1];\n var args = Array.prototype.slice.call(arguments, 2);\n var len = items.length;\n var k = 0;\n var ret = void 0;\n\n for (k; k < len; k++) {\n if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) === 'object' || typeof options === 'undefined') {\n if (!items[k].jarallax) {\n items[k].jarallax = new Jarallax(items[k], options);\n }\n } else if (items[k].jarallax) {\n // eslint-disable-next-line prefer-spread\n ret = items[k].jarallax[options].apply(items[k].jarallax, args);\n }\n if (typeof ret !== 'undefined') {\n return ret;\n }\n }\n\n return items;\n};\nplugin.constructor = Jarallax;\n\nexports.default = plugin;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar global = __webpack_require__(0);\n\n/**\n * `requestAnimationFrame()`\n */\n\nvar request = global.requestAnimationFrame || global.webkitRequestAnimationFrame || global.mozRequestAnimationFrame || fallback;\n\nvar prev = +new Date();\nfunction fallback(fn) {\n var curr = +new Date();\n var ms = Math.max(0, 16 - (curr - prev));\n var req = setTimeout(fn, ms);\n return prev = curr, req;\n}\n\n/**\n * `cancelAnimationFrame()`\n */\n\nvar cancel = global.cancelAnimationFrame || global.webkitCancelAnimationFrame || global.mozCancelAnimationFrame || clearTimeout;\n\nif (Function.prototype.bind) {\n request = request.bind(global);\n cancel = cancel.bind(global);\n}\n\nexports = module.exports = request;\nexports.cancel = cancel;\n\n/***/ })\n/******/ ]);"]}