#form
{
	display: block;
	margin: 2rem auto;
	width: 35rem;
	max-width: 90%;
	background: var(--background1);
	padding: 1rem 3rem 2.5rem 3rem;
	border-radius: 0.25rem;
	font-size: 1.1rem;
	box-shadow: 0 0.5rem 1rem 0.25rem rgba(0,0,0,0.025);
}

#form a
{
	filter: brightness(1);
	transition: color 0.3s ease, filter 0.2s ease;
}

#form a:hover
{
	color: var(--fontAccent1);
}

#form a:active
{
	filter: brightness(0.9);
}

input
{
	width: 9rem;
	height: 1.75rem;
	border: 0.15rem solid transparent;
	border-radius: 0.15rem;
	padding-left: 0.325rem;
	padding-right: 0.325rem;
	background-color: var(--ui1);
	color: var(--font2);
	font-size: 1rem;
	transition: border 0.4s ease, background 0.2s ease;
}

textarea
{
	background-color: var(--ui1);
	color: var(--font2);
	border: 0.15rem solid transparent;
	border-radius: 0.15rem;
	padding-left: 0.5rem;
	font-size: 1rem;
	width: 12.75rem;
	height: 6.5rem;
	transition: border 0.4s ease, background 0.2s ease;
	resize: none;
}


textarea:focus, input:focus
{
	border: 0.15rem solid var(--uiAccent);
	outline: none;
}

.input
{
	width: 20rem;
	max-width: 92.5%;
}

label
{
	display: block;
	font-size: 1rem;
	text-align: left;
	margin-top: 1rem;
	margin-bottom: -0.75rem;
	margin-left: 0.25rem;
	position: relative;
	color: var(--font2);
	cursor: text;
	transition: all 0.2s ease;
}

input + label
{
	transform: translate(0.45rem,-2.55rem);
}

textarea + label
{
	transform: translate(0.45rem,-7.45rem);
	font-size: 0.975rem;
}

input:focus + label, 
input:not(:placeholder-shown) + label
{
	transform: translate(0,-4.65rem);
	font-size: 0.975rem;
}

textarea:focus + label, 
textarea:not(:placeholder-shown) + label
{
	
	transform: translate(0,-9.55rem);
}

#submit
{
	cursor: pointer;
	color: var(--font2);
	font-size: 0.9rem;
	background: var(--ui1);
	border-radius: 0.125rem;
	border: 0.15rem solid transparent;
	padding: 0.375rem 0.75rem;
	cursor: pointer;
	transform: translate(0,-2rem);
	transition: background 0.2s ease, transform 0.2s ease, border 0.2s ease;
}

#submit:hover
{
	border: 0.125rem solid var(--uiAccent);
}

#submit:active
{
	background-color: var(--ui2);
	transform: translate(0,-1.95rem);
}

.captcha-container
{
	position: relative;
	left: 7rem;
	top: -4.125rem;
	width: 10rem;
	height: 0;
}

.captcha-container *
{
	position: absolute;
}

.underline-field
{
	font-size: 0.95rem;
	width: 5.625rem;
	height: 1.625rem;
	background: transparent;
	border: none;
	border-radius: 0.15rem;
	background-color: var(--ui1);
	border-bottom: 0.25rem solid transparent;
	padding: 0.125rem 0.5rem 0.125rem 0.5rem;
	transition: border-bottom 0.2s ease;
}

.underline-field:focus
{
	border: 0 solid transparent !important;
	border-bottom: 0.25rem solid var(--uiAccent) !important;
}

.invalid-underline
{
	border: 0 solid transparent !important;
	border-bottom: 0.25rem solid var(--invalid) !important;
}

.warning
{
	opacity: 0;
	padding: 0.375rem;
	width: 11.825rem;
	min-height: 1rem;
	margin-left: -7rem;
	top: 2rem;
	background: var(--invalid);
	border: 0.25rem solid var(--red);
	border-radius: 0.375rem;
	font-size: 0.825rem;
	text-align: center;
}

.desktop-inline
{
	display: inline-block;
}

#contact-details
{
	position: absolute;
	margin-top: -1rem;
	transform: translateX(-2.5rem);
}

@media only screen and (max-width: 900px)
{
	.desktop-inline
	{
		display: block;
	}
	
	#form
	{
		margin-top: 3rem;
		max-width: 65vw;
		margin: 3rem auto 0 auto;
	}
	
	#contact-details
	{
		position: relative;
		margin-top: 0;
		transform: initial;
	}
}