form.contactform {
	margin: 0;
	display: block;
}
form.contactform fieldset {
	margin: 1.25em 0;
	padding: 0;
	border: none;
	white-space: nowrap;
}
form.contactform fieldset legend {
	background-color: transparent;
	margin: 0 0 0.5em 0;
	font-weight: 400;
	font-size: 16px;
}

form.contactform label.line,
form.contactform fieldset legend,
form.contactform fieldset legend label
{
	font-family: 'Lato', sans-serif;
	line-height: normal;
	color: #114B5F;
	font-size: 16px;
	white-space: pre;
}

form.contactform label.line
{
	display: inline-block;
	padding: 1px 0.5em 0 0;
	width: 85px;
	vertical-align: middle;
	border-bottom: 1px #eee solid;
	box-sizing: border-box;
	margin: 0 2px 0 0;
}
form.contactform label span.form_required
{
	display: inline;
	margin: 0 0 0 0.1em;
	font-weight: 400;
	color: #d76431;
}
form.contactform div.form_group
{
	display: block;
	margin: 0 0 0.25em 0;
	padding: 0;
	box-sizing: border-box;
}

form.contactform input[type=text],
form.contactform input[type=email]
{
	padding: 0.175em 0.3em;
	border: 1px #81c5d3 solid;
	border-radius: 3px;
	width: 300px;
	box-sizing: border-box;
	vertical-align: top;
	font-family: ui-sans-serif, system-ui, -apple-system, sans-serif;
	font-size: 15px;
	color: #222;
	background-color: #fffc;
}
form.contactform input::placeholder
{
	font-family: 'Lato', sans-serif;
	font-weight: 300;
	color: #919396;
	font-size: 13px;
}
form.contactform textarea
{
	padding: 0.3em;
	border: 1px #81c5d3 solid;
	border-radius: 3px;
	width: 387px;
	max-width: 100%;
	box-sizing: border-box;
	font-family: -apple-system, ui-sans-serif, system-ui, sans-serif;
	font-size: 15px;
	line-height: 19px;
	height: 170px;
	min-height: 94px;
	color: #222;
	background-color: #fffc;
	resize: vertical;
}
form.contactform select
{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: inline-block;
	margin: 0 0 0 -0.25em;
	padding: 0.175em 24px 0.175em 0.3em;
	border: 1px #81c5d3 solid;
	border-radius: 3px;
	width: 300px;
	box-sizing: border-box;
	vertical-align: top;
	font-family: 'Lato', sans-serif;
	font-size: 14px;
	color: #222;
	background-color: #fffc;
	outline: none;
	text-align: left !important;
	background-position: right center;
	background-repeat: no-repeat;
	background-size: 28px 17px;
	background-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 18 17" width="18" height="17"><path d="M4.5,7.5L8.5,4.5L12.5,7.5L4.5,7.5Z M4.5,9.5L8.5,12.5L12.5,9.5L4.5,9.5Z" stroke="none" stroke-width="0" stroke-miterlimit="1" fill="%23455C8E" /></svg>');
	transition: background-color 0.2s ease,color 0.2s ease;
	white-space: nowrap;
	overflow-x: hidden;
	text-overflow:ellipsis;
}
form.contactform select:active
{
	background-color: #81c5d3;
	color: white;
	background-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 18 17" width="18" height="17"><path d="M4.5,7.5L8.5,4.5L12.5,7.5L4.5,7.5Z M4.5,9.5L8.5,12.5L12.5,9.5L4.5,9.5Z" stroke="none" stroke-width="0" stroke-miterlimit="1" fill="%23fff" /></svg>');
}
form.contactform select:focus { box-shadow: 0 0 3px #81c5d3; }
form.contactform select option
{
	color: #222;
	background: white;
	font-family: -apple-system, ui-sans-serif, system-ui, sans-serif;
	font-weight: normal;
	font-size: 15px;
}
form.contactform select option:first-of-type
{
	color: #919396;
	display: none;
}
form.contactform input[type=submit],
form.contactform button.submit
{
	margin: 0.5em 0.6em 0 0;
	padding: 7px 24px;
	border: none;
	border-radius: 14px;
	background-color: #31a0b8;
	color: #fcfcfc;
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 100%;
	letter-spacing: 0.03em;
}
form.contactform input[type=submit]:hover,
form.contactform input[type=submit]:focus,
form.contactform button.submit:hover,
form.contactform button.submit:focus
{ background-color: #048BA8; }
form.contactform input[type=submit]:active,
form.contactform button.submit:active
{ background-color: #d76431; }
form.contactform input[type=submit][disabled],
form.contactform input[type=submit][disabled=disabled],
form.contactform button.submit[disabled],
form.contactform button.submit[disabled=disabled]
{
	background-color: #ccc;
	cursor: not-allowed;
}
form.contactform div.form_control
{
	width: 387px;
	text-align: right;
}

#content div.error p,
#content div.error ul li { color: #e00 !important; }
#content div.error ul li::marker,
#content div.error ul > li::before { color: #e00 !important; }
#content div.error p { margin: 0; }
#content div.error ul { margin-bottom: 0; }
#content div.error { margin: 1.5em 0.5em -1.5em 0.5em; border: 2px #e00 solid; border-radius: 4px; padding: 12px 18px; box-sizing: border-box;  max-width: 29em; }

#content div.session-error { margin: 0 0 2em 0; }
#content div.session-error p { color: #a00 !important; }

#content div.error + form.contactform { margin-top: 3.5em; }

form.contactform input:required:invalid
{
	border-color: #c00000;
}
form.contactform input:placeholder-shown
{
	border-color: #81c5d3 !important;
}

#contactContainer
{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	column-gap: 32px;
	row-gap: 3em;
	flex-wrap: wrap;
}

@media screen and (max-width: 500px) {
	form.contactform { margin-left: 0; padding: 0 0.5em; }
	form.contactform label.line { display: block; border-bottom: none; margin: 0.3em 0; }
	form.contactform input[type=text],
	form.contactform input[type=email],
	form.contactform select { margin-left: 0.2em; width: 80%; }
	form.contactform textarea { margin-left: 0.2em; width: 80%; height: 180px; }
	form.contactform div.form_control	{
		width: 80%;
		margin-top: 1.5em 0;
	}
}