.contact-form input, .contact-form textarea
{
	display: block;
	box-sizing: border-box;
	width: 100%;
	margin-bottom: .5rem;
	margin-top: .3rem;
	padding: 5px;
	border-radius: 5px;
	margin-left: 0px;
	margin-right: 0px;
	font-size: 14pt;
}

.contact-form textarea {
	height: 300px;
}

.contact-form .required
{
	display: inline-block;
	margin-left: 5px;
	color: red;
}

.contact-form input:not(:placeholder-shown):valid, .contact-form:not(:placeholder-shown):valid textarea
{
	background-color: #f4feee;
}

.contact-form input:not(:placeholder-shown):invalid, .contact-form textarea:not(:placeholder-shown):invalid
{
	background-color: #fff0f0;
}

.contact-form label, .contact-form button
{
	display: block;
}

.contact-form button
{
	background-color: #396;
	color: white;
	text-shadow: 0px 1px black;
	font-size: 14pt;
	padding: 5px;
	border-radius: 5px;
	margin-left: auto;
	margin-right: auto;
	transition: background-color 0.5s;
	cursor: pointer;
	cursor: hand;
}

.contact-form button:hover
{
	background-color: #699;
}

.contact-form.js-submitted input:valid, .contact-form.js-submitted textarea:valid {
	background-color: #f4feee;
}

.contact-form.js-submitted input:invalid, .contact-form.js-submitted textarea:invalid {
	background-color: #fff0f0;
}
