PageSourceSearch

https://www.visaversa.net/wp-content/cache/autoptimize/js/autoptimize_bf872929510b9e19d11d8446a8727881.js

js visaversa.net collected 2026-10-08 09:31:25 UTC 452,241 bytes, 3,907 lines download raw bytes

1/*! jQuery Migrate v3.3.2 | (c) OpenJS Foundation and other contributors | jquery.org/license */
2"undefined"==typeof jQuery.migrateMute&&(jQuery.migrateMute=!0),function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],function(e){return t(e,window)}):"object"==typeof module&&module.exports?module.exports=t(require("jquery"),window):t(jQuery,window)}(function(s,n){"use strict";function e(e){return 0<=function(e,t){for(var r=/^(\d+)\.(\d+)\.(\d+)/,n=r.exec(e)||[],o=r.exec(t)||[],i=1;i<=3;i++){if(+o[i]<+n[i])return 1;if(+n[i]<+o[i])return-1}return 0}(s.fn.jquery,e)}s.migrateVersion="3.3.2",n.console&&n.console.log&&(s&&e("3.0.0")||n.console.log("JQMIGRATE: jQuery 3.0.0+ REQUIRED"),s.migrateWarnings&&n.console.log("JQMIGRATE: Migrate plugin loaded multiple times"),n.console.log("JQMIGRATE: Migrate is installed"+(s.migrateMute?"":" with logging active")+", version "+s.migrateVersion));var r={};function u(e){var t=n.console;s.migrateDeduplicateWarnings&&r[e]||(r[e]=!0,s.migrateWarnings.push(e),t&&t.warn&&!s.migrateMute&&(t.warn("JQMIGRATE: "+e),s.migrateTrace&&t.trace&&t.trace()))}function t(e,t,r,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){return u(n),r},set:function(e){u(n),r=e}})}function o(e,t,r,n){e[t]=function(){return u(n),r.apply(this,arguments)}}s.migrateDeduplicateWarnings=!0,s.migrateWarnings=[],void 0===s.migrateTrace&&(s.migrateTrace=!0),s.migrateReset=function(){r={},s.migrateWarnings.length=0},"BackCompat"===n.document.compatMode&&u("jQuery is not compatible with Quirks Mode");var i,a,c,d={},l=s.fn.init,p=s.find,f=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/,y=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g,m=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;for(i in s.fn.init=function(e){var t=Array.prototype.slice.call(arguments);return"string"==typeof e&&"#"===e&&(u("jQuery( '#' ) is not a valid selector"),t[0]=[]),l.apply(this,t)},s.fn.init.prototype=s.fn,s.find=function(t){var r=Array.prototype.slice.call(arguments);if("string"==typeof t&&f.test(t))try{n.document.querySelector(t)}catch(e){t=t.replace(y,function(e,t,r,n){return"["+t+r+'"'+n+'"]'});try{n.document.querySelector(t),u("Attribute selector with '#' must be quoted: "+r[0]),r[0]=t}catch(e){u("Attribute selector with '#' was not fixed: "+r[0])}}return p.apply(this,r)},p)Object.prototype.hasOwnProperty.call(p,i)&&(s.find[i]=p[i]);o(s.fn,"size",function(){return this.length},"jQuery.fn.size() is deprecated and removed; use the .length property"),o(s,"parseJSON",function(){return JSON.parse.apply(null,arguments)},"jQuery.parseJSON is deprecated; use JSON.parse"),o(s,"holdReady",s.holdReady,"jQuery.holdReady is deprecated"),o(s,"unique",s.uniqueSort,"jQuery.unique is deprecated; use jQuery.uniqueSort"),t(s.expr,"filters",s.expr.pseudos,"jQuery.expr.filters is deprecated; use jQuery.expr.pseudos"),t(s.expr,":",s.expr.pseudos,"jQuery.expr[':'] is deprecated; use jQuery.expr.pseudos"),e("3.1.1")&&o(s,"trim",function(e){return null==e?"":(e+"").replace(m,"")},"jQuery.trim is deprecated; use String.prototype.trim"),e("3.2.0")&&(o(s,"nodeName",function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},"jQuery.nodeName is deprecated"),o(s,"isArray",Array.isArray,"jQuery.isArray is deprecated; use Array.isArray")),e("3.3.0")&&(o(s,"isNumeric",function(e){var t=typeof e;return("number"==t||"string"==t)&&!isNaN(e-parseFloat(e))},"jQuery.isNumeric() is deprecated"),s.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){d["[object "+t+"]"]=t.toLowerCase()}),o(s,"type",function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?d[Object.prototype.toString.call(e)]||"object":typeof e},"jQuery.type is deprecated"),o(s,"isFunction",function(e){return"function"==typeof e},"jQuery.isFunction() is deprecated"),o(s,"isWindow",function(e){return null!=e&&e===e.window},"jQuery.isWindow() is deprecated")),s.ajax&&(a=s.ajax,c=/(=)\?(?=&|$)|\?\?/,s.ajax=function(){var e=a.apply(this,arguments);return e.promise&&(o(e,"success",e.done,"jQXHR.success is deprecated and removed"),o(e,"error",e.fail,"jQXHR.error is deprecated and removed"),o(e,"complete",e.always,"jQXHR.complete is deprecated and removed")),e},e("4.0.0")||s.ajaxPrefilter("+json",function(e){!1!==e.jsonp&&(c.test(e.url)||"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&c.test(e.data))&&u("JSON-to-JSONP auto-promotion is deprecated")}));var g=s.fn.removeAttr,h=s.fn.toggleClass,v=/\S+/g;function j(e){return e.replace(/-([a-z])/g,function(e,t){return t.toUpperCase()})}s.fn.removeAttr=function(e){var r=this;return s.each(e.match(v),function(e,t){s.expr.match.bool.test(t)&&(u("jQuery.fn.removeAttr no longer sets boolean properties: "+t),r.prop(t,!1))}),g.apply(this,arguments)};var Q,b=!(s.fn.toggleClass=function(t){return void 0!==t&&"boolean"!=typeof t?h.apply(this,arguments):(u("jQuery.fn.toggleClass( boolean ) is deprecated"),this.each(function(){var e=this.getAttribute&&this.getAttribute("class")||"";e&&s.data(this,"__className__",e),this.setAttribute&&this.setAttribute("class",!e&&!1!==t&&s.data(this,"__className__")||"")}))}),w=/^[a-z]/,x=/^(?:Border(?:Top|Right|Bottom|Left)?(?:Width|)|(?:Margin|Padding)?(?:Top|Right|Bottom|Left)?|(?:Min|Max)?(?:Width|Height))$/;s.swap&&s.each(["height","width","reliableMarginRight"],function(e,t){var r=s.cssHooks[t]&&s.cssHooks[t].get;r&&(s.cssHooks[t].get=function(){var e;return b=!0,e=r.apply(this,arguments),b=!1,e})}),s.swap=function(e,t,r,n){var o,i,a={};for(i in b||u("jQuery.swap() is undocumented and deprecated"),t)a[i]=e.style[i],e.style[i]=t[i];for(i in o=r.apply(e,n||[]),t)e.style[i]=a[i];return o},e("3.4.0")&&"undefined"!=typeof Proxy&&(s.cssProps=new Proxy(s.cssProps||{},{set:function(){return u("JQMIGRATE: jQuery.cssProps is deprecated"),Reflect.set.apply(this,arguments)}})),s.cssNumber||(s.cssNumber={}),Q=s.fn.css,s.fn.css=function(e,t){var r,n,o=this;return e&&"object"==typeof e&&!Array.isArray(e)?(s.each(e,function(e,t){s.fn.css.call(o,e,t)}),this):("number"==typeof t&&(r=j(e),n=r,w.test(n)&&x.test(n[0].toUpperCase()+n.slice(1))||s.cssNumber[r]||u('Number-typed values are deprecated for jQuery.fn.css( "'+e+'", value )')),Q.apply(this,arguments))};var A,k,S,M,N=s.data;s.data=function(e,t,r){var n,o,i;if(t&&"object"==typeof t&&2===arguments.length){for(i in n=s.hasData(e)&&N.call(this,e),o={},t)i!==j(i)?(u("jQuery.data() always sets/gets camelCased names: "+i),n[i]=t[i]):o[i]=t[i];return N.call(this,e,o),t}return t&&"string"==typeof t&&t!==j(t)&&(n=s.hasData(e)&&N.call(this,e))&&t in n?(u("jQuery.data() always sets/gets camelCased names: "+t),2<arguments.length&&(n[t]=r),n[t]):N.apply(this,arguments)},s.fx&&(S=s.Tween.prototype.run,M=function(e){return e},s.Tween.prototype.run=function(){1<s.easing[this.easing].length&&(u("'jQuery.easing."+this.easing.toString()+"' should use only one argument"),s.easing[this.easing]=M),S.apply(this,arguments)},A=s.fx.interval||13,k="jQuery.fx.interval is deprecated",n.requestAnimationFrame&&Object.defineProperty(s.fx,"interval",{configurable:!0,enumerable:!0,get:function(){return n.document.hidden||u(k),A},set:function(e){u(k),A=e}}));var R=s.fn.load,H=s.event.add,C=s.event.fix;s.event.props=[],s.event.fixHooks={},t(s.event.props,"concat",s.event.props.concat,"jQuery.event.props.concat() is deprecated and removed"),s.event.fix=function(e){var t,r=e.type,n=this.fixHooks[r],o=s.event.props;if(o.length){u("jQuery.event.props are deprecated and removed: "+o.join());while(o.length)s.event.addProp(o.pop())}if(n&&!n._migrated_&&(n._migrated_=!0,u("jQuery.event.fixHooks are deprecated and removed: "+r),(o=n.props)&&o.length))while(o.length)s.event.addProp(o.pop());return t=C.call(this,e),n&&n.filter?n.filter(t,e):t},s.event.add=function(e,t){return e===n&&"load"===t&&"complete"===n.document.readyState&&u("jQuery(window).on('load'...) called after load event occurred"),H.apply(this,arguments)},s.each(["load","unload","error"],function(e,t){s.fn[t]=function(){var e=Array.prototype.slice.call(arguments,0);return"load"===t&&"string"==typeof e[0]?R.apply(this,e):(u("jQuery.fn."+t+"() is deprecated"),e.splice(0,0,t),arguments.length?this.on.apply(this,e):(this.triggerHandler.apply(this,e),this))}}),s.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,r){s.fn[r]=function(e,t){return u("jQuery.fn."+r+"
2() event shorthand is deprecated"),0<arguments.length?this.on(r,null,e,t):this.trigger(r)}}),s(function(){s(n.document).triggerHandler("ready")}),s.event.special.ready={setup:function(){this===n.document&&u("'ready' event is deprecated")}},s.fn.extend({bind:function(e,t,r){return u("jQuery.fn.bind() is deprecated"),this.on(e,null,t,r)},unbind:function(e,t){return u("jQuery.fn.unbind() is deprecated"),this.off(e,null,t)},delegate:function(e,t,r,n){return u("jQuery.fn.delegate() is deprecated"),this.on(t,e,r,n)},undelegate:function(e,t,r){return u("jQuery.fn.undelegate() is deprecated"),1===arguments.length?this.off(e,"**"):this.off(t,e||"**",r)},hover:function(e,t){return u("jQuery.fn.hover() is deprecated"),this.on("mouseenter",e).on("mouseleave",t||e)}});function T(e){var t=n.document.implementation.createHTMLDocument("");return t.body.innerHTML=e,t.body&&t.body.innerHTML}function P(e){var t=e.replace(O,"<$1></$2>");t!==e&&T(e)!==T(t)&&u("HTML tags must be properly nested and closed: "+e)}var O=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,q=s.htmlPrefilter;s.UNSAFE_restoreLegacyHtmlPrefilter=function(){s.htmlPrefilter=function(e){return P(e),e.replace(O,"<$1></$2>")}},s.htmlPrefilter=function(e){return P(e),q(e)};var D,_=s.fn.offset;s.fn.offset=function(){var e=this[0];return!e||e.nodeType&&e.getBoundingClientRect?_.apply(this,arguments):(u("jQuery.fn.offset() requires a valid DOM element"),arguments.length?this:void 0)},s.ajax&&(D=s.param,s.param=function(e,t){var r=s.ajaxSettings&&s.ajaxSettings.traditional;return void 0===t&&r&&(u("jQuery.param() no longer uses jQuery.ajaxSettings.traditional"),t=r),D.call(this,e,t)});var E,F,J=s.fn.andSelf||s.fn.addBack;return s.fn.andSelf=function(){return u("jQuery.fn.andSelf() is deprecated and removed, use jQuery.fn.addBack()"),J.apply(this,arguments)},s.Deferred&&(E=s.Deferred,F=[["resolve","done",s.Callbacks("once memory"),s.Callbacks("once memory"),"resolved"],["reject","fail",s.Callbacks("once memory"),s.Callbacks("once memory"),"rejected"],["notify","progress",s.Callbacks("memory"),s.Callbacks("memory")]],s.Deferred=function(e){var i=E(),a=i.promise();return i.pipe=a.pipe=function(){var o=arguments;return u("deferred.pipe() is deprecated"),s.Deferred(function(n){s.each(F,function(e,t){var r="function"==typeof o[e]&&o[e];i[t[1]](function(){var e=r&&r.apply(this,arguments);e&&"function"==typeof e.promise?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[t[0]+"With"](this===a?n.promise():this,r?[e]:arguments)})}),o=null}).promise()},e&&e.call(i,i),i},s.Deferred.exceptionHook=E.exceptionHook),s});
3jQuery.easing['jswing']=jQuery.easing['swing'];jQuery.extend(jQuery.easing,{def:'easeOutQuad',swing:function(x,t,b,c,d){return jQuery.easing[jQuery.easing.def](x,t,b,c,d);},easeInQuad:function(x,t,b,c,d){return c*(t/=d)*t+b;},easeOutQuad:function(x,t,b,c,d){return-c*(t/=d)*(t-2)+b;},easeInOutQuad:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t+b;return-c/2*((--t)*(t-2)-1)+b;},easeInCubic:function(x,t,b,c,d){return c*(t/=d)*t*t+b;},easeOutCubic:function(x,t,b,c,d){return c*((t=t/d-1)*t*t+1)+b;},easeInOutCubic:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t+b;return c/2*((t-=2)*t*t+2)+b;},easeInQuart:function(x,t,b,c,d){return c*(t/=d)*t*t*t+b;},easeOutQuart:function(x,t,b,c,d){return-c*((t=t/d-1)*t*t*t-1)+b;},easeInOutQuart:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t*t+b;return-c/2*((t-=2)*t*t*t-2)+b;},easeInQuint:function(x,t,b,c,d){return c*(t/=d)*t*t*t*t+b;},easeOutQuint:function(x,t,b,c,d){return c*((t=t/d-1)*t*t*t*t+1)+b;},easeInOutQuint:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t*t*t+b;return c/2*((t-=2)*t*t*t*t+2)+b;},easeInSine:function(x,t,b,c,d){return-c*Math.cos(t/d*(Math.PI/2))+c+b;},easeOutSine:function(x,t,b,c,d){return c*Math.sin(t/d*(Math.PI/2))+b;},easeInOutSine:function(x,t,b,c,d){return-c/2*(Math.cos(Math.PI*t/d)-1)+b;},easeInExpo:function(x,t,b,c,d){return(t==0)?b:c*Math.pow(2,10*(t/d-1))+b;},easeOutExpo:function(x,t,b,c,d){return(t==d)?b+c:c*(-Math.pow(2,-10*t/d)+1)+b;},easeInOutExpo:function(x,t,b,c,d){if(t==0)return b;if(t==d)return b+c;if((t/=d/2)<1)return c/2*Math.pow(2,10*(t-1))+b;return c/2*(-Math.pow(2,-10*--t)+2)+b;},easeInCirc:function(x,t,b,c,d){return-c*(Math.sqrt(1-(t/=d)*t)-1)+b;},easeOutCirc:function(x,t,b,c,d){return c*Math.sqrt(1-(t=t/d-1)*t)+b;},easeInOutCirc:function(x,t,b,c,d){if((t/=d/2)<1)return-c/2*(Math.sqrt(1-t*t)-1)+b;return c/2*(Math.sqrt(1-(t-=2)*t)+1)+b;},easeInElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d)==1)return b+c;
3if(!p)p=d*.3;if(a<Math.abs(c)){a=c;var s=p/4;}
4else var s=p/(2*Math.PI)*Math.asin(c/a);return-(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;},easeOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;if(a<Math.abs(c)){a=c;var s=p/4;}
5else var s=p/(2*Math.PI)*Math.asin(c/a);return a*Math.pow(2,-10*t)*Math.sin((t*d-s)*(2*Math.PI)/p)+c+b;},easeInOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d/2)==2)return b+c;if(!p)p=d*(.3*1.5);if(a<Math.abs(c)){a=c;var s=p/4;}
6else var s=p/(2*Math.PI)*Math.asin(c/a);if(t<1)return-.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;return a*Math.pow(2,-10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p)*.5+c+b;},easeInBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;return c*(t/=d)*t*((s+1)*t-s)+b;},easeOutBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;return c*((t=t/d-1)*t*((s+1)*t+s)+1)+b;},easeInOutBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;if((t/=d/2)<1)return c/2*(t*t*(((s*=(1.525))+1)*t-s))+b;return c/2*((t-=2)*t*(((s*=(1.525))+1)*t+s)+2)+b;},easeInBounce:function(x,t,b,c,d){return c-jQuery.easing.easeOutBounce(x,d-t,0,c,d)+b;},easeOutBounce:function(x,t,b,c,d){if((t/=d)<(1/2.75)){return c*(7.5625*t*t)+b;}else if(t<(2/2.75)){return c*(7.5625*(t-=(1.5/2.75))*t+.75)+b;}else if(t<(2.5/2.75)){return c*(7.5625*(t-=(2.25/2.75))*t+.9375)+b;}else{return c*(7.5625*(t-=(2.625/2.75))*t+.984375)+b;}},easeInOutBounce:function(x,t,b,c,d){if(t<d/2)return jQuery.easing.easeInBounce(x,t*2,0,c,d)*.5+b;return jQuery.easing.easeOutBounce(x,t*2-d,0,c,d)*.5+c*.5+b;}});;
7(function(e){var t={init:function(t){var n=e.extend({itemClass:".item",itemOpenClass:".item_open",openTriggerClass:".item",closeText:"Close",itemMargin:10,scrollSpeed:500,startItem:"last",easing:"easeOutSine",categories:["January","February","March","April","May","June","July","August","September","October","November","December"],nuberOfSegments:[31,29,31,30,31,30,31,31,30,31,30,31],yearsOn:true,swipeOn:true,hideTimeline:false,hideControles:false,closeItemOnTransition:false},t);var r=this,i=e("body"),s=r.find(n.itemClass),o=r.find(n.itemOpenClass),u=s.first().width(),a=o.first().width(),f=n.closeItemOnTransition;r.trigger("init.Timeline");var l=s.length-1;if(n.startItem=="first"){l=0}else if(n.startItem=="last"){l=s.length-1}else{s.each(function(t){if(n.startItem==e(this).attr("data-id")){l=t;return true}})}s.each(function(t){e(this).attr("data-count",t);e(this).next(n.itemOpenClass).attr("data-count",t);if(!e(this).hasClass(n.openTriggerClass)){e(this).find(n.openTriggerClass).attr("data-count",t)}});r.append('<div style="clear:both"></div>');r.css({width:"100%",overflow:"hidden",marginLeft:"auto",marginRight:"auto","text-align":"center",height:0});r.wrapInner('<div class="timeline_items" />');r.find(".timeline_items").css("text-align","left");if("ontouchstart"in window){r.addClass("timelineTouch")}r.wrapInner('<div class="timeline_items_holder" />');if(!n.hideControles){r.append('<div class="t_controles"><div class="t_left"></div><div class="t_right"></div></div>')}r.wrapInner('<div class="timeline_items_wrapper" />');r.find(".timeline_items_holder").css({width:"300px",marginLeft:"auto",marginRight:"auto"});s.css({paddingLeft:0,paddingRight:0,marginLeft:n.itemMargin/2,marginRight:n.itemMargin/2,"float":"left",position:"relative"});o.each(function(){e(this).prepend('<div class="t_close" data-count="'+e(this).attr("data-count")+'" data-id="'+e(this).attr("data-id")+'">'+n.closeText+"</div>");e(this).wrapInner('<div class="'+n.itemOpenClass.substr(1)+'_cwrapper"  />').find("div:first").css({position:"relative"});e(this).css({width:0,padding:0,margin:0,"float":"left",display:"none",position:"relative",overflow:"hidden"})});var c=r.find(".timeline_items:first"),h=r.find(".t_line_wrapper:first"),p=300/2-(u+n.itemMargin)*(1/2+l),d=(u+n.itemMargin)*s.length+(a+n.itemMargin)+660,v=r.data("timeline");c.css({width:d,marginLeft:p});if(!v){r.data("timeline",{currentIndex:l,itemCount:s.length,margin:p,itemWidth:u,itemOpenWidth:a,lineMargin:0,lineViewCount:0,options:n,items:s,iholder:c,open:false,noAnimation:false,marginResponse:false,mousedown:false,mousestartpos:0})}if(!n.hideTimeline){r.timeline("createElements");if(r.hasClass("timelineClean")){}}e(document).keydown(function(e){if(e.keyCode==37){r.timeline("left");return false}if(e.keyCode==39){r.timeline("right");return false}});e(window).resize(function(){var t=r.data("timeline");if(typeof t!="undefined"){var i=s.eq(t.currentIndex).attr("data-id");u=s.first().width(),a=o.first().find("div:first").width();t.margin+=t.itemCount*(t.itemWidth-u);t.itemWidth=u;if(t.open)t.margin+=(t.itemOpenWidth-a)/2;t.itemOpenWidth=a;if(e("body").width()<767&&t.open&&!t.marginResponse){t.margin-=(u+n.itemMargin)/2;t.marginResponse=true}else if(e("body").width()>=767&&t.marginResponse&&t.open){t.margin+=(u+n.itemMargin)/2;t.marginResponse=false}t.noAnimation=true;r.timeline("goTo",i)}});
7e(document).ready(function(){e(".timeline_items .item img").on("dragstart",function(t){if(!e(this).hasClass("timeline_rollover_bottom"))t.preventDefault()});e(".timeline_items .timeline_rollover_bottom").on("dragstart",function(t){e(this).addClass("disableClick");t.preventDefault()});e(".timeline_items .timeline_rollover_bottom").on("mousedown",function(t){if(!e(this).is("hover")){e(this).removeClass("disableClick")}});e(".timeline_items .timeline_rollover_bottom").on("click",function(t){if(e(this).hasClass("disableClick")){t.preventDefault();t.stopPropagation()}e(this).removeClass("disableClick")})});r.find(".t_left").click(function(){r.timeline("left")});r.find(".t_right").click(function(){r.timeline("right")});if(n.swipeOn){s.find("*").each(function(){e(this).css({"-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none"})});r.bind("touchstart",function(e){r.timeline("touchStart",e)});r.find(n.itemClass).mousedown(function(e){r.timeline("mouseDown",e.pageX)});e(document).bind("touchend",function(e){v=r.data("timeline");r.timeline("touchEnd",v.touchpos)});e(document).mouseup(function(e){var t=r.data("timeline");if(typeof t!="undefined"&&t.mousedown){r.timeline("mouseUp",e.pageX)}})}r.find(n.openTriggerClass).click(function(){r.timeline("goTo",e(this).attr("data-id"),e(this).attr("data-count"),true)});r.find(".t_close").click(function(){r.timeline("close",e(this).attr("data-id"),e(this).attr("data-count"))});r.css({height:"auto"}).show();r.prev(".timelineLoader").hide();r.find(".t_line_node").each(function(){if(e(this).width()<10)e(this).width(12);e(this).css({marginLeft:-e(this).width()/2})});return r},destroy:function(){e(document).unbind("mouseup");e(window).unbind("resize");var t=this,n=t.data("timeline");t.removeData("timeline")},touchStart:function(e){var t=this,n=t.data("timeline"),r=0;n.xpos=e.originalEvent.touches[0].pageX,n.ypos=e.originalEvent.touches[0].pageY;n.mousedown=true;n.touchHorizontal=false;n.mousestartpos=n.xpos;t.unbind("touchmove");t.bind("touchmove",function(e){var t=e.originalEvent.touches[0].pageX,i=e.originalEvent.touches[0].pageY;if(n.mousedown&&!n.touchHorizontal){if(Math.abs(t-n.xpos)>Math.abs(i-n.ypos)){n.touchHorizontal=true}}else if(n.touchHorizontal){e.preventDefault();n.touchpos=e.originalEvent.touches[0].pageX;r=n.margin-n.xpos+e.originalEvent.touches[0].pageX;n.iholder.css("marginLeft",r+"px")}n.mousedown=false})},mouseDown:function(t){var n=this,r=n.data("timeline"),i=0;r.mousedown=true;r.mousestartpos=t;e("body").css("cursor","move");e(document).mousemove(function(e){i=r.margin-t+e.pageX;r.iholder.css("marginLeft",i+"px")})},touchEnd:function(e){var t=this,n=t.data("timeline"),r=n.itemWidth+n.options.itemMargin,i=n.currentIndex,s=0,o=e-n.mousestartpos;if(typeof n.touchHorizontal!="undefined"&&n.touchHorizontal){n.touchHorizontal=false;i-=parseInt(o/r);s=o%r;if(o<0&&s<-r/2){i++}if(o>0&&s>r/2){i--}if(i<0){i=0}if(i>=n.itemCount){i=n.itemCount-1}t.timeline("goTo",n.items.eq(i).attr("data-id"),n.items.eq(i).attr("data-count"));if(n.options.closeItemOnTransition)t.timeline("close",n.items.eq(i).attr("data-id"))}},mouseUp:function(t){var n=this,r=n.data("timeline"),i=r.itemWidth+r.options.itemMargin,s=r.currentIndex,o=0,u=t-r.mousestartpos;r.mousedown=false;e(document).unbind("mousemove");e("body").css("cursor","auto");s-=parseInt(u/i);o=u%i;if(u<0&&o<-i/2){s++}if(u>0&&o>i/2){s--}if(s<0){s=0}if(s>=r.itemCount){s=r.itemCount-1}n.timeline("goTo",r.items.eq(s).attr("data-id"),r.items.eq(s).attr("data-count"));if(r.options.closeItemOnTransition)n.timeline("close",r.items.eq(s).attr("data-id"))},open:function(t,n){var r=this,i=r.data("timeline"),s=r.find(i.options.itemOpenClass),o=i.options.scrollSpeed,u=i.itemOpenWidth,a=i.options.easin,f=i.options.itemMargin;s.each(function(){if(e(this).attr("data-id")==t){if(!n||n==e(this).attr("data-count")){var s=e(this);var l=e(this).attr("data-count");if(e(i.options.itemClass+'[data-count="'+l+'"] > .read_more[href="#"]').length==0){r.trigger("itemOpen.Timeline");e(this).stop(true).show().animate({width:u,marginLeft:f/2,marginRight:f/2},o,a);if(typeof e(this).attr("data-access")!="undefined"&&e(this).attr("data-access")!=""){var c=e(this).attr("data-access");e.post(c,function(t){e("body").append('<div class="ajax_preloading_holder" style="display:none"></div>');e(".ajax_preloading_holder").html(t);if(e(".ajax_preloading_holder img").length>0){e(".ajax_preloading_holder img").load(function(){s.find(".item_open_content").html(t);e(".ajax_preloading_holder").remove();e(this).attr("data-access","");var n=jQuery.Event("ajaxLoaded.timeline");n.element=s.find(".item_open_content");e("body").trigger(n);r.trigger(n)})}else{s.find(".item_open_content").html(t);e(".ajax_preloading_holder").remove();e(this).attr("data-access","");var n=jQuery.Event("ajaxLoaded.timeline");n.element=s.find(".item_open_content");e("body").trigger(n);r.trigger(n)}})}if(e("body").width()<767){i.margin-=(i.itemWidth+i.options.itemMargin)/2;i.marginResponse=true}else{i.marginResponse=false}i.margin-=(u+i.options.itemMargin+i.itemWidth)/2-i.itemWidth/2;if(false)i.iholder.stop(true).animate({marginLeft:i.margin},o,a);i.open=t}}}});return r},close:function(t,n,r){var i=this,s=i.data("timeline"),o=i.find(s.options.itemOpenClass),u=s.options.scrollSpeed,a=s.itemOpenWidth,f=s.options.easing;o.each(function(){if(e(this).attr("data-id")==t&&e(this).is(":visible")){i.trigger("itemClose.Timeline");e(this).stop(true).animate({width:0,margin:0},u,f,function(){e(this).hide()});if(s.marginResponse){s.margin+=(s.itemWidth+s.options.itemMargin)/2}s.margin+=(a+s.options.itemMargin)/2;s.iholder.stop(true).animate({marginLeft:s.margin},u,f);s.open=false}});if(n){if(e(this).find('.item[data-count="'+r+'"] a.read_more[href="#"]').length==0)i.timeline("open",n,r)}return i},right:function(){var e=this,t=e.data("timeline"),n=t.options.scrollSpeed,r=t.options.easing;if(t.currentIndex<t.itemCount-1){var i=t.items.eq(t.currentIndex+1).attr("data-id");var s=t.items.eq(t.currentIndex+1).attr("data-count");e.timeline("goTo",i,s);if(t.options.closeItemOnTransition)e.timeline("close",i)}else{t.iholder.stop(true).animate({marginLeft:t.margin-50},n/2,r).animate({marginLeft:t.margin},n/2,r)}return e},left:function(){var e=this,t=e.data("timeline"),n=t.options.scrollSpeed,r=t.options.easing;if(t.currentIndex>0){var i=t.items.eq(t.currentIndex-1).attr("data-id");var s=t.items.eq(t.currentIndex-1).attr("data-count");e.timeline("goTo",i,s);if(t.options.closeItemOnTransition)e.timeline("close",i)}else{t.iholder.stop(true).animate({marginLeft:t.margin+50},n/2,r).animate({marginLeft:t.margin},n/2,r)}return e},goTo:function(t,n,r){var i=this,s=i.data("timeline"),o=s.options.scrollSpeed,u=s.options.easing,a=s.items,f=i.find(".timeline_line").width(),l=-1,c=false;a.each(function(r){if(t==e(this).attr("data-id")){if(!n||n==e(this).attr("data-count")){c=true;l=r;return false}}});if(c){var h=i.find(".t_line_node");h.removeClass("active");var p=h.parent().parent().find('[href="#'+t+'"]').addClass("active");s.lineMargin=-parseInt(p.parent().parent().attr("data-id"),10)*100;if(i.find(".t_line_view:first").width()>i.find(".timeline_line").width()){s.lineMargin*=2;if(p.parent().hasClass("right"))s.lineMargin-=100}if(s.noAnimation){s.noAnimation=false;i.find(".t_line_wrapper").stop(true).css({marginLeft:s.lineMargin+"%"})}else{i.find(".t_line_wrapper").stop(true).animate({marginLeft:s.lineMargin+"%"},o,u)}if(s.open){i.timeline("close",s.open,t,n)}else if(r){i.timeline("open",t,n)}i.trigger("scrollStart.Timeline");s.margin+=(s.itemWidth+s.options.itemMargin)*(s.currentIndex-l);s.currentIndex=l;var d=(parseInt(s.iholder.css("margin-left"))-s.margin)/s.itemWidth;s.iholder.stop(true).animate({marginLeft:s.margin},o+o/5*(Math.abs(d)-1),u,function(){i.trigger("scrollStop.Timeline")})}return i},lineLeft:function(){var e=this,t=e.data("timeline"),n=t.options.scrollSpeed,r=t.options.easing;if(t.lineMargin!=0&&t.options.categories){t.lineMargin+=100;e.find(".t_line_wrapper").stop(true).animate({marginLeft:t.lineMargin+"%"},n,r)}},lineRight:function(){var e=this,t=e.data("timeline"),n=t.options.scrollSpeed,r=t.options.easing;if(e.find(".t_line_view:first").width()>e.find(".timeline_line").width())var i=t.lineViewCount*2;else var i=t.lineViewCount;if(t.lineMargin!=-(i-1)*100&&t.options.categories){t.lineMargin-=100;e.find(".t_line_wrapper").stop(true).animate({marginLeft:t.lineMargin+"%"},n,r)}},createElements:function(){var t=this,n=t.data("timeline"),r=n.items;var i="\n"+'    <div class="timeline_line" style="text-align: left; position:relative; margin-left:auto; margin-right:auto;">\n'+"	 </div>\n";t.prepend(i);var s=t.find(".timeline_line").width(),o=new Array,u=[""].concat(n.options.categories);monthsDays=[0].concat(n.options.nuberOfSegments),minM=u.length,minY=99999,maxM=0,maxY=0;if(!n.options.yearsOn)maxY=99999;var a={};if(!n.options.categories){r.each(function(){var t=e(this).attr("data-id"),n=t.split("/"),r=parseInt(n[0],10),i=e.inArray(n[1],u)!=-1?e.inArray(n[1],u):parseInt(n[1],10),s=parseInt(n[2],10);if(r<minY)minY=r;if(r>maxY)maxY=r});minY-=10;maxY+=10}r.each(function(t){var r=e(this).attr("data-id"),i=e(this).attr("data-name"),s=e(this).attr("data-description"),f=r.split("/"),l=parseInt(f[0],10),c=e.inArray(f[1],u)!=-1?e.inArray(f[1],u):parseInt(f[1],10),h=parseInt(f[2],10);if(typeof a[h]=="undefined")a[h]={};if(typeof a[h][c]=="undefined")a[h][c]={};a[h][c][l]=r;var p=t==n.currentIndex?" active":"";if(n.options.categories){var d=100/monthsDays[c]*l}else{var d=100/(maxY-minY)*(l-minY)}var v=typeof i!="undefined"?i:l;o[r]='<a href="#'+r+'" class="t_line_node'+p+'" style="left: '+d+'%; position:absolute; text-align:center;">'+v;if(typeof s!="undefined")o[r]+='<span class="t_node_desc '+(s?"":"t_node_desc_empty")+'" style="white-space:nowrap; position:absolute; z-index: 1;" ><span>'+s+"</span></span>";o[r]+="</a>\n"});i="\n"+'		<div id="t_line_left" style="position: absolute;"></div><div id="t_line_right" style="position: absolute;"></div>\n'+'		<div class="t_line_holder" style="position:relative; overflow: hidden; width:100%;">\n'+'			<div class="t_line_wrapper" style="white-space:nowrap;">\n';if(!n.options.categories){i+='<div class="t_line_view" data-id="'+c+'" style="position:relative; display:inline-block; width:100%;">\n'+'					<div class="t_line_m" style="width:100%; border:0; position:absolute; top:0;">\n';
7for(var f in o){i+=o[f]}i+="</div>\n"+"</div>"}else{var l=true;var c=0;for(var h in a){for(var p in a[h]){if(l){l=!l;i+='<div class="t_line_view" data-id="'+c+'" style="position:relative; display:inline-block;">\n'+'					<div class="t_line_m" style="position:absolute; top:0;">\n'+'						<h4 class="t_line_month" style="position:abolute; width:100% top:0; text-align:center;">'+u[p]+(n.options.yearsOn?'<span class="t_line_month_year"> '+(h<0?-h+" B.C.":h)+"</span>":"")+"</h4>\n";for(dy in a[h][p]){i+=o[a[h][p][dy]]}i+="					</div> <!-- KRAJ PRVOG -->\n"}else{l=!l;i+='					<div class="t_line_m right" style="position:absolute; top:0;">\n'+'						<h4 class="t_line_month" style="position:abolute; width:100% top:0; text-align:center;">'+(typeof u[p]!=="undefined"?u[p]:"")+(n.options.yearsOn?'<span class="t_line_month_year"> '+h+"</span>":"")+"</h4>\n";for(dy in a[h][p]){i+=o[a[h][p][dy]]}i+="					</div><!-- KRAJ DRUGOG -->\n"+'					<div style="clear:both"></div>\n'+"				</div>";c++}}}if(!l){i+='					<div class="t_line_m right" style="position:absolute; top:0;">\n'+'						<h4 class="t_line_month" style="position:abolute; width:100% top:0; text-align:center;"></h4>\n'+"					</div>\n"+'					<div style="clear:both"></div>\n'+"				</div>";c++}}i+="\n"+'				<div style="clear:both"></div>\n'+"			</div>\n"+"		</div>\n";n.lineViewCount=c;t.find(".timeline_line:first").html(i);t.find(".t_line_node").each(function(){var i=e(this);e(this).find("span").hide();e(this).hover(function(){r.each(function(){if(e(this).attr("data-id")==i.attr("href").substr(1)){e(this).addClass("item_node_hover")}});e(this).find("span").css("display","block")},function(){e(this).find("span").css("display","none");e(".item_node_hover").removeClass("item_node_hover")});if(e(this).hasClass("active")){n.lineMargin=-parseInt(e(this).parent().parent(".t_line_view").attr("data-id"),10)*100;t.find(".t_line_wrapper").css("margin-left",n.lineMargin+"%")}e(this).click(function(r){r.preventDefault();t.find(".t_line_node").removeClass("active");e(this).addClass("active");t.timeline("goTo",e(this).attr("href").substr(1));if(n.options.closeItemOnTransition)t.timeline("close",e(this).attr("href").substr(1))})});t.find("#t_line_left").click(function(){t.timeline("lineLeft")});t.find("#t_line_right").click(function(){t.timeline("lineRight")})}};e.fn.timeline=function(n){if(t[n]){return t[n].apply(this,Array.prototype.slice.call(arguments,1))}else if(typeof n==="object"||!n){return t.init.apply(this,arguments)}else{e.error("Method "+n+" does not exist on jQuery.timeline")}}})(jQuery);
8/*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
9 * Licensed under the MIT License (LICENSE.txt).
10 *
11 * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
12 * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
13 * Thanks to: Seamus Leahy for adding deltaX and deltaY
14 *
15 * Version: 3.0.6
16 * 
17 * Requires: 1.2.2+
18 */
19(function(a){function d(b){var c=b||window.event,d=[].slice.call(arguments,1),e=0,f=!0,g=0,h=0;return b=a.event.fix(c),b.type="mousewheel",c.wheelDelta&&(e=c.wheelDelta/120),c.detail&&(e=-c.detail/3),h=e,c.axis!==undefined&&c.axis===c.HORIZONTAL_AXIS&&(h=0,g=-1*e),c.wheelDeltaY!==undefined&&(h=c.wheelDeltaY/120),c.wheelDeltaX!==undefined&&(g=-1*c.wheelDeltaX/120),d.unshift(b,e,g,h),(a.event.dispatch||a.event.handle).apply(this,d)}var b=["DOMMouseScroll","mousewheel"];if(a.event.fixHooks)for(var c=b.length;c;)a.event.fixHooks[b[--c]]=a.event.mouseHooks;a.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=b.length;a;)this.addEventListener(b[--a],d,!1);else this.onmousewheel=d},teardown:function(){if(this.removeEventListener)for(var a=b.length;a;)this.removeEventListener(b[--a],d,!1);else this.onmousewheel=null}},a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery);
20
21/*
22Copyright 2010-2013 Manos Malihutsakis 
23This program is free software: you can redistribute it and/or modify 
24it under the terms of the GNU Lesser General Public License as published by 
25the Free Software Foundation, either version 3 of the License, or 
26any later version. 
27This program is distributed in the hope that it will be useful, 
28but WITHOUT ANY WARRANTY; without even the implied warranty of 
29MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
30GNU Lesser General Public License for more details. 
31You should have received a copy of the GNU Lesser General Public License 
32along with this program.  If not, see http://www.gnu.org/licenses/lgpl.html. 
33*/
34(function($){
35	/*plugin script*/
36	var methods={
37		init:function(options){
38			var defaults={ 
39				set_width:false, /*optional element width: boolean, pixels, percentage*/
40				set_height:false, /*optional element height: boolean, pixels, percentage*/
41				horizontalScroll:false, /*scroll horizontally: boolean*/
42				scrollInertia:950, /*scrolling inertia: integer (milliseconds)*/
43				mouseWheel:true, /*mousewheel support: boolean*/
44				mouseWheelPixels:"auto", /*mousewheel pixels amount: integer, "auto"*/
45				autoDraggerLength:true, /*auto-adjust scrollbar dragger length: boolean*/
46				autoHideScrollbar:false, /*auto-hide scrollbar when idle*/
47				alwaysShowScrollbar:false, /*always show scrollbar even when there's nothing to scroll (disables autoHideScrollbar): boolean*/
48				snapAmount:null, /* optional element always snaps to a multiple of this number in pixels */
49				snapOffset:0, /* when snapping, snap with this number in pixels as an offset */
50				scrollButtons:{ /*scroll buttons*/
51					enable:false, /*scroll buttons support: boolean*/
52					scrollType:"continuous", /*scroll buttons scrolling type: "continuous", "pixels"*/
53					scrollSpeed:"auto", /*scroll buttons continuous scrolling speed: integer, "auto"*/
54					scrollAmount:40 /*scroll buttons pixels scroll amount: integer (pixels)*/
55				},
56				advanced:{
57					updateOnBrowserResize:true, /*update scrollbars on browser resize (for layouts based on percentages): boolean*/
58					updateOnContentResize:false, /*auto-update scrollbars on content resize (for dynamic content): boolean*/
59					autoExpandHorizontalScroll:false, /*auto-expand width for horizontal scrolling: boolean*/
60					autoScrollOnFocus:true, /*auto-scroll on focused elements: boolean*/
61					normalizeMouseWheelDelta:false /*normalize mouse-wheel delta (-1/1)*/
62				},
63				contentTouchScroll:true, /*scrolling by touch-swipe content: boolean*/
64				callbacks:{
65					onScrollStart:function(){}, /*user custom callback function on scroll start event*/
66					onScroll:function(){}, /*user custom callback function on scroll event*/
67					onTotalScroll:function(){}, /*user custom callback function on scroll end reached event*/
68					onTotalScrollBack:function(){}, /*user custom callback function on scroll begin reached event*/
69					onTotalScrollOffset:0, /*scroll end reached offset: integer (pixels)*/
70					onTotalScrollBackOffset:0, /*scroll begin reached offset: integer (pixels)*/
71					whileScrolling:function(){} /*user custom callback function on scrolling event*/
72				},
73				theme:"light" /*"light", "dark", "light-2", "dark-2", "light-thick", "dark-thick", "light-thin", "dark-thin"*/
74			},
75			options=$.extend(true,defaults,options);
76			return this.each(function(){
77				var $this=$(this);
78				/*set element width/height, create markup for custom scrollbars, add classes*/
79				if(options.set_width){
80					$this.css("width",options.set_width);
81				}
82				if(options.set_height){
83					$this.css("height",options.set_height);
84				}
85				if(!$(document).data("mCustomScrollbar-index")){
86					$(document).data("mCustomScrollbar-index","1");
87				}else{
88					var mCustomScrollbarIndex=parseInt($(document).data("mCustomScrollbar-index"));
89					$(document).data("mCustomScrollbar-index",mCustomScrollbarIndex+1);
90				}
91				$this.wrapInner("<div class='mCustomScrollBox"+" mCS-"+options.theme+"' id='mCSB_"+$(document).data("mCustomScrollbar-index")+"' style='position:relative; height:100%; overflow:hidden; max-width:100%;' />").addClass("mCustomScrollbar _mCS_"+$(document).data("mCustomScrollbar-index"));
92				var mCustomScrollBox=$this.children(".mCustomScrollBox");
93				if(options.horizontalScroll){
94					mCustomScrollBox.addClass("mCSB_horizontal").wrapInner("<div class='mCSB_h_wrapper' style='position:relative; left:0; width:999999px;' />");
95					var mCSB_h_wrapper=mCustomScrollBox.children(".mCSB_h_wrapper");
96					mCSB_h_wrapper.wrapInner("<div class='mCSB_container' style='position:absolute; left:0;' />").children(".mCSB_container").css({"width":mCSB_h_wrapper.children().outerWidth(),"position":"relative"}).unwrap();
97				}else{
98					mCustomScrollBox.wrapInner("<div class='mCSB_container' style='position:relative; top:0;' />");
99				}
100				var mCSB_container=mCustomScrollBox.children(".mCSB_container");
101				if($.support.touch){
102					mCSB_container.addClass("mCS_touch");
103				}
104				mCSB_container.after("<div class='mCSB_scrollTools' style='position:absolute;'><div class='mCSB_draggerContainer'><div class='mCSB_dragger' style='position:absolute;' oncontextmenu='return false;'><div class='mCSB_dragger_bar' style='position:relative;'></div></div><div class='mCSB_draggerRail'></div></div></div>");
105				var mCSB_scrollTools=mCustomScrollBox.children(".mCSB_scrollTools"),
106					mCSB_draggerContainer=mCSB_scrollTools.children(".mCSB_draggerContainer"),
107					mCSB_dragger=mCSB_draggerContainer.children(".mCSB_dragger");
108				if(options.horizontalScroll){
109					mCSB_dragger.data("minDraggerWidth",mCSB_dragger.width());
110				}else{
111					mCSB_dragger.data("minDraggerHeight",mCSB_dragger.height());
112				}
113				if(options.scrollButtons.enable){
114					if(options.horizontalScroll){
115						mCSB_scrollTools.prepend("<a class='mCSB_buttonLeft' oncontextmenu='return false;'></a>").append("<a class='mCSB_buttonRight' oncontextmenu='return false;'></a>");
116					}else{
117						mCSB_scrollTools.prepend("<a class='mCSB_buttonUp' oncontextmenu='return false;'></a>").append("<a class='mCSB_buttonDown' oncontextmenu='return false;'></a>");
118					}
119				}
120				/*mCustomScrollBox scrollTop and scrollLeft is always 0 to prevent browser focus scrolling*/
121				mCustomScrollBox.bind("scroll",function(){
122					if(!$this.is(".mCS_disabled")){ /*native focus scrolling for disabled scrollbars*/
123						mCustomScrollBox.scrollTop(0).scrollLeft(0);
124					}
125				});
126				/*store options, global vars/states, intervals*/
127				$this.data({
128					/*init state*/
129					"mCS_Init":true,
130					/*instance index*/
131					"mCustomScrollbarIndex":$(document).data("mCustomScrollbar-index"),
132					/*option parameters*/
133					"horizontalScroll":options.horizontalScroll,
134					"scrollInertia":options.scrollInertia,
135					"scrollEasing":"mcsEaseOut",
136					"mouseWheel":options.mouseWheel,
137					"mouseWheelPixels":options.mouseWheelPixels,
138					"autoDraggerLength":options.autoDraggerLength,
139					"autoHideScrollbar":options.autoHideScrollbar,
140					"alwaysShowScrollbar":options.alwaysShowScrollbar,
141					"snapAmount":options.snapAmount,
142					"snapOffset":options.snapOffset,
143					"scrollButtons_enable":options.scrollButtons.enable,
144					"scrollButtons_scrollType":options.scrollButtons.scrollType,
145					"scrollButtons_scrollSpeed":options.scrollButtons.scrollSpeed,
146					"scrollButtons_scrollAmount":options.scrollButtons.scrollAmount,
147					"autoExpandHorizontalScroll":options.advanced.autoExpandHorizontalScroll,
148					"autoScrollOnFocus":options.advanced.autoScrollOnFocus,
149					"normalizeMouseWheelDelta":options.advanced.normalizeMouseWheelDelta,
150					"contentTouchScroll":options.contentTouchScroll,
151					"onScrollStart_Callback":options.callbacks.onScrollStart,
152					"onScroll_Callback":options.callbacks.onScroll,
153					"onTotalScroll_Callback":options.callbacks.onTotalScroll,
154					"onTotalScrollBack_Callback":options.callbacks.onTotalScrollBack,
155					"onTotalScroll_Offset":options.callbacks.onTotalScrollOffset,
156					"onTotalScrollBack_Offset":options.callbacks.onTotalScrollBackOffset,
157					"whileScrolling_Callback":options.callbacks.whileScrolling,
158					/*events binding state*/
159					"bindEvent_scrollbar_drag":false,
160					"bindEvent_content_touch":false,
161					"bindEvent_scrollbar_click":false,
162					"bindEvent_mousewheel":false,
163					"bindEvent_buttonsContinuous_y":false,
164					"bindEvent_buttonsContinuous_x":false,
165					"bindEvent_buttonsPixels_y":false,
166					"bindEvent_buttonsPixels_x":false,
167					"bindEvent_focusin":false,
168					"bindEvent_autoHideScrollbar":false,
169					/*buttons intervals*/
170					"mCSB_buttonScrollRight":false,
171					"mCSB_buttonScrollLeft":false,
172					"mCSB_buttonScrollDown":false,
173					"mCSB_buttonScrollUp":false
174				});
175				/*max-width/max-height*/
176				if(options.horizontalScroll){
177					if($this.css("max-width")!=="none"){
178						if(!options.advanced.updateOnContentResize){ /*needs updateOnContentResize*/
179							options.advanced.updateOnContentResize=true;
180						}
181					}
182				}else{
183					if($this.css("max-height")!=="none"){
184						var percentage=false,maxHeight=parseInt($this.css("max-height"));
185						if($this.css("max-height").indexOf("%")>=0){
186							percentage=maxHeight,
187							maxHeight=$this.parent().height()*percentage/100;
188						}
189						$this.css("overflow","hidden");
190						mCustomScrollBox.css("max-height",maxHeight);
191					}
192				}
193				$this.mCustomScrollbar("update");
194				/*window resize fn (for layouts based on percentages)*/
195				if(options.advanced.updateOnBrowserResize){
196					var mCSB_resizeTimeout,currWinWidth=$(window).width(),currWinHeight=$(window).height();
197					$(window).bind("resize."+$this.data("mCustomScrollbarIndex"),function(){
198						if(mCSB_resizeTimeout){
199							clearTimeout(mCSB_resizeTimeout);
200						}
201						mCSB_resizeTimeout=setTimeout(function(){
202							if(!$this.is(".mCS_disabled") && !$this.is(".mCS_destroyed")){
203								var winWidth=$(window).width(),winHeight=$(window).height();
204								if(currWinWidth!==winWidth || currWinHeight!==winHeight){ /*ie8 fix*/
205									if($this.css("max-height")!=="none" && percentage){
206										mCustomScrollBox.css("max-height",$this.parent().height()*percentage/100);
207									}
208									$this.mCustomScrollbar("update");
209									currWinWidth=winWidth; currWinHeight=winHeight;
210								}
211							}
212						},150);
213					});
214				}
215				/*content resize fn (for dynamically generated content)*/
216				if(options.advanced.updateOnContentResize){
217					var mCSB_onContentResize;
218					if(options.horizontalScroll){
219						var mCSB_containerOldSize=mCSB_container.outerWidth();
220					}else{
221						var mCSB_containerOldSize=mCSB_container.outerHeight();
222					}
223					mCSB_onContentResize=setInterval(function(){
224						if(options.horizontalScroll){
225							if(options.advanced.autoExpandHorizontalScroll){
226								mCSB_container.css({"position":"absolute","width":"auto"}).wrap("<div class='mCSB_h_wrapper' style='position:relative; left:0; width:999999px;' />").css({"width":mCSB_container.outerWidth(),"position":"relative"}).unwrap();
227							}
228							var mCSB_containerNewSize=mCSB_container.outerWidth();
229						}else{
230							var mCSB_containerNewSize=mCSB_container.outerHeight();
231						}
232						if(mCSB_containerNewSize!=mCSB_containerOldSize){
233							$this.mCustomScrollbar("update");
234							mCSB_containerOldSize=mCSB_containerNewSize;
235						}
236					},300);
237				}
238			});
239		},
240		update:function(){
241			var $this=$(this),
242				mCustomScrollBox=$this.children(".mCustomScrollBox"),
243				mCSB_container=mCustomScrollBox.children(".mCSB_container");
244			mCSB_container.removeClass("mCS_no_scrollbar");
245			$this.removeClass("mCS_disabled mCS_destroyed");
246			mCustomScrollBox.scrollTop(0).scrollLeft(0); /*reset scrollTop/scrollLeft to prevent browser focus scrolling*/
247			var mCSB_scrollTools=mCustomScrollBox.children(".mCSB_scrollTools"),
248				mCSB_draggerContainer=mCSB_scrollTools.children(".mCSB_draggerContainer"),
249				mCSB_dragger=mCSB_draggerContainer.children(".mCSB_dragger");
250			if($this.data("horizontalScroll")){
251				var mCSB_buttonLeft=mCSB_scrollTools.children(".mCSB_buttonLeft"),
252					mCSB_buttonRight=mCSB_scrollTools.children(".mCSB_buttonRight"),
253					mCustomScrollBoxW=mCustomScrollBox.width();
254				if($this.data("autoExpandHorizontalScroll")){
255					mCSB_container.css({"position":"absolute","width":"auto"}).wrap("<div class='mCSB_h_wrapper' style='position:relative; left:0; width:999999px;' />").css({"width":mCSB_container.outerWidth(),"position":"relative"}).unwrap();
256				}
257				var mCSB_containerW=mCSB_container.outerWidth();
258			}else{
259				var mCSB_buttonUp=mCSB_scrollTools.children(".mCSB_buttonUp"),
260					mCSB_buttonDown=mCSB_scrollTools.children(".mCSB_buttonDown"),
261					mCustomScrollBoxH=mCustomScrollBox.height(),
262					mCSB_containerH=mCSB_container.outerHeight();
263			}
264			if(mCSB_containerH>mCustomScrollBoxH && !$this.data("horizontalScroll")){ /*content needs vertical scrolling*/
265				mCSB_scrollTools.css("display","block");
266				var mCSB_draggerContainerH=mCSB_draggerContainer.height();
267				/*auto adjust scrollbar dragger length analogous to content*/
268				if($this.data("autoDraggerLength")){
269					var draggerH=Math.round(mCustomScrollBoxH/mCSB_containerH*mCSB_draggerContainerH),
270						minDraggerH=mCSB_dragger.data("minDraggerHeight");
271					if(draggerH<=minDraggerH){ /*min dragger height*/
272						mCSB_dragger.css({"height":minDraggerH});
273					}else if(draggerH>=mCSB_draggerContainerH-10){ /*max dragger height*/
274						var mCSB_draggerContainerMaxH=mCSB_draggerContainerH-10;
275						mCSB_dragger.css({"height":mCSB_draggerContainerMaxH});
276					}else{
277						mCSB_dragger.css({"height":draggerH});
278					}
279					mCSB_dragger.children(".mCSB_dragger_bar").css({"line-height":mCSB_dragger.height()+"px"});
280				}
281				var mCSB_draggerH=mCSB_dragger.height(),
282				/*calculate and store scroll amount, add scrolling*/
283					scrollAmount=(mCSB_containerH-mCustomScrollBoxH)/(mCSB_draggerContainerH-mCSB_draggerH);
284				$this.data("scrollAmount",scrollAmount).mCustomScrollbar("scrolling",mCustomScrollBox,mCSB_container,mCSB_draggerContainer,mCSB_dragger,mCSB_buttonUp,mCSB_buttonDown,mCSB_buttonLeft,mCSB_buttonRight);
285				/*scroll*/
286				var mCSB_containerP=Math.abs(mCSB_container.position().top);
287				$this.mCustomScrollbar("scrollTo",mCSB_containerP,{scrollInertia:0,trigger:"internal"});
288			}else if(mCSB_containerW>mCustomScrollBoxW && $this.data("horizontalScroll")){ /*content needs horizontal scrolling*/
289				mCSB_scrollTools.css("display","block");
290				var mCSB_draggerContainerW=mCSB_draggerContainer.width();
291				/*auto adjust scrollbar dragger length analogous to content*/
292				if($this.data("autoDraggerLength")){
293					var draggerW=Math.round(mCustomScrollBoxW/mCSB_containerW*mCSB_draggerContainerW),
294						minDraggerW=mCSB_dragger.data("minDraggerWidth");
295					if(draggerW<=minDraggerW){ /*min dragger height*/
296						mCSB_dragger.css({"width":minDraggerW});
297					}else if(draggerW>=mCSB_draggerContainerW-10){ /*max dragger height*/
298						var mCSB_draggerContainerMaxW=mCSB_draggerContainerW-10;
299						mCSB_dragger.css({"width":mCSB_draggerContainerMaxW});
300					}else{
301						mCSB_dragger.css({"width":draggerW});
302					}
303				}
304				var mCSB_draggerW=mCSB_dragger.width(),
305				/*calculate and store scroll amount, add scrolling*/
306					scrollAmount=(mCSB_containerW-mCustomScrollBoxW)/(mCSB_draggerContainerW-mCSB_draggerW);
307				$this.data("scrollAmount",scrollAmount).mCustomScrollbar("scrolling",mCustomScrollBox,mCSB_container,mCSB_draggerContainer,mCSB_dragger,mCSB_buttonUp,mCSB_buttonDown,mCSB_buttonLeft,mCSB_buttonRight);
308				/*scroll*/
309				var mCSB_containerP=Math.abs(mCSB_container.position().left);
310				$this.mCustomScrollbar("scrollTo",mCSB_containerP,{scrollInertia:0,trigger:"internal"});
311			}else{ /*content does not need scrolling*/
312				/*unbind events, reset content position, hide scrollbars, remove classes*/
313				mCustomScrollBox.unbind("mousewheel focusin");
314				if($this.data("horizontalScroll")){
315					mCSB_dragger.add(mCSB_container).css("left",0);
316				}else{
317					mCSB_dragger.add(mCSB_container).css("top",0);
318				}
319				if ($this.data("alwaysShowScrollbar")) {
320					if(!$this.data("horizontalScroll")){ /*vertical scrolling*/
321						mCSB_dragger.css({"height":mCSB_draggerContainer.height()});
322					}else if($this.data("horizontalScroll")){ /*horizontal scrolling*/
323						mCSB_dragger.css({"width":mCSB_draggerContainer.width()});
324					}
325				} else {
326					mCSB_scrollTools.css("display","none");
327					mCSB_container.addClass("mCS_no_scrollbar");
328				}
329				$this.data({"bindEvent_mousewheel":false,"bindEvent_focusin":false});
330			}
331		},
332		scrolling:function(mCustomScrollBox,mCSB_container,mCSB_draggerContainer,mCSB_dragger,mCSB_buttonUp,mCSB_buttonDown,mCSB_buttonLeft,mCSB_buttonRight){
333			var $this=$(this);
334			/*scrollbar drag scrolling*/
335			if(!$this.data("bindEvent_scrollbar_drag")){
336				var mCSB_draggerDragY,mCSB_draggerDragX,
337					mCSB_dragger_downEvent,mCSB_dragger_moveEvent,mCSB_dragger_upEvent;
338				if($.support.pointer){ /*pointer*/
339					mCSB_dragger_downEvent="pointerdown";
340					mCSB_dragger_moveEvent="pointermove";
341					mCSB_dragger_upEvent="pointerup";
342				}else if($.support.msPointer){ /*MSPointer*/
343					mCSB_dragger_downEvent="MSPointerDown";
344					mCSB_dragger_moveEvent="MSPointerMove";
345					mCSB_dragger_upEvent="MSPointerUp";
346				}
347				if($.support.pointer || $.support.msPointer){ /*pointer, MSPointer*/
348					mCSB_dragger.bind(mCSB_dragger_downEvent,function(e){
349						e.preventDefault();
350						$this.data({"on_drag":true}); mCSB_dragger.addClass("mCSB_dragger_onDrag");
351						var elem=$(this),
352							elemOffset=elem.offset(),
353							x=e.originalEvent.pageX-elemOffset.left,
354							y=e.originalEvent.pageY-elemOffset.top;
355						if(x<elem.width() && x>0 && y<elem.height() && y>0){
356							mCSB_draggerDragY=y;
357							mCSB_draggerDragX=x;
358						}
359					});
360					$(document).bind(mCSB_dragger_moveEvent+"."+$this.data("mCustomScrollbarIndex"),function(e){
361						e.preventDefault();
362						if($this.data("on_drag")){
363							var elem=mCSB_dragger,
364								elemOffset=elem.offset(),
365								x=e.originalEvent.pageX-elemOffset.left,
366								y=e.originalEvent.pageY-elemOffset.top;
367							scrollbarDrag(mCSB_draggerDragY,mCSB_draggerDragX,y,x);
368						}
369					}).bind(mCSB_dragger_upEvent+"."+$this.data("mCustomScrollbarIndex"),function(e){
370						$this.data({"on_drag":false}); mCSB_dragger.removeClass("mCSB_dragger_onDrag");
371					});
372				}else{ /*mouse/touch*/
373					mCSB_dragger.bind("mousedown touchstart",function(e){
374						e.preventDefault(); e.stopImmediatePropagation();
375						var	elem=$(this),elemOffset=elem.offset(),x,y;
376						if(e.type==="touchstart"){
377							var touch=e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];
378							x=touch.pageX-elemOffset.left; y=touch.pageY-elemOffset.top;
379						}else{
380							$this.data({"on_drag":true}); mCSB_dragger.addClass("mCSB_dragger_onDrag");
381							x=e.pageX-elemOffset.left; y=e.pageY-elemOffset.top;
382						}
383						if(x<elem.width() && x>0 && y<elem.height() && y>0){
384							mCSB_draggerDragY=y; mCSB_draggerDragX=x;
385						}
386					}).bind("touchmove",function(e){
387						e.preventDefault(); e.stopImmediatePropagation();
388						var touch=e.originalEvent.touches[0] || e.originalEvent.changedTouches[0],
389							elem=$(this),
390							elemOffset=elem.offset(),
391							x=touch.pageX-elemOffset.left,
392							y=touch.pageY-elemOffset.top;
393						scrollbarDrag(mCSB_draggerDragY,mCSB_draggerDragX,y,x);
394					});
395					$(document).bind("mousemove."+$this.data("mCustomScrollbarIndex"),function(e){
396						if($this.data("on_drag")){
397							var elem=mCSB_dragger,
398								elemOffset=elem.offset(),
399								x=e.pageX-elemOffset.left,
400								y=e.pageY-elemOffset.top;
401							scrollbarDrag(mCSB_draggerDragY,mCSB_draggerDragX,y,x);
402						}
403					}).bind("mouseup."+$this.data("mCustomScrollbarIndex"),function(e){
404						$this.data({"on_drag":false}); mCSB_dragger.removeClass("mCSB_dragger_onDrag");
405					});
406				}
407				$this.data({"bindEvent_scrollbar_drag":true});
408			}
409			function scrollbarDrag(mCSB_draggerDragY,mCSB_draggerDragX,y,x){
410				if($this.data("horizontalScroll")){
411					$this.mCustomScrollbar("scrollTo",(mCSB_dragger.position().left-(mCSB_draggerDragX))+x,{moveDragger:true,trigger:"internal"});
412				}else{
413					$this.mCustomScrollbar("scrollTo",(mCSB_dragger.position().top-(mCSB_draggerDragY))+y,{moveDragger:true,trigger:"internal"});
414				}
415			}
416			/*content touch-drag*/
417			if($.support.touch && $this.data("contentTouchScroll")){
418				if(!$this.data("bindEvent_content_touch")){
419					var touch,
420						elem,elemOffset,y,x,mCSB_containerTouchY,mCSB_containerTouchX;
421					mCSB_container.bind("touchstart",function(e){
422						e.stopImmediatePropagation();
423						touch=e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];
424						elem=$(this);
425						elemOffset=elem.offset();
426						x=touch.pageX-elemOffset.left;
427						y=touch.pageY-elemOffset.top;
428						mCSB_containerTouchY=y;
429						mCSB_containerTouchX=x;
430					});
431					mCSB_container.bind("touchmove",function(e){
432						e.preventDefault(); e.stopImmediatePropagation();
433						touch=e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];
434						elem=$(this).parent();
435						elemOffset=elem.offset();
436						x=touch.pageX-elemOffset.left;
437						y=touch.pageY-elemOffset.top;
438						if($this.data("horizontalScroll")){
439							$this.mCustomScrollbar("scrollTo",mCSB_containerTouchX-x,{trigger:"internal"});
440						}else{
441							$this.mCustomScrollbar("scrollTo",mCSB_containerTouchY-y,{trigger:"internal"});
442						}
443					});
444				}
445			}
446			/*dragger rail click scrolling*/
447			if(!$this.data("bindEvent_scrollbar_click")){
448				mCSB_draggerContainer.bind("click",function(e){
449					var scrollToPos=(e.pageY-mCSB_draggerContainer.offset().top)*$this.data("scrollAmount"),target=$(e.target);
450					if($this.data("horizontalScroll")){
451						scrollToPos=(e.pageX-mCSB_draggerContainer.offset().left)*$this.data("scrollAmount");
452					}
453					if(target.hasClass("mCSB_draggerContainer") || target.hasClass("mCSB_draggerRail")){
454						$this.mCustomScrollbar("scrollTo",scrollToPos,{trigger:"internal",scrollEasing:"draggerRailEase"});
455					}
456				});
457				$this.data({"bindEvent_scrollbar_click":true});
458			}
459			/*mousewheel scrolling*/
460			if($this.data("mouseWheel")){
461				if(!$this.data("bindEvent_mousewheel")){
462					mCustomScrollBox.bind("mousewheel",function(e,delta){
463						var scrollTo,mouseWheelPixels=$this.data("mouseWheelPixels"),absPos=Math.abs(mCSB_container.position().top),
464							draggerPos=mCSB_dragger.position().top,limit=mCSB_draggerContainer.height()-mCSB_dragger.height();
465						if($this.data("normalizeMouseWheelDelta")){
466							if(delta<0){delta=-1;}else{delta=1;}
467						}
468						if(mouseWheelPixels==="auto"){
469							mouseWheelPixels=100+Math.round($this.data("scrollAmount")/2);
470						}
471						if($this.data("horizontalScroll")){
472							draggerPos=mCSB_dragger.position().left; 
473							limit=mCSB_draggerContainer.width()-mCSB_dragger.width();
474							absPos=Math.abs(mCSB_container.position().left);
475						}
476						if((delta>0 && draggerPos!==0) || (delta<0 && draggerPos!==limit)){e.preventDefault(); e.stopImmediatePropagation();}
477						scrollTo=absPos-(delta*mouseWheelPixels);
478						$this.mCustomScrollbar("scrollTo",scrollTo,{trigger:"internal"});
479					});
480					$this.data({"bindEvent_mousewheel":true});
481				}
482			}
483			/*buttons scrolling*/
484			if($this.data("scrollButtons_enable")){
485				if($this.data("scrollButtons_scrollType")==="pixels"){ /*scroll by pixels*/
486					if($this.data("horizontalScroll")){
487						mCSB_buttonRight.add(mCSB_buttonLeft).unbind("mousedown touchstart MSPointerDown pointerdown mouseup MSPointerUp pointerup mouseout MSPointerOut pointerout touchend",mCSB_buttonRight_stop,mCSB_buttonLeft_stop);
488						$this.data({"bindEvent_buttonsContinuous_x":false});
489						if(!$this.data("bindEvent_buttonsPixels_x")){
490							/*scroll right*/
491							mCSB_buttonRight.bind("click",function(e){
492								e.preventDefault();
493								PixelsScrollTo(Math.abs(mCSB_container.position().left)+$this.data("scrollButtons_scrollAmount"));
494							});
495							/*scroll left*/
496							mCSB_buttonLeft.bind("click",function(e){
497								e.preventDefault();
498								PixelsScrollTo(Math.abs(mCSB_container.position().left)-$this.data("scrollButtons_scrollAmount"));
499							});
500							$this.data({"bindEvent_buttonsPixels_x":true});
501						}
502					}else{
503						mCSB_buttonDown.add(mCSB_buttonUp).unbind("mousedown touchstart MSPointerDown pointerdown mouseup MSPointerUp pointerup mouseout MSPointerOut pointerout touchend",mCSB_buttonRight_stop,mCSB_buttonLeft_stop);
504						$this.data({"bindEvent_buttonsContinuous_y":false});
505						if(!$this.data("bindEvent_buttonsPixels_y")){
506							/*scroll down*/
507							mCSB_buttonDown.bind("click",function(e){
508								e.preventDefault();
509								PixelsScrollTo(Math.abs(mCSB_container.position().top)+$this.data("scrollButtons_scrollAmount"));
510							});
511							/*scroll up*/
512							mCSB_buttonUp.bind("click",function(e){
513								e.preventDefault();
514								PixelsScrollTo(Math.abs(mCSB_container.position().top)-$this.data("scrollButtons_scrollAmount"));
515							});
516							$this.data({"bindEvent_buttonsPixels_y":true});
517						}
518					}
519					function PixelsScrollTo(to){
520						if(!mCSB_dragger.data("preventAction")){
521							mCSB_dragger.data("preventAction",true);
522							$this.mCustomScrollbar("scrollTo",to,{trigger:"internal"});
523						}
524					}
525				}else{ /*continuous scrolling*/
526					if($this.data("horizontalScroll")){
527						mCSB_buttonRight.add(mCSB_buttonLeft).unbind("click");
528						$this.data({"bindEvent_buttonsPixels_x":false});
529						if(!$this.data("bindEvent_buttonsContinuous_x")){
530							/*scroll right*/
531							mCSB_buttonRight.bind("mousedown touchstart MSPointerDown pointerdown",function(e){
532								e.preventDefault();
533								var scrollButtonsSpeed=ScrollButtonsSpeed();
534								$this.data({"mCSB_buttonScrollRight":setInterval(function(){
535									$this.mCustomScrollbar("scrollTo",Math.abs(mCSB_container.position().left)+scrollButtonsSpeed,{trigger:"internal",scrollEasing:"easeOutCirc"});
536								},17)});
537							});
538							var mCSB_buttonRight_stop=function(e){
539								e.preventDefault(); clearInterval($this.data("mCSB_buttonScrollRight"));
540							}
541							mCSB_buttonRight.bind("mouseup touchend MSPointerUp pointerup mouseout MSPointerOut pointerout",mCSB_buttonRight_stop);
542							/*scroll left*/
543							mCSB_buttonLeft.bind("mousedown touchstart MSPointerDown pointerdown",function(e){
544								e.preventDefault();
545								var scrollButtonsSpeed=ScrollButtonsSpeed();
546								$this.data({"mCSB_buttonScrollLeft":setInterval(function(){
547									$this.mCustomScrollbar("scrollTo",Math.abs(mCSB_container.position().left)-scrollButtonsSpeed,{trigger:"internal",scrollEasing:"easeOutCirc"});
548								},17)});
549							});	
550							var mCSB_buttonLeft_stop=function(e){
551								e.preventDefault(); clearInterval($this.data("mCSB_buttonScrollLeft"));
552							}
553							mCSB_buttonLeft.bind("mouseup touchend MSPointerUp pointerup mouseout MSPointerOut pointerout",mCSB_buttonLeft_stop);
554							$this.data({"bindEvent_buttonsContinuous_x":true});
555						}
556					}else{
557						mCSB_buttonDown.add(mCSB_buttonUp).unbind("click");
558						$this.data({"bindEvent_buttonsPixels_y":false});
559						if(!$this.data("bindEvent_buttonsContinuous_y")){
560							/*scroll down*/
561							mCSB_buttonDown.bind("mousedown touchstart MSPointerDown pointerdown",function(e){
562								e.preventDefault();
563								var scrollButtonsSpeed=ScrollButtonsSpeed();
564								$this.data({"mCSB_buttonScrollDown":setInterval(function(){
565									$this.mCustomScrollbar("scrollTo",Math.abs(mCSB_container.position().top)+scrollButtonsSpeed,{trigger:"internal",scrollEasing:"easeOutCirc"});
566								},17)});
567							});
568							var mCSB_buttonDown_stop=function(e){
569								e.preventDefault(); clearInterval($this.data("mCSB_buttonScrollDown"));
570							}
571							mCSB_buttonDown.bind("mouseup touchend MSPointerUp pointerup mouseout MSPointerOut pointerout",mCSB_buttonDown_stop);
572							/*scroll up*/
573							mCSB_buttonUp.bind("mousedown touchstart MSPointerDown pointerdown",function(e){
574								e.preventDefault();
575								var scrollButtonsSpeed=ScrollButtonsSpeed();
576								$this.data({"mCSB_buttonScrollUp":setInterval(function(){
577									$this.mCustomScrollbar("scrollTo",Math.abs(mCSB_container.position().top)-scrollButtonsSpeed,{trigger:"internal",scrollEasing:"easeOutCirc"});
578								},17)});
579							});	
580							var mCSB_buttonUp_stop=function(e){
581								e.preventDefault(); clearInterval($this.data("mCSB_buttonScrollUp"));
582							}
583							mCSB_buttonUp.bind("mouseup touchend MSPointerUp pointerup mouseout MSPointerOut pointerout",mCSB_buttonUp_stop);
584							$this.data({"bindEvent_buttonsContinuous_y":true});
585						}
586					}
587					function ScrollButtonsSpeed(){
588						var speed=$this.data("scrollButtons_scrollSpeed");
589						if($this.data("scrollButtons_scrollSpeed")==="auto"){
590							speed=Math.round(($this.data("scrollInertia")+100)/40);
591						}
592						return speed;
593					}
594				}
595			}
596			/*scrolling on element focus (e.g. via TAB key)*/
597			if($this.data("autoScrollOnFocus")){
598				if(!$this.data("bindEvent_focusin")){
599					mCustomScrollBox.bind("focusin",function(){
600						mCustomScrollBox.scrollTop(0).scrollLeft(0);
601						var focusedElem=$(document.activeElement);
602						if(focusedElem.is("input,textarea,select,button,a[tabindex],area,object")){
603							var mCSB_containerPos=mCSB_container.position().top,
604								focusedElemPos=focusedElem.position().top,
605								visibleLimit=mCustomScrollBox.height()-focusedElem.outerHeight();
606							if($this.data("horizontalScroll")){
607								mCSB_containerPos=mCSB_container.position().left;
608								focusedElemPos=focusedElem.position().left;
609								visibleLimit=mCustomScrollBox.width()-focusedElem.outerWidth();
610							}
611							if(mCSB_containerPos+focusedElemPos<0 || mCSB_containerPos+focusedElemPos>visibleLimit){
612								$this.mCustomScrollbar("scrollTo",focusedElemPos,{trigger:"internal"});
613							}
614						}
615					});
616					$this.data({"bindEvent_focusin":true});
617				}
618			}
619			/*auto-hide scrollbar*/
620			if($this.data("autoHideScrollbar") && !$this.data("alwaysShowScrollbar")){
621				if(!$this.data("bindEvent_autoHideScrollbar")){
622					mCustomScrollBox.bind("mouseenter",function(e){
623						mCustomScrollBox.addClass("mCS-mouse-over");
624						functions.showScrollbar.call(mCustomScrollBox.children(".mCSB_scrollTools"));
625					}).bind("mouseleave touchend",function(e){
626						mCustomScrollBox.removeClass("mCS-mouse-over");
627						if(e.type==="mouseleave"){functions.hideScrollbar.call(mCustomScrollBox.children(".mCSB_scrollTools"));}
628					});
629					$this.data({"bindEvent_autoHideScrollbar":true});
630				}
631			}
632		},
633		scrollTo:function(scrollTo,options){
634			var $this=$(this),
635				defaults={
636					moveDragger:false,
637					trigger:"external",
638					callbacks:true,
639					scrollInertia:$this.data("scrollInertia"),
640					scrollEasing:$this.data("scrollEasing")
641				},
642				options=$.extend(defaults,options),
643				draggerScrollTo,
644				mCustomScrollBox=$this.children(".mCustomScrollBox"),
645				mCSB_container=mCustomScrollBox.children(".mCSB_container"),
646				mCSB_scrollTools=mCustomScrollBox.children(".mCSB_scrollTools"),
647				mCSB_draggerContainer=mCSB_scrollTools.children(".mCSB_draggerContainer"),
648				mCSB_dragger=mCSB_draggerContainer.children(".mCSB_dragger"),
649				contentSpeed=draggerSpeed=options.scrollInertia,
650				scrollBeginning,scrollBeginningOffset,totalScroll,totalScrollOffset;
651			if(!mCSB_container.hasClass("mCS_no_scrollbar")){
652				$this.data({"mCS_trigger":options.trigger});
653				if($this.data("mCS_Init")){options.callbacks=false;}
654				if(scrollTo || scrollTo===0){
655					if(typeof(scrollTo)==="number"){ /*if integer, scroll by number of pixels*/
656						if(options.moveDragger){ /*scroll dragger*/
657							draggerScrollTo=scrollTo;
658							if($this.data("horizontalScroll")){
659								scrollTo=mCSB_dragger.position().left*$this.data("scrollAmount");
660							}else{
661								scrollTo=mCSB_dragger.position().top*$this.data("scrollAmount");
662							}
663							draggerSpeed=0;
664						}else{ /*scroll content by default*/
665							draggerScrollTo=scrollTo/$this.data("scrollAmount");
666						}
667					}
667else if(typeof(scrollTo)==="string"){ /*if string, scroll by element position*/
668						var target;
669						if(scrollTo==="top"){ /*scroll to top*/
670							target=0;
671						}else if(scrollTo==="bottom" && !$this.data("horizontalScroll")){ /*scroll to bottom*/
672							target=mCSB_container.outerHeight()-mCustomScrollBox.height();
673						}else if(scrollTo==="left"){ /*scroll to left*/
674							target=0;
675						}else if(scrollTo==="right" && $this.data("horizontalScroll")){ /*scroll to right*/
676							target=mCSB_container.outerWidth()-mCustomScrollBox.width();
677						}else if(scrollTo==="first"){ /*scroll to first element position*/
678							target=$this.find(".mCSB_container").find(":first");
679						}else if(scrollTo==="last"){ /*scroll to last element position*/
680							target=$this.find(".mCSB_container").find(":last");
681						}else{ /*scroll to element position*/
682							target=$this.find(scrollTo);
683						}
684						if(target.length===1){ /*if such unique element exists, scroll to it*/
685							if($this.data("horizontalScroll")){
686								scrollTo=target.position().left;
687							}else{
688								scrollTo=target.position().top;
689							}
690							draggerScrollTo=scrollTo/$this.data("scrollAmount");
691						}else{
692							draggerScrollTo=scrollTo=target;
693						}
694					}
695					/*scroll to*/
696					if($this.data("horizontalScroll")){
697						if($this.data("onTotalScrollBack_Offset")){ /*scroll beginning offset*/
698							scrollBeginningOffset=-$this.data("onTotalScrollBack_Offset");
699						}
700						if($this.data("onTotalScroll_Offset")){ /*total scroll offset*/
701							totalScrollOffset=mCustomScrollBox.width()-mCSB_container.outerWidth()+$this.data("onTotalScroll_Offset");
702						}
703						if(draggerScrollTo<0){ /*scroll start position*/
704							draggerScrollTo=scrollTo=0; clearInterval($this.data("mCSB_buttonScrollLeft"));
705							if(!scrollBeginningOffset){scrollBeginning=true;}
706						}else if(draggerScrollTo>=mCSB_draggerContainer.width()-mCSB_dragger.width()){ /*scroll end position*/
707							draggerScrollTo=mCSB_draggerContainer.width()-mCSB_dragger.width();
708							scrollTo=mCustomScrollBox.width()-mCSB_container.outerWidth(); clearInterval($this.data("mCSB_buttonScrollRight"));
709							if(!totalScrollOffset){totalScroll=true;}
710						}else{scrollTo=-scrollTo;}
711						var snapAmount = $this.data("snapAmount");
712						if (snapAmount) {
713							scrollTo = Math.round(scrollTo / snapAmount) * snapAmount - $this.data("snapOffset");
714						}
715						/*scrolling animation*/
716						functions.mTweenAxis.call(this,mCSB_dragger[0],"left",Math.round(draggerScrollTo),draggerSpeed,options.scrollEasing);
717						functions.mTweenAxis.call(this,mCSB_container[0],"left",Math.round(scrollTo),contentSpeed,options.scrollEasing,{
718							onStart:function(){
719								if(options.callbacks && !$this.data("mCS_tweenRunning")){callbacks("onScrollStart");}
720								if($this.data("autoHideScrollbar") && !$this.data("alwaysShowScrollbar")){functions.showScrollbar.call(mCSB_scrollTools);}
721							},
722							onUpdate:function(){
723								if(options.callbacks){callbacks("whileScrolling");}
724							},
725							onComplete:function(){
726								if(options.callbacks){
727									callbacks("onScroll");
728									if(scrollBeginning || (scrollBeginningOffset && mCSB_container.position().left>=scrollBeginningOffset)){callbacks("onTotalScrollBack");}
729									if(totalScroll || (totalScrollOffset && mCSB_container.position().left<=totalScrollOffset)){callbacks("onTotalScroll");}
730								}
731								mCSB_dragger.data("preventAction",false); $this.data("mCS_tweenRunning",false);
732								if($this.data("autoHideScrollbar") && !$this.data("alwaysShowScrollbar")){if(!mCustomScrollBox.hasClass("mCS-mouse-over")){functions.hideScrollbar.call(mCSB_scrollTools);}}
733							}
734						});
735					}else{
736						if($this.data("onTotalScrollBack_Offset")){ /*scroll beginning offset*/
737							scrollBeginningOffset=-$this.data("onTotalScrollBack_Offset");
738						}
739						if($this.data("onTotalScroll_Offset")){ /*total scroll offset*/
740							totalScrollOffset=mCustomScrollBox.height()-mCSB_container.outerHeight()+$this.data("onTotalScroll_Offset");
741						}
742						if(draggerScrollTo<0){ /*scroll start position*/
743							draggerScrollTo=scrollTo=0; clearInterval($this.data("mCSB_buttonScrollUp"));
744							if(!scrollBeginningOffset){scrollBeginning=true;}
745						}else if(draggerScrollTo>=mCSB_draggerContainer.height()-mCSB_dragger.height()){ /*scroll end position*/
746							draggerScrollTo=mCSB_draggerContainer.height()-mCSB_dragger.height();
747							scrollTo=mCustomScrollBox.height()-mCSB_container.outerHeight(); clearInterval($this.data("mCSB_buttonScrollDown"));
748							if(!totalScrollOffset){totalScroll=true;}
749						}else{scrollTo=-scrollTo;}
750						var snapAmount = $this.data("snapAmount");
751						if (snapAmount) {
752							scrollTo = Math.round(scrollTo / snapAmount) * snapAmount - $this.data("snapOffset");
753						}
754						/*scrolling animation*/
755						functions.mTweenAxis.call(this,mCSB_dragger[0],"top",Math.round(draggerScrollTo),draggerSpeed,options.scrollEasing);
756						functions.mTweenAxis.call(this,mCSB_container[0],"top",Math.round(scrollTo),contentSpeed,options.scrollEasing,{
757							onStart:function(){
758								if(options.callbacks && !$this.data("mCS_tweenRunning")){callbacks("onScrollStart");}
759								if($this.data("autoHideScrollbar") && !$this.data("alwaysShowScrollbar")){functions.showScrollbar.call(mCSB_scrollTools);}
760							},
761							onUpdate:function(){
762								if(options.callbacks){callbacks("whileScrolling");}
763							},
764							onComplete:function(){
765								if(options.callbacks){
766									callbacks("onScroll");
767									if(scrollBeginning || (scrollBeginningOffset && mCSB_container.position().top>=scrollBeginningOffset)){callbacks("onTotalScrollBack");}
768									if(totalScroll || (totalScrollOffset && mCSB_container.position().top<=totalScrollOffset)){callbacks("onTotalScroll");}
769								}
770								mCSB_dragger.data("preventAction",false); $this.data("mCS_tweenRunning",false);
771								if($this.data("autoHideScrollbar") && !$this.data("alwaysShowScrollbar")){if(!mCustomScrollBox.hasClass("mCS-mouse-over")){functions.hideScrollbar.call(mCSB_scrollTools);}}
772							}
773						});
774					}
775					if($this.data("mCS_Init")){$this.data({"mCS_Init":false});}
776				}
777			}
778			/*callbacks*/
779			function callbacks(cb){
780				if ($this.data("mCustomScrollbarIndex")) {
781					this.mcs = {
782						top: mCSB_container.position().top, left: mCSB_container.position().left,
783						draggerTop: mCSB_dragger.position().top, draggerLeft: mCSB_dragger.position().left,
784						topPct: Math.round((100 * Math.abs(mCSB_container.position().top)) / Math.abs(mCSB_container.outerHeight() - mCustomScrollBox.height())),
785						leftPct: Math.round((100 * Math.abs(mCSB_container.position().left)) / Math.abs(mCSB_container.outerWidth() - mCustomScrollBox.width()))
786					};
787					switch (cb) {
788						/*start scrolling callback*/
789						case "onScrollStart":
790							$this.data("mCS_tweenRunning", true).data("onScrollStart_Callback").call($this, this.mcs);
791							break;
792						case "whileScrolling":
793							$this.data("whileScrolling_Callback").call($this, this.mcs);
794							break;
795						case "onScroll":
796							$this.data("onScroll_Callback").call($this, this.mcs);
797							break;
798						case "onTotalScrollBack":
799							$this.data("onTotalScrollBack_Callback").call($this, this.mcs);
800							break;
801						case "onTotalScroll":
802							$this.data("onTotalScroll_Callback").call($this, this.mcs);
803							break;
804					}
805				}
806			}
807		},
808		stop:function(){
809			var $this=$(this),
810				mCSB_container=$this.children().children(".mCSB_container"),
811				mCSB_dragger=$this.children().children().children().children(".mCSB_dragger");
812			functions.mTweenAxisStop.call(this,mCSB_container[0]);
813			functions.mTweenAxisStop.call(this,mCSB_dragger[0]);
814		},
815		disable:function(resetScroll){
816			var $this=$(this),
817				mCustomScrollBox=$this.children(".mCustomScrollBox"),
818				mCSB_container=mCustomScrollBox.children(".mCSB_container"),
819				mCSB_scrollTools=mCustomScrollBox.children(".mCSB_scrollTools"),
820				mCSB_dragger=mCSB_scrollTools.children().children(".mCSB_dragger");
821			mCustomScrollBox.unbind("mousewheel focusin mouseenter mouseleave touchend");
822			mCSB_container.unbind("touchstart touchmove")
823			if(resetScroll){
824				if($this.data("horizontalScroll")){
825					mCSB_dragger.add(mCSB_container).css("left",0);
826				}else{
827					mCSB_dragger.add(mCSB_container).css("top",0);
828				}
829			}
830			mCSB_scrollTools.css("display","none");
831			mCSB_container.addClass("mCS_no_scrollbar");
832			$this.data({"bindEvent_mousewheel":false,"bindEvent_focusin":false,"bindEvent_content_touch":false,"bindEvent_autoHideScrollbar":false}).addClass("mCS_disabled");
833		},
834		destroy:function(){
835			var $this=$(this);
836			$this.removeClass("mCustomScrollbar _mCS_"+$this.data("mCustomScrollbarIndex")).addClass("mCS_destroyed").children().children(".mCSB_container").unwrap().children().unwrap().siblings(".mCSB_scrollTools").remove();
837			$(document).unbind("mousemove."+$this.data("mCustomScrollbarIndex")+" mouseup."+$this.data("mCustomScrollbarIndex")+" MSPointerMove."+$this.data("mCustomScrollbarIndex")+" MSPointerUp."+$this.data("mCustomScrollbarIndex"));
838			$(window).unbind("resize."+$this.data("mCustomScrollbarIndex"));
839		}
840	},
841	functions={
842		/*hide/show scrollbar*/
843		showScrollbar:function(){
844			this.stop().animate({opacity:1},"fast");
845		},
846		hideScrollbar:function(){
847			this.stop().animate({opacity:0}
847,"fast");
848		},
849		/*js animation tween*/
850		mTweenAxis:function(el,prop,to,duration,easing,callbacks){
851			var callbacks=callbacks || {},
852				onStart=callbacks.onStart || function(){},onUpdate=callbacks.onUpdate || function(){},onComplete=callbacks.onComplete || function(){};
853			var startTime=_getTime(),_delay,progress=0,from=el.offsetTop,elStyle=el.style;
854			if(prop==="left"){from=el.offsetLeft;}
855			var diff=to-from;
856			_cancelTween();
857			_startTween();
858			function _getTime(){
859				if(window.performance && window.performance.now){
860					return window.performance.now();
861				}else{
862					if(window.performance && window.performance.webkitNow){
863						return window.performance.webkitNow();
864					}else{
865						if(Date.now){return Date.now();}else{return new Date().getTime();}
866					}
867				}
868			}
869			function _step(){
870				if(!progress){onStart.call();}
871				progress=_getTime()-startTime;
872				_tween();
873				if(progress>=el._time){
874					el._time=(progress>el._time) ? progress+_delay-(progress- el._time) : progress+_delay-1;
875					if(el._time<progress+1){el._time=progress+1;}
876				}
877				if(el._time<duration){el._id=_request(_step);}else{onComplete.call();}
878			}
879			function _tween(){
880				if(duration>0){
881					el.currVal=_ease(el._time,from,diff,duration,easing);
882					elStyle[prop]=Math.round(el.currVal)+"px";
883				}else{
884					elStyle[prop]=to+"px";
885				}
886				onUpdate.call();
887			}
888			function _startTween(){
889				_delay=1000/60;
890				el._time=progress+_delay;
891				_request=(!window.requestAnimationFrame) ? function(f){_tween(); return setTimeout(f,0.01);} : window.requestAnimationFrame;
892				el._id=_request(_step);
893			}
894			function _cancelTween(){
895				if(el._id==null){return;}
896				if(!window.requestAnimationFrame){clearTimeout(el._id);
897				}else{window.cancelAnimationFrame(el._id);}
898				el._id=null;
899			}
900			function _ease(t,b,c,d,type){
901				switch(type){
902					case "linear":
903						return c*t/d + b;
904						break;
905					case "easeOutQuad":
906						t /= d; return -c * t*(t-2) + b;
907						break;
908					case "easeInOutQuad":
909						t /= d/2;
910						if (t < 1) return c/2*t*t + b;
911						t--;
912						return -c/2 * (t*(t-2) - 1) + b;
913						break;
914					case "easeOutCubic":
915						t /= d; t--; return c*(t*t*t + 1) + b;
916						break;
917					case "easeOutQuart":
918						t /= d; t--; return -c * (t*t*t*t - 1) + b;
919						break;
920					case "easeOutQuint":
921						t /= d; t--; return c*(t*t*t*t*t + 1) + b;
922						break;
923					case "easeOutCirc":
924						t /= d; t--; return c * Math.sqrt(1 - t*t) + b;
925						break;
926					case "easeOutSine":
927						return c * Math.sin(t/d * (Math.PI/2)) + b;
928						break;
929					case "easeOutExpo":
930						return c * ( -Math.pow( 2, -10 * t/d ) + 1 ) + b;
931						break;
932					case "mcsEaseOut":
933						var ts=(t/=d)*t,tc=ts*t;
934						return b+c*(0.499999999999997*tc*ts + -2.5*ts*ts + 5.5*tc + -6.5*ts + 4*t);
935						break;
936					case "draggerRailEase":
937						t /= d/2;
938						if (t < 1) return c/2*t*t*t + b;
939						t -= 2;
940						return c/2*(t*t*t + 2) + b;
941						break;
942				}
943			}
944		},
945		/*stop js animation tweens*/
946		mTweenAxisStop:function(el){
947			if(el._id==null){return;}
948			if(!window.requestAnimationFrame){clearTimeout(el._id);
949			}else{window.cancelAnimationFrame(el._id);}
950			el._id=null;
951		},
952		/*detect requestAnimationFrame and polyfill*/
953		rafPolyfill:function(){
954			var pfx=["ms","moz","webkit","o"],i=pfx.length;
955			while(--i > -1 && !window.requestAnimationFrame){
956				window.requestAnimationFrame=window[pfx[i]+"RequestAnimationFrame"];
957				window.cancelAnimationFrame=window[pfx[i]+"CancelAnimationFrame"] || window[pfx[i]+"CancelRequestAnimationFrame"];
958			}
959		}
960	}
961	/*detect features*/
962	functions.rafPolyfill.call(); /*requestAnimationFrame*/
963	$.support.touch=!!('ontouchstart' in window); /*touch*/
964	$.support.pointer=window.navigator.pointerEnabled; /*pointer support*/
965	$.support.msPointer=window.navigator.msPointerEnabled; /*MSPointer support*/
966	/*plugin dependencies*/
967	var _dlp=("https:"==document.location.protocol) ? "https:" : "http:";
968	$.event.special.mousewheel || document.write('<script src="'+_dlp+'//cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.0.6/jquery.mousewheel.min.js"><\/script>');
969	/*plugin fn*/
970	$.fn.mCustomScrollbar=function(method){
971		if(methods[method]){
972			return methods[method].apply(this,Array.prototype.slice.call(arguments,1));
973		}else if(typeof method==="object" || !method){
974			return methods.init.apply(this,arguments);
975		}else{
976			$.error("Method "+method+" does not exist");
977		}
978	};
979})(jQuery);
980(function($){$(document).ready(function(){timelineImage();});function timelineImage(){$('.timeline_rollover_top').unbind('hover').timelineRollover('top');$('.timeline_rollover_right').unbind('hover').timelineRollover('right');$('.timeline_rollover_bottom').unbind('hover').timelineRollover('bottom');$('.timeline_rollover_left').unbind('hover').timelineRollover('left');}
981$.fn.timelineRollover=function(type){var lstart,lend;var tstart,tend;$(this).append('\n<div class="image_roll_glass"></div><div class="image_roll_zoom"></div>');switch(type)
982{case'top':lstart='0';lend='0';tstart='-100%';tend='0';break;case'right':lstart='100%';lend='0';tstart='0';tend='0';break;case'bottom':lstart='0';lend='0';tstart='100%';tend='0';break;case'left':lstart='-100%';lend='0';tstart='0';tend='0';break;}
983$(this).find('.image_roll_zoom').css({left:lstart,top:tstart});$(this).hover(function(){$(this).find('.image_roll_zoom').stop(true,true).animate({left:lend,top:tend},200);$(this).find('.image_roll_glass').stop(true,true).fadeIn(200);},function(){$(this).find('.image_roll_zoom').stop(true).animate({left:lstart,top:tstart},200);$(this).find('.image_roll_glass').stop(true,true).fadeOut(200);});}})(jQuery);
984(function($){$.prettyPhoto={version:'3.1.4'};$.fn.prettyPhoto=function(pp_settings){pp_settings=jQuery.extend({hook:'rel',animation_speed:'fast',ajaxcallback:function(){},slideshow:5000,autoplay_slideshow:false,opacity:0.80,show_title:true,allow_resize:true,allow_expand:true,default_width:500,default_height:344,counter_separator_label:'/',theme:'pp_default',horizontal_padding:20,hideflash:false,wmode:'opaque',autoplay:true,modal:false,deeplinking:true,overlay_gallery:true,overlay_gallery_max:30,keyboard_shortcuts:true,changepicturecallback:function(){},callback:function(){},ie6_fallback:true,markup:'<div class="pp_pic_holder"> \
985      <div class="ppt">&nbsp;</div> \
986      <div class="pp_top"> \
987       <div class="pp_left"></div> \
988       <div class="pp_middle"></div> \
989       <div class="pp_right"></div> \
990      </div> \
991      <div class="pp_content_container"> \
992       <div class="pp_left"> \
993       <div class="pp_right"> \
994        <div class="pp_content"> \
995         <div class="pp_loaderIcon"></div> \
996         <div class="pp_fade"> \
997          <a href="#" class="pp_expand" title="Expand the image">Expand</a> \
998          <div class="pp_hoverContainer"> \
999           <a class="pp_next" href="#">next</a> \
1000           <a class="pp_previous" href="#">previous</a> \
1001          </div> \
1002          <div id="pp_full_res"></div> \
1003          <div class="pp_details"> \
1004           <div class="pp_nav"> \
1005            <a href="#" class="pp_arrow_previous">Previous</a> \
1006            <p class="currentTextHolder">0/0</p> \
1007            <a href="#" class="pp_arrow_next">Next</a> \
1008           </div> \
1009           <p class="pp_description"></p> \
1010           <div class="pp_social">{pp_social}</div> \
1011           <a class="pp_close" href="#">Close</a> \
1012          </div> \
1013         </div> \
1014        </div> \
1015       </div> \
1016       </div> \
1017      </div> \
1018      <div class="pp_bottom"> \
1019       <div class="pp_left"></div> \
1020       <div class="pp_middle"></div> \
1021       <div class="pp_right"></div> \
1022      </div> \
1023     </div> \
1024     <div class="pp_overlay"></div>',gallery_markup:'<div class="pp_gallery"> \
1025        <a href="#" class="pp_arrow_previous">Previous</a> \
1026        <div> \
1027         <ul> \
1028          {gallery} \
1029         </ul> \
1030        </div> \
1031        <a href="#" class="pp_arrow_next">Next</a> \
1032       </div>',image_markup:'<img id="fullResImage" src="{path}" />',flash_markup:'<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="{width}" height="{height}"><param name="wmode" value="{wmode}" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="{path}" /><embed src="{path}" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="{width}" height="{height}" wmode="{wmode}"></embed></object>',quicktime_markup:'<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab" height="{height}" width="{width}"><param name="src" value="{path}"><param name="autoplay" value="{autoplay}"><param name="type" value="video/quicktime"><embed src="{path}" height="{height}" width="{width}" autoplay="{autoplay}" type="video/quicktime" pluginspage="http://www.apple.com/quicktime/download/"></embed></object>',iframe_markup:'<iframe src ="{path}" width="{width}" height="{height}" frameborder="no"></iframe>',inline_markup:'<div class="pp_inline">{content}</div>',custom_markup:'',social_tools:'<div class="twitter"><a href="http://twitter.com/share" class="twitter-share-button" data-count="none">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="facebook"><iframe src="//www.facebook.com/plugins/like.php?locale=en_US&href={location_href}&amp;layout=button_count&amp;show_faces=true&amp;width=500&amp;action=like&amp;font&amp;colorscheme=light&amp;height=23" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:500px; height:23px;" allowTransparency="true"></iframe></div>'},pp_settings);var matchedObjects=this,percentBased=false,pp_dimensions,pp_open,pp_contentHeight,pp_contentWidth,pp_containerHeight,pp_containerWidth,windowHeight=$(window).height(),windowWidth=$(window).width(),pp_slideshow;doresize=true,scroll_pos=_get_scroll();$(window).unbind('resize.prettyphoto').bind('resize.prettyphoto',function(){_center_overlay();_resize_overlay();});if(pp_settings.keyboard_shortcuts){$(document).unbind('keydown.prettyphoto').bind('keydown.prettyphoto',function(e){if(typeof $pp_pic_holder!='undefined'){if($pp_pic_holder.is(':visible')){switch(e.keyCode){case 37:$.prettyPhoto.changePage('previous');e.preventDefault();break;case 39:$.prettyPhoto.changePage('next');e.preventDefault();break;case 27:if(!settings.modal)
1033$.prettyPhoto.close();e.preventDefault();break;};};};});};$.prettyPhoto.initialize=function(){settings=pp_settings;if(settings.theme=='pp_default')settings.horizontal_padding=16;if(settings.ie6_fallback&&$.browser.msie&&parseInt($.browser.version)==6)settings.theme="light_square";theRel=$(this).attr(settings.hook);galleryRegExp=/\[(?:.*)\]/;isSet=(galleryRegExp.exec(theRel))?true:false;
1033pp_images=(isSet)?jQuery.map(matchedObjects,function(n,i){if($(n).attr(settings.hook).indexOf(theRel)!=-1)return $(n).attr('href');}):$.makeArray($(this).attr('href'));pp_titles=(isSet)?jQuery.map(matchedObjects,function(n,i){if($(n).attr(settings.hook).indexOf(theRel)!=-1)return($(n).find('img').attr('alt'))?$(n).find('img').attr('alt'):"";}):$.makeArray($(this).find('img').attr('alt'));pp_descriptions=(isSet)?jQuery.map(matchedObjects,function(n,i){if($(n).attr(settings.hook).indexOf(theRel)!=-1)return($(n).attr('title'))?$(n).attr('title'):"";}):$.makeArray($(this).attr('title'));if(pp_images.length>settings.overlay_gallery_max)settings.overlay_gallery=false;set_position=jQuery.inArray($(this).attr('href'),pp_images);rel_index=(isSet)?set_position:$("a["+settings.hook+"^='"+theRel+"']").index($(this));_build_overlay(this);if(settings.allow_resize)
1034$(window).bind('scroll.prettyphoto',function(){_center_overlay();});$.prettyPhoto.open();return false;}
1035$.prettyPhoto.open=function(event){if(typeof settings=="undefined"){settings=pp_settings;if($.browser.msie&&$.browser.version==6)settings.theme="light_square";pp_images=$.makeArray(arguments[0]);pp_titles=(arguments[1])?$.makeArray(arguments[1]):$.makeArray("");pp_descriptions=(arguments[2])?$.makeArray(arguments[2]):$.makeArray("");isSet=(pp_images.length>1)?true:false;set_position=(arguments[3])?arguments[3]:0;_build_overlay(event.target);}
1036if($.browser.msie&&$.browser.version==6)$('select').css('visibility','hidden');if(settings.hideflash)$('object,embed,iframe[src*=youtube],iframe[src*=vimeo]').css('visibility','hidden');_checkPosition($(pp_images).size());$('.pp_loaderIcon').show();if(settings.deeplinking)
1037setHashtag();if(settings.social_tools){facebook_like_link=settings.social_tools.replace('{location_href}',encodeURIComponent(location.href));$pp_pic_holder.find('.pp_social').html(facebook_like_link);}
1038if($ppt.is(':hidden'))$ppt.css('opacity',0).show();$pp_overlay.show().fadeTo(settings.animation_speed,settings.opacity);$pp_pic_holder.find('.currentTextHolder').text((set_position+1)+settings.counter_separator_label+$(pp_images).size());if(typeof pp_descriptions[set_position]!='undefined'&&pp_descriptions[set_position]!=""){$pp_pic_holder.find('.pp_description').show().html(unescape(pp_descriptions[set_position]));}else{$pp_pic_holder.find('.pp_description').hide();}
1039movie_width=(parseFloat(getParam('width',pp_images[set_position])))?getParam('width',pp_images[set_position]):settings.default_width.toString();movie_height=(parseFloat(getParam('height',pp_images[set_position])))?getParam('height',pp_images[set_position]):settings.default_height.toString();percentBased=false;if(movie_height.indexOf('%')!=-1){movie_height=parseFloat(($(window).height()*parseFloat(movie_height)/100)-150);percentBased=true;}
1040if(movie_width.indexOf('%')!=-1){movie_width=parseFloat(($(window).width()*parseFloat(movie_width)/100)-150);percentBased=true;}
1041$pp_pic_holder.fadeIn(function(){(settings.show_title&&pp_titles[set_position]!=""&&typeof pp_titles[set_position]!="undefined")?$ppt.html(unescape(pp_titles[set_position])):$ppt.html('&nbsp;');imgPreloader="";skipInjection=false;switch(_getFileType(pp_images[set_position])){case'image':imgPreloader=new Image();nextImage=new Image();if(isSet&&set_position<$(pp_images).size()-1)nextImage.src=pp_images[set_position+1];prevImage=new Image();
1041if(isSet&&pp_images[set_position-1])prevImage.src=pp_images[set_position-1];$pp_pic_holder.find('#pp_full_res')[0].innerHTML=settings.image_markup.replace(/{path}/g,pp_images[set_position]);imgPreloader.onload=function(){pp_dimensions=_fitToViewport(imgPreloader.width,imgPreloader.height);_showContent();};imgPreloader.onerror=function(){alert('Image cannot be loaded. Make sure the path is correct and image exist.');$.prettyPhoto.close();};imgPreloader.src=pp_images[set_position];break;case'youtube':pp_dimensions=_fitToViewport(movie_width,movie_height);movie_id=getParam('v',pp_images[set_position]);if(movie_id==""){movie_id=pp_images[set_position].split('youtu.be/');movie_id=movie_id[1];if(movie_id.indexOf('?')>0)
1042movie_id=movie_id.substr(0,movie_id.indexOf('?'));if(movie_id.indexOf('&')>0)
1043movie_id=movie_id.substr(0,movie_id.indexOf('&'));}
1044movie='http://www.youtube.com/embed/'+movie_id;(getParam('rel',pp_images[set_position]))?movie+="?rel="+getParam('rel',pp_images[set_position]):movie+="?rel=1";if(settings.autoplay)movie+="&autoplay=1";toInject=settings.iframe_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,movie);break;case'vimeo':pp_dimensions=_fitToViewport(movie_width,movie_height);movie_id=pp_images[set_position];var regExp=/http:\/\/(www\.)?vimeo.com\/(\d+)/;var match=movie_id.match(regExp);movie='http://player.vimeo.com/video/'+match[2]+'?title=0&amp;byline=0&amp;portrait=0';if(settings.autoplay)movie+="&autoplay=1;";vimeo_width=pp_dimensions['width']+'/embed/?moog_width='+pp_dimensions['width'];toInject=settings.iframe_markup.replace(/{width}/g,vimeo_width).replace(/{height}/g,pp_dimensions['height']).replace(/{path}/g,movie);break;case'quicktime':pp_dimensions=_fitToViewport(movie_width,movie_height);pp_dimensions['height']+=15;pp_dimensions['contentHeight']+=15;pp_dimensions['containerHeight']+=15;toInject=settings.quicktime_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,pp_images[set_position]).replace(/{autoplay}/g,settings.autoplay);break;case'flash':pp_dimensions=_fitToViewport(movie_width,movie_height);flash_vars=pp_images[set_position];flash_vars=flash_vars.substring(pp_images[set_position].indexOf('flashvars')+10,pp_images[set_position].length);filename=pp_images[set_position];filename=filename.substring(0,filename.indexOf('?'));toInject=settings.flash_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,filename+'?'+flash_vars);break;case'iframe':pp_dimensions=_fitToViewport(movie_width,movie_height);frame_url=pp_images[set_position];frame_url=frame_url.substr(0,frame_url.indexOf('iframe')-1);toInject=settings.iframe_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{path}/g,frame_url);break;case'ajax':doresize=false;pp_dimensions=_fitToViewport(movie_width,movie_height);doresize=true;skipInjection=true;$.get(pp_images[set_position],function(responseHTML){toInject=settings.inline_markup.replace(/{content}/g,responseHTML);$pp_pic_holder.find('#pp_full_res')[0].innerHTML=toInject;_showContent();});break;case'custom':pp_dimensions=_fitToViewport(movie_width,movie_height);toInject=settings.custom_markup;break;case'inline':myClone=$(pp_images[set_position]).clone().append('<br clear="all" />').css({'width':settings.default_width}).wrapInner('<div id="pp_full_res"><div class="pp_inline"></div></div>').appendTo($('body')).show();doresize=false;pp_dimensions=_fitToViewport($(myClone).width(),$(myClone).height());doresize=true;$(myClone).remove();toInject=settings.inline_markup.replace(/{content}/g,$(pp_images[set_position]).html());break;};if(!imgPreloader&&!skipInjection){$pp_pic_holder.find('#pp_full_res')[0].innerHTML=toInject;_showContent();};});return false;};$.prettyPhoto.changePage=function(direction){currentGalleryPage=0;if(direction=='previous'){set_position--;if(set_position<0)set_position=$(pp_images).size()-1;}else if(direction=='next'){set_position++;if(set_position>$(pp_images).size()-1)set_position=0;}else{set_position=direction;};rel_index=set_position;if(!doresize)doresize=true;if(settings.allow_expand){$('.pp_contract').removeClass('pp_contract').addClass('pp_expand');}
1045_hideContent(function(){$.prettyPhoto.open();});};$.prettyPhoto.changeGalleryPage=function(direction){if(direction=='next'){currentGalleryPage++;if(currentGalleryPage>totalPage)currentGalleryPage=0;}else if(direction=='previous'){currentGalleryPage--;if(currentGalleryPage<0)currentGalleryPage=totalPage;}else{currentGalleryPage=direction;};slide_speed=(direction=='next'||direction=='previous')?settings.animation_speed:0;slide_to=currentGalleryPage*(itemsPerPage*itemWidth);$pp_gallery.find('ul').animate({left:-slide_to},slide_speed);};$.prettyPhoto.startSlideshow=function(){if(typeof pp_slideshow=='undefined'){$pp_pic_holder.find('.pp_play').unbind('click').removeClass('pp_play').addClass('pp_pause').click(function(){$.prettyPhoto.stopSlideshow();return false;});pp_slideshow=setInterval($.prettyPhoto.startSlideshow,settings.slideshow);}else{$.prettyPhoto.changePage('next');};}
1046$.prettyPhoto.stopSlideshow=function(){$pp_pic_holder.find('.pp_pause').unbind('click').removeClass('pp_pause').addClass('pp_play').click(function(){$.prettyPhoto.startSlideshow();return false;});clearInterval(pp_slideshow);pp_slideshow=undefined;}
1047$.prettyPhoto.close=function(){if($pp_overlay.is(":animated"))return;$.prettyPhoto.stopSlideshow();$pp_pic_holder.stop().find('object,embed').css('visibility','hidden');$('div.pp_pic_holder,div.ppt,.pp_fade').fadeOut(settings.animation_speed,function(){$(this).remove();});$pp_overlay.fadeOut(settings.animation_speed,function(){if($.browser.msie&&$.browser.version==6)$('select').css('visibility','visible');if(settings.hideflash)$('object,embed,iframe[src*=youtube],iframe[src*=vimeo]').css('visibility','visible');$(this).remove();$(window).unbind('scroll.prettyphoto');clearHashtag();settings.callback();doresize=true;pp_open=false;delete settings;});};function _showContent(){$('.pp_loaderIcon').hide();projectedTop=scroll_pos['scrollTop']+((windowHeight/2)-(pp_dimensions['containerHeight']/2));if(projectedTop<0)projectedTop=0;$ppt.fadeTo(settings.animation_speed,1);$pp_pic_holder.find('.pp_content').animate({height:pp_dimensions['contentHeight'],width:pp_dimensions['contentWidth']},settings.animation_speed);$pp_pic_holder.animate({'top':projectedTop,'left':((windowWidth/2)-(pp_dimensions['containerWidth']/2)<0)?0:(windowWidth/2)-(pp_dimensions['containerWidth']/2),width:pp_dimensions['containerWidth']},settings.animation_speed,function(){$pp_pic_holder.find('.pp_hoverContainer,#fullResImage').height(pp_dimensions['height']).width(pp_dimensions['width']);$pp_pic_holder.find('.pp_fade').fadeIn(settings.animation_speed);if(isSet&&_getFileType(pp_images[set_position])=="image"){$pp_pic_holder.find('.pp_hoverContainer').show();}else{$pp_pic_holder.find('.pp_hoverContainer').hide();}
1048if(settings.allow_expand){if(pp_dimensions['resized']){$('a.pp_expand,a.pp_contract').show();}else{$('a.pp_expand').hide();}}
1049if(settings.autoplay_slideshow&&!pp_slideshow&&!pp_open)$.prettyPhoto.startSlideshow();settings.changepicturecallback();pp_open=true;});_insert_gallery();pp_settings.ajaxcallback();};function _hideContent(callback){$pp_pic_holder.find('#pp_full_res object,#pp_full_res embed').css('visibility','hidden');$pp_pic_holder.find('.pp_fade').fadeOut(settings.animation_speed,function(){$('.pp_loaderIcon').show();callback();});};function _checkPosition(setCount){(setCount>1)?$('.pp_nav').show():$('.pp_nav').hide();};function _fitToViewport(width,height){resized=false;_getDimensions(width,height);imageWidth=width,imageHeight=height;if(((pp_containerWidth>windowWidth)||(pp_containerHeight>windowHeight))&&doresize&&settings.allow_resize&&!percentBased){resized=true,fitting=false;while(!fitting){if((pp_containerWidth>windowWidth)){imageWidth=(windowWidth-200);imageHeight=(height/width)*imageWidth;}else if((pp_containerHeight>windowHeight)){imageHeight=(windowHeight-200);imageWidth=(width/height)*imageHeight;}else{fitting=true;};pp_containerHeight=imageHeight,pp_containerWidth=imageWidth;};_getDimensions(imageWidth,imageHeight);if((pp_containerWidth>windowWidth)||(pp_containerHeight>windowHeight)){_fitToViewport(pp_containerWidth,pp_containerHeight)};};return{width:Math.floor(imageWidth),height:Math.floor(imageHeight),containerHeight:Math.floor(pp_containerHeight),containerWidth:Math.floor(pp_containerWidth)+(settings.horizontal_padding*2),contentHeight:Math.floor(pp_contentHeight),contentWidth:Math.floor(pp_contentWidth),resized:resized};};function _getDimensions(width,height){width=parseFloat(width);height=parseFloat(height);$pp_details=$pp_pic_holder.find('.pp_details');$pp_details.width(width);detailsHeight=parseFloat($pp_details.css('marginTop'))+parseFloat($pp_details.css('marginBottom'));$pp_details=$pp_details.clone().addClass(settings.theme).width(width).appendTo($('body')).css({'position':'absolute','top':-10000});detailsHeight+=$pp_details.height();detailsHeight=(detailsHeight<=34)?36:detailsHeight;if($.browser.msie&&$.browser.version==7)detailsHeight+=8;$pp_details.remove();$pp_title=$pp_pic_holder.find('.ppt');$pp_title.width(width);titleHeight=parseFloat($pp_title.css('marginTop'))+parseFloat($pp_title.css('marginBottom'));$pp_title=$pp_title.clone().appendTo($('body')).css({'position':'absolute','top':-10000});titleHeight+=$pp_title.height();$pp_title.remove();pp_contentHeight=height+detailsHeight;pp_contentWidth=width;pp_containerHeight=pp_contentHeight+titleHeight+$pp_pic_holder.find('.pp_top').height()+$pp_pic_holder.find('.pp_bottom').height();pp_containerWidth=width;}
1050function _getFileType(itemSrc){if(itemSrc.match(/youtube\.com\/watch/i)||itemSrc.match(/youtu\.be/i)){return'youtube';}else if(itemSrc.match(/vimeo\.com/i)){return'vimeo';}else if(itemSrc.match(/\b.mov\b/i)){return'quicktime';}else if(itemSrc.match(/\b.swf\b/i)){return'flash';}else if(itemSrc.match(/\biframe=true\b/i)){return'iframe';}else if(itemSrc.match(/\bajax=true\b/i)){return'ajax';}else if(itemSrc.match(/\bcustom=true\b/i)){return'custom';}else if(itemSrc.substr(0,1)=='#'){return'inline';}else{return'image';};};function _center_overlay(){if(doresize&&typeof $pp_pic_holder!='undefined'){scroll_pos=_get_scroll();contentHeight=$pp_pic_holder.height(),contentwidth=$pp_pic_holder.width();projectedTop=(windowHeight/2)+scroll_pos['scrollTop']-(contentHeight/2);if(projectedTop<0)projectedTop=0;if(contentHeight>windowHeight)
1051return;$pp_pic_holder.css({'top':projectedTop,'left':(windowWidth/2)+scroll_pos['scrollLeft']-(contentwidth/2)});};};function _get_scroll(){if(self.pageYOffset){return{scrollTop:self.pageYOffset,scrollLeft:self.pageXOffset};}else if(document.documentElement&&document.documentElement.scrollTop){return{scrollTop:document.documentElement.scrollTop,scrollLeft:document.documentElement.scrollLeft};}else if(document.body){return{scrollTop:document.body.scrollTop,scrollLeft:document.body.scrollLeft};};};function _resize_overlay(){windowHeight=$(window).height(),windowWidth=$(window).width();if(typeof $pp_overlay!="undefined")$pp_overlay.height($(document).height()).width(windowWidth);};function _insert_gallery(){if(isSet&&settings.overlay_gallery&&_getFileType(pp_images[set_position])=="image"&&(sett
1051ings.ie6_fallback&&!($.browser.msie&&parseInt($.browser.version)==6))){itemWidth=52+5;navWidth=(settings.theme=="facebook"||settings.theme=="pp_default")?50:30;itemsPerPage=Math.floor((pp_dimensions['containerWidth']-100-navWidth)/itemWidth);itemsPerPage=(itemsPerPage<pp_images.length)?itemsPerPage:pp_images.length;totalPage=Math.ceil(pp_images.length/itemsPerPage)-1;if(totalPage==0){navWidth=0;$pp_gallery.find('.pp_arrow_next,.pp_arrow_previous').hide();}else{$pp_gallery.find('.pp_arrow_next,.pp_arrow_previous').show();};galleryWidth=itemsPerPage*itemWidth;fullGalleryWidth=pp_images.length*itemWidth;$pp_gallery.css('margin-left',-((galleryWidth/2)+(navWidth/2))).find('div:first').width(galleryWidth+5).find('ul').width(fullGalleryWidth).find('li.selected').removeClass('selected');goToPage=(Math.floor(set_position/itemsPerPage)<totalPage)?Math.floor(set_position/itemsPerPage):totalPage;$.prettyPhoto.changeGalleryPage(goToPage);$pp_gallery_li.filter(':eq('+set_position+')').addClass('selected');}else{$pp_pic_holder.find('.pp_content').unbind('mouseenter mouseleave');}}
1052function _build_overlay(caller){if(settings.social_tools)
1053facebook_like_link=settings.social_tools.replace('{location_href}',encodeURIComponent(location.href));settings.markup=settings.markup.replace('{pp_social}','');$('body').append(settings.markup);$pp_pic_holder=$('.pp_pic_holder'),$ppt=$('.ppt'),$pp_overlay=$('div.pp_overlay');if(isSet&&settings.overlay_gallery){currentGalleryPage=0;toInject="";for(var i=0;i<pp_images.length;i++){if(!pp_images[i].match(/\b(jpg|jpeg|png|gif)\b/gi)){classname='default';img_src='';}else{classname='';img_src=pp_images[i];}
1054toInject+="<li class='"+classname+"'><a href='#'><img src='"+img_src+"' width='50' alt='' /></a></li>";};toInject=settings.gallery_markup.replace(/{gallery}/g,toInject);$pp_pic_holder.find('#pp_full_res').after(toInject);$pp_gallery=$('.pp_pic_holder .pp_gallery'),$pp_gallery_li=$pp_gallery.find('li');$pp_gallery.find('.pp_arrow_next').click(function(){$.prettyPhoto.changeGalleryPage('next');$.prettyPhoto.stopSlideshow();return false;});$pp_gallery.find('.pp_arrow_previous').click(function(){$.prettyPhoto.changeGalleryPage('previous');$.prettyPhoto.stopSlideshow();return false;});$pp_pic_holder.find('.pp_content').hover(function(){$pp_pic_holder.find('.pp_gallery:not(.disabled)').fadeIn();},function(){$pp_pic_holder.find('.pp_gallery:not(.disabled)').fadeOut();});itemWidth=52+5;$pp_gallery_li.each(function(i){$(this).find('a').click(function(){$.prettyPhoto.changePage(i);$.prettyPhoto.stopSlideshow();return false;});});};if(settings.slideshow){$pp_pic_holder.find('.pp_nav').prepend('<a href="#" class="pp_play">Play</a>')
1055$pp_pic_holder.find('.pp_nav .pp_play').click(function(){$.prettyPhoto.startSlideshow();return false;});}
1056$pp_pic_holder.attr('class','pp_pic_holder '+settings.theme);$pp_overlay.css({'opacity':0,'height':$(document).height(),'width':$(window).width()}).bind('click',function(){if(!settings.modal)$.prettyPhoto.close();});$('a.pp_close').bind('click',function(){$.prettyPhoto.close();return false;});if(settings.allow_expand){$('a.pp_expand').bind('click',function(e){if($(this).hasClass('pp_expand')){$(this).removeClass('pp_expand').addClass('pp_contract');doresize=false;}else{$(this).removeClass('pp_contract').addClass('pp_expand');doresize=true;};_hideContent(function(){$.prettyPhoto.open();});return false;});}
1057$pp_pic_holder.find('.pp_previous, .pp_nav .pp_arrow_previous').bind('click',function(){$.prettyPhoto.changePage('previous');$.prettyPhoto.stopSlideshow();return false;});$pp_pic_holder.find('.pp_next, .pp_nav .pp_arrow_next').bind('click',function(){$.prettyPhoto.changePage('next');$.prettyPhoto.stopSlideshow();return false;});_center_overlay();};if(!pp_alreadyInitialized&&getHashtag()){pp_alreadyInitialized=true;hashIndex=getHashtag();hashRel=hashIndex;hashIndex=hashIndex.substring(hashIndex.indexOf('/')+1,hashIndex.length-1);hashRel=hashRel.substring(0,hashRel.indexOf('/'));setTimeout(function(){$("a["+pp_settings.hook+"^='"+hashRel+"']:eq("+hashIndex+")").trigger('click');},50);}
1058return this.unbind('click.prettyphoto').bind('click.prettyphoto',$.prettyPhoto.initialize);};function getHashtag(){url=location.href;hashtag=(url.indexOf('#prettyPhoto')!==-1)?decodeURI(url.substring(url.indexOf('#prettyPhoto')+1,url.length)):false;return hashtag;};function setHashtag(){if(typeof theRel=='undefined')return;location.hash=theRel+'/'+rel_index+'/';};function clearHashtag(){if(location.href.indexOf('#prettyPhoto')!==-1)location.hash="prettyPhoto";}
1059function getParam(name,url){name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regexS="[\\?&]"+name+"=([^&#]*)";var regex=new RegExp(regexS);var results=regex.exec(url);return(results==null)?"":results[1];}})(jQuery);var pp_alreadyInitialized=false;
1060/*!
1061 * jQuery blockUI plugin
1062 * Version 2.70.0-2014.11.23
1063 * Requires jQuery v1.7 or later
1064 *
1065 * Examples at: http://malsup.com/jquery/block/
1066 * Copyright (c) 2007-2013 M. Alsup
1067 * Dual licensed under the MIT and GPL licenses:
1068 * http://www.opensource.org/licenses/mit-license.php
1069 * http://www.gnu.org/licenses/gpl.html
1070 *
1071 * Thanks to Amir-Hossein Sobhi for some excellent contributions!
1072 */
1073!function(){"use strict";function e(p){p.fn._fadeIn=p.fn.fadeIn;var b=p.noop||function(){},h=/MSIE/.test(navigator.userAgent),k=/MSIE 6.0/.test(navigator.userAgent)&&!/MSIE 8.0/.test(navigator.userAgent),y=(document.documentMode,"function"==typeof document.createElement("div").style.setExpression&&document.createElement("div").style.setExpression),m=(p.blockUI=function(e){o(window,e)},p.unblockUI=function(e){v(window,e)},p.growlUI=function(e,t,o,n){var i=p('<div class="growlUI"></div>'),s=(e&&i.append("<h1>"+e+"</h1>"),t&&i.append("<h2>"+t+"</h2>"),o===undefined&&(o=3e3),function(e){p.blockUI({message:i,fadeIn:"undefined"!=typeof(e=e||{}).fadeIn?e.fadeIn:700,fadeOut:"undefined"!=typeof e.fadeOut?e.fadeOut:1e3,timeout:"undefined"!=typeof e.timeout?e.timeout:o,centerY:!1,showOverlay:!1,onUnblock:n,css:p.blockUI.defaults.growlCSS})});s(),i.css("opacity");i.on("mouseover",function(){s({fadeIn:0,timeout:3e4});var e=p(".blockMsg");e.stop(),e.fadeTo(300,1)}).on("mouseout",function(){p(".blockMsg").fadeOut(1e3)})},p.fn.block=function(e){if(this[0]===window)return p.blockUI(e),this;var t=p.extend({},p.blockUI.defaults,e||{});return this.each(function(){var e=p(this);t.ignoreIfBlocked&&e.data("blockUI.isBlocked")||e.unblock({fadeOut:0})}),this.each(function(){"static"==p.css(this,"position")&&(this.style.position="relative",p(this).data("blockUI.static",!0)),this.style.zoom=1,o(this,e)})},p.fn.unblock=function(e){return this[0]===window?(p.unblockUI(e),this):this.each(function(){v(this,e)})},p.blockUI.version=2.7,p.blockUI.defaults={message:"<h1>Please wait...</h1>",title:null,draggable:!0,theme:!1,css:{padding:0,margin:0,width:"30%",top:"40%",left:"35%",textAlign:"center",color:"#000",border:"3px solid #aaa",backgroundColor:"#fff",cursor:"wait"},themedCSS:{width:"30%",top:"40%",left:"35%"},overlayCSS:{backgroundColor:"#000",opacity:.6,cursor:"wait"},cursorReset:"default",growlCSS:{width:"350px",top:"10px",left:"",right:"10px",border:"none",padding:"5px",o
1073pacity:.6,cursor:"default",color:"#fff",backgroundColor:"#000","-webkit-border-radius":"10px","-moz-border-radius":"10px","border-radius":"10px"},iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",forceIframe:!1,baseZ:1e3,centerX:!0,centerY:!0,allowBodyStretch:!0,bindEvents:!0,constrainTabKey:!0,fadeIn:200,fadeOut:400,timeout:0,showOverlay:!0,focusInput:!0,focusableElements:":input:enabled:visible",onBlock:null,onUnblock:null,onOverlayClick:null,quirksmodeOffsetHack:4,blockMsgClass:"blockMsg",ignoreIfBlocked:!1},null),g=[];function o(e,o){var n=e==window,t=o&&o.message!==undefined?o.message:undefined;if(!(o=p.extend({},p.blockUI.defaults,o||{})).ignoreIfBlocked||!p(e).data("blockUI.isBlocked")){o.overlayCSS=p.extend({},p.blockUI.defaults.overlayCSS,o.overlayCSS||{}),f=p.extend({},p.blockUI.defaults.css,o.css||{}),o.onOverlayClick&&(o.overlayCSS.cursor="pointer"),u=p.extend({},p.blockUI.defaults.themedCSS,o.themedCSS||{}),t=t===undefined?o.message:t,n&&m&&v(window,{fadeOut:0}),t&&"string"!=typeof t&&(t.parentNode||t.jquery)&&(l=t.jquery?t[0]:t,d={},p(e).data("blockUI.history",d),d.el=l,d.parent=l.parentNode,d.display=l.style.display,d.position=l.style.position,d.parent&&d.parent.removeChild(l)),p(e).data("blockUI.onUnblock",o.onUnblock);var i,s,l=o.baseZ,d=h||o.forceIframe?p('<iframe class="blockUI" style="z-index:'+l+++';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+o.iframeSrc+'"></iframe>'):p('<div class="blockUI" style="display:none"></div>'),a=o.theme?p('<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:'+l+++';display:none"></div>'):p('<div class="blockUI blockOverlay" style="z-index:'+l+++';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>'),c=(o.theme&&n?(c='<div class="blockUI '+o.blockMsgClass+' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+(l+10)+';display:none;position:fixed">',o.title&&(c+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(o.title||"&nbsp;")+"</div>"),c+='<div class="ui-widget-content ui-dialog-content"></div></div>'):o.theme?(c='<div class="blockUI '+o.blockMsgClass+' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:'+(l+10)+';display:none;position:absolute">',o.title&&(c+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(o.title||"&nbsp;")+"</div>"),c+='<div class="ui-widget-content ui-dialog-content"></div></div>'):c=n?'<div class="blockUI '+o.blockMsgClass+' blockPage" style="z-index:'+(l+10)+';display:none;position:fixed"></div>':'<div class="blockUI '+o.blockMsgClass+' blockElement" style="z-index:'+(l+10)+';display:none;position:absolute"></div>',l=p(c),t&&(o.theme?(l.css(u),l.addClass("ui-widget-content")):l.css(f)),o.theme||a.css(o.overlayCSS),a.css("position",n?"fixed":"absolute"),(h||o.forceIframe)&&d.css("opacity",0),[d,a,l]),r=p(n?"body":e),u=(p.each(c,function(){this.appendTo(r)}),o.theme&&o.draggable&&p.fn.draggable&&l.draggable({handle:".ui-dialog-titlebar",cancel:"li"}),y&&(!p.support.boxModel||0<p("object,embed",n?null:e).length));if((k||u)&&(n&&o.allowBodyStretch&&p.support.boxModel&&p("html,body").css("height","100%"),!k&&p.support.boxModel||n||(f=U(e,"borderTopWidth"),u=U(e,"borderLeftWidth"),i=f?"(0 - "+f+")":0,s=u?"(0 - "+u+")":0),p.each(c,function(e,t){t=t[0].style;t.position="absolute",e<2?(n?t.setExpression("height","Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:"+o.quirksmodeOffsetHack+') + "px"'):t.setExpression("height",'this.parentNode.offsetHeight + "px"'),n?t.setExpression("width",'jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"'):t.setExpression("width",'this.parentNode.offsetWidth + "px"'),s&&t.setExpression("left",s),i&&t.setExpression("top",i)):o.centerY?(n&&t.setExpression("top",'(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'),t.marginTop=0):!o.centerY&&n&&(e=o.css&&o.css.top?parseInt(o.css.top,10):0,t.setExpression("top","((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "+e+') + "px"'))})),t&&((o.theme?l.find(".ui-widget-content"):l).append(t),(t.jquery||t.nodeType)&&p(t).show()),(h||o.forceIframe)&&o.showOverlay&&d.show(),o.fadeIn?(f=o.onBlock||b,u=o.showOverlay&&!t?f:b,c=t?f:b,o.showOverlay&&a._fadeIn(o.fadeIn,u),t&&l._fadeIn(o.fadeIn,c)):(o.showOverlay&&a.show(),t&&l.show(),o.onBlock&&o.onBlock.bind(l)()),I(1,e,o),n)m=l[0],g=p(o.focusableElements,m),o.focusInput&&setTimeout(w,20);else{var d=l[0],f=o.centerX,u=o.centerY,c=d.parentNode,a=d.style,t=(c.offsetWidth-d.offsetWidth)/2-U(c,"borderLeftWidth"),d=(c.offsetHeight-d.offsetHeight)/2-U(c,"borderTopWidth");f&&(a.left=0<t?t+"px":"0"),u&&(a.top=0<d?d+"px":"0")}o.timeout&&(l=setTimeout(function(){n?p.unblockUI(o):p(e).unblock(o)},o.timeout),p(e).data("blockUI.timeout",l))}}function v(e,t){var o,n,i=e==window,s=p(e),l=s.data("blockUI.history"),d=s.data("blockUI.timeout");d&&(clearTimeout(d),s.removeData("blockUI.timeout")),t=p.extend({},p.blockUI.defaults,t||{}),I(0,e,t),null===t.onUnblock&&(t.onUnblock=s.data("blockUI.onUnblock"),s.removeData("blockUI.onUnblock")),n=i?p(document.body).children().filter(".blockUI").add("body > .blockUI"):s.find(">.blockUI"),t.cursorReset&&(1<n.length&&(n[1].style.cursor=t.cursorReset),2<n.length&&(n[2].style.cursor=t.cursorReset)),i&&(m=g=null),t.fadeOut?(o=n.length,n.stop().fadeOut(t.fadeOut,function(){0==--o&&a(n,l,t,e)})):a(n,l,t,e)}function a(e,t,o,n){var i=p(n);i.data("blockUI.isBlocked")||(e.each(function(e,t){this.parentNode&&this.parentNode.removeChild(this)}),t&&t.el&&(t.el.style.display=t.display,t.el.style.position=t.position,t.el.style.cursor="default",t.parent&&t.parent.appendChild(t.el),i.removeData("blockUI.history")),i.data("blockUI.static")&&i.css("position","static"),"function"==typeof o.onUnblock&&o.onUnblock(n,o),t=(e=p(document.body)).width(),i=e[0].style.width,e.width(t-1).width(t),e[0].style.width=i)}function I(e,t,o){var n=t==window,t=p(t);!e&&(n&&!m||!n&&!t.data("blockUI.isBlocked"))||(t.data("blockUI.isBlocked",e),n&&o.bindEvents&&(!e||o.showOverlay)&&(t="mousedown mouseup keydown keypress keyup touchstart touchend touchmove",e?p(document).on(t,o,i):p(document).off(t,i)))}function i(e){if("keydown"===e.type&&e.keyCode&&9==e.keyCode&&m&&e.data.constrainTabKey){var t=g,o=!e.shiftKey&&e.target===t[t.length-1],n=e.shiftKey&&e.target===t[0];if(o||n)return setTimeout(function(){w(n)},10),!1}t=e.data,o=p(e.target);return o.hasClass("blockOverlay")&&t.onOverlayClick&&t.onOverlayClick(e),0<o.parents("div."+t.blockMsgClass).length||0===o.parents().children().filter("div.blockUI").length}function w(e){!g||(e=g[!0===e?g.length-1:0])&&e.trigger("focus")}function U(e,t){return parseInt(p.css(e,t),10)||0}}"function"==typeof define&&define.amd&&define.amd.jQuery?define(["jquery"],e):e(jQuery)}();
1074jQuery(function(d){if("undefined"==typeof wc_add_to_cart_params)return!1;var t=function(){this.requests=[],this.addRequest=this.addRequest.bind(this),this.run=this.run.bind(this),d(document.body).on("click",".add_to_cart_button",{addToCartHandler:this},this.onAddToCart).on("click",".remove_from_cart_button",{addToCartHandler:this},this.onRemoveFromCart).on("added_to_cart",this.updateButton).on("ajax_request_not_sent.adding_to_cart",this.updateButton).on("added_to_cart removed_from_cart",{addToCartHandler:this},this.updateFragments)};t.prototype.addRequest=function(t){this.requests.push(t),1===this.requests.length&&this.run()},t.prototype.run=function(){var t=this,a=t.requests[0].complete;t.requests[0].complete=function(){"function"==typeof a&&a(),t.requests.shift(),0<t.requests.length&&t.run()},d.ajax(this.requests[0])},t.prototype.onAddToCart=function(t){var a=d(this);
1074if(a.is(".ajax_add_to_cart")){if(!a.attr("data-product_id"))return!0;if(t.preventDefault(),a.removeClass("added"),a.addClass("loading"),!1===d(document.body).triggerHandler("should_send_ajax_request.adding_to_cart",[a]))return d(document.body).trigger("ajax_request_not_sent.adding_to_cart",[!1,!1,a]),!0;var e={};d.each(a.data(),function(t,a){e[t]=a}),d.each(a[0].dataset,function(t,a){e[t]=a}),d(document.body).trigger("adding_to_cart",[a,e]),t.data.addToCartHandler.addRequest({type:"POST",url:wc_add_to_cart_params.wc_ajax_url.toString().replace("%%endpoint%%","add_to_cart"),data:e,success:function(t){t&&(t.error&&t.product_url?window.location=t.product_url:"yes"===wc_add_to_cart_params.cart_redirect_after_add?window.location=wc_add_to_cart_params.cart_url:d(document.body).trigger("added_to_cart",[t.fragments,t.cart_hash,a]))},dataType:"json"})}},t.prototype.onRemoveFromCart=function(t){var a=d(this),e=a.closest(".woocommerce-mini-cart-item");t.preventDefault(),e.block({message:null,overlayCSS:{opacity:.6}}),t.data.addToCartHandler.addRequest({type:"POST",url:wc_add_to_cart_params.wc_ajax_url.toString().replace("%%endpoint%%","remove_from_cart"),data:{cart_item_key:a.data("cart_item_key")},success:function(t){t&&t.fragments?d(document.body).trigger("removed_from_cart",[t.fragments,t.cart_hash,a]):window.location=a.attr("href")},error:function(){window.location=a.attr("href")},dataType:"json"})},t.prototype.updateButton=function(t,a,e,r){(r=void 0!==r&&r)&&(r.removeClass("loading"),a&&r.addClass("added"),a&&!wc_add_to_cart_params.is_cart&&0===r.parent().find(".added_to_cart").length&&r.after('<a href="'+wc_add_to_cart_params.cart_url+'" class="added_to_cart wc-forward" title="'+wc_add_to_cart_params.i18n_view_cart+'">'+wc_add_to_cart_params.i18n_view_cart+"</a>"),d(document.body).trigger("wc_cart_button_updated",[r]))},t.prototype.updateFragments=function(t,a){a&&(d.each(a,function(t){d(t).addClass("updating").fadeTo("400","0.6").block({message:null,overlayCSS:{opacity:.6}})}),d.each(a,function(t,a){d(t).replaceWith(a),d(t).stop(!0).css("opacity","1").unblock()}),d(document.body).trigger("wc_fragments_loaded"))},new t});
1075window.jQuery(document).ready(function($){$('body').on('adding_to_cart',function(event,$button,data){$button&&$button.hasClass('vc_gitem-link')&&$button.addClass('vc-gitem-add-to-cart-loading-btn').parents('.vc_grid-item-mini').addClass('vc-woocommerce-a
1075dd-to-cart-loading').append($('<div class="vc_wc-load-add-to-loader-wrapper"><div class="vc_wc-load-add-to-loader"></div></div>'));}).on('added_to_cart',function(event,fragments,cart_hash,$button){if(undefined===$button){$button=$('.vc-gitem-add-to-cart-loading-btn');}
1076$button&&$button.hasClass('vc_gitem-link')&&$button.removeClass('vc-gitem-add-to-cart-loading-btn').parents('.vc_grid-item-mini').removeClass('vc-woocommerce-add-to-cart-loading').find('.vc_wc-load-add-to-loader-wrapper').remove();});});
1077var $=jQuery.noConflict();$(document).ready(function($){"use strict";try{tmq_init_scripts();init_flexslider();init_magnificPopup();init_staff();init_headscroll();init_Ajax();init_ToggleBar();init_HeaderSearch();init_responsive_menu();}catch(err){console.log(err);}});jQuery(window).load(function($){try{tmq_init_centercaro();}catch(err){console.log(err);}});function tmq_init_centercaro(){var $=jQuery.noConflict();var max_caroheight=0;$('.clients-section .carousel .carousel-inner .active img').each(function(){if($(this).height()>max_caroheight){max_caroheight=$(this).height();}});$('.clients-section .carousel .carousel-inner .active img').each(function(){$(this).css('margin-top',((max_caroheight-$(this).height())/2)+'px');});}
1078function tmq_init_scripts(){var $=jQuery.noConflict();var winDow=$(window);var $container=$('.portfolio-container');var $filter=$('.filter');try{$container.imagesLoaded(function(){$container.show();$container.isotope({filter:'*',layoutMode:'masonry',animationOptions:{duration:750,easing:'linear'}});});}catch(err){}
1079winDow.bind('resize',function(){var selector=$filter.find('a.active').attr('data-filter');try{$container.isotope({filter:selector,animationOptions:{duration:750,easing:'linear',queue:false,}});}catch(err){}
1080return false;});$filter.find('a').click(function(){var selector=$(this).attr('data-filter');try{$container.isotope({filter:selector,animationOptions:{duration:750,easing:'linear',queue:false,}});}catch(err){}
1081return false;});var filterItemA=$('.filter li a');filterItemA.on('click',function(){var $this=$(this);if(!$this.hasClass('active')){filterItemA.removeClass('active');$this.addClass('active');}});if(tmq_script_vars.plugins_scroll=='on'){try{$.browserSelector();if($("html").hasClass("chrome")){$.smoothScroll();}}catch(err){}}
1082var animateTopButton=$('.go-top'),htmBody=$('html, body');animateTopButton.click(function(){htmBody.animate({scrollTop:0},'slow');return false;});$('.accordion-box').each(function(){$(this).find('.accord-content:eq(0)').slideDown(400,function(){$(this).find('.accord-elem:eq(0)').addClass('active');});});var clickElem=$('.accord-title');clickElem.on('click',function(e){e.preventDefault();var $this=$(this),parentCheck=$this.parent('.accord-elem'),accordContainer=$this.parent('div').parent('div'),accordItems=accordContainer.find('.accord-elem'),accordContent=accordContainer.find('.accord-content');if(!parentCheck.hasClass('active')){accordContent.slideUp(400,function(){accordItems.removeClass('active');});parentCheck.find('.accord-content').slideDown(400,function(){parentCheck.addClass('active');});}else{accordContent.slideUp(400,function(){accordItems.removeClass('active');});}});$('.iconned-tabs').each(function(){var largest_height=200;$(this).find('.tab-content').each(function(){if($(this).outerHeight()>largest_height){largest_height=$(this).outerHeight();}});$(this).find('.tab-box').animate({'min-height':largest_height+110});});$('.tab-links li a').on('click',function(e){var clickTab=$('.tab-links li a');e.preventDefault();var $this=$(this),hisIndex=$this.parent('li').index(),tabContainer=$this.parent('li').parent('ul').parent('div'),tabCont=tabContainer.find('.tab-content'),tabContIndex=tabContainer.find(".tab-content:eq("+hisIndex+")");if(!$this.hasClass('active')){tabContainer.find(clickTab).each(function(){$(this).removeClass('active');});$this.addClass('active');tabCont.slideUp(400);tabCont.removeClass('active');tabContIndex.delay(500).slideDown(400);tabContIndex.addClass('active');}});var animateElement=$(".meter > span");animateElement.each(function(){$(this).animate({width:'hide'},0);$(this).animate({width:'show'},1200);});var AccordElement=$('a.accordion-link');AccordElement.on('click',function(e){e.preventDefault();var elemSlide=$(this).parent('li').find('.accordion-list-content');if(!$(this).hasClass('active')){$(this).addClass('active');elemSlide.slideDown(200);}else{$(this).removeClass('active');elemSlide.slideUp(200);}});try{for(var i=100;i<=10000;i++){$('#start-val').append('<option value="'+i+'">'+i+'</option>');}
1083$('.noUiSlider').noUiSlider({range:[0,1600],start:[0,1000],handles:2,connect:true,step:1,serialization:{to:[$('#start-val'),$('#end-val')],resolution:1}});}catch(err){}
1084winDow.bind('resize',function(){jQuery('.navbar-vertical').removeClass('active');});}
1085function init_responsive_menu(){var menuClick=jQuery('a.elemadded'),navbarVertical=jQuery('.navbar-vertical');menuClick.on('click',function(e){e.preventDefault();if(jQuery('.navbar-vertical').hasClass('active')){jQuery('.navbar-vertical').removeClass('active');}else{jQuery('.navbar-vertical').addClass('active');}});}
1086function init_staff(){jQuery('.staff-box').each(function(){var current_height=jQuery(this).find('.staff-post').parent('div').outerHeight();current_height=current_height+20;jQuery(this).find('.staff-post').each(function(){jQuery(this).animate({'height':current_height});});});}
1087function init_flexslider(){var SliderPost=jQuery('.flexslider');SliderPost.flexslider({animation:"slide",slideshowSpeed:3000,easing:"swing",direction:"horizontal"});}
1088function init_magnificPopup(){jQuery('.zoom').magnificPopup({type:'image',gallery:{enabled:true}});try{jQuery('.zoom.video').magnificPopup({type:'iframe',gallery:{enabled:true}});}catch(err){}}
1089function init_headscroll(){var docElem=document.documentElement,didScroll=false,changeHeaderOn=40;document.querySelector('header');function tmq_moveheader(){window.addEventListener('scroll',function(){if(!didScroll){didScroll=true;setTimeout(scrollPage,50);}},false);}
1090function scrollPage(){var sy=scrollY();if(sy>=changeHeaderOn){jQuery('header').addClass('active');}
1091else{jQuery('header').removeClass('active');}
1092didScroll=false;}
1093function scrollY(){return window.pageYOffset||docElem.scrollTop;}
1094tmq_moveheader();}
1095function init_Ajax(){var tmq_siteURL="http://"+top.location.host.toString();var tmq_vMenu=jQuery('.ajaxisDisabled');tmq_vMenu.on('click',function(e){e.preventDefault();var tmq_ajaxHref=jQuery(this).attr('href');if(jQuery(this).parent('li').hasClass('current-menu-item')||tmq_ajaxHref==window.location.href){return true;}
1096if(e.which==2||e.metaKey||e.ctrlKey){return true;}
1097var $tmq_current_menu_top=jQuery('header').css('left');var $tmq_current_top_line=jQuery('.top-line').css('margin-top');jQuery('.tmq_loading_container').fadeIn();jQuery('#content').animate({'opacity':0},500,'linear',function(){jQuery('header').animate({'left':0},100,'linear',function(){jQuery('.top-line').animate({'margin-top':-45},0,'linear');});});var request=jQuery.ajax({url:tmq_ajaxHref,type:'GET',dataType:'html'});request.done(function(msg){var tmq_pageContent=jQuery(msg).find('#page-content');jQuery('#page-content').html(tmq_pageContent);var tmq_menuContent=jQuery(msg).find('.navbar-vertical');jQuery('.navbar-vertical').html(tmq_menuContent);var tmq_pageTitle=jQuery(msg).filter('title').text();jQuery('title').text(tmq_pageTitle);history.pushState(null,tmq_pageTitle,tmq_ajaxHref);jQuery('.tmq_loading_container').fadeOut();jQuery('header').animate({'left':$tmq_current_menu_top},200,'linear');jQuery('.top-line').animate({'margin-top':$tmq_current_top_line},0,'linear',function(){jQuery('#content').animate({'opacity':1},500,'linear',function(){try{tmq_init_scripts();init_flexslider();init_magnificPopup();init_staff();init_headscroll();init_Ajax();init_teaserGrid();}catch(err){console.log(err);}});});});request.fail(function(jqXHR,textStatus){alert("Request failed: "+textStatus);});request.always(function(jqXHR,textStatus){});});}
1098function init_ToggleBar(){jQuery('.tmq_toggle_bar .tmq_toggle_switch, .tmq_toggle_bar .tmq_toggle_close').on('click',function(){if(jQuery('.tmq_toggle_bar .tmq_toggle_switch').hasClass('active')){jQuery('.tmq_toggle_bar .tmq_toggle_content').animate({'height':'hide','padding':'hide'},function(){jQuery('.tmq_toggle_bar').css({'z-index':'0'});});jQuery('.tmq_toggle_bar .tmq_toggle_switch').removeClass('active');}else{jQuery('.tmq_toggle_bar').animate({'z-index':'10000'},function(){jQuery('.tmq_toggle_bar .tmq_toggle_content').animate({'height':'show','padding':'show'});jQuery('.tmq_toggle_bar .tmq_toggle_switch').addClass('active');});}});}
1099function init_HeaderSearch(){jQuery('.top-line .search_topbar').on('click',function(){if(jQuery('.top-line .search-header-form').hasClass('active')){jQuery('.top-line .search-header-form').animate({'width':'0','opacity':'0','padding-right':'0','padding-left':'0','margin-right':'-35px'});jQuery('.top-line .search-header-form input').animate({'width':'0'});jQuery('.top-line .search-header-form').removeClass('active');}else{jQuery('.top-line .search-header-form').animate({'width':'190px','opacity':'1','padding-right':'10px','padding-left':'10px','margin-right':'-35px'});jQuery('.top-line .search-header-form input').animate({'width':'160px'});jQuery('.top-line .search-header-form').addClass('active');jQuery('.top-line .search-header-form input').focus();}});}
1100function tmq_waypoints(){jQuery('.wpb_animate_when_almost_visible').waypoint(function(){jQuery(this).addClass('wpb_start_animation');},{offset:'85%'});};
1101jQuery(function(){var checkBalanceForm=jQuery('#pwgc-balance-form');if(checkBalanceForm.length){checkBalanceForm.on('submit',function(e){pwgc_check_balance();e.preventDefault();return false;});pwgc_check_balance();}
1102jQuery('#pwgc-balance-reload').on('click',function(e){var cardNumber=jQuery(this).attr('data-card-number');var productUrl=jQuery(this).attr('data-url');if(cardNumber){var separator='?';if(productUrl.includes('?')){separator='&';}
1103location.href=productUrl+separator+pwgc.reload_key+'='+cardNumber;}
1104e.preventDefault();return false;});jQuery(document.body).on('updated_wc_div',pwgc_bind_redeem_form);pwgc_bind_redeem_form();jQuery(document.body).on('updated_wc_div',pwgc_bind_remove_link);pwgc_bind_remove_link();jQuery('#pwgc-message').on('change keyup paste',function(){pwgc_message_characters_remaining();});pwgc_message_characters_remaining();jQuery('form.variations_form').on('show_variation',function(){jQuery('#pwgc-purchase-container').show();pwgc_toggle_custom_amount_visibility();});jQuery('form.variations_form').on('hide_variation',function(){jQuery('#pwgc-purchase-container').hide();pwgc_toggle_custom_amount_visibility();});var attributeSelector=jQuery(document.getElementById(pwgc.denomination_attribute_slug));if(attributeSelector.length==0){attributeSelector=jQuery(document.getElementsByName('attribute_'+pwgc.denomination_attribute_slug));}
1105if(attributeSelector.val()){jQuery('#pwgc-purchase-container').show();}else{jQuery('#pwgc-purchase-container').hide();}
1106pwgc_toggle_custom_amount_visibility();jQuery('#pwgc-custom-amount').on('blur',function(){jQuery('#pwgc-custom-amount-error').text('');var amount=jQuery(this).val().replace(/[^\d\.]/g,'');if(amount){var floatAmount=parseFloat(amount);var container=jQuery('#pwgc-purchase-container');var minAmount=parseFloat(container.attr('data-min-amount'));var maxAmount=parseFloat(container.attr('data-max-amount'));if(floatAmount<minAmount){jQuery('#pwgc-custom-amount-error').html(pwgc.i18n.min_amount_error+minAmount.toFixed(pwgc.decimal_places));}else if(floatAmount>maxAmount){jQuery('#pwgc-custom-amount-error').html(pwgc.i18n.max_amount_error+maxAmount.toFixed(pwgc.decimal_places));}else{jQuery(this).val(floatAmount.toFixed(pwgc.decimal_places));}}else{jQuery('#pwgc-custom-amount-error').html(pwgc.i18n.custom_amount_required_error);}});jQuery('#pwgc-to').on('blur',function(){var recipients=jQuery(this).val();if(recipients){jQuery(this).val(recipients.trim().split(/[ ,]+/).map(function(item){return item.trim();}).join(', '));}
1107pwgc_toggle_quantity();});jQuery('.variations_form').on('found_variation.wc-variation-form',function(){pwgc_toggle_quantity();});jQuery('.variations_form').on('reset_data',function(){pwgc_toggle_quantity();});jQuery('.variations_form').on('submit',function(e){if(jQuery('#pwgc-to').length){var recipients=jQuery('#pwgc-to').val().split(/[ ,]+/);var badRecipients=[];for(var i=0;i<recipients.length;i++){if(!pwgc_is_email(recipients[i])){badRecipients.push(recipients[i]);}}
1108if(badRecipients.length){alert(pwgc.i18n.invalid_recipient_error+'\n\n'+badRecipients.join('\n'));e.preventDefault();return false;}}});jQuery('.show-pw-gift-card').off('click').on('click',function(e){jQuery('.checkout_pw_gift_card').slideToggle(400,function(){jQuery('.checkout_pw_gift_card').find(':input:eq(0)').focus();});e.preventDefault();return false;});jQuery('#pwgc-apply-gift-card-checkout').off('click.pimwick').on('click.pimwick',function(e){pwgc_checkout_redeem_gift_card(jQuery(this));e.preventDefault();return false;});jQuery('#pwgc-redeem-gift-card-number').off('keypress.pimwick').on('keypress.pimwick',function(e){if(e.keyCode==13){pwgc_checkout_redeem_gift_card(jQuery('#pwgc-apply-gift-card-checkout'));e.preventDefault();return false;}});var deliveryDateField=document.getElementById('pwgc-delivery-date');
1108if(deliveryDateField){var tomorrow=new Date();tomorrow.setDate(tomorrow.getDate()+1);var nextYear=new Date();nextYear.setDate(nextYear.getDate()+365);var picker=new Pikaday({field:deliveryDateField,minDate:tomorrow,maxDate:nextYear,format:'YYYY-MM-DD',i18n:{previousMonth:pwgc.i18n.previousMonth,nextMonth:pwgc.i18n.nextMonth,months:[pwgc.i18n.jan,pwgc.i18n.feb,pwgc.i18n.mar,pwgc.i18n.apr,pwgc.i18n.may,pwgc.i18n.jun,pwgc.i18n.jul,pwgc.i18n.aug,pwgc.i18n.sep,pwgc.i18n.oct,pwgc.i18n.nov,pwgc.i18n.dec],weekdays:[pwgc.i18n.sunday,pwgc.i18n.monday,pwgc.i18n.tuesday,pwgc.i18n.wednesday,pwgc.i18n.thursday,pwgc.i18n.friday,pwgc.i18n.saturday],weekdaysShort:[pwgc.i18n.sun,pwgc.i18n.mon,pwgc.i18n.tue,pwgc.i18n.wed,pwgc.i18n.thu,pwgc.i18n.fri,pwgc.i18n.sat]},toString:function(date,format){const year=date.getFullYear();const month=date.getMonth()+1;const day=date.getDate();return pwgc_pad(year,4)+'-'+pwgc_pad(month,2)+'-'+pwgc_pad(day,2);},});}});function pwgc_pad(n,width,z){z=z||'0';n=n+'';return n.length>=width?n:new Array(width-n.length+1).join(z)+n;}
1109function pwgc_is_email(email){var regex=/^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;return regex.test(email);}
1110function pwgc_toggle_quantity(){if(jQuery('#pwgc-to').length){var recipients=jQuery('#pwgc-to').val().split(/[ ,]+/);if(recipients.length>1){jQuery('#pwgc-recipient-count').text(recipients.length);jQuery('#pwgc-quantity-one-per-recipient').show();jQuery('input.qty').val('1');jQuery('.quantity').hide();}else{jQuery('#pwgc-quantity-one-per-recipient').hide();jQuery('.quantity').show();}}}
1111function pwgc_toggle_custom_amount_visibility(){var showOtherAmount=false;var attributeSelector=jQuery(document.getElementById(pwgc.denomination_attribute_slug));if(attributeSelector.length!=0){showOtherAmount=(attributeSelector.val()==pwgc.other_amount_prompt);}else{var selectedRadioButton=jQuery("input[type='radio'][name='attribute_"+pwgc.denomination_attribute_slug+"']:checked");if(selectedRadioButton.length>0){showOtherAmount=(selectedRadioButton.val()==pwgc.other_amount_prompt);}else{attributeSelector=jQuery(document.getElementsByName('attribute_'+pwgc.denomination_attribute_slug));showOtherAmount=(attributeSelector.val()==pwgc.other_amount_prompt);}}
1112if(showOtherAmount){jQuery('#pwgc-custom-amount-form').show();jQuery('#pwgc-custom-amount').focus();}else{jQuery('#pwgc-custom-amount-form').hide();}}
1113function pwgc_check_balance(){var cardNumber=jQuery('#pwgc-balance-number');if(!cardNumber.val()){return;}
1114jQuery('#pwgc-balance-error').text('');jQuery('#pwgc-balance-expiration-date-container').hide();jQuery('#pwgc-balance-amount').html(pwgc.balance_check_icon);jQuery.post(pwgc.ajaxurl,{'action':'pw-gift-cards-balance','card_number':cardNumber.val(),'security':pwgc.nonces.check_balance},function(result){if(result.success){jQuery('#pwgc-balance-amount').html(result.data.balance);if(result.data.expiration_date){jQuery('#pwgc-balance-expiration-date').html(result.data.expiration_date);jQuery('#pwgc-balance-expiration-date-container').show();}
1115jQuery('#pwgc-balance-reload').attr('data-card-number',result.data.card_number);jQuery('#pwgc-balance-reload').show();}else{jQuery('#pwgc-balance-error').text(result.data.message);jQuery('#pwgc-balance-amount').text('');jQuery('#pwgc-balance-reload').hide();}
1116cardNumber.focus();}).fail(function(xhr,textStatus,errorThrown){if(errorThrown){jQuery('#pwgc-balance-error').text(errorThrown);}else{jQuery('#pwgc-balance-error').text('Unknown Error');}
1117jQuery('#pwgc-balance-amount').text('');jQuery('#pwgc-balance-reload').hide();cardNumber.focus();});}
1118function pwgc_bind_remove_link(){jQuery('.pwgc-remove-card').on('click',function(e){var cardNumber=jQuery(this).attr('data-card-number');jQuery.post(pwgc.ajaxurl,{'action':'pw-gift-cards-remove','card_number':cardNumber,'security':pwgc.nonces.remove_card},function(result){location.reload();}).fail(function(xhr,textStatus,errorThrown){if(errorThrown){alert(errorThrown);}else{alert('Unknown Error');}
1119location.reload();});e.preventDefault();return false;});}
1120function pwgc_bind_redeem_form(){jQuery('#pwgc-redeem-form').off('submit.pimwick').on('submit.pimwick',function(e){var redeemButton=jQuery('#pwgc-redeem-button');pwgc_redeem_gift_card(redeemButton);e.preventDefault();return false;});jQuery('#pwgc-apply-gift-card,#pwgc-redeem-button').off('click.pimwick').on('click.pimwick',function(e){pwgc_redeem_gift_card(jQuery(this));e.preventDefault();return false;});jQuery('#pwgc-redeem-gift-card-number').off('keypress.pimwick').on('keypress.pimwick',function(e){if(e.keyCode==13){pwgc_redeem_gift_card(jQuery('#pwgc-apply-gift-card'));e.preventDefault();return false;}});}
1121function pwgc_redeem_gift_card(redeemButton){var cardNumber=jQuery('#pwgc-redeem-gift-card-number');var errorContainer=jQuery('#pwgc-redeem-error');errorContainer.text('');redeemButton.attr('data-apply-text',redeemButton.attr('value')).attr('value',redeemButton.attr('data-wait-text')).prop('disabled',true);jQuery.post(pwgc.ajaxurl,{'action':'pw-gift-cards-redeem','card_number':cardNumber.val(),'security':pwgc.nonces.apply_gift_card},function(result){if(result.success){location.reload();}else{errorContainer.text(result.data.message);redeemButton.attr('value',redeemButton.attr('data-apply-text')).prop('disabled',false);cardNumber.focus();}}).fail(function(xhr,textStatus,errorThrown){if(errorThrown){errorContainer.text(errorThrown);}else{errorContainer.text('Unknown Error');}
1122redeemButton.attr('value',redeemButton.attr('data-apply-text')).prop('disabled',false);cardNumber.focus();});}
1123function pwgc_message_characters_remaining(){var messageElement=jQuery('#pwgc-message').val();if(messageElement){var charsRemaining=pwgc.max_message_characters-messageElement.length;jQuery('#pwgc-message-characters-remaining').text(charsRemaining);}}
1124function pwgc_checkout_redeem_gift_card(redeemButton){var errorContainer=jQuery('#pwgc-redeem-error');var cardNumber=jQuery('#pwgc-redeem-gift-card-number');errorContainer.text('');redeemButton.attr('data-apply-text',redeemButton.attr('value')).attr('value',redeemButton.attr('data-wait-text')).prop('disabled',true);jQuery.post(pwgc.ajaxurl,{'action':'pw-gift-cards-redeem','card_number':cardNumber.val(),'security':pwgc.nonces.apply_gift_card},function(result){if(result.success){location.reload();}else{errorContainer.text(result.data.message);redeemButton.attr('value',redeemButton.attr('data-apply-text')).prop('disabled',false);cardNumber.focus();}}).fail(function(xhr,textStatus,errorThrown){if(errorThrown){errorContainer.text(errorThrown);}else{errorContainer.text('Unknown Error');}
1125redeemButton.attr('value',redeemButton.attr('data-apply-text')).prop('disabled',false);cardNumber.focus();});};
1126/*! jQuery UI - v1.13.1 - 2022-01-20
1127* http://jqueryui.com
1128* Includes: data.js, disable-selection.js, escape-selector.js, focusable.js, form-reset-mixin.js, form.js, ie.js, jquery-1-7.js, keycode.js, labels.js, plugin.js, position.js, safe-active-element.js, safe-blur.js, scroll-parent.js, tabbable.js, unique-id.js, version.js, widget.js
1129* Copyright jQuery Foundation and other contributors; Licensed  */
1130!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(x){"use strict";var t,e,i,n,W,C,o,s,r,l,a,h,u;function E(t,e,i){return[parseFloat(t[0])*(a.test(t[0])?e/100:1),parseFloat(t[1])*(a.test(t[1])?i/100:1)]}function L(t,e){return parseInt(x.css(t,e),10)||0}function N(t){return null!=t&&t===t.window}x.ui=x.ui||{},x.ui.version="1.13.1",
1131/*!
1132 * jQuery UI :data 1.13.1
1133 * http://jqueryui.com
1134 *
1135 * Copyright jQuery Foundation and other contributors
1136 * Released under the MIT license.
1137 * http://jquery.org/license
1138 */
1139x.extend(x.expr.pseudos,{data:x.expr.createPseudo?x.expr.createPseudo(function(e){return function(t){return!!x.data(t,e)}}
vendor: 4,684 bytes, lines 1139-1205
1139):function(t,e,i){return!!x.data(t,i[3])}}),
1140/*!
1141 * jQuery UI Disable Selection 1.13.1
1142 * http://jqueryui.com
1143 *
1144 * Copyright jQuery Foundation and other contributors
1145 * Released under the MIT license.
1146 * http://jquery.org/license
1147 */
1148x.fn.extend({disableSelection:(t="onselectstart"in document.createElement("div")?"selectstart":"mousedown",function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}),enableSelection:function(){return this.off(".ui-disableSelection")}}),
1149/*!
1150 * jQuery UI Focusable 1.13.1
1151 * http://jqueryui.com
1152 *
1153 * Copyright jQuery Foundation and other contributors
1154 * Released under the MIT license.
1155 * http://jquery.org/license
1156 */
1157x.ui.focusable=function(t,e){var i,n,o,s=t.nodeName.toLowerCase();return"area"===s?(o=(i=t.parentNode).name,!(!t.href||!o||"map"!==i.nodeName.toLowerCase())&&(0<(i=x("img[usemap='#"+o+"']")).length&&i.is(":visible"))):(/^(input|select|textarea|button|object)$/.test(s)?(n=!t.disabled)&&(o=x(t).closest("fieldset")[0])&&(n=!o.disabled):n="a"===s&&t.href||e,n&&x(t).is(":visible")&&function(t){var e=t.css("visibility");for(;"inherit"===e;)t=t.parent(),e=t.css("visibility");return"visible"===e}(x(t)))},x.extend(x.expr.pseudos,{focusable:function(t){return x.ui.focusable(t,null!=x.attr(t,"tabindex"))}}),x.fn._form=function(){return"string"==typeof this[0].form?this.closest("form"):x(this[0].form)},
1158/*!
1159 * jQuery UI Form Reset Mixin 1.13.1
1160 * http://jqueryui.com
1161 *
1162 * Copyright jQuery Foundation and other contributors
1163 * Released under the MIT license.
1164 * http://jquery.org/license
1165 */
1166x.ui.formResetMixin={_formResetHandler:function(){var e=x(this);setTimeout(function(){var t=e.data("ui-form-reset-instances");x.each(t,function(){this.refresh()})})},_bindFormResetHandler:function(){var t;this.form=this.element._form(),this.form.length&&((t=this.form.data("ui-form-reset-instances")||[]).length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t))},_unbindFormResetHandler:function(){var t;this.form.length&&((t=this.form.data("ui-form-reset-instances")).splice(x.inArray(this,t),1),t.length?this.form.data("ui-form-reset-instances",t):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset"))}},x.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),
1167/*!
1168 * jQuery UI Support for jQuery core 1.8.x and newer 1.13.0
1169 * http://jqueryui.com
1170 *
1171 * Copyright jQuery Foundation and other contributors
1172 * Released under the MIT license.
1173 * http://jquery.org/license
1174 *
1175 */
1176x.expr.pseudos||(x.expr.pseudos=x.expr[":"]),x.uniqueSort||(x.uniqueSort=x.unique),x.escapeSelector||(e=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,i=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},x.escapeSelector=function(t){return(t+"").replace(e,i)}),x.fn.even&&x.fn.odd||x.fn.extend({even:function(){return this.filter(function(t){return t%2==0})},odd:function(){return this.filter(function(t){return t%2==1})}}),
1177/*!
1178 * jQuery UI Keycode 1.13.1
1179 * http://jqueryui.com
1180 *
1181 * Copyright jQuery Foundation and other contributors
1182 * Released under the MIT license.
1183 * http://jquery.org/license
1184 */
1185x.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},
1186/*!
1187 * jQuery UI Labels 1.13.1
1188 * http://jqueryui.com
1189 *
1190 * Copyright jQuery Foundation and other contributors
1191 * Released under the MIT license.
1192 * http://jquery.org/license
1193 */
1194x.fn.labels=function(){var t,e,i;return this.length?this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(e=this.eq(0).parents("label"),(t=this.attr("id"))&&(i=(i=this.eq(0).parents().last()).add((i.length?i:this).siblings()),t="label[for='"+x.escapeSelector(t)+"']",e=e.add(i.find(t).addBack(t))),this.pushStack(e)):this.pushStack([])},x.ui.plugin={add:function(t,e,i){var n,o=x.ui[t].prototype;for(n in i)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([e,i[n]])},call:function(t,e,i,n){var o,s=t.plugins[e];if(s&&(n||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(o=0;o<s.length;o++)t.options[s[o][0]]&&s[o][1].apply(t.element,i)}},
1195/*!
1196 * jQuery UI Position 1.13.1
1197 * http://jqueryui.com
1198 *
1199 * Copyright jQuery Foundation and other contributors
1200 * Released under the MIT license.
1201 * http://jquery.org/license
1202 *
1203 * http://api.jqueryui.com/position/
1204 */
1205W=Math.max,C=Math.abs,o=/left|center|right/,s=/top|center|bottom/,r=/[\+\-]\d+(\.[\d]+)?%?/,l=/^\w+/,a=/%$/,h=x.fn.position,x.position={scrollbarWidth:function(){if(void 0!==n)return n;var t,e=x("<div style='display:block;position:absolute;
1205width:200px;height:200px;overflow:hidden;'><div style='height:300px;width:auto;'></div></div>"),i=e.children()[0];return x("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),n=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.width<t.element[0].scrollWidth;return{width:"scroll"===i||"auto"===i&&t.height<t.element[0].scrollHeight?x.position.scrollbarWidth():0,height:e?x.position.scrollbarWidth():0}},getWithinInfo:function(t){var e=x(t||window),i=N(e[0]),n=!!e[0]&&9===e[0].nodeType;return{element:e,isWindow:i,isDocument:n,offset:!i&&!n?x(t).offset():{left:0,top:0},scrollLeft:e.scrollLeft(),scrollTop:e.scrollTop(),width:e.outerWidth(),height:e.outerHeight()}}},x.fn.position=function(f){if(!f||!f.of)return h.apply(this,arguments);var c,d,p,g,m,t,v="string"==typeof(f=x.extend({},f)).of?x(document).find(f.of):x(f.of),y=x.position.getWithinInfo(f.within),w=x.position.getScrollInfo(y),b=(f.collision||"flip").split(" "),_={},e=9===(e=(t=v)[0]).nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:N(e)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:e.preventDefault?{width:0,height:0,offset:{top:e.pageY,left:e.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()};return v[0].preventDefault&&(f.at="left top"),d=e.width,p=e.height,m=x.extend({},g=e.offset),x.each(["my","at"],function(){var t,e,i=(f[this]||"").split(" ");(i=1===i.length?o.test(i[0])?i.concat(["center"]):s.test(i[0])?["center"].concat(i):["center","center"]:i)[0]=o.test(i[0])?i[0]:"center",i[1]=s.test(i[1])?i[1]:"center",t=r.exec(i[0]),e=r.exec(i[1]),_[this]=[t?t[0]:0,e?e[0]:0],f[this]=[l.exec(i[0])[0],l.exec(i[1])[0]]}),1===b.length&&(b[1]=b[0]),"right"===f.at[0]?m.left+=d:"center"===f.at[0]&&(m.left+=d/2),"bottom"===f.at[1]?m.top+=p:"center"===f.at[1]&&(m.top+=p/2),c=E(_.at,d,p),m.left+=c[0],m.top+=c[1],this.each(function(){var i,t,r=x(this),l=r.outerWidth(),a=r.outerHeight(),e=L(this,"marginLeft"),n=L(this,"marginTop"),o=l+e+L(this,"marginRight")+w.width,s=a+n+L(this,"marginBottom")+w.height,h=x.extend({},m),u=E(_.my,r.outerWidth(),r.outerHeight());"right"===f.my[0]?h.left-=l:"center"===f.my[0]&&(h.left-=l/2),"bottom"===f.my[1]?h.top-=a:"center"===f.my[1]&&(h.top-=a/2),h.left+=u[0],h.top+=u[1],i={marginLeft:e,marginTop:n},x.each(["left","top"],function(t,e){x.ui.position[b[t]]&&x.ui.position[b[t]][e](h,{targetWidth:d,targetHeight:p,elemWidth:l,elemHeight:a,collisionPosition:i,collisionWidth:o,collisionHeight:s,offset:[c[0]+u[0],c[1]+u[1]],my:f.my,at:f.at,within:y,elem:r})}),f.using&&(t=function(t){var e=g.left-h.left,i=e+d-l,n=g.top-h.top,o=n+p-a,s={target:{element:v,left:g.left,top:g.top,width:d,height:p},element:{element:r,left:h.left,top:h.top,width:l,height:a},horizontal:i<0?"left":0<e?"right":"center",vertical:o<0?"top":0<n?"bottom":"middle"};d<l&&C(e+i)<d&&(s.horizontal="center"),p<a&&C(n+o)<p&&(s.vertical="middle"),W(C(e),C(i))>W(C(n),C(o))?s.important="horizontal":s.important="vertical",f.using.call(this,t,s)}),r.offset(x.extend(h,{using:t}))})},x.ui.position={fit:{left:function(t,e){var i,n=e.within,o=n.isWindow?n.scrollLeft:n.offset.left,n=n.width,s=t.left-e.collisionPosition.marginLeft,r=o-s,l=s+e.collisionWidth-n-o;e.collisionWidth>n?0<r&&l<=0?(i=t.left+r+e.collisionWidth-n-o,t.left+=r-i):t.left=!(0<l&&r<=0)&&l<r?o+n-e.collisionWidth:o:0<r?t.left+=r:0<l?t.left-=l:t.left=W(t.left-s,t.left)},top:function(t,e){var i,n=e.within,n=n.isWindow?n.scrollTop:n.offset.top,o=e.within.height,s=t.top-e.collisionPosition.marginTop,r=n-s,l=s+e.collisionHeight-o-n;e.collisionHeight>o?0<r&&l<=0?(i=t.top+r+e.collisionHeight-o-n,t.top+=r-i):t.top=!(0<l&&r<=0)&&l<r?n+o-e.collisionHeight:n:0<r?t.top+=r:0<l?t.top-=l:t.top=W(t.top-s,t.top)}},flip:{left:function(t,e){var i=e.within,n=i.offset.left+i.scrollLeft,o=i.width,i=i.isWindow?i.scrollLeft:i.offset.left,s=t.left-e.collisionPosition.marginLeft,r=s-i,s=s+e.collisionWidth-o-i,l="left"
vendor: 8,464 bytes, lines 1205-1241
1205===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,a="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,h=-2*e.offset[0];r<0?((o=t.left+l+a+h+e.collisionWidth-o-n)<0||o<C(r))&&(t.left+=l+a+h):0<s&&(0<(n=t.left-e.collisionPosition.marginLeft+l+a+h-i)||C(n)<s)&&(t.left+=l+a+h)},top:function(t,e){var i=e.within,n=i.offset.top+i.scrollTop,o=i.height,i=i.isWindow?i.scrollTop:i.offset.top,s=t.top-e.collisionPosition.marginTop,r=s-i,s=s+e.collisionHeight-o-i,l="top"===e.my[1]?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,a="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,h=-2*e.offset[1];r<0?((o=t.top+l+a+h+e.collisionHeight-o-n)<0||o<C(r))&&(t.top+=l+a+h):0<s&&(0<(n=t.top-e.collisionPosition.marginTop+l+a+h-i)||C(n)<s)&&(t.top+=l+a+h)}},flipfit:{left:function(){x.ui.position.flip.left.apply(this,arguments),x.ui.position.fit.left.apply(this,arguments)},top:function(){x.ui.position.flip.top.apply(this,arguments),x.ui.position.fit.top.apply(this,arguments)}}},x.ui.safeActiveElement=function(e){var i;try{i=e.activeElement}catch(t){i=e.body}return i=(i=i||e.body).nodeName?i:e.body},x.ui.safeBlur=function(t){t&&"body"!==t.nodeName.toLowerCase()&&x(t).trigger("blur")},
1206/*!
1207 * jQuery UI Scroll Parent 1.13.1
1208 * http://jqueryui.com
1209 *
1210 * Copyright jQuery Foundation and other contributors
1211 * Released under the MIT license.
1212 * http://jquery.org/license
1213 */
1214x.fn.scrollParent=function(t){var e=this.css("position"),i="absolute"===e,n=t?/(auto|scroll|hidden)/:/(auto|scroll)/,t=this.parents().filter(function(){var t=x(this);return(!i||"static"!==t.css("position"))&&n.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==e&&t.length?t:x(this[0].ownerDocument||document)},
1215/*!
1216 * jQuery UI Tabbable 1.13.1
1217 * http://jqueryui.com
1218 *
1219 * Copyright jQuery Foundation and other contributors
1220 * Released under the MIT license.
1221 * http://jquery.org/license
1222 */
1223x.extend(x.expr.pseudos,{tabbable:function(t){var e=x.attr(t,"tabindex"),i=null!=e;return(!i||0<=e)&&x.ui.focusable(t,i)}}),
1224/*!
1225 * jQuery UI Unique ID 1.13.1
1226 * http://jqueryui.com
1227 *
1228 * Copyright jQuery Foundation and other contributors
1229 * Released under the MIT license.
1230 * http://jquery.org/license
1231 */
1232x.fn.extend({uniqueId:(u=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++u)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&x(this).removeAttr("id")})}});
1233/*!
1234 * jQuery UI Widget 1.13.1
1235 * http://jqueryui.com
1236 *
1237 * Copyright jQuery Foundation and other contributors
1238 * Released under the MIT license.
1239 * http://jquery.org/license
1240 */
1241var f,c=0,d=Array.prototype.hasOwnProperty,p=Array.prototype.slice;x.cleanData=(f=x.cleanData,function(t){for(var e,i,n=0;null!=(i=t[n]);n++)(e=x._data(i,"events"))&&e.remove&&x(i).triggerHandler("remove");f(t)}),x.widget=function(t,i,e){var n,o,s,r={},l=t.split(".")[0],a=l+"-"+(t=t.split(".")[1]);return e||(e=i,i=x.Widget),Array.isArray(e)&&(e=x.extend.apply(null,[{}].concat(e))),x.expr.pseudos[a.toLowerCase()]=function(t){return!!x.data(t,a)},x[l]=x[l]||{},n=x[l][t],o=x[l][t]=function(t,e){if(!this||!this._createWidget)return new o(t,e);arguments.length&&this._createWidget(t,e)},x.extend(o,n,{version:e.version,_proto:x.extend({},e),_childConstructors:[]}),(s=new i).options=x.widget.extend({},s.options),x.each(e,function(e,n){function o(){return i.prototype[e].apply(this,arguments)}function s(t){return i.prototype[e].apply(this,t)}r[e]="function"!=typeof n?n:function(){var t,e=this._super,i=this._superApply;return this._super=o,this._superApply=s,t=n.apply(this,arguments),this._super=e,this._superApply=i,t}}),o.prototype=x.widget.extend(s,{widgetEventPrefix:n&&s.widgetEventPrefix||t},r,{constructor:o,namespace:l,widgetName:t,widgetFullName:a}),n?(x.each(n._childConstructors,function(t,e){var i=e.prototype;x.widget(i.namespace+"."+i.widgetName,o,e._proto)}),delete n._childConstructors):i._childConstructors.push(o),x.widget.bridge(t,o),o},x.widget.extend=function(t){for(var e,i,n=p.call(arguments,1),o=0,s=n.length;o<s;o++)for(e in n[o])i=n[o][e],d.call(n[o],e)&&void 0!==i&&(x.isPlainObject(i)?t[e]=x.isPlainObject(t[e])?x.widget.extend({},t[e],i):x.widget.extend({},i):t[e]=i);return t},x.widget.bridge=function(s,e){var r=e.prototype.widgetFullName||s;x.fn[s]=function(i){var t="string"==typeof i,n=p.call(arguments,1),o=this;return t?this.length||"instance"!==i?this.each(function(){var t,e=x.data(this,r);return"instance"===i?(o=e,!1):e?"function"!=typeof e[i]||"_"===i.charAt(0)?x.error("no such method '"+i+"' for "+s+" widget instance"):(t=e[i].apply(e,n))!==e&&void 0!==t?(o=t&&t.jquery?o.pushStack(t.get()):t,!1):void 0:x.error("cannot call methods on "+s+" prior to initialization; attempted to call method '"+i+"'")}):o=void 0:(n.length&&(i=x.widget.extend.apply(null,[i].concat(n))),this.each(function(){var t=x.data(this,r);t?(t.option(i||{}),t._init&&t._init()):x.data(this,r,new e(i,this))})),o}},x.Widget=function(){},x.Widget._childConstructors=[],x.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=x(e||this.defaultElement||this)[0],this.element=x(e),this.uuid=c++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=x(),this.hoverable=x(),this.focusable=x(),this.classesElementLookup={},e!==this&&(x.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=x(e.style?e.ownerDocument:e.document||e),this.window=x(this.document[0].defaultView||this.document[0].parentWindow)),this.options=x.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:x.noop,_create:x.noop,_init:x.noop,destroy:function(){var i=this;this._destroy(),x.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:x.noop,widget:function(){return this.element},option:function(t,e){var i,n,o,s=t;if(0===arguments.length)return x.widget.extend({},this.options);if("string"==typeof t)if(s={},t=(i=t.split(".")).shift(),i.length){for(n=s[t]=x.widget.extend({},this.options[t]),o=0;o<i.length-1;o++)n[i[o]]=n[i[o]]||{},n=n[i[o]];if(t=i.pop(),1===arguments.length)return void 0===n[t]?null:n[t];n[t]=e}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];s[t]=e}return this._setOptions(s),this},_setOptions:function(t){for(var e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(t){var e,i,n;for(e in t)n=this.classesElementLookup[e],t[e]!==this.options.classes[e]&&n&&n.length&&(i=x(n.get()),this._removeClass(n,e),i.addClass(this._classes({element:i,keys:e,classes:t,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(o){var s=[],r=this;function t(t,e){for(var i,n=0;n<t.length;n++)i=r.classesElementLookup[t[n]]||x(),i=o.add?(function(){var i=[];o.element.each(function(t,e){x.map(r.classesElementLookup,function(t){return t}).some(function(t){return t.is(e)})||i.push(e)}),r._on(x(i),{remove:"_untrackClassesElement"})}(),x(x.uniqueSort(i.get().concat(o.element.get())))):x(i.not(o.element).get()),r.classesElementLookup[t[n]]=i,s.push(t[n]),e&&o.classes[t[n]]&&s.push(o.classes[t[n]])}return(o=x.extend({element:this.element,classes:this.options.classes||{}},o)).keys&&t(o.keys.match(/\S+/g)||[],!0),o.extra&&t(o.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(i){var n=this;x.each(n.classesElementLookup,function(t,e){-1!==x.inArray(i.target,e)&&(n.classesElementLookup[t]=x(e.not(i.target).get()))}),this._off(x(i.target))},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)}
vendor: 16,955 bytes, lines 1241-1259
1241,_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,n){var o="string"==typeof t||null===t,e={extra:o?e:i,keys:o?t:e,element:o?this.element:t,add:n="boolean"==typeof n?n:i};return e.element.toggleClass(this._classes(e),n),this},_on:function(o,s,t){var r,l=this;"boolean"!=typeof o&&(t=s,s=o,o=!1),t?(s=r=x(s),this.bindings=this.bindings.add(s)):(t=s,s=this.element,r=this.widget()),x.each(t,function(t,e){function i(){if(o||!0!==l.options.disabled&&!x(this).hasClass("ui-state-disabled"))return("string"==typeof e?l[e]:e).apply(l,arguments)}"string"!=typeof e&&(i.guid=e.guid=e.guid||i.guid||x.guid++);var t=t.match(/^([\w:-]*)\s*(.*)$/),n=t[1]+l.eventNamespace,t=t[2];t?r.on(n,t,i):s.on(n,i)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.off(e),this.bindings=x(this.bindings.not(t).get()),this.focusable=x(this.focusable.not(t).get()),this.hoverable=x(this.hoverable.not(t).get())},_delay:function(t,e){var i=this;return setTimeout(function(){return("string"==typeof t?i[t]:t).apply(i,arguments)},e||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){this._addClass(x(t.currentTarget),null,"ui-state-hover")},mouseleave:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){this._addClass(x(t.currentTarget),null,"ui-state-focus")},focusout:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-focus")}})},_trigger:function(t,e,i){var n,o,s=this.options[t];if(i=i||{},(e=x.Event(e)).type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),e.target=this.element[0],o=e.originalEvent)for(n in o)n in e||(e[n]=o[n]);return this.element.trigger(e,i),!("function"==typeof s&&!1===s.apply(this.element[0],[e].concat(i))||e.isDefaultPrevented())}},x.each({show:"fadeIn",hide:"fadeOut"},function(s,r){x.Widget.prototype["_"+s]=function(e,t,i){var n,o=(t="string"==typeof t?{effect:t}:t)?!0!==t&&"number"!=typeof t&&t.effect||r:s;"number"==typeof(t=t||{})?t={duration:t}:!0===t&&(t={}),n=!x.isEmptyObject(t),t.complete=i,t.delay&&e.delay(t.delay),n&&x.effects&&x.effects.effect[o]?e[s](t):o!==s&&e[o]?e[o](t.duration,t.easing,i):e.queue(function(t){x(this)[s](),i&&i.call(e[0]),t()})}})});
1242/*!
1243 * jQuery UI Mouse 1.13.1
1244 * http://jqueryui.com
1245 *
1246 * Copyright jQuery Foundation and other contributors
1247 * Released under the MIT license.
1248 * http://jquery.org/license
1249 */
1250!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","./core"],e):e(jQuery)}(function(o){"use strict";var n=!1;return o(document).on("mouseup",function(){n=!1}),o.widget("ui.mouse",{version:"1.13.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.on("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).on("click."+this.widgetName,function(e){if(!0===o.data(e.target,t.widgetName+".preventClickEvent"))return o.removeData(e.target,t.widgetName+".preventClickEvent"),e.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){var t,s,i;if(!n)return this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e,t=this,s=1===e.which,i=!("string"!=typeof this.options.cancel||!e.target.nodeName)&&o(e.target).closest(this.options.cancel).length,!(s&&!i&&this._mouseCapture(e))||(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){t.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=!1!==this._mouseStart(e),!this._mouseStarted)?(e.preventDefault(),!0):(!0===o.data(e.target,this.widgetName+".preventClickEvent")&&o.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return t._mouseMove(e)},this._mouseUpDelegate=function(e){return t._mouseUp(e)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0))},_mouseMove:function(e){if(this._mouseMoved){if(o.ui.ie&&(!document.documentMode||document.documentMode<9)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=!1!==this._mouseStart(this._mouseDownEvent,e),this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&o.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})});
1251/*!
1252 * jQuery UI Draggable 1.13.1
1253 * http://jqueryui.com
1254 *
1255 * Copyright jQuery Foundation and other contributors
1256 * Released under the MIT license.
1257 * http://jquery.org/license
1258 */
1259!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","./mouse","./core"],t):t(jQuery)}(function(P){"use strict";return P.widget("ui.draggable",P.ui.mouse,{version:"1.13.1",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this._addClass("ui-draggable"),this._setHandleClassName(),this._mouseInit()},_setOption:function(t,e){this._super(t,e),"handle"===t&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){(this.helper||this.element).is(".ui-draggable-dragging")?this.destroyOnClear=!0:(this._removeHandleClassName(),this._mouseDestroy())},_mouseCapture:function(t){var e=this.options;return!(this.helper||e.disabled||0<P(t.target).closest(".ui-resizable-handle").length)&&(this.handle=this._getHandle(t),!!this.handle&&(this._blurActiveElement(t),this._blockFrames(!0===e.iframeFix?"iframe":e.iframeFix),!0))},_blockFrames:function(t){this.iframeBlocks=this.document.find(t).map(function(){var t=P(this);return P("<div>").css("position","absolute").appendTo(t.parent()).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(t){var e=P.ui.safeActiveElement(this.document[0]);P(t.target).closest(e).length||P.ui.safeBlur(e)},_mouseStart:function(t){var e=this.options;return this.helper=this._createHelper(t),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),P.ui.ddmanager&&(P.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=0<this.helper.parents().filter(function(){return"fixed"===P(this).css("position")}).length,this.positionAbs=this.element.offset(),this._refreshOffsets(t),this.originalPosition=this.position=this._generatePosition(t,!1),this.originalPageX=t.pageX,this.originalPageY=t.pageY,e.cursorAt&&this._adjustOffsetFromHelper(e.cursorAt),this._setContainment(),!1===this._trigger("start",t)?(this._clear(),!1):(this._cacheHelperProportions(),P.ui.ddmanager&&!e.dropBehaviour&&P.ui.ddmanager.prepareOffsets(this,t),this._mouseDrag(t,!0),P.ui.ddmanager&&P.ui.ddmanager.dragStart(this,t),!0)},_refreshOffsets:function(t){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:t.pageX-this.offset.left,top:t.pageY-this.offset.top}},_mouseDrag:function(t,e){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t,!0),this.positionAbs=this._convertPositionTo("absolute"),!e){e=this._uiHash();if(!1===this._trigger("drag",t,e))return this._mouseUp(new P.Event("mouseup",t)),!1;this.position=e.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",P.ui.ddmanager&&P.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var e=this,s=!1;return P.ui.ddmanager&&!this.options.dropBehaviour&&(s=P.ui.ddmanager.drop(this,t)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||!0===this.options.revert||"function"==typeof this.options.revert&&this.options.revert.call(this.element,s)?P(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){!1!==e._trigger("stop",t)&&e._clear()}):!1!==this._trigger("stop",t)&&this._clear(),!1},_mouseUp:function(t){return this._unblockFrames(),P.ui.ddmanager&&P.ui.ddmanager.dragStop(this,t),this.handleElement.is(t.target)&&this.element.trigger("focus"),P.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new P.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(t){return!this.options.handle||!!P(t.target).closest(this.element.find(this.options.handle)).length},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(t){var e=this.options,s="function"==typeof e.helper,t=s?P(e.helper.apply(this.element[0],[t])):"clone"===e.helper?this.element.clone().removeAttr("id"):this.element;return t.parents("body").length||t.appendTo("parent"===e.appendTo?this.element[0].parentNode:e.appendTo),s&&t[0]===this.element[0]&&this._setPositionRelative(),t[0]===this.element[0]||/(fixed|absolute)/.test(t.css("position"))||t.css("position","absolute"),t},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),"left"in(t=Array.isArray(t)?{left:+t[0],top:+t[1]||0}:t)&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_isRootNode:function(t){return/(html|body)/i.test(t.tagName)||t===this.document[0]},_getParentOffset:function(){var t=this.offsetParent.offset(),e=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==e&&P.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),{top:(t=this._isRootNode(this.offsetParent[0])?{top:0,left:0}:t).top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var t=this.element.position(),e=this._isRootNode(this.scrollParent[0]);return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+(e?0:this.scrollParent.scrollTop()),left:t.left-(parseInt(this.helper.css("left"),10)||0)+(e?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,e=this.options,s=this.document[0];this.relativeContainer=null,e.containment?"window"===e.containment?this.containment=[P(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,P(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,P(window).scrollLeft()+P(window).width()-this.helperProportions.width-this.margins.left,P(window).scrollTop()+(P(window).height()||s.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:"document"===e.containment?this.containment=[0,0,P(s).width()-this.helperProportions.width-this.margins.left,(P(s).height()||s.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:e.containment.constructor===Array?this.containment=e.containment:("parent"===e.containment&&(e.containment=this.helper[0].parentNode),(e=(s=P(e.containment))[0])&&(t=/(scroll|auto)/.test(s.css("overflow")),this.containment=[(parseInt(s.css("borderLeftWidth"),10)||0)+(parseInt(s.css("paddingLeft"),10)||0),(parseInt(s.css("borderTopWidth"),10)||0)+(parseInt(s.css("paddingTop"),10)||0),(t?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(s.css("borderRightWidth"),10)||0)-(parseInt(s.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(s.css("borderBottomWidth"),10)||0)-(parseInt(s.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=s)):this.containment=null},_convertPositionTo:function(t,e){e=e||this.position;var t="absolute"===t?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:e.top+this.offset.relative.top*t+this.offset.parent.top*t-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*t,left:e.left+this.offset.relative.left*t+this.offset.parent.left*t-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*t}},_generatePosition:function(t,e){var s,i=this.options,o=this._isRootNode(this.scrollParent[0]),n=t.pageX,r=t.pageY;return o&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),e&&(this.containment&&(s=this.relativeContainer?(e=this.relativeContainer.offset(),[this.containment[0]+e.left,this.containment[1]+e.top,this.containment[2]+e.left,this.containment[3]+e.top]):this.containment,t.pageX-this.offset.click.left<s[0]&&(n=s[0]+this.offset.click.left),t.pageY-this.offset.click.top<s[1]&&(r=s[1]+this.offset.click.top),t.pageX-this.offset.click.left>s[2]&&(n=s[2]+this.offset.click.left),t.pageY-this.offset.click.top>s[3]&&(r=s[3]+this.offset.click.top)),i.grid&&(e=i.grid[1]?this.originalPageY+Math.round((r-this.originalPageY)/i.grid[1])*i.grid[1]:this.originalPageY,r=!s||e-this.offset.click.top>=s[1]||e-this.offset.click.top>s[3]?e:e-this.offset.click.top>=s[1]?e-i.grid[1]:e+i.grid[1],t=i.grid[0]?this.originalPageX+Math.round((n-this.originalPageX)/i.grid[0])*i.grid[0]:this.originalPageX,n=!s||t-this.offset.click.left>=s[0]||t-this.offset.click.left>s[2]?t:t-this.offset.click.left>=s[0]?t-i.grid[0]:t+i.grid[0]),"y"===i.axis&&(n=this.originalPageX),"x"===i.axis&&(r=this.originalPageY)),{top:r-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:o?0:this.offset.scroll.top),left:n-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:o?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(t,e,s){return s=s||this._uiHash(),P.ui.plugin.call(this,t,[e,s,this],!0),/^(drag|start|stop
vendor: 4,805 bytes, line 1259
1259)/.test(t)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),P.Widget.prototype._trigger.call(this,t,e,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),P.ui.plugin.add("draggable","connectToSortable",{start:function(e,t,s){var i=P.extend({},t,{item:s.element});s.sortables=[],P(s.options.connectToSortable).each(function(){var t=P(this).sortable("instance");t&&!t.options.disabled&&(s.sortables.push(t),t.refreshPositions(),t._trigger("activate",e,i))})},stop:function(e,t,s){var i=P.extend({},t,{item:s.element});s.cancelHelperRemoval=!1,P.each(s.sortables,function(){var t=this;t.isOver?(t.isOver=0,s.cancelHelperRemoval=!0,t.cancelHelperRemoval=!1,t._storedCSS={position:t.placeholder.css("position"),top:t.placeholder.css("top"),left:t.placeholder.css("left")},t._mouseStop(e),t.options.helper=t.options._helper):(t.cancelHelperRemoval=!0,t._trigger("deactivate",e,i))})},drag:function(s,i,o){P.each(o.sortables,function(){var t=!1,e=this;e.positionAbs=o.positionAbs,e.helperProportions=o.helperProportions,e.offset.click=o.offset.click,e._intersectsWith(e.containerCache)&&(t=!0,P.each(o.sortables,function(){return this.positionAbs=o.positionAbs,this.helperProportions=o.helperProportions,this.offset.click=o.offset.click,t=this!==e&&this._intersectsWith(this.containerCache)&&P.contains(e.element[0],this.element[0])?!1:t})),t?(e.isOver||(e.isOver=1,o._parent=i.helper.parent(),e.currentItem=i.helper.appendTo(e.element).data("ui-sortable-item",!0),e.options._helper=e.options.helper,e.options.helper=function(){return i.helper[0]},s.target=e.currentItem[0],e._mouseCapture(s,!0),e._mouseStart(s,!0,!0),e.offset.click.top=o.offset.click.top,e.offset.click.left=o.offset.click.left,e.offset.parent.left-=o.offset.parent.left-e.offset.parent.left,e.offset.parent.top-=o.offset.parent.top-e.offset.parent.top,o._trigger("toSortable",s),o.dropped=e.element,P.each(o.sortables,function(){this.refreshPositions()}),o.currentItem=o.element,e.fromOutside=o),e.currentItem&&(e._mouseDrag(s),i.position=e.position)):e.isOver&&(e.isOver=0,e.cancelHelperRemoval=!0,e.options._revert=e.options.revert,e.options.revert=!1,e._trigger("out",s,e._uiHash(e)),e._mouseStop(s,!0),e.options.revert=e.options._revert,e.options.helper=e.options._helper,e.placeholder&&e.placeholder.remove(),i.helper.appendTo(o._parent),o._refreshOffsets(s),i.position=o._generatePosition(s,!0),o._trigger("fromSortable",s),o.dropped=!1,P.each(o.sortables,function(){this.refreshPositions()}))})}}),P.ui.plugin.add("draggable","cursor",{start:function(t,e,s){var i=P("body"),s=s.options;i.css("cursor")&&(s._cursor=i.css("cursor")),i.css("cursor",s.cursor)},stop:function(t,e,s){s=s.options;s._cursor&&P("body").css("cursor",s._cursor)}}),P.ui.plugin.add("draggable","opacity",{start:function(t,e,s){e=P(e.helper),s=s.options;e.css("opacity")&&(s._opacity=e.css("opacity")),e.css("opacity",s.opacity)},stop:function(t,e,s){s=s.options;s._opacity&&P(e.helper).css("opacity",s._opacity)}}),P.ui.plugin.add("draggable","scroll",{start:function(t,e,s){s.scrollParentNotHidden||(s.scrollParentNotHidden=s.helper.scrollParent(!1)),s.scrollParentNotHidden[0]!==s.document[0]&&"HTML"!==s.scrollParentNotHidden[0].tagName&&(s.overflowOffset=s.scrollParentNotHidden.offset())},drag:function(t,e,s){var i=s.options,o=!1,n=s.scrollParentNotHidden[0],r=s.document[0];n!==r&&"HTML"!==n.tagName?(i.axis&&"x"===i.axis||(s.overflowOffset.top+n.offsetHeight-t.pageY<i.scrollSensitivity?n.scrollTop=o=n.scrollTop+i.scrollSpeed:t.pageY-s.overflowOffset.top<i.scrollSensitivity&&(n.scrollTop=o=n.scrollTop-i.scrollSpeed)),i.axis&&"y"===i.axis||(s.overflowOffset.left+n.offsetWidth-t.pageX<i.scrollSensitivity?n.scrollLeft=o=n.scrollLeft+i.scrollSpeed:t.pageX-s.overflowOffset.left<i.scrollSensitivity&&(n.scrollLeft=o=n.scrollLeft-i.scrollSpeed))):(i.axis&&"x"===i.axis||(t.pageY-P(r).scrollTop()<i.scrollSensitivity?o=P(r).scrollTop(P(r).scrollTop()-i.scrollSpeed):P(window).height()-(t.pageY-P(r).scrollTop())<i.scrollSensitivity&&(o=P(r).scrollTop(P(r).scrollTop()+i.scrollSpeed))),i.axis&&"y"===i.axis||(t.pageX-P(r).scrollLeft()<i.scrollSensitivity?o=P(r).scrollLeft(P(r).scrollLeft()-i.scrollSpeed):P(window).width()-(t.pageX-P(r).scrollLeft())<i.scrollSensitivity&&(o=P(r).scrollLeft(P(r).scrollLeft()+i.scrollSpeed)))),!1!==o&&P.ui.ddmanager&&!i.dropBehaviour&&P.ui.ddmanager.prepareOffsets(s,t)}}),P.ui.plugin.add("draggable","snap",{start:function(t,e,s){var i=s.options;s.snapElements=[],P(i.snap.constructor!==String?i.snap.items||":data(ui-draggable)":i.snap).each(function(){var t=P(this),e=t.offset();this!==s.element[0]&&s.snapElements.push({item:this,width:t.outerWidth(),height:t.outerHeight(),top:e.top,left
1259:e.left})})},drag:function(t,e,s){for(var i,o,n,r,l,a,h,p,c,f=s.options,d=f.snapTolerance,g=e.offset.left,u=g+s.helperProportions.width,m=e.offset.top,v=m+s.helperProportions.height,_=s.snapElements.length-1;0<=_;_--)a=(l=s.snapElements[_].left-s.margins.left)+s.snapElements[_].width,p=(h=s.snapElements[_].top-s.margins.top)+s.snapElements[_].height,u<l-d||a+d<g||v<h-d||p+d<m||!P.contains(s.snapElements[_].item.ownerDocument,s.snapElements[_].item)?(s.snapElements[_].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,t,P.extend(s._uiHash(),{snapItem:s.snapElements[_].item})),s.snapElements[_].snapping=!1):("inner"!==f.snapMode&&(i=Math.abs(h-v)<=d,o=Math.abs(p-m)<=d,n=Math.abs(l-u)<=d,r=Math.abs(a-g)<=d,i&&(e.position.top=s._convertPositionTo("relative",{top:h-s.helperProportions.height,left:0}).top),o&&(e.position.top=s._convertPositionTo("relative",{top:p,left:0}).top),n&&(e.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left),r&&(e.position.left=s._convertPositionTo("relative",{top:0,left:a}).left)),c=i||o||n||r,"outer"!==f.snapMode&&(i=Math.abs(h-m)<=d,o=Math.abs(p-v)<=d,n=Math.abs(l-g)<=d,r=Math.abs(a-u)<=d,i&&(e.position.top=s._convertPositionTo("relative",{top:h,left:0}).top),o&&(e.position.top=s._convertPositionTo("relative",{top:p-s.helperProportions.height,left:0}).top),n&&(e.position.left=s._convertPositionTo("relative",{top:0,left:l}).left),r&&(e.position.left=s._convertPositionTo("relative",{top:0,left:a-s.helperProportions.width}).left)),!s.snapElements[_].snapping&&(i||o||n||r||c)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,t,P.extend(s._uiHash(),{snapItem:s.snapElements[_].item})),s.snapElements[_].snapping=i||o||n||r||c)}}),P.ui.plugin.add("draggable","stack",{start:function(t,e,s){var i,s=s.options,s=P.makeArray(P(s.stack)).sort(function(t,e){return(parseInt(P(t).css("zIndex"),10)||0)-(parseInt(P(e).css("zIndex"),10)||0)});s.length&&(i=parseInt(P(s[0]).css("zIndex"),10)||0,P(s).each(function(t){P(this).css("zIndex",i+t)}),this.css("zIndex",i+s.length))}}),P.ui.plugin.add("draggable","zIndex",{start:function(t,e,s){e=P(e.helper),s=s.options;e.css("zIndex")&&(s._zIndex=e.css("zIndex")),e.css("zIndex",s.zIndex)},stop:function(t,e,s){s=s.options;s._zIndex&&P(e.helper).css("zIndex",s._zIndex)}}),P.ui.draggable});
1260!function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="https://testing.test/wp-content/plugins/constant-contact-forms/assets/js/",n(n.s=17)}({17:function(t,e,n){t.exports=n(18)},18:function(t,e,n){"use strict";n.r(e);n(19)},19:function(t,e){window.ctctEnableBtn=function(t){jQuery(t).attr("disabled",!1)};window.ctctDisableBtn=function(t){jQuery(t).attr("disabled","disabled")};window.renderReCaptcha=function(){jQuery(".g-recaptcha").each((function(t,e){var n=jQuery(e).siblings(".ctct-form-field-submit").find(".ctct-submit");grecaptcha.render(e,{sitekey:jQuery(e).attr("data-sitekey"),size:jQuery(e).attr("data-size"),tabindex:jQuery(e).attr("data-tabindex"),callback:function(){window.ctctEnableBtn(n)},"expired-callback":function(){window.ctctDisableBtn(n)},isolated:!0})}))}}});
1261;
1262!function(t){var e={};function n(o){if(e[o])return e[o].exports;var i=e[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}
1262),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(o,i,function(e){return t[e]}.bind(null,i));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="https://testing.test/wp-content/plugins/constant-contact-forms/assets/js/",n(n.s=10)}([,,,,,,,,,,function(t,e,n){t.exports=n(11)},function(t,e,n){"use strict";n.r(e);n(12),n(13)},function(t,e){!function(t,e){function n(){return e(".ctct-submitted").attr("disabled",null)}e(document).ready((function(){e(".ctct-submitted").on("click",(function(){setTimeout((function(){e(".ctct-submitted").attr("disabled","disabled"),setTimeout(n,3e3)}),100)}))}))}(window,jQuery)},function(t,e){window.CTCTSupport={},function(t,e,n){var o=this;n.init=function(){n.cache(),n.bindEvents(),n.removePlaceholder()},n.removePlaceholder=function(){e(".ctct-form-field input, textarea").focus((function(){e(o).data("placeholder",e(o).attr("placeholder")).attr("placeholder","")})).blur((function(){e(o).attr("placeholder",e(o).data("placeholder"))}))},n.cache=function(){n.$c={$forms:[]},e(".ctct-form-wrapper").each((function(t,o){n.$c.$forms.push(e(o).find("form"))})),e.each(n.$c.$forms,(function(t,o){var i=e(o);n.$c.$forms[t].$honeypot=i.find(".ctct_usage_field"),n.$c.$forms[t].$submitButton=i.find("input[type=submit]"),n.$c.$forms[t].$recaptcha=i.find(".g-recaptcha")})),n.timeout=null},n.setAllInputsValid=function(){e(n.$c.$form+" .ctct-invalid").removeClass("ctct-invalid")},n.processError=function(t){void 0!==t.id&&e("#"+t.id).addClass("ctct-invalid")},n.checkHoneypot=function(t,e,n){0<e.val().length?n.attr("disabled","disabled"):n.attr("disabled",!1)},n.validateSubmission=function(t){return"on"===t.attr("data-doajax")&&(e.each(t.find("[required]"),(function(t,e){if(!1===e.checkValidity())return!1})),!0)},n.showMessage=function(t,n){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"log",c=t.parents(".ctct-form-wrapper");c.find("p.ctct-message").remove();var r=e("<p />",{class:"ctct-message "+o,text:n,role:i}).prepend(e("<button />",{class:"button button-secondary ctct-dismiss ctct-dismiss-ajax-notice",html:"&#10005;","aria-label":"Dismiss Notification"}));r.insertBefore(t).fadeIn(200),c.find(".ctct-dismiss-ajax-notice").on("click",(function(){e(this).parents(".ctct-message").remove()}))},n.submitForm=function(o){o.find(".ctct-submitted").prop("disabled",!0);var i={action:"ctct_process_form",data:o.serialize()};e.post(t.ajaxurl,i,(function(t){return o.find(".ctct-submitted").prop("disabled",!1),void 0!==t.status&&("success"!==t.status?(void 0!==t.errors?(n.setAllInputsValid(),t.errors.forEach(n.processError)):n.showMessage(o,t.message,"ctct-error","alert"),!1):(o.hide(),n.showMessage(o,t.message,"ctct-success","status"),void o[0].reset()))}))},n.handleSubmission=function(t,e){if(!n.validateSubmission(e))return!1;clearTimeout(n.timeout),e[0].checkValidity()&&(t.preventDefault(),n.timeout=setTimeout(n.submitForm,500,e))},n.bindEvents=function(){e.each(n.$c.$forms,(function(t,e){n.$c.$forms[t].on("click","input[type=submit]",(function(e){n.handleSubmission(e,n.$c.$forms[t])})),n.$c.$forms[t].$honeypot.on("change keyup",(function(e){n.checkHoneypot(e,n.$c.$forms[t].$honeypot,n.$c.$forms[t].$submitButton)})),0<n.$c.$forms[t].$recaptcha.length&&n.$c.$forms[t].$submitButton.attr("disabled","disabled")}))},e(n.init)}(window,jQuery,window.CTCTSupport)}]);
1263;
1264/*!
1265 * JavaScript Cookie v2.1.4
1266 * https://github.com/js-cookie/js-cookie
1267 *
1268 * Copyright 2006, 2015 Klaus Hartl & Fagner Brack
1269 * Released under the MIT license
1270 */
1271!function(e){var n,o,t=!1;"function"==typeof define&&define.amd&&(define(e),t=!0),"object"==typeof exports&&(module.exports=e(),t=!0),t||(n=window.Cookies,(o=window.Cookies=e()).noConflict=function(){return window.Cookies=n,o})}(function(){function m(){for(var e=0,n={};e<arguments.length;e++){var o,t=arguments[e];
1271for(o in t)n[o]=t[o]}return n}return function e(C){function g(e,n,o){var t,r;if("undefined"!=typeof document){if(1<arguments.length){"number"==typeof(o=m({path:"/"},g.defaults,o)).expires&&((r=new Date).setMilliseconds(r.getMilliseconds()+864e5*o.expires),o.expires=r),o.expires=o.expires?o.expires.toUTCString():"";try{t=JSON.stringify(n),/^[\{\[]/.test(t)&&(n=t)}catch(l){}n=C.write?C.write(n,e):encodeURIComponent(String(n)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),e=(e=(e=encodeURIComponent(String(e))).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent)).replace(/[\(\)]/g,escape);var i,c="";for(i in o)o[i]&&(c+="; "+i,!0!==o[i]&&(c+="="+o[i]));return document.cookie=e+"="+n+c}e||(t={});for(var s=document.cookie?document.cookie.split("; "):[],f=/(%[0-9A-Z]{2})+/g,p=0;p<s.length;p++){var a=s[p].split("=");'"'===(u=a.slice(1).join("=")).charAt(0)&&(u=u.slice(1,-1));try{var d=a[0].replace(f,decodeURIComponent),u=C.read?C.read(u,d):C(u,d)||u.replace(f,decodeURIComponent);if(this.json)try{u=JSON.parse(u)}catch(l){}if(e===d){t=u;break}e||(t[d]=u)}catch(l){}}return t}}return(g.set=g).get=function(e){return g.call(g,e)},g.getJSON=function(){return g.apply({json:!0},[].slice.call(arguments))},g.defaults={},g.remove=function(e,n){g(e,"",m(n,{expires:-1}))},g.withConverter=e,g}(function(){})});
1272jQuery(function(s){s(".woocommerce-ordering").on("change","select.orderby",function(){s(this).closest("form").trigger("submit")}),s("input.qty:not(.product-quantity input.qty)").each(function(){var o=parseFloat(s(this).attr("min"));0<=o&&parseFloat(s(this).val())<o&&s(this).val(o)});var e="store_notice"+(s(".woocommerce-store-notice").data("noticeId")||"");"hidden"===Cookies.get(e)?s(".woocommerce-store-notice").hide():s(".woocommerce-store-notice").show(),s(".woocommerce-store-notice__dismiss-link").on("click",function(o){Cookies.set(e,"hidden",{path:"/"}),s(".woocommerce-store-notice").hide(),o.preventDefault()}),s(".woocommerce-input-wrapper span.description").length&&s(document.body).on("click",function(){s(".woocommerce-input-wrapper span.description:visible").prop("aria-hidden",!0).slideUp(250)}),s(".woocommerce-input-wrapper").on("click",function(o){o.stopPropagation()}),s(".woocommerce-input-wrapper :input").on("keydown",function(o){var e=s(this).parent().find("span.description");if(27===o.which&&e.length&&e.is(":visible"))return e.prop("aria-hidden",!0).slideUp(250),o.preventDefault(),!1}).on("click focus",function(){var o=s(this).parent(),e=o.find("span.description");o.addClass("currentTarget"),s(".woocommerce-input-wrapper:not(.currentTarget) span.description:visible").prop("aria-hidden",!0).slideUp(250),e.length&&e.is(":hidden")&&e.prop("aria-hidden",!1).slideDown(250),o.removeClass("currentTarget")}),s.scroll_to_notices=function(o){o.length&&s("html, body").animate({scrollTop:o.offset().top-100},1e3)},s('.woocommerce form .woocommerce-Input[type="password"]').wrap('<span class="password-input"></span>'),s(".woocommerce form input").filter(":password").parent("span").addClass("password-input"),s(".password-input").append('<span class="show-password-input"></span>'),s(".show-password-input").on("click",function(){s(this).hasClass("display-password")?s(this).removeClass("display-password"):s(this).addClass("display-password"),s(this).hasClass("display-password")?s(this).siblings(['input[type="password"]']).prop("type","text"):s(this).siblings('input[type="text"]').prop("type","password")})});
1273jQuery(function(r){if("undefined"==typeof wc_cart_fragments_params)return!1;var t=!0,o=wc_cart_fragments_params.cart_hash_key;try{t="sessionStorage"in window&&null!==window.sessionStorage,window.sessionStorage.setItem("wc","test"),window.sessionStorage.removeItem("wc"),window.localStorage.setItem("wc","test"),window.localStorage.removeItem("wc")}catch(f){t=!1}function a(){t&&sessionStorage.setItem("wc_cart_created",(new Date).getTime())}function s(e){t&&(localStorage.setItem(o,e),sessionStorage.setItem(o,e))}var e={url:wc_cart_fragments_params.wc_ajax_url.toString().replace("%%endpoint%%","get_refreshed_fragments"),type:"POST",data:{time:(new Date).getTime()},timeout:wc_cart_fragments_params.request_timeout,success:function(e){e&&e.fragments&&(r.each(e.fragments,function(e,t){r(e).replaceWith(t)}),t&&(sessionStorage.setItem(wc_cart_fragments_params.fragment_name,JSON.stringify(e.fragments)),s(e.cart_hash),e.cart_hash&&a()),r(document.body).trigger("wc_fragments_refreshed"))},error:function(){r(document.body).trigger("wc_fragments_ajax_error")}};function n(){r.ajax(e)}if(t){var i=null;r(document.body).on("wc_fragment_refresh updated_wc_div",function(){n()}),r(document.body).on("added_to_cart removed_from_cart",function(e,t,r){var n=sessionStorage.getItem(o);null!==n&&n!==undefined&&""!==n||a(),sessionStorage.setItem(wc_cart_fragments_params.fragment_name,JSON.stringify(t)),s(r)}),r(document.body).on("wc_fragments_refreshed",function(){clearTimeout(i),i=setTimeout(n,864e5)}),r(window).on("storage onstorage",function(e){o===e.originalEvent.key&&localStorage.getItem(o)!==se
1273ssionStorage.getItem(o)&&n()}),r(window).on("pageshow",function(e){e.originalEvent.persisted&&(r(".widget_shopping_cart_content").empty(),r(document.body).trigger("wc_fragment_refresh"))});try{var c=JSON.parse(sessionStorage.getItem(wc_cart_fragments_params.fragment_name)),_=sessionStorage.getItem(o),g=Cookies.get("woocommerce_cart_hash"),m=sessionStorage.getItem("wc_cart_created");if(null!==_&&_!==undefined&&""!==_||(_=""),null!==g&&g!==undefined&&""!==g||(g=""),_&&(null===m||m===undefined||""===m))throw"No cart_created";if(m){var d=+m+864e5,w=(new Date).getTime();if(d<w)throw"Fragment expired";i=setTimeout(n,d-w)}if(!c||!c["div.widget_shopping_cart_content"]||_!==g)throw"No fragment";r.each(c,function(e,t){r(e).replaceWith(t)}),r(document.body).trigger("wc_fragments_loaded")}catch(f){n()}}else n();0<Cookies.get("woocommerce_items_in_cart")?r(".hide_cart_widget_if_empty").closest(".widget_shopping_cart").show():r(".hide_cart_widget_if_empty").closest(".widget_shopping_cart").hide(),r(document.body).on("adding_to_cart",function(){r(".hide_cart_widget_if_empty").closest(".widget_shopping_cart").show()}),"undefined"!=typeof wp&&wp.customize&&wp.customize.selectiveRefresh&&wp.customize.widgetsPreview&&wp.customize.widgetsPreview.WidgetPartial&&wp.customize.selectiveRefresh.bind("partial-content-rendered",function(){n()})});
1274document.documentElement.className+=' js_active ';document.documentElement.className+='ontouchstart'in document.documentElement?' vc_mobile ':' vc_desktop ';(function(){var prefix=['-webkit-','-o-','-moz-','-ms-',""];for(var i=0;i<prefix.length;i++){if(prefix[i]+'transform'in document.documentElement.style){document.documentElement.className+=" vc_transform ";}}})();jQuery(window).load(function(){});var vc_js=function(){vc_twitterBehaviour();vc_toggleBehaviour();vc_toggleBehaviourOld();vc_tabsBehaviour();vc_accordionBehaviour();vc_teaserGrid();vc_carouselBehaviour();vc_slidersBehaviour();vc_prettyPhoto();vc_googleplus();vc_pinterest();vc_progress_bar();vc_plugin_flexslider();vc_google_fonts();vc_gridBehaviour();vc_rowBehaviour();vc_ttaActivation();jQuery(document).trigger('vc_js');window.setTimeout(vc_waypoints,1500);};jQuery(document).ready(function($){window.vc_js();});if(typeof window['vc_plugin_flexslider']!=='function'){window.vc_plugin_flexslider=function($parent){var $slider=$parent?$parent.find('.wpb_flexslider'):jQuery('.wpb_flexslider');$slider.each(function(){var this_element=jQuery(this);var sliderSpeed=800,sliderTimeout=parseInt(this_element.attr('data-interval'))*1000,sliderFx=this_element.attr('data-flex_fx'),slideshow=true;if(sliderTimeout==0){slideshow=false;}
1275this_element.is(':visible')&&this_element.flexslider({animation:sliderFx,slideshow:slideshow,slideshowSpeed:sliderTimeout,sliderSpeed:sliderSpeed,smoothHeight:true});});};}
1276if(typeof window['vc_twitterBehaviour']!=='function'){window.vc_twitterBehaviour=function(){jQuery('.wpb_twitter_widget .tweets').each(function(index){var this_element=jQuery(this),tw_name=this_element.attr('data-tw_name'),tw_count=this_element.attr('data-tw_count');this_element.tweet({username:tw_name,join_text:"auto",avatar_size:0,count:tw_count,template:"{avatar}{join}{text}{time}",auto_join_text_default:"",auto_join_text_ed:"",auto_join_text_ing:"",auto_join_text_reply:"",auto_join_text_url:"",loading_text:'<span class="loading_tweets">loading tweets...</span>'});});};}
1277if(typeof window['vc_googleplus']!=='function'){window.vc_googleplus=function(){if(jQuery('.wpb_googleplus').length>0){(function(){var po=document.createElement('script');po.type='text/javascript';po.async=true;po.src='https://apis.google.com/js/plusone.js';var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(po,s);})();}}}
1278if(typeof window['vc_pinterest']!=='function'){window.vc_pinterest=function(){if(jQuery('.wpb_pinterest').length>0){(function(){var po=document.createElement('script');po.type='text/javascript';po.async=true;po.src='http://assets.pinterest.com/js/pinit.js';var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(po,s);})();}}}
1279if(typeof window['vc_progress_bar']!=='function'){window.vc_progress_bar=function(){if(typeof jQuery.fn.waypoint!=='undefined'){jQuery('.vc_progress_bar').waypoint(function(){jQuery(this).find('.vc_single_bar').each(function(index){var $this=jQuery(this),bar=$this.find('.vc_bar'),val=bar.data('percentage-value');setTimeout(function(){bar.css({"width":val+'%'});},index*200);});},{offset:'85%'});}}}
1280if(typeof window['vc_waypoints']!=='function'){window.vc_waypoints=function(){if(typeof jQuery.fn.waypoint!=='undefined'){jQuery('.wpb_animate_when_almost_visible:not(.wpb_start_animation)').waypoint(function(){jQuery(this).addClass('wpb_start_animation');},{offset:'85%'});}}}
1281if(typeof window['vc_toggleBehaviourOld']!=='function'){window.vc_toggleBehaviourOld=function(){jQuery(".wpb_toggle").unbind('click').click(function(e){if(jQuery(this).next().is(':animated')){return false;}
1282if(jQuery(this).hasClass('wpb_toggle_title_active')){jQuery(this).removeClass('wpb_toggle_title_active').next().slideUp(500);}else{jQuery(this).addClass('wpb_toggle_title_active').next().slideDown(500);}});
1282jQuery('.wpb_toggle_content').each(function(index){if(jQuery(this).next().is('h4.wpb_toggle')==false){jQuery('<div class="last_toggle_el_margin"></div>').insertAfter(this);}});}}
1283if(typeof window['vc_toggleBehaviour']!=='function'){window.vc_toggleBehaviour=function($el){var event=function(e){e&&e.preventDefault&&e.preventDefault();var title=jQuery(this);var element=title.closest('.vc_toggle');var content=element.find('.vc_toggle_content');if(element.hasClass('vc_toggle_active')){content.slideUp({duration:300,complete:function(){element.removeClass('vc_toggle_active');}});}else{content.slideDown({duration:300,complete:function(){element.addClass('vc_toggle_active');}});}};if($el){if($el.hasClass('vc_toggle_title')){$el.unbind('click').click(event);}else{$el.find(".vc_toggle_title").unbind('click').click(event);}}else{jQuery(".vc_toggle_title").unbind('click').on('click',event);}}}
1284if(typeof window['vc_tabsBehaviour']!=='function'){window.vc_tabsBehaviour=function($tab){if(jQuery.ui){var $call=$tab||jQuery('.wpb_tabs, .wpb_tour'),ver=jQuery.ui&&jQuery.ui.version?jQuery.ui.version.split('.'):'1.10',old_version=parseInt(ver[0])==1&&parseInt(ver[1])<9;$call.each(function(index){var $tabs,interval=jQuery(this).attr("data-interval"),tabs_array=[];$tabs=jQuery(this).find('.wpb_tour_tabs_wrapper').tabs({show:function(event,ui){wpb_prepare_tab_content(event,ui);},beforeActivate:function(event,ui){ui.newPanel.index()!==1&&ui.newPanel.find('.vc_pie_chart:not(.vc_ready)');},activate:function(event,ui){wpb_prepare_tab_content(event,ui);}});if(interval&&interval>0){try{$tabs.tabs('rotate',interval*1000);}catch(e){window.console&&window.console.log&&console.log(e);}}
1285jQuery(this).find('.wpb_tab').each(function(){tabs_array.push(this.id);});jQuery(this).find('.wpb_tabs_nav li').click(function(e){e.preventDefault();if(old_version){$tabs.tabs("select",jQuery('a',this).attr('href'));}else{$tabs.tabs("option","active",jQuery(this).index());}
1286return false;});jQuery(this).find('.wpb_prev_slide a, .wpb_next_slide a').click(function(e){e.preventDefault();if(old_version){var index=$tabs.tabs('option','selected');if(jQuery(this).parent().hasClass('wpb_next_slide')){index++;}
1287else{index--;}
1288if(index<0){index=$tabs.tabs("length")-1;}
1289else if(index>=$tabs.tabs("length")){index=0;}
1290$tabs.tabs("select",index);}else{var index=$tabs.tabs("option","active"),length=$tabs.find('.wpb_tab').length;if(jQuery(this).parent().hasClass('wpb_next_slide')){index=(index+1)>=length?0:index+1;}else{index=index-1<0?length-1:index-1;}
1291$tabs.tabs("option","active",index);}});});}}};if(typeof window['vc_accordionBehaviour']!=='function'){window.vc_accordionBehaviour=function(){jQuery('.wpb_accordion').each(function(index){var $this=jQuery(this);var $tabs,interval=$this.attr("data-interval"),active_tab=!isNaN(jQuery(this).data('active-tab'))&&parseInt($this.data('active-tab'))>0?parseInt($this.data('active-tab'))-1:false,collapsible=active_tab===false||$this.data('collapsible')==='yes';$tabs=$this.find('.wpb_accordion_wrapper').accordion({header:"> div > h3",autoHeight:false,heightStyle:"content",active:active_tab,collapsible:collapsible,navigation:true,activate:vc_accordionActivate,change:function(event,ui){if(jQuery.fn.isotope!=undefined){ui.newContent.find('.isotope').isotope("layout");}
1292vc_carouselBehaviour(ui.newPanel);}});if(true===$this.data('vcDisableKeydown')){$tabs.data('uiAccordion')._keydown=function(){};}});}}
1293if(typeof window['vc_teaserGrid']!=='function'){window.vc_teaserGrid=function(){var layout_modes={fitrows:'fitRows',masonry:'masonry'};jQuery('.wpb_grid .teaser_grid_container:not(.wpb_carousel), .wpb_filtered_grid .teaser_grid_container:not(.wpb_carousel)').each(function(){var $container=jQuery(this);var $thumbs=$container.find('.wpb_thumbnails');var layout_mode=$thumbs.attr('data-layout-mode');$thumbs.isotope({itemSelector:'.isotope-item',layoutMode:(layout_modes[layout_mode]==undefined?'fitRows':layout_modes[layout_mode])});$container.find('.categories_filter a').data('isotope',$thumbs).click(function(e){e.preventDefault();var $thumbs=jQuery(this).data('isotope');jQuery(this).parent().parent().find('.active').removeClass('active');jQuery(this).parent().addClass('active');$thumbs.isotope({filter:jQuery(this).attr('data-filter')});});jQuery(window).bind('load resize',function(){$thumbs.isotope("layout");});});}}
1294if(typeof window['vc_carouselBehaviour']!=='function'){window.vc_carouselBehaviour=function($parent){var $carousel=$parent?$parent.find(".wpb_carousel"):jQuery(".wpb_carousel");$carousel.each(function(){var $this=jQuery(this);if($this.data('carousel_enabled')!==true&&$this.is(':visible')){$this.data('carousel_enabled',true);var carousel_width=jQuery(this).width(),visible_count=getColumnsCount(jQuery(this)),carousel_speed=500;if(jQuery(this).hasClass('columns_count_1')){carousel_speed=900;}
1295var carousele_li=jQuery(this).find('.wpb_thumbnails-fluid li');carousele_li.css({"margin-right":carousele_li.css("margin-left"),"margin-left":0});jQuery(this).find('.wpb_wrapper:eq(0)').jCarouselLite({btnNext:jQuery(this).find('.next'),btnPrev:jQuery(this).find('.prev'),visible:visible_count,speed:carousel_speed}).width('100%');var fluid_ul=jQuery(this).find('ul.wpb_thumbnails-fluid');fluid_ul.width(fluid_ul.width()+300);jQuery(window).resize(function(){var before_resize=screen_size;screen_size=getSizeName();if(before_resize!=screen_size){window.setTimeout('location.reload()',20);}}
1295);}});}}
1296if(typeof window['vc_slidersBehaviour']!=='function'){window.vc_slidersBehaviour=function(){jQuery('.wpb_gallery_slides').each(function(index){var this_element=jQuery(this);var ss_count=0,$imagesGrid;if(this_element.hasClass('wpb_slider_nivo')){var sliderSpeed=800,sliderTimeout=this_element.attr('data-interval')*1000;if(sliderTimeout==0){sliderTimeout=9999999999;}
1297this_element.find('.nivoSlider').nivoSlider({effect:'boxRainGrow,boxRain,boxRainReverse,boxRainGrowReverse',slices:15,boxCols:8,boxRows:4,animSpeed:sliderSpeed,pauseTime:sliderTimeout,startSlide:0,directionNav:true,directionNavHide:true,controlNav:true,keyboardNav:false,pauseOnHover:true,manualAdvance:false,prevText:'Prev',nextText:'Next'});}
1298else if(this_element.hasClass('wpb_image_grid')){if(jQuery.fn.imagesLoaded){$imagesGrid=this_element.find('.wpb_image_grid_ul').imagesLoaded(function(){$imagesGrid.isotope({itemSelector:'.isotope-item',layoutMode:'fitRows'});});}else{this_element.find('.wpb_image_grid_ul').isotope({itemSelector:'.isotope-item',layoutMode:'fitRows'});}}});}}
1299if(typeof window['vc_prettyPhoto']!=='function'){window.vc_prettyPhoto=function(){try{if(jQuery&&jQuery.fn&&jQuery.fn.prettyPhoto){jQuery('a.prettyphoto, .gallery-icon a[href*=".jpg"]').prettyPhoto({animationSpeed:'normal',padding:15,opacity:0.7,showTitle:true,allowresize:true,counter_separator_label:'/',hideflash:false,deeplinking:false,modal:false,callback:function(){var url=location.href;var hashtag=(url.indexOf('#!prettyPhoto'))?true:false;if(hashtag){location.hash="!";}},social_tools:''});}}catch(err){window.console&&window.console.log&&console.log(err);}}}
1300if(typeof window['vc_google_fonts']!=='function'){window.vc_google_fonts=function(){return false;}}
1301window.vcParallaxSkroll=false;if(typeof window['vc_rowBehaviour']!=='function'){window.vc_rowBehaviour=function(){var $=window.jQuery;var local_function=function(){var $elements=$('[data-vc-full-width="true"]');$.each($elements,function(key,item){var $el=$(this);var $el_full=$el.next('.vc_row-full-width');var el_margin_left=parseInt($el.css('margin-left'),10);var el_margin_right=parseInt($el.css('margin-right'),10);var offset=0-$el_full.offset().left-el_margin_left;var width=$(window).width();$el.css({'position':'relative','left':offset,'box-sizing':'border-box','width':$(window).width()});if(!$el.data('vcStretchContent')){var padding=(-1*offset);if(padding<0){padding=0;}
1302var paddingRight=width-padding-$el_full.width()+el_margin_left+el_margin_right;if(paddingRight<0){paddingRight=0;}
1303$el.css({'padding-left':padding+'px','padding-right':paddingRight+'px'});}
1304$el.attr("data-vc-full-width-init","true");});};var parallaxRow=function(){var vcSkrollrOptions,callSkrollInit=false;if(vcParallaxSkroll){vcParallaxSkroll.destroy();}
1305$('.vc_parallax-inner').remove();$('[data-5p-top-bottom]').removeAttr('data-5p-top-bottom data-30p-top-bottom');$('[data-vc-parallax]').each(function(){var skrollrSpeed,skrollrSize,skrollrStart,skrollrEnd,$parallaxElement,parallaxImage,youtubeId;callSkrollInit=true;if($(this).data('vcParallaxOFade')=='on'){$(this).children().attr('data-5p-top-bottom','opacity:0;').attr('data-30p-top-bottom','opacity:1;');}
1306skrollrSize=$(this).data('vcParallax')*100;$parallaxElement=$('<div />').addClass('vc_parallax-inner').appendTo($(this));$parallaxElement.height(skrollrSize+'%');parallaxImage=$(this).data('vcParallaxImage');youtubeId=vcExtractYoutubeId(parallaxImage);if(youtubeId){insertYoutubeVideoAsBackground($parallaxElement,youtubeId);}else if(parallaxImage!==undefined){$parallaxElement.css('background-image','url('+parallaxImage+')');}
1307skrollrSpeed=skrollrSize-100;skrollrStart=-skrollrSpeed;skrollrEnd=0;$parallaxElement.attr('data-bottom-top','top: '+skrollrStart+'%;').attr('data-top-bottom','top: '+skrollrEnd+'%;');});if(callSkrollInit&&window.skrollr){vcSkrollrOptions={forceHeight:false,smoothScrolling:false,mobileCheck:function(){return false;}};vcParallaxSkroll=skrollr.init(vcSkrollrOptions);return vcParallaxSkroll;}
1308return false;};var fullHeightRow=function(){$('.vc_row-o-full-height:first').each(function(){var $window,windowHeight,offsetTop,fullHeight;$window=$(window);windowHeight=$window.height();offsetTop=$(this).offset().top;if(offsetTop<windowHeight){fullHeight=100-offsetTop/(windowHeight/100);$(this).css('min-height',fullHeight+'vh');}});};$(window).unbind('resize.vcRowBehaviour').bind('resize.vcRowBehaviour',local_function);$(window).bind('resize.vcRowBehaviour',fullHeightRow);local_function();fullHeightRow();
1308initVideoBackgrounds();parallaxRow();}}
1309if(typeof window['vc_gridBehaviour']!=='function'){window.vc_gridBehaviour=function(){jQuery.fn.vcGrid&&jQuery('[data-vc-grid]').vcGrid();}}
1310if(typeof window['getColumnsCount']!=='function'){window.getColumnsCount=function(el){var find=false,i=1;while(find==false){if(el.hasClass('columns_count_'+i)){find=true;return i;}
1311i++;}}}
1312var screen_size=getSizeName();function getSizeName(){var screen_size='',screen_w=jQuery(window).width();if(screen_w>1170){screen_size="desktop_wide";}
1313else if(screen_w>960&&screen_w<1169){screen_size="desktop";}
1314else if(screen_w>768&&screen_w<959){screen_size="tablet";}
1315else if(screen_w>300&&screen_w<767){screen_size="mobile";}
1316else if(screen_w<300){screen_size="mobile_portrait";}
1317return screen_size;}
1318function loadScript(url,$obj,callback){var script=document.createElement("script");script.type="text/javascript";if(script.readyState){script.onreadystatechange=function(){if(script.readyState=="loaded"||script.readyState=="complete"){script.onreadystatechange=null;callback();}};}else{}
1319script.src=url;$obj.get(0).appendChild(script);}
1320if(typeof window['wpb_prepare_tab_content']!=='function'){window.wpb_prepare_tab_content=function(event,ui){var panel=ui.panel||ui.newPanel,$pie_charts=panel.find('.vc_pie_chart:not(.vc_ready)'),$round_charts=panel.find('.vc_round-chart'),$line_charts=panel.find('.vc_line-chart'),$carousel=panel.find('[data-ride="vc_carousel"]'),$ui_panel,$google_maps;vc_carouselBehaviour();vc_plugin_flexslider(panel);if(ui.newPanel.find('.vc_masonry_media_grid, .vc_masonry_grid').length){ui.newPanel.find('.vc_masonry_media_grid, .vc_masonry_grid').each(function(){var grid=jQuery(this).data('vcGrid');grid&&grid.gridBuilder&&grid.gridBuilder.setMasonry&&grid.gridBuilder.setMasonry();});}
1321if(panel.find('.vc_masonry_media_grid, .vc_masonry_grid').length){panel.find('.vc_masonry_media_grid, .vc_masonry_grid').each(function(){var grid=jQuery(this).data('vcGrid');grid&&grid.gridBuilder&&grid.gridBuilder.setMasonry&&grid.gridBuilder.setMasonry();});}
1322$pie_charts.length&&jQuery.fn.vcChat&&$pie_charts.vcChat();$round_charts.length&&jQuery.fn.vcRoundChart&&$round_charts.vcRoundChart({reload:false});$line_charts.length&&jQuery.fn.vcLineChart&&$line_charts.vcLineChart({reload:false});$carousel.length&&jQuery.fn.carousel&&$carousel.carousel('resizeAction');$ui_panel=panel.find('.isotope, .wpb_image_grid_ul');$google_maps=panel.find('.wpb_gmaps_widget');if($ui_panel.length>0){$ui_panel.isotope("layout");}
1323if($google_maps.length&&!$google_maps.is('.map_ready')){var $frame=$google_maps.find('iframe');$frame.attr('src',$frame.attr('src'));$google_maps.addClass('map_ready');}
1324if(panel.parents('.isotope').length){panel.parents('.isotope').each(function(){jQuery(this).isotope("layout");});}}}
1325var vc_ttaActivation=function(){jQuery('[data-vc-accordion]').on('show.vc.accordion',function(e){var $=window.jQuery,ui={};ui.newPanel=$(this).data('vc.accordion').getTarget();window.wpb_prepare_tab_content(e,ui);});};var vc_accordionActivate=function(event,ui){if(ui.newPanel.length&&ui.newHeader.length){var $pie_charts=ui.newPanel.find('.vc_pie_chart:not(.vc_ready)'),$round_charts=ui.newPanel.find('.vc_round-chart'),$line_charts=ui.newPanel.find('.vc_line-chart'),$carousel=ui.newPanel.find('[data-ride="vc_carousel"]');if(jQuery.fn.isotope!=undefined){ui.newPanel.find('.isotope, .wpb_image_grid_ul').isotope("layout");}
1326if(ui.newPanel.find('.vc_masonry_media_grid, .vc_masonry_grid').length){ui.newPanel.find('.vc_masonry_media_grid, .vc_masonry_grid').each(function(){var grid=jQuery(this).data('vcGrid');grid&&grid.gridBuilder&&grid.gridBuilder.setMasonry&&grid.gridBuilder.setMasonry();});}
1327vc_carouselBehaviour(ui.newPanel);vc_plugin_flexslider(ui.newPanel);$pie_charts.length&&jQuery.fn.vcChat&&$pie_charts.vcChat();$round_charts.length&&jQuery.fn.vcRoundChart&&$round_charts.vcRoundChart({reload:false});$line_charts.length&&jQuery.fn.vcLineChart&&$line_charts.vcLineChart({reload:false});$carousel.length&&jQuery.fn.carousel&&$carousel.carousel('resizeAction');if(ui.newPanel.parents('.isotope').length){ui.newPanel.parents('.isotope').each(function(){jQuery(this).isotope("layout");});}}};
1327function initVideoBackgrounds(){jQuery('.vc_row').each(function(){var $row=jQuery(this),youtubeUrl,youtubeId;if($row.data('vcVideoBg')){youtubeUrl=$row.data('vcVideoBg');youtubeId=vcExtractYoutubeId(youtubeUrl);if(youtubeId){$row.find('.vc_video-bg').remove();insertYoutubeVideoAsBackground($row,youtubeId);}
1328jQuery(window).on('grid:items:added',function(event,$grid){if(!$row.has($grid).length){return;}
1329vcResizeVideoBackground($row);});}else{$row.find('.vc_video-bg').remove();}});}
1330function insertYoutubeVideoAsBackground($element,youtubeId,counter){if('undefined'===typeof(YT.Player)){counter='undefined'===typeof(counter)?0:counter;if(counter>100){console.warn('Too many attempts to load YouTube api');return;}
1331setTimeout(function(){insertYoutubeVideoAsBackground($element,youtubeId,counter++);},100);return;}
1332var player,$container=$element.prepend('<div class="vc_video-bg"><div class="inner"></div></div>').find('.inner');player=new YT.Player($container[0],{width:'100%',height:'100%',videoId:youtubeId,playerVars:{playlist:youtubeId,iv_load_policy:3,enablejsapi:1,disablekb:1,autoplay:1,controls:0,showinfo:0,rel:0,loop:1},events:{onReady:function(event){event.target.mute().setLoop(true);}}});vcResizeVideoBackground($element);jQuery(window).bind('resize',function(){vcResizeVideoBackground($element);});}
1333function vcResizeVideoBackground($element){var iframeW,iframeH,marginLeft,marginTop,containerW=$element.innerWidth(),containerH=$element.innerHeight(),ratio1=16,ratio2=9;if((containerW/containerH)<(ratio1/ratio2)){iframeW=containerH*(ratio1/ratio2);iframeH=containerH;marginLeft=-Math.round((iframeW-containerW)/2)+'px';marginTop=-Math.round((iframeH-containerH)/2)+'px';iframeW+='px';iframeH+='px';}else{iframeW=containerW;iframeH=containerW*(ratio2/ratio1);marginTop=-Math.round((iframeH-containerH)/2)+'px';marginLeft=-Math.round((iframeW-containerW)/2)+'px';iframeW+='px';iframeH+='px';}
1334$element.find('.vc_video-bg iframe').css({maxWidth:'1000%',marginLeft:marginLeft,marginTop:marginTop,width:iframeW,height:iframeH});}
1335function vcExtractYoutubeId(url){if('undefined'===typeof(url)){return false;}
1336var id=url.match(/(?:https?:\/{2})?(?:w{3}\.)?youtu(?:be)?\.(?:com|be)(?:\/watch\?v=|\/)([^\s&]+)/);if(null!=id){return id[1];}
1337return false;};
1338window.defineYetience=function(yetience_callback){if(!window.yetience){window.yetience={}};window.yetience.fileLoader={script:function(src,callback){var s=document.createElement('script');s.setAttribute('src',src);s.onload=window.yetience.callBackAfterDelay(callback);document.body.appendChild(s);},style:function(href,callback){var styles=document.createElement('link');styles.rel='stylesheet';styles.type='text/css';styles.media='screen';styles.href=href;document.getElementsByTagName('head')[0].appendChild(styles);styles.onload=window.yetience.callBackAfterDelay(callback);}};window.yetience.callBackAfterDelay=function(cb){return function(){setTimeout(function(){cb()},0)}};window.yetience.fileSuffix={script:'.js',style:'.css'};window.yetience.loadApp=function(prefix,callback){window.yetience.loadGroups(prefix,window.yetience.scripts,'script',function(){window.yetience.loadGroups(prefix,window.yetience.styles,'style',function(){callback()
1339if(typeof Autience!='undefined'&&Autience){Autience.utils.emitAutienceEvent('load')}})})};window.yetience.loadGroups=function(prefix,script_groups,type,done){if(script_groups&&script_groups.length>0){addGroup(0)}else{done()}
1340function addGroup(group_i){loadScriptGroup(script_groups[group_i],function(){if(group_i<script_groups.length-1){addGroup(group_i+1)}else{done()}})};function loadScriptGroup(group,group_callback){if(group){addItem(0)}else{group_callback()}
1341function addItem(script_i){var src=prefix+group.base+'/'+group.items[script_i]+window.yetience.valueOrBlank(group.suffix)+window.yetience.fileSuffix[type]
1342window.yetience.fileLoader[type](src,function(){if(script_i<group.items.length-1){addItem(script_i+1)}else{group_callback()}})}}};window.yetience.valueOrBlank=function(value){if(value)
1343return value
1344else
1345return''};window.yetience.ajax=function(url,method,data,success,failure){if(!this.xhr){this.xhr=window.ActiveX?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();}
1346var self=this.xhr
1347self.onreadystatechange=function(){if(self.readyState===4&&self.status===200){if(success){success(self.responseText)}}else if(self.readyState===4){if(failure){failure()}}}
1348this.xhr.open(method,url,true)
1349this.xhr.setRequestHeader("Content-Type","application/json")
1350if(data){this.xhr.send(JSON.stringify(data))}else{this.xhr.send()}};window.yetience.browserVersion=function(){var browser_data={}
1351var OSName="Unknown OS";if(navigator.appVersion.indexOf("Win")!=-1)OSName="Windows";if(navigator.appVersion.indexOf("Mac")!=-1)OSName="MacOS";if(navigator.appVersion.indexOf("X11")!=-1)OSName="UNIX";if(navigator.appVersion.indexOf("Linux")!=-1)OSName="Linux";browser_data.OS=OSName;navigator.sayswho=(function(){var N=navigator.appName,ua=navigator.userAgent,tem;var M=ua.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i);if(M&&(tem=ua.match(/version\/([\.\d]+)/i))!=null)M[2]=tem[1];M=M?[M[1],M[2]]:[N,navigator.appVersion,'-?'];return M;})();browser_data.browser_version=navigator.sayswho;return browser_data;};window.yetience.sendEvent=function(event,website_id,data){if(!data){data={}}
1352data.source="browser"
1353data.version=window.yetience.version
1354data.path=window.location.href
1355data.wordpress_version=window.yetience.wordpress_version;var browser_data=window.yetience.browserVersion()
1356data.browser_version=browser_data.browser_version;data.OS=browser_data.OS
1357if(!website_id){var setup=window.yetience.readFromPlatform()
1358website_id=setup.id}
1359if(!website_id){return false}
1360var img=document.createElement("img");var image_url=window.yetience.server+'/track/api/EventLogs/image?event='+event+'&client_id='+website_id;image_url=image_url+'&time='+Date.now()
1361if(window.btoa){var encoded_data=window.btoa(JSON.stringify(data))
1362image_url=image_url+'&data='+encoded_data}
1363img.src=image_url
1364img.style.visibility='hidden'
1365document.body.appendChild(img);};window.onerror=function(message,source,lineno,colno,error){if(source.indexOf('client.min.js')>=0||source.indexOf('admin.min.js')>=0){data={}
1366data.message=message
1367data.source=source
1368data.lineno=lineno
1369data.colno=colno
1370data.error=error
1371var website_id='X',send_event=true
1372if(typeof Autience!=='undefined'&&Autience&&Autience.setup&&Autience.setup.id){website_id=Autience.setup.id
1373var now=Math.round(new Date().getTime()/1000);var six_hours=6*60*60
1374var created=Autience.utils.nestedValue(Autience,['setup','first_widget_time']);var time_gap=now-created
1375if(created&&time_gap>0&&time_gap<six_hours){send_event=true}else{send_event=false}}
1376if(send_event){window.yetience.sendEvent('d_client_error',website_id,data);}}};if(yetience_callback){yetience_callback()};};
1377window.loadYetience=function(yetience_callback){if(window.yetience&&window.yetience.path){window.yetience_load_app_called=true
1378window.yetience.loadApp(window.yetience.path+"/client",function(){window.yetience.all_scripts_loaded=true
1379if(yetience_callback){yetience_callback()}})}};
1380var Autience = null
1381window.defineAutience = function (autience_callback) {
1382    var cycle = null,
1383        lifecycle = null
1384    var lifecycles = ['displayValidation', 'onPageLoad', 'render', 'postRender', 'display', 'beforeClose', 'close', 'afterClose']
1385    if (Autience != null) {
1386        return
1387    }
1388    Autience = {
1389        lifecycle: {},
1390        utils: {},
1391        listeners: [],
1392        emitted: {},
1393        executors: {},
1394        lifecycle_executed: false,
1395        yeloniTriggerPopup: function (widget_id) {
1396            var matching_widget = Autience.setup.widgets.filter(function (widget) {
1397                return widget.code == widget_id
1398            })
1399            if (matching_widget.length > 0) {
1400                matching_widget = matching_widget[0]
1401            }
1402            console.log('Triggering matching popup from customjs event')
1403            Autience.executors.displayWidget(matching_widget)
1404        },
1405        yeloniTriggerAllPopups: function () {
1406            console.log('Triggering all popups from customjs event')
1407            Autience.setup.widgets.map(function (widget) {
1408                Autience.executors.displayWidget(widget)
1409            })
1410        }
1411    }
1412    lifecycles.forEach(function (l) {
1413        Autience.lifecycle[l] = [function () {
1414            return true
1415        }]
1416    })
1417    Autience.executors.defineUtils = function () {
1418        Autience.utils.sendEvent = function (event, data) {
1419            return
1420            var now = Math.round(new Date().getTime() / 1000);
1421            var six_hours = 6 * 60 * 60
1422            var created = Autience.utils.nestedValue(Autience, ['setup', 'first_widget_time']);
1423            var time_gap = now - created
1424            var like_text = 'popup_day_'
1425            if (event == 'popup_liked') {
1426                var one_day = 1 * 24 * 60 * 60,
1427                    days_limit = 7,
1428                    sent_array = []
1429                var widget_time = data.widget_time
1430                time_gap = now - widget_time
1431                if (widget_time && time_gap > 0) {
1432                    var day = Math.ceil(time_gap / one_day)
1433                    if (sent_array.indexOf(day) < 0 && day <= days_limit) {
1434                        window.yetience.sendEvent(like_text + day, Autience.setup.id, data)
1435                        sent_array.push(day)
1436                    }
1437                }
1438            } else {
1439                if (created && time_gap > 0 && time_gap < six_hours) {
1440                    if (Autience.setup && Autience.setup.id) {
1441                        window.yetience.sendEvent(event, Autience.setup.id, data)
1442                    }
1443                }
1444            }
1445        }
1446        Autience.utils.emitAutienceEvent = function (eventName, forget) {
1447            eventName = "autience_" + eventName
1448            if (!Autience.emitted[eventName]) {
1449                var event; // The custom event that will be created
1450                if (document.createEvent) {
1451                    event = document.createEvent("HTMLEvents");
1452                    event.initEvent(eventName, true, true);
1453                } else {
1454                    event = document.createEventObject();
1455                    event.eventType = eventName;
1456                }
1457                event.eventName = eventName;
1458                if (document.createEvent) {
1459                    document.dispatchEvent(event);
1460                } else {
1461                    document.fireEvent("on" + event.eventType, event);
1462                }
1463                if (eventName == 'autience_load' || eventName == 'autience_exit') {
1464                }
1465                if (!forget) {
1466                    Autience.emitted[eventName] = true
1467                }
1468            }
1469        }
1470        Autience.utils.listenAutienceEvent = function (eventName, fn) {
1471            var autience_event = "autience_" + eventName
1472            Autience.utils.listen(document, autience_event, fn)
1473        }
1474        Autience.utils.delayedListenAutienceEvent = function (autience_event, delay, fn) {
1475            Autience.listenAutienceEvent(autience_event, function () {
1476                setTimeout(fn, delay)
1477            })
1478        }
1479        Autience.utils.getDocHeight = function () {
1480            var D = document
1481            return Math.max(
1482                D.body.scrollHeight, D.documentElement.scrollHeight,
1483                D.body.offsetHeight, D.documentElement.offsetHeight,
1484                D.body.clientHeight, D.documentElement.clientHeight
1485            )
1486        }
1487        Autience.utils.createCookie = function (name, value, permanent) {
1488            var cookie = name + "=" + value + ";path=/"
1489            if (permanent) {
1490                var expiration_date = new Date();
1491                expiration_date.setFullYear(expiration_date.getFullYear() + 5);
1492                cookie = cookie + ";expires=" + expiration_date.toGMTString()
1493            }
1494            document.cookie = cookie
1495        }
1496        Autience.utils.readCookie = function (name) {
1497            var nameEQ = name + "=";
1498            var ca = document.cookie.split(';');
1499            for (var i = 0; i < ca.length; i++) {
1500                var c = ca[i];
1501                while (c.charAt(0) == ' ') c = c.substring(1, c.length);
1502                if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
1503            }
1504            return null;
1505        }
1506        Autience.utils.executeOnClass = function (class_name, fn) {
1507            var els = document.getElementsByClassName(class_name)
1508            if (els) {
1509                for (var i = 0; i < els.length; i++) {
1510                    fn(els[i])
1511                }
1512            }
1513        }
1514        Autience.utils.executeOnId = function (id, fn) {
1515            var el = document.getElementById(id)
1516            if (el) {
1517                fn(el)
1518            }
1519        }
1520        Autience.utils.idListen = function (id, event, fn) {
1521            Autience.utils.executeOnId(id, function (el) {
1522                Autience.utils.listen(el, event, fn)
1523            })
1524        }
1525        Autience.utils.classListen = function (class_name, evt, fn) {
1526            Autience.utils.executeOnClass(class_name, function (el) {
1527                Autience.utils.listen(el, 'click', fn)
1528            })
1529        }
1530        Autience.utils.cycle = function (fn_array, widget) {
1531            if (fn_array) {
1532                for (var i = 0; i < fn_array.length; i++) {
1533                    fn_array[i](widget)
1534                }
1535            }
1536        }
1537        Autience.utils.checkCycle = function (fn_array, inp) {
1538            if (fn_array) {
1539                for (var i = 0; i < fn_array.length; i++) {
1540                    if (!fn_array[i](inp)) {
1541                        return false
1542                    }
1543                }
1544            }
1545            return true
1546        }
1547        Autience.utils.smartSetting = function (extension, key) {
1548            if (autience_settings && autience_settings.smart && autience_settings.smart[extension]) {
1549                return autience_settings.smart[extension][key]
1550            }
1551        }
1552        Autience.utils.closeWidget = function (widget) {
1553            Autience.utils.cycle(Autience.lifecycle.close, widget)
1554            Autience.utils.cycle(Autience.lifecycle.afterClose, widget)
1555            Autience.utils.sendEvent('popup_closed');
1556        }
1557        Autience.utils.decode = function (s) {
1558            if (window.atob) {
1559                try {
1560                    var decoded = window.atob(s)
1561                    return decoded
1562                } catch (err) {
1563                    return alternateDecode(s)
1564                }
1565            }
1566            function alternateDecode(s) {
1567                if (!s || s.length == 0) {
1568                    return ''
1569                }
1570                var e = {},
1571                    i, b = 0,
1572                    c, x, l = 0,
1573                    a, r = '',
1574                    w = String.fromCharCode,
1575                    L = s.length;
1576                var A = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
1576+/";
1577                for (i = 0; i < 64; i++) {
1578                    e[A.charAt(i)] = i;
1579                }
1580                for (x = 0; x < L; x++) {
1581                    c = e[s.charAt(x)];
1582                    b = (b << 6) + c;
1583                    l += 6;
1584                    while (l >= 8) {
1585                        ((a = (b >>> (l -= 8)) & 0xff) || (x < (L - 2))) && (r += w(a));
1586                    }
1587                }
1588                return r;
1589            }
1590        }
1591        Autience.utils.nestedValue = function (obj, fields) {
1592            var nested = obj
1593            for (var i = 0; i < fields.length; i++) {
1594                nested = nested[fields[i]]
1595                if (typeof nested == 'undefined') {
1596                    return null
1597                }
1598            }
1599            return nested
1600        }
1601        Autience.utils.stripAndExecuteScript = function (text) {
1602            var scripts = '';
1603            var cleaned = text.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi, function () {
1604                scripts += arguments[1] + '\n';
1605                return '';
1606            });
1607            if (window.execScript) {
1608                window.execScript(scripts);
1609            } else {
1610                var head = document.getElementsByTagName('head')[0];
1611                var scriptElement = document.createElement('script');
1612                scriptElement.setAttribute('type', 'text/javascript');
1613                scriptElement.innerText = scripts;
1614                head.appendChild(scriptElement);
1615                head.removeChild(scriptElement);
1616            }
1617            return cleaned;
1618        }
1619        Autience.utils.emitLinkClick = function (url, target, evt) {
1620            Autience.current_link = url
1621            Autience.current_target = target
1622            var host = window.location.host
1623            var host_without_www = host.replace('www.', '')
1624            var host_with_www = 'www.' + host
1625            if (url.indexOf('javascript') > -1) {
1626                return
1627            }
1628            if (url.indexOf(host) >= 0 || url.indexOf(host_with_www) >= 0 || url.indexOf(host_without_www) >= 0) {
1629                emitAndDisableRedirect('internal')
1630            } else {
1631                emitAndDisableRedirect('external')
1632            }
1633            emitAndDisableRedirect('any')
1634            emitAndDisableRedirect('custom')
1635            function emitAndDisableRedirect(type) {
1636                Autience.clickEvent = evt
1637                Autience.utils.emitAutienceEvent('link_' + type, true)
1638                if (Autience['disable_link_' + type]) {
1639                    console.log('Disable link redirection for ', 'disable_link_' + type)
1640                }
1641            }
1642        }
1643        Autience.utils.redirect = function (url, target) {
1644            if (!target) {
1645                window.location = url
1646            } else {
1647                window.open(url, target);
1648            }
1649        }
1650        Autience.utils.isDefined = function (a) {
1651            return (typeof a != 'undefined')
1652        }
1653        Autience.utils.isMobile = function () {
1654            if (/Mobi/.test(navigator.userAgent)) {
1655                return true
1656            }
1657            return false
1658        }
1659        Autience.utils.randomString = function () {
1660            var text = "";
1661            var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
1662            for (var i = 0; i < 5; i++)
1663                text += possible.charAt(Math.floor(Math.random() * possible.length));
1664            return text;
1665        }
1666        Autience.utils.hasFeature = function (feature) {
1667            if (Autience.setup && Autience.setup.package_id != 'default') {
1668                return true
1669            }
1670            if (Autience.utils.nestedValue(Autience, ['setup', 'extensions', 'premiumSubscription'])) {
1671                return true
1672            }
1673            if (Autience.utils.nestedValue(Autience, ['setup', 'extensions', feature])) {
1674                return true
1675            }
1676            return false
1677        }
1678    }
1679    Autience.executors.defineListeners = function () {
1680        Autience.listeners = [{
1681            target: document,
1682            trigger: 'scroll',
1683            reaction: function () {
1684                var ratio = (window.innerHeight + window.scrollY) / (Autience.utils.getDocHeight());
1685                var percentage = 25 * Math.floor(ratio * 4.1) //percentage is in multiples of 25
1686                Autience.utils.emitAutienceEvent('scroll_' + percentage)
1687            },
1688            target_name: 'document'
1689        }, {
1690            target: document.body,
1691            trigger: 'mouseout',
1692            reaction: function (e) {
1693                e = e ? e : window.event;
1694                var from = e.relatedTarget || e.toElement;
1695                if ((!from || from.nodeName == "HTML") && (!e.clientY || (e.clientY <= 0))) {
1696                    Autience.utils.emitAutienceEvent('exit')
1697                }
1698            },
1699            target_name: 'body'
1700        }, {
1701            target: document.getElementsByTagName('a'),
1702            trigger: 'click',
1703            reaction: function (evt_obj, evt_name, el) {
1704                Autience.utils.emitLinkClick(el.href, el.getAttribute('target'), evt_obj)
1705            },
1706            target_name: 'links'
1707        }, {
1708            target: window,
1709            trigger: 'hashchange',
1710            reaction: function (evt_obj, evt_name, el) {
1711                if (Autience.hash_set) {
1712                    Autience.utils.emitAutienceEvent('back')
1713                }
1714            },
1715            target_name: 'window'
1716        }, {
1717            target: window,
1718            trigger: 'popstate',
1719            reaction: function (evt_obj, evt_name, el) {
1720                Autience.utils.emitAutienceEvent('back')
1721            },
1722            target_name: 'window'
1723        }]
1724    }
1725    Autience.executors.bindListeners = function () {
1726        var listener = null,
1727            triggers = null
1728        Autience.listeners.forEach(function (listener) {
1729            if (typeof listener.trigger === 'string') {
1730                triggers = [listener.trigger]
1731            } else {
1732                triggers = listener.trigger
1733            }
1734            triggers.forEach(function (trigger) {
1735                if (listener.target.length) {
1736                    for (var i in listener.target) {
1737                        Autience.utils.listen(listener.target[i], trigger, listener.reaction)
1738                    }
1739                } else {
1740                    Autience.utils.listen(listener.target, trigger, listener.reaction, listener.target_name)
1741                }
1742            })
1743        })
1744    }
1745    Autience.executors.displayWidget = function (widget) {
1746        console.log('Call for displayWidget')
1747        Autience.utils.cycle(Autience.lifecycle.display, widget)
1748    }
1749    Autience.executors.runWidgetCycle = function (widget) {
1750        var cycle = Autience.utils.cycle
1751        if (Autience.utils.checkCycle(lifecycle.displayValidation, widget)) {
1752            cycle(lifecycle.onPageLoad, widget)
1753            cycle(lifecycle.render, widget)
1754            cycle(lifecycle.postRender, widget)
1755        }
1756    }
1757    Autience.executors.runLifecycles = function () {
1758        if (Autience.lifecycle_executed) {
1759            return
1760        }
1761        if (window.autience_setup) {
1762            Autience.lifecycle_executed = true
1763            Autience.setup = JSON.parse(decodeURIComponent(Autience.utils.decode(autience_setup))
1763)
1764            Autience.setup.widgets.forEach(function (widget) {
1765                Autience.executors.runWidgetCycle(widget)
1766            })
1767        } else {
1768        }
1769    }
1770    lifecycle = Autience.lifecycle
1771    function assignAutienceListen(callback) {
1772        if (window.autience_listen) {
1773            Autience.utils.listen = window.autience_listen
1774            if (callback) {
1775                callback()
1776            }
1777        } else {
1778            setTimeout(function () {
1779                assignAutienceListen(callback)
1780            }, 500)
1781        }
1782    }
1783    assignAutienceListen(function () {
1784        Autience.executors.defineUtils()
1785        Autience.executors.defineListeners()
1786        Autience.executors.bindListeners()
1787        if (autience_callback) {
1788            autience_callback()
1789        }
1790    })
1791};
1792window.defineAutienceWhen = function (yetience_callback) {
1793    Autience.lifecycle.display.push(function (widget) {
1794        if (document.getElementById(widget.code)) {
1795            var code = document.getElementById(widget.code).innerHTML
1796            if (code) {
1797                Autience.utils.sendEvent('d_popup_displayed');
1798                if (Autience.utils.nestedValue(widget, ['widget_time'])) {
1799                    Autience.utils.sendEvent('popup_liked', {
1800                        widget_time: widget.widget_time
1801                    });
1802                }
1803            } else {
1804                Autience.utils.sendEvent('popup_empty');
1805            }
1806        } else {
1807            console.log('Widget ' + widget.code + ' is not loaded')
1808        }
1809    })
1810    Autience.lifecycle.display.push(function (widget) {
1811        if (Autience.utils.nestedValue(widget, ['components', 'zopimChat']) && typeof $zopim !== 'undefined') {
1812            $zopim(function () {
1813                var yel_body_height = window.innerHeight
1814                var yel_body_width = window.innerWidth
1815                var yel_zopim_height = 400
1816                var yel_zopim_width = 310
1817                var yel_popup_offset = 76
1818                $zopim.livechat.window.show();
1819                var yel_loc = document.getElementById("yel-chat-wrapper").getBoundingClientRect();
1820                $zopim.livechat.window.setOffsetHorizontal(yel_body_width - yel_zopim_width - yel_loc.left - 5);
1821                $zopim.livechat.window.setOffsetVertical((yel_body_height - yel_zopim_height) - yel_popup_offset);
1822                if (yel_body_width < 767) {
1823                    $zopim.livechat.window.setOffsetVertical((yel_body_height - yel_zopim_height) - yel_loc.top);
1824                    $zopim.livechat.window.setOffsetHorizontal((yel_body_width - yel_zopim_width) / 2);
1825                }
1826            });
1827        }
1828    })
1829    Autience.lifecycle.onPageLoad.push(function (widget) {
1830        if (Autience.utils.nestedValue(widget, ['configuration', 'what', 'enable'])) {
1831            var when = widget.configuration.when
1832            var is_mobile = Autience.utils.isMobile()
1833            var different_for_mobiles = when.smallDifferent
1834            var device = 'large',
1835                delay = 0,
1836                links_to_match = null,
1837                prevent_redirect = false
1838            if (is_mobile && different_for_mobiles) {
1839                device = 'small'
1840            }
1841            var trigger = when[device]
1842            var autience_event = trigger
1843            switch (trigger) {
1844                case 'scroll':
1845                    autience_event = 'scroll_' + when.scroll[device]
1846                    break
1847                case 'delay':
1848                    autience_event = 'load'
1849                    delay = when.delay[device]
1850                    break
1851                case 'link':
1852                    var link_type = when.link[device]
1853                    autience_event = 'link_' + link_type
1854                    if (link_type == 'custom') {
1855                        links_to_match = when.customLink[device]
1856                    }
1857                    prevent_redirect = true
1858                    break
1859            }
1860            displayPopupOnEvent(autience_event, delay, links_to_match, prevent_redirect)
1861            widget.trigger = {
1862                trigger: trigger,
1863                autience_event: autience_event,
1864                delay: delay
1865            }
1866        } else {
1867            Autience.utils.sendEvent('client_widget_disabled')
1868            console.log('widget is disabled')
1869        }
1870        function displayPopupOnEvent(autience_event, delay, links_to_match, prevent_redirect) {
1871            Autience.utils.listenAutienceEvent(autience_event, function (evt) {
1872                if (matchingLink(links_to_match)) {
1873                    if (prevent_redirect && Autience.clickEvent) {
1874                        Autience.clickEvent.preventDefault()
1875                    }
1876                    setTimeout(function () {
1877                        Autience.utils.cycle(Autience.lifecycle.display, widget)
1878                    }, delay * 1000)
1879                }
1880            })
1881        }
1882        function matchingLink(links) {
1883            if (!links) {
1884                return true
1885            }
1886            var matched = false
1887            links.split(',').map(function (link) {
1888                link = link.trim()
1889                matched = matched || directMatch(Autience.current_link, link) || matchWithoutProtocol(Autience.current_link, link) || matchWithoutHost(Autience.current_link, link)
1890            })
1891            return matched
1892            function directMatch(link1, link2) {
1893                link1 = stripTrailingSlash(link1)
1894                link2 = stripTrailingSlash(link2)
1895                return link1 == link2
1896            }
1897            function matchWithoutProtocol(link1, link2) {
1898                link1 = stripTrailingSlash(link1)
1899                link2 = stripTrailingSlash(link2)
1900                link1 = link1.replace('http://', '')
1901                link1 = link1.replace('https://', '')
1902                link2 = link2.replace('http://', '')
1903                link2 = link2.replace('https://', '')
1904                return link1 == link2
1905            }
1906            function matchWithoutHost(link1, link2) {
1907                link1 = stripTrailingSlash(link1)
1908                link2 = stripTrailingSlash(link2)
1909                link1 = link1.replace('http://', '')
1910                link1 = link1.replace('https://', '')
1911                link2 = link2.replace('http://', '')
1912                link2 = link2.replace('https://', '')
1913                link1 = link1.replace('www.', '')
1914                link2 = link2.replace('www.', '')
1915                link1 = link1.replace(window.location.host, '')
1916                link2 = link2.replace(window.location.host, '')
1917                return link1 == link2
1918            }
1919            function stripTrailingSlash(str) {
1920                if (str.substr(-1) === '/') {
1921                    return str.substr(0, str.length - 1);
1922                }
1923                return str;
1924            }
1925        }
1926    })
1927    Autience.lifecycle.display.push(function (widget) {
1928        if ((Autience.utils.nestedValue(widget, ['components', 'commonanalytics', 'values', 'measureAnalyticsBoolean'])) && (Autience.utils.nestedValue(widget, ['components', 'commonanalytics', 'values', 'analyticsTrackingCode']))) {
1929            var yel_measure_analytics = widget.components.commonanalytics.values.measureAnalyticsBoolean;
1930            var yel_tracking_code = widget.components.commonanalytics.values.analyticsTrackingCode;
1931            if (document.body != null) {
1932                var tracking_code_div = document.createElement("script");
1933                tracking_code_div.type = "text/javascript";
1934                var yel_popup_name = 'Yeloni'
1935                if ((Autience.utils.nestedValue(widget, ['components', 'commonanalytics', 'values', 'analyticsPopupName']))) {
1936                    var yel_temp_popup_name = widget.components.commonanalytics.values.analyticsPopupName;
1937                    var yel_popup_name = 'Yeloni-' + yel_temp_popup_name.split(' ').join('-');
1938                }
1939                yel_tracking_code = yel_tracking_code.replace("<script>", " ");
1940                yel_tracking_code = yel_tracking_code.replace("</script>", " ");
1941                yel_tracking_code = yel_tracking_code.replace(/\n/g, " ");
1942                tracking_code_div.innerHTML = yel_tracking_code;
1943                document.body.appendChild(tracking_code_div);
1944                if (typeof ga === "function") {
1945                    ga('send', 'event', yel_popup_name, 'Popup-Display');
1946                }
1947            }
1948        }
1949    })
1950    Autience.lifecycle.render.push(function (widget) {
1951        var extensions = Autience.utils.nestedValue(Autience, ['setup', 'extensions'])
1952        if (extensions && Object.keys(extensions).length > 0) {
1953            return
1954        }
1955        var widget_element = document.getElementById(widget.code)
1956        var poweredBy = document.createElement('div')
1957        var url = 'https://yeloni.com'
1958        url = url + '?utm_source=' + window.location.hostname + '&utm_campaign=poweredby&from_site=' + window.location.hostname
1959        var message = 'Get an <b>Email Optin</b> for your Website'
1960        if (widget.goalType != 'subscribe') {
1961            message = 'Powered by <b>Yeloni</b>'
1962        }
1963        poweredBy.innerHTML = "<a href='" + url + "' target='_blank'>" + message + "</a>"
1964        var style = poweredBy.style,
1965            astyle = poweredBy.getElementsByTagName('a')[0].style
1966        Object.assign(style, {
1967            color: 'white',
1968            fontSize: '15px',
1969            fontFamily: 'arial',
1970            textAlign: 'center'
1971        })
1972        Object.assign(astyle, {
1973            color: 'white'
1974        })
1975        widget_element.appendChild(poweredBy)
1976    })
1977    /*
1978    Autience.lifecycle.render.push(function(widget) {
1979        if ((Autience.utils.nestedValue(Autience, ['setup', 'poweredBy']))) {
1980            var yelPopups = document.getElementsByClassName('yel-popup-template'),
1981                noOfPopups = yelPopups.length,
1982                shareMessage = 'Sharing Powered by <span style="text-decoration: underline;">Yeloni</span>',
1983                emailMessage = 'Subscription Powered by <span style="text-decoration: underline;">Yeloni</span>',
1984                message = 'Powered by <span style="text-decoration: underline;">Yeloni</span>'
1985            while (noOfPopups--) {
1986                var currentNode = yelPopups[noOfPopups]
1987                var newNode = document.createElement("div")
1988                newNode.className = "yel-powered"
1989                if (widget.isSocial && widget.isSocial == true) {
1990                    message = shareMessage
1991                } else if (widget.isEmail && widget.isEmail == true) {
1992                    message = emailMessage
1993                } else {
1994                    message = message
1995                }
1996                newNode.innerHTML = message
1997                if (!widget.insertedBranding) {
1998                    currentNode.parentNode.insertBefore(newNode, currentNode.nextSibling)
1999                    widget.insertedBranding = true
2000                }
2001                document.getElementsByClassName('yel-powered')[noOfPopups].style = 'float:right;margin-right:2%;position: absolute;right: 0px;bottom: 20px;';
2002            }
2003            Autience.utils.classListen('yel-powered', 'click', function() {
2004                var linkhere = "?utm_source=" + Autience.setup.initial_domain + "&utm_medium=poweredBy"
2005                var utmLink = "http://www.yeloni.com" + linkhere;
2006                window.open(utmLink, '_blank');
2007            })
2008        }
2009    })
2010    */
2011    if (yetience_callback) {
2012        yetience_callback()
2013    }
2014};
2015window.defineAutienceWhere = function (yetience_callback) {
2016    Autience.lifecycle.displayValidation.push(function (widget) {
2017        if (location.pathname == '/' && (Autience.utils.nestedValue(widget, ['configuration', 'where', 'home']) == true)) {
2018            return true
2019        }
2020        if (Autience.utils.nestedValue(widget, ['configuration', 'where', 'show_contain_tags'])) {
2021            var contain_tags = widget.configuration.where.show_contain_tags
2022            if (contain_tags.length == 0) {
2023                return true
2024            }
2025            console.log('location.pathname is ' + location.pathname)
2026            for (var i = contain_tags.length - 1; i >= 0; i--) {
2027                if (location.pathname.indexOf(contain_tags[i].text) > -1) {
2028                    console.log(location.pathname + ' has ' + contain_tags[i].text)
2029                    return true
2030                }
2031            }
2032        } else {
2033            return true
2034        }
2035    })
2036    Autience.lifecycle.displayValidation.push(function (widget) {
2037        if (Autience.utils.nestedValue(widget, ['configuration', 'where', 'show_match_tags'])) {
2038            if (location.pathname == '/' && (Autience.utils.nestedValue(widget, ['configuration', 'where', 'home']) == true)) {
2039                return true
2040            }
2041            var match_tags = widget.configuration.where.show_match_tags
2042            if (match_tags.length == 0) {
2043                return true
2044            }
2045            for (var i = match_tags.length - 1; i >= 0; i--) {
2046                console.log(location.pathname + ' is /' + match_tags[i].name)
2047                if (location.pathname.indexOf(match_tags[i].name) >= 0) {
2048                    return true
2049                }
2050            }
2051        } else {
2052            return true
2053        }
2054    })
2055    Autience.lifecycle.displayValidation.push(function (widget) {
2056        var showAdmin = widget.configuration.showAdmin
2057        if (showAdmin != null) { //by default it's not defined
2058            if (!showAdmin) { //if it is set to false - don't show to logged in users
2059                if (is_logged_in) {
2060                    return false
2061                } else {
2062                    return true
2063                }
2064            }
2065        }
2066        return true
2067    })
2068    Autience.lifecycle.displayValidation.push(function (widget) {
2069        if (location.pathname == '/' && (Autience.utils.nestedValue(widget, ['configuration', 'where', 'home']) == true)) {
2070            return true
2071        }
2072        if (Autience.utils.nestedValue(widget, ['configuration', 'where', 'hide_contain_tags'])) {
2073            if (location.pathname == '/' && (Autience.utils.nestedValue(widget, ['configuration', 'where', 'home']) == true)) {
2074                return true
2075            }
2076            var contain_tags = widget.configuration.where.hide_contain_tags
2077            if (contain_tags.length == 0) {
2078                return true
2079            }
2080            console.log('location.pathname is ' + location.pathname)
2081            for (var i = contain_tags.length - 1; i >= 0; i--) {
2082                if (location.pathname.indexOf(contain_tags[i].text) > -1) {
2083                    console.log(location.pathname + ' has ' + contain_tags[i].text)
2084                    return false
2085                }
2086            }
2087        }
2088        return true
2089    })
2090    Autience.lifecycle.displayValidation.push(function (widget) {
2091        if (Autience.utils.nestedValue(widget, ['configuration', 'where', 'hide_match_tags'])) {
2092            if (location.pathname == '/' && (Autience.utils.nestedValue(widget, ['configuration', 'where', 'home']) == true)) {
2093                return true
2094            }
2095            var match_tags = widget.configuration.where.hide_match_tags
2096            if (match_tags.length == 0) {
2097                return true
2098            }
2099            console.log('location.pathname is ' + location.pathname)
2100            for (var i = match_tags.length - 1; i >= 0; i--) {
2101                console.log('------------------')
2102                console.log(location.pathname + ' is /' + match_tags[i].name)
2103                if (location.pathname.indexOf(match_tags[i].name) >= 0) {
2104                    return false
2105                }
2106            }
2107        }
2108        return true
2109    })
2110    Autience.lifecycle.displayValidation.push(function (widget) {
2111        var showAdmin = widget.configuration.showAdmin
2112        if (showAdmin != null) { //by default it's not defined
2113            if (!showAdmin) { //if it is set to false - don't show to logged in users
2114                if (is_logged_in) {
2115                    return false
2116                } else {
2117                    return true
2118                }
2119            }
2120        }
2121        return true
2122    })
2123    Autience.lifecycle.displayValidation.push(function (widget) {
2124        var isMobile = Autience.utils.isMobile()
2125        if (isMobile && !Autience.utils.hasFeature('mobileScreens')) {
2126            console.log('Popup is not shown on mobile in lite version')
2127            return false
2128        }
2129        if (isMobile && Autience.utils.hasFeature('mobileScreens')) {
2130            if (Autience.utils.nestedValue(widget, ['configuration', 'when', 'smallEnabled'])) {
2131                console.log('enabled on small screen')
2132                return true
2133            } else {
2134                console.log('disabled on small screens')
2135                return false
2136            }
2137        }
2138        return true
2139    })
2140    Autience.lifecycle.displayValidation.push(function (widget) {
2141        var where = widget.configuration.where
2142        var cat = null
2143        var where_categories = widget.configuration.where_categories
2144        var where_titles = widget.configuration.where_titles
2145        autience_is_home = autience_is_home || (((window.location.pathname == '/') || (window.location.pathname == '')) && window.location.search.length == 0)
2146        if (autience_is_home) {
2147            return where.home
2148        }
2149        if (window.autience_page_name == 'checkout') {
2150            return where.checkout
2151        }
2152        switch (where.other) {
2153            case 'all':
2154                return true
2155            case 'none':
2156                return false
2157            case 'specific':
2158                switch (where.specific.selector) {
2159                    case 'pageType':
2160                        switch (window.autience_post_type) {
2161                            case 'post':
2162                                return where.pageTypes.posts
2163                            case 'product':
2164                                return where.pageTypes.products
2165                            case 'page':
2166                                return where.pageTypes.pages
2167                        }
2168                        break;
2169                    case 'category':
2170                        for (var i = 0; i < window.autience_categories.length; i++) {
2171                            cat = autience_categories[i].cat_ID
2172                            if (where_categories.indexOf(cat) >= 0 || where_categories.indexOf(cat.toString()) >= 0) {
2173                                return true
2174                            }
2175                        }
2176                        console.log('returning false')
2177                        return false
2178                        break;
2179                    case 'title':
2180                        var index = where_titles.indexOf(window.autience_post_id)
2181                        console.log('title at ' + index)
2182                        return (index >= 0)
2183                        break;
2184                    case 'url':
2185                        return true
2186                        break;
2187                    case 'custom':
2188                        console.log('Current post type is ', window.autience_post_type)
2189                        console.log('post type to check is ', where.pageTypes.custom)
2190                        return (window.autience_post_type.toLowerCase() == where.pageTypes.custom.toLowerCase())
2191                }
2192        }
2193        return true
2194    })
2195    Autience.lifecycle.displayValidation.push(function (widget) {
2196        var where = widget.configuration.where
2197        var cat = null
2198        var where_categories_hide = widget.configuration.where_categories_hide
2199        var where_titles_hide = widget.configuration.where_titles_hide
2200        if (where.showOrHide == 'hide' && where.hideOn && where.hideOn.hideselector) {
2201            switch (where.hideOn.hideselector) {
2202                case 'pageType':
2203                    switch (window.autience_post_type) {
2204                        case 'post':
2205                            return !(where.pageTypes.posts)
2206                        case 'product':
2207                            return !(where.pageTypes.products)
2208                        case 'page':
2209                            return !(where.pageTypes.pages)
2210                    }
2211                    break;
2212                case 'category':
2213                    for (var i = 0; i < window.autience_categories.length; i++) {
2214                        cat = autience_categories[i].cat_ID
2215                        if (where_categories_hide.indexOf(cat) >= 0 || where_categories_hide.indexOf(cat.toString()) >= 0) {
2216                            return false
2217                        }
2218                    }
2219                    return true
2220                    break;
2221                case 'title':
2222                    var index = where_titles_hide.indexOf(window.autience_post_id)
2223                    return (index < 0)
2224                    break;
2225                case 'url':
2226                    return true
2227                case 'custom':
2228                    console.log('Current post type is ', window.autience_post_type)
2229                    console.log('post type to check is ', where.pageTypes.custom)
2230                    return !(window.autience_post_type.toLowerCase() == where.pageTypes.custom.toLowerCase())
2231            }
2232            return false
2233        } else {
2234            return true
2235        }
2236    })
2237    if (yetience_callback) {
2238        yetience_callback()
2239    }
2240};
2241window.defineAutienceHow = function (yetience_callback) {
2242    Autience.lifecycle.postRender.push(function (widget) {
2243        var button_classes = ['yel-cta-wrapper', 'yel-arrow-wrapper', 'yel-circle-wrapper', 'yel-cta-button']
2244        button_classes.map(function (this_class) {
2245            var els = document.getElementsByClassName(this_class)
2246            if (els && els.length > 0) {
2247                for (var i = 0; i < els.length; i++) {
2248                    els[i].style.zIndex = highestZIndex() + 1
2249                }
2250            }
2251        })
2252    })
2253    Autience.lifecycle.display.push(function (widget) {
2254        if (document.getElementById(widget.code)) {
2255            document.getElementById(widget.code).style.visibility = 'visible'
2256            widget.default_display = document.getElementById(widget.code).style.display
2257            document.getElementById(widget.code).style.display = 'block'
2258            document.getElementById(widget.code).style.zIndex = (highestZIndex()) * 10
2259        } else {
2260            console.log('Widget ' + widget.code + ' is not loaded')
2261        }
2262    })
2263    function highestZIndex() {
2264        var highest = 1
2265        var types = ['div', 'nav', 'span']
2266        types.map(function (type) {
2267            var all_divs = document.getElementsByTagName(type)
2268            for (var i = 0; i < all_divs.length; i++) {
2269                var zIndex = getStyle(all_divs[i], 'z-index')
2270                if (!isNaN(zIndex) && zIndex > highest) {
2271                    highest = parseInt(zIndex)
2272                }
2273            }
2274        })
2275        console.log('highest z index ', highest)
2276        return highest
2277    }
2278    function getStyle(el, styleProp) {
2279        if (window.getComputedStyle) {
2280            var y = window.getComputedStyle(el, null).getPropertyValue(styleProp);
2281        } else if (el.currentStyle) {
2282            var y = el.currentStyle[styleProp];
2283        }
2284        return y;
2285    }
2286    Autience.lifecycle.display.push(function (widget) {
2287        var yel_measure_analytics = Autience.utils.nestedValue(widget, ['components', 'commonanalytics', 'values', 'measureAnalyticsBoolean'])
2288        if (yel_measure_analytics) {
2289            var yel_popup_name = 'Yeloni'
2290            if (Autience.utils.nestedValue(widget, ['components', 'commonanalytics', 'values', 'analyticsPopupName'])) {
2291                var yel_temp_popup_name = widget.components.commonanalytics.values.analyticsPopupName;
2292                var yel_popup_name = 'Yeloni-' + yel_temp_popup_name.split(' ').join('-');
2293            }
2294        }
2295    })
2296    Autience.lifecycle.render.push(function (widget) {
2297        if (!document.getElementById(widget.code) || true) {
2298            var widgetDiv = document.createElement('div')
2299            widgetDiv.id = widget.code
2300            var typeOfWidget = widget.themeType;
2301            switch (typeOfWidget) {
2302                case "Popups":
2303                    widgetDiv.style.visibility = 'hidden'
2304                    widgetDiv.className = "yel-popup-main-wrapper"
2305                    var base64_decoded = Autience.utils.decode(widget.rendered)
2306                    if (!base64_decoded || base64_decoded.length == 0) {
2307                        Autience.utils.sendEvent('client_template_empty')
2308                    }
2309                    var inner_html = Autience.utils.stripAndExecuteScript(decodeURIComponent(base64_decoded))
2310                    widgetDiv.innerHTML = inner_html
2311                    widgetDiv.style.background = "url('" + window.yetience.path + "/common/images/opaque-bg.png') top left repeat"
2312                    document.body.appendChild(widgetDiv)
2313                    break;
2314                case "ActionButtons":
2315                    widgetDiv.className = "yel-ab-main-wrapper"
2316                    var base64_decoded = Autience.utils.decode(widget.rendered)
2317                    if (!base64_decoded || base64_decoded.length == 0) {
2318                        Autience.utils.sendEvent('client_template_empty')
2319                    }
2320                    var inner_html = Autience.utils.stripAndExecuteScript(decodeURIComponent(base64_decoded))
2321                    widgetDiv.innerHTML = inner_html
2322                    widgetDiv.className = "yel-ab-main-wrapper";
2323                    document.body.appendChild(widgetDiv)
2324                    if (document.getElementById("yel-main-box-wrapper")) {
2325                        document.getElementById("yel-main-box-wrapper").className = "yel-main-box-wrapper";
2326                        document.getElementById("yel-main-box-wrapper").style.display = "none"
2327                        document.getElementById("yel-main-box-wrapper").style.zIndex = highestZIndex() + 1
2328                    }
2329                    if (document.getElementById("yel-circle-wrapper")) {
2330                        document.getElementById("yel-circle-wrapper").className = "yel-circle-wrapper";
2331                        document.getElementById("yel-arrow-wrapper").style.display = "none"
2332                    }
2333                    if (document.getElementById("yel-arrow-wrapper")) {
2334                        document.getElementById("yel-arrow-wrapper").className = "yel-arrow-wrapper";
2335                        setTimeout(function () {
2336                            document.getElementById("yel-arrow-wrapper").style.display = "block"
2337                        }, 5000);
2338                    }
2339                    break;
2340                case "InpostWidgets":
2341                    var articles = document.getElementsByTagName("article");
2342                    var x = articles[0].querySelectorAll("p");
2343                    var numberOfElements = x.length;
2344                    var parentNode = x[0].parentNode;
2345                    if (Autience.utils.nestedValue(widget, ['components', 'inpostPosition', 'values', 'postStart'])) {
2346                        parentNode.insertBefore(ElemToInsert(widget), x[0]);
2347                    }
2348                    if (Autience.utils.nestedValue(widget, ['components', 'inpostPosition', 'values', 'postCenter'])) {
2349                        console.log(numberOfElements)
2350                        console.log("center:" + (Math.round(numberOfElements / 2) - 1))
2351                        parentNode.insertBefore(ElemToInsert(widget), x[Math.round(numberOfElements / 2) - 1]);
2352                    }
2353                    if (Autience.utils.nestedValue(widget, ['components', 'inpostPosition', 'values', 'postEnd'])) {
2354                        parentNode.insertBefore(ElemToInsert(widget), x[numberOfElements]);
2355                    }
2356                    break;
2357                case "Sliders":
2358                    widgetDiv.className = "yel-slider-main-wrapper"
2359                    var base64_decoded = Autience.utils.decode(widget.rendered)
2360                    if (!base64_decoded || base64_decoded.length == 0) {
2361                        Autience.utils.sendEvent('client_template_empty')
2362                    }
2363                    var inner_html = Autience.utils.stripAndExecuteScript(decodeURIComponent(base64_decoded))
2364                    widgetDiv.innerHTML = inner_html
2365                    widgetDiv.className = "yel-slider-main-wrapper yel-slider-left";
2366                    document.body.appendChild(widgetDiv)
2367                    break;
2368                case "Bars":
2369                    if (Autience.utils.nestedValue(widget, ['components', 'barPosition', 'values', 'topscroll'])) {
2370                        widgetDiv.className = "yel-bars-main-wrapper yel-bar-template-render-top";
2371                        var bodyclass = document.createAttribute("class");
2372                        bodyclass.value = "body-move";
2373                        document.getElementsByTagName("body")[0].setAttributeNode(bodyclass);
2374                        console.log("added class yel-bar-template-render");
2375                    }
2376                    else if (Autience.utils.nestedValue(widget, ['components', 'barPosition', 'values', 'topfixed'])) {
2377                        widgetDiv.className = "yel-bars-main-wrapper yel-bar-template-render-top";
2378                        console.log("added class yel-bar-template-render")
2379                    }
2380                    else if (Autience.utils.nestedValue(widget, ['components', 'barPosition', 'values', 'bottomscroll'])) {
2381                        widgetDiv.className = "yel-bars-main-wrapper yel-bar-template-render-bottom";
2382                        console.log("added class yel-bar-template-render")
2383                    }
2384                    else if (Autience.utils.nestedValue(widget, ['components', 'barPosition', 'values', 'bottomfixed'])) {
2385                        widgetDiv.className = "yel-bars-main-wrapper yel-bar-template-render-bottom";
2386                        console.log("added class yel-bar-template-render")
2387                    }
2388                    var base64_decoded = Autience.utils.decode(widget.rendered)
2389                    if (!base64_decoded || base64_decoded.length == 0) {
2390                        Autience.utils.sendEvent('client_template_empty')
2391                    }
2392                    var inner_html = Autience.utils.stripAndExecuteScript(decodeURIComponent(base64_decoded))
2393                    widgetDiv.innerHTML = inner_html
2394                    document.body.insertBefore(widgetDiv, document.body.firstChild);
2395                    break;
2396                case "Sidebar":
2397                    break;
2398                case "ContentGating":
2399                    break;
2400                case "Mats":
2401                    var base64_decoded = Autience.utils.decode(widget.rendered)
2402                    if (!base64_decoded || base64_decoded.length == 0) {
2403                        Autience.utils.sendEvent('client_template_empty')
2404                    }
2405                    var inner_html = Autience.utils.stripAndExecuteScript(decodeURIComponent(base64_decoded))
2406                    widgetDiv.innerHTML = inner_html
2407                    widgetDiv.className = "yel-mat-main-wrapper yel-mat-onload";
2408                    var ydiv = document.createElement("div");
2409                    ydiv.id = "yel-wrap";
2410                    ydiv.className = "yel-wrap"
2411                    ydiv.appendChild(widgetDiv)
2412                    while (document.body.firstChild) {
2413                        ydiv.appendChild(document.body.firstChild);
2414                    }
2415                    document.body.appendChild(ydiv);
2416                    yelTrackScroll(widgetDiv);
2417                    break;
2418                default:
2419                    console.log("WIDGET TYPE NOT DEFINED - DEFAULTING TO POPUPS")
2420                    widgetDiv.style.visibility = 'hidden'
2421                    widgetDiv.className = "yel-popup-main-wrapper"
2422                    var base64_decoded = Autience.utils.decode(widget.rendered)
2423                    if (!base64_decoded || base64_decoded.length == 0) {
2424                        Autience.utils.sendEvent('client_template_empty')
2425                    }
2426                    var inner_html = Autience.utils.stripAndExecuteScript(decodeURIComponent(base64_decoded))
2427                    widgetDiv.innerHTML = inner_html
2428                    widgetDiv.style.background = "url('" + window.yetience.path + "/common/images/opaque-bg.png') top left repeat"
2429                    document.body.appendChild(widgetDiv)
2430                    break;
2431            }
2432        } else {
2433        }
2434    })
2435    function yelTrackScroll(widget) {
2436        var widgetHeight = document.getElementById(widget.id).style.height;
2437        console.log("Height:" + widgetHeight)
2438    }
2439    function ElemToInsert(widget) {
2440        var widgetDiv = document.createElement('div')
2441        widgetDiv.className = "yel-inline-wrapper"
2442        widgetDiv.id = ""
2443        var base64_decoded = widget.rendered
2444        if (!base64_decoded || base64_decoded.length == 0) {
2445            Autience.utils.sendEvent('client_template_empty')
2446        }
2447        var inner_html = Autience.utils.stripAndExecuteScript(decodeURIComponent(base64_decoded))
2448        widgetDiv.innerHTML = inner_html
2449        widgetDiv.style.background = "url('" + window.yetience.path + "/common/images/opaque-bg.png') top left repeat"
2450        return widgetDiv;
2451    }
2452    Autience.lifecycle.render.push(function (widget) {
2453        var styles_to_add = decodeURIComponent(Autience.utils.decode(widget.styles))
2454        var head = document.head || document.getElementsByTagName('head')[0]
2455        var style = document.createElement('style');
2456        style.type = 'text/css';
2457        if (style.styleSheet) {
2458            style.styleSheet.cssText = styles_to_add;
2459        } else {
2460            style.appendChild(document.createTextNode(styles_to_add));
2461        }
2462        head.appendChild(style);
2463    })
2464    if (yetience_callback) {
2465        yetience_callback()
2466    }
2467};
2468window.defineAutienceWhom = function (yetience_callback) {
2469    if (Autience) {
2470        Autience.lifecycle.display.push(function (widget) {
2471            Autience.utils.createCookie("autience-displayed-visitor-" + widget.code, true, true)
2472            Autience.utils.createCookie("autience-displayed-session-" 
2472+ widget.code, true)
2473        })
2474        Autience.lifecycle.displayValidation.push(function (widget) {
2475            if ((Autience.utils.nestedValue(widget, ['configuration', 'whom', 'limitByReferrerSetting']))) {
2476                if (Autience.utils.nestedValue(widget, ['configuration', 'whom', 'limitByReferrerSetting']) == 'default') {
2477                    return true
2478                }
2479                var return_value = null,
2480                    isFound = false
2481                if (Autience.utils.nestedValue(widget, ['configuration', 'whom', 'limitByReferrerSetting']) == 'show') {
2482                    return_value = true
2483                } else {
2484                    return_value = false
2485                }
2486                var referrer_array = widget.configuration.whom.limitByReferrer_array
2487                if (referrer_array) {
2488                    for (var i = referrer_array.length - 1; i >= 0; i--) {
2489                        if (document.referrer.indexOf(referrer_array[i].text) > 0) {
2490                            isFound = true
2491                        }
2492                    }
2493                }
2494                if (isFound) {
2495                    return return_value
2496                } else {
2497                    return !return_value
2498                }
2499            }
2500            return true
2501        })
2502        Autience.lifecycle.displayValidation.push(function (widget) {
2503            if (Autience.utils.readCookie("autience-visitor-subscribed-" + widget.code)) {
2504                console.log('visitor subscribed, do not show popup')
2505                return false
2506            }
2507            return true
2508        })
2509        Autience.lifecycle.displayValidation.push(function (widget) {
2510            if (Autience.utils.nestedValue(widget, ['configuration', 'whom', 'once'])) {
2511                switch (widget.configuration.whom.once) {
2512                    case 'visitor':
2513                        if (Autience.utils.readCookie("autience-displayed-visitor-" + widget.code)) {
2514                            return false
2515                        }
2516                        break
2517                    case 'session':
2518                        if (Autience.utils.readCookie("autience-displayed-session-" + widget.code)) {
2519                            return false
2520                        }
2521                        break
2522                    case 'always':
2523                        return true
2524                        break
2525                }
2526            }
2527            return true
2528        })
2529        if (yetience_callback) {
2530            yetience_callback()
2531        }
2532    }
2533};
2534window.defineAutienceClose = function (yetience_callback) {
2535    Autience.lifecycle.postRender.push(function (widget) {
2536        var yel_current_url = window.location.href
2537        if (yel_current_url.indexOf('https') >= 0) {
2538            if (document.getElementsByClassName('yeloni-close-image-url')) {
2539                var yel_div_list = document.getElementsByClassName('yeloni-close-image-url'),
2540                    yel_lt = yel_div_list.length;
2541                while (yel_lt--) {
2542                    var yel_img_url = yel_div_list[yel_lt].src;
2543                    if (yel_img_url.indexOf('https:') < 0) {
2544                        yel_div_list[yel_lt].src = yel_div_list[yel_lt].src.replace('http://', 'https://');
2545                    }
2546                }
2547            }
2548        } else {
2549        }
2550    })
2551    /*var yeloni_comment = 'This widget is powered by yeloni.com. Get one for your site today.'
2552    Autience.lifecycle.postRender.push(function(widget) {
2553        if (document.getElementById(widget.code)) {
2554            var top_comment = document.createComment(yeloni_comment);
2555            var yel_widget_wrapper = wrapperClass(widget.themeType)
2556            var popup = document.getElementsByClassName(yel_widget_wrapper)[0]
2557            document.getElementById(widget.code).insertBefore(top_comment, popup);
2558        } else {
2559            console.log('Widget ' + widget.code + ' is not loaded')
2560        }
2561    })*/
2562    function wrapperClass(themeType) {
2563        if (themeType == 'ActionButtons') {
2564            return 'yel-cta-wrapper'
2565        } else {
2566            return 'yel-popup-template'
2567        }
2568    }
2569    /*
2570    Autience.lifecycle.postRender.push(function(widget) {
2571        var bottom_comment = document.createComment(yeloni_comment);
2572        if (document.getElementById(widget.code)) {
2573            document.getElementById(widget.code).appendChild(bottom_comment);
2574        } else {
2575            console.log('Widget ' + widget.code + ' is not loaded')
2576        }
2577    })
2578    */
2579    Autience.lifecycle.postRender.push(function (widget) {
2580        Autience.utils.classListen('autience-close-' + widget.code, 'click', function (el) {
2581            Autience.utils.closeWidget(widget)
2582        })
2583    })
2584    Autience.lifecycle.postRender.push(function (widget) {
2585        Autience.utils.idListen('autience-close-' + widget.code, 'click', function (el) {
2586            if (Autience.utils.nestedValue(widget, ['trigger', 'trigger']) == 'link' && Autience.utils.nestedValue(widget, ['configuration', 'when', 'link', 'close'])) {
2587                Autience.utils.redirect(Autience.current_link, Autience.current_target)
2588            }
2589        })
2590    })
2591    Autience.lifecycle.postRender.push(function (widget) {
2592        Autience.utils.idListen('autience-close-' + widget.code, 'click', function (el) {
2593            if (document.getElementById("yel-facebook-popup")) {
2594                document.getElementById("yel-facebook-popup").display = "none";
2595            }
2596        })
2597    })
2598    Autience.lifecycle.postRender.push(function (widget) {
2599        if (Autience.utils.nestedValue(widget, ['configuration', 'close', 'outside'])) {
2600            Autience.utils.classListen('yel-popup-main-wrapper', 'click', function () {
2601                Autience.utils.closeWidget(widget)
2602            })
2603            Autience.utils.classListen('yel-popup-template', 'click', function (e) {
2604                e.stopPropagation();
2605            })
2606        }
2607    }) //close lifecycle
2608    Autience.lifecycle.postRender.push(function (widget) {
2609        if (Autience.utils.nestedValue(widget, ['components', 'commonanalytics', 'values', 'measureAnalyticsBoolean'])) {
2610            var yel_measure_analytics = widget.components.commonanalytics.values.measureAnalyticsBoolean;
2611            var yel_popup_name = 'Yeloni'
2612            if (Autience.utils.nestedValue(widget, ['components', 'commonanalytics', 'values', 'analyticsPopupName'])) {
2613                var yel_temp_popup_name = widget.components.commonanalytics.values.analyticsPopupName;
2614                var yel_popup_name = 'Yeloni-' + yel_temp_popup_name.split(' ').join('-');
2615            }
2616            if (typeof ga === "function") {
2617                Autience.utils.classListen('yel-atr-linked-image', 'click', function (el) {
2618                    ga('send', 'event', yel_popup_name, 'Linked-Image-Click');
2619                });
2620                Autience.utils.classListen('yel-atr-linked-text', 'click', function (el) {
2621                    ga('send', 'event', yel_popup_name, 'Linked-Text-Click');
2622                });
2623                Autience.utils.classListen('yel-atr-button', 'click', function (el) {
2624                    ga('send', 'event', yel_popup_name, 'Button-Click');
2625                });
2626                Autience.utils.classListen('yel-yes-button', 'click', function (el) {
2627                    ga('send', 'event', yel_popup_name, 'Yes-Button-Click');
2628                });
2629                Autience.utils.classListen('yel-no-button', 'click', function (el) {
2630                    ga('send', 'event', yel_popup_name, 'No-Button-Click');
2631                });
2632                Autience.utils.classListen('yel-pinterest-follow-image', 'click', function (el) {
2633                    ga('send', 'event', yel_popup_name, 'Pinterest-Follow-Click');
2634                });
2635                Autience.utils.idListen('autience-network-pinterest', 'click', function (el) {
2636                    ga('send', 'event', yel_popup_name, 'Pinterest-Follow-Click');
2637                });
2638                Autience.utils.idListen('autience-network-facebook', 'click', function (el) {
2639                    ga('send', 'event', yel_popup_name, 'facebook-Follow-Click');
2640                });
2641                Autience.utils.idListen('autience-network-twitter', 'click', function (el) {
2642                    ga('send', 'event', yel_popup_name, 'twitter-Follow-Click');
2643                });
2644                Autience.utils.idListen('autience-network-googleplus', 'click', function (el) {
2645                    ga('send', 'event', yel_popup_name, 'googleplus-Follow-Click');
2646                });
2647                Autience.utils.idListen('autience-network-linkedin', 'click', function (el) {
2648                    ga('send', 'event', yel_popup_name, 'linkedin-Follow-Click');
2649                });
2650                Autience.utils.idListen('autience-network-reddit', 'click', function (el) {
2651                    ga('send', 'event', yel_popup_name, 'reddit-Follow-Click');
2652                });
2653                Autience.utils.idListen('autience-network-whatsapp', 'click', function (el) {
2654                    ga('send', 'event', yel_popup_name, 'whatsapp-Follow-Click');
2655                });
2656                Autience.utils.idListen('autience-network-flipboard', 'click', function (el) {
2657                    ga('send', 'event', yel_popup_name, 'flipboard-Follow-Click');
2658                });
2659                Autience.utils.idListen('autience-network-baidu', 'click', function (el) {
2660                    ga('send', 'event', yel_popup_name, 'baidu-Follow-Click');
2661                });
2662                Autience.utils.idListen('autience-network-sinaweibo', 'click', function (el) {
2663                    ga('send', 'event', yel_popup_name, 'sinaweibo-Follow-Click');
2664                });
2665                Autience.utils.idListen('autience-network-slashdot', 'click', function (el) {
2666                    ga('send', 'event', yel_popup_name, 'slashdot-Follow-Click');
2667                });
2668                Autience.utils.idListen('autience-network-vkontakte', 'click', function (el) {
2669                    ga('send', 'event', yel_popup_name, 'vkontakte-Follow-Click');
2670                });
2671                Autience.utils.classListen('yel-ep-submit-button', 'click', function (el) {
2672                    ga('send', 'event', yel_popup_name, 'Subscribe-Button-Click');
2673                });
2674                Autience.utils.classListen('yel-email-popup-button-large', 'click', function (el) {
2675                    ga('send', 'event', yel_popup_name, 'Subscribe-Button-Click');
2676                });
2677            }
2678        }
2679    })
2680    Autience.lifecycle.close.push(function (widget) {
2681        document.getElementById(widget.code).style.visibility = 'hidden'
2682        if (widget.default_display) {
2683            document.getElementById(widget.code).style.display = widget.default_display
2684        }
2685    })
2686    Autience.lifecycle.close.push(function (widget) {
2687        if (typeof $zopim != 'undefined') {
2688            $zopim.livechat.window.hide();
2689        }
2690    })
2691    Autience.lifecycle.close.push(function (widget) {
2692        if (Autience.utils.nestedValue(widget, ['components', 'commonanalytics', 'values', 'measureAnalyticsBoolean'])) {
2693            var yel_measure_analytics = widget.components.commonanalytics.values.measureAnalyticsBoolean;
2694            var yel_popup_name = 'Yeloni'
2695            if (Autience.utils.nestedValue(widget, ['components', 'commonanalytics', 'values', 'analyticsPopupName'])) {
2696                var yel_temp_popup_name = widget.components.commonanalytics.values.analyticsPopupName;
2697                var yel_popup_name = 'Yeloni-' + yel_temp_popup_name.split(' ').join('-');
2698            }
2699            if (typeof ga === "function") {
2700                ga('send', 'event', yel_popup_name, 'Popup-Closed');
2701            }
2702        }
2703    })
2704    Autience.lifecycle.postRender.push(function (widget) {
2705        if (Autience.utils.nestedValue(widget, ['configuration', 'close', 'alert'])) {
2706            window.onbeforeunload = function (e) {
2707                return Autience.utils.nestedValue(widget, ['configuration', 'close', 'message'])
2708            };
2709        }
2710    })
2711    if (yetience_callback) {
2712        yetience_callback()
2713    }
2714};
2715window.defineAutienceEmail = function (yetience_callback) {
2716    if (Autience) {
2717        email_json = {}
2718        Autience.lifecycle.postRender.push(function (widget) {
2719            var name = null,
2720                email = null,
2721                name_field_id = 'autience-emailform-name-' + widget.code,
2722                email_field_id = 'autience-emailform-email-' + widget.code,
2723                email_error_id = 'autience-emailform-email-error-' + widget.code,
2724                name_error_id = 'autience-emailform-name-error-' + widget.code,
2725                submit_field_id = 'autience-emailform-submit-' + widget.code
2726            var values = Autience.utils.nestedValue(widget, ['components', 'emailSubscription', 'values'])
2727            if (!values) {
2728                return
2729            }
2730            if ((Autience.utils.nestedValue(widget, ['components', 'emailSubscription']))) {
2731                Autience.utils.idListen(submit_field_id, 'click', function () {
2732                    var default_thankyou_message = 'You have been subscribed',
2733                        custom_thankyou_message = null,
2734                        thankyou_message = ''
2735                    if ((Autience.utils.nestedValue(widget, ['components', 'emailSubscription', 'values', 'customMessage']))) {
2736                        custom_thankyou_message = (Autience.utils.nestedValue(widget, ['components', 'emailSubscription', 'values', 'customMessage']))
2737                    }
2738                    if (custom_thankyou_message) {
2739                        thankyou_message = custom_thankyou_message
2740                    } else {
2741                        thankyou_message = default_thankyou_message
2742                    }
2743                    var previous_submit_text = document.getElementById(submit_field_id).innerHTML
2744                    document.getElementById(submit_field_id).innerHTML = "Hold on.."
2745                    name = document.getElementById(name_field_id).value
2746                    if (!validateName(name)) {
2747                        document.getElementById(name_error_id).innerHTML = 'Invalid Name'
2748                        document.getElementById(name_error_id).style.display = 'block'
2749                        document.getElementById(submit_field_id).innerHTML = previous_submit_text
2750                        return;
2751                    } else {
2752                        document.getElementById(name_error_id).style.display = 'none'
2753                    }
2754                    email = document.getElementById(email_field_id).value
2755                    if (!validateEmail(email)) {
2756                        document.getElementById(email_error_id).innerHTML = 'Invalid Email'
2757                        document.getElementById(email_error_id).style.display = 'block'
2758                        document.getElementById(submit_field_id).innerHTML = previous_submit_text
2759                        return;
2760                    } else {
2761                        document.getElementById(email_error_id).style.display = 'none'
2762                    }
2763                    var provider = widget.components.emailSubscription.values.provider
2764                    var list = widget.components.emailSubscription.values.list
2765                    var verify = widget.components.emailSubscription.values.verify
2766                    var send_welcome_email = Autience.utils.nestedValue(widget, ['components', 'welcomeEmail', 'values', 'sendWelcomeEmail'])
2767                    var autience_user_details = {
2768                        "email": email,
2769                        "name": name,
2770                        "website_id": Autience.setup.id,
2771                        "provider": provider,
2772                        "list": list,
2773                        "verify": verify,
2774                        "send_welcome_email": send_welcome_email,
2775                        "widget_id": widget.code,
2776                        "website_domain": Autience.setup.initial_domain
2777                    }
2778                    if ((Autience.utils.nestedValue(widget, ['components', 'welcomeEmail', 'values', 'removeSignatureFeature']))) {
2779                        autience_user_details.remove_email_signature = (Autience.utils.nestedValue(widget, ['components', 'welcomeEmail', 'values', 'removeEmailSignature']))
2780                    }
2781                    Autience.utils.sendEvent('new_email_subscribed', autience_user_details);
2782                    var autience_subscription_url = yetience.server + '/api/EmailSubscriptions/new_subscription';
2783                    console.log(autience_subscription_url)
2784                    if ((Autience.utils.nestedValue(widget, ['components', 'emailSubscription', 'values', 'thankyou'])) != 'yeloni') {
2785                        console.log('premium thankyou page found')
2786                    } else {
2787                        console.log('default thankyou page')
2788                    }
2789                    window.yetience.ajax(autience_subscription_url, 'POST', autience_user_details,
2790                        function (status_response) {
2791                            console.log('email response')
2792                            console.log(status_response)
2793                            var status = JSON.parse(status_response).status;
2794                            if (status == "CREATED_SUBSCRIPTION") {
2795                                if (typeof window.yeloniSubscriptionCallback === 'function') {
2796                                    console.log('Found a subscription callback function ')
2797                                    window.yeloniSubscriptionCallback(autience_user_details)
2798                                }
2799                                if ((Autience.utils.nestedValue(widget, ['configuration', 'whom', 'cta'])) == true) {
2800                                    Autience.utils.createCookie("autience-visitor-subscribed-" + widget.code, true, true)
2801                                }
2802                                Autience.utils.sendEvent('provider_email_saved', autience_user_details);
2803                                if ((Autience.utils.nestedValue(widget, ['components', 'emailSubscription', 'values', 'thankyou'])) == 'custom') {
2804                                    console.log('custom redirect')
2805                                    setTimeout(function () {
2806                                        window.location = widget.components.emailSubscription.values.thankyouUrl
2807                                    }, 3000);
2808                                    return
2809                                } else {
2810                                    document.getElementById('yeloni-email-form').innerHTML = thankyou_message
2811                                    document.getElementById('yeloni-email-form').style.textAlign = "center"
2812                                    document.getElementById('yeloni-email-form').style.fontSize = "16px"
2813                                    if (widget.themeType == "ActionButtons") {
2814                                        setTimeout(function () {
2815                                            document.getElementById('yel-main-box-wrapper').style.display = "none"
2816                                            document.getElementById('yel-arrow-wrapper').style.display = "none"
2817                                        }, 3000);
2818                                    } else {
2819                                        setTimeout(function () {
2820                                            Autience.utils.closeWidget(widget)
2821                                        }, 3000);
2822                                    }
2823                                    return
2824                                }
2825                                return
2826                            }
2827                            document.getElementById(submit_field_id).innerHTML = previous_submit_text
2828                            if (status == "ALREADY_SUBSCRIBED" || status == "SUBSCRIPTION_ERROR") {
2829                                document.getElementById(email_error_id).innerHTML = 'Email is already subscribed'
2830                                document.getElementById(email_error_id).style.display = 'block'
2831                            }
2832                            if (status == "SUBSCRIPTION_ERROR") {
2833                                document.getElementById(email_error_id).innerHTML = 'There was an error during susbcription'
2834                                document.getElementById(email_error_id).style.display = 'block'
2835                            }
2836                        },
2837                        function () {
2838                            console.log("something went wrong")
2839                        });
2840                })
2841            }
2842            function validateEmail(email) {
2843                if (!email || email.length < 2) {
2844                    return false
2845                }
2846                var re = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
2847                return re.test(email);
2848            }
2849            function validateName(name) {
2850                if (typeof (Autience.utils.nestedValue(widget, ['components', 'emailSubscription', 'values', 'askName'])) != 'undefined') {
2851                    if (!(Autience.utils.nestedValue(widget, ['components', 'emailSubscription', 'values', 'askName']))) {
2852                        return true
2853                    }
2854                }
2855                if (!(Autience.utils.nestedValue(widget, ['components', 'namePlaceholder', 'values', 'showName']))) {
2856                    return true
2857                }
2858                if (!name || name.length < 2) {
2859                    return false
2860                }
2861                var r_name = new RegExp(/^([^0-9]*)$/) //dont allow numbers
2862                var ret_reg = r_name.test(name)
2863                return ret_reg
2864            }
2865        })
2866        if (yetience_callback) {
2867            yetience_callback()
2868        }
2869    }
2870};
2871window.defineAutienceGDPR = function (yetience_callback) {
2872    if (Autience) {
2873        Autience.lifecycle.postRender.push(function (widget) {
2874            toggleSubmitButton(widget)
2875            Autience.utils.classListen('yel-gdpr-checkbox-' + widget.code, 'click', function (el) {
2876                toggleSubmitButton(widget)
2877            })
2878        })
2879        if (yetience_callback) {
2880            yetience_callback()
2881        }
2882    }
2883    function toggleSubmitButton(widget) {
2884        var submit_id = 'autience-emailform-submit-' + widget.code
2885        var gdpr_checkboxes = document.getElementsByClassName('yel-gdpr-checkbox-' + widget.code)
2886        var num_checked = 0
2887        var show_consent = Autience.utils.nestedValue(widget, ['components', 'gdprPlaceholder', 'values', 'showConsentCheckbox'])
2888        var show_terms = Autience.utils.nestedValue(widget, ['components', 'gdprPlaceholder', 'values', 'showTermsOfService']) || Autience.utils.nestedValue(widget, ['components', 'gdprPlaceholder', 'values', 'showPrivacyPolicy'])
2889        var num_to_be_checked = show_consent + show_terms
2890        for (var i = 0; i < gdpr_checkboxes.length; i++) {
2891            num_checked = num_checked + gdpr_checkboxes[i].checked
2892        }
2893        var submit_button = document.getElementById(submit_id)
2894        if (submit_button) {
2895            if (num_checked == num_to_be_checked) {
2896                submit_button.classList.remove("yel-grayed-button");
2897            } else {
2898                submit_button.classList.add("yel-grayed-button");
2899            }
2900        }
2901    }
2902};
2903window.defineAutienceSocial = function(yetience_callback) {
2904    if (Autience) {
2905        Autience.lifecycle.postRender.push(function(widget) {
2906            Autience.setup.networks.forEach(function(N) {
2907                bindAutienceShare(N.label, 'autience-network-' + N.label, N.sharing_link, N.sharing_param)
2908            })
2909            function bindAutienceShare(network, button_id, share_link, share_param) {
2910                var Config = {
2911                    Link: "a.share",
2912                    Width: 500,
2913                    Height: 500
2914                }
2915                var encoded_url = encodeURIComponent(window.location)
2916                Autience.utils.idListen(button_id, 'click', PopupHandler)
2917                function PopupHandler(e) {
2918                    console.log('clicked on ' + network)
2919                    console.log('share_link- ' + share_link)
2920                    console.log('share_param- ' + share_param)
2921                    e = (e ? e : window.event);
2922                    var t = (e.target ? e.target : e.srcElement);
2923                    var
2924                        px = Math.floor(((screen.availWidth || 1024) - Config.Width) / 2),
2925                        py = Math.floor(((screen.availHeight || 700) - Config.Height) / 2);
2926                    var popup = window.open(share_link + '?' + share_param + '=' + encoded_url, "social",
2927                        "width=" + Config.Width + ",height=" + Config.Height +
2928                        ",left=" + px + ",top=" + py +
2929                        ",location=0,menubar=0,toolbar=0,status=0,scrollbars=1,resizable=1");
2930                    if (popup) {
2931                        popup.focus();
2932                        if (e.preventDefault) e.preventDefault();
2933                        e.returnValue = false;
2934                    }
2935                    return !!popup;
2936                }
2937            }
2938        })
2939        if (yetience_callback) {
2940            yetience_callback()
2941        }
2942    }
2943};
2944window.defineAutienceRedirect = function(yetience_callback) {
2945    Autience.lifecycle.postRender.push(function(widget) {
2946        var component_array = []
2947        for (var tag in widget.components) {
2948            component_array.push({
2949                tag: tag,
2950                component: widget.components[tag]
2951            })
2952        }
2953        component_array.forEach(function(item) {
2954            Autience.utils.executeOnClass('autience-redirect-' + item.tag, function(el) {
2955                console.log('found redirect button ' + item.tag)
2956                Autience.utils.listen(el, 'click', function() {
2957                    var operation = item.component.values.operation
2958                    var url = null
2959                    switch (operation) {
2960                        case 'redirect':
2961                            url = item.component.values.redirectTo
2962                            break
2963                        case 'redirectClicked':
2964                            url = Autience.current_link
2965                            break
2966                    }
2967                    console.log('redirect to ' + url)
2968                    switch (item.component.values.redirectOn) {
2969                        case 'same':
2970                            Autience.utils.redirect(url)
2971                            break
2972                        case 'new':
2973                            Autience.utils.redirect(url, '_blank')
2974                            break
2975                    }
2976                    Autience.utils.closeWidget(widget)
2977                })
2978            })
2979        })
2980    })
2981    if (yetience_callback) {
2982        yetience_callback()
2983    }
2984};
2985window.defineAutienceChat = function (yetience_callback) {
2986    if (Autience) {
2987        Autience.lifecycle.postRender.push(function (widget) {
2988            Autience.setup.networks.forEach(function (N) {
2989                bindAutienceChat("zopim")
2990            })
2991            function bindAutienceChat(chatProvider) {
2992                Autience.utils.classListen('autience-open-chat', 'click', function () {
2993                    if (typeof zE != 'undefined' && typeof $zopim != 'undefined') {
2994                        zE.activate()
2995                        $zopim.livechat.window.show();
2996                    } else {
2997                        console.log('Zopim is not installed')
2998                    }
2999                })
3000            }
3001        })
3002        Autience.lifecycle.display.push(function (widget) {
3003            if (typeof $zopim != 'undefined') {
3004                var yel_body_height = window.innerHeight;
3005                var yel_body_width = window.innerWidth;
3006                var yel_zopim_height = 400;
3007                var yel_zopim_width = 310;
3008                var yel_popup_offset = 76;
3009                var chat_wrapper = document.getElementById("yel-chat-wrapper")
3010                if (chat_wrapper) {
3011                    var yel_loc = chat_wrapper.getBoundingClientRect();
3012                    $zopim(function () {
3013                        $zopim.livechat.window.show();
3014                        $zopim.livechat.window.setOffsetHorizontal(yel_body_width - yel_zopim_width - yel_loc.left - 5);
3015                        $zopim.livechat.window.setOffsetVertical((yel_body_height - yel_zopim_height) - yel_popup_offset);
3016                        /*var ua = navigator.userAgent.toLowerCase(),
3017                        platform = navigator.platform.toLowerCase();
3018                        platformName = ua.match(/ip(?:ad|od|hone)/) ? ‘ios’ : (ua.match(/(?:webos|android)/) || platform.match(/mac|win|linux/) || [‘other’])[0],
3019                        isMobile = /ios|android|webos/.test(platformName);*/
3020                        console.log(yel_body_width)
3021                        if (yel_body_width < 481) {
3022                            console.log("ot is mobile")
3023                            $zopim.livechat.window.setOffsetVertical((yel_body_height - yel_zopim_height) - yel_popup_offset);
3024                        }
3025                    })
3026                }
3027            }
3028        })
3029        if (yetience_callback) {
3030            yetience_callback()
3031        }
3032    }
3033};
3034window.defineAutienceBack = function(yetience_callback) {
3035    /*
3036    Autience.lifecycle.render.push(function(widget) {
3037        if (((Autience.utils.nestedValue(widget, ['trigger', 'trigger'])) == 'back') && !window.location.hash) {
3038            var history_length = window.history.length
3039            setTimeout(function() {
3040                window.location.hash = Autience.utils.randomString(); //
3041                setTimeout(function() {
3042                    Autience.hash_set = true
3043                }, 1000)
3044                setTimeout(function() {
3045                    if (history_length == window.history.length) {
3046                        var new_location = window.location.protocol + '//' + window.location.host + window.location.pathname + '#' + Autience.utils.randomString()
3047                        window.location = new_location
3048                        setTimeout(function() {
3049                            if (history_length == window.history.length) {
3050                                if (window.history.pushState) {
3051                                    new_location = window.location.protocol + '//' + window.location.host + window.location.pathname + '#' + Autience.utils.randomString()
3052                                    window.history.pushState(null, null, new_location)
3053                                    setTimeout(function() {
3054                                    }, 1000)
3055                                }
3056                            }
3057                        }, 1000)
3058                    }
3059                }, 1000)
3060            }, 1000)
3061        } else {
3062            if (!window.location.hash) {
3063                console.log('hash is not defined')
3064            }
3065        }
3066    })
3067    */
3068    Autience.lifecycle.render.push(function(widget) {
3069        if ((Autience.utils.nestedValue(widget, ['trigger', 'trigger'])) == 'back') {
3070            if (window.history && window.history.pushState) {
3071                history.pushState({
3072                    foo: "bar"
3073                }, "page 2", window.location.pathname);
3074            } else {
3075                console.log('window.history is not defined on this browser')
3076            }
3077        }
3078    })
3079    if (yetience_callback) {
3080        yetience_callback()
3081    }
3082}
3083window.defineAutienceActionButton = function (yetience_callback) {
3084    Autience.lifecycle.displayValidation.push(function (widget) {
3085        if (isActionButtonTheme(widget.themeType)) {
3086            var widget_enabled = widget.configuration.what.enable
3087            if (widget_enabled) {
3088                return true
3089            } else {
3090                return false
3091            }
3092        }
3093        return true
3094    })
3095    Autience.lifecycle.postRender.push(function (widget) {
3096        if (isActionButtonTheme(widget.themeType) && widget.theme == "action-button-yesno") {
3097            if ((Autience.utils.nestedValue(widget, ['components', 'button1Link', 'values', 'operation'])) == 'close') {
3098                Autience.utils.classListen('yel-yes-button', 'click', function (el) {
3099                    document.getElementsByClassName("yel-ab-main-wrapper")[0].style.visibility = "visible"
3100                    document.getElementById("yel-main-box-wrapper").style.display = "none"
3101                    document.getElementById("yel-circle-wrapper").style.display = "block"
3102                })
3103            }
3104            if ((Autience.utils.nestedValue(widget, ['components', 'button2Link', 'values', 'operation'])) == 'close') {
3105                Autience.utils.classListen('yel-no-button', 'click', function (el) {
3106                    document.getElementsByClassName("yel-ab-main-wrapper")[0].style.visibility = "visible"
3107                    document.getElementById("yel-main-box-wrapper").style.display = "none"
3108                    document.getElementById("yel-circle-wrapper").style.display = "block"
3109                })
3110            }
3111        }
3112    })
3113    Autience.lifecycle.postRender.push(function (widget) {
3114        if (isActionButtonTheme(widget.themeType)) {
3115            Autience.utils.classListen('yel-arrow-box-close', 'click', function (el) {
3116                document.getElementById("yel-arrow-wrapper").style.display = "none"
3117            })
3118        }
3119    })
3120    Autience.lifecycle.postRender.push(function (widget) {
3121        if (isActionButtonTheme(widget.themeType)) {
3122            Autience.utils.classListen('yel-mb-close', 'click', function (el) {
3123                document.getElementById("yel-main-box-wrapper").style.display = "none"
3124            })
3125        }
3126    })
3127    Autience.lifecycle.postRender.push(function (widget) {
3128        if (isActionButtonTheme(widget.themeType)) {
3129            document.getElementsByClassName("yel-main-box-wrapper")[0].style.display = "none";
3130            Autience.utils.classListen('yel-cta-button', 'click', function (el) {
3131                document.getElementsByClassName("yel-main-box-wrapper")[0].style.display = "block";
3132            })
3133        }
3134    })
3135    function isActionButtonTheme(themeType) {
3136        if (themeType == "ActionButtons")
3137            return true
3138        else
3139            return false
3140    }
3141    if (yetience_callback) {
3142        yetience_callback()
3143    }
3144};
3145/*!
3146 * jQuery Migrate - v1.0.0 - 2013-01-14
3147 * https://github.com/jquery/jquery-migrate
3148 * Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors; Licensed MIT
3149 */
3150(function(jQuery,window,undefined){"use strict";var warnedAbout={};jQuery.migrateWarnings=[];jQuery.migrateReset=function(){warnedAbout={};jQuery.migrateWarnings.length=0;};function migrateWarn(msg){if(!warnedAbout[msg]){warnedAbout[msg]=true;jQuery.migrateWarnings.push(msg);if(window.console&&console.warn&&!jQuery.migrateMute){}}}
3151function migrateWarnProp(obj,prop,value,msg){if(Object.defineProperty){try{Object.defineProperty(obj,prop,{configurable:true,enumerable:true,get:function(){migrateWarn(msg);return value;},set:function(newValue){migrateWarn(msg);value=newValue;}});return;}catch(err){}}
3152jQuery._definePropertyBroken=true;obj[prop]=value;}
3153if(document.compatMode==="BackCompat"){migrateWarn("jQuery is not compatible with Quirks Mode");}
3154var attrFn={},attr=jQuery.attr,valueAttrGet=jQuery.attrHooks.value&&jQuery.attrHooks.value.get||function(){return null;},valueAttrSet=jQuery.attrHooks.value&&jQuery.attrHooks.value.set||function(){return undefined;},rnoType=/^(?:input|button)$/i,rnoAttrNodeType=/^[238]$/,rboolean=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,ruseDefault=/^(?:checked|selected)$/i;migrateWarnProp(jQuery,"attrFn",attrFn,"jQuery.attrFn is deprecated");jQuery.attr=function(elem,name,value,pass){var lowerName=name.toLowerCase(),nType=elem&&elem.nodeType;if(pass){migrateWarn("jQuery.fn.attr( props, pass ) is deprecated");if(elem&&!rnoAttrNodeType.test(nType)&&jQuery.isFunction(jQuery.fn[name])){return jQuery(elem)[name](value);}}
3155if(name==="type"&&value!==undefined&&rnoType.test(elem.nodeName)){migrateWarn("Can't change the 'type' of an input or button in IE 6/7/8");}
3156if(!jQuery.attrHooks[lowerName]&&rboolean.test(lowerName)){jQuery.attrHooks[lowerName]={get:function(elem,name){var attrNode,property=jQuery.prop(elem,name);return property===true||typeof property!=="boolean"&&(attrNode=elem.getAttributeNode(name))&&attrNode.nodeValue!==false?name.toLowerCase():undefined;},set:function(elem,value,name){var propName;if(value===false){jQuery.removeAttr(elem,name);}else{propName=jQuery.propFix[name]||name;if(propName in elem){elem[propName]=true;}
3157elem.setAttribute(name,name.toLowerCase());}
3158return name;}};if(ruseDefault.test(lowerName)){migrateWarn("jQuery.fn.attr("+lowerName+") may use property instead of attribute");}}
3159return attr.call(jQuery,elem,name,value);};jQuery.attrHooks.value={get:function(elem,name){var nodeName=(elem.nodeName||"").toLowerCase();if(nodeName==="button"){return valueAttrGet.apply(this,arguments);}
3160if(nodeName!=="input"&&nodeName!=="option"){migrateWarn("property-based jQuery.fn.attr('value') is deprecated");}
3161return name in elem?elem.value:null;},set:function(elem,value){var nodeName=(elem.nodeName||"").toLowerCase();if(nodeName==="button"){return valueAttrSet.apply(this,arguments);}
3162if(nodeName!=="input"&&nodeName!=="option"){migrateWarn("property-based jQuery.fn.attr('value', val) is deprecated");}
3163elem.value=value;}};var matched,browser,oldInit=jQuery.fn.init,rquickExpr=/^(?:.*(<[\w\W]+>)[^>]*|#([\w\-]*))$/;jQuery.fn.init=function(selector,context,rootjQuery){var match;if(selector&&typeof selector==="string"&&!jQuery.isPlainObject(context)&&(match=rquickExpr.exec(selector))&&match[1]){if
3163(selector.charAt(0)!=="<"){migrateWarn("$(html) HTML strings must start with '<' character");}
3164if(context&&context.context){context=context.context;}
3165if(jQuery.parseHTML){return oldInit.call(this,jQuery.parseHTML(jQuery.trim(selector),context,true),context,rootjQuery);}}
3166return oldInit.apply(this,arguments);};jQuery.fn.init.prototype=jQuery.fn;jQuery.uaMatch=function(ua){ua=ua.toLowerCase();var match=/(chrome)[ \/]([\w.]+)/.exec(ua)||/(webkit)[ \/]([\w.]+)/.exec(ua)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua)||/(msie) ([\w.]+)/.exec(ua)||ua.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua)||[];return{browser:match[1]||"",version:match[2]||"0"};};matched=jQuery.uaMatch(navigator.userAgent);browser={};if(matched.browser){browser[matched.browser]=true;browser.version=matched.version;}
3167if(browser.chrome){browser.webkit=true;}else if(browser.webkit){browser.safari=true;}
3168jQuery.browser=browser;migrateWarnProp(jQuery,"browser",browser,"jQuery.browser is deprecated");jQuery.sub=function(){function jQuerySub(selector,context){return new jQuerySub.fn.init(selector,context);}
3169jQuery.extend(true,jQuerySub,this);jQuerySub.superclass=this;jQuerySub.fn=jQuerySub.prototype=this();jQuerySub.fn.constructor=jQuerySub;jQuerySub.sub=this.sub;jQuerySub.fn.init=function init(selector,context){if(context&&context instanceof jQuery&&!(context instanceof jQuerySub)){context=jQuerySub(context);}
3170return jQuery.fn.init.call(this,selector,context,rootjQuerySub);};jQuerySub.fn.init.prototype=jQuerySub.fn;var rootjQuerySub=jQuerySub(document);migrateWarn("jQuery.sub() is deprecated");return jQuerySub;};var oldFnData=jQuery.fn.data;jQuery.fn.data=function(name){var ret,evt,elem=this[0];if(elem&&name==="events"&&arguments.length===1){ret=jQuery.data(elem,name);evt=jQuery._data(elem,name);if((ret===undefined||ret===evt)&&evt!==undefined){migrateWarn("Use of jQuery.fn.data('events') is deprecated");return evt;}}
3171return oldFnData.apply(this,arguments);};var rscriptType=/\/(java|ecma)script/i,oldSelf=jQuery.fn.andSelf||jQuery.fn.addBack,oldFragment=jQuery.buildFragment;jQuery.fn.andSelf=function(){migrateWarn("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()");return oldSelf.apply(this,arguments);};if(!jQuery.clean){jQuery.clean=function(elems,context,fragment,scripts){context=context||document;context=!context.nodeType&&context[0]||context;context=context.ownerDocument||context;migrateWarn("jQuery.clean() is deprecated");var i,elem,handleScript,jsTags,ret=[];jQuery.merge(ret,jQuery.buildFragment(elems,context).childNodes);if(fragment){handleScript=function(elem){if(!elem.type||rscriptType.test(elem.type)){return scripts?scripts.push(elem.parentNode?elem.parentNode.removeChild(elem):elem):fragment.appendChild(elem);}};for(i=0;(elem=ret[i])!=null;i++){if(!(jQuery.nodeName(elem,"script")&&handleScript(elem))){fragment.appendChild(elem);if(typeof elem.getElementsByTagName!=="undefined"){jsTags=jQuery.grep(jQuery.merge([],elem.getElementsByTagName("script")),handleScript);ret.splice.apply(ret,[i+1,0].concat(jsTags));i+=jsTags.length;}}}}
3172return ret;};}
3173jQuery.buildFragment=function(elems,context,scripts,selection){var ret,warning="jQuery.buildFragment() is deprecated";context=context||document;context=!context.nodeType&&context[0]||context;context=context.ownerDocument||context;try{ret=oldFragment.call(jQuery,elems,context,scripts,selection);}catch(x){ret=oldFragment.call(jQuery,elems,context.nodeType?[context]:context[0],scripts,selection);migrateWarn(warning);}
3174if(!ret.fragment){migrateWarnProp(ret,"fragment",ret,warning);migrateWarnProp(ret,"cacheable",false,warning);}
3175return ret;};var eventAdd=jQuery.event.add,eventRemove=jQuery.event.remove,eventTrigger=jQuery.event.trigger,oldToggle=jQuery.fn.toggle,oldLive=jQuery.fn.live,oldDie=jQuery.fn.die,ajaxEvents="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",rajaxEvent=new RegExp("\\b(?:"+ajaxEvents+")\\b"),rhoverHack=/(?:^|\s)hover(\.\S+|)\b/,hoverHack=function(events){if(typeof(events)!="string"||jQuery.event.special.hover){return events;}
3176if(rhoverHack.test(events)){migrateWarn("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'");}
3177return events&&events.replace(rhoverHack,"mouseenter$1 mouseleave$1");};if(jQuery.event.props&&jQuery.event.props[0]!=="attrChange"){jQuery.event.props.unshift("attrChange","attrName","relatedNode","srcElement");}
3178migrateWarnProp(jQuery.event,"handle",jQuery.event.dispatch,"jQuery.event.handle is undocumented and deprecated");jQuery.event.add=function(elem,types,handler,data,selector){if(elem!==document&&rajaxEvent.test(types)){migrateWarn("AJAX events should be attached to document: "+types);}
3179eventAdd.call(this,elem,hoverHack(types||""),handler,data,selector);};jQuery.event.remove=function(elem,types,handler,selector,mappedTypes){eventRemove.call(this,elem,hoverHack(types)||"",handler,selector,mappedTypes);};jQuery.fn.error=function(){var args=Array.prototype.slice.call(arguments,0);migrateWarn("jQuery.fn.error() is deprecated");args.splice(0,0,"error");
3179if(arguments.length){return this.bind.apply(this,args);}
3180this.triggerHandler.apply(this,args);return this;};jQuery.fn.toggle=function(fn,fn2){if(!jQuery.isFunction(fn)||!jQuery.isFunction(fn2)){return oldToggle.apply(this,arguments);}
3181migrateWarn("jQuery.fn.toggle(handler, handler...) is deprecated");var args=arguments,guid=fn.guid||jQuery.guid++,i=0,toggler=function(event){var lastToggle=(jQuery._data(this,"lastToggle"+fn.guid)||0)%i;jQuery._data(this,"lastToggle"+fn.guid,lastToggle+1);event.preventDefault();return args[lastToggle].apply(this,arguments)||false;};toggler.guid=guid;while(i<args.length){args[i++].guid=guid;}
3182return this.click(toggler);};jQuery.fn.live=function(types,data,fn){migrateWarn("jQuery.fn.live() is deprecated");if(oldLive){return oldLive.apply(this,arguments);}
3183jQuery(this.context).on(types,this.selector,data,fn);return this;};jQuery.fn.die=function(types,fn){migrateWarn("jQuery.fn.die() is deprecated");if(oldDie){return oldDie.apply(this,arguments);}
3184jQuery(this.context).off(types,this.selector||"**",fn);return this;};jQuery.event.trigger=function(event,data,elem,onlyHandlers){if(!elem&!rajaxEvent.test(event)){migrateWarn("Global events are undocumented and deprecated");}
3185return eventTrigger.call(this,event,data,elem||document,onlyHandlers);};jQuery.each(ajaxEvents.split("|"),function(_,name){jQuery.event.special[name]={setup:function(){var elem=this;if(elem!==document){jQuery.event.add(document,name+"."+jQuery.guid,function(){jQuery.event.trigger(name,null,elem,true);});jQuery._data(this,name,jQuery.guid++);}
3186return false;},teardown:function(){if(this!==document){jQuery.event.remove(document,name+"."+jQuery._data(this,name));}
3187return false;}};});})(jQuery,window);
3188if(!jQuery){throw new Error("Bootstrap requires jQuery")}
3189+function($){"use strict";function transitionEnd(){var el=document.createElement('bootstrap')
3190var transEndEventNames={'WebkitTransition':'webkitTransitionEnd','MozTransition':'transitionend','OTransition':'oTransitionEnd otransitionend','transition':'transitionend'}
3191for(var name in transEndEventNames){if(el.style[name]!==undefined){return{end:transEndEventNames[name]}}}}
3192$.fn.emulateTransitionEnd=function(duration){var called=false,$el=this
3193$(this).one($.support.transition.end,function(){called=true})
3194var callback=function(){if(!called)$($el).trigger($.support.transition.end)}
3195setTimeout(callback,duration)
3196return this}
3197$(function(){$.support.transition=transitionEnd()})}(window.jQuery);+function($){"use strict";var dismiss='[data-dismiss="alert"]'
3198var Alert=function(el){$(el).on('click',dismiss,this.close)}
3199Alert.prototype.close=function(e){var $this=$(this)
3200var selector=$this.attr('data-target')
3201if(!selector){selector=$this.attr('href')
3202selector=selector&&selector.replace(/.*(?=#[^\s]*$)/,'')}
3203var $parent=$(selector)
3204if(e)e.preventDefault()
3205if(!$parent.length){$parent=$this.hasClass('alert')?$this:$this.parent()}
3206$parent.trigger(e=$.Event('close.bs.alert'))
3207if(e.isDefaultPrevented())return
3208$parent.removeClass('in')
3209function removeElement(){$parent.trigger('closed.bs.alert').remove()}
3210$.support.transition&&$parent.hasClass('fade')?$parent.one($.support.transition.end,removeElement).emulateTransitionEnd(150):removeElement()}
3211var old=$.fn.alert
3212$.fn.alert=function(option){return this.each(function(){var $this=$(this)
3213var data=$this.data('bs.alert')
3214if(!data)$this.data('bs.alert',(data=new Alert(this)))
3215if(typeof option=='string')data[option].call($this)})}
3216$.fn.alert.Constructor=Alert
3217$.fn.alert.noConflict=function(){$.fn.alert=old
3218return this}
3219$(document).on('click.bs.alert.data-api',dismiss,Alert.prototype.close)}(window.jQuery);+function($){"use strict";var Button=function(element,options){this.$element=$(element)
3220this.options=$.extend({},Button.DEFAULTS,options)}
3221Button.DEFAULTS={loadingText:'loading...'}
3222Button.prototype.setState=function(state){var d='disabled'
3223var $el=this.$element
3224var val=$el.is('input')?'val':'html'
3225var data=$el.data()
3226state=state+'Text'
3227if(!data.resetText)$el.data('resetText',$el[val]())
3228$el[val](data[state]||this.options[state])
3229setTimeout(function(){state=='loadingText'?$el.addClass(d).attr(d,d):$el.removeClass(d).removeAttr(d);},0)}
3230Button.prototype.toggle=function(){var $parent=this.$element.closest('[data-toggle="buttons"]')
3231if($parent.length){var $input=this.$element.find('input').prop('checked',!this.$element.hasClass('active')).trigger('change')
3232if($input.prop('type')==='radio')$parent.find('.active').removeClass('active')}
3233this.$element.toggleClass('active')}
3234var old=$.fn.button
3235$.fn.button=function(option){return this.each(function(){var $this=$(this)
3236var data=$this.data('bs.button')
3237var options=typeof option=='object'&&option
3238if(!data)$this.data('bs.button',(data=new Button(this,options)))
3239if(option=='toggle')data.toggle()
3240else if(option)data.setState(option)})}
3241$.fn.button.Constructor=Button
3242$.fn.button.noConflict=function(){$.fn.button=old
3243return this}
3244$(document).on('click.bs.button.data-api','[data-toggle^=button]',function(e){var $btn=$(e.target)
vendor: 23,193 bytes, lines 3245-3633
3245if(!$btn.hasClass('btn'))$btn=$btn.closest('.btn')
3246$btn.button('toggle')
3247e.preventDefault()})}(window.jQuery);+function($){"use strict";var Carousel=function(element,options){this.$element=$(element)
3248this.$indicators=this.$element.find('.carousel-indicators')
3249this.options=options
3250this.paused=this.sliding=this.interval=this.$active=this.$items=null
3251this.options.pause=='hover'&&this.$element.on('mouseenter',$.proxy(this.pause,this)).on('mouseleave',$.proxy(this.cycle,this))}
3252Carousel.DEFAULTS={interval:5000,pause:'hover',wrap:true}
3253Carousel.prototype.cycle=function(e){e||(this.paused=false)
3254this.interval&&clearInterval(this.interval)
3255this.options.interval&&!this.paused&&(this.interval=setInterval($.proxy(this.next,this),this.options.interval))
3256return this}
3257Carousel.prototype.getActiveIndex=function(){this.$active=this.$element.find('.item.active')
3258this.$items=this.$active.parent().children()
3259return this.$items.index(this.$active)}
3260Carousel.prototype.to=function(pos){var that=this
3261var activeIndex=this.getActiveIndex()
3262if(pos>(this.$items.length-1)||pos<0)return
3263if(this.sliding)return this.$element.one('slid',function(){that.to(pos)})
3264if(activeIndex==pos)return this.pause().cycle()
3265return this.slide(pos>activeIndex?'next':'prev',$(this.$items[pos]))}
3266Carousel.prototype.pause=function(e){e||(this.paused=true)
3267if(this.$element.find('.next, .prev').length&&$.support.transition.end){this.$element.trigger($.support.transition.end)
3268this.cycle(true)}
3269this.interval=clearInterval(this.interval)
3270return this}
3271Carousel.prototype.next=function(){if(this.sliding)return
3272return this.slide('next')}
3273Carousel.prototype.prev=function(){if(this.sliding)return
3274return this.slide('prev')}
3275Carousel.prototype.slide=function(type,next){var $active=this.$element.find('.item.active')
3276var $next=next||$active[type]()
3277var isCycling=this.interval
3278var direction=type=='next'?'left':'right'
3279var fallback=type=='next'?'first':'last'
3280var that=this
3281if(!$next.length){if(!this.options.wrap)return
3282$next=this.$element.find('.item')[fallback]()}
3283this.sliding=true
3284isCycling&&this.pause()
3285var e=$.Event('slide.bs.carousel',{relatedTarget:$next[0],direction:direction})
3286if($next.hasClass('active'))return
3287if(this.$indicators.length){this.$indicators.find('.active').removeClass('active')
3288this.$element.one('slid',function(){var $nextIndicator=$(that.$indicators.children()[that.getActiveIndex()])
3289$nextIndicator&&$nextIndicator.addClass('active')})}
3290if($.support.transition&&this.$element.hasClass('slide')){this.$element.trigger(e)
3291if(e.isDefaultPrevented())return
3292$next.addClass(type)
3293$next[0].offsetWidth
3294$active.addClass(direction)
3295$next.addClass(direction)
3296$active.one($.support.transition.end,function(){$next.removeClass([type,direction].join(' ')).addClass('active')
3297$active.removeClass(['active',direction].join(' '))
3298that.sliding=false
3299setTimeout(function(){that.$element.trigger('slid')},0)}).emulateTransitionEnd(600)}else{this.$element.trigger(e)
3300if(e.isDefaultPrevented())return
3301$active.removeClass('active')
3302$next.addClass('active')
3303this.sliding=false
3304this.$element.trigger('slid')}
3305isCycling&&this.cycle()
3306return this}
3307var old=$.fn.carousel
3308$.fn.carousel=function(option){return this.each(function(){var $this=$(this)
3309var data=$this.data('bs.carousel')
3310var options=$.extend({},Carousel.DEFAULTS,$this.data(),typeof option=='object'&&option)
3311var action=typeof option=='string'?option:options.slide
3312if(!data)$this.data('bs.carousel',(data=new Carousel(this,options)))
3313if(typeof option=='number')data.to(option)
3314else if(action)data[action]()
3315else if(options.interval)data.pause().cycle()})}
3316$.fn.carousel.Constructor=Carousel
3317$.fn.carousel.noConflict=function(){$.fn.carousel=old
3318return this}
3319$(document).on('click.bs.carousel.data-api','[data-slide], [data-slide-to]',function(e){var $this=$(this),href
3320var $target=$($this.attr('data-target')||(href=$this.attr('href'))&&href.replace(/.*(?=#[^\s]+$)/,''))
3321var options=$.extend({},$target.data(),$this.data())
3322var slideIndex=$this.attr('data-slide-to')
3323if(slideIndex)options.interval=false
3324$target.carousel(options)
3325if(slideIndex=$this.attr('data-slide-to')){$target.data('bs.carousel').to(slideIndex)}
3326e.preventDefault()})
3327$(window).on('load',function(){$('[data-ride="carousel"]').each(function(){var $carousel=$(this)
3328$carousel.carousel($carousel.data())})})}(window.jQuery);+function($){"use strict";var Collapse=function(element,options){this.$element=$(element)
3329this.options=$.extend({},Collapse.DEFAULTS,options)
3330this.transitioning=null
3331if(this.options.parent)this.$parent=$(this.options.parent)
3332if(this.options.toggle)this.toggle()}
3333Collapse.DEFAULTS={toggle:true}
3334Collapse.prototype.dimension=function(){var hasWidth=this.$element.hasClass('width')
3335return hasWidth?'width':'height'}
3336Collapse.prototype.show=function(){if(this.transitioning||this.$element.hasClass('in'))return
3337var startEvent=$.Event('show.bs.collapse')
3338this.$element.trigger(startEvent)
3339if(startEvent.isDefaultPrevented())return
3340var actives=this.$parent&&this.$parent.find('> .panel > .in')
3341if(actives&&actives.length){var hasData=actives.data('bs.collapse')
3342if(hasData&&hasData.transitioning)return
3343actives.collapse('hide')
3344hasData||actives.data('bs.collapse',null)}
3345var dimension=this.dimension()
3346this.$element.removeClass('collapse').addClass('collapsing')
3347[dimension](0)
3348this.transitioning=1
3349var complete=function(){this.$element.removeClass('collapsing').addClass('in')
3350[dimension]('auto')
3351this.transitioning=0
3352this.$element.trigger('shown.bs.collapse')}
3353if(!$.support.transition)return complete.call(this)
3354var scrollSize=$.camelCase(['scroll',dimension].join('-'))
3355this.$element.one($.support.transition.end,$.proxy(complete,this)).emulateTransitionEnd(350)
3356[dimension](this.$element[0][scrollSize])}
3357Collapse.prototype.hide=function(){if(this.transitioning||!this.$element.hasClass('in'))return
3358var startEvent=$.Event('hide.bs.collapse')
3359this.$element.trigger(startEvent)
3360if(startEvent.isDefaultPrevented())return
3361var dimension=this.dimension()
3362this.$element
3363[dimension](this.$element[dimension]())
3364[0].offsetHeight
3365this.$element.addClass('collapsing').removeClass('collapse').removeClass('in')
3366this.transitioning=1
3367var complete=function(){this.transitioning=0
3368this.$element.trigger('hidden.bs.collapse').removeClass('collapsing').addClass('collapse')}
3369if(!$.support.transition)return complete.call(this)
3370this.$element
3371[dimension](0).one($.support.transition.end,$.proxy(complete,this)).emulateTransitionEnd(350)}
3372Collapse.prototype.toggle=function(){this[this.$element.hasClass('in')?'hide':'show']()}
3373var old=$.fn.collapse
3374$.fn.collapse=function(option){return this.each(function(){var $this=$(this)
3375var data=$this.data('bs.collapse')
3376var options=$.extend({},Collapse.DEFAULTS,$this.data(),typeof option=='object'&&option)
3377if(!data)$this.data('bs.collapse',(data=new Collapse(this,options)))
3378if(typeof option=='string')data[option]()})}
3379$.fn.collapse.Constructor=Collapse
3380$.fn.collapse.noConflict=function(){$.fn.collapse=old
3381return this}
3382$(document).on('click.bs.collapse.data-api','[data-toggle=collapse]',function(e){var $this=$(this),href
3383var target=$this.attr('data-target')||e.preventDefault()||(href=$this.attr('href'))&&href.replace(/.*(?=#[^\s]+$)/,'')
3384var $target=$(target)
3385var data=$target.data('bs.collapse')
3386var option=data?'toggle':$this.data()
3387var parent=$this.attr('data-parent')
3388var $parent=parent&&$(parent)
3389if(!data||!data.transitioning){if($parent)$parent.find('[data-toggle=collapse][data-parent="'+parent+'"]').not($this).addClass('collapsed')
3390$this[$target.hasClass('in')?'addClass':'removeClass']('collapsed')}
3391$target.collapse(option)})}(window.jQuery);+function($){"use strict";var backdrop='.dropdown-backdrop'
3392var toggle='[data-toggle=dropdown]'
3393var Dropdown=function(element){var $el=$(element).on('click.bs.dropdown',this.toggle)}
3394Dropdown.prototype.toggle=function(e){var $this=$(this)
3395if($this.is('.disabled, :disabled'))return
3396var $parent=getParent($this)
3397var isActive=$parent.hasClass('open')
3398clearMenus()
3399if(!isActive){if('ontouchstart'in document.documentElement&&!$parent.closest('.navbar-nav').length){$('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click',clearMenus)}
3400$parent.trigger(e=$.Event('show.bs.dropdown'))
3401if(e.isDefaultPrevented())return
3402$parent.toggleClass('open').trigger('shown.bs.dropdown')
3403$this.focus()}
3404return false}
3405Dropdown.prototype.keydown=function(e){if(!/(38|40|27)/.test(e.keyCode))return
3406var $this=$(this)
3407e.preventDefault()
3408e.stopPropagation()
3409if($this.is('.disabled, :disabled'))return
3410var $parent=getParent($this)
3411var isActive=$parent.hasClass('open')
3412if(!isActive||(isActive&&e.keyCode==27)){if(e.which==27)$parent.find(toggle).focus()
3413return $this.click()}
3414var $items=$('[role=menu] li:not(.divider):visible a',$parent)
3415if(!$items.length)return
3416var index=$items.index($items.filter(':focus'))
3417if(e.keyCode==38&&index>0)index--
3418if(e.keyCode==40&&index<$items.length-1)index++
3419if(!~index)index=0
3420$items.eq(index).focus()}
3421function clearMenus(){$(backdrop).remove()
3422$(toggle).each(function(e){var $parent=getParent($(this))
3423if(!$parent.hasClass('open'))return
3424$parent.trigger(e=$.Event('hide.bs.dropdown'))
3425if(e.isDefaultPrevented())return
3426$parent.removeClass('open').trigger('hidden.bs.dropdown')})}
3427function getParent($this){var selector=$this.attr('data-target')
3428if(!selector){selector=$this.attr('href')
3429selector=selector&&/#/.test(selector)&&selector.replace(/.*(?=#[^\s]*$)/,'')}
3430var $parent=selector&&$(selector)
3431return $parent&&$parent.length?$parent:$this.parent()}
3432var old=$.fn.dropdown
3433$.fn.dropdown=function(option){return this.each(function(){var $this=$(this)
3434var data=$this.data('dropdown')
3435if(!data)$this.data('dropdown',(data=new Dropdown(this)))
3436if(typeof option=='string')data[option].call($this)})}
3437$.fn.dropdown.Constructor=Dropdown
3438$.fn.dropdown.noConflict=function(){$.fn.dropdown=old
3439return this}
3440$(document).on('click.bs.dropdown.data-api',clearMenus).on('click.bs.dropdown.data-api','.dropdown form',function(e){e.stopPropagation()}).on('click.bs.dropdown.data-api',toggle,Dropdown.prototype.toggle).on('keydown.bs.dropdown.data-api',toggle+', [role=menu]',Dropdown.prototype.keydown)}(window.jQuery);+function($){"use strict";var Modal=function(element,options){this.options=options
3441this.$element=$(element)
3442this.$backdrop=this.isShown=null
3443if(this.options.remote)this.$element.load(this.options.remote)}
3444Modal.DEFAULTS={backdrop:true,keyboard:true,show:true}
3445Modal.prototype.toggle=function(_relatedTarget){return this[!this.isShown?'show':'hide'](_relatedTarget)}
3446Modal.prototype.show=function(_relatedTarget){var that=this
3447var e=$.Event('show.bs.modal',{relatedTarget:_relatedTarget})
3448this.$element.trigger(e)
3449if(this.isShown||e.isDefaultPrevented())return
3450this.isShown=true
3451this.escape()
3452this.$element.on('click.dismiss.modal','[data-dismiss="modal"]',$.proxy(this.hide,this))
3453this.backdrop(function(){var transition=$.support.transition&&that.$element.hasClass('fade')
3454if(!that.$element.parent().length){that.$element.appendTo(document.body)}
3455that.$element.show()
3456if(transition){that.$element[0].offsetWidth}
3457that.$element.addClass('in').attr('aria-hidden',false)
3458that.enforceFocus()
3459var e=$.Event('shown.bs.modal',{relatedTarget:_relatedTarget})
3460transition?that.$element.find('.modal-dialog').one($.support.transition.end,function(){that.$element.focus().trigger(e)}).emulateTransitionEnd(300):that.$element.focus().trigger(e)})}
3461Modal.prototype.hide=function(e){if(e)e.preventDefault()
3462e=$.Event('hide.bs.modal')
3463this.$element.trigger(e)
3464if(!this.isShown||e.isDefaultPrevented())return
3465this.isShown=false
3466this.escape()
3467$(document).off('focusin.bs.modal')
3468this.$element.removeClass('in').attr('aria-hidden',true).off('click.dismiss.modal')
3469$.support.transition&&this.$element.hasClass('fade')?this.$element.one($.support.transition.end,$.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal()}
3470Modal.prototype.enforceFocus=function(){$(document).off('focusin.bs.modal').on('focusin.bs.modal',$.proxy(function(e){if(this.$element[0]!==e.target&&!this.$element.has(e.target).length){this.$element.focus()}},this))}
3471Modal.prototype.escape=function(){if(this.isShown&&this.options.keyboard){this.$element.on('keyup.dismiss.bs.modal',$.proxy(function(e){e.which==27&&this.hide()},this))}else if(!this.isShown){this.$element.off('keyup.dismiss.bs.modal')}}
3472Modal.prototype.hideModal=function(){var that=this
3473this.$element.hide()
3474this.backdrop(function(){that.removeBackdrop()
3475that.$element.trigger('hidden.bs.modal')})}
3476Modal.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove()
3477this.$backdrop=null}
3478Modal.prototype.backdrop=function(callback){var that=this
3479var animate=this.$element.hasClass('fade')?'fade':''
3480if(this.isShown&&this.options.backdrop){var doAnimate=$.support.transition&&animate
3481this.$backdrop=$('<div class="modal-backdrop '+animate+'" />').appendTo(document.body)
3482this.$element.on('click.dismiss.modal',$.proxy(function(e){if(e.target!==e.currentTarget)return
3483this.options.backdrop=='static'?this.$element[0].focus.call(this.$element[0]):this.hide.call(this)},this))
3484if(doAnimate)this.$backdrop[0].offsetWidth
3485this.$backdrop.addClass('in')
3486if(!callback)return
3487doAnimate?this.$backdrop.one($.support.transition.end,callback).emulateTransitionEnd(150):callback()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass('in')
3488$.support.transition&&this.$element.hasClass('fade')?this.$backdrop.one($.support.transition.end,callback).emulateTransitionEnd(150):callback()}else if(callback){callback()}}
3489var old=$.fn.modal
3490$.fn.modal=function(option,_relatedTarget){return this.each(function(){var $this=$(this)
3491var data=$this.data('bs.modal')
3492var options=$.extend({},Modal.DEFAULTS,$this.data(),typeof option=='object'&&option)
3493if(!data)$this.data('bs.modal',(data=new Modal(this,options)))
3494if(typeof option=='string')data[option](_relatedTarget)
3495else if(options.show)data.show(_relatedTarget)})}
3496$.fn.modal.Constructor=Modal
3497$.fn.modal.noConflict=function(){$.fn.modal=old
3498return this}
3499$(document).on('click.bs.modal.data-api','[data-toggle="modal"]',function(e){var $this=$(this)
3500var href=$this.attr('href')
3501var $target=$($this.attr('data-target')||(href&&href.replace(/.*(?=#[^\s]+$)/,'')))
3502var option=$target.data('modal')?'toggle':$.extend({remote:!/#/.test(href)&&href},$target.data(),$this.data())
3503e.preventDefault()
3504$target.modal(option,this).one('hide',function(){$this.is(':visible')&&$this.focus()})})
3505$(document).on('show.bs.modal','.modal',function(){$(document.body).addClass('modal-open')}).on('hidden.bs.modal','.modal',function(){$(document.body).removeClass('modal-open')})}(window.jQuery);+function($){"use strict";var Tooltip=function(element,options){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null
3506this.init('tooltip',element,options)}
3507Tooltip.DEFAULTS={animation:true,placement:'top',selector:false,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:'hover focus',title:'',delay:0,html:false,container:false}
3508Tooltip.prototype.init=function(type,element,options){this.enabled=true
3509this.type=type
3510this.$element=$(element)
3511this.options=this.getOptions(options)
3512var triggers=this.options.trigger.split(' ')
3513for(var i=triggers.length;i--;){var trigger=triggers[i]
3514if(trigger=='click'){this.$element.on('click.'+this.type,this.options.selector,$.proxy(this.toggle,this))}else if(trigger!='manual'){var eventIn=trigger=='hover'?'mouseenter':'focus'
3515var eventOut=trigger=='hover'?'mouseleave':'blur'
3516this.$element.on(eventIn+'.'+this.type,this.options.selector,$.proxy(this.enter,this))
3517this.$element.on(eventOut+'.'+this.type,this.options.selector,$.proxy(this.leave,this))}}
3518this.options.selector?(this._options=$.extend({},this.options,{trigger:'manual',selector:''})):this.fixTitle()}
3519Tooltip.prototype.getDefaults=function(){return Tooltip.DEFAULTS}
3520Tooltip.prototype.getOptions=function(options){options=$.extend({},this.getDefaults(),this.$element.data(),options)
3521if(options.delay&&typeof options.delay=='number'){options.delay={show:options.delay,hide:options.delay}}
3522return options}
3523Tooltip.prototype.getDelegateOptions=function(){var options={}
3524var defaults=this.getDefaults()
3525this._options&&$.each(this._options,function(key,value){if(defaults[key]!=value)options[key]=value})
3526return options}
3527Tooltip.prototype.enter=function(obj){var self=obj instanceof this.constructor?obj:$(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.'+this.type)
3528clearTimeout(self.timeout)
3529self.hoverState='in'
3530if(!self.options.delay||!self.options.delay.show)return self.show()
3531self.timeout=setTimeout(function(){if(self.hoverState=='in')self.show()},self.options.delay.show)}
3532Tooltip.prototype.leave=function(obj){var self=obj instanceof this.constructor?obj:$(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.'+this.type)
3533clearTimeout(self.timeout)
3534self.hoverState='out'
3535if(!self.options.delay||!self.options.delay.hide)return self.hide()
3536self.timeout=setTimeout(function(){if(self.hoverState=='out')self.hide()},self.options.delay.hide)}
3537Tooltip.prototype.show=function(){var e=$.Event('show.bs.'+this.type)
3538if(this.hasContent()&&this.enabled){this.$element.trigger(e)
3539if(e.isDefaultPrevented())return
3540var $tip=this.tip()
3541this.setContent()
3542if(this.options.animation)$tip.addClass('fade')
3543var placement=typeof this.options.placement=='function'?this.options.placement.call(this,$tip[0],this.$element[0]):this.options.placement
3544var autoToken=/\s?auto?\s?/i
3545var autoPlace=autoToken.test(placement)
3546if(autoPlace)placement=placement.replace(autoToken,'')||'top'
3547$tip.detach().css({top:0,left:0,display:'block'}).addClass(placement)
3548this.options.container?$tip.appendTo(this.options.container):$tip.insertAfter(this.$element)
3549var pos=this.getPosition()
3550var actualWidth=$tip[0].offsetWidth
3551var actualHeight=$tip[0].offsetHeight
3552if(autoPlace){var $parent=this.$element.parent()
3553var orgPlacement=placement
3554var docScroll=document.documentElement.scrollTop||document.body.scrollTop
3555var parentWidth=this.options.container=='body'?window.innerWidth:$parent.outerWidth()
3556var parentHeight=this.options.container=='body'?window.innerHeight:$parent.outerHeight()
3557var parentLeft=this.options.container=='body'?0:$parent.offset().left
3558placement=placement=='bottom'&&pos.top+pos.height+actualHeight-docScroll>parentHeight?'top':placement=='top'&&pos.top-docScroll-actualHeight<0?'bottom':placement=='right'&&pos.right+actualWidth>parentWidth?'left':placement=='left'&&pos.left-actualWidth<parentLeft?'right':placement
3559$tip.removeClass(orgPlacement).addClass(placement)}
3560var calculatedOffset=this.getCalculatedOffset(placement,pos,actualWidth,actualHeight)
3561this.applyPlacement(calculatedOffset,placement)
3562this.$element.trigger('shown.bs.'+this.type)}}
3563Tooltip.prototype.applyPlacement=function(offset,placement){var replace
3564var $tip=this.tip()
3565var width=$tip[0].offsetWidth
3566var height=$tip[0].offsetHeight
3567var marginTop=parseInt($tip.css('margin-top'),10)
3568var marginLeft=parseInt($tip.css('margin-left'),10)
3569if(isNaN(marginTop))marginTop=0
3570if(isNaN(marginLeft))marginLeft=0
3571offset.top=offset.top+marginTop
3572offset.left=offset.left+marginLeft
3573$tip.offset(offset).addClass('in')
3574var actualWidth=$tip[0].offsetWidth
3575var actualHeight=$tip[0].offsetHeight
3576if(placement=='top'&&actualHeight!=height){replace=true
3577offset.top=offset.top+height-actualHeight}
3578if(/bottom|top/.test(placement)){var delta=0
3579if(offset.left<0){delta=offset.left*-2
3580offset.left=0
3581$tip.offset(offset)
3582actualWidth=$tip[0].offsetWidth
3583actualHeight=$tip[0].offsetHeight}
3584this.replaceArrow(delta-width+actualWidth,actualWidth,'left')}else{this.replaceArrow(actualHeight-height,actualHeight,'top')}
3585if(replace)$tip.offset(offset)}
3586Tooltip.prototype.replaceArrow=function(delta,dimension,position){this.arrow().css(position,delta?(50*(1-delta/dimension)+"%"):'')}
3587Tooltip.prototype.setContent=function(){var $tip=this.tip()
3588var title=this.getTitle()
3589$tip.find('.tooltip-inner')[this.options.html?'html':'text'](title)
3590$tip.removeClass('fade in top bottom left right')}
3591Tooltip.prototype.hide=function(){var that=this
3592var $tip=this.tip()
3593var e=$.Event('hide.bs.'+this.type)
3594function complete(){if(that.hoverState!='in')$tip.detach()}
3595this.$element.trigger(e)
3596if(e.isDefaultPrevented())return
3597$tip.removeClass('in')
3598$.support.transition&&this.$tip.hasClass('fade')?$tip.one($.support.transition.end,complete).emulateTransitionEnd(150):complete()
3599this.$element.trigger('hidden.bs.'+this.type)
3600return this}
3601Tooltip.prototype.fixTitle=function(){var $e=this.$element
3602if($e.attr('title')||typeof($e.attr('data-original-title'))!='string'){$e.attr('data-original-title',$e.attr('title')||'').attr('title','')}}
3603Tooltip.prototype.hasContent=function(){return this.getTitle()}
3604Tooltip.prototype.getPosition=function(){var el=this.$element[0]
3605return $.extend({},(typeof el.getBoundingClientRect=='function')?el.getBoundingClientRect():{width:el.offsetWidth,height:el.offsetHeight},this.$element.offset())}
3606Tooltip.prototype.getCalculatedOffset=function(placement,pos,actualWidth,actualHeight){return placement=='bottom'?{top:pos.top+pos.height,left:pos.left+pos.width/2-actualWidth/2}:placement=='top'?{top:pos.top-actualHeight,left:pos.left+pos.width/2-actualWidth/2}:placement=='left'?{top:pos.top+pos.height/2-actualHeight/2,left:pos.left-actualWidth}:{top:pos.top+pos.height/2-actualHeight/2,left:pos.left+pos.width}}
3607Tooltip.prototype.getTitle=function(){var title
3608var $e=this.$element
3609var o=this.options
3610title=$e.attr('data-original-title')||(typeof o.title=='function'?o.title.call($e[0]):o.title)
3611return title}
3612Tooltip.prototype.tip=function(){return this.$tip=this.$tip||$(this.options.template)}
3613Tooltip.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find('.tooltip-arrow')}
3614Tooltip.prototype.validate=function(){if(!this.$element[0].parentNode){this.hide()
3615this.$element=null
3616this.options=null}}
3617Tooltip.prototype.enable=function(){this.enabled=true}
3618Tooltip.prototype.disable=function(){this.enabled=false}
3619Tooltip.prototype.toggleEnabled=function(){this.enabled=!this.enabled}
3620Tooltip.prototype.toggle=function(e){var self=e?$(e.currentTarget)[this.type](this.getDelegateOptions()).data('bs.'+this.type):this
3621self.tip().hasClass('in')?self.leave(self):self.enter(self)}
3622Tooltip.prototype.destroy=function(){this.hide().$element.off('.'+this.type).removeData('bs.'+this.type)}
3623var old=$.fn.tooltip
3624$.fn.tooltip=function(option){return this.each(function(){var $this=$(this)
3625var data=$this.data('bs.tooltip')
3626var options=typeof option=='object'&&option
3627if(!data)$this.data('bs.tooltip',(data=new Tooltip(this,options)))
3628if(typeof option=='string')data[option]()})}
3629$.fn.tooltip.Constructor=Tooltip
3630$.fn.tooltip.noConflict=function(){$.fn.tooltip=old
3631return this}}(window.jQuery);+function($){"use strict";var Popover=function(element,options){this.init('popover',element,options)}
3632if(!$.fn.tooltip)throw new Error('Popover requires tooltip.js')
3633Popover.DEFAULTS=$.extend({},$.fn.tooltip.Constructor.DEFAULTS,{placement:'right',trigger:'click',content:'',template:'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'})
3634Popover.prototype=$.extend({},$.fn.tooltip.Constructor.prototype)
3635Popover.prototype.constructor=Popover
3636Popover.prototype.getDefaults=function(){return Popover.DEFAULTS}
3637Popover.prototype.setContent=function(){var $tip=this.tip()
3638var title=this.getTitle()
3639var content=this.getContent()
3640$tip.find('.popover-title')[this.options.html?'html':'text'](title)
3641$tip.find('.popover-content')[this.options.html?'html':'text'](content)
3642$tip.removeClass('fade top bottom left right in')
3643if(!$tip.find('.popover-title').html())$tip.find('.popover-title').hide()}
3644Popover.prototype.hasContent=function(){return this.getTitle()||this.getContent()}
3645Popover.prototype.getContent=function(){var $e=this.$element
3646var o=this.options
3647return $e.attr('data-content')||(typeof o.content=='function'?o.content.call($e[0]):o.content)}
3648Popover.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find('.arrow')}
3649Popover.prototype.tip=function(){if(!this.$tip)this.$tip=$(this.options.template)
3650return this.$tip}
3651var old=$.fn.popover
3652$.fn.popover=function(option){return this.each(function(){var $this=$(this)
3653var data=$this.data('bs.popover')
3654var options=typeof option=='object'&&option
3655if(!data)$this.data('bs.popover',(data=new Popover(this,options)))
3656if(typeof option=='string')data[option]()})}
3657$.fn.popover.Constructor=Popover
3658$.fn.popover.noConflict=function(){$.fn.popover=old
3659return this}}(window.jQuery);+function($){"use strict";function ScrollSpy(element,options){var href
3660var process=$.proxy(this.process,this)
3661this.$element=$(element).is('body')?$(window):$(element)
3662this.$body=$('body')
3663this.$scrollElement=this.$element.on('scroll.bs.scroll-spy.data-api',process)
3664this.options=$.extend({},ScrollSpy.DEFAULTS,options)
3665this.selector=(this.options.target||((href=$(element).attr('href'))&&href.replace(/.*(?=#[^\s]+$)/,''))||'')+' .nav li > a'
3666this.offsets=$([])
3667this.targets=$([])
3668this.activeTarget=null
3669this.refresh()
3670this.process()}
3671ScrollSpy.DEFAULTS={offset:10}
3672ScrollSpy.prototype.refresh=function(){var offsetMethod=this.$element[0]==window?'offset':'position'
3673this.offsets=$([])
3674this.targets=$([])
3675var self=this
3676var $targets=this.$body.find(this.selector).map(function(){var $el=$(this)
3677var href=$el.data('target')||$el.attr('href')
3678var $href=/^#\w/.test(href)&&$(href)
3679return($href&&$href.length&&[[$href[offsetMethod]().top+(!$.isWindow(self.$scrollElement.get(0))&&self.$scrollElement.scrollTop()),href]])||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){self.offsets.push(this[0])
3680self.targets.push(this[1])})}
3681ScrollSpy.prototype.process=function(){var scrollTop=this.$scrollElement.scrollTop()+this.options.offset
3682var scrollHeight=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight
3683var maxScroll=scrollHeight-this.$scrollElement.height()
3684var offsets=this.offsets
3685var targets=this.targets
3686var activeTarget=this.activeTarget
3687var i
3688if(scrollTop>=maxScroll){return activeTarget!=(i=targets.last()[0])&&this.activate(i)}
3689for(i=offsets.length;i--;){activeTarget!=targets[i]&&scrollTop>=offsets[i]&&(!offsets[i+1]||scrollTop<=offsets[i+1])&&this.activate(targets[i])}}
3690ScrollSpy.prototype.activate=function(target){this.activeTarget=target
3691$(this.selector).parents('.active').removeClass('active')
3692var selector=this.selector
3693+'[data-target="'+target+'"],'
3694+this.selector+'[href="'+target+'"]'
3695var active=$(selector).parents('li').addClass('active')
3696if(active.parent('.dropdown-menu').length){active=active.closest('li.dropdown').addClass('active')}
3697active.trigger('activate')}
3698var old=$.fn.scrollspy
3699$.fn.scrollspy=function(option){return this.each(function(){var $this=$(this)
3700var data=$this.data('bs.scrollspy')
3701var options=typeof option=='object'&&option
3702if(!data)$this.data('bs.scrollspy',(data=new ScrollSpy(this,options)))
3703if(typeof option=='string')data[option]()})}
3704$.fn.scrollspy.Constructor=ScrollSpy
3705$.fn.scrollspy.noConflict=function(){$.fn.scrollspy=old
3706return this}
3707$(window).on('load',function(){$('[data-spy="scroll"]').each(function(){var $spy=$(this)
3708$spy.scrollspy($spy.data())})})}(window.jQuery);+function($){"use strict";var Tab=function(element){this.element=$(element)}
3709Tab.prototype.show=function(){var $this=this.element
3710var $ul=$this.closest('ul:not(.dropdown-menu)')
3711var selector=$this.attr('data-target')
3712if(!selector){selector=$this.attr('href')
3713selector=selector&&selector.replace(/.*(?=#[^\s]*$)/,'')}
3714if($this.parent('li').hasClass('active'))return
3715var previous=$ul.find('.active:last a')[0]
3716var e=$.Event('show.bs.tab',{relatedTarget:previous})
3717$this.trigger(e)
3718if(e.isDefaultPrevented())return
3719var $target=$(selector)
3720this.activate($this.parent('li'),$ul)
3721this.activate($target,$target.parent(),function(){$this.trigger({type:'shown.bs.tab',relatedTarget:previous})})}
3722Tab.prototype.activate=function(element,container,callback){var $active=container.find('> .active')
3723var transition=callback&&$.support.transition&&$active.hasClass('fade')
3724function next(){$active.removeClass('active').find('> .dropdown-menu > .active').removeClass('active')
3725element.addClass('active')
3726if(transition){element[0].offsetWidth
3727element.addClass('in')}else{element.removeClass('fade')}
3728if(element.parent('.dropdown-menu')){element.closest('li.dropdown').addClass('active')}
3729callback&&callback()}
3730transition?$active.one($.support.transition.end,next).emulateTransitionEnd(150):next()
3731$active.removeClass('in')}
3732var old=$.fn.tab
3733$.fn.tab=function(option){return this.each(function(){var $this=$(this)
3734var data=$this.data('bs.tab')
3735if(!data)$this.data('bs.tab',(data=new Tab(this)))
3736if(typeof option=='string')data[option]()})}
3737$.fn.tab.Constructor=Tab
3738$.fn.tab.noConflict=function(){$.fn.tab=old
3739return this}
3740$(document).on('click.bs.tab.data-api','[data-toggle="tab"], [data-toggle="pill"]',function(e){e.preventDefault()
3741$(this).tab('show')})}(window.jQuery);+function($){"use strict";var Affix=function(element,options){this.options=$.extend({},Affix.DEFAULTS,options)
3742this.$window=$(window).on('scroll.bs.affix.data-api',$.proxy(this.checkPosition,this)).on('click.bs.affix.data-api',$.proxy(this.checkPositionWithEventLoop,this))
3743this.$element=$(element)
3744this.affixed=this.unpin=null
3745this.checkPosition()}
3746Affix.RESET='affix affix-top affix-bottom'
3747Affix.DEFAULTS={offset:0}
3748Affix.prototype.checkPositionWithEventLoop=function(){setTimeout($.proxy(this.checkPosition,this),1)}
3749Affix.prototype.checkPosition=function(){if(!this.$element.is(':visible'))return
3750var scrollHeight=$(document).height()
3751var scrollTop=this.$window.scrollTop()
3752var position=this.$element.offset()
3753var offset=this.options.offset
3754var offsetTop=offset.top
3755var offsetBottom=offset.bottom
3756if(typeof offset!='object')offsetBottom=offsetTop=offset
3757if(typeof offsetTop=='function')offsetTop=offset.top()
3758if(typeof offsetBottom=='function')offsetBottom=offset.bottom()
3759var affix=this.unpin!=null&&(scrollTop+this.unpin<=position.top)?false:offsetBottom!=null&&(position.top+this.$element.height()>=scrollHeight-offsetBottom)?'bottom':offsetTop!=null&&(scrollTop<=offsetTop)?'top':false
3760if(this.affixed===affix)return
3761if(this.unpin)this.$element.css('top','')
3762this.affixed=affix
3763this.unpin=affix=='bottom'?position.top-scrollTop:null
3764this.$element.removeClass(Affix.RESET).addClass('affix'+(affix?'-'+affix:''))
3765if(affix=='bottom'){this.$element.offset({top:document.body.offsetHeight-offsetBottom-this.$element.height()})}}
3766var old=$.fn.affix
3767$.fn.affix=function(option){return this.each(function(){var $this=$(this)
3768var data=$this.data('bs.affix')
3769var options=typeof option=='object'&&option
3770if(!data)$this.data('bs.affix',(data=new Affix(this,options)))
3771if(typeof option=='string')data[option]()})}
3772$.fn.affix.Constructor=Affix
3773$.fn.affix.noConflict=function(){$.fn.affix=old
3774return this}
3775$(window).on('load',function(){$('[data-spy="affix"]').each(function(){var $spy=$(this)
3776var data=$spy.data()
3777data.offset=data.offset||{}
3778if(data.offsetBottom)data.offset.bottom=data.offsetBottom
3779if(data.offsetTop)data.offset.top=data.offsetTop
3780$spy.affix(data)})})}(window.jQuery);
3781/*!
3782 * Retina.js v1.1.0
3783 *
3784 * Copyright 2013 Imulus, LLC
3785 * Released under the MIT license
3786 *
3787 * Retina.js is an open source script that makes it easy to serve
3788 * high-resolution images to devices with retina displays.
3789 */
3790(function(){var root=typeof exports=="undefined"?window:exports;var config={check_mime_type:true};root.Retina=Retina;function Retina(){}Retina.configure=function(options){if(options==null)options={};for(var prop in options)config[prop]=options[prop]};Retina.init=function(context){if(context==null)context=root;var existing_onload=context.onload||new Function;context.onload=function(){var images=document.getElementsByTagName("img"),retinaImages=[],i,image;for(i=0;i<images.length;i++){image=images[i];retinaImages.push(new RetinaImage(image))}existing_onload()}};Retina.isRetina=function(){var mediaQuery="(-webkit-min-device-pixel-ratio: 1.5),                      (min--moz-device-pixel-ratio: 1.5),                      (-o-min-device-pixel-ratio: 3/2),                      (min-resolution: 1.5dppx)";if(root.devicePixelRatio>1)return true;if(root.matchMedia&&root.matchMedia(mediaQuery).matches)return true;return false};root.RetinaImagePath=RetinaImagePath;function RetinaImagePath(path,at_2x_path){this.path=path;if(typeof at_2x_path!=="undefined"&&at_2x_path!==null){this.at_2x_path=at_2x_path;this.perform_check=false}else{this.at_2x_path=path.replace(/\.\w+$/,function(match){return"@2x"+match});this.perform_check=true}}RetinaImagePath.confirmed_paths=[];RetinaImagePath.prototype.is_external=function(){return!!(this.path.match(/^https?\:/i)&&!this.path.match("//"+document.domain))};RetinaImagePath.prototype.check_2x_variant=function(callback){var http,that=this;if(this.is_external()){return callback(false)}else if(!this.perform_check&&typeof this.at_2x_path!=="undefined"&&this.at_2x_path!==null){return callback(true)}else if(this.at_2x_path in RetinaImagePath.confirmed_paths){return callback(true)}else{http=new XMLHttpRequest;http.open("HEAD",this.at_2x_path);http.onreadystatechange=function(){if(http.readyState!=4){return callback(false)}if(http.status>=200&&http.status<=399){if(config.check_mime_type){var type=http.getResponseHeader("Content-Type");if(type==null||!type.match(/^image/i)){return callback(false)}}RetinaImagePath.confirmed_paths.push(that.at_2x_path);return callback(true)}else{return callback(false)}};http.send()}};function RetinaImage(el){this.el=el;this.path=new RetinaImagePath(this.el.getAttribute("src"),this.el.getAttribute("data-at2x"));var that=this;this.path.check_2x_variant(function(hasVariant){if(hasVariant)that.swap()})}root.RetinaImage=RetinaImage;RetinaImage.prototype.swap=function(path){if(typeof path=="undefined")path=this.path.at_2x_path;var that=this;function load(){if(!that.el.complete){setTimeout(load,5)}else{that.el.setAttribute("width",that.el.offsetWidth);that.el.setAttribute("height",that.el.offsetHeight);that.el.setAttribute("src",path)}}load()};if(Retina.isRetina()){Retina.init(root)}})();
3791;(function($){$.flexslider=function(el,options){var slider=$(el),vars=$.extend({},$.flexslider.defaults,options),namespace=vars.namespace,touch=("ontouchstart"in window)||window.DocumentTouch&&document instanceof DocumentTouch,eventType=(touch)?"touchend":"click",vertical=vars.direction==="vertical",reverse=vars.reverse,carousel=(vars.itemWidth>0),fade=vars.animation==="fade",asNav=vars.asNavFor!=="",methods={};$.data(el,"flexslider",slider);methods={init:function(){slider.animating=false;slider.currentSlide=vars.startAt;slider.animatingTo=slider.currentSlide;slider.atEnd=(slider.currentSlide===0||slider.currentSlide===slider.last);slider.containerSelector=vars.selector.substr(0,vars.selector.search(' '));slider.slides=$(vars.selector,slider);slider.container=$(slider.containerSelector,slider);slider.count=slider.slides.length;slider.syncExists=$(vars.sync).length>0;if(vars.animation==="slide")vars.animation="swing";slider.prop=(vertical)?"top":"marginLeft";slider.args={};slider.manualPause=false;slider.transitions=!vars.video&&!fade&&vars.useCSS&&(function(){var obj=document.createElement('div'),props=['perspectiveProperty','WebkitPerspective','MozPerspective','OPerspective','msPerspective'];for(var i in props){if(obj.style[props[i]]!==undefined){slider.pfx=props[i].replace('Perspective','').toLowerCase();slider.prop="-"+slider.pfx+"-transform";return true;}}
3792return false;}());if(vars.controlsContainer!=="")slider.controlsContainer=$(vars.controlsContainer).length>0&&$(vars.controlsContainer);if(vars.manualControls!=="")slider.manualControls=$(vars.manualControls).length>0&&$(vars.manualControls);if(vars.randomize){slider.slides.sort(function(){return(Math.round(Math.random())-0.5);});slider.container.empty().append(slider.slides);}
3793slider.doMath();if(asNav)methods.asNav.setup();slider.setup("init");if(vars.controlNav)methods.controlNav.setup();if(vars.directionNav)methods.directionNav.setup();if(vars.keyboard&&($(slider.containerSelector).length===1||vars.multipleKeyboard)){$(document).bind('keyup',function(event){var keycode=event.keyCode;
3793if(!slider.animating&&(keycode===39||keycode===37)){var target=(keycode===39)?slider.getTarget('next'):(keycode===37)?slider.getTarget('prev'):false;slider.flexAnimate(target,vars.pauseOnAction);}});}
3794if(vars.mousewheel){slider.bind('mousewheel',function(event,delta,deltaX,deltaY){event.preventDefault();var target=(delta<0)?slider.getTarget('next'):slider.getTarget('prev');slider.flexAnimate(target,vars.pauseOnAction);});}
3795if(vars.pausePlay)methods.pausePlay.setup();if(vars.slideshow){if(vars.pauseOnHover){slider.hover(function(){if(!slider.manualPlay&&!slider.manualPause)slider.pause();},function(){if(!slider.manualPause&&!slider.manualPlay)slider.play();});}
3796(vars.initDelay>0)?setTimeout(slider.play,vars.initDelay):slider.play();}
3797if(touch&&vars.touch)methods.touch();if(!fade||(fade&&vars.smoothHeight))$(window).bind("resize focus",methods.resize);setTimeout(function(){vars.start(slider);},200);},asNav:{setup:function(){slider.asNav=true;slider.animatingTo=Math.floor(slider.currentSlide/slider.move);slider.currentItem=slider.currentSlide;slider.slides.removeClass(namespace+"active-slide").eq(slider.currentItem).addClass(namespace+"active-slide");slider.slides.click(function(e){e.preventDefault();var $slide=$(this),target=$slide.index();if(!$(vars.asNavFor).data('flexslider').animating&&!$slide.hasClass('active')){slider.direction=(slider.currentItem<target)?"next":"prev";slider.flexAnimate(target,vars.pauseOnAction,false,true,true);}});}},controlNav:{setup:function(){if(!slider.manualControls){methods.controlNav.setupPaging();}else{methods.controlNav.setupManual();}},setupPaging:function(){var type=(vars.controlNav==="thumbnails")?'control-thumbs':'control-paging',j=1,item;slider.controlNavScaffold=$('<ol class="'+namespace+'control-nav '+namespace+type+'"></ol>');if(slider.pagingCount>1){for(var i=0;i<slider.pagingCount;i++){item=(vars.controlNav==="thumbnails")?'<img src="'+slider.slides.eq(i).attr("data-thumb")+'"/>':'<a>'+j+'</a>';slider.controlNavScaffold.append('<li>'+item+'</li>');j++;}}
3798(slider.controlsContainer)?$(slider.controlsContainer).append(slider.controlNavScaffold):slider.append(slider.controlNavScaffold);methods.controlNav.set();methods.controlNav.active();slider.controlNavScaffold.delegate('a, img',eventType,function(event){event.preventDefault();var $this=$(this),target=slider.controlNav.index($this);if(!$this.hasClass(namespace+'active')){slider.direction=(target>slider.currentSlide)?"next":"prev";slider.flexAnimate(target,vars.pauseOnAction);}});if(touch){slider.controlNavScaffold.delegate('a',"click touchstart",function(event){event.preventDefault();});}},setupManual:function(){slider.controlNav=slider.manualControls;methods.controlNav.active();slider.controlNav.live(eventType,function(event){event.preventDefault();var $this=$(this),target=slider.controlNav.index($this);if(!$this.hasClass(namespace+'active')){(target>slider.currentSlide)?slider.direction="next":slider.direction="prev";slider.flexAnimate(target,vars.pauseOnAction);}});if(touch){slider.controlNav.live("click touchstart",function(event){event.preventDefault();});}},set:function(){var selector=(vars.controlNav==="thumbnails")?'img':'a';slider.controlNav=$('.'+namespace+'control-nav li '+selector,(slider.controlsContainer)?slider.controlsContainer:slider);},active:function(){slider.controlNav.removeClass(namespace+"active").eq(slider.animatingTo).addClass(namespace+"active");},update:function(action,pos){if(slider.pagingCount>1&&action==="add"){slider.controlNavScaffold.append($('<li><a>'+slider.count+'</a></li>'));}else if(slider.pagingCount===1){slider.controlNavScaffold.find('li').remove();}else{slider.controlNav.eq(pos).closest('li').remove();}
3799methods.controlNav.set();(slider.pagingCount>1&&slider.pagingCount!==slider.controlNav.length)?slider.update(pos,action):methods.controlNav.active();}},directionNav:{setup:function(){var directionNavScaffold=$('<ul class="'+namespace+'direction-nav"><li><a class="'+namespace+'prev" href="#">'+vars.prevText+'</a></li><li><a class="'+namespace+'next" href="#">'+vars.nextText+'</a></li></ul>');if(slider.controlsContainer){$(slider.controlsContainer).append(directionNavScaffold);slider.directionNav=$('.'+namespace+'direction-nav li a',slider.controlsContainer);}else{slider.append(directionNavScaffold);slider.directionNav=$('.'+namespace+'direction-nav li a',slider);}
3800methods.directionNav.update();slider.directionNav.bind(eventType,function(event){event.preventDefault();var target=($(this).hasClass(namespace+'next'))?slider.getTarget('next'):slider.getTarget('prev');slider.flexAnimate(target,vars.pauseOnAction);});if(touch){slider.directionNav.bind("click touchstart",function(event){event.preventDefault();});}},update:function(){var disabledClass=namespace+'disabled';if(slider.pagingCount===1){slider.directionNav.addClass(disabledClass);}else if(!vars.animationLoop){if(slider.animatingTo===0){slider.directionNav.removeClass(disabledClass).filter('.'+namespace+"prev").addClass(disabledClass);}else if(slider.animatingTo===slider.last){slider.directionNav.removeClass(disabledClass).filter('.'+namespace+"next").addClass(disabledClass);}else{slider.directionNav.removeClass(disabledClass);}}else{slider.directionNav.removeClass(disabledClass);}}},pausePlay:{setup:function(){var pausePlayScaffold=$('<div class="'+namespace+'pauseplay"><a></a></div>');if(slider.controlsContainer){slider.controlsContainer.append(pausePlayScaffold);slider.pausePlay=$('.'+namespace+'pauseplay a',slider.controlsContainer);}else{slider.append(pausePlayScaffold);slider.pausePlay=$('.'+namespace+'pauseplay a',slider);}
3801methods.pausePlay.update((vars.slideshow)?namespace+'pause':namespace+'play');slider.pausePlay.bind(eventType,function(event){event.preventDefault();if($(this).hasClass(namespace+'pause')){slider.manualPause=true;slider.manualPlay=false;slider.pause();}else{slider.manualPause=false;slider.manualPlay=true;slider.play();}});if(touch){slider.pausePlay.bind("click touchstart",function(event){event.preventDefault();});}},update:function(state){(state==="play")?slider.pausePlay.removeClass(namespace+'pause').addClass(namespace+'play').text(vars.playText):slider.pausePlay.removeClass(namespace+'play').addClass(namespace+'pause').text(vars.pauseText);}},touch:function(){var startX,startY,offset,cwidth,dx,startT,scrolling=false;el.addEventListener('touchstart',onTouchStart,false);function onTouchStart(e){if(slider.animating){e.preventDefault();}else if(e.touches.length===1){slider.pause();cwidth=(vertical)?slider.h:slider.w;startT=Number(new Date());offset=(carousel&&reverse&&slider.animatingTo===slider.last)?0:(carousel&&reverse)?slider.limit-(((slider.itemW+vars.itemMargin)*slider.move)*slider.animatingTo):(carousel&&slider.currentSlide===slider.last)?slider.limit:(carousel)?((slider.itemW+vars.itemMargin)*slider.move)*slider.currentSlide:(reverse)?(slider.last-slider.currentSlide+slider.cloneOffset)*cwidth:(slider.currentSlide+slider.cloneOffset)*cwidth;startX=(vertical)?e.touches[0].pageY:e.touches[0].pageX;startY=(vertical)?e.touches[0].pageX:e.touches[0].pageY;el.addEventListener('touchmove',onTouchMove,false);el.addEventListener('touchend',onTouchEnd,false);}}
3802function onTouchMove(e){dx=(vertical)?startX-e.touches[0].pageY:startX-e.touches[0].pageX;scrolling=(vertical)?(Math.abs(dx)<Math.abs(e.touches[0].pageX-startY)):(Math.abs(dx)<Math.abs(e.touches[0].pageY-startY));if(!scrolling||Number(new Date())-startT>500){e.preventDefault();if(!fade&&slider.transitions){if(!vars.animationLoop){dx=dx/((slider.currentSlide===0&&dx<0||slider.currentSlide===slider.last&&dx>0)?(Math.abs(dx)/cwidth+2):1);}
3803slider.setProps(offset+dx,"setTouch");}}}
3804function onTouchEnd(e){el.removeEventListener('touchmove',onTouchMove,false);if(slider.animatingTo===slider.currentSlide&&!scrolling&&!(dx===null)){var updateDx=(reverse)?-dx:dx,target=(updateDx>0)?slider.getTarget('next'):slider.getTarget('prev');if(slider.canAdvance(target)&&(Number(new Date())-startT<550&&Math.abs(updateDx)>50||Math.abs(updateDx)>cwidth/2)){slider.flexAnimate(target,vars.pauseOnAction);}else{if(!fade)slider.flexAnimate(slider.currentSlide,vars.pauseOnAction,true);}}
3805el.removeEventListener('touchend',onTouchEnd,false);startX=null;startY=null;dx=null;offset=null;}},resize:function(){if(!slider.animating&&slider.is(':visible')){if(!carousel)slider.doMath();if(fade){methods.smoothHeight();}else if(carousel){slider.slides.width(slider.computedW);slider.update(slider.pagingCount);slider.setProps();}
3806else if(vertical){slider.viewport.height(slider.h);slider.setProps(slider.h,"setTotal");}else{if(vars.smoothHeight)methods.smoothHeight();slider.newSlides.width(slider.computedW);slider.setProps(slider.computedW,"setTotal");}}},smoothHeight:function(dur){if(!vertical||fade){var $obj=(fade)?slider:slider.viewport;(dur)?$obj.animate({"height":slider.slides.eq(slider.animatingTo).height()},dur):$obj.height(slider.slides.eq(slider.animatingTo).height());}},sync:function(action){var $obj=$(vars.sync).data("flexslider"),target=slider.animatingTo;switch(action){case"animate":$obj.flexAnimate(target,vars.pauseOnAction,false,true);break;case"play":if(!$obj.playing&&!$obj.asNav){$obj.play();}break;case"pause":$obj.pause();break;}}}
3807slider.flexAnimate=function(target,pause,override,withSync,fromN
3807av){if(asNav&&slider.pagingCount===1)slider.direction=(slider.currentItem<target)?"next":"prev";if(!slider.animating&&(slider.canAdvance(target,fromNav)||override)&&slider.is(":visible")){if(asNav&&withSync){var master=$(vars.asNavFor).data('flexslider');slider.atEnd=target===0||target===slider.count-1;master.flexAnimate(target,true,false,true,fromNav);slider.direction=(slider.currentItem<target)?"next":"prev";master.direction=slider.direction;if(Math.ceil((target+1)/slider.visible)-1!==slider.currentSlide&&target!==0){slider.currentItem=target;slider.slides.removeClass(namespace+"active-slide").eq(target).addClass(namespace+"active-slide");target=Math.floor(target/slider.visible);}else{slider.currentItem=target;slider.slides.removeClass(namespace+"active-slide").eq(target).addClass(namespace+"active-slide");return false;}}
3808slider.animating=true;slider.animatingTo=target;vars.before(slider);if(pause)slider.pause();if(slider.syncExists&&!fromNav)methods.sync("animate");if(vars.controlNav)methods.controlNav.active();if(!carousel)slider.slides.removeClass(namespace+'active-slide').eq(target).addClass(namespace+'active-slide');slider.atEnd=target===0||target===slider.last;if(vars.directionNav)methods.directionNav.update();if(target===slider.last){vars.end(slider);if(!vars.animationLoop)slider.pause();}
3809if(!fade){var dimension=(vertical)?slider.slides.filter(':first').height():slider.computedW,margin,slideString,calcNext;if(carousel){margin=(vars.itemWidth>slider.w)?vars.itemMargin*2:vars.itemMargin;calcNext=((slider.itemW+margin)*slider.move)*slider.animatingTo;slideString=(calcNext>slider.limit&&slider.visible!==1)?slider.limit:calcNext;}else if(slider.currentSlide===0&&target===slider.count-1&&vars.animationLoop&&slider.direction!=="next"){slideString=(reverse)?(slider.count+slider.cloneOffset)*dimension:0;}else if(slider.currentSlide===slider.last&&target===0&&vars.animationLoop&&slider.direction!=="prev"){slideString=(reverse)?0:(slider.count+1)*dimension;}else{slideString=(reverse)?((slider.count-1)-target+slider.cloneOffset)*dimension:(target+slider.cloneOffset)*dimension;}
3810slider.setProps(slideString,"",vars.animationSpeed);if(slider.transitions){if(!vars.animationLoop||!slider.atEnd){slider.animating=false;slider.currentSlide=slider.animatingTo;}
3811slider.container.unbind("webkitTransitionEnd transitionend");slider.container.bind("webkitTransitionEnd transitionend",function(){slider.wrapup(dimension);});}else{slider.container.animate(slider.args,vars.animationSpeed,vars.easing,function(){slider.wrapup(dimension);});}}else{if(!touch){slider.slides.eq(slider.currentSlide).fadeOut(vars.animationSpeed,vars.easing);slider.slides.eq(target).fadeIn(vars.animationSpeed,vars.easing,slider.wrapup);}else{slider.slides.eq(slider.currentSlide).css({"opacity":0});slider.slides.eq(target).css({"opacity":1});slider.animating=false;slider.currentSlide=slider.animatingTo;}}
3812if(vars.smoothHeight)methods.smoothHeight(vars.animationSpeed);}}
3813slider.wrapup=function(dimension){if(!fade&&!carousel){if(slider.currentSlide===0&&slider.animatingTo===slider.last&&vars.animationLoop){slider.setProps(dimension,"jumpEnd");}else if(slider.currentSlide===slider.last&&slider.animatingTo===0&&vars.animationLoop){slider.setProps(dimension,"jumpStart");}}
3814slider.animating=false;slider.currentSlide=slider.animatingTo;vars.after(slider);}
3815slider.animateSlides=function(){if(!slider.animating)slider.flexAnimate(slider.getTarget("next"));}
3816slider.pause=function(){clearInterval(slider.animatedSlides);slider.playing=false;if(vars.pausePlay)methods.pausePlay.update("play");if(slider.syncExists)methods.sync("pause");}
3817slider.play=function(){slider.animatedSlides=setInterval(slider.animateSlides,vars.slideshowSpeed);slider.playing=true;if(vars.pausePlay)methods.pausePlay.update("pause");if(slider.syncExists)methods.sync("play");}
3818slider.canAdvance=function(target,fromNav){var last=(asNav)?slider.pagingCount-1:slider.last;return(fromNav)?true:(asNav&&slider.currentItem===slider.count-1&&target===0&&slider.direction==="prev")?true:(asNav&&slider.currentItem===0&&target===slider.pagingCount-1&&slider.direction!=="next")?false:(target===slider.currentSlide&&!asNav)?false:(vars.animationLoop)?true:(slider.atEnd&&slider.currentSlide===0&&target===last&&slider.direction!=="next")?false:(slider.atEnd&&slider.currentSlide===last&&target===0&&slider.direction==="next")?false:true;}
3819slider.getTarget=function(dir){slider.direction=dir;if(dir==="next"){return(slider.currentSlide===slider.last)?0:slider.currentSlide+1;}else{return(slider.currentSlide===0)?slider.last:slider.currentSlide-1;}}
3820slider.setProps=function(pos,special,dur){var target=(function(){var posCheck=(pos)?pos:((slider.itemW+vars.itemMargin)*slider.move)*slider.animatingTo,posCalc=(function(){if(carousel){return(special==="setTouch")?pos:(reverse&&slider.animatingTo===slider.last)?0:(reverse)?slider.limit-(((slider.itemW+vars.itemMargin)*slider.move)*slider.animatingTo):(slider.animatingTo===slider.last)?slider.limit:posCheck;}else{switch(special){case"setTotal":return(reverse)?((slider.count-1)-slider.currentSlide+slider.cloneOffset)*pos:(slider.currentSlide+slider.cloneOffset)*pos;case"setTouch":return(reverse)?pos:pos;case"jumpEnd":return(reverse)?pos:slider.count*pos;case"jumpStart":return(reverse)?slider.count*pos:pos;default:return pos;}}}());return(posCalc*-1)+"px";}());if(slider.transitions){target=(vertical)?"translate3d(0,"+target+",0)":"translate3d("+target+",0,0)";dur=(dur!==undefined)?(dur/1000)+"s":"0s";slider.container.css("-"+slider.pfx+"-transition-duration",dur);}
3821slider.args[slider.prop]=target;if(slider.transitions||dur===undefined)slider.container.css(slider.args);}
3822slider.setup=function(type){if(!fade){var sliderOffset,arr;if(type==="init"){slider.viewport=$('<div class="'+namespace+'viewport"></div>').css({"overflow":"hidden","position":"relative"}).appendTo(slider).append(slider.container);slider.cloneCount=0;slider.cloneOffset=0;if(reverse){arr=$.makeArray(slider.slides).reverse();slider.slides=$(arr);slider.container.empty().append(slider.slides);}}
3823if(vars.animationLoop&&!carousel){slider.cloneCount=2;slider.cloneOffset=1;if(type!=="init")slider.container.find('.clone').remove();slider.container.append(slider.slides.first().clone().addClass('clone')).prepend(sli
3823der.slides.last().clone().addClass('clone'));}
3824slider.newSlides=$(vars.selector,slider);sliderOffset=(reverse)?slider.count-1-slider.currentSlide+slider.cloneOffset:slider.currentSlide+slider.cloneOffset;if(vertical&&!carousel){slider.container.height((slider.count+slider.cloneCount)*200+"%").css("position","absolute").width("100%");setTimeout(function(){slider.newSlides.css({"display":"block"});slider.doMath();slider.viewport.height(slider.h);slider.setProps(sliderOffset*slider.h,"init");},(type==="init")?100:0);}else{slider.container.width((slider.count+slider.cloneCount)*200+"%");slider.setProps(sliderOffset*slider.computedW,"init");setTimeout(function(){slider.doMath();slider.newSlides.css({"width":slider.computedW,"float":"left","display":"block"});if(vars.smoothHeight)methods.smoothHeight();},(type==="init")?100:0);}}else{slider.slides.css({"width":"100%","float":"left","marginRight":"-100%","position":"relative"});if(type==="init"){if(!touch){slider.slides.eq(slider.currentSlide).fadeIn(vars.animationSpeed,vars.easing);}else{slider.slides.css({"opacity":0,"display":"block","webkitTransition":"opacity "+vars.animationSpeed/1000+"s ease"}).eq(slider.currentSlide).css({"opacity":1});}}
3825if(vars.smoothHeight)methods.smoothHeight();}
3826if(!carousel)slider.slides.removeClass(namespace+"active-slide").eq(slider.currentSlide).addClass(namespace+"active-slide");}
3827slider.doMath=function(){var slide=slider.slides.first(),slideMargin=vars.itemMargin,minItems=vars.minItems,maxItems=vars.maxItems;slider.w=slider.width();slider.h=slide.height();slider.boxPadding=slide.outerWidth()-slide.width();if(carousel){slider.itemT=vars.itemWidth+slideMargin;slider.minW=(minItems)?minItems*slider.itemT:slider.w;slider.maxW=(maxItems)?maxItems*slider.itemT:slider.w;slider.itemW=(slider.minW>slider.w)?(slider.w-(slideMargin*minItems))/minItems:(slider.maxW<slider.w)?(slider.w-(slideMargin*maxItems))/maxItems:(vars.itemWidth>slider.w)?slider.w:vars.itemWidth;slider.visible=Math.floor(slider.w/(slider.itemW+slideMargin));slider.move=(vars.move>0&&vars.move<slider.visible)?vars.move:slider.visible;slider.pagingCount=Math.ceil(((slider.count-slider.visible)/slider.move)+1);slider.last=slider.pagingCount-1;slider.limit=(slider.pagingCount===1)?0:(vars.itemWidth>slider.w)?((slider.itemW+(slideMargin*2))*slider.count)-slider.w-slideMargin:((slider.itemW+slideMargin)*slider.count)-slider.w-slideMargin;}else{slider.itemW=slider.w;slider.pagingCount=slider.count;slider.last=slider.count-1;}
3828slider.computedW=slider.itemW-slider.boxPadding;}
3829slider.update=function(pos,action){slider.doMath();if(!carousel){if(pos<slider.currentSlide){slider.currentSlide+=1;}else if(pos<=slider.currentSlide&&pos!==0){slider.currentSlide-=1;}
3830slider.animatingTo=slider.currentSlide;}
3831if(vars.controlNav&&!slider.manualControls){if((action==="add"&&!carousel)||slider.pagingCount>slider.controlNav.length){methods.controlNav.update("add");}else if((action==="remove"&&!carousel)||slider.pagingCount<slider.controlNav.length){if(carousel&&slider.currentSlide>slider.last){slider.currentSlide-=1;slider.animatingTo-=1;}
3832methods.controlNav.update("remove",slider.last);}}
3833if(vars.directionNav)methods.directionNav.update();}
3834slider.addSlide=function(obj,pos){var $obj=$(obj);slider.count+=1;slider.last=slider.count-1;if(vertical&&reverse){(pos!==undefined)?slider.slides.eq(slider.count-pos).after($obj):slider.container.prepend($obj);}else{(pos!==undefined)?slider.slides.eq(pos).before($obj):slider.container.append($obj);}
3835slider.update(pos,"add");slider.slides=$(vars.selector+':not(.clone)',slider);slider.setup();vars.added(slider);}
3836slider.removeSlide=function(obj){var pos=(isNaN(obj))?slider.slides.index($(obj)):obj;slider.count-=1;slider.last=slider.count-1;if(isNaN(obj)){$(obj,slider.slides).remove();}else{(vertical&&reverse)?slider.slides.eq(slider.last).remove():slider.slides.eq(obj).remove();}
3837slider.doMath();slider.update(pos,"remove");slider.slides=$(vars.selector+':not(.clone)',slider);slider.setup();vars.removed(slider);}
3838methods.init();}
3839$.flexslider.defaults={namespace:"flex-",selector:".slides > li",animation:"fade",easing:"swing",direction:"horizontal",reverse:false,animationLoop:true,smoothHeight:false,startAt:0,slideshow:true,slideshowSpeed:7000,animationSpeed:600,initDelay:0,randomize:false,pauseOnAction:true,pauseOnHover:false,useCSS:true,touch:true,video:false,controlNav:true,directionNav:true,prevText:"Previous",nextText:"Next",keyboard:true,multipleKeyboard:false,mousewheel:false,pausePlay:false,pauseText:"Pause",playText:"Play",controlsContainer:"",manualControls:"",sync:"",asNavFor:"",itemWidth:0,itemMargin:0,minItems:0,maxItems:0,move:0,start:function(){},before:function(){},after:function(){},end:function(){},added:function(){},removed:function(){}}
3840$.fn.flexslider=function(options){if(options===undefined)options={};if(typeof options==="object"){return this.each(function(){var $this=$(this),selector=(options.selector)?options.selector:".slides > li",$slides=$this.find(selector);if($slides.length===1){$slides.fadeIn(400);if(options.start)options.start($this);}else if($this.data('flexslider')===undefined){new $.flexslider(this,options);}});}else{var $slider=$(this).data('flexslider');switch(options){case"play":$slider.play();break;case"pause":$slider.pause();break;case"next":$slider.flexAnimate($slider.getTarget("next"),true);break;case"prev":case"previous":$slider.flexAnimate($slider.getTarget("prev"),true);break;default:if(typeof options==="number")$slider.flexAnimate(options,true);}}}})(jQuery);
3841/*! Magnific Popup - v0.9.6 - 2013-10-01
3842* http://dimsemenov.com/plugins/magnific-popup/
3843* Copyright (c) 2013 Dmitry Semenov; */
3844(function(e){var t,n,i,o,r,a,s,l="Close",c="BeforeClose",d="AfterClose",u="BeforeAppend",p="MarkupParse",f="Open",m="Change",g="mfp",v="."+g,h="mfp-ready",C="mfp-removing",y="mfp-prevent-close",w=function(){},b=!!window.jQuery,I=e(window),x=function(e,n){t.ev.on(g+e+v,n)},k=function(t,n,i,o){var r=document.createElement("div");return r.className="mfp-"+t,i&&(r.innerHTML=i),o?n&&n.appendChild(r):(r=e(r),n&&r.appendTo(n)),r},T=function(n,i){t.ev.triggerHandler(g+n,i),t.st.callbacks&&(n=n.charAt(0).toLowerCase()+n.slice(1),t.st.callbacks[n]&&t.st.callbacks[n].apply(t,e.isArray(i)?i:[i]))},E=function(){(t.st.focus?t.content.find(t.st.focus).eq(0):t.wrap).focus()},S=function(n){return n===s&&t.currTemplate.closeBtn||(t.currTemplate.closeBtn=e(t.st.closeMarkup.replace("%title%",t.st.tClose)),s=n),t.currTemplate.closeBtn},P=function(){e.magnificPopup.instance||(t=new w,t.init(),e.magnificPopup.instance=t)},_=function(n){if(!e(n).hasClass(y)){var i=t.st.closeOnContentClick,o=t.st.closeOnBgClick;if(i&&o)return!0;if(!t.content||e(n).hasClass("mfp-close")||t.preloader&&n===t.preloader[0])return!0;if(n===t.content[0]||e.contains(t.content[0],n)){if(i)return!0}else if(o&&e.contains(document,n))return!0;return!1}},O=function(){var e=document.createElement("p").style,t=["ms","O","Moz","Webkit"];if(void 0!==e.transition)return!0;for(;t.length;)if(t.pop()+"Transition"in e)return!0;return!1};w.prototype={constructor:w,init:function(){var n=navigator.appVersion;t.isIE7=-1!==n.indexOf("MSIE 7."),t.isIE8=-1!==n.indexOf("MSIE 8."),t.isLowIE=t.isIE7||t.isIE8,t.isAndroid=/android/gi.test(n),t.isIOS=/iphone|ipad|ipod/gi.test(n),t.supportsTransition=O(),t.probablyMobile=t.isAndroid||t.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent),i=e(document.body),o=e(document),t.popupsCache={}},open:function(n){var i;if(n.isObj===!1){t.items=n.items.toArray(),t.index=0;var r,s=n.items;for(i=0;s.length>i;i++)if(r=s[i],r.parsed&&(r=r.el[0]),r===n.el[0]){t.index=i;break}}else t.items=e.isArray(n.items)?n.items:[n.items],t.index=n.index||0;if(t.isOpen)return t.updateItemHTML(),void 0;t.types=[],a="",t.ev=n.mainEl&&n.mainEl.length?n.mainEl.eq(0):o,n.key?(t.popupsCache[n.key]||(t.popupsCache[n.key]={}),t.currTemplate=t.popupsCache[n.key]):t.currTemplate={},t.st=e.extend(!0,{},e.magnificPopup.defaults,n),t.fixedContentPos="auto"===t.st.fixedContentPos?!t.probablyMobile:t.st.fixedContentPos,t.st.modal&&(t.st.closeOnContentClick=!1,t.st.closeOnBgClick=!1,t.st.showCloseBtn=!1,t.st.enableEscapeKey=!1),t.bgOverlay||(t.bgOverlay=k("bg").on("click"+v,function(){t.close()}),t.wrap=k("wrap").attr("tabindex",-1).on("click"+v,function(e){_(e.target)&&t.close()}),t.container=k("container",t.wrap)),t.contentContainer=k("content"),t.st.preloader&&(t.preloader=k("preloader",t.container,t.st.tLoading));var l=e.magnificPopup.modules;for(i=0;l.length>i;i++){var c=l[i];c=c.charAt(0).toUpperCase()+c.slice(1),t["init"+c].call(t)}T("BeforeOpen"),t.st.showCloseBtn&&(t.st.closeBtnInside?(x(p,function(e,t,n,i){n.close_replaceWith=S(i.type)}),a+=" mfp-close-btn-in"):t.wrap.append(S())),t.st.alignTop&&(a+=" mfp-align-top"),t.fixedContentPos?t.wrap.css({overflow:t.st.overflowY,overflowX:"hidden",overflowY:t.st.overflowY}):t.wrap.css({top:I.scrollTop(),position:"absolute"}),(t.st.fixedBgPos===!1||"auto"===t.st.fixedBgPos&&!t.fixedContentPos)&&t.bgOverlay.css({height:o.height(),position:"absolute"}),t.st.enableEscapeKey&&o.on("keyup"+v,function(e){27===e.keyCode&&t.close()}),I.on("resize"+v,function(){t.updateSize()}),t.st.closeOnContentClick||(a+=" mfp-auto-cursor"),a&&t.wrap.addClass(a);var d=t.wH=I.height(),u={};if(t.fixedContentPos&&t._hasScrollBar(d)){var m=t._getScrollbarSize();m&&(u.paddingRight=m)}t.fixedContentPos&&(t.isIE7?e("body, html").css("overflow","hidden"):u.overflow="hidden");var g=t.st.mainClass;return t.isIE7&&(g+=" mfp-ie7"),g&&t._addClassToMFP(g),t.updateItemHTML(),T("BuildControls"),e("html").css(u),t.bgOverlay.add(t.wrap).prependTo(document.body),t._lastFocusedEl=document.activeElement,setTimeout(function(){t.content?(t._addClassToMFP(h),E()):t.bgOverlay.addClass(h),o.on("focusin"+v,function(n){return n.target===t.wrap[0]||e.contains(t.wrap[0],n.target)?void 0:(E(),!1)})},16),t.isOpen=!0,t.updateSize(d),T(f),n},close:function(){t.isOpen&&(T(c),t.isOpen=!1,t.st.removalDelay&&!t.isLowIE&&t.supportsTransition?(t._addClassToMFP(C),setTimeout(function(){t._close()},t.st.removalDelay)):t._close())},_close:function(){T(l);var n=C+" "+h+" ";if(t.bgOverlay.detach(),t.wrap.detach(),t.container.empty(),t.st.mainClass&&(n+=t.st.mainClass+" "),t._removeClassFromMFP(n),t.fixedContentPos){var i={paddingRight:""};t.isIE7?e("body, html").css("overflow",""):i.overflow="",e("html").css(i)}o.off("keyup"+v+" focusin"+v),t.ev.off(v),t.wrap.attr("class","mfp-wrap").removeAttr("style"),t.bgOverlay.attr("class","mfp-bg"),t.container.attr("class","mfp-container"),!t.st.showCloseBtn||t.st.closeBtnInside&&t.currTemplate[t.currItem.type]!==!0||t.currTemplate.closeBtn&&t.currTemplate.closeBtn.detach(),t._lastFocusedEl&&e(t._lastFocusedEl).focus(),t.currItem=null,t.content=null,t.currTemplate=null,t.prevHeight=0,T(d)},updateSize:function(e){if(t.isIOS){var n=document.documentElement.clientWidth/window.innerWidth,i=window.innerHeight*n;t.wrap.css("height",i),t.wH=i}else t.wH=e||I.height();t.fixedContentPos||t.wrap.css("height",t.wH),T("Resize")},updateItemHTML:function(){var n=t.items[t.index];t.contentContainer.detach(),t.content&&t.content.detach(),n.parsed||(n=t.parseEl(t.index));var i=n.type;if(T("BeforeChange",[t.currItem?t.currItem.type:"",i]),t.currItem=n,!t.currTemplate[i]){var o=t.st[i]?t.st[i].markup:!1;T("FirstMarkupParse",o),t.currTemplate[i]=o?e(o):!0}r&&r!==n.type&&t.container.removeClass("mfp-"+r+"-holder");var a=t["get"+i.charAt(0).toUpperCase()+i.slice(1)](n,t.currTemplate[i]);t.appendContent(a,i),n.preloaded=!0,T(m,n),r=n.type,t.container.prepend(t.contentContainer),T("AfterChange")},appendContent:function(e,n){t.content=e,e?t.st.showCloseBtn&&t.st.closeBtnInside&&t.currTemplate[n]===!0?t.content.find(".mfp-close").length||t.content.append(S()):t.content=e:t.content="",T(u),t.container.addClass("mfp-"+n+"-holder"),t.contentContainer.append(t.content)},parseEl:function(n){var i=t.items[n],o=i.type;if(i=i.tagName?{el:e(i)}:{data:i,src:i.src},i.el){for(var r=t.types,a=0;r.length>a;a++)if(i.el.hasClass("mfp-"+r[a])){o=r[a];break}i.src=i.el.attr("data-mfp-src"),i.src||(i.src=i.el.attr("href"))}return i.type=o||t.st.type||"inline",i.index=n,i.parsed=!0,t.items[n]=i,T("ElementParse",i),t.items[n]},addGroup:function(e,n){var i=function(i){i.mfpEl=this,t._openClick(i,e,n)};n||(n={});var o="click.magnificPopup";n.mainEl=e,n.items?(n.isObj=!0,e.off(o).on(o,i)):(n.isObj=!1,n.delegate?e.off(o).on(o,n.delegate,i):(n.items=e,e.off(o).on(o,i)))},_openClick:function(n,i,o){var r=void 0!==o.midClick?o.midClick:e.magnificPopup.defaults.midClick;if(r||2!==n.which&&!n.ctrlKey&&!n.metaKey){var a=void 0!==o.disableOn?o.disableOn:e.magnificPopup.defaults.disableOn;if(a)if(e.isFunction(a)){if(!a.call(t))return!0}else if(a>I.width())return!0;n.type&&(n.preventDefault(),t.isOpen&&n.stopPropagation()),o.el=e(n.mfpEl),o.delegate&&(o.items=i.find(o.delegate)),t.open(o)}},updateStatus:function(e,i){if(t.preloader){n!==e&&t.container.removeClass("mfp-s-"+n),i||"loading"!==e||(i=t.st.tLoading);var o={status:e,text:i};T("UpdateStatus",o),e=o.status,i=o.text,t.preloader.html(i),t.preloader.find("a").on("click",function(e){e.stopImmediatePropagation()}),t.container.addClass("mfp-s-"+e),n=e}},_addClassToMFP:function(e){t.bgOverlay.addClass(e),t.wrap.addClass(e)},_removeClassFromMFP:function(e){this.bgOverlay.removeClass(e),t.wrap.removeClass(e)},_hasScrollBar:function(e){return(t.isIE7?o.height():document.body.scrollHeight)>(e||I.height())},_parseMarkup:function(t,n,i){var o;i.data&&(n=e.extend(i.data,n)),T(p,[t,n,i]),e.each(n,function(e,n){if(void 0===n||n===!1)return!0;
3844if(o=e.split("_"),o.length>1){var i=t.find(v+"-"+o[0]);if(i.length>0){var r=o[1];"replaceWith"===r?i[0]!==n[0]&&i.replaceWith(n):"img"===r?i.is("img")?i.attr("src",n):i.replaceWith('<img src="'+n+'" class="'+i.attr("class")+'" />'):i.attr(o[1],n)}}else t.find(v+"-"+e).html(n)})},_getScrollbarSize:function(){if(void 0===t.scrollbarSize){var e=document.createElement("div");e.id="mfp-sbm",e.style.cssText="width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;",document.body.appendChild(e),t.scrollbarSize=e.offsetWidth-e.clientWidth,document.body.removeChild(e)}return t.scrollbarSize}},e.magnificPopup={instance:null,proto:w.prototype,modules:[],open:function(t,n){return P(),t=t?e.extend(!0,{},t):{},t.isObj=!0,t.index=n||0,this.instance.open(t)},close:function(){return e.magnificPopup.instance&&e.magnificPopup.instance.close()},registerModule:function(t,n){n.options&&(e.magnificPopup.defaults[t]=n.options),e.extend(this.proto,n.proto),this.modules.push(t)},defaults:{disableOn:0,key:null,midClick:!1,mainClass:"",preloader:!0,focus:"",closeOnContentClick:!1,closeOnBgClick:!0,closeBtnInside:!0,showCloseBtn:!0,enableEscapeKey:!0,modal:!1,alignTop:!1,removalDelay:0,fixedContentPos:"auto",fixedBgPos:"auto",overflowY:"auto",closeMarkup:'<button title="%title%" type="button" class="mfp-close">&times;</button>',tClose:"Close (Esc)",tLoading:"Loading..."}},e.fn.magnificPopup=function(n){P();var i=e(this);if("string"==typeof n)if("open"===n){var o,r=b?i.data("magnificPopup"):i[0].magnificPopup,a=parseInt(arguments[1],10)||0;r.items?o=r.items[a]:(o=i,r.delegate&&(o=o.find(r.delegate)),o=o.eq(a)),t._openClick({mfpEl:o},i,r)}else t.isOpen&&t[n].apply(t,Array.prototype.slice.call(arguments,1));else n=e.extend(!0,{},n),b?i.data("magnificPopup",n):i[0].magnificPopup=n,t.addGroup(i,n);return i};var z,M,B,H="inline",L=function(){B&&(M.after(B.addClass(z)).detach(),B=null)};e.magnificPopup.registerModule(H,{options:{hiddenClass:"hide",markup:"",tNotFound:"Content not found"},proto:{initInline:function(){t.types.push(H),x(l+"."+H,function(){L()})},getInline:function(n,i){if(L(),n.src){var o=t.st.inline,r=e(n.src);if(r.length){var a=r[0].parentNode;a&&a.tagName&&(M||(z=o.hiddenClass,M=k(z),z="mfp-"+z),B=r.after(M).detach().removeClass(z)),t.updateStatus("ready")}else t.updateStatus("error",o.tNotFound),r=e("<div>");return n.inlineElement=r,r}return t.updateStatus("ready"),t._parseMarkup(i,{},n),i}}});var A,F="ajax",j=function(){A&&i.removeClass(A)},N=function(){j(),t.req&&t.req.abort()};e.magnificPopup.registerModule(F,{options:{settings:null,cursor:"mfp-ajax-cur",tError:'<a href="%url%">The content</a> could not be loaded.'},proto:{initAjax:function(){t.types.push(F),A=t.st.ajax.cursor,x(l+"."+F,N),x("BeforeChange."+F,N)},getAjax:function(n){A&&i.addClass(A),t.updateStatus("loading");var o=e.extend({url:n.src,success:function(i,o,r){var a={data:i,xhr:r};T("ParseAjax",a),t.appendContent(e(a.data),F),n.finished=!0,j(),E(),setTimeout(function(){t.wrap.addClass(h)},16),t.updateStatus("ready"),T("AjaxContentAdded")},error:function(){j(),n.finished=n.loadError=!0,t.updateStatus("error",t.st.ajax.tError.replace("%url%",n.src))}},t.st.ajax.settings);return t.req=e.ajax(o),""}}});var W,R=function(n){if(n.data&&void 0!==n.data.title)return n.data.title;
3844var i=t.st.image.titleSrc;if(i){if(e.isFunction(i))return i.call(t,n);if(n.el)return n.el.attr(i)||""}return""};e.magnificPopup.registerModule("image",{options:{markup:'<div class="mfp-figure"><div class="mfp-close"></div><div class="mfp-img"></div><div class="mfp-bottom-bar"><div class="mfp-title"></div><div class="mfp-counter"></div></div></div>',cursor:"mfp-zoom-out-cur",titleSrc:"title",verticalFit:!0,tError:'<a href="%url%">The image</a> could not be loaded.'},proto:{initImage:function(){var e=t.st.image,n=".image";t.types.push("image"),x(f+n,function(){"image"===t.currItem.type&&e.cursor&&i.addClass(e.cursor)}),x(l+n,function(){e.cursor&&i.removeClass(e.cursor),I.off("resize"+v)}),x("Resize"+n,t.resizeImage),t.isLowIE&&x("AfterChange",t.resizeImage)},resizeImage:function(){var e=t.currItem;if(e&&e.img&&t.st.image.verticalFit){var n=0;t.isLowIE&&(n=parseInt(e.img.css("padding-top"),10)+parseInt(e.img.css("padding-bottom"),10)),e.img.css("max-height",t.wH-n)}},_onImageHasSize:function(e){e.img&&(e.hasSize=!0,W&&clearInterval(W),e.isCheckingImgSize=!1,T("ImageHasSize",e),e.imgHidden&&(t.content&&t.content.removeClass("mfp-loading"),e.imgHidden=!1))},findImageSize:function(e){var n=0,i=e.img[0],o=function(r){W&&clearInterval(W),W=setInterval(function(){return i.naturalWidth>0?(t._onImageHasSize(e),void 0):(n>200&&clearInterval(W),n++,3===n?o(10):40===n?o(50):100===n&&o(500),void 0)},r)};o(1)},getImage:function(n,i){var o=0,r=function(){n&&(n.img[0].complete?(n.img.off(".mfploader"),n===t.currItem&&(t._onImageHasSize(n),t.updateStatus("ready")),n.hasSize=!0,n.loaded=!0,T("ImageLoadComplete")):(o++,200>o?setTimeout(r,100):a()))},a=function(){n&&(n.img.off(".mfploader"),n===t.currItem&&(t._onImageHasSize(n),t.updateStatus("error",s.tError.replace("%url%",n.src))),n.hasSize=!0,n.loaded=!0,n.loadError=!0)},s=t.st.image,l=i.find(".mfp-img");if(l.length){var c=document.createElement("img");c.className="mfp-img",n.img=e(c).on("load.mfploader",r).on("error.mfploader",a),c.src=n.src,l.is("img")&&(n.img=n.img.clone()),n.img[0].naturalWidth>0&&(n.hasSize=!0)}return t._parseMarkup(i,{title:R(n),img_replaceWith:n.img},n),t.resizeImage(),n.hasSize?(W&&clearInterval(W),n.loadError?(i.addClass("mfp-loading"),t.updateStatus("error",s.tError.replace("%url%",n.src))):(i.removeClass("mfp-loading"),t.updateStatus("ready")),i):(t.updateStatus("loading"),n.loading=!0,n.hasSize||(n.imgHidden=!0,i.addClass("mfp-loading"),t.findImageSize(n)),i)}}});var Z,q=function(){return void 0===Z&&(Z=void 0!==document.createElement("p").style.MozTransform),Z};e.magnificPopup.registerModule("zoom",{options:{enabled:!1,easing:"ease-in-out",duration:300,opener:function(e){return e.is("img")?e:e.find("img")}},proto:{initZoom:function(){var e,n=t.st.zoom,i=".zoom";if(n.enabled&&t.supportsTransition){var o,r,a=n.duration,s=function(e){var t=e.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),i="all "+n.duration/1e3+"s "+n.easing,o={position:"fixed",zIndex:9999,left:0,top:0,"-webkit-backface-visibility":"hidden"},r="transition";return o["-webkit-"+r]=o["-moz-"+r]=o["-o-"+r]=o[r]=i,t.css(o),t},d=function(){t.content.css("visibility","visible")};x("BuildControls"+i,function(){if(t._allowZoom()){if(clearTimeout(o),t.content.css("visibility","hidden"),e=t._getItemToZoom(),!e)return d(),void 0;r=s(e),r.css(t._getOffset()),t.wrap.append(r),o=setTimeout(function(){r.css(t._getOffset(!0)),o=setTimeout(function(){d(),setTimeout(function(){r.remove(),e=r=null,T("ZoomAnimationEnded")},16)},a)},16)}}),x(c+i,function(){if(t._allowZoom()){if(clearTimeout(o),t.st.removalDelay=a,!e){if(e=t._getItemToZoom(),!e)return;r=s(e)}r.css(t._getOffset(!0)),t.wrap.append(r),t.content.css("visibility","hidden"),setTimeout(function(){r.css(t._getOffset())},16)}}),x(l+i,function(){t._allowZoom()&&(d(),r&&r.remove(),e=null)})}},_allowZoom:function(){return"image"===t.currItem.type},_getItemToZoom:function(){return t.currItem.hasSize?t.currItem.img:!1},_getOffset:function(n){var i;i=n?t.currItem.img:t.st.zoom.opener(t.currItem.el||t.currItem);var o=i.offset(),r=parseInt(i.css("padding-top"),10),a=parseInt(i.css("padding-bottom"),10);o.top-=e(window).scrollTop()-r;var s={width:i.width(),height:(b?i.innerHeight():i[0].offsetHeight)-a-r};return q()?s["-moz-transform"]=s.transform="translate("+o.left+"px,"+o.top+"px)":(s.left=o.left,s.top=o.top),s}}});var D="iframe",K="//about:blank",Y=function(e){if(t.currTemplate[D]){var n=t.currTemplate[D].find("iframe");n.length&&(e||(n[0].src=K),t.isIE8&&n.css("display",e?"block":"none"))}};e.magnificPopup.registerModule(D,{options:{markup:'<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe></div>',srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){t.types.push(D),x("BeforeChange",function(e,t,n){t!==n&&(t===D?Y():n===D&&Y(!0))}),x(l+"."+D,function(){Y()})},getIframe:function(n,i){var o=n.src,r=t.st.iframe;e.each(r.patterns,function(){return o.indexOf(this.index)>-1?(this.id&&(o="string"==typeof this.id?o.substr(o.lastIndexOf(this.id
3844)+this.id.length,o.length):this.id.call(this,o)),o=this.src.replace("%id%",o),!1):void 0});var a={};return r.srcAction&&(a[r.srcAction]=o),t._parseMarkup(i,a,n),t.updateStatus("ready"),i}}});var U=function(e){var n=t.items.length;return e>n-1?e-n:0>e?n+e:e},G=function(e,t,n){return e.replace("%curr%",t+1).replace("%total%",n)};e.magnificPopup.registerModule("gallery",{options:{enabled:!1,arrowMarkup:'<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%"},proto:{initGallery:function(){var n=t.st.gallery,i=".mfp-gallery",r=Boolean(e.fn.mfpFastClick);return t.direction=!0,n&&n.enabled?(a+=" mfp-gallery",x(f+i,function(){n.navigateByImgClick&&t.wrap.on("click"+i,".mfp-img",function(){return t.items.length>1?(t.next(),!1):void 0}),o.on("keydown"+i,function(e){37===e.keyCode?t.prev():39===e.keyCode&&t.next()})}),x("UpdateStatus"+i,function(e,n){n.text&&(n.text=G(n.text,t.currItem.index,t.items.length))}),x(p+i,function(e,i,o,r){var a=t.items.length;o.counter=a>1?G(n.tCounter,r.index,a):""}),x("BuildControls"+i,function(){if(t.items.length>1&&n.arrows&&!t.arrowLeft){var i=n.arrowMarkup,o=t.arrowLeft=e(i.replace("%title%",n.tPrev).replace("%dir%","left")).addClass(y),a=t.arrowRight=e(i.replace("%title%",n.tNext).replace("%dir%","right")).addClass(y),s=r?"mfpFastClick":"click";o[s](function(){t.prev()}),a[s](function(){t.next()}),t.isIE7&&(k("b",o[0],!1,!0),k("a",o[0],!1,!0),k("b",a[0],!1,!0),k("a",a[0],!1,!0)),t.container.append(o.add(a))}}),x(m+i,function(){t._preloadTimeout&&clearTimeout(t._preloadTimeout),t._preloadTimeout=setTimeout(function(){t.preloadNearbyImages(),t._preloadTimeout=null},16)}),x(l+i,function(){o.off(i),t.wrap.off("click"+i),t.arrowLeft&&r&&t.arrowLeft.add(t.arrowRight).destroyMfpFastClick(),t.arrowRight=t.arrowLeft=null}),void 0):!1},next:function(){t.direction=!0,t.index=U(t.index+1),t.updateItemHTML()},prev:function(){t.direction=!1,t.index=U(t.index-1),t.updateItemHTML()},goTo:function(e){t.direction=e>=t.index,t.index=e,t.updateItemHTML()},preloadNearbyImages:function(){var e,n=t.st.gallery.preload,i=Math.min(n[0],t.items.length),o=Math.min(n[1],t.items.length);for(e=1;(t.direction?o:i)>=e;e++)t._preloadItem(t.index+e);for(e=1;(t.direction?i:o)>=e;e++)t._preloadItem(t.index-e)},_preloadItem:function(n){if(n=U(n),!t.items[n].preloaded){var i=t.items[n];i.parsed||(i=t.parseEl(n)),T("LazyLoad",i),"image"===i.type&&(i.img=e('<img class="mfp-img" />').on("load.mfploader",function(){i.hasSize=!0}).on("error.mfploader",function(){i.hasSize=!0,i.loadError=!0,T("LazyLoadError",i)}).attr("src",i.src)),i.preloaded=!0}}}});var X="retina";e.magnificPopup.registerModule(X,{options:{replaceSrc:function(e){return e.src.replace(/\.\w+$/,function(e){return"@2x"+e})},ratio:1},proto:{initRetina:function(){if(window.devicePixelRatio>1){var e=t.st.retina,n=e.ratio;n=isNaN(n)?n():n,n>1&&(x("ImageHasSize."+X,function(e,t){t.img.css({"max-width":t.img[0].naturalWidth/n,width:"100%"})}),x("ElementParse."+X,function(t,i){i.src=e.replaceSrc(i,n)}))}}}}),function(){var t=1e3,n="ontouchstart"in window,i=function(){I.off("touchmove"+r+" touchend"+r)},o="mfpFastClick",r="."+o;e.fn.mfpFastClick=function(o){return e(this).each(function(){var a,s=e(this);if(n){var l,c,d,u,p,f;s.on("touchstart"+r,function(e){u=!1,f=1,p=e.originalEvent?e.originalEvent.touches[0]:e.touches[0],c=p.clientX,d=p.clientY,I.on("touchmove"+r,function(e){p=e.originalEvent?e.originalEvent.touches:e.touches,f=p.length,p=p[0],(Math.abs(p.clientX-c)>10||Math.abs(p.clientY-d)>10)&&(u=!0,i())}).on("touchend"+r,function(e){i(),u||f>1||(a=!0,e.preventDefault(),clearTimeout(l),l=setTimeout(function(){a=!1},t),o())})})}s.on("click"+r,function(){a||o()})})},e.fn.destroyMfpFastClick=function(){e(this).off("touchstart"+r+" click"+r),n&&I.off("touchmove"+r+" touchend"+r)}}()})(window.jQuery||window.Zepto);
3845/*! This file is auto-generated */
3846/*!
3847 * imagesLoaded PACKAGED v4.1.4
3848 * JavaScript is all like "You images are done yet or what?"
3849 * MIT License
3850 */
3851!function(e,t){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",t):"object"==typeof module&&module.exports?module.exports=t():e.EvEmitter=t()}("undefined"!=typeof window?window:this,function(){function e(){}var t=e.prototype;return t.on=function(e,t){if(e&&t){var i=this._events=this._events||{},n=i[e]=i[e]||[];return n.indexOf(t)==-1&&n.push(t),this}},t.once=function(e,t){if(e&&t){this.on(e,t);var i=this._onceEvents=this._onceEvents||{},n=i[e]=i[e]||{};return n[t]=!0,this}},t.off=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){var n=i.indexOf(t);return n!=-1&&i.splice(n,1),this}},t.emitEvent=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){i=i.slice(0),t=t||[];for(var n=this._onceEvents&&this._onceEvents[e],o=0;o<i.length;o++){var r=i[o],s=n&&n[r];s&&(this.off(e,r),delete n[r]),r.apply(this,t)}return this}},t.allOff=function(){delete this._events,delete this._onceEvents},e}),function(e,t){"use strict";"function"==typeof define&&define.amd?define(["ev-emitter/ev-emitter"],function(i){return t(e,i)}):"object"==typeof module&&module.exports?module.exports=t(e,require("ev-emitter")):e.imagesLoaded=t(e,e.EvEmitter)}("undefined"!=typeof window?window:this,function(e,t){function i(e,t){for(var i in t)e[i]=t[i];return e}function n(e){if(Array.isArray(e))return e;var t="object"==typeof e&&"number"==typeof e.length;return t?d.call(e):[e]}function o(e,t,r){if(!(this instanceof o))return new o(e,t,r);var s=e;return"string"==typeof e&&(s=document.querySelectorAll(e)),s?(this.elements=n(s),this.options=i({},this.options),"function"==typeof t?r=t:i(this.options,t),r&&this.on("always",r),this.getImages(),h&&(this.jqDeferred=new h.Deferred),void setTimeout(this.check.bind(this))):void a.error("Bad element for imagesLoaded "+(s||e))}function r(e){this.img=e}function s(e,t){this.url=e,this.element=t,this.img=new Image}var h=e.jQuery,a=e.console,d=Array.prototype.slice;o.prototype=Object.create(t.prototype),o.prototype.options={},o.prototype.getImages=function(){this.images=[],this.elements.forEac
3851h(this.addElementImages,this)},o.prototype.addElementImages=function(e){"IMG"==e.nodeName&&this.addImage(e),this.options.background===!0&&this.addElementBackgroundImages(e);var t=e.nodeType;if(t&&u[t]){for(var i=e.querySelectorAll("img"),n=0;n<i.length;n++){var o=i[n];this.addImage(o)}if("string"==typeof this.options.background){var r=e.querySelectorAll(this.options.background);for(n=0;n<r.length;n++){var s=r[n];this.addElementBackgroundImages(s)}}}};var u={1:!0,9:!0,11:!0};return o.prototype.addElementBackgroundImages=function(e){var t=getComputedStyle(e);if(t)for(var i=/url\((['"])?(.*?)\1\)/gi,n=i.exec(t.backgroundImage);null!==n;){var o=n&&n[2];o&&this.addBackground(o,e),n=i.exec(t.backgroundImage)}},o.prototype.addImage=function(e){var t=new r(e);this.images.push(t)},o.prototype.addBackground=function(e,t){var i=new s(e,t);this.images.push(i)},o.prototype.check=function(){function e(e,i,n){setTimeout(function(){t.progress(e,i,n)})}var t=this;return this.progressedCount=0,this.hasAnyBroken=!1,this.images.length?void this.images.forEach(function(t){t.once("progress",e),t.check()}):void this.complete()},o.prototype.progress=function(e,t,i){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!e.isLoaded,this.emitEvent("progress",[this,e,t]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,e),this.progressedCount==this.images.length&&this.complete(),this.options.debug&&a&&a.log("progress: "+i,e,t)},o.prototype.complete=function(){var e=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(e,[this]),this.emitEvent("always",[this]),this.jqDeferred){var t=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[t](this)}},r.prototype=Object.create(t.prototype),r.prototype.check=function(){var e=this.getIsImageComplete();return e?void this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),void(this.proxyImage.src=this.img.src))},r.prototype.getIsImageComplete=function(){return this.img.complete&&this.img.naturalWidth},r.prototype.confirm=function(e,t){this.isLoaded=e,this.emitEvent("progress",[this,this.img,t])},r.prototype.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},r.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},r.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},r.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},s.prototype=Object.create(r.prototype),s.prototype.check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url;var e=this.getIsImageComplete();e&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},s.prototype.unbindEvents=function(){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},s.prototype.confirm=function(e,t){this.isLoaded=e,this.emitEvent("progress",[this,this.element,t])},o.makeJQueryPlugin=function(t){t=t||e.jQuery,t&&(h=t,h.fn.imagesLoaded=function(e,t){var i=new o(this,e,t);return i.jqDeferred.promise(h(this))})},o.makeJQueryPlugin(),o});
3852/*!
3853 * Isotope PACKAGED v2.0.0
3854 * Filter & sort magical layouts
3855 * http://isotope.metafizzy.co
3856 */
3857(function(t){function e(){}function i(t){function i(e){e.prototype.option||(e.prototype.option=function(e){t.isPlainObject(e)&&(this.options=t.extend(!0,this.options,e))})}function n(e,i){t.fn[e]=function(n){if("string"==typeof n){for(var s=o.call(arguments,1),a=0,u=this.length;u>a;a++){var p=this[a],h=t.data(p,e);if(h)if(t.isFunction(h[n])&&"_"!==n.charAt(0)){var f=h[n].apply(h,s);if(void 0!==f)return f}else r("no such method '"+n+"' for "+e+" instance");else r("cannot call methods on "+e+" prior to initialization; "+"attempted to call '"+n+"'")}return this}return this.each(function(){var o=t.data(this,e);o?(o.option(n),o._init()):(o=new i(this,n),t.data(this,e,o))})}}if(t){var r="undefined"==typeof console?e:function(t){console.error(t)};return t.bridget=function(t,e){i(e),n(t,e)},t.bridget}}var o=Array.prototype.slice;"function"==typeof define&&define.amd?define("jquery-bridget/jquery.bridget",["jquery"],i):i(t.jQuery)})(window),function(t){function e(e){var i=t.event;return i.target=i.target||i.srcElement||e,i}var i=document.documentElement,o=function(){};
3857i.addEventListener?o=function(t,e,i){t.addEventListener(e,i,!1)}:i.attachEvent&&(o=function(t,i,o){t[i+o]=o.handleEvent?function(){var i=e(t);o.handleEvent.call(o,i)}:function(){var i=e(t);o.call(t,i)},t.attachEvent("on"+i,t[i+o])});var n=function(){};i.removeEventListener?n=function(t,e,i){t.removeEventListener(e,i,!1)}:i.detachEvent&&(n=function(t,e,i){t.detachEvent("on"+e,t[e+i]);try{delete t[e+i]}catch(o){t[e+i]=void 0}});var r={bind:o,unbind:n};"function"==typeof define&&define.amd?define("eventie/eventie",r):"object"==typeof exports?module.exports=r:t.eventie=r}(this),function(t){function e(t){"function"==typeof t&&(e.isReady?t():r.push(t))}function i(t){var i="readystatechange"===t.type&&"complete"!==n.readyState;if(!e.isReady&&!i){e.isReady=!0;for(var o=0,s=r.length;s>o;o++){var a=r[o];a()}}}function o(o){return o.bind(n,"DOMContentLoaded",i),o.bind(n,"readystatechange",i),o.bind(t,"load",i),e}var n=t.document,r=[];e.isReady=!1,"function"==typeof define&&define.amd?(e.isReady="function"==typeof requirejs,define("doc-ready/doc-ready",["eventie/eventie"],o)):t.docReady=o(t.eventie)}(this),function(){function t(){}function e(t,e){for(var i=t.length;i--;)if(t[i].listener===e)return i;return-1}function i(t){return function(){return this[t].apply(this,arguments)}}var o=t.prototype,n=this,r=n.EventEmitter;o.getListeners=function(t){var e,i,o=this._getEvents();if(t instanceof RegExp){e={};for(i in o)o.hasOwnProperty(i)&&t.test(i)&&(e[i]=o[i])}else e=o[t]||(o[t]=[]);return e},o.flattenListeners=function(t){var e,i=[];for(e=0;t.length>e;e+=1)i.push(t[e].listener);return i},o.getListenersAsObject=function(t){var e,i=this.getListeners(t);return i instanceof Array&&(e={},e[t]=i),e||i},o.addListener=function(t,i){var o,n=this.getListenersAsObject(t),r="object"==typeof i;for(o in n)n.hasOwnProperty(o)&&-1===e(n[o],i)&&n[o].push(r?i:{listener:i,once:!1});return this},o.on=i("addListener"),o.addOnceListener=function(t,e){return this.addListener(t,{listener:e,once:!0})},o.once=i("addOnceListener"),o.defineEvent=function(t){return this.getListeners(t),this},o.defineEvents=function(t){for(var e=0;t.length>e;e+=1)this.defineEvent(t[e]);return this},o.removeListener=function(t,i){var o,n,r=this.getListenersAsObject(t);for(n in r)r.hasOwnProperty(n)&&(o=e(r[n],i),-1!==o&&r[n].splice(o,1));return this},o.off=i("removeListener"),o.addListeners=function(t,e){return this.manipulateListeners(!1,t,e)},o.removeListeners=function(t,e){return this.manipulateListeners(!0,t,e)},o.manipulateListeners=function(t,e,i){var o,n,r=t?this.removeListener:this.addListener,s=t?this.removeListeners:this.addListeners;if("object"!=typeof e||e instanceof RegExp)for(o=i.length;o--;)r.call(this,e,i[o]);else for(o in e)e.hasOwnProperty(o)&&(n=e[o])&&("function"==typeof n?r.call(this,o,n):s.call(this,o,n));return this},o.removeEvent=function(t){var e,i=typeof t,o=this._getEvents();if("string"===i)delete o[t];else if(t instanceof RegExp)for(e in o)o.hasOwnProperty(e)&&t.test(e)&&delete o[e];else delete this._events;return this},o.removeAllListeners=i("removeEvent"),o.emitEvent=function(t,e){var i,o,n,r,s=this.getListenersAsObject(t);for(n in s)if(s.hasOwnProperty(n))for(o=s[n].length;o--;)i=s[n][o],i.once===!0&&this.removeListener(t,i.listener),r=i.listener.apply(this,e||[]),r===this._getOnceReturnValue()&&this.removeListener(t,i.listener);return this},o.trigger=i("emitEvent"),o.emit=function(t){var e=Array.prototype.slice.call(arguments,1);return this.emitEvent(t,e)},o.setOnceReturnValue=function(t){return this._onceReturnValue=t,this},o._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},o._getEvents=function(){return this._events||(this._events={})},t.noConflict=function(){return n.EventEmitter=r,t},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return t}):"object"==typeof module&&module.exports?module.exports=t:this.EventEmitter=t}.call(this),function(t){function e(t){if(t){if("string"==typeof o[t])return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var e,n=0,r=i.length;r>n;
3857n++)if(e=i[n]+t,"string"==typeof o[e])return e}}var i="Webkit Moz ms Ms O".split(" "),o=document.documentElement.style;"function"==typeof define&&define.amd?define("get-style-property/get-style-property",[],function(){return e}):"object"==typeof exports?module.exports=e:t.getStyleProperty=e}(window),function(t){function e(t){var e=parseFloat(t),i=-1===t.indexOf("%")&&!isNaN(e);return i&&e}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0,i=s.length;i>e;e++){var o=s[e];t[o]=0}return t}function o(t){function o(t){if("string"==typeof t&&(t=document.querySelector(t)),t&&"object"==typeof t&&t.nodeType){var o=r(t);if("none"===o.display)return i();var n={};n.width=t.offsetWidth,n.height=t.offsetHeight;for(var h=n.isBorderBox=!(!p||!o[p]||"border-box"!==o[p]),f=0,c=s.length;c>f;f++){var d=s[f],l=o[d];l=a(t,l);var y=parseFloat(l);n[d]=isNaN(y)?0:y}var m=n.paddingLeft+n.paddingRight,g=n.paddingTop+n.paddingBottom,v=n.marginLeft+n.marginRight,_=n.marginTop+n.marginBottom,I=n.borderLeftWidth+n.borderRightWidth,L=n.borderTopWidth+n.borderBottomWidth,z=h&&u,S=e(o.width);S!==!1&&(n.width=S+(z?0:m+I));var b=e(o.height);return b!==!1&&(n.height=b+(z?0:g+L)),n.innerWidth=n.width-(m+I),n.innerHeight=n.height-(g+L),n.outerWidth=n.width+v,n.outerHeight=n.height+_,n}}function a(t,e){if(n||-1===e.indexOf("%"))return e;var i=t.style,o=i.left,r=t.runtimeStyle,s=r&&r.left;return s&&(r.left=t.currentStyle.left),i.left=e,e=i.pixelLeft,i.left=o,s&&(r.left=s),e}var u,p=t("boxSizing");return function(){if(p){var t=document.createElement("div");t.style.width="200px",t.style.padding="1px 2px 3px 4px",t.style.borderStyle="solid",t.style.borderWidth="1px 2px 3px 4px",t.style[p]="border-box";var i=document.body||document.documentElement;i.appendChild(t);var o=r(t);u=200===e(o.width),i.removeChild(t)}}(),o}var n=t.getComputedStyle,r=n?function(t){return n(t,null)}:function(t){return t.currentStyle},s=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"];"function"==typeof define&&define.amd?define("get-size/get-size",["get-style-property/get-style-property"],o):"object"==typeof exports?module.exports=o(require("get-style-property")):t.getSize=o(t.getStyleProperty)}(window),function(t,e){function i(t,e){return t[a](e)}function o(t){if(!t.parentNode){var e=document.createDocumentFragment();e.appendChild(t)}}function n(t,e){o(t);for(var i=t.parentNode.querySelectorAll(e),n=0,r=i.length;r>n;n++)if(i[n]===t)return!0;return!1}function r(t,e){return o(t),i(t,e)}var s,a=function(){if(e.matchesSelector)return"matchesSelector";for(var t=["webkit","moz","ms","o"],i=0,o=t.length;o>i;i++){var n=t[i],r=n+"MatchesSelector";if(e[r])return r}}();if(a){var u=document.createElement("div"),p=i(u,"div");s=p?i:r}else s=n;"function"==typeof define&&define.amd?define("matches-selector/matches-selector",[],function(){return s}):window.matchesSelector=s}(this,Element.prototype),function(t){function e(t,e){for(var i in e)t[i]=e[i];return t}function i(t){for(var e in t)return!1;return e=null,!0}function o(t){return t.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()})}function n(t,n,r){function a(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create())}var u=r("transition"),p=r("transform"),h=u&&p,f=!!r("perspective"),c={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend",transition:"transitionend"}[u],d=["transform","transition","transitionDuration","transitionProperty"],l=function(){for(var t={},e=0,i=d.length;i>e;e++){var o=d[e],n=r(o);n&&n!==o&&(t[o]=n)}return t}();e(a.prototype,t.prototype),a.prototype._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},a.prototype.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},a.prototype.getSize=function(){this.size=n(this.element)},a.prototype.css=function(t){var e=this.element.style;for(var i in t){var o=l[i]||i;e[o]=t[i]}},a.prototype.getPosition=function(){var t=s(this.element),e=this.layout.options,i=e.isOriginLeft,o=e.isOriginTop,n=parseInt(t[i?"left":"right"],10),r=parseInt(t[o?"top":"bottom"],10);n=isNaN(n)?0:n,r=isNaN(r)?0:r;var a=this.layout.size;n-=i?a.paddingLeft:a.paddingRight,r-=o?a.paddingTop:a.paddingBottom,this.position.x=n,this.position.y=r},a.prototype.layoutPosition=function(){var t=this.layout.size,e=this.layout.options,i={};
3857e.isOriginLeft?(i.left=this.position.x+t.paddingLeft+"px",i.right=""):(i.right=this.position.x+t.paddingRight+"px",i.left=""),e.isOriginTop?(i.top=this.position.y+t.paddingTop+"px",i.bottom=""):(i.bottom=this.position.y+t.paddingBottom+"px",i.top=""),this.css(i),this.emitEvent("layout",[this])};var y=f?function(t,e){return"translate3d("+t+"px, "+e+"px, 0)"}:function(t,e){return"translate("+t+"px, "+e+"px)"};a.prototype._transitionTo=function(t,e){this.getPosition();var i=this.position.x,o=this.position.y,n=parseInt(t,10),r=parseInt(e,10),s=n===this.position.x&&r===this.position.y;if(this.setPosition(t,e),s&&!this.isTransitioning)return this.layoutPosition(),void 0;var a=t-i,u=e-o,p={},h=this.layout.options;a=h.isOriginLeft?a:-a,u=h.isOriginTop?u:-u,p.transform=y(a,u),this.transition({to:p,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},a.prototype.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},a.prototype.moveTo=h?a.prototype._transitionTo:a.prototype.goTo,a.prototype.setPosition=function(t,e){this.position.x=parseInt(t,10),this.position.y=parseInt(e,10)},a.prototype._nonTransition=function(t){this.css(t.to),t.isCleaning&&this._removeStyles(t.to);for(var e in t.onTransitionEnd)t.onTransitionEnd[e].call(this)},a.prototype._transition=function(t){if(!parseFloat(this.layout.options.transitionDuration))return this._nonTransition(t),void 0;var e=this._transn;for(var i in t.onTransitionEnd)e.onEnd[i]=t.onTransitionEnd[i];for(i in t.to)e.ingProperties[i]=!0,t.isCleaning&&(e.clean[i]=!0);if(t.from){this.css(t.from);var o=this.element.offsetHeight;o=null}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0};var m=p&&o(p)+",opacity";a.prototype.enableTransition=function(){this.isTransitioning||(this.css({transitionProperty:m,transitionDuration:this.layout.options.transitionDuration}),this.element.addEventListener(c,this,!1))},a.prototype.transition=a.prototype[u?"_transition":"_nonTransition"],a.prototype.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},a.prototype.onotransitionend=function(t){this.ontransitionend(t)};var g={"-webkit-transform":"transform","-moz-transform":"transform","-o-transform":"transform"};a.prototype.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,o=g[t.propertyName]||t.propertyName;if(delete e.ingProperties[o],i(e.ingProperties)&&this.disableTransition(),o in e.clean&&(this.element.style[t.propertyName]="",delete e.clean[o]),o in e.onEnd){var n=e.onEnd[o];n.call(this),delete e.onEnd[o]}this.emitEvent("transitionEnd",[this])}},a.prototype.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(c,this,!1),this.isTransitioning=!1},a.prototype._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var v={transitionProperty:"",transitionDuration:""};return a.prototype.removeTransitionStyles=function(){this.css(v)},a.prototype.removeElem=function(){this.element.parentNode.removeChild(this.element),this.emitEvent("remove",[this])},a.prototype.remove=function(){if(!u||!parseFloat(this.layout.options.transitionDuration))return this.removeElem(),void 0;var t=this;this.on("transitionEnd",function(){return t.removeElem(),!0}),this.hide()},a.prototype.reveal=function(){delete this.isHidden,this.css({display:""});var t=this.layout.options;this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0})},a.prototype.hide=function(){this.isHidden=!0,this.css({display:""});var t=this.layout.options;this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:{opacity:function(){this.isHidden&&this.css({display:"none"})}}})},a.prototype.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},a}var r=t.getComputedStyle,s=r?function(t){return r(t,null)}:function(t){return t.currentStyle};"function"==typeof define&&define.amd?define("outlayer/item",["eventEmitter/EventEmitter","get-size/get-size","get-style-property/get-style-property"],n):(t.Outlayer={},t.Outlayer.Item=n(t.EventEmitter,t.getSize,t.getStyleProperty))}(window),function(t){function e(t,e){for(var i in e)t[i]=e[i];return t}function i(t){return"[object Array]"===f.call(t)}function o(t){var e=[];
3857if(i(t))e=t;else if(t&&"number"==typeof t.length)for(var o=0,n=t.length;n>o;o++)e.push(t[o]);else e.push(t);return e}function n(t,e){var i=d(e,t);-1!==i&&e.splice(i,1)}function r(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()}function s(i,s,f,d,l,y){function m(t,i){if("string"==typeof t&&(t=a.querySelector(t)),!t||!c(t))return u&&u.error("Bad "+this.constructor.namespace+" element: "+t),void 0;this.element=t,this.options=e({},this.constructor.defaults),this.option(i);var o=++g;this.element.outlayerGUID=o,v[o]=this,this._create(),this.options.isInitLayout&&this.layout()}var g=0,v={};return m.namespace="outlayer",m.Item=y,m.defaults={containerStyle:{position:"relative"},isInitLayout:!0,isOriginLeft:!0,isOriginTop:!0,isResizeBound:!0,isResizingContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}},e(m.prototype,f.prototype),m.prototype.option=function(t){e(this.options,t)},m.prototype._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),e(this.element.style,this.options.containerStyle),this.options.isResizeBound&&this.bindResize()},m.prototype.reloadItems=function(){this.items=this._itemize(this.element.children)},m.prototype._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.constructor.Item,o=[],n=0,r=e.length;r>n;n++){var s=e[n],a=new i(s,this);o.push(a)}return o},m.prototype._filterFindItemElements=function(t){t=o(t);for(var e=this.options.itemSelector,i=[],n=0,r=t.length;r>n;n++){var s=t[n];if(c(s))if(e){l(s,e)&&i.push(s);for(var a=s.querySelectorAll(e),u=0,p=a.length;p>u;u++)i.push(a[u])}else i.push(s)}return i},m.prototype.getItemElements=function(){for(var t=[],e=0,i=this.items.length;i>e;e++)t.push(this.items[e].element);return t},m.prototype.layout=function(){this._resetLayout(),this._manageStamps();var t=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;this.layoutItems(this.items,t),this._isLayoutInited=!0},m.prototype._init=m.prototype.layout,m.prototype._resetLayout=function(){this.getSize()},m.prototype.getSize=function(){this.size=d(this.element)},m.prototype._getMeasurement=function(t,e){var i,o=this.options[t];o?("string"==typeof o?i=this.element.querySelector(o):c(o)&&(i=o),this[t]=i?d(i)[e]:o):this[t]=0},m.prototype.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},m.prototype._getItemsForLayout=function(t){for(var e=[],i=0,o=t.length;o>i;i++){var n=t[i];n.isIgnored||e.push(n)}return e},m.prototype._layoutItems=function(t,e){function i(){o.emitEvent("layoutComplete",[o,t])}var o=this;if(!t||!t.length)return i(),void 0;this._itemsOn(t,"layout",i);for(var n=[],r=0,s=t.length;s>r;r++){var a=t[r],u=this._getItemLayoutPosition(a);u.item=a,u.isInstant=e||a.isLayoutInstant,n.push(u)}this._processLayoutQueue(n)},m.prototype._getItemLayoutPosition=function(){return{x:0,y:0}},m.prototype._processLayoutQueue=function(t){for(var e=0,i=t.length;i>e;e++){var o=t[e];this._positionItem(o.item,o.x,o.y,o.isInstant)}},m.prototype._positionItem=function(t,e,i,o){o?t.goTo(e,i):t.moveTo(e,i)},m.prototype._postLayout=function(){this.resizeContainer()},m.prototype.resizeContainer=function(){if(this.options.isResizingContainer){var t=this._getContainerSize();t&&(this._setContainerMeasure(t.width,!0),this._setContainerMeasure(t.height,!1))}},m.prototype._getContainerSize=h,m.prototype._setContainerMeasure=function(t,e){if(void 0!==t){var i=this.size;i.isBorderBox&&(t+=e?i.paddingLeft+i.paddingRight+i.borderLeftWidth+i.borderRightWidth:i.paddingBottom+i.paddingTop+i.borderTopWidth+i.borderBottomWidth),t=Math.max(t,0),this.element.style[e?"width":"height"]=t+"px"}},m.prototype._itemsOn=function(t,e,i){function o(){return n++,n===r&&i.call(s),!0}for(var n=0,r=t.length,s=this,a=0,u=t.length;u>a;a++){var p=t[a];p.on(e,o)}},m.prototype.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},m.prototype.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},m.prototype.stamp=function(t){if(t=this._find(t)){this.stamps=this.stamps.
3857concat(t);for(var e=0,i=t.length;i>e;e++){var o=t[e];this.ignore(o)}}},m.prototype.unstamp=function(t){if(t=this._find(t))for(var e=0,i=t.length;i>e;e++){var o=t[e];n(o,this.stamps),this.unignore(o)}},m.prototype._find=function(t){return t?("string"==typeof t&&(t=this.element.querySelectorAll(t)),t=o(t)):void 0},m.prototype._manageStamps=function(){if(this.stamps&&this.stamps.length){this._getBoundingRect();for(var t=0,e=this.stamps.length;e>t;t++){var i=this.stamps[t];this._manageStamp(i)}}},m.prototype._getBoundingRect=function(){var t=this.element.getBoundingClientRect(),e=this.size;this._boundingRect={left:t.left+e.paddingLeft+e.borderLeftWidth,top:t.top+e.paddingTop+e.borderTopWidth,right:t.right-(e.paddingRight+e.borderRightWidth),bottom:t.bottom-(e.paddingBottom+e.borderBottomWidth)}},m.prototype._manageStamp=h,m.prototype._getElementOffset=function(t){var e=t.getBoundingClientRect(),i=this._boundingRect,o=d(t),n={left:e.left-i.left-o.marginLeft,top:e.top-i.top-o.marginTop,right:i.right-e.right-o.marginRight,bottom:i.bottom-e.bottom-o.marginBottom};return n},m.prototype.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},m.prototype.bindResize=function(){this.isResizeBound||(i.bind(t,"resize",this),this.isResizeBound=!0)},m.prototype.unbindResize=function(){this.isResizeBound&&i.unbind(t,"resize",this),this.isResizeBound=!1},m.prototype.onresize=function(){function t(){e.resize(),delete e.resizeTimeout}this.resizeTimeout&&clearTimeout(this.resizeTimeout);var e=this;this.resizeTimeout=setTimeout(t,100)},m.prototype.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},m.prototype.needsResizeLayout=function(){var t=d(this.element),e=this.size&&t;return e&&t.innerWidth!==this.size.innerWidth},m.prototype.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},m.prototype.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},m.prototype.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps(),this.layoutItems(e,!0),this.reveal(e),this.layoutItems(i)}},m.prototype.reveal=function(t){var e=t&&t.length;if(e)for(var i=0;e>i;i++){var o=t[i];o.reveal()}},m.prototype.hide=function(t){var e=t&&t.length;if(e)for(var i=0;e>i;i++){var o=t[i];o.hide()}},m.prototype.getItem=function(t){for(var e=0,i=this.items.length;i>e;e++){var o=this.items[e];if(o.element===t)return o}},m.prototype.getItems=function(t){if(t&&t.length){for(var e=[],i=0,o=t.length;o>i;i++){var n=t[i],r=this.getItem(n);r&&e.push(r)}return e}},m.prototype.remove=function(t){t=o(t);var e=this.getItems(t);if(e&&e.length){this._itemsOn(e,"remove",function(){this.emitEvent("removeComplete",[this,e])});for(var i=0,r=e.length;r>i;i++){var s=e[i];s.remove(),n(s,this.items)}}},m.prototype.destroy=function(){var t=this.element.style;t.height="",t.position="",t.width="";for(var e=0,i=this.items.length;i>e;e++){var o=this.items[e];o.destroy()}this.unbindResize(),delete this.element.outlayerGUID,p&&p.removeData(this.element,this.constructor.namespace)},m.data=function(t){var e=t&&t.outlayerGUID;return e&&v[e]},m.create=function(t,i){function o(){m.apply(this,arguments)}return Object.create?o.prototype=Object.create(m.prototype):e(o.prototype,m.prototype),o.prototype.constructor=o,o.defaults=e({},m.defaults),e(o.defaults,i),o.prototype.settings={},o.namespace=t,o.data=m.data,o.Item=function(){y.apply(this,arguments)},o.Item.prototype=new y,s(function(){for(var e=r(t),i=a.querySelectorAll(".js-"+e),n="data-"+e+"-options",s=0,h=i.length;h>s;s++){var f,c=i[s],d=c.getAttribute(n);try{f=d&&JSON.parse(d)}catch(l){u&&u.error("Error parsing "+n+" on "+c.nodeName.toLowerCase()+(c.id?"#"+c.id:"")+": "+l);continue}var y=new o(c,f);p&&p.data(c,t,y)}}),p&&p.bridget&&p.bridget(t,o),o},m.Item=y,m}var a=t.document,u=t.console,p=t.jQuery,h=function(){},f=Object.prototype.toString,c="object"==typeof HTMLElement?function(t){return t instanceof HTMLElement}:function(t){return t&&"object"==typeof t&&1===t.nodeType&&"string"==typeof t.nodeName},d=Array.prototype.indexOf?function(t,e){return t.indexOf(e)}:function(t,e){for(var i=0,o=t.length;o>i;i++)if(t[i]===e)return i;return-1};"function"==typeof define&&define.amd?define("outlayer/outlayer",["eventie/eventie","doc-ready/doc-ready","eventEmitter/EventEmitter","get-size/get-size","matches-selector/matches-selector","./item"],s):t.Outlayer=s(t.eventie,t.docReady,t.EventEmitter,t.getSize,t.matchesSelector,t.Outlayer.Item)}(window),function(t){function e(t){function e(){t.Item.apply(this,arguments)}return e.prototype=new t.Item,e.prototype._create=function(){this.id=this.layout.itemGUID++,t.Item.prototype._create.call(this),this.sortData={}},e.prototype.updateSortData=function(){if(!this.isIgnored){this.sortData.id=this.id,this.sortData["original-order"]=this.id,this.sortData.random=Math.random();var t=this.layout.options.getSortData,e=this.layout._sorters;for(var i in t){var o=e[i];this.sortData[i]=o(this.element,this)}}},e}"function"==typeof define&&define.amd?define("isotope/js/item",["outlayer/outlayer"],e):(t.Isotope=t.Isotope||{},t.Isotope.Item=e(t.Outlayer))}(window),function(t){function e(t,e){function i(t){this.isotope=t,t&&(this.options=t.options[this.namespace],this.element=t.element,this.items=t.filteredItems,this.size=t.size)}return function(){function t(t){return function(){return e.prototype[t].apply(this.isotope,arguments)}}for(var o=["_resetLayout","_getItemLayoutPosition","_manageStamp","_getContainerSize","_getElementOffset","needsResizeLayout"],n=0,r=o.length;r>n;n++){var s=o[n];i.prototype[s]=t(s)}}(),i.prototype.needsVerticalResizeLayout=function(){var e=t(this.isotope.element),i=this.isotope.size&&e;
3857return i&&e.innerHeight!==this.isotope.size.innerHeight},i.prototype._getMeasurement=function(){this.isotope._getMeasurement.apply(this,arguments)},i.prototype.getColumnWidth=function(){this.getSegmentSize("column","Width")},i.prototype.getRowHeight=function(){this.getSegmentSize("row","Height")},i.prototype.getSegmentSize=function(t,e){var i=t+e,o="outer"+e;if(this._getMeasurement(i,o),!this[i]){var n=this.getFirstItemSize();this[i]=n&&n[o]||this.isotope.size["inner"+e]}},i.prototype.getFirstItemSize=function(){var e=this.isotope.filteredItems[0];return e&&e.element&&t(e.element)},i.prototype.layout=function(){this.isotope.layout.apply(this.isotope,arguments)},i.prototype.getSize=function(){this.isotope.getSize(),this.size=this.isotope.size},i.modes={},i.create=function(t,e){function o(){i.apply(this,arguments)}return o.prototype=new i,e&&(o.options=e),o.prototype.namespace=t,i.modes[t]=o,o},i}"function"==typeof define&&define.amd?define("isotope/js/layout-mode",["get-size/get-size","outlayer/outlayer"],e):(t.Isotope=t.Isotope||{},t.Isotope.LayoutMode=e(t.getSize,t.Outlayer))}(window),function(t){function e(t,e){var o=t.create("masonry");return o.prototype._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns();var t=this.cols;for(this.colYs=[];t--;)this.colYs.push(0);this.maxY=0},o.prototype.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var t=this.items[0],i=t&&t.element;this.columnWidth=i&&e(i).outerWidth||this.containerWidth}this.columnWidth+=this.gutter,this.cols=Math.floor((this.containerWidth+this.gutter)/this.columnWidth),this.cols=Math.max(this.cols,1)},o.prototype.getContainerWidth=function(){var t=this.options.isFitWidth?this.element.parentNode:this.element,i=e(t);this.containerWidth=i&&i.innerWidth},o.prototype._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,o=e&&1>e?"round":"ceil",n=Math[o](t.size.outerWidth/this.columnWidth);n=Math.min(n,this.cols);for(var r=this._getColGroup(n),s=Math.min.apply(Math,r),a=i(r,s),u={x:this.columnWidth*a,y:s},p=s+t.size.outerHeight,h=this.cols+1-r.length,f=0;h>f;f++)this.colYs[a+f]=p;return u},o.prototype._getColGroup=function(t){if(2>t)return this.colYs;for(var e=[],i=this.cols+1-t,o=0;i>o;o++){var n=this.colYs.slice(o,o+t);e[o]=Math.max.apply(Math,n)}return e},o.prototype._manageStamp=function(t){var i=e(t),o=this._getElementOffset(t),n=this.options.isOriginLeft?o.left:o.right,r=n+i.outerWidth,s=Math.floor(n/this.columnWidth);s=Math.max(0,s);var a=Math.floor(r/this.columnWidth);a-=r%this.columnWidth?0:1,a=Math.min(this.cols-1,a);for(var u=(this.options.isOriginTop?o.top:o.bottom)+i.outerHeight,p=s;a>=p;p++)this.colYs[p]=Math.max(u,this.colYs[p])},o.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this.options.isFitWidth&&(t.width=this._getContainerFitWidth()),t},o.prototype._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},o.prototype.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!==this.containerWidth},o}var i=Array.prototype.indexOf?function(t,e){return t.indexOf(e)}:function(t,e){for(var i=0,o=t.length;o>i;i++){var n=t[i];if(n===e)return i}return-1};"function"==typeof define&&define.amd?define("masonry/masonry",["outlayer/outlayer","get-size/get-size"],e):t.Masonry=e(t.Outlayer,t.getSize)}(window),function(t){function e(t,e){for(var i in e)t[i]=e[i];return t}function i(t,i){var o=t.create("masonry"),n=o.prototype._getElementOffset,r=o.prototype.layout,s=o.prototype._getMeasurement;e(o.prototype,i.prototype),o.prototype._getElementOffset=n,o.prototype.layout=r,o.prototype._getMeasurement=s;var a=o.prototype.measureColumns;o.prototype.measureColumns=function(){this.items=this.isotope.filteredItems,a.call(this)};var u=o.prototype._manageStamp;return o.prototype._manageStamp=function(){this.options.isOriginLeft=this.isotope.options.isOriginLeft,this.options.isOriginTop=this.isotope.options.isOriginTop,u.apply(this,arguments)},o}"function"==typeof define&&define.amd?define("isotope/js/layout-modes/masonry",["../layout-mode","masonry/masonry"],i):i(t.Isotope.LayoutMode,t.Masonry)}(window),function(t){function e(t){var e=t.create("fitRows");return e.prototype._resetLayout=function(){this.x=0,this.y=0,this.maxY=0},e.prototype._getItemLayoutPosition=function(t){t.getSize(),0!==this.x&&t.size.outerWidth+this.x>this.isotope.size.innerWidth&&(this.x=0,this.y=this.maxY);var e={x:this.x,y:this.y};return this.maxY=Math.max(this.maxY,this.y+t.size.outerHeight),this.x+=t.size.outerWidth,e},e.prototype._getContainerSize=function(){return{height:this.maxY}},e}"function"==typeof define&&define.amd?define("isotope/js/layout-modes/fit-rows",["../layout-mode"],e):e(t.Isotope.LayoutMode)}(window),function(t){function e(t){var e=t.create("vertical",{horizontalAlignment:0});return e.prototype._resetLayout=function(){this.y=0},e.prototype._getItemLayoutPosition=function(t){t.getSize();var e=(this.isotope.size.innerWidth-t.size.outerWidth)*this.options.horizontalAlignment,i=this.y;return this.y+=t.size.outerHeight,{x:e,y:i}},e.prototype._getContainerSize=function(){return{height:this.y}},e}"function"==typeof define&&define.amd?define("isotope/js/layout-modes/vertical",["../layout-mode"],e):e(t.Isotope.LayoutMode)}(window),function(t){function e(t,e){for(var i in e)t[i]=e[i];return t}function i(t){return"[object Array]"===h.call(t)}function o(t){var e=[];
3857if(i(t))e=t;else if(t&&"number"==typeof t.length)for(var o=0,n=t.length;n>o;o++)e.push(t[o]);else e.push(t);return e}function n(t,e){var i=f(e,t);-1!==i&&e.splice(i,1)}function r(t,i,r,u,h){function f(t,e){return function(i,o){for(var n=0,r=t.length;r>n;n++){var s=t[n],a=i.sortData[s],u=o.sortData[s];if(a>u||u>a){var p=void 0!==e[s]?e[s]:e,h=p?1:-1;return(a>u?1:-1)*h}}return 0}}var c=t.create("isotope",{layoutMode:"masonry",isJQueryFiltering:!0,sortAscending:!0});c.Item=u,c.LayoutMode=h,c.prototype._create=function(){this.itemGUID=0,this._sorters={},this._getSorters(),t.prototype._create.call(this),this.modes={},this.filteredItems=this.items,this.sortHistory=["original-order"];for(var e in h.modes)this._initLayoutMode(e)},c.prototype.reloadItems=function(){this.itemGUID=0,t.prototype.reloadItems.call(this)},c.prototype._itemize=function(){for(var e=t.prototype._itemize.apply(this,arguments),i=0,o=e.length;o>i;i++){var n=e[i];n.id=this.itemGUID++}return this._updateItemsSortData(e),e},c.prototype._initLayoutMode=function(t){var i=h.modes[t],o=this.options[t]||{};this.options[t]=i.options?e(i.options,o):o,this.modes[t]=new i(this)},c.prototype.layout=function(){return!this._isLayoutInited&&this.options.isInitLayout?(this.arrange(),void 0):(this._layout(),void 0)},c.prototype._layout=function(){var t=this._getIsInstant();this._resetLayout(),this._manageStamps(),this.layoutItems(this.filteredItems,t),this._isLayoutInited=!0},c.prototype.arrange=function(t){this.option(t),this._getIsInstant(),this.filteredItems=this._filter(this.items),this._sort(),this._layout()},c.prototype._init=c.prototype.arrange,c.prototype._getIsInstant=function(){var t=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;return this._isInstant=t,t},c.prototype._filter=function(t){function e(){f.reveal(n),f.hide(r)}var i=this.options.filter;i=i||"*";for(var o=[],n=[],r=[],s=this._getFilterTest(i),a=0,u=t.length;u>a;a++){var p=t[a];if(!p.isIgnored){var h=s(p);h&&o.push(p),h&&p.isHidden?n.push(p):h||p.isHidden||r.push(p)}}var f=this;return this._isInstant?this._noTransition(e):e(),o},c.prototype._getFilterTest=function(t){return s&&this.options.isJQueryFiltering?function(e){return s(e.element).is(t)}:"function"==typeof t?function(e){return t(e.element)}:function(e){return r(e.element,t)}},c.prototype.updateSortData=function(t){this._getSorters(),t=o(t);var e=this.getItems(t);e=e.length?e:this.items,this._updateItemsSortData(e)
3858},c.prototype._getSorters=function(){var t=this.options.getSortData;for(var e in t){var i=t[e];this._sorters[e]=d(i)}},c.prototype._updateItemsSortData=function(t){for(var e=0,i=t.length;i>e;e++){var o=t[e];o.updateSortData()}};var d=function(){function t(t){if("string"!=typeof t)return t;var i=a(t).split(" "),o=i[0],n=o.match(/^\[(.+)\]$/),r=n&&n[1],s=e(r,o),u=c.sortDataParsers[i[1]];return t=u?function(t){return t&&u(s(t))}:function(t){return t&&s(t)}}function e(t,e){var i;return i=t?function(e){return e.getAttribute(t)}:function(t){var i=t.querySelector(e);return i&&p(i)}}return t}();c.sortDataParsers={parseInt:function(t){return parseInt(t,10)},parseFloat:function(t){return parseFloat(t)}},c.prototype._sort=function(){var t=this.options.sortBy;if(t){var e=[].concat.apply(t,this.sortHistory),i=f(e,this.options.sortAscending);this.filteredItems.sort(i),t!==this.sortHistory[0]&&this.sortHistory.unshift(t)}},c.prototype._mode=function(){var t=this.options.layoutMode,e=this.modes[t];if(!e)throw Error("No layout mode: "+t);return e.options=this.options[t],e},c.prototype._resetLayout=function(){t.prototype._resetLayout.call(this),this._mode()._resetLayout()},c.prototype._getItemLayoutPosition=function(t){return this._mode()._getItemLayoutPosition(t)},c.prototype._manageStamp=function(t){this._mode()._manageStamp(t)},c.prototype._getContainerSize=function(){return this._mode()._getContainerSize()},c.prototype.needsResizeLayout=function(){return this._mode().needsResizeLayout()},c.prototype.appended=function(t){var e=this.addItems(t);if(e.length){var i=this._filterRevealAdded(e);this.filteredItems=this.filteredItems.concat(i)}},c.prototype.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps();var o=this._filterRevealAdded(e);this.layoutItems(i),this.filteredItems=o.concat(this.filteredItems)}},c.prototype._filterRevealAdded=function(t){var e=this._noTransition(function(){return this._filter(t)});return this.layoutItems(e,!0),this.reveal(e),t},c.prototype.insert=function(t){var e=this.addItems(t);if(e.length){var i,o,n=e.length;for(i=0;n>i;i++)o=e[i],this.element.appendChild(o.element);var r=this._filter(e);for(this._noTransition(function(){this.hide(r)}),i=0;n>i;i++)e[i].isLayoutInstant=!0;for(this.arrange(),i=0;n>i;i++)delete e[i].isLayoutInstant;this.reveal(r)}};var l=c.prototype.remove;return c.prototype.remove=function(t){t=o(t);var e=this.getItems(t);if(l.call(this,t),e&&e.length)for(var i=0,r=e.length;r>i;i++){var s=e[i];n(s,this.filteredItems)}},c.prototype._noTransition=function(t){var e=this.options.transitionDuration;this.options.transitionDuration=0;var i=t.call(this);return this.options.transitionDuration=e,i},c}var s=t.jQuery,a=String.prototype.trim?function(t){return t.trim()}:function(t){return t.replace(/^\s+|\s+$/g,"")},u=document.documentElement,p=u.textContent?function(t){return t.textContent}:function(t){return t.innerText},h=Object.prototype.toString,f=Array.prototype.indexOf?function(t,e){return t.indexOf(e)}:function(t,e){for(var i=0,o=t.length;o>i;i++)if(t[i]===e)return i;return-1};"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size","matches-selector/matches-selector","isotope/js/item","isotope/js/layout-mode","isotope/js/layout-modes/masonry","isotope/js/layout-modes/fit-rows","isotope/js/layout-modes/vertical"],r):t.Isotope=r(t.Outlayer,t.getSize,t.matchesSelector,t.Isotope.Item,t.Isotope.LayoutMode)}(window);
3859
3860(function(){var t=[].indexOf||function(t){for(var e=0,n=this.length;e<n;e++){if(e in this&&this[e]===t)return e}return-1},e=[].slice;(function(t,e){if(typeof define==="function"&&define.amd){return define("waypoints",["jquery"],function(n){return e(n,t)})}else{return e(t.jQuery,t)}})(this,function(n,r){var i,o,l,s,f,u,a,c,h,d,p,y,v,w,g,m;i=n(r);c=t.call(r,"ontouchstart")>=0;s={horizontal:{},vertical:{}};f=1;a={};u="waypoints-context-id";p="resize.waypoints";y="scroll.waypoints";v=1;
vendor: 6,759 bytes, line 3860
3860w="waypoints-waypoint-ids";g="waypoint";m="waypoints";o=function(){function t(t){var e=this;this.$element=t;this.element=t[0];this.didResize=false;this.didScroll=false;this.id="context"+f++;this.oldScroll={x:t.scrollLeft(),y:t.scrollTop()};this.waypoints={horizontal:{},vertical:{}};t.data(u,this.id);a[this.id]=this;t.bind(y,function(){var t;if(!(e.didScroll||c)){e.didScroll=true;t=function(){e.doScroll();return e.didScroll=false};return r.setTimeout(t,n[m].settings.scrollThrottle)}});t.bind(p,function(){var t;if(!e.didResize){e.didResize=true;t=function(){n[m]("refresh");return e.didResize=false};return r.setTimeout(t,n[m].settings.resizeThrottle)}})}t.prototype.doScroll=function(){var t,e=this;t={horizontal:{newScroll:this.$element.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.$element.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};if(c&&(!t.vertical.oldScroll||!t.vertical.newScroll)){n[m]("refresh")}n.each(t,function(t,r){var i,o,l;l=[];o=r.newScroll>r.oldScroll;i=o?r.forward:r.backward;n.each(e.waypoints[t],function(t,e){var n,i;if(r.oldScroll<(n=e.offset)&&n<=r.newScroll){return l.push(e)}else if(r.newScroll<(i=e.offset)&&i<=r.oldScroll){return l.push(e)}});l.sort(function(t,e){return t.offset-e.offset});if(!o){l.reverse()}return n.each(l,function(t,e){if(e.options.continuous||t===l.length-1){return e.trigger([i])}})});return this.oldScroll={x:t.horizontal.newScroll,y:t.vertical.newScroll}};t.prototype.refresh=function(){var t,e,r,i=this;r=n.isWindow(this.element);e=this.$element.offset();this.doScroll();t={horizontal:{contextOffset:r?0:e.left,contextScroll:r?0:this.oldScroll.x,contextDimension:this.$element.width(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:r?0:e.top,contextScroll:r?0:this.oldScroll.y,contextDimension:r?n[m]("viewportHeight"):this.$element.height(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};return n.each(t,function(t,e){return n.each(i.waypoints[t],function(t,r){var i,o,l,s,f;i=r.options.offset;l=r.offset;o=n.isWindow(r.element)?0:r.$element.offset()[e.offsetProp];if(n.isFunction(i)){i=i.apply(r.element)}else if(typeof i==="string"){i=parseFloat(i);if(r.options.offset.indexOf("%")>-1){i=Math.ceil(e.contextDimension*i/100)}}r.offset=o-e.contextOffset+e.contextScroll-i;if(r.options.onlyOnScroll&&l!=null||!r.enabled){return}if(l!==null&&l<(s=e.oldScroll)&&s<=r.offset){return r.trigger([e.backward])}else if(l!==null&&l>(f=e.oldScroll)&&f>=r.offset){return r.trigger([e.forward])}else if(l===null&&e.oldScroll>=r.offset){return r.trigger([e.forward])}})})};t.prototype.checkEmpty=function(){if(n.isEmptyObject(this.waypoints.horizontal)&&n.isEmptyObject(this.waypoints.vertical)){this.$element.unbind([p,y].join(" "));return delete a[this.id]}};return t}();l=function(){function t(t,e,r){var i,o;r=n.extend({},n.fn[g].defaults,r);if(r.offset==="bottom-in-view"){r.offset=function(){var t;t=n[m]("viewportHeight");if(!n.isWindow(e.element)){t=e.$element.height()}return t-n(this).outerHeight()}}this.$element=t;this.element=t[0];this.axis=r.horizontal?"horizontal":"vertical";this.callback=r.handler;this.context=e;this.enabled=r.enabled;this.id="waypoints"+v++;this.offset=null;this.options=r;e.waypoints[this.axis][this.id]=this;s[this.axis][this.id]=this;i=(o=t.data(w))!=null?o:[];i.push(this.id);t.data(w,i)}t.prototype.trigger=function(t){if(!this.enabled){return}if(this.callback!=null){this.callback.apply(this.element,t)}if(this.options.triggerOnce){return this.destroy()}};t.prototype.disable=function(){return this.enabled=false};t.prototype.enable=function(){this.context.refresh();return this.enabled=true};t.prototype.destroy=function(){delete s[this.axis][this.id];delete this.context.waypoints[this.axis][this.id];return this.context.checkEmpty()};t.getWaypointsByElement=function(t){var e,r;r=n(t).data(w);if(!r){return[]}e=n.extend({},s.horizontal,s.vertical);return n.map(r,function(t){return e[t]})};return t}();d={init:function(t,e){var r;if(e==null){e={}}if((r=e.handler)==null){e.handler=t}this.each(function(){var t,r,i,s;t=n(this);i=(s=e.context)!=null?s:n.fn[g].defaults.context;if(!n.isWindow(i)){i=t.closest(i)}i=n(i);r=a[i.data(u)];if(!r){r=new o(i)}return new l(t,r,e)});n[m]("refresh");return this},disable:function(){return d._invoke(this,"disable")},enable:function(){return d._invoke(this,"enable")},destroy:function(){return d._invoke(this,"destroy")},prev:function(t,e){return d._traverse.call(this,t,e,function(t,e,n){if(e>0){return t.push(n[e-1])}})},next:function(t,e){return d._traverse.call(this,t,e,function(t,e,n){if(e<n.length-1){return t.push(n[e+1])}})},_traverse:function(t,e,i){var o,l;if(t==null){t="vertical"}if(e==null){e=r}l=h.aggregate(e);o=[];this.each(function(){var e;e=n.inArray(this,l[t]);return i(o,e,l[t])});return this.pushStack(o)},_invoke:function(t,e){t.each(function(){var t;t=l.getWaypointsByElement(this);return n.each(t,function(t,n){n[e]();return true})});return this}};n.fn[g]=function(){var t,r;r=arguments[0],t=2<=arguments.length?e.call(arguments,1):[];if(d[r]){return d[r].apply(this,t)}else if(n.isFunction(r)){return d.init.apply(this,arguments)}else if(n.isPlainObject(r)){return d.init.apply(this,[null,r])}else if(!r){return n.error("jQuery Waypoints needs a callback function or handler option.")}else{return n.error("The "+r+" method does not exist in jQuery Waypoints.")}};n.fn[g].defaults={context:r,continuous:true,enabled:true,horizontal:false,offset:0,triggerOnce:false};h={refresh:function(){return n.each(a,function(t,e){return e.refresh()})},viewportHeight:function(){var t;return(t=r.innerHeight)!=null?t:i.height()},aggregate:function(t){var e,r,i;e=s;if(t){e=(i=a[n(t).data(u)])!=null?i.waypoints:void 0}if(!e){return[]}r={horizontal:[],vertical:[]};n.each(r,function(t,i){n.each(e[t],function(t,e){return i.push(e)});i.sort(function(t,e){return t.offset-e.offset});r[t]=n.map(i,function(t){return t.element});return r[t]=n.unique(r[t])});return r},above:function(t){if(t==null){t=r}return h._filter(t,"vertical",function(t,e){return e.offset<=t.oldScroll.y})},below:function(t){if(t==null){t=r}return h._filter(t,"vertical",function(t,e){return e.offset>t.oldScroll.y})},left:function(t){if(t==null){t=r}return h._filter(t,"horizontal",function(t,e){return e.offset<=t.oldScroll.x})},right:function(t){if(t==null){t=r}return h._filter(t,"horizontal",function(t,e){return e.offset>t.oldScroll.x})},enable:function(){return h._invoke("enable")},disable:function(){return h._invoke("disable")},destroy:function(){return h._invoke("destroy")},extendFn:function(t,e){return d[t]=e},_invoke:function(t){var e;e=n.extend({},s.vertical,s.horizontal);
3860return n.each(e,function(e,n){n[t]();return true})},_filter:function(t,e,r){var i,o;i=a[n(t).data(u)];if(!i){return[]}o=[];n.each(i.waypoints[e],function(t,e){if(r(i,e)){return o.push(e)}});o.sort(function(t,e){return t.offset-e.offset});return n.map(o,function(t){return t.element})}};n[m]=function(){var t,n;n=arguments[0],t=2<=arguments.length?e.call(arguments,1):[];if(h[n]){return h[n].apply(null,t)}else{return h.aggregate.call(null,n)}};n[m].settings={resizeThrottle:100,scrollThrottle:30};return i.load(function(){return n[m]("refresh")})})}).call(this);
3861(function($){$.extend({browserSelector:function(){var u=navigator.userAgent,ua=u.toLowerCase(),is=function(t){return ua.indexOf(t)>-1;},g='gecko',w='webkit',s='safari',o='opera',h=document.documentElement,b=[(!(/opera|webtv/i.test(ua))&&/msie\s(\d)/.test(ua))?('ie ie'+parseFloat(navigator.appVersion.split("MSIE")[1])):is('firefox/2')?g+' ff2':is('firefox/3.5')?g+' ff3 ff3_5':is('firefox/3')?g+' ff3':is('gecko/')?g:is('opera')?o+(/version\/(\d+)/.test(ua)?' '+o+RegExp.jQuery1:(/opera(\s|\/)(\d+)/.test(ua)?' '+o+RegExp.jQuery2:'')):is('konqueror')?'konqueror':is('chrome')?w+' chrome':is('iron')?w+' iron':is('applewebkit/')?w+' '+s+(/version\/(\d+)/.test(ua)?' '+s+RegExp.jQuery1:''):is('mozilla/')?g:'',is('j2me')?'mobile':is('iphone')?'iphone':is('ipod')?'ipod':is('mac')?'mac':is('darwin')?'mac':is('webtv')?'webtv':is('win')?'win':is('freebsd')?'freebsd':(is('x11')||is('linux'))?'linux':'','js'];c=b.join(' ');h.className+=' '+c;}});})(jQuery);(function($){$.extend({smoothScroll:function(){var defaultOptions={frameRate:100,animationTime:700,stepSize:80,pulseAlgorithm:true,pulseScale:8,pulseNormalize:1,accelerationDelta:20,accelerationMax:1,keyboardSupport:true,arrowScroll:50,touchpadSupport:true,fixedBackground:true,excluded:""};var options=defaultOptions;var isExcluded=false;var isFrame=false;var direction={x:0,y:0};var initDone=false;var root=document.documentElement;var activeElement;var observer;var deltaBuffer=[120,120,120];var key={left:37,up:38,right:39,down:40,spacebar:32,pageup:33,pagedown:34,end:35,home:36};function initTest(){var disableKeyboard=false;if(document.URL.indexOf("google.com/reader/view")>-1){disableKeyboard=true;}
3862if(options.excluded){var domains=options.excluded.split(/[,\n] ?/);domains.push("mail.google.com");for(var i=domains.length;i--;){if(document.URL.indexOf(domains[i])>-1){observer&&observer.disconnect();removeEvent("mousewheel",wheel);disableKeyboard=true;isExcluded=true;break;}}}
3863if(disableKeyboard){removeEvent("keydown",keydown);}
3864if(options.keyboardSupport&&!disableKeyboard){addEvent("keydown",keydown);}}
3865function init(){if(!document.body)return;var body=document.body;var html=document.documentElement;var windowHeight=window.innerHeight;var scrollHeight=body.scrollHeight;root=(document.compatMode.indexOf('CSS')>=0)?html:body;activeElement=body;initTest();initDone=true;if(top!=self){isFrame=true;}
3866else if(scrollHeight>windowHeight&&(body.offsetHeight<=windowHeight||html.offsetHeight<=windowHeight)){var pending=false;var refresh=function(){if(!pending&&html.scrollHeight!=document.height){pending=true;setTimeout(function(){html.style.height=document.height+'px';pending=false;},500);}};html.style.height='auto';setTimeout(refresh,10);var config={attributes:true,childList:true,characterData:false};observer=new MutationObserver(refresh);observer.observe(body,config);if(root.offsetHeight<=windowHeight){var underlay=document.createElement("div");underlay.style.clear="both";body.appendChild(underlay);}}
3867if(document.URL.indexOf("mail.google.com")>-1){var s=document.createElement("style");s.innerHTML=".iu { visibility: hidden }";(document.getElementsByTagName("head")[0]||html).appendChild(s);}
3868else if(document.URL.indexOf("www.facebook.com")>-1){var home_stream=document.getElementById("home_stream");home_stream&&(home_stream.style.webkitTransform="translateZ(0)");}
3869if(!options.fixedBackground&&!isExcluded){body.style.backgroundAttachment="scroll";html.style.backgroundAttachment="scroll";}}
3870var que=[];var pending=false;var lastScroll=+new Date;function scrollArray(elem,left,top,delay){delay||(delay=1000);directionCheck(left,top);if(options.accelerationMax!=1){var now=+new Date;var elapsed=now-lastScroll;if(elapsed<options.accelerationDelta){var factor=(1+(30/elapsed))/2;if(factor>1){factor=Math.min(factor,options.accelerationMax);left*=factor;top*=factor;}}
3871lastScroll=+new Date;}
3872que.push({x:left,y:top,lastX:(left<0)?0.99:-0.99,lastY:(top<0)?0.99:-0.99,start:+new Date});if(pending){return;}
3873var scrollWindow=(elem===document.body);var step=function(time){var now=+new Date;var scrollX=0;var scrollY=0;for(var i=0;i<que.length;i++){var item=que[i];var elapsed=now-item.start;var finished=(elapsed>=options.animationTime);var position=(finished)?1:elapsed/options.animationTime;if(options.pulseAlgorithm){position=pulse(position);}
3874var x=(item.x*position-item.lastX)>>0;var y=(item.y*position-item.lastY)>>0;scrollX+=x;scrollY+=y;item.lastX+=x;item.lastY+=y;if(finished){que.splice(i,1);i--;}}
3875if(scrollWindow){window.scrollBy(scrollX,scrollY);}
3876else{if(scrollX)elem.scrollLeft+=scrollX;if(scrollY)elem.scrollTop+=scrollY;}
3877if(!left&&!top){que=[];}
3878if(que.length){requestFrame(step,elem,(delay/options.frameRate+1));}
3878else{pending=false;}};requestFrame(step,elem,0);pending=true;}
3879function wheel(event){if(!initDone){init();}
3880var target=event.target;var overflowing=overflowingAncestor(target);if(!overflowing||event.defaultPrevented||isNodeName(activeElement,"embed")||(isNodeName(target,"embed")&&/\.pdf/i.test(target.src))){return true;}
3881var deltaX=event.wheelDeltaX||0;var deltaY=event.wheelDeltaY||0;if(!deltaX&&!deltaY){deltaY=event.wheelDelta||0;}
3882if(!options.touchpadSupport&&isTouchpad(deltaY)){return true;}
3883if(Math.abs(deltaX)>1.2){deltaX*=options.stepSize/120;}
3884if(Math.abs(deltaY)>1.2){deltaY*=options.stepSize/120;}
3885scrollArray(overflowing,-deltaX,-deltaY);event.preventDefault();}
3886function keydown(event){var target=event.target;var modifier=event.ctrlKey||event.altKey||event.metaKey||(event.shiftKey&&event.keyCode!==key.spacebar);if(/input|textarea|select|embed/i.test(target.nodeName)||target.isContentEditable||event.defaultPrevented||modifier){return true;}
3887if(isNodeName(target,"button")&&event.keyCode===key.spacebar){return true;}
3888var shift,x=0,y=0;var elem=overflowingAncestor(activeElement);var clientHeight=elem.clientHeight;if(elem==document.body){clientHeight=window.innerHeight;}
3889switch(event.keyCode){case key.up:y=-options.arrowScroll;break;case key.down:y=options.arrowScroll;break;case key.spacebar:shift=event.shiftKey?1:-1;y=-shift*clientHeight*0.9;break;case key.pageup:y=-clientHeight*0.9;break;case key.pagedown:y=clientHeight*0.9;break;case key.home:y=-elem.scrollTop;break;case key.end:var damt=elem.scrollHeight-elem.scrollTop-clientHeight;y=(damt>0)?damt+10:0;break;case key.left:x=-options.arrowScroll;break;case key.right:x=options.arrowScroll;break;default:return true;}
3890scrollArray(elem,x,y);event.preventDefault();}
3891function mousedown(event){activeElement=event.target;}
3892var cache={};setInterval(function(){cache={};},10*1000);var uniqueID=(function(){var i=0;return function(el){return el.uniqueID||(el.uniqueID=i++);};})();function setCache(elems,overflowing){for(var i=elems.length;i--;)
3893cache[uniqueID(elems[i])]=overflowing;return overflowing;}
3894function overflowingAncestor(el){var elems=[];var rootScrollHeight=root.scrollHeight;do{var cached=cache[uniqueID(el)];if(cached){return setCache(elems,cached);}
3895elems.push(el);if(rootScrollHeight===el.scrollHeight){if(!isFrame||root.clientHeight+10<rootScrollHeight){return setCache(elems,document.body);}}else if(el.clientHeight+10<el.scrollHeight){overflow=getComputedStyle(el,"").getPropertyValue("overflow-y");if(overflow==="scroll"||overflow==="auto"){return setCache(elems,el);}}}while(el=el.parentNode);}
3896function addEvent(type,fn,bubble){window.addEventListener(type,fn,(bubble||false));}
3897function removeEvent(type,fn,bubble){window.removeEventListener(type,fn,(bubble||false));}
3898function isNodeName(el,tag){return(el.nodeName||"").toLowerCase()===tag.toLowerCase();}
3899function directionCheck(x,y){x=(x>0)?1:-1;y=(y>0)?1:-1;if(direction.x!==x||direction.y!==y){direction.x=x;direction.y=y;que=[];lastScroll=0;}}
3900var deltaBufferTimer;function isTouchpad(deltaY){if(!deltaY)return;deltaY=Math.abs(deltaY)
3901deltaBuffer.push(deltaY);deltaBuffer.shift();clearTimeout(deltaBufferTimer);var allEquals=(deltaBuffer[0]==deltaBuffer[1]&&deltaBuffer[1]==deltaBuffer[2]);var allDivisable=(isDivisible(deltaBuffer[0],120)&&isDivisible(deltaBuffer[1],120)&&isDivisible(deltaBuffer[2],120));return!(allEquals||allDivisable);}
3902function isDivisible(n,divisor){return(Math.floor(n/divisor)==n/divisor);}
3903var requestFrame=(function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||function(callback,element,delay){window.setTimeout(callback,delay||(1000/60));};})();var MutationObserver=window.MutationObserver||window.WebKitMutationObserver;function pulse_(x){var val,start,expx;x=x*options.pulseScale;if(x<1){val=x-(1-Math.exp(-x));}else{start=Math.exp(-1);x-=1;expx=1-Math.exp(-x);val=start+(expx*(1-start));}
3904return val*options.pulseNormalize;}
3905function pulse(x){if(x>=1)return 1;if(x<=0)return 0;if(options.pulseNormalize==1){options.pulseNormalize/=pulse_(1);}
3906return pulse_(x);}
3907addEvent("mousedown",mousedown);addEvent("mousewheel",wheel);addEvent("load",init);}});})(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.