@import url(http://fonts.googleapis.com/css?family=VT323);
* {
	margin: 0;
	padding: 0;
	outline: none;
	color: lime;
}

body {
	box-shadow: 0 0 1px 3px rgba(10, 10, 10, .7);
	background: #000;
	overflow: hidden;
	webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	-o-user-select: none;
	user-select: none;
}

body:before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	background-color: #000;
	background: linear-gradient(#fff 50%, #000 50%);
	background-size: 100% 4px;
	background-repeat: repeat-y;
	opacity: .14;
	box-shadow: inset 0 0 10px 10px rgba(0, 0, 0, .8);
	z-index: 12;
	-webkit-animation: pulse 5s linear infinite;
	-moz-animation: pulse 5s linear infinite;
	-ms-animation: pulse 5s linear infinite;
	animation: pulse 5s linear infinite;
}

body:after {
	content: '';
	width: 100%;
	height: 100%;
	background-color: #00ff77;
	background: -moz-radial-gradient(center, ellipse cover, rgba(0,0,0,1) 0%, rgba(0,0,0,0.62) 45%, rgba(0,9,4,0.6) 47%, rgba(0,255,119,1) 100%);
 /* FF3.6+ */
	background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,rgba(0,0,0,1)), color-stop(45%,rgba(0,0,0,0.62)), color-stop(47%,rgba(0,9,4,0.6)), color-stop(100%,rgba(0,255,119,1)));
 /* Chrome,Safari4+ */
	background: -webkit-radial-gradient(center, ellipse cover, rgba(0,0,0,1) 0%,rgba(0,0,0,0.62) 45%,rgba(0,9,4,0.6) 47%,rgba(0,255,119,1) 100%);
 /* Chrome10+,Safari5.1+ */
	background: -o-radial-gradient(center, ellipse cover, rgba(0,0,0,1) 0%,rgba(0,0,0,0.62) 45%,rgba(0,9,4,0.6) 47%,rgba(0,255,119,1) 100%);
 /* Opera 12+ */
	background: -ms-radial-gradient(center, ellipse cover, rgba(0,0,0,1) 0%,rgba(0,0,0,0.62) 45%,rgba(0,9,4,0.6) 47%,rgba(0,255,119,1) 100%);
 /* IE10+ */
	background: radial-gradient(ellipse at center, rgba(0,0,0,1) 0%,rgba(0,0,0,0.62) 45%,rgba(0,9,4,0.6) 47%,rgba(0,255,119,1) 100%);
 /* W3C */
	/*box-shadow: inset 0px 0px 40px 40px rgba(100, 100, 100, .5);*/
	opacity: .1;
	z-index: 11;
}

#terminal {
	font-family: 'VT323';
	position: absolute;
	top: 0px;
	left: 0px;
	bottom: -1px;
	right: -10px;
	overflow: hidden;
	z-index: 1;
	background: -moz-radial-gradient(center, ellipse cover, rgba(0,255,119,0.45) 0%, rgba(255,255,255,0) 100%);
 /* FF3.6+ */
	background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,rgba(0,255,119,0.45)), color-stop(100%,rgba(255,255,255,0)));
 /* Chrome,Safari4+ */
	background: -webkit-radial-gradient(center, ellipse cover, rgba(0,255,119,0.45) 0%,rgba(255,255,255,0) 100%);
 /* Chrome10+,Safari5.1+ */
	background: -o-radial-gradient(center, ellipse cover, rgba(0,255,119,0.45) 0%,rgba(255,255,255,0) 100%);
 /* Opera 12+ */
	background: -ms-radial-gradient(center, ellipse cover, rgba(0,255,119,0.45) 0%,rgba(255,255,255,0) 100%);
 /* IE10+ */
	background: radial-gradient(ellipse at center, rgba(0,255,119,0.45) 0%,rgba(255,255,255,0) 100%);
 /* W3C */
	-webkit-transform-origin: 50% 50%;
	-webkit-transform: perspective(200px) rotateX(.5deg) skewX(2deg) scale(1.03);
	-moz-transform-origin: 50% 50%;
	-moz-transform: perspective(200px) rotateX(.5deg) skewX(2deg) scale(1.03);
	transform-origin: 50% 50%;
	transform: perspective(200px) rotateX(.5deg) skewX(2deg) scale(1.03);
	-webkit-animation: glitch 1s linear infinite;
	-moz-animation: glitch 1s linear infinite;
	-ms-animation: glitch 1s linear infinite;
	animation: glitch 1s linear infinite;
	opacity: .9;
}

