* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-background-clip: padding-box;
	-moz-background-clip: padding-box;
	background-clip: padding-box;
	-ms-background-clip: padding-box;
	-o-background-clip: padding-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

html,
body {
	height: 100%;
	background: rgb(10, 10, 10);
	overflow: hidden;
}

body {
	/*  */
}

.wrapping {
	position: absolute;
	display: block;
	border-radius: 5px;
	width: 738px;
	height: 558px;
	top: 50%;
    left: 50%;
    margin-left: -369px;
    margin-top: -279px;
	overflow: visible;
	transition: border 1000ms 500ms;
	transition: .01s;
	transform-origin: center;
	transform:scale(1);
}

.wrapping,
.wrapping * {
	cursor: none;
}

#other_fx {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgb(20, 20, 20);
	box-shadow: inset 0 0 30px 0px rgba(0, 0, 0, 0.8);
	border-radius: 52px;
	pointer-events: none;
}

.on #other_fx {
	background: #000;
	box-shadow: inset 0 0 30px 0px #000,
		-50px 30px 80px rgba(150, 255, 150, 0.025),
		50px 30px 80px rgba(150, 255, 150, 0.025);
	transition: box-shadow 1000ms 500ms, border-radius 3000ms, background 3000ms;
}

#other_fx>.reflection {
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 0.03;
	filter: blur(2px);
	position: absolute;
	background-image: url(../crt_reflex.jpg);
	background-size: cover;
	background-position: center;
	background-clip: content-box;
	border-radius: 50px;
	z-index: 2;
}

#container {
	display: block;
	background: #0d1f0d;
	overflow: hidden;
	margin: 23px;
	position: relative;
	z-index: 1;
	height: 4px;
	margin-top: calc(50vh - 2px);
	width: 4px;
	margin-left: calc(50% - 2px);
	background: #fff;
	border-radius: 4px;
	transition: width 500ms 500ms, height 250ms 250ms, margin-left 500ms 500ms, margin-top 250ms 250ms, background 250ms 250ms, border-radius 250ms 250ms;
	left: 50%;
	top: 50%;
	margin: 0;
	z-index: 1;
}

.on #container {
	position: absolute;
	width: calc(100% - 6px);
	height: calc(100% - 6px);
	background: #000;
	margin-left: -366px;
	margin-top: -276px;
	border-radius: 50px;
	transition: width 500ms 250ms, height 250ms 750ms, margin-left 500ms 250ms, margin-top 250ms 750ms, background 250ms 750ms, border-radius 250ms;
}

.pixel {
	display: block;
	width: 12px;
	height: 23px;
	float: left;
	position: relative;
	z-index: 997;
}

.pixel:hover {
	z-index: 997;
	background: white;
	box-shadow: 0 0 10px white;
}

.hidden_buffer {
	display: none;
}

.content {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	font-family: "Courier New", Courier, "Lucida Sans Typewriter", "Lucida Typewriter", monospace;
	font-size: 20px;
	font-weight: normal;
	color: transparent;
	line-height: 23px;
	padding: 46px 60px;
	animation: display_strobe 500ms linear infinite;
	background: #000;
}

.write {
	opacity: 0;
	transition: opacity 250ms;
}

.write.on {
	opacity: 1;
	transition: opacity 1000ms;
}

.write>* {
	height: 23px;
	min-height: 23px;
	max-height: 23px;
	display: none;
	float: left;
	clear: both;
}

.write>.subline:before {
	display: block;
	content: '└╴';
	float: left;
	width: 24px;
	height: 23px;
	position: relative;
	z-index: 999;
	color: white;
	font-size: 20px;
	text-align: center;
	text-shadow: 0 0 10px white;
	animation: text_strobe 500ms linear infinite alternate;
}

.write a {
	display: block;
	color: transparent;
	text-decoration: none;
}

.write a>.letter {
	border-bottom: 2px solid;
	border-bottom-style: outset;
	height: 21px;
}

