{"version":3,"sources":["webpack:///./node_modules/lightgallery/dist/js/lightgallery.js"],"names":["a0","$","defaults","mode","cssEasing","easing","speed","height","width","addClass","startClass","backdropDuration","hideBarsDelay","useLeft","ariaLabelledby","ariaDescribedby","closable","loop","escKey","keyPress","controls","slideEndAnimatoin","hideControlOnEnd","mousewheel","getCaptionFromTitleOrAlt","appendSubHtmlTo","subHtmlSelectorRelative","preload","showAfterLoad","selector","selectWithin","nextHtml","prevHtml","index","iframeMaxWidth","download","counter","appendCounterTo","swipeThreshold","enableSwipe","enableDrag","dynamic","dynamicEl","galleryId","supportLegacyBrowser","Plugin","element","options","this","el","$el","s","extend","constructor","Array","length","modules","lGalleryOn","lgBusy","hideBarTimeout","isTouch","document","documentElement","$items","find","children","$slide","$outer","init","prototype","_this","_hash","window","location","hash","indexOf","parseInt","split","hasClass","setTimeout","build","trigger","on","event","preventDefault","er","returnValue","structure","each","fn","lightGallery","key","slide","arrow","closeGallery","removeClass","clearTimeout","template","list","i","subHtmlCont","append","css","focus","setTop","eq","doCss","$inner","prevScrollTop","scrollTop","wH","top","$lGallery","transition","root","style","support","isVideo","src","html","attr","html5","console","error","youtube","match","vimeo","dailymotion","vk","addHtml","subHtmlUrl","$currentEle","subHtml","first","fL","substring","load","j","loadContent","rec","delay","_$img","_src","_poster","_srcset","_sizes","_html","_alt","_hasPoster","getResponsiveSrc","srcItms","rsWidth","rsSrc","__src","splice","push","wWidth","poster","alt","responsive","srcset","sizes","iframe","_isVideo","prepend","videoClass","picturefill","elements","e","warn","_speed","fromTouch","fromThumb","direction","_prevIndex","touchPrev","touchNext","_length","_time","downloadUrl","arrowDisable","text","goToNextSlide","_loop","goToPrevSlide","keyCode","destroy","removeAttr","setTranslate","xValue","yValue","transform","touchMove","startCoords","endCoords","distance","Math","abs","touchEnd","not","isMoved","manageSwipeClass","originalEvent","targetTouches","pageX","isDraging","target","trim","scrollLeft","_touchNext","_touchPrev","deltaY","mousedown","is","d","off","removeData","remove","data","err"],"mappings":"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","file":"1.js","sourcesContent":["/*! lightgallery - v1.10.0 - 2020-11-07\n* http://sachinchoolur.github.io/lightGallery/\n* Copyright (c) 2020 Sachin N; Licensed GPLv3 */\n(function (root, factory) {\n  if (typeof define === 'function' && define.amd) {\n    // AMD. Register as an anonymous module unless amdModuleId is set\n    define(['jquery'], function (a0) {\n      return (factory(a0));\n    });\n  } else if (typeof module === 'object' && module.exports) {\n    // Node. Does not work with strict CommonJS, but\n    // only CommonJS-like environments that support module.exports,\n    // like Node.\n    module.exports = factory(require('jquery'));\n  } else {\n    factory(root[\"jQuery\"]);\n  }\n}(this, function ($) {\n\n(function() {\n    'use strict';\n\n    var defaults = {\n\n        mode: 'lg-slide',\n\n        // Ex : 'ease'\n        cssEasing: 'ease',\n\n        //'for jquery animation'\n        easing: 'linear',\n        speed: 600,\n        height: '100%',\n        width: '100%',\n        addClass: '',\n        startClass: 'lg-start-zoom',\n        backdropDuration: 150,\n\n        // Set 0, if u don't want to hide the controls \n        hideBarsDelay: 6000,\n\n        useLeft: false,\n\n        // aria-labelledby attribute fot gallery\n        ariaLabelledby: '',\n        \n        //aria-describedby attribute for gallery\n        ariaDescribedby: '',\n\n        closable: true,\n        loop: true,\n        escKey: true,\n        keyPress: true,\n        controls: true,\n        slideEndAnimatoin: true,\n        hideControlOnEnd: false,\n        mousewheel: true,\n\n        getCaptionFromTitleOrAlt: true,\n\n        // .lg-item || '.lg-sub-html'\n        appendSubHtmlTo: '.lg-sub-html',\n\n        subHtmlSelectorRelative: false,\n\n        /**\n         * @desc number of preload slides\n         * will execute only after the current slide is fully loaded.\n         *\n         * @ex you clicked on 4th image and if preload = 1 then 3rd slide and 5th\n         * slide will be loaded in the background after the 4th slide is fully loaded..\n         * if preload is 2 then 2nd 3rd 5th 6th slides will be preloaded.. ... ...\n         *\n         */\n        preload: 1,\n        showAfterLoad: true,\n        selector: '',\n        selectWithin: '',\n        nextHtml: '',\n        prevHtml: '',\n\n        // 0, 1\n        index: false,\n\n        iframeMaxWidth: '100%',\n\n        download: true,\n        counter: true,\n        appendCounterTo: '.lg-toolbar',\n\n        swipeThreshold: 50,\n        enableSwipe: true,\n        enableDrag: true,\n\n        dynamic: false,\n        dynamicEl: [],\n        galleryId: 1,\n        supportLegacyBrowser: true\n    };\n\n    function Plugin(element, options) {\n\n        // Current lightGallery element\n        this.el = element;\n\n        // Current jquery element\n        this.$el = $(element);\n\n        // lightGallery settings\n        this.s = $.extend({}, defaults, options);\n\n        // When using dynamic mode, ensure dynamicEl is an array\n        if (this.s.dynamic && this.s.dynamicEl !== 'undefined' && this.s.dynamicEl.constructor === Array && !this.s.dynamicEl.length) {\n            throw ('When using dynamic mode, you must also define dynamicEl as an Array.');\n        }\n\n        // lightGallery modules\n        this.modules = {};\n\n        // false when lightgallery complete first slide;\n        this.lGalleryOn = false;\n\n        this.lgBusy = false;\n\n        // Timeout function for hiding controls;\n        this.hideBarTimeout = false;\n\n        // To determine browser supports for touch events;\n        this.isTouch = ('ontouchstart' in document.documentElement);\n\n        // Disable hideControlOnEnd if sildeEndAnimation is true\n        if (this.s.slideEndAnimatoin) {\n            this.s.hideControlOnEnd = false;\n        }\n\n        // Gallery items\n        if (this.s.dynamic) {\n            this.$items = this.s.dynamicEl;\n        } else {\n            if (this.s.selector === 'this') {\n                this.$items = this.$el;\n            } else if (this.s.selector !== '') {\n                if (this.s.selectWithin) {\n                    this.$items = $(this.s.selectWithin).find(this.s.selector);\n                } else {\n                    this.$items = this.$el.find($(this.s.selector));\n                }\n            } else {\n                this.$items = this.$el.children();\n            }\n        }\n\n        // .lg-item\n        this.$slide = '';\n\n        // .lg-outer\n        this.$outer = '';\n\n        this.init();\n\n        return this;\n    }\n\n    Plugin.prototype.init = function() {\n\n        var _this = this;\n\n        // s.preload should not be more than $item.length\n        if (_this.s.preload > _this.$items.length) {\n            _this.s.preload = _this.$items.length;\n        }\n\n        // if dynamic option is enabled execute immediately\n        var _hash = window.location.hash;\n        if (_hash.indexOf('lg=' + this.s.galleryId) > 0) {\n\n            _this.index = parseInt(_hash.split('&slide=')[1], 10);\n\n            $('body').addClass('lg-from-hash');\n            if (!$('body').hasClass('lg-on')) {\n                setTimeout(function() {\n                    _this.build(_this.index);\n                });\n\n                $('body').addClass('lg-on');\n            }\n        }\n\n        if (_this.s.dynamic) {\n\n            _this.$el.trigger('onBeforeOpen.lg');\n\n            _this.index = _this.s.index || 0;\n\n            // prevent accidental double execution\n            if (!$('body').hasClass('lg-on')) {\n                setTimeout(function() {\n                    _this.build(_this.index);\n                    $('body').addClass('lg-on');\n                });\n            }\n        } else {\n\n            // Using different namespace for click because click event should not unbind if selector is same object('this')\n            _this.$items.on('click.lgcustom', function(event) {\n\n                // For IE8\n                try {\n                    event.preventDefault();\n                    event.preventDefault();\n                } catch (er) {\n                    event.returnValue = false;\n                }\n\n                _this.$el.trigger('onBeforeOpen.lg');\n\n                _this.index = _this.s.index || _this.$items.index(this);\n\n                // prevent accidental double execution\n                if (!$('body').hasClass('lg-on')) {\n                    _this.build(_this.index);\n                    $('body').addClass('lg-on');\n                }\n            });\n        }\n\n    };\n\n    Plugin.prototype.build = function(index) {\n\n        var _this = this;\n\n        _this.structure();\n\n        // module constructor\n        $.each($.fn.lightGallery.modules, function(key) {\n            _this.modules[key] = new $.fn.lightGallery.modules[key](_this.el);\n        });\n\n        // initiate slide function\n        _this.slide(index, false, false, false);\n\n        if (_this.s.keyPress) {\n            _this.keyPress();\n        }\n\n        if (_this.$items.length > 1) {\n\n            _this.arrow();\n\n            setTimeout(function() {\n                _this.enableDrag();\n                _this.enableSwipe();\n            }, 50);\n\n            if (_this.s.mousewheel) {\n                _this.mousewheel();\n            }\n        } else {\n            _this.$slide.on('click.lg', function() {\n                _this.$el.trigger('onSlideClick.lg');\n            });\n        }\n\n        _this.counter();\n\n        _this.closeGallery();\n\n        _this.$el.trigger('onAfterOpen.lg');\n\n        // Hide controllers if mouse doesn't move for some period\n        if (_this.s.hideBarsDelay > 0) {\n\n            // Hide controllers if mouse doesn't move for some period\n            _this.$outer.on('mousemove.lg click.lg touchstart.lg', function () {\n                _this.$outer.removeClass('lg-hide-items');\n\n                clearTimeout(_this.hideBarTimeout);\n\n                // Timeout will be cleared on each slide movement also\n                _this.hideBarTimeout = setTimeout(function () {\n                    _this.$outer.addClass('lg-hide-items');\n                }, _this.s.hideBarsDelay);\n\n            });\n        }\n\n        _this.$outer.trigger('mousemove.lg');\n\n    };\n\n    Plugin.prototype.structure = function() {\n        var list = '';\n        var controls = '';\n        var i = 0;\n        var subHtmlCont = '';\n        var template;\n        var _this = this;\n\n        $('body').append('<div class=\"lg-backdrop\"></div>');\n        $('.lg-backdrop').css('transition-duration', this.s.backdropDuration + 'ms');\n\n        // Create gallery items\n        for (i = 0; i < this.$items.length; i++) {\n            list += '<div class=\"lg-item\"></div>';\n        }\n\n        // Create controlls\n        if (this.s.controls && this.$items.length > 1) {\n            controls = '<div class=\"lg-actions\">' +\n                '<button type=\"button\" aria-label=\"Previous slide\" class=\"lg-prev lg-icon\">' + this.s.prevHtml + '</button>' +\n                '<button type=\"button\" aria-label=\"Next slide\" class=\"lg-next lg-icon\">' + this.s.nextHtml + '</button>' +\n                '</div>';\n        }\n\n        if (this.s.appendSubHtmlTo === '.lg-sub-html') {\n            subHtmlCont = '<div role=\"status\" aria-live=\"polite\" class=\"lg-sub-html\"></div>';\n        }\n\n        var ariaLabelledby = this.s.ariaLabelledby ?\n            'aria-labelledby=\"' + this.s.ariaLabelledby + '\"' : '';\n        var ariaDescribedby = this.s.ariaDescribedby ?\n            'aria-describedby=\"' + this.s.ariaDescribedby + '\"' : '';\n\n        template = '<div tabindex=\"-1\" aria-modal=\"true\" ' + ariaLabelledby + ' ' + ariaDescribedby + ' role=\"dialog\" class=\"lg-outer ' + this.s.addClass + ' ' + this.s.startClass + '\">' +\n            '<div class=\"lg\" style=\"width:' + this.s.width + '; height:' + this.s.height + '\">' +\n            '<div class=\"lg-inner\">' + list + '</div>' +\n            '<div class=\"lg-toolbar lg-group\">' +\n            '<button type=\"button\" aria-label=\"Close gallery\" class=\"lg-close lg-icon\"></button>' +\n            '</div>' +\n            controls +\n            subHtmlCont +\n            '</div>' +\n            '</div>';\n\n        $('body').append(template);\n        this.$outer = $('.lg-outer');\n        this.$outer.focus();\n        this.$slide = this.$outer.find('.lg-item');\n\n        if (this.s.useLeft) {\n            this.$outer.addClass('lg-use-left');\n\n            // Set mode lg-slide if use left is true;\n            this.s.mode = 'lg-slide';\n        } else {\n            this.$outer.addClass('lg-use-css3');\n        }\n\n        // For fixed height gallery\n        _this.setTop();\n        $(window).on('resize.lg orientationchange.lg', function() {\n            setTimeout(function() {\n                _this.setTop();\n            }, 100);\n        });\n\n        // add class lg-current to remove initial transition\n        this.$slide.eq(this.index).addClass('lg-current');\n\n        // add Class for css support and transition mode\n        if (this.doCss()) {\n            this.$outer.addClass('lg-css3');\n        } else {\n            this.$outer.addClass('lg-css');\n\n            // Set speed 0 because no animation will happen if browser doesn't support css3\n            this.s.speed = 0;\n        }\n\n        this.$outer.addClass(this.s.mode);\n\n        if (this.s.enableDrag && this.$items.length > 1) {\n            this.$outer.addClass('lg-grab');\n        }\n\n        if (this.s.showAfterLoad) {\n            this.$outer.addClass('lg-show-after-load');\n        }\n\n        if (this.doCss()) {\n            var $inner = this.$outer.find('.lg-inner');\n            $inner.css('transition-timing-function', this.s.cssEasing);\n            $inner.css('transition-duration', this.s.speed + 'ms');\n        }\n\n        setTimeout(function() {\n            $('.lg-backdrop').addClass('in');\n        });\n\n        setTimeout(function() {\n            _this.$outer.addClass('lg-visible');\n        }, this.s.backdropDuration);\n\n        if (this.s.download) {\n            this.$outer.find('.lg-toolbar').append('<a id=\"lg-download\" aria-label=\"Download\" target=\"_blank\" download class=\"lg-download lg-icon\"></a>');\n        }\n\n        // Store the current scroll top value to scroll back after closing the gallery..\n        this.prevScrollTop = $(window).scrollTop();\n\n    };\n\n    // For fixed height gallery\n    Plugin.prototype.setTop = function() {\n        if (this.s.height !== '100%') {\n            var wH = $(window).height();\n            var top = (wH - parseInt(this.s.height, 10)) / 2;\n            var $lGallery = this.$outer.find('.lg');\n            if (wH >= parseInt(this.s.height, 10)) {\n                $lGallery.css('top', top + 'px');\n            } else {\n                $lGallery.css('top', '0px');\n            }\n        }\n    };\n\n    // Find css3 support\n    Plugin.prototype.doCss = function() {\n        // check for css animation support\n        var support = function() {\n            var transition = ['transition', 'MozTransition', 'WebkitTransition', 'OTransition', 'msTransition', 'KhtmlTransition'];\n            var root = document.documentElement;\n            var i = 0;\n            for (i = 0; i < transition.length; i++) {\n                if (transition[i] in root.style) {\n                    return true;\n                }\n            }\n        };\n\n        if (support()) {\n            return true;\n        }\n\n        return false;\n    };\n\n    /**\n     *  @desc Check the given src is video\n     *  @param {String} src\n     *  @return {Object} video type\n     *  Ex:{ youtube  :  [\"//www.youtube.com/watch?v=c0asJgSyxcY\", \"c0asJgSyxcY\"] }\n     */\n    Plugin.prototype.isVideo = function(src, index) {\n\n        var html;\n        if (this.s.dynamic) {\n            html = this.s.dynamicEl[index].html;\n        } else {\n            html = this.$items.eq(index).attr('data-html');\n        }\n\n        if (!src) {\n            if (html) {\n                return {\n                    html5: true\n                };\n            } else {\n                console.error('lightGallery :- data-src is not provided on slide item ' + (index + 1) + '. Please make sure the selector property is properly configured. More info - http://sachinchoolur.github.io/lightGallery/demos/html-markup.html');\n                return false;\n            }\n        }\n\n        var youtube = src.match(/\\/\\/(?:www\\.)?youtu(?:\\.be|be\\.com|be-nocookie\\.com)\\/(?:watch\\?v=|embed\\/)?([a-z0-9\\-\\_\\%]+)/i);\n        var vimeo = src.match(/\\/\\/(?:www\\.)?(?:player\\.)?vimeo.com\\/(?:video\\/)?([0-9a-z\\-_]+)/i);\n        var dailymotion = src.match(/\\/\\/(?:www\\.)?dai.ly\\/([0-9a-z\\-_]+)/i);\n        var vk = src.match(/\\/\\/(?:www\\.)?(?:vk\\.com|vkontakte\\.ru)\\/(?:video_ext\\.php\\?)(.*)/i);\n\n        if (youtube) {\n            return {\n                youtube: youtube\n            };\n        } else if (vimeo) {\n            return {\n                vimeo: vimeo\n            };\n        } else if (dailymotion) {\n            return {\n                dailymotion: dailymotion\n            };\n        } else if (vk) {\n            return {\n                vk: vk\n            };\n        }\n    };\n\n    /**\n     *  @desc Create image counter\n     *  Ex: 1/10\n     */\n    Plugin.prototype.counter = function() {\n        if (this.s.counter) {\n            $(this.s.appendCounterTo).append('<div id=\"lg-counter\" role=\"status\" aria-live=\"polite\"><span id=\"lg-counter-current\">' + (parseInt(this.index, 10) + 1) + '</span> / <span id=\"lg-counter-all\">' + this.$items.length + '</span></div>');\n        }\n    };\n\n    /**\n     *  @desc add sub-html into the slide\n     *  @param {Number} index - index of the slide\n     */\n    Plugin.prototype.addHtml = function(index) {\n        var subHtml = null;\n        var subHtmlUrl;\n        var $currentEle;\n        if (this.s.dynamic) {\n            if (this.s.dynamicEl[index].subHtmlUrl) {\n                subHtmlUrl = this.s.dynamicEl[index].subHtmlUrl;\n            } else {\n                subHtml = this.s.dynamicEl[index].subHtml;\n            }\n        } else {\n            $currentEle = this.$items.eq(index);\n            if ($currentEle.attr('data-sub-html-url')) {\n                subHtmlUrl = $currentEle.attr('data-sub-html-url');\n            } else {\n                subHtml = $currentEle.attr('data-sub-html');\n                if (this.s.getCaptionFromTitleOrAlt && !subHtml) {\n                    subHtml = $currentEle.attr('title') || $currentEle.find('img').first().attr('alt');\n                }\n            }\n        }\n\n        if (!subHtmlUrl) {\n            if (typeof subHtml !== 'undefined' && subHtml !== null) {\n\n                // get first letter of subhtml\n                // if first letter starts with . or # get the html form the jQuery object\n                var fL = subHtml.substring(0, 1);\n                if (fL === '.' || fL === '#') {\n                    if (this.s.subHtmlSelectorRelative && !this.s.dynamic) {\n                        subHtml = $currentEle.find(subHtml).html();\n                    } else {\n                        subHtml = $(subHtml).html();\n                    }\n                }\n            } else {\n                subHtml = '';\n            }\n        }\n\n        if (this.s.appendSubHtmlTo === '.lg-sub-html') {\n\n            if (subHtmlUrl) {\n                this.$outer.find(this.s.appendSubHtmlTo).load(subHtmlUrl);\n            } else {\n                this.$outer.find(this.s.appendSubHtmlTo).html(subHtml);\n            }\n\n        } else {\n\n            if (subHtmlUrl) {\n                this.$slide.eq(index).load(subHtmlUrl);\n            } else {\n                this.$slide.eq(index).append(subHtml);\n            }\n        }\n\n        // Add lg-empty-html class if title doesn't exist\n        if (typeof subHtml !== 'undefined' && subHtml !== null) {\n            if (subHtml === '') {\n                this.$outer.find(this.s.appendSubHtmlTo).addClass('lg-empty-html');\n            } else {\n                this.$outer.find(this.s.appendSubHtmlTo).removeClass('lg-empty-html');\n            }\n        }\n\n        this.$el.trigger('onAfterAppendSubHtml.lg', [index]);\n    };\n\n    /**\n     *  @desc Preload slides\n     *  @param {Number} index - index of the slide\n     */\n    Plugin.prototype.preload = function(index) {\n        var i = 1;\n        var j = 1;\n        for (i = 1; i <= this.s.preload; i++) {\n            if (i >= this.$items.length - index) {\n                break;\n            }\n\n            this.loadContent(index + i, false, 0);\n        }\n\n        for (j = 1; j <= this.s.preload; j++) {\n            if (index - j < 0) {\n                break;\n            }\n\n            this.loadContent(index - j, false, 0);\n        }\n    };\n\n    /**\n     *  @desc Load slide content into slide.\n     *  @param {Number} index - index of the slide.\n     *  @param {Boolean} rec - if true call loadcontent() function again.\n     *  @param {Boolean} delay - delay for adding complete class. it is 0 except first time.\n     */\n    Plugin.prototype.loadContent = function(index, rec, delay) {\n\n        var _this = this;\n        var _hasPoster = false;\n        var _$img;\n        var _src;\n        var _poster;\n        var _srcset;\n        var _sizes;\n        var _html;\n        var _alt;\n        var getResponsiveSrc = function(srcItms) {\n            var rsWidth = [];\n            var rsSrc = [];\n            for (var i = 0; i < srcItms.length; i++) {\n                var __src = srcItms[i].split(' ');\n\n                // Manage empty space\n                if (__src[0] === '') {\n                    __src.splice(0, 1);\n                }\n\n                rsSrc.push(__src[0]);\n                rsWidth.push(__src[1]);\n            }\n\n            var wWidth = $(window).width();\n            for (var j = 0; j < rsWidth.length; j++) {\n                if (parseInt(rsWidth[j], 10) > wWidth) {\n                    _src = rsSrc[j];\n                    break;\n                }\n            }\n        };\n\n        if (_this.s.dynamic) {\n\n            if (_this.s.dynamicEl[index].poster) {\n                _hasPoster = true;\n                _poster = _this.s.dynamicEl[index].poster;\n            }\n\n            _html = _this.s.dynamicEl[index].html;\n            _src = _this.s.dynamicEl[index].src;\n            _alt = _this.s.dynamicEl[index].alt;\n\n            if (_this.s.dynamicEl[index].responsive) {\n                var srcDyItms = _this.s.dynamicEl[index].responsive.split(',');\n                getResponsiveSrc(srcDyItms);\n            }\n\n            _srcset = _this.s.dynamicEl[index].srcset;\n            _sizes = _this.s.dynamicEl[index].sizes;\n\n        } else {\n            var $currentEle = _this.$items.eq(index);\n            if ($currentEle.attr('data-poster')) {\n                _hasPoster = true;\n                _poster = $currentEle.attr('data-poster');\n            }\n\n            _html = $currentEle.attr('data-html');\n            _src = $currentEle.attr('href') || $currentEle.attr('data-src');\n            _alt = $currentEle.attr('title') || $currentEle.find('img').first().attr('alt');\n\n            if ($currentEle.attr('data-responsive')) {\n                var srcItms = $currentEle.attr('data-responsive').split(',');\n                getResponsiveSrc(srcItms);\n            }\n\n            _srcset = $currentEle.attr('data-srcset');\n            _sizes = $currentEle.attr('data-sizes');\n\n        }\n\n        //if (_src || _srcset || _sizes || _poster) {\n\n        var iframe = false;\n        if (_this.s.dynamic) {\n            if (_this.s.dynamicEl[index].iframe) {\n                iframe = true;\n            }\n        } else {\n            if (_this.$items.eq(index).attr('data-iframe') === 'true') {\n                iframe = true;\n            }\n        }\n\n        var _isVideo = _this.isVideo(_src, index);\n        if (!_this.$slide.eq(index).hasClass('lg-loaded')) {\n            if (iframe) {\n                _this.$slide.eq(index).prepend('<div class=\"lg-video-cont lg-has-iframe\" style=\"max-width:' + _this.s.iframeMaxWidth + '\"><div class=\"lg-video\"><iframe class=\"lg-object\" frameborder=\"0\" src=\"' + _src + '\"  allowfullscreen=\"true\"></iframe></div></div>');\n            } else if (_hasPoster) {\n                var videoClass = '';\n                if (_isVideo && _isVideo.youtube) {\n                    videoClass = 'lg-has-youtube';\n                } else if (_isVideo && _isVideo.vimeo) {\n                    videoClass = 'lg-has-vimeo';\n                } else {\n                    videoClass = 'lg-has-html5';\n                }\n\n                _this.$slide.eq(index).prepend('<div class=\"lg-video-cont ' + videoClass + ' \"><div class=\"lg-video\"><span class=\"lg-video-play\"></span><img class=\"lg-object lg-has-poster\" src=\"' + _poster + '\" /></div></div>');\n\n            } else if (_isVideo) {\n                _this.$slide.eq(index).prepend('<div class=\"lg-video-cont \"><div class=\"lg-video\"></div></div>');\n                _this.$el.trigger('hasVideo.lg', [index, _src, _html]);\n            } else {\n                _alt = _alt ? 'alt=\"' + _alt + '\"' : '';\n                _this.$slide.eq(index).prepend('<div class=\"lg-img-wrap\"><img class=\"lg-object lg-image\" ' + _alt + ' src=\"' + _src + '\" /></div>');\n            }\n\n            _this.$el.trigger('onAferAppendSlide.lg', [index]);\n\n            _$img = _this.$slide.eq(index).find('.lg-object');\n            if (_sizes) {\n                _$img.attr('sizes', _sizes);\n            }\n\n            if (_srcset) {\n                _$img.attr('srcset', _srcset);\n                if (this.s.supportLegacyBrowser) {\n                    try {\n                        picturefill({\n                            elements: [_$img[0]]\n                        });\n                    } catch (e) {\n                        console.warn('lightGallery :- If you want srcset to be supported for older browser please include picturefil version 2 javascript library in your document.');\n                    }\n                }\n            }\n\n            if (this.s.appendSubHtmlTo !== '.lg-sub-html') {\n                _this.addHtml(index);\n            }\n\n            _this.$slide.eq(index).addClass('lg-loaded');\n        }\n\n        _this.$slide.eq(index).find('.lg-object').on('load.lg error.lg', function() {\n\n            // For first time add some delay for displaying the start animation.\n            var _speed = 0;\n\n            // Do not change the delay value because it is required for zoom plugin.\n            // If gallery opened from direct url (hash) speed value should be 0\n            if (delay && !$('body').hasClass('lg-from-hash')) {\n                _speed = delay;\n            }\n\n            setTimeout(function() {\n                _this.$slide.eq(index).addClass('lg-complete');\n                _this.$el.trigger('onSlideItemLoad.lg', [index, delay || 0]);\n            }, _speed);\n\n        });\n\n        // @todo check load state for html5 videos\n        if (_isVideo && _isVideo.html5 && !_hasPoster) {\n            _this.$slide.eq(index).addClass('lg-complete');\n        }\n\n        if (rec === true) {\n            if (!_this.$slide.eq(index).hasClass('lg-complete')) {\n                _this.$slide.eq(index).find('.lg-object').on('load.lg error.lg', function() {\n                    _this.preload(index);\n                });\n            } else {\n                _this.preload(index);\n            }\n        }\n\n        //}\n    };\n\n    /**\n    *   @desc slide function for lightgallery\n        ** Slide() gets call on start\n        ** ** Set lg.on true once slide() function gets called.\n        ** Call loadContent() on slide() function inside setTimeout\n        ** ** On first slide we do not want any animation like slide of fade\n        ** ** So on first slide( if lg.on if false that is first slide) loadContent() should start loading immediately\n        ** ** Else loadContent() should wait for the transition to complete.\n        ** ** So set timeout s.speed + 50\n    <=> ** loadContent() will load slide content in to the particular slide\n        ** ** It has recursion (rec) parameter. if rec === true loadContent() will call preload() function.\n        ** ** preload will execute only when the previous slide is fully loaded (images iframe)\n        ** ** avoid simultaneous image load\n    <=> ** Preload() will check for s.preload value and call loadContent() again accoring to preload value\n        ** loadContent()  <====> Preload();\n\n    *   @param {Number} index - index of the slide\n    *   @param {Boolean} fromTouch - true if slide function called via touch event or mouse drag\n    *   @param {Boolean} fromThumb - true if slide function called via thumbnail click\n    *   @param {String} direction - Direction of the slide(next/prev)\n    */\n    Plugin.prototype.slide = function(index, fromTouch, fromThumb, direction) {\n\n        var _prevIndex = this.$outer.find('.lg-current').index();\n        var _this = this;\n\n        // Prevent if multiple call\n        // Required for hsh plugin\n        if (_this.lGalleryOn && (_prevIndex === index)) {\n            return;\n        }\n\n        var _length = this.$slide.length;\n        var _time = _this.lGalleryOn ? this.s.speed : 0;\n\n        if (!_this.lgBusy) {\n\n            if (this.s.download) {\n                var _src;\n                if (_this.s.dynamic) {\n                    _src = _this.s.dynamicEl[index].downloadUrl !== false && (_this.s.dynamicEl[index].downloadUrl || _this.s.dynamicEl[index].src);\n                } else {\n                    _src = _this.$items.eq(index).attr('data-download-url') !== 'false' && (_this.$items.eq(index).attr('data-download-url') || _this.$items.eq(index).attr('href') || _this.$items.eq(index).attr('data-src'));\n\n                }\n\n                if (_src) {\n                    $('#lg-download').attr('href', _src);\n                    _this.$outer.removeClass('lg-hide-download');\n                } else {\n                    _this.$outer.addClass('lg-hide-download');\n                }\n            }\n\n            this.$el.trigger('onBeforeSlide.lg', [_prevIndex, index, fromTouch, fromThumb]);\n\n            _this.lgBusy = true;\n\n            clearTimeout(_this.hideBarTimeout);\n\n            // Add title if this.s.appendSubHtmlTo === lg-sub-html\n            if (this.s.appendSubHtmlTo === '.lg-sub-html') {\n\n                // wait for slide animation to complete\n                setTimeout(function() {\n                    _this.addHtml(index);\n                }, _time);\n            }\n\n            this.arrowDisable(index);\n\n            if (!direction) {\n                if (index < _prevIndex) {\n                    direction = 'prev';\n                } else if (index > _prevIndex) {\n                    direction = 'next';\n                }\n            }\n\n            if (!fromTouch) {\n\n                // remove all transitions\n                _this.$outer.addClass('lg-no-trans');\n\n                this.$slide.removeClass('lg-prev-slide lg-next-slide');\n\n                if (direction === 'prev') {\n\n                    //prevslide\n                    this.$slide.eq(index).addClass('lg-prev-slide');\n                    this.$slide.eq(_prevIndex).addClass('lg-next-slide');\n                } else {\n\n                    // next slide\n                    this.$slide.eq(index).addClass('lg-next-slide');\n                    this.$slide.eq(_prevIndex).addClass('lg-prev-slide');\n                }\n\n                // give 50 ms for browser to add/remove class\n                setTimeout(function() {\n                    _this.$slide.removeClass('lg-current');\n\n                    //_this.$slide.eq(_prevIndex).removeClass('lg-current');\n                    _this.$slide.eq(index).addClass('lg-current');\n\n                    // reset all transitions\n                    _this.$outer.removeClass('lg-no-trans');\n                }, 50);\n            } else {\n\n                this.$slide.removeClass('lg-prev-slide lg-current lg-next-slide');\n                var touchPrev;\n                var touchNext;\n                if (_length > 2) {\n                    touchPrev = index - 1;\n                    touchNext = index + 1;\n\n                    if ((index === 0) && (_prevIndex === _length - 1)) {\n\n                        // next slide\n                        touchNext = 0;\n                        touchPrev = _length - 1;\n                    } else if ((index === _length - 1) && (_prevIndex === 0)) {\n\n                        // prev slide\n                        touchNext = 0;\n                        touchPrev = _length - 1;\n                    }\n\n                } else {\n                    touchPrev = 0;\n                    touchNext = 1;\n                }\n\n                if (direction === 'prev') {\n                    _this.$slide.eq(touchNext).addClass('lg-next-slide');\n                } else {\n                    _this.$slide.eq(touchPrev).addClass('lg-prev-slide');\n                }\n\n                _this.$slide.eq(index).addClass('lg-current');\n            }\n\n            if (_this.lGalleryOn) {\n                setTimeout(function() {\n                    _this.loadContent(index, true, 0);\n                }, this.s.speed + 50);\n\n                setTimeout(function() {\n                    _this.lgBusy = false;\n                    _this.$el.trigger('onAfterSlide.lg', [_prevIndex, index, fromTouch, fromThumb]);\n                }, this.s.speed);\n\n            } else {\n                _this.loadContent(index, true, _this.s.backdropDuration);\n\n                _this.lgBusy = false;\n                _this.$el.trigger('onAfterSlide.lg', [_prevIndex, index, fromTouch, fromThumb]);\n            }\n\n            _this.lGalleryOn = true;\n\n            if (this.s.counter) {\n                $('#lg-counter-current').text(index + 1);\n            }\n\n        }\n        _this.index = index;\n\n    };\n\n    /**\n     *  @desc Go to next slide\n     *  @param {Boolean} fromTouch - true if slide function called via touch event\n     */\n    Plugin.prototype.goToNextSlide = function(fromTouch) {\n        var _this = this;\n        var _loop = _this.s.loop;\n        if (fromTouch && _this.$slide.length < 3) {\n            _loop = false;\n        }\n\n        if (!_this.lgBusy) {\n            if ((_this.index + 1) < _this.$slide.length) {\n                _this.index++;\n                _this.$el.trigger('onBeforeNextSlide.lg', [_this.index]);\n                _this.slide(_this.index, fromTouch, false, 'next');\n            } else {\n                if (_loop) {\n                    _this.index = 0;\n                    _this.$el.trigger('onBeforeNextSlide.lg', [_this.index]);\n                    _this.slide(_this.index, fromTouch, false, 'next');\n                } else if (_this.s.slideEndAnimatoin && !fromTouch) {\n                    _this.$outer.addClass('lg-right-end');\n                    setTimeout(function() {\n                        _this.$outer.removeClass('lg-right-end');\n                    }, 400);\n                }\n            }\n        }\n    };\n\n    /**\n     *  @desc Go to previous slide\n     *  @param {Boolean} fromTouch - true if slide function called via touch event\n     */\n    Plugin.prototype.goToPrevSlide = function(fromTouch) {\n        var _this = this;\n        var _loop = _this.s.loop;\n        if (fromTouch && _this.$slide.length < 3) {\n            _loop = false;\n        }\n\n        if (!_this.lgBusy) {\n            if (_this.index > 0) {\n                _this.index--;\n                _this.$el.trigger('onBeforePrevSlide.lg', [_this.index, fromTouch]);\n                _this.slide(_this.index, fromTouch, false, 'prev');\n            } else {\n                if (_loop) {\n                    _this.index = _this.$items.length - 1;\n                    _this.$el.trigger('onBeforePrevSlide.lg', [_this.index, fromTouch]);\n                    _this.slide(_this.index, fromTouch, false, 'prev');\n                } else if (_this.s.slideEndAnimatoin && !fromTouch) {\n                    _this.$outer.addClass('lg-left-end');\n                    setTimeout(function() {\n                        _this.$outer.removeClass('lg-left-end');\n                    }, 400);\n                }\n            }\n        }\n    };\n\n    Plugin.prototype.keyPress = function() {\n        var _this = this;\n        if (this.$items.length > 1) {\n            $(window).on('keyup.lg', function(e) {\n                if (_this.$items.length > 1) {\n                    if (e.keyCode === 37) {\n                        e.preventDefault();\n                        _this.goToPrevSlide();\n                    }\n\n                    if (e.keyCode === 39) {\n                        e.preventDefault();\n                        _this.goToNextSlide();\n                    }\n                }\n            });\n        }\n\n        $(window).on('keydown.lg', function(e) {\n            if (_this.s.escKey === true && e.keyCode === 27) {\n                e.preventDefault();\n                if (!_this.$outer.hasClass('lg-thumb-open')) {\n                    _this.destroy();\n                } else {\n                    _this.$outer.removeClass('lg-thumb-open');\n                }\n            }\n        });\n    };\n\n    Plugin.prototype.arrow = function() {\n        var _this = this;\n        this.$outer.find('.lg-prev').on('click.lg', function() {\n            _this.goToPrevSlide();\n        });\n\n        this.$outer.find('.lg-next').on('click.lg', function() {\n            _this.goToNextSlide();\n        });\n    };\n\n    Plugin.prototype.arrowDisable = function(index) {\n\n        // Disable arrows if s.hideControlOnEnd is true\n        if (!this.s.loop && this.s.hideControlOnEnd) {\n            if ((index + 1) < this.$slide.length) {\n                this.$outer.find('.lg-next').removeAttr('disabled').removeClass('disabled');\n            } else {\n                this.$outer.find('.lg-next').attr('disabled', 'disabled').addClass('disabled');\n            }\n\n            if (index > 0) {\n                this.$outer.find('.lg-prev').removeAttr('disabled').removeClass('disabled');\n            } else {\n                this.$outer.find('.lg-prev').attr('disabled', 'disabled').addClass('disabled');\n            }\n        }\n    };\n\n    Plugin.prototype.setTranslate = function($el, xValue, yValue) {\n        // jQuery supports Automatic CSS prefixing since jQuery 1.8.0\n        if (this.s.useLeft) {\n            $el.css('left', xValue);\n        } else {\n            $el.css({\n                transform: 'translate3d(' + (xValue) + 'px, ' + yValue + 'px, 0px)'\n            });\n        }\n    };\n\n    Plugin.prototype.touchMove = function(startCoords, endCoords) {\n\n        var distance = endCoords - startCoords;\n\n        if (Math.abs(distance) > 15) {\n            // reset opacity and transition duration\n            this.$outer.addClass('lg-dragging');\n\n            // move current slide\n            this.setTranslate(this.$slide.eq(this.index), distance, 0);\n\n            // move next and prev slide with current slide\n            this.setTranslate($('.lg-prev-slide'), -this.$slide.eq(this.index).width() + distance, 0);\n            this.setTranslate($('.lg-next-slide'), this.$slide.eq(this.index).width() + distance, 0);\n        }\n    };\n\n    Plugin.prototype.touchEnd = function(distance) {\n        var _this = this;\n\n        // keep slide animation for any mode while dragg/swipe\n        if (_this.s.mode !== 'lg-slide') {\n            _this.$outer.addClass('lg-slide');\n        }\n\n        this.$slide.not('.lg-current, .lg-prev-slide, .lg-next-slide').css('opacity', '0');\n\n        // set transition duration\n        setTimeout(function() {\n            _this.$outer.removeClass('lg-dragging');\n            if ((distance < 0) && (Math.abs(distance) > _this.s.swipeThreshold)) {\n                _this.goToNextSlide(true);\n            } else if ((distance > 0) && (Math.abs(distance) > _this.s.swipeThreshold)) {\n                _this.goToPrevSlide(true);\n            } else if (Math.abs(distance) < 5) {\n\n                // Trigger click if distance is less than 5 pix\n                _this.$el.trigger('onSlideClick.lg');\n            }\n\n            _this.$slide.removeAttr('style');\n        });\n\n        // remove slide class once drag/swipe is completed if mode is not slide\n        setTimeout(function() {\n            if (!_this.$outer.hasClass('lg-dragging') && _this.s.mode !== 'lg-slide') {\n                _this.$outer.removeClass('lg-slide');\n            }\n        }, _this.s.speed + 100);\n\n    };\n\n    Plugin.prototype.enableSwipe = function() {\n        var _this = this;\n        var startCoords = 0;\n        var endCoords = 0;\n        var isMoved = false;\n\n        if (_this.s.enableSwipe && _this.doCss()) {\n\n            _this.$slide.on('touchstart.lg', function(e) {\n                if (!_this.$outer.hasClass('lg-zoomed') && !_this.lgBusy) {\n                    e.preventDefault();\n                    _this.manageSwipeClass();\n                    startCoords = e.originalEvent.targetTouches[0].pageX;\n                }\n            });\n\n            _this.$slide.on('touchmove.lg', function(e) {\n                if (!_this.$outer.hasClass('lg-zoomed')) {\n                    e.preventDefault();\n                    endCoords = e.originalEvent.targetTouches[0].pageX;\n                    _this.touchMove(startCoords, endCoords);\n                    isMoved = true;\n                }\n            });\n\n            _this.$slide.on('touchend.lg', function() {\n                if (!_this.$outer.hasClass('lg-zoomed')) {\n                    if (isMoved) {\n                        isMoved = false;\n                        _this.touchEnd(endCoords - startCoords);\n                    } else {\n                        _this.$el.trigger('onSlideClick.lg');\n                    }\n                }\n            });\n        }\n\n    };\n\n    Plugin.prototype.enableDrag = function() {\n        var _this = this;\n        var startCoords = 0;\n        var endCoords = 0;\n        var isDraging = false;\n        var isMoved = false;\n        if (_this.s.enableDrag && _this.doCss()) {\n            _this.$slide.on('mousedown.lg', function(e) {\n                if (!_this.$outer.hasClass('lg-zoomed') && !_this.lgBusy && !$(e.target).text().trim()) {\n                    e.preventDefault();\n                    _this.manageSwipeClass();\n                    startCoords = e.pageX;\n                    isDraging = true;\n\n                    // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723\n                    _this.$outer.scrollLeft += 1;\n                    _this.$outer.scrollLeft -= 1;\n\n                    // *\n\n                    _this.$outer.removeClass('lg-grab').addClass('lg-grabbing');\n\n                    _this.$el.trigger('onDragstart.lg');\n                }\n            });\n\n            $(window).on('mousemove.lg', function(e) {\n                if (isDraging) {\n                    isMoved = true;\n                    endCoords = e.pageX;\n                    _this.touchMove(startCoords, endCoords);\n                    _this.$el.trigger('onDragmove.lg');\n                }\n            });\n\n            $(window).on('mouseup.lg', function(e) {\n                if (isMoved) {\n                    isMoved = false;\n                    _this.touchEnd(endCoords - startCoords);\n                    _this.$el.trigger('onDragend.lg');\n                } else if ($(e.target).hasClass('lg-object') || $(e.target).hasClass('lg-video-play')) {\n                    _this.$el.trigger('onSlideClick.lg');\n                }\n\n                // Prevent execution on click\n                if (isDraging) {\n                    isDraging = false;\n                    _this.$outer.removeClass('lg-grabbing').addClass('lg-grab');\n                }\n            });\n\n        }\n    };\n\n    Plugin.prototype.manageSwipeClass = function() {\n        var _touchNext = this.index + 1;\n        var _touchPrev = this.index - 1;\n        if (this.s.loop && this.$slide.length > 2) {\n            if (this.index === 0) {\n                _touchPrev = this.$slide.length - 1;\n            } else if (this.index === this.$slide.length - 1) {\n                _touchNext = 0;\n            }\n        }\n\n        this.$slide.removeClass('lg-next-slide lg-prev-slide');\n        if (_touchPrev > -1) {\n            this.$slide.eq(_touchPrev).addClass('lg-prev-slide');\n        }\n\n        this.$slide.eq(_touchNext).addClass('lg-next-slide');\n    };\n\n    Plugin.prototype.mousewheel = function() {\n        var _this = this;\n        _this.$outer.on('mousewheel.lg', function(e) {\n\n            if (!e.deltaY) {\n                return;\n            }\n\n            if (e.deltaY > 0) {\n                _this.goToPrevSlide();\n            } else {\n                _this.goToNextSlide();\n            }\n\n            e.preventDefault();\n        });\n\n    };\n\n    Plugin.prototype.closeGallery = function() {\n\n        var _this = this;\n        var mousedown = false;\n        this.$outer.find('.lg-close').on('click.lg', function() {\n            _this.destroy();\n        });\n\n        if (_this.s.closable) {\n\n            // If you drag the slide and release outside gallery gets close on chrome\n            // for preventing this check mousedown and mouseup happened on .lg-item or lg-outer\n            _this.$outer.on('mousedown.lg', function(e) {\n\n                if ($(e.target).is('.lg-outer') || $(e.target).is('.lg-item ') || $(e.target).is('.lg-img-wrap')) {\n                    mousedown = true;\n                } else {\n                    mousedown = false;\n                }\n\n            });\n\n            _this.$outer.on('mousemove.lg', function() {\n                mousedown = false;\n            });\n\n            _this.$outer.on('mouseup.lg', function(e) {\n\n                if ($(e.target).is('.lg-outer') || $(e.target).is('.lg-item ') || $(e.target).is('.lg-img-wrap') && mousedown) {\n                    if (!_this.$outer.hasClass('lg-dragging')) {\n                        _this.destroy();\n                    }\n                }\n\n            });\n\n        }\n\n    };\n\n    Plugin.prototype.destroy = function(d) {\n\n        var _this = this;\n\n        if (!d) {\n            _this.$el.trigger('onBeforeClose.lg');\n            $(window).scrollTop(_this.prevScrollTop);\n        }\n\n\n        /**\n         * if d is false or undefined destroy will only close the gallery\n         * plugins instance remains with the element\n         *\n         * if d is true destroy will completely remove the plugin\n         */\n\n        if (d) {\n            if (!_this.s.dynamic) {\n                // only when not using dynamic mode is $items a jquery collection\n                this.$items.off('click.lg click.lgcustom');\n            }\n\n            $.removeData(_this.el, 'lightGallery');\n        }\n\n        // Unbind all events added by lightGallery\n        this.$el.off('.lg.tm');\n\n        // destroy all lightGallery modules\n        $.each($.fn.lightGallery.modules, function(key) {\n            if (_this.modules[key]) {\n                _this.modules[key].destroy();\n            }\n        });\n\n        this.lGalleryOn = false;\n\n        clearTimeout(_this.hideBarTimeout);\n        this.hideBarTimeout = false;\n        $(window).off('.lg');\n        $('body').removeClass('lg-on lg-from-hash');\n\n        if (_this.$outer) {\n            _this.$outer.removeClass('lg-visible');\n        }\n\n        $('.lg-backdrop').removeClass('in');\n\n        setTimeout(function() {\n            if (_this.$outer) {\n                _this.$outer.remove();\n            }\n\n            $('.lg-backdrop').remove();\n\n            if (!d) {\n                _this.$el.trigger('onCloseAfter.lg');\n            }\n            _this.$el.focus();\n\n        }, _this.s.backdropDuration + 50);\n    };\n\n    $.fn.lightGallery = function(options) {\n        return this.each(function() {\n            if (!$.data(this, 'lightGallery')) {\n                $.data(this, 'lightGallery', new Plugin(this, options));\n            } else {\n                try {\n                    $(this).data('lightGallery').init();\n                } catch (err) {\n                    console.error('lightGallery has not initiated properly', err);\n                }\n            }\n        });\n    };\n\n    $.fn.lightGallery.modules = {};\n\n})();\n\n\n}));\n"],"sourceRoot":""}