/* Background section */
.background-section, .background-section h3,.background-section .block--subtitle{
    color: #fff;
}

.background-section .block-text.left {
    display: flex;
    flex-direction: column;
    max-width: clamp(700px, 40.884vw, 785px);
}
.background-section .block-text.center {
    display: flex;
    flex-direction: column;
    max-width: clamp(530px, 28.905vw, 665px);
}
.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 .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.20);
}
.background-section .block-background .block--image {
    height: 100%;
}
.background-section .block-text.center .block--paragraph {
    max-width: clamp(380px, 23.176vw, 445px);
}
@media(min-width: 1025px){
    .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%);
    }   
}
@media(max-width: 1024px){
    .block-background img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 74%;
    }
}
/* two columns */
.two-column-section .block--title {
    text-wrap: balance;
}
.two-column-section .block-text-wrapper .block--paragraph {
    margin-top: 20px;
}
.two-column-section .block-text-wrapper .block--button {
    margin-top: clamp(40px, 2.603vw, 50px);
}
.two-column-section.max-width-640 .block-text-wrapper .block--paragraph {
    max-width: clamp(500px, 33.332vw, 640px);
}
.video-background-content {
    display: flex;
    min-height: clamp(450px, 26.041vw, 500px);
}
.video-background-content video {
    height: 100%;
    width: 100%;
    object-fit: cover;
    position: absolute;
}
.column.disable-on-mobile{
    display: none;
}
.max-width-title-560 .block-text-wrapper .block--title {
    max-width: clamp(500px, 31.093vw, 560px);
}
.two-column-section ul.splide__pagination {
    position: unset;
    margin: 40px 0 0;
}
.two-column-section ul.splide__pagination button{
    width: 15px;
    height: 15px;
    background: #C7C7C7;
}
.two-column-section ul.splide__pagination button.is-active{
    background: #EC1C24;
}
@media(min-width: 1025px){
    .column.disable-on-mobile{
        display: block;
    }
    .max-width-image-20 .block--image {
        max-width: 80%;
        margin: 0 auto;
        width: 100%;
    }
}
@media(min-width: 1181px){
    .max-width-image-5 .block--image{
        max-width: 95%;
    }
    .custom-margin-text .block-text-wrapper {
        max-width: 95%;
        margin: 0 0 0 auto;
    }
}
/* Centered block */
.centered-block-with-separator .block-text-wrapper {
    max-width: clamp(600px, 41.666vw, 800px);
    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);
}

/* Centered block */
.centered-block-with-separator .block-text-wrapper {
    max-width: clamp(600px, 41.666vw, 800px);
    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);
}

/* Centered block */
.centered-block-with-separator .block-text-wrapper {
    max-width: clamp(600px, 41.666vw, 800px);
    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);
}

