<html>
<head>
<style>
body {padding:0px;margin:0px;}
</style>
</head>
<body>
<canvas id="demo"></canvas>
<script>
var c=document.getElementById('demo');
var cc=c.getContext("2d");

window.addEventListener("load",setDimensions);
window.addEventListener("resize",setDimensions);

setInterval(changeColor,1000/30);

function setDimensions() {
	c.width=window.innerWidth;
	c.height=window.innerHeight;		
};

colorCounter1=Math.round(Math.random() * 255)+1;
var pp=0;

function changeColor() { 

	colorCounter1=addordistract1(colorCounter1);

	pp=addordistract1Neon(pp);		

	var grd = cc.createLinearGradient(c.width/60,pp,c.width,c.height+pp);	

	
	grd.addColorStop(0, 'rgb(' + colorCounter1 + ',0,0)');	
	grd.addColorStop((100/1200).toFixed(2), 'rgb(' + colorCounter1 + ',0,255)');	
	grd.addColorStop(((100/1200)*2).toFixed(2), 'rgb(' + colorCounter1 + ',255,0)');	
	grd.addColorStop(((100/1200)*3).toFixed(2), 'rgb(' + colorCounter1 + ',255,255)');	
	
	grd.addColorStop(((100/1200)*4).toFixed(2), 'rgb(0,' + colorCounter1 + ',0)');	
	grd.addColorStop(((100/1200)*5).toFixed(2), 'rgb(255,' + colorCounter1 + ',0)');
	grd.addColorStop(((100/1200)*6).toFixed(2), 'rgb(0,' + colorCounter1 + ',255)');
	grd.addColorStop(((100/1200)*7).toFixed(2), 'rgb(255,' + colorCounter1 + ',255)');	
	
	grd.addColorStop(((100/1200)*8).toFixed(2), 'rgb(255,255,' + colorCounter1 + ')');	
	grd.addColorStop(((100/1200)*9).toFixed(2), 'rgb(0,255,' + colorCounter1 + ')');
	grd.addColorStop(((100/1200)*11).toFixed(2), 'rgb(255,0,' + colorCounter1 + ')');
	grd.addColorStop(((100/1200)*12).toFixed(2), 'rgb(0,0,' + colorCounter1 + ')');
		
	cc.fillStyle=grd;
	cc.fillRect(0,0,c.width,c.height);
	
	cc.globalAlpha=0.4;
	cc.fillStyle="black";
	cc.fillRect (c.width/2-75,c.height/2-34,150,50);	
	
	cc.globalAlpha=0.8;
	cc.font="20pt Arial";
	cc.fillStyle="white";
	cc.textAlign="center";
	cc.fillText(atob("TkVPTg=="),c.width/2,c.height/2); //btob("NEON")
	cc.globalAlpha=1;

	
	};


var neg=false;
function addordistract1(n) {
	
	var returnvalue=n;
	
	if (returnvalue>254 || neg) {
		returnvalue--;
		neg=true;
		if (returnvalue<1) {neg=false}
	} else { 
		returnvalue++;
	};
	
	return returnvalue;

};

var negNeon=false;
function addordistract1Neon(n) {
	
	var returnvalue=n;

	if (returnvalue>c.width/3 || negNeon) {
		returnvalue--;
		negNeon=true;
		if (returnvalue<-c.width/3) {negNeon=false}
	} else { 
		returnvalue++;
	};
	
	return returnvalue;

};


</script>
</body>
</html>