html, body {
	height: 100%;
}

.crypton-app {
	background-image: url(../img/area/area_2.png);
	background-size: auto 100%;
	background-position: center;
	background-repeat: no-repeat;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;}

@media (min-width: 1600px) {
	.crypton-app {
		background-size: cover;
	}
}

@media (orientation: landscape) {
	.crypton-app {
		background-size: cover;
	}
}

.crypton-app-overlay {
	background-image: url(../img/area/overlay.png);
	background-size: 100% 600px;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	width: 100%;
	height: 100%;
	opacity: 0.4;
	z-index: 0;
}

@media (max-width: 1600px) {
	.crypton-app-overlay {
		background-size: auto 600px;
	}
}

@media (max-width: 600px) {
	.crypton-app-overlay {
		background-size: auto 300px;
	}
}

.crypton-app-box {
	background:linear-gradient(180deg, var(--crypton-color-transparent-7) 0%, var(--crypton-color-transparent-8) 160px, var(--crypton-color-transparent-8) calc(100% - 80px), var(--crypton-color-transparent-7) 100%);
	box-shadow: 0px 0px 16px var(--crypton-color-base-2);
	width: 500px;
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 40px 40px 16px 40px;
	margin: 40px;
	z-index: 1;
	overflow: hidden;
}

@media (max-width: 500px) {
	.crypton-app-box {
		padding: 30px 30px 15px 30px;
		margin: 30px;
	}
}

@media (max-width: 450px) {
	.crypton-app-box {
		padding: 25px 25px 14px 25px;
		margin: 25px;
	}
}

@media (max-width: 400px) {
	.crypton-app-box {
		padding: 20px 20px 12px 20px;
		margin: 20px;
	}
}

@media (max-width: 350px) {
	.crypton-app-box {
		padding: 15px 15px 11px 15px;
		margin: 15px;
	}
}

@media (max-width: 300px) {
	.crypton-app-box {
		padding: 10px 10px 10px 10px;
		margin: 10px;
	}
}

.crypton-app-logo {
	width: 70%;
	margin-top: 10px;
	margin-bottom: 50px;
}

@media (max-width: 450px) and (max-height: 1000px) {
	.crypton-app-logo {
		width: 80%;
		margin-bottom: 40px;
	}
}

@media (max-width: 350px) and (max-height: 800px) {
	.crypton-app-logo {
		margin-bottom: 30px;
	}
}

@media (max-width: 300px) and (max-height: 700px) {
	.crypton-app-logo {
		margin-bottom: 25px;
	}
}

@media (max-width: 250px) and (max-height: 600px) {
	.crypton-app-logo {
		margin-bottom: 20px;
	}
}

.crypton-app-form {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	gap: 20px;
}

@media (max-width: 450px) and (max-height: 1000px) {
	.crypton-app-form {
		gap: 14px;
	}
}

@media (max-width: 350px) and (max-height: 800px) {
	.crypton-app-form {
		gap: 12px;
	}
}

@media (max-width: 300px) and (max-height: 700px) {
	.crypton-app-form {
		gap: 10px;
	}
}

@media (max-width: 250px) and (max-height: 600px) {
	.crypton-app-form {
		gap: 8px;
	}
}

.crypton-app-message {
	font-size: var(--crypton-font-size-default);
	display: none;
	padding-bottom: 10px;
	font-weight: 500;
	text-align: justify;
	text-align-last: center;
}

.crypton-app-message.error {
	color: var(--crypton-color-theme-3);
}

.crypton-app-message div {
	color: var(--crypton-color-text);
	margin-top: 20px;
}

@media (max-width: 450px) and (max-height: 1000px) {
	.crypton-app-message {
		font-size: var(--crypton-font-size-4);
		padding-bottom: 9px;
	}
	.crypton-app-message div {
		margin-top: 18px;
	}
}

@media (max-width: 350px) and (max-height: 800px) {
	.crypton-app-message {
		font-size: var(--crypton-font-size-5);
		padding-bottom: 8px;
	}
	.crypton-app-message div {
		margin-top: 16px;
	}
}

@media (max-width: 300px) and (max-height: 700px) {
	.crypton-app-message {
		font-size: var(--crypton-font-size-6);
		padding-bottom: 7px;
	}
	.crypton-app-message div {
		margin-top: 14px;
	}
}

@media (max-width: 250px) and (max-height: 600px) {
	.crypton-app-message {
		font-size: var(--crypton-font-size-7);
		padding-bottom: 6px;
	}
	.crypton-app-message div {
		margin-top: 12px;
	}
}

.crypton-app-form a {
	color: var(--crypton-color-theme-4);
}

.crypton-app-form a:hover {
	color: var(--crypton-color-theme-5);
}

.crypton-app-input {
	position: relative;
	width: 100%;
}

.crypton-app-input input {
	width: 100%;
	height: 50px;
	padding: 6px 6px 6px 50px;
	border-radius: 8px;
	border-width: 2px;
	border-style: solid;
	border-color: var(--crypton-color-base-2);
	box-shadow: 0px 0px 6px var(--crypton-color-base-2);
	font-size: var(--crypton-font-size-3);
	color: var(--crypton-color-base-4);
}

.crypton-app-input input:focus {
	border-color: var(--crypton-color-theme-3);
	box-shadow: 0px 0px 6px var(--crypton-color-theme-3);
}

.crypton-app-input input.check:invalid {
	border-color: var(--crypton-color-theme-5);
	box-shadow: 0px 0px 6px var(--crypton-color-theme-5);
}

.crypton-app-input i {
	font-size: 24px;
	color: var(--crypton-color-base-4);
	position: absolute;
	top: 13px;
	left: 13px;
	height: 100%;
}

