form {
	margin: 0 auto;
	width: 600px;
	/* outline */
	padding: 1em;
	border: 1px solid #ccc;
	border-radius: 1em;
}

form ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

form li + li {
	margin-top: 1em;
}

form label {
	display: inline-block;
	width: 90px;
	text-align: right;
}

form input, select,
textarea {
	font: 1.1em sans-serif;

	width: 25em;
	box-sizing: border-box;
	padding: 5px;

	border: 1px solid #999;
}

form input:focus,
textarea:focus {
	border-color: #000;
}

form textarea {
	vertical-align: top;
	height: 5em;
}

form input[type="text"].datetime {
	width: 7em;
}
form input[type="checkbox"] {
	width: 2em;
}
form select.hour {
	width: 4em;
}

form .button {
	padding-left: 90px; 
}

form button {
	margin-left: 0.5em;
}

form input.error, select.error {
	border-color: red;
}
form input[type="checkbox"].error {
	outline: 1px solid red;
}

.hidden {
	display: none;
}
.red  {
	color: red;
}
.green {
	color: green;
}