#terminal:after {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
	background: -moz-radial-gradient(center, ellipse cover, rgba(0,0,0,1) 0%, rgba(255,255,255,0) 100%);
 /* FF3.6+ */
	background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,rgba(0,0,0,1)), color-stop(100%,rgba(255,255,255,0)));
 /* Chrome,Safari4+ */
	background: -webkit-radial-gradient(center, ellipse cover, rgba(0,0,0,1) 0%,rgba(255,255,255,0) 100%);
 /* Chrome10+,Safari5.1+ */
	background: -o-radial-gradient(center, ellipse cover, rgba(0,0,0,1) 0%,rgba(255,255,255,0) 100%);
 /* Opera 12+ */
	background: -ms-radial-gradient(center, ellipse cover, rgba(0,0,0,1) 0%,rgba(255,255,255,0) 100%);
 /* IE10+ */
	background: radial-gradient(ellipse at center, rgba(0,0,0,1) 0%,rgba(255,255,255,0) 100%);
 /* W3C */
	opacity: .1;
}

#overlay {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 50%;
	margin-left: 0;
	margin-top: -300px;
	z-index: 100;
}

#overlay:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 50px;
	background: #fff;
	background: -moz-linear-gradient(top, rgba(255,0,0,0) 0%, rgba(255,250,250,1) 50%, rgba(255,255,255,0.98) 51%, rgba(255,0,0,0) 100%);
 /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,0,0,0)), color-stop(50%,rgba(255,250,250,1)), color-stop(51%,rgba(255,255,255,0.98)), color-stop(100%,rgba(255,0,0,0)));
 /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, rgba(255,0,0,0) 0%,rgba(255,250,250,1) 50%,rgba(255,255,255,0.98) 51%,rgba(255,0,0,0) 100%);
 /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, rgba(255,0,0,0) 0%,rgba(255,250,250,1) 50%,rgba(255,255,255,0.98) 51%,rgba(255,0,0,0) 100%);
 /* Opera 11.10+ */
	background: -ms-linear-gradient(top, rgba(255,0,0,0) 0%,rgba(255,250,250,1) 50%,rgba(255,255,255,0.98) 51%,rgba(255,0,0,0) 100%);
 /* IE10+ */
	background: linear-gradient(to bottom, rgba(255,0,0,0) 0%,rgba(255,250,250,1) 50%,rgba(255,255,255,0.98) 51%,rgba(255,0,0,0) 100%);
 /* W3C */
	opacity: .01;
	-webkit-transform-origin: 25% 25%;
	-webkit-transform: perspective(1000px) skewX(3deg);
	-webkit-animation: vline 1.25s linear infinite;
	-moz-animation: vline 1.25s linear infinite;
	-ms-animation: vline 1.25s linear infinite;
	animation: vline 1.25s linear infinite;
}

@-webkit-keyframes glitch {
	0% {
		-webkit-transform: scale(1, 1.002);
	}

	50% {
		-webkit-transform: scale(1, 1.0001);
	}

	100% {
		-webkit-transform: scale(1.001, 1);
	}
}

@-moz-keyframes glitch {
	0% {
		-moz-transform: scale(1, 1.002);
	}

	50% {
		-moz-transform: scale(1, 1.0001);
	}

	100% {
		-moz-transform: scale(1.001, 1);
	}
}

@-ms-keyframes glitch {
	0% {
		-ms-transform: scale(1, 1.002);
	}

	50% {
		-ms-transform: scale(1, 1.0001);
	}

	100% {
		-ms-transform: scale(1.001, 1);
	}
}

@-webkit-keyframes pulse {
	0% {
		-webkit-transform: scale(1.001);
		opacity: .14;
	}

	8% {
		-webkit-transform: scale(1.000);
		opacity: .13;
	}

	15% {
		-webkit-transform: scale(1.004);
		opacity: .14;
	}

	30% {
		-webkit-transform: scale(1.002);
		opacity: .11;
	}

	100% {
		-webkit-transform: scale(1.000);
		opacity: .14;
	}
}

@-moz-keyframes pulse {
	0% {
		-moz-transform: scale(1.001);
		opacity: .14;
	}

	8% {
		-moz-transform: scale(1.000);
		opacity: .13;
	}

	15% {
		-moz-transform: scale(1.004);
		opacity: .14;
	}

	30% {
		-moz-transform: scale(1.002);
		opacity: .11;
	}

	100% {
		-moz-transform: scale(1.000);
		opacity: .14;
	}
}

