function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}!function(e){(window.FooGallery=window.FooGallery||{}).$=e}(jQuery),function(e){e?function(){try{return window.FooGallery.utils}catch(e){}}()||(window.FooGallery.utils={$:e,version:"1.0.0"}):console.warn("jQuery must be included in the page prior to the FooGallery.utils library.")}(jQuery),function(t,i){"1.0.0"===i.version&&(i.is={},i.is.array=function(e){return"[object Array]"===Object.prototype.toString.call(e)},i.is.boolean=function(e){return"[object Boolean]"===Object.prototype.toString.call(e)},i.is.element=function(e){return"object"===("undefined"==typeof HTMLElement?"undefined":_typeof(HTMLElement))?e instanceof HTMLElement:!!e&&"object"===_typeof(e)&&1===e.nodeType&&"string"==typeof e.nodeName},i.is.empty=function(e){if(i.is.undef(e)||null===e)return!0;if(i.is.number(e)&&0===e)return!0;if(i.is.boolean(e)&&!1===e)return!0;if(i.is.string(e)&&0===e.length)return!0;if(i.is.array(e)&&0===e.length)return!0;if(i.is.jq(e)&&0===e.length)return!0;if(i.is.hash(e)){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}return!1},i.is.error=function(e){return"[object Error]"===Object.prototype.toString.call(e)},i.is.fn=function(e){return e===window.alert||"[object Function]"===Object.prototype.toString.call(e)},i.is.hash=function(e){return i.is.object(e)&&e.constructor===Object&&!e.nodeType&&!e.setInterval},i.is.jq=function(e){return!i.is.undef(t)&&e instanceof t},i.is.number=function(e){return"[object Number]"===Object.prototype.toString.call(e)&&!isNaN(e)},i.is.object=function(e){return"[object Object]"===Object.prototype.toString.call(e)&&!i.is.undef(e)&&null!==e},i.is.promise=function(e){return i.is.object(e)&&i.is.fn(e.then)&&i.is.fn(e.promise)},i.is.size=function(e){return!!(i.is.string(e)&&!i.is.empty(e)||i.is.number(e))&&/^(auto|none|(?:[\d.]*)+?(?:%|px|mm|q|cm|in|pt|pc|em|ex|ch|rem|vh|vw|vmin|vmax)?)$/.test(e)},i.is.string=function(e){return"[object String]"===Object.prototype.toString.call(e)},i.is.undef=function(e){return void 0===e})}(FooGallery.utils.$,FooGallery.utils),function(l,c,u){var a;"1.0.0"===c.version&&(c.fn={},a=Function.prototype.toString,c.fn.CONTAINS_SUPER=/xyz/.test(a.call(function(){xyz}))?/\b_super\b/:/.*/,c.fn.noop=function(){},c.fn.addOrOverride=function(e,t,i){var n,o,r,s;u.object(e)&&u.string(t)&&!u.empty(t)&&u.fn(i)&&(n=e[t],o=u.fn(n)&&c.fn.CONTAINS_SUPER.test(a.call(i)),e[t]=o?(r=n,s=i,function(){var e=this._super,t=(this._super=r,s.apply(this,arguments));return this._super=e,t}):i)},c.fn.expose=function(t,i,e,n){u.object(t)&&u.object(i)&&u.array(e)&&(n=u.undef(n)?t:n,e.forEach(function(e){u.string(e)&&u.fn(t[e])&&(i[e]=t[e].bind(n))}))},c.fn.apply=function(e,t){return t.unshift(e),new(Function.prototype.bind.apply(e,t))},c.fn.arg2arr=function(e){return Array.prototype.slice.call(e)},c.fn.debounce=function(i,n){var o;return function(){var e=this,t=c.fn.arg2arr(arguments);clearTimeout(o),o=setTimeout(function(){i.apply(e,t)},n)}},c.fn.throttle=function(i,n){var o,r;return function(){var e=this,t=c.fn.arg2arr(arguments);o?(clearTimeout(r),r=setTimeout(function(){Date.now()-o>=n&&(i.apply(e,t),o=Date.now())},n-(Date.now()-o))):(i.apply(e,t),o=Date.now())}},c.fn.resolved=l.Deferred().resolve().promise(),c.fn.rejected=l.Deferred().reject().promise(),c.fn.reject=function(e,t){var i=l.Deferred(),n=c.fn.arg2arr(arguments);return i.reject.apply(i,n).promise()},c.fn.resolve=function(e,t){var i=l.Deferred(),n=c.fn.arg2arr(arguments);return i.resolve.apply(i,n).promise()},c.fn.rejectWith=function(e,t,i){var n=l.Deferred(),o=c.fn.arg2arr(arguments);return o.shift(),n.rejectWith(e,o).promise()},c.fn.resolveWith=function(e,t,i){var n=l.Deferred(),o=c.fn.arg2arr(arguments);return o.shift(),n.resolveWith(e,o).promise()},c.fn.all=function(t){var i=l.Deferred(),n=[];if(u.array(t)&&0<t.length){function o(e,t){s||(n[e]=0===t.length?void 0:1===t.length?t[0]:t,--r||i.resolve(n))}for(var r=t.length,s=!1,a=0,e=t.length;a<e&&"break"!==function(){if(s)return"break";var e=a;u.promise(t[e])?t[e].then(function(){o(e,c.fn.arg2arr(arguments))},function(){s||(s=!0,i.reject.apply(i,c.fn.arg2arr(arguments)))}):o(e,[t[e]])}();a++);}else i.resolve(n);return i.promise()},c.fn.allSettled=function(t){var n=l.Deferred(),o=[];if(u.array(t)&&0<t.length){function i(e,t,i){o[e]={status:t},0<i.length&&(o[e]["rejected"===t?"reason":"value"]=1===i.length?i[0]:i),--r||n.resolve(o)}for(var r=t.length,s=0,e=t.length;s<e;s++)!function(){var e=s;u.promise(t[e])?t[e].then(function(){i(e,"fulfilled",c.fn.arg2arr(arguments))},function(){i(e,"rejected",c.fn.arg2arr(arguments))}):i(e,"fulfilled",[t[e]])}()}else n.resolve(o);return n.promise()})}(FooGallery.utils.$,FooGallery.utils,FooGallery.utils.is),function(e,r){var o;"1.0.0"===e.version&&(e.url={},o=document.createElement("a"),e.url.parts=function(e){o.href=e;var e=o.port||(-1!==["http:","https:"].indexOf(o.protocol)?"https:"===o.protocol?"443":"80":""),t=o.hostname+(e?":"+e:""),i=o.origin||o.protocol+"//"+t,n="/"===o.pathname.slice(0,1)?o.pathname:"/"+o.pathname;return{hash:o.hash,host:t,hostname:o.hostname,href:o.href,origin:i,pathname:n,port:e,protocol:o.protocol,search:o.search}},e.url.full=function(e){return!r.string(e)||r.empty(e)?null:(o.href=e,o.href)},e.url.param=function(e,t,i){var n,o;return r.string(e)&&r.string(t)&&!r.empty(t)?r.undef(i)?(o=((n=new RegExp("[?|&]"+t+"=([^&;]+?)(&|#|;|$)")).exec(e)||["",""])[1].replace(/\+/g,"%20"),r.string(o)&&!r.empty(o)?decodeURIComponent(o):null):(r.empty(i)?(n=new RegExp("^([^#]*?)(([^#]*)&)?"+t+"(=[^&#]*)?(&|#|$)"),o=e.replace(n,"$1$3$5").replace(/^([^#]*)((\?)&|\?(#|$))/,"$1$3$4")):(n=new RegExp("([?&])"+t+"[^&]*"),t=t+"="+encodeURIComponent(i),(o=e.replace(n,"$1"+t))!==e||n.test(o)||(o+=(-1!==o.indexOf("?")?"&":"?")+t)),o):e})}(FooGallery.utils,FooGallery.utils.is),function(a,l,c){"1.0.0"===a.version&&(a.str={},a.str.trim=function(e){return l.string(e)?e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""):null},a.str.camel=function(e){return l.string(e)?e.toUpperCase()===e?e.toLowerCase():e.replace(/^([A-Z])|[-\s_]+(\w)/g,function(e,t,i){return l.string(i)?i.toUpperCase():t.toLowerCase()}):e},a.str.kebab=function(e){return l.string(e)?e.match(/[A-Z]{2,}(?=[A-Z][a-z0-9]*|\b)|[A-Z]?[a-z0-9]*|[A-Z]|[0-9]+/g).filter(Boolean).map(function(e){return e.toLowerCase()}).join("-"):e},a.str.contains=function(e,t,i){return!(!l.string(e)||l.empty(e)||!l.string(t)||l.empty(t))&&(t.length<=e.length&&-1!==(i?e.toUpperCase().indexOf(t.toUpperCase()):e.indexOf(t)))},a.str.containsWord=function(e,t,i){if(!(!l.string(e)||l.empty(e)||!l.string(t)||l.empty(t)||e.length<t.length))for(var n=e.split(/\W/),o=0,r=n.length;o<r;o++)if(i?n[o].toUpperCase()===t.toUpperCase():n[o]===t)return!0;return!1},a.str.endsWith=function(e,t){return!(!l.string(e)||!l.string(t)||t.length>e.length)&&e.slice(e.length-t.length)===t},a.str.startsWith=function(e,t){return!l.empty(e)&&!l.empty(t)&&e.slice(0,t.length)===t},a.str.escapeRegExp=function(e){return l.string(e)?e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"):e},a.str.fnv1a=function(e){if(!l.string(e)||l.empty(e))return null;for(var t=2166136261,i=0,n=e.length;i<n;i++)t=(t^=e.charCodeAt(i))+((t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24));return t>>>0},a.str.from=function(e,t){return a.str.contains(e,t)?e.substring(e.indexOf(t)+t.length):null},a.str.join=function(e,t,i){if(!l.string(e)||!l.string(t))return null;var n=c.arg2arr(arguments);e=n.shift();for(var o=n.shift(),r=0,s=n.length;r<s;r++)t=n[r],l.empty(t)||(a.str.endsWith(o,e)&&(o=o.slice(0,o.length-e.length)),o+=e+(t=a.str.startsWith(t,e)?t.slice(e.length):t));return o},a.str.until=function(e,t){return a.str.contains(e,t)?e.substring(0,e.indexOf(t)):e},a.str.format=function(i,e,t){var n=c.arg2arr(arguments);return i=n.shift(),l.string(i)&&0<n.length&&(1===n.length&&(l.array(n[0])||l.object(n[0]))&&(n=n[0]),a.each(n,function(e,t){i=i.replace(new RegExp("\\{"+t+"\\}","gi"),e+"")})),i})}(FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn),function(a,l,o,r){"1.0.0"===a.version&&(a.obj={},a.obj.create=function(e){if(l.object(e))return t.prototype=e,new t;throw TypeError("Argument must be an object");function t(){}},a.obj.extend=function(t,e,i){t=l.object(t)?t:{};var n=o.arg2arr(arguments);return n.shift(),a.each(n,function(e){a.obj.merge(t,e)}),t},a.obj.merge=function(e,t){for(var i in e=l.hash(e)?e:{},t=l.hash(t)?t:{})t.hasOwnProperty(i)&&(l.hash(t[i])?(e[i]=l.hash(e[i])?e[i]:{},a.obj.merge(e[i],t[i])):l.array(t[i])?e[i]=t[i].slice():e[i]=t[i]);return e},a.obj.mergeValid=function(t,i,n,e){var o,r,s;if(l.hash(n)&&l.hash(i))for(o in i=l.hash(i)?i:{},e=l.hash(e)?e:{},i)i.hasOwnProperty(o)&&l.fn(i[o])&&(r=l.array(e[o])?e[o]:l.string(e[o])?[e[o]]:[o],a.each(r,function(e){return s=a.obj.prop(n,e),!l.undef(s)&&i[o](s)?(a.obj.prop(t,o,s),!1):void 0}));return t},a.obj.prop=function(i,e,n){var t,o;if(l.object(i)&&!l.empty(e))return l.undef(n)?(r.contains(e,".")?(t=e.split("."),o=t.length-1,a.each(t,function(e,t){if(t===o)n=i[e];else{if(!l.hash(i[e]))return!1;i=i[e]}})):l.undef(i[e])||(n=i[e]),n):void(r.contains(e,".")?(t=e.split("."),o=t.length-1,a.each(t,function(e,t){t===o?i[e]=n:i=l.hash(i[e])?i[e]:i[e]={}})):l.undef(i[e])||(i[e]=n))})}((FooGallery.utils.$,FooGallery.utils),FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.str),function(t,o,s){"1.0.0"===o.version&&(o.ready=function(e){function t(){try{e.call(window,o.$)}catch(e){console.error(e)}}(Function("/*@cc_on return true@*/")()?"complete"===document.readyState:"loading"!==document.readyState)?t():document.addEventListener("DOMContentLoaded",t,!1)},o.find=function(e,t,i){if(s.fn(t))if(i=s.undef(i)?t:i,s.array(e)){for(o=0,r=e.length;o<r;o++)if(t.call(i,e[o],o,e))return e[o]}else if(s.object(e))for(var n=Object.keys(e),o=0,r=n.length;o<r;o++)if(t.call(i,e[n[o]],n[o],e))return e[n[o]]},o.each=function(e,t,i){if(s.fn(t))if(i=s.undef(i)?t:i,s.array(e))for(o=0,r=e.length;o<r&&!1!==t.call(i,e[o],o,e);o++);else if(s.object(e))for(var n=Object.keys(e),o=0,r=n.length;o<r&&!1!==t.call(i,e[n[o]],n[o],e);o++);},o.inArray=function(e,t){return s.array(t)?t.indexOf(e):-1},o.selectify=function(e){if(s.empty(e))return null;if(s.hash(e)){var t,i,n={};for(i in e)e.hasOwnProperty(i)&&(t=o.selectify(e[i]))&&(n[i]=t);return n}return s.string(e)||s.array(e)?(e=s.string(e)?[e]:e).map(function(e){return s.string(e)?"."+e.split(/\s/g).join("."):null}).join(","):null},o.requestFrame=(window.requestAnimationFrame||window.webkitRequestAnimationFrame||function(e){return setTimeout(e,1e3/60)}).bind(window),o.cancelFrame=(window.cancelAnimationFrame||window.webkitCancelAnimationFrame||function(e){clearTimeout(e)}).bind(window),o.nextFrame=function(e,i){return t.Deferred(function(t){s.fn(e)?(i=s.undef(i)?e:i,o.requestFrame(function(){try{t.resolve(e.call(i))}catch(e){t.reject(e)}})):t.reject(new Error("Provided callback is not a function."))}).promise()})}(FooGallery.utils.$,FooGallery.utils,FooGallery.utils.is),function(o,r,s,a){"1.0.0"===o.version&&(o.Class=function(){},o.Class.extend=function(e){e=r.hash(e)?e:{};var t,i=s.create(this.prototype);for(t in e)e.hasOwnProperty(t)&&a.addOrOverride(i,t,e[t]);function n(){if(!r.fn(this.construct))throw new SyntaxError('FooGallery.utils.Class objects must be constructed with the "new" keyword.');this.construct.apply(this,arguments)}return i.construct=r.fn(i.construct)?i.construct:function(){},(n.prototype=i).constructor=r.fn(i.__ctor__)?i.__ctor__:n,n.extend=o.Class.extend,n.override=o.Class.override,n.getBaseClasses=o.Class.getBaseClasses,n.__baseClass__=this,n},o.Class.override=function(e,t){a.addOrOverride(this.prototype,e,t)},o.Class.__baseClass__=null,o.Class.getBaseClasses=function(){return function e(t,i){return r.array(i)||(i=[]),r.fn(t)&&null!==t.__baseClass__?(i.unshift(t.__baseClass__),e(t.__baseClass__,i)):i}(this,[])})}((FooGallery.utils.$,FooGallery.utils),FooGallery.utils.is,FooGallery.utils.obj,FooGallery.utils.fn),function(e,a,l,o){e.ClassRegistry=e.Class.extend({construct:function(e){this.opt=o.extend({allowBase:!0,beforeCreate:null},e),this.registered={}},register:function(e,t,i,n){var o;return!(!a.string(e)||a.empty(e)||!a.fn(t))&&(n=a.number(n)?n:0,o=this.registered[e],this.registered[e]={name:e,ctor:t,config:a.hash(i)?i:{},priority:a.undef(o)?n:o.priority},!0)},each:function(e,t,i){t=!!a.boolean(t)&&t,i=a.undef(i)?e:i;for(var n=this,o=Object.keys(n.registered).map(function(e){return n.registered[e]}),r=(t&&o.sort(function(e,t){return t.priority-e.priority}),0),s=o.length;r<s&&!1!==e.call(i,o[r],r);r++);},find:function(e,t,i){t=!!a.boolean(t)&&t,i=a.undef(i)?e:i;for(var n=this,o=Object.keys(n.registered).map(function(e){return n.registered[e]}),r=(t&&o.sort(function(e,t){return t.priority-e.priority}),0),s=o.length;r<s;r++)if(e.call(i,o[r],r))return o[r];return null},create:function(e,t,i){var n=this,o=l.arg2arr(arguments);if(e=o.shift(),a.string(e)&&n.registered.hasOwnProperty(e)){var r=n.registered[e],s=!0;if((s=r.priority<0&&!n.opt.allowBase?!1:s)&&a.fn(r.ctor))return t=o.shift(),t=n.mergeConfigurations(r.name,t),o.unshift.apply(o,[r.name,t]),l.apply(r.ctor,n.onBeforeCreate(r,o))}return null},onBeforeCreate:function(e,t){return null!==this.opt.beforeCreate&&a.fn(this.opt.beforeCreate)?this.opt.beforeCreate.call(this,e,t):t},mergeConfigurations:function(e,t){var i,n;return a.string(e)&&this.registered.hasOwnProperty(e)?(t=a.hash(t)?t:{},i=this.getBaseClasses(e),n=[{}],i.push(this.registered[e]),i.forEach(function(e){n.push(e.config)}),n.push(t),o.extend.apply(o,n)):{}},getBaseClass:function(){return this.find(function(e){return e.priority<0},!0)},getBaseClasses:function(e){var t=this,e=t.registered[e],i=[];return a.undef(e)||e.ctor.getBaseClasses().forEach(function(e){e=t.fromType(e);a.hash(e)&&i.push(e)}),i},fromType:function(t){if(a.fn(t))return this.find(function(e){return e.ctor===t})}})}((FooGallery.utils.$,FooGallery.utils),FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.obj),function(r,s,i){"1.0.0"===r.version&&(r.Event=r.Class.extend({construct:function(e){if(s.empty(e))throw new SyntaxError("FooGallery.utils.Event objects must be supplied a `type`.");e=r.Event.parse(e);this.type=e.type,this.namespace=e.namespace,this.defaultPrevented=!1,this.target=null},preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return this.defaultPrevented}}),r.Event.parse=function(e){e=s.string(e)&&!s.empty(e)?e:null;var t=i.contains(e,".");return{namespaced:t,type:t?i.startsWith(e,".")?null:i.until(e,"."):e,namespace:t?i.from(e,"."):null}},r.EventClass=r.Class.extend({construct:function(){this.events={}},destroy:function(){this.events={}},on:function(i,t,n){var o=this;return s.object(i)?(n=t,Object.keys(i).forEach(function(t){s.fn(i[t])&&t.split(" ").forEach(function(e){o.addListener(e,i[t],n)})})):s.string(i)&&s.fn(t)&&i.split(" ").forEach(function(e){o.addListener(e,t,n)}),o},addListener:function(e,t,i){var n,o;return!(!s.string(e)||/\s/.test(e)||!s.fn(t))&&(n=this,o=r.Event.parse(e),i=s.undef(i)?n:i,s.array(n.events[o.type])||(n.events[o.type]=[]),!n.events[o.type].some(function(e){return e.namespace===o.namespace&&e.fn===t&&e.thisArg===i})&&(n.events[o.type].push({namespace:o.namespace,fn:t,thisArg:i}),!0))},off:function(i,t,n){var o=this;return s.object(i)?(n=t,Object.keys(i).forEach(function(t){t.split(" ").forEach(function(e){o.removeListener(e,i[t],n)})})):s.string(i)&&i.split(" ").forEach(function(e){o.removeListener(e,t,n)}),o},removeListener:function(e,t,i){var n,o;return!(!s.string(e)||/\s/.test(e))&&(n=this,o=r.Event.parse(e),e=[],i=s.undef(i)?n:i,s.empty(o.type)?s.empty(o.namespace)||e.push.apply(e,Object.keys(n.events)):e.push(o.type),e.forEach(function(e){s.array(n.events[e])&&(n.events[e]=n.events[e].filter(function(e){return null!=t?!(e.namespace===o.namespace&&e.fn===t&&e.thisArg===i):null!=o.namespace&&e.namespace!==o.namespace}),0===n.events[e].length&&delete n.events[e])}),!0)},trigger:function(e,t){t=s.array(t)?t:[];var i=this,n=[];return e instanceof r.Event?(n.push(e),i.emit(e,t)):s.string(e)&&e.split(" ").forEach(function(e){e=new r.Event(e);n.push(e),i.emit(e,t)}),s.empty(n)?null:1===n.length?n[0]:n},emit:function(t,i){var e;t instanceof FooGallery.utils.Event&&(e=this,i=s.array(i)?i:[],null===t.target&&(t.target=e),s.array(e.events[t.type])&&e.events[t.type].forEach(function(e){null!=t.namespace&&e.namespace!==t.namespace||e.fn.apply(e.thisArg,[t].concat(i))}),s.array(e.events.__all__)&&e.events.__all__.forEach(function(e){e.fn.apply(e.thisArg,[t].concat(i))}))}}))}(FooGallery.utils,FooGallery.utils.is,FooGallery.utils.str),function(e,n,t){"1.0.0"===e.version&&(e.Timer=e.EventClass.extend({construct:function(e){var t=this;t._super(),t.interval=n.number(e)?e:1e3,t.isRunning=!1,t.isPaused=!1,t.canResume=!1,t.canRestart=!1,t.__timeout=null,t.__decrement=!1,t.__time=0,t.__remaining=0,t.__current=0,t.__finish=0,t.__restart=[]},__reset:function(){var e=this;clearTimeout(e.__timeout),e.__timeout=null,e.__decrement=!1,e.__time=0,e.__remaining=0,e.__current=0,e.__finish=0,e.isRunning=!1,e.isPaused=!1,e.canResume=!1},__eventArgs:function(e){return[this.__current,this.__time,this.__decrement].concat(t.arg2arr(arguments))},__tick:function(){var e=this;e.trigger("tick",e.__eventArgs()),e.__current===e.__finish?(e.trigger("complete",e.__eventArgs()),e.__reset()):(e.__decrement?e.__current--:e.__current++,e.__remaining--,e.canResume=0<e.__remaining,e.__timeout=setTimeout(function(){e.__tick()},e.interval))},start:function(e,t){var i=this;i.isRunning||(t=!!n.boolean(t)&&t,i.__restart=[e,t],i.__decrement=t,i.__time=e,i.__remaining=e,i.__current=t?e:0,i.__finish=t?0:e,i.canRestart=!0,i.isRunning=!0,i.isPaused=!1,i.trigger("start",i.__eventArgs()),i.__tick())},countdown:function(e){this.start(e,!0)},countup:function(e){this.start(e,!1)},restart:function(){var e=this;e.stop(),e.canRestart&&e.start.apply(e,e.__restart)},stop:function(){var e=this;(e.isRunning||e.isPaused)&&(e.__reset(),e.trigger("stop",e.__eventArgs()))},pause:function(){var e=this;return null!=e.__timeout&&(clearTimeout(e.__timeout),e.__timeout=null),e.isRunning&&(e.isRunning=!1,e.isPaused=!0,e.trigger("pause",e.__eventArgs())),e.__remaining},resume:function(){var e=this;e.canResume&&(e.isRunning=!0,e.isPaused=!1,e.trigger("resume",e.__eventArgs()),e.__tick())},reset:function(){this.__reset(),this.trigger("reset",this.__eventArgs())}}))}((FooGallery.utils.$,FooGallery.utils),FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.obj),function(r,e,t){"1.0.0"===e.version&&(e.FullscreenAPI=e.EventClass.extend({construct:function(){this._super(),this.apis={w3:{enabled:"fullscreenEnabled",element:"fullscreenElement",request:"requestFullscreen",exit:"exitFullscreen",events:{change:"fullscreenchange",error:"fullscreenerror"}},webkit:{enabled:"webkitFullscreenEnabled",element:"webkitCurrentFullScreenElement",request:"webkitRequestFullscreen",exit:"webkitExitFullscreen",events:{change:"webkitfullscreenchange",error:"webkitfullscreenerror"}},moz:{enabled:"mozFullScreenEnabled",element:"mozFullScreenElement",request:"mozRequestFullScreen",exit:"mozCancelFullScreen",events:{change:"mozfullscreenchange",error:"mozfullscreenerror"}},ms:{enabled:"msFullscreenEnabled",element:"msFullscreenElement",request:"msRequestFullscreen",exit:"msExitFullscreen",events:{change:"MSFullscreenChange",error:"MSFullscreenError"}}},this.api=this.getAPI(),this.supported=null!=this.api,this.__listen()},destroy:function(){return this.__stopListening(),this._super()},getAPI:function(){for(var e in this.apis)if(this.apis.hasOwnProperty(e)&&this.apis[e].enabled in document)return this.apis[e];return null},element:function(){return this.supported?document[this.api.element]:null},request:function(e){return this.supported&&e[this.api.request]?e[this.api.request]()||r.Deferred(this.__resolver(this.api.request)).promise():t.rejected},exit:function(){return this.supported&&this.element()?document[this.api.exit]()||r.Deferred(this.__resolver(this.api.exit)).promise():t.rejected},toggle:function(e){return this.element()?this.exit():this.request(e)},__listen:function(){var e=this;e.supported&&r(document).on(e.api.events.change+".utils",function(){e.trigger("change")}).on(e.api.events.error+".utils",function(){e.trigger("error")})},__stopListening:function(){this.supported&&r(document).off(this.api.events.change+".utils").off(this.api.events.error+".utils")},__resolver:function(n){var o=this;return function(e){function t(){e.resolve(),r(document).off(o.api.events.change,t).off(o.api.events.error,i)}function i(){e.reject(new TypeError),r(document).off(o.api.events.change,t).off(o.api.events.error,i)}n===o.api.exit&&o.element()?setTimeout(function(){e.reject(new TypeError)},1):r(document).on(o.api.events.change,t).on(o.api.events.error,i)}}}))}(FooGallery.utils.$,FooGallery.utils,FooGallery.utils.fn),function(l,c,u,a){"1.0.0"===c.version&&(c.transition={},c.transition.dataName="__foo-transition__",c.transition.disableClassName=null,c.transition.timeout=3e3,c.transition.disable=function(e,t){var i,n,o,e=u.jq(e)?e:l(e);0<e.length&&u.fn(t)&&(i=e.get(0),o=null,(n=u.string(c.transition.disableClassName))?e.addClass(c.transition.disableClassName):(o={value:i.style.getPropertyValue("transition"),priority:i.style.getPropertyPriority("transition")},i.style.setProperty("transition","none","important")),t.call(t,e),e.prop("offsetWidth"),n?e.removeClass(c.transition.disableClassName):(i.style.removeProperty("transition"),u.string(o.value)&&0<o.value.length&&i.style.setProperty("transition",o.value,o.priority)))},c.transition.stop=function(e){var t=l.Deferred(),i=u.jq(e)?e:l(e);return 0<i.length?(e=i.data(c.transition.dataName),u.promise(e)?e.always(function(){c.requestFrame(function(){t.resolve(i)})}).reject(new Error("Transition cancelled.")):t.resolve(i)):t.reject(new Error("Unable to stop transition. Make sure the element exists.")),t.promise()},c.transition.createListener=function(e,t,i){var n=e,o=t,r=i,s=u.string(i);return function(e){var t=e.originalEvent instanceof TransitionEvent?e.originalEvent:e,i=!1;(i=t.target===n?!s||t.propertyName===r:i)&&o.apply(o,a.arg2arr(arguments))}},c.transition.start=function(e,i,n,o){var r,s=l.Deferred(),a=u.jq(e)?e:l(e);return 0<a.length&&u.fn(i)?(r=a.get(0),c.transition.stop(a).always(function(){var t=c.transition.createListener(r,function(){s.resolve(a)},n);a.data(c.transition.dataName,s).on("transitionend.foo-utils",t).prop("offsetWidth"),c.requestFrame(function(){var e=setTimeout(function(){s.reject(new Error("Transition safety timeout triggered."))},u.number(o)?o:c.transition.timeout);s.always(function(){clearTimeout(e),a.removeData(c.transition.dataName).off("transitionend.foo-utils",t)}),i.call(i,a)})})):s.reject(new Error("Unable to perform transition. Make sure the element exists and a trigger function is supplied.")),s.promise()},c.transition.modify=function(e,t,i,n){e=u.jq(e)?e:l(e);return 0<e.length&&u.fn(t)?i?(c.transition.disable(e,t),a.resolve()):c.transition.start(e,t,n):a.reject(new Error("Unable to perform modification. Make sure the element exists and a modify function is supplied."))})}(FooGallery.utils.$,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn),function(r,s,t,a,n,e){s.DATA_TEMPLATE="__FooGallery__",s.DATA_ITEM="__FooGalleryItem__",s.get=function(e){return r(e).data(s.DATA_TEMPLATE)},s.init=function(t,i){if(0<(i=a.jq(i)?i:r(i)).length){var e=i.data(s.DATA_TEMPLATE);if(e instanceof s.Template)return e.destroy(!0).then(function(){var e=s.template.make(t,i);return e instanceof s.Template?e.initialize():n.rejected})}e=s.template.make(t,i);return e instanceof s.Template?e.initialize():n.rejected},r.fn.foogallery=function(n,o){return o=a.fn(o)?o:r.noop,this.each(function(e,t){if(a.string(n)){var i=r.data(t,s.DATA_TEMPLATE);if(i instanceof s.Template)switch(n){case"layout":return void i.layout();case"destroy":return void i.destroy()}}else s.init(n,t).then(o)})};var i=globalThis?.FooGallery_mobileSize??"782px",o=(s.isMobile=!(!globalThis.matchMedia||!globalThis.matchMedia(`(max-width: ${i})`).matches),s.isCached=function(e){var t=new Image,e=(t.src=e,t.complete);return t.src="",t=null,e},s.supportedExifProperties=["camera","aperture","created_timestamp","shutter_speed","focal_length","iso","orientation"],a.exif=function(t){var e;return!!a.object(t)&&(0<(e=Object.keys(t)).length&&e.some(function(e){return-1!==s.supportedExifProperties.indexOf(e)&&!a.empty(t[e])}))},e.trimTo=function(e,t,i){return a.string(e)&&a.number(t)&&0<t&&e.length>t?e.substr(0,t)+(a.string(i)?i:"&hellip;"):e},t.getResizeObserverSize=function(e){var t,e=e.contentBoxSize?(e.contentBoxSize[0]?(t=e.contentBoxSize[0].inlineSize,e.contentBoxSize[0]):(t=e.contentBoxSize.inlineSize,e.contentBoxSize)).blockSize:(t=e.contentRect.width,e.contentRect.height);return{width:t,height:e}},s.supportsWebP=!1,new Image);o.onload=function(){s.supportsWebP=0<o.width&&0<o.height},o.onerror=function(){s.supportsWebP=!1},o.src="data:image/webp;base64,UklGRhoAAABXRUJQVlA4TA0AAAAvAAAAEAcQERGIiP4HAA==",s.supportsPicture=!!window.HTMLPictureElement,t.DOMEventListeners=t.Class.extend({construct:function(){this.eventTargets=new Map},add:function(e,t,i,n){e.addEventListener(t,i,n);let o=this.eventTargets.get(e);return o||(o=new Map,this.eventTargets.set(e,o)),!o.get(t)&&(o.set(t,{listener:i,options:n}),!0)},remove:function(e,t){let i=this.eventTargets.get(e);var n;!i||(n=i.get(t))&&(e.removeEventListener(t,n.listener,n.options),i.delete(t),0===i.size&&this.eventTargets.delete(e))},clear:function(){this.eventTargets.forEach(function(e,i){e.forEach(function(e,t){i.removeEventListener(t,e.listener,e.options)})}),this.eventTargets.clear()}}),t.Timeouts=t.Class.extend({construct:function(){this.instances=new Map},has:function(e){return this.instances.has(e)},get:function(e){return this.instances.get(e)},set:function(e,t,i){const n=this;n.delete(e);i={id:setTimeout(function(){n.instances.delete(e),t.call(n)},i),delay:i,fn:t};return this.instances.set(e,i),n},delete:function(e){var t;return!!this.instances.has(e)&&(t=this.instances.get(e),clearTimeout(t.id),this.instances.delete(e))},clear:function(){this.instances.forEach(function(e){clearTimeout(e.id)}),this.instances.clear()}}),s.isCrossOrigin=function(e){e=t.url.parts(e);return null!==e&&e.origin!==window.location.origin},s.generateGUID=()=>window.crypto&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)});const l=new DOMParser;s.decodeHTMLEntities=t=>{let e="";try{e=l.parseFromString(t,"text/html").documentElement.textContent}catch(e){console.error(`Error decoding HTMLEntities in string "${t}".`,e)}return e},s.downloadImage=function(e,i="image"){return fetch(e).then(function(e){if(e.ok)return e.blob();throw new Error(`Failed to fetch image: ${e.status} `+e.statusText)}).then(function(e){e=window.URL.createObjectURL(e);try{const t=document.createElement("a");t.href=e,t.download=i,document.body.appendChild(t),t.click(),t.remove()}finally{window.URL.revokeObjectURL(e)}})}}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.str),function(e){const n=new globalThis.Set(["accesskey","autocapitalize","autofocus","class","contenteditable","data-","dir","draggable","enterkeyhint","exportparts","hidden","id","inert","inputmode","is","itemid","itemprop","itemref","itemscope","itemtype","lang","nonce","part","popover","role","slot","spellcheck","style","tabindex","title","translate"]),o=new globalThis.Map([["html",["xmlns"]],["base",["href","target"]],["head",[]],["link",["as","crossorigin","disabled","fetchpriority","href","hreflang","imagesizes","imagesrcset","integrity","media","referrerpolicy","rel","sizes","type"]],["meta",["charset","content","http-equiv","name"]],["style",["media"]],["title",[]],["body",["onafterprint","onbeforeprint","onbeforeunload","onblur","onerror","onfocus","onhashchange","onlanguagechange","onload","onmessage","onoffline","ononline","onpopstate","onresize","onstorage","onunload"]],["address",[]],["article",[]],["aside",[]],["footer",[]],["header",[]],["h1",[]],["h2",[]],["h3",[]],["h4",[]],["h5",[]],["h6",[]],["hgroup",[]],["main",[]],["nav",[]],["section",[]],["search",[]],["blockquote",["cite"]],["dd",[]],["div",[]],["dl",[]],["dt",[]],["figcaption",[]],["figure",[]],["hr",[]],["li",["value"]],["menu",[]],["ol",["reversed","start","type"]],["p",[]],["pre",[]],["ul",[]],["a",["download","href","hreflang","ping","referrerpolicy","rel","target","type"]],["abbr",[]],["b",[]],["bdi",[]],["bdo",[]],["br",[]],["cite",[]],["code",[]],["data",["value"]],["dfn",[]],["em",[]],["i",[]],["kbd",[]],["mark",[]],["q",["cite"]],["rp",[]],["rt",[]],["ruby",[]],["s",[]],["samp",[]],["small",[]],["span",[]],["strong",[]],["sub",[]],["sup",[]],["time",["datetime"]],["u",[]],["var",[]],["wbr",[]],["area",["alt","coords","download","href","ping","referrerpolicy","rel","shape","target"]],["audio",["autoplay","controls","controlslist","crossorigin","disableremoteplayback","loop","muted","preload","src"]],["img",["alt","crossorigin","decoding","elementtiming","fetchpriority","height","ismap","loading","referrerpolicy","sizes","src","srcset","usemap","width"]],["map",["name"]],["track",["default","kind","label","src","srclang"]],["video",["autoplay","controls","controlslist","crossorigin","disablepictureinpicture","disableremoteplayback","height","loop","muted","playsinline","poster","preload","src","width"]],["embed",["height","src","type","width"]],["iframe",["allow","allowfullscreen","height","loading","name","referrerpolicy","sandbox","src","srcdoc","width"]],["object",["data","form","height","name","type","width"]],["picture",[]],["portal",["referrerpolicy","src"]],["source",["height","media","sizes","src","srcset","type","width"]],["svg",["height","preserveaspectratio","viewbox","width","x","y"]],["canvas",["height","width"]],["noscript",[]],["script",["async","crossorigin","defer","fetchpriority","integrity","nomodule","referrerpolicy","src","type"]],["del",["cite","datetime"]],["ins",["cite","datetime"]],["caption",[]],["col",["span"]],["colgroup",["span"]],["table",[]],["tbody",[]],["td",["colspan","headers","rowspan"]],["tfoot",[]],["th",["abbr","colspan","headers","rowspan","scope"]],["thead",[]],["tr",[]],["button",["disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","popovertarget","popovertargetaction","type","value"]],["datalist",[]],["fieldset",["disabled","form","name"]],["form",["accept-charset","autocomplete","name","rel"]],["input",[]],["label",["for"]],["legend",[]],["meter",["form","high","low","max","min","optimum","value"]],["optgroup",["disabled","label"]],["option",["disabled","label","selected","value"]],["output",["for","form","name"]],["progress",["max","value"]],["select",["autocomplete","disabled","form","multiple","name","required","size"]],["textarea",["autocomplete","cols","dirname","disabled","form","maxlength","minlength","name","placeholder","readonly","required","rows","wrap"]],["details",["name","open"]],["dialog",["open"]],["summary",[]],["slot",["name"]],["template",["shadowrootclonable","shadowrootdelegatesfocus","shadowrootmode"]]]),r=new globalThis.Set(["code","codebase","src","href","formaction","ping","cite","action","background","poster","profile","manifest","data"]),s=(["script","embed","object"].forEach(e=>o.delete(e)),e=>(e instanceof globalThis.Node?e.nodeName:"string"==typeof e?e:"").toLowerCase()),a=/^(?!javascript|vbscript|livescript|mocha)(?:[a-z0-9+.-]+:[^<>]*$|[^&:\/?#]*(?:[\/?#]|$))/i,t=/@import|expression|behaviou?r|binding|(?:javascript|vbscript|livescript|mocha):|[\x00-\x08\x0E-\x1F\x7F-\uFFFF]|\/\*.*?\*\/|<--.*?-->/i,l=e=>!t.test(e.replace(/\s+/g," ")),i=/^[a-z](?:[\x2D.0-9_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*$/,c=/^[a-z](?:[.0-9_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*-(?:[\x2D.0-9_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*$/,u=e=>c.test(s(e)),d=e=>u(e?.ownerElement)&&(e=>i.test(s(e)))(e),h=e=>{const t=s(e);var i;return!t.startsWith("on")&&(!(!t.startsWith("aria-")&&!t.startsWith("data-"))||(n.has(t)||(e=>{if(e instanceof globalThis.Attr){var t=s(e.ownerElement);if(o.has(t))return o.get(t).includes(e.name)}return!1})(e)?r.has(t)?(i=e.value,a.test(i)):"style"!==t||l(e.value):d(e)))},p=e=>{if(e instanceof globalThis.Element){var t=s(e);if(o.has(t)||u(e)){for(const i of e.attributes)if(!h(i))return!1;return"style"===t?l(e.textContent):!0}}return!1},f=(e,t=!1)=>{const i=[];for(const o of e){var n=((e,t=!1)=>{if(e instanceof globalThis.Element){if(p(e)){const i=e.cloneNode(!1);return t&&e.hasChildNodes()&&i.append(...f(e.childNodes,t)),i}throw new TypeError("UNSAFE_NODE")}return e instanceof globalThis.Text?e.cloneNode():null})(o,t);n instanceof globalThis.Node&&i.push(n)}return i};let g;e.safeParse=e=>{if("string"==typeof e)try{const t=(g instanceof globalThis.DOMParser?g:g=new globalThis.DOMParser).parseFromString(e,"text/html");if(t.body.hasChildNodes())return f(t.body.childNodes,!0).map(e=>1===e.nodeType?e.outerHTML:3===e.nodeType?e.nodeValue:"").join("")}catch(e){"UNSAFE_NODE"!==e.message&&console.error("FooGallery.safeParse: Unexpected Error",e)}return""}}(window.FooGallery),function(r,e,t,a,l){e.Icons=t.Class.extend({construct:function(){this.className="fg-icon",this.registered={default:{close:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M13.957 3.457l-1.414-1.414-4.543 4.543-4.543-4.543-1.414 1.414 4.543 4.543-4.543 4.543 1.414 1.414 4.543-4.543 4.543 4.543 1.414-1.414-4.543-4.543z"></path></svg>',"arrow-left":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M10.5 16l1.5-1.5-6.5-6.5 6.5-6.5-1.5-1.5-8 8 8 8z"></path></svg>',"arrow-right":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M5.5 0l-1.5 1.5 6.5 6.5-6.5 6.5 1.5 1.5 8-8-8-8z"></path></svg>',"arrow-down":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M3.5 6l4.5 4.5 4.5-4.5h-9z"></path></svg>',maximize:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M2 2v4h-2v-5c0-0.552 0.448-1 1-1h14c0.552 0 1 0.448 1 1v14c0 0.552-0.448 1-1 1h-14c-0.552 0-1-0.448-1-1v-9h9c0.552 0 1 0.448 1 1v7h4v-12h-12z"/></svg>',expand:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M2 5h-2v-4c0-0.552 0.448-1 1-1h4v2h-3v3z"></path><path d="M16 5h-2v-3h-3v-2h4c0.552 0 1 0.448 1 1v4z"></path><path d="M15 16h-4v-2h3v-3h2v4c0 0.552-0.448 1-1 1z"></path><path d="M5 16h-4c-0.552 0-1-0.448-1-1v-4h2v3h3v2z"></path></svg>',shrink:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M3 0h2v4c0 0.552-0.448 1-1 1h-4v-2h3v-3z"></path><path d="M11 0h2v3h3v2h-4c-0.552 0-1-0.448-1-1v-4z"></path><path d="M12 11h4v2h-3v3h-2v-4c0-0.552 0.448-1 1-1z"></path><path d="M0 11h4c0.552 0 1 0.448 1 1v4h-2v-3h-3v-2z"></path></svg>',info:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M7 4.75c0-0.412 0.338-0.75 0.75-0.75h0.5c0.412 0 0.75 0.338 0.75 0.75v0.5c0 0.412-0.338 0.75-0.75 0.75h-0.5c-0.412 0-0.75-0.338-0.75-0.75v-0.5z"></path><path d="M10 12h-4v-1h1v-3h-1v-1h3v4h1z"></path><path d="M8 0c-4.418 0-8 3.582-8 8s3.582 8 8 8 8-3.582 8-8-3.582-8-8-8zM8 14.5c-3.59 0-6.5-2.91-6.5-6.5s2.91-6.5 6.5-6.5 6.5 2.91 6.5 6.5-2.91 6.5-6.5 6.5z"></path></svg>',comment:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M3 4h10v1h-10zM3 6h8v1h-8zM3 8h4v1h-4zM14.5 1h-13c-0.825 0-1.5 0.675-1.5 1.5v8c0 0.825 0.675 1.5 1.5 1.5h2.5v4l4.8-4h5.7c0.825 0 1.5-0.675 1.5-1.5v-8c0-0.825-0.675-1.5-1.5-1.5zM14 10h-5.924l-3.076 2.73v-2.73h-3v-7h12v7z"></path></svg>',thumbs:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M3 3v10h-2v-11c0-0.552 0.448-1 1-1h12c0.552 0 1 0.448 1 1v12c0 0.552-0.448 1-1 1h-12c-0.552 0-1-0.448-1-1v-1h4v-2h-2v-2h2v-2h-2v-2h2v-2h2v10h6v-10h-10z"></path></svg>',cart:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M13.238 9c0.55 0 1.124-0.433 1.275-0.962l1.451-5.077c0.151-0.529-0.175-0.962-0.725-0.962h-10.238c0-1.105-0.895-2-2-2h-3v2h3v8.5c0 0.828 0.672 1.5 1.5 1.5h9.5c0.552 0 1-0.448 1-1s-0.448-1-1-1h-9v-1h8.238zM5 4h9.044l-0.857 3h-8.187v-3z"></path><path d="M6 14.5c0 0.828-0.672 1.5-1.5 1.5s-1.5-0.672-1.5-1.5c0-0.828 0.672-1.5 1.5-1.5s1.5 0.672 1.5 1.5z"></path><path d="M15 14.5c0 0.828-0.672 1.5-1.5 1.5s-1.5-0.672-1.5-1.5c0-0.828 0.672-1.5 1.5-1.5s1.5 0.672 1.5 1.5z"></path></svg>',download:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M2.5 7l5.5 5.5 5.5-5.5h-3.5v-6h-4v6z"></path><path d="M14 8v6h-12v-6h-2v6.5c0 0.825 0.675 1.5 1.5 1.5h13c0.825 0 1.5-0.675 1.5-1.5v-6.5h-2z"></path></svg>',"circle-close":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M8 0c-4.418 0-8 3.582-8 8s3.582 8 8 8 8-3.582 8-8-3.582-8-8-8zM8 14.5c-3.59 0-6.5-2.91-6.5-6.5s2.91-6.5 6.5-6.5 6.5 2.91 6.5 6.5-2.91 6.5-6.5 6.5z"></path><path d="M10.5 4l-2.5 2.5-2.5-2.5-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 2.5-2.5 2.5 2.5 1.5-1.5-2.5-2.5 2.5-2.5z"></path></svg>',"circle-plus":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M8 0c-4.418 0-8 3.582-8 8s3.582 8 8 8 8-3.582 8-8-3.582-8-8-8zM8 14c-3.314 0-6-2.686-6-6s2.686-6 6-6c3.314 0 6 2.686 6 6s-2.686 6-6 6zM12 9h-3v3h-2v-3h-3v-2h3v-3h2v3h3z"></path></svg>',"circle-minus":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M8 0c-4.418 0-8 3.582-8 8s3.582 8 8 8 8-3.582 8-8-3.582-8-8-8zM8 14c-3.314 0-6-2.686-6-6s2.686-6 6-6c3.314 0 6 2.686 6 6s-2.686 6-6 6zM4 7h8v2h-8z"></path></svg>',heart:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M16 5.596c0 1.349-0.582 2.563-1.508 3.404h0.008l-5 5c-0.5 0.5-1 1-1.5 1s-1-0.5-1.5-1l-4.992-5c-0.926-0.841-1.508-2.054-1.508-3.404 0-2.538 2.058-4.596 4.596-4.596 1.349 0 2.563 0.582 3.404 1.508 0.841-0.926 2.054-1.508 3.404-1.508 2.538 0 4.596 2.058 4.596 4.596z"></path></svg>',"heart-outline":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M16 5.596c0-2.538-2.058-4.596-4.596-4.596-1.349 0-2.563 0.582-3.404 1.508-0.841-0.926-2.054-1.508-3.404-1.508-2.538 0-4.596 2.058-4.596 4.596 0 1.349 0.582 2.563 1.508 3.404h-0.008l5 5c0.5 0.5 1 1 1.5 1s1-0.5 1.5-1l4.992-5c0.926-0.841 1.508-2.054 1.508-3.404zM13.148 7.519l-5.062 5.067c-0.026 0.026-0.055 0.055-0.086 0.086-0.031-0.030-0.060-0.059-0.086-0.086l-5.062-5.066c-0.549-0.499-0.852-1.182-0.852-1.923 0-1.432 1.165-2.596 2.596-2.596 0.741 0 1.424 0.303 1.923 0.852l1.481 1.631 1.481-1.631c0.499-0.55 1.182-0.852 1.923-0.852 1.432 0 2.596 1.165 2.596 2.596 0 0.741-0.303 1.424-0.852 1.923z"></path></svg>',"auto-progress":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path class="[ICON_CLASS]-idle" d="M11.39 8c2.152-1.365 3.61-3.988 3.61-7 0-0.339-0.019-0.672-0.054-1h-13.891c-0.036 0.328-0.054 0.661-0.054 1 0 3.012 1.457 5.635 3.609 7-2.152 1.365-3.609 3.988-3.609 7 0 0.339 0.019 0.672 0.054 1h13.891c0.036-0.328 0.054-0.661 0.054-1 0-3.012-1.457-5.635-3.609-7zM2.5 15c0-2.921 1.253-5.397 3.5-6.214v-1.572c-2.247-0.817-3.5-3.294-3.5-6.214v0h11c0 2.921-1.253 5.397-3.5 6.214v1.572c2.247 0.817 3.5 3.294 3.5 6.214h-11zM9.462 10.462c-1.12-0.635-1.181-1.459-1.182-1.959v-1.004c0-0.5 0.059-1.327 1.184-1.963 0.602-0.349 1.122-0.88 1.516-1.537h-6.4c0.395 0.657 0.916 1.188 1.518 1.538 1.12 0.635 1.181 1.459 1.182 1.959v1.004c0 0.5-0.059 1.327-1.184 1.963-1.135 0.659-1.98 1.964-2.236 3.537h7.839c-0.256-1.574-1.102-2.879-2.238-3.538z"/><circle class="[ICON_CLASS]-circle" r="4" cx="8" cy="8"/><path class="[ICON_CLASS]-play" d="M3 2l10 6-10 6z"/><path class="[ICON_CLASS]-pause" d="M2 2h5v12h-5zM9 2h5v12h-5z"/></svg>',search:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M16 13.5l-4.695-4.695c0.444-0.837 0.695-1.792 0.695-2.805 0-3.314-2.686-6-6-6s-6 2.686-6 6 2.686 6 6 6c1.013 0 1.968-0.252 2.805-0.695l4.695 4.695 2.5-2.5zM2 6c0-2.209 1.791-4 4-4s4 1.791 4 4-1.791 4-4 4-4-1.791-4-4z"></path></svg>',spinner:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M8 16c-2.137 0-4.146-0.832-5.657-2.343s-2.343-3.52-2.343-5.657c0-1.513 0.425-2.986 1.228-4.261 0.781-1.239 1.885-2.24 3.193-2.895l0.672 1.341c-1.063 0.533-1.961 1.347-2.596 2.354-0.652 1.034-0.997 2.231-0.997 3.461 0 3.584 2.916 6.5 6.5 6.5s6.5-2.916 6.5-6.5c0-1.23-0.345-2.426-0.997-3.461-0.635-1.008-1.533-1.822-2.596-2.354l0.672-1.341c1.308 0.655 2.412 1.656 3.193 2.895 0.803 1.274 1.228 2.748 1.228 4.261 0 2.137-0.832 4.146-2.343 5.657s-3.52 2.343-5.657 2.343z"></path></svg>',"exif-aperture":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M 8,0 C 3.5876443,0 0,3.5876443 0,8 c 0,4.412356 3.5876443,8 8,8 4.412356,0 8,-3.587644 8,-8 C 16,3.5876443 12.412356,0 8,0 Z m 0,1 c 3.871916,0 7,3.1280844 7,7 0,3.871916 -3.128084,7 -7,7 C 4.1280844,15 1,11.871916 1,8 1,4.1280844 4.1280844,1 8,1 Z M 7.53125,2.0214844 A 6,6 0 0 0 3.1835938,4.4335938 H 8.9257812 Z M 8.6132812,2.03125 C 9.5587451,3.6702105 10.504247,5.3091484 11.451172,6.9472656 L 12.863281,4.5 A 6,6 0 0 0 8.6132812,2.03125 Z M 2.5957031,5.4101562 A 6,6 0 0 0 2,8 6,6 0 0 0 2.5273438,10.439453 L 5.4296875,5.4101562 Z m 10.8261719,0.033203 -2.855469,4.9433598 h 2.935547 A 6,6 0 0 0 14,8 6,6 0 0 0 13.421875,5.4433592 Z M 4.5722656,8.8945312 3.0996094,11.449219 a 6,6 0 0 0 4.40625,2.527343 z m 2.5820313,2.4707028 1.4960937,2.591797 a 6,6 0 0 0 4.3144534,-2.591797 z"></path></svg>',"exif-camera":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="m 8.0000002,5 a 4,4 0 0 0 -4,4 4,4 0 0 0 4,4 A 4,4 0 0 0 12,9 4,4 0 0 0 8.0000002,5 Z m 0.019531,1.015625 a 3,2.9814477 0 0 1 2.9804688,3 l -1,-0.00586 a 2,2 0 0 0 0,-0.00976 2,2 0 0 0 -1.9863279,-2 z M 5.125,1 C 4.5,1 4,1.5 4,2.125 V 3.0000004 L 1.125,3 C 0.5,2.9999999 0,3.5 0,4.125 v 9.75 C 0,14.5 0.5,15 1.125,15 h 13.75 C 15.5,15 16,14.5 16,13.875 V 4.125 C 16,3.5 15.5,3 14.875,3 H 12 V 2.125 C 12,1.5 11.5,1 10.875,1 Z M 5.25,2.0000004 h 5.5 c 0.125,0 0.25,0.1249996 0.25,0.25 v 1.75 h 3.75 c 0.125,0 0.25,0.1249996 0.25,0.25 V 13.75 C 15,13.875 14.875,14 14.75,14 H 1.25 C 1.125,14 1,13.875 1,13.75 V 4.25 C 1,4.125 1.125,4 1.25,4 l 3.75,4e-7 v -1.75 c 0,-0.1250004 0.125,-0.25 0.25,-0.25 z"></path></svg>',"exif-created-timestamp":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M 3,1 V 2 H 1 V 15 H 16 V 2 H 14 V 1 H 13 V 2 H 4 V 1 Z M 2,4 H 15 V 14 H 2 Z M 6,5 V 7 H 8 V 5 Z m 3,0 v 2 h 2 V 5 Z m 3,0 v 2 h 2 V 5 Z M 3,8 v 2 H 5 V 8 Z m 3,0 v 2 H 8 V 8 Z m 3,0 v 2 h 2 V 8 Z m 3,0 v 2 h 2 V 8 Z m -9,3 v 2 h 2 v -2 z m 3,0 v 2 h 2 v -2 z m 3,0 v 2 h 2 v -2 z"></path></svg>',"exif-shutter-speed":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M 8,0 C 3.5876443,0 -2.9415707e-8,3.5876443 0,8 c 2.3532563e-7,4.412356 3.5876445,8 8,8 4.412356,0 8,-3.587644 8,-8 C 16,3.5876443 12.412356,0 8,0 Z m 0,1 c 3.871916,0 7,3.1280844 7,7 0,3.871915 -3.128085,7 -7,7 -3.8719154,0 -6.9999998,-3.128085 -7,-7 -3e-8,-3.8719156 3.1280844,-7 7,-7 z M 11.646484,3.6464844 8.6445312,6.6484375 A 1.5,1.5 0 0 0 8,6.5 1.5,1.5 0 0 0 6.5,8 1.5,1.5 0 0 0 8,9.5 1.5,1.5 0 0 0 9.5,8 1.5,1.5 0 0 0 9.3515625,7.3554688 L 12.353516,4.3535156 Z M 2,7.5 v 1 h 2 v -1 z M 7.5,12 v 2 h 1 V 12 Z M 12,7.5 v 1 h 2 v -1 z M 7.5,2 v 2 h 1 V 2 Z"></path></svg>',"exif-focal-length":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="m 1,4.125 -1,0.25 v 7.25 l 1,0.25 z M 5,1 2,4 v 8 l 3,3 h 6.875 C 12.500003,15 13,14.5 13,13.875 V 2.125 C 13,1.4999986 12.5,1 11.875,1 9.576807,0.99914375 7.1414067,0.96597644 5,1 Z M 5.5,2 H 6 V 14 H 5.5 L 3,11.5 v -7 z M 7,2 h 4.75 C 11.875,2 12,2.1249997 12,2.25 v 11.5 c 0,0.125 -0.125,0.250622 -0.25,0.25 H 7 Z m 7,0 c 1,2.2 1.5,4.35 1.5,6 0,1.65 -0.5,3.8 -1.5,6"></path></svg>',"exif-iso":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M 7.5,0 V 1.6015625 C 6.0969201,1.7146076 4.8392502,2.256185 3.828125,3.1210938 L 2.6035156,1.8964844 1.8964844,2.6035156 3.1210938,3.828125 C 2.256185,4.8392502 1.7146076,6.0969201 1.6015625,7.5 H 0 v 1 h 1.6015625 c 0.1130451,1.4030799 0.6546225,2.66075 1.5195313,3.671875 l -1.2246094,1.224609 0.7070312,0.707032 1.2246094,-1.22461 C 4.8392502,13.743815 6.0969201,14.285392 7.5,14.398438 V 16 h 1 v -1.601562 c 1.4030799,-0.113046 2.66075,-0.654623 3.671875,-1.519532 l 1.224609,1.22461 0.707032,-0.707032 -1.22461,-1.224609 C 13.743815,11.16075 14.285392,9.9030799 14.398438,8.5 H 16 v -1 H 14.398438 C 14.285392,6.0969201 13.743815,4.8392502 12.878906,3.828125 L 14.103516,2.6035156 13.396484,1.8964844 12.171875,3.1210938 C 11.16075,2.256185 9.9030799,1.7146076 8.5,1.6015625 V 0 Z M 8,2.5 c 3.043488,0 5.5,2.4565116 5.5,5.5 0,3.043488 -2.456512,5.5 -5.5,5.5 C 4.9565116,13.5 2.5,11.043488 2.5,8 2.5,4.9565116 4.9565116,2.5 8,2.5 Z"></path></svg>',"exif-orientation":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M 1.25,0 C 0.625,0 0,0.625 0,1.25 V 5 H 1 V 3 h 8 v 2 h 1 V 1.25 C 10,0.625 9.375,0 8.75,0 Z m 0,1 h 7.5 C 8.875,1 9,1.125 9,1.25 V 2 H 1 V 1.25 C 1,1.125 1.125,1 1.25,1 Z m 0,5 C 0.625,6 0,6.625 0,7.25 v 7.5 C 0,15.375 0.625,16 1.25,16 h 13.5 C 15.375,16 16,15.375 16,14.75 V 7.25 C 16,6.625 15.375,6 14.75,6 Z m 0,1 H 2 v 3 H 1 V 7.25 C 1,7.125 1.125,7 1.25,7 Z M 3,7 h 10 v 8 H 3 Z m 11,0 h 0.75 C 14.875,7 15,7.125 15,7.25 v 7.5 C 15,14.875 14.875,15 14.75,15 H 14 Z M 1,12 h 1 v 3 H 1.25 C 1.125,15 1,14.875 1,14.75 Z"></path></svg>',"social-share":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M13.5 11c-0.706 0-1.342 0.293-1.797 0.763l-6.734-3.367c0.021-0.129 0.032-0.261 0.032-0.396s-0.011-0.267-0.032-0.396l6.734-3.367c0.455 0.47 1.091 0.763 1.797 0.763 1.381 0 2.5-1.119 2.5-2.5s-1.119-2.5-2.5-2.5-2.5 1.119-2.5 2.5c0 0.135 0.011 0.267 0.031 0.396l-6.734 3.367c-0.455-0.47-1.091-0.763-1.797-0.763-1.381 0-2.5 1.119-2.5 2.5s1.119 2.5 2.5 2.5c0.706 0 1.343-0.293 1.797-0.763l6.734 3.367c-0.021 0.129-0.031 0.261-0.031 0.396 0 1.381 1.119 2.5 2.5 2.5s2.5-1.119 2.5-2.5c0-1.381-1.119-2.5-2.5-2.5z"></path></svg>',"social-facebook":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M9.5 3h2.5v-3h-2.5c-1.93 0-3.5 1.57-3.5 3.5v1.5h-2v3h2v8h3v-8h2.5l0.5-3h-3v-1.5c0-0.271 0.229-0.5 0.5-0.5z"></path></svg>',"social-linkedin":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M6 6h2.767v1.418h0.040c0.385-0.691 1.327-1.418 2.732-1.418 2.921 0 3.461 1.818 3.461 4.183v4.817h-2.885v-4.27c0-1.018-0.021-2.329-1.5-2.329-1.502 0-1.732 1.109-1.732 2.255v4.344h-2.883v-9z"></path><path d="M1 6h3v9h-3v-9z"></path><path d="M4 3.5c0 0.828-0.672 1.5-1.5 1.5s-1.5-0.672-1.5-1.5c0-0.828 0.672-1.5 1.5-1.5s1.5 0.672 1.5 1.5z"></path></svg>',"social-pinterest":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M8 1.069c-3.828 0-6.931 3.103-6.931 6.931 0 2.938 1.828 5.444 4.406 6.453-0.059-0.547-0.116-1.391 0.025-1.988 0.125-0.541 0.813-3.444 0.813-3.444s-0.206-0.416-0.206-1.028c0-0.963 0.559-1.684 1.253-1.684 0.591 0 0.878 0.444 0.878 0.975 0 0.594-0.378 1.484-0.575 2.306-0.166 0.691 0.344 1.253 1.025 1.253 1.231 0 2.178-1.3 2.178-3.175 0-1.659-1.194-2.819-2.894-2.819-1.972 0-3.128 1.478-3.128 3.009 0 0.597 0.228 1.234 0.516 1.581 0.056 0.069 0.066 0.128 0.047 0.2-0.053 0.219-0.169 0.691-0.194 0.787-0.031 0.128-0.1 0.153-0.231 0.094-0.866-0.403-1.406-1.669-1.406-2.684 0-2.188 1.587-4.194 4.578-4.194 2.403 0 4.272 1.712 4.272 4.003 0 2.388-1.506 4.313-3.597 4.313-0.703 0-1.362-0.366-1.588-0.797 0 0-0.347 1.322-0.431 1.647-0.156 0.603-0.578 1.356-0.862 1.816 0.65 0.2 1.337 0.309 2.053 0.309 3.828 0 6.931-3.103 6.931-6.931 0-3.831-3.103-6.934-6.931-6.934z"></path></svg>',"social-reddit":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M4 10c0-0.552 0.448-1 1-1s1 0.448 1 1c0 0.552-0.448 1-1 1s-1-0.448-1-1zM10 10c0-0.552 0.448-1 1-1s1 0.448 1 1c0 0.552-0.448 1-1 1s-1-0.448-1-1zM10.049 12.137c0.258-0.203 0.631-0.159 0.834 0.099s0.159 0.631-0.099 0.834c-0.717 0.565-1.81 0.93-2.783 0.93s-2.066-0.365-2.784-0.93c-0.258-0.203-0.302-0.576-0.099-0.834s0.576-0.302 0.834-0.099c0.413 0.325 1.23 0.675 2.049 0.675s1.636-0.35 2.049-0.675zM16 8c0-1.105-0.895-2-2-2-0.752 0-1.406 0.415-1.748 1.028-1.028-0.562-2.28-0.926-3.645-1.010l1.193-2.68 2.284 0.659c0.206 0.583 0.761 1.002 1.415 1.002 0.828 0 1.5-0.672 1.5-1.5s-0.672-1.5-1.5-1.5c-0.571 0-1.068 0.319-1.321 0.789l-2.545-0.735c-0.285-0.082-0.587 0.058-0.707 0.329l-1.621 3.641c-1.33 0.094-2.551 0.453-3.557 1.004-0.342-0.613-0.996-1.028-1.748-1.028-1.105 0-2 0.895-2 2 0 0.817 0.491 1.52 1.193 1.83-0.126 0.375-0.193 0.767-0.193 1.17 0 2.761 3.134 5 7 5s7-2.239 7-5c0-0.403-0.067-0.795-0.193-1.17 0.703-0.31 1.193-1.013 1.193-1.83zM13.5 2.938c0.311 0 0.563 0.252 0.563 0.563s-0.252 0.563-0.563 0.563-0.563-0.252-0.563-0.563 0.252-0.563 0.563-0.563zM1 8c0-0.551 0.449-1 1-1 0.399 0 0.743 0.234 0.904 0.573-0.523 0.396-0.956 0.854-1.276 1.355-0.368-0.148-0.628-0.508-0.628-0.928zM8 14.813c-3.21 0-5.813-1.707-5.813-3.813s2.602-3.813 5.813-3.813c3.21 0 5.813 1.707 5.813 3.813s-2.602 3.813-5.813 3.813zM14.372 8.928c-0.32-0.502-0.753-0.959-1.276-1.355 0.161-0.338 0.505-0.573 0.904-0.573 0.551 0 1 0.449 1 1 0 0.42-0.26 0.78-0.628 0.928z"></path></svg>',"social-tumblr":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M9.001 7l-0 3.659c0 0.928-0.012 1.463 0.086 1.727 0.098 0.262 0.342 0.534 0.609 0.691 0.354 0.212 0.758 0.318 1.214 0.318 0.81 0 1.289-0.107 2.090-0.633v2.405c-0.683 0.321-1.279 0.509-1.833 0.639-0.555 0.129-1.154 0.194-1.798 0.194-0.732 0-1.163-0.092-1.725-0.276-0.562-0.185-1.042-0.45-1.438-0.79-0.398-0.343-0.672-0.706-0.826-1.091s-0.23-0.944-0.23-1.676v-5.611h-2.147v-2.266c0.628-0.204 1.331-0.497 1.778-0.877 0.449-0.382 0.809-0.839 1.080-1.374 0.272-0.534 0.459-1.214 0.561-2.039h2.579l-0 4h3.999v3h-3.999z"></path></svg>',"social-twitter":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M12.163 1.5h2.205l-4.818 5.507 5.668 7.493h-4.438l-3.476-4.545-3.977 4.545h-2.207l5.153-5.89-5.437-7.11h4.551l3.142 4.154zM11.389 13.18h1.222l-7.888-10.429h-1.311z"></path></svg>',"social-vk":'<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14"><path d="M14.977 4.063c0.117 0.32-0.25 1.070-1.172 2.297-1.516 2.016-1.68 1.828-0.43 2.992 1.203 1.117 1.453 1.656 1.492 1.727 0 0 0.5 0.875-0.555 0.883l-2 0.031c-0.43 0.086-1-0.305-1-0.305-0.75-0.516-1.453-1.852-2-1.68 0 0-0.563 0.18-0.547 1.383 0.008 0.258-0.117 0.398-0.117 0.398s-0.141 0.148-0.414 0.172h-0.898c-1.977 0.125-3.719-1.695-3.719-1.695s-1.906-1.969-3.578-5.898c-0.109-0.258 0.008-0.383 0.008-0.383s0.117-0.148 0.445-0.148l2.141-0.016c0.203 0.031 0.344 0.141 0.344 0.141s0.125 0.086 0.187 0.25c0.352 0.875 0.805 1.672 0.805 1.672 0.781 1.609 1.313 1.883 1.617 1.719 0 0 0.398-0.242 0.312-2.188-0.031-0.703-0.227-1.023-0.227-1.023-0.18-0.242-0.516-0.312-0.664-0.336-0.117-0.016 0.078-0.297 0.336-0.422 0.383-0.187 1.062-0.195 1.867-0.187 0.633 0.008 0.813 0.047 1.055 0.102 0.742 0.18 0.492 0.867 0.492 2.523 0 0.531-0.102 1.273 0.281 1.516 0.164 0.109 0.57 0.016 1.57-1.688 0 0 0.469-0.813 0.836-1.758 0.062-0.172 0.195-0.242 0.195-0.242s0.125-0.070 0.297-0.047l2.25-0.016c0.68-0.086 0.789 0.227 0.789 0.227z"></path></svg>',"social-email":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M15 2h-14c-0.55 0-1 0.45-1 1v10c0 0.55 0.45 1 1 1h14c0.55 0 1-0.45 1-1v-10c0-0.55-0.45-1-1-1zM14 4v0.719l-6 3.536-6-3.536v-0.719h12zM2 12v-5.54l6 3.536 6-3.536v5.54h-12z"></path></svg>',"social-download":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M2.5 7l5.5 5.5 5.5-5.5h-3.5v-6h-4v6z"></path><path d="M14 8v6h-12v-6h-2v6.5c0 0.825 0.675 1.5 1.5 1.5h13c0.825 0 1.5-0.675 1.5-1.5v-6.5h-2z"></path></svg>'}}},register:function(e,t){return!(a.empty(e)||a.empty(t)||!a.string(e)||!a.hash(t))&&(this.registered[e]=l.extend({},this.registered.default,t),!0)},get:function(e,t){var i=this,n="default",o=l.extend({},i.registered.default),t=(a.string(t)&&"default"!==t?o=l.extend(o,i.registered[n=t]):a.hash(t)&&(n="custom",o=l.extend(o,t)),a.string(e)&&o.hasOwnProperty(e)?o[e].replace(/\[ICON_CLASS]/g,i.className+"-"+e):null),o=[!1,e,n].map(function(e){return!1===e?i.className:i.className+"-"+e}).join(" ");return r(t).addClass(o)},element:function(e,t){const i=this;let n="default",o=l.extend({},i.registered.default);a.string(t)&&"default"!==t?(n=t,o=l.extend(o,i.registered[t])):a.hash(t)&&(n="custom",o=l.extend(o,t));t=a.string(e)&&o.hasOwnProperty(e)?o[e].replace(/\[ICON_CLASS]/g,i.className+"-"+e):null;if(null!==t){const r=document.createRange().createContextualFragment(t),s=r.querySelector("svg");if(s)return["","-"+e,"-"+n].forEach(function(e){s.classList.add(i.className+e)}),s}return null}}),e.icons=new e.Icons}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.obj),function(o,i,n,r,s){var a="__FooGallerySwipe__",e="ontouchstart"in window,l=window.navigator.msPointerEnabled&&!window.navigator.pointerEnabled&&!e,c=(window.navigator.pointerEnabled||window.navigator.msPointerEnabled)&&!e,u=e||c;i.Swipe=n.Class.extend({construct:function(e,t){var i=this,n=".fgswipe";i.$el=o(e),i.opt=s.extend({threshold:20,allowPageScroll:!1,swipe:o.noop,data:{}},t),i.active=!1,i.startPoint=null,i.endPoint=null,i.events={start:(u?c?l?"MSPointerDown":"pointerdown":"touchstart":"mousedown")+n,move:(u?c?l?"MSPointerMove":"pointermove":"touchmove":"mousemove")+n,end:(u?c?l?"MSPointerUp":"pointerup":"touchend":"mouseup")+n,leave:(!u||c?"mouseleave":null)+n}},init:function(){var e=this;e.$el.on(e.events.start,{self:e},e.onStart),e.$el.on(e.events.move,{self:e},e.onMove),e.$el.on(e.events.end,{self:e},e.onEnd),r.string(e.events.leave)&&e.$el.on(e.events.leave,{self:e},e.onEnd),e.$el.data(a,e)},destroy:function(){var e=this;e.$el.off(e.events.start,e.onStart),e.$el.off(e.events.move,e.onMove),e.$el.off(e.events.end,e.onEnd),r.string(e.events.leave)&&e.$el.off(e.events.leave,e.onEnd),e.$el.removeData(a)},getAngle:function(e,t){e=Math.atan2(e.x-t.x,e.y-t.y),t=Math.round(180*e/Math.PI);return 360-(t<0?360-Math.abs(t):t)},getDistance:function(e,t){var i=t.x-e.x,t=t.y-e.y;return i*=i,t*=t,Math.sqrt(i+t)},getDirection:function(e,t){e=this.getAngle(e,t);return 337.5<e||e<=22.5?"N":22.5<e&&e<=67.5?"NE":67.5<e&&e<=112.5?"E":112.5<e&&e<=157.5?"SE":157.5<e&&e<=202.5?"S":202.5<e&&e<=247.5?"SW":247.5<e&&e<=292.5?"W":292.5<e&&e<=337.5?"NW":"NONE"},getPoint:function(e){var t;return u&&!r.empty(t=e.originalEvent.touches||e.touches)?{x:t[0].pageX,y:t[0].pageY}:r.number(e.pageX)&&r.number(e.pageY)?{x:e.pageX,y:e.pageY}:null},getOffset:function(e){var t=this.$el.offset();return{left:e.x-t.left,top:e.y-t.top}},onStart:function(e){var t=e.data.self,e=t.getPoint(e);r.empty(e)||(t.active=!0,t.startPoint=t.endPoint=e)},onMove:function(e){var t=e.data.self,i=t.getPoint(e);t.active&&!r.empty(i)&&(t.endPoint=i,t.opt.allowPageScroll?r.hash(t.opt.allowPageScroll)&&(i=t.getDirection(t.startPoint,t.endPoint),t.opt.allowPageScroll.x||-1===n.inArray(i,["NE","E","SE","NW","W","SW"])||e.preventDefault(),t.opt.allowPageScroll.y||-1===n.inArray(i,["NW","N","NE","SW","S","SE"])||e.preventDefault()):e.preventDefault())},onEnd:function(e){var t,e=e.data.self;e.active&&(e.active=!1,t={startPoint:e.startPoint,endPoint:e.endPoint,startOffset:e.getOffset(e.startPoint),endOffset:e.getOffset(e.endPoint),angle:e.getAngle(e.startPoint,e.endPoint),distance:e.getDistance(e.startPoint,e.endPoint),direction:e.getDirection(e.startPoint,e.endPoint)},0<e.opt.threshold&&t.distance<e.opt.threshold||(e.opt.swipe.apply(this,[t,e.opt.data]),e.startPoint=null,e.endPoint=null))}}),o.fn.fgswipe=function(t){return this.each(function(){var e=o(this).data(a);if(e instanceof i.Swipe){if(r.string(t)&&r.fn(e[t]))return void e[t]();e.destroy()}r.hash(t)&&(e=new i.Swipe(this,t)).init()})}}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.obj),function(e,t,r,a,s){e.Factory=t.Class.extend({construct:function(){this.registered={}},contains:function(e){return!r.undef(this.registered[e])},make:function(e,t,i){var n,o=a.arg2arr(arguments);return e=o.shift(),n=this.registered[e],r.hash(n)&&r.fn(n.klass)?a.apply(n.klass,o):null},names:function(e){e=!!r.boolean(e)&&e;var t,i=[];if(e){var n=[];for(t in this.registered)this.registered.hasOwnProperty(t)&&n.push(this.registered[t]);n.sort(function(e,t){return t.priority-e.priority}),n.forEach(function(e){i.push(e.name)})}else for(t in this.registered)this.registered.hasOwnProperty(t)&&i.push(t);return i},register:function(e,t,i){if(!r.string(e)||r.empty(e)||!r.fn(t))return!1;i=r.number(i)?i:0;var n=this.registered[e];return this.registered[e]={name:e,klass:t,priority:r.undef(n)?i:n.priority},!0},load:function(e,t){var i,n=this,o=a.arg2arr(arguments),r=[],s=[];for(i in n.registered)n.registered.hasOwnProperty(i)&&s.push(n.registered[i]);return s.sort(function(e,t){return t.priority-e.priority}),s.forEach(function(e){var t=o.slice();t.unshift(e.name),r.push(n.make.apply(n,t))}),r},configure:function(e,t,i,n){var o;this.contains(e)&&(o=this.registered,s.extend(o[e].opt,t),s.extend(o[e].cls,i),s.extend(o[e].il8n,n))}})}((FooGallery.$,FooGallery),FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.obj),function(l,s,c,u,a){s.TemplateFactory=s.Factory.extend({construct:function(){this.registered={}},register:function(e,t,i,n,o,r){t=this._super(e,t,r);return t&&((r=this.registered)[e].opt=u.hash(i)?i:{},r[e].cls=u.hash(n)?n:{},r[e].il8n=u.hash(o)?o:{}),t},make:function(e,t){t=u.jq(t)?t:l(t),e=a.extend({},e,t.data("foogallery")),s.isMobile&&(e=a.extend({},e,t.data("foogalleryMobile")));var i=this.type(e,t);return this.contains(i)?(e=this.options(i,e),this._super(i,e,t)):null},type:function(e,t){t=u.jq(t)?t:l(t);var i=u.hash(e)&&u.hash(e)&&u.string(e.type)&&this.contains(e.type)?e.type:null;if(null===i&&0<t.length)for(var n=this.registered,o=this.names(!0),r=0,s=o.length;r<s;r++)if(n.hasOwnProperty(o[r])&&"core"!==o[r]){var a=n[o[r]].cls;if(u.string(a.container)){a=c.selectify(a.container);if(t.is(a)){i=o[r];break}}}return i},options:function(e,t){t=a.extend({type:e},t);var i=this.registered,n=i.core.opt,o=i.core.cls,r=i.core.il8n;return u.hash(t.cls)||(t.cls={}),u.hash(t.il8n)||(t.il8n={}),u.undef(s.filtering)||(t=s.filtering.merge(t)),u.undef(s.paging)||(t=s.paging.merge(t)),"core"!==e&&this.contains(e)?((t=a.extend({},n,i[e].opt,t)).cls=a.extend({},o,i[e].cls,t.cls),t.il8n=a.extend({},r,i[e].il8n,t.il8n)):((t=a.extend({},n,t)).cls=a.extend({},o,t.cls),t.il8n=a.extend({},r,t.il8n)),t}}),s.template=new s.TemplateFactory}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,(FooGallery.utils.fn,FooGallery.utils.obj)),function(n,o,r,s,a){var l=0;o.Template=r.EventClass.extend({construct:function(e,t){var i=this;i._super(),i.namespace=".foogallery-"+ ++l,i.$el=s.jq(t)?t:n(t),i.el=i.$el.get(0)||null,i.$scrollParent=null,i.opt=e,i.template=e.template,i.id=i.$el.prop("id")||e.id,i.cls=e.cls,i.il8n=e.il8n,i.sel=r.selectify(i.cls),i.items=o.components.make("items",i),i.pages=s.undef(o.paging)?null:o.paging.make(e.paging.type,i),i.filter=s.undef(o.filtering)?null:o.filtering.make(e.filtering.type,i),i.state=o.components.make("state",i),i._initialize=null,i._layoutTimeout=null,i._layoutWidths=[],i.lastWidth=0,i.initializing=!1,i.initialized=!1,i.destroying=!1,i.destroyed=!1,i._undo={classes:"",style:"",create:!1,children:!1},i.robserver=new ResizeObserver(a.throttle(function(e){i.destroying||i.destroyed||1!==e.length||e[0].target!==i.el||(e=r.getResizeObserverSize(e[0]),i.layout(e.width))},50))},initialize:function(t){var i=this;return s.promise(i._initialize)?i._initialize:i._initialize=n.Deferred(function(e){i.preInit(t)?i.init().then(function(){i.postInit()?(i.ready(),e.resolve(i)):e.reject("post-init failed")}).catch(e.reject):e.reject("pre-init failed")}).catch(function(e){return console.log("initialize failed",i,e),i.destroy()}).promise()},preInit:function(e){var t=this;if(t.destroying)return!1;if(e=s.jq(e)?e:n(e),t.initializing=!0,0===e.length&&0===t.$el.parent().length)return!1;0===t.$el.length&&(t.$el=t.create(),t.el=t.$el.get(0),t._undo.create=!0),0<e.length&&t.$el.appendTo(e),s.empty(t.opt.scrollParent)||0===(e=n(t.opt.scrollParent)).length?t.$scrollParent=n(document):t.$scrollParent=e.is("html")?n(document):e,t.$el.data(o.DATA_TEMPLATE,t),s.empty(t.opt.on)||t.on(t.opt.on),t._undo.classes=t.$el.attr("class"),t._undo.style=t.$el.attr("style"),t.$el.is(t.sel.container)||t.$el.addClass(t.cls.container);e=r.selectify(t.opt.classes);return null==e||t.$el.is(e)||t.$el.addClass(t.opt.classes),0===t.$el.children().not(t.sel.item.elem).length&&(t.$el.append(t.createChildren()),t._undo.children=!0),t.opt.protected&&(t.el.oncontextmenu=function(e){return e.preventDefault(),!1}),!t.trigger("pre-init").isDefaultPrevented()},init:function(){return this.trigger("init").isDefaultPrevented()?a.reject("init default prevented"):this.items.fetch()},postInit:function(){var e=this;return!e.destroying&&(!e.trigger("post-init").isDefaultPrevented()&&(e.state.init(),e.pages&&e.pages.init(),n(window).on("popstate"+e.namespace,{self:e},e.onWindowPopState),e.robserver.observe(e.el),!0))},ready:function(){return!this.destroying&&(this.initializing=!1,this.initialized=!0,this.trigger("ready"),!0)},create:function(){return n("<div/>",{id:this.id,class:this.cls.container}).addClass(this.opt.classes)},createChildren:function(){return n()},destroy:function(t){var i=this,e=i._super.bind(i);return i.destroyed?a.resolved:(i.destroying=!0,n.Deferred(function(e){i.initializing&&s.promise(i._initialize)?i._initialize.always(function(){i.destroying=!1,i.doDestroy(t),e.resolve()}):(i.destroying=!1,i.doDestroy(t),e.resolve())}).then(function(){e()}).promise())},doDestroy:function(e){var t=this;t.destroyed||(t.trigger("destroy"),t.robserver.disconnect(),n(window).off(t.namespace),t.state.destroy(e),t.filter&&t.filter.destroy(),t.pages&&t.pages.destroy(),t.items.destroy(),s.empty(t.opt.on)||t.$el.off(t.opt.on),t.trigger("destroyed"),t.$el.removeData(o.DATA_TEMPLATE),s.empty(t._undo.classes)?t.$el.removeAttr("class"):t.$el.attr("class",t._undo.classes),s.empty(t._undo.style)?t.$el.removeAttr("style"):t.$el.attr("style",t._undo.style),t._undo.children&&t.destroyChildren(),t._undo.create&&t.$el.remove(),t.$el=t.state=t.items=t.pages=null,t.destroyed=!0,t.initializing=!1,t.initialized=!1)},destroyChildren:function(){},getAvailable:function(){return(this.pages||this.items).available()},layout:function(e){var t=this;null===t._initialize||0===(e=s.number(e)?e:t.el.getBoundingClientRect().width)||t._checkWidth(e)||(t.lastWidth=e,t.trigger("layout",[e]))},_checkWidth:function(e){var t,i=this;return(t=-1!==i._layoutWidths.indexOf(e))||(i._layoutWidths.unshift(e),i._layoutWidths.splice(2,i._layoutWidths.length-2),null!=i._layoutTimeout&&clearTimeout(i._layoutTimeout),i._layoutTimeout=setTimeout(function(){i._layoutWidths.splice(0,i._layoutWidths.length)},100)),t},getCSSClass:function(e,t){t=s.empty(t)?"":t;var e=e instanceof RegExp?e:s.string(e)&&this.opt.regex.hasOwnProperty(e)?this.opt.regex[e]:null,i=this.$el.prop("className")||"",i=null!=e?i.match(e):null;return null!=i&&2<=i.length?i[1]:t},getLanguage:function(){return(""!==document.documentElement.lang?document.documentElement:this.opt).lang},onWindowPopState:function(e){var t=e.data.self,e=e.originalEvent.state;s.empty(e)||e.id!==t.id||t.state.set(e)}}),o.template.register("core",o.Template,{id:null,type:"core",classes:"",on:{},lazy:!0,items:[],scrollParent:null,delay:0,throttle:50,shortpixel:!1,srcset:"data-srcset-fg",src:"data-src-fg",protected:!1,lang:"en",cors:null,template:{},regex:{theme:/(?:\s|^)(fg-(?:light|dark|custom))(?:\s|$)/,loadingIcon:/(?:\s|^)(fg-loading-(?:default|bars|dots|partial|pulse|trail))(?:\s|$)/,hoverIcon:/(?:\s|^)(fg-hover-(?:zoom|zoom2|zoom3|zoom4|zoom5|plus|plus2|plus3|circle-plus|circle-plus2|square-plus|eye|external|tint))(?:\s|$)/,videoIcon:/(?:\s|^)(fg-video-(?:default|1|2|3|4))(?:\s|$)/,border:/(?:\s|^)(fg-border-(?:thin|medium|thick))(?:\s|$)/,hoverColor:/(?:\s|^)(fg-hover-(?:colorize|grayscale))(?:\s|$)/,hoverScale:/(?:\s|^)(fg-hover-scale)(?:\s|$)/,stickyVideoIcon:/(?:\s|^)(fg-video-sticky)(?:\s|$)/,insetShadow:/(?:\s|^)(fg-shadow-inset-(?:small|medium|large))(?:\s|$)/,filter:/(?:\s|^)(fg-filter-(?:1977|amaro|brannan|clarendon|earlybird|lofi|poprocket|reyes|toaster|walden|xpro2|xtreme))(?:\s|$)/}},{container:"foogallery"},{},-100)}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.str),function(e,t){e.Component=t.EventClass.extend({construct:function(e){this._super(),this.tmpl=e},destroy:function(){this.tmpl=null,this._super()}}),e.components=new e.Factory}(FooGallery,FooGallery.utils,FooGallery.utils.is),function(t,r,i,s,a,l){r.State=r.Component.extend({construct:function(e){var t=this,e=(t._super(e),t.apiEnabled=!!window.history&&!!history.replaceState,t.opt=t.tmpl.opt.state,t.enabled=t.opt.enabled,t.current={filter:[],page:0,item:null},t.pushOrReplace=t.isPushOrReplace(t.opt.pushOrReplace)?t.opt.pushOrReplace:"replace",t.defaultMask="foogallery-gallery-{id}",a.escapeRegExp(t.tmpl.id)),i=a.escapeRegExp(t.getMasked()),n=a.escapeRegExp(t.opt.values),o=a.escapeRegExp(t.opt.pair);t.regex={exists:new RegExp("^#"+e+"\\"+n+".+?"),masked:new RegExp("^#"+i+"\\"+n+".+?"),values:new RegExp("(\\w+)"+o+"([^"+n+"]+)","g")},t.usePopState=t.opt.usePopState,t.onPopState=t.onPopState.bind(t)},init:function(){var e=this;e.set(e.initial()),e.enabled&&e.apiEnabled&&e.usePopState&&window.addEventListener("popstate",e.onPopState)},destroy:function(e){var t=this;t.enabled&&t.apiEnabled&&t.usePopState&&window.removeEventListener("popstate",t.onPopState),e||t.clear(),t.opt=t.regex={},t._super()},getIdNumber:function(){return this.tmpl.id.match(/\d+/g)[0]},getMasked:function(){var e=a.contains(this.opt.mask,"{id}")?this.opt.mask:this.defaultMask;return a.format(e,{id:this.getIdNumber()})},isPushOrReplace:function(e){return-1!==i.inArray(e,["push","replace"])},exists:function(){return this.regex.values.lastIndex=0,(this.regex.exists.test(location.hash)||this.regex.masked.test(location.hash))&&this.regex.values.test(location.hash)},parse:function(){var e,o=this,r=o.tmpl,s={};return o.exists()&&(o.enabled?(s.id=o.tmpl.id,o.regex.values.lastIndex=0,e=location.hash.match(o.regex.values),t.each(e,function(e,t){var i,n=t.split(o.opt.pair);if(2===n.length)switch(n[0]){case o.opt.itemKey:null!==(i=r.items.fromHash(n[1]))&&(s.item=i);break;case o.opt.pageKey:r.pages&&null!==(i=r.pages.fromHash(n[1]))&&(s.page=i);break;case o.opt.filterKey:r.filter&&null!==(i=r.filter.fromHash(n[1]))&&(s.filter=i)}})):o.apiEnabled?history.replaceState(null,"",location.pathname+location.search):location.hash="#"),s},hashify:function(e){var t,i,n=this,o=n.tmpl;return s.hash(e)?(t=[],null!==(i=o.items.toHash(e.item))&&t.push(n.opt.itemKey+n.opt.pair+i),o.filter&&null!==(i=o.filter.toHash(e.filter))&&t.push(n.opt.filterKey+n.opt.pair+i),o.pages&&null!==(i=o.pages.toHash(e.page))&&t.push(n.opt.pageKey+n.opt.pair+i),0<t.length&&t.unshift("#"+n.getMasked()),t.join(n.opt.values)):""},replace:function(e){var t,i;this.enabled&&this.apiEnabled&&(e.id=this.tmpl.id,t=this.hashify(e),i=s.empty(t),e=l.extend({},e,{item:e.item instanceof r.Item?e.item.id:e.item}),history.replaceState(i?null:e,"",i?location.pathname+location.search:t))},push:function(e){var t,i;this.enabled&&this.apiEnabled&&(e.id=this.tmpl.id,t=this.hashify(e),i=s.empty(t),e=l.extend({},e,{item:e.item instanceof r.Item?e.item.id:e.item}),history.pushState(i?null:e,"",i?location.pathname+location.search:t))},update:function(e,t){var i=this;i.enabled&&i.apiEnabled&&(t=i.isPushOrReplace(t)?t:i.pushOrReplace,i[t](e))},clear:function(){this.exists()&&this.replace({})},initial:function(){var e=this.parse();return s.empty(e)?this.get():l.extend({filter:[],page:1,item:null},e)},get:function(e){var t,i=this.tmpl,n={};return e instanceof r.Item&&(n.item=e),i.filter&&null!==(t=i.filter.getState())&&(n.filter=t),i.pages&&null!==(t=i.pages.getState())&&(n.page=t),l.extend({filter:[],page:1,item:null},n)},set:function(e){var t,i,n,o=this.tmpl;s.hash(e)&&(t=l.extend({filter:[],page:1,item:null},e),o.items.reset(),o.trigger("before-state",[t]).isDefaultPrevented()||(o.filter&&o.filter.setState(t),o.pages?o.pages.setState(t):(i=o.items.available(),o.items.isAll(i)||(n=o.items.not(i),o.items.detach(n)),o.items.create(i,!0)),t.item instanceof r.Item&&(this.opt.scrollTo&&t.item.scrollTo(),s.empty(e.item)||(e.item=null,this.replace(e))),this.current=t,o.trigger("after-state",[t])))},getItemHash:function(e){return this.enabled&&e instanceof r.Item?(e=this.get(e),this.hashify(e)):""},onPopState:function(e){var t=this.parse();Object.keys(t).length&&this.set(t)}}),r.template.configure("core",{state:{enabled:!1,scrollTo:!0,pushOrReplace:"replace",mask:"foogallery-gallery-{id}",usePopState:!0,values:"/",pair:":",array:"+",arraySeparator:",",itemKey:"i",filterKey:"f",pageKey:"p"}}),r.components.register("state",r.State)}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.str,FooGallery.utils.obj),function(s,r,i,a,n,l){r.Items=r.Component.extend({construct:function(e){var t=this,e=(t.ALLOW_CREATE=!0,t.ALLOW_APPEND=!0,t.LAYOUT_AFTER_LOAD=!0,t._super(e),t._typeRegex=/(?:^|\s)?fg-type-(.*?)(?:$|\s)/,t._fetched=null,t._all=[],t._available=[],t._unavailable=[],t._observed=new Map,t.tmpl.cls.item.caption);t.tmpl.sel.item.caption.all=i.selectify([e.elem,e.inner,e.title,e.description]),t._wait=[],t._layoutTimeout=null,t.iobserver=new IntersectionObserver(function(e){t.tmpl.destroying||t.tmpl.destroyed||(t.LAYOUT_AFTER_LOAD&&clearTimeout(t._layoutTimeout),e.forEach(function(e){e.isIntersecting&&(e=t._observed.get(e.target))instanceof r.Item&&t._wait.push(e.load())}),t.LAYOUT_AFTER_LOAD&&(t._layoutTimeout=setTimeout(function(){0<t._wait.length&&n.allSettled(t._wait.splice(0)).then(function(){t.tmpl.layout()})},100)))})},fromHash:function(t){return this.find(this._all,function(e){return e.id===t})},toHash:function(e){return e instanceof r.Item?e.id:null},destroy:function(){var e=this,t=e.all();e.iobserver.disconnect(),0<t.length&&(e.tmpl.trigger("destroy-items",[t]),0<(t=s.map(t,function(e){return e.destroy()?e:null})).length&&e.tmpl.trigger("destroyed-items",[t])),e._fetched=null,e._all=[],e._available=[],e._unavailable=[],e._observed.clear(),e._super()},fetch:function(e){var t,n,o,r,i=this;return!e&&a.promise(i._fetched)?i._fetched:(e=i.tmpl.id+"_items",t=i.tmpl.sel,n=i.tmpl.opt.items,o=s.Deferred(),r=i.make(i.tmpl.$el.find(t.item.elem)),a.empty(n)?(a.array(window[e])&&r.push.apply(r,i.make(window[e])),o.resolve(r)):a.array(n)?(r.push.apply(r,i.make(n)),o.resolve(r)):a.string(n)?s.get(n).then(function(e){r.push.apply(r,i.make(e)),o.resolve(r)},function(e,t,i){console.log("FooGallery: GET items error.",n,e,t,i),o.resolve(r)}):o.resolve(r),o.then(function(e){i.setAll(e)}),i._fetched=o.promise())},toJSON:function(e){return(e?this.all():this.available()).map(function(e){return e.toJSON()})},all:function(){return this._all.slice()},count:function(e){return(e?this.all():this.available()).length},available:function(e){return a.fn(e)?this._available.filter(e,this):this._available.slice()},unavailable:function(e){return a.fn(e)?this._unavailable.filter(e,this):this._unavailable.slice()},setAll:function(e){this._all=a.array(e)?e:[],this._all.forEach(function(e,t){e.index=t,a.empty(e.id)&&(e.id=t+1+"")}),this._available=this.all(),this._unavailable=[]},setAvailable:function(e){var t=this;t._available=a.array(e)?e:[],t._all.length!==t._available.length?t._unavailable=t._all.filter(function(e){return-1===t._available.indexOf(e)}):t._unavailable=[]},reset:function(){this.setAvailable(this.all())},find:function(e,t){if(t=a.fn(t)?t:function(){return!0},a.array(e))for(var i=0,n=e.length;i<n;i++)if(!0===t.call(this,e[i]))return e[i];return null},not:function(t){var e=this.all();return a.array(t)?e.filter(function(e){return-1===t.indexOf(e)}):e},isAll:function(e){return!!a.array(e)&&this._all.length===e.length},first:function(e){return this.find(this._available,e)},last:function(e){return this.find(this._available.slice().reverse(),e)},next:function(e,t,i){if(!(e instanceof r.Item))return null;i=!!a.boolean(i)&&i;var n,o=this._available.slice(),e=o.indexOf(e);return-1!==e?(n=o.slice(0,e),o=o.slice(e+1),i&&(o=o.concat(n)),this.find(o,t)):null},prev:function(e,t,i){if(!(e instanceof r.Item))return null;i=!!a.boolean(i)&&i;var n,o=this._available.slice().reverse(),e=o.indexOf(e);return-1!==e?(n=o.slice(0,e),o=o.slice(e+1),i&&(o=o.concat(n)),this.find(o,t)):null},get:function(t,e){e=e?this._all:this._available;return a.number(t)?0<=t&&t<this._all.length?e[t]:null:this.find(e,function(e){return e.el===t})},indexOf:function(e,t){return(t?this._all:this._available).indexOf(e)},creatable:function(e){return this.ALLOW_CREATE&&a.array(e)?s.map(e,function(e){return e instanceof r.Item&&!e.isCreated?e:null}):[]},appendable:function(e){return this.ALLOW_APPEND&&a.array(e)?s.map(e,function(e){return e instanceof r.Item&&e.isCreated&&!e.isAttached?e:null}):[]},detachable:function(e){return a.array(e)?s.map(e,function(e){return e instanceof r.Item&&e.isCreated&&e.isAttached?e:null}):[]},jquerify:function(e){return s(s.map(e,function(e){return e.$el.get()}))},make:function(e){var n=this,t=[];if(a.jq(e)||a.array(e)){var o=[],e=s.makeArray(e);if(0===e.length)return t;0<(t=n.tmpl.trigger("make-items",[e]).isDefaultPrevented()?t:s.map(e,function(e){var t=n.type(e),i=l.extend(a.hash(e)?e:{},{type:t}),t=r.components.make(t,n.tmpl,i);return a.element(e)?t.parse(e)?(o.push(t),n.ALLOW_APPEND||t.detach(),t):null:t})).length&&n.tmpl.trigger("made-items",[t]),0<o.length&&n.tmpl.trigger("parsed-items",[o])}return t},type:function(e){var t;return a.hash(e)?t=e.type:a.element(e)&&null!==(e=e.className.match(this._typeRegex))&&2===e.length&&(t=e[1]),a.string(t)&&r.components.contains(t)?t:"image"},create:function(e,t){var i=[],n=this.creatable(e);return 0<n.length&&0<(i=this.tmpl.trigger("create-items",[n]).isDefaultPrevented()?i:s.map(n,function(e){return e.create()?e:null})).length&&this.tmpl.trigger("created-items",[i]),a.boolean(t)&&t?this.append(e):i},append:function(e){var t=[],e=this.appendable(e);return 0<e.length&&0<(t=this.tmpl.trigger("append-items",[e]).isDefaultPrevented()?t:s.map(e,function(e){return e.append()?e:null})).length&&this.tmpl.trigger("appended-items",[t]),t},detach:function(e){var t=[],e=this.detachable(e);return 0<e.length&&0<(t=this.tmpl.trigger("detach-items",[e]).isDefaultPrevented()?t:s.map(e,function(e){return e.detach()?e:null})).length&&this.tmpl.trigger("detached-items",[t]),t},observe:function(e){!(this.iobserver&&e.isCreated&&e.isAttached)||e.isLoading&&e.isLoaded||(this.iobserver.observe(e.el),this._observed.set(e.el,e))},unobserve:function(e){this.iobserver&&(this.iobserver.unobserve(e.el),this._observed.delete(e.el))}}),r.components.register("items",r.Items)}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.obj),function(y,b,w,x,r,C){b.Item=b.Component.extend({construct:function(e,t){var i=this;i._super(e),i.cls=e.cls.item,i.il8n=e.il8n.item,i.sel=e.sel.item,i.opt=r.extend({},e.opt.item,t),i.isAttached=!1,i.isCreated=!1,i.isDestroyed=!1,i.isLoading=!1,i.isLoaded=!1,i.isError=!1,i.isParsed=!1,i.isPicture=!1,i.$el=null,i.el=null,i.$inner=null,i.$anchor=null,i.$overlay=null,i.$wrap=null,i.$image=null,i.$caption=null,i.$loader=null,i.index=-1,i.type=i.opt.type,i.id=""+i.opt.id,i.productId=i.opt.productId,i.href=i.opt.href,i.download=i.opt.download,i.placeholder=i.opt.placeholder,i.src=i.opt.src,i.srcset=i.opt.srcset,i.sources=i.opt.sources,i.width=i.opt.width,i.height=i.opt.height,i.title=i.opt.title,i.alt=i.opt.alt,i.caption=i.opt.caption,i.description=i.opt.description,i.attr=i.opt.attr,i.tags=i.opt.tags,i.maxCaptionLength=i.opt.maxCaptionLength,i.maxDescriptionLength=i.opt.maxDescriptionLength,i.showCaptionTitle=i.opt.showCaptionTitle,i.showCaptionDescription=i.opt.showCaptionDescription,i.noLightbox=i.opt.noLightbox,i.panelHide=i.opt.panelHide,i.exif=i.opt.exif,i.hasExif=x.exif(i.exif),i.ribbon=i.opt.ribbon,i.hasRibbon=x.hash(i.ribbon)&&x.string(i.ribbon.text)&&x.string(i.ribbon.type),i.buttons=i.opt.buttons,i._load=null,i._undo={classes:"",style:"",placeholder:!1}},destroy:function(){var e=this;return e.tmpl.trigger("destroy-item",[e]).isDefaultPrevented()||(e.isDestroyed=e.doDestroyItem()),e.isDestroyed&&(e.tmpl.trigger("destroyed-item",[e]),e._super()),e.isDestroyed},doDestroyItem:function(){var e=this;return e.isParsed?(e.$anchor.add(e.$caption).off("click.foogallery"),e.append(),e.tmpl.items.unobserve(e),x.empty(e._undo.classes)?e.$el.removeAttr("class"):e.$el.attr("class",e._undo.classes),x.empty(e._undo.style)?e.$el.removeAttr("style"):e.$el.attr("style",e._undo.style),e._undo.placeholder&&e.$image.prop("src")===e.placeholder&&e.$image.removeAttr("src")):e.isCreated&&(e.detach(),e.$el.remove()),!0},parse:function(e){var t=this,e=y(e);return!t.tmpl.trigger("parse-item",[t,e]).isDefaultPrevented()&&(t.isCreated=e.is(t.sel.elem))&&(t.isParsed=t.doParseItem(e)),t.isParsed&&(t.isLoaded||t.tmpl.items.observe(t),t.tmpl.trigger("parsed-item",[t])),t.isParsed},doParseItem:function(e){var i=this,t=i.cls,n=i.sel,o=e.get(0);if(i._undo.classes=e.attr("class")||"",i._undo.style=e.attr("style")||"",i.$el=e.data(b.DATA_ITEM,i),i.el=o,i.$inner=y(o.querySelector(n.inner)),i.$anchor=y(o.querySelector(n.anchor)).on("click.foogallery",{self:i},i.onAnchorClick),i.$image=y(o.querySelector(n.image)),i.$caption=y(o.querySelector(n.caption.elem)).on("click.foogallery",{self:i},i.onCaptionClick),i.$overlay=y(o.querySelector(n.overlay)),i.$wrap=y(o.querySelector(n.wrap)),i.$loader=y(o.querySelector(n.loader)),!(i.$el.length&&i.$inner.length&&i.$anchor.length&&i.$image.length))return console.error("FooGallery Error: Invalid HTML markup. Check the item markup for additional elements or malformed HTML in the title or description.",i),i.isError=!0,i.tmpl.trigger("error-item",[i]),0!==i.$el.length&&i.$el.remove(),!1;i.isAttached=null!==o.parentNode,i.isLoading=i.$el.hasClass(t.loading),i.isLoaded=i.$el.hasClass(t.loaded),i.isError=i.$el.hasClass(t.error);var e=i.$anchor.data(),e=(i.id=""+(e.id||e.attachmentId||i.id),i.productId=e.productId||i.productId,i.tags=e.tags||i.tags,i.href=e.href||i.$anchor.attr("href")||i.href,i.download=e.download||i.download||i.href,o=i.$image.is("picture")?(i.isPicture=!0,i.sources=i.$image.find("source").map(function(e,t){return{srcset:t.getAttribute(i.tmpl.opt.srcset),type:t.getAttribute("type"),media:t.getAttribute("media"),sizes:t.getAttribute("sizes")}}).get(),i.$image.find("img")):i.$image,i.src=o.attr(i.tmpl.opt.src)||i.src,i.srcset=o.attr(i.tmpl.opt.srcset)||i.srcset,i.width=parseInt(o.attr("width"))||i.width,i.height=parseInt(o.attr("height"))||i.height,i.title=b.safeParse(o.attr("title")||i.title),i.alt=b.safeParse(o.attr("alt")||i.alt),i.caption=b.safeParse(e.title||e.captionTitle||i.caption),i.description=b.safeParse(e.description||e.captionDesc||i.description),i.noLightbox=i.$anchor.hasClass(t.noLightbox),i.panelHide=i.$anchor.hasClass(t.panelHide),x.exif(e.exif)&&(i.exif=r.extend(i.exif,e.exif),i.hasExif=!0),0<i.maxCaptionLength&&((e=C.trimTo(i.caption,i.maxCaptionLength))!==i.caption&&i.$caption.find(n.caption.title).html(e)),!i.maxDescriptionLength||(e=C.trimTo(i.description,i.maxDescriptionLength))!==i.description&&i.$caption.find(n.caption.description).html(e),i.showCaptionTitle||i.$caption.find(n.caption.title).remove(),i.showCaptionDescription||i.$caption.find(n.caption.description).remove(),o.get(0)),n=(x.string(e.src)&&0!==e.src.length||(x.string(i.placeholder)&&0!==i.placeholder.length||(i.placeholder=i.createPlaceholder(i.width,i.height)),0<i.placeholder.length&&(e.src=i.placeholder,i._undo.placeholder=!0)),i.getTypeClass());return i.$el.hasClass(n)||i.$el.addClass(n),i.hasExif&&!i.$el.hasClass(t.exif)&&i.$el.addClass(t.exif),!i.isCreated||!i.isAttached||i.isLoading||i.isLoaded||i.isError||i.$el.hasClass(t.idle)||i.$el.addClass(t.idle),i.doShortPixel(),!0},create:function(){var e=this;return!e.isCreated&&x.string(e.href)&&x.string(e.src)&&x.number(e.width)&&x.number(e.height)&&(e.tmpl.trigger("create-item",[e]).isDefaultPrevented()||(e.isCreated=e.doCreateItem()),e.isCreated&&e.tmpl.trigger("created-item",[e])),e.isCreated},_setAttributes:function(n,e){Object.entries(e).forEach(([e,t])=>{var i;x.empty(t)||("class"===e?(i=(x.array(t)?t:[t]).flatMap(e=>x.string(e)?e.split(" "):[]).map(e=>e.trim()).filter(Boolean),n.classList.add(...i)):n.setAttribute(e,x.string(t)?t:JSON.stringify(t)))})},doShortPixel:function(){var e,t=this;function i(e,t,i){return"/"===t||"/"===i?"/":t}t.tmpl.opt.shortpixel&&!b.supportsWebP&&(t.href=t.href.replace(e=/([\/,+])to_webp([\/,+])/i,i),t.src=t.src.replace(e,i),t.srcset=t.srcset.replace(e,i))},doCreateItem:function(){var n,e,o=this,t=o.cls,i=o.attr,r=o.hasExif?t.exif:"",s=(o.isLoaded=!o.tmpl.opt.lazy,o.isPicture=0<o.sources.length,o.doShortPixel(),document.createElement("div")),r=(o._setAttributes(s,i.elem),o._setAttributes(s,{class:[t.elem,o.getTypeClass(),r,o.isLoaded?t.loaded:t.idle]}),document.createElement("figure")),a=(o._setAttributes(r,i.inner),o._setAttributes(r,{class:t.inner}),[t.anchor]),l=(o.noLightbox&&a.push(t.noLightbox),o.panelHide&&a.push(t.panelHide),document.createElement("a")),a=(o._setAttributes(l,i.anchor),o._setAttributes(l,{class:a.join(" "),href:o.href,"data-id":o.id,"data-type":o.type,"data-title":o.caption,"data-description":o.description,"data-tags":o.tags,"data-exif":o.exif,"data-product-id":o.productId,"data-download":o.download}),x.string(o.placeholder)&&0!==o.placeholder.length||(o.placeholder=o.createPlaceholder(o.width,o.height)),document.createElement("img")),c=(o._setAttributes(a,i.image),{class:t.image,src:o.placeholder,width:o.width+"",height:o.height+"",title:o.title,alt:o.alt}),c=(o.isLoaded?(c.src=o.src,c.srcset=o.srcset):(c[o.tmpl.opt.src]=o.src,c[o.tmpl.opt.srcset]=o.srcset),o._setAttributes(a,c),o.isPicture&&(n=document.createElement("picture"),o._setAttributes(n,i.picture),o.sources.forEach(function(e){var t=document.createElement("source"),i={media:e.media,sizes:e.sizes,type:e.type};o.isLoaded?i.srcset=e.srcset:i[o.tmpl.opt.srcset]=e.srcset,o._setAttributes(t,i),n.appendChild(t)}),n.appendChild(a)),o.hasRibbon&&((e=document.createElement("div")).className=o.ribbon.type,(c=document.createElement("span")).innerHTML=o.ribbon.text,e.appendChild(c)),document.createElement("span")),u=(c.className=t.overlay,document.createElement("span")),d=(u.className=t.wrap,document.createElement("div")),h=(d.className=t.loader,document.createElement("figcaption")),p=(o._setAttributes(h,i.caption.elem),o._setAttributes(h,{class:t.caption.elem}),document.createElement("div")),f=(o._setAttributes(p,i.caption.inner),o._setAttributes(p,{class:t.caption.inner}),null),g=o.showCaptionTitle&&x.string(o.caption)&&0<o.caption.length,f=(g&&(f=document.createElement("div"),o._setAttributes(f,i.caption.title),f.className=t.caption.title,f.innerHTML=0<o.maxCaptionLength?C.trimTo(o.caption,o.maxCaptionLength):o.caption,p.appendChild(f)),null),m=o.showCaptionDescription&&x.string(o.description)&&0<o.description.length,v=(m&&(f=document.createElement("div"),o._setAttributes(f,i.caption.description),f.className=t.caption.description,f.innerHTML=0<o.maxDescriptionLength?C.trimTo(o.description,o.maxDescriptionLength):o.description,p.appendChild(f)),null),i=x.array(o.buttons)&&0<o.buttons.length;return i&&((v=document.createElement("div")).className=t.caption.buttons,w.each(o.buttons,function(e){var t;x.hash(e)&&x.string(e.text)&&((t=document.createElement("a")).innerHTML=e.text,x.string(e.url)&&0<e.url.length&&(t.href=e.url),x.string(e.rel)&&0<e.rel.length&&(t.rel=e.rel),x.string(e.target)&&0<e.target.length&&(t.target=e.target),x.string(e.classes)&&0<e.classes.length&&(t.className=e.classes),x.hash(e.attr)&&o._setAttributes(t,e.attr),v.appendChild(t))}),p.appendChild(v)),h.appendChild(p),o.isPicture?u.appendChild(n):u.appendChild(a),l.appendChild(c),l.appendChild(u),r.appendChild(l),(g||m||i)&&r.appendChild(h),o.hasRibbon&&s.appendChild(e),s.appendChild(r),s.appendChild(d),o.$el=y(s).data(b.DATA_ITEM,o),o.el=s,o.$inner=y(r),o.$anchor=y(l).on("click.foogallery",{self:o},o.onAnchorClick),o.$overlay=y(c),o.$wrap=y(u),o.isPicture?o.$image=y(n):o.$image=y(a),o.$caption=y(h).on("click.foogallery",{self:o},o.onCaptionClick),o.$loader=y(d),!0},append:function(){var e=this;return e.isCreated&&!e.isAttached&&(e.tmpl.trigger("append-item",[e]).isDefaultPrevented()||(e.tmpl.$el.append(e.$el.removeClass(e.cls.hidden)),e.isAttached=!0),e.isAttached&&(e.isLoaded||e.tmpl.items.observe(e),e.tmpl.trigger("appended-item",[e]))),e.isAttached},detach:function(){var e=this;return e.isCreated&&e.isAttached&&(e.tmpl.items.unobserve(e),e.tmpl.trigger("detach-item",[e]).isDefaultPrevented()||(e.$el.detach().removeClass(e.cls.hidden),e.isAttached=!1),e.isAttached||e.tmpl.trigger("detached-item",[e])),!e.isAttached},load:function(){var i=this;return x.promise(i._load)?i._load:i._load=y.Deferred(function(t){return i.isLoaded?t.resolve(i):i.isCreated&&i.isAttached?i.tmpl.trigger("load-item",[i]).isDefaultPrevented()?t.reject("default prevented"):(i.isLoading=!0,i.tmpl.items.unobserve(i),i.$el.removeClass(i.cls.idle).removeClass(i.cls.hidden).removeClass(i.cls.loaded).removeClass(i.cls.error).addClass(i.cls.loading),void i.loadIMG().then(function(){i.isLoading=!1,i.isLoaded=!0,i.$el.removeClass(i.cls.loading).addClass(i.cls.loaded),i.tmpl.trigger("loaded-item",[i]),t.resolve(i)},function(e){i.isLoading=!1,i.isError=!0,i.$el.removeClass(i.cls.loading).addClass(i.cls.error),i.tmpl.trigger("error-item",[i]),t.reject(e)})):t.reject("not created or attached")}).promise()},loadIMG:function(){var r=this;return new y.Deferred(function(e){var t=r.getImageElement();if(!t)return e.reject("Unable to find img element.");var i=t.src,n=t.srcset,{cors:o}=(t.onload=function(){t.onload=t.onerror=null,e.resolve(t)},t.onerror=function(){t.onload=t.onerror=null,x.empty(i)?t.removeAttribute("src"):t.src=i,x.empty(n)?t.removeAttribute("srcset"):t.srcset=n,e.reject(t)},r.isPicture&&r.$image.find("source").each(function(e,t){var i=t.getAttribute(r.tmpl.opt.srcset);x.empty(i)||(t.srcset=i)}),r.tmpl)["opt"];x.string(o)&&null===t.crossOrigin&&b.isCrossOrigin(r.src)&&(t.crossOrigin=o),x.empty(r.srcset)||(t.srcset=r.srcset),t.src=r.src,t.complete&&t.onload()}).promise()},getImageElement:function(){return(this.isPicture?this.$image.find("img"):this.$image).get(0)},createPlaceholder:function(e,t){return x.number(e)&&x.number(t)?"data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22"+e+"%22%20height=%22"+t+"%22%20viewBox=%220%200%20"+e+"%20"+t+"%22%3E%3C/svg%3E":""},getTypeClass:function(){return this.cls.types[this.type]||""},scrollTo:function(e){var t;return this.isAttached&&((t=this.$el.get(0)).scrollIntoViewIfNeeded?t.scrollIntoViewIfNeeded():t.scrollIntoView("top"===e)),this},updateState:function(){this.tmpl.state.update(this.tmpl.state.get(this))},toJSON:function(){return{type:this.type,id:this.id,productId:this.productId,href:this.href,src:this.src,srcset:this.srcset,width:this.width,height:this.height,alt:this.alt,title:this.title,caption:this.caption,description:this.description,tags:this.tags.slice(),maxCaptionLength:this.maxCaptionLength,maxDescriptionLength:this.maxDescriptionLength,showCaptionTitle:this.showCaptionTitle,showCaptionDescription:this.showCaptionDescription,noLightbox:this.noLightbox,panelHide:this.panelHide,attr:r.extend({},this.attr)}},onAnchorClick:function(e){var t=e.data.self;t.tmpl.trigger("anchor-click-item",[t]).isDefaultPrevented()?e.preventDefault():t.updateState()},onCaptionClick:function(e){var t=e.data.self;!t.tmpl.trigger("caption-click-item",[t]).isDefaultPrevented()&&0<t.$anchor.length&&!y(e.target).is("a[href],:input")&&t.$anchor.get(0).click()}}),b.template.configure("core",{item:{type:"item",id:"",href:"",placeholder:"",src:"",srcset:"",sources:[],width:0,height:0,title:"",alt:"",caption:"",description:"",tags:[],maxCaptionLength:0,maxDescriptionLength:0,showCaptionTitle:!0,showCaptionDescription:!0,noLightbox:!1,panelHide:!1,buttons:[],ribbon:{type:null,text:null},exif:{aperture:null,camera:null,created_timestamp:null,shutter_speed:null,focal_length:null,iso:null,orientation:null},attr:{elem:{},inner:{},anchor:{},image:{},picture:{},caption:{elem:{},inner:{},title:{},description:{}}}}},{item:{elem:"fg-item",inner:"fg-item-inner",exif:"fg-item-exif",anchor:"fg-thumb",overlay:"fg-image-overlay",wrap:"fg-image-wrap",image:"fg-image",loader:"fg-loader",idle:"fg-idle",loading:"fg-loading",loaded:"fg-loaded",error:"fg-error",hidden:"fg-hidden",noLightbox:"fg-no-lightbox",panelHide:"fg-panel-hide",types:{item:"fg-type-unknown"},caption:{elem:"fg-caption",inner:"fg-caption-inner",title:"fg-caption-title",description:"fg-caption-desc",buttons:"fg-caption-buttons",button:"fg-caption-button"}}},{item:{exif:{aperture:"Aperture",camera:"Camera",created_timestamp:"Date",shutter_speed:"Exposure",focal_length:"Focal Length",iso:"ISO",orientation:"Orientation"}}}),b.components.register("item",b.Item)}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,(FooGallery.utils.fn,FooGallery.utils.obj),FooGallery.utils.str),function(e){e.Image=e.Item.extend({}),e.template.configure("core",null,{item:{types:{image:"fg-type-image"}}}),e.components.register("image",e.Image)}((FooGallery.$,FooGallery),(FooGallery.utils,FooGallery.utils.is)),function(e){e.Video=e.Item.extend({construct:function(e,t){this._super(e,t),this.cover=this.opt.cover},doParseItem:function(e){return!!this._super(e)&&(this.cover=this.$anchor.data("cover")||this.cover,!0)},doCreateItem:function(){return!!this._super()&&(this.$anchor.attr("data-cover",this.cover),!0)},toJSON:function(){var e=this._super();return e.cover=this.cover,e}}),e.template.configure("core",{item:{cover:""}},{item:{types:{video:"fg-type-video"}}}),e.components.register("video",e.Video)}((FooGallery.$,FooGallery),(FooGallery.utils,FooGallery.utils.is)),function(e){e.Iframe=e.Item.extend({}),e.template.configure("core",null,{item:{types:{iframe:"fg-type-iframe"}}}),e.components.register("iframe",e.Iframe)}((FooGallery.$,FooGallery),(FooGallery.utils,FooGallery.utils.is)),function(e){e.Html=e.Item.extend({}),e.template.configure("core",null,{item:{types:{html:"fg-type-html"}}}),e.components.register("html",e.Html)}((FooGallery.$,FooGallery),(FooGallery.utils,FooGallery.utils.is)),function(e){e.Embed=e.Video.extend({}),e.template.configure("core",null,{item:{types:{embed:"fg-type-embed fg-type-video"}}}),e.components.register("embed",e.Embed)}((FooGallery.$,FooGallery),(FooGallery.utils,FooGallery.utils.is)),function(e,c,u){e.FilteringFactory=e.Factory.extend({construct:function(){this.registered={}},register:function(e,t,i,n,o,r,s){t=this._super(e,t,s);return t&&((s=this.registered)[e].ctrl=c.fn(i)?i:null,s[e].opt=c.hash(n)?n:{},s[e].cls=c.hash(o)?o:{},s[e].il8n=c.hash(r)?r:{}),t},type:function(e){return c.hash(e)&&c.hash(e=e.filtering)&&c.string(e.type)&&this.contains(e.type)?e.type:null},merge:function(e){e=u.extend({},e);var t=this.type(e),i=this.registered,n=i.default.opt,o=i.default.cls,r=i.default.il8n,s=c.hash(e.filtering)?e.filtering:{},a=c.hash(e.cls)&&c.hash(e.cls.filtering)?u.extend({},e.cls.filtering):{},l=c.hash(e.il8n)&&c.hash(e.il8n.filtering)?u.extend({},e.il8n.filtering):{};return c.hash(e.cls)||(e.cls={}),c.hash(e.il8n)||(e.il8n={}),"default"!==t&&this.contains(t)?(e.filtering=u.extend({},n,i[t].opt,s,{type:t}),e.cls=u.extend(e.cls,{filtering:o},{filtering:i[t].cls},{filtering:a}),e.il8n=u.extend(e.il8n,{filtering:r},{filtering:i[t].il8n},{filtering:l})):(e.filtering=u.extend({},n,s,{type:t}),e.cls=u.extend(e.cls,{filtering:o},{filtering:a}),e.il8n=u.extend(e.il8n,{filtering:r},{filtering:l})),e},hasCtrl:function(e){e=this.registered[e];return c.hash(e)&&c.fn(e.ctrl)},makeCtrl:function(e,t,i,n){e=this.registered[e];return c.hash(e)&&c.fn(e.ctrl)?new e.ctrl(t,i,n):null}}),e.filtering=new e.FilteringFactory}(FooGallery,FooGallery.utils.is,(FooGallery.utils.fn,FooGallery.utils.obj)),function(u,r,y,h,d){r.Filtering=r.Component.extend({construct:function(e){var t=this;t._super(e),t.opt=t.tmpl.opt.filtering,t.cls=t.tmpl.cls.filtering,t.il8n=t.tmpl.il8n.filtering,t.sel=t.tmpl.sel.filtering,t.pushOrReplace=t.opt.pushOrReplace,t.type=t.opt.type,t.theme=t.opt.theme??e.getCSSClass("theme"),t.position=t.opt.position,t.mode=t.opt.mode,t.sortBy=t.opt.sortBy,t.sortInvert=t.opt.sortInvert,t.min=t.opt.min,t.limit=t.opt.limit,t.showCount=t.opt.showCount,t.noAll=t.opt.noAll,t.autoSelected=t.opt.autoSelected,t.adjustSize=t.opt.adjustSize,t.smallest=t.opt.smallest,t.largest=t.opt.largest,t.adjustOpacity=t.opt.adjustOpacity,t.lightest=t.opt.lightest,t.darkest=t.opt.darkest,t.current=[],t.ctrls=[],t.tags=[],t.search="",t.isMultiLevel=!1},fromHash:function(e){var t=this.tmpl.state.opt;return e.split(t.arraySeparator).map(function(e){return h.empty(e)?[]:e.split(t.array).map(function(e){return decodeURIComponent(e)})})},toHash:function(e){var t=this.tmpl.state.opt,i=null;return h.array(e)&&(i=u.map(e,function(e){return(h.array(e)?u.map(e,function(e){return h.undef(e)?"":encodeURIComponent(e)}):[]).join(t.array)}).join(t.arraySeparator)),h.empty(i)?null:i},getState:function(){return h.array(this.current)&&!this.current.every(function(e){return 0===e.length})?this.current.slice():null},setState:function(e){var t=this,i=(t.rebuild(),e.filter);if(t.autoSelected&&(!h.array(e.filter)||0===e.filter.length)&&0<t.tags.length)for(var i=[],n=0;n<t.tags.length;n++)h.array(t.tags[n])&&(0===n?i.push([t.tags[n][0].value]):i.push([]));t.set(i,"",!1)},destroy:function(){var e=this;e.tags.splice(0,e.tags.length),u.each(e.ctrls.splice(0,e.ctrls.length),function(e,t){t.destroy()}),e._super()},count:function(e,t){e=h.array(e)?e:[];for(var i,n={__ALL__:0},o=0===(t=h.array(t)?t:[]).length,r=0,s=e.length;r<s;r++)if(!h.empty(i=e[r].tags)){n.__ALL__++;for(var a,l=0,c=i.length;l<c;l++)h.empty(a=i[l])||!o&&-1===y.inArray(a,t)||(h.number(n[a])?n[a]++:n[a]=1)}for(var u=0,d=t.length;u<d;u++)n.hasOwnProperty(t[u])||(n[t[u]]=0);return n},createTagObjects:function(e,t,i,n){var o,r,s=this,a=[],l=s.count(e,t),c=1/0,u=0,d=-1;if(0!==l.__ALL__){for(var h in l)l.hasOwnProperty(h)&&(o=l[h],r="__ALL__"===h,s.noAll&&r||(s.min<=0||o>=s.min)&&(0<t.length?d=y.inArray(h,t):d++,a.push({level:i,index:d,value:r?"":h,text:r?n:h,count:o,percent:1,size:s.largest,opacity:s.darkest}),o<c&&(c=o),u<o&&(u=o)));if(0<s.limit&&a.length>s.limit&&(a.sort(function(e,t){return t.count-e.count}),a=a.slice(0,s.limit)),!s.isMultiLevel&&(!0===s.adjustSize||!0===s.adjustOpacity))for(var p,f=s.largest-s.smallest,g=s.darkest-s.lightest,m=0,v=a.length;m<v;m++)(p=a[m]).percent=(p.count-c)/(u-c),p.size=s.adjustSize?Math.round(f*p.percent+s.smallest):s.largest,p.opacity=s.adjustOpacity?g*p.percent+s.lightest:s.darkest;"none"===s.sortBy?s.sort(a,"index",!1):s.sort(a,s.sortBy,s.sortInvert)}return a},showControl:function(){return this.opt.search||!this.tags.every(function(e){return 0===e.length})},build:function(e){var i,t,n=this,o=e?n.tmpl.items.available():n.tmpl.items.all();n.isMultiLevel=0<n.opt.tags.length&&h.object(n.opt.tags[0]),0<o.length&&(n.isMultiLevel?u.each(n.opt.tags,function(e,t){i=n.createTagObjects(o,t.tags,e,t.all||n.il8n.all),h.empty(i)||n.tags.push(i)}):(i=n.createTagObjects(o,n.opt.tags,0,n.il8n.all),h.empty(i)||n.tags.push(i))),n.showControl()&&r.filtering.hasCtrl(n.type)&&("both"!==(e=n.position)&&"top"!==e||(t=r.filtering.makeCtrl(n.type,n.tmpl,n,"top")).create()&&(t.append(),n.ctrls.push(t)),"both"!==e&&"bottom"!==e||(t=r.filtering.makeCtrl(n.type,n.tmpl,n,"bottom")).create()&&(t.append(),n.ctrls.push(t)))},rebuild:function(e){var t=this;t.tags.splice(0,t.tags.length),u.each(t.ctrls.splice(0,t.ctrls.length),function(e,t){t.destroy()}),t.build(e)},controls:function(i,n){u.each(this.ctrls,function(e,t){t.update(i,n)})},hasAll:function(t,e){return e.every(function(e){return 0===e.length||h.array(t.tags)&&e.every(function(e){return-1!==t.tags.indexOf(e)})})},hasSome:function(t,e){return e.every(function(e){return 0===e.length||h.array(t.tags)&&e.some(function(e){return-1!==t.tags.indexOf(e)})})},isMatch:function(e,t){return h.string(e.title)&&t.test(e.title)||h.string(e.alt)&&t.test(e.alt)||h.string(e.caption)&&t.test(e.caption)||h.string(e.description)&&t.test(e.description)||h.array(e.tags)&&e.tags.some(function(e){return t.test(e)})},set:function(o,r,s){h.string(o)&&(o=[[o]]),h.array(o)||(o=[]);var a,l,e,c=this;return(!c.arraysEqual(c.current,o)||c.search!==r)&&(l=c.current.slice(),!c.tmpl.trigger("before-filter-change",[c.current,o,e=function(){(s=!h.boolean(s)||s)&&!c.tmpl.state.exists()&&(a=c.tmpl.state.get(),c.tmpl.state.update(a,c.pushOrReplace));var t,e,i=c.search!==r,n=h.empty(r);h.empty(o)&&n?c.tmpl.items.reset():(e=c.tmpl.items.all(),n||(t=new RegExp(d.escapeRegExp(r),"i"),e=u.map(e,function(e){return c.isMatch(e,t)?e:null})),e="intersect"===c.mode?u.map(e,function(e){return c.hasAll(e,o)?e:null}):u.map(e,function(e){return c.hasSome(e,o)?e:null}),c.tmpl.items.setAvailable(e)),c.current=o.slice(),c.search=r,i?c.rebuild(!n):c.controls(c.current,c.search),c.tmpl.pages?(c.tmpl.pages.rebuild(),c.tmpl.pages.set(1,null,null,!0)):(c.tmpl.items.detach(c.tmpl.items.all()),c.tmpl.items.create(c.tmpl.getAvailable(),!0)),s&&(a=c.tmpl.state.get(),c.tmpl.state.update(a,c.pushOrReplace)),c.tmpl.trigger("after-filter-change",[c.current,l])}]).isDefaultPrevented()&&(e(),!0))},arraysEqual:function(e,t){if(e.length!==t.length)return!1;e=e.slice(),t=t.slice(),e.sort(),t.sort();for(var i=e.length;i--;)if(e[i]!==t[i])return!1;return!0},sort:function(e,o,r){e.sort(function(e,t){var i,n;return e.hasOwnProperty(o)&&t.hasOwnProperty(o)?h.string(e[o])&&h.string(t[o])?(i=e[o],n=t[o],r?n.localeCompare(i):i.localeCompare(n)):r?t[o]-e[o]:e[o]-t[o]:0})},apply:function(e,t){this.set(e,t,!this.tmpl.pages)}}),r.FilteringControl=r.Component.extend({construct:function(e,t,i){this._super(e),this.filter=t,this.position=i,this.$container=null},create:function(){var i=this;return i.$container=u("#"+i.tmpl.id+"_filtering-"+i.position),0<i.$container.length?(i._containerExisted=!0,i.$container.removeClass(function(e,t){return i._placeholderClasses=t.match(/(^|\s)fg-ph-\S+/g)||[],i._placeholderClasses.join(" ")}).addClass([i.filter.cls.container,i.filter.theme].join(" "))):i.$container=u("<nav/>",{class:[i.filter.cls.container,i.filter.theme].join(" ")}),i.$container.css("--fg-base-size",i.filter.largest+"px").toggleClass("fg-multi-level",i.filter.isMultiLevel),!0},destroy:function(){var e=this;e._containerExisted?e.$container.empty().addClass(e._placeholderClasses.join(" ")):e.$container.remove(),e.$container=null},append:function(){var e=this;e._containerExisted||("top"===e.position?e.$container.insertBefore(e.tmpl.$el):e.$container.insertAfter(e.tmpl.$el))},update:function(e){}}),r.filtering.register("default",r.Filtering,null,{type:"none",theme:null,pushOrReplace:"push",position:"none",mode:"single",sortBy:"value",sortInvert:!1,search:!1,noAll:!1,autoSelected:!1,tags:[],min:0,limit:0,showCount:!1,adjustSize:!1,adjustOpacity:!1,smallest:12,largest:16,lightest:.5,darkest:1},{container:"fg-filtering-container"},null,-100)}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.str),function(u,d,s,h){d.Tags=d.Filtering.extend({construct:function(e){this._super(e),(this.hideTopTags=this.opt.search&&"bottom"===this.position)&&(this.position="both")}}),d.TagsControl=d.FilteringControl.extend({construct:function(e,t,i){this._super(e,t,i),this.$container=null,this.$wrap=null,this.searchEnabled="top"===this.position&&this.filter.opt.search,this.search={$wrap:null,$inner:null,$input:null,$clear:null,$submit:null},this.lists=[],this.dropdownEnabled=this.isDropdownStyle(),this.collapseEnabled=this.filter.opt.collapse,this.collapse=null,this.onCollapseChange=this.onCollapseChange.bind(this),this._wrappedAt=0,this.onLayout=this.onLayout.bind(this)},isDropdownStyle:function(){return["dropdown","dropdown-block"].includes(this?.filter?.opt?.style)},shouldRenderTags:function(){return("bottom"===this.position||"top"===this.position&&!this.filter.hideTopTags)&&0<this.filter.tags.length},create:function(){if(this._super()){const{cls:e,opt:t,search:i,tags:n,isMultiLevel:o,showCount:r}=this["filter"];if(this.searchEnabled&&(this.$container.append(this.createSearch(i)),h.empty(t.searchPosition)||this.$container.addClass("fg-search-"+t.searchPosition)),this.$container.addClass("fg-tags-"+t.align),h.string(t.style)&&this.$container.addClass("fg-style-"+t.style),this.shouldRenderTags()){this.collapseEnabled&&(this.collapse=matchMedia("(max-width: 600px)"),this.collapse.addEventListener("change",this.onCollapseChange),this.dropdownEnabled=this.isDropdownStyle()||this.collapse.matches),this.$wrap=this.createWrap().appendTo(this.$container);let i=this.$wrap;this.dropdownEnabled&&(i=u("<div/>",{class:e.dropdown.wrap}).appendTo(this.$wrap)),n.forEach((e,t)=>this.lists.push(this.createList(e,t).appendTo(i))),o||!0!==r||this.$container.addClass(e.showCount),this.tmpl.on("layout",this.onLayout)}else this.$container.addClass(e.noTags);return!0}return!1},createSearch:function(e){var t=this,i=t.filter.cls.search,n=t.filter.il8n;return t.search.$wrap=u("<div/>",{class:i.wrap}),t.search.$inner=u("<div/>",{class:i.inner}).appendTo(t.search.$wrap),t.search.$input=u("<input/>",{type:"text",class:i.input,placeholder:n.searchPlaceholder,name:t.tmpl.id+"__search"}).on("input.foogallery",{self:t},t.onSearchInput).on("keydown.foogallery",{self:t},t.onSearchKeydown).appendTo(t.search.$inner),t.search.$clear=u("<button/>",{type:"button",class:i.clear}).append(u("<span/>",{class:i.reader,text:n.searchClear})).append(d.icons.get("close")).on("click.foogallery",{self:t},t.onSearchClear).appendTo(t.search.$inner),t.search.$submit=u("<button/>",{type:"button",class:i.submit}).append(u("<span/>",{class:i.reader,text:n.searchSubmit})).append(d.icons.get("search")).on("click.foogallery",{self:t},t.onSearchSubmit).appendTo(t.search.$inner),h.empty(e)||(t.search.$wrap.addClass(i.hasValue),t.search.$input.val(e).attr("placeholder",e)),t.search.$wrap},createWrap:function(){return u("<div/>",{class:this.filter.cls.wrap})},createList:function(e,t){const i=this;let n,o;var r=i.filter.cls;return i.dropdownEnabled?(n=u("<label/>",{class:r.dropdown.item}).append(u("<span/>").addClass(r.dropdown.icon).append(d.icons.get("arrow-down"))),o=u("<select/>",{class:r.dropdown.select,name:i.tmpl.id+"__tags-"+t}).on("change.foogallery",{self:i},i.onDropdownChange).prependTo(n)):n=o=u("<ul/>",{class:r.list}),e.forEach((e,t)=>o.append(i.createItem(e,((e,t)=>0===t&&(i.filter.autoSelected||h.empty(e?.value)))(e,t)))),n},onCollapseChange:function(){var e=this.dropdownEnabled;this.dropdownEnabled=this.isDropdownStyle()||this.collapse.matches,this.dropdownEnabled!==e&&this.recreateLists(e)},destroyLists:function(t){const i=this.filter["sel"];this.lists.forEach(e=>{t?e.find(i.dropdown.select).off("change.foogallery",this.onDropdownChange):e.find(i.link).off("click.foogallery",this.onLinkClick),e.remove()}),this.$wrap?.empty(),this.lists=[]},recreateLists:function(e){var t=this.filter["cls"];this.destroyLists(e);let i=this.$wrap;this.dropdownEnabled&&(i=u("<div/>",{class:t.dropdown.wrap}).appendTo(this.$wrap)),this.filter.tags.forEach((e,t)=>this.lists.push(this.createList(e,t).appendTo(i))),this.update(this.filter.current,this.filter.search)},destroy:function(){this.destroyLists(this.dropdownEnabled),this.tmpl.off("layout",this.onLayout),this._super()},update:function(o,e){var t=this,r=t.filter.cls,i=t.filter.sel;t.searchEnabled&&(t.search.$wrap.toggleClass(r.search.hasValue,!h.empty(e)),t.search.$input.val(e)),t.lists.forEach(function(e,n){t.dropdownEnabled?h.empty(o[n])?e.find(i.dropdown.select).val(""):e.find(i.dropdown.select).val(1===o[n].length?o[n][0]:o[n]):e.find(i.item).removeClass(r.selected).each(function(){var e=u(this),t=e.data("tag")+"",i=h.empty(t),i=i&&h.empty(o[n])||!i&&-1!==s.inArray(t,o[n]);e.toggleClass(r.selected,i)})})},createItem:function(e,t){var{dropdownEnabled:i,filter:{cls:n,isMultiLevel:o,showCount:r}}=this;if(i){const s=u("<option/>",{value:e.value,text:d.decodeHTMLEntities(h.string(e.text)?e.text:e.value)}).data("tagObject",e);return t&&s.attr("selected",""),s}{const a=u("<li/>",{class:n.item}).attr("data-tag",e.value),l=u("<span/>",{class:n.text}).html(h.string(e.text)?e.text:e.value),c=u("<a/>",{href:"#tag-"+e.value,class:n.link}).on("click.foogallery",{self:this,tag:e},this.onLinkClick).css("font-size",e.size).css("opacity",e.opacity).append(l).appendTo(a);return t&&a.addClass(n.selected),o||!0!==r||c.append(u("<span/>",{text:e.count,class:n.count})),a}},toggleTag:function(t){if(h.object(t)){const{current:n,mode:o,search:r}=this.filter;let e=n.map(e=>h.array(e)?e.slice():e);if(h.empty(t.value))e[t.level]=[];else{h.array(e[t.level])||(e[t.level]=[]);var i=s.inArray(t.value,e[t.level]);switch(o){case"union":case"intersect":-1===i?e[t.level].push(t.value):e[t.level].splice(i,1);break;default:e[t.level]=-1===i?[t.value]:[]}}e.every(h.empty)&&(e=[]),this.filter.apply(e,r)}},onDropdownChange:function(e){var t=e.target.querySelector(`[value="${e.target.value}"]`);e.data.self.toggleTag(u(t).data("tagObject"))},onLinkClick:function(e){e.preventDefault(),e.data.self.toggleTag(e.data.tag)},onLayout:function(e,t){var n=this;if(n.dropdownEnabled)n.lists.forEach(e=>e.removeClass("fg-wrapped")),n.$container.removeClass("fg-has-wrapped"),n._wrappedAt=0;else{let i=!1;n.lists.forEach(e=>{var t=e.get(0),t=t?.lastElementChild?.offsetTop!==t?.firstElementChild?.offsetTop;e.toggleClass("fg-wrapped",t),!i&&t&&(i=!0)}),t>=n._wrappedAt&&(n.$container.toggleClass("fg-has-wrapped",i),n._wrappedAt=i?t:0)}},onSearchInput:function(e){var e=e.data.self,t=e.filter.cls.search,i=!h.empty(e.search.$input.val())||e.search.$input.attr("placeholder")!==e.filter.il8n.searchPlaceholder;e.search.$wrap.toggleClass(t.hasValue,i)},onSearchKeydown:function(e){13===e.which&&(e=e.data.self).filter.apply([],e.search.$input.val())},onSearchClear:function(e){e.preventDefault();e=e.data.self;e.search.$wrap.removeClass(e.filter.cls.search.hasValue),e.search.$input.val(""),e.search.$input.attr("placeholder")!==e.filter.il8n.searchPlaceholder&&e.filter.apply([],"")},onSearchSubmit:function(e){e.preventDefault();e=e.data.self;e.filter.apply([],e.search.$input.val())}}),d.filtering.register("tags",d.Tags,d.TagsControl,{type:"tags",position:"top",style:null,align:"center",pushOrReplace:"push",searchPosition:"above-center",collapse:!1},{showCount:"fg-show-count",noTags:"fg-no-tags",wrap:"fg-tag-wrap",list:"fg-tag-list",item:"fg-tag-item",link:"fg-tag-link",text:"fg-tag-text",count:"fg-tag-count",selected:"fg-selected",wrapped:"fg-wrapped",search:{wrap:"fg-search-wrap",inner:"fg-search-inner",input:"fg-search-input",clear:"fg-search-clear",submit:"fg-search-submit",hasValue:"fg-search-has-value",reader:"fg-sr-only"},dropdown:{wrap:"fg-tag-dropdown-wrap",list:"fg-tag-dropdown-list",item:"fg-tag-dropdown",select:"fg-tag-dropdown-select",icon:"fg-tag-dropdown-icon"}},{all:"All",none:"No items found.",searchPlaceholder:"Search gallery...",searchSubmit:"Submit search",searchClear:"Clear search"},-100)}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is),function(e,c,u){e.PagingFactory=e.Factory.extend({construct:function(){this.registered={}},register:function(e,t,i,n,o,r,s){t=this._super(e,t,s);return t&&((s=this.registered)[e].ctrl=c.fn(i)?i:null,s[e].opt=c.hash(n)?n:{},s[e].cls=c.hash(o)?o:{},s[e].il8n=c.hash(r)?r:{}),t},type:function(e){return c.hash(e)&&c.hash(e=e.paging)&&c.string(e.type)&&this.contains(e.type)?e.type:null},merge:function(e){e=u.extend({},e);var t=this.type(e),i=this.registered,n=i.default.opt,o=i.default.cls,r=i.default.il8n,s=c.hash(e.paging)?e.paging:{},a=c.hash(e.cls)&&c.hash(e.cls.paging)?u.extend({},e.cls.paging):{},l=c.hash(e.il8n)&&c.hash(e.il8n.paging)?u.extend({},e.il8n.paging):{};return c.hash(e.cls)||(e.cls={}),c.hash(e.il8n)||(e.il8n={}),"default"!==t&&this.contains(t)?(e.paging=u.extend({},n,i[t].opt,s,{type:t}),e.cls=u.extend(e.cls,{paging:o},{paging:i[t].cls},{paging:a}),e.il8n=u.extend(e.il8n,{paging:r},{paging:i[t].il8n},{paging:l})):(e.paging=u.extend({},n,s,{type:t}),e.cls=u.extend(e.cls,{paging:o},{paging:a}),e.il8n=u.extend(e.il8n,{paging:r},{paging:l})),e},hasCtrl:function(e){e=this.registered[e];return c.hash(e)&&c.fn(e.ctrl)},makeCtrl:function(e,t,i,n){e=this.registered[e];return c.hash(e)&&c.fn(e.ctrl)?new e.ctrl(t,i,n):null}}),e.paging=new e.PagingFactory}(FooGallery,FooGallery.utils.is,(FooGallery.utils.fn,FooGallery.utils.obj)),function(t,r,n,l){r.Paging=r.Component.extend({construct:function(e){var t=this;t._super(e),t.opt=t.tmpl.opt.paging,t.cls=t.tmpl.cls.paging,t.il8n=t.tmpl.il8n.paging,t.sel=t.tmpl.sel.paging,t.pushOrReplace=t.opt.pushOrReplace,t.type=t.opt.type,t.theme=t.opt.theme??e.getCSSClass("theme"),t.size=t.opt.size,t.position=t.opt.position,t.scrollToTop=t.opt.scrollToTop,t.current=0,t.total=0,t.ctrls=[],t._pages=[]},init:function(){},fromHash:function(e){e=parseInt(e);return isNaN(e)?null:e},toHash:function(e){return l.number(e)&&0<e?e.toString():null},getState:function(){return this.isValid(this.current)?this.current:null},setState:function(e){this.rebuild();var t=!1;e.item&&!this.contains(e.page,e.item)&&(e.page=this.find(e.item),e.page=0!==e.page?e.page:1,t=!0),this.set(e.page,t,!1,!1)},destroy:function(){var e=this;e._pages.splice(0,e._pages.length),t.each(e.ctrls.splice(0,e.ctrls.length),function(e,t){t.destroy()}),e._super()},build:function(){var e=this,t=e.tmpl.items.available();e.total=0<e.size&&0<t.length?Math.ceil(t.length/e.size):1;for(var i,n,o=0;o<e.total;o++)e._pages.push(t.splice(0,e.size));1<e.total&&r.paging.hasCtrl(e.type)&&("both"!==(i=e.position)&&"top"!==i||(n=r.paging.makeCtrl(e.type,e.tmpl,e,"top")).create()&&(n.append(),e.ctrls.push(n)),"both"!==i&&"bottom"!==i||(n=r.paging.makeCtrl(e.type,e.tmpl,e,"bottom")).create()&&(n.append(),e.ctrls.push(n)))},rebuild:function(){var e=this;e.current=0,e.total=0,e._pages.splice(0,e._pages.length),t.each(e.ctrls.splice(0,e.ctrls.length),function(e,t){t.destroy()}),e.build()},all:function(){return this._pages.slice()},available:function(){return this.get(this.current)},controls:function(i){this.isValid(i)&&t.each(this.ctrls,function(e,t){t.update(i)})},isValid:function(e){return l.number(e)&&0<e&&e<=this.total},number:function(e){return this.isValid(e)?e:0===this.current?1:this.current},create:function(e,t){var i=this,n=(e=i.number(e))-1,o=i._pages[n],t=t?i.tmpl.items.all():i._pages.reduce(function(e,t,i){return i===n?e:e.concat(t)},i.tmpl.items.unavailable());i.current=e,i.tmpl.items.detach(t),i.tmpl.items.create(o,!0)},get:function(e){return this.isValid(e)?(e=this.number(e),this._pages[e-1]):[]},set:function(e,t,i,n){var o=this;if(o.isValid(e)){o.controls(e);var r,s,a=o.number(e);if(a!==o.current)return s=o.current,!o.tmpl.trigger("before-page-change",[o.current,a,e=function(){var e;i=!l.boolean(i)||i,n=!!l.boolean(n)&&n,i&&1===o.current&&!o.tmpl.state.exists()&&(r=o.tmpl.state.get(),o.tmpl.state.update(r,o.pushOrReplace)),o.create(a,n),i&&(r=o.tmpl.state.get(),o.tmpl.state.update(r,o.pushOrReplace)),o.tmpl.trigger("page-change",[o.current,s,n]),o.scrollToTop&&l.boolean(t)&&t&&(0<(e=o.get(o.current)).length&&e[0].scrollTo("top")),o.tmpl.trigger("after-page-change",[o.current,s,n])},n]).isDefaultPrevented()&&(e(),!0)}return!1},find:function(e){for(var t=0,i=this._pages.length;t<i;t++)if(-1!==n.inArray(e,this._pages[t]))return t+1;return 0},contains:function(e,t){e=this.get(e);return-1!==n.inArray(t,e)},first:function(){this.goto(1)},last:function(){this.goto(this._pages.length)},prev:function(){this.goto(this.current-1)},next:function(){this.goto(this.current+1)},goto:function(e){this.set(e,!0)}}),r.PagingControl=r.Component.extend({construct:function(e,t,i){var n=this;n._super(e),n.pages=t,n.position=i,n.$container=null,n._containerExisted=!1,n._placeholderClasses=[]},create:function(){var i=this;return i.$container=t("#"+i.tmpl.id+"_paging-"+i.position),0<i.$container.length?(i._containerExisted=!0,i.$container.removeClass(function(e,t){return i._placeholderClasses=t.match(/(^|\s)fg-ph-\S+/g)||[],i._placeholderClasses.join(" ")}).addClass([i.pages.cls.container,i.pages.theme].join(" "))):i.$container=t("<nav/>",{class:[i.pages.cls.container,i.pages.theme].join(" ")}),!0},destroy:function(){var e=this;e._containerExisted?e.$container.empty().removeClass().addClass(e._placeholderClasses.join(" ")):e.$container.remove(),e.$container=null},append:function(){var e=this;e._containerExisted||("top"===e.position?e.$container.insertBefore(e.tmpl.$el):e.$container.insertAfter(e.tmpl.$el))},update:function(e){}}),r.paging.register("default",r.Paging,null,{type:"none",theme:null,size:30,pushOrReplace:"push",position:"none",scrollToTop:!0},{container:"fg-paging-container"},null,-100)}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is),function(e,r,o,t){e.Infinite=e.Paging.extend({construct:function(e){this._super(e),this.distance=this.opt.distance,this._created=[]},init:function(){var e=this;e.checkBounds(),e.tmpl.$scrollParent.on("scroll"+e.tmpl.namespace,{self:e},t.throttle(function(){e.tmpl.destroying||e.tmpl.destroyed||e.checkBounds()},50))},destroy:function(){this.tmpl.$scrollParent.off(this.tmpl.namespace)},checkBounds:function(){var e=this,t=e.get(e.current);!e.tmpl.initializing&&!o.empty(t)&&e._created.length<e.total&&null!==(t=e.tmpl.el.getBoundingClientRect())&&t.bottom-window.innerHeight<e.distance&&(e.set(e.current+1,!1,!0,!1),e.checkBounds())},build:function(){this._super(),this._created=[]},available:function(){for(var e,t=[],i=0,n=this._created.length;i<n;i++)e=this.get(i+1),o.empty(e)||t.push.apply(t,e);return t},create:function(n,e){for(var t=this,i=(n=t.number(n),[]),e=e?t.tmpl.items.all():t._pages.reduce(function(e,t,i){return i<n?e:e.concat(t)},t.tmpl.items.unavailable()),o=0;o<n;o++)-1===r.inArray(o,t._created)&&(i.push.apply(i,t._pages[o]),t._created.push(o));t.current=n,t.tmpl.items.detach(e),t.tmpl.items.create(i,!0)}}),e.paging.register("infinite",e.Infinite,null,{type:"infinite",pushOrReplace:"replace",distance:200})}((FooGallery.$,FooGallery),FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn),function(i,e,r,o){e.LoadMore=e.Paging.extend({construct:function(e){this._super(e),this._created=[]},build:function(){this._super(),this._created=[]},create:function(n,e){for(var t=this,i=(n=t.number(n),[]),e=e?t.tmpl.items.all():t._pages.reduce(function(e,t,i){return i<n?e:e.concat(t)},t.tmpl.items.unavailable()),o=0;o<n;o++)-1===r.inArray(o,t._created)&&(i.push.apply(i,t._pages[o]),t._created.push(o));t.current=n,t.tmpl.items.detach(e),t.tmpl.items.create(i,!0)},available:function(){for(var e,t=[],i=0,n=this._created.length;i<n;i++)e=this.get(i+1),o.empty(e)||t.push.apply(t,e);return t},loadMore:function(){var e=this,t=e.get(e.current);!o.empty(t)&&e._created.length<e.total&&e.set(e.current+1,!1,!0,!1),e._created.length>=e.total&&(o.empty(e.ctrls)||i.each(e.ctrls.splice(0,e.ctrls.length),function(e,t){t.destroy()}))}}),e.LoadMoreControl=e.PagingControl.extend({construct:function(e,t,i){this._super(e,t,i),this.$button=null},create:function(){var e=this;return!!e._super()&&(e.$button=i("<button/>",{class:e.pages.cls.button,type:"button"}).html(e.pages.il8n.button).on("click.foogallery",{self:e},e.onButtonClick).appendTo(e.$container),!0)},destroy:function(){this.$button.off("click.foogallery",this.onButtonClick),this.$button=null,this._super()},onButtonClick:function(e){e.preventDefault(),e.data.self.pages.loadMore()}}),e.paging.register("loadMore",e.LoadMore,e.LoadMoreControl,{type:"loadMore",position:"bottom",pushOrReplace:"replace"},{button:"fg-load-more"},{button:"Load More"})}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is),function(l,e,a){e.Dots=e.Paging.extend({}),e.DotsControl=e.PagingControl.extend({construct:function(e,t,i){this._super(e,t,i),this.$list=null,this.$items=null},create:function(){var e=this;if(e._super()){for(var t,i=e.pages.cls,n=e.pages.il8n,o=[],r=l("<ul/>",{class:i.list}),s=0,a=e.pages.total;s<a;s++)o.push(t=e.createItem(s+1,n.page)),r.append(t);return e.$list=r,e.$items=l(l.map(o,function(e){return e.get()})),e.$container.append(r),!0}return!1},destroy:function(){var e=this,t=e.pages.sel;e.$list.find(t.link).off("click.foogallery",e.onLinkClick),e.$list=l(),e.$items=l(),e._super()},update:function(e){this.setSelected(e-1)},setSelected:function(e){var t=this,i=t.pages.cls,o=t.pages.il8n,r=t.pages.sel;t.$items.filter(r.selected).removeClass(i.selected).each(function(e,t){var t=l(t),i=t.data("label"),t=t.find(r.reader);a.string(i)&&0!==t.length&&t.html(i)}),t.$items.eq(e).addClass(i.selected).each(function(e,t){var t=l(t),i=t.find(r.reader),n=i.html();a.string(n)&&0!==i.length&&(t.data("label",n),i.html(o.current))})},createItem:function(e,t,i,n,o){i=a.string(i)?i:e,t=a.string(t)?t:"";var r=this.pages.opt,s=this.pages.cls,i=l("<a/>",{class:s.link,href:"#page-"+e}).html(i).on("click.foogallery",{self:this,page:e},this.onLinkClick),e=(a.empty(t)||i.attr("title",t.replace(/\{PAGE}/g,e).replace(/\{LIMIT}/g,r.limit+"")),o=a.string(o)?o:t,a.empty(o)||i.prepend(l("<span/>",{class:s.reader,text:o.replace(/\{PAGE}/g,"").replace(/\{LIMIT}/g,r.limit+"")})),l("<li/>",{class:s.item}).append(i));return n=a.string(n)?n:"",a.empty(n)||e.addClass(n),e},onLinkClick:function(e){e.preventDefault();var t=e.data.self,e=e.data.page,i=t.pages.sel;l(this).closest(i.item).is(i.disabled)||t.pages.set(e,!0)}}),e.paging.register("dots",e.Dots,e.DotsControl,{type:"dots",position:"both",pushOrReplace:"push"},{list:"fg-dots",item:"fg-dot-item",link:"fg-dot-link",disabled:"fg-disabled",selected:"fg-selected",visible:"fg-visible",reader:"fg-sr-only"},{current:"Current page",page:"Page {PAGE}"})}(FooGallery.$,FooGallery,(FooGallery.utils,FooGallery.utils.is)),function(o,e,t,s){e.Pagination=e.Dots.extend({construct:function(e){this._super(e),this.limit=this.opt.limit,this.showFirstLast=this.opt.showFirstLast,this.showPrevNext=this.opt.showPrevNext,this.showPrevNextMore=0!==this.opt.limit&&this.opt.showPrevNextMore,this.pageKeywords=["first","prev","prevMore","nextMore","next","last"],this.sel.firstPrev=[this.sel.first,this.sel.prev].join(","),this.sel.nextLast=[this.sel.next,this.sel.last].join(","),this.range={index:-1,start:-1,end:-1,changed:!1,selected:!1}},build:function(){this._super(),this.range={index:-1,start:-1,end:-1,changed:!1,selected:!1}},controls:function(e){var i=this;i.isValid(e)&&(i.range=i.getControlRange(e),o.each(i.ctrls,function(e,t){t.update(i.range)}))},isValid:function(e){return this._super(e)||this.isKeyword(e)},isKeyword:function(e){return s.string(e)&&-1!==t.inArray(e,this.pageKeywords)},number:function(e){var t=this;return"prevMore"!==(e="last"===(e="next"===(e="prev"===(e="first"===e?1:e)?t.current-1:e)?t.current+1:e)?t.total:e)&&"nextMore"!==e||(e=t.current),t._super(e)},getControlRange:function(e){var t=this;switch(e){case"prevMore":return t._range(t.range.start-1,!1,!1);case"nextMore":return t._range(t.range.end+1,!0,!1);default:return e=t.number(e),t._range(e-1,e<=t.current)}},_range:function(e,t,i){var n=this,o={index:e,start:n.range.start,end:n.range.end,changed:!1,selected:!s.boolean(i)||i};if(n.total<=n.limit||0===n.limit)o.start=0,o.end=n.total-1;else if(e<o.start||e>o.end){var i=e+(n.limit-1),r=e-(n.limit-1);if(t)for(o.start=e,o.end=i;o.end>n.total;)--o.start,--o.end;else for(o.start=r,o.end=e;o.start<0;)o.start+=1,o.end+=1}return o.changed=o.start!==n.range.start||o.end!==n.range.end,o.changed&&(n.range=o),o}}),e.PaginationControl=e.DotsControl.extend({construct:function(e,t,i){this._super(e,t,i),this.$buttons=o()},create:function(){var e,t,i,n=this;return!!n._super()&&(t=[],!(e=n.pages.total<=n.pages.limit||0===n.pages.limit)&&n.pages.showPrevNextMore&&(t.push(i=n.createButton("prevMore")),n.$list.prepend(i)),n.pages.showPrevNext&&(t.push(i=n.createButton("prev")),n.$list.prepend(i)),n.pages.showFirstLast&&(t.push(i=n.createButton("first")),n.$list.prepend(i)),!e&&n.pages.showPrevNextMore&&(t.push(i=n.createButton("nextMore")),n.$list.append(i)),n.pages.showPrevNext&&(t.push(i=n.createButton("next")),n.$list.append(i)),n.pages.showFirstLast&&(t.push(i=n.createButton("last")),n.$list.append(i)),n.$buttons=o(o.map(t,function(e){return e.get()})),!0)},destroy:function(){this.$buttons=null,this._super()},update:function(e){var t=this,i=t.pages.sel;e.changed&&t.setVisible(e.start,e.end),e.selected&&(t.setSelected(e.index),t.toggleDisabled(t.$buttons.filter(i.firstPrev),e.index<=0),t.toggleDisabled(t.$buttons.filter(i.nextLast),e.index>=t.pages.total-1)),t.toggleDisabled(t.$buttons.filter(i.prevMore),e.start<=0),t.toggleDisabled(t.$buttons.filter(i.nextMore),e.end>=t.pages.total-1)},setVisible:function(e,t){var i=this.pages.cls;this.$items.removeClass(i.visible).slice(e,t+1).addClass(i.visible)},toggleDisabled:function(e,t){var i=this.pages.cls,n=this.pages.sel;t?e.addClass(i.disabled).find(n.link).attr("tabindex",-1):e.removeClass(i.disabled).find(n.link).removeAttr("tabindex")},createButton:function(e){var t=this.pages.cls,i=this.pages.il8n;return this.createItem(e,i.labels[e],i.buttons[e],t.button+" "+t[e])}}),e.paging.register("pagination",e.Pagination,e.PaginationControl,{type:"pagination",position:"both",pushOrReplace:"push",limit:5,showPrevNext:!0,showFirstLast:!0,showPrevNextMore:!0},{list:"fg-pages",item:"fg-page-item",button:"fg-page-button",link:"fg-page-link",first:"fg-page-first",prev:"fg-page-prev",prevMore:"fg-page-prev-more",nextMore:"fg-page-next-more",next:"fg-page-next",last:"fg-page-last",disabled:"fg-disabled",selected:"fg-selected",visible:"fg-visible",reader:"fg-sr-only"},{buttons:{first:"&laquo;",prev:"&lsaquo;",next:"&rsaquo;",last:"&raquo;",prevMore:"&hellip;",nextMore:"&hellip;"},labels:{current:"Current page",page:"Page {PAGE}",first:"First page",prev:"Previous page",next:"Next page",last:"Last page",prevMore:"Show previous {LIMIT} pages",nextMore:"Show next {LIMIT} pages"}})}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is),function(r,l,c,u,d,h){var p=0;l.Panel=l.Component.extend({construct:function(e,t,i,n){var o=this,r=(o.instanceId=++p,o._super(e),o.opt=d.extend({},o.tmpl.opt.panel,t),o.cls=d.extend({},o.tmpl.cls.panel,i),o.il8n=d.extend({},o.tmpl.il8n.panel,n),o.cls.states);o.cls.states.all=Object.keys(r).map(function(e){return r[e]}).join(" "),o.cls.states.allLoading=[r.idle,r.loading,r.loaded,r.error].join(" "),o.cls.states.allProgress=[r.idle,r.started,r.stopped,r.paused].join(" "),o.sel=c.selectify(o.cls),o.videoSources=u.undef(l.Panel.Video)?[]:l.Panel.Video.sources.load(o),o.buttons=new l.Panel.Buttons(o),o.content=new l.Panel.Content(o),o.info=new l.Panel.Info(o),o.thumbs=new l.Panel.Thumbs(o),o.areas=[o.content,o.info,o.thumbs],l.Panel.Cart&&(o.cart=new l.Panel.Cart(o),o.areas.push(o.cart)),l.Panel.Comments&&(o.comments=new l.Panel.Comments(o),o.areas.push(o.comments));const s=o.areas.filter(e=>e instanceof l.Panel.SideArea&&e.isVisible&&"overlay"===e.opt.group);for(;0<s.length;){const a=s.shift();s.forEach(e=>{e.isTargetingSamePosition(a)&&(e.isVisible=!1,e.button.isPressed=!1)})}o.$el=null,o.el=null,o.isCreated=!1,o.isDestroyed=!1,o.isDestroying=!1,o.isAttached=!1,o.isLoading=!1,o.isLoaded=!1,o.isError=!1,o.isInline=!1,o.isMaximized=!1,o.isFullscreen=!1,o.hasTransition=!u.empty(o.cls.transition[o.opt.transition]),o.currentItem=null,o.prevItem=null,o.nextItem=null,o.lastBreakpoint=null,o.isSmallScreen=!1,o.isMediumScreen=!1,o.isLargeScreen=!1,o.isMobileLayout=!1,o.breakpointClassNames=o.opt.breakpoints.map(function(e){return"fg-"+e.name+" fg-"+e.name+"-width fg-"+e.name+"-height"}).concat(["fg-landscape","fg-portrait"]).join(" "),o.robserver=new ResizeObserver(h.throttle(function(e){o.destroying||o.destroyed||e.forEach(function(e){e.target===o.el&&(e=c.getResizeObserverSize(e),o.onResize(e.width,e.height))})},50)),o.__media={},o.__loading=null,o.tmpl.destroying||o.tmpl.destroyed||o.tmpl.on({"after-filter-change":o.onItemsChanged},o)},isVisible:function(e){return e instanceof l.Item&&!e.noLightbox&&!e.panelHide},onItemsChanged:function(e){var t=this;t.thumbs.isCreated&&t.tmpl.initialized&&(t.thumbs.doCreateThumbs(t.tmpl.items.available(t.isVisible)),t.isAttached&&t.load(t.tmpl.items.first(t.isVisible)))},create:function(){var e=this;return e.isCreated||(e.trigger("create").isDefaultPrevented()||(e.isCreated=e.doCreate()),e.isCreated&&e.trigger("created")),e.isCreated},doCreate:function(){var t=this;return t.$el=t.createElem(),t.el=t.$el.get(0),t.tmpl.opt.protected&&(t.el.oncontextmenu=function(e){return e.preventDefault(),!1}),t.opt.keyboard&&t.$el.attr("tabindex",-1).on("keydown.foogallery",{self:t},t.onKeyDown),t.areas.forEach(function(e){e.appendTo(t.$el)}),t.buttons.appendTo(t.$el),!0},createElem:function(){var e=this,t=e.cls.transition[e.opt.transition]||"",t=(e.hasTransition=!u.empty(t),[e.cls.elem,t,e.cls.buttons.portrait[e.opt.buttonsPortrait]||"",e.cls.buttons.landscape[e.opt.buttonsLandscape]||"",u.string(e.opt.theme)?e.opt.theme:e.tmpl.getCSSClass("theme","fg-dark"),u.string(e.opt.loadingIcon)?e.opt.loadingIcon:e.tmpl.getCSSClass("loadingIcon"),u.string(e.opt.hoverIcon)?e.opt.hoverIcon:e.tmpl.getCSSClass("hoverIcon"),u.string(e.opt.videoIcon)?e.opt.videoIcon:e.tmpl.getCSSClass("videoIcon"),u.boolean(e.opt.stickyVideoIcon)&&e.opt.stickyVideoIcon?e.cls.stickyVideoIcon:e.tmpl.getCSSClass("stickyVideoIcon"),u.string(e.opt.insetShadow)?e.opt.insetShadow:e.tmpl.getCSSClass("insetShadow"),u.string(e.opt.filter)?e.opt.filter:e.tmpl.getCSSClass("filter"),u.string(e.opt.hoverColor)?e.opt.hoverColor:e.tmpl.getCSSClass("hoverColor"),u.boolean(e.opt.hoverScale)&&e.opt.hoverScale?e.cls.hoverScale:e.tmpl.getCSSClass("hoverScale"),u.string(e.opt.button)?e.opt.button:"",u.string(e.opt.highlight)?e.opt.highlight:"",e.opt.stackSideAreas?e.cls.stackSideAreas:"",e.opt.preserveButtonSpace?e.cls.preserveButtonSpace:"",e.opt.fitMedia?e.cls.fitMedia:"",e.opt.noMobile?e.cls.noMobile:"",e.opt.hoverButtons?e.cls.hoverButtons:"",e.opt.classNames]);return r("<div/>").addClass(t.join(" "))},destroy:function(){var i=this,e=i._super.bind(i);return i.isDestroyed?h.resolved:(i.isDestroying=!0,r.Deferred(function(t){var e;i.isLoading&&u.promise(i.__loading)?i.__loading.always(function(){var e=i.trigger("destroy");i.isDestroying=!1,e.isDefaultPrevented()||(i.isDestroyed=i.doDestroy()),i.isDestroyed&&i.trigger("destroyed"),t.resolve()}):(e=i.trigger("destroy"),i.isDestroying=!1,e.isDefaultPrevented()||(i.isDestroyed=i.doDestroy()),i.isDestroyed&&i.trigger("destroyed"),t.resolve())}).then(function(){e()}).promise())},doDestroy:function(){var e=this;return e.buttons.destroy(),e.areas.reverse(),e.areas.forEach(function(e){e.destroy()}),e.detach(),e.isCreated&&e.$el.remove(),!0},appendTo:function(e){var t=this;return!t.isCreated&&!t.create()||t.isAttached||(t.trigger("append",[e]).isDefaultPrevented()||(t.isAttached=t.doAppendTo(e)),t.isAttached&&t.trigger("appended",[e])),t.isAttached},doAppendTo:function(e){var t=this,e=r(e),i=t.buttons.get("maximize");return t.isInline=!e.is("body"),t.$el.appendTo(e),i.set(!t.isInline,t.isInline&&i.isEnabled()),t.robserver.observe(t.el),t.areas.forEach(function(e){e.listen()}),null!==t.el.parentNode},detach:function(){var e=this;return e.isCreated&&e.isAttached&&(e.trigger("detach").isDefaultPrevented()||(e.isAttached=!e.doDetach()),e.isAttached||e.trigger("detached")),!e.isAttached},doDetach:function(){return this.robserver.unobserve(this.el),this.areas.forEach(function(e){e.stopListening()}),this.$el.detach(),!0},resize:function(){var e=this;e.$el.removeClass(e.breakpointClassNames).addClass(e.lastBreakpoint),e.isMediumScreen=e.$el.hasClass("fg-medium"),e.isLargeScreen=e.$el.hasClass("fg-large"),e.isXLargeScreen=e.$el.hasClass("fg-x-large"),e.isSmallScreen=!e.isMediumScreen&&!e.isLargeScreen&&!e.isXLargeScreen,e.isMobileLayout=e.isSmallScreen&&!e.opt.noMobile,e.areas.forEach(function(e){e.resize()}),e.buttons.resize()},onResize:function(e,t){e=this.getBreakpoint(e,t);this.lastBreakpoint!==e&&(this.lastBreakpoint=e,this.resize())},getBreakpoint:function(n,o){var r=[];return this.opt.breakpoints.forEach(function(e){var t=e.width<=n,i=e.height<=o;t&&i&&r.push("fg-"+e.name),t&&r.push("fg-"+e.name+"-width"),i&&r.push("fg-"+e.name+"-height")}),r.push(o<n?"fg-landscape":"fg-portrait"),0<r.length?r.join(" "):null},getMedia:function(e){return e instanceof l.Item?this.__media.hasOwnProperty(e.id)?this.__media[e.id]:this.__media[e.id]=l.Panel.media.make(e.type,this,e):null},getItem:function(e){var t=this,i=e;return(i=i instanceof l.Item?i:t.currentItem)instanceof l.Item||(i=t.tmpl.items.first(t.isVisible)),e instanceof l.Item&&!t.isVisible(e)&&((i=t.tmpl.items.next(e,t.isVisible,t.opt.loop))instanceof l.Item||(i=t.tmpl.items.prev(e,t.isVisible,t.opt.loop))),i},load:function(i){var n=this;return(i=n.getItem(i))instanceof l.Item?i===n.currentItem?h.reject("item is currently loaded"):(n.isLoading=!0,n.isLoaded=!1,n.isError=!1,n.__loading=r.Deferred(function(e){var t;n.isCreated&&n.isAttached?(t=n.getMedia(i))instanceof l.Panel.Media?n.trigger("load",[t,i]).isDefaultPrevented()?e.rejectWith("default prevented"):(n.currentItem=i,n.prevItem=n.tmpl.items.prev(i,n.isVisible,n.opt.loop),n.nextItem=n.tmpl.items.next(i,n.isVisible,n.opt.loop),n.doLoad(t).then(e.resolve).catch(e.reject)):e.rejectWith("no media to load"):e.rejectWith("not created or attached")}).always(function(){n.isLoading=!1}).then(function(){n.isLoaded=!0,n.trigger("loaded",[i]),i.updateState()}).catch(function(){n.isError=!0,n.trigger("error",[i])}).promise()):h.reject("no item to load")},doLoad:function(t){var e=this,i=[];return e.buttons.beforeLoad(t),e.areas.forEach(function(e){i.push(e.load(t))}),r.when.apply(r,i).then(function(){e.buttons.afterLoad(t)}).promise()},open:function(e,t){var i=this;return e=i.getItem(e),i.trigger("open",[e,t]).isDefaultPrevented()?h.reject("default prevented"):i.doOpen(e,t).then(function(){i.trigger("opened",[e,t])})},doOpen:function(t,i){var n=this;return r.Deferred(function(e){t instanceof l.Item?(i=u.empty(i)?"body":i,n.isAttached||n.appendTo(i),n.isAttached?n.load(t).then(e.resolve).catch(e.reject):e.rejectWith("not attached")):e.rejectWith("item not instanceof FooGallery.Item")}).promise()},next:function(){var e=this,t=e.currentItem,i=e.nextItem;return i instanceof l.Item?e.trigger("next",[t,i]).isDefaultPrevented()?h.reject("default prevented"):e.doNext(i).then(function(){e.trigger("after-next",[t,i])}):h.reject("no next item")},doNext:function(e){return this.load(e)},prev:function(){var e=this,t=e.currentItem,i=e.prevItem;return i instanceof l.Item?e.trigger("prev",[t,i]).isDefaultPrevented()?h.reject("default prevented"):e.doPrev(i).then(function(){e.trigger("after-prev",[t,i])}):h.reject("no prev item")},doPrev:function(e){return this.load(e)},close:function(e){var t=this;return t.isClosing?r.Deferred().reject():t.trigger("close",[t.currentItem]).isDefaultPrevented()?h.reject("default prevented"):t.doClose(e).then(function(){t.trigger("closed")})},doClose:function(i,e){e=!u.boolean(e)||e;var n=this;return n.isClosing=!0,r.Deferred(function(e){n.content.close(i).then(function(){var t=[];n.areas.forEach(function(e){e!==n.content&&t.push(e.close(i))}),r.when.apply(r,t).then(e.resolve).catch(e.reject)})}).always(function(){n.isClosing=!1,n.currentItem=null,n.buttons.close(),e&&n.detach(),n.tmpl.state.clear()}).promise()},trapFocus:function(){this.isCreated&&this.$el.on("keydown",{self:this},this.onTrapFocusKeydown)},releaseFocus:function(){this.isCreated&&this.$el.off("keydown",this.onTrapFocusKeydown)},onTrapFocusKeydown:function(e){var t,i,n,o;9===e.keyCode&&(i=e.data.self,(o=(t=r(e.target)).parents("[role=dialog]")).length&&(i=(o=o.find(i.opt.focusable.include).not(i.opt.focusable.exclude)).first(),o=o.last(),n=e.shiftKey?i:o,o=e.shiftKey?o:i,n.length&&t.is(n)&&(e.preventDefault(),o.trigger("focus"))))},onKeyDown:function(e){var t=e.data.self;switch(e.which){case 39:case 40:t.next();break;case 37:case 38:t.prev();break;case 27:t.isFullscreen?t.buttons.get("fullscreen").exit():t.isMaximized&&t.isInline?t.buttons.get("maximize").exit():t.opt.buttons.close&&t.close()}}}),l.template.configure("core",{panel:{classNames:"",noMobile:!1,hoverButtons:!1,icons:"default",transition:"none",theme:null,button:null,highlight:null,loadingIcon:null,hoverIcon:null,videoIcon:null,stickyVideoIcon:null,hoverColor:null,hoverScale:null,insetShadow:null,filter:null,loop:!0,autoProgress:0,autoProgressStart:!0,fitMedia:!1,keyboard:!0,noScrollbars:!0,swipe:!0,stackSideAreas:!0,preserveButtonSpace:!0,buttonsPortrait:"top",buttonsLandscape:"right",admin:!1,info:"bottom",infoVisible:!1,infoOverlay:!0,infoAutoHide:!0,infoAlign:"default",exif:"none",cart:"none",cartAutoHide:!0,cartVisible:!1,cartOriginal:!1,cartOverlay:!0,cartAjax:null,cartNonce:null,cartTimeout:null,thumbs:"none",thumbsVisible:!0,thumbsCaptions:!0,thumbsCaptionsAlign:"default",thumbsSmall:!1,thumbsBestFit:!0,focusable:{include:"a[href], area[href], input, select, textarea, button, iframe, object, embed, [tabindex], [contenteditable]",exclude:"[tabindex=-1], [disabled], :hidden"},buttons:{prev:!0,next:!0,close:!0,maximize:!0,fullscreen:!0,autoProgress:!0,info:!0,thumbs:!1,cart:!0,download:!1},breakpoints:[{name:"medium",width:800,height:800},{name:"large",width:1024,height:1024},{name:"x-large",width:1280,height:1280}]}},{panel:{elem:"fg-panel",maximized:"fg-panel-maximized",fullscreen:"fg-panel-fullscreen",fitMedia:"fg-panel-fit-media",noScrollbars:"fg-panel-no-scroll",stackSideAreas:"fg-panel-area-stack",preserveButtonSpace:"fg-panel-preserve-button-space",hoverButtons:"fg-panel-hover-buttons",stickyVideoIcon:"fg-video-sticky",hoverScale:"fg-hover-scale",noMobile:"fg-panel-no-mobile",loader:"fg-loader",states:{idle:"fg-idle",loading:"fg-loading",loaded:"fg-loaded",error:"fg-error",visible:"fg-visible",reverse:"fg-reverse",toggled:"fg-toggled",selected:"fg-selected",disabled:"fg-disabled",hidden:"fg-hidden",started:"fg-started",stopped:"fg-stopped",paused:"fg-paused",noTransitions:"fg-no-transitions"},buttons:{portrait:{top:"fg-panel-buttons-top",bottom:"fg-panel-buttons-bottom"},landscape:{right:"fg-panel-buttons-right",left:"fg-panel-buttons-left"},container:"fg-panel-buttons",prev:"fg-panel-button fg-panel-button-prev",next:"fg-panel-button fg-panel-button-next",autoProgress:"fg-panel-button fg-panel-button-progress",close:"fg-panel-button fg-panel-button-close",fullscreen:"fg-panel-button fg-panel-button-fullscreen",maximize:"fg-panel-button fg-panel-button-maximize",info:"fg-panel-button fg-panel-button-info",thumbs:"fg-panel-button fg-panel-button-thumbs",cart:"fg-panel-button fg-panel-button-cart",download:"fg-panel-button fg-panel-button-download"},transition:{fade:"fg-panel-fade",horizontal:"fg-panel-horizontal",vertical:"fg-panel-vertical"},area:{elem:"fg-panel-area",inner:"fg-panel-area-inner"},content:{buttons:"fg-panel-content-buttons"},sideArea:{toggle:"fg-panel-area-toggle",button:"fg-panel-area-button",visible:"fg-panel-area-visible",overlay:"fg-panel-area-overlay",position:{top:"fg-panel-area-top",right:"fg-panel-area-right",bottom:"fg-panel-area-bottom",left:"fg-panel-area-left"}},info:{overlay:"fg-panel-info-overlay",align:{left:"fg-panel-media-caption-left",center:"fg-panel-media-caption-center",right:"fg-panel-media-caption-right",justified:"fg-panel-media-caption-justified"}},cart:{original:"fg-panel-cart-original"},thumbs:{prev:"fg-panel-thumbs-button fg-panel-thumbs-prev",next:"fg-panel-thumbs-button fg-panel-thumbs-next",viewport:"fg-panel-thumbs-viewport",stage:"fg-panel-thumbs-stage",noCaptions:"fg-panel-thumbs-no-captions",small:"fg-panel-thumbs-small",spacer:"fg-panel-thumb-spacer",thumb:{elem:"fg-panel-thumb",media:"fg-panel-thumb-media",overlay:"fg-panel-thumb-overlay",wrap:"fg-panel-thumb-wrap",image:"fg-panel-thumb-image",caption:"fg-panel-thumb-caption",title:"fg-panel-thumb-title",description:"fg-panel-thumb-description"},align:{left:"fg-panel-thumb-caption-left",center:"fg-panel-thumb-caption-center",right:"fg-panel-thumb-caption-right",justified:"fg-panel-thumb-caption-justified"}}}},{panel:{buttons:{prev:"Previous Media",next:"Next Media",close:"Close Modal",maximize:"Toggle Maximize",fullscreen:"Toggle Fullscreen",autoProgress:"Auto Progress",info:"Toggle Information",thumbs:"Toggle Thumbnails",cart:"Toggle Cart",download:"Download Media"}}})}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.obj,FooGallery.utils.fn,FooGallery.utils.transition),function(e,o,t,r){o.Panel.Buttons=t.Class.extend({construct:function(e){this.panel=e,this.opt=e.opt.buttons,this.cls=e.cls.buttons,this.sel=e.sel.buttons,this.il8n=e.il8n.buttons,this.$el=null,this.isCreated=!1,this.isAttached=!1,this.__registered=[],this.registerCore()},registerCore:function(){this.register(new o.Panel.Button(this.panel,"prev",{icon:"arrow-left",label:this.il8n.prev,click:this.panel.prev.bind(this.panel),beforeLoad:function(e){this.disable(null==this.panel.prevItem)}}),10),this.register(new o.Panel.Button(this.panel,"next",{icon:"arrow-right",label:this.il8n.next,click:this.panel.next.bind(this.panel),beforeLoad:function(e){this.disable(null==this.panel.nextItem)}}),20),this.register(new o.Panel.AutoProgress(this.panel),30),this.register(new o.Panel.Download(this.panel),170),this.register(new o.Panel.Maximize(this.panel),180),this.register(new o.Panel.Fullscreen(this.panel),190),this.register(new o.Panel.Button(this.panel,"close",{icon:"close",label:this.il8n.close,click:this.panel.close.bind(this.panel)}),200)},register:function(e,t){return e instanceof o.Panel.Button?this.__registered.push({name:e.name,button:e,priority:r.number(t)?t:99})-1:-1},get:function(e){for(var t=null,i=0,n=this.__registered.length;i<n;i++)if(this.__registered[i].name===e){t=this.__registered[i].button;break}return t},each:function(t,e){var i=this;e&&i.__registered.sort(function(e,t){return e.priority-t.priority}),i.__registered.forEach(function(e){t.call(i,e.button)})},toggle:function(e,t){e=this.get(e);null!=e&&e.toggle(t)},disable:function(e,t){e=this.get(e);null!=e&&e.disable(t)},press:function(e,t){var i=this,n=i.get(e);t&&r.string(n.groupName)&&i.each(function(e){n!==e&&e instanceof o.Panel.SideAreaButton&&n.groupName===e.groupName&&(i.panel.isSmallScreen||e.isTargetingSamePosition(n))&&e.area.toggle(!1)}),n.press(t)},destroy:function(){var e=this;return e.panel.trigger("buttons-destroy",[e]).isDefaultPrevented()||(e.isCreated=!e.doDestroy()),e.isCreated||e.panel.trigger("buttons-destroyed",[e]),!e.isCreated},doDestroy:function(){return this.each(function(e){e.destroy()}),this.isCreated&&(this.detach(),this.$el.remove()),!0},create:function(){var e=this;return e.isCreated||(e.panel.trigger("buttons-create",[e]).isDefaultPrevented()||(e.isCreated=e.doCreate()),e.isCreated&&e.panel.trigger("buttons-created",[e])),e.isCreated},doCreate:function(){var t=this;return t.$el=e("<div/>").addClass(t.cls.container),t.each(function(e){e.appendTo(t.$el)},!0),!0},appendTo:function(e){var t=this;return t.isCreated||t.create(),t.isCreated&&!t.isAttached&&(t.panel.trigger("buttons-append",[t,e]).isDefaultPrevented()||(t.isAttached=t.doAppendTo(e)),t.isAttached&&t.panel.trigger("buttons-appended",[t,e])),t.isAttached},doAppendTo:function(e){return this.$el.appendTo(e),0<this.$el.parent().length},detach:function(){var e=this;return e.isCreated&&e.isAttached&&(e.panel.trigger("buttons-detach",[e]).isDefaultPrevented()||(e.isAttached=!e.doDetach()),e.isAttached||e.panel.trigger("buttons-detached",[e])),!e.isAttached},doDetach:function(){return this.$el.detach(),!0},beforeLoad:function(t){this.each(function(e){e.beforeLoad(t)})},afterLoad:function(t){this.each(function(e){e.afterLoad(t)})},close:function(){this.each(function(e){e.close()})},resize:function(){const e=this.get("prev"),t=this.get("next");var i=this.panel.isMobileLayout?this.$el:this.panel.content.$buttons;t&&t.prependTo(i),e&&e.prependTo(i),this.each(function(e){e.resize()})}})}(FooGallery.$,FooGallery,(FooGallery.icons,FooGallery.utils),FooGallery.utils.is),function(n,e,i,t,o,r){e.Panel.Button=t.Class.extend({construct:function(e,t,i){this.panel=e,this.name=t,this.opt=r.extend({icon:null,label:null,visible:!!e.opt.buttons[t],disabled:!1,toggle:!1,pressed:!1,group:null,click:n.noop,beforeLoad:n.noop,afterLoad:n.noop,close:n.noop,resize:n.noop},i),this.cls={elem:e.cls.buttons[t],states:e.cls.states},this.$el=null,this.groupName=this.opt.group,this.isVisible=this.opt.visible,this.isDisabled=this.opt.disabled,this.isToggle=this.opt.toggle,this.isPressed=this.opt.pressed,this.isCreated=!1,this.isAttached=!1},isEnabled:function(){return this.panel.opt.buttons.hasOwnProperty(this.name)&&this.panel.opt.buttons[this.name]},create:function(){var e,t=this;return t.isCreated||(t.$el=n("<button/>",{type:"button","aria-label":t.opt.label,"aria-disabled":t.isDisabled,"aria-hidden":!t.isVisible}).addClass(t.cls.elem).on("click.foogallery",{self:t},t.onButtonClick),o.string(t.opt.icon)?t.$el.append(i.get(t.opt.icon,t.panel.opt.icons)):o.array(t.opt.icon)?t.opt.icon.forEach(function(e){t.$el.append(i.get(e,t.panel.opt.icons))}):o.fn(t.opt.icon)&&t.$el.append(t.opt.icon.call(this)),t.isCreated=!0,e=t.isEnabled(),t.toggle(e),t.disable(!e),t.isToggle&&t.press(t.isPressed)),t.isCreated},destroy:function(){return this.isCreated&&(this.$el.off("click.foogallery").remove(),this.isCreated=!1),!this.isCreated},appendTo:function(e){return this.isAttached&&this.detach(),!this.isCreated&&!this.create()||this.isAttached||(this.$el.appendTo(e),this.isAttached=!0),this.isAttached},prependTo:function(e){return this.isAttached&&this.detach(),!this.isCreated&&!this.create()||this.isAttached||(this.$el.prependTo(e),this.isAttached=!0),this.isAttached},detach:function(){return this.isCreated&&this.isAttached&&(this.$el.detach(),this.isAttached=!1),this.isAttached},toggle:function(e){this.isCreated&&(this.isVisible=o.boolean(e)?e:!this.isVisible,this.$el.toggleClass(this.cls.states.hidden,!this.isVisible).attr("aria-hidden",!this.isVisible))},disable:function(e){this.isCreated&&(this.isDisabled=o.boolean(e)?e:!this.isDisabled,this.$el.toggleClass(this.cls.states.disabled,this.isDisabled).attr({"aria-disabled":this.isDisabled,disabled:this.isDisabled}))},press:function(e){this.isCreated&&(this.isPressed=e,this.$el.attr("aria-pressed",this.isPressed))},beforeLoad:function(e){this.opt.beforeLoad.call(this,e)},afterLoad:function(e){this.opt.afterLoad.call(this,e)},close:function(){this.opt.close.call(this)},click:function(){this.opt.click.call(this)},resize:function(){this.opt.resize.call(this)},onButtonClick:function(e){e.preventDefault(),e.data.self.click()}})}(FooGallery.$,FooGallery,FooGallery.icons,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.obj),function(t,n){t.Panel.SideAreaButton=t.Panel.Button.extend({construct:function(e){this._super(e.panel,e.name,{icon:e.opt.icon,label:e.opt.label,autoHideArea:e.opt.autoHide,click:e.toggle.bind(e),toggle:!0,pressed:e.opt.visible,group:e.opt.group}),this.area=e,this.__isVisible=null,this.__autoHide=null},beforeLoad:function(e){var t=this.area.isEnabled(),i=t&&this.area.canLoad(e);i||null!=this.__isVisible?i&&n.boolean(this.__isVisible)&&(this.area.toggle(this.__isVisible),this.__isVisible=null):(this.__isVisible=this.area.isVisible,this.area.toggle(!1)),t?this.disable(!i):this.toggle(i),this.checkAutoHide(t,i),this.opt.beforeLoad.call(this,e)},checkAutoHide:function(e,t){e&&t&&!0===this.opt.autoHideArea&&(null==this.__autoHide&&this.panel.isSmallScreen?(this.__autoHide=this.area.isVisible,this.area.toggle(!1),this.area.button.toggle(!0)):n.boolean(this.__autoHide)&&!this.panel.isSmallScreen&&(this.area.button.toggle(this.area.button.isEnabled()&&this.area.opt.toggle),this.area.toggle(this.__autoHide),this.__autoHide=null))},isTargetingSamePosition:function(e){return e instanceof t.Panel.SideAreaButton&&e.area.isTargetingSamePosition(this.area)},resize:function(){var e=this.area.isEnabled(),t=e&&this.area.canLoad(this.area.currentMedia);this.checkAutoHide(e,t)}})}((FooGallery.$,FooGallery),FooGallery.utils.is),function(e,i){e.Panel.AutoProgress=e.Panel.Button.extend({construct:function(e){var t=this;t.__stopped=!e.opt.autoProgressStart,t.__timer=new i.Timer,t._super(e,"autoProgress",{icon:"auto-progress",label:e.il8n.buttons.autoProgress}),t.$icon=null,t.$circle=null,t.circumference=0},isEnabled:function(){return this._super()&&0<this.panel.opt.autoProgress},create:function(){var e;return this._super()&&(this.$icon=this.$el.find("svg"),this.$circle=this.$icon.find("circle"),e=parseFloat(this.$circle.attr("r")),this.circumference=2*e*Math.PI,this.$circle.css({"stroke-dasharray":this.circumference+" "+this.circumference,"stroke-dashoffset":this.circumference+""}),this.__timer.on({"start resume":this.onStartOrResume,pause:this.onPause,stop:this.onStop,tick:this.onTick,"complete reset":this.onCompleteOrReset,complete:this.onComplete},this)),this.isCreated},close:function(){this.__timer.pause(),this._super()},destroy:function(){return this.__timer.destroy(),this._super()},beforeLoad:function(e){this.isEnabled()&&this.__timer.reset(),this._super(e)},afterLoad:function(e){this.isEnabled()&&(this.__timer.countdown(this.panel.opt.autoProgress),this.__stopped&&this.__timer.pause()),this._super(e)},click:function(){this.__timer.isRunning?(this.__stopped=!0,this.__timer.pause()):this.__timer.canResume?(this.__stopped=!1,this.__timer.resume()):(this.__stopped=!1,this.__timer.restart()),this._super()},onStartOrResume:function(){this.$icon.removeClass(this.cls.states.allProgress).addClass(this.cls.states.started)},onPause:function(){this.$icon.removeClass(this.cls.states.allProgress).addClass(this.cls.states.paused)},onStop:function(){this.$icon.removeClass(this.cls.states.allProgress).addClass(this.cls.states.stopped)},onTick:function(e,t,i){this.$circle.css("stroke-dashoffset",this.circumference-t/i*100/100*this.circumference)},onCompleteOrReset:function(){this.$icon.removeClass(this.cls.states.allProgress)},onComplete:function(){this.panel.next()}})}((FooGallery.$,FooGallery),FooGallery.utils),function(i,e){i.fullscreen=new e.FullscreenAPI,i.Panel.Fullscreen=i.Panel.Button.extend({construct:function(e){this._super(e,"fullscreen",{icon:["expand","shrink"],label:e.il8n.buttons.fullscreen,toggle:!0})},isEnabled:function(){return this._super()&&i.fullscreen.supported},click:function(){var e=this,t=e.panel.el;i.fullscreen.toggle(t).then(function(){i.fullscreen.element()===t?(i.fullscreen.on("change error",e.onFullscreenChange,e),e.enter()):(i.fullscreen.off("change error",e.onFullscreenChange,e),e.exit())},function(e){console.debug("Error toggling fullscreen on element.",e,t)}),e._super()},onFullscreenChange:function(){i.fullscreen.element()!==this.panel.el&&this.exit()},enter:function(){this.panel.isFullscreen||(this.panel.isFullscreen=!0,this.panel.$el.addClass(this.panel.cls.fullscreen),this.panel.isMaximized||(this.panel.$el.attr({role:"dialog","aria-modal":!0}).trigger("focus"),this.panel.trapFocus()),this.panel.buttons.press("fullscreen",!0),this.panel.buttons.toggle("maximize",!1))},exit:function(){this.panel.isFullscreen&&(this.panel.$el.removeClass(this.panel.cls.fullscreen),this.panel.isMaximized||(this.panel.$el.attr({role:null,"aria-modal":null}).trigger("focus"),this.panel.releaseFocus()),this.panel.buttons.press("fullscreen",!1),this.panel.buttons.toggle("maximize",this.panel.isInline&&this.panel.buttons.opt.maximize),this.panel.isFullscreen=!1)}})}((FooGallery.$,FooGallery),FooGallery.utils),function(t,e,i){e.Panel.Maximize=e.Panel.Button.extend({construct:function(e){this._super(e,"maximize",{icon:"maximize",label:e.il8n.buttons.maximize,toggle:!0}),this.scrollPosition=[],this.$placeholder=t("<span/>")},click:function(){this.set(!this.panel.isMaximized),this._super()},close:function(){this.exit(),this._super()},set:function(e,t){e?this.enter():this.exit(),t=i.boolean(t)?t:this.isVisible,this.toggle(t)},enter:function(){this.panel.isMaximized||(this.panel.isMaximized=!0,this.$placeholder.insertAfter(this.panel.$el),this.panel.$el.appendTo("body").addClass(this.panel.cls.maximized).attr({role:"dialog","aria-modal":!0}).trigger("focus"),this.panel.buttons.press("maximize",!0),this.panel.trapFocus(),this.panel.opt.noScrollbars&&(this.scrollPosition=[window.scrollX,window.scrollY],t("html").addClass(this.panel.cls.noScrollbars)))},exit:function(){this.panel.isMaximized&&(this.panel.isMaximized=!1,this.panel.$el.removeClass(this.panel.cls.maximized).attr({role:null,"aria-modal":null}).insertBefore(this.$placeholder),this.panel.isInline&&this.panel.$el.trigger("focus"),this.$placeholder.detach(),this.panel.buttons.press("maximize",!1),this.panel.releaseFocus(),this.panel.opt.noScrollbars&&(t("html").removeClass(this.panel.cls.noScrollbars).prop("clientWidth"),i.array(this.scrollPosition)&&2===this.scrollPosition.length&&window.scrollTo(this.scrollPosition[0],this.scrollPosition[1]),this.scrollPosition=[]))}})}(FooGallery.$,FooGallery,FooGallery.utils.is),function(t,i){t.Panel.Download=t.Panel.Button.extend({construct:function(e){this._super(e,"download",{icon:"download",label:e.il8n.buttons.download,toggle:!1}),this.downloadable=["image"]},beforeLoad:function(e){this._super(e),this.isEnabled()&&this.toggle(this.downloadable.includes(e?.item?.type))},click:function(){this._super();var e=this.panel.currentItem;e instanceof t.Item&&i.string(e.download)&&(this.disable(!0),t.downloadImage(e.download).catch(e=>console.error(e)).finally(()=>this.disable(!1)))}})}((FooGallery.$,FooGallery),FooGallery.utils.is),function(e,s,o,n,r){s.Panel.Area=o.Class.extend({construct:function(e,t,i,n){this.panel=e,this.name=t,this.opt=r.extend({waitForUnload:!0},i),this.cls=r.extend({elem:this.__cls(e.cls.area.elem,t,!0),inner:this.__cls(e.cls.area.inner,t,!0)},n),this.sel=o.selectify(this.cls),this.currentMedia=null,this.$el=null,this.$inner=null,this.isCreated=!1,this.isAttached=!1},__cls:function(e,t,i){t=e.replace(/-area($|-)/,"-"+t+"$1");return i?[e,t].join(" "):t},create:function(){var e=this;return e.isCreated||(e.panel.trigger("area-create",[e]).isDefaultPrevented()||(e.isCreated=e.doCreate()),e.isCreated&&e.panel.trigger("area-created",[e])),e.isCreated},doCreate:function(){return this.$el=e("<div/>").addClass(this.cls.elem),this.$inner=e("<div/>").addClass(this.cls.inner).appendTo(this.$el),!0},destroy:function(){var e=this;return e.isCreated&&(e.panel.trigger("area-destroy",[e]).isDefaultPrevented()||(e.isCreated=!e.doDestroy()),e.isCreated||e.panel.trigger("area-destroyed",[e])),!e.isCreated},doDestroy:function(){return this.currentMedia instanceof s.Panel.Media&&this.currentMedia.detach(),this.$el.remove(),!0},appendTo:function(e){var t=this;return t.isCreated||t.create(),t.isCreated&&!t.isAttached&&(t.panel.trigger("area-append",[t,e]).isDefaultPrevented()||(t.isAttached=t.doAppendTo(e)),t.isAttached&&t.panel.trigger("area-appended",[t,e])),t.isAttached},doAppendTo:function(e){return this.$el.appendTo(e),0<this.$el.parent().length},detach:function(){var e=this;return e.isCreated&&e.isAttached&&(e.panel.trigger("area-detach",[e]).isDefaultPrevented()||(e.isAttached=!e.doDetach()),e.isAttached||e.panel.trigger("area-detached",[e])),!e.isAttached},doDetach:function(){return this.$el.detach(),!0},load:function(o){var r=this;return o instanceof s.Panel.Media?e.Deferred(function(e){var t,i,n=r.shouldReverseTransition(r.currentMedia,o);r.panel.trigger("area-load",[r,o,n]).isDefaultPrevented()?e.rejectWith("default prevented"):(t=r.currentMedia instanceof s.Panel.Media,i=r.currentMedia,(r.opt.waitForUnload&&t?(r.panel.trigger("area-unload",[r,i]),r.doUnload(i,n).then(function(){r.panel.trigger("area-unloaded",[r,i]),r.currentMedia=o,r.panel.trigger("area-load",[r,o]),r.doLoad(o,n).then(e.resolve).catch(e.reject)})):(t&&(r.panel.trigger("area-unload",[r,i]),r.doUnload(i,n).then(function(){r.panel.trigger("area-unloaded",[r,i])})),r.currentMedia=o,r.panel.trigger("area-load",[r,o]),r.doLoad(o,n).then(e.resolve))).catch(e.reject))}).then(function(){r.panel.trigger("area-loaded",[r,o])}).catch(function(){r.panel.trigger("area-error",[r,o])}).promise():n.reject("unable to load media")},doLoad:function(e,t){return n.resolved},doUnload:function(e,t){return n.resolved},close:function(e){var t=this;if(t.currentMedia instanceof s.Panel.Media){var i=t.currentMedia;if(!e)return t.panel.trigger("area-unload",[t,i]),t.doUnload(i,!1).then(function(){t.panel.trigger("area-unloaded",[t,i]),t.currentMedia=null});t.panel.trigger("area-unload",[t,i]),t.doUnload(i,!1).then(function(){t.panel.trigger("area-unloaded",[t,i])}),t.currentMedia=null}return n.resolved},shouldReverseTransition:function(e,t){var i,n;return!(e instanceof s.Panel.Media&&t instanceof s.Panel.Media)||(i=e.item.index<t.item.index,(n=this.panel.tmpl.items.last(this.panel.isVisible))instanceof s.Item&&(0===t.item.index&&e.item.index===n.index||t.item.index===n.index&&0===e.item.index)?!i:i)},listen:function(){},stopListening:function(){},resize:function(){}})}(FooGallery.$,FooGallery,FooGallery.utils,(FooGallery.utils.is,FooGallery.utils.fn),FooGallery.utils.obj,FooGallery.utils.str),function(s,t,i,a){t.Panel.Content=t.Panel.Area.extend({construct:function(e){this._super(e,"content",{waitForUnload:!1},e.cls.content),this.$buttons=null,this.robserver=null},doCreate:function(){var e=this;return!!e._super()&&(e.$buttons=s("<div/>").addClass(e.cls.buttons).appendTo(e.$el),e.panel.opt.swipe&&e.$inner.fgswipe({data:{self:e},swipe:e.onSwipe,allowPageScroll:!0}),e.robserver=new ResizeObserver(i.throttle(function(){e.panel instanceof t.Panel&&!e.panel.destroying&&!e.panel.destroyed&&e.resize()},50)),e.robserver.observe(e.$inner.get(0)),!0)},doDestroy:function(){return this.robserver instanceof ResizeObserver&&this.robserver.disconnect(),this.$inner.fgswipe("destroy"),this._super()},doLoad:function(i,n){var o=this,r=o.panel.cls.states;return s.Deferred(function(e){i.isCreated||i.create(),i.$el.toggleClass(r.reverse,n),i.appendTo(o.$inner);var t=[];o.panel.hasTransition?t.push(a.start(i.$el,function(e){e.addClass(r.visible)},null,350)):i.$el.addClass(r.visible),t.push(i.load()),s.when.apply(s,t).then(e.resolve).catch(e.reject)}).promise()},doUnload:function(i,n){var o=this,r=o.panel.cls.states;return s.Deferred(function(e){var t=[];i.isCreated&&(i.$el.toggleClass(r.reverse,!n),o.panel.hasTransition?t.push(a.start(i.$el,function(e){e.removeClass(r.visible)},null,350)):i.$el.removeClass(r.visible)),t.push(i.unload()),s.when.apply(s,t).then(e.resolve).catch(e.reject)}).always(function(){i.isCreated&&i.$el.removeClass(r.reverse),i.detach()}).promise()},onSwipe:function(e,t){t=t.self;"E"===e.direction&&t.panel.prev(),"W"===e.direction&&t.panel.next()},resize:function(){this.currentMedia instanceof t.Panel.Media&&this.currentMedia.resize()}})}(FooGallery.$,FooGallery,FooGallery.utils.fn,FooGallery.utils.transition),function(i,n,s){i.Panel.SideArea=i.Panel.Area.extend({construct:function(e,t,i,n){var o=this,r=e.cls.sideArea;o._super(e,t,s.extend({icon:null,label:null,position:null,overlay:!1,visible:!0,autoHide:!1,toggle:!!e.opt.buttons[t],priority:99},i),s.extend({toggle:this.__cls(r.toggle,t,!0),visible:this.__cls(r.visible,t),overlay:this.__cls(r.overlay,t),position:{top:this.__cls(r.position.top,t),right:this.__cls(r.position.right,t),bottom:this.__cls(r.position.bottom,t),left:this.__cls(r.position.left,t)}},n)),o.isVisible=o.opt.visible,o.allPositionClasses=Object.keys(o.cls.position).map(function(e){return o.cls.position[e]}).join(" ")+" "+o.cls.overlay,o.button=o.registerButton()},registerButton:function(){var e=new i.Panel.SideAreaButton(this);return this.panel.buttons.register(e,this.opt.priority),e},doCreate:function(){return!!this._super()&&(this.isEnabled()&&(this.panel.$el.toggleClass(this.cls.visible,this.isVisible),this.setPosition(this.opt.position)),!0)},isEnabled:function(){return this.cls.position.hasOwnProperty(this.opt.position)},canLoad:function(e){return this.isEnabled()&&e instanceof i.Panel.Media},getPosition:function(){var e;return this.isEnabled()?(e=this.cls.position[this.opt.position],this.opt.overlay?e+" "+this.cls.overlay:e):null},setPosition:function(e,t=null){this.opt.position=this.cls.position.hasOwnProperty(e)?e:null,n.boolean(t)&&(this.opt.overlay=t),n.jq(this.panel.$el)&&this.panel.$el.removeClass(this.allPositionClasses).addClass(this.getPosition())},toggle:function(e){this.isVisible=n.boolean(e)?e:!this.isVisible,n.jq(this.panel.$el)&&this.panel.$el.toggleClass(this.cls.visible,this.isVisible),this.panel.buttons.press(this.name,this.isVisible)},onToggleClick:function(e){e.preventDefault(),e.data.self.toggle()},isTargetingSamePosition:function(e){var t;return e instanceof i.Panel.SideArea&&(t=this.opt.position,e=e.opt.position,n.string(t)&&n.string(e)&&t===e)}})}((FooGallery.$,FooGallery),(FooGallery.icons,FooGallery.utils,FooGallery.utils.is),(FooGallery.utils.fn,FooGallery.utils.obj)),function(e,t,i){e.Panel.Info=e.Panel.SideArea.extend({construct:function(e){this._super(e,"info",{icon:"info",label:e.il8n.buttons.info,position:e.opt.info,overlay:e.opt.infoOverlay,visible:e.opt.infoVisible,autoHide:e.opt.infoAutoHide,align:e.opt.infoAlign,waitForUnload:!1,group:"overlay",priority:90},e.cls.info)},doCreate:function(){var e=this;return!(!e.isEnabled()||!e._super())&&(t.string(e.opt.align)&&e.cls.align.hasOwnProperty(e.opt.align)&&e.panel.$el.addClass(e.cls.align[e.opt.align]),!0)},canLoad:function(e){return this._super(e)&&e.caption.canLoad()},doLoad:function(e,t){return this.canLoad(e)&&(e.caption.appendTo(this.$inner),e.caption.load()),i.resolved},doUnload:function(e,t){return e.caption.unload(),e.caption.detach(),i.resolved}})}((FooGallery.$,FooGallery),FooGallery.utils.is,FooGallery.utils.fn),function(o,r,e,s,i,u,d){r.Panel.Thumbs=r.Panel.SideArea.extend({construct:function(e){this._super(e,"thumbs",{icon:"thumbs",label:e.il8n.buttons.thumbs,position:e.opt.thumbs,captions:e.opt.thumbsCaptions,align:e.opt.thumbsCaptionsAlign,small:e.opt.thumbsSmall,bestFit:e.opt.thumbsBestFit,toggle:!1,waitForUnload:!1},e.cls.thumbs),this.iobserver=null,this.robserver=null,this.$prev=null,this.$next=null,this.$viewport=null,this.$stage=null,this.$dummy=null,this.__items=[],this.__animationFrameId=null,this.info=this.getInfo(),this.selectedIndex=0,this.scrollIndex=0,this.lastIndex=0},isHorizontal:function(){return-1!==["top","bottom"].indexOf(this.opt.position)},doCreate:function(){var n=this;return!(!n.isEnabled()||!n._super())&&(n.opt.captions||n.panel.$el.addClass(n.cls.noCaptions),n.opt.small&&n.panel.$el.addClass(n.cls.small),i.string(n.opt.align)&&n.cls.align.hasOwnProperty(n.opt.align)&&n.panel.$el.addClass(n.cls.align[n.opt.align]),n.$prev=o("<button/>",{type:"button"}).addClass(n.cls.prev).append(e.get("arrow-left",n.panel.opt.icons)).on("click.foogallery",{self:n},n.onPrevClick).prependTo(n.$inner),n.$viewport=o("<div/>").addClass(n.cls.viewport).appendTo(n.$inner),n.$next=o("<button/>",{type:"button"}).addClass(n.cls.next).append(e.get("arrow-right",n.panel.opt.icons)).on("click.foogallery",{self:n},n.onNextClick).appendTo(n.$inner),n.$stage=o("<div/>").addClass(n.cls.stage).appendTo(n.$viewport),n.$dummy=o("<div/>").addClass(n.cls.thumb.elem).appendTo(n.$viewport),n.iobserver=new IntersectionObserver(function(e){e.forEach(function(e){e.isIntersecting&&(n.iobserver.unobserve(e.target),n.loadThumbElement(e.target))})},{root:n.$inner.get(0),rootMargin:"82px 300px"}),n.robserver=new ResizeObserver(u.throttle(function(e){var t,i;0<e.length&&n.panel instanceof r.Panel&&!n.panel.destroying&&!n.panel.destroyed&&(e=s.getResizeObserverSize(e[0]),t=n.info.viewport,i=Math.floor(Math.abs(e.width-t.width)),e=Math.floor(Math.abs(e.height-t.height)),n.isVisible&&(1<i||1<e)&&n.resize())},50)),n.doCreateThumbs(n.panel.tmpl.items.available(n.panel.isVisible)),!0)},doCreateThumbs:function(e){var t;i.empty(e)||((t=this).iobserver instanceof IntersectionObserver&&t.iobserver.takeRecords().forEach(function(e){t.iobserver.unobserve(e.target)}),t.__items=e,t.selectedIndex=0,t.scrollIndex=0,t.lastIndex=t.__items.length-1,t.$stage.empty(),e.forEach(function(e){e=t.doCreateThumb(e).appendTo(t.$stage);t.iobserver.observe(e.get(0))}),t.$stage.append(o("<div/>").addClass(t.cls.spacer)))},doCreateThumb:function(e){var t=this,i=t.cls.thumb;return o("<figure/>").addClass(i.elem).addClass(e.getTypeClass()).addClass(t.panel.cls.states.idle).append(o("<div/>").addClass(i.media).append(o("<div/>").addClass(i.overlay),o("<div/>").addClass(i.wrap).append(o("<img/>",{title:e.title,alt:e.alt}).attr({draggable:!1}).addClass(i.image)),o("<div/>").addClass(t.panel.cls.loader)),o("<div/>").addClass(i.caption).append(o("<div/>").addClass(i.title).html(e.caption),o("<div/>").addClass(i.description).html(e.description))).data("item",e).on("click",{self:t,item:e},t.onThumbClick)},doDestroy:function(){return this.stopListening(),this.iobserver instanceof IntersectionObserver&&this.iobserver.disconnect(),this.robserver instanceof ResizeObserver&&this.robserver.disconnect(),this._super()},doLoad:function(e,t){return this.isCreated&&-1!==(e=this.__items.indexOf(e.item))&&(this.makeVisible(e),this.$stage.find(this.sel.thumb.elem).removeClass(this.panel.cls.states.selected).eq(e).addClass(this.panel.cls.states.selected),this.selectedIndex=e),u.resolved},makeVisible:function(e,t){(e<=this.scrollIndex||e>=this.scrollIndex+this.info.count)&&this.goto(e,t)},listen:function(){var e=this;e.stopListening(),e.isCreated&&(e.resize(),e.robserver.observe(e.$viewport.get(0)),e.$inner.fgswipe({data:{self:e},swipe:e.onSwipe,allowPageScroll:!0}).on("DOMMouseScroll.foogallery-panel-thumbs mousewheel.foogallery-panel-thumbs",{self:e},e.onMouseWheel))},stopListening:function(){this.isCreated&&(this.$inner.fgswipe("destroy").off(".foogallery-panel-thumbs"),this.$stage.find(this.sel.thumb).css({width:"",minWidth:"",height:"",minHeight:""}),this.robserver.unobserve(this.$viewport.get(0)))},loadThumbElement:function(e){var t=o(e),e=t.data("item"),i=t.find(this.sel.thumb.image).get(0),n=this.panel.cls.states;t.removeClass(n.allLoading).addClass(n.loading),i.onload=function(){i.onload=i.onerror=null,t.removeClass(n.allLoading).addClass(n.loaded)},i.onerror=function(){i.onload=i.onerror=null,t.removeClass(n.allLoading).addClass(n.error)},i.src=e.src,i.srcset=e.srcset,i.complete&&i.onload()},goto:function(e,s){var a=this;if(!a.isCreated)return u.reject("thumbs not created");e=e<0?0:e>a.lastIndex?a.lastIndex:e;var l=a.panel.cls.states,c=e>=a.scrollIndex+a.info.count?e-(a.info.count-1):e,t=a.lastIndex-(a.info.count-1);return(t=t<0?0:t)<(c=c<0?0:c)&&(c=t),o.Deferred(function(e){var t,i,n,o,r=a.$stage.find(a.sel.thumb.elem).eq(c);0<r.length?(t=c>a.scrollIndex,i=a.__items.length>=a.info.count,o=a.info.isHorizontal?(n=-r.prop("offsetLeft"),t&&(n+=a.info.remaining.width),"translateX("+((n=i&&a.info.stage.width-Math.abs(n)<a.info.viewport.width?a.info.viewport.width-a.info.stage.width:n)-1)+"px)"):(n=-r.prop("offsetTop"),t&&(n+=a.info.remaining.height),"translateY("+((n=i&&a.info.stage.height-Math.abs(n)<a.info.viewport.height?a.info.viewport.height-a.info.stage.height:n)-1)+"px)"),a.panel.hasTransition&&!s?d.start(a.$stage,function(e){e.css("transform",o)},null,350).then(function(){e.resolve()}).catch(e.reject):(a.$stage.addClass(l.noTransitions).css("transform",o),a.$stage.prop("offsetHeight"),a.$stage.removeClass(l.noTransitions),e.resolve())):e.resolve()}).always(function(){a.scrollIndex=c,a.$prev.toggleClass(l.disabled,c<=0),a.$next.toggleClass(l.disabled,t<=c)}).promise()},getInfo:function(){var e=this.isHorizontal(),t={width:0,height:0},i={width:0,height:0},n={width:0,height:0},o={horizontal:0,vertical:0},r={width:0,height:0},s={width:0,height:0},a=0,l=0,c=this.__items.length;return this.isCreated&&(t={width:this.$viewport.innerWidth()+1,height:this.$viewport.innerHeight()+1},n={width:this.$dummy.outerWidth(),height:this.$dummy.outerHeight()},o={horizontal:Math.floor(t.width/n.width),vertical:Math.floor(t.height/n.height)},r={width:t.width/Math.min(c,o.horizontal),height:t.height/Math.min(c,o.vertical)},a=(this.opt.bestFit?r:n).width,l=(this.opt.bestFit?r:n).height,i={width:e?this.__items.length*a:a,height:e?l:this.__items.length*l},s={width:Math.floor(t.width-o.horizontal*a),height:Math.floor(t.height-o.vertical*l)}),{isHorizontal:e,viewport:t,stage:i,original:n,adjusted:r,remaining:s,counts:o,count:e?o.horizontal:o.vertical,width:a,height:l}},resize:function(){this.isCreated&&(this.info=this.getInfo(),this.opt.bestFit&&(this.info.isHorizontal?this.$stage.find(this.sel.thumb.elem).css({width:this.info.width,minWidth:this.info.width,height:"",minHeight:""}):this.$stage.find(this.sel.thumb.elem).css({height:this.info.height,minHeight:this.info.height,width:"",minWidth:""})),this.goto(this.scrollIndex,!0))},onThumbClick:function(e){e.preventDefault(),e.data.self.panel.load(e.data.item)},onPrevClick:function(e){e.preventDefault();e=e.data.self;e.goto(e.scrollIndex-(e.info.count-1||1))},onNextClick:function(e){e.preventDefault();e=e.data.self;e.goto(e.scrollIndex+(e.info.count-1||1))},onSwipe:function(e,t){var t=t.self,i=1;t.info.isHorizontal?(i=Math.ceil(e.distance/t.info.width),"E"===e.direction&&t.goto(t.scrollIndex-i),"W"===e.direction&&t.goto(t.scrollIndex+i)):(i=Math.ceil(e.distance/t.info.height),"S"===e.direction&&t.goto(t.scrollIndex-i),"N"===e.direction&&t.goto(t.scrollIndex+i))},onMouseWheel:function(e){var t=e.data.self,i=Math.max(-1,Math.min(1,e.originalEvent.wheelDelta||-e.originalEvent.detail));0<i?(t.goto(t.scrollIndex-1),e.preventDefault()):i<0&&(t.goto(t.scrollIndex+1),e.preventDefault())}})}(FooGallery.$,FooGallery,FooGallery.icons,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.transition),function(e,i){e.Panel.Cart=e.Panel.SideArea.extend({construct:function(e){this._super(e,"cart",{icon:"cart",label:e.il8n.buttons.cart,position:e.opt.cart,overlay:e.opt.cartOverlay,visible:e.opt.cartVisible,autoHide:e.opt.cartAutoHide,waitForUnload:!1,group:"overlay"},e.cls.cart)},canLoad:function(e){return this._super(e)&&e.product.canLoad()},doLoad:function(e,t){return this.canLoad(e)&&(e.product.appendTo(this.$inner),e.product.load()),i.resolved},doUnload:function(e,t){return e.product.unload(),e.product.detach(),i.resolved}})}((FooGallery.$,FooGallery),FooGallery.utils.fn,FooGallery.utils.transition),function(n,o,e,r,t,s){o.Panel.Media=e.Class.extend({construct:function(e,t){var i=this;i.panel=e,i.item=t,i.opt=s.extend({},e.opt.media),i.cls=s.extend({},e.cls.media),i.sel=s.extend({},e.sel.media),i.il8n=s.extend({},e.il8n.media),i.caption=new o.Panel.Media.Caption(e,i),o.Panel.Media.Product&&(i.product=new o.Panel.Media.Product(e,i)),o.Panel.Media.Comments&&(i.comments=new o.Panel.Media.Comments(e,i)),i.$el=null,i.$content=null,i.isCreated=!1,i.isAttached=!1,i.isLoading=!1,i.isLoaded=!1,i.isError=!1},getSize:function(e,t,i,n){var o={};return r.string(e)&&r.string(t)&&(o[e]=r.size(i)?i:null,o[t]=r.size(n)?n:null,this.item.isCreated&&(o[e]=this.item.$anchor.data(e)||o[e],o[t]=this.item.$anchor.data(t)||o[t])),o},getSizes:function(){var e=this,t=e.getSize("width","height",e.opt.width,e.opt.height),i=e.getSize("maxWidth","maxHeight",e.opt.maxWidth,e.opt.maxHeight),e=e.getSize("minWidth","minHeight",e.opt.minWidth,e.opt.minHeight);return s.extend(t,i,e)},destroy:function(){var e=this;return e.panel.trigger("media-destroy",[e]).isDefaultPrevented()||(e.isCreated=!e.doDestroy()),e.isCreated||e.panel.trigger("media-destroyed",[e]),!e.isCreated},doDestroy:function(){return this.isCreated&&(this.caption.destroy(),this.detach(),this.$el.remove()),!0},create:function(){var e=this;return!e.isCreated&&r.string(e.item.href)&&(e.panel.trigger("media-create",[e]).isDefaultPrevented()||(e.isCreated=e.doCreate()),e.isCreated&&e.panel.trigger("media-created",[e])),e.isCreated},doCreate:function(){var e=this;return e.$el=n("<div/>").addClass([e.cls.elem,e.cls.type].join(" ")).append(n("<div/>").addClass(e.panel.cls.loader)),e.$content=e.doCreateContent().addClass(e.cls.content).css(e.getSizes()).appendTo(e.$el),!0},doCreateContent:function(){return n()},appendTo:function(e){var t=this;return t.isCreated||t.create(),t.isCreated&&!t.isAttached&&(t.panel.trigger("media-append",[t,e]).isDefaultPrevented()||(t.isAttached=t.doAppendTo(e)),t.isAttached&&t.panel.trigger("media-appended",[t,e])),t.isAttached},doAppendTo:function(e){return this.$el.appendTo(e),0<this.$el.parent().length},detach:function(){var e=this;return e.isCreated&&e.isAttached&&(e.panel.trigger("media-detach",[e]).isDefaultPrevented()||(e.isAttached=!e.doDetach()),e.isAttached||e.panel.trigger("media-detached",[e])),!e.isAttached},doDetach:function(){return this.$el.detach(),!0},load:function(){var t=this,i=t.panel.cls.states;return n.Deferred(function(e){t.panel.trigger("media-load",[t]).isDefaultPrevented()?e.rejectWith("default prevented"):t.isLoaded?e.resolve():t.isError?e.reject("previous error"):(t.isLoading=!0,t.$el.removeClass(i.allLoading).addClass(i.loading),t.doLoad().then(e.resolve).catch(e.reject))}).always(function(){t.isLoading=!1,t.$el.removeClass(i.loading)}).then(function(){t.isLoaded=!0,t.$el.addClass(i.loaded),t.panel.trigger("media-loaded",[t])}).catch(function(){t.isError=!0,t.$el.addClass(i.loaded),t.panel.trigger("media-error",[t])}).promise()},doLoad:function(){return t.resolved},unload:function(){var t=this;return n.Deferred(function(e){t.isCreated&&t.isAttached?t.panel.trigger("media-unload",[t]).isDefaultPrevented()?e.rejectWith("default prevented"):t.doUnload().then(e.resolve).catch(e.reject):e.rejectWith("not created or attached")}).then(function(){t.panel.trigger("media-unloaded",[t])}).promise()},doUnload:function(){return t.resolved},resize:function(){}}),o.template.configure("core",{panel:{media:{width:null,height:null,minWidth:null,minHeight:null,maxWidth:null,maxHeight:null,attrs:{}}}},{panel:{media:{elem:"fg-media",type:"fg-media-unknown",content:"fg-media-content",caption:{elem:"fg-media-caption",title:"fg-media-caption-title",description:"fg-media-caption-description",exif:{elem:"fg-media-caption-exif",auto:"fg-media-caption-exif-auto",full:"fg-media-caption-exif-full",partial:"fg-media-caption-exif-partial",minimal:"fg-media-caption-exif-minimal",prop:"fg-media-caption-exif-prop",icon:"fg-media-caption-exif-icon",content:"fg-media-caption-exif-content",label:"fg-media-caption-exif-label",value:"fg-media-caption-exif-value",tooltip:"fg-media-caption-exif-tooltip",tooltipPointer:"fg-media-caption-exif-tooltip-pointer",showTooltip:"fg-media-caption-exif-show-tooltip"}},product:{elem:"fg-media-product",inner:"fg-media-product-inner",header:"fg-media-product-header",body:"fg-media-product-body",footer:"fg-media-product-footer",button:"fg-panel-button",primary:"fg-panel-button-primary",secondary:"fg-panel-button-secondary",hidden:"fg-hidden",disabled:"fg-disabled",loading:"fg-loading"}}}},{panel:{media:{product:{title:"Product Information",addToCart:"Add to Cart",viewProduct:"View Product",goToCheckout:"Go to Checkout",success:"Successfully added to cart.",error:"Something went wrong adding to cart."}}}}),o.Panel.media=new o.Factory}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.obj,(FooGallery.utils.str,FooGallery.utils.transition)),function(s,a,l,c,u,e,d){var h=!!window.matchMedia&&window.matchMedia("(hover: hover)").matches;a.Panel.Media.Caption=c.Class.extend({construct:function(e,t){var i=this;i.panel=e,i.media=t,i.opt=e.opt,i.cls=t.cls.caption,i.sel=t.sel.caption,i.$el=null,i.title=null,i.description=null,i.isCreated=!1,i.isAttached=!1,i.hasTitle=!1,i.hasDescription=!1,i.hasExif=!1,i.init(t.item)},canLoad:function(){return this.hasTitle||this.hasDescription||this.hasExif},init:function(e){var t,i,n,o,r;e instanceof a.Item&&(t=this,i=!1,e.isCreated?(r=e.$anchor.data()||{},n=u.string(r.lightboxTitle),o=u.string(r.lightboxDescription),(n||o)&&(i=!0,t.title=a.safeParse(n?r.lightboxTitle:""),t.description=a.safeParse(o?r.lightboxDescription:""))):(r=e.attr.anchor,n=u.string(r["data-lightbox-title"]),o=u.string(r["data-lightbox-description"]),(n||o)&&(i=!0,t.title=a.safeParse(n?r["data-lightbox-title"]:""),t.description=a.safeParse(o?r["data-lightbox-description"]:""))),i||(t.title=e.caption,t.description=e.description),t.hasTitle=!u.empty(t.title),t.hasDescription=!u.empty(t.description),t.hasExif=e.hasExif&&-1!==c.inArray(t.opt.exif,["auto","full","partial","minimal"]))},create:function(){return this.isCreated||this.panel.trigger("caption-create",[this]).isDefaultPrevented()||(this.isCreated=this.doCreate(),this.isCreated&&this.panel.trigger("caption-created",[this])),this.isCreated},doCreate:function(){var n,o,r=this;return r.$el=s("<div/>").addClass(r.cls.elem),r.hasTitle&&r.$el.append(s("<div/>").addClass(r.cls.title).html(r.title)),r.hasDescription&&r.$el.append(s("<div/>").addClass(r.cls.description).html(r.description)),r.hasExif&&(n=r.media.item.exif,o=s("<div/>",{class:r.cls.exif.elem}).addClass(r.cls.exif[r.opt.exif]),a.supportedExifProperties.forEach(function(e){var t,i;u.empty(n[e])||(i="exif-"+d.kebab(e),t=r.media.item.il8n.exif[e],e=n[e],i=s("<div/>",{class:r.cls.exif.prop}).append(s("<div/>",{class:r.cls.exif.icon}).append(l.get(i,r.opt.icons)),s("<div/>",{class:r.cls.exif.content}).append(s("<div/>",{class:r.cls.exif.label}).text(t),s("<div/>",{class:r.cls.exif.value}).text(e)),s("<span/>",{class:r.cls.exif.tooltip}).text(t+": "+e).append(s("<span/>",{class:r.cls.exif.tooltipPointer}))),h||i.on("click",{self:r},r.onExifClick),o.append(i))}),r.$el.append(o)),!0},onExifClick:function(e){e.preventDefault();var t,e=e.data.self,i=s(this),n=i.find(e.sel.exif.tooltip),o=s(e.sel.exif.showTooltip);s(e.sel.exif.prop).removeClass(e.cls.exif.showTooltip).find(e.sel.exif.tooltip).css("left","").find(e.sel.exif.tooltipPointer).css("left",""),o.is(i)||(n.css("display","inline-block"),t=(o=n.offset().left)+n.outerWidth(),0<(t=Math.ceil(t-window.innerWidth))&&n.css("left","calc(50% - "+t+"px)").find(e.sel.exif.tooltipPointer).css("left","calc(50% + "+t+"px)"),o<0&&(o=Math.abs(o),n.css("left","calc(50% + "+o+"px)").find(e.sel.exif.tooltipPointer).css("left","calc(50% - "+o+"px)")),n.css("display",""),i.addClass(e.cls.exif.showTooltip))},destroy:function(){return this.isCreated&&!this.panel.trigger("caption-destroy",[this]).isDefaultPrevented()&&(this.isCreated=!this.doDestroy(),this.isCreated||this.panel.trigger("caption-destroyed",[this])),!this.isCreated},doDestroy:function(){return this.$el.remove(),!0},appendTo:function(e){var t=this;return t.isCreated||t.create(),t.isCreated&&!t.isAttached&&(t.panel.trigger("caption-append",[t,e]).isDefaultPrevented()||(t.isAttached=t.doAppendTo(e)),t.isAttached&&t.panel.trigger("caption-appended",[t,e])),t.isAttached},doAppendTo:function(e){return this.$el.appendTo(e),0<this.$el.parent().length},detach:function(){var e=this;return e.isCreated&&e.isAttached&&(e.panel.trigger("caption-detach",[e]).isDefaultPrevented()||(e.isAttached=!e.doDetach()),e.isAttached||e.panel.trigger("caption-detached",[e])),!e.isAttached},doDetach:function(){return this.$el.detach(),!0},load:function(){var t=this,i=t.panel.cls.states;return s.Deferred(function(e){t.panel.trigger("caption-load",[t]).isDefaultPrevented()?e.rejectWith("default prevented"):(t.$el.removeClass(i.allLoading).addClass(i.loading),t.doLoad().then(e.resolve).catch(e.reject))}).always(function(){t.$el.removeClass(i.loading)}).then(function(){t.$el.addClass(i.loaded),t.panel.trigger("caption-loaded",[t])}).catch(function(){t.$el.addClass(i.loaded),t.panel.trigger("caption-error",[t])}).promise()},doLoad:function(){return e.resolved},unload:function(){var t=this;return s.Deferred(function(e){t.isCreated&&t.isAttached?t.panel.trigger("caption-unload",[t]).isDefaultPrevented()?e.rejectWith("default prevented"):t.doUnload().then(e.resolve).catch(e.reject):e.rejectWith("not created or attached")}).then(function(){t.panel.trigger("caption-unloaded",[t])}).promise()},doUnload:function(){return e.resolved}})}(FooGallery.$,FooGallery,FooGallery.icons,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,(FooGallery.utils.obj,FooGallery.utils.str),FooGallery.utils.transition),function(n,e,t,i,o){e.Panel.Media.Product=t.Class.extend({construct:function(e,t){var i=this;i.panel=e,i.media=t,i.opt=e.opt,i.cls=t.cls.product,i.sel=t.sel.product,i.il8n=t.il8n.product,i.$el=null,i.$inner=null,i.$header=null,i.$body=null,i.$footer=null,i.isCreated=!1,i.isAttached=!1,i.__loaded=null,i.__requestId=null},hasWooCommerce:function(){return!!window.woocommerce_params},canLoad:function(){return!i.empty(this.media.item.productId)&&(this.panel.opt.admin&&!this.hasWooCommerce()||this.hasWooCommerce())},create:function(){var e=this;return e.isCreated||e.panel.trigger("product-create",[e]).isDefaultPrevented()||(e.isCreated=e.doCreate(),e.isCreated&&e.panel.trigger("product-created",[e])),e.isCreated},doCreate:function(){var e=this;return e.$el=n("<div/>").addClass(e.cls.elem).append(n("<div/>").addClass(e.panel.cls.loader)),e.$inner=n("<div/>").addClass(e.cls.inner).appendTo(e.$el),e.$header=n("<div/>").addClass(e.cls.header).html(e.il8n.title).appendTo(e.$inner),e.$body=n("<div/>").addClass(e.cls.body).appendTo(e.$inner),e.$addToCart=n("<button/>").addClass(e.cls.button).addClass(e.cls.primary).html(e.il8n.addToCart).on("click",{self:e},e.onAddToCartClick),e.$viewProduct=n("<a/>").addClass(e.cls.button).addClass(e.cls.secondary).html(e.il8n.viewProduct),e.$goToCheckout=n("<a/>").addClass(e.cls.button).addClass(e.cls.secondary).html(e.il8n.goToCheckout),e.$footer=n("<div/>").addClass(e.cls.footer).append(e.$addToCart).append(e.$viewProduct).append(e.$goToCheckout).appendTo(e.$inner),!0},destroy:function(){var e=this;return e.isCreated&&!e.panel.trigger("product-destroy",[e]).isDefaultPrevented()&&(e.isCreated=!e.doDestroy(),e.isCreated||e.panel.trigger("product-destroyed",[e])),!e.isCreated},doDestroy:function(){return this.$el.remove(),!0},appendTo:function(e){var t=this;return t.isCreated||t.create(),t.isCreated&&!t.isAttached&&(t.panel.trigger("product-append",[t,e]).isDefaultPrevented()||(t.isAttached=t.doAppendTo(e)),t.isAttached&&t.panel.trigger("product-appended",[t,e])),t.isAttached},doAppendTo:function(e){return this.$el.appendTo(e),0<this.$el.parent().length},detach:function(){var e=this;return e.isCreated&&e.isAttached&&(e.panel.trigger("product-detach",[e]).isDefaultPrevented()||(e.isAttached=!e.doDetach()),e.isAttached||e.panel.trigger("product-detached",[e])),!e.isAttached},doDetach:function(){return this.$el.detach(),!0},load:function(){var t=this,i=t.panel.cls.states;return n.Deferred(function(e){t.panel.trigger("product-load",[t]).isDefaultPrevented()?e.rejectWith("default prevented"):(t.$el.removeClass(i.allLoading).addClass(i.loading),t.doLoad().then(e.resolve).catch(e.reject))}).always(function(){t.$el.removeClass(i.loading)}).then(function(){t.$el.addClass(i.loaded),t.panel.trigger("product-loaded",[t])}).catch(function(){t.$el.addClass(i.loaded),t.panel.trigger("product-error",[t])}).promise()},doLoad:function(){var t=this;return null!==t.__loaded?t.__loaded:t.__loaded=n.ajax({type:"POST",url:t.panel.opt.cartAjax,data:{action:"foogallery_product_variations",nonce:t.panel.opt.cartNonce,nonce_time:t.panel.opt.cartTimeout,product_id:t.media.item.productId,gallery_id:t.panel.tmpl.id,attachment_id:t.media.item.id}}).then(function(e){e.error&&(console.log("Error fetching product information from server.",e.error),t.$footer.addClass(t.cls.hidden)),t.panel.opt.admin?t.$addToCart.toggleClass(t.cls.disabled,!0):t.$addToCart.toggleClass(t.cls.hidden,!t.hasWooCommerce()||!e.purchasable),i.string(e.product_url)?t.panel.opt.admin?t.$viewProduct.toggleClass(t.cls.disabled,!0):t.$viewProduct.prop("href",e.product_url):t.$viewProduct.toggleClass(t.cls.hidden,!0),i.string(e.checkout_url)?t.panel.opt.admin?t.$goToCheckout.toggleClass(t.cls.disabled,!0):t.$goToCheckout.prop("href",e.checkout_url):t.$goToCheckout.toggleClass(t.cls.hidden,!0),t.$body.html(e.body).find("tr").on("click",{self:t},t.onRowClick),i.string(e.title)?t.$header.html(e.title):t.$header.html(t.il8n.title)}).promise()},unload:function(){var t=this;return n.Deferred(function(e){t.isCreated&&t.isAttached?t.panel.trigger("product-unload",[t]).isDefaultPrevented()?e.rejectWith("default prevented"):t.doUnload().then(e.resolve).catch(e.reject):e.rejectWith("not created or attached")}).then(function(){t.panel.trigger("product-unloaded",[t])}).promise()},doUnload:function(){return o.resolved},onAddToCartClick:function(e){e.preventDefault();var t=n(this),i=e.data.self,e=i.$body.find(":radio:checked").val()||i.media.item.productId;i.$addToCart.addClass(i.cls.disabled).addClass(i.cls.loading),i.media.item.addToCart(t,e,1,!1).then(function(e){let t;t=!e||e.error?n("<p>"+i.il8n.error+"</p>"):n("<p>"+i.il8n.success+"</p>"),i.$footer.append(t),setTimeout(()=>{t.remove()},3e3)}).always(function(){i.$addToCart.removeClass(i.cls.disabled).removeClass(i.cls.loading)})},onRowClick:function(e){n(e.target).is(":radio")||(e.preventDefault(),e.stopPropagation(),n(this).find(":radio").prop("checked",!0))}})}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,(FooGallery.utils.obj,FooGallery.utils.transition)),function(e,o,a,r,i){o.Panel.Image=o.Panel.Media.extend({construct:function(e,t){this._super(e,t),i.extend(this.opt,e.opt.image),i.extend(this.cls,e.cls.image),i.extend(this.sel,e.sel.image),this.allFullClasses=[this.cls.fullWidth,this.cls.fullHeight].join(" ")},doCreateContent:function(){return e("<img/>").attr(this.opt.attrs)},resize:function(){var e,t,i,n,o,r,s=this;s.isCreated&&s.panel.opt.fitMedia&&((e=s.$content.get(0)).naturalWidth&&e.naturalHeight&&(t=e.naturalWidth>=e.naturalHeight,i=t,n=s.$el.innerWidth(),o=s.$el.innerHeight(),t?(r=n/e.naturalWidth,e.naturalHeight*r<o&&(i=!1)):(r=o/e.naturalHeight,e.naturalWidth*r<n&&(i=!0)),a.requestFrame(function(){s.$content.removeClass(s.allFullClasses).addClass(i?s.cls.fullWidth:s.cls.fullHeight)})))},doLoad:function(){var n=this;return e.Deferred(function(e){var t=n.$content.get(0),{cors:i}=(t.alt=n.item.alt,t.onload=function(){t.onload=t.onerror=null,e.resolve(n)},t.onerror=function(){t.onload=t.onerror=null,e.rejectWith("error loading image")},n.panel.tmpl)["opt"];r.string(i)&&null===t.crossOrigin&&o.isCrossOrigin(n.item.href)&&(t.crossOrigin=i),t.src=n.item.href,t.complete&&t.onload()}).then(function(){n.resize()}).promise()}}),o.Panel.media.register("image",o.Panel.Image),o.template.configure("core",{panel:{image:{attrs:{draggable:!1}}}},{panel:{image:{type:"fg-media-image",fullWidth:"fg-media-full-width",fullHeight:"fg-media-full-height"}}})}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.obj),function(e,t,i){t.Panel.Iframe=t.Panel.Media.extend({construct:function(e,t){this._super(e,t),i.extend(this.opt,e.opt.iframe),i.extend(this.cls,e.cls.iframe),i.extend(this.sel,e.sel.iframe)},doCreateContent:function(){return e("<iframe/>").attr(this.opt.attrs)},doLoad:function(){var t=this;return e.Deferred(function(e){t.$content.off("load error").on({load:function(){t.$content.off("load error"),e.resolve(t)},error:function(){t.$content.off("load error"),e.reject(t)}}),t.$content.attr("src",t.item.href)}).promise()}}),t.Panel.media.register("iframe",t.Panel.Iframe),t.template.configure("core",{panel:{iframe:{attrs:{src:"",frameborder:"no",allow:"autoplay; fullscreen",allowfullscreen:!0}}}},{panel:{iframe:{type:"fg-media-iframe"}}})}(FooGallery.$,FooGallery,(FooGallery.utils,FooGallery.utils.obj)),function(e,t,i,n){t.Panel.Html=t.Panel.Media.extend({construct:function(e,t){this._super(e,t),i.extend(this.opt,e.opt.html),i.extend(this.cls,e.cls.html),i.extend(this.sel,e.sel.html),this.$target=null},doCreate:function(){return!!this._super()&&(!(!n.startsWith(this.item.href,"#")||0===(this.$target=e(this.item.href)).length)||(this.$target=null,!1))},doCreateContent:function(){return e("<div/>").attr(this.opt.attrs)},doAppendTo:function(e){return!!this._super(e)&&(this.$content.append(this.$target.contents()),!0)},doDetach:function(){return this.$target.append(this.$content.contents()),this._super()}}),t.Panel.media.register("html",t.Panel.Html),t.template.configure("core",{panel:{html:{}}},{panel:{html:{type:"fg-media-html"}}})}(FooGallery.$,FooGallery,(FooGallery.utils,FooGallery.utils.obj),FooGallery.utils.str),function(e,i){e.Panel.Embed=e.Panel.Html.extend({construct:function(e,t){this._super(e,t),i.extend(this.opt,e.opt.embed),i.extend(this.cls,e.cls.embed),i.extend(this.sel,e.sel.embed)}}),e.Panel.media.register("embed",e.Panel.Embed),e.template.configure("core",{panel:{embed:{}}},{panel:{embed:{type:"fg-media-embed"}}})}((FooGallery.$,FooGallery),(FooGallery.utils,FooGallery.utils.obj),FooGallery.utils.str),function(n,o,c,i,u){o.Panel.Video=o.Panel.Media.extend({construct:function(e,t){this._super(e,t),i.extend(this.opt,e.opt.video),i.extend(this.cls,e.cls.video),i.extend(this.sel,e.sel.video),this.urls=[],this.isSelfHosted=!1},parseHref:function(){for(var e=this,t=e.item.href.split(","),i=[],n=0,o=t.length;n<o;n++)if(!c.empty(t[n]))for(var r=u.parts(t[n]),s=null,a=0,l=e.panel.videoSources.length;a<l;a++)if(e.panel.videoSources[a].canPlay(r)){s=e.panel.videoSources[a],i.push({parts:r,source:s,embed:s.getEmbedUrl(r,e.opt.autoPlay)});break}return i},doCreateContent:function(){this.urls=this.parseHref(),this.isSelfHosted=0<n.map(this.urls,function(e){return!!e.source.selfHosted||null}).length;var e,{cors:t}=this.panel.tmpl["opt"];const i={...this.opt.attrs.video};return c.string(t)&&(e=this.urls.at(0),c.string(e)&&c.string(i?.crossOrigin)&&o.isCrossOrigin(e)&&(i.crossOrigin=t)),this.isSelfHosted?n("<video/>",i):n("<iframe/>",this.opt.attrs.iframe).addClass("fitvidsignore")},doLoad:function(){var t=this;return n.Deferred(function(e){0===t.urls.length?e.rejectWith("no urls available"):(t.isSelfHosted?t.loadSelfHosted():t.loadIframe()).then(e.resolve).catch(e.reject)}).promise()},loadSelfHosted:function(){var i=this;return n.Deferred(function(t){i.$content.off("loadeddata error"),i.$content.find("source").remove(),c.empty(i.item.cover)||i.$content.attr("poster",i.item.cover),i.$content.on({loadeddata:function(){var e;i.$content.off("loadeddata error"),this.volume=i.opt.volume,i.opt.autoPlay&&void 0!==(e=this.play())&&e.catch(function(){console.log("Unable to autoplay video due to policy changes: https://developers.google.com/web/updates/2017/09/autoplay-policy-changes")}),t.resolve(i)},error:function(){i.$content.off("loadeddata error"),t.reject(i)}});var e=n.map(i.urls,function(e){return n("<source/>",{src:e.embed,mimeType:e.source.mimeType})});i.$content.append(e),i.$content.get(0).load()}).promise()},loadIframe:function(){var t=this;return n.Deferred(function(e){c.empty(t.item.cover)||t.$content.css("background-image","url('"+t.item.cover+"')"),t.$content.off("load error").on({load:function(){t.$content.off("load error"),e.resolve(t)},error:function(){t.$content.off("load error"),e.reject(t)}}),t.$content.attr("src",t.urls[0].embed)}).promise()}}),o.Panel.media.register("video",o.Panel.Video),o.template.configure("core",{panel:{video:{autoPlay:!1,volume:.2,privacyEnhanced:!0,attrs:{iframe:{src:"",frameborder:"no",allow:"autoplay; fullscreen",allowfullscreen:!0},video:{controls:!0,preload:!1,controlsList:"nodownload"}}}}},{panel:{video:{type:"fg-media-video"}}})}(FooGallery.$,FooGallery,(FooGallery.utils,FooGallery.utils.is),FooGallery.utils.obj,FooGallery.utils.url),function(e,s,a,l,i){var c=document.createElement("video");e.Panel.Video.Source=s.Class.extend({construct:function(e,t,i,n,o,r){this.panel=e,this.mimeType=t,this.regex=i,this.selfHosted=!!a.boolean(n)&&n,this.embedParams=a.array(o)?o:[],this.autoPlayParam=a.hash(r)?r:{},this.canPlayType=!this.selfHosted||!a.fn(c.canPlayType)||-1!==s.inArray(c.canPlayType(this.mimeType),["probably","maybe"])},canPlay:function(e){return this.canPlayType&&this.regex.test(e.href)},mergeParams:function(e,t){for(var i,n=this,o=0,r=n.embedParams.length;o<r;o++)i=n.embedParams[o],e.search=l.param(e.search,i.key,i.value);return a.empty(n.autoPlayParam)||(e.search=l.param(e.search,n.autoPlayParam.key,t?n.autoPlayParam.value:"")),e.search},getId:function(e){e=e.href.match(/.*\/(.*?)($|\?|#)/);return e&&2<=e.length?e[1]:null},getEmbedUrl:function(e,t){return e.search=this.mergeParams(e,t),i.join("/",location.protocol,"//",e.host,e.pathname)+e.search+e.hash}}),e.Panel.Video.sources=new e.Factory}((FooGallery.$,FooGallery),FooGallery.utils,FooGallery.utils.is,FooGallery.utils.url,FooGallery.utils.str),function(e){e.Panel.Video.Dailymotion=e.Panel.Video.Source.extend({construct:function(e){this._super(e,"video/daily",/(www.)?dailymotion\.com|dai\.ly/i,!1,[{key:"wmode",value:"opaque"},{key:"info",value:"0"},{key:"logo",value:"0"},{key:"related",value:"0"}],{key:"autoplay",value:"1"})},getId:function(e){return(/\/video\//i.test(e.href)?e.href.split(/\/video\//i)[1].split(/[?&]/)[0].split(/[_]/):e.href.split(/dai\.ly/i)[1].split(/[?&]/))[0]},getEmbedUrl:function(e,t){var i=this.getId(e);return e.search=this.mergeParams(e,t),"https://www.dailymotion.com/embed/video/"+i+e.search+e.hash}}),e.Panel.Video.sources.register("video/daily",e.Panel.Video.Dailymotion)}(FooGallery),function(e){e.Panel.Video.Mp4=e.Panel.Video.Source.extend({construct:function(e){this._super(e,"video/mp4",/\.mp4/i,!0)}}),e.Panel.Video.sources.register("video/mp4",e.Panel.Video.Mp4),e.Panel.Video.Webm=e.Panel.Video.Source.extend({construct:function(e){this._super(e,"video/webm",/\.webm/i,!0)}}),e.Panel.Video.sources.register("video/webm",e.Panel.Video.Webm),e.Panel.Video.Wmv=e.Panel.Video.Source.extend({construct:function(e){this._super(e,"video/wmv",/\.wmv/i,!0)}}),e.Panel.Video.sources.register("video/wmv",e.Panel.Video.Wmv),e.Panel.Video.Ogv=e.Panel.Video.Source.extend({construct:function(e){this._super(e,"video/ogg",/\.ogv|\.ogg/i,!0)}}),e.Panel.Video.sources.register("video/ogg",e.Panel.Video.Ogv)}(FooGallery),function(e){e.Panel.Video.Vimeo=e.Panel.Video.Source.extend({construct:function(e){this._super(e,"video/vimeo",/(player.)?vimeo\.com/i,!1,[{key:"badge",value:"0"},{key:"portrait",value:"0"}],{key:"autoplay",value:"1"})},getEmbedUrl:function(e,t){var i=this.getId(e);return e.search=this.mergeParams(e,t),"https://player.vimeo.com/video/"+i+e.search+e.hash}}),e.Panel.Video.sources.register("video/vimeo",e.Panel.Video.Vimeo)}(FooGallery),function(e,a,l){e.Panel.Video.Wistia=e.Panel.Video.Source.extend({construct:function(e){this._super(e,"video/wistia",/(.+)?(wistia\.(com|net)|wi\.st)\/.*/i,!1,[],{iframe:{key:"autoPlay",value:"1"},playlists:{key:"media_0_0[autoPlay]",value:"1"}})},getType:function(e){return/playlists\//i.test(e)?"playlists":"iframe"},mergeParams:function(e,t){for(var i,n,o=this,r=0,s=o.embedParams.length;r<s;r++)i=o.embedParams[r],e.search=l.param(e.search,i.key,i.value);return a.empty(o.autoPlayParam)||(n=o.autoPlayParam[o.getType(e.href)],e.search=l.param(e.search,n.key,t?n.value:"")),e.search},getId:function(e){return(/embed\//i.test(e.href)?e.href.split(/embed\/.*?\//i):e.href.split(/medias\//))[1].split(/[?&]/)[0]},getEmbedUrl:function(e,t){var i=this.getId(e);return e.search=this.mergeParams(e,t),"https://fast.wistia.net/embed/"+this.getType(e.href)+"/"+i+e.search+e.hash}}),e.Panel.Video.sources.register("video/wistia",e.Panel.Video.Wistia)}(FooGallery,FooGallery.utils.is,FooGallery.utils.url),function(e){e.Panel.Video.YouTube=e.Panel.Video.Source.extend({construct:function(e){this._super(e,"video/youtube",/(www.)?youtube|youtu\.be/i,!1,[{key:"modestbranding",value:"1"},{key:"rel",value:"0"},{key:"wmode",value:"transparent"},{key:"showinfo",value:"0"}],{key:"autoplay",value:"1"})},getId:function(e){return(/shorts\//i.test(e.href)?e.href.split(/shorts\//i):/embed\//i.test(e.href)?e.href.split(/embed\//i):e.href.split(/v\/|v=|youtu\.be\//i))[1].split(/[?&]/)[0]},getEmbedUrl:function(e,t){var i=this.getId(e);return e.search=this.mergeParams(e,t),"https://www.youtube"+(this.panel.opt.video.privacyEnhanced?"-nocookie":"")+".com/embed/"+i+e.search+e.hash}}),e.Panel.Video.sources.register("video/youtube",e.Panel.Video.YouTube)}(FooGallery),function(e){e.Panel.Video.TED=e.Panel.Video.Source.extend({construct:function(e){this._super(e,"video/ted",/(www.)?ted\.com/i,!1,[],{key:"autoplay",value:"1"})},getEmbedUrl:function(e,t){var i=this.getId(e);return e.search=this.mergeParams(e,t),"https://embed.ted.com/talks/"+i+e.search+e.hash}}),e.Panel.Video.sources.register("video/ted",e.Panel.Video.TED)}(FooGallery),function(e,i){e.Panel.Video.Facebook=e.Panel.Video.Source.extend({construct:function(e){this._super(e,"video/facebook",/(www.)?facebook\.com\/.*?\/videos\//i,!1,[{key:"show_text",value:"0"},{key:"show_caption",value:"0"}],{key:"autoplay",value:"1"})},getEmbedUrl:function(e,t){return"https://www.facebook.com/plugins/video.php"+i.param(this.mergeParams(e,t),"href",encodeURI(e.origin+e.pathname))+e.hash}}),e.Panel.Video.sources.register("video/facebook",e.Panel.Video.Facebook)}(FooGallery,FooGallery.utils.url),function(e){e.Panel.Video.Generic=e.Panel.Video.Source.extend({construct:function(e){this._super(e,"video/generic",/[&?]fg_video=(1|true)(&|$)/i)},getEmbedUrl:function(e,t){return e.href}}),e.Panel.Video.sources.register("video/generic",e.Panel.Video.Generic)}(FooGallery),function(n,i,o){n.Lightbox=n.Panel.extend({construct:function(e,t){var i=this;i._super(e,t),i.opt.enabled&&i.tmpl instanceof n.Template&&!i.tmpl.destroying&&!i.tmpl.destroyed&&i.tmpl.on({"after-state":i.onAfterState,"anchor-click-item":i.onAnchorClickItem,destroyed:i.onDestroyedTemplate},i)},onAnchorClickItem:function(e,t){if(!t.noLightbox){e.preventDefault();try{this.open(t)}catch(e){console.error(e)}}},onDestroyedTemplate:function(){this.destroy()},onAfterState:function(e,t){if(t.item instanceof n.Item&&!t.item.noLightbox)try{this.open(t.item)}catch(e){console.error(e)}}}),n.template.configure("core",{lightbox:{enabled:!1}},{}),n.Template.override("construct",function(e,t){this._super(e,t);e=this.$el.data("foogalleryLightbox"),t=this.opt.lightbox.enabled||i.hash(e)||0<this.$el.length&&this.el.hasAttribute("data-foogallery-lightbox");this.opt.lightbox=o.extend({},this.opt.panel,this.opt.lightbox,{enabled:t},e),this.lightbox=t?new n.Lightbox(this,this.opt.lightbox):null})}((FooGallery.$,FooGallery),FooGallery.utils.is,FooGallery.utils.obj),function(s,e,a){e.template.configure("core",{},{woo:{button:"fg-woo-add-to-cart-ajax",disabled:"fg-disabled",added:"fg-woo-added",adding:"fg-woo-adding"}}),e.Item.prototype.hasWooCommerce=function(){return!!window.woocommerce_params},e.Item.prototype.getWooCommerceEndPoint=function(){return this.hasWooCommerce()?window.woocommerce_params.wc_ajax_url.toString().replace("%%endpoint%%","add_to_cart"):""},e.Item.prototype.onAddToCart=function(e){var t,i,n=e.data.self,o=s(this);if(n.hasWooCommerce())return t=n.tmpl.cls.woo,e.preventDefault(),o.hasClass(t.disabled)||(e=o.attr("data-variation-id")||n.productId,i=o.attr("data-quantity")||1,o.removeClass(t.added).addClass(t.adding).addClass(t.disabled),n.addToCart(o,e,i,!0).then(function(){o.removeClass(t.adding).removeClass(t.disabled).addClass(t.added)})),!1;console.log("woocommerce_params not found!")},e.Item.prototype.addToCart=function(e,t,i,n){var o=s(document.body),r="?add-to-cart="+t,t=[{name:"product_id",value:t},{name:"quantity",value:i},{name:"foogallery_attachment_id",value:this.id},{name:"foogallery_id",value:this.tmpl.id}];return o.trigger("adding_to_cart",[e,t]),s.ajax({type:"POST",url:this.getWooCommerceEndPoint(),data:t}).then(function(e){return e?e.error?n&&(a.string(e.product_url)&&(window.location=e.product_url),window.location=r):o.trigger("added_to_cart",[e.fragments,e.cart_hash]):console.log("An unexpected response was returned from the server.",e),e},function(e,t,i){console.log("FooGallery: Add to cart ajax error.",e,t,i),n&&(window.location=r)})},e.Item.override("doParseItem",function(e){return!!this._super(e)&&(e.find(this.tmpl.sel.woo.button).on("click.foogallery",{self:this},this.onAddToCart),!0)}),e.Item.override("doCreateItem",function(){var e=this;return!!e._super()&&(e.$el.find(e.tmpl.sel.woo.button).on("click.foogallery",{self:e},e.onAddToCart),!0)}),e.Item.override("doDestroyItem",function(){return this.isParsed&&this.$el.find(this.tmpl.sel.woo.button).off("click.foogallery"),this._super()})}(FooGallery.$,FooGallery,FooGallery.utils.is),function(e){e.DefaultTemplate=e.Template.extend({}),e.template.register("default",e.DefaultTemplate,null,{container:"foogallery fg-default"})}((FooGallery.$,FooGallery),FooGallery.utils),function(e){e.MasonryTemplate=e.Template.extend({construct:function(e,t){var i=this;i._super(e,t),i.masonry=null,i.on({"pre-init":i.onPreInit,destroyed:i.onDestroyed,"appended-items":i.onAppendedItems,"detach-item":i.onDetachItem,"layout after-filter-change":i.onLayoutRequired,"page-change":i.onPageChange},i)},onPreInit:function(){var e=this,t=e.sel,i=e.$el.hasClass("fg-fixed");e.template.isFitWidth=i,e.template.percentPosition=!i,e.template.transitionDuration=0,e.template.itemSelector=t.item.elem,i||(e.template.gutter=t.gutterWidth,e.template.columnWidth=t.columnWidth),e.masonry=new Masonry(e.el,e.template)},onDestroyed:function(){this.masonry instanceof Masonry&&this.masonry.destroy()},onLayoutRequired:function(){this.masonry.layout()},onPageChange:function(e,t,i,n){n||this.masonry.layout()},onAppendedItems:function(e,t){t=t.map(function(e){return e.el}),t=this.masonry.addItems(t);this.masonry.layoutItems(t,!0)},onDetachItem:function(e,t){e.isDefaultPrevented()||(e.preventDefault(),this.masonry.remove(t.el),t.$el.removeClass(this.cls.hidden),t.isAttached=!1)}}),e.template.register("masonry",e.MasonryTemplate,{template:{}},{container:"foogallery fg-masonry",columnWidth:"fg-column-width",gutterWidth:"fg-gutter-width"})}((FooGallery.$,FooGallery),(FooGallery.utils,FooGallery.utils.is)),function(n,o,e,r){o.Justified=e.Class.extend({construct:function(e,t){var i=this;i.tmpl=e,i.$el=e.$el,i.options=n.extend(!0,{},o.Justified.defaults,t),i._items=[],i.maxRowHeight=0,i.borderSize=0,i.align=-1!==["left","center","right"].indexOf(i.options.align)?i.options.align:"center"},init:function(){var e=this;e.maxRowHeight=e.getMaxRowHeight(e.options.maxRowHeight,e.options.rowHeight),e.borderSize=e.getBorderSize()},destroy:function(){this.$el.removeAttr("style")},getBorderSize:function(){switch(this.tmpl.getCSSClass("border","")){case"fg-border-thin":return 4;case"fg-border-medium":return 10;case"fg-border-thick":return 16;default:return 0}},getMaxRowHeight:function(e,t){var i;return r.string(e)?(i=parseInt(e),isNaN(i)?t:i<=0?1/0:-1!==e.indexOf("%")?t*(i/100):i):r.number(e)?e<=0?1/0:e:t},layout:function(e){var i,n=this;0<(e=r.number(e)?e:n.$el.width())&&(0!==(i=n.createRows(e)).height&&0<i.rows.length&&(n.$el.height(i.height),i.rows.forEach(function(e,t){n.render(e,t===i.rows.length-1)})))},render:function(t,e){var i=this,n=!e&&"justify"!==i.options.lastRow;t.items.forEach(function(e){e.elem&&(t.visible?(e.elem.style.setProperty("position","absolute"),e.elem.style.setProperty("width",e.width+"px"),e.elem.style.setProperty("height",e.height+"px"),e.elem.style.setProperty("top",e.top+"px"),e.elem.style.setProperty("left",e.left+"px"),e.elem.style.setProperty("margin","0"),e.elem.style.removeProperty("display"),0<i.maxRowHeight&&n?e.elem.style.setProperty("max-height",i.maxRowHeight+2*i.borderSize+"px"):e.elem.style.removeProperty("max-height"),e.elem.classList.contains("fg-positioned")||e.elem.classList.add("fg-positioned")):e.elem.style.setProperty("display","none"))})},justify:function(i,n,e,t){var o=this,r=o.options.margins,s=r*(i.items.length-1),e=e-s,a=i.width-s,l=e/a,c=(i.width=a*l,i.height=i.height*l,i.height>t+2*o.borderSize&&(a=(t+2*o.borderSize)/i.height,i.width=i.width*a,i.height=i.height*a),i.top=n,i.left=0,"left"!==o.align&&i.width<e&&("right"===o.align?i.left=e-i.width:i.left=(e-i.width)/2),i.width+=s,i.left);return i.items.forEach(function(e,t){0<t&&(c+=r),e.left=c,e.top=n;t=i.height/e.height;e.width=e.width*t,e.height=e.height*t,c+=e.width}),i.height},createRows:function(r){var s=this,a=s.options.margins,e=s.tmpl.getAvailable(),l=[],t=-1;function c(){return{index:++t,visible:!0,width:0,height:s.options.rowHeight+2*s.borderSize,top:0,left:0,items:[]}}var u=c(),d=0,h=0;if(e.forEach(function(e){o=u.height,t=e.width,(i=e.height)!==o&&(i*=n=o/i,t*=n),n=s.maxRowHeight/o;var t,i,n,o={__item:e,elem:e.el,width:t,height:i,maxWidth:t*n,maxHeight:i*n,top:0,left:0};u.width+o.width>r&&0<u.items.length&&(0<l.length&&(d+=a),e=s.justify(u,d,r,s.maxRowHeight),h<e&&(h=e),d+=e,l.push(u),u=c()),0<u.items.length&&(u.width+=a),u.width+=o.width,u.items.push(o)}),0<u.items.length){var i=d+a;switch(s.options.lastRow){case"smart":var n,o,p=s.justify(u,i,r,s.maxRowHeight);0!==h&&h<p&&(n=h/p,o=u.width*n/r,(n<.9||o<.9)&&(p=s.justify(u,i,r,h-2*s.borderSize)));break;case"justify":p=s.justify(u,i,r,99999);break;case"hide":p=s.justify(u,i,r,s.maxRowHeight),u.width<r&&1<l.length&&(u.visible=!1)}u.visible&&(d+=p+a),l.push(u)}return{height:d,rows:l}}}),o.Justified.defaults={rowHeight:150,maxRowHeight:"200%",margins:0,align:"center",lastRow:"smart"}}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is),function(e){e.JustifiedTemplate=e.Template.extend({construct:function(e,t){var i=this;i._super(e,t),i.justified=null,i.on({"pre-init":i.onPreInit,init:i.onInit,destroyed:i.onDestroyed,"layout after-filter-change":i.onLayoutRequired,"page-change":i.onPageChange},i)},onPreInit:function(){this.justified=new e.Justified(this,this.template)},onInit:function(){this.justified.init()},onDestroyed:function(){this.justified instanceof e.Justified&&this.justified.destroy()},onLayoutRequired:function(){this.justified.layout(this.lastWidth)},onPageChange:function(e,t,i,n){n||this.justified.layout(this.lastWidth)}}),e.template.register("justified",e.JustifiedTemplate,null,{container:"foogallery fg-justified"})}((FooGallery.$,FooGallery)),function(e){e.PortfolioTemplate=e.Template.extend({}),e.template.register("simple_portfolio",e.PortfolioTemplate,{},{container:"foogallery fg-simple_portfolio"})}((FooGallery.$,FooGallery),(FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn)),function(o,r,s){r.ImageViewerTemplate=r.Template.extend({construct:function(e,t){var i,n=this;e=t.hasClass("fg-overlay-controls")&&r.paging?.contains("dots")?(i=r.paging.registered.dots,s.extend({cls:{paging:i.cls},il8n:{paging:i.il8n}},e,{paging:{pushOrReplace:"replace",type:"dots",size:1,position:t.hasClass("fg-dots-none")?"none":"bottom",scrollToTop:!1}})):s.extend({},e,{paging:{pushOrReplace:"replace",type:"default",size:1,position:"none",scrollToTop:!1}}),n._super(e,t),n.$inner=o(),n.$current=o(),n.$total=o(),n.$prev=o(),n.$next=o(),n.on({"loaded-item error-item":n.onFirstItemReady,"pre-init":n.onPreInit,init:n.onInit,destroy:n.onDestroy,"append-item":n.onAppendItem,"after-page-change":n.onAfterPageChange,"after-filter-change":n.onAfterFilterChange},n)},createChildren:function(){var e=this;return o("<div/>",{class:e.cls.inner}).append(o("<div/>",{class:e.cls.innerContainer}),o("<div/>",{class:e.cls.controls}).append(o("<button/>",{class:e.cls.prev,type:"button",title:e.il8n.prev}).append(o("<span/>",{text:e.il8n.prev})),o("<label/>",{class:e.cls.count,text:e.il8n.count}).prepend(o("<span/>",{class:e.cls.countCurrent,text:"0"})).append(o("<span/>",{class:e.cls.countTotal,text:"0"})),o("<button/>",{class:e.cls.next,type:"button",title:e.il8n.next}).append(o("<span/>",{text:e.il8n.next}))))},destroyChildren:function(){this.$el.find(this.sel.inner).remove()},onFirstItemReady:function(e){this.$el.removeClass("fg-not-ready")},onPreInit:function(e){var t=this;t.$el.addClass("fg-not-ready"),t.$inner=t.$el.find(t.sel.innerContainer),t.$current=t.$el.find(t.sel.countCurrent),t.$total=t.$el.find(t.sel.countTotal),t.$prev=t.$el.find(t.sel.prev),t.$prev.attr("title")||t.$prev.attr("title",t.il8n.prev),t.$next=t.$el.find(t.sel.next),t.$next.attr("title")||t.$next.attr("title",t.il8n.next)},onInit:function(e){var t=this;t.template.attachFooBox&&t.$el.on("foobox.previous",{self:t},t.onFooBoxPrev).on("foobox.next",{self:t},t.onFooBoxNext),t.$prev.on("click",{self:t},t.onPrevClick),t.$next.on("click",{self:t},t.onNextClick)},onDestroy:function(e){var t=this;t.template.attachFooBox&&t.$el.off({"foobox.previous":t.onFooBoxPrev,"foobox.next":t.onFooBoxNext}),t.$prev.off("click",t.onPrevClick),t.$next.off("click",t.onNextClick)},onAppendItem:function(e,t){e.preventDefault(),this.$inner.append(t.$el),t.isAttached=!0},onAfterPageChange:function(e,t,i,n){n||this.update()},onAfterFilterChange:function(e){this.update()},update:function(){this.pages&&(this.$current.text(this.pages.current),this.$total.text(this.pages.total))},prev:function(){this.pages&&(this.template.loop&&1===this.pages.current?this.pages.last():this.pages.prev(),this.update())},next:function(){this.pages&&(this.template.loop&&this.pages.current===this.pages.total?this.pages.first():this.pages.next(),this.update())},onFooBoxPrev:function(e){e.data.self.prev()},onFooBoxNext:function(e){e.data.self.next()},onPrevClick:function(e){e.preventDefault(),e.stopPropagation(),e.data.self.prev()},onNextClick:function(e){e.preventDefault(),e.stopPropagation(),e.data.self.next()}}),r.template.register("image-viewer",r.ImageViewerTemplate,{template:{attachFooBox:!1,loop:!1}},{container:"foogallery fg-image-viewer",inner:"fiv-inner",innerContainer:"fiv-inner-container",controls:"fiv-ctrls",prev:"fiv-prev",next:"fiv-next",count:"fiv-count",countCurrent:"fiv-count-current",countTotal:"fiv-count-total"},{prev:"Prev",next:"Next",count:"of"})}(FooGallery.$,FooGallery,(FooGallery.utils,FooGallery.utils.obj)),function(i,e,n){e.ThumbnailTemplate=e.Template.extend({construct:function(e,t){this._super(n.extend({},e,{filtering:{type:"none"},paging:{pushOrReplace:"replace",theme:"fg-light",type:"default",size:i(t).hasClass(e.cls.stacked)?3:1,position:"none",scrollToTop:!1}}),t)}}),e.template.register("thumbnail",e.ThumbnailTemplate,{template:{}},{container:"foogallery fg-thumbnail",stacked:"fg-stacked"})}(FooGallery.$,FooGallery,FooGallery.utils.obj),function(h,e,s,p){s.Progress=s.EventClass.extend({construct:function(e){var t=this;t._super(),t.percent=0,t.tickRate=p.number(e)?e:100,t.isPaused=!1,t.isActive=!1,t._intervalId=null,t._total=0,t._target=null,t.onTick=t.onTick.bind(t)},destroy:function(){this._reset(),this._super()},_reset:function(){var e=this;null!==e._intervalId&&clearInterval(e._intervalId),e.percent=0,e._total=0,e._intervalId=null,e._target=null,e.isActive=!1,e.isPaused=!1},stop:function(){this.isActive&&(this._reset(),this.trigger("stop"))},start:function(e){var t=this;t.stop(),!t.isActive&&p.number(e)&&0<e&&(t._total=1e3*e,t._target=Date.now()+t._total,t._intervalId=setInterval(t.onTick,t.tickRate),t.isActive=!0,t.trigger("start"))},pause:function(){var e=this;e.isActive&&!e.isPaused&&e.percent<100&&(null!==e._intervalId&&clearInterval(e._intervalId),e._intervalId=null,e._target=null,e.isPaused=!0,e.trigger("pause"))},resume:function(){var e,t=this;t.isActive&&t.isPaused?(e=t._total-t._total*t.percent/100,t._target=Date.now()+e,t._intervalId=setInterval(t.onTick,t.tickRate),t.isPaused=!1,t.trigger("resume")):0<t._total&&t.start(t._total/1e3)},onTick:function(){var e=this,t=e._total-Math.max(e._target-Date.now(),0);e.percent=Math.min(t/e._total*100,100),e.trigger("tick",[e.percent]),100<=e.percent&&(null!==e._intervalId&&clearInterval(e._intervalId),e._intervalId=null,e._target=null,e.isActive=!1,e.trigger("complete"))}}),h.Carousel=s.Class.extend({construct:function(e,t,i,n,o){var r=this;r.tmpl=e,r.el=e.el,r.opt=t,r.cls=i,r.sel=n,r.i18n=o,r.elem={inner:null,center:null,bottom:null,prev:null,next:null,progress:null},r.activeItem=null,r._itemWidth=0,r._leftExclude=[r.sel.activeItem,r.sel.nextItem].join(","),r._rightExclude=[r.sel.activeItem,r.sel.prevItem].join(","),r._centerListeners=new s.DOMEventListeners,r._listeners=new s.DOMEventListeners,r._progress=new s.Progress,r._canHover=window.matchMedia("(hover: hover)").matches,r.cache=new Map,r.timeouts=new s.Timeouts,r.interacted=!1,r.isRTL=!1,r._firstLayout=!0},getScreenX:function(e,t,i){return i/(i+t)*e},getVectorX:function(e,t,i){return(i+t)/i*e},getSequentialZFromScale:function(e,t,i){return i*(t*(e+1))},scaleToZ:function(e,t,i){return e*(1-t/(i+t))},getDiff:function(e,t){return t<e?e-t:t-e},pause:function(){this._progress.pause()},resume:function(){this._progress.resume()},start:function(){"disable"===this.opt.autoplay.interaction&&this.interacted||this._progress.start(this.opt.autoplay.time)},stop:function(){this._progress.stop()},init:function(){var e=this;e.isRTL="rtl"===window.getComputedStyle(e.el).direction,e.elem={inner:e.el.querySelector(e.sel.inner),center:e.el.querySelector(e.sel.center),bottom:e.el.querySelector(e.sel.bottom),prev:e.el.querySelector(e.sel.prev),next:e.el.querySelector(e.sel.next),progress:e.el.querySelector(e.sel.progress)},150!==e.opt.perspective&&e.el.style.setProperty("--fg-carousel-perspective",e.opt.perspective+"px")},postInit:function(){var e=this;e.activeItem=e.tmpl.items.first(),e.initNavigation(),e.initPagination(),e.initSwipe(),e.initAutoplay()},initNavigation:function(){const t=this;t._listeners.add(t.elem.prev,"click",function(e){e.preventDefault(),t.interacted=!0,t.previous()}),"button"!==t.elem.prev.type&&(t.elem.prev.type="button"),t.elem.prev.appendChild(e.element("arrow-left")),t.elem.prev.title?.length||(t.elem.prev.title=t.i18n.prev),t._listeners.add(t.elem.next,"click",function(e){e.preventDefault(),t.interacted=!0,t.next()}),"button"!==t.elem.next.type&&(t.elem.next.type="button"),t.elem.next.appendChild(e.element("arrow-right")),t.elem.next.title?.length||(t.elem.next.title=t.i18n.next)},getBulletTitle:function(e,t){return e.replace(/\{ITEM}/g,""+t)},initPagination:function(){const i=this;var e=i.tmpl.items.count();for(let t=0;t<e;t++){const n=document.createElement("button");n.type="button",n.classList.add(i.cls.bullet),n.title=i.getBulletTitle(i.i18n.bullet,t+1),0===t&&(n.classList.add(i.cls.activeBullet),n.title=i.getBulletTitle(i.i18n.activeBullet,t+1)),i._listeners.add(n,"click",function(e){e.preventDefault(),i.interacted=!0,i.goto(i.tmpl.items.get(t))}),i.elem.bottom.appendChild(n)}},initSwipe:function(){const t=this;let i=0,n=0,o=25*(window.devicePixelRatio||1);t._listeners.add(t.elem.inner,"touchstart",function(e){t.interacted=!0,i=e.changedTouches[0].screenX},{passive:!0}),t._listeners.add(t.elem.inner,"touchend",function(e){n=e.changedTouches[0].screenX,t.getDiff(i,n)>o&&(n<i?t.next():t.previous()),n=0,i=0},{passive:!0})},initAutoplay:function(){const i=this,t=i.opt.autoplay;if(!(t.time<=0)&&i.elem.progress instanceof HTMLElement){const n=i.elem.progress.style;function e(e,t){s.cancelFrame(null),s.requestFrame(function(){n.setProperty("width",e+"%"),t?n.setProperty("transition-duration","0s"):n.setProperty("transition-duration",i._progress.tickRate+"ms")})}i._progress.on({"start stop":function(){e(0,!0)},"pause resume":function(){e(i._progress.percent,!0)},tick:function(){e(i._progress.percent,!1)},complete:function(){i.next(function(){i._progress.start(t.time)})}}),"pause"===t.interaction&&(i._canHover?(i._listeners.add(i.el,"mouseenter",function(e){i._progress.pause()},{passive:!0}),i._listeners.add(i.el,"mouseleave",function(e){i._progress.resume()},{passive:!0})):(i._listeners.add(i.el,"touchstart",function(e){i.timeouts.delete("autoplay"),i._progress.pause()},{passive:!0}),i._listeners.add(i.el,"touchend",function(e){i.timeouts.set("autoplay",function(){i._progress.resume()},1e3*t.time)},{passive:!0}))),i._progress.start(t.time)}},getFirst:function(){return this.tmpl.items.first()},getNext:function(e){return this.tmpl.items.next(e instanceof h.Item?e:this.activeItem,null,!0)},getPrev:function(e){return this.tmpl.items.prev(e instanceof h.Item?e:this.activeItem,null,!0)},goto:function(e,t){const i=this;if(e instanceof h.Item){const n=i.opt.autoplay,o=!i._canHover&&i.timeouts.has("autoplay"),r=(i.timeouts.delete("autoplay"),i.timeouts.delete("navigation"),i._progress.isPaused);i._progress.isActive&&i._progress.stop(),i.activeItem=e,i.layout(),i.timeouts.set("navigation",function(){0<n.time&&("pause"===n.interaction||"disable"===n.interaction&&!i.interacted)&&(i._progress.start(n.time),r&&i._progress.pause(),o&&i.timeouts.set("autoplay",function(){i._progress.resume()},1e3*n.time)),p.fn(t)&&t.call(i)},i.opt.speed)}},next:function(e){this.goto(this.getNext(),e)},previous:function(e){this.goto(this.getPrev(),e)},destroy:function(){var e=this;e.cache.clear(),e.timeouts.clear(),e._listeners.clear(),e._centerListeners.clear(),150!==e.opt.perspective&&e.el.style.removeProperty("--fg-carousel-perspective")},getSize:function(e,t){var i=e.getBoundingClientRect();const n={width:i.width,height:i.height};return t&&(i=getComputedStyle(e),n.width-=parseFloat(i.paddingLeft)+parseFloat(i.paddingRight)+parseFloat(i.borderLeftWidth)+parseFloat(i.borderRightWidth),n.height-=parseFloat(i.paddingTop)+parseFloat(i.paddingBottom)+parseFloat(i.borderTopWidth)+parseFloat(i.borderBottomWidth)),n},layout:function(e){const t=this;if(null===t.activeItem&&(t.activeItem=t.tmpl.items.first()),!p.number(e)&&t.cache.has("width")&&(e=t.cache.get("width")),p.number(e)){const i=t.getLayout(e);null!==t._layoutFrame&&s.cancelFrame(t._layoutFrame),t._layoutFrame=s.requestFrame(function(){t._layoutFrame=null,t.renderActive(i)&&(t.renderSide("left",t.sel.prevItem,t._leftExclude,t.cls.prevItem,i),t.renderSide("right",t.sel.nextItem,t._rightExclude,t.cls.nextItem,i),t._firstLayout=!1)})}},getLayout:function(e){var o=this,r=o.getActivePosition(),s="center"!==r,t=r+"|"+o.getAlign();if(o.cache.has("layout")&&o.cache.get("width")===e&&o.cache.get("layoutMode")===t)return o.cache.get("layout");var a=o.getSize(o.elem.center).width,l=o.getSize(o.elem.inner,!0).width;const c=o.calculate(a,l/2+a/2);if(c.activeX=0,c.sideBySide=null,s){var s=o.isRTL?"right":"left",u=o.isRTL?"left":"right",d="start"===r?u:s;let e=Math.max(0,2*o.getShowPerSide()),t=null,i=[],n={width:a,center:0};for(;0<=e&&(t=o.calculate(a,l+a/2,o.opt.gutter.max,e),i=t.side,!((n=o.measureAlignedFit(a,i,d)).width<=l));)--e;c.activeX=-n.center,c.sideBySide={},c.sideBySide.left=[],c.sideBySide.right=[],c.sideBySide[d]=i,t&&p.number(t.zIndex)&&(c.zIndex=t.zIndex)}return o.applyVisualAlign(c,a,l),o.cache.set("width",e),o.cache.set("layoutMode",t),0<c?.side?.length&&o.cache.set("layout",c),c},getActivePosition:function(){var e=p.string(this.opt.activePosition)?this.opt.activePosition.toLowerCase():"center";return-1!==["start","end"].indexOf(e)?e:"center"},getAlign:function(){var e=p.string(this.opt.align)?this.opt.align.toLowerCase():"center";return-1!==["left","right"].indexOf(e)?e:"center"},applyVisualAlign:function(e,t,i){var n=this.getAlign();"center"!==n&&(t=this.measureVisibleBounds(t,e),i="left"===n?-i/2:i/2,n="left"===n?i-t.min:i-t.max,e.activeX=(p.number(e.activeX)?e.activeX:0)+n)},measureVisibleBounds:function(s,e){const a=this,l=p.number(e?.activeX)?e.activeX:0;var t=e?.sideBySide?.left||e.side||[],e=e?.sideBySide?.right||e.side||[];const c={min:l-s/2,max:l+s/2},u=a.opt.perspective;function i(t,i){for(let e=0;e<i.length;e++){var n=i[e],o="left"===t&&!a.isRTL||"right"===t&&a.isRTL?-n.x:n.x,o=a.getScreenX(o,n.z,u)+l,n=a.scaleToZ(s,n.z,u),r=o-n/2,o=o+n/2;r<c.min&&(c.min=r),o>c.max&&(c.max=o)}}return i("left",t),i("right",e),c},measureAlignedFit:function(t,i,n){var o=this;const r={min:-t/2,max:t/2,width:t,center:0};for(let e=0;e<i.length;e++){var s=i[e],a="left"===n&&!o.isRTL||"right"===n&&o.isRTL?-s.x:s.x,a=o.getScreenX(a,s.z,o.opt.perspective),s=o.scaleToZ(t,s.z,o.opt.perspective),l=a-s/2,a=a+s/2;l<r.min&&(r.min=l),a>r.max&&(r.max=a)}return r.width=r.max-r.min,r.center=(r.min+r.max)/2,r},round:function(e,t){t=Math.pow(10,t||0);return Math.round(e*t)/t},getShowPerSide:function(){var e=this.tmpl.items.count();let t=this.opt.maxItems;return(t="auto"===t||t<=0?e%2==0?e-1:e:t)%2==0&&--t,((t=(t=t<1?1:t)>e?e%2==0?e-1:e:t)-1)/2},calculate:function(n,o,r,s){var a=this;p.number(r)||(r=a.opt.gutter.max);const l={zIndex:(s=p.number(s)?s:a.getShowPerSide())+10,gutter:r,perSide:s,side:[]};if(0<n){let t=n,i=l.zIndex-1;for(let e=0;e<s;e++,i--){var c=a.getSequentialZFromScale(e,a.opt.scale,a.opt.perspective),u=a.scaleToZ(n,c,a.opt.perspective),d=(n-u)/2,h=(t-=d,"%"===a.opt.gutter.unit?n*Math.abs(r/100):Math.abs(r)),h="%"===a.opt.gutter.unit?a.scaleToZ(h,c,a.opt.perspective):h;if(0<r?t+=h:t-=h,t+u+d>o)return r-1<a.opt.gutter.min?a.calculate(n,o,a.opt.gutter.max,s-1):a.calculate(n,o,r-1,s);h=a.getVectorX(t,c,a.opt.perspective);t+=u+d,l.side.push({x:h,z:c,zIndex:i})}}return l},cleanup:function(e,t,i){const n=this,o=p.string(i);Array.from(n.el.querySelectorAll(e)).forEach(function(e){e.classList.remove(t),n.opt.centerOnClick&&n._centerListeners.remove(e,"click"),o&&e.matches(i)||(e.style.removeProperty("transition-duration"),e.style.removeProperty("transform"),e.style.removeProperty("z-index"))})},renderActive:function(e){const i=this;if(!(i.activeItem instanceof h.Item))return!1;const t=i.activeItem.el,n=(i.cleanup(i.sel.activeItem,i.cls.activeItem),t.classList.add(i.cls.activeItem),t.style.setProperty("transition-duration",(i._firstLayout?0:i.opt.speed)+"ms"),t.style.setProperty("z-index",e.zIndex),p.number(e.activeX)&&0!==e.activeX?t.style.setProperty("transform","translate3d("+e.activeX+"px, 0, 0)"):t.style.removeProperty("transform"),i.tmpl.items.indexOf(i.activeItem));return Array.from(i.el.querySelectorAll(i.sel.bullet)).forEach(function(e,t){e.classList.remove(i.cls.activeBullet),e.title=i.getBulletTitle(i.i18n.bullet,t+1),t===n&&(e.classList.add(i.cls.activeBullet),e.title=i.getBulletTitle(i.i18n.activeBullet,t+1))}),!0},renderSide:function(i,e,n,o,r){const s=this;if(-1!==["left","right"].indexOf(i)){s.cleanup(e,o,n);var a=r?.sideBySide?.[i]||r.side,l=p.number(r?.activeX)?r.activeX:0;let t=s.activeItem;for(let e=0;e<a.length;e++){var c=a[e];const d="left"===i?s.getPrev(t):s.getNext(t);if(!(d instanceof h.Item))break;{var u="left"===i&&!s.isRTL||"right"===i&&s.isRTL?-c.x:c.x;let e=u;0!==l&&(u=s.getScreenX(u,c.z,s.opt.perspective)+l,e=s.getVectorX(u,c.z,s.opt.perspective));u="translate3d("+e+"px, 0,-"+c.z+"px)";d.el.classList.add(o),d.isLoaded||(d.el.style.setProperty("transition-duration","0ms"),d.el.style.setProperty("transform","translate3d(0,0,-"+s.opt.perspective+"px)"),d.el.offsetHeight),d.el.style.setProperty("transition-duration",(s._firstLayout?0:s.opt.speed)+"ms"),d.el.style.setProperty("transform",u),d.el.style.setProperty("z-index",c.zIndex),s.opt.centerOnClick&&s._centerListeners.add(d.el,"click",function(e){e.preventDefault(),e.stopPropagation(),s.interacted=!0,s.goto(d)},!0),t=d}}}}})}((FooGallery.$,FooGallery),FooGallery.icons,FooGallery.utils,FooGallery.utils.is),function(n,o){n.CarouselTemplate=n.Template.extend({construct:function(e,t){var i=this;i._super(o.extend({},e,{paging:{type:"none"}}),t),i.items.LAYOUT_AFTER_LOAD=!1,i.carousel=null,i.on({"pre-init":i.onPreInit,init:i.onInit,"post-init":i.onPostInit,destroyed:i.onDestroyed,"append-item":i.onAppendItem,"after-filter-change":i.onAfterFilterChange,layout:i.onLayout},i),n.Panel&&i.lightbox instanceof n.Panel&&i.lightbox.on({open:i.onLightboxOpen,closed:i.onLightboxClosed,next:i.onLightboxNext,prev:i.onLightboxPrev},i)},onPreInit:function(){var e=this;e.carousel=new n.Carousel(e,e.template,e.cls.carousel,e.sel.carousel,e.il8n)},onInit:function(){this.carousel.init()},onPostInit:function(){this.carousel.postInit()},onDestroyed:function(){this.carousel instanceof n.Carousel&&this.carousel.destroy()},onAppendItem:function(e,t){e.preventDefault(),this.carousel.elem.inner.appendChild(t.el),t.isAttached=!0},onAfterFilterChange:function(){this.carousel.cache.delete("layout"),this.carousel.interacted=!0,this.carousel.goto(this.carousel.getFirst())},onLayout:function(){this.carousel.layout(this.lastWidth)},onLightboxOpen:function(){this.carousel.interacted=!0,this.carousel.stop()},onLightboxClosed:function(){this.carousel.start()},onLightboxNext:function(){this.carousel.next()},onLightboxPrev:function(){this.carousel.previous()}}),n.template.register("carousel",n.CarouselTemplate,{template:{maxItems:0,perspective:150,scale:.12,speed:300,align:"center",activePosition:"center",centerOnClick:!0,gutter:{min:-40,max:-20,unit:"%"},autoplay:{time:0,interaction:"pause"}}},{container:"foogallery fg-carousel",carousel:{inner:"fg-carousel-inner",center:"fg-carousel-center",bottom:"fg-carousel-bottom",prev:"fg-carousel-prev",next:"fg-carousel-next",bullet:"fg-carousel-bullet",activeBullet:"fg-bullet-active",activeItem:"fg-item-active",prevItem:"fg-item-prev",nextItem:"fg-item-next",progress:"fg-carousel-progress"}},{prev:"Previous",next:"Next",bullet:"Item {ITEM}",activeBullet:"Item {ITEM} - Current"})}((FooGallery.$,FooGallery),FooGallery.utils.obj),function(r,o,s,t,a){o.FooGridTemplate=o.Template.extend({construct:function(e,t){var i=this;i._super(e,t),i.template.noPanel||(i.$section=null,i.isFirst=!1,i.disableTransitions=!1,i._panelLayoutTimeout=null,i._mql=[],i._didOpenByDefault=!1,i.panel=new o.Panel(i,i.template),i.on({"pre-init":i.onPreInit,"parsed-item":i.onParsedItem,"created-item":i.onCreatedItem,"destroy-item":i.onDestroyItem,"after-state":i.onAfterState,ready:i.onReady,"before-page-change":i.onBeforePageChange,"before-filter-change":i.onBeforeFilterChange},i),i.panel.on({next:i.onPanelNext,prev:i.onPanelPrev,close:i.onPanelClose,"area-load":i.onPanelAreaLoad,"area-unload":i.onPanelAreaUnload},i))},destroy:function(e){var t=this,i=t._super.bind(t);return t.panel?(t.unbindMediaQueries(),null!=t._panelLayoutTimeout&&(clearTimeout(t._panelLayoutTimeout),t._panelLayoutTimeout=null),t.panel.destroy().then(function(){return t.$section.remove(),i(e)})):i(e)},onPreInit:function(){var e=this,t=!1;e.$section=r("<section/>",{class:"foogrid-content"}),e.bindMediaQueries(),"none"===e.panel.opt.transition&&(e.$el.hasClass("foogrid-transition-horizontal")&&(e.panel.opt.transition="horizontal",t=!0),e.$el.hasClass("foogrid-transition-vertical")&&(e.panel.opt.transition="vertical",t=!0),e.$el.hasClass("foogrid-transition-fade")&&(e.panel.opt.transition="fade",t=!0)),(e.template.transitionOpen||e.template.transitionRow)&&(t=t||e.$el.hasClass("foogrid-transition-horizontal foogrid-transition-vertical foogrid-transition-fade"),e.template.transitionOpen=e.template.transitionOpen&&t,e.template.transitionRow=e.template.transitionRow&&t),"none"===e.panel.opt.info&&(e.$el.hasClass("foogrid-caption-below")&&(e.panel.opt.info="bottom"),e.$el.hasClass("foogrid-caption-right")&&(e.panel.opt.info="right")),e.panel.info.isEnabled()&&"default"===e.panel.info.opt.align&&(t=null,e.$el.hasClass("fg-c-l")&&(t="left"),e.$el.hasClass("fg-c-c")&&(t="center"),e.$el.hasClass("fg-c-r")&&(t="right"),null!==(t=e.$el.hasClass("fg-c-j")?"justified":t)&&(e.panel.info.opt.align=t)),null===e.panel.opt.theme&&(e.panel.opt.theme=e.getCSSClass("theme")),"fg-light"===e.panel.opt.theme&&null===e.panel.opt.button&&(e.panel.opt.button="fg-button-blue"),"fg-dark"===e.panel.opt.theme&&null===e.panel.opt.button&&(e.panel.opt.button="fg-button-dark")},onParsedItem:function(e,t){t.isError||t.$anchor.off("click.foogallery").on("click.gg",{self:this,item:t},this.onAnchorClick)},onCreatedItem:function(e,t){t.isError||t.$anchor.off("click.foogallery").on("click.gg",{self:this,item:t},this.onAnchorClick)},onDestroyItem:function(e,t){t.isError||t.$anchor.off("click.gg",this.onAnchorClick)},onAfterState:function(e,t){t.item instanceof o.Item&&this.open(t.item)},onReady:function(){var e,t=this;t._didOpenByDefault||!0!==t.template.openByDefault||t.panel.currentItem instanceof o.Item||(e=(e=t.getVisibleItems().first()).length?t.items.get(e.get(0),!0):t.items.first())instanceof o.Item&&(t._didOpenByDefault=!0,t.open(e))},onBeforePageChange:function(e,t,i,n,o){o||(this.panel.isMaximized||this.close(!0,this.panel.isAttached))},onBeforeFilterChange:function(){this.panel.isMaximized||this.close(!0,this.panel.isAttached)},onMediaQueryChange:function(){var e=this;null!=e._panelLayoutTimeout&&clearTimeout(e._panelLayoutTimeout),e._panelLayoutTimeout=setTimeout(function(){e._panelLayoutTimeout=null,e.repositionPanelSection()},60)},bindMediaQueries:function(){var i=this;i.unbindMediaQueries(),i._mql=["(min-width: 1441px) and (max-width: 1600px)","(min-width: 1201px) and (max-width: 1440px)","(min-width: 993px) and (max-width: 1200px)","(min-width: 769px) and (max-width: 992px)","(min-width: 481px) and (max-width: 768px)","(max-width: 480px)"].map(function(e){var e=window.matchMedia(e),t=i.onMediaQueryChange.bind(i);return e.addEventListener?e.addEventListener("change",t):e.addListener&&e.addListener(t),{mql:e,handler:t}})},unbindMediaQueries:function(){this._mql&&this._mql.length&&(this._mql.forEach(function(e){var t=e.mql,e=e.handler;t.removeEventListener?t.removeEventListener("change",e):t.removeListener&&t.removeListener(e)}),this._mql=[])},onPanelNext:function(e,t,i){e.preventDefault(),this.open(i)},onPanelPrev:function(e,t,i){e.preventDefault(),this.open(i)},onPanelClose:function(e){e.preventDefault(),this.close(!1,!0)},onPanelAreaLoad:function(e,t,i){"content"===t.name&&i.item.$el.addClass(this.cls.visible)},onPanelAreaUnload:function(e,t,i){"content"===t.name&&i.item.$el.removeClass(this.cls.visible)},onAnchorClick:function(e){e.preventDefault(),e.data.self.toggle(e.data.item)},transitionsEnabled:function(){return!this.disableTransitions&&this.panel.hasTransition},isNewRow:function(e){return this.getOffsetTop(this.panel.currentItem)!==this.getOffsetTop(e)},getOffsetTop:function(e){return e instanceof o.Item&&e.isCreated?e.$el.offset().top:0},getBaseColumns:function(){var e=(this.$el.attr("class")||"").match(/\bfoogrid-cols-(\d+)\b/);return e?parseInt(e[1],10):0},getForcedMaxColumns:function(){var e=window.innerWidth||document.documentElement.clientWidth||0;return e<=480?2:e<=768?3:e<=992?4:e<=1200?5:e<=1440?6:e<=1600?7:0},getEffectiveColumns:function(){var e=this.getBaseColumns(),t=this.getForcedMaxColumns();return e?0<t?Math.min(e,t):e:0},getVisibleItems:function(){return this.$el.children(".fg-item").filter(function(){return"none"!==r(this).css("display")})},getRowLastItem:function(e){var t,i,n;return e instanceof o.Item&&e.isCreated?(t=this.getEffectiveColumns(),n=(i=this.getVisibleItems()).index(e.$el),t&&-1!==n?(n=Math.min(Math.floor(n/t)*t+(t-1),i.length-1),i.eq(n)):e.$el):e instanceof o.Item?e.$el:null},repositionPanelSection:function(){var e,t=this;t.panel.currentItem instanceof o.Item&&!t.panel.isMaximized&&t.$section&&0!==t.$section.parent().length&&(e=t.getRowLastItem(t.panel.currentItem))&&e.length&&e.next().get(0)!==t.$section.get(0)&&e.after(t.$section)},open:function(e){var t,i=this;return-1!==e.index?(t=i.isNewRow(e),i.panel.currentItem instanceof o.Item&&t&&!i.panel.isMaximized?i.doClose(t).then(function(){return i.pages&&!i.pages.contains(i.pages.current,e)&&i.pages.goto(i.pages.find(e)),i.doOpen(e,t)}):(i.pages&&!i.pages.contains(i.pages.current,e)&&i.pages.goto(i.pages.find(e)),i.doOpen(e,t))):r.when()},doOpen:function(i,n){var o=this;return r.Deferred(function(t){var e;o.panel.appendTo(o.$section),n&&((e=o.getRowLastItem(i))&&e.length?e:i.$el).after(o.$section),o.transitionOpen(n)?(o.isFirst=!1,a.start(o.$section,function(e){e.addClass(o.cls.visible)},null,350).then(function(){t.resolve()},function(e){t.reject(e)})):(o.$section.addClass(o.cls.visible),t.resolve())}).then(function(){var e=o.template.scrollSmooth&&(n||o.isFirst)?"smooth":"instant";o.$section.get(0).scrollIntoView({behavior:e,block:"center",inline:"center"})}).then(function(){return o.panel.load(i)}).then(function(){o.$section.trigger("focus")}).always(function(){o.isBusy=!1}).promise()},transitionOpen:function(e){return this.transitionsEnabled()&&!this.panel.isMaximized&&(this.template.transitionOpen&&this.isFirst||this.template.transitionRow&&e)},close:function(e,t){e=!!s.boolean(e)&&e;var i=this,n=i.disableTransitions;return i.disableTransitions=e,i.doClose(t).then(function(){i.disableTransitions=n})},doClose:function(e){var i=this;return r.Deferred(function(t){i.panel.currentItem instanceof o.Item?(i.panel.currentItem.$el.removeClass(i.cls.visible),i.transitionClose(e)?a.start(i.$section,function(e){e.removeClass(i.cls.visible)},null,350).then(function(){i.panel.doClose(!0,!0).then(function(){t.resolve()},function(e){t.reject(e)})},function(e){t.reject(e)}):(i.$section.removeClass(i.cls.visible),i.panel.doClose(!0,!0).then(function(){t.resolve()},function(e){t.reject(e)}))):t.resolve()}).always(function(){i.$section.detach(),i.isFirst=!0}).promise()},transitionClose:function(e){return this.transitionsEnabled()&&!this.panel.isMaximized&&(this.template.transitionRow&&e||this.template.transitionOpen&&!e)},toggle:function(e){return e instanceof o.Item?this.panel.currentItem===e?this.close():this.open(e):t.reject()}}),o.template.register("foogrid",o.FooGridTemplate,{template:{noPanel:!1,classNames:"foogrid-panel",scroll:!0,scrollSmooth:!1,loop:!0,external:"_blank",externalText:null,keyboard:!0,transitionRow:!0,transitionOpen:!0,openByDefault:!1,noMobile:!0,info:"bottom",infoVisible:!0,infoOverlay:!1,infoAutoHide:!1,buttons:{fullscreen:!1}}},{container:"foogallery foogrid",visible:"foogrid-visible"})}(FooGallery.$,FooGallery,FooGallery.utils.is,FooGallery.utils.fn,(FooGallery.utils.obj,FooGallery.utils.transition)),function(n,o){n.SliderTemplate=n.Template.extend({construct:function(e,t){var i=this;i._super(o.extend({},e,{paging:{type:"none"}}),t),i.items.ALLOW_CREATE=!1,i.items.ALLOW_APPEND=!1,i.panel=new n.Panel(i,i.template)},preInit:function(){var e,t=this;return!!t._super()&&(t.$el.toggleClass(t.cls.fitContainer,t.template.fitContainer),t.template.horizontal=t.$el.hasClass("fgs-horizontal")||t.template.horizontal,null===t.panel.opt.thumbs&&(t.panel.thumbs.opt.position=t.template.horizontal?"bottom":"right"),t.$el.hasClass("fgs-no-captions")&&(t.template.noCaptions=!0,t.panel.thumbs.opt.captions=!t.template.noCaptions),t.$el.hasClass("fgs-content-nav")&&(t.template.contentNav=!0,t.panel.opt.buttons.prev=t.panel.opt.buttons.next=t.template.contentNav),null===t.panel.opt.button&&(t.panel.opt.button=this.getPanelButtonClass()),t.panel.info.isEnabled()&&"default"===t.panel.info.opt.align&&(e=null,t.$el.hasClass("fg-c-l")&&(e="left"),t.$el.hasClass("fg-c-c")&&(e="center"),t.$el.hasClass("fg-c-r")&&(e="right"),null!==(e=t.$el.hasClass("fg-c-j")?"justified":e)&&(t.panel.info.opt.align=e)),!0)},ready:function(){var e=this;return!!e._super()&&(e.panel.appendTo(e.$el),e.panel.load(e.state.current.item),!0)},destroy:function(e){var t=this._super.bind(this);return this.panel.destroy().then(function(){return t(e)})},getPanelButtonClass:function(){var e=this.$el.prop("className"),e=/(?:^|\s)fgs-(purple|red|green|blue|orange)(?:$|\s)/.exec(e);return null!=e&&2<=e.length?"fg-button-"+e[1]:null}}),n.template.register("slider",n.SliderTemplate,{template:{horizontal:!1,noCaptions:!1,contentNav:!1,fitContainer:!1,fitMedia:!0,transition:"horizontal",hoverButtons:!0,preserveButtonSpace:!1,noMobile:!0,thumbs:null,thumbsSmall:!0,info:"top",infoVisible:!0,infoAutoHide:!1,buttons:{close:!1,info:!1,maximize:!1,fullscreen:!1}}},{container:"foogallery fg-slider",fitContainer:"fg-fit-container"})}((FooGallery.$,FooGallery),(FooGallery.utils,FooGallery.utils.obj)),function(n,r,e,l,o,s){r.StackAlbum=e.Class.extend({construct:function(e,t){var i=this;i.$el=l.jq(e)?e:n(e),i.el=i.$el.get(0),i.opt=o.extend({},r.StackAlbum.defaults,t,i.$el.data("foogallery")),i.$back=i.$el.find(".fg-header-back"),i.$active=i.$el.find(".fg-header-active"),i.$piles=i.$el.find(".fg-piles"),i.piles=i.$piles.find(".fg-pile").map(function(e,t){return new r.StackAlbum.Pile(i,t,{index:e})}).get(),i.ignoreResize=!1,i.info=i.getLayoutInfo(),i.robserver=new ResizeObserver(function(e){var t;!i.ignoreResize&&i.$el.is(":visible")&&(t=i.$el.width(),i.info.maxWidth!==t&&(i.info=i.getLayoutInfo(),i.layout(!0)))})},init:function(){var e=this;e.info=e.getLayoutInfo(),e.piles.forEach(function(e){e.init()}),e.$back.on("click.foogallery",{self:e},e.onBackClick),e.layout(!0),e.robserver.observe(e.el)},destroy:function(){this.robserver.disconnect(),this.$back.off(".foogallery"),this.piles.forEach(function(e){e.destroy()})},getLayoutInfo:function(){var e=this,t=e.$el.width(),i=2*e.opt.border,n=e.opt.gutter+i,o=t-n;let r=1;e.opt.itemWidth>o&&(r=o/e.opt.itemWidth);var o=e.opt.itemWidth*r,s=e.opt.itemHeight*r;return{maxWidth:t,space:n,halfSpace:n/2,itemWidth:o,itemHeight:s,itemOuterWidth:o+i,itemOuterHeight:s+i,blockWidth:o+n,blockHeight:s+n,border:e.opt.border,doubleBorder:i,gutter:e.opt.gutter,halfGutter:e.opt.gutter/2}},layout:function(e){var t,i=this;e&&(i.$el.addClass("fg-disable-transitions"),i.$el.prop("offsetWidth")),i.hasActive?(t=i.activePile.layout(),i.activePile.setPosition(0,0,t.width,t.height)):t=i.layoutPiles(),i.$piles.css({width:t.width+"px",height:t.height+"px"}),e&&setTimeout(function(){i.$el.removeClass("fg-disable-transitions")},0)},layoutPiles:function(n){var o=this,r=0,s=1,a=0;return n=l.fn(n)?n:function(){},o.piles.forEach(function(e){var t=r,i=((r+=o.info.blockWidth)>o.info.maxWidth&&0<t&&(t=0,r=o.info.blockWidth,s++),o.info.blockHeight*(s-1));n(e,o.info),e.layoutCollapsed(),e.setPosition(i,t,o.info.blockWidth,o.info.blockHeight),a<r&&(a=r)}),{width:a,height:o.info.blockHeight*s}},setActive:function(t){var i,n=this,e=n.activePile,o=e instanceof r.StackAlbum.Pile;t=t instanceof r.StackAlbum.Pile?t:null,n.activePile=t,n.hasActive=null!==t,o&&e.collapse(),n.ignoreResize=!0,n.hasActive?(n.piles.forEach(function(e){e!==t&&e.hide(n.activePile)}),i=n.activePile.expand (),n.$active.text(t.title),n.$el.addClass("fg-has-active")):(i=n.layoutPiles(function(e){e.show()}),n.$el.removeClass("fg-has-active")),s.start(n.$piles,function(e){e.css({width:i.width+"px",height:i.height+"px"})},null,350).then(function(){n.ignoreResize=!1})},onBackClick:function(e){e.preventDefault(),e.stopPropagation(),e.data.self.setActive(null)}}),r.StackAlbum.defaults={gutter:50,itemWidth:150,itemHeight:150,border:10,angleStep:1,randomAngle:!1}}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.obj,FooGallery.utils.transition),function(s,o,e,r,a){o.StackAlbum.Pile=e.Class.extend({construct:function(e,t,i){var n=this;n.album=e,n.$el=r.jq(t)?t:s(t),n.opt=a.extend({},o.StackAlbum.Pile.defaults,i,n.$el.data()),n.title=n.opt.title,n.items=n.$el.find(".fg-pile-item").map(function(e,t){return new o.StackAlbum.Item(n,t,{index:e})}).get(),n.$cover=n.$el.find(".fg-pile-cover").first(),n.top=0,n.left=0,n.isExpanded=!1},init:function(){var i=this,n=i.album.opt,o=i.getAngles(n.angleStep),r=n.randomAngle?i.randomAngle(o):n.angleStep;0===i.$cover.length&&0<i.items.length&&(i.$cover=s("<div/>",{class:"fg-pile-cover"}).append(s("<div/>",{class:"fg-pile-cover-content"}).append(s("<span/>",{class:"fg-pile-cover-title",text:i.opt.title}),s("<span/>",{class:"fg-pile-cover-count",text:i.items.length}))),i.items[0].$el.addClass("fg-has-cover").append(i.$cover)),i.$cover.on("click.foogallery",{self:i},i.onCoverClick),i.items.forEach(function(e,t){e.init(),3<t||(0===t?e.load():(t%2==0?e.setAngle(-r):e.setAngle(r),n.randomAngle?r=i.randomAngle(o):r+=n.angleStep))})},destroy:function(){this.$cover.remove(),this.items.forEach(function(e,t){0===t&&e.$el.removeClass("fg-has-cover"),e.destroy()})},getAngles:function(e){for(var t=[],i=1;i<=3;i++)t.push(i*e);return t},randomAngle:function(e){var t=e.length,t=Math.floor(Math.random()*+t+0),e=e.splice(t,1);return 1===e.length?e[0]:0},setPosition:function(e,t,i,n){this.top=e,this.left=t,r.number(i)&&r.number(n)?this.$el.css({top:e+"px",left:t+"px",width:i+"px",height:n+"px"}):this.$el.css({top:e+"px",left:t+"px"})},layout:function(){const n=this.album.info;if(!this.isExpanded)return this.layoutCollapsed();let o=0,r=1,s=!1,a=0;return this.items.forEach(function(e){(o+=n.halfGutter)>n.maxWidth&&(o=n.halfGutter,r++,s=!0,console.log("A"));var t=o,i=(o+=n.itemOuterWidth+n.halfGutter,!s&&o>n.maxWidth&&(t=n.halfGutter,o=n.blockWidth,r++,console.log("B")),n.blockHeight*(r-1)+n.halfGutter);s=!1,e.setPosition(i,t,n.itemOuterWidth,n.itemOuterHeight),e.isLoaded||e.load(),o>a&&(a=o)}),{width:a,height:n.blockHeight*r}},layoutCollapsed:function(){const t=this.album.info;return this.items.forEach(function(e){e.setPosition(t.halfGutter,t.halfGutter,t.itemOuterWidth,t.itemOuterHeight)}),{width:t.blockWidth,height:t.blockHeight}},expand:function(){var e;return this.$el.removeClass("fg-collapsed").addClass("fg-expanded"),this.isExpanded=!0,e=this.layout(),this.setPosition(0,0,e.width,e.height),e},collapse:function(){var e;return this.$el.removeClass("fg-expanded").addClass("fg-collapsed"),this.isExpanded=!1,e=this.layout(),this.setPosition(0,0,e.width,e.height),e},show:function(){this.$el.removeClass("fg-hidden fg-expanded fg-collapsed")},hide:function(e){e instanceof o.StackAlbum.Pile&&this.setPosition(e.top,e.left),this.$el.addClass("fg-hidden")},onCoverClick:function(e){e.preventDefault(),e.stopPropagation();e=e.data.self;e.album.setActive(e)}}),o.StackAlbum.Pile.defaults={index:-1,title:null}}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.obj),function(o,r,e,s,a){r.StackAlbum.Item=e.Class.extend({construct:function(e,t,i){var n=this;n.pile=e,n.$el=s.jq(t)?t:o(t),n.opt=a.extend({},r.StackAlbum.Item.defaults,i,n.$el.data()),n.$thumb=n.$el.find(".fg-pile-item-thumb"),n.$image=n.$el.find(".fg-pile-item-image"),n.isLoaded=!1,n.isLoading=!1,n._loading=null},init:function(){var e=this.pile.album.info;this.$el.css({width:e.itemOuterWidth+"px",height:e.itemOuterHeight+"px"})},destroy:function(){this.$el.css({top:"",left:"",width:"",height:"",transform:""})},setAngle:function(e){this.$el.css({transform:"rotate("+e+"deg)"})},setPosition:function(e,t,i,n){this.$el.css({top:e+"px",left:t+"px",width:i+"px",height:n+"px"})},load:function(){var t=this;return s.promise(t._loading)?t._loading:t._loading=o.Deferred(function(e){t.$el.addClass("fg-loading"),t.isLoading=!0,t.$image.on({"load.foogallery":function(){t.$image.off(".foogallery"),t.$el.removeClass("fg-loading"),t.isLoading=!1,t.isLoaded=!0,e.resolve()},"error.foogallery":function(){t.$image.off(".foogallery"),t.$el.removeClass("fg-loading"),t.isLoading=!1,t.isLoaded=!0,e.reject()}}),t.$image.prop("src",t.$image.attr(t.opt.src)).prop("srcset",t.$image.attr(t.opt.srcset))}).promise()}}),r.StackAlbum.Item.defaults={index:-1,src:"data-src-fg",srcset:"data-srcset-fg"}}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.obj),function(n,o,e){n.fn.foogalleryStackAlbum=function(e){return this.each(function(e,t){var t=n(t),i=t.data("__FooGalleryAlbum__");i instanceof o.StackAlbum&&i.destroy(),(i=new o.StackAlbum(t)).init(),t.data("__FooGalleryAlbum__",i)})},o.loadStackAlbums=o.reloadStackAlbums=function(){n(function(){n(".foogallery-stack-album:not(.fg-ready)").foogalleryStackAlbum()}),e.ready(function(){n(".foogallery-stack-album.fg-ready").foogalleryStackAlbum()})},o.loadStackAlbums()}(FooGallery.$,FooGallery,FooGallery.utils);