/*
* FooGallery - The Most Intuitive and Extensible Gallery Creation and Management Tool Ever Created for WordPress
* @version 2.1.2
* @link 
* @copyright Steven Usher & Brad Vincent 2015
* @license Released under the GPLv3 license.
*/
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,r,s,o;u.object(e)&&u.string(t)&&!u.empty(t)&&u.fn(i)&&(n=e[t],r=u.fn(n)&&c.fn.CONTAINS_SUPER.test(a.call(i)),e[t]=r?(s=n,o=i,function(){var e=this._super,t=(this._super=s,o.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 r;return function(){var e=this,t=c.fn.arg2arr(arguments);clearTimeout(r),r=setTimeout(function(){i.apply(e,t)},n)}},c.fn.throttle=function(i,n){var r,s;return function(){var e=this,t=c.fn.arg2arr(arguments);r?(clearTimeout(s),s=setTimeout(function(){Date.now()-r>=n&&(i.apply(e,t),r=Date.now())},n-(Date.now()-r))):(i.apply(e,t),r=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(),r=c.fn.arg2arr(arguments);return r.shift(),n.rejectWith(e,r).promise()},c.fn.resolveWith=function(e,t,i){var n=l.Deferred(),r=c.fn.arg2arr(arguments);return r.shift(),n.resolveWith(e,r).promise()},c.fn.all=function(t){var i=l.Deferred(),n=[];if(u.array(t)&&0<t.length){function r(e,t){o||(n[e]=0===t.length?void 0:1===t.length?t[0]:t,--s||i.resolve(n))}for(var s=t.length,o=!1,a=0,e=t.length;a<e&&"break"!==function(){if(o)return"break";var e=a;u.promise(t[e])?t[e].then(function(){r(e,c.fn.arg2arr(arguments))},function(){o||(o=!0,i.reject.apply(i,c.fn.arg2arr(arguments)))}):r(e,[t[e]])}();a++);}else i.resolve(n);return i.promise()},c.fn.allSettled=function(t){var n=l.Deferred(),r=[];if(u.array(t)&&0<t.length){function i(e,t,i){r[e]={status:t},0<i.length&&(r[e]["rejected"===t?"reason":"value"]=1===i.length?i[0]:i),--s||n.resolve(r)}for(var s=t.length,o=0,e=t.length;o<e;o++)!function(){var e=o;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(r);return n.promise()})}(FooGallery.utils.$,FooGallery.utils,FooGallery.utils.is),function(e,s){var r;"1.0.0"===e.version&&(e.url={},r=document.createElement("a"),e.url.parts=function(e){r.href=e;var e=r.port||(-1!==["http:","https:"].indexOf(r.protocol)?"https:"===r.protocol?"443":"80":""),t=r.hostname+(e?":"+e:""),i=r.origin||r.protocol+"//"+t,n="/"===r.pathname.slice(0,1)?r.pathname:"/"+r.pathname;return{hash:r.hash,host:t,hostname:r.hostname,href:r.href,origin:i,pathname:n,port:e,protocol:r.protocol,search:r.search}},e.url.full=function(e){return!s.string(e)||s.empty(e)?null:(r.href=e,r.href)},e.url.param=function(e,t,i){var n,r;return s.string(e)&&s.string(t)&&!s.empty(t)?s.undef(i)?(r=((n=new RegExp("[?|&]"+t+"=([^&;]+?)(&|#|;|$)")).exec(e)||["",""])[1].replace(/\+/g,"%20"),s.string(r)&&!s.empty(r)?decodeURIComponent(r):null):(s.empty(i)?(n=new RegExp("^([^#]*?)(([^#]*)&)?"+t+"(=[^&#]*)?(&|#|$)"),r=e.replace(n,"$1$3$5").replace(/^([^#]*)((\?)&|\?(#|$))/,"$1$3$4")):(n=new RegExp("([?&])"+t+"[^&]*"),t=t+"="+encodeURIComponent(i),(r=e.replace(n,"$1"+t))!==e||n.test(r)||(r+=(-1!==r.indexOf("?")?"&":"?")+t)),r):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/),r=0,s=n.length;r<s;r++)if(i?n[r].toUpperCase()===t.toUpperCase():n[r]===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 r=n.shift(),s=0,o=n.length;s<o;s++)t=n[s],l.empty(t)||(a.str.endsWith(r,e)&&(r=r.slice(0,r.length-e.length)),r+=e+(t=a.str.startsWith(t,e)?t.slice(e.length):t));return r},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,r,s){"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=r.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 r,s,o;if(l.hash(n)&&l.hash(i))for(r in i=l.hash(i)?i:{},e=l.hash(e)?e:{},i)i.hasOwnProperty(r)&&l.fn(i[r])&&(s=l.array(e[r])?e[r]:l.string(e[r])?[e[r]]:[r],a.each(s,function(e){return o=a.obj.prop(n,e),!l.undef(o)&&i[r](o)?(a.obj.prop(t,r,o),!1):void 0}));return t},a.obj.prop=function(i,e,n){var t,r;if(l.object(i)&&!l.empty(e))return l.undef(n)?(s.contains(e,".")?(t=e.split("."),r=t.length-1,a.each(t,function(e,t){if(t===r)n=i[e];else{if(!l.hash(i[e]))return!1;i=i[e]}})):l.undef(i[e])||(n=i[e]),n):void(s.contains(e,".")?(t=e.split("."),r=t.length-1,a.each(t,function(e,t){t===r?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,r,o){"1.0.0"===r.version&&(r.ready=function(e){function t(){try{e.call(window,r.$)}catch(e){console.error(e)}}(Function("/*@cc_on return true@*/")()?"complete"===document.readyState:"loading"!==document.readyState)?t():document.addEventListener("DOMContentLoaded",t,!1)},r.find=function(e,t,i){if(o.fn(t))if(i=o.undef(i)?t:i,o.array(e)){for(r=0,s=e.length;r<s;r++)if(t.call(i,e[r],r,e))return e[r]}else if(o.object(e))for(var n=Object.keys(e),r=0,s=n.length;r<s;r++)if(t.call(i,e[n[r]],n[r],e))return e[n[r]]},r.each=function(e,t,i){if(o.fn(t))if(i=o.undef(i)?t:i,o.array(e))for(r=0,s=e.length;r<s&&!1!==t.call(i,e[r],r,e);r++);else if(o.object(e))for(var n=Object.keys(e),r=0,s=n.length;r<s&&!1!==t.call(i,e[n[r]],n[r],e);r++);},r.inArray=function(e,t){return o.array(t)?t.indexOf(e):-1},r.selectify=function(e){if(o.empty(e))return null;if(o.hash(e)){var t,i,n={};for(i in e)e.hasOwnProperty(i)&&(t=r.selectify(e[i]))&&(n[i]=t);return n}return o.string(e)||o.array(e)?(e=o.string(e)?[e]:e).map(function(e){return o.string(e)?"."+e.split(/\s/g).join("."):null}).join(","):null},r.requestFrame=(window.requestAnimationFrame||window.webkitRequestAnimationFrame||function(e){return setTimeout(e,1e3/60)}).bind(window),r.cancelFrame=(window.cancelAnimationFrame||window.webkitCancelAnimationFrame||function(e){clearTimeout(e)}).bind(window),r.nextFrame=function(e,i){return t.Deferred(function(t){o.fn(e)?(i=o.undef(i)?e:i,r.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(r,s,o,a){"1.0.0"===r.version&&(r.Class=function(){},r.Class.extend=function(e){e=s.hash(e)?e:{};var t,i=o.create(this.prototype);for(t in e)e.hasOwnProperty(t)&&a.addOrOverride(i,t,e[t]);function n(){if(!s.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=s.fn(i.construct)?i.construct:function(){},(n.prototype=i).constructor=s.fn(i.__ctor__)?i.__ctor__:n,n.extend=r.Class.extend,n.override=r.Class.override,n.getBaseClasses=r.Class.getBaseClasses,n.__baseClass__=this,n},r.Class.override=function(e,t){a.addOrOverride(this.prototype,e,t)},r.Class.__baseClass__=null,r.Class.getBaseClasses=function(){return function e(t,i){return s.array(i)||(i=[]),s.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,r){e.ClassRegistry=e.Class.extend({construct:function(e){this.opt=r.extend({allowBase:!0,beforeCreate:null},e),this.registered={}},register:function(e,t,i,n){var r;return!(!a.string(e)||a.empty(e)||!a.fn(t))&&(n=a.number(n)?n:0,r=this.registered[e],this.registered[e]={name:e,ctor:t,config:a.hash(i)?i:{},priority:a.undef(r)?n:r.priority},!0)},each:function(e,t,i){t=!!a.boolean(t)&&t,i=a.undef(i)?e:i;for(var n=this,r=Object.keys(n.registered).map(function(e){return n.registered[e]}),s=(t&&r.sort(function(e,t){return t.priority-e.priority}),0),o=r.length;s<o&&!1!==e.call(i,r[s],s);s++);},find:function(e,t,i){t=!!a.boolean(t)&&t,i=a.undef(i)?e:i;for(var n=this,r=Object.keys(n.registered).map(function(e){return n.registered[e]}),s=(t&&r.sort(function(e,t){return t.priority-e.priority}),0),o=r.length;s<o;s++)if(e.call(i,r[s],s))return r[s];return null},create:function(e,t,i){var n=this,r=l.arg2arr(arguments);if(e=r.shift(),a.string(e)&&n.registered.hasOwnProperty(e)){var s=n.registered[e],o=!0;if((o=s.priority<0&&!n.opt.allowBase?!1:o)&&a.fn(s.ctor))return t=r.shift(),t=n.mergeConfigurations(s.name,t),r.unshift.apply(r,[s.name,t]),l.apply(s.ctor,n.onBeforeCreate(s,r))}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),r.extend.apply(r,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(s,o,i){"1.0.0"===s.version&&(s.Event=s.Class.extend({construct:function(e){if(o.empty(e))throw new SyntaxError("FooGallery.utils.Event objects must be supplied a `type`.");e=s.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}}),s.Event.parse=function(e){e=o.string(e)&&!o.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}},s.EventClass=s.Class.extend({construct:function(){this.events={}},destroy:function(){this.events={}},on:function(i,t,n){var r=this;return o.object(i)?(n=t,Object.keys(i).forEach(function(t){o.fn(i[t])&&t.split(" ").forEach(function(e){r.addListener(e,i[t],n)})})):o.string(i)&&o.fn(t)&&i.split(" ").forEach(function(e){r.addListener(e,t,n)}),r},addListener:function(e,t,i){var n,r;return!(!o.string(e)||/\s/.test(e)||!o.fn(t))&&(n=this,r=s.Event.parse(e),i=o.undef(i)?n:i,o.array(n.events[r.type])||(n.events[r.type]=[]),!n.events[r.type].some(function(e){return e.namespace===r.namespace&&e.fn===t&&e.thisArg===i})&&(n.events[r.type].push({namespace:r.namespace,fn:t,thisArg:i}),!0))},off:function(i,t,n){var r=this;return o.object(i)?(n=t,Object.keys(i).forEach(function(t){t.split(" ").forEach(function(e){r.removeListener(e,i[t],n)})})):o.string(i)&&i.split(" ").forEach(function(e){r.removeListener(e,t,n)}),r},removeListener:function(e,t,i){var n,r;return!(!o.string(e)||/\s/.test(e))&&(n=this,r=s.Event.parse(e),e=[],i=o.undef(i)?n:i,o.empty(r.type)?o.empty(r.namespace)||e.push.apply(e,Object.keys(n.events)):e.push(r.type),e.forEach(function(e){o.array(n.events[e])&&(n.events[e]=n.events[e].filter(function(e){return null!=t?!(e.namespace===r.namespace&&e.fn===t&&e.thisArg===i):null!=r.namespace&&e.namespace!==r.namespace}),0===n.events[e].length&&delete n.events[e])}),!0)},trigger:function(e,t){t=o.array(t)?t:[];var i=this,n=[];return e instanceof s.Event?(n.push(e),i.emit(e,t)):o.string(e)&&e.split(" ").forEach(function(e){e=new s.Event(e);n.push(e),i.emit(e,t)}),o.empty(n)?null:1===n.length?n[0]:n},emit:function(t,i){var e;t instanceof FooGallery.utils.Event&&(e=this,i=o.array(i)?i:[],null===t.target&&(t.target=e),o.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))}),o.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.canResume=0<e.__remaining,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(s,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]()||s.Deferred(this.__resolver(this.api.request)).promise():t.rejected},exit:function(){return this.supported&&this.element()?document[this.api.exit]()||s.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&&s(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&&s(document).off(this.api.events.change+".utils").off(this.api.events.error+".utils")},__resolver:function(n){var r=this;return function(e){function t(){e.resolve(),s(document).off(r.api.events.change,t).off(r.api.events.error,i)}function i(){e.reject(new TypeError),s(document).off(r.api.events.change,t).off(r.api.events.error,i)}n===r.api.exit&&r.element()?setTimeout(function(){e.reject(new TypeError)},1):s(document).on(r.api.events.change,t).on(r.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,r,e=u.jq(e)?e:l(e);0<e.length&&u.fn(t)&&(i=e.get(0),r=null,(n=u.string(c.transition.disableClassName))?e.addClass(c.transition.disableClassName):(r={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(r.value)&&0<r.value.length&&i.style.setProperty("transition",r.value,r.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,r=t,s=i,o=u.string(i);return function(e){var t=e.originalEvent instanceof TransitionEvent?e.originalEvent:e,i=!1;(i=t.target===n?!o||t.propertyName===s:i)&&r.apply(r,a.arg2arr(arguments))}},c.transition.start=function(e,i,n,r){var s,o=l.Deferred(),a=u.jq(e)?e:l(e);return 0<a.length&&u.fn(i)?(s=a.get(0),c.transition.stop(a).always(function(){var t=c.transition.createListener(s,function(){o.resolve(a)},n);a.data(c.transition.dataName,o).on("transitionend.foo-utils",t).prop("offsetWidth"),c.requestFrame(function(){var e=setTimeout(function(){o.reject(new Error("Transition safety timeout triggered."))},u.number(r)?r:c.transition.timeout);o.always(function(){clearTimeout(e),a.removeData(c.transition.dataName).off("transitionend.foo-utils",t)}),i.call(i,a)})})):o.reject(new Error("Unable to perform transition. Make sure the element exists and a trigger function is supplied.")),o.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(s,o,e,a,n,t){o.DATA_TEMPLATE="__FooGallery__",o.DATA_ITEM="__FooGalleryItem__",o.get=function(e){return s(e).data(o.DATA_TEMPLATE)},o.init=function(t,i){if(0<(i=a.jq(i)?i:s(i)).length){var e=i.data(o.DATA_TEMPLATE);if(e instanceof o.Template)return e.destroy(!0).then(function(){var e=o.template.make(t,i);return e instanceof o.Template?e.initialize():n.rejected})}e=o.template.make(t,i);return e instanceof o.Template?e.initialize():n.rejected},s.fn.foogallery=function(n,r){return r=a.fn(r)?r:s.noop,this.each(function(e,t){if(a.string(n)){var i=s.data(t,o.DATA_TEMPLATE);if(i instanceof o.Template)switch(n){case"layout":return void i.layout();case"destroy":return void i.destroy()}}else o.init(n,t).then(r)})},o.isCached=function(e){var t=new Image,e=(t.src=e,t.complete);return t.src="",t=null,e},o.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!==o.supportedExifProperties.indexOf(e)&&!a.empty(t[e])}))},t.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},e.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}},o.supportsWebP=!1;var i=new Image;i.onload=function(){o.supportsWebP=0<i.width&&0<i.height},i.onerror=function(){o.supportsWebP=!1},i.src="data:image/webp;base64,UklGRhoAAABXRUJQVlA4TA0AAAAvAAAAEAcQERGIiP4HAA==",o.supportsPicture=!!window.HTMLPictureElement,e.DOMEventListeners=e.Class.extend({construct:function(){this.eventTargets=new Map},add:function(e,t,i,n){e.addEventListener(t,i,n);let r=this.eventTargets.get(e);return r||(r=new Map,this.eventTargets.set(e,r)),!r.get(t)&&(r.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()}}),e.Timeouts=e.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()}})}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.str),function(s,e,t,a,l){e.Icons=t.Class.extend({construct:function(){this.className="fg-icon",this.registered={default:{close:'<svg version="1.1" 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 version="1.1" 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 version="1.1" 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>',maximize:'<svg version="1.1" 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 version="1.1" 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 version="1.1" 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 version="1.1" 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 version="1.1" 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 version="1.1" 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 version="1.1" 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>',"circle-close":'<svg version="1.1" 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>',"auto-progress":'<svg version="1.1" 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 version="1.1" 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>',"exif-aperture":'<svg version="1.1" 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 version="1.1" 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 version="1.1" 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 version="1.1" 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 version="1.1" 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 version="1.1" 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 version="1.1" 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>'}}},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",r=l.extend({},i.registered.default),t=(a.string(t)&&"default"!==t?r=l.extend(r,i.registered[n=t]):a.hash(t)&&(n="custom",r=l.extend(r,t)),a.string(e)&&r.hasOwnProperty(e)?r[e].replace(/\[ICON_CLASS]/g,i.className+"-"+e):null),r=[!1,e,n].map(function(e){return!1===e?i.className:i.className+"-"+e}).join(" ");return s(t).addClass(r)},element:function(e,t){const i=this;let n="default",r=l.extend({},i.registered.default);a.string(t)&&"default"!==t?(n=t,r=l.extend(r,i.registered[t])):a.hash(t)&&(n="custom",r=l.extend(r,t));t=a.string(e)&&r.hasOwnProperty(e)?r[e].replace(/\[ICON_CLASS]/g,i.className+"-"+e):null;if(null!==t){const s=document.createRange().createContextualFragment(t),o=s.querySelector("svg");if(o)return["","-"+e,"-"+n].forEach(function(e){o.classList.add(i.className+e)}),o}return null}}),e.icons=new e.Icons}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.obj),function(r,i,n,s,o){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=r(e),i.opt=o.extend({threshold:20,allowPageScroll:!1,swipe:r.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),s.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),s.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&&!s.empty(t=e.originalEvent.touches||e.touches)?{x:t[0].pageX,y:t[0].pageY}:s.number(e.pageX)&&s.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);s.empty(e)||(t.active=!0,t.startPoint=t.endPoint=e)},onMove:function(e){var t=e.data.self,i=t.getPoint(e);t.active&&!s.empty(i)&&(t.endPoint=i,t.opt.allowPageScroll?s.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))}}),r.fn.fgswipe=function(t){return this.each(function(){var e=r(this).data(a);if(e instanceof i.Swipe){if(s.string(t)&&s.fn(e[t]))return void e[t]();e.destroy()}s.hash(t)&&(e=new i.Swipe(this,t)).init()})}}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.obj),function(e,t,s,a,o){e.Factory=t.Class.extend({construct:function(){this.registered={}},contains:function(e){return!s.undef(this.registered[e])},make:function(e,t,i){var n,r=a.arg2arr(arguments);return e=r.shift(),n=this.registered[e],s.hash(n)&&s.fn(n.klass)?a.apply(n.klass,r):null},names:function(e){e=!!s.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(!s.string(e)||s.empty(e)||!s.fn(t))return!1;i=s.number(i)?i:0;var n=this.registered[e];return this.registered[e]={name:e,klass:t,priority:s.undef(n)?i:n.priority},!0},load:function(e,t){var i,n=this,r=a.arg2arr(arguments),s=[],o=[];for(i in n.registered)n.registered.hasOwnProperty(i)&&o.push(n.registered[i]);return o.sort(function(e,t){return t.priority-e.priority}),o.forEach(function(e){var t=r.slice();t.unshift(e.name),s.push(n.make.apply(n,t))}),s},configure:function(e,t,i,n){var r;this.contains(e)&&(r=this.registered,o.extend(r[e].opt,t),o.extend(r[e].cls,i),o.extend(r[e].il8n,n))}})}((FooGallery.$,FooGallery),FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.obj),function(l,o,c,u,a){o.TemplateFactory=o.Factory.extend({construct:function(){this.registered={}},register:function(e,t,i,n,r,s){t=this._super(e,t,s);return t&&((s=this.registered)[e].opt=u.hash(i)?i:{},s[e].cls=u.hash(n)?n:{},s[e].il8n=u.hash(r)?r:{}),t},make:function(e,t){t=u.jq(t)?t:l(t),e=a.extend({},e,t.data("foogallery"));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,r=this.names(!0),s=0,o=r.length;s<o;s++)if(n.hasOwnProperty(r[s])&&"core"!==r[s]){var a=n[r[s]].cls;if(u.string(a.container)){a=c.selectify(a.container);if(t.is(a)){i=r[s];break}}}return i},options:function(e,t){t=a.extend({type:e},t);var i=this.registered,n=i.core.opt,r=i.core.cls,s=i.core.il8n;return u.hash(t.cls)||(t.cls={}),u.hash(t.il8n)||(t.il8n={}),u.undef(o.filtering)||(t=o.filtering.merge(t)),u.undef(o.paging)||(t=o.paging.merge(t)),"core"!==e&&this.contains(e)?((t=a.extend({},n,i[e].opt,t)).cls=a.extend({},r,i[e].cls,t.cls),t.il8n=a.extend({},s,i[e].il8n,t.il8n)):((t=a.extend({},n,t)).cls=a.extend({},r,t.cls),t.il8n=a.extend({},s,t.il8n)),t}}),o.template=new o.TemplateFactory}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,(FooGallery.utils.fn,FooGallery.utils.obj)),function(n,r,s,o,a){var l=0;r.Template=s.EventClass.extend({construct:function(e,t){var i=this;i._super(),i.namespace=".foogallery-"+ ++l,i.$el=o.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=s.selectify(i.cls),i.items=r.components.make("items",i),i.pages=o.undef(r.paging)?null:r.paging.make(e.paging.type,i),i.filter=o.undef(r.filtering)?null:r.filtering.make(e.filtering.type,i),i.state=r.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=s.getResizeObserverSize(e[0]),i.layout(e.width))},50))},initialize:function(t){var i=this;return o.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")}).fail(e.reject):e.reject("pre-init failed")}).fail(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=o.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),o.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(r.DATA_TEMPLATE,t),o.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=s.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&&o.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(),o.empty(t.opt.on)||t.$el.off(t.opt.on),t.trigger("destroyed"),t.$el.removeData(r.DATA_TEMPLATE),o.empty(t._undo.classes)?t.$el.removeAttr("class"):t.$el.attr("class",t._undo.classes),o.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=o.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=o.empty(t)?"":t;var e=e instanceof RegExp?e:o.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},onWindowPopState:function(e){var t=e.data.self,e=e.originalEvent.state;o.empty(e)||e.id!==t.id||t.state.set(e)}}),r.template.register("core",r.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,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|plus|circle-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,s,i,o,a,l){s.State=s.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),r=a.escapeRegExp(t.opt.pair);t.regex={exists:new RegExp("^#"+e+"\\"+n+".+?"),masked:new RegExp("^#"+i+"\\"+n+".+?"),values:new RegExp("(\\w+)"+r+"([^"+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,r=this,s=r.tmpl,o={};return r.exists()&&(r.enabled?(o.id=r.tmpl.id,r.regex.values.lastIndex=0,e=location.hash.match(r.regex.values),t.each(e,function(e,t){var i,n=t.split(r.opt.pair);if(2===n.length)switch(n[0]){case r.opt.itemKey:null!==(i=s.items.fromHash(n[1]))&&(o.item=i);break;case r.opt.pageKey:s.pages&&null!==(i=s.pages.fromHash(n[1]))&&(o.page=i);break;case r.opt.filterKey:s.filter&&null!==(i=s.filter.fromHash(n[1]))&&(o.filter=i)}})):r.apiEnabled?history.replaceState(null,"",location.pathname+location.search):location.hash="#"),o},hashify:function(e){var t,i,n=this,r=n.tmpl;return o.hash(e)?(t=[],null!==(i=r.items.toHash(e.item))&&t.push(n.opt.itemKey+n.opt.pair+i),r.filter&&null!==(i=r.filter.toHash(e.filter))&&t.push(n.opt.filterKey+n.opt.pair+i),r.pages&&null!==(i=r.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=o.empty(t),e=l.extend({},e,{item:e.item instanceof s.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=o.empty(t),e=l.extend({},e,{item:e.item instanceof s.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 o.empty(e)?this.get():l.extend({filter:[],page:1,item:null},e)},get:function(e){var t,i=this.tmpl,n={};return e instanceof s.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,r=this.tmpl;o.hash(e)&&(t=l.extend({filter:[],page:1,item:null},e),r.items.reset(),r.trigger("before-state",[t]).isDefaultPrevented()||(r.filter&&r.filter.setState(t),r.pages?r.pages.setState(t):(i=r.items.available(),r.items.isAll(i)||(n=r.items.not(i),r.items.detach(n)),r.items.create(i,!0)),t.item instanceof s.Item&&(this.opt.scrollTo&&t.item.scrollTo(),o.empty(e.item)||(e.item=null,this.replace(e))),this.current=t,r.trigger("after-state",[t])))},onPopState:function(e){var t=this.parse();Object.keys(t).length&&this.set(t)}}),s.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"}}),s.components.register("state",s.State)}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.str,FooGallery.utils.obj),function(o,s,i,a,n,l){s.Items=s.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 s.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 s.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=o.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,r,s,i=this;return!e&&a.promise(i._fetched)?i._fetched:(e=i.tmpl.id+"_items",t=i.tmpl.sel,n=i.tmpl.opt.items,r=o.Deferred(),s=i.make(i.tmpl.$el.find(t.item.elem)),a.empty(n)?(a.array(window[e])&&s.push.apply(s,i.make(window[e])),r.resolve(s)):a.array(n)?(s.push.apply(s,i.make(n)),r.resolve(s)):a.string(n)?o.get(n).then(function(e){s.push.apply(s,i.make(e)),r.resolve(s)},function(e,t,i){console.log("FooGallery: GET items error.",n,e,t,i),r.resolve(s)}):r.resolve(s),r.then(function(e){i.setAll(e)}),i._fetched=r.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 s.Item))return null;i=!!a.boolean(i)&&i;var n,r=this._available.slice(),e=r.indexOf(e);return-1!==e?(n=r.slice(0,e),r=r.slice(e+1),i&&(r=r.concat(n)),this.find(r,t)):null},prev:function(e,t,i){if(!(e instanceof s.Item))return null;i=!!a.boolean(i)&&i;var n,r=this._available.slice().reverse(),e=r.indexOf(e);return-1!==e?(n=r.slice(0,e),r=r.slice(e+1),i&&(r=r.concat(n)),this.find(r,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)?o.map(e,function(e){return e instanceof s.Item&&!e.isCreated?e:null}):[]},appendable:function(e){return this.ALLOW_APPEND&&a.array(e)?o.map(e,function(e){return e instanceof s.Item&&e.isCreated&&!e.isAttached?e:null}):[]},detachable:function(e){return a.array(e)?o.map(e,function(e){return e instanceof s.Item&&e.isCreated&&e.isAttached?e:null}):[]},jquerify:function(e){return o(o.map(e,function(e){return e.$el.get()}))},make:function(e){var n=this,t=[];if(a.jq(e)||a.array(e)){var r=[],e=o.makeArray(e);if(0===e.length)return t;0<(t=n.tmpl.trigger("make-items",[e]).isDefaultPrevented()?t:o.map(e,function(e){var t=n.type(e),i=l.extend(a.hash(e)?e:{},{type:t}),t=s.components.make(t,n.tmpl,i);return a.element(e)?t.parse(e)?(r.push(t),n.ALLOW_APPEND||t.detach(),t):null:t})).length&&n.tmpl.trigger("made-items",[t]),0<r.length&&n.tmpl.trigger("parsed-items",[r])}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)&&s.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:o.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:o.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:o.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))}}),s.components.register("items",s.Items)}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.obj),function(y,b,x,_,s,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=s.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.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=_.exif(i.exif),i.ribbon=i.opt.ribbon,i.hasRibbon=_.hash(i.ribbon)&&_.string(i.ribbon.text)&&_.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),_.empty(e._undo.classes)?e.$el.removeAttr("class"):e.$el.attr("class",e._undo.classes),_.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,r=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=r,i.$inner=y(r.querySelector(n.inner)),i.$anchor=y(r.querySelector(n.anchor)).on("click.foogallery",{self:i},i.onAnchorClick),i.$image=y(r.querySelector(n.image)),i.$caption=y(r.querySelector(n.caption.elem)).on("click.foogallery",{self:i},i.onCaptionClick),i.$overlay=y(r.querySelector(n.overlay)),i.$wrap=y(r.querySelector(n.wrap)),i.$loader=y(r.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!==r.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(),n=(i.id=e.id||i.id,i.productId=e.productId||i.productId,i.tags=e.tags||i.tags,i.href=e.href||i.$anchor.attr("href")||i.href,r=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=r.attr(i.tmpl.opt.src)||i.src,i.srcset=r.attr(i.tmpl.opt.srcset)||i.srcset,i.width=parseInt(r.attr("width"))||i.width,i.height=parseInt(r.attr("height"))||i.height,i.title=r.attr("title")||i.title,i.alt=r.attr("alt")||i.alt,i.caption=e.title||e.captionTitle||i.caption,i.description=e.description||e.captionDesc||i.description,i.noLightbox=i.$anchor.hasClass(t.noLightbox),i.panelHide=i.$anchor.hasClass(t.panelHide),_.exif(e.exif)&&(i.exif=s.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),r.get(0)),e=(_.string(n.src)&&0!==n.src.length||(_.string(i.placeholder)&&0!==i.placeholder.length||(i.placeholder=i.createPlaceholder(i.width,i.height)),0<i.placeholder.length&&(n.src=i.placeholder,i._undo.placeholder=!0)),i.getTypeClass());return i.$el.hasClass(e)||i.$el.addClass(e),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&&_.string(e.href)&&_.string(e.src)&&_.number(e.width)&&_.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;_.empty(t)||("class"===e?(i=(_.array(t)?t:[t]).flatMap(e=>_.string(e)?e.split(" "):[]).map(e=>e.trim()).filter(Boolean),n.classList.add(...i)):n.setAttribute(e,_.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,r=this,t=r.cls,i=r.attr,s=r.hasExif?t.exif:"",o=(r.isLoaded=!r.tmpl.opt.lazy,r.isPicture=0<r.sources.length,r.doShortPixel(),document.createElement("div")),s=(r._setAttributes(o,i.elem),r._setAttributes(o,{class:[t.elem,r.getTypeClass(),s,r.isLoaded?t.loaded:t.idle]}),document.createElement("figure")),a=(r._setAttributes(s,i.inner),r._setAttributes(s,{class:t.inner}),[t.anchor]),l=(r.noLightbox&&a.push(t.noLightbox),r.panelHide&&a.push(t.panelHide),document.createElement("a")),a=(r._setAttributes(l,i.anchor),r._setAttributes(l,{class:a.join(" "),href:r.href,"data-id":r.id,"data-type":r.type,"data-title":r.caption,"data-description":r.description,"data-tags":r.tags,"data-exif":r.exif,"data-product-id":r.productId}),_.string(r.placeholder)&&0!==r.placeholder.length||(r.placeholder=r.createPlaceholder(r.width,r.height)),document.createElement("img")),c=(r._setAttributes(a,i.image),{class:t.image,src:r.placeholder,width:r.width+"",height:r.height+"",title:r.title,alt:r.alt}),c=(r.isLoaded?(c.src=r.src,c.srcset=r.srcset):(c[r.tmpl.opt.src]=r.src,c[r.tmpl.opt.srcset]=r.srcset),r._setAttributes(a,c),r.isPicture&&(n=document.createElement("picture"),r._setAttributes(n,i.picture),r.sources.forEach(function(e){var t=document.createElement("source"),i={media:e.media,sizes:e.sizes,type:e.type};r.isLoaded?i.srcset=e.srcset:i[r.tmpl.opt.srcset]=e.srcset,r._setAttributes(t,i),n.appendChild(t)}),n.appendChild(a)),r.hasRibbon&&((e=document.createElement("div")).className=r.ribbon.type,(c=document.createElement("span")).innerHTML=r.ribbon.text,e.appendChild(c)),document.createElement("span")),u=(c.className=t.overlay,document.createElement("span")),h=(u.className=t.wrap,document.createElement("div")),d=(h.className=t.loader,document.createElement("figcaption")),p=(r._setAttributes(d,i.caption.elem),r._setAttributes(d,{class:t.caption.elem}),document.createElement("div")),f=(r._setAttributes(p,i.caption.inner),r._setAttributes(p,{class:t.caption.inner}),null),g=r.showCaptionTitle&&_.string(r.caption)&&0<r.caption.length,f=(g&&(f=document.createElement("div"),r._setAttributes(f,i.caption.title),f.className=t.caption.title,f.innerHTML=0<r.maxCaptionLength?C.trimTo(r.caption,r.maxCaptionLength):r.caption,p.appendChild(f)),null),m=r.showCaptionDescription&&_.string(r.description)&&0<r.description.length,v=(m&&(f=document.createElement("div"),r._setAttributes(f,i.caption.description),f.className=t.caption.description,f.innerHTML=0<r.maxDescriptionLength?C.trimTo(r.description,r.maxDescriptionLength):r.description,p.appendChild(f)),null),i=_.array(r.buttons)&&0<r.buttons.length;return i&&((v=document.createElement("div")).className=t.caption.buttons,x.each(r.buttons,function(e){var t;_.hash(e)&&_.string(e.text)&&((t=document.createElement("a")).innerHTML=e.text,_.string(e.url)&&0<e.url.length&&(t.href=e.url),_.string(e.rel)&&0<e.rel.length&&(t.rel=e.rel),_.string(e.target)&&0<e.target.length&&(t.target=e.target),_.string(e.classes)&&0<e.classes.length&&(t.className=e.classes),_.hash(e.attr)&&r._setAttributes(t,e.attr),v.appendChild(t))}),p.appendChild(v)),d.appendChild(p),r.isPicture?u.appendChild(n):u.appendChild(a),l.appendChild(c),l.appendChild(u),s.appendChild(l),(g||m||i)&&s.appendChild(d),r.hasRibbon&&o.appendChild(e),o.appendChild(s),o.appendChild(h),r.$el=y(o).data(b.DATA_ITEM,r),r.el=o,r.$inner=y(s),r.$anchor=y(l).on("click.foogallery",{self:r},r.onAnchorClick),r.$overlay=y(c),r.$wrap=y(u),r.isPicture?r.$image=y(n):r.$image=y(a),r.$caption=y(d).on("click.foogallery",{self:r},r.onCaptionClick),r.$loader=y(h),!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 _.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 s=this;return new y.Deferred(function(e){var t=(s.isPicture?s.$image.find("img"):s.$image).get(0);if(!t)return e.reject("Unable to find img element.");var i=t.src,n=t.srcset,r=(t.onload=function(){t.onload=t.onerror=null,t.style.removeProperty("width"),t.style.removeProperty("height"),e.resolve(t)},t.onerror=function(){t.onload=t.onerror=null,_.empty(i)?t.removeAttribute("src"):t.src=i,_.empty(n)?t.removeAttribute("srcset"):t.srcset=n,e.reject(t)},s.isPicture&&s.$image.find("source").each(function(e,t){var i=t.getAttribute(s.tmpl.opt.srcset);_.empty(i)||(t.srcset=i)}),t.getBoundingClientRect());t.style.width=r.width,t.style.height=r.height,t.src=s.src,_.empty(s.srcset)||(t.srcset=s.srcset),t.complete&&t.onload()}).promise()},createPlaceholder:function(e,t){return _.number(e)&&_.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:s.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,c,u){e.PagingFactory=e.Factory.extend({construct:function(){this.registered={}},register:function(e,t,i,n,r,s,o){t=this._super(e,t,o);return t&&((o=this.registered)[e].ctrl=c.fn(i)?i:null,o[e].opt=c.hash(n)?n:{},o[e].cls=c.hash(r)?r:{},o[e].il8n=c.hash(s)?s:{}),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,r=i.default.cls,s=i.default.il8n,o=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,o,{type:t}),e.cls=u.extend(e.cls,{paging:r},{paging:i[t].cls},{paging:a}),e.il8n=u.extend(e.il8n,{paging:s},{paging:i[t].il8n},{paging:l})):(e.paging=u.extend({},n,o,{type:t}),e.cls=u.extend(e.cls,{paging:r},{paging:a}),e.il8n=u.extend(e.il8n,{paging:s},{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,s,n,l){s.Paging=s.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,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,r=0;r<e.total;r++)e._pages.push(t.splice(0,e.size));1<e.total&&s.paging.hasCtrl(e.type)&&("both"!==(i=e.position)&&"top"!==i||(n=s.paging.makeCtrl(e.type,e.tmpl,e,"top")).create()&&(n.append(),e.ctrls.push(n)),"both"!==i&&"bottom"!==i||(n=s.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,r=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(r,!0)},get:function(e){return this.isValid(e)?(e=this.number(e),this._pages[e-1]):[]},set:function(e,t,i,n){var r=this;if(r.isValid(e)){r.controls(e);var s,o,a=r.number(e);if(a!==r.current)return o=r.current,!r.tmpl.trigger("before-page-change",[r.current,a,e=function(){var e;i=!l.boolean(i)||i,n=!!l.boolean(n)&&n,i&&1===r.current&&!r.tmpl.state.exists()&&(s=r.tmpl.state.get(),r.tmpl.state.update(s,r.pushOrReplace)),r.create(a,n),i&&(s=r.tmpl.state.get(),r.tmpl.state.update(s,r.pushOrReplace)),r.tmpl.trigger("page-change",[r.current,o,n]),r.scrollToTop&&l.boolean(t)&&t&&(0<(e=r.get(r.current)).length&&e[0].scrollTo("top")),r.tmpl.trigger("after-page-change",[r.current,o,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)}}),s.PagingControl=s.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){}}),s.paging.register("default",s.Paging,null,{type:"none",theme:"fg-light",size:30,pushOrReplace:"push",position:"none",scrollToTop:!0},{container:"fg-paging-container"},null,-100)}(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,r=[],s=l("<ul/>",{class:i.list}),o=0,a=e.pages.total;o<a;o++)r.push(t=e.createItem(o+1,n.page)),s.append(t);return e.$list=s,e.$items=l(l.map(r,function(e){return e.get()})),e.$container.append(s),!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,r=t.pages.il8n,s=t.pages.sel;t.$items.filter(s.selected).removeClass(i.selected).each(function(e,t){var t=l(t),i=t.data("label"),t=t.find(s.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(s.reader),n=i.html();a.string(n)&&0!==i.length&&(t.data("label",n),i.html(r.current))})},createItem:function(e,t,i,n,r){i=a.string(i)?i:e,t=a.string(t)?t:"";var s=this.pages.opt,o=this.pages.cls,i=l("<a/>",{class:o.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,s.limit+"")),r=a.string(r)?r:t,a.empty(r)||i.prepend(l("<span/>",{class:o.reader,text:r.replace(/\{PAGE}/g,"").replace(/\{LIMIT}/g,s.limit+"")})),l("<li/>",{class:o.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(s,o,a,l,c,u){var h=0;o.Panel=o.Component.extend({construct:function(e,t,i,n){var r=this,s=(r.instanceId=++h,r._super(e),r.opt=c.extend({},r.tmpl.opt.panel,t),r.cls=c.extend({},r.tmpl.cls.panel,i),r.il8n=c.extend({},r.tmpl.il8n.panel,n),r.cls.states);r.cls.states.all=Object.keys(s).map(function(e){return s[e]}).join(" "),r.cls.states.allLoading=[s.idle,s.loading,s.loaded,s.error].join(" "),r.cls.states.allProgress=[s.idle,s.started,s.stopped,s.paused].join(" "),r.sel=a.selectify(r.cls),r.videoSources=l.undef(o.Panel.Video)?[]:o.Panel.Video.sources.load(r),r.buttons=new o.Panel.Buttons(r),r.content=new o.Panel.Content(r),r.info=new o.Panel.Info(r),r.thumbs=new o.Panel.Thumbs(r),r.areas=[r.content,r.info,r.thumbs],o.Panel.Cart&&(r.cart=new o.Panel.Cart(r),r.areas.push(r.cart)),r.$el=null,r.el=null,r.isCreated=!1,r.isDestroyed=!1,r.isDestroying=!1,r.isAttached=!1,r.isLoading=!1,r.isLoaded=!1,r.isError=!1,r.isInline=!1,r.isMaximized=!1,r.isFullscreen=!1,r.hasTransition=!l.empty(r.cls.transition[r.opt.transition]),r.currentItem=null,r.prevItem=null,r.nextItem=null,r.lastBreakpoint=null,r.isSmallScreen=!1,r.isMediumScreen=!1,r.isLargeScreen=!1,r.breakpointClassNames=r.opt.breakpoints.map(function(e){return"fg-"+e.name+" fg-"+e.name+"-width fg-"+e.name+"-height"}).concat(["fg-landscape","fg-portrait"]).join(" "),r.robserver=new ResizeObserver(u.throttle(function(e){r.destroying||r.destroyed||e.forEach(function(e){e.target===r.el&&(e=a.getResizeObserverSize(e),r.onResize(e.width,e.height))})},50)),r.__media={},r.__loading=null,r.tmpl.destroying||r.tmpl.destroyed||r.tmpl.on({"after-filter-change":r.onItemsChanged},r)},isVisible:function(e){return e instanceof o.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.content.$el),!0},createElem:function(){var e=this,t=e.cls.transition[e.opt.transition]||"",t=(e.hasTransition=!l.empty(t),[e.cls.elem,t,e.cls.buttons.portrait[e.opt.buttonsPortrait]||"",e.cls.buttons.landscape[e.opt.buttonsLandscape]||"",l.string(e.opt.theme)?e.opt.theme:e.tmpl.getCSSClass("theme","fg-dark"),l.string(e.opt.loadingIcon)?e.opt.loadingIcon:e.tmpl.getCSSClass("loadingIcon"),l.string(e.opt.hoverIcon)?e.opt.hoverIcon:e.tmpl.getCSSClass("hoverIcon"),l.string(e.opt.videoIcon)?e.opt.videoIcon:e.tmpl.getCSSClass("videoIcon"),l.boolean(e.opt.stickyVideoIcon)&&e.opt.stickyVideoIcon?e.cls.stickyVideoIcon:e.tmpl.getCSSClass("stickyVideoIcon"),l.string(e.opt.insetShadow)?e.opt.insetShadow:e.tmpl.getCSSClass("insetShadow"),l.string(e.opt.filter)?e.opt.filter:e.tmpl.getCSSClass("filter"),l.string(e.opt.hoverColor)?e.opt.hoverColor:e.tmpl.getCSSClass("hoverColor"),l.boolean(e.opt.hoverScale)&&e.opt.hoverScale?e.cls.hoverScale:e.tmpl.getCSSClass("hoverScale"),l.string(e.opt.button)?e.opt.button:"",l.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 s("<div/>").addClass(t.join(" "))},destroy:function(){var i=this,e=i._super.bind(i);return i.isDestroyed?u.resolved:(i.isDestroying=!0,s.Deferred(function(t){var e;i.isLoading&&l.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=s(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.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,r){var s=[];return this.opt.breakpoints.forEach(function(e){var t=e.width<=n,i=e.height<=r;t&&i&&s.push("fg-"+e.name),t&&s.push("fg-"+e.name+"-width"),i&&s.push("fg-"+e.name+"-height")}),s.push(r<n?"fg-landscape":"fg-portrait"),0<s.length?s.join(" "):null},getMedia:function(e){return e instanceof o.Item?this.__media.hasOwnProperty(e.id)?this.__media[e.id]:this.__media[e.id]=o.Panel.media.make(e.type,this,e):null},getItem:function(e){var t=this,i=e;return(i=i instanceof o.Item?i:t.currentItem)instanceof o.Item||(i=t.tmpl.items.first(t.isVisible)),e instanceof o.Item&&!t.isVisible(e)&&((i=t.tmpl.items.next(e,t.isVisible,t.opt.loop))instanceof o.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 o.Item?i===n.currentItem?u.reject("item is currently loaded"):(n.isLoading=!0,n.isLoaded=!1,n.isError=!1,n.__loading=s.Deferred(function(e){var t;n.isCreated&&n.isAttached?(t=n.getMedia(i))instanceof o.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).fail(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()}).fail(function(){n.isError=!0,n.trigger("error",[i])}).promise()):u.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))}),s.when.apply(s,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()?u.reject("default prevented"):i.doOpen(e,t).then(function(){i.trigger("opened",[e,t])})},doOpen:function(t,i){var n=this;return s.Deferred(function(e){t instanceof o.Item?(i=l.empty(i)?"body":i,n.isAttached||n.appendTo(i),n.isAttached?n.load(t).then(e.resolve).fail(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 o.Item?e.trigger("next",[t,i]).isDefaultPrevented()?u.reject("default prevented"):e.doNext(i).then(function(){e.trigger("after-next",[t,i])}):u.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 o.Item?e.trigger("prev",[t,i]).isDefaultPrevented()?u.reject("default prevented"):e.doPrev(i).then(function(){e.trigger("after-prev",[t,i])}):u.reject("no prev item")},doPrev:function(e){return this.load(e)},close:function(e){var t=this;return t.isClosing?s.Deferred().reject():t.trigger("close",[t.currentItem]).isDefaultPrevented()?u.reject("default prevented"):t.doClose(e).then(function(){t.trigger("closed")})},doClose:function(i,e){e=!l.boolean(e)||e;var n=this;return n.isClosing=!0,s.Deferred(function(e){n.content.close(i).then(function(){var t=[];n.areas.forEach(function(e){e!==n.content&&t.push(e.close(i))}),s.when.apply(s,t).then(e.resolve).fail(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,r;9===e.keyCode&&(i=e.data.self,(r=(t=s(e.target)).parents("[role=dialog]")).length&&(i=(r=r.find(i.opt.focusable.include).not(i.opt.focusable.exclude)).first(),r=r.last(),n=e.shiftKey?i:r,r=e.shiftKey?r:i,n.length&&t.is(n)&&(e.preventDefault(),r.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()}}}),o.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},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"},transition:{fade:"fg-panel-fade",horizontal:"fg-panel-horizontal",vertical:"fg-panel-vertical"},area:{elem:"fg-panel-area",inner:"fg-panel-area-inner"},content:{},sideArea:{toggle:"fg-panel-area-toggle",button:"fg-panel-area-button",visible:"fg-panel-area-visible",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"}}})}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.obj,FooGallery.utils.fn,FooGallery.utils.transition),function(e,n,t,r){n.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 n.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 n.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 n.Panel.AutoProgress(this.panel),30),this.register(new n.Panel.Maximize(this.panel),180),this.register(new n.Panel.Fullscreen(this.panel),190),this.register(new n.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 n.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.get(e);this.panel.isSmallScreen&&t&&r.string(i.groupName)&&this.each(function(e){i!==e&&e instanceof n.Panel.SideAreaButton&&i.groupName===e.groupName&&e.area.toggle(!1)}),i.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(){this.each(function(e){e.resize()})}})}(FooGallery.$,FooGallery,(FooGallery.icons,FooGallery.utils),FooGallery.utils.is),function(n,e,i,t,r,s){e.Panel.Button=t.Class.extend({construct:function(e,t,i){this.panel=e,this.name=t,this.opt=s.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),r.string(t.opt.icon)?t.$el.append(i.get(t.opt.icon,t.panel.opt.icons)):r.array(t.opt.icon)?t.opt.icon.forEach(function(e){t.$el.append(i.get(e,t.panel.opt.icons))}):r.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.opt.pressed)),t.isCreated},destroy:function(){return this.isCreated&&(this.$el.off("click.foogallery").remove(),this.isCreated=!1),!this.isCreated},appendTo:function(e){return!this.isCreated&&!this.create()||this.isAttached||this.$el.appendTo(e),this.isAttached},detach:function(){return this.isCreated&&this.isAttached&&this.$el.detach(),!this.isAttached},toggle:function(e){this.isCreated&&(this.isVisible=r.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=r.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(e,n){e.Panel.SideAreaButton=e.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))},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(e,o,r,n,s){o.Panel.Area=r.Class.extend({construct:function(e,t,i,n){this.panel=e,this.name=t,this.opt=s.extend({waitForUnload:!0},i),this.cls=s.extend({elem:this.__cls(e.cls.area.elem,t,!0),inner:this.__cls(e.cls.area.inner,t,!0)},n),this.sel=r.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 o.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(r){var s=this;return r instanceof o.Panel.Media?e.Deferred(function(e){var t,i,n=s.shouldReverseTransition(s.currentMedia,r);s.panel.trigger("area-load",[s,r,n]).isDefaultPrevented()?e.rejectWith("default prevented"):(t=s.currentMedia instanceof o.Panel.Media,i=s.currentMedia,(s.opt.waitForUnload&&t?(s.panel.trigger("area-unload",[s,i]),s.doUnload(i,n).then(function(){s.panel.trigger("area-unloaded",[s,i]),s.currentMedia=r,s.panel.trigger("area-load",[s,r]),s.doLoad(r,n).then(e.resolve).fail(e.reject)})):(t&&(s.panel.trigger("area-unload",[s,i]),s.doUnload(i,n).then(function(){s.panel.trigger("area-unloaded",[s,i])})),s.currentMedia=r,s.panel.trigger("area-load",[s,r]),s.doLoad(r,n).then(e.resolve))).fail(e.reject))}).then(function(){s.panel.trigger("area-loaded",[s,r])}).fail(function(){s.panel.trigger("area-error",[s,r])}).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 o.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 o.Panel.Media&&t instanceof o.Panel.Media)||(i=e.item.index<t.item.index,(n=this.panel.tmpl.items.last(this.panel.isVisible))instanceof o.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(o,t,i,a){t.Panel.Content=t.Panel.Area.extend({construct:function(e){this._super(e,"content",{waitForUnload:!1},e.cls.content),this.robserver=null},doCreate:function(){var e=this;return!!e._super()&&(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 r=this,s=r.panel.cls.states;return o.Deferred(function(e){i.isCreated||i.create(),i.$el.toggleClass(s.reverse,n),i.appendTo(r.$inner);var t=[];r.panel.hasTransition?t.push(a.start(i.$el,function(e){e.addClass(s.visible)},null,350)):i.$el.addClass(s.visible),t.push(i.load()),o.when.apply(o,t).then(e.resolve).fail(e.reject)}).promise()},doUnload:function(i,n){var r=this,s=r.panel.cls.states;return o.Deferred(function(e){var t=[];i.isCreated&&(i.$el.toggleClass(s.reverse,!n),r.panel.hasTransition?t.push(a.start(i.$el,function(e){e.removeClass(s.visible)},null,350)):i.$el.removeClass(s.visible)),t.push(i.unload()),o.when.apply(o,t).then(e.resolve).fail(e.reject)}).always(function(){i.isCreated&&i.$el.removeClass(s.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(e,t,i,n,o){t.Panel.SideArea=t.Panel.Area.extend({construct:function(e,t,i,n){var r=this,s=e.cls.sideArea;r._super(e,t,o.extend({icon:null,label:null,position:null,visible:!0,autoHide:!1,toggle:!!e.opt.buttons[t]},i),o.extend({toggle:this.__cls(s.toggle,t,!0),visible:this.__cls(s.visible,t),position:{top:this.__cls(s.position.top,t),right:this.__cls(s.position.right,t),bottom:this.__cls(s.position.bottom,t),left:this.__cls(s.position.left,t)}},n)),r.isVisible=r.opt.visible,r.allPositionClasses=Object.keys(r.cls.position).map(function(e){return r.cls.position[e]}).join(" "),r.button=r.registerButton()},registerButton:function(){var e=new t.Panel.SideAreaButton(this);return this.panel.buttons.register(e),e},doCreate:function(){return!!this._super()&&(this.opt.toggle&&e("<button/>",{type:"button"}).addClass(this.cls.toggle).append(i.get("circle-close",this.panel.opt.icons)).on("click.foogallery",{self:this},this.onToggleClick).appendTo(this.$inner),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 e instanceof t.Panel.Media},getPosition:function(){return this.isEnabled()?this.cls.position[this.opt.position]:null},setPosition:function(e){this.opt.position=this.cls.position.hasOwnProperty(e)?e:null,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()}})}(FooGallery.$,FooGallery,FooGallery.icons,(FooGallery.utils,FooGallery.utils.is),(FooGallery.utils.fn,FooGallery.utils.obj)),function(e,i,n){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"},e.cls.info),this.allPositionClasses+=" "+this.cls.overlay},doCreate:function(){var e=this;return!(!e.isEnabled()||!e._super())&&(i.string(e.opt.align)&&e.cls.align.hasOwnProperty(e.opt.align)&&e.panel.$el.addClass(e.cls.align[e.opt.align]),!0)},getPosition:function(){var e=this._super();return null!=e&&this.opt.overlay?e+" "+this.cls.overlay:e},setPosition:function(e,t){i.boolean(t)&&(this.opt.overlay=t),this._super(e)},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()),n.resolved},doUnload:function(e,t){return e.caption.unload(),e.caption.detach(),n.resolved}})}((FooGallery.$,FooGallery),FooGallery.utils.is,FooGallery.utils.fn),function(r,s,e,o,i,u,h){s.Panel.Thumbs=s.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=r("<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=r("<div/>").addClass(n.cls.viewport).appendTo(n.$inner),n.$next=r("<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=r("<div/>").addClass(n.cls.stage).appendTo(n.$viewport),n.$dummy=r("<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 s.Panel&&!n.panel.destroying&&!n.panel.destroyed&&(e=o.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(r("<div/>").addClass(t.cls.spacer)))},doCreateThumb:function(e){var t=this,i=t.cls.thumb;return r("<figure/>").addClass(i.elem).addClass(e.getTypeClass()).addClass(t.panel.cls.states.idle).append(r("<div/>").addClass(i.media).append(r("<div/>").addClass(i.overlay),r("<div/>").addClass(i.wrap).append(r("<img/>",{title:e.title,alt:e.alt}).attr({draggable:!1}).addClass(i.image)),r("<div/>").addClass(t.panel.cls.loader)),r("<div/>").addClass(i.caption).append(r("<div/>").addClass(i.title).html(e.caption),r("<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=r(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,o){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),r.Deferred(function(e){var t,i,n,r,s=a.$stage.find(a.sel.thumb.elem).eq(c);0<s.length?(t=c>a.scrollIndex,i=a.__items.length>=a.info.count,r=a.info.isHorizontal?(n=-s.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=-s.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&&!o?h.start(a.$stage,function(e){e.css("transform",r)},null,350).then(function(){e.resolve()}).fail(e.reject):(a.$stage.addClass(l.noTransitions).css("transform",r),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},r={horizontal:0,vertical:0},s={width:0,height:0},o={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()},r={horizontal:Math.floor(t.width/n.width),vertical:Math.floor(t.height/n.height)},s={width:t.width/Math.min(c,r.horizontal),height:t.height/Math.min(c,r.vertical)},a=(this.opt.bestFit?s:n).width,l=(this.opt.bestFit?s:n).height,i={width:e?this.__items.length*a:a,height:e?l:this.__items.length*l},o={width:Math.floor(t.width-r.horizontal*a),height:Math.floor(t.height-r.vertical*l)}),{isHorizontal:e,viewport:t,stage:i,original:n,adjusted:s,remaining:o,counts:r,count:e?r.horizontal:r.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(n,r,e,s,t,o){r.Panel.Media=e.Class.extend({construct:function(e,t){var i=this;i.panel=e,i.item=t,i.opt=o.extend({},e.opt.media),i.cls=o.extend({},e.cls.media),i.sel=o.extend({},e.sel.media),i.il8n=o.extend({},e.il8n.media),i.caption=new r.Panel.Media.Caption(e,i),r.Panel.Media.Product&&(i.product=new r.Panel.Media.Product(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 r={};return s.string(e)&&s.string(t)&&(r[e]=s.size(i)?i:null,r[t]=s.size(n)?n:null,this.item.isCreated&&(r[e]=this.item.$anchor.data(e)||r[e],r[t]=this.item.$anchor.data(t)||r[t])),r},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 o.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&&s.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.$el.removeClass(i.allLoading).addClass(i.loading),t.doLoad().then(e.resolve).fail(e.reject))}).always(function(){t.$el.removeClass(i.loading)}).then(function(){t.$el.addClass(i.loaded),t.panel.trigger("media-loaded",[t])}).fail(function(){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).fail(e.reject):e.rejectWith("not created or attached")}).then(function(){t.panel.trigger("media-unloaded",[t])}).promise()},doUnload:function(){return t.resolved},resize:function(){}}),r.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",hidden:"fg-hidden",disabled:"fg-disabled",loading:"fg-loading"}}}},{panel:{media:{product:{title:"Product Information",addToCart:"Add to Cart",viewProduct:"View Product",success:"Successfully added to cart.",error:"Something went wrong adding to cart."}}}}),r.Panel.media=new r.Factory}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.obj,(FooGallery.utils.str,FooGallery.utils.transition)),function(o,a,l,c,u,e,h){var d=!!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,r,s;e instanceof a.Item&&(t=this,i=!1,e.isCreated?(s=e.$anchor.data()||{},n=u.string(s.lightboxTitle),r=u.string(s.lightboxDescription),(n||r)&&(i=!0,t.title=n?s.lightboxTitle:"",t.description=r?s.lightboxDescription:"")):(s=e.attr.anchor,n=u.string(s["data-lightbox-title"]),r=u.string(s["data-lightbox-description"]),(n||r)&&(i=!0,t.title=n?s["data-lightbox-title"]:"",t.description=r?s["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,r,s=this;return s.$el=o("<div/>").addClass(s.cls.elem),s.hasTitle&&s.$el.append(o("<div/>").addClass(s.cls.title).html(s.title)),s.hasDescription&&s.$el.append(o("<div/>").addClass(s.cls.description).html(s.description)),s.hasExif&&(n=s.media.item.exif,r=o("<div/>",{class:s.cls.exif.elem}).addClass(s.cls.exif[s.opt.exif]),a.supportedExifProperties.forEach(function(e){var t,i;u.empty(n[e])||(i="exif-"+h.kebab(e),t=s.media.item.il8n.exif[e],e=n[e],i=o("<div/>",{class:s.cls.exif.prop}).append(o("<div/>",{class:s.cls.exif.icon}).append(l.get(i,s.opt.icons)),o("<div/>",{class:s.cls.exif.content}).append(o("<div/>",{class:s.cls.exif.label}).text(t),o("<div/>",{class:s.cls.exif.value}).text(e)),o("<span/>",{class:s.cls.exif.tooltip}).text(t+": "+e).append(o("<span/>",{class:s.cls.exif.tooltipPointer}))),d||i.on("click",{self:s},s.onExifClick),r.append(i))}),s.$el.append(r)),!0},onExifClick:function(e){e.preventDefault();var t,e=e.data.self,i=o(this),n=i.find(e.sel.exif.tooltip),r=o(e.sel.exif.showTooltip);o(e.sel.exif.prop).removeClass(e.cls.exif.showTooltip).find(e.sel.exif.tooltip).css("left","").find(e.sel.exif.tooltipPointer).css("left",""),r.is(i)||(n.css("display","inline-block"),t=(r=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)"),r<0&&(r=Math.abs(r),n.css("left","calc(50% + "+r+"px)").find(e.sel.exif.tooltipPointer).css("left","calc(50% - "+r+"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 o.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).fail(e.reject))}).always(function(){t.$el.removeClass(i.loading)}).then(function(){t.$el.addClass(i.loaded),t.panel.trigger("caption-loaded",[t])}).fail(function(){t.$el.addClass(i.loaded),t.panel.trigger("caption-error",[t])}).promise()},doLoad:function(){return e.resolved},unload:function(){var t=this;return o.Deferred(function(e){t.isCreated&&t.isAttached?t.panel.trigger("caption-unload",[t]).isDefaultPrevented()?e.rejectWith("default prevented"):t.doUnload().then(e.resolve).fail(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(e,t,a,i){t.Panel.Image=t.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,r,s,o=this;o.isCreated&&o.panel.opt.fitMedia&&((e=o.$content.get(0)).naturalWidth&&e.naturalHeight&&(t=e.naturalWidth>=e.naturalHeight,i=t,n=o.$el.innerWidth(),r=o.$el.innerHeight(),t?(s=n/e.naturalWidth,e.naturalHeight*s<r&&(i=!1)):(s=r/e.naturalHeight,e.naturalWidth*s<n&&(i=!0)),a.requestFrame(function(){o.$content.removeClass(o.allFullClasses).addClass(i?o.cls.fullWidth:o.cls.fullHeight)})))},doLoad:function(){var i=this;return e.Deferred(function(e){var t=i.$content.get(0);t.onload=function(){t.onload=t.onerror=null,e.resolve(i)},t.onerror=function(){t.onload=t.onerror=null,e.rejectWith("error loading image")},t.src=i.item.href,t.complete&&t.onload()}).then(function(){i.resize()}).promise()}}),t.Panel.media.register("image",t.Panel.Image),t.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.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(n,i,r){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=r.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(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,r,e,s){r.Justified=e.Class.extend({construct:function(e,t){var i=this;i.tmpl=e,i.$el=e.$el,i.options=n.extend(!0,{},r.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 s.string(e)?(i=parseInt(e),isNaN(i)?t:i<=0?1/0:-1!==e.indexOf("%")?t*(i/100):i):s.number(e)?e<=0?1/0:e:t},layout:function(e){var i,n=this;0<(e=s.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 r=this,s=r.options.margins,o=s*(i.items.length-1),e=e-o,a=i.width-o,l=e/a,c=(i.width=a*l,i.height=i.height*l,i.height>t+2*r.borderSize&&(a=(t+2*r.borderSize)/i.height,i.width=i.width*a,i.height=i.height*a),i.top=n,i.left=0,"left"!==r.align&&i.width<e&&("right"===r.align?i.left=e-i.width:i.left=(e-i.width)/2),i.width+=o,i.left);return i.items.forEach(function(e,t){0<t&&(c+=s),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(s){var o=this,a=o.options.margins,e=o.tmpl.getAvailable(),l=[],t=-1;function c(){return{index:++t,visible:!0,width:0,height:o.options.rowHeight+2*o.borderSize,top:0,left:0,items:[]}}var u=c(),h=0,d=0;if(e.forEach(function(e){r=u.height,t=e.width,(i=e.height)!==r&&(i*=n=r/i,t*=n),n=o.maxRowHeight/r;var t,i,n,r={__item:e,elem:e.el,width:t,height:i,maxWidth:t*n,maxHeight:i*n,top:0,left:0};u.width+r.width>s&&0<u.items.length&&(0<l.length&&(h+=a),e=o.justify(u,h,s,o.maxRowHeight),d<e&&(d=e),h+=e,l.push(u),u=c()),0<u.items.length&&(u.width+=a),u.width+=r.width,u.items.push(r)}),0<u.items.length){var i=h+a;switch(o.options.lastRow){case"smart":var n,r,p=o.justify(u,i,s,o.maxRowHeight);0!==d&&d<p&&(n=d/p,r=u.width*n/s,(n<.9||r<.9)&&(p=o.justify(u,i,s,d-2*o.borderSize)));break;case"justify":p=o.justify(u,i,s,99999);break;case"hide":p=o.justify(u,i,s,o.maxRowHeight),u.width<s&&1<l.length&&(u.visible=!1)}u.visible&&(h+=p+a),l.push(u)}return{height:h,rows:l}}}),r.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(n,e,r){e.ImageViewerTemplate=e.Template.extend({construct:function(e,t){var i=this;i._super(r.extend({},e,{paging:{pushOrReplace:"replace",theme:"fg-light",type:"default",size:1,position:"none",scrollToTop:!1}}),t),i.$inner=n(),i.$current=n(),i.$total=n(),i.$prev=n(),i.$next=n(),i.on({"pre-init":i.onPreInit,init:i.onInit,destroy:i.onDestroy,"append-item":i.onAppendItem,"after-page-change":i.onAfterPageChange,"after-filter-change":i.onAfterFilterChange},i)},createChildren:function(){var e=this;return n("<div/>",{class:e.cls.inner}).append(n("<div/>",{class:e.cls.innerContainer}),n("<div/>",{class:e.cls.controls}).append(n("<div/>",{class:e.cls.prev}).append(n("<span/>",{text:e.il8n.prev})),n("<label/>",{class:e.cls.count,text:e.il8n.count}).prepend(n("<span/>",{class:e.cls.countCurrent,text:"0"})).append(n("<span/>",{class:e.cls.countTotal,text:"0"})),n("<div/>",{class:e.cls.next}).append(n("<span/>",{text:e.il8n.next}))))},destroyChildren:function(){this.$el.find(this.sel.inner).remove()},onPreInit:function(e){var t=this;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.$next=t.$el.find(t.sel.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()}}),e.template.register("image-viewer",e.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(e,i){e.ThumbnailTemplate=e.Template.extend({construct:function(e,t){this._super(i.extend({},e,{filtering:{type:"none"},paging:{pushOrReplace:"replace",theme:"fg-light",type:"default",size:1,position:"none",scrollToTop:!1}}),t)}}),e.template.register("thumbnail",e.ThumbnailTemplate,null,{container:"foogallery fg-thumbnail"})}((FooGallery.$,FooGallery),FooGallery.utils.obj),function(n,s,e,l,r,o){s.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=r.extend({},s.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 s.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,r=t-n;let s=1;e.opt.itemWidth>r&&(s=r/e.opt.itemWidth);var r=e.opt.itemWidth*s,o=e.opt.itemHeight*s;return{maxWidth:t,space:n,halfSpace:n/2,itemWidth:r,itemHeight:o,itemOuterWidth:r+i,itemOuterHeight:o+i,blockWidth:r+n,blockHeight:o+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 r=this,s=0,o=1,a=0;return n=l.fn(n)?n:function(){},r.piles.forEach(function(e){var t=s,i=((s+=r.info.blockWidth)>r.info.maxWidth&&0<t&&(t=0,s=r.info.blockWidth,o++),r.info.blockHeight*(o-1));n(e,r.info),e.layoutCollapsed(),e.setPosition(i,t,r.info.blockWidth,r.info.blockHeight),a<s&&(a=s)}),{width:a,height:r.info.blockHeight*o}},setActive:function(t){var i,n=this,e=n.activePile,r=e instanceof s.StackAlbum.Pile;t=t instanceof s.StackAlbum.Pile?t:null,n.activePile=t,n.hasActive=null!==t,r&&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")),o.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)}}),s.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(o,r,e,s,a){r.StackAlbum.Pile=e.Class.extend({construct:function(e,t,i){var n=this;n.album=e,n.$el=s.jq(t)?t:o(t),n.opt=a.extend({},r.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 r.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,r=i.getAngles(n.angleStep),s=n.randomAngle?i.randomAngle(r):n.angleStep;0===i.$cover.length&&0<i.items.length&&(i.$cover=o("<div/>",{class:"fg-pile-cover"}).append(o("<div/>",{class:"fg-pile-cover-content"}).append(o("<span/>",{class:"fg-pile-cover-title",text:i.opt.title}),o("<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(-s):e.setAngle(s),n.randomAngle?s=i.randomAngle(r):s+=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,s.number(i)&&s.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 r=0,s=1,o=!1,a=0;return this.items.forEach(function(e){(r+=n.halfGutter)>n.maxWidth&&(r=n.halfGutter,s++,o=!0,console.log("A"));var t=r,i=(r+=n.itemOuterWidth+n.halfGutter,!o&&r>n.maxWidth&&(t=n.halfGutter,r=n.blockWidth,s++,console.log("B")),n.blockHeight*(s-1)+n.halfGutter);o=!1,e.setPosition(i,t,n.itemOuterWidth,n.itemOuterHeight),e.isLoaded||e.load(),r>a&&(a=r)}),{width:a,height:n.blockHeight*s}},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 r.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)}}),r.StackAlbum.Pile.defaults={index:-1,title:null}}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.obj),function(r,s,e,o,a){s.StackAlbum.Item=e.Class.extend({construct:function(e,t,i){var n=this;n.pile=e,n.$el=o.jq(t)?t:r(t),n.opt=a.extend({},s.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 o.promise(t._loading)?t._loading:t._loading=r.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()}}),s.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,r,e){n.fn.foogalleryStackAlbum=function(e){return this.each(function(e,t){var t=n(t),i=t.data("__FooGalleryAlbum__");i instanceof r.StackAlbum&&i.destroy(),(i=new r.StackAlbum(t)).init(),t.data("__FooGalleryAlbum__",i)})},r.loadStackAlbums=r.reloadStackAlbums=function(){n(function(){n(".foogallery-stack-album:not(.fg-ready)").foogalleryStackAlbum()}),e.ready(function(){n(".foogallery-stack-album.fg-ready").foogalleryStackAlbum()})},r.loadStackAlbums()}(FooGallery.$,FooGallery,FooGallery.utils),function(u,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"))}}),u.Carousel=s.Class.extend({construct:function(e,t,i,n){var r=this;r.tmpl=e,r.el=e.el,r.opt=t,r.cls=i,r.sel=n,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._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"))},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),0===t&&n.classList.add(i.cls.activeBullet),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,r=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)>r&&(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 u.Item?e:this.activeItem,null,!0)},getPrev:function(e){return this.tmpl.items.prev(e instanceof u.Item?e:this.activeItem,null,!0)},goto:function(e,t){const i=this;if(e instanceof u.Item){const n=i.opt.autoplay,r=!i._canHover&&i.timeouts.has("autoplay"),s=(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),s&&i._progress.pause(),r&&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 t,i,n=this;return n.cache.has("layout")&&n.cache.get("width")===e?n.cache.get("layout"):(i=n.getSize(n.elem.center).width,t=n.getSize(n.elem.inner,!0).width/2+i/2,i=n.calculate(i,t),n.cache.set("width",e),n.cache.set("layout",i),i)},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(t,i,n,r){var s=this;p.number(n)||(n=s.opt.gutter.max);const o={zIndex:(r=p.number(r)?r:s.getShowPerSide())+10,gutter:n,perSide:r,side:[]};let a=t,l=o.zIndex-1;for(let e=0;e<r;e++,l--){var c=s.getSequentialZFromScale(e,s.opt.scale,s.opt.perspective),u=s.scaleToZ(t,c,s.opt.perspective),h=(t-u)/2,d=(a-=h,"%"===s.opt.gutter.unit?t*Math.abs(n/100):Math.abs(n)),d="%"===s.opt.gutter.unit?s.scaleToZ(d,c,s.opt.perspective):d;if(0<n?a+=d:a-=d,a+u+h>i)return n-1<s.opt.gutter.min?s.calculate(t,i,s.opt.gutter.max,r-1):s.calculate(t,i,n-1,r);d=s.getVectorX(a,c,s.opt.perspective);a+=u+h,o.side.push({x:d,z:c,zIndex:l})}return o},cleanup:function(e,t,i){const n=this,r=p.string(i);Array.from(n.el.querySelectorAll(e)).forEach(function(e){e.classList.remove(t),n.opt.centerOnClick&&n._centerListeners.remove(e,"click"),r&&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 u.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.opt.speed+"ms"),t.style.setProperty("z-index",e.zIndex),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),t===n&&e.classList.add(i.cls.activeBullet)}),!0},renderSide:function(i,e,n,r,s){const o=this;if(-1!==["left","right"].indexOf(i)){o.cleanup(e,r,n);let t=o.activeItem;for(let e=0;e<s.side.length;e++){var a=s.side[e];const c="left"===i?o.getPrev(t):o.getNext(t);if(!(c instanceof u.Item))break;var l="translate3d("+("left"===i&&!o.isRTL||"right"===i&&o.isRTL?"-":"")+a.x+"px, 0,-"+a.z+"px)";c.el.classList.add(r),c.isLoaded||(c.el.style.setProperty("transition-duration","0ms"),c.el.style.setProperty("transform","translate3d(0,0,-"+o.opt.perspective+"px)"),c.el.offsetHeight),c.el.style.setProperty("transition-duration",(o._firstLayout?0:o.opt.speed)+"ms"),c.el.style.setProperty("transform",l),c.el.style.setProperty("z-index",a.zIndex),o.opt.centerOnClick&&o._centerListeners.add(c.el,"click",function(e){e.preventDefault(),e.stopPropagation(),o.interacted=!0,o.goto(c)},!0),t=c}}}})}((FooGallery.$,FooGallery),FooGallery.icons,FooGallery.utils,FooGallery.utils.is),function(n,r){n.CarouselTemplate=n.Template.extend({construct:function(e,t){var i=this;i._super(r.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)},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,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"}})}((FooGallery.$,FooGallery),FooGallery.utils.obj),function(s,o,i,n,r){o.__foobox__={owns:function(e){return 0<e.parents(".fbx-item").length},handles:function(e){return e.$el.hasClass("fbx-instance")&&r.object(window.FOOBOX)&&!!s.fn.foobox},update:function(e){const t=[{}];r.object(window.FOOBOX.o)&&t.push(window.FOOBOX.o),e.opt.protected&&t.push({images:{noRightClick:!0}}),r.fn(e.$el.foobox)&&e.$el.foobox(n.extend.apply(null,t))}},o.triggerPostLoad=function(e,t,i,n){var r=e.target;if(r instanceof o.Template&&r.initialized&&("ready"===e.type||"after-page-change"===e.type&&!n||"after-filter-change"===e.type))try{o.__foobox__.owns(r.$el)||(o.__foobox__.handles(r)?o.__foobox__.update(r):s("body").trigger("post-load"))}catch(e){console.error(e)}},o.autoDefaults={on:{"ready after-page-change after-filter-change":o.triggerPostLoad}},o.autoEnabled=!0,o.auto=function(e){return o.autoDefaults=n.merge(o.autoDefaults,e)},o.globalsMerged=!1,o.mergeGlobals=function(){!0!==o.globalsMerged&&r.object(window.FooGallery_il8n)&&(o.merge_il8n(window.FooGallery_il8n),o.globalsMerged=!0)},o.merge_il8n=function(n){r.object(n)&&Object.keys(n).forEach(e=>{if(r.object(n[e])&&o[e]instanceof o.Factory){const t=o[e],i=n[e];Object.keys(i).forEach(e=>{r.object(i[e])&&t.configure(e,null,null,i[e])})}})},o.load=o.reload=function(){let e=!1,t=!1;s(function(){o.mergeGlobals(),o.autoEnabled&&s('[id^="foogallery-gallery-"]:not(.fg-ready)').foogallery(o.autoDefaults),(e=!0)&&t&&document.dispatchEvent(new CustomEvent("foogallery-loaded",{detail:o}))}),i.ready(function(){o.mergeGlobals(),o.autoEnabled&&s('[id^="foogallery-gallery-"].fg-ready').foogallery(o.autoDefaults),t=!0,e&&t&&document.dispatchEvent(new CustomEvent("foogallery-loaded",{detail:o}))})},document.dispatchEvent(new CustomEvent("foogallery-ready",{detail:o})),o.load()}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.obj,FooGallery.utils.is);