@-ms-keyframes pulse {
	0% {
		-ms-transform: scale(1.001);
		opacity: .14;
	}

	8% {
		-ms-transform: scale(1.000);
		opacity: .13;
	}

	15% {
		-ms-transform: scale(1.004);
		opacity: .14;
	}

	30% {
		-ms-transform: scale(1.002);
		opacity: .11;
	}

	100% {
		-ms-transform: scale(1.000);
		opacity: .14;
	}
}

@-webkit-keyframes pulseled {
	0% {
		-webkit-transform: scale(1.001);
		opacity: .50;
	}

	8% {
		-webkit-transform: scale(1.000);
		opacity: .25;
	}

	15% {
		-webkit-transform: scale(1.004);
		opacity: .50;
	}

	30% {
		-webkit-transform: scale(1.002);
		opacity: .40;
	}

	100% {
		-webkit-transform: scale(1.000);
		opacity: .50;
	}
}

@-moz-keyframes pulseled {
	0% {
		-moz-transform: scale(1.001);
		opacity: .50;
	}

	8% {
		-moz-transform: scale(1.000);
		opacity: .25;
	}

	15% {
		-moz-transform: scale(1.004);
		opacity: .50;
	}

	30% {
		-moz-transform: scale(1.002);
		opacity: .40;
	}

	100% {
		-moz-transform: scale(1.000);
		opacity: .50;
	}
}

@-ms-keyframes pulseled {
	0% {
		-ms-transform: scale(1.001);
		opacity: .50;
	}

	8% {
		-ms-transform: scale(1.000);
		opacity: .25;
	}

	15% {
		-ms-transform: scale(1.004);
		opacity: .50;
	}

	30% {
		-ms-transform: scale(1.002);
		opacity: .40;
	}

	100% {
		-ms-transform: scale(1.000);
		opacity: .50;
	}
}

@-webkit-keyframes shifter {
	0% {
		-webkit-transform: perspective(200px) skewX(.5deg);
		text-shadow: 0px 0px 2px rgba(10, 255, 10, .8);
	}

	8% {
		-webkit-transform: perspective(400px) skewX(1.0deg) scale(1.0001);
	}

	15% {
		-webkit-transform: perspective(200px) skewX(.6deg) skewY(-.05deg);
		text-shadow: 0px 0px 2px rgba(100, 0, 100, .5);
	}

	30% {
		-webkit-transform: perspective(200px) skewX(.6deg);
	}

	100% {
		-webkit-transform: perspective(200px) skewX(.1deg);
		text-shadow: 1px 0px 2px rgba(100, 255, 100, 1);
	}
}

@-moz-keyframes shifter {
	0% {
		-moz-transform: perspective(200px) skewX(.5deg);
		text-shadow: 0px 0px 2px rgba(10, 255, 10, .8);
	}

	8% {
		-moz-transform: perspective(400px) skewX(1.0deg) scale(1.0001);
	}

	15% {
		-moz-transform: perspective(200px) skewX(.6deg) skewY(-.05deg);
		text-shadow: 0px 0px 2px rgba(100, 0, 100, .5);
	}

	30% {
		-moz-transform: perspective(200px) skewX(.6deg);
	}

	100% {
		-moz-transform: perspective(200px) skewX(.1deg);
		text-shadow: 1px 0px 2px rgba(100, 255, 100, 1);
	}
}

@-ms-keyframes shifter {
	0% {
		-ms-transform: perspective(200px) skewX(.5deg);
		text-shadow: 0px 0px 2px rgba(10, 255, 10, .8);
	}

	8% {
		-ms-transform: perspective(400px) skewX(1.0deg) scale(1.0001);
	}

	15% {
		-ms-transform: perspective(200px) skewX(.6deg) skewY(-.05deg);
		text-shadow: 0px 0px 2px rgba(100, 0, 100, .5);
	}

	30% {
		-ms-transform: perspective(200px) skewX(.6deg);
	}

	100% {
		-ms-transform: perspective(200px) skewX(.1deg);
		text-shadow: 1px 0px 2px rgba(100, 255, 100, 1);
	}
}

@-webkit-keyframes vline {
	0% {
		top: 0px;
	}

	100% {
		top: 100%;
	}
}

@-moz-keyframes vline {
	0% {
		top: 0px;
	}

	100% {
		top: 100%;
	}
}

@-ms-keyframes vline {
	0% {
		top: 0px;
	}

	100% {
		top: 100%;
	}
}
