function hexToRgb(n){var t;return n=n.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(n,t,i,r){return t+t+i+i+r+r}),t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(n),t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null}function clamp(n,t,i){return Math.min(Math.max(n,t),i)}function isInArray(n,t){return t.indexOf(n)>-1}var pJS=function(n,t){var r=document.querySelector("#"+n+" > .particles-js-canvas-el"),i;this.pJS={canvas:{el:r,w:r.offsetWidth,h:r.offsetHeight},particles:{number:{value:400,density:{enable:!0,value_area:800}},color:{value:"#fff"},shape:{type:"circle",stroke:{width:0,color:"#ff0000"},polygon:{nb_sides:5},image:{src:"",width:100,height:100}},opacity:{value:1,random:!1,anim:{enable:!1,speed:2,opacity_min:0,sync:!1}},size:{value:20,random:!1,anim:{enable:!1,speed:20,size_min:0,sync:!1}},line_linked:{enable:!0,distance:100,color:"#fff",opacity:1,width:1},move:{enable:!0,speed:2,direction:"none",random:!1,straight:!1,out_mode:"out",bounce:!1,attract:{enable:!1,rotateX:3e3,rotateY:3e3}},array:[]},interactivity:{detect_on:"canvas",events:{onhover:{enable:!0,mode:"grab"},onclick:{enable:!0,mode:"push"},resize:!0},modes:{grab:{distance:100,line_linked:{opacity:1}},bubble:{distance:200,size:80,duration:.4},repulse:{distance:200,duration:.4},push:{particles_nb:4},remove:{particles_nb:2}},mouse:{}},retina_detect:!1,fn:{interact:{},modes:{},vendors:{}},tmp:{}};i=this.pJS;t&&Object.deepExtend(i,t);i.tmp.obj={size_value:i.particles.size.value,size_anim_speed:i.particles.size.anim.speed,move_speed:i.particles.move.speed,line_linked_distance:i.particles.line_linked.distance,line_linked_width:i.particles.line_linked.width,mode_grab_distance:i.interactivity.modes.grab.distance,mode_bubble_distance:i.interactivity.modes.bubble.distance,mode_bubble_size:i.interactivity.modes.bubble.size,mode_repulse_distance:i.interactivity.modes.repulse.distance};i.fn.retinaInit=function(){i.retina_detect&&window.devicePixelRatio>1?(i.canvas.pxratio=window.devicePixelRatio,i.tmp.retina=!0):(i.canvas.pxratio=1,i.tmp.retina=!1);i.canvas.w=i.canvas.el.offsetWidth*i.canvas.pxratio;i.canvas.h=i.canvas.el.offsetHeight*i.canvas.pxratio;i.particles.size.value=i.tmp.obj.size_value*i.canvas.pxratio;i.particles.size.anim.speed=i.tmp.obj.size_anim_speed*i.canvas.pxratio;i.particles.move.speed=i.tmp.obj.move_speed*i.canvas.pxratio;i.particles.line_linked.distance=i.tmp.obj.line_linked_distance*i.canvas.pxratio;i.interactivity.modes.grab.distance=i.tmp.obj.mode_grab_distance*i.canvas.pxratio;i.interactivity.modes.bubble.distance=i.tmp.obj.mode_bubble_distance*i.canvas.pxratio;i.particles.line_linked.width=i.tmp.obj.line_linked_width*i.canvas.pxratio;i.interactivity.modes.bubble.size=i.tmp.obj.mode_bubble_size*i.canvas.pxratio;i.interactivity.modes.repulse.distance=i.tmp.obj.mode_repulse_distance*i.canvas.pxratio};i.fn.canvasInit=function(){i.canvas.ctx=i.canvas.el.getContext("2d")};i.fn.canvasSize=function(){i.canvas.el.width=i.canvas.w;i.canvas.el.height=i.canvas.h;i&&i.interactivity.events.resize&&window.addEventListener("resize",function(){i.canvas.w=i.canvas.el.offsetWidth;i.canvas.h=i.canvas.el.offsetHeight;i.tmp.retina&&(i.canvas.w*=i.canvas.pxratio,i.canvas.h*=i.canvas.pxratio);i.canvas.el.width=i.canvas.w;i.canvas.el.height=i.canvas.h;i.particles.move.enable||(i.fn.particlesEmpty(),i.fn.particlesCreate(),i.fn.particlesDraw(),i.fn.vendors.densityAutoParticles());i.fn.vendors.densityAutoParticles()})};i.fn.canvasPaint=function(){i.canvas.ctx.fillRect(0,0,i.canvas.w,i.canvas.h)};i.fn.canvasClear=function(){i.canvas.ctx.clearRect(0,0,i.canvas.w,i.canvas.h)};i.fn.particle=function(n,t,r){var o,u,f,s,e;(this.radius=(i.particles.size.random?Math.random():1)*i.particles.size.value,i.particles.size.anim.enable&&(this.size_status=!1,this.vs=i.particles.size.anim.speed/100,i.particles.size.anim.sync||(this.vs=this.vs*Math.random())),this.x=r?r.x:Math.random()*i.canvas.w,this.y=r?r.y:Math.random()*i.canvas.h,this.x>i.canvas.w-2*this.radius?this.x=this.x-this.radius:this.x<2*this.radius&&(this.x=this.x+this.radius),this.y>i.canvas.h-2*this.radius?this.y=this.y-this.radius:this.y<2*this.radius&&(this.y=this.y+this.radius),i.particles.move.bounce&&i.fn.vendors.checkOverlap(this,r),this.color={},"object"==typeof n.value)?n.value instanceof Array?(o=n.value[Math.floor(Math.random()*i.particles.color.value.length)],this.color.rgb=hexToRgb(o)):(void 0!=n.value.r&&void 0!=n.value.g&&void 0!=n.value.b&&(this.color.rgb={r:n.value.r,g:n.value.g,b:n.value.b}),void 0!=n.value.h&&void 0!=n.value.s&&void 0!=n.value.l&&(this.color.hsl={h:n.value.h,s:n.value.s,l:n.value.l})):"random"==n.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 n.value&&(this.color=n,this.color.rgb=hexToRgb(this.color.value));this.opacity=(i.particles.opacity.random?Math.random():1)*i.particles.opacity.value;i.particles.opacity.anim.enable&&(this.opacity_status=!1,this.vo=i.particles.opacity.anim.speed/100,i.particles.opacity.anim.sync||(this.vo=this.vo*Math.random()));u={};switch(i.particles.move.direction){case"top":u={x:0,y:-1};break;case"top-right":u={x:.5,y:-.5};break;case"right":u={x:1,y:-0};break;case"bottom-right":u={x:.5,y:.5};break;case"bottom":u={x:0,y:1};break;case"bottom-left":u={x:-.5,y:1};break;case"left":u={x:-1,y:0};break;case"top-left":u={x:-.5,y:-.5};break;default:u={x:0,y:0}}i.particles.move.straight?(this.vx=u.x,this.vy=u.y,i.particles.move.random&&(this.vx=this.vx*Math.random(),this.vy=this.vy*Math.random())):(this.vx=u.x+Math.random()-.5,this.vy=u.y+Math.random()-.5);this.vx_i=this.vx;this.vy_i=this.vy;f=i.particles.shape.type;"object"==typeof f?f instanceof Array&&(s=f[Math.floor(Math.random()*f.length)],this.shape=s):this.shape=f;"image"==this.shape&&(e=i.particles.shape,this.img={src:e.image.src,ratio:e.image.width/e.image.height},this.img.ratio||(this.img.ratio=1),"svg"==i.tmp.img_type&&void 0!=i.tmp.source_svg&&(i.fn.vendors.createSvgImg(this),i.tmp.pushing&&(this.img.loaded=!1)))};i.fn.particle.prototype.draw=function(){function e(){i.canvas.ctx.drawImage(u,n.x-t,n.y-t,2*t,2*t/n.img.ratio)}var n=this,t,r,f,u;t=void 0!=n.radius_bubble?n.radius_bubble:n.radius;r=void 0!=n.opacity_bubble?n.opacity_bubble:n.opacity;f=n.color.rgb?"rgba("+n.color.rgb.r+","+n.color.rgb.g+","+n.color.rgb.b+","+r+")":"hsla("+n.color.hsl.h+","+n.color.hsl.s+"%,"+n.color.hsl.l+"%,"+r+")";switch(i.canvas.ctx.fillStyle=f,i.canvas.ctx.beginPath(),n.shape){case"circle":i.canvas.ctx.arc(n.x,n.y,t,0,2*Math.PI,!1);break;case"edge":i.canvas.ctx.rect(n.x-t,n.y-t,2*t,2*t);break;case"triangle":i.fn.vendors.drawShape(i.canvas.ctx,n.x-t,n.y+t/1.66,2*t,3,2);break;case"polygon":i.fn.vendors.drawShape(i.canvas.ctx,n.x-t/(i.particles.shape.polygon.nb_sides/3.5),n.y-t/.76,2.66*t/(i.particles.shape.polygon.nb_sides/3),i.particles.shape.polygon.nb_sides,1);break;case"star":i.fn.vendors.drawShape(i.canvas.ctx,n.x-2*t/(i.particles.shape.polygon.nb_sides/4),n.y-t/1.52,2*t*2.66/(i.particles.shape.polygon.nb_sides/3),i.particles.shape.polygon.nb_sides,2);break;case"image":u="svg"==i.tmp.img_type?n.img.obj:i.tmp.img_obj;u&&e()}i.canvas.ctx.closePath();i.particles.shape.stroke.width>0&&(i.canvas.ctx.strokeStyle=i.particles.shape.stroke.color,i.canvas.ctx.lineWidth=i.particles.shape.stroke.width,i.canvas.ctx.stroke());i.canvas.ctx.fill()};i.fn.particlesCreate=function(){for(var n=0;n<i.particles.number.value;n++)i.particles.array.push(new i.fn.particle(i.particles.color,i.particles.opacity.value))};i.fn.particlesUpdate=function(){for(var n,e,t,u,f,r=0;r<i.particles.array.length;r++){n=i.particles.array[r];i.particles.move.enable&&(e=i.particles.move.speed/2,n.x+=n.vx*e,n.y+=n.vy*e);t=(i.particles.opacity.anim.enable&&(1==n.opacity_status?(n.opacity>=i.particles.opacity.value&&(n.opacity_status=!1),n.opacity+=n.vo):(n.opacity<=i.particles.opacity.anim.opacity_min&&(n.opacity_status=!0),n.opacity-=n.vo),n.opacity<0&&(n.opacity=0)),i.particles.size.anim.enable&&(1==n.size_status?(n.radius>=i.particles.size.value&&(n.size_status=!1),n.radius+=n.vs):(n.radius<=i.particles.size.anim.size_min&&(n.size_status=!0),n.radius-=n.vs),n.radius<0&&(n.radius=0)),"bounce"==i.particles.move.out_mode)?{x_left:n.radius,x_right:i.canvas.w,y_top:n.radius,y_bottom:i.canvas.h}:{x_left:-n.radius,x_right:i.canvas.w+n.radius,y_top:-n.radius,y_bottom:i.canvas.h+n.radius};switch(n.x-n.radius>i.canvas.w?(n.x=t.x_left,n.y=Math.random()*i.canvas.h):n.x+n.radius<0&&(n.x=t.x_right,n.y=Math.random()*i.canvas.h),n.y-n.radius>i.canvas.h?(n.y=t.y_top,n.x=Math.random()*i.canvas.w):n.y+n.radius<0&&(n.y=t.y_bottom,n.x=Math.random()*i.canvas.w),i.particles.move.out_mode){case"bounce":n.x+n.radius>i.canvas.w?n.vx=-n.vx:n.x-n.radius<0&&(n.vx=-n.vx);n.y+n.radius>i.canvas.h?n.vy=-n.vy:n.y-n.radius<0&&(n.vy=-n.vy)}if(isInArray("grab",i.interactivity.events.onhover.mode)&&i.fn.modes.grabParticle(n),(isInArray("bubble",i.interactivity.events.onhover.mode)||isInArray("bubble",i.interactivity.events.onclick.mode))&&i.fn.modes.bubbleParticle(n),(isInArray("repulse",i.interactivity.events.onhover.mode)||isInArray("repulse",i.interactivity.events.onclick.mode))&&i.fn.modes.repulseParticle(n),i.particles.line_linked.enable||i.particles.move.attract.enable)for(u=r+1;u<i.particles.array.length;u++)f=i.particles.array[u],i.particles.line_linked.enable&&i.fn.interact.linkParticles(n,f),i.particles.move.attract.enable&&i.fn.interact.attractParticles(n,f),i.particles.move.bounce&&i.fn.interact.bounceParticles(n,f)}};i.fn.particlesDraw=function(){var n,t;for(i.canvas.ctx.clearRect(0,0,i.canvas.w,i.canvas.h),i.fn.particlesUpdate(),n=0;n<i.particles.array.length;n++)t=i.particles.array[n],t.draw()};i.fn.particlesEmpty=function(){i.particles.array=[]};i.fn.particlesRefresh=function(){cancelRequestAnimFrame(i.fn.checkAnimFrame);cancelRequestAnimFrame(i.fn.drawAnimFrame);i.tmp.source_svg=void 0;i.tmp.img_obj=void 0;i.tmp.count_svg=0;i.fn.particlesEmpty();i.fn.canvasClear();i.fn.vendors.start()};i.fn.interact.linkParticles=function(n,t){var f=n.x-t.x,e=n.y-t.y,o=Math.sqrt(f*f+e*e),u,r;o<=i.particles.line_linked.distance&&(u=i.particles.line_linked.opacity-o/(1/i.particles.line_linked.opacity)/i.particles.line_linked.distance,u>0&&(r=i.particles.line_linked.color_rgb_line,i.canvas.ctx.strokeStyle="rgba("+r.r+","+r.g+","+r.b+","+u+")",i.canvas.ctx.lineWidth=i.particles.line_linked.width,i.canvas.ctx.beginPath(),i.canvas.ctx.moveTo(n.x,n.y),i.canvas.ctx.lineTo(t.x,t.y),i.canvas.ctx.stroke(),i.canvas.ctx.closePath()))};i.fn.interact.attractParticles=function(n,t){var r=n.x-t.x,u=n.y-t.y,o=Math.sqrt(r*r+u*u),f,e;o<=i.particles.line_linked.distance&&(f=r/(1e3*i.particles.move.attract.rotateX),e=u/(1e3*i.particles.move.attract.rotateY),n.vx-=f,n.vy-=e,t.vx+=f,t.vy+=e)};i.fn.interact.bounceParticles=function(n,t){var i=n.x-t.x,r=n.y-t.y,u=Math.sqrt(i*i+r*r),f=n.radius+t.radius;f>=u&&(n.vx=-n.vx,n.vy=-n.vy,t.vx=-t.vx,t.vy=-t.vy)};i.fn.modes.pushParticles=function(n,t){i.tmp.pushing=!0;for(var r=0;n>r;r++)i.particles.array.push(new i.fn.particle(i.particles.color,i.particles.opacity.value,{x:t?t.pos_x:Math.random()*i.canvas.w,y:t?t.pos_y:Math.random()*i.canvas.h})),r==n-1&&(i.particles.move.enable||i.fn.particlesDraw(),i.tmp.pushing=!1)};i.fn.modes.removeParticles=function(n){i.particles.array.splice(0,n);i.particles.move.enable||i.fn.particlesDraw()};i.fn.modes.bubbleParticle=function(n){function h(){n.opacity_bubble=n.opacity;n.radius_bubble=n.radius}function c(t,r,u,f,e){var l,a,c,h;t!=r&&(i.tmp.bubble_duration_end?void 0!=u&&(l=f-s*(f-t)/i.interactivity.modes.bubble.duration,a=t-l,h=t+a,"size"==e&&(n.radius_bubble=h),"opacity"==e&&(n.opacity_bubble=h)):o<=i.interactivity.modes.bubble.distance?(c=void 0!=u?u:f,c!=t&&(h=f-s*(f-t)/i.interactivity.modes.bubble.duration,"size"==e&&(n.radius_bubble=h),"opacity"==e&&(n.opacity_bubble=h))):("size"==e&&(n.radius_bubble=void 0),"opacity"==e&&(n.opacity_bubble=void 0)))}var l,r,t;if(i.interactivity.events.onhover.enable&&isInArray("bubble",i.interactivity.events.onhover.mode)){var u=n.x-i.interactivity.mouse.pos_x,f=n.y-i.interactivity.mouse.pos_y,o=Math.sqrt(u*u+f*f),e=1-o/i.interactivity.modes.bubble.distance;o<=i.interactivity.modes.bubble.distance?e>=0&&"mousemove"==i.interactivity.status&&(i.interactivity.modes.bubble.size!=i.particles.size.value&&(i.interactivity.modes.bubble.size>i.particles.size.value?(r=n.radius+i.interactivity.modes.bubble.size*e,r>=0&&(n.radius_bubble=r)):(l=n.radius-i.interactivity.modes.bubble.size,r=n.radius-l*e,n.radius_bubble=r>0?r:0)),i.interactivity.modes.bubble.opacity!=i.particles.opacity.value&&(i.interactivity.modes.bubble.opacity>i.particles.opacity.value?(t=i.interactivity.modes.bubble.opacity*e,t>n.opacity&&t<=i.interactivity.modes.bubble.opacity&&(n.opacity_bubble=t)):(t=n.opacity-(i.particles.opacity.value-i.interactivity.modes.bubble.opacity)*e,t<n.opacity&&t>=i.interactivity.modes.bubble.opacity&&(n.opacity_bubble=t)))):h();"mouseleave"==i.interactivity.status&&h()}else if(i.interactivity.events.onclick.enable&&isInArray("bubble",i.interactivity.events.onclick.mode)){if(i.tmp.bubble_clicking){var u=n.x-i.interactivity.mouse.click_pos_x,f=n.y-i.interactivity.mouse.click_pos_y,o=Math.sqrt(u*u+f*f),s=((new Date).getTime()-i.interactivity.mouse.click_time)/1e3;s>i.interactivity.modes.bubble.duration&&(i.tmp.bubble_duration_end=!0);s>2*i.interactivity.modes.bubble.duration&&(i.tmp.bubble_clicking=!1,i.tmp.bubble_duration_end=!1)}i.tmp.bubble_clicking&&(c(i.interactivity.modes.bubble.size,i.particles.size.value,n.radius_bubble,n.radius,"size"),c(i.interactivity.modes.bubble.opacity,i.particles.opacity.value,n.opacity_bubble,n.opacity,"opacity"))}};i.fn.modes.repulseParticle=function(n){function v(){var r=Math.atan2(s,o),t;(n.vx=a*Math.cos(r),n.vy=a*Math.sin(r),"bounce"==i.particles.move.out_mode)&&(t={x:n.x+n.vx,y:n.y+n.vy},t.x+n.radius>i.canvas.w?n.vx=-n.vx:t.x-n.radius<0&&(n.vx=-n.vx),t.y+n.radius>i.canvas.h?n.vy=-n.vy:t.y-n.radius<0&&(n.vy=-n.vy))}if(i.interactivity.events.onhover.enable&&isInArray("repulse",i.interactivity.events.onhover.mode)&&"mousemove"==i.interactivity.status){var u=n.x-i.interactivity.mouse.pos_x,f=n.y-i.interactivity.mouse.pos_y,e=Math.sqrt(u*u+f*f),h={x:u/e,y:f/e},r=i.interactivity.modes.repulse.distance,c=clamp(1/r*(-1*Math.pow(e/r,2)+1)*r*100,0,50),t={x:n.x+h.x*c,y:n.y+h.y*c};"bounce"==i.particles.move.out_mode?(t.x-n.radius>0&&t.x+n.radius<i.canvas.w&&(n.x=t.x),t.y-n.radius>0&&t.y+n.radius<i.canvas.h&&(n.y=t.y)):(n.x=t.x,n.y=t.y)}else if(i.interactivity.events.onclick.enable&&isInArray("repulse",i.interactivity.events.onclick.mode))if(i.tmp.repulse_finish||(i.tmp.repulse_count++,i.tmp.repulse_count==i.particles.array.length&&(i.tmp.repulse_finish=!0)),i.tmp.repulse_clicking){var r=Math.pow(i.interactivity.modes.repulse.distance/6,3),o=i.interactivity.mouse.click_pos_x-n.x,s=i.interactivity.mouse.click_pos_y-n.y,l=o*o+s*s,a=-r/l*1;r>=l&&v()}else 0==i.tmp.repulse_clicking&&(n.vx=n.vx_i,n.vy=n.vy_i)};i.fn.modes.grabParticle=function(n){var r,t;if(i.interactivity.events.onhover.enable&&"mousemove"==i.interactivity.status){var u=n.x-i.interactivity.mouse.pos_x,f=n.y-i.interactivity.mouse.pos_y,e=Math.sqrt(u*u+f*f);e<=i.interactivity.modes.grab.distance&&(r=i.interactivity.modes.grab.line_linked.opacity-e/(1/i.interactivity.modes.grab.line_linked.opacity)/i.interactivity.modes.grab.distance,r>0&&(t=i.particles.line_linked.color_rgb_line,i.canvas.ctx.strokeStyle="rgba("+t.r+","+t.g+","+t.b+","+r+")",i.canvas.ctx.lineWidth=i.particles.line_linked.width,i.canvas.ctx.beginPath(),i.canvas.ctx.moveTo(n.x,n.y),i.canvas.ctx.lineTo(i.interactivity.mouse.pos_x,i.interactivity.mouse.pos_y),i.canvas.ctx.stroke(),i.canvas.ctx.closePath()))}};i.fn.vendors.eventsListeners=function(){i.interactivity.el="window"==i.interactivity.detect_on?window:i.canvas.el;(i.interactivity.events.onhover.enable||i.interactivity.events.onclick.enable)&&(i.interactivity.el.addEventListener("mousemove",function(n){var t,r;i.interactivity.el==window?(t=n.clientX,r=n.clientY):(t=n.offsetX||n.clientX,r=n.offsetY||n.clientY);i.interactivity.mouse.pos_x=t;i.interactivity.mouse.pos_y=r;i.tmp.retina&&(i.interactivity.mouse.pos_x*=i.canvas.pxratio,i.interactivity.mouse.pos_y*=i.canvas.pxratio);i.interactivity.status="mousemove"}),i.interactivity.el.addEventListener("mouseleave",function(){i.interactivity.mouse.pos_x=null;i.interactivity.mouse.pos_y=null;i.interactivity.status="mouseleave"}));i.interactivity.events.onclick.enable&&i.interactivity.el.addEventListener("click",function(){if(i.interactivity.mouse.click_pos_x=i.interactivity.mouse.pos_x,i.interactivity.mouse.click_pos_y=i.interactivity.mouse.pos_y,i.interactivity.mouse.click_time=(new Date).getTime(),i.interactivity.events.onclick.enable)switch(i.interactivity.events.onclick.mode){case"push":i.particles.move.enable?i.fn.modes.pushParticles(i.interactivity.modes.push.particles_nb,i.interactivity.mouse):1==i.interactivity.modes.push.particles_nb?i.fn.modes.pushParticles(i.interactivity.modes.push.particles_nb,i.interactivity.mouse):i.interactivity.modes.push.particles_nb>1&&i.fn.modes.pushParticles(i.interactivity.modes.push.particles_nb);break;case"remove":i.fn.modes.removeParticles(i.interactivity.modes.remove.particles_nb);break;case"bubble":i.tmp.bubble_clicking=!0;break;case"repulse":i.tmp.repulse_clicking=!0;i.tmp.repulse_count=0;i.tmp.repulse_finish=!1;setTimeout(function(){i.tmp.repulse_clicking=!1},1e3*i.interactivity.modes.repulse.duration)}})};i.fn.vendors.densityAutoParticles=function(){var t,r,n;i.particles.number.density.enable&&(t=i.canvas.el.width*i.canvas.el.height/1e3,i.tmp.retina&&(t/=2*i.canvas.pxratio),r=t*i.particles.number.value/i.particles.number.density.value_area,n=i.particles.array.length-r,0>n?i.fn.modes.pushParticles(Math.abs(n)):i.fn.modes.removeParticles(n))};i.fn.vendors.checkOverlap=function(n,t){for(var r=0;r<i.particles.array.length;r++){var u=i.particles.array[r],f=n.x-u.x,e=n.y-u.y,o=Math.sqrt(f*f+e*e);o<=n.radius+u.radius&&(n.x=t?t.x:Math.random()*i.canvas.w,n.y=t?t.y:Math.random()*i.canvas.h,i.fn.vendors.checkOverlap(n))}};i.fn.vendors.createSvgImg=function(n){var f=i.tmp.source_svg,e=f.replace(/#([0-9A-F]{3,6})/gi,function(){var t;return n.color.rgb?"rgba("+n.color.rgb.r+","+n.color.rgb.g+","+n.color.rgb.b+","+n.opacity+")":"hsla("+n.color.hsl.h+","+n.color.hsl.s+"%,"+n.color.hsl.l+"%,"+n.opacity+")"}),o=new Blob([e],{type:"image/svg+xml;charset=utf-8"}),r=window.URL||window.webkitURL||window,u=r.createObjectURL(o),t=new Image;t.addEventListener("load",function(){n.img.obj=t;n.img.loaded=!0;r.revokeObjectURL(u);i.tmp.count_svg++});t.src=u};i.fn.vendors.destroypJS=function(){cancelAnimationFrame(i.fn.drawAnimFrame);r.remove();pJSDom=null};i.fn.vendors.drawShape=function(n,t,i,r,u,f){var s=u*f,o=u/f,h=180*(o-2)/o,c=Math.PI-Math.PI*h/180,e;for(n.save(),n.beginPath(),n.translate(t,i),n.moveTo(0,0),e=0;s>e;e++)n.lineTo(r,0),n.translate(r,0),n.rotate(c);n.fill();n.restore()};i.fn.vendors.exportImg=function(){window.open(i.canvas.el.toDataURL("image/png"),"_blank")};i.fn.vendors.loadImg=function(n){var t,r;(i.tmp.img_error=void 0,""!=i.particles.shape.image.src)?"svg"==n?(t=new XMLHttpRequest,t.open("GET",i.particles.shape.image.src),t.onreadystatechange=function(n){4==t.readyState&&(200==t.status?(i.tmp.source_svg=n.currentTarget.response,i.fn.vendors.checkBeforeDraw()):(console.log("Error pJS - Image not found"),i.tmp.img_error=!0))},t.send()):(r=new Image,r.addEventListener("load",function(){i.tmp.img_obj=r;i.fn.vendors.checkBeforeDraw()}),r.src=i.particles.shape.image.src):(console.log("Error pJS - No image.src"),i.tmp.img_error=!0)};i.fn.vendors.draw=function(){"image"==i.particles.shape.type?"svg"==i.tmp.img_type?i.tmp.count_svg>=i.particles.number.value?(i.fn.particlesDraw(),i.particles.move.enable?i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw):cancelRequestAnimFrame(i.fn.drawAnimFrame)):i.tmp.img_error||(i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw)):void 0!=i.tmp.img_obj?(i.fn.particlesDraw(),i.particles.move.enable?i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw):cancelRequestAnimFrame(i.fn.drawAnimFrame)):i.tmp.img_error||(i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw)):(i.fn.particlesDraw(),i.particles.move.enable?i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw):cancelRequestAnimFrame(i.fn.drawAnimFrame))};i.fn.vendors.checkBeforeDraw=function(){"image"==i.particles.shape.type?"svg"==i.tmp.img_type&&void 0==i.tmp.source_svg?i.tmp.checkAnimFrame=requestAnimFrame(check):(cancelRequestAnimFrame(i.tmp.checkAnimFrame),i.tmp.img_error||(i.fn.vendors.init(),i.fn.vendors.draw())):(i.fn.vendors.init(),i.fn.vendors.draw())};i.fn.vendors.init=function(){i.fn.retinaInit();i.fn.canvasInit();i.fn.canvasSize();i.fn.canvasPaint();i.fn.particlesCreate();i.fn.vendors.densityAutoParticles();i.particles.line_linked.color_rgb_line=hexToRgb(i.particles.line_linked.color)};i.fn.vendors.start=function(){isInArray("image",i.particles.shape.type)?(i.tmp.img_type=i.particles.shape.image.src.substr(i.particles.shape.image.src.length-3),i.fn.vendors.loadImg(i.tmp.img_type)):i.fn.vendors.checkBeforeDraw()};i.fn.vendors.eventsListeners();i.fn.vendors.start()};Object.deepExtend=function(n,t){for(var i in t)t[i]&&t[i].constructor&&t[i].constructor===Object?(n[i]=n[i]||{},arguments.callee(n[i],t[i])):n[i]=t[i];return n};window.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(n){window.setTimeout(n,1e3/60)}}();window.cancelRequestAnimFrame=function(){return window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||clearTimeout}();window.pJSDom=[];window.particlesJS=function(n,t){var i,e;"string"!=typeof n&&(t=n,n="particles-js");n||(n="particles-js");var u=document.getElementById(n),f="particles-js-canvas-el",r=u.getElementsByClassName(f);if(r.length)for(;r.length>0;)u.removeChild(r[0]);i=document.createElement("canvas");i.className=f;i.style.width="100%";i.style.height="100%";e=document.getElementById(n).appendChild(i);null!=e&&pJSDom.push(new pJS(n,t))};window.particlesJS.load=function(n,t,i){var r=new XMLHttpRequest;r.open("GET",t);r.onreadystatechange=function(t){if(4==r.readyState)if(200==r.status){var u=JSON.parse(t.currentTarget.response);window.particlesJS(n,u);i&&i()}else console.log("Error pJS - XMLHttpRequest status: "+r.status),console.log("Error pJS - File config not found")};r.send()}