body {
	background: black;
	color: #33FF33;
	font-size: 49px;
	font-family: Courier;
	overflow-x: hidden;
	overflow-y: hidden;
}

#game {
	position: absolute;
	top: 0;
	left: 0;
	width: 1920px;
	height: 960px;
	overflow-x: hidden;
	overflow-y: hidden;
	image-rendering: -moz-crisp-edges;    /* Firefox */
	image-rendering: -webkit-crisp-edges; /* Webkit (Safari) */
	image-rendering: pixelated;           /* Chrome */
	padding: 0;
	margin: auto auto;
}

strong {
	font-weight: normal;
}

div.blockLetter {
	display: inline-block;
	position: relative;
}

input.codeLetter, input.deadCodeLetter {
	width: 66px;
	height: 66px;
	border-radius: 4px;
	background: black;
	color: #4477FF;
	border: 3px solid #1133AA;
	position: absolute;
	transition: border 1s;
	outline: 0;
	font-size: 72px;
	text-align: center;
}

input.codeLetter:focus {
	border: solid #5599FF;
	outline: 0;
}

#characterSelectionButton {
	position: absolute;
	bottom: 8px;
	left: 8px;
	z-index: 1085;
	height: 100px;
	width: 100px;
	max-height: 15vw;
	max-width: 15vw;
	background-position: center;
	background-repeat: no-repeat;
	background-image: url('assets/graphics/character_select.png');
	background-size: contain;
}

.hoveringNotice {
	border: 2px solid white;
    position: absolute;
    font-size: 22px;
	-webkit-animation: bounce 0.5s; 
	animation: bounce 0.5s;
	animation-iteration-count: infinite;
	animation-direction: alternate;
}

@-webkit-keyframes bounce { 
	from { transform: translateY(0);}
    to { transform: translateY(-20px);}
} 
         
@keyframes bounce { 
	from { transform: translateY(0);}
    to { transform: translateY(-20px);}
}

#unlockCharacterPane {
	position: absolute;
	z-index:  1111;
	width:    1312px;
	height:   448px;
	top:      56px;
	left:     164px;
	background-color: gray;
}

#unlockCharacterPane h2 {
	width: calc(100% - 4px);
    color: white;
    margin: 0;
    text-align: center;
    border: 2px solid #444444;
}

#unlockCharacterPane .info {
	position: absolute;
	left: 5px;
	width: 656px;
}

#unlockCharacterPane .portrait {
	width: 805px;
    position: absolute;
    right: 0;
    max-height: calc(80vh - 86px);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    display: block;
    height: 100%;
    background-color: black;
}

#unlockCharacterPane .portrait img {
	max-width: calc(50vw - 15px);
    max-height: calc(50vw - 15px);
    display: block;
    width: 100%;
    height: 100%;
}

#unlockCharacterPane #name {
	border: 2px solid #444444;
	font-size: 66px;
}

#unlockCharacterPane button {
	background-color: rgb(201, 51, 51);
    border: 2px solid white;
    border-radius: 4px;
    position: absolute;
    top: 410px;
    font-size: 66px;
    padding: 4px 8px;
    color: white;
    left: 150px;
}

.sprite {
	position: absolute;
	z-index: 1055;
	width: 64px;
	height: 64px;
	overflow: hidden;
	image-rendering: -moz-crisp-edges;    /* Firefox */
	image-rendering: -webkit-crisp-edges; /* Webkit (Safari) */
	image-rendering: pixelated;           /* Chrome */
	transform: scale(2);
}

.sprite img {
	position: relative; 
}

.background {
	background-size: contain;
	height: 960px;
	width: 1920px;
	position: absolute;
	overflow: hidden;
	image-rendering: -moz-crisp-edges;    /* Firefox */
	image-rendering: -webkit-crisp-edges; /* Webkit (Safari) */
	image-rendering: pixelated;           /* Chrome */
	z-index: 1045;
	background-position: center;
	background-repeat: no-repeat;
}

.dpad {
	position: absolute;
	z-index: 1085;
	height: 117px;
	width: 117px;
	max-height: 21vw;
	max-width: 21vw;
	bottom: 0;
    right: 70px;
	opacity: 0.4;
}

.dpadButton {
	width: 35px;
	height: 35px;
	max-width: 7vw;
	max-height: 7vw;
	background-color: rgba(0, 0, 0, 0.5);
	border: 2px solid white;
	position: absolute;
}

.up {
	left: 33%;
}

.upRight {
	left: 67%;
}

.right {
	top: 33%;
	left: 67%;
}

.down {
	top: 67%;
	left: 33%;
}

.left {
	top: 33%;
}

#characterSelectScreen {
	position: absolute;
	width: 448px;
	height: 448px;
	max-width: 80vw;
	max-height: 80vw;
	border: 4px solid white;
	background-color: #333333;
	top: 10vh;
	left: 596px;
}

.characterSelectPortrait {
	position: absolute;
	width: calc(33% - 6px);
	height: calc(33% - 6px);
	border: 2px solid white;
}