@media (max-width: 350px) and (max-height: 800px) {
	.crypton-app-input input {
		font-size: var(--crypton-font-size-4);
		height: 40px;
		padding-left: 40px;
	}
	.crypton-app-input i {
		font-size: 18px;
		top: 11px;
		left: 11px;
	}
}

@media (max-width: 300px) and (max-height: 700px) {
	.crypton-app-input input {
		font-size: var(--crypton-font-size-5);
		height: 36px;
		padding-left: 36px;
	}
	.crypton-app-input i {
		font-size: 16px;
		top: 10px;
		left: 10px;
	}
}

@media (max-width: 250px) and (max-height: 600px) {
	.crypton-app-input input {
		font-size: var(--crypton-font-size-6);
		height: 32px;
		padding-left: 32px;
	}
	.crypton-app-input i {
		font-size: 14px;
		top: 9px;
		left: 9px;
	}
}

.crypton-app-form .crypton-button {
	margin-top: 20px;
	margin-bottom: 20px;
}

.crypton-app-action {
	text-align: center;
	font-size: var(--crypton-font-size-3);
}

@media (max-width: 450px) and (max-height: 1000px) {
	.crypton-app-form .crypton-button {
		margin-top: 14px;
		margin-bottom: 14px;
	}

	.crypton-app-action {
		font-size: var(--crypton-font-size-4);
	}
}

@media (max-width: 350px) and (max-height: 800px) {
	.crypton-app-action {
		font-size: var(--crypton-font-size-5);
	}
}

@media (max-width: 300px) and (max-height: 700px) {
	.crypton-app-action {
		font-size: var(--crypton-font-size-6);
	}
}

@media (max-width: 250px) and (max-height: 600px) {
	.crypton-app-form .crypton-button {
		margin-bottom: 10px;
	}
	.crypton-app-action {
		font-size: var(--crypton-font-size-7);
	}
}

@media (max-width: 450px) {
	.crypton-app-action {
		font-size: var(--crypton-font-size-4);
	}
}

@media (max-width: 400px) {
	.crypton-app-action {
		font-size: var(--crypton-font-size-5);
	}
}

@media (max-width: 350px) {
	.crypton-app-action {
		font-size: var(--crypton-font-size-6);
	}
}

@media (max-width: 300px) {
	.crypton-app-action {
		font-size: var(--crypton-font-size-7);
	}
}

.crypton-app-name {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 16px;
	width: 100%;
}

@media (max-width: 550px) {
	.crypton-app-name {
		flex-direction: column;
		gap: 20px;
	}
}

@media (max-width: 450px) and (max-height: 1000px) {
	.crypton-app-name {
		gap: 14px;
	}
}

@media (max-width: 350px) and (max-height: 800px) {
	.crypton-app-name {
		gap: 12px;
	}
}

@media (max-width: 300px) and (max-height: 700px) {
	.crypton-app-name {
		gap: 10px;
	}
}

@media (max-width: 250px) and (max-height: 600px) {
	.crypton-app-name {
		gap: 8px;
	}
}

.crypton-app-status {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-top: 20px;
	font-size: 14px;
	color: var(--crypton-color-base-3);
}

.crypton-app-status i {
	margin-top: -2px;
	font-size: 7px;
	animation: crypton-app-status 1.5s cubic-bezier(0.5, 0, 1, 1) infinite alternate;
}

.crypton-app-status.online i {
	color: #2CE28B;
	text-shadow: 0 0 6px #2CE28B, 0 0 12px #2CE28B, 0 0 24px #2CE28B;
}

.crypton-app-status.offline i {
	color: #9E0027;
	text-shadow: 0 0 6px #9E0027, 0 0 12px #9E0027, 0 0 24px #9E0027;
}

.crypton-app-status.degraded i {
	color: #FF7932;
	text-shadow: 0 0 6px #FF7932, 0 0 12px #FF7932, 0 0 24px #FF7932;
}

.crypton-app-status.limited i {
	color: #FFB132;
	text-shadow: 0 0 6px #FFB132, 0 0 12px #FFB132, 0 0 24px #FFB132;
}

.crypton-app-status.unknown i {
	color: var(--crypton-color-theme-3);
	text-shadow: 0 0 6px var(--crypton-color-theme-3), 0 0 12px var(--crypton-color-theme-3), 0 0 24px var(--crypton-color-theme-3);
}

@keyframes crypton-app-status {
	from {opacity: 0.7;}
	to {opacity: 0.4;}
}

@media (max-width: 500px) {
	.crypton-app-status {
		font-size: 13px;
		gap: 5px;
	}

	.crypton-app-status i {
		margin-top: -1px;
		font-size: 7px;
	}
}

@media (max-width: 400px) {
	.crypton-app-status {
		font-size: 12px;
		gap: 4px;
	}

	.crypton-app-status i {
		font-size: 6px;
	}
}

.crypton-error .crypton-app-box {
	padding-bottom: 0px;
}

.crypton-error-box {
	text-align: center;
	width: 100%;
}

.crypton-error-code {
	font-size: 18px;
	color: var(--crypton-color-base-3);
}

.crypton-error-label {
	font-size: 24px;
	font-weight: 600;
	color: var(--crypton-color-base-1);
}

.crypton-error-url {
	display: inline-block;
	margin-top: 30px;
	font-size: 18px;
	color: var(--crypton-color-theme-4);
}

.crypton-error-url:hover {
	color: var(--crypton-color-theme-5);
}

.crypton-error-art {
	margin-bottom: -8px;
}

@media (max-width: 500px) {
	.crypton-error-art {
		margin-bottom: -7px;
	}
}

@media (max-width: 450px) {
	.crypton-error-art {
		margin-bottom: -6px;
	}
}