.number-item span {
     font-size: clamp(46px, 5.21vw , 100px);
     font-weight: 600;
     text-align: center;
     line-height: 1em;
     color: #E8E8E8;
}
 .numbers-item-wrapper {
     text-align: center;
}
 .block--subtitle-numbers h6 {
     text-transform: uppercase;
     color: #0B0F19;
     font-weight: 300;
}
 .numbers-wrapper-loop {

}
 .row .column:last-child .numbers-wrapper-loop {
     padding: 39px 0 0;
}
 .row .column:first-child .numbers-wrapper-loop {
     border-top: none;
}
 .section-repeater-text {
     padding-top: clamp(60px, 7.80vw, 80px);
     padding-bottom: clamp(60px, 7.80vw, 80px);
}
 .section-repeater-text .block--partial-background {
     height: 88%;
}
 .repeater-text-column {
     display: flex;
     flex-direction: column;
     gap: 40px;
}
.row-incremental-number__margin{
    margin-bottom: 40px;
}
.incremental-numbers-loop.desktop{
    display: none;
}
.incremental-numbers-loop.mobile{
    display: block;
}
.incremental-numbers-loop.mobile ul.splide__pagination {
    position: unset;
    margin: 40px auto 0;
}
.incremental-numbers-loop.mobile ul.splide__pagination button{
    width: 15px;
    height: 15px;
}
.incremental-numbers-loop.mobile ul.splide__pagination button.is-active{
    background: #EC1C24;
}
 @media(min-width: 1025px){
    .incremental-numbers-loop.desktop{
        display: block;
    }
    .incremental-numbers-loop.mobile{
        display: none;
    }
    .row-incremental-number__margin{
        margin-bottom: 60px;
    }
     .section-repeater-text .global-text-with-image-content-wrapper {
         margin: 0px !important;
    }
     .repeater-text-column {
         gap: 60px;
    }
     .section-repeater-text .block--image {
         width: 80%;
    }
     .section-repeater-text {
         padding-top: clamp(60px, 3.13vw, 3.13vw);
         padding-bottom: clamp(60px,11vw, 250px);
    }
     .numbers-wrapper-loop {
         border-right: 1px solid #EC1C24;
         border-top: 0px;
         padding: 0;
    }
     .row .column:last-child .numbers-wrapper-loop {
         border: none;
         padding: 0;
    }
}
/* two columns */
.two-column-section .block--title {
    text-wrap: balance;
}
.two-column-section .block-text-wrapper .block--paragraph {
    margin-top: 20px;
}
.two-column-section .block-text-wrapper .block--button {
    margin-top: clamp(40px, 2.603vw, 50px);
}
.two-column-section.max-width-640 .block-text-wrapper .block--paragraph {
    max-width: clamp(500px, 33.332vw, 640px);
}
.video-background-content {
    display: flex;
    min-height: clamp(450px, 26.041vw, 500px);
}
.video-background-content video {
    height: 100%;
    width: 100%;
    object-fit: cover;
    position: absolute;
}
.column.disable-on-mobile{
    display: none;
}
.max-width-title-560 .block-text-wrapper .block--title {
    max-width: clamp(500px, 31.093vw, 560px);
}
.two-column-section ul.splide__pagination {
    position: unset;
    margin: 40px 0 0;
}
.two-column-section ul.splide__pagination button{
    width: 15px;
    height: 15px;
    background: #C7C7C7;
}
.two-column-section ul.splide__pagination button.is-active{
    background: #EC1C24;
}
@media(min-width: 1025px){
    .column.disable-on-mobile{
        display: block;
    }
    .max-width-image-20 .block--image {
        max-width: 80%;
        margin: 0 auto;
        width: 100%;
    }
}
@media(min-width: 1181px){
    .max-width-image-5 .block--image{
        max-width: 95%;
    }
    .custom-margin-text .block-text-wrapper {
        max-width: 95%;
        margin: 0 0 0 auto;
    }
}
/* Centered block */
.centered-block-with-separator .block-text-wrapper {
    max-width: clamp(600px, 41.666vw, 800px);
    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);
}

/* two columns */
.two-column-section .block--title {
    text-wrap: balance;
}
.two-column-section .block-text-wrapper .block--paragraph {
    margin-top: 20px;
}
.two-column-section .block-text-wrapper .block--button {
    margin-top: clamp(40px, 2.603vw, 50px);
}
.two-column-section.max-width-640 .block-text-wrapper .block--paragraph {
    max-width: clamp(500px, 33.332vw, 640px);
}
.video-background-content {
    display: flex;
    min-height: clamp(450px, 26.041vw, 500px);
}
.video-background-content video {
    height: 100%;
    width: 100%;
    object-fit: cover;
    position: absolute;
}
.column.disable-on-mobile{
    display: none;
}
.max-width-title-560 .block-text-wrapper .block--title {
    max-width: clamp(500px, 31.093vw, 560px);
}
.two-column-section ul.splide__pagination {
    position: unset;
    margin: 40px 0 0;
}
.two-column-section ul.splide__pagination button{
    width: 15px;
    height: 15px;
    background: #C7C7C7;
}
.two-column-section ul.splide__pagination button.is-active{
    background: #EC1C24;
}
@media(min-width: 1025px){
    .column.disable-on-mobile{
        display: block;
    }
    .max-width-image-20 .block--image {
        max-width: 80%;
        margin: 0 auto;
        width: 100%;
    }
}
@media(min-width: 1181px){
    .max-width-image-5 .block--image{
        max-width: 95%;
    }
    .custom-margin-text .block-text-wrapper {
        max-width: 95%;
        margin: 0 0 0 auto;
    }
}
 .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%  !important;
     padding: 12px 20px 12px !important;
     background: transparent  !important;
     border: 1px solid #BFBFBF !important;
     background: transparent;
}
.contact_form_input select, .contact_form_input input::placeholder,.contact_form_message textarea::placeholder{
    color: #BFBFBF;
}

 .contact_form_message textarea {
     max-height: 100px;
}
.contact_form_optin {
    margin: 25px 0 30px;
    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: #EC1C24;
}
 .contact_form_action input {
     background: #EC1C24 !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: 0px;
     min-width: 200px;
}
 .contact_form_action input:hover {
     background: #0B0F19;
     color: #fff;
     transition: 300ms;
}
 .contact-form-wrapper-shortcode {
     margin-top: clamp(40px, 3.124vw, 60px);
}
 .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 {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 60px;
        margin-bottom: 20px;
        row-gap: 30px;
    }
}
