label:has(span.error) {
	color: #FF0000;
}

form {
	display: grid;
	grid-template-columns: 7em auto;
	grid-template-areas: 'head head'
		'name inputname'
		'email inputemail'
		'blank1 subject'
		'blank2 checkbox'
		'text body'
		'submit submit';
}
input, textarea {
	font-size: 1em;
}
textarea {
	height: 10em;
}
form > div > div.checkbox {
	display: grid;
	grid-template-columns:	2em auto;
}

form > h1 {
	grid-area: head;
	padding: 0.5em 0;
	margin: 0;
	text-align: center;
}
form > label.name {
	grid-area: name;
}
form > input[name='name'] {
	grid-area: inputname;
}
form > label.email {
	grid-area: email;
}
form > input[name='email'] {
	grid-area: inputemail;
}
form > .subject {
	grid-area: subject;
}
form > .subjectCheckbox {
	grid-area: checkbox;
}
form > label.text {
	grid-area: text;
}
form > textarea[name='body'] {
	grid-area: body;
}

form > input[type='submit']{
	grid-area: submit;
}

form > *
{
	margin: 0.5em 0.5em;
}
form > label
{
	text-align: right;
}
form > label.subject
{
	text-align: left;
	margin-bottom: 0;
}