/*----------------------------------------------------------------- */
/* 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'],
textarea
{
	line-height: 40px;

	display: block;

	width: 100%;
	height: 59px;
	margin: 0;
	padding: 20px 16px 10px;

	transition: color 0.3s, background-color 0.3s, border-color 0.3s, box-shadow 0.3s;

	border: 3px solid #573f74;
	border-radius: 4px;
	background: rgb(var(--color__purple-lighter));
	box-shadow: 4px 4px 0 0 rgb(var(--color__dark-shadow-1)), 0 34px 100px 0 rgba(var(--color__dark-shadow-2), 0.24);
}

textarea
{
	line-height: normal;

	height: 300px;
}

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,
textarea:focus
{
	border-color: rgb(var(--color__blue-light));
	outline: 0;
}

::-webkit-input-placeholder
{
	color: rgba(var(--color__white), 0);
}

::-moz-placeholder
{
	color: rgba(var(--color__white), 0);
}

:-ms-input-placeholder
{
	color: rgba(var(--color__white), 0);
}

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 rgb(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: color var(--transition-duration__default), background-color var(--transition-duration__default), opacity var(--transition-duration__default);

	opacity: 0;
	background: rgb(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']
{
	font-family: var(--font-family__heading);
	font-size: var(--font-size__default);
	font-weight: var(--font-weight__regular);

	position: relative;

	display: inline-block;

	margin: 0 calc(var(--blocks__gap) / 2) var(--blocks__gap) calc(var(--blocks__gap) / 2);
	padding: 13px 40px;

	cursor: pointer;
	transition: transform 0.3s, box-shadow 0.3s;
	text-decoration: none;
	letter-spacing: 0.08rem;

	color: rgb(var(--color__pink));
	border: 3px solid rgb(var(--color__pink));
	border-radius: 4px;
	background: rgb(var(--color__purple-dark));
	box-shadow: 5px 5px rgb(var(--color__pink));
}

button[type='submit']:hover,
input[type='submit']:hover
{
	text-decoration: none;

	background: rgb(var(--color__purple-dark));
	-webkit-transform: translate(5px, 5px);
	        transform: translate(5px, 5px);
	text-decoration: none;

	color: rgb(var(--color__pink));
	background: rgb(var(--color__purple-dark));
	box-shadow: 0 0 rgb(var(--color__pink));
}

button[type='submit']:focus,
input[type='submit']:focus
{
	outline: none;
}

.required
{
	color: rgb(var(--color__red));
}

@media (min-width: 761px)
{
	input[type='text'],
	input[type='email'],
	input[type='url'],
	input[type='password'],
	input[type='tel'],
	input[type='number'],
	input[type='search'],
	textarea
	{
		padding: 20px 21px 10px;
	}
}

/* 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;

	text-align: left;

	color: rgb(var(--color__red));
}

.fluentform .ff-text-center
{
	text-align: center;
}

.ff-el-input--content
{
	position: relative;
}

.ff-el-group
{
	position: relative;
}

.ff-el-group.is-full .ff-el-input--label
{
	font-size: 1rem;

	-webkit-transform: translateY(-12px);
	        transform: translateY(-12px);
}

.ff-el-input--label
{
	position: absolute !important;
	z-index: 1;
	top: 0;
	left: 0;

	margin-bottom: 0;
	padding: 22px 18px 6px;

	transition: transform 0.3s,color 0.3s, font-size 0.3s;
	transform-origin: 0 0;
	pointer-events: none;

	color: rgb(var(--color__grey));
}

.ff-el-input--label label
{
	font-weight: var(--font-weight__light) !important;
}

.fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label:after
{
	display: none;
}

@media (max-width: 760px)
{
	.fluentform .ff-el-group
	{
		margin-bottom: 16px !important;
	}
}

@media (min-width: 761px)
{
	.ff-el-input--label
	{
		padding: 22px 24px 6px;
	}
}