@keyframes spin {
	from {
		-webkit-transform:rotate(0);
		transform:rotate(0)
	}
	to {
		-webkit-transform:rotate(360deg);
		transform:rotate(360deg)
	}
}
.contact-form a{
	color:white;
}
.contact-form a:hover{
	color: #2e0090;
}
.contact-form .button {
	margin-top:2.5rem
}
.contact-form .form-item {
	position:relative;
	font-size: 0.5em;
}
@media (min-width:40em) {
	.contact-form .form-item {
		font-size: 1em;
	}
}
.contact-form .form-item input[type=email]{
	font-family: Lora;
}
.contact-form .form-item input,
.contact-form .form-item textarea {
	background-color:transparent;
	border-radius:0;
	border:0;
	height:1.5em;
	border-bottom:1px solid #b82b00;
	-webkit-box-shadow:none;
	box-shadow:none;
	margin:0;
	padding-left:0;
	font-size:2em;
	line-height:100%;
	padding-top:1em;
	padding-bottom:0;
	outline:none!important;
	width:100%;
}
.contact-form .form-item input:not(:-moz-placeholder-shown)~label,
.contact-form .form-item textarea:not(:-moz-placeholder-shown)~label{
	transform:scale(.45) translateY(-.3rem) translateX(.15rem);
	color:#1b0e36;
}
.contact-form .form-item input:not(:-ms-input-placeholder)~label,
.contact-form .form-item textarea:not(:-ms-input-placeholder)~label{
	transform:scale(.45) translateY(-.3rem) translateX(.15rem);
	color:#1b0e36;
}
.contact-form .form-item input:focus~label,
.contact-form .form-item input:not(:placeholder-shown)~label,
.contact-form .form-item textarea:focus~label,
.contact-form .form-item textarea:not(:placeholder-shown)~label {
	-webkit-transform:scale(.45) translateY(-.3rem) translateX(.15rem);
	transform:scale(.45) translateY(-.3rem) translateX(.15rem);
	color:#1b0e36;
}
.contact-form .form-item input:hover~label,
.contact-form .form-item textarea:hover~label {
	color:#fefefe;
}
.contact-form .form-item input::-webkit-input-placeholder,
.contact-form .form-item textarea::-webkit-input-placeholder {
	color:transparent
}
.contact-form .form-item input::-moz-placeholder,
.contact-form .form-item textarea::-moz-placeholder {
	color:transparent
}
.contact-form .form-item input:-ms-input-placeholder,
.contact-form .form-item textarea:-ms-input-placeholder {
	color:transparent
}
.contact-form .form-item input::-ms-input-placeholder,
.contact-form .form-item textarea::-ms-input-placeholder {
	color:transparent
}
.contact-form .form-item input::placeholder,
.contact-form .form-item textarea::placeholder {
	color:transparent
}
.contact-form .form-item textarea {
	height:10rem;
	padding-top:37px
}
.contact-form .form-item label {
	text-transform: uppercase;
	font-weight: bold;
	font-size:3em;
	line-height:100%;
	font-family:'Teach Headline', Arial;
	position:absolute;
	top:0;
	left:0;
	height:100%;
	padding:.875rem 0;
	pointer-events:none;
	-webkit-transform-origin:0 0;
	transform-origin:0 0;
	-webkit-transition:all .3s ease;
	transition:all .3s ease;
	color:#ab99d3
}
.contact-form input,
.contact-form textarea,{
	border-bottom:1px solid #b82b00
}
.contact-form input:hover~label,
.contact-form textarea:hover~label,{
	color:#fefefe
}
.contact-form textarea{
	color:#fefefe
}
.contact-form label{
	color:#fefefe
}
.contact-form fieldset {
	outline: 0;
	border: 0;
	margin: 0;
	padding: 0;
	margin-top:1.75em;
}
.contact-form .acceptance {
	display:block
}
.contact-form .acceptance .item {
	display:block;
	margin:0
}
.contact-form .acceptance label {
	color:#1b0e36;
	font-size:1rem;
	line-height:1.1;
	display:grid;
	grid-template-columns:1em auto;
	gap:1.5625rem
}
@media print,screen and (min-width:40em) {
	.contact-form .acceptance label {
		font-size:1.25rem
	}
}
.contact-form .acceptance label label {
	color:#1b0e36
}
.contact-form .acceptance label {
	color:#fefefe
}
.contact-form .acceptance label label {
	color:#fefefe
}
.contact-form .form-item-check:nth-child(2){
	margin-top:1em
}
.contact-form input[type=checkbox] {
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	background-color:transparent;
	margin:0;
	border:1px solid #ab99d3;
	font:inherit;
	color:#fefefe;
	width:1.75rem;
	height:1.75rem;
	-webkit-transform:translateY(-3px);
	transform:translateY(-3px);
	display:grid;
	place-content:center;
	position:relative;
	z-index:10
}
.contact-form input[type=checkbox]::before {
	content:'';
	width:.65em;
	height:.65em;
	background-color:#fefefe;
	-webkit-clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);
	clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);
	-webkit-transform:scale(0);
	transform:scale(0);
	-webkit-transform-origin:center;
	transform-origin:center;
	-webkit-transition:120ms -webkit-transform ease-in-out;
	transition:120ms -webkit-transform ease-in-out;
	transition:120ms transform ease-in-out;
	transition:120ms transform ease-in-out,120ms -webkit-transform ease-in-out
}
.contact-form input[type=checkbox]:checked {
	background-color:#2e0090
}
.contact-form input[type=checkbox]:checked::before {
	-webkit-transform:scale(.8);
	transform:scale(.8)
}

