.home-multistep .home-step {
	position      : relative;
	padding-bottom: 90px;
}

.home-multistep .home-step .btn,
.home-multistep .home-step button {
	display: inline-block !important;
	width  : auto !important;
}

.home-multistep .home-step:after {
	content         : '';
	display         : block;
	position        : absolute;
	bottom          : 0;
	left            : 50%;
	transform       : translateX(-50%);
	height          : 3px;
	width           : 30%;
	background-color: #ccc;
	border-radius   : 2px;
}

.home-multistep .home-step1:after {
	background: linear-gradient(90deg, #ccc 0%, #ccc 30%, #fff 30%, #fff 35%, #ccc 35%, #ccc 65%, #fff 65%, #fff 70%, #ccc 70%, #ccc 100%);
	text-align: center;
}

.home-multistep .home-step2:after {
	background: linear-gradient(90deg, #0066ff 0%, #0066ff 30%, #fff 30%, #fff 35%, #ccc 35%, #ccc 65%, #fff 65%, #fff 70%, #ccc 70%, #ccc 100%);
}

.home-multistep .home-step3:after {
	background: linear-gradient(90deg, #0066ff 0%, #0066ff 30%, #fff 30%, #fff 35%, #0066ff 35%, #0066ff 65%, #fff 65%, #fff 70%, #ccc 70%, #ccc 100%);
}

.home-multistep .home-step4:after {
	background: linear-gradient(90deg, #0066ff 0%, #0066ff 30%, #fff 30%, #fff 35%, #0066ff 35%, #0066ff 65%, #fff 65%, #fff 70%, #0066ff 70%, #0066ff 100%);
}

.home-multistep .home-step:before {
	content   : '';
	display   : block;
	height    : 20px;
	width     : 100%;
	text-align: center;
	color     : #0065ff;
	font-size : 16px;
	position  : absolute;
	bottom    : 20px;
	left      : 50%;
	transform : translateX(-50%);
}

.home-multistep .home-step1:before {
	content: '0/3';
}

.home-multistep .home-step2:before {
	content: '1/3';
}

.home-multistep .home-step3:before {
	content: '2/3';
}

.home-multistep .home-step4:before {
	content: '3/3';
}

.home-multistep .home-step4 {
	min-height : 150px;
	padding-top: 40px;
	text-align : center;
	color      : #06f;
}

.home-multistep .wpcf7-form .wpcf7-submit,
.home-multistep .wpcf7-form .btn {
	background    : #ff3265;
	pointer-events: none;
	opacity       : .5 !important;
}

.home-multistep .wpcf7-form .wpcf7-submit.enabled,
.home-multistep .wpcf7-form .btn.enabled {
	pointer-events: initial;
	opacity       : 1 !important;
}


div.wpcf7 {
	width: 100%;
}

.wpcf7-form .wpcf7-privacy {
	color          : #888;
	font-size      : 15px;
	font-family    : 'Source Sans Pro', sans-serif;
	text-decoration: underline;
}

.wpcf7-form .wpcf7-checkbox {
	display: block;
	margin : 10px 0;
}

.wpcf7-form .wpcf7-recaptcha3 {
	color      : #888;
	font-size  : 15px;
	font-family: 'Source Sans Pro', sans-serif;
}

.wpcf7-form .wpcf7-recaptcha3 a {
	color          : #888;
	text-decoration: underline;
}

.wpcf7-form .wpcf7-recaptcha {
	margin-top: 20px;
}

.wpcf7-form {
	font-size: 16px;
}

/* .wpcf7-form p {
	margin: 0;
} */

.wpcf7-form br {
	display: none;
}

.wpcf7-form p {
	display      : flex;
	flex-wrap    : wrap;
	/* Permette ai campi di andare a capo se non c'è abbastanza spazio (per schermi piccoli) */
	gap          : 10px;
	/* Spazio tra gli elementi flex */
	margin-bottom: 1em;
	/* Spazio sotto ogni riga di campi */
}

.wpcf7-form p:nth-child(3) {
	display: block;
}

.wpcf7-form p>span.wpcf7-form-control-wrap {
	flex          : 1 1 calc(50% - 5px);
	/* Ogni campo occupa circa la metà dello spazio, tenendo conto del gap */
	display       : flex;
	/* Necessario per posizionare il tooltip in modo assoluto rispetto a questo contenitore */
	flex-direction: column;
	/* Imposta la direzione degli elementi interni (label e input) */
	position      : relative;
	/* Crea un contesto di posizionamento per il tooltip */
}

.wpcf7-not-valid-tip {
	position: absolute;
	bottom  : -25px;
	/* Posiziona il tooltip sotto l'input */
	left    : 0;
	color   : #f00;
	/* Colore del testo dell'errore */
	padding : 2px 5px;
	z-index : 10;
	/* Assicura che il tooltip sia sopra altri elementi */
}

span[data-name="privacy"] {
	margin-bottom: 25px;
}

/* Regola per i campi a tutta larghezza (come l'area di testo) */
.wpcf7-form p.your-message-wrap {
	flex-basis: 100%;
}

.wpcf7-form p.your-message-wrap>span.wpcf7-form-control-wrap {
	flex-basis: 100%;
}

.wpcf7-form input,
.wpcf7-form textarea,
.wpcf7-form select {
	width      : 100%;
	max-width  : 100%;
	padding    : 8px 12px;
	border     : solid 2px #ddd;
	margin     : 10px 0 0 0;
	line-height: 150%;
	background : #fff;

	-moz-border-radius   : 3px;
	-webkit-border-radius: 3px;
	border-radius        : 3px;

	transition        : all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
}

.wpcf7-form select {
	-moz-appearance   : none;
	-ms-appearance    : none;
	-webkit-appearance: none;
	appearance        : none;

	-moz-border-radius   : 3px;
	-webkit-border-radius: 3px;
	border-radius        : 3px;

	background-image   : url(../images/icon/arrow-down.svg);
	background-repeat  : no-repeat;
	background-position: center right 10px;
}

.wpcf7-form input:focus,
.wpcf7-form textarea:focus,
.wpcf7-form select:focus {
	border : solid 2px #0065ff;
	outline: none;
}

.wpcf7-form input:-webkit-autofill,
.wpcf7-form input:-webkit-autofill:focus {
	-webkit-box-shadow     : 0 0 0 50px white inset;
	-webkit-text-fill-color: #333;
}


.wpcf7-form input.half1 {
	width       : 49%;
	margin-right: 1%;
}

.wpcf7-form input.half2 {
	width      : 49%;
	margin-left: 1%;
}


.wpcf7-form span.wpcf7-list-item {
	display    : block;
	margin-left: 0;
	font-family: 'Source Sans Pro', sans-serif;
	color      : #888;
	font-size  : 16px;
}

.wpcf7-form input[type="radio"],
.wpcf7-form input[type="checkbox"] {
	display: inline;
	margin : 0;
	width  : auto;
}


.wpcf7-form input[type="submit"] {
	background   : #ff3265;
	color        : #fff;
	border       : none;
	padding      : 20px 0;
	border-radius: 3px;
}

.wpcf7-form input[type="submit"]:hover {
	background-color: #e22d5a;
}


.wpcf7-form ::-webkit-input-placeholder {
	color: #888888;
}

.wpcf7-form :-moz-placeholder {
	color: #888888;
}

.wpcf7-form ::-moz-placeholder {
	color: #888888;
}

.wpcf7-form :-ms-input-placeholder {
	color: #888888;
}



/* SUBMIT */
/* .wpcf7-form .wpcf7-not-valid-tip,
.wpcf7-form .wpcf7-response-output,
.ajax-loader {
	display: none;
} */

.wpcf7-form .btn {
	display       : inline-block;
	cursor        : pointer;
	padding       : 8px 20px;
	margin        : 15px 0 0 0;
	border        : none;
	letter-spacing: 1px;
	outline       : none;
	color         : #fff;
	border-radius : 4px;
	background    : #ff3265;
	text-align    : center;
}

.wpcf7-form button {
	position        : relative;
	display         : inline-block;
	background-color: #ff3365;
	border          : 2px solid #ff3365;
	color           : #fff;
	font-weight     : bold;
	font-size       : 14px;
	text-decoration : none;
	border-radius   : 4px;
	padding         : 5px 20px;
	margin          : 15px 0;
	min-width       : 220px;
	max-width       : 100%;
	cursor          : pointer;
	box-shadow      : 0px 2px 3px rgba(0, 0, 0, .2);

	-webkit-transition: all 0.3s;
	-moz-transition   : all 0.3s;
	transition        : all 0.3s;
}

.wpcf7-form button:hover {
	background-color: #ff6f93;
}

.wpcf7-form button.margin {
	margin: 10px 0;
}

.wpcf7-form button:after {
	content   : '';
	position  : absolute;
	z-index   : 1;
	left      : 0;
	width     : 100%;
	text-align: center;
	color     : #fff;

	-webkit-transition: all 0.3s;
	-moz-transition   : all 0.3s;
	transition        : all 0.3s;
}

/* MESSAGGI */
.wpcf7-form input.wpcf7-not-valid {
	border : solid 2px #ff3265;
	outline: none;
}

.wpcf7-form span.wpcf7-not-valid>span {
	border-left : 2px solid #ff3265;
	padding-left: 10px;
}

.wpcf7-form.submitting button {
	background-image   : url(../images/loading.svg);
	background-repeat  : no-repeat;
	background-position: center left;
}

.wpcf7-form.sent button {
	color           : transparent;
	pointer-events  : none;
	cursor          : inherit;
	background-color: #8BC34A;
	border          : 2px solid #8BC34A;
}

.wpcf7-form.sent button:after {
	content: "Message sent";
}

html[lang="it-IT"] .wpcf7-form.sent button:after {
	content: "Messaggio inviato";
}

html[lang="es-ES"] .wpcf7-form.sent button:after {
	content: "Mensaje enviado";
}

html[lang="zh-hans"] .wpcf7-form.sent button:after {
	content: "消息已發送";
}

html[lang="fr"] .wpcf7-form.sent button:after {
	content: "Message envoyé";
}

html[lang="de-DE"] .wpcf7-form.sent button:after {
	content: "Nachricht gesendet";
}

html[lang="pt-pt"] .wpcf7-form.sent button:after {
	content: "Mensagem enviada";
}

html[lang="ru-RU"] .wpcf7-form.sent button:after {
	content: "Сообщение отправлено";
}

/* MODIFICHE AITEMA 2024 */
.fullwidth {
	width: 100%;
}

@media (max-width: 1099px) {
	/* span[data-name="privacy"] .wpcf7-not-valid-tip:last-child {
		bottom: -45px;
	} */
}


@media (max-width: 768px) {
	.wpcf7-form p>span.wpcf7-form-control-wrap {
		flex: 100%;
	}

	/* span[data-name="privacy"] .wpcf7-not-valid-tip:last-child {
		bottom: -95px;
	} */

	.wpcf7-form input.half1,
	.wpcf7-form input.half2 {
		width : 100%;
		margin: 0 0 15px 0;
	}

	.wpcf7-form button {
		width: 100%;
	}
}

@-webkit-keyframes moveUp {
	0% {
		-webkit-transform: translateY(50%);
		opacity          : 0;
	}

	100% {
		opacity          : 1;
		-webkit-transform: translateY(0);
	}
}

@-moz-keyframes moveUp {
	0% {
		-moz-transform: translateY(50%);
		opacity       : 0;
	}

	100% {
		opacity       : 1;
		-moz-transform: translateY(0);
	}
}

@keyframes moveUp {
	0% {
		transform: translateY(50%);
		opacity  : 0;
	}

	100% {
		opacity  : 1;
		transform: translateY(0);
	}
}


@-webkit-keyframes shake {

	0%,
	100% {
		-webkit-transform: translateX(0);
	}

	10%,
	30%,
	50%,
	70%,
	90% {
		-webkit-transform: translateX(-10px);
	}

	20%,
	40%,
	60%,
	80% {
		-webkit-transform: translateX(10px);
	}
}

@-moz-keyframes shake {

	0%,
	100% {
		-moz-transform: translateX(0);
	}

	10%,
	30%,
	50%,
	70%,
	90% {
		-moz-transform: translateX(-10px);
	}

	20%,
	40%,
	60%,
	80% {
		-moz-transform: translateX(10px);
	}
}

@keyframes shake {

	0%,
	100% {
		transform: translateX(0);
	}

	10%,
	30%,
	50%,
	70%,
	90% {
		transform: translateX(-10px);
	}

	20%,
	40%,
	60%,
	80% {
		transform: translateX(10px);
	}
}
