PageSourceSearch

https://www.contenthq.co/wp-content/themes/contenthq/assets/libs/lightgallery/js/lightgallery-all.min.js

js contenthq.co collected 2026-10-10 00:39:42 UTC 58,316 bytes, 812 lines download raw bytes

1/*! lightgallery - v1.2.14 - 2016-01-18
2 * http://sachinchoolur.github.io/lightGallery/
3 * Copyright (c) 2016 Sachin N; Licensed Apache 2.0 */
4!function( a, b, c, d ) {
5    "use strict";
6    function e( b, d ) {
7	    if ( this.el = b, this.$el = a( b ), this.s = a.extend( {}, f, d ), this.s.dynamic && "undefined" !== this.s.dynamicEl && this.s.dynamicEl.constructor === Array && !this.s.dynamicEl.length ) {
8            throw"When using dynamic mode, you must also define dynamicEl as an Array.";
9        }
10        return this.modules = {}, this.lGalleryOn = !1, this.lgBusy = !1, this.hideBartimeout = !1, this.isTouch = "ontouchstart" in c.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
11    }
12
13    var f = {
14        mode: "lg-slide",
15        cssEasing: "ease",
16        easing: "linear",
17        speed: 600,
18        height: "100%",
19        width: "100%",
20        addClass: "",
21        startClass: "lg-start-zoom",
22        backdropDuration: 150,
23        hideBarsDelay: 6e3,
24        useLeft: !1,
25        closable: !0,
26        loop: !0,
27        escKey: !0,
28        keyPress: !0,
29        controls: !0,
30        slideEndAnimatoin: !0,
31        hideControlOnEnd: !1,
32        mousewheel: !0,
33        appendSubHtmlTo: ".lg-sub-html",
34        preload: 1,
35        showAfterLoad: !0,
36        selector: "",
37        selectWithin: "",
38        nextHtml: "",
39        prevHtml: "",
40        index: !1,
41        iframeMaxWidth: "100%",
42        download: !0,
43        counter: !0,
44        appendCounterTo: ".lg-toolbar",
45        swipeThreshold: 50,
46        enableSwipe: !0,
47        enableDrag: !0,
48        dynamic: !1,
49        dynamicEl: [],
50        galleryId: 1
51    };
52    e.prototype.init = function() {
53        var c = this;
54        c.s.preload > c.$items.length && (c.s.preload = c.$items.length);
55        var d = b.location.hash;
56        d.indexOf( "lg=" + this.s.galleryId ) > 0 && (c.index = parseInt( d.split( "&slide=" )[ 1 ], 10 ), a( "body" ).addClass( "lg-from-hash" ), a( "body" ).hasClass( "lg-on" ) || setTimeout( function() {
57            c.build( c.index ), a( "body" ).addClass( "lg-on" )
58        } )), c.s.dynamic ? (c.$el.trigger( "onBeforeOpen.lg" ), c.index = c.s.index || 0, a( "body" ).hasClass( "lg-on" ) || setTimeout( function() {
59            c.build( c.index ), a( "body" ).addClass( "lg-on" )
60        } )) : c.$items.on( "click.lgcustom", function( b ) {
61            try {
62                b.preventDefault(), b.preventDefault()
63            } catch ( d ) {
64                b.returnValue = !1
65            }
66            c.$el.trigger( "onBeforeOpen.lg" ), c.index = c.s.index || c.$items.index( this ), a( "body" ).hasClass( "lg-on" ) || (c.build( c.index ), a( "body" ).addClass( "lg-on" ))
67        } )
68    }, e.prototype.build = function( b ) {
69        var c = this;
70        c.structure(), a.each( a.fn.lightGallery.modules, function( b ) {
71            c.modules[ b ] = new a.fn.lightGallery.modules[ b ]( c.el )
72        } ), c.slide( b, !1, !1 ), c.s.keyPress && c.keyPress(), c.$items.length > 1 && (c.arrow(), setTimeout( function() {
73            c.enableDrag(), c.enableSwipe()
74        }, 50 ), c.s.mousewheel && c.mousewheel()), c.counter(), c.closeGallery(), c.$el.trigger( "onAfterOpen.lg" ), c.$outer.on( "mousemove.lg click.lg touchstart.lg", function() {
75            c.$outer.removeClass( "lg-hide-items" ), clearTimeout( c.hideBartimeout ), c.hideBartimeout = setTimeout( function() {
76                c.$outer.addClass( "lg-hide-items" )
77            }, c.s.hideBarsDelay )
78        } )
79    }, e.prototype.structure = function() {
80        var c, d = "", e = "", f = 0, g = "", h = this;
81	    for ( a( "body" ).append( '<div class="lg-backdrop"></div>' ), a( ".lg-backdrop" ).css( "transition-duration", this.s.backdropDuration + "ms" ), f = 0; f < this.$items.length; f++ ) {
82            d += '<div class="lg-item"></div>';
83        }
84        if ( this.s.controls && this.$items.length > 1 && (e = '<div class="lg-actions"><div class="lg-prev lg-icon">' + this.s.prevHtml + '</div><div class="lg-next lg-icon">' + this.s.nextHtml + "</div></div>"), ".lg-sub-html" === this.s.appendSubHtmlTo && (g = '<div class="lg-sub-html"></div>'), c = '<div class="lg-outer ' + this.s.addClass + " " + this.s.startClass + '"><div class="lg" style="width:' + this.s.width + "; height:" + this.s.height + '"><div class="lg-inner">' + d + '</div><div class="lg-toolbar group"><span class="lg-close lg-icon"></span></div>' + e + g + "</div></div>", a( "body" ).append( c ), 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" ), h.setTop(), a( b ).on( "resize.lg orientationchange.lg", function() {
85                setTimeout( function() {
86                    h.setTop()
87                }, 100 )
88            } ), 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() ) {
89            var i = this.$outer.find( ".lg-inner" );
90            i.css( "transition-timing-function", this.s.cssEasing ), i.css( "transition-duration", this.s.speed + "ms" )
91        }
92        a( ".lg-backdrop" ).addClass( "in" ), setTimeout( function() {
93            h.$outer.addClass( "lg-visible" )
94        }, this.s.backdropDuration ), this.s.download && this.$outer.find( ".lg-toolbar" ).append( '<a id="lg-download" target="_blank" download class="lg-download lg-icon"></a>' ), this.prevScrollTop = a( b ).scrollTop()
95    }, e.prototype.setTop = function() {
96        if ( "100%" !== this.s.height ) {
97            var c = a( b ).height(), d = (c - parseInt( this.s.height, 10 )) / 2, e = this.$outer.find( ".lg" );
98            c >= parseInt( this.s.height, 10 ) ? e.css( "top", d + "px" ) : e.css( "top", "0px" )
99        }
100    }, e.prototype.doCss = function() {
101        var a = function() {
102            var a = [
103                "transition",
104                "MozTransition",
105                "WebkitTransition",
106                "OTransition",
107                "msTransition",
108                "KhtmlTransition"
109            ], b = c.documentElement, d = 0;
110	        for ( d = 0; d < a.length; d++ ) {
111                if ( a[ d ] in b.style ) {
112                    return !0
113                }
114            }
115        };
116        return a() ? !0 : !1
117    }, e.prototype.isVideo = function( a, b ) {
118        var c;
119	    if ( c = this.s.dynamic ? this.s.dynamicEl[ b ].html : this.$items.eq( b ).attr( "data-html" ), !a && c ) {
120            return { html5: !0 };
121        }
122        var d = a.match( /\/\/(?:www\.)?youtu(?:\.be|be\.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 );
123        return d ? { youtube: d } : e ? { vimeo: e } : f ? { dailymotion: f } : void 0
124    }, e.prototype.counter = function() {
125        this.s.counter && a( this.s.appendCounterTo ).append( '<div id="lg-counter"><span id="lg-counter-current">' + (parseInt( this.index, 10 ) + 1) + '</span> / <span id="lg-counter-all">' + this.$items.length + "</span></div>" )
126    }, e.prototype.addHtml = function( b ) {
127        var c, d = null;
128	    if ( this.s.dynamic ? this.s.dynamicEl[ b ].subHtmlUrl ? c = this.s.dynamicEl[ b ].subHtmlUrl : d = this.s.dynamicEl[ b ].subHtml : this.$items.eq( b ).attr( "data-sub-html-url" ) ? c = this.$items.eq( b ).attr( "data-sub-html-url" ) : d = this.$items.eq( b ).attr( "data-sub-html" ), !c ) {
129            if ( "undefined" != typeof d && null !== d ) {
130                var e = d.substring( 0, 1 );
131                d = "." === e || "#" === e ? a( d ).html() : d
132            } else {
133                d = "";
134            }
135        }
136        ".lg-sub-html" === this.s.appendSubHtmlTo ? c ? this.$outer.find( this.s.appendSubHtmlTo ).load( c ) : this.$outer.find( this.s.appendSubHtmlTo ).html( d ) : c ? this.$slide.eq( b ).load( c ) : this.$slide.eq( b ).append( d ), "undefined" != typeof d && null !== d && ("" === d ? 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 ] )
137    }, e.prototype.preload = function( a ) {
138        var b = 1, c = 1;
139	    for ( b = 1; b <= this.s.preload && !(b >= this.$items.length - a); b++ ) {
140            this.loadContent( a + b, !1, 0 );
141        }
142	    for ( c = 1; c <= this.s.preload && !(0 > a - c); c++ ) {
143            this.loadContent( a - c, !1, 0 )
144        }
145    }, e.prototype.loadContent = function( c, d, e ) {
146        var f, g, h, i, j, k, l = this, m = !1, n = function( c ) {
147            for ( var d = [], e = [], f = 0; f < c.length; f++ ) {
148                var h = c[ f ].split( " " );
149                "" === h[ 0 ] && h.splice( 0, 1 ), e.push( h[ 0 ] ), d.push( h[ 1 ] )
150            }
151	        for ( var i = a( b ).width(), j = 0; j < d.length; j++ ) {
152                if ( parseInt( d[ j ], 10 ) > i ) {
153                    g = e[ j ];
154                    break
155                }
156            }
157        };
158        if ( l.s.dynamic ) {
159            if ( l.s.dynamicEl[ c ].poster && (m = !0, h = l.s.dynamicEl[ c ].poster), k = l.s.dynamicEl[ c ].html, g = l.s.dynamicEl[ c ].src, l.s.dynamicEl[ c ].responsive ) {
160                var o = l.s.dynamicEl[ c ].responsive.split( "," );
161                n( o )
162            }
163            i = l.s.dynamicEl[ c ].srcset, j = l.s.dynamicEl[ c ].sizes
164        } else {
165            if ( l.$items.eq( c ).attr( "data-poster" ) && (m = !0, h = l.$items.eq( c ).attr( "data-poster" )), k = l.$items.eq( c ).attr( "data-html" ), g = l.$items.eq( c ).attr( "href" ) || l.$items.eq( c ).attr( "data-src" ), l.$items.eq( c ).attr( "data-responsive" ) ) {
166                var p = l.$items.eq( c ).attr( "data-responsive" ).split( "," );
167                n( p )
168            }
169            i = l.$items.eq( c ).attr( "data-srcset" ), j = l.$items.eq( c ).attr( "data-sizes" )
170        }
171        var q = !1;
172        l.s.dynamic ? l.s.dynamicEl[ c ].iframe && (q = !0) : "true" === l.$items.eq( c ).attr( "data-iframe" ) && (q = !0);
173        var r = l.isVideo( g, c );
174        if ( !l.$slide.eq( c ).hasClass( "lg-loaded" ) ) {
175	        if ( q ) {
176                l.$slide.eq( c ).prepend( '<div class="lg-video-cont" style="max-width:' + l.s.iframeMaxWidth + '"><div class="lg-video"><iframe class="lg-object" frameborder="0" src="' + g + '"  allowfullscreen="true"></iframe></div></div>' );
177            } else if ( m ) {
178                var s = "";
179                s = r && r.youtube ? "lg-has-youtube" : r && r.vimeo ? "lg-has-vimeo" : "lg-has-html5", l.$slide.eq( c ).prepend( '<div class="lg-video-cont ' + s + ' "><div class="lg-video"><span class="lg-video-play"></span><img class="lg-object lg-has-poster" src="' + h + '" /></div></div>' )
180            } else {
181                r ? (l.$slide.eq( c ).prepend( '<div class="lg-video-cont "><div class="lg-video"></div></div>' ), l.$el.trigger( "hasVideo.lg", [
182                    c,
183                    g,
184                    k
185                ] )) : l.$slide.eq( c ).prepend( '<div class="lg-img-wrap"><img class="lg-object lg-image" src="' + g + '" /></div>' );
186            }
187            if ( l.$el.trigger( "onAferAppendSlide.lg", [ c ] ), f = l.$slide.eq( c ).find( ".lg-object" ), j && f.attr( "sizes", j ), i ) {
188                f.attr( "srcset", i );
189                try {
190                    picturefill( { elements: [ f[ 0 ] ] } )
191                } catch ( t ) {
192                    console.error( "Make sure you have included Picturefill version 2" )
193                }
194            }
195            ".lg-sub-html" !== this.s.appendSubHtmlTo && l.addHtml( c ), l.$slide.eq( c ).addClass( "lg-loaded" )
196        }
197        l.$slide.eq( c ).find( ".lg-object" ).on( "load.lg error.lg", function() {
198            var b = 0;
199            e && !a( "body" ).hasClass( "lg-from-hash" ) && (b = e), setTimeout( function() {
200                l.$slide.eq( c ).addClass( "lg-complete" ), l.$el.trigger( "onSlideItemLoad.lg", [ c, e || 0 ] )
201            }, b )
202        } ), r && r.html5 && !m && l.$slide.eq( c ).addClass( "lg-complete" ), d === !0 && (l.$slide.eq( c ).hasClass( "lg-complete" ) ? l.preload( c ) : l.$slide.eq( c ).find( ".lg-object" ).on( "load.lg error.lg", function() {
203            l.preload( c )
204        } ))
205    }, e.prototype.slide = function( b, c, d ) {
206        var e = this.$outer.find( ".lg-current" ).index(), f = this;
207        if ( !f.lGalleryOn || e !== b ) {
208            var g = this.$slide.length, h = f.lGalleryOn ? this.s.speed : 0, i = !1, j = !1;
209            if ( !f.lgBusy ) {
210                if ( this.s.download ) {
211                    var k;
212                    k = f.s.dynamic ? f.s.dynamicEl[ b ].downloadUrl !== !1 && (f.s.dynamicEl[ b ].downloadUrl || f.s.dynamicEl[ b ].src) : "false" !== f.$items.eq( b ).attr( "data-download-url" ) && (f.$items.eq( b ).attr( "data-download-url" ) || f.$items.eq( b ).attr( "href" ) || f.$items.eq( b ).attr( "data-src" )), k ? (a( "#lg-download" ).attr( "href", k ), f.$outer.removeClass( "lg-hide-download" )) : f.$outer.addClass( "lg-hide-download" )
213                }
214	            if ( this.$el.trigger( "onBeforeSlide.lg", [
215                        e,
216                        b,
217                        c,
218                        d
219                    ] ), f.lgBusy = !0, clearTimeout( f.hideBartimeout ), ".lg-sub-html" === this.s.appendSubHtmlTo && setTimeout( function() {
220                        f.addHtml( b )
221                    }, h ), this.arrowDisable( b ), c ) {
222                    var l = b - 1, m = b + 1;
223                    0 === b && e === g - 1 ? (m = 0, l = g - 1) : b === g - 1 && 0 === e && (m = 0, l = g - 1), this.$slide.removeClass( "lg-prev-slide lg-current lg-next-slide" ), f.$slide.eq( l ).addClass( "lg-prev-slide" ), f.$slide.eq( m ).addClass( "lg-next-slide" ), f.$slide.eq( b ).addClass( "lg-current" )
224                } else {
225                    f.$outer.addClass( "lg-no-trans" ), this.$slide.removeClass( "lg-prev-slide lg-next-slide" ), e > b ? (j = !0, 0 !== b || e !== g - 1 || d || (j = !1, i = !0)) : b > e && (i = !0, b !== g - 1 || 0 !== e || d || (j = !0, i = !1)), j ? (this.$slide.eq( b ).addClass( "lg-prev-slide" ), this.$slide.eq( e ).addClass( "lg-next-slide" )) : i && (this.$slide.eq( b ).addClass( "lg-next-slide" ), this.$slide.eq( e ).addClass( "lg-prev-slide" )), setTimeout( function() {
226                        f.$slide.removeClass( "lg-current" ), f.$slide.eq( b ).addClass( "lg-current" ), f.$outer.removeClass( "lg-no-trans" )
227                    }, 50 );
228                }
229                f.lGalleryOn ? (setTimeout( function() {
230                    f.loadContent( b, !0, 0 )
231                }, this.s.speed + 50 ), setTimeout( function() {
232                    f.lgBusy = !1, f.$el.trigger( "onAfterSlide.lg", [ e, b, c, d ] )
233                }, this.s.speed )) : (f.loadContent( b, !0, f.s.backdropDuration ), f.lgBusy = !1, f.$el.trigger( "onAfterSlide.lg", [
234                    e,
235                    b,
236                    c,
237                    d
238                ] )), f.lGalleryOn = !0, this.s.counter && a( "#lg-counter-current" ).text( b + 1 )
239            }
240        }
241    }, e.prototype.goToNextSlide = function( a ) {
242        var b = this;
243        b.lgBusy || (b.index + 1 < b.$slide.length ? (b.index++, b.$el.trigger( "onBeforeNextSlide.lg", [ b.index ] ), b.slide( b.index, a, !1 )) : b.s.loop ? (b.index = 0, b.$el.trigger( "onBeforeNextSlide.lg", [ b.index ] ), b.slide( b.index, a, !1 )) : b.s.slideEndAnimatoin && (b.$outer.addClass( "lg-right-end" ), setTimeout( function() {
244            b.$outer.removeClass( "lg-right-end" )
245        }, 400 )))
246    }, e.prototype.goToPrevSlide = function( a ) {
247        var b = this;
248        b.lgBusy || (b.index > 0 ? (b.index--, b.$el.trigger( "onBeforePrevSlide.lg", [
249            b.index,
250            a
251        ] ), b.slide( b.index, a, !1 )) : b.s.loop ? (b.index = b.$items.length - 1, b.$el.trigger( "onBeforePrevSlide.lg", [
252            b.index,
253            a
254        ] ), b.slide( b.index, a, !1 )) : b.s.slideEndAnimatoin && (b.$outer.addClass( "lg-left-end" ), setTimeout( function() {
255            b.$outer.removeClass( "lg-left-end" )
256        }, 400 )))
257    }, e.prototype.keyPress = function() {
258        var c = this;
259        this.$items.length > 1 && a( b ).on( "keyup.lg", function( a ) {
260            c.$items.length > 1 && (37 === a.keyCode && (a.preventDefault(), c.goToPrevSlide()), 39 === a.keyCode && (a.preventDefault(), c.goToNextSlide()))
261        } ), a( b ).on( "keydown.lg", function( a ) {
262            c.s.escKey === !0 && 27 === a.keyCode && (a.preventDefault(), c.$outer.hasClass( "lg-thumb-open" ) ? c.$outer.removeClass( "lg-thumb-open" ) : c.destroy())
263        } )
264    }, e.prototype.arrow = function() {
265        var a = this;
266        this.$outer.find( ".lg-prev" ).on( "click.lg", function() {
267            a.goToPrevSlide()
268        } ), this.$outer.find( ".lg-next" ).on( "click.lg", function() {
269            a.goToNextSlide()
270        } )
271    }, e.prototype.arrowDisable = function( a ) {
272        !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" ))
273    }, e.prototype.setTranslate = function( a, b, c ) {
274        this.s.useLeft ? a.css( "left", b ) : a.css( { transform: "translate3d(" + b + "px, " + c + "px, 0px)" } )
275    }, e.prototype.touchMove = function( b, c ) {
276        var d = c - b;
277        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 ))
278    }, e.prototype.touchEnd = function( a ) {
279        var b = this;
280        "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() {
281            b.$outer.removeClass( "lg-dragging" ), 0 > a && 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" )
282        } ), setTimeout( function() {
283            b.$outer.hasClass( "lg-dragging" ) || "lg-slide" === b.s.mode || b.$outer.removeClass( "lg-slide" )
284        }, b.s.speed + 100 )
285    }, e.prototype.enableSwipe = function() {
286        var a = this, b = 0, c = 0, d = !1;
287        a.s.enableSwipe && a.isTouch && a.doCss() && (a.$slide.on( "touchstart.lg", function( c ) {
288            a.$outer.hasClass( "lg-zoomed" ) || a.lgBusy || (c.preventDefault(), a.manageSwipeClass(), b = c.originalEvent.targetTouches[ 0 ].pageX)
289        } ), a.$slide.on( "touchmove.lg", function( e ) {
290            a.$outer.hasClass( "lg-zoomed" ) || (e.preventDefault(), c = e.originalEvent.targetTouches[ 0 ].pageX, a.touchMove( b, c ), d = !0)
291        } ), a.$slide.on( "touchend.lg", function() {
292            a.$outer.hasClass( "lg-zoomed" ) || (d ? (d = !1, a.touchEnd( c - b )) : a.$el.trigger( "onSlideClick.lg" ))
293        } ))
294    }, e.prototype.enableDrag = function() {
295        var c = this, d = 0, e = 0, f = !1, g = !1;
296        c.s.enableDrag && !c.isTouch && c.doCss() && (c.$slide.on( "mousedown.lg", function( b ) {
297            c.$outer.hasClass( "lg-zoomed" ) || (a( b.target ).hasClass( "lg-object" ) || a( b.target ).hasClass( "lg-video-play" )) && (b.preventDefault(), c.lgBusy || (c.manageSwipeClass(), d = b.pageX, f = !0, c.$outer.scrollLeft += 1, c.$outer.scrollLeft -= 1, c.$outer.removeClass( "lg-grab" ).addClass( "lg-grabbing" ), c.$el.trigger( "onDragstart.lg" )))
298        } ), a( b ).on( "mousemove.lg", function( a ) {
299            f && (g = !0, e = a.pageX, c.touchMove( d, e ), c.$el.trigger( "onDragmove.lg" ))
300        } ), a( b ).on( "mouseup.lg", function( b ) {
301            g ? (g = !1, c.touchEnd( e - d ), c.$el.trigger( "onDragend.lg" )) : (a( b.target ).hasClass( "lg-object" ) || a( b.target ).hasClass( "lg-video-play" )) && c.$el.trigger( "onSlideClick.lg" ), f && (f = !1, c.$outer.removeClass( "lg-grabbing" ).addClass( "lg-grab" ))
302        } ))
303    }, e.prototype.manageSwipeClass = function() {
304        var a = this.index + 1, b = this.index - 1, c = this.$slide.length;
305        this.s.loop && (0 === this.index ? b = c - 1 : this.index === c - 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" )
306    }, e.prototype.mousewheel = function() {
307        var a = this;
308        a.$outer.on( "mousewheel.lg", function( b ) {
309            b.deltaY && (b.deltaY > 0 ? a.goToPrevSlide() : a.goToNextSlide(), b.preventDefault())
310        } )
311    }, e.prototype.closeGallery = function() {
312        var b = this, c = !1;
313        this.$outer.find( ".lg-close" ).on( "click.lg", function() {
314            b.destroy()
315        } ), b.s.closable && (b.$outer.on( "mousedown.lg", function( b ) {
316            c = a( b.target ).is( ".lg-outer" ) || a( b.target ).is( ".lg-item " ) || a( b.target ).is( ".lg-img-wrap" ) ? !0 : !1
317        } ), b.$outer.on( "mouseup.lg", function( d ) {
318            (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())
319        } ))
320    }, e.prototype.destroy = function( c ) {
321        var d = this;
322        c || d.$el.trigger( "onBeforeClose.lg" ), a( b ).scrollTop( d.prevScrollTop ), c && (d.s.dynamic || this.$items.off( "click.lg click.lgcustom" ), a.removeData( d.el, "lightGallery" )), this.$el.off( ".lg.tm" ), a.each( a.fn.lightGallery.modules, function( a ) {
323            d.modules[ a ] && d.modules[ a ].destroy()
324        } ), this.lGalleryOn = !1, clearTimeout( d.hideBartimeout ), this.hideBartimeout = !1, a( b ).off( ".lg" ), a( "body" ).removeClass( "lg-on lg-from-hash" ), d.$outer && d.$outer.removeClass( "lg-visible" ), a( ".lg-backdrop" ).removeClass( "in" ), setTimeout( function() {
325            d.$outer && d.$outer.remove(), a( ".lg-backdrop" ).remove(), c || d.$el.trigger( "onCloseAfter.lg" )
326        }, d.s.backdropDuration + 50 )
327    }, a.fn.lightGallery = function( b ) {
328        return this.each( function() {
329            if ( a.data( this, "lightGallery" ) ) {
330                try {
331                    a( this ).data( "lightGallery" ).init()
332                } catch ( c ) {
333                    console.error( "lightGallery has not initiated properly" )
334                }
335            } else {
336                a.data( this, "lightGallery", new e( this, b ) )
337            }
338        } )
339    }, a.fn.lightGallery.modules = {}
340}( jQuery, window, document ), function( a, b, c, d ) {
341    "use strict";
342    var e = {
343        autoplay: !1,
344        pause: 5e3,
345        progressBar: !0,
346        fourceAutoplay: !1,
347        autoplayControls: !0,
348        appendAutoplayControlsTo: ".lg-toolbar"
349    }, f = function( b ) {
350        return this.core = a( b ).data( "lightGallery" ), this.$el = a( b ), this.core.$items.length < 2 ? !1 : (this.core.s = a.extend( {}, e, 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)
351    };
352    f.prototype.init = function() {
353        var a = this;
354        a.core.s.autoplayControls && a.controls(), a.core.s.progressBar && a.core.$outer.find( ".lg" ).append( '<div class="lg-progress-bar"><div class="lg-progress"></div></div>' ), a.progress(), a.core.s.autoplay && a.startlAuto(), a.$el.on( "onDragstart.lg.tm touchstart.lg.tm", function() {
355            a.interval && (a.cancelAuto(), a.canceledOnTouch = !0)
356        } ), a.$el.on( "onDragend.lg.tm touchend.lg.tm onSlideClick.lg.tm", function() {
357            !a.interval && a.canceledOnTouch && (a.startlAuto(), a.canceledOnTouch = !1)
358        } )
359    }, f.prototype.progress = function() {
360        var a, b, c = this;
361        c.$el.on( "onBeforeSlide.lg.tm", function() {
362            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() {
363                b.css( "transition", "width " + (c.core.s.speed + c.core.s.pause) + "ms ease 0s" ), a.addClass( "lg-start" )
364            }, 20 ))), c.fromAuto || c.core.s.fourceAutoplay || c.cancelAuto(), c.fromAuto = !1
365        } )
366    }, f.prototype.controls = function() {
367        var b = this, c = '<span class="lg-autoplay-button lg-icon"></span>';
368        a( this.core.s.appendAutoplayControlsTo ).append( c ), b.core.$outer.find( ".lg-autoplay-button" ).on( "click.lg", function() {
369            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)
370        } )
371    }, f.prototype.startlAuto = function() {
372        var a = this;
373        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() {
374            a.core.index + 1 < a.core.$items.length ? a.core.index = a.core.index : a.core.index = -1, a.core.index++, a.fromAuto = !0, a.core.slide( a.core.index, !1, !1 )
375        }, a.core.s.speed + a.core.s.pause )
376    }, f.prototype.cancelAuto = function() {
377        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" )
378    }, f.prototype.destroy = function() {
379        this.cancelAuto(), this.core.$outer.find( ".lg-progress-bar" ).remove()
380    }, a.fn.lightGallery.modules.autoplay = f
381}( jQuery, window, document ), function( a, b, c, d ) {
382    "use strict";
383    var e = { fullScreen: !0 }, f = function( b ) {
384        return this.core = a( b ).data( "lightGallery" ), this.$el = a( b ), this.core.s = a.extend( {}, e, this.core.s ), this.init(), this
385    };
386    f.prototype.init = function() {
387        var a = "";
388        if ( this.core.s.fullScreen ) {
389	        if ( !(c.fullscreenEnabled || c.webkitFullscreenEnabled || c.mozFullScreenEnabled || c.msFullscreenEnabled) ) {
390                return;
391            }
392            a = '<span class="lg-fullscreen lg-icon"></span>', this.core.$outer.find( ".lg-toolbar" ).append( a ), this.fullScreen()
393        }
394    }, f.prototype.requestFullscreen = function() {
395        var a = c.documentElement;
396        a.requestFullscreen ? a.requestFullscreen() : a.msRequestFullscreen ? a.msRequestFullscreen() : a.mozRequestFullScreen ? a.mozRequestFullScreen() : a.webkitRequestFullscreen && a.webkitRequestFullscreen()
397    }, f.prototype.exitFullscreen = function() {
398        c.exitFullscreen ? c.exitFullscreen() : c.msExitFullscreen ? c.msExitFullscreen() : c.moz
398CancelFullScreen ? c.mozCancelFullScreen() : c.webkitExitFullscreen && c.webkitExitFullscreen()
399    }, f.prototype.fullScreen = function() {
400        var b = this;
401        a( c ).on( "fullscreenchange.lg webkitfullscreenchange.lg mozfullscreenchange.lg MSFullscreenChange.lg", function() {
402            b.core.$outer.toggleClass( "lg-fullscreen-on" )
403        } ), this.core.$outer.find( ".lg-fullscreen" ).on( "click.lg", function() {
404            c.fullscreenElement || c.mozFullScreenElement || c.webkitFullscreenElement || c.msFullscreenElement ? b.exitFullscreen() : b.requestFullscreen()
405        } )
406    }, f.prototype.destroy = function() {
407        this.exitFullscreen(), a( c ).off( "fullscreenchange.lg webkitfullscreenchange.lg mozfullscreenchange.lg MSFullscreenChange.lg" )
408    }, a.fn.lightGallery.modules.fullscreen = f
409}( jQuery, window, document ), function( a, b, c, d ) {
410    "use strict";
411    var e = { pager: !1 }, f = function( b ) {
412        return this.core = a( b ).data( "lightGallery" ), this.$el = a( b ), this.core.s = a.extend( {}, e, this.core.s ), this.core.s.pager && this.core.$items.length > 1 && this.init(), this
413    };
414    f.prototype.init = function() {
415        var b, c, d, e = this, f = "";
416        if ( e.core.$outer.find( ".lg" ).append( '<div class="lg-pager-outer"></div>' ), e.core.s.dynamic ) {
417            for ( var g = 0; g < e.core.s.dynamicEl.length; g++ ) {
418                f += '<span class="lg-pager-cont"> <span class="lg-pager"></span><div class="lg-pager-thumb-cont"><span class="lg-caret"></span> <img src="' + e.core.s.dynamicEl[ g ].thumb + '" /></div></span>';
419            }
420        } else {
421            e.core.$items.each( function() {
422                f += e.core.s.exThumbImage ? '<span class="lg-pager-cont"> <span class="lg-pager"></span><div class="lg-pager-thumb-cont"><span class="lg-caret"></span> <img src="' + a( this ).attr( e.core.s.exThumbImage ) + '" /></div></span>' : '<span class="lg-pager-cont"> <span class="lg-pager"></span><div class="lg-pager-thumb-cont"><span class="lg-caret"></span> <img src="' + a( this ).find( "img" ).attr( "src" ) + '" /></div></span>'
423            } );
424        }
425        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() {
426            var b = a( this );
427            e.core.index = b.index(), e.core.slide( e.core.index, !1, !1 )
428        } ), c.on( "mouseover.lg", function() {
429            clearTimeout( d ), c.addClass( "lg-pager-hover" )
430        } ), c.on( "mouseout.lg", function() {
431            d = setTimeout( function() {
432                c.removeClass( "lg-pager-hover" )
433            } )
434        } ), e.core.$el.on( "onBeforeSlide.lg.tm", function( a, c, d ) {
435            b.removeClass( "lg-pager-active" ), b.eq( d ).addClass( "lg-pager-active" )
436        } )
437    }, f.prototype.destroy = function() {
438    }, a.fn.lightGallery.modules.pager = f
439}( jQuery, window, document ), function( a, b, c, d ) {
440    "use strict";
441    var e = {
442        thumbnail: !0,
443        animateThumb: !0,
444        currentPagerPosition: "middle",
445        thumbWidth: 100,
446        thumbContHeight: 100,
447        thumbMargin: 5,
448        exThumbImage: !1,
449        showThumbByDefault: !0,
450        toogleThumb: !0,
451        pullCaptionUp: !0,
452        enableThumbDrag: !0,
453        enableThumbSwipe: !0,
454        swipeThreshold: 50,
455        loadYoutubeThumbnail: !0,
456        youtubeThumbSize: 1,
457        loadVimeoThumbnail: !0,
458        vimeoThumbSize: "thumbnail_small",
459        loadDailymotionThumbnail: !0
460    }, f = function( b ) {
461        return this.core = a( b ).data( "lightGallery" ), this.core.s = a.extend( {}, e, this.core.s ), this.$el = a( b ), 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.left = 0, this.init(), this
462    };
463    f.prototype.init = function() {
464        var a = this;
465        this.core.s.thumbnail && this.core.$items.length > 1 && (this.core.s.showThumbByDefault && setTimeout( function() {
466            a.core.$outer.addClass( "lg-thumb-open" )
467        }, 700 ), this.core.s.pullCaptionUp && this.core.$outer.addClass( "lg-pull-caption-up" ), this.build(), this.core.s.animateThumb ? (this.core.s.enableThumbDrag && !this.core.isTouch && this.core.doCss() && this.enableThumbDrag(), this.core.s.enableThumbSwipe && this.core.isTouch && this.core.doCss() && this.enableThumbSwipe(), this.thumbClickable = !1) : this.thumbClickable = !0, this.toogle(), this.thumbkeyPress())
468    }, f.prototype.build = function() {
469        function c( a, b, c ) {
470            var d, h = e.core.isVideo( a, c ) || {}, i = "";
471            h.youtube || h.vimeo || h.dailymotion ? h.youtube ? d = e.core.s.loadYoutubeThumbn
vendor: 9,005 bytes, lines 471-595
471ail ? "//img.youtube.com/vi/" + h.youtube[ 1 ] + "/" + e.core.s.youtubeThumbSize + ".jpg" : b : h.vimeo ? e.core.s.loadVimeoThumbnail ? (d = "//i.vimeocdn.com/video/error_" + g + ".jpg", i = h.vimeo[ 1 ]) : d = b : h.dailymotion && (d = e.core.s.loadDailymotionThumbnail ? "//www.dailymotion.com/thumbnail/video/" + h.dailymotion[ 1 ] : b) : d = b, f += '<div data-vimeo-id="' + i + '" class="lg-thumb-item" style="width:' + e.core.s.thumbWidth + "px; margin-right: " + e.core.s.thumbMargin + 'px"><img src="' + d + '" /></div>', i = ""
472        }
473
474        var d, e = this, f = "", g = "", h = '<div class="lg-thumb-outer"><div class="lg-thumb group"></div></div>';
475        switch ( this.core.s.vimeoThumbSize ) {
476            case"thumbnail_large":
477                g = "640";
478                break;
479            case"thumbnail_medium":
480                g = "200x150";
481                break;
482            case"thumbnail_small":
483                g = "100x75"
484        }
485        if ( e.core.$outer.addClass( "lg-has-thumb" ), e.core.$outer.find( ".lg" ).append( h ), e.$thumbOuter = e.core.$outer.find( ".lg-thumb-outer" ), e.thumbOuterWidth = e.$thumbOuter.width(), e.core.s.animateThumb && e.core.$outer.find( ".lg-thumb" ).css( {
486                width: e.thumbTotalWidth + "px",
487                position: "relative"
488            } ), this.core.s.animateThumb && e.$thumbOuter.css( "height", e.core.s.thumbContHeight + "px" ), e.core.s.dynamic ) {
489            for ( var i = 0; i < e.core.s.dynamicEl.length; i++ ) {
490                c( e.core.s.dynamicEl[ i ].src, e.core.s.dynamicEl[ i ].thumb, i );
491            }
492        } else {
493            e.core.$items.each( function( b ) {
494                e.core.s.exThumbImage ? c( a( this ).attr( "href" ) || a( this ).attr( "data-src" ), a( this ).attr( e.core.s.exThumbImage ), b ) : c( a( this ).attr( "href" ) || a( this ).attr( "data-src" ), a( this ).find( "img" ).attr( "src" ), b )
495            } );
496        }
497        e.core.$outer.find( ".lg-thumb" ).html( f ), d = e.core.$outer.find( ".lg-thumb-item" ), d.each( function() {
498            var b = a( this ), c = b.attr( "data-vimeo-id" );
499            c && a.getJSON( "http://www.vimeo.com/api/v2/video/" + c + ".json?callback=?", { format: "json" }, function( a ) {
500                b.find( "img" ).attr( "src", a[ 0 ][ e.core.s.vimeoThumbSize ] )
501            } )
502        } ), d.eq( e.core.index ).addClass( "active" ), e.core.$el.on( "onBeforeSlide.lg.tm", function() {
503            d.removeClass( "active" ), d.eq( e.core.index ).addClass( "active" )
504        } ), d.on( "click.lg touchend.lg", function() {
505            var b = a( this );
506            setTimeout( function() {
507                (e.thumbClickable && !e.core.lgBusy || !e.core.doCss()) && (e.core.index = b.index(), e.core.slide( e.core.index, !1, !0 ))
508            }, 50 )
509        } ), e.core.$el.on( "onBeforeSlide.lg.tm", function() {
510            e.animateThumb( e.core.index )
511        } ), a( b ).on( "resize.lg.thumb orientationchange.lg.thumb", function() {
512            setTimeout( function() {
513                e.animateThumb( e.core.index ), e.thumbOuterWidth = e.$thumbOuter.width()
514            }, 200 )
515        } )
516    }, f.prototype.setTranslate = function( a ) {
517        this.core.$outer.find( ".lg-thumb" ).css( { transform: "translate3d(-" + a + "px, 0px, 0px)" } )
518    }, f.prototype.animateThumb = function( a ) {
519        var b = this.core.$outer.find( ".lg-thumb" );
520        if ( this.core.s.animateThumb ) {
521            var c;
522            switch ( this.core.s.currentPagerPosition ) {
523                case"left":
524                    c = 0;
525                    break;
526                case"middle":
527                    c = this.thumbOuterWidth / 2 - this.core.s.thumbWidth / 2;
528                    break;
529                case"right":
530                    c = this.thumbOuterWidth - this.core.s.thumbWidth
531            }
532            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 )
533        }
534    }, f.prototype.enableThumbDrag = function() {
535        var c = this, d = 0, e = 0, f = !1, g = !1, h = 0;
536        c.$thumbOuter.addClass( "lg-grab" ), c.core.$outer.find( ".lg-thumb" ).on( "mousedown.lg.thumb", function( a ) {
537            c.thumbTotalWidth > c.thumbOuterWidth && (a.preventDefault(), d = a.pageX, f = !0, c.core.$outer.scrollLeft += 1, c.core.$outer.scrollLeft -= 1, c.thumbClickable = !1, c.$thumbOuter.removeClass( "lg-grab" ).addClass( "lg-grabbing" ))
538        } ), a( b ).on( "mousemove.lg.thumb", function( a ) {
539            f && (h = c.left, g = !0, e = a.pageX, c.$thumbOuter.addClass( "lg-dragging" ), h -= e - d, h > c.thumbTotalWidth - c.thumbOuterWidth && (h = c.thumbTotalWidth - c.thumbOuterWidth), 0 > h && (h = 0), c.setTranslate( h ))
540        } ), a( b ).on( "mouseup.lg.thumb", function() {
541            g ? (g = !1, c.$thumbOuter.removeClass( "lg-dragging" ), c.left = h, Math.abs( e - d ) < c.core.s.swipeThreshold && (c.thumbClickable = !0)) : c.thumbClickable = !0, f && (f = !1, c.$thumbOuter.removeClass( "lg-grabbing" ).addClass( "lg-grab" ))
542        } )
543    }, f.prototype.enableThumbSwipe = function() {
544        var a = this, b = 0, c = 0, d = !1, e = 0;
545        a.core.$outer.find( ".lg-thumb" ).on( "touchstart.lg", function( c ) {
546            a.thumbTotalWidth > a.thumbOuterWidth && (c.preventDefault(), b = c.originalEvent.targetTouches[ 0 ].pageX, a.thumbClickable = !1)
547        } ), a.core.$outer.find( ".lg-thumb" ).on( "touchmove.lg", function( f ) {
548            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), 0 > e && (e = 0), a.setTranslate( e ))
549        } ), a.core.$outer.find( ".lg-thumb" ).on( "touchend.lg", function() {
550            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
551        } )
552    }, f.prototype.toogle = function() {
553        var a = this;
554        a.core.s.toogleThumb && (a.core.$outer.addClass( "lg-can-toggle" ), a.$thumbOuter.append( '<span class="lg-toogle-thumb lg-icon"></span>' ), a.core.$outer.find( ".lg-toogle-thumb" ).on( "click.lg", function() {
555            a.core.$outer.toggleClass( "lg-thumb-open" )
556        } ))
557    }, f.prototype.thumbkeyPress = function() {
558        var c = this;
559        a( b ).on( "keydown.lg.thumb", function( a ) {
560            38 === a.keyCode ? (a.preventDefault(), c.core.$outer.addClass( "lg-thumb-open" )) : 40 === a.keyCode && (a.preventDefault(), c.core.$outer.removeClass( "lg-thumb-open" ))
561        } )
562    }, f.prototype.destroy = function() {
563        this.core.s.thumbnail && this.core.$items.length > 1 && (a( b ).off( "resize.lg.thumb orientationchange.lg.thumb keydown.lg.thumb" ), this.$thumbOuter.remove(), this.core.$outer.removeClass( "lg-has-thumb" ))
564    }, a.fn.lightGallery.modules.Thumbnail = f
565}( jQuery, window, document ), function( a, b, c, d ) {
566    "use strict";
567    var e = {
568        videoMaxWidth: "855px",
569        youtubePlayerParams: !1,
570        vimeoPlayerParams: !1,
571        dailymotionPlayerParams: !1,
572        videojs: !1
573    }, f = function( b ) {
574        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
575    };
576    f.prototype.init = function() {
577        var b = this;
578        b.core.$el.on( "hasVideo.lg.tm", function( a, c, d, e ) {
579	        if ( b.core.$slide.eq( c ).find( ".lg-video" ).append( b.loadVideo( d, "lg-object", !0, c, e ) ), e ) {
580                if ( b.core.s.videojs ) {
581                    try {
582                        videojs( b.core.$slide.eq( c ).find( ".lg-html5" ).get( 0 ), {}, function() {
583                            b.videoLoaded || this.play()
584                        } )
585                    } catch ( f ) {
586                        console.error( "Make sure you have included videojs" )
587                    }
588                } else {
589                    b.core.$slide.eq( c ).find( ".lg-html5" ).get( 0 ).play()
590                }
591            }
592        } ), b.core.$el.on( "onAferAppendSlide.lg.tm", function( a, c ) {
593            b.core.$slide.eq( c ).find( ".lg-video-cont" ).css( "max-width", b.core.s.videoMaxWidth ), b.videoLoaded = !0
594        } );
595        var c = function( a ) {
596	        if ( a.find( ".lg-object" ).hasClass( "lg-has-poster" ) && a.find( ".lg-object" ).is( ":visible" ) ) {
597                if ( a.hasClass( "lg-has-video" ) ) {
598                    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 );
599                    if ( c ) {
600                        c.contentWindow.postMessage( '{"event":"command","func":"playVideo","args":""}', "*" );
601                    } else if ( d ) {
602                        try {
603                            $f( d ).api( "play" )
604                        } catch ( g ) {
605                            console.error( "Make sure you have included froogaloop2 js" )
606                        }
607                    } else if ( e ) {
608                        e.contentWindow.postMessage( "play", "*" );
609                    } else if ( f ) {
610                        if ( b.core.s.videojs ) {
611                            try {
612                                videojs( f ).play()
613                            } catch ( g ) {
614                                console.error( "Make sure you have included videojs" )
615                            }
616                        } else {
617                            f.play();
618                        }
619                    }
620                    a.addClass( "lg-video-palying" )
621                } else {
622                    a.addClass( "lg-video-palying lg-has-video" );
623                    var h, i, j = function( c, d ) {
624                        if ( a.find( ".lg-video" ).append( b.loadVideo( c, "", !1, b.core.index, d ) ), d ) {
625                            if ( b.core.s.videojs ) {
626                                try {
627                                    videojs( b.core.$slide.eq( b.core.index ).find( ".lg-html5" ).get( 0 ), {}, function() {
628                                        this.play()
629                                    } )
630                                } catch ( e ) {
631                                    console.error( "Make sure you have included videojs" );
632                                }
633                            } else {
634                                b.core.$slide.eq( b.core.index ).find( ".lg-html5" ).get( 0 ).play()
635                            }
636                        }
637                    };
638                    b.core.s.dynamic ? (h = b.core.s.dynamicEl[ b.core.index ].src, i = b.core.s.dynamicEl[ b.core.index ].html, j( h, i )) : (h = b.core.$items.eq( b.core.index ).attr( "href" ) || b.core.$items.eq( b.core.index ).attr( "data-src" ), i = b.core.$items.eq( b.core.index ).attr( "data-html" ), j( h, i ));
639                    var k = a.find( ".lg-object" );
640                    a.find( ".lg-video" ).append( k ), a.find( ".lg-video-object" ).hasClass( "lg-html5" ) || (a.removeClass( "lg-complete" ), a.find( ".lg-video-object" ).on( "load.lg error.lg", function() {
641                        a.addClass( "lg-complete" )
642                    } ))
643                }
644            }
645        };
646        b.core.doCss() && b.core.$items.length > 1 && (b.core.s.enableSwipe && b.core.isTouch || b.core.s.enableDrag && !b.core.isTouch) ? b.core.$el.on( "onSlideClick.lg.tm", function() {
647            var a = b.core.$slide.eq( b.core.index );
648            c( a )
649        } ) : b.core.$slide.on( "click.lg", function() {
650            c( a( this ) )
651        } ), b.core.$el.on( "onBeforeSlide.lg.tm", function( a, c, d ) {
652            var e = b.core.$slide.eq( c ), f = e.find( ".lg-youtube" ).get( 0 ), g = e.find( ".lg-vimeo" ).get( 0 ), h = e.find( ".lg-dailymotion" ).get( 0 ), i = e.find( ".lg-html5" ).get( 0 );
653	        if ( f ) {
654                f.contentWindow.postMessage( '{"event":"command","func":"pauseVideo","args":""}', "*" );
655            } else if ( g ) {
656                try {
657                    $f( g ).api( "pause" )
658                } catch ( j ) {
659                    console.error( "Make sure you have included froogaloop2 js" )
660                }
661            } else if ( h ) {
662                h.contentWindow.postMessage( "pause", "*" );
663            } else if ( i ) {
664                if ( b.core.s.videojs ) {
665                    try {
666                        videojs( i ).pause()
667                    } catch ( j ) {
668                        console.error( "Make sure you have included videojs" )
669                    }
670                } else {
671                    i.pause();
672                }
673            }
674            var k;
675            k = b.core.s.dynamic ? b.core.s.dynamicEl[ d ].src : b.core.$items.eq( d ).attr( "href" ) || b.core.$items.eq( d ).attr( "data-src" );
676            var l = b.core.isVideo( k, d ) || {};
677            (l.youtube || l.vimeo || l.dailymotion) && b.core.$outer.addClass( "lg-hide-download" )
678        } ), b.core.$el.on( "onAfterSlide.lg.tm", function( a, c ) {
679            b.core.$slide.eq( c ).removeClass( "lg-video-palying" )
680        } )
681    }, f.prototype.loadVideo = function( b, c, d, e, f ) {
682        var g = "", h = 1, i = "", j = this.core.isVideo( b, e ) || {};
683	    if ( d && (h = this.videoLoaded ? 0 : 1), j.youtube ) {
684            i = "?wmode=opaque&autoplay=" + h + "&enablejsapi=1", this.core.s.youtubePlayerParams && (i = i + "&" + a.param( this.core.s.youtubePlayerParams )), g = '<iframe class="lg-video-object lg-youtube ' + c + '" width="560" height="315" src="//www.youtube.com/embed/' + j.youtube[ 1 ] + i + '" frameborder="0" allowfullscreen></iframe>';
685        } else if ( j.vimeo ) {
686            i = "?autoplay=" + h + "&api=1", this.core.s.vimeoPlayerParams && (i = i + "&" + a.param( this.core.s.vimeoPlayerParams )), g = '<iframe class="lg-video-object lg-vimeo ' + c + '" width="560" height="315"  src="http://player.vimeo.com/video/' + j.vimeo[ 1 ] + i + '" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>';
687        } else if ( j.dailymotion ) {
688            i = "?wmode=opaque&autoplay=" + h + "&api=postMessage", this.core.s.dailymotionPlayerParams && (i = i + "&" + a.param( this.core.s.dailymotionPlayerParams )), g = '<iframe class="lg-video-object lg-dailymotion ' + c + '" width="560" height="315" src="//www.dailymotion.com/embed/video/' + j.dailymotion[ 1 ] + i + '" frameborder="0" allowfullscreen></iframe>';
689        } else if ( j.html5 ) {
690            var k = f.substring( 0, 1 );
691            ("." === k || "#" === k) && (f = a( f ).html()), g = f
692        }
693        return g
694    }, f.prototype.destroy = function() {
695        this.videoLoaded = !1
696    }, a.fn.lightGallery.modules.video = f
697}( jQuery, window, document ), function( a, b, c, d ) {
698    "use strict";
699    var e = { scale: 1, zoom: !0, enableZoomAfter: 300 }, f = function( c ) {
700        return this.core = a( c ).data( "lightGallery" ), this.core.s = a.extend( {}, e, this.core.s ), this.core.s.zoom && this.core.doCss() && (this.init(), this.zoomabletimeout = !1, this.pageX = a( b ).width() / 2, this.pageY = a( b ).height() / 2 + a( b ).scrollTop()), this
701    };
702    f.prototype.init = function() {
703        var c = this, d = '<span id="lg-zoom-in" class="lg-icon"></span><span id="lg-zoom-out" class="lg-icon"></span>';
704        this.core.$outer.find( ".lg-toolbar" ).append( d ), c.core.$el.on( "onSlideItemLoad.lg.tm.zoom", function( b, d, e ) {
705            var f = c.core.s.enableZoomAfter + e;
706            a( "body" ).hasClass( "lg-from-hash" ) && e ? f = 0 : a( "body" ).removeClass( "lg-from-hash" ), c.zoomabletimeout = setTimeout( function() {
707                c.core.$slide.eq( d ).addClass( "lg-zoomable" )
708            }, f + 30 )
709        } );
710        var e = 1, f = function( d ) {
711            var e, f, g = c.core.$outer.find( ".lg-current .lg-image" ), h = (a( b ).width() - g.width()) / 2, i = (a( b ).height() - g.height()) / 2 + a( b ).scrollTop();
712            e = c.pageX - h, f = c.pageY - i;
713            var j = (d - 1) * e, k = (d - 1) * f;
714            g.css( "transform", "scale3d(" + d + ", " + d + ", 1)" ).attr( "data-scale", d ), g.parent().css( "transform", "translate3d(-" + j + "px, -" + k + "px, 0)" ).attr( "data-x", j ).attr( "data-y", k )
715        }, g = function() {
716            e > 1 ? c.core.$outer.addClass( "lg-zoomed" ) : c.resetZoom(), 1 > e && (e = 1), f( e )
717        }, h = function( a, b, d ) {
718            var f, h = b.width();
719            f = c.core.s.dynamic ? c.core.s.dynamicEl[ d ].width || b[ 0 ].naturalWi
719dth || h : c.core.$items.eq( d ).attr( "data-width" ) || b[ 0 ].naturalWidth || h;
720            var i;
721            c.core.$outer.hasClass( "lg-zoomed" ) ? e = 1 : f > h && (i = f / h, e = i || 2), c.pageX = a.pageX || a.originalEvent.targetTouches[ 0 ].pageX, c.pageY = a.pageY || a.originalEvent.targetTouches[ 0 ].pageY, g(), setTimeout( function() {
722                c.core.$outer.removeClass( "lg-grabbing" ).addClass( "lg-grab" )
723            }, 10 )
724        }, i = !1;
725        c.core.$el.on( "onAferAppendSlide.lg.tm.zoom", function( a, b ) {
726            var d = c.core.$slide.eq( b ).find( ".lg-image" );
727            d.on( "dblclick", function( a ) {
728                h( a, d, b )
729            } ), d.on( "touchstart", function( a ) {
730                i ? (clearTimeout( i ), i = null, h( a, d, b )) : i = setTimeout( function() {
731                    i = null
732                }, 300 ), a.preventDefault()
733            } )
734        } ), a( b ).on( "resize.lg.zoom scroll.lg.zoom orientationchange.lg.zoom", function() {
735            c.pageX = a( b ).width() / 2, c.pageY = a( b ).height() / 2 + a( b ).scrollTop(), f( e )
736        } ), a( "#lg-zoom-out" ).on( "click.lg", function() {
737            c.core.$outer.find( ".lg-current .lg-image" ).length && (e -= c.core.s.scale, g())
738        } ), a( "#lg-zoom-in" ).on( "click.lg", function() {
739            c.core.$outer.find( ".lg-current .lg-image" ).length && (e += c.core.s.scale, g())
740        } ), c.core.$el.on( "onBeforeSlide.lg.tm", function() {
741            e = 1, c.resetZoom()
742        } ), c.core.isTouch || c.zoomDrag(), c.core.isTouch && c.zoomSwipe()
743    }, f.prototype.resetZoom = function() {
744        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( b ).width() / 2, this.pageY = a( b ).height() / 2 + a( b ).scrollTop()
745    }, f.prototype.zoomSwipe = function() {
746        var a = this, b = {}, c = {}, d = !1, e = !1, f = !1;
747        a.core.$slide.on( "touchstart.lg", function( c ) {
748            if ( a.core.$outer.hasClass( "lg-zoomed" ) ) {
749                var d = a.core.$slide.eq( a.core.index ).find( ".lg-object" );
750                f = d.outerHeight() * d.attr( "data-scale" ) > a.core.$outer.find( ".lg" ).height(), e = d.outerWidth() * d.attr( "data-scale" ) > a.core.$outer.find( ".lg" ).width(), (e || f) && (c.preventDefault(), b = {
751                    x: c.originalEvent.targetTouches[ 0 ].pageX,
752                    y: c.originalEvent.targetTouches[ 0 ].pageY
753                })
754            }
755        } ), a.core.$slide.on( "touchmove.lg", function( g ) {
756            if ( a.core.$outer.hasClass( "lg-zoomed" ) ) {
757                var h, i, j = a.core.$slide.eq( a.core.index ).find( ".lg-img-wrap" );
758                g.preventDefault(), d = !0, c = {
759                    x: g.originalEvent.targetTouches[ 0 ].pageX,
760                    y: g.originalEvent.targetTouches[ 0 ].pageY
761                }, 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) && j.css( "transform", "translate3d(" + h + "px, " + i + "px, 0)" )
762            }
763        } ), a.core.$slide.on( "touchend.lg", function() {
764            a.core.$outer.hasClass( "lg-zoomed" ) && d && (d = !1, a.core.$outer.removeClass( "lg-zoom-dragging" ), a.touchendZoom( b, c, e, f ))
765        } )
766    }, f.prototype.zoomDrag = function() {
767        var c = this, d = {}, e = {}, f = !1, g = !1, h = !1, i = !1;
768        c.core.$slide.on( "mousedown.lg.zoom", function( b ) {
769            var e = c.core.$slide.eq( c.core.index ).find( ".lg-object" );
770            i = e.outerHeight() * e.attr( "data-scale" ) > c.core.$outer.find( ".lg" ).height(), h = e.outerWidth() * e.attr( "data-scale" ) > c.core.$outer.find( ".lg" ).width(), c.core.$outer.hasClass( "lg-zoomed" ) && a( b.target ).hasClass( "lg-object" ) && (h || i) && (b.preventDefault(), d = {
771                x: b.pageX,
772                y: b.pageY
773            }, f = !0, c.core.$outer.scrollLeft += 1, c.core.$outer.scrollLeft -= 1, c.core.$outer.removeClass( "lg-grab" ).addClass( "lg-grabbing" ))
774        } ), a( b ).on( "mousemove.lg.zoom", function( a ) {
775            if ( f ) {
776                var b, j, k = c.core.$slide.eq( c.core.index ).find( ".lg-img-wrap" );
777                g = !0, e = {
778                    x: a.pageX,
779                    y: a.pageY
780                }, c.core.$outer.addClass( "lg-zoom-dragging" ), j = i ? -Math.abs( k.attr( "data-y" ) ) + (e.y - d.y) : -Math.abs( k.attr( "data-y" ) ), b = h ? -Math.abs( k.attr( "data-x" ) ) + (e.x - d.x) : -Math.abs( k.attr( "data-x" ) ), k.css( "transform", "translate3d(" + b + "px, " + j + "px, 0)" )
781            }
782        } ), a( b ).on( "mouseup.lg.zoom", function( a ) {
783            f && (f = !1, c.core.$outer.removeClass( "lg-zoom-dragging" ), !g || d.x === e.x && d.y === e.y || (e = {
784                x: a.pageX,
785                y: a.pageY
786            }, c.touchendZoom( d, e, h, i )), g = !1), c.core.$outer.removeClass( "lg-grabbing" ).addClass( "lg-grab" )
787        } )
788    }, f.prototype.touchendZoom = function( a, b, c, d ) {
789        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.outerHeight()) / 2, k = Math.abs( g.outerHeight() * Math.abs( g.attr( "data-scale" ) ) - e.core.$outer.find( ".lg" ).height() + j ), l = (e.core.$outer.find( ".lg" ).width() - g.outerWidth()) / 2, m = Math.abs( g.outerWidth() * Math.abs( g.attr( "data-scale" ) ) - e.core.$outer.find( ".lg" ).width() + l );
790        (Math.abs( b.x - a.x ) > 15 || Math.abs( b.y - a.y ) > 15) && (d && (-k >= i ? i = -k : i >= -j && (i = -j)), c && (-m >= h ? 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" ) ), f.css( "transform", "translate3d(" + h + "px, " + i + "px, 0)" ))
791    }, f.prototype.destroy = function() {
792        var c = this;
793        c.core.$el.off( ".lg.zoom" ), a( b ).off( ".lg.zoom" ), c.core.$slide.off( ".lg.zoom" ), c.core.$el.off( ".lg.tm.zoom" ), c.resetZoom(), clearTimeout( c.zoomabletimeout ), c.zoomabletimeout = !1
794    }, a.fn.lightGallery.modules.zoom = f
795}( jQuery, window, document ), function( a, b, c, d ) {
796    "use strict";
797    var e = { hash: !0 }, f = function( c ) {
798        return this.core = a( c ).data( "lightGallery" ), this.core.s = a.extend( {}, e, this.core.s ), this.core.s.hash && (this.oldHash = b.location.hash, this.init()), this
799    };
800    f.prototype.init = function() {
801        var c, d = this;
802        d.core.$el.on( "onAfterSlide.lg.tm", function( a, c, e ) {
803            b.location.hash = "lg=" + d.core.s.galleryId + "&slide=" + e
804        } ), a( b ).on( "hashchange", function() {
805            c = b.location.hash;
806            var a = parseInt( c.split( "&slide=" )[ 1 ], 10 );
807            c.indexOf( "lg=" + d.core.s.galleryId ) > -1 ? d.core.slide( a ) : d.core.lGalleryOn && d.core.destroy()
808        } )
809    }, f.prototype.destroy = function() {
810        this.oldHash && this.oldHash.indexOf( "lg=" + this.core.s.galleryId ) < 0 ? b.location.hash = this.oldHash : history.pushState ? history.pushState( "", c.title, b.location.pathname + b.location.search ) : b.location.hash = ""
811    }, a.fn.lightGallery.modules.hash = f
812}( jQuery, window, document );

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.