html {
	background-color: #fff;
	font-family: 'Roboto';
}

html,
body {
	position: relative;
    height: 100%;
    overflow: hidden;
}

body {
	min-height: -webkit-fill-available;
}

html * {
	box-sizing: border-box;
}

a {
	text-decoration: none;
	color: #ccc;
}

::-moz-selection {
	color: #fff;
	background: #000;
}

::selection {
	color: #fff;
	background: #000;
}

::placeholder {
	color: #ccc;
}

:-ms-input-placeholder {
	color: #ccc;
}

::-ms-input-placeholder {
	color: #ccc;
}

/* loading */

#loadingBox {
	z-index: 5;
	position: absolute;
	display: none;
	width: 200px;
	height: 100px;
	left: 50%;
	top: 50%;
	transform: translate(-100px, -35px);
}

#loadingWheel {
	position: relative;
	width: 50px;
	left: 75px;
	margin-bottom: 20px;
}

#loadingFeedback {
	display: block;
	width: 100%;
	text-align: center;
	font-size: 14px;
	color: #ccc;
}

/* login */

#loginContainer {
	z-index: 4;
	position: absolute;
	background-color: #fff;
	width: 250px;
	height: 250px;
	left: 50%;
	top: 50%;
	transform: translate(-125px, -125px);
	border: solid 1px #ccc;
	padding: 20px;
	opacity: 0;
	transition: opacity ease 1s;
}

#loginName {
	display: inline-block;
	width: 100%;
	text-align: center;
	margin-bottom: 40px;
	font-size: 14px;
	color: #ccc;
}

.field {
	width: 100%;
	margin-bottom: 20px;
	border: none;
	border-bottom: 1px solid #ccc;
	line-height: normal;
	font-size: 14px;
	color: #000;
	padding: 0 5px 0 5px;
}

.field:focus {
	outline: none;
}

#loginFeedback {
	display: inline-block;
	width: 100%;
	text-align: right;
	font-size: 11px;
	color: #ff7777;
}

#loginText {
	z-index: 4;
	display: none;
	position: absolute;
	height: 20px;
	width: 200px;
	font-size: 20px;
	color: #000;
	text-align: center;
	left: 50%;
	top: 50%;
	transform: translate(-100px, -10px);
	opacity: 0;
	transition: opacity ease 2s;
}

/* desktop */

#desktop {
	z-index: 1;
	display: none;
	position: relative;
	width: 100%;
	max-height: calc(100% - 60px);
	overflow-y: auto;
	padding: 80px 20px 20px 20px;
	background-color: #fff;
}

#menuBar,
#detailBar {
	position: absolute;
	width: 100%;
	height: 60px;
}

#menuBar {
	position: fixed;
	top: 0;
	z-index: 3;
	background-color: #fff;
	-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
	-moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
	height: 100%;
	transition: transform ease 0s;
}

#menuIcon {
	position: relative;
	height: 50px;
	left: 50%;
	top: 5px;
	transform: translateX(-50%);
	opacity: 0;
	transition: opacity ease 1s;
}

#detailBar {
	z-index: 1;
	bottom: 0;
	border-top: solid 1px #ccc;
	padding: 20px;
}

#detailText {
	display: inline-block;
	width: 100%;
	text-align: center;
	font-size: 14px;
	color: #ccc;
}

#back {
	display: inline-block;
	position: absolute;
	width: 34px;
	height: 34px;
	right: 20px;
	top: 13px;
	border: solid 1px #ccc;
	border-radius: 50%;
	background-color: #fff;
	transition: transform ease 1s;
	transform: translateX(200%);

	-webkit-tap-highlight-color: transparent;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

#back:hover,
#back:focus,
#back:active {
	background-color: #e7e7e7;
}

#back span {
	display: inline-block;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	position: relative;
	font-size: 20px;
}

/* icons */

.icon {
	display: inline-block;
	width: calc(33% - 20px);
	padding: 10px;
	margin: 10px;
	border-radius: 8px;

	-webkit-tap-highlight-color: transparent;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.icon:hover,
.icon:active,
.icon:focus {
	background-color: #e7e7e7;
}

.icon img {
	position: relative;
	width: 80%;
	left: 10%;
}

.icon span {
	display: inline-block;
	width: 100%;
	text-align: center;
	font-size: 14px;
	word-wrap: break-word;
}

#firstCrackIcon,
#secondCrackIcon,
#thirdCrackIcon,
#firstFileIcon,
#secondFileIcon,
#thirdFileIcon {
	display: none;
}

