/* ############################################### */
/* REGOLE GENERALI */
/* ############################################### */

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.section-padding {
	padding: var(--section-padding);
}

.box-shadow-1 {
	box-shadow: var(--box-shadow-1);
}

.border-radius-1 {
	border-radius: var(--border-radius-1);
}

body {
	overflow-x: hidden;
}

.sticky-item {
	position: sticky !important;
	top: 200px !important;
}

/* ############################################### */
/* RITAGLI IMMAGINE */
/* ############################################### */

.ratio-4x3 {
	aspect-ratio: 4 / 2.5;
	object-fit: cover;
}

.ratio-4x4 {
	aspect-ratio: 1;
	object-fit: cover;
}



/* ############################################### */
/* SPLIDE JS CAROSELLI */
/* ############################################### */

.splide__arrow:disabled {
	display: none !important;
}

.splide__pagination__page {
	background: #D9DADB;
	border: 0;
	border-radius: 50%;
	display: inline-block;
	height: 15px;
	margin: 2px 6px;
	opacity: .7;
	padding: 0;
	position: relative;
	transition: transform .2s linear;
	width: 15px;
}

.splide__pagination__page.is-active {
	background: var(--second-color);
	transform: unset !important;
	z-index: 1;
	opacity: 1 !important;
}

.splide__pagination {
	bottom: -25px;
}


/* ############################################### */
/* FORM CONTATTI */
/* ############################################### */

#form .gform_required_legend {
	display: none !important;
}

#form .gform-field-label {
	font-family: var(--font-1) !important;
	font-size: 15px !important;
	color: var(--black-color) !important;
	font-weight: 500 !important;
}

#form .gform-field-label a {
	color: var(--first-color) !important;
}

#form.normal .gform-field-label a {
	color: var(--first-color) !important;
}

#form .gfield-choice-input {
	position: relative !important;
	top: 3px !important;
}

#form .gform-theme--foundation .gform_fields {
	row-gap: 15px !important;
}

#form .gform-theme--foundation #gform_fields_2 {
	row-gap: 30px !important;
}

#form input[type="email"],
#form input[type="text"],
#form input[type="tel"],
#form textarea {
	width: 100%;
	height: 55px !important;
	border-radius: var(--border-radius-1) !important;
	padding: 15px !important;
	font-size: var(--paragraphs-font-size) !important;
	color: var(--black-color);
	box-shadow: unset !important;
	border: 1px solid #D9DADB !important;
}

#form select {
	padding-top: 8px;
}

#form input[type="file"],
#form select {
	border: unset !important;
	width: 100%;
	height: 55px !important;
	border-radius: var(--border-radius-1) !important;
	font-size: var(--paragraphs-font-size) !important;
	color: var(--third-color);
	box-shadow: unset !important;
	border: 1px solid #D9DADB !important;
}

#form input[type="checkbox"] {
	border-radius: var(--border-radius-1) !important;
	border: 1px solid #D9DADB !important;
}

/* ############################################### */
/* 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-top.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);
}

.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;
}