!function(e,t,i,n){"use strict";function s(t,i){this.element=t;var n={};e.each(e(this.element).data(),(function(e,t){var i=function(e){return e&&e[0].toLowerCase()+e.slice(1)}(e.replace("fluidbox",""));(""!==i||null!==i)&&("false"==t?t=!1:"true"==t&&(t=!0),n[i]=t)})),this.settings=e.extend({},r,i,n),this.settings.viewportFill=Math.max(Math.min(parseFloat(this.settings.viewportFill),1),0),this.settings.stackIndex",{class:"fluidbox__wrap",css:{zIndex:this.settings.stackIndex-this.settings.stackIndexDelta}});if(e(this.element).addClass("fluidbox--closed").wrapInner(t).find("img").first().css({opacity:1}).addClass("fluidbox__thumb").after('
'),this.settings.loader){var i=e("
",{class:"fluidbox__loader",css:{zIndex:2}});e(this.element).find(".fluidbox__wrap").append(i)}},prepareFb:function(){var t=e(this.element);t.trigger("thumbloaddone.fluidbox"),f.measure.fbElements.call(this),this.bindEvents(),t.addClass("fluidbox--ready"),this.bindListeners(),t.trigger("ready.fluidbox")},measure:{viewport:function(){d.viewport={w:o.width(),h:o.height()}},fbElements:function(){var t=e(this.element),i=t.find("img").first(),n=t.find(".fluidbox__ghost"),s=t.find(".fluidbox__wrap");this.instanceData.thumb={natW:i[0].naturalWidth,natH:i[0].naturalHeight,w:i.width(),h:i.height()},n.css({width:i.width(),height:i.height(),top:i.offset().top-s.offset().top+parseInt(i.css("borderTopWidth"))+parseInt(i.css("paddingTop")),left:i.offset().left-s.offset().left+parseInt(i.css("borderLeftWidth"))+parseInt(i.css("paddingLeft"))})}},checkURL:function(e){var t=0;return/[\s+]/g.test(e)?(console.warn("Fluidbox: Fluidbox opening is halted because it has detected characters in your URL string that need to be properly encoded/escaped. Whitespace(s) have to be escaped manually. See RFC3986 documentation."),t=1):/[\"\'\(\)]/g.test(e)&&(console.warn("Fluidbox: Fluidbox opening will proceed, but it has detected characters in your URL string that need to be properly encoded/escaped. These will be escaped for you. See RFC3986 documentation."),t=0),t},formatURL:function(e){return e.replace(/"/g,"%22").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29")}};e.extend(s.prototype,{init:function(){var t=this,i=e(this.element),n=i.find("img").first();if(f.measure.viewport(),(!t.instanceData||!t.instanceData.initialized)&&i.is("a")&&1===i.children().length&&(i.children().is("img")||i.children().is("picture")&&1===i.find("img").length)&&"none"!==i.css("display")&&"none"!==i.children().css("display")&&"none"!==i.parents().css("display")){i.removeClass("fluidbox--destroyed"),t.instanceData={},t.instanceData.initialized=!0,t.instanceData.originalNode=i.html(),l+=1,t.instanceData.id=l,i.addClass("fluidbox__instance-"+l),i.addClass("fluidbox--initialized"),f.dom.call(t),i.trigger("init.fluidbox");var s=new Image;n.width()>0&&n.height()>0?f.prepareFb.call(t):(s.onload=function(){f.prepareFb.call(t)},s.onerror=function(){i.trigger("thumbloadfail.fluidbox")},s.src=n.attr("src"))}},open:function(){var t=this,i=e(this.element),n=i.find("img").first(),s=i.find(".fluidbox__ghost"),o=i.find(".fluidbox__wrap");t.instanceData.state=1,s.off(c),e(".fluidbox--opened").fluidbox("close");var a,r=e("
",{class:"fluidbox__overlay",css:{zIndex:-1}});if(o.append(r),i.removeClass("fluidbox--closed").addClass("fluidbox--loading"),f.checkURL(n.attr("src")))return t.close(),!1;s.css({"background-image":"url("+f.formatURL(n.attr("src"))+")",opacity:1}),f.measure.fbElements.call(t),t.settings.immediateOpen?(i.addClass("fluidbox--opened fluidbox--loaded").find(".fluidbox__wrap").css({zIndex:t.settings.stackIndex+t.settings.stackIndexDelta}),i.trigger("openstart.fluidbox"),t.compute(),n.css({opacity:0}),e(".fluidbox__overlay").css({opacity:1}),s.one(c,(function(){i.trigger("openend.fluidbox")})),(a=new Image).onload=function(){if(i.trigger("imageloaddone.fluidbox"),1===t.instanceData.state){if(t.instanceData.thumb.natW=a.naturalWidth,t.instanceData.thumb.natH=a.naturalHeight,i.removeClass("fluidbox--loading"),f.checkURL(a.src))return t.close({error:!0}),!1;s.css({"background-image":"url("+f.formatURL(a.src)+")"}),t.compute()}},a.onerror=function(){t.close({error:!0}),i.trigger("imageloadfail.fluidbox"),i.trigger("delayedloadfail.fluidbox")},a.src=i.attr("href")):((a=new Image).onload=function(){return i.trigger("imageloaddone.fluidbox"),i.removeClass("fluidbox--loading").addClass("fluidbox--opened fluidbox--loaded").find(".fluidbox__wrap").css({zIndex:t.settings.stackIndex+t.settings.stackIndexDelta}),i.trigger("openstart.fluidbox"),f.checkURL(a.src)?(t.close({error:!0}),!1):(s.css({"background-image":"url("+f.formatURL(a.src)+")"}),t.instanceData.thumb.natW=a.naturalWidth,t.instanceData.thumb.natH=a.naturalHeight,t.compute(),n.css({opacity:0}),e(".fluidbox__overlay").css({opacity:1}),void s.one(c,(function(){i.trigger("openend.fluidbox")})))},a.onerror=function(){t.close({error:!0}),i.trigger("imageloadfail.fluidbox")},a.src=i.attr("href"))},compute:function(){var t,i,n,s=this,a=e(this.element),r=a.find("img").first(),l=a.find(".fluidbox__ghost"),c=a.find(".fluidbox__wrap"),f=s.instanceData.thumb.natW,u=s.instanceData.thumb.natH,p=s.instanceData.thumb.w,h=s.instanceData.thumb.h,g=f/u,b=d.viewport.w/d.viewport.h;s.settings.maxWidth>0?u=(f=s.settings.maxWidth)/g:s.settings.maxHeight>0&&(f=(u=s.settings.maxHeight)*g),b>g?(i=f*(h*(t=(u