!(function (e, t) { "object" == typeof exports && "undefined" != typeof module ? (module.exports = t()) : "function" == typeof define && define.amd ? define(t) : ((e = e || self).GLightbox = t()); })(this, function () { "use strict"; function e(e) { var t = (function (e, t) { if ("object" != typeof e || !e) return e; var i = e[Symbol.toPrimitive]; if (void 0 !== i) { var n = i.call(e, t || "default"); if ("object" != typeof n) return n; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === t ? String : Number)(e); })(e, "string"); return "symbol" == typeof t ? t : t + ""; } function t(e) { return (t = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e; } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; })(e); } function i(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function"); } function n(t, i) { for (var n = 0; n < i.length; n++) { var s = i[n]; (s.enumerable = s.enumerable || !1), (s.configurable = !0), "value" in s && (s.writable = !0), Object.defineProperty(t, e(s.key), s); } } function s(e, t, i) { return ( t && n(e.prototype, t), i && n(e, i), Object.defineProperty(e, "prototype", { writable: !1 }), e ); } function cgsc(container, status) { const countEles = document.querySelectorAll(".gslide-count"); const prevSlides = document.querySelectorAll(".gprev"); const nextSlides = document.querySelectorAll(".gnext"); setTimeout(() => { const totalIdx = container.elements.length; const currentIdx = container.index; const countCildren = countEles[currentIdx ? currentIdx : 0].children; countEles.forEach((countEle) => { countCildren[0].innerText = currentIdx + 1; countCildren[1].innerText = totalIdx; if (totalIdx < 2) { countEle.style.opacity = 0; prevSlides[currentIdx].style.opacity = 0; nextSlides[currentIdx].style.opacity = 0; } else { // countEle.style.opacity = 100; // prevSlides[currentIdx].style.opacity = 100; // nextSlides[currentIdx].style.opacity = 100; } }); }, 10); } var l = Date.now(); function o() { var e = {}, t = !0, i = 0, n = arguments.length; "[object Boolean]" === Object.prototype.toString.call(arguments[0]) && ((t = arguments[0]), i++); for ( var s = function (i) { for (var n in i) Object.prototype.hasOwnProperty.call(i, n) && (t && "[object Object]" === Object.prototype.toString.call(i[n]) ? (e[n] = o(!0, e[n], i[n])) : (e[n] = i[n])); }; i < n; i++ ) { var l = arguments[i]; s(l); } return e; } function r(e, t) { if ( ((E(e) || e === window || e === document) && (e = [e]), L(e) || I(e) || (e = [e]), 0 != M(e)) ) if (L(e) && !I(e)) for ( var i = e.length, n = 0; n < i && !1 !== t.call(e[n], e[n], n, e); n++ ); else if (I(e)) for (var s in e) if (P(e, s) && !1 === t.call(e[s], e[s], s, e)) break; } function a(e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null, i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null, n = (e[l] = e[l] || []), s = { all: n, evt: null, found: null }; return ( t && i && M(n) > 0 && r(n, function (e, n) { if (e.eventName == t && e.fn.toString() == i.toString()) return (s.found = !0), (s.evt = n), !1; }), s ); } function h(e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, i = t.onElement, n = t.withCallback, s = t.avoidDuplicate, l = void 0 === s || s, o = t.once, h = void 0 !== o && o, d = t.useCapture, c = void 0 !== d && d, u = arguments.length > 2 ? arguments[2] : void 0, g = i || []; function v(e) { C(n) && n.call(u, e, this), h && v.destroy(); } return ( k(g) && (g = document.querySelectorAll(g)), (v.destroy = function () { r(g, function (t) { var i = a(t, e, v); i.found && i.all.splice(i.evt, 1), t.removeEventListener && t.removeEventListener(e, v, c); }); }), r(g, function (t) { var i = a(t, e, v); ((t.addEventListener && l && !i.found) || !l) && (t.addEventListener(e, v, c), i.all.push({ eventName: e, fn: v })); }), v ); } function d(e, t) { r(t.split(" "), function (t) { return e.classList.add(t); }); } function c(e, t) { r(t.split(" "), function (t) { return e.classList.remove(t); }); } function u(e, t) { return e.classList.contains(t); } function g(e, t) { for (; e !== document.body; ) { if (!(e = e.parentElement)) return !1; if ( "function" == typeof e.matches ? e.matches(t) : e.msMatchesSelector(t) ) return e; } } function v(e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "", i = arguments.length > 2 && void 0 !== arguments[2] && arguments[2]; if (!e || "" === t) return !1; if ("none" === t) return C(i) && i(), !1; var n = b(), s = t.split(" "); r(s, function (t) { d(e, "g" + t); }), h(n, { onElement: e, avoidDuplicate: !1, once: !0, withCallback: function (e, t) { r(s, function (e) { c(t, "g" + e); }), C(i) && i(); }, }); } function f(e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : ""; if ("" === t) return ( (e.style.webkitTransform = ""), (e.style.MozTransform = ""), (e.style.msTransform = ""), (e.style.OTransform = ""), (e.style.transform = ""), !1 ); (e.style.webkitTransform = t), (e.style.MozTransform = t), (e.style.msTransform = t), (e.style.OTransform = t), (e.style.transform = t); } function p(e) { e.style.display = "block"; } function m(e) { e.style.display = "none"; } function y(e) { var t = document.createDocumentFragment(), i = document.createElement("div"); for (i.innerHTML = e; i.firstChild; ) t.appendChild(i.firstChild); return t; } function x() { return { width: window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, height: window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight, }; } function b() { var e, t = document.createElement("fakeelement"), i = { animation: "animationend", OAnimation: "oAnimationEnd", MozAnimation: "animationend", WebkitAnimation: "webkitAnimationEnd", }; for (e in i) if (void 0 !== t.style[e]) return i[e]; } function S(e, t, i, n) { if (e()) t(); else { var s; i || (i = 100); var l = setInterval(function () { e() && (clearInterval(l), s && clearTimeout(s), t()); }, i); n && (s = setTimeout(function () { clearInterval(l); }, n)); } } function w(e, t, i) { if (O(e)) console.error("Inject assets error"); else if ((C(t) && ((i = t), (t = !1)), k(t) && t in window)) C(i) && i(); else { var n; if (-1 !== e.indexOf(".css")) { if ( (n = document.querySelectorAll('link[href="' + e + '"]')) && n.length > 0 ) return void (C(i) && i()); var s = document.getElementsByTagName("head")[0], l = s.querySelectorAll('link[rel="stylesheet"]'), o = document.createElement("link"); return ( (o.rel = "stylesheet"), (o.type = "text/css"), (o.href = e), (o.media = "all"), l ? s.insertBefore(o, l[0]) : s.appendChild(o), void (C(i) && i()) ); } if ( (n = document.querySelectorAll('script[src="' + e + '"]')) && n.length > 0 ) { if (C(i)) { if (k(t)) return ( S( function () { return void 0 !== window[t]; }, function () { i(); } ), !1 ); i(); } } else { var r = document.createElement("script"); (r.type = "text/javascript"), (r.src = e), (r.onload = function () { if (C(i)) { if (k(t)) return ( S( function () { return void 0 !== window[t]; }, function () { i(); } ), !1 ); i(); } }), document.body.appendChild(r); } } } function T() { return ( "navigator" in window && window.navigator.userAgent.match( /(iPad)|(iPhone)|(iPod)|(Android)|(PlayBook)|(BB10)|(BlackBerry)|(Opera Mini)|(IEMobile)|(webOS)|(MeeGo)/i ) ); } function C(e) { return "function" == typeof e; } function k(e) { return "string" == typeof e; } function E(e) { return !(!e || !e.nodeType || 1 != e.nodeType); } function A(e) { return Array.isArray(e); } function L(e) { return e && e.length && isFinite(e.length); } function I(e) { return "object" === t(e) && null != e && !C(e) && !A(e); } function O(e) { return null == e; } function P(e, t) { return null !== e && hasOwnProperty.call(e, t); } function M(e) { if (I(e)) { if (e.keys) return e.keys().length; var t = 0; for (var i in e) P(e, i) && t++; return t; } return e.length; } function z(e) { return !isNaN(parseFloat(e)) && isFinite(e); } function X() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : -1, t = document.querySelectorAll(".gbtn[data-taborder]:not(.disabled)"); if (!t.length) return !1; if (1 == t.length) return t[0]; "string" == typeof e && (e = parseInt(e)); var i = []; r(t, function (e) { i.push(e.getAttribute("data-taborder")); }); var n = Math.max.apply( Math, i.map(function (e) { return parseInt(e); }) ), s = e < 0 ? 1 : e + 1; s > n && (s = "1"); var l = i.filter(function (e) { return e >= parseInt(s); }), o = l.sort()[0]; return document.querySelector('.gbtn[data-taborder="'.concat(o, '"]')); } function Y(e) { if (e.events.hasOwnProperty("keyboard")) return !1; e.events.keyboard = h("keydown", { onElement: window, withCallback: function (t, i) { var n = (t = t || window.event).keyCode; if (9 == n) { var s = document.querySelector(".gbtn.focused"); if (!s) { var l = !(!document.activeElement || !document.activeElement.nodeName) && document.activeElement.nodeName.toLocaleLowerCase(); if ("input" == l || "textarea" == l || "button" == l) return; } t.preventDefault(); var o = document.querySelectorAll(".gbtn[data-taborder]"); if (!o || o.length <= 0) return; if (!s) { var r = X(); return void (r && (r.focus(), d(r, "focused"))); } var a = X(s.getAttribute("data-taborder")); c(s, "focused"), a && (a.focus(), d(a, "focused")); } 39 == n && e.nextSlide(), 37 == n && e.prevSlide(), 27 == n && e.close(); }, }); } var q = s( function e(t, n) { var s = this, l = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null; if ( (i(this, e), (this.img = t), (this.slide = n), (this.onclose = l), this.img.setZoomEvents) ) return !1; (this.active = !1), (this.zoomedIn = !1), (this.dragging = !1), (this.currentX = null), (this.currentY = null), (this.initialX = null), (this.initialY = null), (this.xOffset = 0), (this.yOffset = 0), this.img.addEventListener( "mousedown", function (e) { return s.dragStart(e); }, !1 ), this.img.addEventListener( "mouseup", function (e) { return s.dragEnd(e); }, !1 ), this.img.addEventListener( "mousemove", function (e) { return s.drag(e); }, !1 ), this.img.addEventListener( "click", function (e) { return s.slide.classList.contains("dragging-nav") ? (s.zoomOut(), !1) : s.zoomedIn ? void (s.zoomedIn && !s.dragging && s.zoomOut()) : s.zoomIn(); }, !1 ), (this.img.setZoomEvents = !0); }, [ { key: "zoomIn", value: function () { var e = this.widowWidth(); if (!(this.zoomedIn || e <= 768)) { var t = this.img; if ( (t.setAttribute("data-style", t.getAttribute("style")), (t.style.maxWidth = t.naturalWidth + "px"), (t.style.maxHeight = t.naturalHeight + "px"), t.naturalWidth > e) ) { var i = e / 2 - t.naturalWidth / 2; this.setTranslate(this.img.parentNode, i, 0); } this.slide.classList.add("zoomed"), (this.zoomedIn = !0); } }, }, { key: "zoomOut", value: function () { this.img.parentNode.setAttribute("style", ""), this.img.setAttribute( "style", this.img.getAttribute("data-style") ), this.slide.classList.remove("zoomed"), (this.zoomedIn = !1), (this.currentX = null), (this.currentY = null), (this.initialX = null), (this.initialY = null), (this.xOffset = 0), (this.yOffset = 0), this.onclose && "function" == typeof this.onclose && this.onclose(); }, }, { key: "dragStart", value: function (e) { e.preventDefault(), this.zoomedIn ? ("touchstart" === e.type ? ((this.initialX = e.touches[0].clientX - this.xOffset), (this.initialY = e.touches[0].clientY - this.yOffset)) : ((this.initialX = e.clientX - this.xOffset), (this.initialY = e.clientY - this.yOffset)), e.target === this.img && ((this.active = !0), this.img.classList.add("dragging"))) : (this.active = !1); }, }, { key: "dragEnd", value: function (e) { var t = this; e.preventDefault(), (this.initialX = this.currentX), (this.initialY = this.currentY), (this.active = !1), setTimeout(function () { (t.dragging = !1), (t.img.isDragging = !1), t.img.classList.remove("dragging"); }, 100); }, }, { key: "drag", value: function (e) { this.active && (e.preventDefault(), "touchmove" === e.type ? ((this.currentX = e.touches[0].clientX - this.initialX), (this.currentY = e.touches[0].clientY - this.initialY)) : ((this.currentX = e.clientX - this.initialX), (this.currentY = e.clientY - this.initialY)), (this.xOffset = this.currentX), (this.yOffset = this.currentY), (this.img.isDragging = !0), (this.dragging = !0), this.setTranslate(this.img, this.currentX, this.currentY)); }, }, { key: "onMove", value: function (e) { if (this.zoomedIn) { var t = e.clientX - this.img.naturalWidth / 2, i = e.clientY - this.img.naturalHeight / 2; this.setTranslate(this.img, t, i); } }, }, { key: "setTranslate", value: function (e, t, i) { e.style.transform = "translate3d(" + t + "px, " + i + "px, 0)"; }, }, { key: "widowWidth", value: function () { return ( window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth ); }, }, ] ), N = s( function e() { var t = this, n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; i(this, e); var s = n.dragEl, l = n.toleranceX, o = void 0 === l ? 40 : l, r = n.toleranceY, a = void 0 === r ? 65 : r, h = n.slide, d = void 0 === h ? null : h, c = n.instance, u = void 0 === c ? null : c; (this.el = s), (this.active = !1), (this.dragging = !1), (this.currentX = null), (this.currentY = null), (this.initialX = null), (this.initialY = null), (this.xOffset = 0), (this.yOffset = 0), (this.direction = null), (this.lastDirection = null), (this.toleranceX = o), (this.toleranceY = a), (this.toleranceReached = !1), (this.dragContainer = this.el), (this.slide = d), (this.instance = u), this.el.addEventListener( "mousedown", function (e) { return t.dragStart(e); }, !1 ), this.el.addEventListener( "mouseup", function (e) { return t.dragEnd(e); }, !1 ), this.el.addEventListener( "mousemove", function (e) { return t.drag(e); }, !1 ); }, [ { key: "dragStart", value: function (e) { if (this.slide.classList.contains("zoomed")) this.active = !1; else { "touchstart" === e.type ? ((this.initialX = e.touches[0].clientX - this.xOffset), (this.initialY = e.touches[0].clientY - this.yOffset)) : ((this.initialX = e.clientX - this.xOffset), (this.initialY = e.clientY - this.yOffset)); var t = e.target.nodeName.toLowerCase(); e.target.classList.contains("nodrag") || g(e.target, ".nodrag") || -1 !== ["input", "select", "textarea", "button", "a"].indexOf(t) ? (this.active = !1) : (e.preventDefault(), (e.target === this.el || ("img" !== t && g(e.target, ".gslide-inline"))) && ((this.active = !0), this.el.classList.add("dragging"), (this.dragContainer = g(e.target, ".ginner-container")))); } }, }, { key: "dragEnd", value: function (e) { var t = this; e && e.preventDefault(), (this.initialX = 0), (this.initialY = 0), (this.currentX = null), (this.currentY = null), (this.initialX = null), (this.initialY = null), (this.xOffset = 0), (this.yOffset = 0), (this.active = !1), this.doSlideChange && ((this.instance.preventOutsideClick = !0), "right" == this.doSlideChange && this.instance.prevSlide(), "left" == this.doSlideChange && this.instance.nextSlide()), this.doSlideClose && this.instance.close(), this.toleranceReached || this.setTranslate(this.dragContainer, 0, 0, !0), setTimeout(function () { (t.instance.preventOutsideClick = !1), (t.toleranceReached = !1), (t.lastDirection = null), (t.dragging = !1), (t.el.isDragging = !1), t.el.classList.remove("dragging"), t.slide.classList.remove("dragging-nav"), (t.dragContainer.style.transform = ""), (t.dragContainer.style.transition = ""); }, 100); }, }, { key: "drag", value: function (e) { if (this.active) { e.preventDefault(), this.slide.classList.add("dragging-nav"), "touchmove" === e.type ? ((this.currentX = e.touches[0].clientX - this.initialX), (this.currentY = e.touches[0].clientY - this.initialY)) : ((this.currentX = e.clientX - this.initialX), (this.currentY = e.clientY - this.initialY)), (this.xOffset = this.currentX), (this.yOffset = this.currentY), (this.el.isDragging = !0), (this.dragging = !0), (this.doSlideChange = !1), (this.doSlideClose = !1); var t = Math.abs(this.currentX), i = Math.abs(this.currentY); if ( t > 0 && t >= Math.abs(this.currentY) && (!this.lastDirection || "x" == this.lastDirection) ) { (this.yOffset = 0), (this.lastDirection = "x"), this.setTranslate(this.dragContainer, this.currentX, 0); var n = this.shouldChange(); if ( (!this.instance.settings.dragAutoSnap && n && (this.doSlideChange = n), this.instance.settings.dragAutoSnap && n) ) return ( (this.instance.preventOutsideClick = !0), (this.toleranceReached = !0), (this.active = !1), (this.instance.preventOutsideClick = !0), this.dragEnd(null), "right" == n && this.instance.prevSlide(), void ("left" == n && this.instance.nextSlide()) ); } if ( this.toleranceY > 0 && i > 0 && i >= t && (!this.lastDirection || "y" == this.lastDirection) ) { (this.xOffset = 0), (this.lastDirection = "y"), this.setTranslate(this.dragContainer, 0, this.currentY); var s = this.shouldClose(); return ( !this.instance.settings.dragAutoSnap && s && (this.doSlideClose = !0), void ( this.instance.settings.dragAutoSnap && s && this.instance.close() ) ); } } }, }, { key: "shouldChange", value: function () { var e = !1; if (Math.abs(this.currentX) >= this.toleranceX) { var t = this.currentX > 0 ? "right" : "left"; (("left" == t && this.slide !== this.slide.parentNode.lastChild) || ("right" == t && this.slide !== this.slide.parentNode.firstChild)) && (e = t); } return e; }, }, { key: "shouldClose", value: function () { var e = !1; return Math.abs(this.currentY) >= this.toleranceY && (e = !0), e; }, }, { key: "setTranslate", value: function (e, t, i) { var n = arguments.length > 3 && void 0 !== arguments[3] && arguments[3]; (e.style.transition = n ? "all .2s ease" : ""), (e.style.transform = "translate3d(" .concat(t, "px, ") .concat(i, "px, 0)")); }, }, ] ); function D(e, t, i, n) { var s = e.querySelector(".gslide-media"), l = new Image(), o = "gSlideTitle_" + i, r = "gSlideDesc_" + i; l.addEventListener( "load", function () { C(n) && n(); }, !1 ), (l.src = t.href), "" != t.sizes && "" != t.srcset && ((l.sizes = t.sizes), (l.srcset = t.srcset)), (l.alt = ""), O(t.alt) || "" === t.alt || (l.alt = t.alt), "" !== t.title && l.setAttribute("aria-labelledby", o), "" !== t.description && l.setAttribute("aria-describedby", r), t.hasOwnProperty("_hasCustomWidth") && t._hasCustomWidth && (l.style.width = t.width), t.hasOwnProperty("_hasCustomHeight") && t._hasCustomHeight && (l.style.height = t.height), s.insertBefore(l, s.firstChild); } function _(e, t, i, n) { var s = this, l = e.querySelector(".ginner-container"), o = "gvideo" + i, r = e.querySelector(".gslide-media"), a = this.getAllPlayers(); d(l, "gvideo-container"), r.insertBefore(y('
'), r.firstChild); var h = e.querySelector(".gvideo-wrapper"); w(this.settings.plyr.css, "Plyr"); var c = t.href, u = null == t ? void 0 : t.videoProvider, g = !1; (r.style.maxWidth = t.width), w(this.settings.plyr.js, "Plyr", function () { if ( (!u && c.match(/vimeo\.com\/([0-9]*)/) && (u = "vimeo"), !u && (c.match( /(youtube\.com|youtube-nocookie\.com)\/watch\?v=([a-zA-Z0-9\-_]+)/ ) || c.match(/youtu\.be\/([a-zA-Z0-9\-_]+)/) || c.match( /(youtube\.com|youtube-nocookie\.com)\/embed\/([a-zA-Z0-9\-_]+)/ ) || c.match( /(youtube\.com|youtube-nocookie\.com)\/shorts\/([a-zA-Z0-9\-_]+)/ )) && (u = "youtube"), "local" === u || !u) ) { u = "local"; var l = '"))); } var r = g || y( '
') ); d(h, "".concat(u, "-video gvideo")), h.appendChild(r), h.setAttribute("data-id", o), h.setAttribute("data-index", i); var v = P(s.settings.plyr, "config") ? s.settings.plyr.config : {}, f = new Plyr("#" + o, v); f.on("ready", function (e) { (a[o] = e.detail.plyr), C(n) && n(); }), S( function () { return ( e.querySelector("iframe") && "true" == e.querySelector("iframe").dataset.ready ); }, function () { s.resize(e); } ), f.on("enterfullscreen", W), f.on("exitfullscreen", W); }); } function W(e) { var t = g(e.target, ".gslide-media"); "enterfullscreen" === e.type && d(t, "fullscreen"), "exitfullscreen" === e.type && c(t, "fullscreen"); } function B(e, t, i, n) { var s, l = this, o = e.querySelector(".gslide-media"), r = !(!P(t, "href") || !t.href) && t.href.split("#").pop().trim(), a = !(!P(t, "content") || !t.content) && t.content; if ( a && (k(a) && (s = y('
'.concat(a, "
"))), E(a)) ) { "none" == a.style.display && (a.style.display = "block"); var c = document.createElement("div"); (c.className = "ginlined-content"), c.appendChild(a), (s = c); } if (r) { var u = document.getElementById(r); if (!u) return !1; var g = u.cloneNode(!0); (g.style.height = t.height), (g.style.maxWidth = t.width), d(g, "ginlined-content"), (s = g); } if (!s) return console.error("Unable to append inline slide content", t), !1; (o.style.height = t.height), (o.style.width = t.width), o.appendChild(s), (this.events["inlineclose" + r] = h("click", { onElement: o.querySelectorAll(".gtrigger-close"), withCallback: function (e) { e.preventDefault(), l.close(); }, })), C(n) && n(); } function H(e, t, i, n) { var s = e.querySelector(".gslide-media"), l = (function (e) { var t = e.url, i = e.allow, n = e.callback, s = e.appendTo, l = document.createElement("iframe"); return ( (l.className = "vimeo-video gvideo"), (l.src = t), (l.style.width = "100%"), (l.style.height = "100%"), i && l.setAttribute("allow", i), (l.onload = function () { (l.onload = null), d(l, "node-ready"), C(n) && n(); }), s && s.appendChild(l), l ); })({ url: t.href, callback: n }); (s.parentNode.style.maxWidth = t.width), (s.parentNode.style.height = t.height), s.appendChild(l); } var j = s( function e() { var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; i(this, e), (this.defaults = { href: "", sizes: "", srcset: "", title: "", type: "", videoProvider: "", description: "", alt: "", descPosition: "bottom", effect: "", width: "", height: "", content: !1, zoomable: !0, draggable: !0, }), I(t) && (this.defaults = o(this.defaults, t)); }, [ { key: "sourceType", value: function (e) { var t = e; return null !== (e = e.toLowerCase()).match( /\.(jpeg|jpg|jpe|gif|png|apn|webp|avif|svg)/ ) ? "image" : e.match( /(youtube\.com|youtube-nocookie\.com)\/watch\?v=([a-zA-Z0-9\-_]+)/ ) || e.match(/youtu\.be\/([a-zA-Z0-9\-_]+)/) || e.match( /(youtube\.com|youtube-nocookie\.com)\/embed\/([a-zA-Z0-9\-_]+)/ ) || e.match( /(youtube\.com|youtube-nocookie\.com)\/shorts\/([a-zA-Z0-9\-_]+)/ ) || e.match(/vimeo\.com\/([0-9]*)/) || null !== e.match(/\.(mp4|ogg|webm|mov)/) ? "video" : null !== e.match(/\.(mp3|wav|wma|aac|ogg)/) ? "audio" : e.indexOf("#") > -1 && "" !== t.split("#").pop().trim() ? "inline" : e.indexOf("goajax=true") > -1 ? "ajax" : "external"; }, }, { key: "parseConfig", value: function (e, t) { var i = this, n = o({ descPosition: t.descPosition }, this.defaults); if (I(e) && !E(e)) { P(e, "type") || (P(e, "content") && e.content ? (e.type = "inline") : P(e, "href") && (e.type = this.sourceType(e.href))); var s = o(n, e); return this.setSize(s, t), s; } var l = "", a = e.getAttribute("data-glightbox"), h = e.nodeName.toLowerCase(); if ( ("a" === h && (l = e.href), "img" === h && ((l = e.src), (n.alt = e.alt)), (n.href = l), r(n, function (s, l) { P(t, l) && "width" !== l && (n[l] = t[l]); var o = e.dataset[l]; O(o) || (n[l] = i.sanitizeValue(o)); }), n.content && (n.type = "inline"), !n.type && l && (n.type = this.sourceType(l)), O(a)) ) { if (!n.title && "a" == h) { var d = e.title; O(d) || "" === d || (n.title = d); } if (!n.title && "img" == h) { var c = e.alt; O(c) || "" === c || (n.title = c); } } else { var u = []; r(n, function (e, t) { u.push(";\\s?" + t); }), (u = u.join("\\s?:|")), "" !== a.trim() && r(n, function (e, t) { var s = a, l = new RegExp("s?" + t + "s?:s?(.*?)(" + u + "s?:|$)"), o = s.match(l); if (o && o.length && o[1]) { var r = o[1].trim().replace(/;\s*$/, ""); n[t] = i.sanitizeValue(r); } }); } if (n.description && "." === n.description.substring(0, 1)) { var g; try { g = document.querySelector(n.description).innerHTML; } catch (e) { if (!(e instanceof DOMException)) throw e; } g && (n.description = g); } if (!n.description) { var v = e.querySelector(".glightbox-desc"); v && (n.description = v.innerHTML); } return this.setSize(n, t, e), (this.slideConfig = n), n; }, }, { key: "setSize", value: function (e, t) { var i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null, n = "video" == e.type ? this.checkSize(t.videosWidth) : this.checkSize(t.width), s = this.checkSize(t.height); return ( (e.width = P(e, "width") && "" !== e.width ? this.checkSize(e.width) : n), (e.height = P(e, "height") && "" !== e.height ? this.checkSize(e.height) : s), i && "image" == e.type && ((e._hasCustomWidth = !!i.dataset.width), (e._hasCustomHeight = !!i.dataset.height)), e ); }, }, { key: "checkSize", value: function (e) { return z(e) ? "".concat(e, "px") : e; }, }, { key: "sanitizeValue", value: function (e) { return "true" !== e && "false" !== e ? e : "true" === e; }, }, ] ), V = s( function e(t, n, s) { i(this, e), (this.element = t), (this.instance = n), (this.index = s); }, [ { key: "setContent", value: function () { var e = this, t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null, i = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]; if (u(t, "loaded")) return !1; var n = this.instance.settings, s = this.slideConfig, l = T(); C(n.beforeSlideLoad) && n.beforeSlideLoad({ index: this.index, slide: t, player: !1 }); var o = s.type, r = s.descPosition, a = t.querySelector(".gslide-media"), h = t.querySelector(".gslide-title"), c = t.querySelector(".gslide-desc"), g = t.querySelector(".gdesc-inner"), v = i, f = "gSlideTitle_" + this.index, p = "gSlideDesc_" + this.index; if ( (C(n.afterSlideLoad) && (v = function () { C(i) && i(), n.afterSlideLoad({ index: e.index, slide: t, player: e.instance.getSlidePlayerInstance(e.index), }); }), "" == s.title && "" == s.description ? g && g.parentNode.parentNode.removeChild(g.parentNode) : (h && "" !== s.title ? ((h.id = f), (h.innerHTML = s.title)) : h.parentNode.removeChild(h), c && "" !== s.description ? ((c.id = p), l && n.moreLength > 0 ? ((s.smallDescription = this.slideShortDesc( s.description, n.moreLength, n.moreText )), (c.innerHTML = s.smallDescription), this.descriptionEvents(c, s)) : (c.innerHTML = s.description)) : c.parentNode.removeChild(c), d(a.parentNode, "desc-".concat(r)), d(g.parentNode, "description-".concat(r))), d(a, "gslide-".concat(o)), d(t, "loaded"), "video" !== o) ) { if ("external" !== o) return "inline" === o ? (B.apply(this.instance, [t, s, this.index, v]), void ( s.draggable && new N({ dragEl: t.querySelector(".gslide-inline"), toleranceX: n.dragToleranceX, toleranceY: n.dragToleranceY, slide: t, instance: this.instance, }) )) : void ("image" !== o ? C(v) && v() : D(t, s, this.index, function () { var i = t.querySelector("img"); s.draggable && new N({ dragEl: i, toleranceX: n.dragToleranceX, toleranceY: n.dragToleranceY, slide: t, instance: e.instance, }), s.zoomable && i.naturalWidth > i.offsetWidth && (d(i, "zoomable"), new q(i, t, function () { e.instance.resize(); })), C(v) && v(); })); H.apply(this, [t, s, this.index, v]); } else _.apply(this.instance, [t, s, this.index, v]); }, }, { key: "slideShortDesc", value: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 50, i = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], n = document.createElement("div"); n.innerHTML = e; var s = n.innerText, l = i; if ((e = s.trim()).length <= t) return e; var o = e.substr(0, t - 1); return l ? ((n = null), o + '... ' + i + "") : o; }, }, { key: "descriptionEvents", value: function (e, t) { var i = this, n = e.querySelector(".desc-more"); if (!n) return !1; h("click", { onElement: n, withCallback: function (e, n) { e.preventDefault(); var s = document.body, l = g(n, ".gslide-desc"); if (!l) return !1; (l.innerHTML = t.description), d(s, "gdesc-open"); var o = h("click", { onElement: [s, g(l, ".gslide-description")], withCallback: function (e, n) { "a" !== e.target.nodeName.toLowerCase() && (c(s, "gdesc-open"), d(s, "gdesc-closed"), (l.innerHTML = t.smallDescription), i.descriptionEvents(l, t), setTimeout(function () { c(s, "gdesc-closed"); }, 400), o.destroy()); }, }); }, }); }, }, { key: "create", value: function () { return y(this.instance.settings.slideHTML); }, }, { key: "getConfig", value: function () { E(this.element) || this.element.hasOwnProperty("draggable") || (this.element.draggable = this.instance.settings.draggable); var e = new j(this.instance.settings.slideExtraAttributes); return ( (this.slideConfig = e.parseConfig( this.element, this.instance.settings )), this.slideConfig ); }, }, ] ); function F(e) { return Math.sqrt(e.x * e.x + e.y * e.y); } function R(e, t) { var i = (function (e, t) { var i = F(e) * F(t); if (0 === i) return 0; var n = (function (e, t) { return e.x * t.x + e.y * t.y; })(e, t) / i; return n > 1 && (n = 1), Math.acos(n); })(e, t); return ( (function (e, t) { return e.x * t.y - t.x * e.y; })(e, t) > 0 && (i *= -1), (180 * i) / Math.PI ); } var G = s( function e(t) { i(this, e), (this.handlers = []), (this.el = t); }, [ { key: "add", value: function (e) { this.handlers.push(e); }, }, { key: "del", value: function (e) { e || (this.handlers = []); for (var t = this.handlers.length; t >= 0; t--) this.handlers[t] === e && this.handlers.splice(t, 1); }, }, { key: "dispatch", value: function () { for (var e = 0, t = this.handlers.length; e < t; e++) { var i = this.handlers[e]; "function" == typeof i && i.apply(this.el, arguments); } }, }, ] ); function Z(e, t) { var i = new G(e); return i.add(t), i; } var U = s( function e(t, n) { i(this, e), (this.element = "string" == typeof t ? document.querySelector(t) : t), (this.start = this.start.bind(this)), (this.move = this.move.bind(this)), (this.end = this.end.bind(this)), (this.cancel = this.cancel.bind(this)), this.element.addEventListener("touchstart", this.start, !1), this.element.addEventListener("touchmove", this.move, !1), this.element.addEventListener("touchend", this.end, !1), this.element.addEventListener("touchcancel", this.cancel, !1), (this.preV = { x: null, y: null }), (this.pinchStartLen = null), (this.zoom = 1), (this.isDoubleTap = !1); var s = function () {}; (this.rotate = Z(this.element, n.rotate || s)), (this.touchStart = Z(this.element, n.touchStart || s)), (this.multipointStart = Z(this.element, n.multipointStart || s)), (this.multipointEnd = Z(this.element, n.multipointEnd || s)), (this.pinch = Z(this.element, n.pinch || s)), (this.swipe = Z(this.element, n.swipe || s)), (this.tap = Z(this.element, n.tap || s)), (this.doubleTap = Z(this.element, n.doubleTap || s)), (this.longTap = Z(this.element, n.longTap || s)), (this.singleTap = Z(this.element, n.singleTap || s)), (this.pressMove = Z(this.element, n.pressMove || s)), (this.twoFingerPressMove = Z(this.element, n.twoFingerPressMove || s)), (this.touchMove = Z(this.element, n.touchMove || s)), (this.touchEnd = Z(this.element, n.touchEnd || s)), (this.touchCancel = Z(this.element, n.touchCancel || s)), (this.translateContainer = this.element), (this._cancelAllHandler = this.cancelAll.bind(this)), window.addEventListener("scroll", this._cancelAllHandler), (this.delta = null), (this.last = null), (this.now = null), (this.tapTimeout = null), (this.singleTapTimeout = null), (this.longTapTimeout = null), (this.swipeTimeout = null), (this.x1 = this.x2 = this.y1 = this.y2 = null), (this.preTapPosition = { x: null, y: null }); }, [ { key: "start", value: function (e) { if (e.touches) if ( e.target && e.target.nodeName && ["a", "button", "input"].indexOf( e.target.nodeName.toLowerCase() ) >= 0 ) console.log( "ignore drag for this touched element", e.target.nodeName.toLowerCase() ); else { (this.now = Date.now()), (this.x1 = e.touches[0].pageX), (this.y1 = e.touches[0].pageY), (this.delta = this.now - (this.last || this.now)), this.touchStart.dispatch(e, this.element), null !== this.preTapPosition.x && ((this.isDoubleTap = this.delta > 0 && this.delta <= 250 && Math.abs(this.preTapPosition.x - this.x1) < 30 && Math.abs(this.preTapPosition.y - this.y1) < 30), this.isDoubleTap && clearTimeout(this.singleTapTimeout)), (this.preTapPosition.x = this.x1), (this.preTapPosition.y = this.y1), (this.last = this.now); var t = this.preV; if (e.touches.length > 1) { this._cancelLongTap(), this._cancelSingleTap(); var i = { x: e.touches[1].pageX - this.x1, y: e.touches[1].pageY - this.y1, }; (t.x = i.x), (t.y = i.y), (this.pinchStartLen = F(t)), this.multipointStart.dispatch(e, this.element); } (this._preventTap = !1), (this.longTapTimeout = setTimeout( function () { this.longTap.dispatch(e, this.element), (this._preventTap = !0); }.bind(this), 750 )); } }, }, { key: "move", value: function (e) { if (e.touches) { var t = this.preV, i = e.touches.length, n = e.touches[0].pageX, s = e.touches[0].pageY; if (((this.isDoubleTap = !1), i > 1)) { var l = e.touches[1].pageX, o = e.touches[1].pageY, r = { x: e.touches[1].pageX - n, y: e.touches[1].pageY - s }; null !== t.x && (this.pinchStartLen > 0 && ((e.zoom = F(r) / this.pinchStartLen), this.pinch.dispatch(e, this.element)), (e.angle = R(r, t)), this.rotate.dispatch(e, this.element)), (t.x = r.x), (t.y = r.y), null !== this.x2 && null !== this.sx2 ? ((e.deltaX = (n - this.x2 + l - this.sx2) / 2), (e.deltaY = (s - this.y2 + o - this.sy2) / 2)) : ((e.deltaX = 0), (e.deltaY = 0)), this.twoFingerPressMove.dispatch(e, this.element), (this.sx2 = l), (this.sy2 = o); } else { if (null !== this.x2) { (e.deltaX = n - this.x2), (e.deltaY = s - this.y2); var a = Math.abs(this.x1 - this.x2), h = Math.abs(this.y1 - this.y2); (a > 10 || h > 10) && (this._preventTap = !0); } else (e.deltaX = 0), (e.deltaY = 0); this.pressMove.dispatch(e, this.element); } this.touchMove.dispatch(e, this.element), this._cancelLongTap(), (this.x2 = n), (this.y2 = s), i > 1 && e.preventDefault(); } }, }, { key: "end", value: function (e) { if (e.changedTouches) { this._cancelLongTap(); var t = this; e.touches.length < 2 && (this.multipointEnd.dispatch(e, this.element), (this.sx2 = this.sy2 = null)), (this.x2 && Math.abs(this.x1 - this.x2) > 30) || (this.y2 && Math.abs(this.y1 - this.y2) > 30) ? ((e.direction = this._swipeDirection( this.x1, this.x2, this.y1, this.y2 )), (this.swipeTimeout = setTimeout(function () { t.swipe.dispatch(e, t.element); }, 0))) : ((this.tapTimeout = setTimeout(function () { t._preventTap || t.tap.dispatch(e, t.element), t.isDoubleTap && (t.doubleTap.dispatch(e, t.element), (t.isDoubleTap = !1)); }, 0)), t.isDoubleTap || (t.singleTapTimeout = setTimeout(function () { t.singleTap.dispatch(e, t.element); }, 250))), this.touchEnd.dispatch(e, this.element), (this.preV.x = 0), (this.preV.y = 0), (this.zoom = 1), (this.pinchStartLen = null), (this.x1 = this.x2 = this.y1 = this.y2 = null); } }, }, { key: "cancelAll", value: function () { (this._preventTap = !0), clearTimeout(this.singleTapTimeout), clearTimeout(this.tapTimeout), clearTimeout(this.longTapTimeout), clearTimeout(this.swipeTimeout); }, }, { key: "cancel", value: function (e) { this.cancelAll(), this.touchCancel.dispatch(e, this.element); }, }, { key: "_cancelLongTap", value: function () { clearTimeout(this.longTapTimeout); }, }, { key: "_cancelSingleTap", value: function () { clearTimeout(this.singleTapTimeout); }, }, { key: "_swipeDirection", value: function (e, t, i, n) { return Math.abs(e - t) >= Math.abs(i - n) ? e - t > 0 ? "Left" : "Right" : i - n > 0 ? "Up" : "Down"; }, }, { key: "on", value: function (e, t) { this[e] && this[e].add(t); }, }, { key: "off", value: function (e, t) { this[e] && this[e].del(t); }, }, { key: "destroy", value: function () { return ( this.singleTapTimeout && clearTimeout(this.singleTapTimeout), this.tapTimeout && clearTimeout(this.tapTimeout), this.longTapTimeout && clearTimeout(this.longTapTimeout), this.swipeTimeout && clearTimeout(this.swipeTimeout), this.element.removeEventListener("touchstart", this.start), this.element.removeEventListener("touchmove", this.move), this.element.removeEventListener("touchend", this.end), this.element.removeEventListener("touchcancel", this.cancel), this.rotate.del(), this.touchStart.del(), this.multipointStart.del(), this.multipointEnd.del(), this.pinch.del(), this.swipe.del(), this.tap.del(), this.doubleTap.del(), this.longTap.del(), this.singleTap.del(), this.pressMove.del(), this.twoFingerPressMove.del(), this.touchMove.del(), this.touchEnd.del(), this.touchCancel.del(), (this.preV = this.pinchStartLen = this.zoom = this.isDoubleTap = this.delta = this.last = this.now = this.tapTimeout = this.singleTapTimeout = this.longTapTimeout = this.swipeTimeout = this.x1 = this.x2 = this.y1 = this.y2 = this.preTapPosition = this.rotate = this.touchStart = this.multipointStart = this.multipointEnd = this.pinch = this.swipe = this.tap = this.doubleTap = this.longTap = this.singleTap = this.pressMove = this.touchMove = this.touchEnd = this.touchCancel = this.twoFingerPressMove = null), window.removeEventListener("scroll", this._cancelAllHandler), null ); }, }, ] ); function $(e) { var t = (function () { var e, t = document.createElement("fakeelement"), i = { transition: "transitionend", OTransition: "oTransitionEnd", MozTransition: "transitionend", WebkitTransition: "webkitTransitionEnd", }; for (e in i) if (void 0 !== t.style[e]) return i[e]; })(), i = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, n = u(e, "gslide-media") ? e : e.querySelector(".gslide-media"), s = g(n, ".ginner-container"), l = e.querySelector(".gslide-description"); i > 769 && (n = s), d(n, "greset"), f(n, "translate3d(0, 0, 0)"), h(t, { onElement: n, once: !0, withCallback: function (e, t) { c(n, "greset"); }, }), (n.style.opacity = ""), l && (l.style.opacity = ""); } function J(e) { if (e.events.hasOwnProperty("touch")) return !1; var t, i, n, s = x(), l = s.width, o = s.height, r = !1, a = null, h = null, v = null, p = !1, m = 1, y = 1, b = !1, S = !1, w = null, T = null, C = null, k = null, E = 0, A = 0, L = !1, I = !1, O = {}, P = {}, M = 0, z = 0, X = document.getElementById("glightbox-slider"), Y = document.querySelector(".goverlay"), q = new U(X, { touchStart: function (t) { if ( ((r = !0), (u(t.targetTouches[0].target, "ginner-container") || g(t.targetTouches[0].target, ".gslide-desc") || "a" == t.targetTouches[0].target.nodeName.toLowerCase()) && (r = !1), g(t.targetTouches[0].target, ".gslide-inline") && !u(t.targetTouches[0].target.parentNode, "gslide-inline") && (r = !1), r) ) { if ( ((P = t.targetTouches[0]), (O.pageX = t.targetTouches[0].pageX), (O.pageY = t.targetTouches[0].pageY), (M = t.targetTouches[0].clientX), (z = t.targetTouches[0].clientY), (a = e.activeSlide), (h = a.querySelector(".gslide-media")), (n = a.querySelector(".gslide-inline")), (v = null), u(h, "gslide-image") && (v = h.querySelector("img")), (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) > 769 && (h = a.querySelector(".ginner-container")), c(Y, "greset"), t.pageX > 20 && t.pageX < window.innerWidth - 20) ) return; t.preventDefault(); } }, touchMove: function (s) { if (r && ((P = s.targetTouches[0]), !b && !S)) { if (n && n.offsetHeight > o) { var a = O.pageX - P.pageX; if (Math.abs(a) <= 13) return !1; } p = !0; var d, c = s.targetTouches[0].clientX, u = s.targetTouches[0].clientY, g = M - c, m = z - u; if ( (Math.abs(g) > Math.abs(m) ? ((L = !1), (I = !0)) : ((I = !1), (L = !0)), (t = P.pageX - O.pageX), (E = (100 * t) / l), (i = P.pageY - O.pageY), (A = (100 * i) / o), L && v && ((d = 1 - Math.abs(i) / o), (Y.style.opacity = d), e.settings.touchFollowAxis && (E = 0)), I && ((d = 1 - Math.abs(t) / l), (h.style.opacity = d), e.settings.touchFollowAxis && (A = 0)), !v) ) return f(h, "translate3d(".concat(E, "%, 0, 0)")); f(h, "translate3d(".concat(E, "%, ").concat(A, "%, 0)")); } }, touchEnd: function () { if (r) { if (((p = !1), S || b)) return (C = w), void (k = T); var t = Math.abs(parseInt(A)), i = Math.abs(parseInt(E)); if (!(t > 29 && v)) return t < 29 && i < 25 ? (d(Y, "greset"), (Y.style.opacity = 1), $(h)) : void 0; e.close(); } }, multipointEnd: function () { setTimeout(function () { b = !1; }, 50); }, multipointStart: function () { (b = !0), (m = y || 1); }, pinch: function (e) { if (!v || p) return !1; (b = !0), (v.scaleX = v.scaleY = m * e.zoom); var t = m * e.zoom; if (((S = !0), t <= 1)) return ( (S = !1), (t = 1), (k = null), (C = null), (w = null), (T = null), void v.setAttribute("style", "") ); t > 4.5 && (t = 4.5), (v.style.transform = "scale3d(".concat(t, ", ").concat(t, ", 1)")), (y = t); }, pressMove: function (e) { if (S && !b) { var t = P.pageX - O.pageX, i = P.pageY - O.pageY; C && (t += C), k && (i += k), (w = t), (T = i); var n = "translate3d(".concat(t, "px, ").concat(i, "px, 0)"); y && (n += " scale3d(".concat(y, ", ").concat(y, ", 1)")), f(v, n); } }, swipe: function (t) { if (!S) if (b) b = !1; else { if ("Left" == t.direction) { if (e.index == e.elements.length - 1) return $(h); e.nextSlide(); } if ("Right" == t.direction) { if (0 == e.index) return $(h); e.prevSlide(); } } }, }); e.events.touch = q; } var K = T(), Q = null !== T() || void 0 !== document.createTouch || "ontouchstart" in window || "onmsgesturechange" in window || navigator.msMaxTouchPoints, ee = document.getElementsByTagName("html")[0], te = { selector: ".glightbox", elements: null, skin: "clean", theme: "clean", closeButton: !0, startAt: null, autoplayVideos: !0, autofocusVideos: !0, descPosition: "bottom", width: "900px", height: "506px", videosWidth: "960px", beforeSlideChange: null, afterSlideChange: null, beforeSlideLoad: null, afterSlideLoad: null, slideInserted: null, slideRemoved: null, slideExtraAttributes: null, onOpen: null, onClose: null, loop: !1, zoomable: !0, draggable: !0, dragAutoSnap: !1, dragToleranceX: 40, dragToleranceY: 65, preload: !0, oneSlidePerOpen: !1, touchNavigation: !0, touchFollowAxis: !0, keyboardNavigation: !0, closeOnOutsideClick: !0, plugins: !1, plyr: { css: "https://cdn.plyr.io/3.6.12/plyr.css", js: "https://cdn.plyr.io/3.6.12/plyr.js", config: { ratio: "16:10", fullscreen: { enabled: !0, iosNative: !0 }, youtube: { noCookie: !0, rel: 0, showinfo: 0, iv_load_policy: 3 }, vimeo: { byline: !1, portrait: !1, title: !1, transparent: !1 }, }, }, openEffect: "zoom", closeEffect: "zoom", slideEffect: "slide", moreText: "See more", moreLength: 60, cssEfects: { fade: { in: "fadeIn", out: "fadeOut" }, zoom: { in: "zoomIn", out: "zoomOut" }, slide: { in: "slideInRight", out: "slideOutLeft" }, slideBack: { in: "slideInLeft", out: "slideOutRight" }, none: { in: "none", out: "none" }, }, svg: { close: '', next: ' ', prev: '', }, slideHTML: '
\n
\n
\n
\n
1 of 2
\n
\n
\n
\n

\n
\n
\n
\n
\n
\n
', lightboxHTML: '', }, ie = s( function e() { var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; i(this, e), (this.customOptions = t), (this.settings = o(te, t)), (this.effectsClasses = this.getAnimationClasses()), (this.videoPlayers = {}), (this.apiEvents = []), (this.fullElementsList = !1); }, [ { key: "init", value: function () { var e = this, t = this.getSelector(); t && (this.baseEvents = h("click", { onElement: t, withCallback: function (t, i) { t.preventDefault(), e.open(i); }, })), (this.elements = this.getElements()); }, }, { key: "open", value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null, t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null; if (0 === this.elements.length) return !1; (this.activeSlide = null), (this.prevActiveSlideIndex = null), (this.prevActiveSlide = null); var i = z(t) ? t : this.settings.startAt; if (E(e)) { var n = e.getAttribute("data-gallery"); n && ((this.fullElementsList = this.elements), (this.elements = this.getGalleryElements(this.elements, n))), O(i) && (i = this.getElementIndex(e)) < 0 && (i = 0); } z(i) || (i = 0), this.build(), v( this.overlay, "none" === this.settings.openEffect ? "none" : this.settings.cssEfects.fade.in ); var s = document.body, l = window.innerWidth - document.documentElement.clientWidth; cgsc(this, null); if (l > 0) { var o = document.createElement("style"); (o.type = "text/css"), (o.className = "gcss-styles"), (o.innerText = ".gscrollbar-fixer {margin-right: ".concat( l, "px}" )), document.head.appendChild(o), d(s, "gscrollbar-fixer"); } d(s, "glightbox-open"), d(ee, "glightbox-open"), K && (d(document.body, "glightbox-mobile"), (this.settings.slideEffect = "slide")), this.showSlide(i, !0), 1 === this.elements.length ? (d(this.prevButton, "glightbox-button-hidden"), d(this.nextButton, "glightbox-button-hidden")) : (c(this.prevButton, "glightbox-button-hidden"), c(this.nextButton, "glightbox-button-hidden")), (this.lightboxOpen = !0), this.trigger("open"), C(this.settings.onOpen) && this.settings.onOpen(), Q && this.settings.touchNavigation && J(this), this.settings.keyboardNavigation && Y(this); }, }, { key: "openAt", value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0; this.open(null, e); }, }, { key: "showSlide", value: function () { var e = this, t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0, i = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]; p(this.loader), (this.index = parseInt(t)); var n = this.slidesContainer.querySelector(".current"); n && c(n, "current"), this.slideAnimateOut(); var s = this.slidesContainer.querySelectorAll(".gslide")[t]; if (u(s, "loaded")) this.slideAnimateIn(s, i), m(this.loader); else { p(this.loader); var l = this.elements[t], o = { index: this.index, slide: s, slideNode: s, slideConfig: l.slideConfig, slideIndex: this.index, trigger: l.node, player: null, }; this.trigger("slide_before_load", o), l.instance.setContent(s, function () { m(e.loader), e.resize(), e.slideAnimateIn(s, i), e.trigger("slide_after_load", o); }); } (this.slideDescription = s.querySelector(".gslide-description")), (this.slideDescriptionContained = this.slideDescription && u(this.slideDescription.parentNode, "gslide-media")), this.settings.preload && (this.preloadSlide(t + 1), this.preloadSlide(t - 1)), this.updateNavigationClasses(), (this.activeSlide = s); }, }, { key: "preloadSlide", value: function (e) { var t = this; if (e < 0 || e > this.elements.length - 1) return !1; if (O(this.elements[e])) return !1; var i = this.slidesContainer.querySelectorAll(".gslide")[e]; if (u(i, "loaded")) return !1; var n = this.elements[e], s = n.type, l = { index: e, slide: i, slideNode: i, slideConfig: n.slideConfig, slideIndex: e, trigger: n.node, player: null, }; this.trigger("slide_before_load", l), "video" === s || "external" === s ? setTimeout(function () { n.instance.setContent(i, function () { t.trigger("slide_after_load", l); }); }, 200) : n.instance.setContent(i, function () { t.trigger("slide_after_load", l); }); }, }, { key: "prevSlide", value: function () { this.goToSlide(this.index - 1); cgsc(this, "dec"); }, }, { key: "nextSlide", value: function () { this.goToSlide(this.index + 1); cgsc(this, "inc"); }, }, { key: "goToSlide", value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0]; if ( ((this.prevActiveSlide = this.activeSlide), (this.prevActiveSlideIndex = this.index), !this.loop() && (e < 0 || e > this.elements.length - 1)) ) return !1; e < 0 ? (e = this.elements.length - 1) : e >= this.elements.length && (e = 0), this.showSlide(e); }, }, { key: "insertSlide", value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : -1; t < 0 && (t = this.elements.length); var i = new V(e, this, t), n = i.getConfig(), s = o({}, n), l = i.create(), r = this.elements.length - 1; (s.index = t), (s.node = !1), (s.instance = i), (s.slideConfig = n), this.elements.splice(t, 0, s); var a = null, h = null; if (this.slidesContainer) { if (t > r) this.slidesContainer.appendChild(l); else { var d = this.slidesContainer.querySelectorAll(".gslide")[t]; this.slidesContainer.insertBefore(l, d); } ((this.settings.preload && 0 == this.index && 0 == t) || this.index - 1 == t || this.index + 1 == t) && this.preloadSlide(t), 0 === this.index && 0 === t && (this.index = 1), this.updateNavigationClasses(), (a = this.slidesContainer.querySelectorAll(".gslide")[t]), (h = this.getSlidePlayerInstance(t)), (s.slideNode = a); } this.trigger("slide_inserted", { index: t, slide: a, slideNode: a, slideConfig: n, slideIndex: t, trigger: null, player: h, }), C(this.settings.slideInserted) && this.settings.slideInserted({ index: t, slide: a, player: h }); }, }, { key: "removeSlide", value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : -1; if (e < 0 || e > this.elements.length - 1) return !1; var t = this.slidesContainer && this.slidesContainer.querySelectorAll(".gslide")[e]; t && (this.getActiveSlideIndex() == e && (e == this.elements.length - 1 ? this.prevSlide() : this.nextSlide()), t.parentNode.removeChild(t)), this.elements.splice(e, 1), this.trigger("slide_removed", e), C(this.settings.slideRemoved) && this.settings.slideRemoved(e); }, }, { key: "slideAnimateIn", value: function (e, t) { var i = this, n = e.querySelector(".gslide-media"), s = e.querySelector(".gslide-description"), l = { index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, slideNode: this.prevActiveSlide, slideIndex: this.prevActiveSlide, slideConfig: O(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].slideConfig, trigger: O(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].node, player: this.getSlidePlayerInstance(this.prevActiveSlideIndex), }, o = { index: this.index, slide: this.activeSlide, slideNode: this.activeSlide, slideConfig: this.elements[this.index].slideConfig, slideIndex: this.index, trigger: this.elements[this.index].node, player: this.getSlidePlayerInstance(this.index), }; if ( (n.offsetWidth > 0 && s && (m(s), (s.style.display = "")), c(e, this.effectsClasses), t) ) v( e, this.settings.cssEfects[this.settings.openEffect].in, function () { i.settings.autoplayVideos && i.slidePlayerPlay(e), i.trigger("slide_changed", { prev: l, current: o }), C(i.settings.afterSlideChange) && i.settings.afterSlideChange.apply(i, [l, o]); } ); else { var r = this.settings.slideEffect, a = "none" !== r ? this.settings.cssEfects[r].in : r; this.prevActiveSlideIndex > this.index && "slide" == this.settings.slideEffect && (a = this.settings.cssEfects.slideBack.in), v(e, a, function () { i.settings.autoplayVideos && i.slidePlayerPlay(e), i.trigger("slide_changed", { prev: l, current: o }), C(i.settings.afterSlideChange) && i.settings.afterSlideChange.apply(i, [l, o]); }); } setTimeout(function () { i.resize(e); }, 100), d(e, "current"); }, }, { key: "slideAnimateOut", value: function () { if (!this.prevActiveSlide) return !1; var e = this.prevActiveSlide; c(e, this.effectsClasses), d(e, "prev"); var t = this.settings.slideEffect, i = "none" !== t ? this.settings.cssEfects[t].out : t; this.slidePlayerPause(e), this.trigger("slide_before_change", { prev: { index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, slideNode: this.prevActiveSlide, slideIndex: this.prevActiveSlideIndex, slideConfig: O(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].slideConfig, trigger: O(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].node, player: this.getSlidePlayerInstance( this.prevActiveSlideIndex ), }, current: { index: this.index, slide: this.activeSlide, slideNode: this.activeSlide, slideIndex: this.index, slideConfig: this.elements[this.index].slideConfig, trigger: this.elements[this.index].node, player: this.getSlidePlayerInstance(this.index), }, }), C(this.settings.beforeSlideChange) && this.settings.beforeSlideChange.apply(this, [ { index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, player: this.getSlidePlayerInstance( this.prevActiveSlideIndex ), }, { index: this.index, slide: this.activeSlide, player: this.getSlidePlayerInstance(this.index), }, ]), this.prevActiveSlideIndex > this.index && "slide" == this.settings.slideEffect && (i = this.settings.cssEfects.slideBack.out), v(e, i, function () { var t = e.querySelector(".ginner-container"), i = e.querySelector(".gslide-media"), n = e.querySelector(".gslide-description"); (t.style.transform = ""), (i.style.transform = ""), c(i, "greset"), (i.style.opacity = ""), n && (n.style.opacity = ""), c(e, "prev"); }); }, }, { key: "getAllPlayers", value: function () { return this.videoPlayers; }, }, { key: "getSlidePlayerInstance", value: function (e) { var t = "gvideo" + e, i = this.getAllPlayers(); return !(!P(i, t) || !i[t]) && i[t]; }, }, { key: "stopSlideVideo", value: function (e) { if (E(e)) { var t = e.querySelector(".gvideo-wrapper"); t && (e = t.getAttribute("data-index")); } console.log("stopSlideVideo is deprecated, use slidePlayerPause"); var i = this.getSlidePlayerInstance(e); i && i.playing && i.pause(); }, }, { key: "slidePlayerPause", value: function (e) { if (E(e)) { var t = e.querySelector(".gvideo-wrapper"); t && (e = t.getAttribute("data-index")); } var i = this.getSlidePlayerInstance(e); i && i.playing && i.pause(); }, }, { key: "playSlideVideo", value: function (e) { if (E(e)) { var t = e.querySelector(".gvideo-wrapper"); t && (e = t.getAttribute("data-index")); } console.log("playSlideVideo is deprecated, use slidePlayerPlay"); var i = this.getSlidePlayerInstance(e); i && !i.playing && i.play(); }, }, { key: "slidePlayerPlay", value: function (e) { var t; if ( !K || (null !== (t = this.settings.plyr.config) && void 0 !== t && t.muted) ) { if (E(e)) { var i = e.querySelector(".gvideo-wrapper"); i && (e = i.getAttribute("data-index")); } var n = this.getSlidePlayerInstance(e); n && !n.playing && (n.play(), this.settings.autofocusVideos && n.elements.container.focus()); } }, }, { key: "setElements", value: function (e) { var t = this; this.settings.elements = !1; var i = []; e && e.length && r(e, function (e, n) { var s = new V(e, t, n), l = s.getConfig(), r = o({}, l); (r.slideConfig = l), (r.instance = s), (r.index = n), i.push(r); }), (this.elements = i), this.lightboxOpen && ((this.slidesContainer.innerHTML = ""), this.elements.length && (r(this.elements, function () { var e = y(t.settings.slideHTML); t.slidesContainer.appendChild(e); }), this.showSlide(0, !0))); }, }, { key: "getElementIndex", value: function (e) { var t = !1; return ( r(this.elements, function (i, n) { if (P(i, "node") && i.node == e) return (t = n), !0; }), t ); }, }, { key: "getElements", value: function () { var e = this, t = []; (this.elements = this.elements ? this.elements : []), !O(this.settings.elements) && A(this.settings.elements) && this.settings.elements.length && r(this.settings.elements, function (i, n) { var s = new V(i, e, n), l = s.getConfig(), r = o({}, l); (r.node = !1), (r.index = n), (r.instance = s), (r.slideConfig = l), t.push(r); }); var i = !1; return ( this.getSelector() && (i = document.querySelectorAll(this.getSelector())), i ? (r(i, function (i, n) { var s = new V(i, e, n), l = s.getConfig(), r = o({}, l); (r.node = i), (r.index = n), (r.instance = s), (r.slideConfig = l), (r.gallery = i.getAttribute("data-gallery")), t.push(r); }), t) : t ); }, }, { key: "getGalleryElements", value: function (e, t) { return e.filter(function (e) { return e.gallery == t; }); }, }, { key: "getSelector", value: function () { return ( !this.settings.elements && (this.settings.selector && "data-" == this.settings.selector.substring(0, 5) ? "*[".concat(this.settings.selector, "]") : this.settings.selector) ); }, }, { key: "getActiveSlide", value: function () { return this.slidesContainer.querySelectorAll(".gslide")[this.index]; }, }, { key: "getActiveSlideIndex", value: function () { return this.index; }, }, { key: "getAnimationClasses", value: function () { var e = []; for (var t in this.settings.cssEfects) if (this.settings.cssEfects.hasOwnProperty(t)) { var i = this.settings.cssEfects[t]; e.push("g".concat(i.in)), e.push("g".concat(i.out)); } return e.join(" "); }, }, { key: "build", value: function () { var e = this; if (this.built) return !1; var t = document.body.childNodes, i = []; r(t, function (e) { e.parentNode == document.body && "#" !== e.nodeName.charAt(0) && e.hasAttribute && !e.hasAttribute("aria-hidden") && (i.push(e), e.setAttribute("aria-hidden", "true")); }); var n = P(this.settings.svg, "next") ? this.settings.svg.next : "", s = P(this.settings.svg, "prev") ? this.settings.svg.prev : "", l = P(this.settings.svg, "close") ? this.settings.svg.close : "", o = this.settings.lightboxHTML; (o = y( (o = (o = (o = o.replace(/{nextSVG}/g, n)).replace( /{prevSVG}/g, s )).replace(/{closeSVG}/g, l)) )), document.body.appendChild(o); var a = document.getElementById("glightbox-body"); this.modal = a; var c = a.querySelector(".gclose"); (this.prevButton = a.querySelector(".gprev")), (this.nextButton = a.querySelector(".gnext")), (this.overlay = a.querySelector(".goverlay")), (this.loader = a.querySelector(".gloader")), (this.slidesContainer = document.getElementById("glightbox-slider")), (this.bodyHiddenChildElms = i), (this.events = {}), d(this.modal, "glightbox-" + this.settings.skin), this.settings.closeButton && c && (this.events.close = h("click", { onElement: c, withCallback: function (t, i) { t.preventDefault(), e.close(); }, })), c && !this.settings.closeButton && c.parentNode.removeChild(c), this.nextButton && (this.events.next = h("click", { onElement: this.nextButton, withCallback: function (t, i) { t.preventDefault(), e.nextSlide(); }, })), this.prevButton && (this.events.prev = h("click", { onElement: this.prevButton, withCallback: function (t, i) { t.preventDefault(), e.prevSlide(); }, })), this.settings.closeOnOutsideClick && (this.events.outClose = h("click", { onElement: a, withCallback: function (t, i) { e.preventOutsideClick || u(document.body, "glightbox-mobile") || g(t.target, ".ginner-container") || g(t.target, ".gbtn") || u(t.target, "gnext") || u(t.target, "gprev") || e.close(); }, })), r(this.elements, function (t, i) { e.slidesContainer.appendChild(t.instance.create()), (t.slideNode = e.slidesContainer.querySelectorAll(".gslide")[i]); }), Q && d(document.body, "glightbox-touch"), (this.events.resize = h("resize", { onElement: window, withCallback: function () { e.resize(); }, })), (this.built = !0); }, }, { key: "resize", value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null; if ((e = e || this.activeSlide) && !u(e, "zoomed")) { var t = x(), i = e.querySelector(".gvideo-wrapper"), n = e.querySelector(".gslide-image"), s = this.slideDescription, l = t.width, o = t.height; if ( (l <= 768 ? d(document.body, "glightbox-mobile") : c(document.body, "glightbox-mobile"), i || n) ) { var r = !1; if ( (s && (u(s, "description-bottom") || u(s, "description-top")) && !u(s, "gabsolute") && (r = !0), n) ) if (l <= 768) n.querySelector("img"); else if (r) { var a, h = s.offsetHeight, g = n.querySelector("img"), v = this.elements[this.index].node, f = null !== (a = v.getAttribute("data-height")) && void 0 !== a ? a : "100vh"; g.setAttribute( "style", "max-height: calc(".concat(f, " - ").concat(h, "px)") ), s.setAttribute( "style", "max-width: ".concat(g.offsetWidth, "px;") ); } if (i) { var p = P(this.settings.plyr.config, "ratio") ? this.settings.plyr.config.ratio : ""; if (!p) { var m = i.clientWidth, y = i.clientHeight, b = m / y; p = "".concat(m / b, ":").concat(y / b); } var S = p.split(":"), w = this.settings.videosWidth, T = this.settings.videosWidth, C = (T = z(w) || -1 !== w.indexOf("px") ? parseInt(w) : -1 !== w.indexOf("vw") ? (l * parseInt(w)) / 100 : -1 !== w.indexOf("vh") ? (o * parseInt(w)) / 100 : -1 !== w.indexOf("%") ? (l * parseInt(w)) / 100 : parseInt(i.clientWidth)) / (parseInt(S[0]) / parseInt(S[1])); if ( ((C = Math.floor(C)), r && (o -= s.offsetHeight), T > l || C > o || (o < C && l > T)) ) { var k = i.offsetWidth, E = i.offsetHeight, A = o / E, L = { width: k * A, height: E * A }; i.parentNode.setAttribute( "style", "max-width: ".concat(L.width, "px") ), r && s.setAttribute( "style", "max-width: ".concat(L.width, "px;") ); } else (i.parentNode.style.maxWidth = "".concat(w)), r && s.setAttribute("style", "max-width: ".concat(w, ";")); } } } }, }, { key: "reload", value: function () { this.init(); }, }, { key: "updateNavigationClasses", value: function () { var e = this.loop(); c(this.nextButton, "disabled"), c(this.prevButton, "disabled"), 0 == this.index && this.elements.length - 1 == 0 ? (d(this.prevButton, "disabled"), d(this.nextButton, "disabled")) : 0 !== this.index || e ? this.index !== this.elements.length - 1 || e || d(this.nextButton, "disabled") : d(this.prevButton, "disabled"); }, }, { key: "loop", value: function () { var e = P(this.settings, "loopAtEnd") ? this.settings.loopAtEnd : null; return (e = P(this.settings, "loop") ? this.settings.loop : e), e; }, }, { key: "close", value: function () { var e = this; if (!this.lightboxOpen) { if (this.events) { for (var t in this.events) this.events.hasOwnProperty(t) && this.events[t].destroy(); this.events = null; } return !1; } if (this.closing) return !1; (this.closing = !0), this.slidePlayerPause(this.activeSlide), this.fullElementsList && (this.elements = this.fullElementsList), this.bodyHiddenChildElms.length && r(this.bodyHiddenChildElms, function (e) { e.removeAttribute("aria-hidden"); }), d(this.modal, "glightbox-closing"), v( this.overlay, "none" == this.settings.openEffect ? "none" : this.settings.cssEfects.fade.out ), v( this.activeSlide, this.settings.cssEfects[this.settings.closeEffect].out, function () { if ( ((e.activeSlide = null), (e.prevActiveSlideIndex = null), (e.prevActiveSlide = null), (e.built = !1), e.events) ) { for (var t in e.events) e.events.hasOwnProperty(t) && e.events[t].destroy(); e.events = null; } var i = document.body; c(ee, "glightbox-open"), c( i, "glightbox-open touching gdesc-open glightbox-touch glightbox-mobile gscrollbar-fixer" ), e.modal.parentNode.removeChild(e.modal), e.trigger("close"), C(e.settings.onClose) && e.settings.onClose(); var n = document.querySelector(".gcss-styles"); n && n.parentNode.removeChild(n), (e.lightboxOpen = !1), (e.closing = null); } ); }, }, { key: "destroy", value: function () { this.close(), this.clearAllEvents(), this.baseEvents && this.baseEvents.destroy(); }, }, { key: "on", value: function (e, t) { var i = arguments.length > 2 && void 0 !== arguments[2] && arguments[2]; if (!e || !C(t)) throw new TypeError("Event name and callback must be defined"); this.apiEvents.push({ evt: e, once: i, callback: t }); }, }, { key: "once", value: function (e, t) { this.on(e, t, !0); }, }, { key: "trigger", value: function (e) { var t = this, i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null, n = []; r(this.apiEvents, function (t, s) { var l = t.evt, o = t.once, r = t.callback; l == e && (r(i), o && n.push(s)); }), n.length && r(n, function (e) { return t.apiEvents.splice(e, 1); }); }, }, { key: "clearAllEvents", value: function () { this.apiEvents.splice(0, this.apiEvents.length); }, }, { key: "version", value: function () { return "3.3.0"; }, }, ] ); return function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, t = new ie(e); return t.init(), t; }; });