.write a.bullet_link>.letter {
	font-weight: bold;
}

.write a.no_underline>.letter {
	border: none;
	height: 23px;
}

.write a.no_underline:hover>.letter {
	color: #0d1f0d;
	background: white;
	box-shadow: 0 0 10px white;
	z-index: 998;
}

.write a.no_underline:hover>.letter:hover {
	background: transparent;
	color: #fff;
}

.write a.bullet_link:before {
	display: block;
	content: '□';
	float: left;
	width: 12px;
	height: 23px;
	position: relative;
	padding-right: 12px;
	z-index: 999;
	color: white;
	text-align: center;
	text-shadow: 0 0 10px white;
	animation: text_strobe 500ms linear infinite alternate;
}

.write a.bullet_link:hover:before {
	content: '▣';
}

.letter {
	display: block;
	float: left;
	width: 12px;
	height: 23px;
	position: relative;
	z-index: 999;
	color: white;
	text-align: center;
	text-shadow: 0 0 10px white;
	animation: text_strobe 500ms linear infinite alternate;
}

.letter:hover {
	color: #0d1f0d;
	background: white;
	box-shadow: 0 0 10px white;
	z-index: 998;
}

.subline>.letter {
	font-size: 15px;
}

.caps>.letter {
	text-transform: uppercase;
}

.letter.space {
	/*  */
}

::selection {
	background: transparent;
	text-shadow: none;
}

.crt {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2) 50%, transparent 50%, transparent), rgba(0, 150, 0, 0.2);
	background-size: 100% 3px;
	pointer-events: none;
	opacity: 1;
	z-index: 1000;
	overflow: hidden;
}

.crt:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(to right, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 50%, transparent 50%, transparent);
	background-size: 3px 100%;
}

.crt:after {
	content: '';
	position: absolute;
	top: -150%;
	width: 100%;
	height: 100%;
	background: #fff;
	background: linear-gradient(to bottom, transparent 0%, white 100%);
	opacity: .02;
	animation: scanline_animation 2500ms 1000ms linear infinite;
}

.shadow {
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	pointer-events: none;
	z-index: 1000;
	box-shadow: inset 0 0 150px -20px rgba(0, 0, 0, 0.7);
	background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.3) 100%);
	transition: all 750ms;
}

.on .shadow {
	opacity: 1;
	transition: all 750ms 250ms;
}

#boot {
	/*  */
}

#boot>.sound {
	opacity: 0;
}

#boot>.button {
	/*  */
}

@keyframes scanline_animation {
	0% {
		top: -150%;
	}

	100% {
		top: 100%;
	}
}

@keyframes text_strobe {
	0% {
		left: 0.3px;
		top: 0px;
	}

	10% {
		left: -0.3px;
		top: 0.4px;
	}

	20% {
		left: 0.4px;
		top: -0.3px;
	}

	30% {
		left: -0.3px;
		top: 0px;
	}

	40% {
		left: 0.3px;
		top: 0px;
	}

	50% {
		left: -0.3px;
		top: 0px;
	}

	60% {
		left: 0.4px;
		top: -0.4px;
	}

	70% {
		left: -0.3px;
		top: 0px;
	}

	80% {
		left: 0.3px;
		top: 0.3px;
	}

	90% {
		left: -0.3px;
		top: 0px;
	}

	100% {
		left: 0.3px;
		top: 0px;
	}
}

@keyframes display_strobe {
	0% {
		background: rgba(255, 255, 255, 0.02);
	}

	10% {
		background: #000;
	}

	20% {
		background: rgba(255, 255, 255, 0.02);
	}

	30% {
		background: #000;
	}

	40% {
		background: #000;
	}

	50% {
		background: rgba(255, 255, 255, 0.02);
	}

	60% {
		background: #000;
	}

	70% {
		background: rgba(255, 255, 255, 0.02);
	}

	80% {
		background: #000;
	}

	90% {
		background: #000;
	}

	100% {
		background: #000;
	}
}