!function(n,t){typeof define=="function"&&define.amd?define(["jquery"],function(i){return t(n,i)}):typeof exports=="object"?t(n,require("jquery")):t(n,n.jQuery||n.Zepto)}(this,function(n,t){"use strict";function a(n){if(g&&n.css("animation-name")==="none"&&n.css("-webkit-animation-name")==="none"&&n.css("-moz-animation-name")==="none"&&n.css("-o-animation-name")==="none"&&n.css("-ms-animation-name")==="none")return 0;var i=n.css("animation-duration")||n.css("-webkit-animation-duration")||n.css("-moz-animation-duration")||n.css("-o-animation-duration")||n.css("-ms-animation-duration")||"0s",u=n.css("animation-delay")||n.css("-webkit-animation-delay")||n.css("-moz-animation-delay")||n.css("-o-animation-delay")||n.css("-ms-animation-delay")||"0s",f=n.css("animation-iteration-count")||n.css("-webkit-animation-iteration-count")||n.css("-moz-animation-iteration-count")||n.css("-o-animation-iteration-count")||n.css("-ms-animation-iteration-count")||"1",e,o,r,t;for(i=i.split(", "),u=u.split(", "),f=f.split(", "),t=0,o=i.length,e=Number.NEGATIVE_INFINITY;t<o;t++)r=parseFloat(i[t])*parseInt(f[t],10)+parseFloat(u[t]),r>e&&(e=r);return r}function p(){if(t(document.body).height()<=t(window).height())return 0;var n=document.createElement("div"),i=document.createElement("div"),r,u;return n.style.visibility="hidden",n.style.width="100px",document.body.appendChild(n),r=n.offsetWidth,n.style.overflow="scroll",i.style.width="100%",n.appendChild(i),u=i.offsetWidth,n.parentNode.removeChild(n),r-u}function nt(){if(!v){var i=t("html"),r=u("is-locked"),f,n;i.hasClass(r)||(n=t(document.body),f=parseInt(n.css("padding-right"),10)+p(),n.css("padding-right",f+"px"),i.addClass(r))}}function w(){if(!v){var i=t("html"),r=u("is-locked"),f,n;i.hasClass(r)&&(n=t(document.body),f=parseInt(n.css("padding-right"),10)-p(),n.css("padding-right",f+"px"),i.removeClass(r))}}function o(n,t,i,f){var e=u("is",t),o=[u("is",r.CLOSING),u("is",r.OPENING),u("is",r.CLOSED),u("is",r.OPENED)].join(" ");n.$bg.removeClass(o).addClass(e);n.$overlay.removeClass(o).addClass(e);n.$wrapper.removeClass(o).addClass(e);n.$modal.removeClass(o).addClass(e);n.state=t;i||n.$modal.trigger({type:t,reason:f},[{reason:f}])}function b(n,i,r){var u=0,f=function(n){n.target===this&&u++},e=function(n){n.target===this&&--u==0&&(t.each(["$bg","$overlay","$wrapper","$modal"],function(n,t){r[t].off(h+" "+c)}),i())};t.each(["$bg","$overlay","$wrapper","$modal"],function(n,t){r[t].on(h,f).on(c,e)});n();a(r.$bg)===0&&a(r.$overlay)===0&&a(r.$wrapper)===0&&a(r.$modal)===0&&(t.each(["$bg","$overlay","$wrapper","$modal"],function(n,t){r[t].off(h+" "+c)}),i())}function k(n){n.state!==r.CLOSED&&(t.each(["$bg","$overlay","$wrapper","$modal"],function(t,i){n[i].off(h+" "+c)}),n.$bg.removeClass(n.settings.modifier),n.$overlay.removeClass(n.settings.modifier).hide(),n.$wrapper.hide(),w(),o(n,r.CLOSED,!0))}function tt(n){var u={},r,f,t,i;for(n=n.replace(/\s*:\s*/g,":").replace(/\s*,\s*/g,","),r=n.split(","),i=0,f=r.length;i<f;i++)r[i]=r[i].split(":"),t=r[i][1],(typeof t=="string"||t instanceof String)&&(t=t==="true"||(t==="false"?!1:t)),(typeof t=="string"||t instanceof String)&&(t=isNaN(t)?t:+t),u[r[i][0]]=t;return u}function u(){for(var t=e,n=0;n<arguments.length;++n)t+="-"+arguments[n];return t}function it(){var e=location.hash.replace("#",""),n,u;if(e){try{u=t("[data-"+i+'-id="'+e+'"]')}catch(o){}u&&u.length&&(n=t[i].lookup[u.data(i)],n&&n.settings.hashTracking&&n.open())}else f&&f.state===r.OPENED&&f.settings.hashTracking&&f.close()}function s(n,f){var s=t(document.body),o=this;o.settings=t.extend({},d,f);o.index=t[i].lookup.push(o)-1;o.state=r.CLOSED;o.$overlay=t("."+u("overlay"));o.$overlay.length||(o.$overlay=t("<div>").addClass(u("overlay")+" "+u("is",r.CLOSED)).hide(),s.append(o.$overlay));o.$bg=t("."+u("bg")).addClass(u("is",r.CLOSED));o.$modal=n.addClass(e+" "+u("is-initialized")+" "+o.settings.modifier+" "+u("is",r.CLOSED)).attr("tabindex","-1");o.$wrapper=t("<div>").addClass(u("wrapper")+" "+o.settings.modifier+" "+u("is",r.CLOSED)).hide().append(o.$modal);s.append(o.$wrapper);o.$wrapper.on("click."+e,"[data-"+i+'-action="close"]',function(n){n.preventDefault();o.close()});o.$wrapper.on("click."+e,"[data-"+i+'-action="cancel"]',function(n){n.preventDefault();o.$modal.trigger(l.CANCELLATION);o.settings.closeOnCancel&&o.close(l.CANCELLATION)});o.$wrapper.on("click."+e,"[data-"+i+'-action="confirm"]',function(n){n.preventDefault();o.$modal.trigger(l.CONFIRMATION);o.settings.closeOnConfirm&&o.close(l.CONFIRMATION)});o.$wrapper.on("click."+e,function(n){var i=t(n.target);i.hasClass(u("wrapper"))&&o.settings.closeOnOutsideClick&&o.close()})}var i="remodal",e=n.REMODAL_GLOBALS&&n.REMODAL_GLOBALS.NAMESPACE||i,h=t.map(["animationstart","webkitAnimationStart","MSAnimationStart","oAnimationStart"],function(n){return n+"."+e}).join(" "),c=t.map(["animationend","webkitAnimationEnd","MSAnimationEnd","oAnimationEnd"],function(n){return n+"."+e}).join(" "),d=t.extend({hashTracking:!0,closeOnConfirm:!0,closeOnCancel:!0,closeOnEscape:!0,closeOnOutsideClick:!0,modifier:""},n.REMODAL_GLOBALS&&n.REMODAL_GLOBALS.DEFAULTS),r={CLOSING:"closing",CLOSED:"closed",OPENING:"opening",OPENED:"opened"},l={CONFIRMATION:"confirmation",CANCELLATION:"cancellation"},g=function(){var n=document.createElement("div").style;return n.animationName!==undefined||n.WebkitAnimationName!==undefined||n.MozAnimationName!==undefined||n.msAnimationName!==undefined||n.OAnimationName!==undefined}(),v=/iPad|iPhone|iPod/.test(navigator.platform),f,y;s.prototype.open=function(){var n=this,u;n.state!==r.OPENING&&n.state!==r.CLOSING&&(u=n.$modal.attr("data-"+i+"-id"),u&&n.settings.hashTracking&&(y=t(window).scrollTop(),location.hash=u),f&&f!==n&&k(f),f=n,nt(),n.$bg.addClass(n.settings.modifier),n.$overlay.addClass(n.settings.modifier).show(),n.$wrapper.show().scrollTop(0),n.$modal.focus(),b(function(){o(n,r.OPENING)},function(){o(n,r.OPENED)},n))};s.prototype.close=function(n){var u=this;u.state!==r.OPENING&&u.state!==r.CLOSING&&(u.settings.hashTracking&&u.$modal.attr("data-"+i+"-id")===location.hash.substr(1)&&(location.hash="",t(window).scrollTop(y)),b(function(){o(u,r.CLOSING,!1,n)},function(){u.$bg.removeClass(u.settings.modifier);u.$overlay.removeClass(u.settings.modifier).hide();u.$wrapper.hide();w();o(u,r.CLOSED,!1,n)},u))};s.prototype.getState=function(){return this.state};s.prototype.destroy=function(){var n=t[i].lookup,f;k(this);this.$wrapper.remove();delete n[this.index];f=t.grep(n,function(n){return!!n}).length;f===0&&(this.$overlay.remove(),this.$bg.removeClass(u("is",r.CLOSING)+" "+u("is",r.OPENING)+" "+u("is",r.CLOSED)+" "+u("is",r.OPENED)))};t[i]={lookup:[]};t.fn[i]=function(n){var r,u;return this.each(function(f,e){u=t(e);u.data(i)==null?(r=new s(u,n),u.data(i,r.index),r.settings.hashTracking&&u.attr("data-"+i+"-id")===location.hash.substr(1)&&r.open()):r=t[i].lookup[u.data(i)]}),r};t(document).ready(function(){t(document).on("click","[data-"+i+"-target]",function(n){n.preventDefault();var r=n.currentTarget,u=r.getAttribute("data-"+i+"-target"),f=t("[data-"+i+'-id="'+u+'"]');t[i].lookup[f.data(i)].open()});t(document).find("."+e).each(function(n,r){var f=t(r),u=f.data(i+"-options");u?(typeof u=="string"||u instanceof String)&&(u=tt(u)):u={};f[i](u)});t(document).on("keydown."+e,function(n){f&&f.settings.closeOnEscape&&f.state===r.OPENED&&n.keyCode===27&&f.close()});t(window).on("hashchange."+e,it)})})