/* Contact form 7 */
.wpcf7 .wpcf7-form .ns_form-submit-button {
	position: relative;
}

.wpcf7 .wpcf7-form .ns_form-submit-button > p {
	display: block;
}

.wpcf7 .wpcf7-form .ns_form-submit-button input[type="submit"] {
	position: relative;
	display: inline-block;
	width: 100%;
	padding: 12px;
	padding-left: 24px;
	padding-right: 24px;
	margin: 0px;

	font-weight: var(--hipnos-font-weight-bold);
	font-size: 16px;
	line-height: 20px;
	text-align: center;
	white-space: nowrap;

	border-width: 2px;
	border-style: solid;
	border-radius: var(--hipnos-border-radius);

	background: var(--hipnos-color-primary-1);
	border-color: var(--hipnos-color-primary-1);
	color: var(--hipnos-color-neutral-5);

	opacity: 1 !important;

	cursor: pointer;

	-webkit-transition: opacity var(--hipnos-transition-ease), background-color var(--hipnos-transition-ease), color var(--hipnos-transition-ease), border-color var(--hipnos-transition-ease);
	-o-transition: opacity var(--hipnos-transition-ease), background-color var(--hipnos-transition-ease), color var(--hipnos-transition-ease), border-color var(--hipnos-transition-ease);
	-moz-transition: opacity var(--hipnos-transition-ease), background-color var(--hipnos-transition-ease), color var(--hipnos-transition-ease), border-color var(--hipnos-transition-ease);
	transition: opacity var(--hipnos-transition-ease), background-color var(--hipnos-transition-ease), color var(--hipnos-transition-ease), border-color var(--hipnos-transition-ease);
}

.wpcf7 .wpcf7-form .ns_form-submit-button input[type="submit"]:hover {
	background: var(--hipnos-color-primary-2);
	border-color: var(--hipnos-color-primary-2);
	color: var(--hipnos-color-neutral-5);
}

.wpcf7 .wpcf7-form .ns_form-submit-button .wpcf7-spinner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	margin: 0px;
	background: none;
	display: flex;
	justify-content: center;
	align-items: center;
	animation: none;
}

.wpcf7 .wpcf7-form .ns_form-submit-button .wpcf7-spinner::before {
	position: relative;
	display: block;
	content: '';
	width: 18px;
	height: 18px;
	border-top: 2px solid var(--hipnos-color-neutral-5);
	border-bottom: 2px solid var(--hipnos-color-neutral-5);
	border-left: 2px solid var(--hipnos-color-neutral-5);
	border-top: none;
	border-radius: 50%;
	animation: full-rotation .6s linear infinite;

	top: unset;
	left: unset;
	transform-origin: unset;
	background: unset;
}

.wpcf7 .wpcf7-form.submitting .ns_form-submit-button input[type="submit"] {
	font-size: 0px;
}

.wpcf7 .wpcf7-form .wpcf7-not-valid-tip {
	color: var(--hipnos-color-state-error-1);
	font-size: 14px;
	line-height: 20px;
	margin: 0.3em 0 0.6em 0;
}

.wpcf7 .wpcf7-form .wpcf7-response-output {
	margin: 18px 0px 0px 0px !important;

	position: relative;
	display: flex;
	align-content: center;
	justify-content: center;
	align-items: center;
	padding: 16px 24px;
	text-align: center;
	font-weight: var(--hipnos-font-weight-bold);
	color: var(--hipnos-color-neutral-2);
	font-size: 14px;
	line-height: 20px;
	border-radius: var(--hipnos-border-radius);
	border-width: 2px;
	border-style: solid;
	border-color: var(--hipnos-color-state-success-1) !important;
	background: var(--hipnos-color-state-success-2) !important;
	list-style: none;
}

.wpcf7 .wpcf7-form.invalid .wpcf7-response-output,
.wpcf7 .wpcf7-form.failed .wpcf7-response-output {
	border-color: var(--hipnos-color-state-error-1) !important;
	background: var(--hipnos-color-state-error-2) !important;
}

.wpcf7 .wpcf7-form .wpcf7-textarea {
	max-height: 120px;
}

.wpcf7 .wpcf7-form .wpcf7-list-item {
	margin-left: 0;
}

.wpcf7 .wpcf7-form .cf7-cf-turnstile,
.wpcf7 .wpcf7-form .cf-turnstile-br,
.wpcf7 .wpcf7-form .cf7-cf-turnstile + br {
	position: absolute;
	display: block;
}

.wpcf7 .wpcf7-form .cf7-cf-turnstile + br {
	display: none;
}