
/* form */
form {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--form-gap);
}
.gform_heading,
.gform_body .spacer,
.gform_body .gsection {
  margin: 0 !important;
  display: none !important;
}
.gform_body {
  width: 100%;
}
.gform_body .gform_fields {
  display: flex !important;
  grid-column-gap: unset !important;
  grid-row-gap: unset !important;
  grid-template-columns: none !important;
  flex-wrap: wrap;
  justify-content: space-between !important;
  gap: var(--form-gap) !important;
}

/* footer */
.gform_footer {
  width: auto;
  padding: 0 !important;
  margin: 20px auto 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

/* dimensione campi */
.gform_body .gfield {
  width: 100%;
}
.gform_body .gfield--width-half {
  width: calc(100% / 2 - calc(var(--form-gap) / 2));
}
.gform_body .gfield--width-third {
  width: calc(100% / 3 - calc(var(--form-gap) / 2));
}
.gform_body .gfield--width-two-thirds {
  width: calc(100% / 3 * 2 - calc(var(--form-gap) / 2));
}

/* Label */
label {
  font-size: 1.2rem !important;
  line-height: 1.25;
  text-transform: uppercase;
  display: block;
  font-weight: 400 !important;
  color: var(--azzurro-light);
  padding-left: var(--distance) !important;
}
.gform_body .gfield_error .gfield_repeater_cell label,
.gform_body .gfield_error label,
.gform_body .gfield_error legend,
.gform_body .gfield_validation_message,
.gform_body .validation_message,
.gform_body [aria-invalid="true"] + label,
.gform_body label + [aria-invalid="true"],
.gform_body [aria-invalid="true"] + label a {
  color: var(--error) !important;
}
.gform_body .gfield_required {
  display: none !important;
}

/* Placeholder */
input::placeholder,
textarea::placeholder,
select option.gf_placeholder {
  color: var(--azzurro-light) !important;
}

/* Inputs */
input[type="text"],
input[type="text"]:focus,
input[type="text"]:hover,
input[type="tel"],
input[type="tel"]:focus,
input[type="tel"]:hover,
input[type="email"],
input[type="email"]:focus,
input[type="email"]:hover,
textarea,
textarea:focus,
textarea:hover {
  font-size: 1.4rem !important;
  line-height: 1.78;
  font-weight: 300;
  padding: var(--distance-half) var(--distance) calc(var(--distance) / 3) !important;
  color: var(--blu);
  border: 3px solid var(--bianco) !important;
  border-radius: var(--distance);
  transition: var(--transition);
  -webkit-transition: var(--transition);
}
textarea,
textarea:focus,
textarea:hover {
  resize: none;
}

/* select */
select option {
  color: var(--nero) !important;
}

/* checkbox */
input[type="checkbox"] {
  width: 0;
  height: 0;
  overflow: hidden;
  position: absolute;
}
input[type="checkbox"] + label,
input[type="checkbox"] label:focus,
input[type="checkbox"] label:hover {
  font-size: 1.2rem !important;
  line-height: 1.3 !important;
  padding-left: var(--distance);
  position: relative;
  color: var(--azzurro-light);
  text-transform: none;
  cursor: pointer;
}
input[type="checkbox"] + label a,
input[type="checkbox"] + label a:focus,
input[type="checkbox"] + label a:visited,
input[type="checkbox"] + label a:hover {
  font-size: 1.2rem !important;
  line-height: 1.3 !important;
  color: var(--azzurro-light);
  text-transform: none;
  text-decoration: underline;
  transition: var(--transition);
  -webkit-transition: var(--transition);
}
input[type="checkbox"] + label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: var(--distance-half);
  height: var(--distance-half);
  background: transparent;
  border-radius: 50%;
  border: 1px solid var(--azzurro-light);
  transition: var(--transition);
  -webkit-transition: var(--transition);
}
input[type="checkbox"] + label::after {
  content: "";
  position: absolute;
  left: calc(var(--distance-half) / 6);
  top: calc(var(--distance-half) / 6);
  width: calc(var(--distance) / 3);
  height: calc(var(--distance) / 3);
  transform: scale(0);
  transform-origin: center center;
  background: var(--azzurro-light);
  border-radius: 50%;
  transition: var(--transition);
  -webkit-transition: var(--transition);
}
input[type="checkbox"]:checked + label::after {
  transform: scale(1);
}

/* Submit */
input[type="submit"],
input[type="submit"]:focus,
input[type="submit"]:hover {
  font-size: 1.8rem !important;
  line-height: 1.28;
  text-transform: uppercase;
  width: auto;
  margin: 0 !important;
  padding: calc(var(--distance) / 3) calc(var(--distance) * 2) !important;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  white-space: nowrap;
  transition: var(--transition);
  -webkit-transition: var(--transition);
  background-color: transparent;
  border: none;
  background: var(--rosa);
  color: var(--blu);
}
/* input[type="submit"]:hover {
  background: var(--bianco);
} */
.cont-submit {
  position: relative;
  overflow: hidden;
  border-radius: 23px;
}
.cont-submit::before {
	content: '';
  position: absolute;
	top: 0;
	left: -75%;
	z-index: 2;
	display: block;
	width: 50%;
	height: 100%;
	background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,.2) 100%);
	background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.2) 100%);
	-webkit-transform: skewX(-25deg);
	transform: skewX(-25deg);
  pointer-events: none;
}
.cont-submit:hover::before {
	-webkit-animation: shine .75s;
	animation: shine .75s;
}
@-webkit-keyframes shine {
	100% {
		left: 125%;
	}
}
@keyframes shine {
	100% {
		left: 125%;
	}
}


/* Error */
.gform_validation_errors,
.gform_validation_errors .gform-icon--close {
  display: none !important;
}
.gfield_validation_message {
  display: none !important;
}
.instruction.validation_message {
  display: none;
}
.gform_wrapper .gfield_error [aria-invalid=true] {
  border: 3px solid var(--error) !important;
}
input[aria-invalid="true"]::placeholder,
textarea[aria-invalid="true"]::placeholder,
select[aria-invalid="true"]::placeholder,
.gfield_error input::placeholder,
.gfield_error textarea::placeholder,
.gfield_error select option.gf_placeholder {
  color: var(--error) !important;
}

/* Confirmation */
.gform_confirmation_message {
  text-align: center !important;
}

/* SPINNER */
.gform_footer .gform_ajax_spinner {
  position: absolute;
  right: 20px;
  top: 50%;
  width: 15px;
  height: 15px;
  animation: spinner 1.1s infinite linear;
  transform: translateY(-50%);
  border-radius: 50%;
  -webkit-mask: url(../media/icons/icon-spinner.svg) no-repeat 50% 50%;
  mask: url(../media/icons/icon-spinner.svg) no-repeat 50% 50%;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: var(--blu);
  display: inline-block;
  margin-left: 15px;
}
@keyframes spinner {
  0% {
    transform: translateY(-50%) rotate(0deg);
  }
  100% {
    transform: translateY(-50%) rotate(360deg);
  }
}