/*----------------------------------------------------------------- */
/* FORMS
/*----------------------------------------------------------------- */

form
{
	margin-bottom: 15px;
}

label
{
	padding-bottom: 5px;

	cursor: pointer;
}

input[type='text'],
input[type='email'],
input[type='url'],
input[type='password'],
input[type='tel'],
input[type='number'],
input[type='search'],
select,
textarea
{
	line-height: 40px;

	display: block;

	width: 100%;
	height: 40px;
	margin: 0 0 15px 0;
	padding: 0 10px;

	transition: border 0.3s, box-shadow 0.3s;

	border: 1px solid var(--color__grey);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

textarea
{
	line-height: normal;

	height: 300px;
	padding: 5px 10px;
}

input[type='text']:focus,
input[type='email']:focus,
input[type='url']:focus,
input[type='password']:focus,
input[type='tel']:focus,
input[type='number']:focus,
input[type='search']:focus,
select:focus,
textarea:focus
{
	border-color: var(--color__blue-light);
	outline: 0;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(0, 162, 191, 0.6);
}

::-webkit-input-placeholder
{
	color: var(--color__black-lighter);
}

::-moz-placeholder
{
	color: var(--color__black-lighter);
}

:-ms-input-placeholder
{
	color: var(--color__black-lighter);
}

input[type='search']::-webkit-search-decoration,
input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-results-button,
input[type='search']::-webkit-search-results-decoration
{
	display: none;
}

.form-checkbox label,
.comment-form-cookies-consent label
{
	position: relative;
}

.form-checkbox input[type='checkbox'],
.comment-form-cookies-consent input[type='checkbox']
{
	display: none;
}

.form-checkbox label:before,
.comment-form-cookies-consent label:before
{
	display: inline-block;

	width: 18px;
	height: 18px;
	margin: -6px 6px 0 0;

	content: '';
	vertical-align: middle;

	border: 2px solid var(--color__black-lighter);
}

.form-checkbox label:after,
.comment-form-cookies-consent label:after
{
	position: absolute;
	top: 8px;
	left: 4px;

	width: 10px;
	height: 10px;

	content: '';
	transition: opacity var(--transition-duration__default);

	opacity: 0;
	background: var(--color__black-lighter);
}

.form-checkbox input[type='checkbox']:checked + label:after,
.comment-form-cookies-consent input[type='checkbox']:checked + label:after
{
	opacity: 1;
}

button[type='submit'],
input[type='submit']
{
	display: inline-block;

	margin: 0;
	padding: 5px 15px;

	cursor: pointer;
	transition: text-decoration var(--transition-duration__default), background var(--transition-duration__default);

	color: var(--color__white);
	border: none;
	background: var(--color__black-lighter);
}

button[type='submit']:hover,
input[type='submit']:hover
{
	text-decoration: none;

	background: var(--color__blue);
}

button[type='submit']:focus,
input[type='submit']:focus
{
	outline: none;
}

.required
{
	color: var(--color__red);
}

/* FLUENT FORMS (PLUGIN)
----------------------------------------- */
.fluentform
{
	max-width: var(--width__content);
	margin: 0 auto var(--blocks__gap) auto;
}

.block_section .fluentform
{
	max-width: 100%;
}

.fluentform .error
{
	font-style: italic;

	color: var(--color__red);
}

.fluentform .ff-text-center
{
	text-align: center;
}

@media (max-width: 1020px)
{
	.fluentform
	{
		padding-right: var(--padding__default);
		padding-left: var(--padding__default);
	}
}

/* CONTACT PAGE FORM
----------------------------------------- */
.contact-form {
	position: relative;
	padding: 4rem 0 3rem;
	margin-bottom: 4rem;
	color: var(--color__white);
}

.contact-form h2 {
	color: var(--color__white);
	text-align: center;
	font-size: var(--font-size__h1);
	margin-bottom: 2rem;
}

.contact-form figure {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
}

.contact-form__background {
	overflow: hidden;
	z-index: -1;
}

.contact-form__background img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.contact-form .ff-btn-submit {
	width: 100%;
}

.contact-form.contact-form .ff-el-group {
	margin-bottom: 0;
}

.contact-form .ff-el-group.ff-custom_html {
	margin-top: 12px;
}

.contact-form .ff-el-form-control {
	margin-bottom: 2.4rem;
}

.contact-form input,
.contact-form select {
	font-size: var(--font-size__small);
}

.contact-form.contact-form .ff-el-input--label label {
	font-weight: var(--font-weight__regular);
	font-size: var(--font-size__medium);
}

.contact-form .ff-t-cell {
	flex-basis: 50% !important;
}

.contact-form .ff-el-form-control {
	line-height: 40px;
	width: 100%;
}

.contact-form select {
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	padding: 0 10px;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='10' height='5' viewBox='0 0 10 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='m0 0 5 5 5-5H0Z' fill='%231E21A8'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right 10px center;
}

@media (min-width: 961px) {
	.contact-form {
		padding: 14rem 0 7rem;
		margin-bottom: 8rem;
	}
	.contact-form h2 {
		margin-bottom: 6rem;
	}
}
