{"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","Promise","resolve","document","readyState","addEventListener","capture","once","passive","g","_typeof","Symbol","iterator","obj","constructor","this","Function","eval","e","_domLoaded2","_interopRequireDefault","_global","_jarallax2","default","oldPlugin","jarallax","noConflict","jQuery","jQueryPlugin","args","arguments","Array","unshift","res","apply","oldJqPlugin","fn","then","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.2\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 = new Promise(function (resolve) {\n\tif (document.readyState === 'interactive' || document.readyState === 'complete') {\n\t\tresolve();\n\t} else {\n\t\tdocument.addEventListener('DOMContentLoaded', function () {\n\t\t\tresolve();\n\t\t}, {\n\t\t\tcapture: true,\n\t\t\tonce: true,\n\t\t\tpassive: true\n\t\t});\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 _domLoaded = __webpack_require__(1);\n\nvar _domLoaded2 = _interopRequireDefault(_domLoaded);\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_domLoaded2.default.then(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 _domLoaded = __webpack_require__(1);\n\nvar _domLoaded2 = _interopRequireDefault(_domLoaded);\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_domLoaded2.default.then(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/******/ ]);"]}