/* music */

#musicWindow {
	z-index: 2;
	display: none;
	position: absolute;
	width: 20vw;
	height: 20vw;
	max-width: 100px;
	max-height: 100px;
	background-color: #fff;
	right: 40px;
	bottom: 40px;
	padding: 15px;
	-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
	-moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
}

#songCover {
	display: inline-block;
	background-image: url("../content/rivalConsolesCover.jpg");
	background-size: cover;
    background-position: center;
    border-radius: 50%;
    width: 100%;
    height: 100%;
}

#cdCircle {
	position: absolute;
	width: 10%;
	height: 10%;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	background-color: #fff;
	border-radius: 50%;
}

#musicTextContainer {
	position: absolute;
	left: 10px;
	bottom: 5px;
	width: calc(100% - 10px - 10px);
	height: 16px;
	overflow: hidden;
}

#musicText {
	position: relative;
	display: inline-block;
	font-size: 11px;
	color: #ccc;
	white-space: nowrap;
	transform: translateX(100%);
}

/* mail */

#mailMessages,
#mailBody {
	z-index: 2;
	display: none;
	position: absolute;
	top: 60px;
	left: 0;
	width: 100%;
	height: calc(100% - 60px);
	overflow-y: auto;
	background-color: #fff;
	-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
	-moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
	transition: transform ease 1s;
	transform: translateY(120%);
}

.mailMessage {
	display: block;
	width: 100%;
	height: auto;
	padding: 20px;
	border-bottom: solid 1px #ccc;

	-webkit-tap-highlight-color: transparent;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.mailMessage:hover,
.mailMessage:active,
.mailMessage:focus {
	background-color: #e7e7e7;
}

.sideMailMessageTitle {
	display: block;
	color: #000;
	font-size: 14px;
	margin-bottom: 5px;
}

.sideMailMessageSender {
	display: block;
	font-size: 11px;
}

#mailBody span {
	display: block;
	padding: 20px;
	border-bottom: solid 1px #ccc;
	font-size: 14px;
	color: #ccc;
}

#bodyTitle {

}

#bodySender {
	border-bottom: none !important;
	padding-bottom: 0 !important;
}

#bodyReceiver {
	padding-top: 10px !important;
}

#bodyTime {

}

#bodyBody {
	border-bottom: none !important;
	color: #000 !important;
	font-size: 16px !important;
	margin-bottom: 120px;
	line-height: 20px;
}

/* decryptor */

#decryptorWindow {
	z-index: 2;
	display: none;
	position: absolute;
	top: 60px;
	left: 0;
	width: 100%;
	height: calc(100% - 60px);
	padding: 40px;
	background-color: #fff;
	font-family: 'Roboto Mono' !important;
	overflow-y: auto;
	-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
	-moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
	transition: transform ease 1s;
	transform: translateY(120%);
}

#decryptorArea {
	display: none;
	position: absolute;
	line-height: 0;
	width: 200px;
	height: 200px;
	left: 50%;
	top: 50%;
	padding: 10px;
	transform: translate(-50%, -50%);
	border: solid 1px #e7e7e7;
}

#decryptorResults {
	display: none;
	width: 100%;
	height: auto;
	color: #000;
}

#decryptorResults span {
	display: inline-block;
	width: 100%;
	height: auto;
	font-size: 12px;
	line-height: 20px;
	margin-bottom: 120px;
	white-space: pre-line;
}

#decryptorFeedback {
	position: absolute;
	width: calc(100% - 80px);
	top: 75%;
	text-align: center;
	font-size: 12px;
	color: #ccc;
}

.cell {
	position: relative;
}

.cellValue {
	display: block;
	position: absolute;
	width: 100%;
	top: 50%;
	transform: translateY(-50%);
	text-align: center;
}

/* landscape */

@media screen and (orientation:landscape) {
    .icon {
		width: calc(25% - 20px);
	}
}