/*! lightgallery - v1.6.11 - 2018-05-22 * http://sachinchoolur.github.io/lightGallery/ * Copyright (c) 2018 Sachin N; Licensed GPLv3 */ !(function (a, b) { "function" == typeof define && define.amd ? define(["jquery"], function (a) { return b(a); }) : "object" == typeof module && module.exports ? (module.exports = b(require("jquery"))) : b(a.jQuery); })(this, function (a) { !(function () { "use strict"; function b(b, d) { if ( ((this.el = b), (this.$el = a(b)), (this.s = a.extend({}, c, d)), this.s.dynamic && "undefined" !== this.s.dynamicEl && this.s.dynamicEl.constructor === Array && !this.s.dynamicEl.length) ) throw "When using dynamic mode, you must also define dynamicEl as an Array."; return ( (this.modules = {}), (this.lGalleryOn = !1), (this.lgBusy = !1), (this.hideBartimeout = !1), (this.isTouch = "ontouchstart" in document.documentElement), this.s.slideEndAnimatoin && (this.s.hideControlOnEnd = !1), this.s.dynamic ? (this.$items = this.s.dynamicEl) : "this" === this.s.selector ? (this.$items = this.$el) : "" !== this.s.selector ? this.s.selectWithin ? (this.$items = a(this.s.selectWithin).find(this.s.selector)) : (this.$items = this.$el.find(a(this.s.selector))) : (this.$items = this.$el.children()), (this.$slide = ""), (this.$outer = ""), this.init(), this ); } var c = { mode: "lg-slide", cssEasing: "ease", easing: "linear", speed: 600, height: "100%", width: "100%", addClass: "", startClass: "lg-start-zoom", backdropDuration: 150, hideBarsDelay: 6e3, useLeft: !1, closable: !0, loop: !0, escKey: !0, keyPress: !0, controls: !0, slideEndAnimatoin: !0, hideControlOnEnd: !1, mousewheel: !0, getCaptionFromTitleOrAlt: !0, appendSubHtmlTo: ".lg-sub-html", subHtmlSelectorRelative: !1, preload: 1, showAfterLoad: !0, selector: "", selectWithin: "", nextHtml: "", prevHtml: "", index: !1, iframeMaxWidth: "100%", download: !0, counter: !0, appendCounterTo: ".lg-toolbar", swipeThreshold: 50, enableSwipe: !0, enableDrag: !0, dynamic: !1, dynamicEl: [], galleryId: 1, }; (b.prototype.init = function () { var b = this; b.s.preload > b.$items.length && (b.s.preload = b.$items.length); var c = window.location.hash; c.indexOf("lg=" + this.s.galleryId) > 0 && ((b.index = parseInt(c.split("&slide=")[1], 10)), a("body").addClass("lg-from-hash"), a("body").hasClass("lg-on") || (setTimeout(function () { b.build(b.index); }), a("body").addClass("lg-on"))), b.s.dynamic ? (b.$el.trigger("onBeforeOpen.lg"), (b.index = b.s.index || 0), a("body").hasClass("lg-on") || setTimeout(function () { b.build(b.index), a("body").addClass("lg-on"); })) : b.$items.on("click.lgcustom", function (c) { try { c.preventDefault(), c.preventDefault(); } catch (a) { c.returnValue = !1; } b.$el.trigger("onBeforeOpen.lg"), (b.index = b.s.index || b.$items.index(this)), a("body").hasClass("lg-on") || (b.build(b.index), a("body").addClass("lg-on")); }); }), (b.prototype.build = function (b) { var c = this; c.structure(), a.each(a.fn.lightGallery.modules, function (b) { c.modules[b] = new a.fn.lightGallery.modules[b](c.el); }), c.slide(b, !1, !1, !1), c.s.keyPress && c.keyPress(), c.$items.length > 1 ? (c.arrow(), setTimeout(function () { c.enableDrag(), c.enableSwipe(); }, 50), c.s.mousewheel && c.mousewheel()) : c.$slide.on("click.lg", function () { c.$el.trigger("onSlideClick.lg"); }), c.counter(), c.closeGallery(), c.$el.trigger("onAfterOpen.lg"), c.$outer.on("mousemove.lg click.lg touchstart.lg", function () { c.$outer.removeClass("lg-hide-items"), clearTimeout(c.hideBartimeout), (c.hideBartimeout = setTimeout(function () { c.$outer.addClass("lg-hide-items"); }, c.s.hideBarsDelay)); }), c.$outer.trigger("mousemove.lg"); }), (b.prototype.structure = function () { var b, c = "", d = "", e = 0, f = "", g = this; for ( a("body").append('
'), a(".lg-backdrop").css( "transition-duration", this.s.backdropDuration + "ms" ), e = 0; e < this.$items.length; e++ ) c += '
'; if ( (this.s.controls && this.$items.length > 1 && (d = '
"), ".lg-sub-html" === this.s.appendSubHtmlTo && (f = '
'), (b = '
' + c + '
' + d + f + "
"), a("body").append(b), (this.$outer = a(".lg-outer")), (this.$slide = this.$outer.find(".lg-item")), this.s.useLeft ? (this.$outer.addClass("lg-use-left"), (this.s.mode = "lg-slide")) : this.$outer.addClass("lg-use-css3"), g.setTop(), a(window).on("resize.lg orientationchange.lg", function () { setTimeout(function () { g.setTop(); }, 100); }), this.$slide.eq(this.index).addClass("lg-current"), this.doCss() ? this.$outer.addClass("lg-css3") : (this.$outer.addClass("lg-css"), (this.s.speed = 0)), this.$outer.addClass(this.s.mode), this.s.enableDrag && this.$items.length > 1 && this.$outer.addClass("lg-grab"), this.s.showAfterLoad && this.$outer.addClass("lg-show-after-load"), this.doCss()) ) { var h = this.$outer.find(".lg-inner"); h.css("transition-timing-function", this.s.cssEasing), h.css("transition-duration", this.s.speed + "ms"); } setTimeout(function () { a(".lg-backdrop").addClass("in"); }), setTimeout(function () { g.$outer.addClass("lg-visible"); }, this.s.backdropDuration), this.s.download && this.$outer .find(".lg-toolbar") .append( '' ), (this.prevScrollTop = a(window).scrollTop()); }), (b.prototype.setTop = function () { if ("100%" !== this.s.height) { var b = a(window).height(), c = (b - parseInt(this.s.height, 10)) / 2, d = this.$outer.find(".lg"); b >= parseInt(this.s.height, 10) ? d.css("top", c + "px") : d.css("top", "0px"); } }), (b.prototype.doCss = function () { return !!(function () { var a = [ "transition", "MozTransition", "WebkitTransition", "OTransition", "msTransition", "KhtmlTransition", ], b = document.documentElement, c = 0; for (c = 0; c < a.length; c++) if (a[c] in b.style) return !0; })(); }), (b.prototype.isVideo = function (a, b) { var c; if ( ((c = this.s.dynamic ? this.s.dynamicEl[b].html : this.$items.eq(b).attr("data-html")), !a) ) return c ? { html5: !0 } : (console.error( "lightGallery :- data-src is not pvovided on slide item " + (b + 1) + ". Please make sure the selector property is properly configured. More info - http://sachinchoolur.github.io/lightGallery/demos/html-markup.html" ), !1); var d = a.match( /\/\/(?:www\.)?youtu(?:\.be|be\.com|be-nocookie\.com)\/(?:watch\?v=|embed\/)?([a-z0-9\-\_\%]+)/i ), e = a.match(/\/\/(?:www\.)?vimeo.com\/([0-9a-z\-_]+)/i), f = a.match(/\/\/(?:www\.)?dai.ly\/([0-9a-z\-_]+)/i), g = a.match( /\/\/(?:www\.)?(?:vk\.com|vkontakte\.ru)\/(?:video_ext\.php\?)(.*)/i ); return d ? { youtube: d } : e ? { vimeo: e } : f ? { dailymotion: f } : g ? { vk: g } : void 0; }), (b.prototype.counter = function () { this.s.counter && a(this.s.appendCounterTo).append( '
' + (parseInt(this.index, 10) + 1) + ' / ' + this.$items.length + "
" ); }), (b.prototype.addHtml = function (b) { var c, d, e = null; if ( (this.s.dynamic ? this.s.dynamicEl[b].subHtmlUrl ? (c = this.s.dynamicEl[b].subHtmlUrl) : (e = this.s.dynamicEl[b].subHtml) : ((d = this.$items.eq(b)), d.attr("data-sub-html-url") ? (c = d.attr("data-sub-html-url")) : ((e = d.attr("data-sub-html")), this.s.getCaptionFromTitleOrAlt && !e && (e = d.attr("title") || d.find("img").first().attr("alt")))), !c) ) if (void 0 !== e && null !== e) { var f = e.substring(0, 1); ("." !== f && "#" !== f) || (e = this.s.subHtmlSelectorRelative && !this.s.dynamic ? d.find(e).html() : a(e).html()); } else e = ""; ".lg-sub-html" === this.s.appendSubHtmlTo ? c ? this.$outer.find(this.s.appendSubHtmlTo).load(c) : this.$outer.find(this.s.appendSubHtmlTo).html(e) : c ? this.$slide.eq(b).load(c) : this.$slide.eq(b).append(e), void 0 !== e && null !== e && ("" === e ? this.$outer .find(this.s.appendSubHtmlTo) .addClass("lg-empty-html") : this.$outer .find(this.s.appendSubHtmlTo) .removeClass("lg-empty-html")), this.$el.trigger("onAfterAppendSubHtml.lg", [b]); }), (b.prototype.preload = function (a) { var b = 1, c = 1; for (b = 1; b <= this.s.preload && !(b >= this.$items.length - a); b++) this.loadContent(a + b, !1, 0); for (c = 1; c <= this.s.preload && !(a - c < 0); c++) this.loadContent(a - c, !1, 0); }), (b.prototype.loadContent = function (b, c, d) { var e, f, g, h, i, j, k = this, l = !1, m = function (b) { for (var c = [], d = [], e = 0; e < b.length; e++) { var g = b[e].split(" "); "" === g[0] && g.splice(0, 1), d.push(g[0]), c.push(g[1]); } for (var h = a(window).width(), i = 0; i < c.length; i++) if (parseInt(c[i], 10) > h) { f = d[i]; break; } }; if (k.s.dynamic) { if ( (k.s.dynamicEl[b].poster && ((l = !0), (g = k.s.dynamicEl[b].poster)), (j = k.s.dynamicEl[b].html), (f = k.s.dynamicEl[b].src), k.s.dynamicEl[b].responsive) ) { m(k.s.dynamicEl[b].responsive.split(",")); } (h = k.s.dynamicEl[b].srcset), (i = k.s.dynamicEl[b].sizes); } else { if ( (k.$items.eq(b).attr("data-poster") && ((l = !0), (g = k.$items.eq(b).attr("data-poster"))), (j = k.$items.eq(b).attr("data-html")), (f = k.$items.eq(b).attr("href") || k.$items.eq(b).attr("data-src")), k.$items.eq(b).attr("data-responsive")) ) { m(k.$items.eq(b).attr("data-responsive").split(",")); } (h = k.$items.eq(b).attr("data-srcset")), (i = k.$items.eq(b).attr("data-sizes")); } var n = !1; k.s.dynamic ? k.s.dynamicEl[b].iframe && (n = !0) : "true" === k.$items.eq(b).attr("data-iframe") && (n = !0); var o = k.isVideo(f, b); if (!k.$slide.eq(b).hasClass("lg-loaded")) { if (n) k.$slide .eq(b) .prepend( '
' ); else if (l) { var p = ""; (p = o && o.youtube ? "lg-has-youtube" : o && o.vimeo ? "lg-has-vimeo" : "lg-has-html5"), k.$slide .eq(b) .prepend( '
' ); } else o ? (k.$slide .eq(b) .prepend( '
' ), k.$el.trigger("hasVideo.lg", [b, f, j])) : k.$slide .eq(b) .prepend( '
' ); if ( (k.$el.trigger("onAferAppendSlide.lg", [b]), (e = k.$slide.eq(b).find(".lg-object")), i && e.attr("sizes", i), h) ) { e.attr("srcset", h); try { picturefill({ elements: [e[0]] }); } catch (a) { console.warn( "lightGallery :- If you want srcset to be supported for older browser please include picturefil version 2 javascript library in your document." ); } } ".lg-sub-html" !== this.s.appendSubHtmlTo && k.addHtml(b), k.$slide.eq(b).addClass("lg-loaded"); } k.$slide .eq(b) .find(".lg-object") .on("load.lg error.lg", function () { var c = 0; d && !a("body").hasClass("lg-from-hash") && (c = d), setTimeout(function () { k.$slide.eq(b).addClass("lg-complete"), k.$el.trigger("onSlideItemLoad.lg", [b, d || 0]); }, c); }), o && o.html5 && !l && k.$slide.eq(b).addClass("lg-complete"), !0 === c && (k.$slide.eq(b).hasClass("lg-complete") ? k.preload(b) : k.$slide .eq(b) .find(".lg-object") .on("load.lg error.lg", function () { k.preload(b); })); }), (b.prototype.slide = function (b, c, d, e) { var f = this.$outer.find(".lg-current").index(), g = this; if (!g.lGalleryOn || f !== b) { var h = this.$slide.length, i = g.lGalleryOn ? this.s.speed : 0; if (!g.lgBusy) { if (this.s.download) { var j; (j = g.s.dynamic ? !1 !== g.s.dynamicEl[b].downloadUrl && (g.s.dynamicEl[b].downloadUrl || g.s.dynamicEl[b].src) : "false" !== g.$items.eq(b).attr("data-download-url") && (g.$items.eq(b).attr("data-download-url") || g.$items.eq(b).attr("href") || g.$items.eq(b).attr("data-src"))), j ? (a("#lg-download").attr("href", j), g.$outer.removeClass("lg-hide-download")) : g.$outer.addClass("lg-hide-download"); } if ( (this.$el.trigger("onBeforeSlide.lg", [f, b, c, d]), (g.lgBusy = !0), clearTimeout(g.hideBartimeout), ".lg-sub-html" === this.s.appendSubHtmlTo && setTimeout(function () { g.addHtml(b); }, i), this.arrowDisable(b), e || (b < f ? (e = "prev") : b > f && (e = "next")), c) ) { this.$slide.removeClass("lg-prev-slide lg-current lg-next-slide"); var k, l; h > 2 ? ((k = b - 1), (l = b + 1), 0 === b && f === h - 1 ? ((l = 0), (k = h - 1)) : b === h - 1 && 0 === f && ((l = 0), (k = h - 1))) : ((k = 0), (l = 1)), "prev" === e ? g.$slide.eq(l).addClass("lg-next-slide") : g.$slide.eq(k).addClass("lg-prev-slide"), g.$slide.eq(b).addClass("lg-current"); } else g.$outer.addClass("lg-no-trans"), this.$slide.removeClass("lg-prev-slide lg-next-slide"), "prev" === e ? (this.$slide.eq(b).addClass("lg-prev-slide"), this.$slide.eq(f).addClass("lg-next-slide")) : (this.$slide.eq(b).addClass("lg-next-slide"), this.$slide.eq(f).addClass("lg-prev-slide")), setTimeout(function () { g.$slide.removeClass("lg-current"), g.$slide.eq(b).addClass("lg-current"), g.$outer.removeClass("lg-no-trans"); }, 50); g.lGalleryOn ? (setTimeout(function () { g.loadContent(b, !0, 0); }, this.s.speed + 50), setTimeout(function () { (g.lgBusy = !1), g.$el.trigger("onAfterSlide.lg", [f, b, c, d]); }, this.s.speed)) : (g.loadContent(b, !0, g.s.backdropDuration), (g.lgBusy = !1), g.$el.trigger("onAfterSlide.lg", [f, b, c, d])), (g.lGalleryOn = !0), this.s.counter && a("#lg-counter-current").text(b + 1); } g.index = b; } }), (b.prototype.goToNextSlide = function (a) { var b = this, c = b.s.loop; a && b.$slide.length < 3 && (c = !1), b.lgBusy || (b.index + 1 < b.$slide.length ? (b.index++, b.$el.trigger("onBeforeNextSlide.lg", [b.index]), b.slide(b.index, a, !1, "next")) : c ? ((b.index = 0), b.$el.trigger("onBeforeNextSlide.lg", [b.index]), b.slide(b.index, a, !1, "next")) : b.s.slideEndAnimatoin && !a && (b.$outer.addClass("lg-right-end"), setTimeout(function () { b.$outer.removeClass("lg-right-end"); }, 400))); }), (b.prototype.goToPrevSlide = function (a) { var b = this, c = b.s.loop; a && b.$slide.length < 3 && (c = !1), b.lgBusy || (b.index > 0 ? (b.index--, b.$el.trigger("onBeforePrevSlide.lg", [b.index, a]), b.slide(b.index, a, !1, "prev")) : c ? ((b.index = b.$items.length - 1), b.$el.trigger("onBeforePrevSlide.lg", [b.index, a]), b.slide(b.index, a, !1, "prev")) : b.s.slideEndAnimatoin && !a && (b.$outer.addClass("lg-left-end"), setTimeout(function () { b.$outer.removeClass("lg-left-end"); }, 400))); }), (b.prototype.keyPress = function () { var b = this; this.$items.length > 1 && a(window).on("keyup.lg", function (a) { b.$items.length > 1 && (37 === a.keyCode && (a.preventDefault(), b.goToPrevSlide()), 39 === a.keyCode && (a.preventDefault(), b.goToNextSlide())); }), a(window).on("keydown.lg", function (a) { !0 === b.s.escKey && 27 === a.keyCode && (a.preventDefault(), b.$outer.hasClass("lg-thumb-open") ? b.$outer.removeClass("lg-thumb-open") : b.destroy()); }); }), (b.prototype.arrow = function () { var a = this; this.$outer.find(".lg-prev").on("click.lg", function () { a.goToPrevSlide(); }), this.$outer.find(".lg-next").on("click.lg", function () { a.goToNextSlide(); }); }), (b.prototype.arrowDisable = function (a) { !this.s.loop && this.s.hideControlOnEnd && (a + 1 < this.$slide.length ? this.$outer .find(".lg-next") .removeAttr("disabled") .removeClass("disabled") : this.$outer .find(".lg-next") .attr("disabled", "disabled") .addClass("disabled"), a > 0 ? this.$outer .find(".lg-prev") .removeAttr("disabled") .removeClass("disabled") : this.$outer .find(".lg-prev") .attr("disabled", "disabled") .addClass("disabled")); }), (b.prototype.setTranslate = function (a, b, c) { this.s.useLeft ? a.css("left", b) : a.css({ transform: "translate3d(" + b + "px, " + c + "px, 0px)" }); }), (b.prototype.touchMove = function (b, c) { var d = c - b; Math.abs(d) > 15 && (this.$outer.addClass("lg-dragging"), this.setTranslate(this.$slide.eq(this.index), d, 0), this.setTranslate( a(".lg-prev-slide"), -this.$slide.eq(this.index).width() + d, 0 ), this.setTranslate( a(".lg-next-slide"), this.$slide.eq(this.index).width() + d, 0 )); }), (b.prototype.touchEnd = function (a) { var b = this; "lg-slide" !== b.s.mode && b.$outer.addClass("lg-slide"), this.$slide .not(".lg-current, .lg-prev-slide, .lg-next-slide") .css("opacity", "0"), setTimeout(function () { b.$outer.removeClass("lg-dragging"), a < 0 && Math.abs(a) > b.s.swipeThreshold ? b.goToNextSlide(!0) : a > 0 && Math.abs(a) > b.s.swipeThreshold ? b.goToPrevSlide(!0) : Math.abs(a) < 5 && b.$el.trigger("onSlideClick.lg"), b.$slide.removeAttr("style"); }), setTimeout(function () { b.$outer.hasClass("lg-dragging") || "lg-slide" === b.s.mode || b.$outer.removeClass("lg-slide"); }, b.s.speed + 100); }), (b.prototype.enableSwipe = function () { var a = this, b = 0, c = 0, d = !1; a.s.enableSwipe && a.doCss() && (a.$slide.on("touchstart.lg", function (c) { a.$outer.hasClass("lg-zoomed") || a.lgBusy || (c.preventDefault(), a.manageSwipeClass(), (b = c.originalEvent.targetTouches[0].pageX)); }), a.$slide.on("touchmove.lg", function (e) { a.$outer.hasClass("lg-zoomed") || (e.preventDefault(), (c = e.originalEvent.targetTouches[0].pageX), a.touchMove(b, c), (d = !0)); }), a.$slide.on("touchend.lg", function () { a.$outer.hasClass("lg-zoomed") || (d ? ((d = !1), a.touchEnd(c - b)) : a.$el.trigger("onSlideClick.lg")); })); }), (b.prototype.enableDrag = function () { var b = this, c = 0, d = 0, e = !1, f = !1; b.s.enableDrag && b.doCss() && (b.$slide.on("mousedown.lg", function (d) { b.$outer.hasClass("lg-zoomed") || b.lgBusy || a(d.target).text().trim() || (d.preventDefault(), b.manageSwipeClass(), (c = d.pageX), (e = !0), (b.$outer.scrollLeft += 1), (b.$outer.scrollLeft -= 1), b.$outer.removeClass("lg-grab").addClass("lg-grabbing"), b.$el.trigger("onDragstart.lg")); }), a(window).on("mousemove.lg", function (a) { e && ((f = !0), (d = a.pageX), b.touchMove(c, d), b.$el.trigger("onDragmove.lg")); }), a(window).on("mouseup.lg", function (g) { f ? ((f = !1), b.touchEnd(d - c), b.$el.trigger("onDragend.lg")) : (a(g.target).hasClass("lg-object") || a(g.target).hasClass("lg-video-play")) && b.$el.trigger("onSlideClick.lg"), e && ((e = !1), b.$outer.removeClass("lg-grabbing").addClass("lg-grab")); })); }), (b.prototype.manageSwipeClass = function () { var a = this.index + 1, b = this.index - 1; this.s.loop && this.$slide.length > 2 && (0 === this.index ? (b = this.$slide.length - 1) : this.index === this.$slide.length - 1 && (a = 0)), this.$slide.removeClass("lg-next-slide lg-prev-slide"), b > -1 && this.$slide.eq(b).addClass("lg-prev-slide"), this.$slide.eq(a).addClass("lg-next-slide"); }), (b.prototype.mousewheel = function () { var a = this; a.$outer.on("mousewheel.lg", function (b) { b.deltaY && (b.deltaY > 0 ? a.goToPrevSlide() : a.goToNextSlide(), b.preventDefault()); }); }), (b.prototype.closeGallery = function () { var b = this, c = !1; this.$outer.find(".lg-close").on("click.lg", function () { b.destroy(); }), b.s.closable && (b.$outer.on("mousedown.lg", function (b) { c = !!( a(b.target).is(".lg-outer") || a(b.target).is(".lg-item ") || a(b.target).is(".lg-img-wrap") ); }), b.$outer.on("mousemove.lg", function () { c = !1; }), b.$outer.on("mouseup.lg", function (d) { (a(d.target).is(".lg-outer") || a(d.target).is(".lg-item ") || (a(d.target).is(".lg-img-wrap") && c)) && (b.$outer.hasClass("lg-dragging") || b.destroy()); })); }), (b.prototype.destroy = function (b) { var c = this; b || (c.$el.trigger("onBeforeClose.lg"), a(window).scrollTop(c.prevScrollTop)), b && (c.s.dynamic || this.$items.off("click.lg click.lgcustom"), a.removeData(c.el, "lightGallery")), this.$el.off(".lg.tm"), a.each(a.fn.lightGallery.modules, function (a) { c.modules[a] && c.modules[a].destroy(); }), (this.lGalleryOn = !1), clearTimeout(c.hideBartimeout), (this.hideBartimeout = !1), a(window).off(".lg"), a("body").removeClass("lg-on lg-from-hash"), c.$outer && c.$outer.removeClass("lg-visible"), a(".lg-backdrop").removeClass("in"), setTimeout(function () { c.$outer && c.$outer.remove(), a(".lg-backdrop").remove(), b || c.$el.trigger("onCloseAfter.lg"); }, c.s.backdropDuration + 50); }), (a.fn.lightGallery = function (c) { return this.each(function () { if (a.data(this, "lightGallery")) try { a(this).data("lightGallery").init(); } catch (a) { console.error("lightGallery has not initiated properly"); } else a.data(this, "lightGallery", new b(this, c)); }); }), (a.fn.lightGallery.modules = {}); })(); }), (function (a, b) { "function" == typeof define && define.amd ? define(["jquery"], function (a) { return b(a); }) : "object" == typeof exports ? (module.exports = b(require("jquery"))) : b(jQuery); })(0, function (a) { !(function () { "use strict"; var b = { autoplay: !1, pause: 5e3, progressBar: !0, fourceAutoplay: !1, autoplayControls: !0, appendAutoplayControlsTo: ".lg-toolbar", }, c = function (c) { return ( (this.core = a(c).data("lightGallery")), (this.$el = a(c)), !(this.core.$items.length < 2) && ((this.core.s = a.extend({}, b, this.core.s)), (this.interval = !1), (this.fromAuto = !0), (this.canceledOnTouch = !1), (this.fourceAutoplayTemp = this.core.s.fourceAutoplay), this.core.doCss() || (this.core.s.progressBar = !1), this.init(), this) ); }; (c.prototype.init = function () { var a = this; a.core.s.autoplayControls && a.controls(), a.core.s.progressBar && a.core.$outer .find(".lg") .append( '
' ), a.progress(), a.core.s.autoplay && a.$el.one("onSlideItemLoad.lg.tm", function () { a.startlAuto(); }), a.$el.on("onDragstart.lg.tm touchstart.lg.tm", function () { a.interval && (a.cancelAuto(), (a.canceledOnTouch = !0)); }), a.$el.on( "onDragend.lg.tm touchend.lg.tm onSlideClick.lg.tm", function () { !a.interval && a.canceledOnTouch && (a.startlAuto(), (a.canceledOnTouch = !1)); } ); }), (c.prototype.progress = function () { var a, b, c = this; c.$el.on("onBeforeSlide.lg.tm", function () { c.core.s.progressBar && c.fromAuto && ((a = c.core.$outer.find(".lg-progress-bar")), (b = c.core.$outer.find(".lg-progress")), c.interval && (b.removeAttr("style"), a.removeClass("lg-start"), setTimeout(function () { b.css( "transition", "width " + (c.core.s.speed + c.core.s.pause) + "ms ease 0s" ), a.addClass("lg-start"); }, 20))), c.fromAuto || c.core.s.fourceAutoplay || c.cancelAuto(), (c.fromAuto = !1); }); }), (c.prototype.controls = function () { var b = this; a(this.core.s.appendAutoplayControlsTo).append( '' ), b.core.$outer .find(".lg-autoplay-button") .on("click.lg", function () { a(b.core.$outer).hasClass("lg-show-autoplay") ? (b.cancelAuto(), (b.core.s.fourceAutoplay = !1)) : b.interval || (b.startlAuto(), (b.core.s.fourceAutoplay = b.fourceAutoplayTemp)); }); }), (c.prototype.startlAuto = function () { var a = this; a.core.$outer .find(".lg-progress") .css( "transition", "width " + (a.core.s.speed + a.core.s.pause) + "ms ease 0s" ), a.core.$outer.addClass("lg-show-autoplay"), a.core.$outer.find(".lg-progress-bar").addClass("lg-start"), (a.interval = setInterval(function () { a.core.index + 1 < a.core.$items.length ? a.core.index++ : (a.core.index = 0), (a.fromAuto = !0), a.core.slide(a.core.index, !1, !1, "next"); }, a.core.s.speed + a.core.s.pause)); }), (c.prototype.cancelAuto = function () { clearInterval(this.interval), (this.interval = !1), this.core.$outer.find(".lg-progress").removeAttr("style"), this.core.$outer.removeClass("lg-show-autoplay"), this.core.$outer.find(".lg-progress-bar").removeClass("lg-start"); }), (c.prototype.destroy = function () { this.cancelAuto(), this.core.$outer.find(".lg-progress-bar").remove(); }), (a.fn.lightGallery.modules.autoplay = c); })(); }), (function (a, b) { "function" == typeof define && define.amd ? define(["jquery"], function (a) { return b(a); }) : "object" == typeof exports ? (module.exports = b(require("jquery"))) : b(jQuery); })(0, function (a) { !(function () { "use strict"; var b = { fullScreen: !0 }, c = function (c) { return ( (this.core = a(c).data("lightGallery")), (this.$el = a(c)), (this.core.s = a.extend({}, b, this.core.s)), this.init(), this ); }; (c.prototype.init = function () { var a = ""; if (this.core.s.fullScreen) { if ( !( document.fullscreenEnabled || document.webkitFullscreenEnabled || document.mozFullScreenEnabled || document.msFullscreenEnabled ) ) return; (a = ''), this.core.$outer.find(".lg-toolbar").append(a), this.fullScreen(); } }), (c.prototype.requestFullscreen = function () { var a = document.documentElement; a.requestFullscreen ? a.requestFullscreen() : a.msRequestFullscreen ? a.msRequestFullscreen() : a.mozRequestFullScreen ? a.mozRequestFullScreen() : a.webkitRequestFullscreen && a.webkitRequestFullscreen(); }), (c.prototype.exitFullscreen = function () { document.exitFullscreen ? document.exitFullscreen() : document.msExitFullscreen ? document.msExitFullscreen() : document.mozCancelFullScreen ? document.mozCancelFullScreen() : document.webkitExitFullscreen && document.webkitExitFullscreen(); }), (c.prototype.fullScreen = function () { var b = this; a(document).on( "fullscreenchange.lg webkitfullscreenchange.lg mozfullscreenchange.lg MSFullscreenChange.lg", function () { b.core.$outer.toggleClass("lg-fullscreen-on"); } ), this.core.$outer.find(".lg-fullscreen").on("click.lg", function () { document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement ? b.exitFullscreen() : b.requestFullscreen(); }); }), (c.prototype.destroy = function () { this.exitFullscreen(), a(document).off( "fullscreenchange.lg webkitfullscreenchange.lg mozfullscreenchange.lg MSFullscreenChange.lg" ); }), (a.fn.lightGallery.modules.fullscreen = c); })(); }), (function (a, b) { "function" == typeof define && define.amd ? define(["jquery"], function (a) { return b(a); }) : "object" == typeof exports ? (module.exports = b(require("jquery"))) : b(jQuery); })(0, function (a) { !(function () { "use strict"; var b = { pager: !1 }, c = function (c) { return ( (this.core = a(c).data("lightGallery")), (this.$el = a(c)), (this.core.s = a.extend({}, b, this.core.s)), this.core.s.pager && this.core.$items.length > 1 && this.init(), this ); }; (c.prototype.init = function () { var b, c, d, e = this, f = ""; if ( (e.core.$outer .find(".lg") .append('
'), e.core.s.dynamic) ) for (var g = 0; g < e.core.s.dynamicEl.length; g++) f += '
'; else e.core.$items.each(function () { e.core.s.exThumbImage ? (f += '
') : (f += '
'); }); (c = e.core.$outer.find(".lg-pager-outer")), c.html(f), (b = e.core.$outer.find(".lg-pager-cont")), b.on("click.lg touchend.lg", function () { var b = a(this); (e.core.index = b.index()), e.core.slide(e.core.index, !1, !0, !1); }), c.on("mouseover.lg", function () { clearTimeout(d), c.addClass("lg-pager-hover"); }), c.on("mouseout.lg", function () { d = setTimeout(function () { c.removeClass("lg-pager-hover"); }); }), e.core.$el.on("onBeforeSlide.lg.tm", function (a, c, d) { b.removeClass("lg-pager-active"), b.eq(d).addClass("lg-pager-active"); }); }), (c.prototype.destroy = function () {}), (a.fn.lightGallery.modules.pager = c); })(); }), (function (a, b) { "function" == typeof define && define.amd ? define(["jquery"], function (a) { return b(a); }) : "object" == typeof exports ? (module.exports = b(require("jquery"))) : b(jQuery); })(0, function (a) { !(function () { "use strict"; var b = { thumbnail: !0, animateThumb: !0, currentPagerPosition: "middle", thumbWidth: 100, thumbHeight: "80px", thumbContHeight: 100, thumbMargin: 5, exThumbImage: !1, showThumbByDefault: !0, toogleThumb: !0, pullCaptionUp: !0, enableThumbDrag: !0, enableThumbSwipe: !0, swipeThreshold: 50, loadYoutubeThumbnail: !0, youtubeThumbSize: 1, loadVimeoThumbnail: !0, vimeoThumbSize: "thumbnail_small", loadDailymotionThumbnail: !0, }, c = function (c) { return ( (this.core = a(c).data("lightGallery")), (this.core.s = a.extend({}, b, this.core.s)), (this.$el = a(c)), (this.$thumbOuter = null), (this.thumbOuterWidth = 0), (this.thumbTotalWidth = this.core.$items.length * (this.core.s.thumbWidth + this.core.s.thumbMargin)), (this.thumbIndex = this.core.index), this.core.s.animateThumb && (this.core.s.thumbHeight = "100%"), (this.left = 0), this.init(), this ); }; (c.prototype.init = function () { var a = this; this.core.s.thumbnail && this.core.$items.length > 1 && (this.core.s.showThumbByDefault && setTimeout(function () { a.core.$outer.addClass("lg-thumb-open"); }, 700), this.core.s.pullCaptionUp && this.core.$outer.addClass("lg-pull-caption-up"), this.build(), this.core.s.animateThumb && this.core.doCss() ? (this.core.s.enableThumbDrag && this.enableThumbDrag(), this.core.s.enableThumbSwipe && this.enableThumbSwipe(), (this.thumbClickable = !1)) : (this.thumbClickable = !0), this.toogle(), this.thumbkeyPress()); }), (c.prototype.build = function () { function b(a, b, c) { var g, h = d.core.isVideo(a, c) || {}, i = ""; h.youtube || h.vimeo || h.dailymotion ? h.youtube ? (g = d.core.s.loadYoutubeThumbnail ? "//img.youtube.com/vi/" + h.youtube[1] + "/" + d.core.s.youtubeThumbSize + ".jpg" : b) : h.vimeo ? d.core.s.loadVimeoThumbnail ? ((g = "//i.vimeocdn.com/video/error_" + f + ".jpg"), (i = h.vimeo[1])) : (g = b) : h.dailymotion && (g = d.core.s.loadDailymotionThumbnail ? "//www.dailymotion.com/thumbnail/video/" + h.dailymotion[1] : b) : (g = b), (e += '
'), (i = ""); } var c, d = this, e = "", f = "", g = '
'; switch (this.core.s.vimeoThumbSize) { case "thumbnail_large": f = "640"; break; case "thumbnail_medium": f = "200x150"; break; case "thumbnail_small": f = "100x75"; } if ( (d.core.$outer.addClass("lg-has-thumb"), d.core.$outer.find(".lg").append(g), (d.$thumbOuter = d.core.$outer.find(".lg-thumb-outer")), (d.thumbOuterWidth = d.$thumbOuter.width()), d.core.s.animateThumb && d.core.$outer .find(".lg-thumb") .css({ width: d.thumbTotalWidth + "px", position: "relative" }), this.core.s.animateThumb && d.$thumbOuter.css("height", d.core.s.thumbContHeight + "px"), d.core.s.dynamic) ) for (var h = 0; h < d.core.s.dynamicEl.length; h++) b(d.core.s.dynamicEl[h].src, d.core.s.dynamicEl[h].thumb, h); else d.core.$items.each(function (c) { d.core.s.exThumbImage ? b( a(this).attr("href") || a(this).attr("data-src"), a(this).attr(d.core.s.exThumbImage), c ) : b( a(this).attr("href") || a(this).attr("data-src"), a(this).find("img").attr("src"), c ); }); d.core.$outer.find(".lg-thumb").html(e), (c = d.core.$outer.find(".lg-thumb-item")), c.each(function () { var b = a(this), c = b.attr("data-vimeo-id"); c && a.getJSON( "//www.vimeo.com/api/v2/video/" + c + ".json?callback=?", { format: "json" }, function (a) { b.find("img").attr("src", a[0][d.core.s.vimeoThumbSize]); } ); }), c.eq(d.core.index).addClass("active"), d.core.$el.on("onBeforeSlide.lg.tm", function () { c.removeClass("active"), c.eq(d.core.index).addClass("active"); }), c.on("click.lg touchend.lg", function () { var b = a(this); setTimeout(function () { ((d.thumbClickable && !d.core.lgBusy) || !d.core.doCss()) && ((d.core.index = b.index()), d.core.slide(d.core.index, !1, !0, !1)); }, 50); }), d.core.$el.on("onBeforeSlide.lg.tm", function () { d.animateThumb(d.core.index); }), a(window).on( "resize.lg.thumb orientationchange.lg.thumb", function () { setTimeout(function () { d.animateThumb(d.core.index), (d.thumbOuterWidth = d.$thumbOuter.width()); }, 200); } ); }), (c.prototype.setTranslate = function (a) { this.core.$outer .find(".lg-thumb") .css({ transform: "translate3d(-" + a + "px, 0px, 0px)" }); }), (c.prototype.animateThumb = function (a) { var b = this.core.$outer.find(".lg-thumb"); if (this.core.s.animateThumb) { var c; switch (this.core.s.currentPagerPosition) { case "left": c = 0; break; case "middle": c = this.thumbOuterWidth / 2 - this.core.s.thumbWidth / 2; break; case "right": c = this.thumbOuterWidth - this.core.s.thumbWidth; } (this.left = (this.core.s.thumbWidth + this.core.s.thumbMargin) * a - 1 - c), this.left > this.thumbTotalWidth - this.thumbOuterWidth && (this.left = this.thumbTotalWidth - this.thumbOuterWidth), this.left < 0 && (this.left = 0), this.core.lGalleryOn ? (b.hasClass("on") || this.core.$outer .find(".lg-thumb") .css("transition-duration", this.core.s.speed + "ms"), this.core.doCss() || b.animate({ left: -this.left + "px" }, this.core.s.speed)) : this.core.doCss() || b.css("left", -this.left + "px"), this.setTranslate(this.left); } }), (c.prototype.enableThumbDrag = function () { var b = this, c = 0, d = 0, e = !1, f = !1, g = 0; b.$thumbOuter.addClass("lg-grab"), b.core.$outer .find(".lg-thumb") .on("mousedown.lg.thumb", function (a) { b.thumbTotalWidth > b.thumbOuterWidth && (a.preventDefault(), (c = a.pageX), (e = !0), (b.core.$outer.scrollLeft += 1), (b.core.$outer.scrollLeft -= 1), (b.thumbClickable = !1), b.$thumbOuter.removeClass("lg-grab").addClass("lg-grabbing")); }), a(window).on("mousemove.lg.thumb", function (a) { e && ((g = b.left), (f = !0), (d = a.pageX), b.$thumbOuter.addClass("lg-dragging"), (g -= d - c), g > b.thumbTotalWidth - b.thumbOuterWidth && (g = b.thumbTotalWidth - b.thumbOuterWidth), g < 0 && (g = 0), b.setTranslate(g)); }), a(window).on("mouseup.lg.thumb", function () { f ? ((f = !1), b.$thumbOuter.removeClass("lg-dragging"), (b.left = g), Math.abs(d - c) < b.core.s.swipeThreshold && (b.thumbClickable = !0)) : (b.thumbClickable = !0), e && ((e = !1), b.$thumbOuter.removeClass("lg-grabbing").addClass("lg-grab")); }); }), (c.prototype.enableThumbSwipe = function () { var a = this, b = 0, c = 0, d = !1, e = 0; a.core.$outer.find(".lg-thumb").on("touchstart.lg", function (c) { a.thumbTotalWidth > a.thumbOuterWidth && (c.preventDefault(), (b = c.originalEvent.targetTouches[0].pageX), (a.thumbClickable = !1)); }), a.core.$outer.find(".lg-thumb").on("touchmove.lg", function (f) { a.thumbTotalWidth > a.thumbOuterWidth && (f.preventDefault(), (c = f.originalEvent.targetTouches[0].pageX), (d = !0), a.$thumbOuter.addClass("lg-dragging"), (e = a.left), (e -= c - b), e > a.thumbTotalWidth - a.thumbOuterWidth && (e = a.thumbTotalWidth - a.thumbOuterWidth), e < 0 && (e = 0), a.setTranslate(e)); }), a.core.$outer.find(".lg-thumb").on("touchend.lg", function () { a.thumbTotalWidth > a.thumbOuterWidth && d ? ((d = !1), a.$thumbOuter.removeClass("lg-dragging"), Math.abs(c - b) < a.core.s.swipeThreshold && (a.thumbClickable = !0), (a.left = e)) : (a.thumbClickable = !0); }); }), (c.prototype.toogle = function () { var a = this; a.core.s.toogleThumb && (a.core.$outer.addClass("lg-can-toggle"), a.$thumbOuter.append( '' ), a.core.$outer.find(".lg-toogle-thumb").on("click.lg", function () { a.core.$outer.toggleClass("lg-thumb-open"); })); }), (c.prototype.thumbkeyPress = function () { var b = this; a(window).on("keydown.lg.thumb", function (a) { 38 === a.keyCode ? (a.preventDefault(), b.core.$outer.addClass("lg-thumb-open")) : 40 === a.keyCode && (a.preventDefault(), b.core.$outer.removeClass("lg-thumb-open")); }); }), (c.prototype.destroy = function () { this.core.s.thumbnail && this.core.$items.length > 1 && (a(window).off( "resize.lg.thumb orientationchange.lg.thumb keydown.lg.thumb" ), this.$thumbOuter.remove(), this.core.$outer.removeClass("lg-has-thumb")); }), (a.fn.lightGallery.modules.Thumbnail = c); })(); }), (function (a, b) { "function" == typeof define && define.amd ? define(["jquery"], function (a) { return b(a); }) : "object" == typeof module && module.exports ? (module.exports = b(require("jquery"))) : b(a.jQuery); })(this, function (a) { !(function () { "use strict"; function b(a, b, c, d) { var e = this; if ( (e.core.$slide .eq(b) .find(".lg-video") .append(e.loadVideo(c, "lg-object", !0, b, d)), d) ) if (e.core.s.videojs) try { videojs( e.core.$slide.eq(b).find(".lg-html5").get(0), e.core.s.videojsOptions, function () { !e.videoLoaded && e.core.s.autoplayFirstVideo && this.play(); } ); } catch (a) { console.error("Make sure you have included videojs"); } else !e.videoLoaded && e.core.s.autoplayFirstVideo && e.core.$slide.eq(b).find(".lg-html5").get(0).play(); } function c(a, b) { var c = this.core.$slide.eq(b).find(".lg-video-cont"); c.hasClass("lg-has-iframe") || (c.css("max-width", this.core.s.videoMaxWidth), (this.videoLoaded = !0)); } function d(b, c, d) { var e = this, f = e.core.$slide.eq(c), g = f.find(".lg-youtube").get(0), h = f.find(".lg-vimeo").get(0), i = f.find(".lg-dailymotion").get(0), j = f.find(".lg-vk").get(0), k = f.find(".lg-html5").get(0); if (g) g.contentWindow.postMessage( '{"event":"command","func":"pauseVideo","args":""}', "*" ); else if (h) try { $f(h).api("pause"); } catch (a) { console.error("Make sure you have included froogaloop2 js"); } else if (i) i.contentWindow.postMessage("pause", "*"); else if (k) if (e.core.s.videojs) try { videojs(k).pause(); } catch (a) { console.error("Make sure you have included videojs"); } else k.pause(); j && a(j).attr("src", a(j).attr("src").replace("&autoplay", "&noplay")); var l; l = e.core.s.dynamic ? e.core.s.dynamicEl[d].src : e.core.$items.eq(d).attr("href") || e.core.$items.eq(d).attr("data-src"); var m = e.core.isVideo(l, d) || {}; (m.youtube || m.vimeo || m.dailymotion || m.vk) && e.core.$outer.addClass("lg-hide-download"); } var e = { videoMaxWidth: "855px", autoplayFirstVideo: !0, youtubePlayerParams: !1, vimeoPlayerParams: !1, dailymotionPlayerParams: !1, vkPlayerParams: !1, videojs: !1, videojsOptions: {}, }, f = function (b) { return ( (this.core = a(b).data("lightGallery")), (this.$el = a(b)), (this.core.s = a.extend({}, e, this.core.s)), (this.videoLoaded = !1), this.init(), this ); }; (f.prototype.init = function () { var e = this; e.core.$el.on("hasVideo.lg.tm", b.bind(this)), e.core.$el.on("onAferAppendSlide.lg.tm", c.bind(this)), e.core.doCss() && e.core.$items.length > 1 && (e.core.s.enableSwipe || e.core.s.enableDrag) ? e.core.$el.on("onSlideClick.lg.tm", function () { var a = e.core.$slide.eq(e.core.index); e.loadVideoOnclick(a); }) : e.core.$slide.on("click.lg", function () { e.loadVideoOnclick(a(this)); }), e.core.$el.on("onBeforeSlide.lg.tm", d.bind(this)), e.core.$el.on("onAfterSlide.lg.tm", function (a, b) { e.core.$slide.eq(b).removeClass("lg-video-playing"); }), e.core.s.autoplayFirstVideo && e.core.$el.on("onAferAppendSlide.lg.tm", function (a, b) { if (!e.core.lGalleryOn) { var c = e.core.$slide.eq(b); setTimeout(function () { e.loadVideoOnclick(c); }, 100); } }); }), (f.prototype.loadVideo = function (b, c, d, e, f) { var g = "", h = 1, i = "", j = this.core.isVideo(b, e) || {}; if ( (d && (h = this.videoLoaded ? 0 : this.core.s.autoplayFirstVideo ? 1 : 0), j.youtube) ) (i = "?wmode=opaque&autoplay=" + h + "&enablejsapi=1"), this.core.s.youtubePlayerParams && (i = i + "&" + a.param(this.core.s.youtubePlayerParams)), (g = ''); else if (j.vimeo) (i = "?autoplay=" + h + "&api=1"), this.core.s.vimeoPlayerParams && (i = i + "&" + a.param(this.core.s.vimeoPlayerParams)), (g = ''); else if (j.dailymotion) (i = "?wmode=opaque&autoplay=" + h + "&api=postMessage"), this.core.s.dailymotionPlayerParams && (i = i + "&" + a.param(this.core.s.dailymotionPlayerParams)), (g = ''); else if (j.html5) { var k = f.substring(0, 1); ("." !== k && "#" !== k) || (f = a(f).html()), (g = f); } else j.vk && ((i = "&autoplay=" + h), this.core.s.vkPlayerParams && (i = i + "&" + a.param(this.core.s.vkPlayerParams)), (g = '')); return g; }), (f.prototype.loadVideoOnclick = function (a) { var b = this; if ( a.find(".lg-object").hasClass("lg-has-poster") && a.find(".lg-object").is(":visible") ) if (a.hasClass("lg-has-video")) { var c = a.find(".lg-youtube").get(0), d = a.find(".lg-vimeo").get(0), e = a.find(".lg-dailymotion").get(0), f = a.find(".lg-html5").get(0); if (c) c.contentWindow.postMessage( '{"event":"command","func":"playVideo","args":""}', "*" ); else if (d) try { $f(d).api("play"); } catch (a) { console.error("Make sure you have included froogaloop2 js"); } else if (e) e.contentWindow.postMessage("play", "*"); else if (f) if (b.core.s.videojs) try { videojs(f).play(); } catch (a) { console.error("Make sure you have included videojs"); } else f.play(); a.addClass("lg-video-playing"); } else { a.addClass("lg-video-playing lg-has-video"); var g, h, i = function (c, d) { if ( (a .find(".lg-video") .append(b.loadVideo(c, "", !1, b.core.index, d)), d) ) if (b.core.s.videojs) try { videojs( b.core.$slide .eq(b.core.index) .find(".lg-html5") .get(0), b.core.s.videojsOptions, function () { this.play(); } ); } catch (a) { console.error("Make sure you have included videojs"); } else b.core.$slide .eq(b.core.index) .find(".lg-html5") .get(0) .play(); }; b.core.s.dynamic ? ((g = b.core.s.dynamicEl[b.core.index].src), (h = b.core.s.dynamicEl[b.core.index].html), i(g, h)) : ((g = b.core.$items.eq(b.core.index).attr("href") || b.core.$items.eq(b.core.index).attr("data-src")), (h = b.core.$items.eq(b.core.index).attr("data-html")), i(g, h)); var j = a.find(".lg-object"); a.find(".lg-video").append(j), a.find(".lg-video-object").hasClass("lg-html5") || (a.removeClass("lg-complete"), a .find(".lg-video-object") .on("load.lg error.lg", function () { a.addClass("lg-complete"); })); } }), (f.prototype.destroy = function () { this.videoLoaded = !1; }), (a.fn.lightGallery.modules.video = f); })(); }), (function (a, b) { "function" == typeof define && define.amd ? define(["jquery"], function (a) { return b(a); }) : "object" == typeof exports ? (module.exports = b(require("jquery"))) : b(jQuery); })(0, function (a) { !(function () { "use strict"; var b = function () { var a = !1, b = navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./); return b && parseInt(b[2], 10) < 54 && (a = !0), a; }, c = { scale: 1, zoom: !0, actualSize: !0, enableZoomAfter: 300, useLeftForZoom: b(), }, d = function (b) { return ( (this.core = a(b).data("lightGallery")), (this.core.s = a.extend({}, c, this.core.s)), this.core.s.zoom && this.core.doCss() && (this.init(), (this.zoomabletimeout = !1), (this.pageX = a(window).width() / 2), (this.pageY = a(window).height() / 2 + a(window).scrollTop())), this ); }; (d.prototype.init = function () { var b = this, c = ''; b.core.s.actualSize && (c += ''), b.core.s.useLeftForZoom ? b.core.$outer.addClass("lg-use-left-for-zoom") : b.core.$outer.addClass("lg-use-transition-for-zoom"), this.core.$outer.find(".lg-toolbar").append(c), b.core.$el.on("onSlideItemLoad.lg.tm.zoom", function (c, d, e) { var f = b.core.s.enableZoomAfter + e; a("body").hasClass("lg-from-hash") && e ? (f = 0) : a("body").removeClass("lg-from-hash"), (b.zoomabletimeout = setTimeout(function () { b.core.$slide.eq(d).addClass("lg-zoomable"); }, f + 30)); }); var d = 1, e = function (c) { var d, e, f = b.core.$outer.find(".lg-current .lg-image"), g = (a(window).width() - f.prop("offsetWidth")) / 2, h = (a(window).height() - f.prop("offsetHeight")) / 2 + a(window).scrollTop(); (d = b.pageX - g), (e = b.pageY - h); var i = (c - 1) * d, j = (c - 1) * e; f .css("transform", "scale3d(" + c + ", " + c + ", 1)") .attr("data-scale", c), b.core.s.useLeftForZoom ? f .parent() .css({ left: -i + "px", top: -j + "px" }) .attr("data-x", i) .attr("data-y", j) : f .parent() .css( "transform", "translate3d(-" + i + "px, -" + j + "px, 0)" ) .attr("data-x", i) .attr("data-y", j); }, f = function () { d > 1 ? b.core.$outer.addClass("lg-zoomed") : b.resetZoom(), d < 1 && (d = 1), e(d); }, g = function (c, e, g, h) { var i, j = e.prop("offsetWidth"); i = b.core.s.dynamic ? b.core.s.dynamicEl[g].width || e[0].naturalWidth || j : b.core.$items.eq(g).attr("data-width") || e[0].naturalWidth || j; var k; b.core.$outer.hasClass("lg-zoomed") ? (d = 1) : i > j && ((k = i / j), (d = k || 2)), h ? ((b.pageX = a(window).width() / 2), (b.pageY = a(window).height() / 2 + a(window).scrollTop())) : ((b.pageX = c.pageX || c.originalEvent.targetTouches[0].pageX), (b.pageY = c.pageY || c.originalEvent.targetTouches[0].pageY)), f(), setTimeout(function () { b.core.$outer.removeClass("lg-grabbing").addClass("lg-grab"); }, 10); }, h = !1; b.core.$el.on("onAferAppendSlide.lg.tm.zoom", function (a, c) { var d = b.core.$slide.eq(c).find(".lg-image"); d.on("dblclick", function (a) { g(a, d, c); }), d.on("touchstart", function (a) { h ? (clearTimeout(h), (h = null), g(a, d, c)) : (h = setTimeout(function () { h = null; }, 300)), a.preventDefault(); }); }), a(window).on( "resize.lg.zoom scroll.lg.zoom orientationchange.lg.zoom", function () { (b.pageX = a(window).width() / 2), (b.pageY = a(window).height() / 2 + a(window).scrollTop()), e(d); } ), a("#lg-zoom-out").on("click.lg", function () { b.core.$outer.find(".lg-current .lg-image").length && ((d -= b.core.s.scale), f()); }), a("#lg-zoom-in").on("click.lg", function () { b.core.$outer.find(".lg-current .lg-image").length && ((d += b.core.s.scale), f()); }), a("#lg-actual-size").on("click.lg", function (a) { g( a, b.core.$slide.eq(b.core.index).find(".lg-image"), b.core.index, !0 ); }), b.core.$el.on("onBeforeSlide.lg.tm", function () { (d = 1), b.resetZoom(); }), b.zoomDrag(), b.zoomSwipe(); }), (d.prototype.resetZoom = function () { this.core.$outer.removeClass("lg-zoomed"), this.core.$slide .find(".lg-img-wrap") .removeAttr("style data-x data-y"), this.core.$slide.find(".lg-image").removeAttr("style data-scale"), (this.pageX = a(window).width() / 2), (this.pageY = a(window).height() / 2 + a(window).scrollTop()); }), (d.prototype.zoomSwipe = function () { var a = this, b = {}, c = {}, d = !1, e = !1, f = !1; a.core.$slide.on("touchstart.lg", function (c) { if (a.core.$outer.hasClass("lg-zoomed")) { var d = a.core.$slide.eq(a.core.index).find(".lg-object"); (f = d.prop("offsetHeight") * d.attr("data-scale") > a.core.$outer.find(".lg").height()), (e = d.prop("offsetWidth") * d.attr("data-scale") > a.core.$outer.find(".lg").width()), (e || f) && (c.preventDefault(), (b = { x: c.originalEvent.targetTouches[0].pageX, y: c.originalEvent.targetTouches[0].pageY, })); } }), a.core.$slide.on("touchmove.lg", function (g) { if (a.core.$outer.hasClass("lg-zoomed")) { var h, i, j = a.core.$slide.eq(a.core.index).find(".lg-img-wrap"); g.preventDefault(), (d = !0), (c = { x: g.originalEvent.targetTouches[0].pageX, y: g.originalEvent.targetTouches[0].pageY, }), a.core.$outer.addClass("lg-zoom-dragging"), (i = f ? -Math.abs(j.attr("data-y")) + (c.y - b.y) : -Math.abs(j.attr("data-y"))), (h = e ? -Math.abs(j.attr("data-x")) + (c.x - b.x) : -Math.abs(j.attr("data-x"))), (Math.abs(c.x - b.x) > 15 || Math.abs(c.y - b.y) > 15) && (a.core.s.useLeftForZoom ? j.css({ left: h + "px", top: i + "px" }) : j.css( "transform", "translate3d(" + h + "px, " + i + "px, 0)" )); } }), a.core.$slide.on("touchend.lg", function () { a.core.$outer.hasClass("lg-zoomed") && d && ((d = !1), a.core.$outer.removeClass("lg-zoom-dragging"), a.touchendZoom(b, c, e, f)); }); }), (d.prototype.zoomDrag = function () { var b = this, c = {}, d = {}, e = !1, f = !1, g = !1, h = !1; b.core.$slide.on("mousedown.lg.zoom", function (d) { var f = b.core.$slide.eq(b.core.index).find(".lg-object"); (h = f.prop("offsetHeight") * f.attr("data-scale") > b.core.$outer.find(".lg").height()), (g = f.prop("offsetWidth") * f.attr("data-scale") > b.core.$outer.find(".lg").width()), b.core.$outer.hasClass("lg-zoomed") && a(d.target).hasClass("lg-object") && (g || h) && (d.preventDefault(), (c = { x: d.pageX, y: d.pageY }), (e = !0), (b.core.$outer.scrollLeft += 1), (b.core.$outer.scrollLeft -= 1), b.core.$outer.removeClass("lg-grab").addClass("lg-grabbing")); }), a(window).on("mousemove.lg.zoom", function (a) { if (e) { var i, j, k = b.core.$slide.eq(b.core.index).find(".lg-img-wrap"); (f = !0), (d = { x: a.pageX, y: a.pageY }), b.core.$outer.addClass("lg-zoom-dragging"), (j = h ? -Math.abs(k.attr("data-y")) + (d.y - c.y) : -Math.abs(k.attr("data-y"))), (i = g ? -Math.abs(k.attr("data-x")) + (d.x - c.x) : -Math.abs(k.attr("data-x"))), b.core.s.useLeftForZoom ? k.css({ left: i + "px", top: j + "px" }) : k.css( "transform", "translate3d(" + i + "px, " + j + "px, 0)" ); } }), a(window).on("mouseup.lg.zoom", function (a) { e && ((e = !1), b.core.$outer.removeClass("lg-zoom-dragging"), !f || (c.x === d.x && c.y === d.y) || ((d = { x: a.pageX, y: a.pageY }), b.touchendZoom(c, d, g, h)), (f = !1)), b.core.$outer.removeClass("lg-grabbing").addClass("lg-grab"); }); }), (d.prototype.touchendZoom = function (a, b, c, d) { var e = this, f = e.core.$slide.eq(e.core.index).find(".lg-img-wrap"), g = e.core.$slide.eq(e.core.index).find(".lg-object"), h = -Math.abs(f.attr("data-x")) + (b.x - a.x), i = -Math.abs(f.attr("data-y")) + (b.y - a.y), j = (e.core.$outer.find(".lg").height() - g.prop("offsetHeight")) / 2, k = Math.abs( g.prop("offsetHeight") * Math.abs(g.attr("data-scale")) - e.core.$outer.find(".lg").height() + j ), l = (e.core.$outer.find(".lg").width() - g.prop("offsetWidth")) / 2, m = Math.abs( g.prop("offsetWidth") * Math.abs(g.attr("data-scale")) - e.core.$outer.find(".lg").width() + l ); (Math.abs(b.x - a.x) > 15 || Math.abs(b.y - a.y) > 15) && (d && (i <= -k ? (i = -k) : i >= -j && (i = -j)), c && (h <= -m ? (h = -m) : h >= -l && (h = -l)), d ? f.attr("data-y", Math.abs(i)) : (i = -Math.abs(f.attr("data-y"))), c ? f.attr("data-x", Math.abs(h)) : (h = -Math.abs(f.attr("data-x"))), e.core.s.useLeftForZoom ? f.css({ left: h + "px", top: i + "px" }) : f.css("transform", "translate3d(" + h + "px, " + i + "px, 0)")); }), (d.prototype.destroy = function () { var b = this; b.core.$el.off(".lg.zoom"), a(window).off(".lg.zoom"), b.core.$slide.off(".lg.zoom"), b.core.$el.off(".lg.tm.zoom"), b.resetZoom(), clearTimeout(b.zoomabletimeout), (b.zoomabletimeout = !1); }), (a.fn.lightGallery.modules.zoom = d); })(); }), (function (a, b) { "function" == typeof define && define.amd ? define(["jquery"], function (a) { return b(a); }) : "object" == typeof exports ? (module.exports = b(require("jquery"))) : b(jQuery); })(0, function (a) { !(function () { "use strict"; var b = { hash: !0 }, c = function (c) { return ( (this.core = a(c).data("lightGallery")), (this.core.s = a.extend({}, b, this.core.s)), this.core.s.hash && ((this.oldHash = window.location.hash), this.init()), this ); }; (c.prototype.init = function () { var b, c = this; c.core.$el.on("onAfterSlide.lg.tm", function (a, b, d) { history.replaceState ? history.replaceState( null, null, window.location.pathname + window.location.search + "#lg=" + c.core.s.galleryId + "&slide=" + d ) : (window.location.hash = "lg=" + c.core.s.galleryId + "&slide=" + d); }), a(window).on("hashchange.lg.hash", function () { b = window.location.hash; var a = parseInt(b.split("&slide=")[1], 10); b.indexOf("lg=" + c.core.s.galleryId) > -1 ? c.core.slide(a, !1, !1) : c.core.lGalleryOn && c.core.destroy(); }); }), (c.prototype.destroy = function () { this.core.s.hash && (this.oldHash && this.oldHash.indexOf("lg=" + this.core.s.galleryId) < 0 ? history.replaceState ? history.replaceState(null, null, this.oldHash) : (window.location.hash = this.oldHash) : history.replaceState ? history.replaceState( null, document.title, window.location.pathname + window.location.search ) : (window.location.hash = ""), this.core.$el.off(".lg.hash")); }), (a.fn.lightGallery.modules.hash = c); })(); }), (function (a, b) { "function" == typeof define && define.amd ? define(["jquery"], function (a) { return b(a); }) : "object" == typeof exports ? (module.exports = b(require("jquery"))) : b(jQuery); })(0, function (a) { !(function () { "use strict"; var b = { share: !0, facebook: !0, facebookDropdownText: "Facebook", twitter: !0, twitterDropdownText: "Twitter", googlePlus: !0, googlePlusDropdownText: "GooglePlus", pinterest: !0, pinterestDropdownText: "Pinterest", }, c = function (c) { return ( (this.core = a(c).data("lightGallery")), (this.core.s = a.extend({}, b, this.core.s)), this.core.s.share && this.init(), this ); }; (c.prototype.init = function () { var b = this, c = '"), this.core.$outer.find(".lg-toolbar").append(c), this.core.$outer .find(".lg") .append('
'), a("#lg-share").on("click.lg", function () { b.core.$outer.toggleClass("lg-dropdown-active"); }), a("#lg-dropdown-overlay").on("click.lg", function () { b.core.$outer.removeClass("lg-dropdown-active"); }), b.core.$el.on("onAfterSlide.lg.tm", function (c, d, e) { setTimeout(function () { a("#lg-share-facebook").attr( "href", "https://www.facebook.com/sharer/sharer.php?u=" + encodeURIComponent( b.getSahreProps(e, "facebookShareUrl") || window.location.href ) ), a("#lg-share-twitter").attr( "href", "https://twitter.com/intent/tweet?text=" + b.getSahreProps(e, "tweetText") + "&url=" + encodeURIComponent( b.getSahreProps(e, "twitterShareUrl") || window.location.href ) ), a("#lg-share-googleplus").attr( "href", "https://plus.google.com/share?url=" + encodeURIComponent( b.getSahreProps(e, "googleplusShareUrl") || window.location.href ) ), a("#lg-share-pinterest").attr( "href", "http://www.pinterest.com/pin/create/button/?url=" + encodeURIComponent( b.getSahreProps(e, "pinterestShareUrl") || window.location.href ) + "&media=" + encodeURIComponent(b.getSahreProps(e, "src")) + "&description=" + b.getSahreProps(e, "pinterestText") ); }, 100); }); }), (c.prototype.getSahreProps = function (a, b) { var c = ""; if (this.core.s.dynamic) c = this.core.s.dynamicEl[a][b]; else { var d = this.core.$items.eq(a).attr("href"), e = this.core.$items.eq(a).data(b); c = "src" === b ? d || e : e; } return c; }), (c.prototype.destroy = function () {}), (a.fn.lightGallery.modules.share = c); })(); });