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,s,r,o;u.object(e)&&u.string(t)&&!u.empty(t)&&u.fn(i)&&(n=e[t],s=u.fn(n)&&c.fn.CONTAINS_SUPER.test(a.call(i)),e[t]=s?(r=n,o=i,function(){var e=this._super,t=(this._super=r,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 s;return function(){var e=this,t=c.fn.arg2arr(arguments);clearTimeout(s),s=setTimeout(function(){i.apply(e,t)},n)}},c.fn.throttle=function(i,n){var s,r;return function(){var e=this,t=c.fn.arg2arr(arguments);s?(clearTimeout(r),r=setTimeout(function(){Date.now()-s>=n&&(i.apply(e,t),s=Date.now())},n-(Date.now()-s))):(i.apply(e,t),s=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(),s=c.fn.arg2arr(arguments);return s.shift(),n.rejectWith(e,s).promise()},c.fn.resolveWith=function(e,t,i){var n=l.Deferred(),s=c.fn.arg2arr(arguments);return s.shift(),n.resolveWith(e,s).promise()},c.fn.all=function(t){var i=l.Deferred(),n=[];if(u.array(t)&&0<t.length){function s(e,t){o||(n[e]=0===t.length?void 0:1===t.length?t[0]:t,--r||i.resolve(n))}for(var r=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(){s(e,c.fn.arg2arr(arguments))},function(){o||(o=!0,i.reject.apply(i,c.fn.arg2arr(arguments)))}):s(e,[t[e]])}();a++);}else i.resolve(n);return i.promise()},c.fn.allSettled=function(t){var n=l.Deferred(),s=[];if(u.array(t)&&0<t.length){function i(e,t,i){s[e]={status:t},0<i.length&&(s[e]["rejected"===t?"reason":"value"]=1===i.length?i[0]:i),--r||n.resolve(s)}for(var r=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(s);return n.promise()})}(FooGallery.utils.$,FooGallery.utils,FooGallery.utils.is),function(e,r){var s;"1.0.0"===e.version&&(e.url={},s=document.createElement("a"),e.url.parts=function(e){s.href=e;var e=s.port||(-1!==["http:","https:"].indexOf(s.protocol)?"https:"===s.protocol?"443":"80":""),t=s.hostname+(e?":"+e:""),i=s.origin||s.protocol+"//"+t,n="/"===s.pathname.slice(0,1)?s.pathname:"/"+s.pathname;return{hash:s.hash,host:t,hostname:s.hostname,href:s.href,origin:i,pathname:n,port:e,protocol:s.protocol,search:s.search}},e.url.full=function(e){return!r.string(e)||r.empty(e)?null:(s.href=e,s.href)},e.url.param=function(e,t,i){var n,s;return r.string(e)&&r.string(t)&&!r.empty(t)?r.undef(i)?(s=((n=new RegExp("[?|&]"+t+"=([^&;]+?)(&|#|;|$)")).exec(e)||["",""])[1].replace(/\+/g,"%20"),r.string(s)&&!r.empty(s)?decodeURIComponent(s):null):(r.empty(i)?(n=new RegExp("^([^#]*?)(([^#]*)&)?"+t+"(=[^&#]*)?(&|#|$)"),s=e.replace(n,"$1$3$5").replace(/^([^#]*)((\?)&|\?(#|$))/,"$1$3$4")):(n=new RegExp("([?&])"+t+"[^&]*"),t=t+"="+encodeURIComponent(i),(s=e.replace(n,"$1"+t))!==e||n.test(s)||(s+=(-1!==s.indexOf("?")?"&":"?")+t)),s):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/),s=0,r=n.length;s<r;s++)if(i?n[s].toUpperCase()===t.toUpperCase():n[s]===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 s=n.shift(),r=0,o=n.length;r<o;r++)t=n[r],l.empty(t)||(a.str.endsWith(s,e)&&(s=s.slice(0,s.length-e.length)),s+=e+(t=a.str.startsWith(t,e)?t.slice(e.length):t));return s},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,s,r){"1.0.0"===a.version&&(a.obj={},a.obj.create=function(e){if(l.object(e))return t.prototype=e,new t;throw TypeError("Argument must be an object");function t(){}},a.obj.extend=function(t,e,i){t=l.object(t)?t:{};var n=s.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 s,r,o;if(l.hash(n)&&l.hash(i))for(s in i=l.hash(i)?i:{},e=l.hash(e)?e:{},i)i.hasOwnProperty(s)&&l.fn(i[s])&&(r=l.array(e[s])?e[s]:l.string(e[s])?[e[s]]:[s],a.each(r,function(e){return o=a.obj.prop(n,e),!l.undef(o)&&i[s](o)?(a.obj.prop(t,s,o),!1):void 0}));return t},a.obj.prop=function(i,e,n){var t,s;if(l.object(i)&&!l.empty(e))return l.undef(n)?(r.contains(e,".")?(t=e.split("."),s=t.length-1,a.each(t,function(e,t){if(t===s)n=i[e];else{if(!l.hash(i[e]))return!1;i=i[e]}})):l.undef(i[e])||(n=i[e]),n):void(r.contains(e,".")?(t=e.split("."),s=t.length-1,a.each(t,function(e,t){t===s?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,s,o){"1.0.0"===s.version&&(s.ready=function(e){function t(){try{e.call(window,s.$)}catch(e){console.error(e)}}(Function("/*@cc_on return true@*/")()?"complete"===document.readyState:"loading"!==document.readyState)?t():document.addEventListener("DOMContentLoaded",t,!1)},s.find=function(e,t,i){if(o.fn(t))if(i=o.undef(i)?t:i,o.array(e)){for(s=0,r=e.length;s<r;s++)if(t.call(i,e[s],s,e))return e[s]}else if(o.object(e))for(var n=Object.keys(e),s=0,r=n.length;s<r;s++)if(t.call(i,e[n[s]],n[s],e))return e[n[s]]},s.each=function(e,t,i){if(o.fn(t))if(i=o.undef(i)?t:i,o.array(e))for(s=0,r=e.length;s<r&&!1!==t.call(i,e[s],s,e);s++);else if(o.object(e))for(var n=Object.keys(e),s=0,r=n.length;s<r&&!1!==t.call(i,e[n[s]],n[s],e);s++);},s.inArray=function(e,t){return o.array(t)?t.indexOf(e):-1},s.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=s.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},s.requestFrame=(window.requestAnimationFrame||window.webkitRequestAnimationFrame||function(e){return setTimeout(e,1e3/60)}).bind(window),s.cancelFrame=(window.cancelAnimationFrame||window.webkitCancelAnimationFrame||function(e){clearTimeout(e)}).bind(window),s.nextFrame=function(e,i){return t.Deferred(function(t){o.fn(e)?(i=o.undef(i)?e:i,s.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(s,r,o,a){"1.0.0"===s.version&&(s.Class=function(){},s.Class.extend=function(e){e=r.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(!r.fn(this.construct))throw new SyntaxError('FooGallery.utils.Class objects must be constructed with the "new" keyword.');this.construct.apply(this,arguments)}return i.construct=r.fn(i.construct)?i.construct:function(){},(n.prototype=i).constructor=r.fn(i.__ctor__)?i.__ctor__:n,n.extend=s.Class.extend,n.override=s.Class.override,n.getBaseClasses=s.Class.getBaseClasses,n.__baseClass__=this,n},s.Class.override=function(e,t){a.addOrOverride(this.prototype,e,t)},s.Class.__baseClass__=null,s.Class.getBaseClasses=function(){return function e(t,i){return r.array(i)||(i=[]),r.fn(t)&&null!==t.__baseClass__?(i.unshift(t.__baseClass__),e(t.__baseClass__,i)):i}(this,[])})}((FooGallery.utils.$,FooGallery.utils),FooGallery.utils.is,FooGallery.utils.obj,FooGallery.utils.fn),function(e,a,l,s){e.ClassRegistry=e.Class.extend({construct:function(e){this.opt=s.extend({allowBase:!0,beforeCreate:null},e),this.registered={}},register:function(e,t,i,n){var s;return!(!a.string(e)||a.empty(e)||!a.fn(t))&&(n=a.number(n)?n:0,s=this.registered[e],this.registered[e]={name:e,ctor:t,config:a.hash(i)?i:{},priority:a.undef(s)?n:s.priority},!0)},each:function(e,t,i){t=!!a.boolean(t)&&t,i=a.undef(i)?e:i;for(var n=this,s=Object.keys(n.registered).map(function(e){return n.registered[e]}),r=(t&&s.sort(function(e,t){return t.priority-e.priority}),0),o=s.length;r<o&&!1!==e.call(i,s[r],r);r++);},find:function(e,t,i){t=!!a.boolean(t)&&t,i=a.undef(i)?e:i;for(var n=this,s=Object.keys(n.registered).map(function(e){return n.registered[e]}),r=(t&&s.sort(function(e,t){return t.priority-e.priority}),0),o=s.length;r<o;r++)if(e.call(i,s[r],r))return s[r];return null},create:function(e,t,i){var n=this,s=l.arg2arr(arguments);if(e=s.shift(),a.string(e)&&n.registered.hasOwnProperty(e)){var r=n.registered[e],o=!0;if((o=r.priority<0&&!n.opt.allowBase?!1:o)&&a.fn(r.ctor))return t=s.shift(),t=n.mergeConfigurations(r.name,t),s.unshift.apply(s,[r.name,t]),l.apply(r.ctor,n.onBeforeCreate(r,s))}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),s.extend.apply(s,n)):{}},getBaseClass:function(){return this.find(function(e){return e.priority<0},!0)},getBaseClasses:function(e){var t=this,e=t.registered[e],i=[];return a.undef(e)||e.ctor.getBaseClasses().forEach(function(e){e=t.fromType(e);a.hash(e)&&i.push(e)}),i},fromType:function(t){if(a.fn(t))return this.find(function(e){return e.ctor===t})}})}((FooGallery.utils.$,FooGallery.utils),FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.obj),function(r,o,i){"1.0.0"===r.version&&(r.Event=r.Class.extend({construct:function(e){if(o.empty(e))throw new SyntaxError("FooGallery.utils.Event objects must be supplied a `type`.");e=r.Event.parse(e);this.type=e.type,this.namespace=e.namespace,this.defaultPrevented=!1,this.target=null},preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return this.defaultPrevented}}),r.Event.parse=function(e){e=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}},r.EventClass=r.Class.extend({construct:function(){this.events={}},destroy:function(){this.events={}},on:function(i,t,n){var s=this;return o.object(i)?(n=t,Object.keys(i).forEach(function(t){o.fn(i[t])&&t.split(" ").forEach(function(e){s.addListener(e,i[t],n)})})):o.string(i)&&o.fn(t)&&i.split(" ").forEach(function(e){s.addListener(e,t,n)}),s},addListener:function(e,t,i){var n,s;return!(!o.string(e)||/\s/.test(e)||!o.fn(t))&&(n=this,s=r.Event.parse(e),i=o.undef(i)?n:i,o.array(n.events[s.type])||(n.events[s.type]=[]),!n.events[s.type].some(function(e){return e.namespace===s.namespace&&e.fn===t&&e.thisArg===i})&&(n.events[s.type].push({namespace:s.namespace,fn:t,thisArg:i}),!0))},off:function(i,t,n){var s=this;return o.object(i)?(n=t,Object.keys(i).forEach(function(t){t.split(" ").forEach(function(e){s.removeListener(e,i[t],n)})})):o.string(i)&&i.split(" ").forEach(function(e){s.removeListener(e,t,n)}),s},removeListener:function(e,t,i){var n,s;return!(!o.string(e)||/\s/.test(e))&&(n=this,s=r.Event.parse(e),e=[],i=o.undef(i)?n:i,o.empty(s.type)?o.empty(s.namespace)||e.push.apply(e,Object.keys(n.events)):e.push(s.type),e.forEach(function(e){o.array(n.events[e])&&(n.events[e]=n.events[e].filter(function(e){return null!=t?!(e.namespace===s.namespace&&e.fn===t&&e.thisArg===i):null!=s.namespace&&e.namespace!==s.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 r.Event?(n.push(e),i.emit(e,t)):o.string(e)&&e.split(" ").forEach(function(e){e=new r.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.trigger("pause",e.__eventArgs())),e.__remaining},resume:function(){var e=this;e.canResume&&(e.isRunning=!0,e.isPaused=!1,e.trigger("resume",e.__eventArgs()),e.__tick())},reset:function(){this.__reset(),this.trigger("reset",this.__eventArgs())}}))}((FooGallery.utils.$,FooGallery.utils),FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.obj),function(r,e,t){"1.0.0"===e.version&&(e.FullscreenAPI=e.EventClass.extend({construct:function(){this._super(),this.apis={w3:{enabled:"fullscreenEnabled",element:"fullscreenElement",request:"requestFullscreen",exit:"exitFullscreen",events:{change:"fullscreenchange",error:"fullscreenerror"}},webkit:{enabled:"webkitFullscreenEnabled",element:"webkitCurrentFullScreenElement",request:"webkitRequestFullscreen",exit:"webkitExitFullscreen",events:{change:"webkitfullscreenchange",error:"webkitfullscreenerror"}},moz:{enabled:"mozFullScreenEnabled",element:"mozFullScreenElement",request:"mozRequestFullScreen",exit:"mozCancelFullScreen",events:{change:"mozfullscreenchange",error:"mozfullscreenerror"}},ms:{enabled:"msFullscreenEnabled",element:"msFullscreenElement",request:"msRequestFullscreen",exit:"msExitFullscreen",events:{change:"MSFullscreenChange",error:"MSFullscreenError"}}},this.api=this.getAPI(),this.supported=null!=this.api,this.__listen()},destroy:function(){return this.__stopListening(),this._super()},getAPI:function(){for(var e in this.apis)if(this.apis.hasOwnProperty(e)&&this.apis[e].enabled in document)return this.apis[e];return null},element:function(){return this.supported?document[this.api.element]:null},request:function(e){return this.supported&&e[this.api.request]?e[this.api.request]()||r.Deferred(this.__resolver(this.api.request)).promise():t.rejected},exit:function(){return this.supported&&this.element()?document[this.api.exit]()||r.Deferred(this.__resolver(this.api.exit)).promise():t.rejected},toggle:function(e){return this.element()?this.exit():this.request(e)},__listen:function(){var e=this;e.supported&&r(document).on(e.api.events.change+".utils",function(){e.trigger("change")}).on(e.api.events.error+".utils",function(){e.trigger("error")})},__stopListening:function(){this.supported&&r(document).off(this.api.events.change+".utils").off(this.api.events.error+".utils")},__resolver:function(n){var s=this;return function(e){function t(){e.resolve(),r(document).off(s.api.events.change,t).off(s.api.events.error,i)}function i(){e.reject(new TypeError),r(document).off(s.api.events.change,t).off(s.api.events.error,i)}n===s.api.exit&&s.element()?setTimeout(function(){e.reject(new TypeError)},1):r(document).on(s.api.events.change,t).on(s.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,s,e=u.jq(e)?e:l(e);0<e.length&&u.fn(t)&&(i=e.get(0),s=null,(n=u.string(c.transition.disableClassName))?e.addClass(c.transition.disableClassName):(s={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(s.value)&&0<s.value.length&&i.style.setProperty("transition",s.value,s.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,s=t,r=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===r:i)&&s.apply(s,a.arg2arr(arguments))}},c.transition.start=function(e,i,n,s){var r,o=l.Deferred(),a=u.jq(e)?e:l(e);return 0<a.length&&u.fn(i)?(r=a.get(0),c.transition.stop(a).always(function(){var t=c.transition.createListener(r,function(){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(s)?s: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(r,o,t,a,n,e){o.DATA_TEMPLATE="__FooGallery__",o.DATA_ITEM="__FooGalleryItem__",o.get=function(e){return r(e).data(o.DATA_TEMPLATE)},o.init=function(t,i){if(0<(i=a.jq(i)?i:r(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},r.fn.foogallery=function(n,s){return s=a.fn(s)?s:r.noop,this.each(function(e,t){if(a.string(n)){var i=r.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(s)})};var i=globalThis?.FooGallery_mobileSize??"782px",s=(o.isMobile=!(!globalThis.matchMedia||!globalThis.matchMedia(`(max-width: ${i})`).matches),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])}))},e.trimTo=function(e,t,i){return a.string(e)&&a.number(t)&&0<t&&e.length>t?e.substr(0,t)+(a.string(i)?i:"&hellip;"):e},t.getResizeObserverSize=function(e){var t,e=e.contentBoxSize?(e.contentBoxSize[0]?(t=e.contentBoxSize[0].inlineSize,e.contentBoxSize[0]):(t=e.contentBoxSize.inlineSize,e.contentBoxSize)).blockSize:(t=e.contentRect.width,e.contentRect.height);return{width:t,height:e}},o.supportsWebP=!1,new Image);s.onload=function(){o.supportsWebP=0<s.width&&0<s.height},s.onerror=function(){o.supportsWebP=!1},s.src="data:image/webp;base64,UklGRhoAAABXRUJQVlA4TA0AAAAvAAAAEAcQERGIiP4HAA==",o.supportsPicture=!!window.HTMLPictureElement,t.DOMEventListeners=t.Class.extend({construct:function(){this.eventTargets=new Map},add:function(e,t,i,n){e.addEventListener(t,i,n);let s=this.eventTargets.get(e);return s||(s=new Map,this.eventTargets.set(e,s)),!s.get(t)&&(s.set(t,{listener:i,options:n}),!0)},remove:function(e,t){let i=this.eventTargets.get(e);var n;!i||(n=i.get(t))&&(e.removeEventListener(t,n.listener,n.options),i.delete(t),0===i.size&&this.eventTargets.delete(e))},clear:function(){this.eventTargets.forEach(function(e,i){e.forEach(function(e,t){i.removeEventListener(t,e.listener,e.options)})}),this.eventTargets.clear()}}),t.Timeouts=t.Class.extend({construct:function(){this.instances=new Map},has:function(e){return this.instances.has(e)},get:function(e){return this.instances.get(e)},set:function(e,t,i){const n=this;n.delete(e);i={id:setTimeout(function(){n.instances.delete(e),t.call(n)},i),delay:i,fn:t};return this.instances.set(e,i),n},delete:function(e){var t;return!!this.instances.has(e)&&(t=this.instances.get(e),clearTimeout(t.id),this.instances.delete(e))},clear:function(){this.instances.forEach(function(e){clearTimeout(e.id)}),this.instances.clear()}}),o.isCrossOrigin=function(e){e=t.url.parts(e);return null!==e&&e.origin!==window.location.origin},o.generateGUID=()=>window.crypto&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)});const l=new DOMParser;o.decodeHTMLEntities=t=>{let e="";try{e=l.parseFromString(t,"text/html").documentElement.textContent}catch(e){console.error(`Error decoding HTMLEntities in string "${t}".`,e)}return e},o.downloadImage=function(e,i="image"){return fetch(e).then(function(e){if(e.ok)return e.blob();throw new Error(`Failed to fetch image: ${e.status} `+e.statusText)}).then(function(e){e=window.URL.createObjectURL(e);try{const t=document.createElement("a");t.href=e,t.download=i,document.body.appendChild(t),t.click(),t.remove()}finally{window.URL.revokeObjectURL(e)}})}}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.str),function(e){const n=new globalThis.Set(["accesskey","autocapitalize","autofocus","class","contenteditable","data-","dir","draggable","enterkeyhint","exportparts","hidden","id","inert","inputmode","is","itemid","itemprop","itemref","itemscope","itemtype","lang","nonce","part","popover","role","slot","spellcheck","style","tabindex","title","translate"]),s=new globalThis.Map([["html",["xmlns"]],["base",["href","target"]],["head",[]],["link",["as","crossorigin","disabled","fetchpriority","href","hreflang","imagesizes","imagesrcset","integrity","media","referrerpolicy","rel","sizes","type"]],["meta",["charset","content","http-equiv","name"]],["style",["media"]],["title",[]],["body",["onafterprint","onbeforeprint","onbeforeunload","onblur","onerror","onfocus","onhashchange","onlanguagechange","onload","onmessage","onoffline","ononline","onpopstate","onresize","onstorage","onunload"]],["address",[]],["article",[]],["aside",[]],["footer",[]],["header",[]],["h1",[]],["h2",[]],["h3",[]],["h4",[]],["h5",[]],["h6",[]],["hgroup",[]],["main",[]],["nav",[]],["section",[]],["search",[]],["blockquote",["cite"]],["dd",[]],["div",[]],["dl",[]],["dt",[]],["figcaption",[]],["figure",[]],["hr",[]],["li",["value"]],["menu",[]],["ol",["reversed","start","type"]],["p",[]],["pre",[]],["ul",[]],["a",["download","href","hreflang","ping","referrerpolicy","rel","target","type"]],["abbr",[]],["b",[]],["bdi",[]],["bdo",[]],["br",[]],["cite",[]],["code",[]],["data",["value"]],["dfn",[]],["em",[]],["i",[]],["kbd",[]],["mark",[]],["q",["cite"]],["rp",[]],["rt",[]],["ruby",[]],["s",[]],["samp",[]],["small",[]],["span",[]],["strong",[]],["sub",[]],["sup",[]],["time",["datetime"]],["u",[]],["var",[]],["wbr",[]],["area",["alt","coords","download","href","ping","referrerpolicy","rel","shape","target"]],["audio",["autoplay","controls","controlslist","crossorigin","disableremoteplayback","loop","muted","preload","src"]],["img",["alt","crossorigin","decoding","elementtiming","fetchpriority","height","ismap","loading","referrerpolicy","sizes","src","srcset","usemap","width"]],["map",["name"]],["track",["default","kind","label","src","srclang"]],["video",["autoplay","controls","controlslist","crossorigin","disablepictureinpicture","disableremoteplayback","height","loop","muted","playsinline","poster","preload","src","width"]],["embed",["height","src","type","width"]],["iframe",["allow","allowfullscreen","height","loading","name","referrerpolicy","sandbox","src","srcdoc","width"]],["object",["data","form","height","name","type","width"]],["picture",[]],["portal",["referrerpolicy","src"]],["source",["height","media","sizes","src","srcset","type","width"]],["svg",["height","preserveaspectratio","viewbox","width","x","y"]],["canvas",["height","width"]],["noscript",[]],["script",["async","crossorigin","defer","fetchpriority","integrity","nomodule","referrerpolicy","src","type"]],["del",["cite","datetime"]],["ins",["cite","datetime"]],["caption",[]],["col",["span"]],["colgroup",["span"]],["table",[]],["tbody",[]],["td",["colspan","headers","rowspan"]],["tfoot",[]],["th",["abbr","colspan","headers","rowspan","scope"]],["thead",[]],["tr",[]],["button",["disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","popovertarget","popovertargetaction","type","value"]],["datalist",[]],["fieldset",["disabled","form","name"]],["form",["accept-charset","autocomplete","name","rel"]],["input",[]],["label",["for"]],["legend",[]],["meter",["form","high","low","max","min","optimum","value"]],["optgroup",["disabled","label"]],["option",["disabled","label","selected","value"]],["output",["for","form","name"]],["progress",["max","value"]],["select",["autocomplete","disabled","form","multiple","name","required","size"]],["textarea",["autocomplete","cols","dirname","disabled","form","maxlength","minlength","name","placeholder","readonly","required","rows","wrap"]],["details",["name","open"]],["dialog",["open"]],["summary",[]],["slot",["name"]],["template",["shadowrootclonable","shadowrootdelegatesfocus","shadowrootmode"]]]),r=new globalThis.Set(["code","codebase","src","href","formaction","ping","cite","action","background","poster","profile","manifest","data"]),o=(["script","embed","object"].forEach(e=>s.delete(e)),e=>(e instanceof globalThis.Node?e.nodeName:"string"==typeof e?e:"").toLowerCase()),a=/^(?!javascript|vbscript|livescript|mocha)(?:[a-z0-9+.-]+:[^<>]*$|[^&:\/?#]*(?:[\/?#]|$))/i,t=/@import|expression|behaviou?r|binding|(?:javascript|vbscript|livescript|mocha):|[\x00-\x08\x0E-\x1F\x7F-\uFFFF]|\/\*.*?\*\/|<--.*?-->/i,l=e=>!t.test(e.replace(/\s+/g," ")),i=/^[a-z](?:[\x2D.0-9_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*$/,c=/^[a-z](?:[.0-9_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*-(?:[\x2D.0-9_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*$/,u=e=>c.test(o(e)),h=e=>u(e?.ownerElement)&&(e=>i.test(o(e)))(e),d=e=>{const t=o(e);var i;return!t.startsWith("on")&&(!(!t.startsWith("aria-")&&!t.startsWith("data-"))||(n.has(t)||(e=>{if(e instanceof globalThis.Attr){var t=o(e.ownerElement);if(s.has(t))return s.get(t).includes(e.name)}return!1})(e)?r.has(t)?(i=e.value,a.test(i)):"style"!==t||l(e.value):h(e)))},p=e=>{if(e instanceof globalThis.Element){var t=o(e);if(s.has(t)||u(e)){for(const i of e.attributes)if(!d(i))return!1;return"style"===t?l(e.textContent):!0}}return!1},f=(e,t=!1)=>{const i=[];for(const s of e){var n=((e,t=!1)=>{if(e instanceof globalThis.Element){if(p(e)){const i=e.cloneNode(!1);return t&&e.hasChildNodes()&&i.append(...f(e.childNodes,t)),i}throw new TypeError("UNSAFE_NODE")}return e instanceof globalThis.Text?e.cloneNode():null})(s,t);n instanceof globalThis.Node&&i.push(n)}return i};let g;e.safeParse=e=>{if("string"==typeof e)try{const t=(g instanceof globalThis.DOMParser?g:g=new globalThis.DOMParser).parseFromString(e,"text/html");if(t.body.hasChildNodes())return f(t.body.childNodes,!0).map(e=>1===e.nodeType?e.outerHTML:3===e.nodeType?e.nodeValue:"").join("")}catch(e){"UNSAFE_NODE"!==e.message&&console.error("FooGallery.safeParse: Unexpected Error",e)}return""}}(window.FooGallery),function(r,e,t,a,l){e.Icons=t.Class.extend({construct:function(){this.className="fg-icon",this.registered={default:{close:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M13.957 3.457l-1.414-1.414-4.543 4.543-4.543-4.543-1.414 1.414 4.543 4.543-4.543 4.543 1.414 1.414 4.543-4.543 4.543 4.543 1.414-1.414-4.543-4.543z"></path></svg>',"arrow-left":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M10.5 16l1.5-1.5-6.5-6.5 6.5-6.5-1.5-1.5-8 8 8 8z"></path></svg>',"arrow-right":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M5.5 0l-1.5 1.5 6.5 6.5-6.5 6.5 1.5 1.5 8-8-8-8z"></path></svg>',"arrow-down":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M3.5 6l4.5 4.5 4.5-4.5h-9z"></path></svg>',maximize:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M2 2v4h-2v-5c0-0.552 0.448-1 1-1h14c0.552 0 1 0.448 1 1v14c0 0.552-0.448 1-1 1h-14c-0.552 0-1-0.448-1-1v-9h9c0.552 0 1 0.448 1 1v7h4v-12h-12z"/></svg>',expand:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M2 5h-2v-4c0-0.552 0.448-1 1-1h4v2h-3v3z"></path><path d="M16 5h-2v-3h-3v-2h4c0.552 0 1 0.448 1 1v4z"></path><path d="M15 16h-4v-2h3v-3h2v4c0 0.552-0.448 1-1 1z"></path><path d="M5 16h-4c-0.552 0-1-0.448-1-1v-4h2v3h3v2z"></path></svg>',shrink:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M3 0h2v4c0 0.552-0.448 1-1 1h-4v-2h3v-3z"></path><path d="M11 0h2v3h3v2h-4c-0.552 0-1-0.448-1-1v-4z"></path><path d="M12 11h4v2h-3v3h-2v-4c0-0.552 0.448-1 1-1z"></path><path d="M0 11h4c0.552 0 1 0.448 1 1v4h-2v-3h-3v-2z"></path></svg>',info:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M7 4.75c0-0.412 0.338-0.75 0.75-0.75h0.5c0.412 0 0.75 0.338 0.75 0.75v0.5c0 0.412-0.338 0.75-0.75 0.75h-0.5c-0.412 0-0.75-0.338-0.75-0.75v-0.5z"></path><path d="M10 12h-4v-1h1v-3h-1v-1h3v4h1z"></path><path d="M8 0c-4.418 0-8 3.582-8 8s3.582 8 8 8 8-3.582 8-8-3.582-8-8-8zM8 14.5c-3.59 0-6.5-2.91-6.5-6.5s2.91-6.5 6.5-6.5 6.5 2.91 6.5 6.5-2.91 6.5-6.5 6.5z"></path></svg>',comment:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M3 4h10v1h-10zM3 6h8v1h-8zM3 8h4v1h-4zM14.5 1h-13c-0.825 0-1.5 0.675-1.5 1.5v8c0 0.825 0.675 1.5 1.5 1.5h2.5v4l4.8-4h5.7c0.825 0 1.5-0.675 1.5-1.5v-8c0-0.825-0.675-1.5-1.5-1.5zM14 10h-5.924l-3.076 2.73v-2.73h-3v-7h12v7z"></path></svg>',thumbs:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M3 3v10h-2v-11c0-0.552 0.448-1 1-1h12c0.552 0 1 0.448 1 1v12c0 0.552-0.448 1-1 1h-12c-0.552 0-1-0.448-1-1v-1h4v-2h-2v-2h2v-2h-2v-2h2v-2h2v10h6v-10h-10z"></path></svg>',cart:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M13.238 9c0.55 0 1.124-0.433 1.275-0.962l1.451-5.077c0.151-0.529-0.175-0.962-0.725-0.962h-10.238c0-1.105-0.895-2-2-2h-3v2h3v8.5c0 0.828 0.672 1.5 1.5 1.5h9.5c0.552 0 1-0.448 1-1s-0.448-1-1-1h-9v-1h8.238zM5 4h9.044l-0.857 3h-8.187v-3z"></path><path d="M6 14.5c0 0.828-0.672 1.5-1.5 1.5s-1.5-0.672-1.5-1.5c0-0.828 0.672-1.5 1.5-1.5s1.5 0.672 1.5 1.5z"></path><path d="M15 14.5c0 0.828-0.672 1.5-1.5 1.5s-1.5-0.672-1.5-1.5c0-0.828 0.672-1.5 1.5-1.5s1.5 0.672 1.5 1.5z"></path></svg>',download:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M2.5 7l5.5 5.5 5.5-5.5h-3.5v-6h-4v6z"></path><path d="M14 8v6h-12v-6h-2v6.5c0 0.825 0.675 1.5 1.5 1.5h13c0.825 0 1.5-0.675 1.5-1.5v-6.5h-2z"></path></svg>',"circle-close":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M8 0c-4.418 0-8 3.582-8 8s3.582 8 8 8 8-3.582 8-8-3.582-8-8-8zM8 14.5c-3.59 0-6.5-2.91-6.5-6.5s2.91-6.5 6.5-6.5 6.5 2.91 6.5 6.5-2.91 6.5-6.5 6.5z"></path><path d="M10.5 4l-2.5 2.5-2.5-2.5-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 2.5-2.5 2.5 2.5 1.5-1.5-2.5-2.5 2.5-2.5z"></path></svg>',"circle-plus":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M8 0c-4.418 0-8 3.582-8 8s3.582 8 8 8 8-3.582 8-8-3.582-8-8-8zM8 14c-3.314 0-6-2.686-6-6s2.686-6 6-6c3.314 0 6 2.686 6 6s-2.686 6-6 6zM12 9h-3v3h-2v-3h-3v-2h3v-3h2v3h3z"></path></svg>',"circle-minus":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M8 0c-4.418 0-8 3.582-8 8s3.582 8 8 8 8-3.582 8-8-3.582-8-8-8zM8 14c-3.314 0-6-2.686-6-6s2.686-6 6-6c3.314 0 6 2.686 6 6s-2.686 6-6 6zM4 7h8v2h-8z"></path></svg>',heart:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M16 5.596c0 1.349-0.582 2.563-1.508 3.404h0.008l-5 5c-0.5 0.5-1 1-1.5 1s-1-0.5-1.5-1l-4.992-5c-0.926-0.841-1.508-2.054-1.508-3.404 0-2.538 2.058-4.596 4.596-4.596 1.349 0 2.563 0.582 3.404 1.508 0.841-0.926 2.054-1.508 3.404-1.508 2.538 0 4.596 2.058 4.596 4.596z"></path></svg>',"heart-outline":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M16 5.596c0-2.538-2.058-4.596-4.596-4.596-1.349 0-2.563 0.582-3.404 1.508-0.841-0.926-2.054-1.508-3.404-1.508-2.538 0-4.596 2.058-4.596 4.596 0 1.349 0.582 2.563 1.508 3.404h-0.008l5 5c0.5 0.5 1 1 1.5 1s1-0.5 1.5-1l4.992-5c0.926-0.841 1.508-2.054 1.508-3.404zM13.148 7.519l-5.062 5.067c-0.026 0.026-0.055 0.055-0.086 0.086-0.031-0.030-0.060-0.059-0.086-0.086l-5.062-5.066c-0.549-0.499-0.852-1.182-0.852-1.923 0-1.432 1.165-2.596 2.596-2.596 0.741 0 1.424 0.303 1.923 0.852l1.481 1.631 1.481-1.631c0.499-0.55 1.182-0.852 1.923-0.852 1.432 0 2.596 1.165 2.596 2.596 0 0.741-0.303 1.424-0.852 1.923z"></path></svg>',"auto-progress":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path class="[ICON_CLASS]-idle" d="M11.39 8c2.152-1.365 3.61-3.988 3.61-7 0-0.339-0.019-0.672-0.054-1h-13.891c-0.036 0.328-0.054 0.661-0.054 1 0 3.012 1.457 5.635 3.609 7-2.152 1.365-3.609 3.988-3.609 7 0 0.339 0.019 0.672 0.054 1h13.891c0.036-0.328 0.054-0.661 0.054-1 0-3.012-1.457-5.635-3.609-7zM2.5 15c0-2.921 1.253-5.397 3.5-6.214v-1.572c-2.247-0.817-3.5-3.294-3.5-6.214v0h11c0 2.921-1.253 5.397-3.5 6.214v1.572c2.247 0.817 3.5 3.294 3.5 6.214h-11zM9.462 10.462c-1.12-0.635-1.181-1.459-1.182-1.959v-1.004c0-0.5 0.059-1.327 1.184-1.963 0.602-0.349 1.122-0.88 1.516-1.537h-6.4c0.395 0.657 0.916 1.188 1.518 1.538 1.12 0.635 1.181 1.459 1.182 1.959v1.004c0 0.5-0.059 1.327-1.184 1.963-1.135 0.659-1.98 1.964-2.236 3.537h7.839c-0.256-1.574-1.102-2.879-2.238-3.538z"/><circle class="[ICON_CLASS]-circle" r="4" cx="8" cy="8"/><path class="[ICON_CLASS]-play" d="M3 2l10 6-10 6z"/><path class="[ICON_CLASS]-pause" d="M2 2h5v12h-5zM9 2h5v12h-5z"/></svg>',search:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M16 13.5l-4.695-4.695c0.444-0.837 0.695-1.792 0.695-2.805 0-3.314-2.686-6-6-6s-6 2.686-6 6 2.686 6 6 6c1.013 0 1.968-0.252 2.805-0.695l4.695 4.695 2.5-2.5zM2 6c0-2.209 1.791-4 4-4s4 1.791 4 4-1.791 4-4 4-4-1.791-4-4z"></path></svg>',spinner:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M8 16c-2.137 0-4.146-0.832-5.657-2.343s-2.343-3.52-2.343-5.657c0-1.513 0.425-2.986 1.228-4.261 0.781-1.239 1.885-2.24 3.193-2.895l0.672 1.341c-1.063 0.533-1.961 1.347-2.596 2.354-0.652 1.034-0.997 2.231-0.997 3.461 0 3.584 2.916 6.5 6.5 6.5s6.5-2.916 6.5-6.5c0-1.23-0.345-2.426-0.997-3.461-0.635-1.008-1.533-1.822-2.596-2.354l0.672-1.341c1.308 0.655 2.412 1.656 3.193 2.895 0.803 1.274 1.228 2.748 1.228 4.261 0 2.137-0.832 4.146-2.343 5.657s-3.52 2.343-5.657 2.343z"></path></svg>',"exif-aperture":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M 8,0 C 3.5876443,0 0,3.5876443 0,8 c 0,4.412356 3.5876443,8 8,8 4.412356,0 8,-3.587644 8,-8 C 16,3.5876443 12.412356,0 8,0 Z m 0,1 c 3.871916,0 7,3.1280844 7,7 0,3.871916 -3.128084,7 -7,7 C 4.1280844,15 1,11.871916 1,8 1,4.1280844 4.1280844,1 8,1 Z M 7.53125,2.0214844 A 6,6 0 0 0 3.1835938,4.4335938 H 8.9257812 Z M 8.6132812,2.03125 C 9.5587451,3.6702105 10.504247,5.3091484 11.451172,6.9472656 L 12.863281,4.5 A 6,6 0 0 0 8.6132812,2.03125 Z M 2.5957031,5.4101562 A 6,6 0 0 0 2,8 6,6 0 0 0 2.5273438,10.439453 L 5.4296875,5.4101562 Z m 10.8261719,0.033203 -2.855469,4.9433598 h 2.935547 A 6,6 0 0 0 14,8 6,6 0 0 0 13.421875,5.4433592 Z M 4.5722656,8.8945312 3.0996094,11.449219 a 6,6 0 0 0 4.40625,2.527343 z m 2.5820313,2.4707028 1.4960937,2.591797 a 6,6 0 0 0 4.3144534,-2.591797 z"></path></svg>',"exif-camera":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="m 8.0000002,5 a 4,4 0 0 0 -4,4 4,4 0 0 0 4,4 A 4,4 0 0 0 12,9 4,4 0 0 0 8.0000002,5 Z m 0.019531,1.015625 a 3,2.9814477 0 0 1 2.9804688,3 l -1,-0.00586 a 2,2 0 0 0 0,-0.00976 2,2 0 0 0 -1.9863279,-2 z M 5.125,1 C 4.5,1 4,1.5 4,2.125 V 3.0000004 L 1.125,3 C 0.5,2.9999999 0,3.5 0,4.125 v 9.75 C 0,14.5 0.5,15 1.125,15 h 13.75 C 15.5,15 16,14.5 16,13.875 V 4.125 C 16,3.5 15.5,3 14.875,3 H 12 V 2.125 C 12,1.5 11.5,1 10.875,1 Z M 5.25,2.0000004 h 5.5 c 0.125,0 0.25,0.1249996 0.25,0.25 v 1.75 h 3.75 c 0.125,0 0.25,0.1249996 0.25,0.25 V 13.75 C 15,13.875 14.875,14 14.75,14 H 1.25 C 1.125,14 1,13.875 1,13.75 V 4.25 C 1,4.125 1.125,4 1.25,4 l 3.75,4e-7 v -1.75 c 0,-0.1250004 0.125,-0.25 0.25,-0.25 z"></path></svg>',"exif-created-timestamp":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M 3,1 V 2 H 1 V 15 H 16 V 2 H 14 V 1 H 13 V 2 H 4 V 1 Z M 2,4 H 15 V 14 H 2 Z M 6,5 V 7 H 8 V 5 Z m 3,0 v 2 h 2 V 5 Z m 3,0 v 2 h 2 V 5 Z M 3,8 v 2 H 5 V 8 Z m 3,0 v 2 H 8 V 8 Z m 3,0 v 2 h 2 V 8 Z m 3,0 v 2 h 2 V 8 Z m -9,3 v 2 h 2 v -2 z m 3,0 v 2 h 2 v -2 z m 3,0 v 2 h 2 v -2 z"></path></svg>',"exif-shutter-speed":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M 8,0 C 3.5876443,0 -2.9415707e-8,3.5876443 0,8 c 2.3532563e-7,4.412356 3.5876445,8 8,8 4.412356,0 8,-3.587644 8,-8 C 16,3.5876443 12.412356,0 8,0 Z m 0,1 c 3.871916,0 7,3.1280844 7,7 0,3.871915 -3.128085,7 -7,7 -3.8719154,0 -6.9999998,-3.128085 -7,-7 -3e-8,-3.8719156 3.1280844,-7 7,-7 z M 11.646484,3.6464844 8.6445312,6.6484375 A 1.5,1.5 0 0 0 8,6.5 1.5,1.5 0 0 0 6.5,8 1.5,1.5 0 0 0 8,9.5 1.5,1.5 0 0 0 9.5,8 1.5,1.5 0 0 0 9.3515625,7.3554688 L 12.353516,4.3535156 Z M 2,7.5 v 1 h 2 v -1 z M 7.5,12 v 2 h 1 V 12 Z M 12,7.5 v 1 h 2 v -1 z M 7.5,2 v 2 h 1 V 2 Z"></path></svg>',"exif-focal-length":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="m 1,4.125 -1,0.25 v 7.25 l 1,0.25 z M 5,1 2,4 v 8 l 3,3 h 6.875 C 12.500003,15 13,14.5 13,13.875 V 2.125 C 13,1.4999986 12.5,1 11.875,1 9.576807,0.99914375 7.1414067,0.96597644 5,1 Z M 5.5,2 H 6 V 14 H 5.5 L 3,11.5 v -7 z M 7,2 h 4.75 C 11.875,2 12,2.1249997 12,2.25 v 11.5 c 0,0.125 -0.125,0.250622 -0.25,0.25 H 7 Z m 7,0 c 1,2.2 1.5,4.35 1.5,6 0,1.65 -0.5,3.8 -1.5,6"></path></svg>',"exif-iso":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M 7.5,0 V 1.6015625 C 6.0969201,1.7146076 4.8392502,2.256185 3.828125,3.1210938 L 2.6035156,1.8964844 1.8964844,2.6035156 3.1210938,3.828125 C 2.256185,4.8392502 1.7146076,6.0969201 1.6015625,7.5 H 0 v 1 h 1.6015625 c 0.1130451,1.4030799 0.6546225,2.66075 1.5195313,3.671875 l -1.2246094,1.224609 0.7070312,0.707032 1.2246094,-1.22461 C 4.8392502,13.743815 6.0969201,14.285392 7.5,14.398438 V 16 h 1 v -1.601562 c 1.4030799,-0.113046 2.66075,-0.654623 3.671875,-1.519532 l 1.224609,1.22461 0.707032,-0.707032 -1.22461,-1.224609 C 13.743815,11.16075 14.285392,9.9030799 14.398438,8.5 H 16 v -1 H 14.398438 C 14.285392,6.0969201 13.743815,4.8392502 12.878906,3.828125 L 14.103516,2.6035156 13.396484,1.8964844 12.171875,3.1210938 C 11.16075,2.256185 9.9030799,1.7146076 8.5,1.6015625 V 0 Z M 8,2.5 c 3.043488,0 5.5,2.4565116 5.5,5.5 0,3.043488 -2.456512,5.5 -5.5,5.5 C 4.9565116,13.5 2.5,11.043488 2.5,8 2.5,4.9565116 4.9565116,2.5 8,2.5 Z"></path></svg>',"exif-orientation":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M 1.25,0 C 0.625,0 0,0.625 0,1.25 V 5 H 1 V 3 h 8 v 2 h 1 V 1.25 C 10,0.625 9.375,0 8.75,0 Z m 0,1 h 7.5 C 8.875,1 9,1.125 9,1.25 V 2 H 1 V 1.25 C 1,1.125 1.125,1 1.25,1 Z m 0,5 C 0.625,6 0,6.625 0,7.25 v 7.5 C 0,15.375 0.625,16 1.25,16 h 13.5 C 15.375,16 16,15.375 16,14.75 V 7.25 C 16,6.625 15.375,6 14.75,6 Z m 0,1 H 2 v 3 H 1 V 7.25 C 1,7.125 1.125,7 1.25,7 Z M 3,7 h 10 v 8 H 3 Z m 11,0 h 0.75 C 14.875,7 15,7.125 15,7.25 v 7.5 C 15,14.875 14.875,15 14.75,15 H 14 Z M 1,12 h 1 v 3 H 1.25 C 1.125,15 1,14.875 1,14.75 Z"></path></svg>',"social-share":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M13.5 11c-0.706 0-1.342 0.293-1.797 0.763l-6.734-3.367c0.021-0.129 0.032-0.261 0.032-0.396s-0.011-0.267-0.032-0.396l6.734-3.367c0.455 0.47 1.091 0.763 1.797 0.763 1.381 0 2.5-1.119 2.5-2.5s-1.119-2.5-2.5-2.5-2.5 1.119-2.5 2.5c0 0.135 0.011 0.267 0.031 0.396l-6.734 3.367c-0.455-0.47-1.091-0.763-1.797-0.763-1.381 0-2.5 1.119-2.5 2.5s1.119 2.5 2.5 2.5c0.706 0 1.343-0.293 1.797-0.763l6.734 3.367c-0.021 0.129-0.031 0.261-0.031 0.396 0 1.381 1.119 2.5 2.5 2.5s2.5-1.119 2.5-2.5c0-1.381-1.119-2.5-2.5-2.5z"></path></svg>',"social-facebook":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M9.5 3h2.5v-3h-2.5c-1.93 0-3.5 1.57-3.5 3.5v1.5h-2v3h2v8h3v-8h2.5l0.5-3h-3v-1.5c0-0.271 0.229-0.5 0.5-0.5z"></path></svg>',"social-linkedin":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M6 6h2.767v1.418h0.040c0.385-0.691 1.327-1.418 2.732-1.418 2.921 0 3.461 1.818 3.461 4.183v4.817h-2.885v-4.27c0-1.018-0.021-2.329-1.5-2.329-1.502 0-1.732 1.109-1.732 2.255v4.344h-2.883v-9z"></path><path d="M1 6h3v9h-3v-9z"></path><path d="M4 3.5c0 0.828-0.672 1.5-1.5 1.5s-1.5-0.672-1.5-1.5c0-0.828 0.672-1.5 1.5-1.5s1.5 0.672 1.5 1.5z"></path></svg>',"social-pinterest":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M8 1.069c-3.828 0-6.931 3.103-6.931 6.931 0 2.938 1.828 5.444 4.406 6.453-0.059-0.547-0.116-1.391 0.025-1.988 0.125-0.541 0.813-3.444 0.813-3.444s-0.206-0.416-0.206-1.028c0-0.963 0.559-1.684 1.253-1.684 0.591 0 0.878 0.444 0.878 0.975 0 0.594-0.378 1.484-0.575 2.306-0.166 0.691 0.344 1.253 1.025 1.253 1.231 0 2.178-1.3 2.178-3.175 0-1.659-1.194-2.819-2.894-2.819-1.972 0-3.128 1.478-3.128 3.009 0 0.597 0.228 1.234 0.516 1.581 0.056 0.069 0.066 0.128 0.047 0.2-0.053 0.219-0.169 0.691-0.194 0.787-0.031 0.128-0.1 0.153-0.231 0.094-0.866-0.403-1.406-1.669-1.406-2.684 0-2.188 1.587-4.194 4.578-4.194 2.403 0 4.272 1.712 4.272 4.003 0 2.388-1.506 4.313-3.597 4.313-0.703 0-1.362-0.366-1.588-0.797 0 0-0.347 1.322-0.431 1.647-0.156 0.603-0.578 1.356-0.862 1.816 0.65 0.2 1.337 0.309 2.053 0.309 3.828 0 6.931-3.103 6.931-6.931 0-3.831-3.103-6.934-6.931-6.934z"></path></svg>',"social-reddit":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M4 10c0-0.552 0.448-1 1-1s1 0.448 1 1c0 0.552-0.448 1-1 1s-1-0.448-1-1zM10 10c0-0.552 0.448-1 1-1s1 0.448 1 1c0 0.552-0.448 1-1 1s-1-0.448-1-1zM10.049 12.137c0.258-0.203 0.631-0.159 0.834 0.099s0.159 0.631-0.099 0.834c-0.717 0.565-1.81 0.93-2.783 0.93s-2.066-0.365-2.784-0.93c-0.258-0.203-0.302-0.576-0.099-0.834s0.576-0.302 0.834-0.099c0.413 0.325 1.23 0.675 2.049 0.675s1.636-0.35 2.049-0.675zM16 8c0-1.105-0.895-2-2-2-0.752 0-1.406 0.415-1.748 1.028-1.028-0.562-2.28-0.926-3.645-1.010l1.193-2.68 2.284 0.659c0.206 0.583 0.761 1.002 1.415 1.002 0.828 0 1.5-0.672 1.5-1.5s-0.672-1.5-1.5-1.5c-0.571 0-1.068 0.319-1.321 0.789l-2.545-0.735c-0.285-0.082-0.587 0.058-0.707 0.329l-1.621 3.641c-1.33 0.094-2.551 0.453-3.557 1.004-0.342-0.613-0.996-1.028-1.748-1.028-1.105 0-2 0.895-2 2 0 0.817 0.491 1.52 1.193 1.83-0.126 0.375-0.193 0.767-0.193 1.17 0 2.761 3.134 5 7 5s7-2.239 7-5c0-0.403-0.067-0.795-0.193-1.17 0.703-0.31 1.193-1.013 1.193-1.83zM13.5 2.938c0.311 0 0.563 0.252 0.563 0.563s-0.252 0.563-0.563 0.563-0.563-0.252-0.563-0.563 0.252-0.563 0.563-0.563zM1 8c0-0.551 0.449-1 1-1 0.399 0 0.743 0.234 0.904 0.573-0.523 0.396-0.956 0.854-1.276 1.355-0.368-0.148-0.628-0.508-0.628-0.928zM8 14.813c-3.21 0-5.813-1.707-5.813-3.813s2.602-3.813 5.813-3.813c3.21 0 5.813 1.707 5.813 3.813s-2.602 3.813-5.813 3.813zM14.372 8.928c-0.32-0.502-0.753-0.959-1.276-1.355 0.161-0.338 0.505-0.573 0.904-0.573 0.551 0 1 0.449 1 1 0 0.42-0.26 0.78-0.628 0.928z"></path></svg>',"social-tumblr":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M9.001 7l-0 3.659c0 0.928-0.012 1.463 0.086 1.727 0.098 0.262 0.342 0.534 0.609 0.691 0.354 0.212 0.758 0.318 1.214 0.318 0.81 0 1.289-0.107 2.090-0.633v2.405c-0.683 0.321-1.279 0.509-1.833 0.639-0.555 0.129-1.154 0.194-1.798 0.194-0.732 0-1.163-0.092-1.725-0.276-0.562-0.185-1.042-0.45-1.438-0.79-0.398-0.343-0.672-0.706-0.826-1.091s-0.23-0.944-0.23-1.676v-5.611h-2.147v-2.266c0.628-0.204 1.331-0.497 1.778-0.877 0.449-0.382 0.809-0.839 1.080-1.374 0.272-0.534 0.459-1.214 0.561-2.039h2.579l-0 4h3.999v3h-3.999z"></path></svg>',"social-twitter":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M12.163 1.5h2.205l-4.818 5.507 5.668 7.493h-4.438l-3.476-4.545-3.977 4.545h-2.207l5.153-5.89-5.437-7.11h4.551l3.142 4.154zM11.389 13.18h1.222l-7.888-10.429h-1.311z"></path></svg>',"social-vk":'<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14"><path d="M14.977 4.063c0.117 0.32-0.25 1.070-1.172 2.297-1.516 2.016-1.68 1.828-0.43 2.992 1.203 1.117 1.453 1.656 1.492 1.727 0 0 0.5 0.875-0.555 0.883l-2 0.031c-0.43 0.086-1-0.305-1-0.305-0.75-0.516-1.453-1.852-2-1.68 0 0-0.563 0.18-0.547 1.383 0.008 0.258-0.117 0.398-0.117 0.398s-0.141 0.148-0.414 0.172h-0.898c-1.977 0.125-3.719-1.695-3.719-1.695s-1.906-1.969-3.578-5.898c-0.109-0.258 0.008-0.383 0.008-0.383s0.117-0.148 0.445-0.148l2.141-0.016c0.203 0.031 0.344 0.141 0.344 0.141s0.125 0.086 0.187 0.25c0.352 0.875 0.805 1.672 0.805 1.672 0.781 1.609 1.313 1.883 1.617 1.719 0 0 0.398-0.242 0.312-2.188-0.031-0.703-0.227-1.023-0.227-1.023-0.18-0.242-0.516-0.312-0.664-0.336-0.117-0.016 0.078-0.297 0.336-0.422 0.383-0.187 1.062-0.195 1.867-0.187 0.633 0.008 0.813 0.047 1.055 0.102 0.742 0.18 0.492 0.867 0.492 2.523 0 0.531-0.102 1.273 0.281 1.516 0.164 0.109 0.57 0.016 1.57-1.688 0 0 0.469-0.813 0.836-1.758 0.062-0.172 0.195-0.242 0.195-0.242s0.125-0.070 0.297-0.047l2.25-0.016c0.68-0.086 0.789 0.227 0.789 0.227z"></path></svg>',"social-email":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M15 2h-14c-0.55 0-1 0.45-1 1v10c0 0.55 0.45 1 1 1h14c0.55 0 1-0.45 1-1v-10c0-0.55-0.45-1-1-1zM14 4v0.719l-6 3.536-6-3.536v-0.719h12zM2 12v-5.54l6 3.536 6-3.536v5.54h-12z"></path></svg>',"social-download":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M2.5 7l5.5 5.5 5.5-5.5h-3.5v-6h-4v6z"></path><path d="M14 8v6h-12v-6h-2v6.5c0 0.825 0.675 1.5 1.5 1.5h13c0.825 0 1.5-0.675 1.5-1.5v-6.5h-2z"></path></svg>'}}},register:function(e,t){return!(a.empty(e)||a.empty(t)||!a.string(e)||!a.hash(t))&&(this.registered[e]=l.extend({},this.registered.default,t),!0)},get:function(e,t){var i=this,n="default",s=l.extend({},i.registered.default),t=(a.string(t)&&"default"!==t?s=l.extend(s,i.registered[n=t]):a.hash(t)&&(n="custom",s=l.extend(s,t)),a.string(e)&&s.hasOwnProperty(e)?s[e].replace(/\[ICON_CLASS]/g,i.className+"-"+e):null),s=[!1,e,n].map(function(e){return!1===e?i.className:i.className+"-"+e}).join(" ");return r(t).addClass(s)},element:function(e,t){const i=this;let n="default",s=l.extend({},i.registered.default);a.string(t)&&"default"!==t?(n=t,s=l.extend(s,i.registered[t])):a.hash(t)&&(n="custom",s=l.extend(s,t));t=a.string(e)&&s.hasOwnProperty(e)?s[e].replace(/\[ICON_CLASS]/g,i.className+"-"+e):null;if(null!==t){const r=document.createRange().createContextualFragment(t),o=r.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(s,i,n,r,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=s(e),i.opt=o.extend({threshold:20,allowPageScroll:!1,swipe:s.noop,data:{}},t),i.active=!1,i.startPoint=null,i.endPoint=null,i.events={start:(u?c?l?"MSPointerDown":"pointerdown":"touchstart":"mousedown")+n,move:(u?c?l?"MSPointerMove":"pointermove":"touchmove":"mousemove")+n,end:(u?c?l?"MSPointerUp":"pointerup":"touchend":"mouseup")+n,leave:(!u||c?"mouseleave":null)+n}},init:function(){var e=this;e.$el.on(e.events.start,{self:e},e.onStart),e.$el.on(e.events.move,{self:e},e.onMove),e.$el.on(e.events.end,{self:e},e.onEnd),r.string(e.events.leave)&&e.$el.on(e.events.leave,{self:e},e.onEnd),e.$el.data(a,e)},destroy:function(){var e=this;e.$el.off(e.events.start,e.onStart),e.$el.off(e.events.move,e.onMove),e.$el.off(e.events.end,e.onEnd),r.string(e.events.leave)&&e.$el.off(e.events.leave,e.onEnd),e.$el.removeData(a)},getAngle:function(e,t){e=Math.atan2(e.x-t.x,e.y-t.y),t=Math.round(180*e/Math.PI);return 360-(t<0?360-Math.abs(t):t)},getDistance:function(e,t){var i=t.x-e.x,t=t.y-e.y;return i*=i,t*=t,Math.sqrt(i+t)},getDirection:function(e,t){e=this.getAngle(e,t);return 337.5<e||e<=22.5?"N":22.5<e&&e<=67.5?"NE":67.5<e&&e<=112.5?"E":112.5<e&&e<=157.5?"SE":157.5<e&&e<=202.5?"S":202.5<e&&e<=247.5?"SW":247.5<e&&e<=292.5?"W":292.5<e&&e<=337.5?"NW":"NONE"},getPoint:function(e){var t;return u&&!r.empty(t=e.originalEvent.touches||e.touches)?{x:t[0].pageX,y:t[0].pageY}:r.number(e.pageX)&&r.number(e.pageY)?{x:e.pageX,y:e.pageY}:null},getOffset:function(e){var t=this.$el.offset();return{left:e.x-t.left,top:e.y-t.top}},onStart:function(e){var t=e.data.self,e=t.getPoint(e);r.empty(e)||(t.active=!0,t.startPoint=t.endPoint=e)},onMove:function(e){var t=e.data.self,i=t.getPoint(e);t.active&&!r.empty(i)&&(t.endPoint=i,t.opt.allowPageScroll?r.hash(t.opt.allowPageScroll)&&(i=t.getDirection(t.startPoint,t.endPoint),t.opt.allowPageScroll.x||-1===n.inArray(i,["NE","E","SE","NW","W","SW"])||e.preventDefault(),t.opt.allowPageScroll.y||-1===n.inArray(i,["NW","N","NE","SW","S","SE"])||e.preventDefault()):e.preventDefault())},onEnd:function(e){var t,e=e.data.self;e.active&&(e.active=!1,t={startPoint:e.startPoint,endPoint:e.endPoint,startOffset:e.getOffset(e.startPoint),endOffset:e.getOffset(e.endPoint),angle:e.getAngle(e.startPoint,e.endPoint),distance:e.getDistance(e.startPoint,e.endPoint),direction:e.getDirection(e.startPoint,e.endPoint)},0<e.opt.threshold&&t.distance<e.opt.threshold||(e.opt.swipe.apply(this,[t,e.opt.data]),e.startPoint=null,e.endPoint=null))}}),s.fn.fgswipe=function(t){return this.each(function(){var e=s(this).data(a);if(e instanceof i.Swipe){if(r.string(t)&&r.fn(e[t]))return void e[t]();e.destroy()}r.hash(t)&&(e=new i.Swipe(this,t)).init()})}}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.obj),function(e,t,r,a,o){e.Factory=t.Class.extend({construct:function(){this.registered={}},contains:function(e){return!r.undef(this.registered[e])},make:function(e,t,i){var n,s=a.arg2arr(arguments);return e=s.shift(),n=this.registered[e],r.hash(n)&&r.fn(n.klass)?a.apply(n.klass,s):null},names:function(e){e=!!r.boolean(e)&&e;var t,i=[];if(e){var n=[];for(t in this.registered)this.registered.hasOwnProperty(t)&&n.push(this.registered[t]);n.sort(function(e,t){return t.priority-e.priority}),n.forEach(function(e){i.push(e.name)})}else for(t in this.registered)this.registered.hasOwnProperty(t)&&i.push(t);return i},register:function(e,t,i){if(!r.string(e)||r.empty(e)||!r.fn(t))return!1;i=r.number(i)?i:0;var n=this.registered[e];return this.registered[e]={name:e,klass:t,priority:r.undef(n)?i:n.priority},!0},load:function(e,t){var i,n=this,s=a.arg2arr(arguments),r=[],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=s.slice();t.unshift(e.name),r.push(n.make.apply(n,t))}),r},configure:function(e,t,i,n){var s;this.contains(e)&&(s=this.registered,o.extend(s[e].opt,t),o.extend(s[e].cls,i),o.extend(s[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,s,r){t=this._super(e,t,r);return t&&((r=this.registered)[e].opt=u.hash(i)?i:{},r[e].cls=u.hash(n)?n:{},r[e].il8n=u.hash(s)?s:{}),t},make:function(e,t){t=u.jq(t)?t:l(t),e=a.extend({},e,t.data("foogallery")),o.isMobile&&(e=a.extend({},e,t.data("foogalleryMobile")));var i=this.type(e,t);return this.contains(i)?(e=this.options(i,e),this._super(i,e,t)):null},type:function(e,t){t=u.jq(t)?t:l(t);var i=u.hash(e)&&u.hash(e)&&u.string(e.type)&&this.contains(e.type)?e.type:null;if(null===i&&0<t.length)for(var n=this.registered,s=this.names(!0),r=0,o=s.length;r<o;r++)if(n.hasOwnProperty(s[r])&&"core"!==s[r]){var a=n[s[r]].cls;if(u.string(a.container)){a=c.selectify(a.container);if(t.is(a)){i=s[r];break}}}return i},options:function(e,t){t=a.extend({type:e},t);var i=this.registered,n=i.core.opt,s=i.core.cls,r=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({},s,i[e].cls,t.cls),t.il8n=a.extend({},r,i[e].il8n,t.il8n)):((t=a.extend({},n,t)).cls=a.extend({},s,t.cls),t.il8n=a.extend({},r,t.il8n)),t}}),o.template=new o.TemplateFactory}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,(FooGallery.utils.fn,FooGallery.utils.obj)),function(n,s,r,o,a){var l=0;s.Template=r.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=r.selectify(i.cls),i.items=s.components.make("items",i),i.pages=o.undef(s.paging)?null:s.paging.make(e.paging.type,i),i.filter=o.undef(s.filtering)?null:s.filtering.make(e.filtering.type,i),i.state=s.components.make("state",i),i._initialize=null,i._layoutTimeout=null,i._layoutWidths=[],i.lastWidth=0,i.initializing=!1,i.initialized=!1,i.destroying=!1,i.destroyed=!1,i._undo={classes:"",style:"",create:!1,children:!1},i.robserver=new ResizeObserver(a.throttle(function(e){i.destroying||i.destroyed||1!==e.length||e[0].target!==i.el||(e=r.getResizeObserverSize(e[0]),i.layout(e.width))},50))},initialize:function(t){var i=this;return 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")}).catch(e.reject):e.reject("pre-init failed")}).catch(function(e){return console.log("initialize failed",i,e),i.destroy()}).promise()},preInit:function(e){var t=this;if(t.destroying)return!1;if(e=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(s.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=r.selectify(t.opt.classes);return null==e||t.$el.is(e)||t.$el.addClass(t.opt.classes),0===t.$el.children().not(t.sel.item.elem).length&&(t.$el.append(t.createChildren()),t._undo.children=!0),t.opt.protected&&(t.el.oncontextmenu=function(e){return e.preventDefault(),!1}),!t.trigger("pre-init").isDefaultPrevented()},init:function(){return this.trigger("init").isDefaultPrevented()?a.reject("init default prevented"):this.items.fetch()},postInit:function(){var e=this;return!e.destroying&&(!e.trigger("post-init").isDefaultPrevented()&&(e.state.init(),e.pages&&e.pages.init(),n(window).on("popstate"+e.namespace,{self:e},e.onWindowPopState),e.robserver.observe(e.el),!0))},ready:function(){return!this.destroying&&(this.initializing=!1,this.initialized=!0,this.trigger("ready"),!0)},create:function(){return n("<div/>",{id:this.id,class:this.cls.container}).addClass(this.opt.classes)},createChildren:function(){return n()},destroy:function(t){var i=this,e=i._super.bind(i);return i.destroyed?a.resolved:(i.destroying=!0,n.Deferred(function(e){i.initializing&&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(s.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},getLanguage:function(){return(""!==document.documentElement.lang?document.documentElement:this.opt).lang},onWindowPopState:function(e){var t=e.data.self,e=e.originalEvent.state;o.empty(e)||e.id!==t.id||t.state.set(e)}}),s.template.register("core",s.Template,{id:null,type:"core",classes:"",on:{},lazy:!0,items:[],scrollParent:null,delay:0,throttle:50,shortpixel:!1,srcset:"data-srcset-fg",src:"data-src-fg",protected:!1,lang:"en",cors:null,template:{},regex:{theme:/(?:\s|^)(fg-(?:light|dark|custom))(?:\s|$)/,loadingIcon:/(?:\s|^)(fg-loading-(?:default|bars|dots|partial|pulse|trail))(?:\s|$)/,hoverIcon:/(?:\s|^)(fg-hover-(?:zoom|zoom2|zoom3|zoom4|zoom5|plus|plus2|plus3|circle-plus|circle-plus2|square-plus|eye|external|tint))(?:\s|$)/,videoIcon:/(?:\s|^)(fg-video-(?:default|1|2|3|4))(?:\s|$)/,border:/(?:\s|^)(fg-border-(?:thin|medium|thick))(?:\s|$)/,hoverColor:/(?:\s|^)(fg-hover-(?:colorize|grayscale))(?:\s|$)/,hoverScale:/(?:\s|^)(fg-hover-scale)(?:\s|$)/,stickyVideoIcon:/(?:\s|^)(fg-video-sticky)(?:\s|$)/,insetShadow:/(?:\s|^)(fg-shadow-inset-(?:small|medium|large))(?:\s|$)/,filter:/(?:\s|^)(fg-filter-(?:1977|amaro|brannan|clarendon|earlybird|lofi|poprocket|reyes|toaster|walden|xpro2|xtreme))(?:\s|$)/}},{container:"foogallery"},{},-100)}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.str),function(e,t){e.Component=t.EventClass.extend({construct:function(e){this._super(),this.tmpl=e},destroy:function(){this.tmpl=null,this._super()}}),e.components=new e.Factory}(FooGallery,FooGallery.utils,FooGallery.utils.is),function(t,r,i,o,a,l){r.State=r.Component.extend({construct:function(e){var t=this,e=(t._super(e),t.apiEnabled=!!window.history&&!!history.replaceState,t.opt=t.tmpl.opt.state,t.enabled=t.opt.enabled,t.current={filter:[],page:0,item:null},t.pushOrReplace=t.isPushOrReplace(t.opt.pushOrReplace)?t.opt.pushOrReplace:"replace",t.defaultMask="foogallery-gallery-{id}",a.escapeRegExp(t.tmpl.id)),i=a.escapeRegExp(t.getMasked()),n=a.escapeRegExp(t.opt.values),s=a.escapeRegExp(t.opt.pair);t.regex={exists:new RegExp("^#"+e+"\\"+n+".+?"),masked:new RegExp("^#"+i+"\\"+n+".+?"),values:new RegExp("(\\w+)"+s+"([^"+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,s=this,r=s.tmpl,o={};return s.exists()&&(s.enabled?(o.id=s.tmpl.id,s.regex.values.lastIndex=0,e=location.hash.match(s.regex.values),t.each(e,function(e,t){var i,n=t.split(s.opt.pair);if(2===n.length)switch(n[0]){case s.opt.itemKey:null!==(i=r.items.fromHash(n[1]))&&(o.item=i);break;case s.opt.pageKey:r.pages&&null!==(i=r.pages.fromHash(n[1]))&&(o.page=i);break;case s.opt.filterKey:r.filter&&null!==(i=r.filter.fromHash(n[1]))&&(o.filter=i)}})):s.apiEnabled?history.replaceState(null,"",location.pathname+location.search):location.hash="#"),o},hashify:function(e){var t,i,n=this,s=n.tmpl;return o.hash(e)?(t=[],null!==(i=s.items.toHash(e.item))&&t.push(n.opt.itemKey+n.opt.pair+i),s.filter&&null!==(i=s.filter.toHash(e.filter))&&t.push(n.opt.filterKey+n.opt.pair+i),s.pages&&null!==(i=s.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 r.Item?e.item.id:e.item}),history.replaceState(i?null:e,"",i?location.pathname+location.search:t))},push:function(e){var t,i;this.enabled&&this.apiEnabled&&(e.id=this.tmpl.id,t=this.hashify(e),i=o.empty(t),e=l.extend({},e,{item:e.item instanceof r.Item?e.item.id:e.item}),history.pushState(i?null:e,"",i?location.pathname+location.search:t))},update:function(e,t){var i=this;i.enabled&&i.apiEnabled&&(t=i.isPushOrReplace(t)?t:i.pushOrReplace,i[t](e))},clear:function(){this.exists()&&this.replace({})},initial:function(){var e=this.parse();return 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 r.Item&&(n.item=e),i.filter&&null!==(t=i.filter.getState())&&(n.filter=t),i.pages&&null!==(t=i.pages.getState())&&(n.page=t),l.extend({filter:[],page:1,item:null},n)},set:function(e){var t,i,n,s=this.tmpl;o.hash(e)&&(t=l.extend({filter:[],page:1,item:null},e),s.items.reset(),s.trigger("before-state",[t]).isDefaultPrevented()||(s.filter&&s.filter.setState(t),s.pages?s.pages.setState(t):(i=s.items.available(),s.items.isAll(i)||(n=s.items.not(i),s.items.detach(n)),s.items.create(i,!0)),t.item instanceof r.Item&&(this.opt.scrollTo&&t.item.scrollTo(),o.empty(e.item)||(e.item=null,this.replace(e))),this.current=t,s.trigger("after-state",[t])))},getItemHash:function(e){return this.enabled&&e instanceof r.Item?(e=this.get(e),this.hashify(e)):""},onPopState:function(e){var t=this.parse();Object.keys(t).length&&this.set(t)}}),r.template.configure("core",{state:{enabled:!1,scrollTo:!0,pushOrReplace:"replace",mask:"foogallery-gallery-{id}",usePopState:!0,values:"/",pair:":",array:"+",arraySeparator:",",itemKey:"i",filterKey:"f",pageKey:"p"}}),r.components.register("state",r.State)}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.str,FooGallery.utils.obj),function(o,r,i,a,n,l){r.Items=r.Component.extend({construct:function(e){var t=this,e=(t.ALLOW_CREATE=!0,t.ALLOW_APPEND=!0,t.LAYOUT_AFTER_LOAD=!0,t._super(e),t._typeRegex=/(?:^|\s)?fg-type-(.*?)(?:$|\s)/,t._fetched=null,t._all=[],t._available=[],t._unavailable=[],t._observed=new Map,t.tmpl.cls.item.caption);t.tmpl.sel.item.caption.all=i.selectify([e.elem,e.inner,e.title,e.description]),t._wait=[],t._layoutTimeout=null,t.iobserver=new IntersectionObserver(function(e){t.tmpl.destroying||t.tmpl.destroyed||(t.LAYOUT_AFTER_LOAD&&clearTimeout(t._layoutTimeout),e.forEach(function(e){e.isIntersecting&&(e=t._observed.get(e.target))instanceof r.Item&&t._wait.push(e.load())}),t.LAYOUT_AFTER_LOAD&&(t._layoutTimeout=setTimeout(function(){0<t._wait.length&&n.allSettled(t._wait.splice(0)).then(function(){t.tmpl.layout()})},100)))})},fromHash:function(t){return this.find(this._all,function(e){return e.id===t})},toHash:function(e){return e instanceof r.Item?e.id:null},destroy:function(){var e=this,t=e.all();e.iobserver.disconnect(),0<t.length&&(e.tmpl.trigger("destroy-items",[t]),0<(t=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,s,r,i=this;return!e&&a.promise(i._fetched)?i._fetched:(e=i.tmpl.id+"_items",t=i.tmpl.sel,n=i.tmpl.opt.items,s=o.Deferred(),r=i.make(i.tmpl.$el.find(t.item.elem)),a.empty(n)?(a.array(window[e])&&r.push.apply(r,i.make(window[e])),s.resolve(r)):a.array(n)?(r.push.apply(r,i.make(n)),s.resolve(r)):a.string(n)?o.get(n).then(function(e){r.push.apply(r,i.make(e)),s.resolve(r)},function(e,t,i){console.log("FooGallery: GET items error.",n,e,t,i),s.resolve(r)}):s.resolve(r),s.then(function(e){i.setAll(e)}),i._fetched=s.promise())},toJSON:function(e){return(e?this.all():this.available()).map(function(e){return e.toJSON()})},all:function(){return this._all.slice()},count:function(e){return(e?this.all():this.available()).length},available:function(e){return a.fn(e)?this._available.filter(e,this):this._available.slice()},unavailable:function(e){return a.fn(e)?this._unavailable.filter(e,this):this._unavailable.slice()},setAll:function(e){this._all=a.array(e)?e:[],this._all.forEach(function(e,t){e.index=t,a.empty(e.id)&&(e.id=t+1+"")}),this._available=this.all(),this._unavailable=[]},setAvailable:function(e){var t=this;t._available=a.array(e)?e:[],t._all.length!==t._available.length?t._unavailable=t._all.filter(function(e){return-1===t._available.indexOf(e)}):t._unavailable=[]},reset:function(){this.setAvailable(this.all())},find:function(e,t){if(t=a.fn(t)?t:function(){return!0},a.array(e))for(var i=0,n=e.length;i<n;i++)if(!0===t.call(this,e[i]))return e[i];return null},not:function(t){var e=this.all();return a.array(t)?e.filter(function(e){return-1===t.indexOf(e)}):e},isAll:function(e){return!!a.array(e)&&this._all.length===e.length},first:function(e){return this.find(this._available,e)},last:function(e){return this.find(this._available.slice().reverse(),e)},next:function(e,t,i){if(!(e instanceof r.Item))return null;i=!!a.boolean(i)&&i;var n,s=this._available.slice(),e=s.indexOf(e);return-1!==e?(n=s.slice(0,e),s=s.slice(e+1),i&&(s=s.concat(n)),this.find(s,t)):null},prev:function(e,t,i){if(!(e instanceof r.Item))return null;i=!!a.boolean(i)&&i;var n,s=this._available.slice().reverse(),e=s.indexOf(e);return-1!==e?(n=s.slice(0,e),s=s.slice(e+1),i&&(s=s.concat(n)),this.find(s,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 r.Item&&!e.isCreated?e:null}):[]},appendable:function(e){return this.ALLOW_APPEND&&a.array(e)?o.map(e,function(e){return e instanceof r.Item&&e.isCreated&&!e.isAttached?e:null}):[]},detachable:function(e){return a.array(e)?o.map(e,function(e){return e instanceof r.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 s=[],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=r.components.make(t,n.tmpl,i);return a.element(e)?t.parse(e)?(s.push(t),n.ALLOW_APPEND||t.detach(),t):null:t})).length&&n.tmpl.trigger("made-items",[t]),0<s.length&&n.tmpl.trigger("parsed-items",[s])}return t},type:function(e){var t;return a.hash(e)?t=e.type:a.element(e)&&null!==(e=e.className.match(this._typeRegex))&&2===e.length&&(t=e[1]),a.string(t)&&r.components.contains(t)?t:"image"},create:function(e,t){var i=[],n=this.creatable(e);return 0<n.length&&0<(i=this.tmpl.trigger("create-items",[n]).isDefaultPrevented()?i: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))}}),r.components.register("items",r.Items)}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.obj),function(y,b,x,w,r,C){b.Item=b.Component.extend({construct:function(e,t){var i=this;i._super(e),i.cls=e.cls.item,i.il8n=e.il8n.item,i.sel=e.sel.item,i.opt=r.extend({},e.opt.item,t),i.isAttached=!1,i.isCreated=!1,i.isDestroyed=!1,i.isLoading=!1,i.isLoaded=!1,i.isError=!1,i.isParsed=!1,i.isPicture=!1,i.$el=null,i.el=null,i.$inner=null,i.$anchor=null,i.$overlay=null,i.$wrap=null,i.$image=null,i.$caption=null,i.$loader=null,i.index=-1,i.type=i.opt.type,i.id=""+i.opt.id,i.productId=i.opt.productId,i.href=i.opt.href,i.download=i.opt.download,i.placeholder=i.opt.placeholder,i.src=i.opt.src,i.srcset=i.opt.srcset,i.sources=i.opt.sources,i.width=i.opt.width,i.height=i.opt.height,i.title=i.opt.title,i.alt=i.opt.alt,i.caption=i.opt.caption,i.description=i.opt.description,i.attr=i.opt.attr,i.tags=i.opt.tags,i.maxCaptionLength=i.opt.maxCaptionLength,i.maxDescriptionLength=i.opt.maxDescriptionLength,i.showCaptionTitle=i.opt.showCaptionTitle,i.showCaptionDescription=i.opt.showCaptionDescription,i.noLightbox=i.opt.noLightbox,i.panelHide=i.opt.panelHide,i.exif=i.opt.exif,i.hasExif=w.exif(i.exif),i.ribbon=i.opt.ribbon,i.hasRibbon=w.hash(i.ribbon)&&w.string(i.ribbon.text)&&w.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),w.empty(e._undo.classes)?e.$el.removeAttr("class"):e.$el.attr("class",e._undo.classes),w.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,s=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=s,i.$inner=y(s.querySelector(n.inner)),i.$anchor=y(s.querySelector(n.anchor)).on("click.foogallery",{self:i},i.onAnchorClick),i.$image=y(s.querySelector(n.image)),i.$caption=y(s.querySelector(n.caption.elem)).on("click.foogallery",{self:i},i.onCaptionClick),i.$overlay=y(s.querySelector(n.overlay)),i.$wrap=y(s.querySelector(n.wrap)),i.$loader=y(s.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!==s.parentNode,i.isLoading=i.$el.hasClass(t.loading),i.isLoaded=i.$el.hasClass(t.loaded),i.isError=i.$el.hasClass(t.error);var e=i.$anchor.data(),e=(i.id=""+(e.id||e.attachmentId||i.id),i.productId=e.productId||i.productId,i.tags=e.tags||i.tags,i.href=e.href||i.$anchor.attr("href")||i.href,i.download=e.download||i.download||i.href,s=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=s.attr(i.tmpl.opt.src)||i.src,i.srcset=s.attr(i.tmpl.opt.srcset)||i.srcset,i.width=parseInt(s.attr("width"))||i.width,i.height=parseInt(s.attr("height"))||i.height,i.title=b.safeParse(s.attr("title")||i.title),i.alt=b.safeParse(s.attr("alt")||i.alt),i.caption=b.safeParse(e.title||e.captionTitle||i.caption),i.description=b.safeParse(e.description||e.captionDesc||i.description),i.noLightbox=i.$anchor.hasClass(t.noLightbox),i.panelHide=i.$anchor.hasClass(t.panelHide),w.exif(e.exif)&&(i.exif=r.extend(i.exif,e.exif),i.hasExif=!0),0<i.maxCaptionLength&&((e=C.trimTo(i.caption,i.maxCaptionLength))!==i.caption&&i.$caption.find(n.caption.title).html(e)),!i.maxDescriptionLength||(e=C.trimTo(i.description,i.maxDescriptionLength))!==i.description&&i.$caption.find(n.caption.description).html(e),i.showCaptionTitle||i.$caption.find(n.caption.title).remove(),i.showCaptionDescription||i.$caption.find(n.caption.description).remove(),s.get(0)),n=(w.string(e.src)&&0!==e.src.length||(w.string(i.placeholder)&&0!==i.placeholder.length||(i.placeholder=i.createPlaceholder(i.width,i.height)),0<i.placeholder.length&&(e.src=i.placeholder,i._undo.placeholder=!0)),i.getTypeClass());return i.$el.hasClass(n)||i.$el.addClass(n),i.hasExif&&!i.$el.hasClass(t.exif)&&i.$el.addClass(t.exif),!i.isCreated||!i.isAttached||i.isLoading||i.isLoaded||i.isError||i.$el.hasClass(t.idle)||i.$el.addClass(t.idle),i.doShortPixel(),!0},create:function(){var e=this;return!e.isCreated&&w.string(e.href)&&w.string(e.src)&&w.number(e.width)&&w.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;w.empty(t)||("class"===e?(i=(w.array(t)?t:[t]).flatMap(e=>w.string(e)?e.split(" "):[]).map(e=>e.trim()).filter(Boolean),n.classList.add(...i)):n.setAttribute(e,w.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,s=this,t=s.cls,i=s.attr,r=s.hasExif?t.exif:"",o=(s.isLoaded=!s.tmpl.opt.lazy,s.isPicture=0<s.sources.length,s.doShortPixel(),document.createElement("div")),r=(s._setAttributes(o,i.elem),s._setAttributes(o,{class:[t.elem,s.getTypeClass(),r,s.isLoaded?t.loaded:t.idle]}),document.createElement("figure")),a=(s._setAttributes(r,i.inner),s._setAttributes(r,{class:t.inner}),[t.anchor]),l=(s.noLightbox&&a.push(t.noLightbox),s.panelHide&&a.push(t.panelHide),document.createElement("a")),a=(s._setAttributes(l,i.anchor),s._setAttributes(l,{class:a.join(" "),href:s.href,"data-id":s.id,"data-type":s.type,"data-title":s.caption,"data-description":s.description,"data-tags":s.tags,"data-exif":s.exif,"data-product-id":s.productId,"data-download":s.download}),w.string(s.placeholder)&&0!==s.placeholder.length||(s.placeholder=s.createPlaceholder(s.width,s.height)),document.createElement("img")),c=(s._setAttributes(a,i.image),{class:t.image,src:s.placeholder,width:s.width+"",height:s.height+"",title:s.title,alt:s.alt}),c=(s.isLoaded?(c.src=s.src,c.srcset=s.srcset):(c[s.tmpl.opt.src]=s.src,c[s.tmpl.opt.srcset]=s.srcset),s._setAttributes(a,c),s.isPicture&&(n=document.createElement("picture"),s._setAttributes(n,i.picture),s.sources.forEach(function(e){var t=document.createElement("source"),i={media:e.media,sizes:e.sizes,type:e.type};s.isLoaded?i.srcset=e.srcset:i[s.tmpl.opt.srcset]=e.srcset,s._setAttributes(t,i),n.appendChild(t)}),n.appendChild(a)),s.hasRibbon&&((e=document.createElement("div")).className=s.ribbon.type,(c=document.createElement("span")).innerHTML=s.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=(s._setAttributes(d,i.caption.elem),s._setAttributes(d,{class:t.caption.elem}),document.createElement("div")),f=(s._setAttributes(p,i.caption.inner),s._setAttributes(p,{class:t.caption.inner}),null),g=s.showCaptionTitle&&w.string(s.caption)&&0<s.caption.length,f=(g&&(f=document.createElement("div"),s._setAttributes(f,i.caption.title),f.className=t.caption.title,f.innerHTML=0<s.maxCaptionLength?C.trimTo(s.caption,s.maxCaptionLength):s.caption,p.appendChild(f)),null),m=s.showCaptionDescription&&w.string(s.description)&&0<s.description.length,v=(m&&(f=document.createElement("div"),s._setAttributes(f,i.caption.description),f.className=t.caption.description,f.innerHTML=0<s.maxDescriptionLength?C.trimTo(s.description,s.maxDescriptionLength):s.description,p.appendChild(f)),null),i=w.array(s.buttons)&&0<s.buttons.length;return i&&((v=document.createElement("div")).className=t.caption.buttons,x.each(s.buttons,function(e){var t;w.hash(e)&&w.string(e.text)&&((t=document.createElement("a")).innerHTML=e.text,w.string(e.url)&&0<e.url.length&&(t.href=e.url),w.string(e.rel)&&0<e.rel.length&&(t.rel=e.rel),w.string(e.target)&&0<e.target.length&&(t.target=e.target),w.string(e.classes)&&0<e.classes.length&&(t.className=e.classes),w.hash(e.attr)&&s._setAttributes(t,e.attr),v.appendChild(t))}),p.appendChild(v)),d.appendChild(p),s.isPicture?u.appendChild(n):u.appendChild(a),l.appendChild(c),l.appendChild(u),r.appendChild(l),(g||m||i)&&r.appendChild(d),s.hasRibbon&&o.appendChild(e),o.appendChild(r),o.appendChild(h),s.$el=y(o).data(b.DATA_ITEM,s),s.el=o,s.$inner=y(r),s.$anchor=y(l).on("click.foogallery",{self:s},s.onAnchorClick),s.$overlay=y(c),s.$wrap=y(u),s.isPicture?s.$image=y(n):s.$image=y(a),s.$caption=y(d).on("click.foogallery",{self:s},s.onCaptionClick),s.$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 w.promise(i._load)?i._load:i._load=y.Deferred(function(t){return i.isLoaded?t.resolve(i):i.isCreated&&i.isAttached?i.tmpl.trigger("load-item",[i]).isDefaultPrevented()?t.reject("default prevented"):(i.isLoading=!0,i.tmpl.items.unobserve(i),i.$el.removeClass(i.cls.idle).removeClass(i.cls.hidden).removeClass(i.cls.loaded).removeClass(i.cls.error).addClass(i.cls.loading),void i.loadIMG().then(function(){i.isLoading=!1,i.isLoaded=!0,i.$el.removeClass(i.cls.loading).addClass(i.cls.loaded),i.tmpl.trigger("loaded-item",[i]),t.resolve(i)},function(e){i.isLoading=!1,i.isError=!0,i.$el.removeClass(i.cls.loading).addClass(i.cls.error),i.tmpl.trigger("error-item",[i]),t.reject(e)})):t.reject("not created or attached")}).promise()},loadIMG:function(){var r=this;return new y.Deferred(function(e){var t=r.getImageElement();if(!t)return e.reject("Unable to find img element.");var i=t.src,n=t.srcset,{cors:s}=(t.onload=function(){t.onload=t.onerror=null,e.resolve(t)},t.onerror=function(){t.onload=t.onerror=null,w.empty(i)?t.removeAttribute("src"):t.src=i,w.empty(n)?t.removeAttribute("srcset"):t.srcset=n,e.reject(t)},r.isPicture&&r.$image.find("source").each(function(e,t){var i=t.getAttribute(r.tmpl.opt.srcset);w.empty(i)||(t.srcset=i)}),r.tmpl)["opt"];w.string(s)&&null===t.crossOrigin&&b.isCrossOrigin(r.src)&&(t.crossOrigin=s),w.empty(r.srcset)||(t.srcset=r.srcset),t.src=r.src,t.complete&&t.onload()}).promise()},getImageElement:function(){return(this.isPicture?this.$image.find("img"):this.$image).get(0)},createPlaceholder:function(e,t){return w.number(e)&&w.number(t)?"data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22"+e+"%22%20height=%22"+t+"%22%20viewBox=%220%200%20"+e+"%20"+t+"%22%3E%3C/svg%3E":""},getTypeClass:function(){return this.cls.types[this.type]||""},scrollTo:function(e){var t;return this.isAttached&&((t=this.$el.get(0)).scrollIntoViewIfNeeded?t.scrollIntoViewIfNeeded():t.scrollIntoView("top"===e)),this},updateState:function(){this.tmpl.state.update(this.tmpl.state.get(this))},toJSON:function(){return{type:this.type,id:this.id,productId:this.productId,href:this.href,src:this.src,srcset:this.srcset,width:this.width,height:this.height,alt:this.alt,title:this.title,caption:this.caption,description:this.description,tags:this.tags.slice(),maxCaptionLength:this.maxCaptionLength,maxDescriptionLength:this.maxDescriptionLength,showCaptionTitle:this.showCaptionTitle,showCaptionDescription:this.showCaptionDescription,noLightbox:this.noLightbox,panelHide:this.panelHide,attr:r.extend({},this.attr)}},onAnchorClick:function(e){var t=e.data.self;t.tmpl.trigger("anchor-click-item",[t]).isDefaultPrevented()?e.preventDefault():t.updateState()},onCaptionClick:function(e){var t=e.data.self;!t.tmpl.trigger("caption-click-item",[t]).isDefaultPrevented()&&0<t.$anchor.length&&!y(e.target).is("a[href],:input")&&t.$anchor.get(0).click()}}),b.template.configure("core",{item:{type:"item",id:"",href:"",placeholder:"",src:"",srcset:"",sources:[],width:0,height:0,title:"",alt:"",caption:"",description:"",tags:[],maxCaptionLength:0,maxDescriptionLength:0,showCaptionTitle:!0,showCaptionDescription:!0,noLightbox:!1,panelHide:!1,buttons:[],ribbon:{type:null,text:null},exif:{aperture:null,camera:null,created_timestamp:null,shutter_speed:null,focal_length:null,iso:null,orientation:null},attr:{elem:{},inner:{},anchor:{},image:{},picture:{},caption:{elem:{},inner:{},title:{},description:{}}}}},{item:{elem:"fg-item",inner:"fg-item-inner",exif:"fg-item-exif",anchor:"fg-thumb",overlay:"fg-image-overlay",wrap:"fg-image-wrap",image:"fg-image",loader:"fg-loader",idle:"fg-idle",loading:"fg-loading",loaded:"fg-loaded",error:"fg-error",hidden:"fg-hidden",noLightbox:"fg-no-lightbox",panelHide:"fg-panel-hide",types:{item:"fg-type-unknown"},caption:{elem:"fg-caption",inner:"fg-caption-inner",title:"fg-caption-title",description:"fg-caption-desc",buttons:"fg-caption-buttons",button:"fg-caption-button"}}},{item:{exif:{aperture:"Aperture",camera:"Camera",created_timestamp:"Date",shutter_speed:"Exposure",focal_length:"Focal Length",iso:"ISO",orientation:"Orientation"}}}),b.components.register("item",b.Item)}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,(FooGallery.utils.fn,FooGallery.utils.obj),FooGallery.utils.str),function(e){e.Image=e.Item.extend({}),e.template.configure("core",null,{item:{types:{image:"fg-type-image"}}}),e.components.register("image",e.Image)}((FooGallery.$,FooGallery),(FooGallery.utils,FooGallery.utils.is)),function(e,c,u){e.PagingFactory=e.Factory.extend({construct:function(){this.registered={}},register:function(e,t,i,n,s,r,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(s)?s:{},o[e].il8n=c.hash(r)?r:{}),t},type:function(e){return c.hash(e)&&c.hash(e=e.paging)&&c.string(e.type)&&this.contains(e.type)?e.type:null},merge:function(e){e=u.extend({},e);var t=this.type(e),i=this.registered,n=i.default.opt,s=i.default.cls,r=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:s},{paging:i[t].cls},{paging:a}),e.il8n=u.extend(e.il8n,{paging:r},{paging:i[t].il8n},{paging:l})):(e.paging=u.extend({},n,o,{type:t}),e.cls=u.extend(e.cls,{paging:s},{paging:a}),e.il8n=u.extend(e.il8n,{paging:r},{paging:l})),e},hasCtrl:function(e){e=this.registered[e];return c.hash(e)&&c.fn(e.ctrl)},makeCtrl:function(e,t,i,n){e=this.registered[e];return c.hash(e)&&c.fn(e.ctrl)?new e.ctrl(t,i,n):null}}),e.paging=new e.PagingFactory}(FooGallery,FooGallery.utils.is,(FooGallery.utils.fn,FooGallery.utils.obj)),function(t,r,n,l){r.Paging=r.Component.extend({construct:function(e){var t=this;t._super(e),t.opt=t.tmpl.opt.paging,t.cls=t.tmpl.cls.paging,t.il8n=t.tmpl.il8n.paging,t.sel=t.tmpl.sel.paging,t.pushOrReplace=t.opt.pushOrReplace,t.type=t.opt.type,t.theme=t.opt.theme??e.getCSSClass("theme"),t.size=t.opt.size,t.position=t.opt.position,t.scrollToTop=t.opt.scrollToTop,t.current=0,t.total=0,t.ctrls=[],t._pages=[]},init:function(){},fromHash:function(e){e=parseInt(e);return isNaN(e)?null:e},toHash:function(e){return l.number(e)&&0<e?e.toString():null},getState:function(){return this.isValid(this.current)?this.current:null},setState:function(e){this.rebuild();var t=!1;e.item&&!this.contains(e.page,e.item)&&(e.page=this.find(e.item),e.page=0!==e.page?e.page:1,t=!0),this.set(e.page,t,!1,!1)},destroy:function(){var e=this;e._pages.splice(0,e._pages.length),t.each(e.ctrls.splice(0,e.ctrls.length),function(e,t){t.destroy()}),e._super()},build:function(){var e=this,t=e.tmpl.items.available();e.total=0<e.size&&0<t.length?Math.ceil(t.length/e.size):1;for(var i,n,s=0;s<e.total;s++)e._pages.push(t.splice(0,e.size));1<e.total&&r.paging.hasCtrl(e.type)&&("both"!==(i=e.position)&&"top"!==i||(n=r.paging.makeCtrl(e.type,e.tmpl,e,"top")).create()&&(n.append(),e.ctrls.push(n)),"both"!==i&&"bottom"!==i||(n=r.paging.makeCtrl(e.type,e.tmpl,e,"bottom")).create()&&(n.append(),e.ctrls.push(n)))},rebuild:function(){var e=this;e.current=0,e.total=0,e._pages.splice(0,e._pages.length),t.each(e.ctrls.splice(0,e.ctrls.length),function(e,t){t.destroy()}),e.build()},all:function(){return this._pages.slice()},available:function(){return this.get(this.current)},controls:function(i){this.isValid(i)&&t.each(this.ctrls,function(e,t){t.update(i)})},isValid:function(e){return l.number(e)&&0<e&&e<=this.total},number:function(e){return this.isValid(e)?e:0===this.current?1:this.current},create:function(e,t){var i=this,n=(e=i.number(e))-1,s=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(s,!0)},get:function(e){return this.isValid(e)?(e=this.number(e),this._pages[e-1]):[]},set:function(e,t,i,n){var s=this;if(s.isValid(e)){s.controls(e);var r,o,a=s.number(e);if(a!==s.current)return o=s.current,!s.tmpl.trigger("before-page-change",[s.current,a,e=function(){var e;i=!l.boolean(i)||i,n=!!l.boolean(n)&&n,i&&1===s.current&&!s.tmpl.state.exists()&&(r=s.tmpl.state.get(),s.tmpl.state.update(r,s.pushOrReplace)),s.create(a,n),i&&(r=s.tmpl.state.get(),s.tmpl.state.update(r,s.pushOrReplace)),s.tmpl.trigger("page-change",[s.current,o,n]),s.scrollToTop&&l.boolean(t)&&t&&(0<(e=s.get(s.current)).length&&e[0].scrollTo("top")),s.tmpl.trigger("after-page-change",[s.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)}}),r.PagingControl=r.Component.extend({construct:function(e,t,i){var n=this;n._super(e),n.pages=t,n.position=i,n.$container=null,n._containerExisted=!1,n._placeholderClasses=[]},create:function(){var i=this;return i.$container=t("#"+i.tmpl.id+"_paging-"+i.position),0<i.$container.length?(i._containerExisted=!0,i.$container.removeClass(function(e,t){return i._placeholderClasses=t.match(/(^|\s)fg-ph-\S+/g)||[],i._placeholderClasses.join(" ")}).addClass([i.pages.cls.container,i.pages.theme].join(" "))):i.$container=t("<nav/>",{class:[i.pages.cls.container,i.pages.theme].join(" ")}),!0},destroy:function(){var e=this;e._containerExisted?e.$container.empty().removeClass().addClass(e._placeholderClasses.join(" ")):e.$container.remove(),e.$container=null},append:function(){var e=this;e._containerExisted||("top"===e.position?e.$container.insertBefore(e.tmpl.$el):e.$container.insertAfter(e.tmpl.$el))},update:function(e){}}),r.paging.register("default",r.Paging,null,{type:"none",theme:null,size:30,pushOrReplace:"push",position:"none",scrollToTop:!0},{container:"fg-paging-container"},null,-100)}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is),function(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,s=[],r=l("<ul/>",{class:i.list}),o=0,a=e.pages.total;o<a;o++)s.push(t=e.createItem(o+1,n.page)),r.append(t);return e.$list=r,e.$items=l(l.map(s,function(e){return e.get()})),e.$container.append(r),!0}return!1},destroy:function(){var e=this,t=e.pages.sel;e.$list.find(t.link).off("click.foogallery",e.onLinkClick),e.$list=l(),e.$items=l(),e._super()},update:function(e){this.setSelected(e-1)},setSelected:function(e){var t=this,i=t.pages.cls,s=t.pages.il8n,r=t.pages.sel;t.$items.filter(r.selected).removeClass(i.selected).each(function(e,t){var t=l(t),i=t.data("label"),t=t.find(r.reader);a.string(i)&&0!==t.length&&t.html(i)}),t.$items.eq(e).addClass(i.selected).each(function(e,t){var t=l(t),i=t.find(r.reader),n=i.html();a.string(n)&&0!==i.length&&(t.data("label",n),i.html(s.current))})},createItem:function(e,t,i,n,s){i=a.string(i)?i:e,t=a.string(t)?t:"";var r=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,r.limit+"")),s=a.string(s)?s:t,a.empty(s)||i.prepend(l("<span/>",{class:o.reader,text:s.replace(/\{PAGE}/g,"").replace(/\{LIMIT}/g,r.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(r,l,c,u,h,d){var p=0;l.Panel=l.Component.extend({construct:function(e,t,i,n){var s=this,r=(s.instanceId=++p,s._super(e),s.opt=h.extend({},s.tmpl.opt.panel,t),s.cls=h.extend({},s.tmpl.cls.panel,i),s.il8n=h.extend({},s.tmpl.il8n.panel,n),s.cls.states);s.cls.states.all=Object.keys(r).map(function(e){return r[e]}).join(" "),s.cls.states.allLoading=[r.idle,r.loading,r.loaded,r.error].join(" "),s.cls.states.allProgress=[r.idle,r.started,r.stopped,r.paused].join(" "),s.sel=c.selectify(s.cls),s.videoSources=u.undef(l.Panel.Video)?[]:l.Panel.Video.sources.load(s),s.buttons=new l.Panel.Buttons(s),s.content=new l.Panel.Content(s),s.info=new l.Panel.Info(s),s.thumbs=new l.Panel.Thumbs(s),s.areas=[s.content,s.info,s.thumbs],l.Panel.Cart&&(s.cart=new l.Panel.Cart(s),s.areas.push(s.cart)),l.Panel.Comments&&(s.comments=new l.Panel.Comments(s),s.areas.push(s.comments));const o=s.areas.filter(e=>e instanceof l.Panel.SideArea&&e.isVisible&&"overlay"===e.opt.group);for(;0<o.length;){const a=o.shift();o.forEach(e=>{e.isTargetingSamePosition(a)&&(e.isVisible=!1,e.button.isPressed=!1)})}s.$el=null,s.el=null,s.isCreated=!1,s.isDestroyed=!1,s.isDestroying=!1,s.isAttached=!1,s.isLoading=!1,s.isLoaded=!1,s.isError=!1,s.isInline=!1,s.isMaximized=!1,s.isFullscreen=!1,s.hasTransition=!u.empty(s.cls.transition[s.opt.transition]),s.currentItem=null,s.prevItem=null,s.nextItem=null,s.lastBreakpoint=null,s.isSmallScreen=!1,s.isMediumScreen=!1,s.isLargeScreen=!1,s.isMobileLayout=!1,s.breakpointClassNames=s.opt.breakpoints.map(function(e){return"fg-"+e.name+" fg-"+e.name+"-width fg-"+e.name+"-height"}).concat(["fg-landscape","fg-portrait"]).join(" "),s.robserver=new ResizeObserver(d.throttle(function(e){s.destroying||s.destroyed||e.forEach(function(e){e.target===s.el&&(e=c.getResizeObserverSize(e),s.onResize(e.width,e.height))})},50)),s.__media={},s.__loading=null,s.tmpl.destroying||s.tmpl.destroyed||s.tmpl.on({"after-filter-change":s.onItemsChanged},s)},isVisible:function(e){return e instanceof l.Item&&!e.noLightbox&&!e.panelHide},onItemsChanged:function(e){var t=this;t.thumbs.isCreated&&t.tmpl.initialized&&(t.thumbs.doCreateThumbs(t.tmpl.items.available(t.isVisible)),t.isAttached&&t.load(t.tmpl.items.first(t.isVisible)))},create:function(){var e=this;return e.isCreated||(e.trigger("create").isDefaultPrevented()||(e.isCreated=e.doCreate()),e.isCreated&&e.trigger("created")),e.isCreated},doCreate:function(){var t=this;return t.$el=t.createElem(),t.el=t.$el.get(0),t.tmpl.opt.protected&&(t.el.oncontextmenu=function(e){return e.preventDefault(),!1}),t.opt.keyboard&&t.$el.attr("tabindex",-1).on("keydown.foogallery",{self:t},t.onKeyDown),t.areas.forEach(function(e){e.appendTo(t.$el)}),t.buttons.appendTo(t.$el),!0},createElem:function(){var e=this,t=e.cls.transition[e.opt.transition]||"",t=(e.hasTransition=!u.empty(t),[e.cls.elem,t,e.cls.buttons.portrait[e.opt.buttonsPortrait]||"",e.cls.buttons.landscape[e.opt.buttonsLandscape]||"",u.string(e.opt.theme)?e.opt.theme:e.tmpl.getCSSClass("theme","fg-dark"),u.string(e.opt.loadingIcon)?e.opt.loadingIcon:e.tmpl.getCSSClass("loadingIcon"),u.string(e.opt.hoverIcon)?e.opt.hoverIcon:e.tmpl.getCSSClass("hoverIcon"),u.string(e.opt.videoIcon)?e.opt.videoIcon:e.tmpl.getCSSClass("videoIcon"),u.boolean(e.opt.stickyVideoIcon)&&e.opt.stickyVideoIcon?e.cls.stickyVideoIcon:e.tmpl.getCSSClass("stickyVideoIcon"),u.string(e.opt.insetShadow)?e.opt.insetShadow:e.tmpl.getCSSClass("insetShadow"),u.string(e.opt.filter)?e.opt.filter:e.tmpl.getCSSClass("filter"),u.string(e.opt.hoverColor)?e.opt.hoverColor:e.tmpl.getCSSClass("hoverColor"),u.boolean(e.opt.hoverScale)&&e.opt.hoverScale?e.cls.hoverScale:e.tmpl.getCSSClass("hoverScale"),u.string(e.opt.button)?e.opt.button:"",u.string(e.opt.highlight)?e.opt.highlight:"",e.opt.stackSideAreas?e.cls.stackSideAreas:"",e.opt.preserveButtonSpace?e.cls.preserveButtonSpace:"",e.opt.fitMedia?e.cls.fitMedia:"",e.opt.noMobile?e.cls.noMobile:"",e.opt.hoverButtons?e.cls.hoverButtons:"",e.opt.classNames]);return r("<div/>").addClass(t.join(" "))},destroy:function(){var i=this,e=i._super.bind(i);return i.isDestroyed?d.resolved:(i.isDestroying=!0,r.Deferred(function(t){var e;i.isLoading&&u.promise(i.__loading)?i.__loading.always(function(){var e=i.trigger("destroy");i.isDestroying=!1,e.isDefaultPrevented()||(i.isDestroyed=i.doDestroy()),i.isDestroyed&&i.trigger("destroyed"),t.resolve()}):(e=i.trigger("destroy"),i.isDestroying=!1,e.isDefaultPrevented()||(i.isDestroyed=i.doDestroy()),i.isDestroyed&&i.trigger("destroyed"),t.resolve())}).then(function(){e()}).promise())},doDestroy:function(){var e=this;return e.buttons.destroy(),e.areas.reverse(),e.areas.forEach(function(e){e.destroy()}),e.detach(),e.isCreated&&e.$el.remove(),!0},appendTo:function(e){var t=this;return!t.isCreated&&!t.create()||t.isAttached||(t.trigger("append",[e]).isDefaultPrevented()||(t.isAttached=t.doAppendTo(e)),t.isAttached&&t.trigger("appended",[e])),t.isAttached},doAppendTo:function(e){var t=this,e=r(e),i=t.buttons.get("maximize");return t.isInline=!e.is("body"),t.$el.appendTo(e),i.set(!t.isInline,t.isInline&&i.isEnabled()),t.robserver.observe(t.el),t.areas.forEach(function(e){e.listen()}),null!==t.el.parentNode},detach:function(){var e=this;return e.isCreated&&e.isAttached&&(e.trigger("detach").isDefaultPrevented()||(e.isAttached=!e.doDetach()),e.isAttached||e.trigger("detached")),!e.isAttached},doDetach:function(){return this.robserver.unobserve(this.el),this.areas.forEach(function(e){e.stopListening()}),this.$el.detach(),!0},resize:function(){var e=this;e.$el.removeClass(e.breakpointClassNames).addClass(e.lastBreakpoint),e.isMediumScreen=e.$el.hasClass("fg-medium"),e.isLargeScreen=e.$el.hasClass("fg-large"),e.isXLargeScreen=e.$el.hasClass("fg-x-large"),e.isSmallScreen=!e.isMediumScreen&&!e.isLargeScreen&&!e.isXLargeScreen,e.isMobileLayout=e.isSmallScreen&&!e.opt.noMobile,e.areas.forEach(function(e){e.resize()}),e.buttons.resize()},onResize:function(e,t){e=this.getBreakpoint(e,t);this.lastBreakpoint!==e&&(this.lastBreakpoint=e,this.resize())},getBreakpoint:function(n,s){var r=[];return this.opt.breakpoints.forEach(function(e){var t=e.width<=n,i=e.height<=s;t&&i&&r.push("fg-"+e.name),t&&r.push("fg-"+e.name+"-width"),i&&r.push("fg-"+e.name+"-height")}),r.push(s<n?"fg-landscape":"fg-portrait"),0<r.length?r.join(" "):null},getMedia:function(e){return e instanceof l.Item?this.__media.hasOwnProperty(e.id)?this.__media[e.id]:this.__media[e.id]=l.Panel.media.make(e.type,this,e):null},getItem:function(e){var t=this,i=e;return(i=i instanceof l.Item?i:t.currentItem)instanceof l.Item||(i=t.tmpl.items.first(t.isVisible)),e instanceof l.Item&&!t.isVisible(e)&&((i=t.tmpl.items.next(e,t.isVisible,t.opt.loop))instanceof l.Item||(i=t.tmpl.items.prev(e,t.isVisible,t.opt.loop))),i},load:function(i){var n=this;return(i=n.getItem(i))instanceof l.Item?i===n.currentItem?d.reject("item is currently loaded"):(n.isLoading=!0,n.isLoaded=!1,n.isError=!1,n.__loading=r.Deferred(function(e){var t;n.isCreated&&n.isAttached?(t=n.getMedia(i))instanceof l.Panel.Media?n.trigger("load",[t,i]).isDefaultPrevented()?e.rejectWith("default prevented"):(n.currentItem=i,n.prevItem=n.tmpl.items.prev(i,n.isVisible,n.opt.loop),n.nextItem=n.tmpl.items.next(i,n.isVisible,n.opt.loop),n.doLoad(t).then(e.resolve).catch(e.reject)):e.rejectWith("no media to load"):e.rejectWith("not created or attached")}).always(function(){n.isLoading=!1}).then(function(){n.isLoaded=!0,n.trigger("loaded",[i]),i.updateState()}).catch(function(){n.isError=!0,n.trigger("error",[i])}).promise()):d.reject("no item to load")},doLoad:function(t){var e=this,i=[];return e.buttons.beforeLoad(t),e.areas.forEach(function(e){i.push(e.load(t))}),r.when.apply(r,i).then(function(){e.buttons.afterLoad(t)}).promise()},open:function(e,t){var i=this;return e=i.getItem(e),i.trigger("open",[e,t]).isDefaultPrevented()?d.reject("default prevented"):i.doOpen(e,t).then(function(){i.trigger("opened",[e,t])})},doOpen:function(t,i){var n=this;return r.Deferred(function(e){t instanceof l.Item?(i=u.empty(i)?"body":i,n.isAttached||n.appendTo(i),n.isAttached?n.load(t).then(e.resolve).catch(e.reject):e.rejectWith("not attached")):e.rejectWith("item not instanceof FooGallery.Item")}).promise()},next:function(){var e=this,t=e.currentItem,i=e.nextItem;return i instanceof l.Item?e.trigger("next",[t,i]).isDefaultPrevented()?d.reject("default prevented"):e.doNext(i).then(function(){e.trigger("after-next",[t,i])}):d.reject("no next item")},doNext:function(e){return this.load(e)},prev:function(){var e=this,t=e.currentItem,i=e.prevItem;return i instanceof l.Item?e.trigger("prev",[t,i]).isDefaultPrevented()?d.reject("default prevented"):e.doPrev(i).then(function(){e.trigger("after-prev",[t,i])}):d.reject("no prev item")},doPrev:function(e){return this.load(e)},close:function(e){var t=this;return t.isClosing?r.Deferred().reject():t.trigger("close",[t.currentItem]).isDefaultPrevented()?d.reject("default prevented"):t.doClose(e).then(function(){t.trigger("closed")})},doClose:function(i,e){e=!u.boolean(e)||e;var n=this;return n.isClosing=!0,r.Deferred(function(e){n.content.close(i).then(function(){var t=[];n.areas.forEach(function(e){e!==n.content&&t.push(e.close(i))}),r.when.apply(r,t).then(e.resolve).catch(e.reject)})}).always(function(){n.isClosing=!1,n.currentItem=null,n.buttons.close(),e&&n.detach(),n.tmpl.state.clear()}).promise()},trapFocus:function(){this.isCreated&&this.$el.on("keydown",{self:this},this.onTrapFocusKeydown)},releaseFocus:function(){this.isCreated&&this.$el.off("keydown",this.onTrapFocusKeydown)},onTrapFocusKeydown:function(e){var t,i,n,s;9===e.keyCode&&(i=e.data.self,(s=(t=r(e.target)).parents("[role=dialog]")).length&&(i=(s=s.find(i.opt.focusable.include).not(i.opt.focusable.exclude)).first(),s=s.last(),n=e.shiftKey?i:s,s=e.shiftKey?s:i,n.length&&t.is(n)&&(e.preventDefault(),s.trigger("focus"))))},onKeyDown:function(e){var t=e.data.self;switch(e.which){case 39:case 40:t.next();break;case 37:case 38:t.prev();break;case 27:t.isFullscreen?t.buttons.get("fullscreen").exit():t.isMaximized&&t.isInline?t.buttons.get("maximize").exit():t.opt.buttons.close&&t.close()}}}),l.template.configure("core",{panel:{classNames:"",noMobile:!1,hoverButtons:!1,icons:"default",transition:"none",theme:null,button:null,highlight:null,loadingIcon:null,hoverIcon:null,videoIcon:null,stickyVideoIcon:null,hoverColor:null,hoverScale:null,insetShadow:null,filter:null,loop:!0,autoProgress:0,autoProgressStart:!0,fitMedia:!1,keyboard:!0,noScrollbars:!0,swipe:!0,stackSideAreas:!0,preserveButtonSpace:!0,buttonsPortrait:"top",buttonsLandscape:"right",admin:!1,info:"bottom",infoVisible:!1,infoOverlay:!0,infoAutoHide:!0,infoAlign:"default",exif:"none",cart:"none",cartAutoHide:!0,cartVisible:!1,cartOriginal:!1,cartOverlay:!0,cartAjax:null,cartNonce:null,cartTimeout:null,thumbs:"none",thumbsVisible:!0,thumbsCaptions:!0,thumbsCaptionsAlign:"default",thumbsSmall:!1,thumbsBestFit:!0,focusable:{include:"a[href], area[href], input, select, textarea, button, iframe, object, embed, [tabindex], [contenteditable]",exclude:"[tabindex=-1], [disabled], :hidden"},buttons:{prev:!0,next:!0,close:!0,maximize:!0,fullscreen:!0,autoProgress:!0,info:!0,thumbs:!1,cart:!0,download:!1},breakpoints:[{name:"medium",width:800,height:800},{name:"large",width:1024,height:1024},{name:"x-large",width:1280,height:1280}]}},{panel:{elem:"fg-panel",maximized:"fg-panel-maximized",fullscreen:"fg-panel-fullscreen",fitMedia:"fg-panel-fit-media",noScrollbars:"fg-panel-no-scroll",stackSideAreas:"fg-panel-area-stack",preserveButtonSpace:"fg-panel-preserve-button-space",hoverButtons:"fg-panel-hover-buttons",stickyVideoIcon:"fg-video-sticky",hoverScale:"fg-hover-scale",noMobile:"fg-panel-no-mobile",loader:"fg-loader",states:{idle:"fg-idle",loading:"fg-loading",loaded:"fg-loaded",error:"fg-error",visible:"fg-visible",reverse:"fg-reverse",toggled:"fg-toggled",selected:"fg-selected",disabled:"fg-disabled",hidden:"fg-hidden",started:"fg-started",stopped:"fg-stopped",paused:"fg-paused",noTransitions:"fg-no-transitions"},buttons:{portrait:{top:"fg-panel-buttons-top",bottom:"fg-panel-buttons-bottom"},landscape:{right:"fg-panel-buttons-right",left:"fg-panel-buttons-left"},container:"fg-panel-buttons",prev:"fg-panel-button fg-panel-button-prev",next:"fg-panel-button fg-panel-button-next",autoProgress:"fg-panel-button fg-panel-button-progress",close:"fg-panel-button fg-panel-button-close",fullscreen:"fg-panel-button fg-panel-button-fullscreen",maximize:"fg-panel-button fg-panel-button-maximize",info:"fg-panel-button fg-panel-button-info",thumbs:"fg-panel-button fg-panel-button-thumbs",cart:"fg-panel-button fg-panel-button-cart",download:"fg-panel-button fg-panel-button-download"},transition:{fade:"fg-panel-fade",horizontal:"fg-panel-horizontal",vertical:"fg-panel-vertical"},area:{elem:"fg-panel-area",inner:"fg-panel-area-inner"},content:{buttons:"fg-panel-content-buttons"},sideArea:{toggle:"fg-panel-area-toggle",button:"fg-panel-area-button",visible:"fg-panel-area-visible",overlay:"fg-panel-area-overlay",position:{top:"fg-panel-area-top",right:"fg-panel-area-right",bottom:"fg-panel-area-bottom",left:"fg-panel-area-left"}},info:{overlay:"fg-panel-info-overlay",align:{left:"fg-panel-media-caption-left",center:"fg-panel-media-caption-center",right:"fg-panel-media-caption-right",justified:"fg-panel-media-caption-justified"}},cart:{original:"fg-panel-cart-original"},thumbs:{prev:"fg-panel-thumbs-button fg-panel-thumbs-prev",next:"fg-panel-thumbs-button fg-panel-thumbs-next",viewport:"fg-panel-thumbs-viewport",stage:"fg-panel-thumbs-stage",noCaptions:"fg-panel-thumbs-no-captions",small:"fg-panel-thumbs-small",spacer:"fg-panel-thumb-spacer",thumb:{elem:"fg-panel-thumb",media:"fg-panel-thumb-media",overlay:"fg-panel-thumb-overlay",wrap:"fg-panel-thumb-wrap",image:"fg-panel-thumb-image",caption:"fg-panel-thumb-caption",title:"fg-panel-thumb-title",description:"fg-panel-thumb-description"},align:{left:"fg-panel-thumb-caption-left",center:"fg-panel-thumb-caption-center",right:"fg-panel-thumb-caption-right",justified:"fg-panel-thumb-caption-justified"}}}},{panel:{buttons:{prev:"Previous Media",next:"Next Media",close:"Close Modal",maximize:"Toggle Maximize",fullscreen:"Toggle Fullscreen",autoProgress:"Auto Progress",info:"Toggle Information",thumbs:"Toggle Thumbnails",cart:"Toggle Cart",download:"Download Media"}}})}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.obj,FooGallery.utils.fn,FooGallery.utils.transition),function(e,s,t,r){s.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 s.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 s.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 s.Panel.AutoProgress(this.panel),30),this.register(new s.Panel.Download(this.panel),170),this.register(new s.Panel.Maximize(this.panel),180),this.register(new s.Panel.Fullscreen(this.panel),190),this.register(new s.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 s.Panel.Button?this.__registered.push({name:e.name,button:e,priority:r.number(t)?t:99})-1:-1},get:function(e){for(var t=null,i=0,n=this.__registered.length;i<n;i++)if(this.__registered[i].name===e){t=this.__registered[i].button;break}return t},each:function(t,e){var i=this;e&&i.__registered.sort(function(e,t){return e.priority-t.priority}),i.__registered.forEach(function(e){t.call(i,e.button)})},toggle:function(e,t){e=this.get(e);null!=e&&e.toggle(t)},disable:function(e,t){e=this.get(e);null!=e&&e.disable(t)},press:function(e,t){var i=this,n=i.get(e);t&&r.string(n.groupName)&&i.each(function(e){n!==e&&e instanceof s.Panel.SideAreaButton&&n.groupName===e.groupName&&(i.panel.isSmallScreen||e.isTargetingSamePosition(n))&&e.area.toggle(!1)}),n.press(t)},destroy:function(){var e=this;return e.panel.trigger("buttons-destroy",[e]).isDefaultPrevented()||(e.isCreated=!e.doDestroy()),e.isCreated||e.panel.trigger("buttons-destroyed",[e]),!e.isCreated},doDestroy:function(){return this.each(function(e){e.destroy()}),this.isCreated&&(this.detach(),this.$el.remove()),!0},create:function(){var e=this;return e.isCreated||(e.panel.trigger("buttons-create",[e]).isDefaultPrevented()||(e.isCreated=e.doCreate()),e.isCreated&&e.panel.trigger("buttons-created",[e])),e.isCreated},doCreate:function(){var t=this;return t.$el=e("<div/>").addClass(t.cls.container),t.each(function(e){e.appendTo(t.$el)},!0),!0},appendTo:function(e){var t=this;return t.isCreated||t.create(),t.isCreated&&!t.isAttached&&(t.panel.trigger("buttons-append",[t,e]).isDefaultPrevented()||(t.isAttached=t.doAppendTo(e)),t.isAttached&&t.panel.trigger("buttons-appended",[t,e])),t.isAttached},doAppendTo:function(e){return this.$el.appendTo(e),0<this.$el.parent().length},detach:function(){var e=this;return e.isCreated&&e.isAttached&&(e.panel.trigger("buttons-detach",[e]).isDefaultPrevented()||(e.isAttached=!e.doDetach()),e.isAttached||e.panel.trigger("buttons-detached",[e])),!e.isAttached},doDetach:function(){return this.$el.detach(),!0},beforeLoad:function(t){this.each(function(e){e.beforeLoad(t)})},afterLoad:function(t){this.each(function(e){e.afterLoad(t)})},close:function(){this.each(function(e){e.close()})},resize:function(){const e=this.get("prev"),t=this.get("next");var i=this.panel.isMobileLayout?this.$el:this.panel.content.$buttons;t&&t.prependTo(i),e&&e.prependTo(i),this.each(function(e){e.resize()})}})}(FooGallery.$,FooGallery,(FooGallery.icons,FooGallery.utils),FooGallery.utils.is),function(n,e,i,t,s,r){e.Panel.Button=t.Class.extend({construct:function(e,t,i){this.panel=e,this.name=t,this.opt=r.extend({icon:null,label:null,visible:!!e.opt.buttons[t],disabled:!1,toggle:!1,pressed:!1,group:null,click:n.noop,beforeLoad:n.noop,afterLoad:n.noop,close:n.noop,resize:n.noop},i),this.cls={elem:e.cls.buttons[t],states:e.cls.states},this.$el=null,this.groupName=this.opt.group,this.isVisible=this.opt.visible,this.isDisabled=this.opt.disabled,this.isToggle=this.opt.toggle,this.isPressed=this.opt.pressed,this.isCreated=!1,this.isAttached=!1},isEnabled:function(){return this.panel.opt.buttons.hasOwnProperty(this.name)&&this.panel.opt.buttons[this.name]},create:function(){var e,t=this;return t.isCreated||(t.$el=n("<button/>",{type:"button","aria-label":t.opt.label,"aria-disabled":t.isDisabled,"aria-hidden":!t.isVisible}).addClass(t.cls.elem).on("click.foogallery",{self:t},t.onButtonClick),s.string(t.opt.icon)?t.$el.append(i.get(t.opt.icon,t.panel.opt.icons)):s.array(t.opt.icon)?t.opt.icon.forEach(function(e){t.$el.append(i.get(e,t.panel.opt.icons))}):s.fn(t.opt.icon)&&t.$el.append(t.opt.icon.call(this)),t.isCreated=!0,e=t.isEnabled(),t.toggle(e),t.disable(!e),t.isToggle&&t.press(t.isPressed)),t.isCreated},destroy:function(){return this.isCreated&&(this.$el.off("click.foogallery").remove(),this.isCreated=!1),!this.isCreated},appendTo:function(e){return this.isAttached&&this.detach(),!this.isCreated&&!this.create()||this.isAttached||(this.$el.appendTo(e),this.isAttached=!0),this.isAttached},prependTo:function(e){return this.isAttached&&this.detach(),!this.isCreated&&!this.create()||this.isAttached||(this.$el.prependTo(e),this.isAttached=!0),this.isAttached},detach:function(){return this.isCreated&&this.isAttached&&(this.$el.detach(),this.isAttached=!1),this.isAttached},toggle:function(e){this.isCreated&&(this.isVisible=s.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=s.boolean(e)?e:!this.isDisabled,this.$el.toggleClass(this.cls.states.disabled,this.isDisabled).attr({"aria-disabled":this.isDisabled,disabled:this.isDisabled}))},press:function(e){this.isCreated&&(this.isPressed=e,this.$el.attr("aria-pressed",this.isPressed))},beforeLoad:function(e){this.opt.beforeLoad.call(this,e)},afterLoad:function(e){this.opt.afterLoad.call(this,e)},close:function(){this.opt.close.call(this)},click:function(){this.opt.click.call(this)},resize:function(){this.opt.resize.call(this)},onButtonClick:function(e){e.preventDefault(),e.data.self.click()}})}(FooGallery.$,FooGallery,FooGallery.icons,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.obj),function(t,n){t.Panel.SideAreaButton=t.Panel.Button.extend({construct:function(e){this._super(e.panel,e.name,{icon:e.opt.icon,label:e.opt.label,autoHideArea:e.opt.autoHide,click:e.toggle.bind(e),toggle:!0,pressed:e.opt.visible,group:e.opt.group}),this.area=e,this.__isVisible=null,this.__autoHide=null},beforeLoad:function(e){var t=this.area.isEnabled(),i=t&&this.area.canLoad(e);i||null!=this.__isVisible?i&&n.boolean(this.__isVisible)&&(this.area.toggle(this.__isVisible),this.__isVisible=null):(this.__isVisible=this.area.isVisible,this.area.toggle(!1)),t?this.disable(!i):this.toggle(i),this.checkAutoHide(t,i),this.opt.beforeLoad.call(this,e)},checkAutoHide:function(e,t){e&&t&&!0===this.opt.autoHideArea&&(null==this.__autoHide&&this.panel.isSmallScreen?(this.__autoHide=this.area.isVisible,this.area.toggle(!1),this.area.button.toggle(!0)):n.boolean(this.__autoHide)&&!this.panel.isSmallScreen&&(this.area.button.toggle(this.area.button.isEnabled()&&this.area.opt.toggle),this.area.toggle(this.__autoHide),this.__autoHide=null))},isTargetingSamePosition:function(e){return e instanceof t.Panel.SideAreaButton&&e.area.isTargetingSamePosition(this.area)},resize:function(){var e=this.area.isEnabled(),t=e&&this.area.canLoad(this.area.currentMedia);this.checkAutoHide(e,t)}})}((FooGallery.$,FooGallery),FooGallery.utils.is),function(e,i){e.Panel.AutoProgress=e.Panel.Button.extend({construct:function(e){var t=this;t.__stopped=!e.opt.autoProgressStart,t.__timer=new i.Timer,t._super(e,"autoProgress",{icon:"auto-progress",label:e.il8n.buttons.autoProgress}),t.$icon=null,t.$circle=null,t.circumference=0},isEnabled:function(){return this._super()&&0<this.panel.opt.autoProgress},create:function(){var e;return this._super()&&(this.$icon=this.$el.find("svg"),this.$circle=this.$icon.find("circle"),e=parseFloat(this.$circle.attr("r")),this.circumference=2*e*Math.PI,this.$circle.css({"stroke-dasharray":this.circumference+" "+this.circumference,"stroke-dashoffset":this.circumference+""}),this.__timer.on({"start resume":this.onStartOrResume,pause:this.onPause,stop:this.onStop,tick:this.onTick,"complete reset":this.onCompleteOrReset,complete:this.onComplete},this)),this.isCreated},close:function(){this.__timer.pause(),this._super()},destroy:function(){return this.__timer.destroy(),this._super()},beforeLoad:function(e){this.isEnabled()&&this.__timer.reset(),this._super(e)},afterLoad:function(e){this.isEnabled()&&(this.__timer.countdown(this.panel.opt.autoProgress),this.__stopped&&this.__timer.pause()),this._super(e)},click:function(){this.__timer.isRunning?(this.__stopped=!0,this.__timer.pause()):this.__timer.canResume?(this.__stopped=!1,this.__timer.resume()):(this.__stopped=!1,this.__timer.restart()),this._super()},onStartOrResume:function(){this.$icon.removeClass(this.cls.states.allProgress).addClass(this.cls.states.started)},onPause:function(){this.$icon.removeClass(this.cls.states.allProgress).addClass(this.cls.states.paused)},onStop:function(){this.$icon.removeClass(this.cls.states.allProgress).addClass(this.cls.states.stopped)},onTick:function(e,t,i){this.$circle.css("stroke-dashoffset",this.circumference-t/i*100/100*this.circumference)},onCompleteOrReset:function(){this.$icon.removeClass(this.cls.states.allProgress)},onComplete:function(){this.panel.next()}})}((FooGallery.$,FooGallery),FooGallery.utils),function(i,e){i.fullscreen=new e.FullscreenAPI,i.Panel.Fullscreen=i.Panel.Button.extend({construct:function(e){this._super(e,"fullscreen",{icon:["expand","shrink"],label:e.il8n.buttons.fullscreen,toggle:!0})},isEnabled:function(){return this._super()&&i.fullscreen.supported},click:function(){var e=this,t=e.panel.el;i.fullscreen.toggle(t).then(function(){i.fullscreen.element()===t?(i.fullscreen.on("change error",e.onFullscreenChange,e),e.enter()):(i.fullscreen.off("change error",e.onFullscreenChange,e),e.exit())},function(e){console.debug("Error toggling fullscreen on element.",e,t)}),e._super()},onFullscreenChange:function(){i.fullscreen.element()!==this.panel.el&&this.exit()},enter:function(){this.panel.isFullscreen||(this.panel.isFullscreen=!0,this.panel.$el.addClass(this.panel.cls.fullscreen),this.panel.isMaximized||(this.panel.$el.attr({role:"dialog","aria-modal":!0}).trigger("focus"),this.panel.trapFocus()),this.panel.buttons.press("fullscreen",!0),this.panel.buttons.toggle("maximize",!1))},exit:function(){this.panel.isFullscreen&&(this.panel.$el.removeClass(this.panel.cls.fullscreen),this.panel.isMaximized||(this.panel.$el.attr({role:null,"aria-modal":null}).trigger("focus"),this.panel.releaseFocus()),this.panel.buttons.press("fullscreen",!1),this.panel.buttons.toggle("maximize",this.panel.isInline&&this.panel.buttons.opt.maximize),this.panel.isFullscreen=!1)}})}((FooGallery.$,FooGallery),FooGallery.utils),function(t,e,i){e.Panel.Maximize=e.Panel.Button.extend({construct:function(e){this._super(e,"maximize",{icon:"maximize",label:e.il8n.buttons.maximize,toggle:!0}),this.scrollPosition=[],this.$placeholder=t("<span/>")},click:function(){this.set(!this.panel.isMaximized),this._super()},close:function(){this.exit(),this._super()},set:function(e,t){e?this.enter():this.exit(),t=i.boolean(t)?t:this.isVisible,this.toggle(t)},enter:function(){this.panel.isMaximized||(this.panel.isMaximized=!0,this.$placeholder.insertAfter(this.panel.$el),this.panel.$el.appendTo("body").addClass(this.panel.cls.maximized).attr({role:"dialog","aria-modal":!0}).trigger("focus"),this.panel.buttons.press("maximize",!0),this.panel.trapFocus(),this.panel.opt.noScrollbars&&(this.scrollPosition=[window.scrollX,window.scrollY],t("html").addClass(this.panel.cls.noScrollbars)))},exit:function(){this.panel.isMaximized&&(this.panel.isMaximized=!1,this.panel.$el.removeClass(this.panel.cls.maximized).attr({role:null,"aria-modal":null}).insertBefore(this.$placeholder),this.panel.isInline&&this.panel.$el.trigger("focus"),this.$placeholder.detach(),this.panel.buttons.press("maximize",!1),this.panel.releaseFocus(),this.panel.opt.noScrollbars&&(t("html").removeClass(this.panel.cls.noScrollbars).prop("clientWidth"),i.array(this.scrollPosition)&&2===this.scrollPosition.length&&window.scrollTo(this.scrollPosition[0],this.scrollPosition[1]),this.scrollPosition=[]))}})}(FooGallery.$,FooGallery,FooGallery.utils.is),function(t,i){t.Panel.Download=t.Panel.Button.extend({construct:function(e){this._super(e,"download",{icon:"download",label:e.il8n.buttons.download,toggle:!1}),this.downloadable=["image"]},beforeLoad:function(e){this._super(e),this.isEnabled()&&this.toggle(this.downloadable.includes(e?.item?.type))},click:function(){this._super();var e=this.panel.currentItem;e instanceof t.Item&&i.string(e.download)&&(this.disable(!0),t.downloadImage(e.download).catch(e=>console.error(e)).finally(()=>this.disable(!1)))}})}((FooGallery.$,FooGallery),FooGallery.utils.is),function(e,o,s,n,r){o.Panel.Area=s.Class.extend({construct:function(e,t,i,n){this.panel=e,this.name=t,this.opt=r.extend({waitForUnload:!0},i),this.cls=r.extend({elem:this.__cls(e.cls.area.elem,t,!0),inner:this.__cls(e.cls.area.inner,t,!0)},n),this.sel=s.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(s){var r=this;return s instanceof o.Panel.Media?e.Deferred(function(e){var t,i,n=r.shouldReverseTransition(r.currentMedia,s);r.panel.trigger("area-load",[r,s,n]).isDefaultPrevented()?e.rejectWith("default prevented"):(t=r.currentMedia instanceof o.Panel.Media,i=r.currentMedia,(r.opt.waitForUnload&&t?(r.panel.trigger("area-unload",[r,i]),r.doUnload(i,n).then(function(){r.panel.trigger("area-unloaded",[r,i]),r.currentMedia=s,r.panel.trigger("area-load",[r,s]),r.doLoad(s,n).then(e.resolve).catch(e.reject)})):(t&&(r.panel.trigger("area-unload",[r,i]),r.doUnload(i,n).then(function(){r.panel.trigger("area-unloaded",[r,i])})),r.currentMedia=s,r.panel.trigger("area-load",[r,s]),r.doLoad(s,n).then(e.resolve))).catch(e.reject))}).then(function(){r.panel.trigger("area-loaded",[r,s])}).catch(function(){r.panel.trigger("area-error",[r,s])}).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.$buttons=null,this.robserver=null},doCreate:function(){var e=this;return!!e._super()&&(e.$buttons=o("<div/>").addClass(e.cls.buttons).appendTo(e.$el),e.panel.opt.swipe&&e.$inner.fgswipe({data:{self:e},swipe:e.onSwipe,allowPageScroll:!0}),e.robserver=new ResizeObserver(i.throttle(function(){e.panel instanceof t.Panel&&!e.panel.destroying&&!e.panel.destroyed&&e.resize()},50)),e.robserver.observe(e.$inner.get(0)),!0)},doDestroy:function(){return this.robserver instanceof ResizeObserver&&this.robserver.disconnect(),this.$inner.fgswipe("destroy"),this._super()},doLoad:function(i,n){var s=this,r=s.panel.cls.states;return o.Deferred(function(e){i.isCreated||i.create(),i.$el.toggleClass(r.reverse,n),i.appendTo(s.$inner);var t=[];s.panel.hasTransition?t.push(a.start(i.$el,function(e){e.addClass(r.visible)},null,350)):i.$el.addClass(r.visible),t.push(i.load()),o.when.apply(o,t).then(e.resolve).catch(e.reject)}).promise()},doUnload:function(i,n){var s=this,r=s.panel.cls.states;return o.Deferred(function(e){var t=[];i.isCreated&&(i.$el.toggleClass(r.reverse,!n),s.panel.hasTransition?t.push(a.start(i.$el,function(e){e.removeClass(r.visible)},null,350)):i.$el.removeClass(r.visible)),t.push(i.unload()),o.when.apply(o,t).then(e.resolve).catch(e.reject)}).always(function(){i.isCreated&&i.$el.removeClass(r.reverse),i.detach()}).promise()},onSwipe:function(e,t){t=t.self;"E"===e.direction&&t.panel.prev(),"W"===e.direction&&t.panel.next()},resize:function(){this.currentMedia instanceof t.Panel.Media&&this.currentMedia.resize()}})}(FooGallery.$,FooGallery,FooGallery.utils.fn,FooGallery.utils.transition),function(i,n,o){i.Panel.SideArea=i.Panel.Area.extend({construct:function(e,t,i,n){var s=this,r=e.cls.sideArea;s._super(e,t,o.extend({icon:null,label:null,position:null,overlay:!1,visible:!0,autoHide:!1,toggle:!!e.opt.buttons[t],priority:99},i),o.extend({toggle:this.__cls(r.toggle,t,!0),visible:this.__cls(r.visible,t),overlay:this.__cls(r.overlay,t),position:{top:this.__cls(r.position.top,t),right:this.__cls(r.position.right,t),bottom:this.__cls(r.position.bottom,t),left:this.__cls(r.position.left,t)}},n)),s.isVisible=s.opt.visible,s.allPositionClasses=Object.keys(s.cls.position).map(function(e){return s.cls.position[e]}).join(" ")+" "+s.cls.overlay,s.button=s.registerButton()},registerButton:function(){var e=new i.Panel.SideAreaButton(this);return this.panel.buttons.register(e,this.opt.priority),e},doCreate:function(){return!!this._super()&&(this.isEnabled()&&(this.panel.$el.toggleClass(this.cls.visible,this.isVisible),this.setPosition(this.opt.position)),!0)},isEnabled:function(){return this.cls.position.hasOwnProperty(this.opt.position)},canLoad:function(e){return this.isEnabled()&&e instanceof i.Panel.Media},getPosition:function(){var e;return this.isEnabled()?(e=this.cls.position[this.opt.position],this.opt.overlay?e+" "+this.cls.overlay:e):null},setPosition:function(e,t=null){this.opt.position=this.cls.position.hasOwnProperty(e)?e:null,n.boolean(t)&&(this.opt.overlay=t),n.jq(this.panel.$el)&&this.panel.$el.removeClass(this.allPositionClasses).addClass(this.getPosition())},toggle:function(e){this.isVisible=n.boolean(e)?e:!this.isVisible,n.jq(this.panel.$el)&&this.panel.$el.toggleClass(this.cls.visible,this.isVisible),this.panel.buttons.press(this.name,this.isVisible)},onToggleClick:function(e){e.preventDefault(),e.data.self.toggle()},isTargetingSamePosition:function(e){var t;return e instanceof i.Panel.SideArea&&(t=this.opt.position,e=e.opt.position,n.string(t)&&n.string(e)&&t===e)}})}((FooGallery.$,FooGallery),(FooGallery.icons,FooGallery.utils,FooGallery.utils.is),(FooGallery.utils.fn,FooGallery.utils.obj)),function(e,t,i){e.Panel.Info=e.Panel.SideArea.extend({construct:function(e){this._super(e,"info",{icon:"info",label:e.il8n.buttons.info,position:e.opt.info,overlay:e.opt.infoOverlay,visible:e.opt.infoVisible,autoHide:e.opt.infoAutoHide,align:e.opt.infoAlign,waitForUnload:!1,group:"overlay",priority:90},e.cls.info)},doCreate:function(){var e=this;return!(!e.isEnabled()||!e._super())&&(t.string(e.opt.align)&&e.cls.align.hasOwnProperty(e.opt.align)&&e.panel.$el.addClass(e.cls.align[e.opt.align]),!0)},canLoad:function(e){return this._super(e)&&e.caption.canLoad()},doLoad:function(e,t){return this.canLoad(e)&&(e.caption.appendTo(this.$inner),e.caption.load()),i.resolved},doUnload:function(e,t){return e.caption.unload(),e.caption.detach(),i.resolved}})}((FooGallery.$,FooGallery),FooGallery.utils.is,FooGallery.utils.fn),function(s,r,e,o,i,u,h){r.Panel.Thumbs=r.Panel.SideArea.extend({construct:function(e){this._super(e,"thumbs",{icon:"thumbs",label:e.il8n.buttons.thumbs,position:e.opt.thumbs,captions:e.opt.thumbsCaptions,align:e.opt.thumbsCaptionsAlign,small:e.opt.thumbsSmall,bestFit:e.opt.thumbsBestFit,toggle:!1,waitForUnload:!1},e.cls.thumbs),this.iobserver=null,this.robserver=null,this.$prev=null,this.$next=null,this.$viewport=null,this.$stage=null,this.$dummy=null,this.__items=[],this.__animationFrameId=null,this.info=this.getInfo(),this.selectedIndex=0,this.scrollIndex=0,this.lastIndex=0},isHorizontal:function(){return-1!==["top","bottom"].indexOf(this.opt.position)},doCreate:function(){var n=this;return!(!n.isEnabled()||!n._super())&&(n.opt.captions||n.panel.$el.addClass(n.cls.noCaptions),n.opt.small&&n.panel.$el.addClass(n.cls.small),i.string(n.opt.align)&&n.cls.align.hasOwnProperty(n.opt.align)&&n.panel.$el.addClass(n.cls.align[n.opt.align]),n.$prev=s("<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=s("<div/>").addClass(n.cls.viewport).appendTo(n.$inner),n.$next=s("<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=s("<div/>").addClass(n.cls.stage).appendTo(n.$viewport),n.$dummy=s("<div/>").addClass(n.cls.thumb.elem).appendTo(n.$viewport),n.iobserver=new IntersectionObserver(function(e){e.forEach(function(e){e.isIntersecting&&(n.iobserver.unobserve(e.target),n.loadThumbElement(e.target))})},{root:n.$inner.get(0),rootMargin:"82px 300px"}),n.robserver=new ResizeObserver(u.throttle(function(e){var t,i;0<e.length&&n.panel instanceof r.Panel&&!n.panel.destroying&&!n.panel.destroyed&&(e=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(s("<div/>").addClass(t.cls.spacer)))},doCreateThumb:function(e){var t=this,i=t.cls.thumb;return s("<figure/>").addClass(i.elem).addClass(e.getTypeClass()).addClass(t.panel.cls.states.idle).append(s("<div/>").addClass(i.media).append(s("<div/>").addClass(i.overlay),s("<div/>").addClass(i.wrap).append(s("<img/>",{title:e.title,alt:e.alt}).attr({draggable:!1}).addClass(i.image)),s("<div/>").addClass(t.panel.cls.loader)),s("<div/>").addClass(i.caption).append(s("<div/>").addClass(i.title).html(e.caption),s("<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=s(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),s.Deferred(function(e){var t,i,n,s,r=a.$stage.find(a.sel.thumb.elem).eq(c);0<r.length?(t=c>a.scrollIndex,i=a.__items.length>=a.info.count,s=a.info.isHorizontal?(n=-r.prop("offsetLeft"),t&&(n+=a.info.remaining.width),"translateX("+((n=i&&a.info.stage.width-Math.abs(n)<a.info.viewport.width?a.info.viewport.width-a.info.stage.width:n)-1)+"px)"):(n=-r.prop("offsetTop"),t&&(n+=a.info.remaining.height),"translateY("+((n=i&&a.info.stage.height-Math.abs(n)<a.info.viewport.height?a.info.viewport.height-a.info.stage.height:n)-1)+"px)"),a.panel.hasTransition&&!o?h.start(a.$stage,function(e){e.css("transform",s)},null,350).then(function(){e.resolve()}).catch(e.reject):(a.$stage.addClass(l.noTransitions).css("transform",s),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},s={horizontal:0,vertical:0},r={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()},s={horizontal:Math.floor(t.width/n.width),vertical:Math.floor(t.height/n.height)},r={width:t.width/Math.min(c,s.horizontal),height:t.height/Math.min(c,s.vertical)},a=(this.opt.bestFit?r:n).width,l=(this.opt.bestFit?r:n).height,i={width:e?this.__items.length*a:a,height:e?l:this.__items.length*l},o={width:Math.floor(t.width-s.horizontal*a),height:Math.floor(t.height-s.vertical*l)}),{isHorizontal:e,viewport:t,stage:i,original:n,adjusted:r,remaining:o,counts:s,count:e?s.horizontal:s.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,s,e,r,t,o){s.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 s.Panel.Media.Caption(e,i),s.Panel.Media.Product&&(i.product=new s.Panel.Media.Product(e,i)),s.Panel.Media.Comments&&(i.comments=new s.Panel.Media.Comments(e,i)),i.$el=null,i.$content=null,i.isCreated=!1,i.isAttached=!1,i.isLoading=!1,i.isLoaded=!1,i.isError=!1},getSize:function(e,t,i,n){var s={};return r.string(e)&&r.string(t)&&(s[e]=r.size(i)?i:null,s[t]=r.size(n)?n:null,this.item.isCreated&&(s[e]=this.item.$anchor.data(e)||s[e],s[t]=this.item.$anchor.data(t)||s[t])),s},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&&r.string(e.item.href)&&(e.panel.trigger("media-create",[e]).isDefaultPrevented()||(e.isCreated=e.doCreate()),e.isCreated&&e.panel.trigger("media-created",[e])),e.isCreated},doCreate:function(){var e=this;return e.$el=n("<div/>").addClass([e.cls.elem,e.cls.type].join(" ")).append(n("<div/>").addClass(e.panel.cls.loader)),e.$content=e.doCreateContent().addClass(e.cls.content).css(e.getSizes()).appendTo(e.$el),!0},doCreateContent:function(){return n()},appendTo:function(e){var t=this;return t.isCreated||t.create(),t.isCreated&&!t.isAttached&&(t.panel.trigger("media-append",[t,e]).isDefaultPrevented()||(t.isAttached=t.doAppendTo(e)),t.isAttached&&t.panel.trigger("media-appended",[t,e])),t.isAttached},doAppendTo:function(e){return this.$el.appendTo(e),0<this.$el.parent().length},detach:function(){var e=this;return e.isCreated&&e.isAttached&&(e.panel.trigger("media-detach",[e]).isDefaultPrevented()||(e.isAttached=!e.doDetach()),e.isAttached||e.panel.trigger("media-detached",[e])),!e.isAttached},doDetach:function(){return this.$el.detach(),!0},load:function(){var t=this,i=t.panel.cls.states;return n.Deferred(function(e){t.panel.trigger("media-load",[t]).isDefaultPrevented()?e.rejectWith("default prevented"):t.isLoaded?e.resolve():t.isError?e.reject("previous error"):(t.isLoading=!0,t.$el.removeClass(i.allLoading).addClass(i.loading),t.doLoad().then(e.resolve).catch(e.reject))}).always(function(){t.isLoading=!1,t.$el.removeClass(i.loading)}).then(function(){t.isLoaded=!0,t.$el.addClass(i.loaded),t.panel.trigger("media-loaded",[t])}).catch(function(){t.isError=!0,t.$el.addClass(i.loaded),t.panel.trigger("media-error",[t])}).promise()},doLoad:function(){return t.resolved},unload:function(){var t=this;return n.Deferred(function(e){t.isCreated&&t.isAttached?t.panel.trigger("media-unload",[t]).isDefaultPrevented()?e.rejectWith("default prevented"):t.doUnload().then(e.resolve).catch(e.reject):e.rejectWith("not created or attached")}).then(function(){t.panel.trigger("media-unloaded",[t])}).promise()},doUnload:function(){return t.resolved},resize:function(){}}),s.template.configure("core",{panel:{media:{width:null,height:null,minWidth:null,minHeight:null,maxWidth:null,maxHeight:null,attrs:{}}}},{panel:{media:{elem:"fg-media",type:"fg-media-unknown",content:"fg-media-content",caption:{elem:"fg-media-caption",title:"fg-media-caption-title",description:"fg-media-caption-description",exif:{elem:"fg-media-caption-exif",auto:"fg-media-caption-exif-auto",full:"fg-media-caption-exif-full",partial:"fg-media-caption-exif-partial",minimal:"fg-media-caption-exif-minimal",prop:"fg-media-caption-exif-prop",icon:"fg-media-caption-exif-icon",content:"fg-media-caption-exif-content",label:"fg-media-caption-exif-label",value:"fg-media-caption-exif-value",tooltip:"fg-media-caption-exif-tooltip",tooltipPointer:"fg-media-caption-exif-tooltip-pointer",showTooltip:"fg-media-caption-exif-show-tooltip"}},product:{elem:"fg-media-product",inner:"fg-media-product-inner",header:"fg-media-product-header",body:"fg-media-product-body",footer:"fg-media-product-footer",button:"fg-panel-button",primary:"fg-panel-button-primary",secondary:"fg-panel-button-secondary",hidden:"fg-hidden",disabled:"fg-disabled",loading:"fg-loading"}}}},{panel:{media:{product:{title:"Product Information",addToCart:"Add to Cart",viewProduct:"View Product",goToCheckout:"Go to Checkout",success:"Successfully added to cart.",error:"Something went wrong adding to cart."}}}}),s.Panel.media=new s.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,s,r;e instanceof a.Item&&(t=this,i=!1,e.isCreated?(r=e.$anchor.data()||{},n=u.string(r.lightboxTitle),s=u.string(r.lightboxDescription),(n||s)&&(i=!0,t.title=a.safeParse(n?r.lightboxTitle:""),t.description=a.safeParse(s?r.lightboxDescription:""))):(r=e.attr.anchor,n=u.string(r["data-lightbox-title"]),s=u.string(r["data-lightbox-description"]),(n||s)&&(i=!0,t.title=a.safeParse(n?r["data-lightbox-title"]:""),t.description=a.safeParse(s?r["data-lightbox-description"]:""))),i||(t.title=e.caption,t.description=e.description),t.hasTitle=!u.empty(t.title),t.hasDescription=!u.empty(t.description),t.hasExif=e.hasExif&&-1!==c.inArray(t.opt.exif,["auto","full","partial","minimal"]))},create:function(){return this.isCreated||this.panel.trigger("caption-create",[this]).isDefaultPrevented()||(this.isCreated=this.doCreate(),this.isCreated&&this.panel.trigger("caption-created",[this])),this.isCreated},doCreate:function(){var n,s,r=this;return r.$el=o("<div/>").addClass(r.cls.elem),r.hasTitle&&r.$el.append(o("<div/>").addClass(r.cls.title).html(r.title)),r.hasDescription&&r.$el.append(o("<div/>").addClass(r.cls.description).html(r.description)),r.hasExif&&(n=r.media.item.exif,s=o("<div/>",{class:r.cls.exif.elem}).addClass(r.cls.exif[r.opt.exif]),a.supportedExifProperties.forEach(function(e){var t,i;u.empty(n[e])||(i="exif-"+h.kebab(e),t=r.media.item.il8n.exif[e],e=n[e],i=o("<div/>",{class:r.cls.exif.prop}).append(o("<div/>",{class:r.cls.exif.icon}).append(l.get(i,r.opt.icons)),o("<div/>",{class:r.cls.exif.content}).append(o("<div/>",{class:r.cls.exif.label}).text(t),o("<div/>",{class:r.cls.exif.value}).text(e)),o("<span/>",{class:r.cls.exif.tooltip}).text(t+": "+e).append(o("<span/>",{class:r.cls.exif.tooltipPointer}))),d||i.on("click",{self:r},r.onExifClick),s.append(i))}),r.$el.append(s)),!0},onExifClick:function(e){e.preventDefault();var t,e=e.data.self,i=o(this),n=i.find(e.sel.exif.tooltip),s=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",""),s.is(i)||(n.css("display","inline-block"),t=(s=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)"),s<0&&(s=Math.abs(s),n.css("left","calc(50% + "+s+"px)").find(e.sel.exif.tooltipPointer).css("left","calc(50% - "+s+"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).catch(e.reject))}).always(function(){t.$el.removeClass(i.loading)}).then(function(){t.$el.addClass(i.loaded),t.panel.trigger("caption-loaded",[t])}).catch(function(){t.$el.addClass(i.loaded),t.panel.trigger("caption-error",[t])}).promise()},doLoad:function(){return e.resolved},unload:function(){var t=this;return o.Deferred(function(e){t.isCreated&&t.isAttached?t.panel.trigger("caption-unload",[t]).isDefaultPrevented()?e.rejectWith("default prevented"):t.doUnload().then(e.resolve).catch(e.reject):e.rejectWith("not created or attached")}).then(function(){t.panel.trigger("caption-unloaded",[t])}).promise()},doUnload:function(){return e.resolved}})}(FooGallery.$,FooGallery,FooGallery.icons,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,(FooGallery.utils.obj,FooGallery.utils.str),FooGallery.utils.transition),function(e,s,a,r,i){s.Panel.Image=s.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,s,r,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(),s=o.$el.innerHeight(),t?(r=n/e.naturalWidth,e.naturalHeight*r<s&&(i=!1)):(r=s/e.naturalHeight,e.naturalWidth*r<n&&(i=!0)),a.requestFrame(function(){o.$content.removeClass(o.allFullClasses).addClass(i?o.cls.fullWidth:o.cls.fullHeight)})))},doLoad:function(){var n=this;return e.Deferred(function(e){var t=n.$content.get(0),{cors:i}=(t.alt=n.item.alt,t.onload=function(){t.onload=t.onerror=null,e.resolve(n)},t.onerror=function(){t.onload=t.onerror=null,e.rejectWith("error loading image")},n.panel.tmpl)["opt"];r.string(i)&&null===t.crossOrigin&&s.isCrossOrigin(n.item.href)&&(t.crossOrigin=i),t.src=n.item.href,t.complete&&t.onload()}).then(function(){n.resize()}).promise()}}),s.Panel.media.register("image",s.Panel.Image),s.template.configure("core",{panel:{image:{attrs:{draggable:!1}}}},{panel:{image:{type:"fg-media-image",fullWidth:"fg-media-full-width",fullHeight:"fg-media-full-height"}}})}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.obj),function(e,t,i){t.Panel.Iframe=t.Panel.Media.extend({construct:function(e,t){this._super(e,t),i.extend(this.opt,e.opt.iframe),i.extend(this.cls,e.cls.iframe),i.extend(this.sel,e.sel.iframe)},doCreateContent:function(){return e("<iframe/>").attr(this.opt.attrs)},doLoad:function(){var t=this;return e.Deferred(function(e){t.$content.off("load error").on({load:function(){t.$content.off("load error"),e.resolve(t)},error:function(){t.$content.off("load error"),e.reject(t)}}),t.$content.attr("src",t.item.href)}).promise()}}),t.Panel.media.register("iframe",t.Panel.Iframe),t.template.configure("core",{panel:{iframe:{attrs:{src:"",frameborder:"no",allow:"autoplay; fullscreen",allowfullscreen:!0}}}},{panel:{iframe:{type:"fg-media-iframe"}}})}(FooGallery.$,FooGallery,(FooGallery.utils,FooGallery.utils.obj)),function(e,t,i,n){t.Panel.Html=t.Panel.Media.extend({construct:function(e,t){this._super(e,t),i.extend(this.opt,e.opt.html),i.extend(this.cls,e.cls.html),i.extend(this.sel,e.sel.html),this.$target=null},doCreate:function(){return!!this._super()&&(!(!n.startsWith(this.item.href,"#")||0===(this.$target=e(this.item.href)).length)||(this.$target=null,!1))},doCreateContent:function(){return e("<div/>").attr(this.opt.attrs)},doAppendTo:function(e){return!!this._super(e)&&(this.$content.append(this.$target.contents()),!0)},doDetach:function(){return this.$target.append(this.$content.contents()),this._super()}}),t.Panel.media.register("html",t.Panel.Html),t.template.configure("core",{panel:{html:{}}},{panel:{html:{type:"fg-media-html"}}})}(FooGallery.$,FooGallery,(FooGallery.utils,FooGallery.utils.obj),FooGallery.utils.str),function(n,i,s){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=s.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,s,e,r){s.Justified=e.Class.extend({construct:function(e,t){var i=this;i.tmpl=e,i.$el=e.$el,i.options=n.extend(!0,{},s.Justified.defaults,t),i._items=[],i.maxRowHeight=0,i.borderSize=0,i.align=-1!==["left","center","right"].indexOf(i.options.align)?i.options.align:"center"},init:function(){var e=this;e.maxRowHeight=e.getMaxRowHeight(e.options.maxRowHeight,e.options.rowHeight),e.borderSize=e.getBorderSize()},destroy:function(){this.$el.removeAttr("style")},getBorderSize:function(){switch(this.tmpl.getCSSClass("border","")){case"fg-border-thin":return 4;case"fg-border-medium":return 10;case"fg-border-thick":return 16;default:return 0}},getMaxRowHeight:function(e,t){var i;return r.string(e)?(i=parseInt(e),isNaN(i)?t:i<=0?1/0:-1!==e.indexOf("%")?t*(i/100):i):r.number(e)?e<=0?1/0:e:t},layout:function(e){var i,n=this;0<(e=r.number(e)?e:n.$el.width())&&(0!==(i=n.createRows(e)).height&&0<i.rows.length&&(n.$el.height(i.height),i.rows.forEach(function(e,t){n.render(e,t===i.rows.length-1)})))},render:function(t,e){var i=this,n=!e&&"justify"!==i.options.lastRow;t.items.forEach(function(e){e.elem&&(t.visible?(e.elem.style.setProperty("position","absolute"),e.elem.style.setProperty("width",e.width+"px"),e.elem.style.setProperty("height",e.height+"px"),e.elem.style.setProperty("top",e.top+"px"),e.elem.style.setProperty("left",e.left+"px"),e.elem.style.setProperty("margin","0"),e.elem.style.removeProperty("display"),0<i.maxRowHeight&&n?e.elem.style.setProperty("max-height",i.maxRowHeight+2*i.borderSize+"px"):e.elem.style.removeProperty("max-height"),e.elem.classList.contains("fg-positioned")||e.elem.classList.add("fg-positioned")):e.elem.style.setProperty("display","none"))})},justify:function(i,n,e,t){var s=this,r=s.options.margins,o=r*(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*s.borderSize&&(a=(t+2*s.borderSize)/i.height,i.width=i.width*a,i.height=i.height*a),i.top=n,i.left=0,"left"!==s.align&&i.width<e&&("right"===s.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+=r),e.left=c,e.top=n;t=i.height/e.height;e.width=e.width*t,e.height=e.height*t,c+=e.width}),i.height},createRows:function(r){var 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){s=u.height,t=e.width,(i=e.height)!==s&&(i*=n=s/i,t*=n),n=o.maxRowHeight/s;var t,i,n,s={__item:e,elem:e.el,width:t,height:i,maxWidth:t*n,maxHeight:i*n,top:0,left:0};u.width+s.width>r&&0<u.items.length&&(0<l.length&&(h+=a),e=o.justify(u,h,r,o.maxRowHeight),d<e&&(d=e),h+=e,l.push(u),u=c()),0<u.items.length&&(u.width+=a),u.width+=s.width,u.items.push(s)}),0<u.items.length){var i=h+a;switch(o.options.lastRow){case"smart":var n,s,p=o.justify(u,i,r,o.maxRowHeight);0!==d&&d<p&&(n=d/p,s=u.width*n/r,(n<.9||s<.9)&&(p=o.justify(u,i,r,d-2*o.borderSize)));break;case"justify":p=o.justify(u,i,r,99999);break;case"hide":p=o.justify(u,i,r,o.maxRowHeight),u.width<r&&1<l.length&&(u.visible=!1)}u.visible&&(h+=p+a),l.push(u)}return{height:h,rows:l}}}),s.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(s,r,o){r.ImageViewerTemplate=r.Template.extend({construct:function(e,t){var i,n=this;e=t.hasClass("fg-overlay-controls")&&r.paging?.contains("dots")?(i=r.paging.registered.dots,o.extend({cls:{paging:i.cls},il8n:{paging:i.il8n}},e,{paging:{pushOrReplace:"replace",type:"dots",size:1,position:t.hasClass("fg-dots-none")?"none":"bottom",scrollToTop:!1}})):o.extend({},e,{paging:{pushOrReplace:"replace",type:"default",size:1,position:"none",scrollToTop:!1}}),n._super(e,t),n.$inner=s(),n.$current=s(),n.$total=s(),n.$prev=s(),n.$next=s(),n.on({"loaded-item error-item":n.onFirstItemReady,"pre-init":n.onPreInit,init:n.onInit,destroy:n.onDestroy,"append-item":n.onAppendItem,"after-page-change":n.onAfterPageChange,"after-filter-change":n.onAfterFilterChange},n)},createChildren:function(){var e=this;return s("<div/>",{class:e.cls.inner}).append(s("<div/>",{class:e.cls.innerContainer}),s("<div/>",{class:e.cls.controls}).append(s("<button/>",{class:e.cls.prev,type:"button",title:e.il8n.prev}).append(s("<span/>",{text:e.il8n.prev})),s("<label/>",{class:e.cls.count,text:e.il8n.count}).prepend(s("<span/>",{class:e.cls.countCurrent,text:"0"})).append(s("<span/>",{class:e.cls.countTotal,text:"0"})),s("<button/>",{class:e.cls.next,type:"button",title:e.il8n.next}).append(s("<span/>",{text:e.il8n.next}))))},destroyChildren:function(){this.$el.find(this.sel.inner).remove()},onFirstItemReady:function(e){this.$el.removeClass("fg-not-ready")},onPreInit:function(e){var t=this;t.$el.addClass("fg-not-ready"),t.$inner=t.$el.find(t.sel.innerContainer),t.$current=t.$el.find(t.sel.countCurrent),t.$total=t.$el.find(t.sel.countTotal),t.$prev=t.$el.find(t.sel.prev),t.$prev.attr("title")||t.$prev.attr("title",t.il8n.prev),t.$next=t.$el.find(t.sel.next),t.$next.attr("title")||t.$next.attr("title",t.il8n.next)},onInit:function(e){var t=this;t.template.attachFooBox&&t.$el.on("foobox.previous",{self:t},t.onFooBoxPrev).on("foobox.next",{self:t},t.onFooBoxNext),t.$prev.on("click",{self:t},t.onPrevClick),t.$next.on("click",{self:t},t.onNextClick)},onDestroy:function(e){var t=this;t.template.attachFooBox&&t.$el.off({"foobox.previous":t.onFooBoxPrev,"foobox.next":t.onFooBoxNext}),t.$prev.off("click",t.onPrevClick),t.$next.off("click",t.onNextClick)},onAppendItem:function(e,t){e.preventDefault(),this.$inner.append(t.$el),t.isAttached=!0},onAfterPageChange:function(e,t,i,n){n||this.update()},onAfterFilterChange:function(e){this.update()},update:function(){this.pages&&(this.$current.text(this.pages.current),this.$total.text(this.pages.total))},prev:function(){this.pages&&(this.template.loop&&1===this.pages.current?this.pages.last():this.pages.prev(),this.update())},next:function(){this.pages&&(this.template.loop&&this.pages.current===this.pages.total?this.pages.first():this.pages.next(),this.update())},onFooBoxPrev:function(e){e.data.self.prev()},onFooBoxNext:function(e){e.data.self.next()},onPrevClick:function(e){e.preventDefault(),e.stopPropagation(),e.data.self.prev()},onNextClick:function(e){e.preventDefault(),e.stopPropagation(),e.data.self.next()}}),r.template.register("image-viewer",r.ImageViewerTemplate,{template:{attachFooBox:!1,loop:!1}},{container:"foogallery fg-image-viewer",inner:"fiv-inner",innerContainer:"fiv-inner-container",controls:"fiv-ctrls",prev:"fiv-prev",next:"fiv-next",count:"fiv-count",countCurrent:"fiv-count-current",countTotal:"fiv-count-total"},{prev:"Prev",next:"Next",count:"of"})}(FooGallery.$,FooGallery,(FooGallery.utils,FooGallery.utils.obj)),function(i,e,n){e.ThumbnailTemplate=e.Template.extend({construct:function(e,t){this._super(n.extend({},e,{filtering:{type:"none"},paging:{pushOrReplace:"replace",theme:"fg-light",type:"default",size:i(t).hasClass(e.cls.stacked)?3:1,position:"none",scrollToTop:!1}}),t)}}),e.template.register("thumbnail",e.ThumbnailTemplate,{template:{}},{container:"foogallery fg-thumbnail",stacked:"fg-stacked"})}(FooGallery.$,FooGallery,FooGallery.utils.obj),function(n,r,e,l,s,o){r.StackAlbum=e.Class.extend({construct:function(e,t){var i=this;i.$el=l.jq(e)?e:n(e),i.el=i.$el.get(0),i.opt=s.extend({},r.StackAlbum.defaults,t,i.$el.data("foogallery")),i.$back=i.$el.find(".fg-header-back"),i.$active=i.$el.find(".fg-header-active"),i.$piles=i.$el.find(".fg-piles"),i.piles=i.$piles.find(".fg-pile").map(function(e,t){return new r.StackAlbum.Pile(i,t,{index:e})}).get(),i.ignoreResize=!1,i.info=i.getLayoutInfo(),i.robserver=new ResizeObserver(function(e){var t;!i.ignoreResize&&i.$el.is(":visible")&&(t=i.$el.width(),i.info.maxWidth!==t&&(i.info=i.getLayoutInfo(),i.layout(!0)))})},init:function(){var e=this;e.info=e.getLayoutInfo(),e.piles.forEach(function(e){e.init()}),e.$back.on("click.foogallery",{self:e},e.onBackClick),e.layout(!0),e.robserver.observe(e.el)},destroy:function(){this.robserver.disconnect(),this.$back.off(".foogallery"),this.piles.forEach(function(e){e.destroy()})},getLayoutInfo:function(){var e=this,t=e.$el.width(),i=2*e.opt.border,n=e.opt.gutter+i,s=t-n;let r=1;e.opt.itemWidth>s&&(r=s/e.opt.itemWidth);var s=e.opt.itemWidth*r,o=e.opt.itemHeight*r;return{maxWidth:t,space:n,halfSpace:n/2,itemWidth:s,itemHeight:o,itemOuterWidth:s+i,itemOuterHeight:o+i,blockWidth:s+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 s=this,r=0,o=1,a=0;return n=l.fn(n)?n:function(){},s.piles.forEach(function(e){var t=r,i=((r+=s.info.blockWidth)>s.info.maxWidth&&0<t&&(t=0,r=s.info.blockWidth,o++),s.info.blockHeight*(o-1));n(e,s.info),e.layoutCollapsed(),e.setPosition(i,t,s.info.blockWidth,s.info.blockHeight),a<r&&(a=r)}),{width:a,height:s.info.blockHeight*o}},setActive:function(t){var i,n=this,e=n.activePile,s=e instanceof r.StackAlbum.Pile;t=t instanceof r.StackAlbum.Pile?t:null,n.activePile=t,n.hasActive=null!==t,s&&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)}}),r.StackAlbum.defaults={gutter:50,itemWidth:150,itemHeight:150,border:10,angleStep:1,randomAngle:!1}}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.obj,FooGallery.utils.transition),function(o,s,e,r,a){s.StackAlbum.Pile=e.Class.extend({construct:function(e,t,i){var n=this;n.album=e,n.$el=r.jq(t)?t:o(t),n.opt=a.extend({},s.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 s.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,s=i.getAngles(n.angleStep),r=n.randomAngle?i.randomAngle(s):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(-r):e.setAngle(r),n.randomAngle?r=i.randomAngle(s):r+=n.angleStep))})},destroy:function(){this.$cover.remove(),this.items.forEach(function(e,t){0===t&&e.$el.removeClass("fg-has-cover"),e.destroy()})},getAngles:function(e){for(var t=[],i=1;i<=3;i++)t.push(i*e);return t},randomAngle:function(e){var t=e.length,t=Math.floor(Math.random()*+t+0),e=e.splice(t,1);return 1===e.length?e[0]:0},setPosition:function(e,t,i,n){this.top=e,this.left=t,r.number(i)&&r.number(n)?this.$el.css({top:e+"px",left:t+"px",width:i+"px",height:n+"px"}):this.$el.css({top:e+"px",left:t+"px"})},layout:function(){const n=this.album.info;if(!this.isExpanded)return this.layoutCollapsed();let s=0,r=1,o=!1,a=0;return this.items.forEach(function(e){(s+=n.halfGutter)>n.maxWidth&&(s=n.halfGutter,r++,o=!0,console.log("A"));var t=s,i=(s+=n.itemOuterWidth+n.halfGutter,!o&&s>n.maxWidth&&(t=n.halfGutter,s=n.blockWidth,r++,console.log("B")),n.blockHeight*(r-1)+n.halfGutter);o=!1,e.setPosition(i,t,n.itemOuterWidth,n.itemOuterHeight),e.isLoaded||e.load(),s>a&&(a=s)}),{width:a,height:n.blockHeight*r}},layoutCollapsed:function(){const t=this.album.info;return this.items.forEach(function(e){e.setPosition(t.halfGutter,t.halfGutter,t.itemOuterWidth,t.itemOuterHeight)}),{width:t.blockWidth,height:t.blockHeight}},expand:function(){var e;return this.$el.removeClass("fg-collapsed").addClass("fg-expanded"),this.isExpanded=!0,e=this.layout(),this.setPosition(0,0,e.width,e.height),e},collapse:function(){var e;return this.$el.removeClass("fg-expanded").addClass("fg-collapsed"),this.isExpanded=!1,e=this.layout(),this.setPosition(0,0,e.width,e.height),e},show:function(){this.$el.removeClass("fg-hidden fg-expanded fg-collapsed")},hide:function(e){e instanceof s.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)}}),s.StackAlbum.Pile.defaults={index:-1,title:null}}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.obj),function(s,r,e,o,a){r.StackAlbum.Item=e.Class.extend({construct:function(e,t,i){var n=this;n.pile=e,n.$el=o.jq(t)?t:s(t),n.opt=a.extend({},r.StackAlbum.Item.defaults,i,n.$el.data()),n.$thumb=n.$el.find(".fg-pile-item-thumb"),n.$image=n.$el.find(".fg-pile-item-image"),n.isLoaded=!1,n.isLoading=!1,n._loading=null},init:function(){var e=this.pile.album.info;this.$el.css({width:e.itemOuterWidth+"px",height:e.itemOuterHeight+"px"})},destroy:function(){this.$el.css({top:"",left:"",width:"",height:"",transform:""})},setAngle:function(e){this.$el.css({transform:"rotate("+e+"deg)"})},setPosition:function(e,t,i,n){this.$el.css({top:e+"px",left:t+"px",width:i+"px",height:n+"px"})},load:function(){var t=this;return o.promise(t._loading)?t._loading:t._loading=s.Deferred(function(e){t.$el.addClass("fg-loading"),t.isLoading=!0,t.$image.on({"load.foogallery":function(){t.$image.off(".foogallery"),t.$el.removeClass("fg-loading"),t.isLoading=!1,t.isLoaded=!0,e.resolve()},"error.foogallery":function(){t.$image.off(".foogallery"),t.$el.removeClass("fg-loading"),t.isLoading=!1,t.isLoaded=!0,e.reject()}}),t.$image.prop("src",t.$image.attr(t.opt.src)).prop("srcset",t.$image.attr(t.opt.srcset))}).promise()}}),r.StackAlbum.Item.defaults={index:-1,src:"data-src-fg",srcset:"data-srcset-fg"}}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.obj),function(n,s,e){n.fn.foogalleryStackAlbum=function(e){return this.each(function(e,t){var t=n(t),i=t.data("__FooGalleryAlbum__");i instanceof s.StackAlbum&&i.destroy(),(i=new s.StackAlbum(t)).init(),t.data("__FooGalleryAlbum__",i)})},s.loadStackAlbums=s.reloadStackAlbums=function(){n(function(){n(".foogallery-stack-album:not(.fg-ready)").foogalleryStackAlbum()}),e.ready(function(){n(".foogallery-stack-album.fg-ready").foogalleryStackAlbum()})},s.loadStackAlbums()}(FooGallery.$,FooGallery,FooGallery.utils),function(d,e,o,p){o.Progress=o.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"))}}),d.Carousel=o.Class.extend({construct:function(e,t,i,n,s){var r=this;r.tmpl=e,r.el=e.el,r.opt=t,r.cls=i,r.sel=n,r.i18n=s,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 o.DOMEventListeners,r._listeners=new o.DOMEventListeners,r._progress=new o.Progress,r._canHover=window.matchMedia("(hover: hover)").matches,r.cache=new Map,r.timeouts=new o.Timeouts,r.interacted=!1,r.isRTL=!1,r._firstLayout=!0},getScreenX:function(e,t,i){return i/(i+t)*e},getVectorX:function(e,t,i){return(i+t)/i*e},getSequentialZFromScale:function(e,t,i){return i*(t*(e+1))},scaleToZ:function(e,t,i){return e*(1-t/(i+t))},getDiff:function(e,t){return t<e?e-t:t-e},pause:function(){this._progress.pause()},resume:function(){this._progress.resume()},start:function(){"disable"===this.opt.autoplay.interaction&&this.interacted||this._progress.start(this.opt.autoplay.time)},stop:function(){this._progress.stop()},init:function(){var e=this;e.isRTL="rtl"===window.getComputedStyle(e.el).direction,e.elem={inner:e.el.querySelector(e.sel.inner),center:e.el.querySelector(e.sel.center),bottom:e.el.querySelector(e.sel.bottom),prev:e.el.querySelector(e.sel.prev),next:e.el.querySelector(e.sel.next),progress:e.el.querySelector(e.sel.progress)},150!==e.opt.perspective&&e.el.style.setProperty("--fg-carousel-perspective",e.opt.perspective+"px")},postInit:function(){var e=this;e.activeItem=e.tmpl.items.first(),e.initNavigation(),e.initPagination(),e.initSwipe(),e.initAutoplay()},initNavigation:function(){const t=this;t._listeners.add(t.elem.prev,"click",function(e){e.preventDefault(),t.interacted=!0,t.previous()}),"button"!==t.elem.prev.type&&(t.elem.prev.type="button"),t.elem.prev.appendChild(e.element("arrow-left")),t.elem.prev.title?.length||(t.elem.prev.title=t.i18n.prev),t._listeners.add(t.elem.next,"click",function(e){e.preventDefault(),t.interacted=!0,t.next()}),"button"!==t.elem.next.type&&(t.elem.next.type="button"),t.elem.next.appendChild(e.element("arrow-right")),t.elem.next.title?.length||(t.elem.next.title=t.i18n.next)},getBulletTitle:function(e,t){return e.replace(/\{ITEM}/g,""+t)},initPagination:function(){const i=this;var e=i.tmpl.items.count();for(let t=0;t<e;t++){const n=document.createElement("button");n.type="button",n.classList.add(i.cls.bullet),n.title=i.getBulletTitle(i.i18n.bullet,t+1),0===t&&(n.classList.add(i.cls.activeBullet),n.title=i.getBulletTitle(i.i18n.activeBullet,t+1)),i._listeners.add(n,"click",function(e){e.preventDefault(),i.interacted=!0,i.goto(i.tmpl.items.get(t))}),i.elem.bottom.appendChild(n)}},initSwipe:function(){const t=this;let i=0,n=0,s=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)>s&&(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){o.cancelFrame(null),o.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 d.Item?e:this.activeItem,null,!0)},getPrev:function(e){return this.tmpl.items.prev(e instanceof d.Item?e:this.activeItem,null,!0)},goto:function(e,t){const i=this;if(e instanceof d.Item){const n=i.opt.autoplay,s=!i._canHover&&i.timeouts.has("autoplay"),r=(i.timeouts.delete("autoplay"),i.timeouts.delete("navigation"),i._progress.isPaused);i._progress.isActive&&i._progress.stop(),i.activeItem=e,i.layout(),i.timeouts.set("navigation",function(){0<n.time&&("pause"===n.interaction||"disable"===n.interaction&&!i.interacted)&&(i._progress.start(n.time),r&&i._progress.pause(),s&&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&&o.cancelFrame(t._layoutFrame),t._layoutFrame=o.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 s=this,r=s.getActivePosition(),o="center"!==r,t=r+"|"+s.getAlign();if(s.cache.has("layout")&&s.cache.get("width")===e&&s.cache.get("layoutMode")===t)return s.cache.get("layout");var a=s.getSize(s.elem.center).width,l=s.getSize(s.elem.inner,!0).width;const c=s.calculate(a,l/2+a/2);if(c.activeX=0,c.sideBySide=null,o){var o=s.isRTL?"right":"left",u=s.isRTL?"left":"right",h="start"===r?u:o;let e=Math.max(0,2*s.getShowPerSide()),t=null,i=[],n={width:a,center:0};for(;0<=e&&(t=s.calculate(a,l+a/2,s.opt.gutter.max,e),i=t.side,!((n=s.measureAlignedFit(a,i,h)).width<=l));)--e;c.activeX=-n.center,c.sideBySide={},c.sideBySide.left=[],c.sideBySide.right=[],c.sideBySide[h]=i,t&&p.number(t.zIndex)&&(c.zIndex=t.zIndex)}return s.applyVisualAlign(c,a,l),s.cache.set("width",e),s.cache.set("layoutMode",t),0<c?.side?.length&&s.cache.set("layout",c),c},getActivePosition:function(){var e=p.string(this.opt.activePosition)?this.opt.activePosition.toLowerCase():"center";return-1!==["start","end"].indexOf(e)?e:"center"},getAlign:function(){var e=p.string(this.opt.align)?this.opt.align.toLowerCase():"center";return-1!==["left","right"].indexOf(e)?e:"center"},applyVisualAlign:function(e,t,i){var n=this.getAlign();"center"!==n&&(t=this.measureVisibleBounds(t,e),i="left"===n?-i/2:i/2,n="left"===n?i-t.min:i-t.max,e.activeX=(p.number(e.activeX)?e.activeX:0)+n)},measureVisibleBounds:function(o,e){const a=this,l=p.number(e?.activeX)?e.activeX:0;var t=e?.sideBySide?.left||e.side||[],e=e?.sideBySide?.right||e.side||[];const c={min:l-o/2,max:l+o/2},u=a.opt.perspective;function i(t,i){for(let e=0;e<i.length;e++){var n=i[e],s="left"===t&&!a.isRTL||"right"===t&&a.isRTL?-n.x:n.x,s=a.getScreenX(s,n.z,u)+l,n=a.scaleToZ(o,n.z,u),r=s-n/2,s=s+n/2;r<c.min&&(c.min=r),s>c.max&&(c.max=s)}}return i("left",t),i("right",e),c},measureAlignedFit:function(t,i,n){var s=this;const r={min:-t/2,max:t/2,width:t,center:0};for(let e=0;e<i.length;e++){var o=i[e],a="left"===n&&!s.isRTL||"right"===n&&s.isRTL?-o.x:o.x,a=s.getScreenX(a,o.z,s.opt.perspective),o=s.scaleToZ(t,o.z,s.opt.perspective),l=a-o/2,a=a+o/2;l<r.min&&(r.min=l),a>r.max&&(r.max=a)}return r.width=r.max-r.min,r.center=(r.min+r.max)/2,r},round:function(e,t){t=Math.pow(10,t||0);return Math.round(e*t)/t},getShowPerSide:function(){var e=this.tmpl.items.count();let t=this.opt.maxItems;return(t="auto"===t||t<=0?e%2==0?e-1:e:t)%2==0&&--t,((t=(t=t<1?1:t)>e?e%2==0?e-1:e:t)-1)/2},calculate:function(n,s,r,o){var a=this;p.number(r)||(r=a.opt.gutter.max);const l={zIndex:(o=p.number(o)?o:a.getShowPerSide())+10,gutter:r,perSide:o,side:[]};if(0<n){let t=n,i=l.zIndex-1;for(let e=0;e<o;e++,i--){var c=a.getSequentialZFromScale(e,a.opt.scale,a.opt.perspective),u=a.scaleToZ(n,c,a.opt.perspective),h=(n-u)/2,d=(t-=h,"%"===a.opt.gutter.unit?n*Math.abs(r/100):Math.abs(r)),d="%"===a.opt.gutter.unit?a.scaleToZ(d,c,a.opt.perspective):d;if(0<r?t+=d:t-=d,t+u+h>s)return r-1<a.opt.gutter.min?a.calculate(n,s,a.opt.gutter.max,o-1):a.calculate(n,s,r-1,o);d=a.getVectorX(t,c,a.opt.perspective);t+=u+h,l.side.push({x:d,z:c,zIndex:i})}}return l},cleanup:function(e,t,i){const n=this,s=p.string(i);Array.from(n.el.querySelectorAll(e)).forEach(function(e){e.classList.remove(t),n.opt.centerOnClick&&n._centerListeners.remove(e,"click"),s&&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 d.Item))return!1;const t=i.activeItem.el,n=(i.cleanup(i.sel.activeItem,i.cls.activeItem),t.classList.add(i.cls.activeItem),t.style.setProperty("transition-duration",(i._firstLayout?0:i.opt.speed)+"ms"),t.style.setProperty("z-index",e.zIndex),p.number(e.activeX)&&0!==e.activeX?t.style.setProperty("transform","translate3d("+e.activeX+"px, 0, 0)"):t.style.removeProperty("transform"),i.tmpl.items.indexOf(i.activeItem));return Array.from(i.el.querySelectorAll(i.sel.bullet)).forEach(function(e,t){e.classList.remove(i.cls.activeBullet),e.title=i.getBulletTitle(i.i18n.bullet,t+1),t===n&&(e.classList.add(i.cls.activeBullet),e.title=i.getBulletTitle(i.i18n.activeBullet,t+1))}),!0},renderSide:function(i,e,n,s,r){const o=this;if(-1!==["left","right"].indexOf(i)){o.cleanup(e,s,n);var a=r?.sideBySide?.[i]||r.side,l=p.number(r?.activeX)?r.activeX:0;let t=o.activeItem;for(let e=0;e<a.length;e++){var c=a[e];const h="left"===i?o.getPrev(t):o.getNext(t);if(!(h instanceof d.Item))break;{var u="left"===i&&!o.isRTL||"right"===i&&o.isRTL?-c.x:c.x;let e=u;0!==l&&(u=o.getScreenX(u,c.z,o.opt.perspective)+l,e=o.getVectorX(u,c.z,o.opt.perspective));u="translate3d("+e+"px, 0,-"+c.z+"px)";h.el.classList.add(s),h.isLoaded||(h.el.style.setProperty("transition-duration","0ms"),h.el.style.setProperty("transform","translate3d(0,0,-"+o.opt.perspective+"px)"),h.el.offsetHeight),h.el.style.setProperty("transition-duration",(o._firstLayout?0:o.opt.speed)+"ms"),h.el.style.setProperty("transform",u),h.el.style.setProperty("z-index",c.zIndex),o.opt.centerOnClick&&o._centerListeners.add(h.el,"click",function(e){e.preventDefault(),e.stopPropagation(),o.interacted=!0,o.goto(h)},!0),t=h}}}}})}((FooGallery.$,FooGallery),FooGallery.icons,FooGallery.utils,FooGallery.utils.is),function(n,s){n.CarouselTemplate=n.Template.extend({construct:function(e,t){var i=this;i._super(s.extend({},e,{paging:{type:"none"}}),t),i.items.LAYOUT_AFTER_LOAD=!1,i.carousel=null,i.on({"pre-init":i.onPreInit,init:i.onInit,"post-init":i.onPostInit,destroyed:i.onDestroyed,"append-item":i.onAppendItem,"after-filter-change":i.onAfterFilterChange,layout:i.onLayout},i),n.Panel&&i.lightbox instanceof n.Panel&&i.lightbox.on({open:i.onLightboxOpen,closed:i.onLightboxClosed,next:i.onLightboxNext,prev:i.onLightboxPrev},i)},onPreInit:function(){var e=this;e.carousel=new n.Carousel(e,e.template,e.cls.carousel,e.sel.carousel,e.il8n)},onInit:function(){this.carousel.init()},onPostInit:function(){this.carousel.postInit()},onDestroyed:function(){this.carousel instanceof n.Carousel&&this.carousel.destroy()},onAppendItem:function(e,t){e.preventDefault(),this.carousel.elem.inner.appendChild(t.el),t.isAttached=!0},onAfterFilterChange:function(){this.carousel.cache.delete("layout"),this.carousel.interacted=!0,this.carousel.goto(this.carousel.getFirst())},onLayout:function(){this.carousel.layout(this.lastWidth)},onLightboxOpen:function(){this.carousel.interacted=!0,this.carousel.stop()},onLightboxClosed:function(){this.carousel.start()},onLightboxNext:function(){this.carousel.next()},onLightboxPrev:function(){this.carousel.previous()}}),n.template.register("carousel",n.CarouselTemplate,{template:{maxItems:0,perspective:150,scale:.12,speed:300,align:"center",activePosition:"center",centerOnClick:!0,gutter:{min:-40,max:-20,unit:"%"},autoplay:{time:0,interaction:"pause"}}},{container:"foogallery fg-carousel",carousel:{inner:"fg-carousel-inner",center:"fg-carousel-center",bottom:"fg-carousel-bottom",prev:"fg-carousel-prev",next:"fg-carousel-next",bullet:"fg-carousel-bullet",activeBullet:"fg-bullet-active",activeItem:"fg-item-active",prevItem:"fg-item-prev",nextItem:"fg-item-next",progress:"fg-carousel-progress"}},{prev:"Previous",next:"Next",bullet:"Item {ITEM}",activeBullet:"Item {ITEM} - Current"})}((FooGallery.$,FooGallery),FooGallery.utils.obj);