.characterSelectPortraitPortrait {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-repeat: no-repeat;
}

.characterSelectPortrait h3, #leftConversationPortrait h3, #rightConversationPortrait h3 {
	position: absolute;
    bottom: 0;
    width: 100%;
    background: rgb(33, 33, 33);
    font-size: 22px;
    text-align: center;
    margin: 0;
}

.notYetImplementedCharacterPortrait {
	background-image: url('assets/graphics/static.gif');
}

.lockedCharacterPortrait {
	background-image: url('assets/graphics/locked_portrait.png');
}

.unlockedCharacterPortrait.characterSelectPortraitPortrait {
	background-size: 280px;
    background-position: top;
    background-position-y: -25px;
}

.ui {
	z-index: 1085;
}

#leftConversationPortrait, #rightConversationPortrait {
	position: absolute;
	overflow: hidden;
	border: 2px solid white;
	image-rendering: -moz-crisp-edges;    /* Firefox */
	image-rendering: -webkit-crisp-edges; /* Webkit (Safari) */
	image-rendering: pixelated;           /* Chrome */
	z-index: 1085;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 300px;
	width: 250px;
}

#leftConversationPortrait {
	top: 0;
}

#rightConversationPortrait {
	top: 0;
}

#statementBox, .choiceDisplay {
	position: absolute;
	border: 2px solid white;
	image-rendering: -moz-crisp-edges;    /* Firefox */
	image-rendering: -webkit-crisp-edges; /* Webkit (Safari) */
	image-rendering: pixelated;           /* Chrome */
	z-index: 1085;
	background-color: black;
	color: white;
	padding: 2px 30px;
	max-width: 620px;
}

#statementBox {
	top: 16px;
	right: 200px;
}

.choiceDisplay {
	left: 200px;
}

.clipper {
	position: absolute;
/* 	background-color: rgba(51, 255, 51, 0.6); */
}

#projectTracker {
	background-color: #AAAAAA;
	border: 2px solid white;
	color: white;
	position: absolute;
	padding: 4px;
	width: 50vw;
	font-size: 16px;
}

#projectTracker h3 {
	font-size: 18px;
}

#virtualTests {
	background-color: #AAAAAA;
	border: 2px solid white;
	color: white;
	position: absolute;
	padding: 4px;
	width: 50vw;
	font-size: 16px;
}

#virtualTests h3 {
	font-size: 18px;
}

.gridPuzzle {
	position: absolute;
	height: 480px;
	width: 480px;
	left: 720px;
	top: 240px;
}

.gridPuzzle .piece {
	position: absolute;
	overflow: hidden;
	width: 33%;
	height: 33%;
	background-size: 300% 300%;
}

.gridPuzzle .topLeft {
	top: 0;
	left: 0;
	background-position: 0 0;
}

.gridPuzzle .top {
	top: 0;
	left: 33.33%;
	background-position: 50% 0;
}

.gridPuzzle .topRight {
	top: 0;
	left: 66.66%;
	background-position: 100% 0;
}

.gridPuzzle .left {
	top: 33.33%;
	left: 0;
	background-position: 0 50%;
}

.gridPuzzle .center {
	top: 33.33%;
	left: 33.33%;
	background-position: 50% 50%;
}

.gridPuzzle .right {
	top: 33.33%;
	left: 66.66%;
	background-position: 100% 50%;
}

.gridPuzzle .bottomLeft {
	top: 66.66%;
	left: 0;
	background-position: 0 100%;
}

.gridPuzzle .bottom {
	top: 66.66%;
	left: 33.33%;
	background-position: 50% 100%;
}

.gridPuzzle .bottomRight {
	top: 66.66%;
	left: 66.66%;
	background-position: 100% 100%;
}

.codeInput {
	width: 126px;
	height: 66px;
	border-radius: 4px;
	background: black;
	color: #4477FF;
	border: 3px solid #1133AA;
	position: absolute;
	transition: border 1s;
	outline: 0;
	font-size: 72px;
	text-align: center;
}

.deadGibsonCodeLetter {
	color: rgb(102, 255, 102);
}

#welcome {
	position: absolute;
	image-rendering: -moz-crisp-edges;    /* Firefox */
	image-rendering: -webkit-crisp-edges; /* Webkit (Safari) */
	image-rendering: pixelated;           /* Chrome */
	z-index: 1085;
	background-position: center;
	background-repeat: no-repeat;
	background-image: url('assets/graphics/keyOut200.png');
	background-size: cover;
	max-width: 100vh;
	max-height: 100vh;
	width: 400px;
	height: 400px;
	left: 760px;
	top: 280px;
	transition: background-image 0.2s ease-in-out;
}

#welcome:hover {
	background-image: url('assets/graphics/keyIn200.png');
}

#crosswordFrame {
	position: absolute;
    width: 700px;
    height: 700px;
    top: 120px;
    left: 100px;
    background-color: rgba(255, 255, 255, 0.8);
}