#grain
{
	display: block;
	background-color: rgba(0,0,0,0);
	background-image: none;
	position: fixed;
	top: 0px;
	left: 0px;
	overflow: hidden;
	width: 100%;
	height: 100vh;
	pointer-events: none;
	z-index: 1993;
}

#grain:after
{
	pointer-events: none;
	content:'';
	width: 100%;
	height: 100vh;
	background-image: url("../img/noise.png");
	background-repeat: repeat;
	background-size: 300px;
	animation: grain 1s steps(10) infinite;
	position: absolute;
	top: -100%;
	left: -100%;
	height: 300%;
	width: 300%;
	overflow: hidden
}

@keyframes grain
{
	0% {
	transform: translate(0); }
	10% {
	transform: translate(-5%, -10%); }
	20% {
	transform: translate(-15%, 5%); }
	30% {
	transform: translate(7%, -25%); }
	40% {
	transform: translate(21%, 25%); }
	50% {
	transform: translate(-25%, 10%); }
	60% {
	transform: translate(15%, 5%); }
	70% {
	transform: translateY(15%); }
	90% {
	transform: translate(-10%, 10%); }
}

#scanlines
{
	display: block;
	background-color: rgba(0,0,0,0);
	background-image: none;
	position: fixed;
	top: 0px;
	left: 0px;
	overflow: hidden;
	width: 100%;
	height: 100vh;
	pointer-events: none;
	z-index: 1993;
}

#scanlines:before, #scanlines:after
{
	display: block;
	pointer-events: none;
	content: '';
	position: absolute;
}

#scanlines:before
{
	width: 100%;
	height: 2px;
	z-index: 1993;
	background: rgba(0, 0, 0, 0.2);
	opacity: 0.75;
	animation: scanline 6s linear infinite;
}

@keyframes scanline
{
	0% {
		transform: translate3d(0, 200000%, 0);
	}
}


#scanlines:after
{
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1993;
	background: linear-gradient(to bottom, transparent 50%, rgba(0, 0, 0, 0.2) 51%);
	background-size: 100% 4px;
	animation: scanlines 1s steps(60) infinite;
}

@keyframes scanlines
{
	0% {
		background-position: 0 -50%;
	}
}

