! function (r) { "use strict"; "function" == typeof define && define.amd ? define("parollerjs", ["jquery"], r) : "object" == typeof module && "object" == typeof module.exports ? module.exports = r(require("jquery")) : r(jQuery) }(function (g) { "use strict"; var v = !1, x = function () { v = !1 }, b = function (r, t) { return r.css({ "background-position": "center " + -t + "px" }) }, k = function (r, t) { return r.css({ "background-position": -t + "px center" }) }, y = function (r, t, o, n) { return "none" !== n || (n = ""), r.css({ "-webkit-transform": "translateY(" + t + "px)" + n, "-moz-transform": "translateY(" + t + "px)" + n, transform: "translate(0," + t + "px)" + n, transition: o, "will-change": "transform" }) }, z = function (r, t, o, n) { return "none" !== n || (n = ""), r.css({ "-webkit-transform": "translateX(" + t + "px)" + n, "-moz-transform": "translateX(" + t + "px)" + n, transform: "translate(" + t + "px, 0)" + n, transition: o, "will-change": "transform" }) }, M = function (r, t, o) { var n = r.data("paroller-factor"), a = n || o.factor; if (t < 576) { var e = r.data("paroller-factor-xs"), i = e || o.factorXs; return i || a } if (t <= 768) { var c = r.data("paroller-factor-sm"), s = c || o.factorSm; return s || a } if (t <= 1024) { var u = r.data("paroller-factor-md"), f = u || o.factorMd; return f || a } if (t <= 1200) { var l = r.data("paroller-factor-lg"), d = l || o.factorLg; return d || a } if (t <= 1920) { var p = r.data("paroller-factor-xl"), h = p || o.factorXl; return h || a } return a }, j = function (r, t) { return Math.round(r * t) }, X = function (r, t, o, n) { return Math.round((r - o / 2 + n) * t) }, q = function (r) { return r.css({ "background-position": "unset" }) }, T = function (r) { return r.css({ transform: "unset", transition: "unset" }) }; g.fn.paroller = function (h) { var m = g(window).height(), w = g(document).height(); h = g.extend({ factor: 0, factorXs: 0, factorSm: 0, factorMd: 0, factorLg: 0, factorXl: 0, transition: "transform .1s ease", type: "background", direction: "vertical" }, h); return this.each(function () { var o = g(this), n = g(window).width(), a = o.offset().top, e = o.outerHeight(), r = o.data("paroller-type"), t = o.data("paroller-direction"), i = o.data("paroller-transition"), c = o.css("transform"), s = i || h.transition, u = r || h.type, f = t || h.direction, l = 0, d = j(a, l), p = X(a, l, m, e); "background" === u ? "vertical" === f ? b(o, d) : "horizontal" === f && k(o, d) : "foreground" === u && ("vertical" === f ? y(o, p, s, c) : "horizontal" === f && z(o, p, s, c)), g(window).on("resize", function () { var r = g(this).scrollTop(); n = g(window).width(), a = o.offset().top, e = o.outerHeight(), l = M(o, n, h), d = Math.round(a * l), p = Math.round((a - m / 2 + e) * l), v || (window.requestAnimationFrame(x), v = !0), "background" === u ? (q(o), "vertical" === f ? b(o, d) : "horizontal" === f && k(o, d)) : "foreground" === u && r <= w && (T(o), "vertical" === f ? y(o, p, s) : "horizontal" === f && z(o, p, s)) }), g(window).on("scroll", function () { var r = g(this).scrollTop(), t = g(document).scrollTop(); l = 0 === t ? 0 : M(o, n, h), d = Math.round((a - r) * l), p = Math.round((a - m / 2 + e - r) * l), v || (window.requestAnimationFrame(x), v = !0), "background" === u ? "vertical" === f ? b(o, d) : "horizontal" === f && k(o, d) : "foreground" === u && r <= w && ("vertical" === f ? y(o, p, s, c) : "horizontal" === f && z(o, p, s, c)) }) }) } });