html{
	height: 100%;
	margin: 0;
}
body {
	display: flex;           /* establish flex container */
	flex-direction: column;  /* make main axis vertical */
	justify-content: center; /* center items vertically, in this case */
	align-items: center;     /* center items horizontally, in this case */
	min-height: 100%;
	background: #ddd;
	margin: 0;
	font-family: sans-serif;
}
*{
	margin: 0;
	padding: 0;
}

body > .box {
	padding: 10px;
	box-shadow: 0px 0px 10px rgba(0,0,0,.5);
	border-radius: 10px;
	width: 600px;
	max-width: 90%;
	margin: 5px;
	text-align: left;     /* will center text in <p>, which is not a flex item */
	background: #fff;
}
label {
	width: 100%;
	display: inline-block;
	margin-top: 10px;
}
input, textarea {
	display: inline-block;
	width: 100%;
	margin-top: 10px;
	border-width: 1px;
}
input[type=submit] {
	border-width: 2px;
	border-radius: 4px;
}
ul {
	margin-left: 20px;
}

body .box.message {
	font-weight: bold;
}
body .box.message-success {
	background-color: #62FF7F;
}
body .box.message-data {
	background-color: #789991;
	min-height: 200px;
	max-height: 100%;
	overflow: auto;
}
body .box.message-data > * {
	margin: 20px;
}
body .box.message-error {
	background-color: #B52D3E;
	color: #ffffff;
}

@media screen and (min-width: 650px) {
	label {
		width: 100px;
	}
	input, textarea {
		width: 478px;
	}
	input[type=submit] {
		margin-left: 100px;
	}
}
