@font-face {
	font-family: "Ubuntu";
	font-weight: 300;
	src: local("Ubuntu Light"), local("Ubuntu-Light"), url("Ubuntu-L.ttf") format("truetype");
}

@font-face {
	font-family: "Ubuntu";
	font-weight: 400;
	src: local("Ubuntu Regular"), local("Ubuntu-Regular"), url("Ubuntu-R.ttf") format("truetype");
}

@font-face {
	font-family: "Ubuntu";
	font-weight: 500;
	src: local("Ubuntu Medium"), local("Ubuntu-Medium"), url("Ubuntu-M.ttf") format("truetype");
}

body {
	background-image: url("../cgi-bin/logo.cgi");
	background-size: 100%;
	background-repeat: no-repeat;

	background-color: #eceff1;
	color: #263238;

	display: flex;
	min-height: 100vh;
	flex-direction: column;
}

body, input {
	font-family: "Ubuntu", sans-serif;
	font-size: 14px;
}

.content {
	flex: 1;
}

.box {
	margin: 272px 0 48px 0;
	padding: 0 30px 48px 30px;

	position: relative;
	display: flex;
	flex-direction: column;
	background-color: white;

	border: none;
	border-radius: 4px;
	box-shadow:
		0 19px 38px 0 rgba(0, 0, 0, 0.3),
		0 15px 12px 0 rgba(0, 0, 0, 0.22);
}

.box-header {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 128px;
}

.box-header h1 {
	font-size: 40px;
}

@media (min-width: 1200px) {
	.box-header {
		min-height: none;
	}

	.box-header h1 {
		margin-top: 24px;
		margin-bottom: 20px;
	}
}

.box-block {
	padding: 24px 16px 24px 16px;
	margin: 0 -8px 40px -8px;

	text-align: center;
	background-color: #b71c1c;
	color: white;
	border-radius: 4px;
}

@media (min-width: 1200px) {
	.box-block {
		padding: 18px 16px 18px 16px;
		margin: 0 0 48px 0;
	}
}

.box-block h4 {
	font-size: 20px;
}

footer {
	height: 64px;
	background-color: rgba(84, 110, 122, 0.06); /* #546e7a */
}

.footer {
	display: flex;
	align-items: center;
}

.footer .logo {
	width: 64px;
	height: 64px;
	padding: 8px;
}

.form-text {
	display: inline-block;
	height: 36px;

	color: #263238;
	background-color: rgba(38, 49, 56, 0,08);

	border: 0;
	border-radius: 2px;
	box-shadow: inset 0 -2px 0 0 #546e7a;
}

.form-error {
	box-shadow: inset 0 -2px 0 0 #ff3d00;
}

.form-submit {
	display: inline-block;

	font-weight: 500;
	text-transform: uppercase;

	height: 36px;
	padding: 0 16px 0 16px;
	margin: 0 8px 0 8px;

	color: #263238;
	background-color: white;

	border: none;
	border-radius: 2px;
	box-shadow:
		0 2px 4px 0 rgba(0, 0, 0, 0.16),
		0 1px 2px 0 rgba(0, 0, 0, 0.23);
}

.form-submit:hover {
	box-shadow:
		0 3px 6px 0 rgba(0, 0, 0, 0.16),
		0 3px 6px 0 rgba(0, 0, 0, 0.23);
}

.form-submit:active {
	background-color: black;
	opacity: 0.16;
	box-shadow: none;
}

.checkbox {
	position: relative;
	display: block;

	margin-top: 20px;
}

.checkbox .form-checkbox {
	position: absolute;
	margin-top: 1px;
	margin-left: -24px;

	width: 20px;
	height: 20px;

	background-color: rgba(38, 49, 56, 0.08);

	border: 2px solid #546e7a;
	border-radius: 2px;
}

.text-error {
	position: block;
	margin-top: 6px;
	min-height: 23px;

	color: white;
	background-color: #ff3d00;

	border-radius: 2px;
}
