/* Centered block */
.centered-block-with-separator .block-text-wrapper {
    max-width: clamp(600px, 43.22vw, 830px);
    margin: 0 auto;
}
.centered-block-with-separator .block-text-wrapper .block--paragraph {
    margin-top: 30px;
}
.centered-block-with-separator .block-text-wrapper .block--button {
    margin: 50px auto 0;
}
.block--separator {
    display: flex;
    justify-content: center;
}
.block--separator span {
    height: clamp(60px, 5.207vw, 100px);
    width: 2px;
    background: #151515;
    display: flex;
}
.block--separator.up {
    margin-bottom: clamp(40px, 3.645vw, 70px);
}
.block--separator.down {
    margin-top: clamp(40px, 3.645vw, 70px);
}
.section--padding-custom1{
   padding-top: clamp(60px, 7.80vw, 150px);
   padding-bottom: clamp(60px, 10.40vw, 200px);
}

/* Background section */
.background-section.background-section--mobile-background,
.background-section.background-section--mobile-background h1,
.background-section.background-section--mobile-background h2,
.background-section.background-section--mobile-background h3,
.background-section.background-section--mobile-background h4,
.background-section.background-section--mobile-background h5,
.background-section.background-section--mobile-background h6,
.background-section.background-section--mobile-background .block--subtitle{
    color: #fff;
}