.contact-form .form-item input{
	color:#fefefe
}
.contact-form .form-item label{
	color:#b82b00
}
.contact-form .checkbox {
	color:#fefefe
}
.contact-form input[type=checkbox]{
	border:1px solid #b82b00
}
.contact-form input[type=checkbox]:checked{
	background-color:#b82b00
}


.sendwrap {
	position:relative;
	margin-top:2.5rem
}
.sendwrap .button {
	margin:0
}
.response-output{
	border: 1px solid #cc4b37;
	border-radius: 8px;
	border-color: transparent;
	background-color: #fefefe;
	color: #cc4b37;
	margin: 2rem 0 -1rem;
	padding: 1rem;
	font-size: 1rem;
	line-height: 1.5;
	display:none;
}
.errors .response-output{
	display:block;
}
.contact-form .invalid{
	position: relative;
	font-weight: 400;
	line-height: 1.5;
	margin: .125rem 0 .5rem;
	background: #b82b00;
	padding: 2px 15px;
	color: #000;
	font-size: 0.875rem;
	top: -2px;

	display:none;
}
.contact-form .error ~ .invalid{
	display: inline-block;
}
.contact-form label{ position:relative; }
.contact-form input[type="checkbox"].error{
	margin-bottom: 3rem;
}
.contact-form input[type="checkbox"].error ~ .invalid{
	position: absolute;
	top: 2.5em;
}
.sendwrap > *{
	display: inline-block;
	vertical-align: middle;
}
.spinner{
	display: inline-block;
	background-color: #23282d;
	opacity: 0.75;
	width: 2em;
	height: 2em;
	border: none;
	border-radius: 100%;
	padding: 0;

	right: 0;
	margin: 0;
	margin-bottom: -0.75em;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);

	visibility: hidden;
}
.spinner::before{
	content: '';
	position: absolute;
	background-color: #fbfbfc;
	top: 4px;
	left: 4px;
	width: 6px;
	height: 6px;
	border: none;
	border-radius: 100%;
	transform-origin: 8px 8px;
	animation-name: spin;
	animation-duration: 1000ms;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}
.sending .spinner{
	visibility: visible;
}
.sending .sendwrap .btn{
	pointer-events: none;
	opacity: 0.5;
}
.sending input, .sending label, .sending textarea{
	pointer-events: none;
	opacity: 0.5;
}