.overflow-hidden-custom {
	overflow-y: hidden;
}

/*-----------------------------------------
-------------- FORM CONTATTI --------------
-----------------------------------------*/
form input:not(input[type=checkbox]):not(input[type=file]) {
	border: 0px solid rgb(0, 0, 0) !important;
	border-radius: 0px !important;
	box-shadow: none !important;
	padding: 20px !important;
	background-color: var(--fourth-color);
	color: var(--white-color);
}

.gform-theme--foundation .gfield textarea {
	border: 0px solid rgb(0, 0, 0) !important;
	border-radius: 0px !important;
	box-shadow: none !important;
	padding: 20px !important;
	background-color: var(--fourth-color);
	color: var(--white-color);
}

.gform-theme--framework .gform-field-label--type-inline,
.gform-theme--framework .gform-field-label--type-inline a {
	font-size: 12px !important;
	margin-top: -5px !important;
}

form input[type=checkbox] {
	border: 0px solid rgb(201, 201, 201) !important;
	border-radius: 0;
}

.gform-theme--foundation .gform_fields {
	grid-row-gap: 15px !important;
}

.gform_required_legend {
	display: none;
}

.gfield_required_asterisk {
	color: red !important;
}

#field_submit {
	display: flex;
	justify-content: end;
}

#gform_submit_button_1,
#gform_submit_button_2,
#gform_submit_button_3 {
	text-decoration: none;
	padding: 0px 0px !important;
	border-radius: 0;
	border: 0px solid var(--second-color) !important;
	background-color: var(--second-color);
	color: #ffffff;
	font-size: 18px;
	font-weight: bold;
	transition: 0.15s ease-in-out;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	margin-top: -8px;
}

.gform-button:hover {
	color: var(--first-color) !important;
}

.gform-theme--foundation .gfield--width-half {
	grid-column: span 12 !important;
}

/*-----------------------------------------
-------------- BREADCRUMBS ----------------
-----------------------------------------*/
#breadcrumbs,
#breadcrumbs a {
	font-size: 13px;
	color: var(--breadcrumbs-color);
	font-weight: 300;
	transition: .1s ease-in-out;
}

#breadcrumbs a:hover {
	opacity: 0.8;
}



/*-----------------------------------------
------------------ MAPPA  -----------------
-----------------------------------------*/

.google-map {
	width: 100%;
	min-height: 350px;
}

/*-----------------------------------------
----- PRELOADER SPINNER DEL SITO ----------
-----------------------------------------*/

/* .preloader {
	position: fixed;
	width: 100%;
	height: 100%;
	background-color: #ffffff;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 100000000000000000;
}

.loader {
	border: 2px solid #f3f3f3;
	border-top: 2px solid var(--second-color);
	border-radius: 50%;
	width: 50px;
	height: 50px;
	animation: spin 0.8s linear infinite;
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
} */

/*--------------------------------------------------
----------------- CUSTOM BOX SHADOW ----------------
--------------------------------------------------*/

.custom-shadow {
	box-shadow: 0px 5px 20px #00000033;
}


/*---------------------------
----------ANIMAZIONI---------
-----------------------------*/

.fade-in {
	opacity: 0;
	transition: all 2s cubic-bezier(.215, .60, .355, 1);
}

.fade-in.in-page {
	opacity: 1;
}



.fade-in-top {
	opacity: 0;
	transform: translateY(10vh);
	transition: all 1s cubic-bezier(.215, .60, .355, 1);
}

.fade-in-top.in-page {
	opacity: 1;
	transform: translateY(0);
}



.fade-in-down {
	opacity: 0;
	transform: translateY(-10vh);
	transition: all 1s cubic-bezier(.215, .60, .355, 1);
}

.fade-in-down.in-page {
	opacity: 1;
	transform: translateY(0);
}



.fade-in-left {
	opacity: 0;
	transform: translateX(-10vw);
	transition: all 1s cubic-bezier(.215, .60, .355, 1);
	overflow: hidden;
}

.fade-in-left.in-page {
	opacity: 1;
	transform: translateX(0);
}



.fade-in-right {
	opacity: 0;
	transform: translateX(10vw);
	transition: all 1s cubic-bezier(.215, .60, .355, 1);
	overflow: hidden;
}

.fade-in-right.in-page {
	opacity: 1;
	transform: translateX(0);
}





.split-text {
	display: inline-block;
	opacity: 0;
	transform: translateY(200%);
	animation: slideUp 0.6s forwards;
	font: inherit;
	color: inherit;
	white-space: pre;
}

/* Questo è ESSENZIALE: fa partire l'animazione */
.split-text.in-page {
	/* niente da scrivere qui, ma serve la classe per attivare l'animazione */
}

/* Animazione base */
@keyframes slideUp {
	to {
		opacity: 1;
		transform: translateY(50%);
	}
}

@keyframes bounce {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-10px);
	}
}

.bounce {
	animation: bounce 4s ease-in-out;
}

.bounce-delay {
	animation: bounce 4s ease-in-out;
	animation-delay: 4.2s;
	/* o quanto serve */
}


.bounce-delay-0 {
	animation-delay: 10ms;
}

.bounce-delay-1 {
	animation-delay: 110ms;
}

.bounce-delay-2 {
	animation-delay: 210ms;
}

.bounce-delay-3 {
	animation-delay: 310ms;
}

.bounce-delay-4 {
	animation-delay: 410ms;
}

.bounce-delay-5 {
	animation-delay: 510ms;
}

.transition-delay-6 {
	animation-delay: 610ms;
}

.bounce-delay-7 {
	animation-delay: 710ms;
}

.bounce-delay-8 {
	animation-delay: 810ms;
}

.bounce-delay-9 {
	animation-delay: 910ms;
}

.bounce-delay-10 {
	animation-delay: 1000ms;
}

.bounce-delay-11 {
	animation-delay: 1100ms;
}

.bounce-delay-12 {
	animation-delay: 1200ms;
}








/* Solo quando l'elemento è in-page si attiva l'animazione */
.split-text.in-page {
	opacity: 1;
}














.transition-delay-0 {
	transition-delay: 0ms;
}

.transition-delay-1 {
	transition-delay: 100ms;
}

.transition-delay-2 {
	transition-delay: 200ms;
}

.transition-delay-3 {
	transition-delay: 300ms;
}

.transition-delay-4 {
	transition-delay: 400ms;
}

.transition-delay-5 {
	transition-delay: 500ms;
}

.transition-delay-6 {
	transition-delay: 600ms;
}

.transition-delay-7 {
	transition-delay: 700ms;
}

.transition-delay-8 {
	transition-delay: 800ms;
}

.transition-delay-9 {
	transition-delay: 900ms;
}

.transition-delay-10 {
	transition-delay: 1000ms;
}

.transition-delay-11 {
	transition-delay: 1100ms;
}

.transition-delay-12 {
	transition-delay: 1200ms;
}