.background-section .block-text.left {
    display: flex;
    flex-direction: column;
    max-width: clamp(580px, 34.634vw, 555px);
}
.background-section .block-text.center {
    display: flex;
    flex-direction: column;
    max-width: clamp(530px, 28.905vw, 665px);
}
.background-section .block-text.right {
    display: flex;
    flex-direction: column;
    max-width: clamp(580px, 34.634vw, 555px);
}
.background-section-content {
    margin: 0 5%;
    z-index: 5;
    position: relative;
}
.background-section-content.center {
    display: flex;
    justify-content: center;
    text-align: center;
    align-items: center;
}
.background-section-content.center .block-text.center {
    justify-content: center;
    align-items: center;
}
.background-section-content.center .block-text.center h3{
    text-align: center;
}
.background-section-content.right {
    display: flex;
    justify-content: flex-end;
    text-align: left;
}
.background-section-content.right .block-text.right {
    align-items: flex-start;
}
.background-section-content.right .block-text.right .block--paragraph {
    text-align: left;
}
.background-section-content .block--paragraph{
    margin-top: 15px;
}
.background-section-content .block--button{
    margin-top: clamp(40px, 2.603vw, 50px);
}
.block-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
}
.block-background:before {
    content: '';
    display: flex;
    width: 100%;
    height: 100%;
    background: #00000041;
    z-index: 4;
    position: absolute;
    top: 0;
    left: 0;
}
.block-background img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.section.background-section .column {
    overflow: hidden;
}
.background-section-content .block--title{
    text-wrap: balance;
}
/* Parallax background (solo quando c'è la classe parallax_effect) */
.block-background.parallax_effect img{
  will-change: transform;
  transform: translate3d(0,0,0);
  transition: none;

  /* fondamentale per vedere il movimento */
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.block-background.parallax_effect{
    transform: scale(1.25);
}
.background-section .block-background .block--image {
    height: 100%;
}
.background-section .block-background .block--image-mobile {
    display: none;
}
.background-section.has-mobile-image .block-background .block--image-desktop.has-mobile-image {
    display: none;
}
.background-section.has-mobile-image .block-background .block--image-mobile {
    display: block;
    height: 100%;
}
.background-section.background-section--mobile-column-boxed .background-section-content {
    margin: 0;
}
.background-section.background-section--mobile-column .column {
    display: flex;
    flex-direction: column;
}
.background-section.background-section--mobile-column .background-section-content {
    order: 1;
}
.background-section.background-section--mobile-column .block-background {
    position: relative;
    order: 2;
    height: auto;
    transform: none;
}
.background-section.background-section--mobile-column .block-background:before {
    display: none;
}
.background-section.background-section--mobile-column .block-background .block--image {
    height: auto;
}
.background-section.background-section--mobile-column .block-background img {
    display: block;
    height: auto;
    transform: none !important;
}
.custom-background-position-on-mobile .block-background .block--image img {
    object-position: 70%;
}
.background-section .block-text.center .block--paragraph {
    max-width: clamp(380px, 23.176vw, 445px);
}
@media(min-width: 1025px){
    .background-section,
    .background-section h1,
    .background-section h2,
    .background-section h3,
    .background-section h4,
    .background-section h5,
    .background-section h6,
    .background-section .block--subtitle{
        color: #fff;
    }
    .background-section.background-section--mobile-column .block--button--primary--outline {
        color: #fff;
        border-color: #fff;
    }
    .parallax-gradient .block-background:before {
        background: #000;
        background: linear-gradient(90deg, rgb(0 0 0 / 70%) 0%, rgb(0 0 0 / 35%) 40%, rgb(0 0 0 / 0%) 55%);
    }
    .background-section-content.right .block-text.right h1,
    .background-section-content.right .block-text.right h2,
    .background-section-content.right .block-text.right h3,
    .background-section-content.right .block-text.right h4,
    .background-section-content.right .block-text.right h5,
    .background-section-content.right .block-text.right h6 {
        text-align: left;
    }
    .background-section.has-mobile-image .block-background .block--image-desktop.has-mobile-image {
        display: block;
    }
    .background-section.has-mobile-image .block-background .block--image-mobile {
        display: none;
    }
    .background-section.background-section--mobile-column-boxed .background-section-content {
        margin: 0 5%;
    }
    .background-section.background-section--mobile-column .column {
        display: block;
    }
    .background-section.background-section--mobile-column .background-section-content {
        order: initial;
    }
    .background-section.background-section--mobile-column .block-background {
        position: absolute;
        order: initial;
        height: 100%;
        transform: scale(1.20);
    }
    .background-section.background-section--mobile-column .block-background.no {
        transform: none;
    }
    .background-section.background-section--mobile-column .block-background:before {
        display: flex;
    }
    .background-section.background-section--mobile-column .block-background .block--image {
        height: 100%;
    }
    .background-section.background-section--mobile-column .block-background img {
        height: 100%;
    }
    .custom-background-position-on-mobile .block-background .block--image img {
        object-position: initial;
    }
}

 .contact_form_grid {
     display: grid;
     grid-template-columns: 1fr;
     gap: 20px;
     margin-bottom: 20px;
}
 .contact_form_input input, .contact_form_input select, .contact_form_message textarea {
     width: 100%;
     padding: 20px 20px 19px !important;
     border: none !important;
     border-bottom: 1px solid #7F7F7F !important;
     background: transparent !important;
}
 .contact_form_message textarea {
     max-height: 100px;
}
 .contact_form_optin {
     margin: 20px 0;
     display: flex;
     flex-direction: column;
     gap: 5px;
}
 .contact_form_action {
     margin-top: 40px;
     position: relative;
     display: flex;
     flex-direction: column;
     gap: 20px;
}
 .contact_form_optin span.wpcf7-list-item {
     margin: 0;
}
 .contact_form_optin a {
     color: unset;
     text-decoration: underline;
}
 span.required_span{
     font-weight: bold;
     color: #16265A;
}
 .contact_form_action input {
     background: #16265A !important;
     padding: 16px 20px !important;
     border: none;
     font-weight: 500;
     color: #fff;
     text-transform: uppercase;
     max-width: max-content;
     transition: 300ms;
     cursor: pointer;
     border-radius: 50px;
     min-width: 240px;
}
 .contact_form_action input:hover {
     background: #16265A;
     color: #fff;
     transition: 300ms;
}
 .contact-form-wrapper-shortcode {
     margin-top: 40px;
}
 .block-contact-form-text-wrapper .block--title__60 h3 {
     text-wrap: balance;
}
 .block-contact-form-text-wrapper .block--title__60 {
     text-wrap: balance;
}
 .block-contact-form-text-wrapper a {
     text-decoration: none;
     transition: 300ms;
}
 .block-contact-form-text-wrapper a span{
     transition: 300ms;
}
 .block-contact-form-text-wrapper a:hover span{
     color: #0B0F19;
     transition: 300ms;
}
 @media(min-width: 1025px){
     .block-contact-form-text-wrapper .block--title__60 {
         text-wrap: balance;
    }
     .contact_form_grid {
         grid-template-columns: 1fr 1fr;
    }
}