@keyframes retro_effect
{
	0% {
	box-shadow: 
	0px 0px 0px rgba(0,255,255,0),
	0px 0px 0px 8px #080808,
	0px 0px 0px 9px rgba(0,255,255,0.2),
	0px 0px 0px 16px #080808,
	0px 0px 0px 17px rgba(0,255,255,0.1),
	0px 0px 0px 24px #080808,
	0px 0px 0px 25px rgba(0,255,255,0.05),
	0px 0px 0px 32px #080808,
	0px 0px 0px 33px rgba(0,255,255,0.025),
	0px 0px 0px 40px #080808,
	0px 0px 0px 41px rgba(0,255,255,0.0125),
	0px 0px 0px 40px #080808,
	0px 0px 0px 41px rgba(0,255,255,0.025)
	}
	5% {
	box-shadow: 
	0px 0px 0px rgba(0,255,255,0),
	0px 0px 0px 8px #080808,
	0px 0px 0px 9px rgba(0,255,255,0.2),
	0px 0px 0px 16px #080808,
	0px 0px 0px 17px rgba(0,255,255,0.1),
	0px 0px 0px 24px #080808,
	0px 0px 0px 25px rgba(0,255,255,0.05),
	0px 0px 0px 32px #080808,
	0px 0px 0px 33px rgba(0,255,255,0.025),
	0px 0px 0px 40px #080808,
	0px 0px 0px 41px rgba(0,255,255,0.05),
	0px 0px 0px 40px #080808,
	0px 0px 0px 41px rgba(0,255,255,0.0125)
	}
	10% {
	box-shadow: 
	0px 0px 0px rgba(0,255,255,0),
	0px 0px 0px 8px #080808,
	0px 0px 0px 9px rgba(0,255,255,0.2),
	0px 0px 0px 16px #080808,
	0px 0px 0px 17px rgba(0,255,255,0.1),
	0px 0px 0px 24px #080808,
	0px 0px 0px 25px rgba(0,255,255,0.05),
	0px 0px 0px 32px #080808,
	0px 0px 0px 33px rgba(0,255,255,0.1),
	0px 0px 0px 40px #080808,
	0px 0px 0px 41px rgba(0,255,255,0.025),
	0px 0px 0px 40px #080808,
	0px 0px 0px 41px rgba(0,255,255,0.00625)
	}
	15% {
	box-shadow: 
	0px 0px 0px rgba(0,255,255,0),
	0px 0px 0px 8px #080808,
	0px 0px 0px 9px rgba(0,255,255,0.2),
	0px 0px 0px 16px #080808,
	0px 0px 0px 17px rgba(0,255,255,0.1),
	0px 0px 0px 24px #080808,
	0px 0px 0px 25px rgba(0,255,255,0.5),
	0px 0px 0px 32px #080808,
	0px 0px 0px 33px rgba(0,255,255,0.05),
	0px 0px 0px 40px #080808,
	0px 0px 0px 41px rgba(0,255,255,0.0125),
	0px 0px 0px 40px #080808,
	0px 0px 0px 41px rgba(0,255,255,0.00625)
	}
	20% {
	box-shadow: 
	0px 0px 0px rgba(0,255,255,0),
	0px 0px 0px 8px #080808,
	0px 0px 0px 9px rgba(0,255,255,0.2),
	0px 0px 0px 16px #080808,
	0px 0px 0px 17px rgba(0,255,255,0.4),
	0px 0px 0px 24px #080808,
	0px 0px 0px 25px rgba(0,255,255,0.1),
	0px 0px 0px 32px #080808,
	0px 0px 0px 33px rgba(0,255,255,0.025),
	0px 0px 0px 40px #080808,
	0px 0px 0px 41px rgba(0,255,255,0.0125),
	0px 0px 0px 40px #080808,
	0px 0px 0px 41px rgba(0,255,255,0.00625)
	}
	25% {
	box-shadow: 
	0px 0px 0px rgba(0,255,255,1),
	0px 0px 0px 8px #080808,
	0px 0px 0px 9px rgba(0,255,255,0.8),
	0px 0px 0px 16px #080808,
	0px 0px 0px 17px rgba(0,255,255,0.2),
	0px 0px 0px 24px #080808,
	0px 0px 0px 25px rgba(0,255,255,0.05),
	0px 0px 0px 32px #080808,
	0px 0px 0px 33px rgba(0,255,255,0.025),
	0px 0px 0px 40px #080808,
	0px 0px 0px 41px rgba(0,255,255,0.0125),
	0px 0px 0px 40px #080808,
	0px 0px 0px 41px rgba(0,255,255,0.00625)
	}
	35% {
	box-shadow: 
	0px 0px 20px rgba(0,255,255,1),
	0px 0px 0px 8px #080808,
	0px 0px 0px 9px rgba(0,255,255,0.4),
	0px 0px 0px 16px #080808,
	0px 0px 0px 17px rgba(0,255,255,0.1),
	0px 0px 0px 24px #080808,
	0px 0px 0px 25px rgba(0,255,255,0.05),
	0px 0px 0px 32px #080808,
	0px 0px 0px 33px rgba(0,255,255,0.025),
	0px 0px 0px 40px #080808,
	0px 0px 0px 41px rgba(0,255,255,0.0125),
	0px 0px 0px 40px #080808,
	0px 0px 0px 41px rgba(0,255,255,0.00625)
	}
	45% {
	box-shadow: 
	0px 0px 30px rgba(0,255,255,0.5),
	0px 0px 0px 8px #080808,
	0px 0px 0px 9px rgba(0,255,255,0.2),
	0px 0px 0px 16px #080808,
	0px 0px 0px 17px rgba(0,255,255,0.1),
	0px 0px 0px 24px #080808,
	0px 0px 0px 25px rgba(0,255,255,0.05),
	0px 0px 0px 32px #080808,
	0px 0px 0px 33px rgba(0,255,255,0.025),
	0px 0px 0px 40px #080808,
	0px 0px 0px 41px rgba(0,255,255,0.0125),
	0px 0px 0px 40px #080808,
	0px 0px 0px 41px rgba(0,255,255,0.00625)
	}
	60% {
	box-shadow: 
	0px 0px 35px rgba(0,255,255,0.2),
	0px 0px 0px 8px #080808,
	0px 0px 0px 9px rgba(0,255,255,0.2),
	0px 0px 0px 16px #080808,
	0px 0px 0px 17px rgba(0,255,255,0.1),
	0px 0px 0px 24px #080808,
	0px 0px 0px 25px rgba(0,255,255,0.05),
	0px 0px 0px 32px #080808,
	0px 0px 0px 33px rgba(0,255,255,0.025),
	0px 0px 0px 40px #080808,
	0px 0px 0px 41px rgba(0,255,255,0.0125),
	0px 0px 0px 40px #080808,
	0px 0px 0px 41px rgba(0,255,255,0.00625)
	}
	100% {
	box-shadow: 
	0px 0px 40px rgba(0,255,255,0),
	0px 0px 0px 8px #080808,
	0px 0px 0px 9px rgba(0,255,255,0.2),
	0px 0px 0px 16px #080808,
	0px 0px 0px 17px rgba(0,255,255,0.1),
	0px 0px 0px 24px #080808,
	0px 0px 0px 25px rgba(0,255,255,0.05),
	0px 0px 0px 32px #080808,
	0px 0px 0px 33px rgba(0,255,255,0.025),
	0px 0px 0px 40px #080808,
	0px 0px 0px 41px rgba(0,255,255,0.0125),
	0px 0px 0px 40px #080808,
	0px 0px 0px 41px rgba(0,255,255,0.00625)
	}
}

@keyframes shake {
  0% { transform: translate(1px, 1px) rotate(0deg); }
  10% { transform: translate(-1px, -1px) rotate(-5deg); }
  20% { transform: translate(-1px, 0px) rotate(5deg); }
  30% { transform: translate(1px, 1px) rotate(0deg); }
  40% { transform: translate(1px, -1px) rotate(5deg); }
  50% { transform: translate(-1px, 0px) rotate(-5deg); }
  60% { transform: translate(-1px, 1px) rotate(0deg); }
  70% { transform: translate(1px, 1px) rotate(-5deg); }
  80% { transform: translate(-1px, -1px) rotate(5deg); }
  90% { transform: translate(1px, 1px) rotate(0deg); }
  100% { transform: translate(1px, -1px) rotate(-5deg); }
}