/*
2017 ThemePunch
http://www.themepunch.com/
@version 1.0.0
*/
;(function(){function B(f,k){for(var g,m=f.length;m--;)g=f[m].replace("#",""),g="rgba("+parseInt(g.substring(0,2),16)+","+parseInt(g.substring(2,4),16)+","+parseInt(g.substring(4,6),16),g=k?g+(","+k.toFixed(2)+")"):g+")",f[m]=g;return f}function t(f){f=f.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(f,g,m,l){return g+g+m+m+l+l});return(f=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(f))?{r:parseInt(f[1],16),g:parseInt(f[2],16),b:parseInt(f[3],16)}:null}window.RsParticlesAddOn=function(f){function k(a,
b){clearTimeout(y);clearTimeout(e);var c=b?b.nextslide.index()+1:1;"first"===p&&(p=1);"last"===n&&(n=f.revmaxslide());c>=p&&c<=n?(u="."+r+"-tp-particles-"+c,v?w||pJSDomRs[x].pJS.fn.vendors.draw():(v=!0,x=pJSDomRs.length,particlesJSRs(u,l,r,q,f)),y=setTimeout(m,100),w=!0):v&&(rspCancelAnimFrame(pJSDomRs[x].pJS.fn.drawAnimFrame),document.getElementById(q).style.opacity=0,w=!1);z||(z=!0,f.on("revolution.slide.onbeforeswap",k))}function g(){document.getElementById(q).style.opacity=1}function m(){var a=
document.getElementById(q),b=document.querySelector(u);A?b.appendChild(a):A=!0;a.style.zIndex=parseInt(b.getAttribute("data-particles-index"),10);e=setTimeout(g,250)}if(f){var l=f[0].opt.particles,p=l.startSlide,n=l.endSlide,a=l.particles,b=a.line_linked,c=a.shape,d=a.color,h=c.stroke,a=h.width,r=f[0].id,z,e,y,w,x,u,v,A,q;q=r+"-rs-particles";d.value=d.value.split(",");h.color=a?B(h.color.split(","),h.opacity):h.color.split(",");d=l.interactivity.events.onhover;if(b.enable||d.enable&&"grab"===d.mode)for(b=
b.color=b.color.split(","),d=b.length;d--;)b[d]=t(b[d]);"image"===c.type&&(c=c.image,c.src='',a?(b=2*a+24,c.src=c.src.replace("{{stroke-width}}",a).replace("{{viewbox}}",-a+" "+-a+" "+b+" "+b)):c.src=c.src.replace("{{viewbox}}","0 0 24 24").replace("{{stroke-width}}",0));f.one("revolution.slide.onloaded",function(){var a,
b=l.zIndex,c=r+"-tp-particles-",d=l.interactivity.events,d=d.onhover.enable||d.onclick.enable;f.find(".tp-revslider-slidesli").each(function(e){if(d){var h=jQuery(this);h.find(".slidelink").length?(a=!0,"back"!==h.data("slideindex")&&(b=999),this.className+=" rs-particles-slidelink"):this.className+=" rs-particles-interactive"}this.className=this.className+" "+c+(e+1);this.setAttribute("data-particles-index",b)});if(a)jQuery("body").off("click.rsparticles").on("click.rsparticles",".rs-particles-canvas",
function(){var a=jQuery(this).prev(".tp-parallax-wrap").find(".slidelink a");a.length&&(a[0].href?"_blank"!==a[0].target?window.location=a[0].href:window.open(a[0].href):a.click())});k(!1,!1)})}};window.RsDestroyParticles=function(f){if(pJSDomRs)if(f){var k=f[0].id,g=pJSDomRs.length;f.off("revolution.slide.onbeforeswap revolution.slide.onloaded .rsparticles");for(f=0;f
a.canvas.w-2*this.radius?this.x-=this.radius:this.x<2*this.radius&&(this.x+=this.radius);this.y>a.canvas.h-2*this.radius?this.y-=this.radius:this.y<2*this.radius&&(this.y+=this.radius);a.particles.move.bounce&&a.fn.vendors.checkOverlap(this,d);d=a.particles.move.speed;c=a.particles.move.min_speed;a.particles.move.random&&(d=Math.round(Math.random()*(d-c)+c),1>d&&(d=1));this.spd=d;this.color={};"object"==typeof b.value?b.value instanceof Array?this.color.rgb=t(b.value[Math.floor(Math.random()*a.particles.color.value.length)]):
(void 0!=b.value.r&&void 0!=b.value.g&&void 0!=b.value.b&&(this.color.rgb={r:b.value.r,g:b.value.g,b:b.value.b}),void 0!=b.value.h&&void 0!=b.value.s&&void 0!=b.value.l&&(this.color.hsl={h:b.value.h,s:b.value.s,l:b.value.l})):"random"==b.value?this.color.rgb={r:Math.floor(256*Math.random())+0,g:Math.floor(256*Math.random())+0,b:Math.floor(256*Math.random())+0}:"string"==typeof b.value&&(this.color=b,this.color.rgb=t(this.color.value));b=a.particles.shape.stroke.color;this.strokeColor=b[Math.floor(Math.random()*
b.length)];b=a.particles.line_linked.color;this.lineColor=b[Math.floor(Math.random()*b.length)];b=a.particles.opacity.value;d=a.particles.opacity.min;a.particles.opacity.random&&(b=Math.random()*(b-d)+d);this.opacity=this.opc=b;a.particles.opacity.anim.enable&&(this.opacity_status=!1,this.vo=a.particles.opacity.anim.speed/100,a.particles.opacity.anim.sync||(this.vo*=Math.random()));switch(a.particles.move.direction){case "top":b=0;d=-1;break;case "top-right":b=.5;d=-.5;break;case "right":b=1;d=-0;
break;case "bottom-right":d=b=.5;break;case "bottom":b=0;d=1;break;case "bottom-left":b=-.5;d=1;break;case "left":b=-1;d=0;break;case "top-left":d=b=-.5;break;default:d=b=0}a.particles.move.straight?(this.vx=b,this.vy=d):(this.vx=b+Math.random()-.5,this.vy=d+Math.random()-.5);this.vx_i=this.vx;this.vy_i=this.vy;b=a.particles.shape.type;"object"==typeof b?b instanceof Array&&(this.shape=b[Math.floor(Math.random()*b.length)]):this.shape=b;"image"==this.shape&&(b=a.particles.shape,this.img={src:b.image.src,
ratio:b.image.width/b.image.height},this.img.ratio||(this.img.ratio=1),"svg"==a.tmp.img_type&&void 0!=a.tmp.source_svg&&(a.fn.vendors.createSvgImg(this),a.tmp.pushing&&(this.img.loaded=!1)))};a.fn.particle.prototype.drawSVG=function(b,c){a.canvas.ctx.drawImage(b,this.x-c,this.y-c,2*c,2*c/this.img.ratio)};a.fn.particle.prototype.draw=function(){var b,c,d;c=void 0!=this.radius_bubble?this.radius_bubble:this.radius;d=void 0!=this.opacity_bubble?this.opacity_bubble:this.opacity;a.canvas.ctx.fillStyle=
this.color.rgb?"rgba("+this.color.rgb.r+","+this.color.rgb.g+","+this.color.rgb.b+","+d+")":"hsla("+this.color.hsl.h+","+this.color.hsl.s+"%,"+this.color.hsl.l+"%,"+d+")";a.canvas.ctx.beginPath();switch(this.shape){case "circle":a.canvas.ctx.arc(this.x,this.y,c,0,2*Math.PI,!1);break;case "edge":a.canvas.ctx.rect(this.x-c,this.y-c,2*c,2*c);break;case "triangle":a.fn.vendors.drawShape(a.canvas.ctx,this.x-c,this.y+c/1.66,2*c,3,2);break;case "polygon":a.fn.vendors.drawShape(a.canvas.ctx,this.x-c/(a.particles.shape.polygon.nb_sides/
3.5),this.y-c/.76,2.66*c/(a.particles.shape.polygon.nb_sides/3),a.particles.shape.polygon.nb_sides,1);break;case "star":a.fn.vendors.drawShape(a.canvas.ctx,this.x-2*c/(a.particles.shape.polygon.nb_sides/4),this.y-c/1.52,5.32*c/(a.particles.shape.polygon.nb_sides/3),a.particles.shape.polygon.nb_sides,2);break;case "image":a.canvas.ctx.globalAlpha=d,(b="svg"==a.tmp.img_type?this.img.obj:a.tmp.img_obj)&&this.drawSVG(b,c),a.canvas.ctx.globalAlpha=1,b=!0}a.canvas.ctx.closePath();b||(0=e.opc&&(e.opacity_status=!1),e.opacity+=e.vo):(e.opacity<=a.particles.opacity.anim.opacity_min&&(e.opacity_status=!0),e.opacity-=e.vo),0>e.opacity&&(e.opacity=0));a.particles.size.anim.enable&&(1==e.size_status?(e.radius>=a.particles.size.value&&(e.size_status=!1),e.radius+=e.vs):(e.radius<=a.particles.size.anim.size_min&&(e.size_status=!0),e.radius-=e.vs),0>e.radius&&(e.radius=0));"bounce"==a.particles.move.out_mode?(b=e.radius,c=a.canvas.w,d=e.radius,h=a.canvas.h):
(b=-e.radius,c=a.canvas.w+e.radius,d=-e.radius,h=a.canvas.h+e.radius);e.x-e.radius>a.canvas.w?(e.x=b,e.y=Math.random()*a.canvas.h):0>e.x+e.radius&&(e.x=c,e.y=Math.random()*a.canvas.h);e.y-e.radius>a.canvas.h?(e.y=d,e.x=Math.random()*a.canvas.w):0>e.y+e.radius&&(e.y=h,e.x=Math.random()*a.canvas.w);switch(a.particles.move.out_mode){case "bounce":e.x+e.radius>a.canvas.w?e.vx=-e.vx:0>e.x-e.radius&&(e.vx=-e.vx),e.y+e.radius>a.canvas.h?e.vy=-e.vy:0>e.y-e.radius&&(e.vy=-e.vy)}-1b.radius?(c=b.radius+a.interactivity.modes.bubble.size*d,0<=c&&(b.radius_bubble=c)):(c=b.radius-(b.radius-a.interactivity.modes.bubble.size)*d,b.radius_bubble=0b.opc?(c=a.interactivity.modes.bubble.opacity*d,c>b.opacity&&c<=a.interactivity.modes.bubble.opacity&&(b.opacity_bubble=c)):(c=b.opacity-(b.opc-a.interactivity.modes.bubble.opacity)*d,c=a.interactivity.modes.bubble.opacity&&(b.opacity_bubble=c)))):(b.opacity_bubble=b.opacity,b.radius_bubble=b.radius);"mouseleave"==a.interactivity.status&&(b.opacity_bubble=b.opacity,b.radius_bubble=b.radius)}else a.interactivity.events.onclick.enable&&-1a.interactivity.modes.bubble.duration&&(a.tmp.bubble_duration_end=!0),d>2*a.interactivity.modes.bubble.duration&&(a.tmp.bubble_clicking=!1,a.tmp.bubble_duration_end=!1)),a.tmp.bubble_clicking&&(p(b,c,d,a.interactivity.modes.bubble.size,b.osize,b.radius_bubble,b.radius,"size"),p(b,c,d,a.interactivity.modes.bubble.opacity,
b.opc,b.opacity_bubble,b.opacity,"opacity")))};a.fn.modes.repulseParticle=function(b){var c,d;if(a.interactivity.events.onhover.enable&&-1a.canvas.w?b.vx=-b.vx:0>c-b.radius&&(b.vx=-b.vx),d+b.radius>a.canvas.h?b.vy=-b.vy:0>d-b.radius&&(b.vy=-b.vy)))):0==a.tmp.repulse_clicking&&(b.vx=b.vx_i,b.vy=b.vy_i))};a.fn.modes.grabParticle=function(b){if(a.interactivity.events.onhover.enable&&"mousemove"==a.interactivity.status){var c=b.x-a.interactivity.mouse.pos_x,d=b.y-a.interactivity.mouse.pos_y,c=Math.sqrt(c*c+d*d);c<=
a.interactivity.modes.grab.distance&&(c=a.interactivity.modes.grab.line_linked.opacity-c/(1/a.interactivity.modes.grab.line_linked.opacity)/a.interactivity.modes.grab.distance,0b?a.fn.modes.pushParticles(Math.abs(b)):a.fn.modes.removeParticles(b)}};a.fn.vendors.checkOverlap=function(b,c){for(var d=a.particles.array.length,f=0;f=a.particles.number.value?(a.fn.particlesDraw(),a.particles.move.enable?a.fn.drawAnimFrame=rspRequestAnimFrame(a.fn.vendors.draw):rspCancelAnimFrame(a.fn.drawAnimFrame)):a.tmp.img_error||(a.fn.drawAnimFrame=rspRequestAnimFrame(a.fn.vendors.draw)):
void 0!=a.tmp.img_obj?(a.fn.particlesDraw(),a.particles.move.enable?a.fn.drawAnimFrame=rspRequestAnimFrame(a.fn.vendors.draw):rspCancelAnimFrame(a.fn.drawAnimFrame)):a.tmp.img_error||(a.fn.drawAnimFrame=rspRequestAnimFrame(a.fn.vendors.draw)):(a.fn.particlesDraw(),a.particles.move.enable?a.fn.drawAnimFrame=rspRequestAnimFrame(a.fn.vendors.draw):rspCancelAnimFrame(a.fn.drawAnimFrame))};a.fn.vendors.checkBeforeDraw=function(){"image"==a.particles.shape.type?"svg"==a.tmp.img_type&&void 0==a.tmp.source_svg?
a.tmp.checkAnimFrame=rspRequestAnimFrame(check):(rspCancelAnimFrame(a.tmp.checkAnimFrame),a.tmp.img_error||(a.fn.vendors.init(),a.fn.vendors.draw())):(a.fn.vendors.init(),a.fn.vendors.draw())};a.fn.vendors.init=function(){a.fn.retinaInit();a.fn.canvasInit();a.fn.canvasSize();a.fn.canvasPaint();a.fn.particlesCreate();a.fn.vendors.densityAutoParticles()};a.fn.vendors.start=function(){-1