/*!
* Masonry PACKAGED v4.2.2
* Cascading grid layout library
* https://masonry.desandro.com
* MIT License
* by David DeSandro
*/
!(function (t, e) {
"function" == typeof define && define.amd
? define("jquery-bridget/jquery-bridget", ["jquery"], function (i) {
return e(t, i);
})
: "object" == typeof module && module.exports
? (module.exports = e(t, require("jquery")))
: (t.jQueryBridget = e(t, t.jQuery));
})(window, function (t, e) {
"use strict";
function i(i, r, a) {
function h(t, e, n) {
var o,
r = "$()." + i + '("' + e + '")';
return (
t.each(function (t, h) {
var u = a.data(h, i);
if (!u) return void s(i + " not initialized. Cannot call methods, i.e. " + r);
var d = u[e];
if (!d || "_" == e.charAt(0)) return void s(r + " is not a valid method");
var l = d.apply(u, n);
o = void 0 === o ? l : o;
}),
void 0 !== o ? o : t
);
}
function u(t, e) {
t.each(function (t, n) {
var o = a.data(n, i);
o ? (o.option(e), o._init()) : ((o = new r(n, e)), a.data(n, i, o));
});
}
(a = a || e || t.jQuery),
a &&
(r.prototype.option ||
(r.prototype.option = function (t) {
a.isPlainObject(t) && (this.options = a.extend(!0, this.options, t));
}),
(a.fn[i] = function (t) {
if ("string" == typeof t) {
var e = o.call(arguments, 1);
return h(this, t, e);
}
return u(this, t), this;
}),
n(a));
}
function n(t) {
!t || (t && t.bridget) || (t.bridget = i);
}
var o = Array.prototype.slice,
r = t.console,
s =
"undefined" == typeof r
? function () { }
: function (t) {
r.error(t);
};
return n(e || t.jQuery), i;
}),
(function (t, e) {
"function" == typeof define && define.amd ? define("ev-emitter/ev-emitter", e) : "object" == typeof module && module.exports ? (module.exports = e()) : (t.EvEmitter = e());
})("undefined" != typeof window ? window : this, function () {
function t() { }
var e = t.prototype;
return (
(e.on = function (t, e) {
if (t && e) {
var i = (this._events = this._events || {}),
n = (i[t] = i[t] || []);
return -1 == n.indexOf(e) && n.push(e), this;
}
}),
(e.once = function (t, e) {
if (t && e) {
this.on(t, e);
var i = (this._onceEvents = this._onceEvents || {}),
n = (i[t] = i[t] || {});
return (n[e] = !0), this;
}
}),
(e.off = function (t, e) {
var i = this._events && this._events[t];
if (i && i.length) {
var n = i.indexOf(e);
return -1 != n && i.splice(n, 1), this;
}
}),
(e.emitEvent = function (t, e) {
var i = this._events && this._events[t];
if (i && i.length) {
(i = i.slice(0)), (e = e || []);
for (var n = this._onceEvents && this._onceEvents[t], o = 0; o < i.length; o++) {
var r = i[o],
s = n && n[r];
s && (this.off(t, r), delete n[r]), r.apply(this, e);
}
return this;
}
}),
(e.allOff = function () {
delete this._events, delete this._onceEvents;
}),
t
);
}),
(function (t, e) {
"function" == typeof define && define.amd ? define("get-size/get-size", e) : "object" == typeof module && module.exports ? (module.exports = e()) : (t.getSize = e());
})(window, function () {
"use strict";
function t(t) {
var e = parseFloat(t),
i = -1 == t.indexOf("%") && !isNaN(e);
return i && e;
}
function e() { }
function i() {
for (var t = { width: 0, height: 0, innerWidth: 0, innerHeight: 0, outerWidth: 0, outerHeight: 0 }, e = 0; u > e; e++) {
var i = h[e];
t[i] = 0;
}
return t;
}
function n(t) {
var e = getComputedStyle(t);
return e || a("Style returned " + e + ". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"), e;
}
function o() {
if (!d) {
d = !0;
var e = document.createElement("div");
(e.style.width = "200px"), (e.style.padding = "1px 2px 3px 4px"), (e.style.borderStyle = "solid"), (e.style.borderWidth = "1px 2px 3px 4px"), (e.style.boxSizing = "border-box");
var i = document.body || document.documentElement;
i.appendChild(e);
var o = n(e);
(s = 200 == Math.round(t(o.width))), (r.isBoxSizeOuter = s), i.removeChild(e);
}
}
function r(e) {
if ((o(), "string" == typeof e && (e = document.querySelector(e)), e && "object" == typeof e && e.nodeType)) {
var r = n(e);
if ("none" == r.display) return i();
var a = {};
(a.width = e.offsetWidth), (a.height = e.offsetHeight);
for (var d = (a.isBorderBox = "border-box" == r.boxSizing), l = 0; u > l; l++) {
var c = h[l],
f = r[c],
m = parseFloat(f);
a[c] = isNaN(m) ? 0 : m;
}
var p = a.paddingLeft + a.paddingRight,
g = a.paddingTop + a.paddingBottom,
y = a.marginLeft + a.marginRight,
v = a.marginTop + a.marginBottom,
_ = a.borderLeftWidth + a.borderRightWidth,
z = a.borderTopWidth + a.borderBottomWidth,
E = d && s,
b = t(r.width);
b !== !1 && (a.width = b + (E ? 0 : p + _));
var x = t(r.height);
return x !== !1 && (a.height = x + (E ? 0 : g + z)), (a.innerWidth = a.width - (p + _)), (a.innerHeight = a.height - (g + z)), (a.outerWidth = a.width + y), (a.outerHeight = a.height + v), a;
}
}
var s,
a =
"undefined" == typeof console
? e
: function (t) {
console.error(t);
},
h = [
"paddingLeft",
"paddingRight",
"paddingTop",
"paddingBottom",
"marginLeft",
"marginRight",
"marginTop",
"marginBottom",
"borderLeftWidth",
"borderRightWidth",
"borderTopWidth",
"borderBottomWidth",
],
u = h.length,
d = !1;
return r;
}),
(function (t, e) {
"use strict";
"function" == typeof define && define.amd
? define("desandro-matches-selector/matches-selector", e)
: "object" == typeof module && module.exports
? (module.exports = e())
: (t.matchesSelector = e());
})(window, function () {
"use strict";
var t = (function () {
var t = window.Element.prototype;
if (t.matches) return "matches";
if (t.matchesSelector) return "matchesSelector";
for (var e = ["webkit", "moz", "ms", "o"], i = 0; i < e.length; i++) {
var n = e[i],
o = n + "MatchesSelector";
if (t[o]) return o;
}
})();
return function (e, i) {
return e[t](i);
};
}),
(function (t, e) {
"function" == typeof define && define.amd
? define("fizzy-ui-utils/utils", ["desandro-matches-selector/matches-selector"], function (i) {
return e(t, i);
})
: "object" == typeof module && module.exports
? (module.exports = e(t, require("desandro-matches-selector")))
: (t.fizzyUIUtils = e(t, t.matchesSelector));
})(window, function (t, e) {
var i = {};
(i.extend = function (t, e) {
for (var i in e) t[i] = e[i];
return t;
}),
(i.modulo = function (t, e) {
return ((t % e) + e) % e;
});
var n = Array.prototype.slice;
(i.makeArray = function (t) {
if (Array.isArray(t)) return t;
if (null === t || void 0 === t) return [];
var e = "object" == typeof t && "number" == typeof t.length;
return e ? n.call(t) : [t];
}),
(i.removeFrom = function (t, e) {
var i = t.indexOf(e);
-1 != i && t.splice(i, 1);
}),
(i.getParent = function (t, i) {
for (; t.parentNode && t != document.body;) if (((t = t.parentNode), e(t, i))) return t;
}),
(i.getQueryElement = function (t) {
return "string" == typeof t ? document.querySelector(t) : t;
}),
(i.handleEvent = function (t) {
var e = "on" + t.type;
this[e] && this[e](t);
}),
(i.filterFindElements = function (t, n) {
t = i.makeArray(t);
var o = [];
return (
t.forEach(function (t) {
if (t instanceof HTMLElement) {
if (!n) return void o.push(t);
e(t, n) && o.push(t);
for (var i = t.querySelectorAll(n), r = 0; r < i.length; r++) o.push(i[r]);
}
}),
o
);
}),
(i.debounceMethod = function (t, e, i) {
i = i || 100;
var n = t.prototype[e],
o = e + "Timeout";
t.prototype[e] = function () {
var t = this[o];
clearTimeout(t);
var e = arguments,
r = this;
this[o] = setTimeout(function () {
n.apply(r, e), delete r[o];
}, i);
};
}),
(i.docReady = function (t) {
var e = document.readyState;
"complete" == e || "interactive" == e ? setTimeout(t) : document.addEventListener("DOMContentLoaded", t);
}),
(i.toDashed = function (t) {
return t
.replace(/(.)([A-Z])/g, function (t, e, i) {
return e + "-" + i;
})
.toLowerCase();
});
var o = t.console;
return (
(i.htmlInit = function (e, n) {
i.docReady(function () {
var r = i.toDashed(n),
s = "data-" + r,
a = document.querySelectorAll("[" + s + "]"),
h = document.querySelectorAll(".js-" + r),
u = i.makeArray(a).concat(i.makeArray(h)),
d = s + "-options",
l = t.jQuery;
u.forEach(function (t) {
var i,
r = t.getAttribute(s) || t.getAttribute(d);
try {
i = r && JSON.parse(r);
} catch (a) {
return void (o && o.error("Error parsing " + s + " on " + t.className + ": " + a));
}
var h = new e(t, i);
l && l.data(t, n, h);
});
});
}),
i
);
}),
(function (t, e) {
"function" == typeof define && define.amd
? define("outlayer/item", ["ev-emitter/ev-emitter", "get-size/get-size"], e)
: "object" == typeof module && module.exports
? (module.exports = e(require("ev-emitter"), require("get-size")))
: ((t.Outlayer = {}), (t.Outlayer.Item = e(t.EvEmitter, t.getSize)));
})(window, function (t, e) {
"use strict";
function i(t) {
for (var e in t) return !1;
return (e = null), !0;
}
function n(t, e) {
t && ((this.element = t), (this.layout = e), (this.position = { x: 0, y: 0 }), this._create());
}
function o(t) {
return t.replace(/([A-Z])/g, function (t) {
return "-" + t.toLowerCase();
});
}
var r = document.documentElement.style,
s = "string" == typeof r.transition ? "transition" : "WebkitTransition",
a = "string" == typeof r.transform ? "transform" : "WebkitTransform",
h = { WebkitTransition: "webkitTransitionEnd", transition: "transitionend" }[s],
u = { transform: a, transition: s, transitionDuration: s + "Duration", transitionProperty: s + "Property", transitionDelay: s + "Delay" },
d = (n.prototype = Object.create(t.prototype));
(d.constructor = n),
(d._create = function () {
(this._transn = { ingProperties: {}, clean: {}, onEnd: {} }), this.css({ position: "absolute" });
}),
(d.handleEvent = function (t) {
var e = "on" + t.type;
this[e] && this[e](t);
}),
(d.getSize = function () {
this.size = e(this.element);
}),
(d.css = function (t) {
var e = this.element.style;
for (var i in t) {
var n = u[i] || i;
e[n] = t[i];
}
}),
(d.getPosition = function () {
var t = getComputedStyle(this.element),
e = this.layout._getOption("originLeft"),
i = this.layout._getOption("originTop"),
n = t[e ? "left" : "right"],
o = t[i ? "top" : "bottom"],
r = parseFloat(n),
s = parseFloat(o),
a = this.layout.size;
-1 != n.indexOf("%") && (r = (r / 100) * a.width),
-1 != o.indexOf("%") && (s = (s / 100) * a.height),
(r = isNaN(r) ? 0 : r),
(s = isNaN(s) ? 0 : s),
(r -= e ? a.paddingLeft : a.paddingRight),
(s -= i ? a.paddingTop : a.paddingBottom),
(this.position.x = r),
(this.position.y = s);
}),
(d.layoutPosition = function () {
var t = this.layout.size,
e = {},
i = this.layout._getOption("originLeft"),
n = this.layout._getOption("originTop"),
o = i ? "paddingLeft" : "paddingRight",
r = i ? "left" : "right",
s = i ? "right" : "left",
a = this.position.x + t[o];
(e[r] = this.getXValue(a)), (e[s] = "");
var h = n ? "paddingTop" : "paddingBottom",
u = n ? "top" : "bottom",
d = n ? "bottom" : "top",
l = this.position.y + t[h];
(e[u] = this.getYValue(l)), (e[d] = ""), this.css(e), this.emitEvent("layout", [this]);
}),
(d.getXValue = function (t) {
var e = this.layout._getOption("horizontal");
return this.layout.options.percentPosition && !e ? (t / this.layout.size.width) * 100 + "%" : t + "px";
}),
(d.getYValue = function (t) {
var e = this.layout._getOption("horizontal");
return this.layout.options.percentPosition && e ? (t / this.layout.size.height) * 100 + "%" : t + "px";
}),
(d._transitionTo = function (t, e) {
this.getPosition();
var i = this.position.x,
n = this.position.y,
o = t == this.position.x && e == this.position.y;
if ((this.setPosition(t, e), o && !this.isTransitioning)) return void this.layoutPosition();
var r = t - i,
s = e - n,
a = {};
(a.transform = this.getTranslate(r, s)), this.transition({ to: a, onTransitionEnd: { transform: this.layoutPosition }, isCleaning: !0 });
}),
(d.getTranslate = function (t, e) {
var i = this.layout._getOption("originLeft"),
n = this.layout._getOption("originTop");
return (t = i ? t : -t), (e = n ? e : -e), "translate3d(" + t + "px, " + e + "px, 0)";
}),
(d.goTo = function (t, e) {
this.setPosition(t, e), this.layoutPosition();
}),
(d.moveTo = d._transitionTo),
(d.setPosition = function (t, e) {
(this.position.x = parseFloat(t)), (this.position.y = parseFloat(e));
}),
(d._nonTransition = function (t) {
this.css(t.to), t.isCleaning && this._removeStyles(t.to);
for (var e in t.onTransitionEnd) t.onTransitionEnd[e].call(this);
}),
(d.transition = function (t) {
if (!parseFloat(this.layout.options.transitionDuration)) return void this._nonTransition(t);
var e = this._transn;
for (var i in t.onTransitionEnd) e.onEnd[i] = t.onTransitionEnd[i];
for (i in t.to) (e.ingProperties[i] = !0), t.isCleaning && (e.clean[i] = !0);
if (t.from) {
this.css(t.from);
var n = this.element.offsetHeight;
n = null;
}
this.enableTransition(t.to), this.css(t.to), (this.isTransitioning = !0);
});
var l = "opacity," + o(a);
(d.enableTransition = function () {
if (!this.isTransitioning) {
var t = this.layout.options.transitionDuration;
(t = "number" == typeof t ? t + "ms" : t), this.css({ transitionProperty: l, transitionDuration: t, transitionDelay: this.staggerDelay || 0 }), this.element.addEventListener(h, this, !1);
}
}),
(d.onwebkitTransitionEnd = function (t) {
this.ontransitionend(t);
}),
(d.onotransitionend = function (t) {
this.ontransitionend(t);
});
var c = { "-webkit-transform": "transform" };
(d.ontransitionend = function (t) {
if (t.target === this.element) {
var e = this._transn,
n = c[t.propertyName] || t.propertyName;
if ((delete e.ingProperties[n], i(e.ingProperties) && this.disableTransition(), n in e.clean && ((this.element.style[t.propertyName] = ""), delete e.clean[n]), n in e.onEnd)) {
var o = e.onEnd[n];
o.call(this), delete e.onEnd[n];
}
this.emitEvent("transitionEnd", [this]);
}
}),
(d.disableTransition = function () {
this.removeTransitionStyles(), this.element.removeEventListener(h, this, !1), (this.isTransitioning = !1);
}),
(d._removeStyles = function (t) {
var e = {};
for (var i in t) e[i] = "";
this.css(e);
});
var f = { transitionProperty: "", transitionDuration: "", transitionDelay: "" };
return (
(d.removeTransitionStyles = function () {
this.css(f);
}),
(d.stagger = function (t) {
(t = isNaN(t) ? 0 : t), (this.staggerDelay = t + "ms");
}),
(d.removeElem = function () {
this.element.parentNode.removeChild(this.element), this.css({ display: "" }), this.emitEvent("remove", [this]);
}),
(d.remove = function () {
return s && parseFloat(this.layout.options.transitionDuration)
? (this.once("transitionEnd", function () {
this.removeElem();
}),
void this.hide())
: void this.removeElem();
}),
(d.reveal = function () {
delete this.isHidden, this.css({ display: "" });
var t = this.layout.options,
e = {},
i = this.getHideRevealTransitionEndProperty("visibleStyle");
(e[i] = this.onRevealTransitionEnd), this.transition({ from: t.hiddenStyle, to: t.visibleStyle, isCleaning: !0, onTransitionEnd: e });
}),
(d.onRevealTransitionEnd = function () {
this.isHidden || this.emitEvent("reveal");
}),
(d.getHideRevealTransitionEndProperty = function (t) {
var e = this.layout.options[t];
if (e.opacity) return "opacity";
for (var i in e) return i;
}),
(d.hide = function () {
(this.isHidden = !0), this.css({ display: "" });
var t = this.layout.options,
e = {},
i = this.getHideRevealTransitionEndProperty("hiddenStyle");
(e[i] = this.onHideTransitionEnd), this.transition({ from: t.visibleStyle, to: t.hiddenStyle, isCleaning: !0, onTransitionEnd: e });
}),
(d.onHideTransitionEnd = function () {
this.isHidden && (this.css({ display: "none" }), this.emitEvent("hide"));
}),
(d.destroy = function () {
this.css({ position: "", left: "", right: "", top: "", bottom: "", transition: "", transform: "" });
}),
n
);
}),
(function (t, e) {
"use strict";
"function" == typeof define && define.amd
? define("outlayer/outlayer", ["ev-emitter/ev-emitter", "get-size/get-size", "fizzy-ui-utils/utils", "./item"], function (i, n, o, r) {
return e(t, i, n, o, r);
})
: "object" == typeof module && module.exports
? (module.exports = e(t, require("ev-emitter"), require("get-size"), require("fizzy-ui-utils"), require("./item")))
: (t.Outlayer = e(t, t.EvEmitter, t.getSize, t.fizzyUIUtils, t.Outlayer.Item));
})(window, function (t, e, i, n, o) {
"use strict";
function r(t, e) {
var i = n.getQueryElement(t);
if (!i) return void (h && h.error("Bad element for " + this.constructor.namespace + ": " + (i || t)));
(this.element = i), u && (this.$element = u(this.element)), (this.options = n.extend({}, this.constructor.defaults)), this.option(e);
var o = ++l;
(this.element.outlayerGUID = o), (c[o] = this), this._create();
var r = this._getOption("initLayout");
r && this.layout();
}
function s(t) {
function e() {
t.apply(this, arguments);
}
return (e.prototype = Object.create(t.prototype)), (e.prototype.constructor = e), e;
}
function a(t) {
if ("number" == typeof t) return t;
var e = t.match(/(^\d*\.?\d*)(\w*)/),
i = e && e[1],
n = e && e[2];
if (!i.length) return 0;
i = parseFloat(i);
var o = m[n] || 1;
return i * o;
}
var h = t.console,
u = t.jQuery,
d = function () { },
l = 0,
c = {};
(r.namespace = "outlayer"),
(r.Item = o),
(r.defaults = {
containerStyle: { position: "relative" },
initLayout: !0,
originLeft: !0,
originTop: !0,
resize: !0,
resizeContainer: !0,
transitionDuration: "0.4s",
hiddenStyle: { opacity: 0, transform: "scale(0.001)" },
visibleStyle: { opacity: 1, transform: "scale(1)" },
});
var f = r.prototype;
n.extend(f, e.prototype),
(f.option = function (t) {
n.extend(this.options, t);
}),
(f._getOption = function (t) {
var e = this.constructor.compatOptions[t];
return e && void 0 !== this.options[e] ? this.options[e] : this.options[t];
}),
(r.compatOptions = {
initLayout: "isInitLayout",
horizontal: "isHorizontal",
layoutInstant: "isLayoutInstant",
originLeft: "isOriginLeft",
originTop: "isOriginTop",
resize: "isResizeBound",
resizeContainer: "isResizingContainer",
}),
(f._create = function () {
this.reloadItems(), (this.stamps = []), this.stamp(this.options.stamp), n.extend(this.element.style, this.options.containerStyle);
var t = this._getOption("resize");
t && this.bindResize();
}),
(f.reloadItems = function () {
this.items = this._itemize(this.element.children);
}),
(f._itemize = function (t) {
for (var e = this._filterFindItemElements(t), i = this.constructor.Item, n = [], o = 0; o < e.length; o++) {
var r = e[o],
s = new i(r, this);
n.push(s);
}
return n;
}),
(f._filterFindItemElements = function (t) {
return n.filterFindElements(t, this.options.itemSelector);
}),
(f.getItemElements = function () {
return this.items.map(function (t) {
return t.element;
});
}),
(f.layout = function () {
this._resetLayout(), this._manageStamps();
var t = this._getOption("layoutInstant"),
e = void 0 !== t ? t : !this._isLayoutInited;
this.layoutItems(this.items, e), (this._isLayoutInited = !0);
}),
(f._init = f.layout),
(f._resetLayout = function () {
this.getSize();
}),
(f.getSize = function () {
this.size = i(this.element);
}),
(f._getMeasurement = function (t, e) {
var n,
o = this.options[t];
o ? ("string" == typeof o ? (n = this.element.querySelector(o)) : o instanceof HTMLElement && (n = o), (this[t] = n ? i(n)[e] : o)) : (this[t] = 0);
}),
(f.layoutItems = function (t, e) {
(t = this._getItemsForLayout(t)), this._layoutItems(t, e), this._postLayout();
}),
(f._getItemsForLayout = function (t) {
return t.filter(function (t) {
return !t.isIgnored;
});
}),
(f._layoutItems = function (t, e) {
if ((this._emitCompleteOnItems("layout", t), t && t.length)) {
var i = [];
t.forEach(function (t) {
var n = this._getItemLayoutPosition(t);
(n.item = t), (n.isInstant = e || t.isLayoutInstant), i.push(n);
}, this),
this._processLayoutQueue(i);
}
}),
(f._getItemLayoutPosition = function () {
return { x: 0, y: 0 };
}),
(f._processLayoutQueue = function (t) {
this.updateStagger(),
t.forEach(function (t, e) {
this._positionItem(t.item, t.x, t.y, t.isInstant, e);
}, this);
}),
(f.updateStagger = function () {
var t = this.options.stagger;
return null === t || void 0 === t ? void (this.stagger = 0) : ((this.stagger = a(t)), this.stagger);
}),
(f._positionItem = function (t, e, i, n, o) {
n ? t.goTo(e, i) : (t.stagger(o * this.stagger), t.moveTo(e, i));
}),
(f._postLayout = function () {
this.resizeContainer();
}),
(f.resizeContainer = function () {
var t = this._getOption("resizeContainer");
if (t) {
var e = this._getContainerSize();
e && (this._setContainerMeasure(e.width, !0), this._setContainerMeasure(e.height, !1));
}
}),
(f._getContainerSize = d),
(f._setContainerMeasure = function (t, e) {
if (void 0 !== t) {
var i = this.size;
i.isBorderBox && (t += e ? i.paddingLeft + i.paddingRight + i.borderLeftWidth + i.borderRightWidth : i.paddingBottom + i.paddingTop + i.borderTopWidth + i.borderBottomWidth),
(t = Math.max(t, 0)),
(this.element.style[e ? "width" : "height"] = t + "px");
}
}),
(f._emitCompleteOnItems = function (t, e) {
function i() {
o.dispatchEvent(t + "Complete", null, [e]);
}
function n() {
s++, s == r && i();
}
var o = this,
r = e.length;
if (!e || !r) return void i();
var s = 0;
e.forEach(function (e) {
e.once(t, n);
});
}),
(f.dispatchEvent = function (t, e, i) {
var n = e ? [e].concat(i) : i;
if ((this.emitEvent(t, n), u))
if (((this.$element = this.$element || u(this.element)), e)) {
var o = u.Event(e);
(o.type = t), this.$element.trigger(o, i);
} else this.$element.trigger(t, i);
}),
(f.ignore = function (t) {
var e = this.getItem(t);
e && (e.isIgnored = !0);
}),
(f.unignore = function (t) {
var e = this.getItem(t);
e && delete e.isIgnored;
}),
(f.stamp = function (t) {
(t = this._find(t)), t && ((this.stamps = this.stamps.concat(t)), t.forEach(this.ignore, this));
}),
(f.unstamp = function (t) {
(t = this._find(t)),
t &&
t.forEach(function (t) {
n.removeFrom(this.stamps, t), this.unignore(t);
}, this);
}),
(f._find = function (t) {
return t ? ("string" == typeof t && (t = this.element.querySelectorAll(t)), (t = n.makeArray(t))) : void 0;
}),
(f._manageStamps = function () {
this.stamps && this.stamps.length && (this._getBoundingRect(), this.stamps.forEach(this._manageStamp, this));
}),
(f._getBoundingRect = function () {
var t = this.element.getBoundingClientRect(),
e = this.size;
this._boundingRect = {
left: t.left + e.paddingLeft + e.borderLeftWidth,
top: t.top + e.paddingTop + e.borderTopWidth,
right: t.right - (e.paddingRight + e.borderRightWidth),
bottom: t.bottom - (e.paddingBottom + e.borderBottomWidth),
};
}),
(f._manageStamp = d),
(f._getElementOffset = function (t) {
var e = t.getBoundingClientRect(),
n = this._boundingRect,
o = i(t),
r = { left: e.left - n.left - o.marginLeft, top: e.top - n.top - o.marginTop, right: n.right - e.right - o.marginRight, bottom: n.bottom - e.bottom - o.marginBottom };
return r;
}),
(f.handleEvent = n.handleEvent),
(f.bindResize = function () {
t.addEventListener("resize", this), (this.isResizeBound = !0);
}),
(f.unbindResize = function () {
t.removeEventListener("resize", this), (this.isResizeBound = !1);
}),
(f.onresize = function () {
this.resize();
}),
n.debounceMethod(r, "onresize", 100),
(f.resize = function () {
this.isResizeBound && this.needsResizeLayout() && this.layout();
}),
(f.needsResizeLayout = function () {
var t = i(this.element),
e = this.size && t;
return e && t.innerWidth !== this.size.innerWidth;
}),
(f.addItems = function (t) {
var e = this._itemize(t);
return e.length && (this.items = this.items.concat(e)), e;
}),
(f.appended = function (t) {
var e = this.addItems(t);
e.length && (this.layoutItems(e, !0), this.reveal(e));
}),
(f.prepended = function (t) {
var e = this._itemize(t);
if (e.length) {
var i = this.items.slice(0);
(this.items = e.concat(i)), this._resetLayout(), this._manageStamps(), this.layoutItems(e, !0), this.reveal(e), this.layoutItems(i);
}
}),
(f.reveal = function (t) {
if ((this._emitCompleteOnItems("reveal", t), t && t.length)) {
var e = this.updateStagger();
t.forEach(function (t, i) {
t.stagger(i * e), t.reveal();
});
}
}),
(f.hide = function (t) {
if ((this._emitCompleteOnItems("hide", t), t && t.length)) {
var e = this.updateStagger();
t.forEach(function (t, i) {
t.stagger(i * e), t.hide();
});
}
}),
(f.revealItemElements = function (t) {
var e = this.getItems(t);
this.reveal(e);
}),
(f.hideItemElements = function (t) {
var e = this.getItems(t);
this.hide(e);
}),
(f.getItem = function (t) {
for (var e = 0; e < this.items.length; e++) {
var i = this.items[e];
if (i.element == t) return i;
}
}),
(f.getItems = function (t) {
t = n.makeArray(t);
var e = [];
return (
t.forEach(function (t) {
var i = this.getItem(t);
i && e.push(i);
}, this),
e
);
}),
(f.remove = function (t) {
var e = this.getItems(t);
this._emitCompleteOnItems("remove", e),
e &&
e.length &&
e.forEach(function (t) {
t.remove(), n.removeFrom(this.items, t);
}, this);
}),
(f.destroy = function () {
var t = this.element.style;
(t.height = ""),
(t.position = ""),
(t.width = ""),
this.items.forEach(function (t) {
t.destroy();
}),
this.unbindResize();
var e = this.element.outlayerGUID;
delete c[e], delete this.element.outlayerGUID, u && u.removeData(this.element, this.constructor.namespace);
}),
(r.data = function (t) {
t = n.getQueryElement(t);
var e = t && t.outlayerGUID;
return e && c[e];
}),
(r.create = function (t, e) {
var i = s(r);
return (
(i.defaults = n.extend({}, r.defaults)),
n.extend(i.defaults, e),
(i.compatOptions = n.extend({}, r.compatOptions)),
(i.namespace = t),
(i.data = r.data),
(i.Item = s(o)),
n.htmlInit(i, t),
u && u.bridget && u.bridget(t, i),
i
);
});
var m = { ms: 1, s: 1e3 };
return (r.Item = o), r;
}),
(function (t, e) {
"function" == typeof define && define.amd
? define(["outlayer/outlayer", "get-size/get-size"], e)
: "object" == typeof module && module.exports
? (module.exports = e(require("outlayer"), require("get-size")))
: (t.Masonry = e(t.Outlayer, t.getSize));
})(window, function (t, e) {
var i = t.create("masonry");
i.compatOptions.fitWidth = "isFitWidth";
var n = i.prototype;
return (
(n._resetLayout = function () {
this.getSize(), this._getMeasurement("columnWidth", "outerWidth"), this._getMeasurement("gutter", "outerWidth"), this.measureColumns(), (this.colYs = []);
for (var t = 0; t < this.cols; t++) this.colYs.push(0);
(this.maxY = 0), (this.horizontalColIndex = 0);
}),
(n.measureColumns = function () {
if ((this.getContainerWidth(), !this.columnWidth)) {
var t = this.items[0],
i = t && t.element;
this.columnWidth = (i && e(i).outerWidth) || this.containerWidth;
}
var n = (this.columnWidth += this.gutter),
o = this.containerWidth + this.gutter,
r = o / n,
s = n - (o % n),
a = s && 1 > s ? "round" : "floor";
(r = Math[a](r)), (this.cols = Math.max(r, 1));
}),
(n.getContainerWidth = function () {
var t = this._getOption("fitWidth"),
i = t ? this.element.parentNode : this.element,
n = e(i);
this.containerWidth = n && n.innerWidth;
}),
(n._getItemLayoutPosition = function (t) {
t.getSize();
var e = t.size.outerWidth % this.columnWidth,
i = e && 1 > e ? "round" : "ceil",
n = Math[i](t.size.outerWidth / this.columnWidth);
n = Math.min(n, this.cols);
for (
var o = this.options.horizontalOrder ? "_getHorizontalColPosition" : "_getTopColPosition",
r = this[o](n, t),
s = { x: this.columnWidth * r.col, y: r.y },
a = r.y + t.size.outerHeight,
h = n + r.col,
u = r.col;
h > u;
u++
)
this.colYs[u] = a;
return s;
}),
(n._getTopColPosition = function (t) {
var e = this._getTopColGroup(t),
i = Math.min.apply(Math, e);
return { col: e.indexOf(i), y: i };
}),
(n._getTopColGroup = function (t) {
if (2 > t) return this.colYs;
for (var e = [], i = this.cols + 1 - t, n = 0; i > n; n++) e[n] = this._getColGroupY(n, t);
return e;
}),
(n._getColGroupY = function (t, e) {
if (2 > e) return this.colYs[t];
var i = this.colYs.slice(t, t + e);
return Math.max.apply(Math, i);
}),
(n._getHorizontalColPosition = function (t, e) {
var i = this.horizontalColIndex % this.cols,
n = t > 1 && i + t > this.cols;
i = n ? 0 : i;
var o = e.size.outerWidth && e.size.outerHeight;
return (this.horizontalColIndex = o ? i + t : this.horizontalColIndex), { col: i, y: this._getColGroupY(i, t) };
}),
(n._manageStamp = function (t) {
var i = e(t),
n = this._getElementOffset(t),
o = this._getOption("originLeft"),
r = o ? n.left : n.right,
s = r + i.outerWidth,
a = Math.floor(r / this.columnWidth);
a = Math.max(0, a);
var h = Math.floor(s / this.columnWidth);
(h -= s % this.columnWidth ? 0 : 1), (h = Math.min(this.cols - 1, h));
for (var u = this._getOption("originTop"), d = (u ? n.top : n.bottom) + i.outerHeight, l = a; h >= l; l++) this.colYs[l] = Math.max(d, this.colYs[l]);
}),
(n._getContainerSize = function () {
this.maxY = Math.max.apply(Math, this.colYs);
var t = { height: this.maxY };
return this._getOption("fitWidth") && (t.width = this._getContainerFitWidth()), t;
}),
(n._getContainerFitWidth = function () {
for (var t = 0, e = this.cols; --e && 0 === this.colYs[e];) t++;
return (this.cols - t) * this.columnWidth - this.gutter;
}),
(n.needsResizeLayout = function () {
var t = this.containerWidth;
return this.getContainerWidth(), t != this.containerWidth;
}),
i
);
});