var cursoreffects=function(t){"use strict";return t.bubbleCursor=function(t){let e,n,i,o=t&&t.element,s=o||document.body,h=window.innerWidth,c=window.innerHeight,l={x:h/2,y:h/2},a=[],r=[];const d=window.matchMedia("(prefers-reduced-motion: reduce)");function u(){if(d.matches)return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"),!1;e=document.createElement("canvas"),n=e.getContext("2d"),e.style.top="0px",e.style.left="0px",e.style.pointerEvents="none",o?(e.style.position="absolute",s.appendChild(e),e.width=s.clientWidth,e.height=s.clientHeight):(e.style.position="fixed",document.body.appendChild(e),e.width=h,e.height=c),s.addEventListener("mousemove",g),s.addEventListener("touchmove",m,{passive:!0}),s.addEventListener("touchstart",m,{passive:!0}),window.addEventListener("resize",A),p()}function A(t){h=window.innerWidth,c=window.innerHeight,o?(e.width=s.clientWidth,e.height=s.clientHeight):(e.width=h,e.height=c)}function m(t){if(t.touches.length>0)for(let e=0;e=0;t--)a[t].lifeSpan<0&&a.splice(t,1);0==a.length&&n.clearRect(0,0,h,c)}}(),i=requestAnimationFrame(p)}function y(){e.remove(),cancelAnimationFrame(i),s.removeEventListener("mousemove",g),s.removeEventListener("touchmove",m),s.removeEventListener("touchstart",m),window.addEventListener("resize",A)}function v(t,e,n){const i=Math.floor(60*Math.random()+60);this.initialLifeSpan=i,this.lifeSpan=i,this.velocity={x:(Math.random()<.5?-1:1)*(Math.random()/10),y:-1*Math.random()-.4},this.position={x:t,y:e},this.canv=n,this.baseDimension=4,this.update=function(t){this.position.x+=this.velocity.x,this.position.y+=this.velocity.y,this.velocity.x+=2*(Math.random()<.5?-1:1)/75,this.velocity.y-=Math.random()/600,this.lifeSpan--;const e=.2+(this.initialLifeSpan-this.lifeSpan)/this.initialLifeSpan;t.fillStyle="#e6f1f7",t.strokeStyle="#3a92c5",t.beginPath(),t.arc(this.position.x-this.baseDimension/2*e,this.position.y-this.baseDimension/2,this.baseDimension*e,0,2*Math.PI),t.stroke(),t.fill(),t.closePath()}}return d.onchange=()=>{d.matches?y():u()},u(),{destroy:y}},t.characterCursor=function(t){let e=t&&t.element,n=e||document.body,i=t?.characters||["h","e","l","l","o"];const o=t?.colors||["#6622CC","#A755C2","#B07C9E","#B59194","#D2A1B8"];let s,h,c,l=t?.cursorOffset||{x:0,y:0},a=window.innerWidth,r=window.innerHeight,d={x:a/2,y:a/2},u=[],A=t?.font||"15px serif",m=t?.characterLifeSpanFunction||function(){return Math.floor(60*Math.random()+80)},g=t?.initialCharacterVelocityFunction||function(){return{x:(Math.random()<.5?-1:1)*Math.random()*5,y:(Math.random()<.5?-1:1)*Math.random()*5}},f=t?.characterVelocityChangeFunctions||{x_func:function(t,e){return(Math.random()<.5?-1:1)/30},y_func:function(t,e){return(Math.random()<.5?-1:1)/15}},p=t?.characterScalingFunction||function(t,e){let n=e-t;return Math.max(n/e*2,0)},y=t?.characterNewRotationDegreesFunction||function(t,e){return(e-t)/5},v=[];const w=window.matchMedia("(prefers-reduced-motion: reduce)");function x(){if(w.matches)return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"),!1;s=document.createElement("canvas"),h=s.getContext("2d"),s.style.top="0px",s.style.left="0px",s.style.pointerEvents="none",e?(s.style.position="absolute",n.appendChild(s),s.width=n.clientWidth,s.height=n.clientHeight):(s.style.position="fixed",document.body.appendChild(s),s.width=a,s.height=r),h.font=A,h.textBaseline="middle",h.textAlign="center",i.forEach((t=>{let e=h.measureText(t),n=document.createElement("canvas"),i=n.getContext("2d");n.width=e.width,n.height=2.5*e.actualBoundingBoxAscent,i.textAlign="center",i.font=A,i.textBaseline="middle";var s=o[Math.floor(Math.random()*o.length)];i.fillStyle=s,i.fillText(t,n.width/2,e.actualBoundingBoxAscent),v.push(n)})),n.addEventListener("mousemove",C),n.addEventListener("touchmove",M,{passive:!0}),n.addEventListener("touchstart",M,{passive:!0}),window.addEventListener("resize",E),B()}function E(t){a=window.innerWidth,r=window.innerHeight,e?(s.width=n.clientWidth,s.height=n.clientHeight):(s.width=a,s.height=r)}function M(t){if(t.touches.length>0)for(let e=0;e=0;t--)u[t].lifeSpan<0&&u.splice(t,1);0==u.length&&h.clearRect(0,0,a,r)}}(),c=requestAnimationFrame(B)}function b(){s.remove(),cancelAnimationFrame(c),n.removeEventListener("mousemove",C),n.removeEventListener("touchmove",M),n.removeEventListener("touchstart",M),window.addEventListener("resize",E)}function R(t,e,n){const i=m();this.rotationSign=Math.random()<.5?-1:1,this.age=0,this.initialLifeSpan=i,this.lifeSpan=i,this.velocity=g(),this.position={x:t+l.x,y:e+l.y},this.canv=n,this.update=function(t){this.position.x+=this.velocity.x,this.position.y+=this.velocity.y,this.lifeSpan--,this.age++,this.velocity.x+=f.x_func(this.age,this.initialLifeSpan),this.velocity.y+=f.y_func(this.age,this.initialLifeSpan);const e=p(this.age,this.initialLifeSpan),n=.0174533*(this.rotationSign*y(this.age,this.initialLifeSpan));t.translate(this.position.x,this.position.y),t.rotate(n),t.drawImage(this.canv,-this.canv.width/2*e,-this.canv.height/2,this.canv.width*e,this.canv.height*e),t.rotate(-n),t.translate(-this.position.x,-this.position.y)}}return w.onchange=()=>{w.matches?b():x()},x(),{destroy:b}},t.clockCursor=function(t){let e,n,i,o=t&&t.element,s=o||document.body,h=window.innerWidth,c=window.innerHeight,l={x:h/2,y:h/2};const a=t&&t.dateColor||"blue",r=t&&t.faceColor||"black",d=t&&t.secondsColor||"red",u=t&&t.minutesColor||"black",A=t&&t.hoursColor||"black",m=.4,g=t&&t.theDays||["SUNDAY","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY"],f=t&&t.theMonths||["JANUARY","FEBRUARY","MARCH","APRIL","MAY","JUNE","JULY","AUGUST","SEPTEMBER","OCTOBER","NOVEMBER","DECEMBER"];let p=new Date,y=p.getDate(),v=p.getYear()+1900;const w=(" "+g[p.getDay()]+" "+y+" "+f[p.getMonth()]+" "+v).split(""),x=["3","4","5","6","7","8","9","10","11","12","1","2"],E=x.length,M=["•","•","•"],C=["•","•","•","•"],L=["•","•","•","•","•"],B=360/E,b=360/w.length,R=45/6.5,S=[],Y=[],W=[],H=[],I=[],X=[],D=[],T=[],F=[];var z=parseInt(w.length+E+M.length+C.length+L.length)+1;const P=window.matchMedia("(prefers-reduced-motion: reduce)");function J(){if(P.matches)return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"),!1;e=document.createElement("canvas"),n=e.getContext("2d"),e.style.top="0px",e.style.left="0px",e.style.pointerEvents="none",o?(e.style.position="absolute",s.appendChild(e),e.width=s.clientWidth,e.height=s.clientHeight):(e.style.position="fixed",document.body.appendChild(e),e.width=h,e.height=c),n.font="10px sans-serif",n.textAlign="center",n.textBaseline="middle";for(let t=0;t0)if(o){const e=s.getBoundingClientRect();l.x=t.touches[0].clientX-e.left,l.y=t.touches[0].clientY-e.top}else l.x=t.touches[0].clientX,l.y=t.touches[0].clientY}function Z(t){if(o){const e=s.getBoundingClientRect();l.x=t.clientX-e.left,l.y=t.clientY-e.top}else l.x=t.clientX,l.y=t.clientY}function k(){!function(){W[0]=Math.round(S[0]+=(l.y-S[0])*m),H[0]=Math.round(Y[0]+=(l.x-Y[0])*m);for(let t=1;t=c-80&&(S[t-1]=c-80),Y[t-1]>=h-80&&(Y[t-1]=h-80)}(),function(){n.clearRect(0,0,h,c);const t=new Date,e=t.getSeconds(),i=Math.PI*(e-15)/30,o=t.getMinutes(),s=Math.PI*(o-15)/30,l=t.getHours(),a=Math.PI*(l-3)/6+Math.PI*parseInt(t.getMinutes())/360;for(let t=0;t{P.matches?N():J()},J(),{destroy:N}},t.emojiCursor=function(t){const e=t&&t.emoji||["😀","😂","😆","😊"];let n=t&&t.element,i=n||document.body,o=window.innerWidth,s=window.innerHeight;const h={x:o/2,y:o/2},c={x:o/2,y:o/2};let l=0;const a=[],r=[];let d,u,A;const m=window.matchMedia("(prefers-reduced-motion: reduce)");function g(){if(m.matches)return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"),!1;d=document.createElement("canvas"),u=d.getContext("2d"),d.style.top="0px",d.style.left="0px",d.style.pointerEvents="none",n?(d.style.position="absolute",i.appendChild(d),d.width=i.clientWidth,d.height=i.clientHeight):(d.style.position="fixed",document.body.appendChild(d),d.width=o,d.height=s),u.font="21px serif",u.textBaseline="middle",u.textAlign="center",e.forEach((t=>{let e=u.measureText(t),n=document.createElement("canvas"),i=n.getContext("2d");n.width=e.width,n.height=2*e.actualBoundingBoxAscent,i.textAlign="center",i.font="21px serif",i.textBaseline="middle",i.fillText(t,n.width/2,e.actualBoundingBoxAscent),r.push(n)})),i.addEventListener("mousemove",y,{passive:!0}),i.addEventListener("touchmove",p,{passive:!0}),i.addEventListener("touchstart",p,{passive:!0}),window.addEventListener("resize",f),w()}function f(t){o=window.innerWidth,s=window.innerHeight,n?(d.width=i.clientWidth,d.height=i.clientHeight):(d.width=o,d.height=s)}function p(t){if(t.touches.length>0)for(let e=0;e{if(n){const e=i.getBoundingClientRect();h.x=t.clientX-e.left,h.y=t.clientY-e.top}else h.x=t.clientX,h.y=t.clientY;Math.hypot(h.x-c.x,h.y-c.y)>1&&(v(h.x,h.y,r[Math.floor(Math.random()*e.length)]),c.x=h.x,c.y=h.y,l=t.timeStamp)}))}function v(t,e,n){a.push(new E(t,e,n))}function w(){!function(){if(0!=a.length){u.clearRect(0,0,o,s);for(let t=0;t=0;t--)a[t].lifeSpan<0&&a.splice(t,1);0==a.length&&u.clearRect(0,0,o,s)}}(),A=requestAnimationFrame(w)}function x(){d.remove(),cancelAnimationFrame(A),i.removeEventListener("mousemove",y),i.removeEventListener("touchmove",p),i.removeEventListener("touchstart",p),window.addEventListener("resize",f)}function E(t,e,n){const i=Math.floor(60*Math.random()+80);this.initialLifeSpan=i,this.lifeSpan=i,this.velocity={x:(Math.random()<.5?-1:1)*(Math.random()/2),y:.4*Math.random()+.8},this.position={x:t,y:e},this.canv=n,this.update=function(t){this.position.x+=this.velocity.x,this.position.y+=this.velocity.y,this.lifeSpan--,this.velocity.y+=.05;const e=Math.max(this.lifeSpan/this.initialLifeSpan,0);t.drawImage(this.canv,this.position.x-this.canv.width/2*e,this.position.y-this.canv.height/2,this.canv.width*e,this.canv.height*e)}}return m.onchange=()=>{m.matches?x():g()},g(),{destroy:x}},t.fairyDustCursor=function(t){let e=t&&t.colors||["#D61C59","#E7D84B","#1B8798"],n=t&&t.element,i=n||document.body,o=window.innerWidth,s=window.innerHeight;const h={x:o/2,y:o/2},c={x:o/2,y:o/2},l=[],a=[];let r,d,u;const A=window.matchMedia("(prefers-reduced-motion: reduce)");function m(){if(A.matches)return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"),!1;r=document.createElement("canvas"),d=r.getContext("2d"),r.style.top="0px",r.style.left="0px",r.style.pointerEvents="none",n?(r.style.position="absolute",i.appendChild(r),r.width=i.clientWidth,r.height=i.clientHeight):(r.style.position="fixed",i.appendChild(r),r.width=o,r.height=s),d.font="21px serif",d.textBaseline="middle",d.textAlign="center",e.forEach((t=>{let e=d.measureText("*"),n=document.createElement("canvas"),i=n.getContext("2d");n.width=e.width,n.height=e.actualBoundingBoxAscent+e.actualBoundingBoxDescent,i.fillStyle=t,i.textAlign="center",i.font="21px serif",i.textBaseline="middle",i.fillText("*",n.width/2,e.actualBoundingBoxAscent),a.push(n)})),i.addEventListener("mousemove",p),i.addEventListener("touchmove",f,{passive:!0}),i.addEventListener("touchstart",f,{passive:!0}),window.addEventListener("resize",g),v()}function g(t){o=window.innerWidth,s=window.innerHeight,n?(r.width=i.clientWidth,r.height=i.clientHeight):(r.width=o,r.height=s)}function f(t){if(t.touches.length>0)for(let e=0;e{if(n){const e=i.getBoundingClientRect();h.x=t.clientX-e.left,h.y=t.clientY-e.top}else h.x=t.clientX,h.y=t.clientY;Math.hypot(h.x-c.x,h.y-c.y)>1.5&&(y(h.x,h.y,a[Math.floor(Math.random()*e.length)]),c.x=h.x,c.y=h.y)}))}function y(t,e,n){l.push(new x(t,e,n))}function v(){!function(){if(0!=l.length){d.clearRect(0,0,o,s);for(let t=0;t=0;t--)l[t].lifeSpan<0&&l.splice(t,1);0==l.length&&d.clearRect(0,0,o,s)}}(),u=requestAnimationFrame(v)}function w(){r.remove(),cancelAnimationFrame(u),i.removeEventListener("mousemove",p),i.removeEventListener("touchmove",f),i.removeEventListener("touchstart",f),window.addEventListener("resize",g)}function x(t,e,n){const i=Math.floor(30*Math.random()+60);this.initialLifeSpan=i,this.lifeSpan=i,this.velocity={x:(Math.random()<.5?-1:1)*(Math.random()/2),y:.7*Math.random()+.9},this.position={x:t,y:e},this.canv=n,this.update=function(t){this.position.x+=this.velocity.x,this.position.y+=this.velocity.y,this.lifeSpan--,this.velocity.y+=.02;const e=Math.max(this.lifeSpan/this.initialLifeSpan,0);t.drawImage(this.canv,this.position.x-this.canv.width/2*e,this.position.y-this.canv.height/2,this.canv.width*e,this.canv.height*e)}}return A.onchange=()=>{A.matches?w():m()},m(),{destroy:w}},t.followingDotCursor=function(t){let e,n,i=t&&t.element,o=i||document.body,s=window.innerWidth,h=window.innerHeight,c={x:s/2,y:s/2},l=new function(t,e,n,i){this.position={x:t,y:e},this.width=n,this.lag=i,this.moveTowards=function(t,e,n){this.position.x+=(t-this.position.x)/this.lag,this.position.y+=(e-this.position.y)/this.lag,n.fillStyle=a,n.beginPath(),n.arc(this.position.x,this.position.y,this.width,0,2*Math.PI),n.fill(),n.closePath()}}(s/2,h/2,10,10),a=t?.color||"#323232a6";const r=window.matchMedia("(prefers-reduced-motion: reduce)");function d(){if(r.matches)return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"),!1;e=document.createElement("canvas"),n=e.getContext("2d"),e.style.top="0px",e.style.left="0px",e.style.pointerEvents="none",i?(e.style.position="absolute",o.appendChild(e),e.width=o.clientWidth,e.height=o.clientHeight):(e.style.position="fixed",document.body.appendChild(e),e.width=s,e.height=h),o.addEventListener("mousemove",A),window.addEventListener("resize",u),m()}function u(t){s=window.innerWidth,h=window.innerHeight,i?(e.width=o.clientWidth,e.height=o.clientHeight):(e.width=s,e.height=h)}function A(t){if(i){const e=o.getBoundingClientRect();c.x=t.clientX-e.left,c.y=t.clientY-e.top}else c.x=t.clientX,c.y=t.clientY}function m(){n.clearRect(0,0,s,h),l.moveTowards(c.x,c.y,n),requestAnimationFrame(m)}function g(){e.remove(),cancelAnimationFrame(m),o.removeEventListener("mousemove",A),window.addEventListener("resize",u)}return r.onchange=()=>{r.matches?g():d()},d(),{destroy:g}},t.ghostCursor=function(t){let e,n,i,o=t&&t.element,s=o||document.body,h=t&&t.randomDelay,c=t&&t.minDelay||5,l=t&&t.maxDelay||50,a=window.innerWidth,r=window.innerHeight,d={x:a/2,y:a/2},u=[],A=new Image;t&&t.image?A.src=t.image:A.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAATCAYAAACk9eypAAAAAXNSR0IArs4c6QAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAhGVYSWZNTQAqAAAACAAFARIAAwAAAAEAAQAAARoABQAAAAEAAABKARsABQAAAAEAAABSASgAAwAAAAEAAgAAh2kABAAAAAEAAABaAAAAAAAAAEgAAAABAAAASAAAAAEAA6ABAAMAAAABAAEAAKACAAQAAAABAAAADKADAAQAAAABAAAAEwAAAAAChpcNAAAACXBIWXMAAAsTAAALEwEAmpwYAAABWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpMwidZAAABqElEQVQoFY3SPUvDQBgH8BREpRHExYiDgmLFl6WC+AYmWeyLg4i7buJX8DMpOujgyxGvUYeCgzhUQUSKKLUS0+ZyptXh8Z5Ti621ekPyJHl+uftfomhaf9Ei5JyxXKfynyEA6EYcLHpwyflT958GAQ7DTABNHd8EbtDbEH2BD5QEQmi2mM8P/Iq+A0SzszEg+3sPjDnDdVEtQKQbMUidHD3xVzf6A9UDEmEm+8h9KTqTVUjT+vB53aHrCbAPiceYq1dQI1Aqv4EhMll0jzv+Y0yiRgCnLRSYyDQHVoqUXe4uKL9l+L7GXC4vkMhE6eW/AOJs9k583ORDUyXMZ8F5SVHVVnllmPNKSFagAJ5DofaqGXw/gHBYg51dIldkmknY3tguv3jOtHR4+MqAzaraJXbEhqHhcQlwGSOi5pytVQHZLN5s0WNe8HPrLYlFsO20RPHkImxsbmHdLJFI76th7Z4SeuF53hTeFLvhRCJRCTKZKxgdnRDbW+iozFJbBMw14/ElwGYc0egMBMFzT21f5Rog33Z7dX02GBm7WV5ZfT5Nn5bE3zuCDe9UxdTpNvK+5AAAAABJRU5ErkJggg==";const m=window.matchMedia("(prefers-reduced-motion: reduce)");function g(){if(m.matches)return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"),!1;e=document.createElement("canvas"),n=e.getContext("2d"),e.style.top="0px",e.style.left="0px",e.style.pointerEvents="none",o?(e.style.position="absolute",s.appendChild(e),e.width=s.clientWidth,e.height=s.clientHeight):(e.style.position="fixed",document.body.appendChild(e),e.width=a,e.height=r),s.addEventListener("mousemove",x),s.addEventListener("touchmove",p,{passive:!0}),s.addEventListener("touchstart",p,{passive:!0}),window.addEventListener("resize",f),M()}function f(t){a=window.innerWidth,r=window.innerHeight,o?(e.width=s.clientWidth,e.height=s.clientHeight):(e.width=a,e.height=r)}function p(t){if(t.touches.length>0)for(let e=0;e{m.matches?C():g()};let y=()=>Math.floor(Math.random()*(l-c+1))+c,v=Date.now(),w=y();function x(t){if(h){if(v+w>Date.now())return;v=Date.now(),w=y()}if(o){const e=s.getBoundingClientRect();d.x=t.clientX-e.left,d.y=t.clientY-e.top}else d.x=t.clientX,d.y=t.clientY;E(d.x,d.y,A)}function E(t,e,n){u.push(new L(t,e,n))}function M(){!function(){if(0!=u.length){n.clearRect(0,0,a,r);for(let t=0;t=0;t--)u[t].lifeSpan<0&&u.splice(t,1);0==u.length&&n.clearRect(0,0,a,r)}}(),i=requestAnimationFrame(M)}function C(){e.remove(),cancelAnimationFrame(i),s.removeEventListener("mousemove",x),s.removeEventListener("touchmove",p),s.removeEventListener("touchstart",p),window.addEventListener("resize",f)}function L(t,e,n){this.initialLifeSpan=40,this.lifeSpan=40,this.position={x:t,y:e},this.image=n,this.update=function(t){this.lifeSpan--;const e=Math.max(this.lifeSpan/this.initialLifeSpan,0);t.globalAlpha=e,t.drawImage(this.image,this.position.x,this.position.y)}}return g(),{destroy:C}},t.rainbowCursor=function(t){let e,n,i,o=t&&t.element,s=o||document.body,h=window.innerWidth,c=window.innerHeight,l={x:h/2,y:h/2},a=[];const r=t?.length||20,d=t?.colors||["#FE0000","#FD8C00","#FFE500","#119F0B","#0644B3","#C22EDC"],u=t?.size||3;let A=!1;const m=window.matchMedia("(prefers-reduced-motion: reduce)");function g(){if(m.matches)return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"),!1;e=document.createElement("canvas"),n=e.getContext("2d"),e.style.top="0px",e.style.left="0px",e.style.pointerEvents="none",o?(e.style.position="absolute",s.appendChild(e),e.width=s.clientWidth,e.height=s.clientHeight):(e.style.position="fixed",document.body.appendChild(e),e.width=h,e.height=c),s.addEventListener("mousemove",p),window.addEventListener("resize",f),y()}function f(t){h=window.innerWidth,c=window.innerHeight,o?(e.width=s.clientWidth,e.height=s.clientHeight):(e.width=h,e.height=c)}function p(t){if(o){const e=s.getBoundingClientRect();l.x=t.clientX-e.left,l.y=t.clientY-e.top}else l.x=t.clientX,l.y=t.clientY;if(!1===A){A=!0;for(let t=0;t{n.beginPath(),n.strokeStyle=e,t.length&&n.moveTo(t[0].x,t[0].y+i*(u-1)),t.forEach(((t,e)=>{0!==e&&n.lineTo(t.x,t.y+i*u)})),n.lineWidth=u,n.lineCap="round",n.stroke()}))}(),i=requestAnimationFrame(y)}function v(){e.remove(),cancelAnimationFrame(i),s.removeEventListener("mousemove",p),window.addEventListener("resize",f)}function w(t,e){this.position={x:t,y:e}}return m.onchange=()=>{m.matches?v():g()},g(),{destroy:v}},t.snowflakeCursor=function(t){let e,n,i,o=t&&t.element,s=o||document.body,h=["❄️"],c=window.innerWidth,l=window.innerHeight,a={x:c/2,y:c/2},r=[],d=[];const u=window.matchMedia("(prefers-reduced-motion: reduce)");function A(){if(u.matches)return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"),!1;e=document.createElement("canvas"),n=e.getContext("2d"),e.style.top="0px",e.style.left="0px",e.style.pointerEvents="none",o?(e.style.position="absolute",s.appendChild(e),e.width=s.clientWidth,e.height=s.clientHeight):(e.style.position="fixed",document.body.appendChild(e),e.width=c,e.height=l),n.font="12px serif",n.textBaseline="middle",n.textAlign="center",h.forEach((t=>{let e=n.measureText(t),i=document.createElement("canvas"),o=i.getContext("2d");i.width=e.width,i.height=2*e.actualBoundingBoxAscent,o.textAlign="center",o.font="12px serif",o.textBaseline="middle",o.fillText(t,i.width/2,e.actualBoundingBoxAscent),d.push(i)})),s.addEventListener("mousemove",f),s.addEventListener("touchmove",g,{passive:!0}),s.addEventListener("touchstart",g,{passive:!0}),window.addEventListener("resize",m),y()}function m(t){c=window.innerWidth,l=window.innerHeight,o?(e.width=s.clientWidth,e.height=s.clientHeight):(e.width=c,e.height=l)}function g(t){if(t.touches.length>0)for(let e=0;e=0;t--)r[t].lifeSpan<0&&r.splice(t,1);0==r.length&&n.clearRect(0,0,c,l)}}(),i=requestAnimationFrame(y)}function v(){e.remove(),cancelAnimationFrame(i),s.removeEventListener("mousemove",f),s.removeEventListener("touchmove",g),s.removeEventListener("touchstart",g),window.addEventListener("resize",m)}function w(t,e,n){const i=Math.floor(60*Math.random()+80);this.initialLifeSpan=i,this.lifeSpan=i,this.velocity={x:(Math.random()<.5?-1:1)*(Math.random()/2),y:1+Math.random()},this.position={x:t,y:e},this.canv=n,this.update=function(t){this.position.x+=this.velocity.x,this.position.y+=this.velocity.y,this.lifeSpan--,this.velocity.x+=2*(Math.random()<.5?-1:1)/75,this.velocity.y-=Math.random()/300;const e=Math.max(this.lifeSpan/this.initialLifeSpan,0),n=.0174533*(2*this.lifeSpan);t.translate(this.position.x,this.position.y),t.rotate(n),t.drawImage(this.canv,-this.canv.width/2*e,-this.canv.height/2,this.canv.width*e,this.canv.height*e),t.rotate(-n),t.translate(-this.position.x,-this.position.y)}}return u.onchange=()=>{u.matches?v():A()},A(),{destroy:v}},t.springyEmojiCursor=function(t){let e,n,i,o,s=t&&t.emoji||"🤪",h=t&&t.element,c=h||document.body,l=window.innerWidth,a=window.innerHeight,r={x:l/2,y:l/2},d=[];const u=window.matchMedia("(prefers-reduced-motion: reduce)");function A(){if(u.matches)return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"),!1;e=document.createElement("canvas"),n=e.getContext("2d"),e.style.top="0px",e.style.left="0px",e.style.pointerEvents="none",h?(e.style.position="absolute",c.appendChild(e),e.width=c.clientWidth,e.height=c.clientHeight):(e.style.position="fixed",document.body.appendChild(e),e.width=l,e.height=a),n.font="16px serif",n.textBaseline="middle",n.textAlign="center";let t=n.measureText(s),i=document.createElement("canvas"),r=i.getContext("2d");i.width=t.width,i.height=2*t.actualBoundingBoxAscent,r.textAlign="center",r.font="16px serif",r.textBaseline="middle",r.fillText(s,i.width/2,t.actualBoundingBoxAscent),o=i;let A=0;for(A=0;A<7;A++)d[A]=new x(o);c.addEventListener("mousemove",f),c.addEventListener("touchmove",g,{passive:!0}),c.addEventListener("touchstart",g,{passive:!0}),window.addEventListener("resize",m),p()}function m(t){l=window.innerWidth,a=window.innerHeight,h?(e.width=c.clientWidth,e.height=c.clientHeight):(e.width=l,e.height=a)}function g(t){if(t.touches.length>0)if(h){const e=c.getBoundingClientRect();r.x=t.touches[0].clientX-e.left,r.y=t.touches[0].clientY-e.top}else r.x=t.touches[0].clientX,r.y=t.touches[0].clientY}function f(t){if(h){const e=c.getBoundingClientRect();r.x=t.clientX-e.left,r.y=t.clientY-e.top}else r.x=t.clientX,r.y=t.clientY}function p(){!function(){e.width=e.width,d[0].position.x=r.x,d[0].position.y=r.y;for(let t=1;t<7;t++){let i=new v(0,0);t>0&&w(t-1,t,i),t<6&&w(t+1,t,i);let o,s,h=new v(10*-d[t].velocity.x,10*-d[t].velocity.y),c=new v((i.X+h.X)/1,(i.Y+h.Y)/1+50);d[t].velocity.x+=.01*c.X,d[t].velocity.y+=.01*c.Y,Math.abs(d[t].velocity.x)<.1&&Math.abs(d[t].velocity.y)<.1&&Math.abs(c.X)<.1&&Math.abs(c.Y)<.1&&(d[t].velocity.x=0,d[t].velocity.y=0),d[t].position.x+=d[t].velocity.x,d[t].position.y+=d[t].velocity.y,o=e.clientHeight,s=e.clientWidth,d[t].position.y>=o-11-1&&(d[t].velocity.y>0&&(d[t].velocity.y=.7*-d[t].velocity.y),d[t].position.y=o-11-1),d[t].position.x>=s-11&&(d[t].velocity.x>0&&(d[t].velocity.x=.7*-d[t].velocity.x),d[t].position.x=s-11-1),d[t].position.x<0&&(d[t].velocity.x<0&&(d[t].velocity.x=.7*-d[t].velocity.x),d[t].position.x=0),d[t].draw(n)}}(),i=requestAnimationFrame(p)}function y(){e.remove(),cancelAnimationFrame(i),c.removeEventListener("mousemove",f),c.removeEventListener("touchmove",g),c.removeEventListener("touchstart",g),window.addEventListener("resize",m)}function v(t,e){this.X=t,this.Y=e}function w(t,e,n){let i=d[t].position.x-d[e].position.x,o=d[t].position.y-d[e].position.y,s=Math.sqrt(i*i+o*o);if(s>10){let t=10*(s-10);n.X+=i/s*t,n.Y+=o/s*t}}function x(t){this.position={x:r.x,y:r.y},this.velocity={x:0,y:0},this.canv=t,this.draw=function(t){t.drawImage(this.canv,this.position.x-this.canv.width/2,this.position.y-this.canv.height/2,this.canv.width,this.canv.height)}}return u.onchange=()=>{u.matches?y():A()},A(),{destroy:y}},t.textFlag=function(t){let e,n,i,o=t||{},s=t&&t.element,h=s||document.body,c=o.text?" "+t.text:" Your Text Here",l=t?.color||"#000000",a=o.font||"monospace",r=o.textSize||12,d=r+"px "+a,u=o.gap||r+2,A=0,m=[],g=window.innerWidth,f=window.innerHeight,p={x:g/2,y:g/2};for(let t=0;t0;t--)m[t].x=m[t-1].x+u,m[t].y=m[t-1].y,n.fillStyle=l,n.font=d,n.fillText(m[t].letter,m[t].x,m[t].y);let i=m[0].x,o=m[0].y;i+=(p.x-i)/5+t+2,o+=(p.y-o)/5+e,m[0].x=i,m[0].y=o}(),i=requestAnimationFrame(E)}function M(){e.remove(),cancelAnimationFrame(i),h.removeEventListener("mousemove",x),window.addEventListener("resize",w)}return y.onchange=()=>{y.matches?M():v()},v(),{destroy:M}},t.trailingCursor=function(t){let e,n,i,o=t&&t.element,s=o||document.body,h=window.innerWidth,c=window.innerHeight,l={x:h/2,y:h/2},a=[];const r=t?.particles||15,d=t?.rate||.4,u=t?.baseImageSrc||"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAATCAYAAACk9eypAAAAAXNSR0IArs4c6QAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAhGVYSWZNTQAqAAAACAAFARIAAwAAAAEAAQAAARoABQAAAAEAAABKARsABQAAAAEAAABSASgAAwAAAAEAAgAAh2kABAAAAAEAAABaAAAAAAAAAEgAAAABAAAASAAAAAEAA6ABAAMAAAABAAEAAKACAAQAAAABAAAADKADAAQAAAABAAAAEwAAAAAChpcNAAAACXBIWXMAAAsTAAALEwEAmpwYAAABWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpMwidZAAABqElEQVQoFY3SPUvDQBgH8BREpRHExYiDgmLFl6WC+AYmWeyLg4i7buJX8DMpOujgyxGvUYeCgzhUQUSKKLUS0+ZyptXh8Z5Ti621ekPyJHl+uftfomhaf9Ei5JyxXKfynyEA6EYcLHpwyflT958GAQ7DTABNHd8EbtDbEH2BD5QEQmi2mM8P/Iq+A0SzszEg+3sPjDnDdVEtQKQbMUidHD3xVzf6A9UDEmEm+8h9KTqTVUjT+vB53aHrCbAPiceYq1dQI1Aqv4EhMll0jzv+Y0yiRgCnLRSYyDQHVoqUXe4uKL9l+L7GXC4vkMhE6eW/AOJs9k583ORDUyXMZ8F5SVHVVnllmPNKSFagAJ5DofaqGXw/gHBYg51dIldkmknY3tguv3jOtHR4+MqAzaraJXbEhqHhcQlwGSOi5pytVQHZLN5s0WNe8HPrLYlFsO20RPHkImxsbmHdLJFI76th7Z4SeuF53hTeFLvhRCJRCTKZKxgdnRDbW+iozFJbBMw14/ElwGYc0egMBMFzT21f5Rog33Z7dX02GBm7WV5ZfT5Nn5bE3zuCDe9UxdTpNvK+5AAAAABJRU5ErkJggg==";let A=!1,m=new Image;m.src=u;const g=window.matchMedia("(prefers-reduced-motion: reduce)");function f(){if(g.matches)return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"),!1;e=document.createElement("canvas"),n=e.getContext("2d"),e.style.top="0px",e.style.left="0px",e.style.pointerEvents="none",o?(e.style.position="absolute",s.appendChild(e),e.width=s.clientWidth,e.height=s.clientHeight):(e.style.position="fixed",document.body.appendChild(e),e.width=h,e.height=c),s.addEventListener("mousemove",y),window.addEventListener("resize",p),v()}function p(t){h=window.innerWidth,c=window.innerHeight,o?(e.width=s.clientWidth,e.height=s.clientHeight):(e.width=h,e.height=c)}function y(t){if(o){const e=s.getBoundingClientRect();l.x=t.clientX-e.left,l.y=t.clientY-e.top}else l.x=t.clientX,l.y=t.clientY;if(!1===A){A=!0;for(let t=0;t{g.matches?w():f()},f(),{destroy:w}},Object.defineProperty(t,"__esModule",{value:!0}),t}({});