functionparticles(){lete,t,i;!function(){"undefined"==typeofopacity?opacity=100:Number.isFinite(opacity)&&0<=opacity&&opacity<=100?opacity:(opacity=100,console.log("'opacity' must be a finite number between 0 and 100. Using default of '100'."));"undefined"==typeofnumParticles?numParticles=10:Number.isFinite(numParticles)?numParticles:(numParticles=10,console.log("'numParticles' must be a finite number. Using default of '5'."));"undefined"==typeofsizeMultiplier?sizeMultiplier=5:Number.isFinite(sizeMultiplier)?sizeMultiplier:(sizeMultiplier=5,console.log("'sizeMultiplier' must be a finite number. Using default of '5'."));"undefined"==typeofwidth?width=1:Number.isInteger(width)&&width>0?width:(width=1,console.log("'width' must be an integer number of pixels greater than 0. Using default of '1'."));"undefined"==typeofconnections?connections=!0:"boolean"==typeofconnections?connections:(connections=!0,console.log("'connections' must be either 'true' or 'false'. Using default of 'true'."));"undefined"==typeofconnectionDensity?connectionDensity=1/15*100:Number.isFinite(connectionDensity)&&connectionDensity>1?connectionDensity=1/connectionDensity*100:(connectionDensity=1/15*100,console.log("'connectionDensity' must be a finite number greater than 1. Using default of '15'."));"undefined"==typeofspeed&&(speed=50);Number.isInteger(speed)&&0<=speed&&speed<=1e3?speed:(speed=50,console.log("'speed' must be an integer between 1-1000. Using default of '50'."));"undefined"==typeofavoidMouse?avoidMouse=!0:"boolean"==typeofavoidMouse?avoidMouse:(avoidMouse=!0,console.log("'avoidMouse' must be either 'true' or 'false'. Using default of 'true'."));"undefined"==typeofhover?hover=!0:"boolean"==typeofhover?hover:(hover=!0,console.log("'hover' must be either 'true' or 'false'. Using default of 'true'."))}(),function(){0===getComputedStyle(document.documentElement).getPropertyValue("--col-particle").length?(e="#000000",console.log("CSS variable '--col-particle' is not set. Using 'black' (#000000).")):e=getComputedStyle(document.documentElement).getPropertyValue("--col-particle");0===getComputedStyle(document.documentElement).getPropertyValue("--col-particle-stroke").length?(t="#000000",console.log("CSS variable '--col-particle-stroke' is not set. Using 'black' (#000000).")):t=getComputedStyle(document.documentElement).getPropertyValue("--col-particle-stroke");!0===hover&&0===getComputedStyle(document.documentElement).getPropertyValue("--col-particle-stroke-hover").length?(i="#ff0000",console.log("CSS variable '--col-particle-stroke-hover' is not set. Using 'red' (#ff0000).")):i=getComputedStyle(document.documentElement).getPropertyValue("--col-particle-stroke-hover")}();consto=document.getElementById("particles"),n=o.getContext("2d");lets;o.width=window.innerWidth,o.height=window.innerHeight,speed=0!==speed?speed/100:0,opacity/=100,o.style.opacity=opacity;letl={x:void0,y:void0,radius:o.height/80*(o.width/80)};window.addEventListener("mousemove",function(e){l.x=e.x,l.y=e.y});classr{constructor(e,t,i,o,n,s){this.x=e,this.y=t,this.directionX=i,this.directionY=o,this.size=n,this.colour=s}draw(){n.beginPath(),n.arc(this.x,this.y,this.size,0,2*Math.PI,!1),n.fillStyle=e,n.fill()}update(){if((this.x>o.width||this.x<0)&&(this.directionX=-this.directionX),(this.y>o.height||this.y<0)&&(this.directionY=-this.directionY),avoidMouse){lete=l.x-this.x,t=l.y-this.y;Math.sqrt(e*e+t*t)<l.radius+this.size&&(l.x<this.x&&this.x<o.width-10*this.size&&(this.x+=10),l.x>this.x&&this.x>10*this.size&&(this.x-=10),l.y<this.y&&this.y<o.height-10*this.size&&(this.y+=10),l.y>this.y&&this.y>10*this.size&&(this.y-=10))}0!==speed&&(this.x+=this.directionX*speed,this.y+=this.directionY*speed),this.draw()}}functiond(){s=[];lete=.01*o.width;for(lett=0;t<e*numParticles;t++){lete=Math.random()*sizeMultiplier+1,t=Math.random()*(innerWidth-2*e-2*e)+2*e,i=Math.random()*(innerHeight-2*e-2*e)+2*e,o=5*Math.random()-2.5,n=5*Math.random()-2.5,l="#8c5523";s.push(newr(t,i,o,n,e,l))}}window.addEventListener("resize",function(){o.width=innerWidth,o.height=innerHeight,l.ra