.horizontal-scroll-section-with-intro {
    width: 100%;
    max-width: 100vw;
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
    position: relative;
}


.horizontal-scroll-section-with-intro .horizontal-scroll-wrapper {
    display: flex;
    flex-direction: row;
    height: 100vh !important;
    max-height: 100vh;
    flex-wrap: nowrap;
    width: max-content;
    will-change: transform;
    position: relative;
    overflow-x: hidden !important; 
    overflow-y: hidden !important;
    padding-top: calc((10px * 2) + 46px + var(--sticky-h-height));
}

.horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container {        
    width: auto;
    min-width: 100vw;
    height: 100%;   
    flex-shrink: 0;
    display: flex;
    box-sizing: border-box;
}

.horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container-inner {
    display: flex;
    height: 100%;
    width: auto;
}

/*.horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container:not(.active) .hs-full-height-img-block,
.horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container:not(.active) .hs-textual-block {
    opacity: 0;
}

.horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container:not(.active) .hs-full-height-img-block img {
    height: 0;
}*/

.horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container,
.horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container-inner,
.horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .hs-full-height-img-block,
.horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .img-container,
.horizontal-scroll-section-with-intro .horizontal-scroll-wrapper picture,
.horizontal-scroll-section-with-intro .horizontal-scroll-wrapper img,
.horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container .hs-textual-block,
.horizontal-scroll-section-with-intro .video_wrapper,
.horizontal-scroll-section-with-intro .video_wrapper_inner,
.horizontal-scroll-section-with-intro .html5_vid_wrapper,
.horizontal-scroll-section-with-intro .html5_vid_container,
.horizontal-scroll-section-with-intro .vsVideoPlayerHTML5,
.horizontal-scroll-section-with-intro .vid_cover,
.horizontal-scroll-section-with-intro .html5_vid_container_outer {
    height: 100%;
}

.horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .img-container {
    width: auto;
    /*width: max-content;*/
    position: relative;
    overflow: hidden;
    display: block;
    /*clip-path: inset(0 0 16px);*/
    /*transform: scale(1.002);*/
}

.horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container .hs-full-height-img-block {
    position: relative;
}

.horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container .hs-full-height-img-block img {
    width: auto;
    /*height: 100vh;*/
    height: 100%;
    display: block;
    max-width: none;
    object-fit: cover;
    object-position: center;
}

.horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container .hs-textual-block {
    min-width: 60vw;
    flex-shrink: 0;
    display: flex;
    /*opacity: 1;*/
    align-items: center;
}
.horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container .hs-textual-block .text-wrapper { 
    max-width: 556px;
    margin-left: 74px;
}

.horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container:nth-child(1) .reveal-panel {
    height: 0;
}

.horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container .split-line .h2-style:not(:last-child) {
    padding-bottom: 0px;
}

/* SMALL IMAGE */
.horizontal-scroll-section-with-intro .horizontal-container-wrp .horizontal-container:first-child.is-small-card {
    margin-right: 40px;
}
.horizontal-scroll-section-with-intro .horizontal-container.is-small-card {
    min-width: 325px;
    width: 325px;
    margin-right: 135px;
    position: relative;
}

/* small card with text */
.horizontal-scroll-section-with-intro .horizontal-container.is-small-card .img-container-in {
    width: 100%;
    height: fit-content;
    position: relative;
}
.horizontal-scroll-section-with-intro .horizontal-container.is-small-card .img-container-in .text-wrapper {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    padding: 0px 24px;
    display: flex;
    align-items: end;
    background: linear-gradient(180deg, rgba(18, 18, 18, 0.00) 0%, rgba(18, 18, 18, 0.70) 59.96%, #121212 100%);
}

/* end small card with text */
.horizontal-scroll-section-with-intro .horizontal-container.is-small-card .img-container { 
    display: flex;
}
.horizontal-scroll-section-with-intro .horizontal-container.is-small-card .img-container img,
.horizontal-scroll-section-with-intro .horizontal-container.is-small-card .img-container picture {
    height: auto;
}
.horizontal-scroll-section-with-intro .horizontal-container.is-small-card .img-container img {
    border-radius: 16px;
}
.horizontal-scroll-section .horizontal-container.is-small-card .img-container img {
    border-radius: 16px;
}
.horizontal-scroll-section-with-intro .horizontal-container.is-small-card.pos-bottom .img-container { 
    align-items: end;
    padding-bottom: 40px;
}
.horizontal-scroll-section-with-intro .horizontal-container.is-small-card.pos-center .img-container { 
    align-items: center;
}

/* MEDIUM IMAGE */
.horizontal-scroll-section-with-intro .horizontal-container.is-medium-card { 
    min-width: auto;
    max-width: fit-content; 
    position: relative;
    z-index: 10;
    height: 100%; 
    display: flex;
    flex-direction: column;
    justify-content: center;  
    max-height: 100%; 
}
.horizontal-scroll-section-with-intro .horizontal-container.is-medium-card.pos-bottom {
    justify-content: flex-end;
    padding-bottom: 80px;
}
.horizontal-scroll-section-with-intro .horizontal-container.is-medium-card.pos-center {
    justify-content: center;
}

.horizontal-scroll-section-with-intro .horizontal-container.is-medium-card .img-container {
    opacity: 0;
    will-change: opacity; 
    height: auto;
    display: inline-block;
    background: transparent;
}
.horizontal-scroll-section-with-intro .horizontal-container.is-medium-card .img-container img,
.horizontal-scroll-section-with-intro .horizontal-container.is-medium-card .img-container picture {
    height: auto;
    border-radius: 16px;
    aspect-ratio: auto;
    max-width: 440px;
}


/* BOX TEXT */
.horizontal-scroll-section-with-intro .horizontal-container.is-box-text {
    min-width: auto;
    width: auto;
    padding-left: 135px;
    padding-right: 135px;
}

.horizontal-scroll-section-with-intro .horizontal-container.is-box-text .text-wrapper {
    display: flex; 
    min-width: 438px;
    width: 438px;    
}

.horizontal-scroll-section-with-intro .horizontal-container.is-box-text .text-wrapper-inner {
    padding: 40px 24px;
    border-radius: 16px;
}

.horizontal-scroll-section-with-intro .horizontal-container.is-box-text.pos-center .text-wrapper { 
    align-items: center;
}

/*.horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container:last-child {
    margin-right: 0 !important;
}*/

.horizontal-scroll-section-with-intro .horizontal-container-wrp {
    display: flex;
    flex-direction: row;
}


/* DESCRIPTION TEXT */
.horizontal-scroll-section-with-intro .horizontal-container.is-description-text { 
    position: relative;
    min-width: auto;
    width: fit-content;
    padding-right: 135px;
    padding-left: 135px;
    z-index: 5; 
}
.horizontal-scroll-section-with-intro .horizontal-container.is-description-text .text-wrapper {
    display: flex; 
    min-width: 438px;
    width: 438px;  
}
.horizontal-scroll-section-with-intro .horizontal-container.is-description-text.pos-center .text-wrapper { 
    align-items: center;
}
.horizontal-scroll-section-with-intro .horizontal-container.is-description-text.bkg_half_left::before {
    content: "";
    position: absolute;
    width: 95px;
    height: 100%;
    left: -94px;
    z-index: 2;
}
.horizontal-scroll-section-with-intro .horizontal-container.is-description-text.bkg_half_right::after {    
    content: "";
    position: absolute;
    width: 344px;
    height: 100%;
    right: -343px;
    z-index: 2;
}
.horizontal-scroll-section-with-intro .horizontal-container.is-description-text.background-schema_white.bkg_half_left::before {
    background: var(--neutral-k10);
}
.horizontal-scroll-section-with-intro .horizontal-container.is-description-text.background-schema_white.bkg_half_right::after {
    background: var(--neutral-k10);
}
.horizontal-scroll-section-with-intro .horizontal-container.is-description-text.background-schema_gray.bkg_half_left::before {
    background: var(--neutral-k10);
}
.horizontal-scroll-section-with-intro .horizontal-container.is-description-text.background-schema_gray.bkg_half_right::after {
    background: var(--neutral-k10);
}
.horizontal-scroll-section-with-intro .horizontal-container:last-child.is-description-text {
    margin-right: 135px;
}
.horizontal-scroll-section-with-intro .horizontal-container:last-child.is-medium-card {
    margin-right: 40px;
}

/* accessibility */

/* --- SCROLLBAR --- */
.horizontal-scroll-section-with-intro .horizontal-scrollbar {
    position: absolute;
    bottom: 25px;
    left: 10%;
    width: 80%;
    height: 4px;
    background-color: rgba(0,0,0,0.1);
    border-radius: 4px;
    z-index: 100;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s;
}

.horizontal-scroll-section-with-intro.is-active .horizontal-scrollbar,
.horizontal-scroll-section-with-intro:focus-within .horizontal-scrollbar {
    opacity: 1;
}

.horizontal-scroll-section-with-intro .scrollbar-thumb {
    width: 100%;
    height: 100%;
    background-color: #fff;
    border-radius: 4px;
    transform-origin: left center;
    transform: scaleX(0);
    height: 4px;
}

/* ACCESSIBILITÀ: REVEAL AUTOMATICO SU FOCUS */

/* Quando un elemento dentro il container ha il focus... */
.horizontal-scroll-section-with-intro .horizontal-container:focus-within .reveal-panel {
    height: 0 !important; /* ...apri il sipario immediatamente */
    opacity: 0 !important;
}

/* Mostra anche il testo immediatamente */
.horizontal-scroll-section-with-intro .horizontal-container:focus-within .text-wrapper-inner {
    opacity: 1 !important;
    transform: none !important;
}

.horizontal-scroll-section-with-intro .horizontal-container:focus-within.is-medium-card .trigger-reveal-img {
    opacity: 1 !important;
}

.horizontal-scroll-section-with-intro .horizontal-container:focus-within {
    outline: none; 
}

/* INTRO */

.horizontal-scroll-section-with-intro .intro-overlay {
    position: absolute;
    background: transparent;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    padding-top: calc((10px * 2) + 46px + var(--sticky-h-height));
    z-index: 50;
}

.horizontal-scroll-section-with-intro .intro-overlay .intro-content {
    position: relative;
    width: 100%;    
    height: 100%;
}

.horizontal-scroll-section-with-intro .intro-overlay .intro-title {
    max-width: 900px;
    text-align: center;
    margin: 0 auto;
    width: 100%;
    padding-top: 86px;
    height: 100%;
    padding-bottom: 200px;
}

.horizontal-scroll-section-with-intro .intro-overlay .intro-title .intro-title-inner {
    height: calc(100% - ((10px * 2 + 46px + var(--sticky-h-height) + 86px) - 200px));
    /*overflow: hidden;*/
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.horizontal-scroll-section-with-intro .intro-overlay .intro-moving-img {
    position: absolute;
    bottom: -134px;
    left: 50%;
    transform: translateX(-50%); 
    width: 442px; 
    height: 247px;
    overflow: hidden;
    border-radius: 16px;
    z-index: 51;
    transform-origin: center bottom;   
    /*will-change: width, left, bottom; */
}

.horizontal-scroll-section-with-intro .intro-overlay .intro-moving-img .intro-moving-img-inner {
    position: relative;
    opacity: 0;
    width: 100%;
    height: 100%;
    clip-path: inset(0 round 16px);
    transform: scale(1.002); /* pushes anti-aliased edge out of view */
}

.horizontal-scroll-section-with-intro .intro-overlay .intro-moving-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container.is-first-slide .horizontal-container-inner .target-img-slot {
    opacity: 0;
    pointer-events: none;
}

.horizontal-scroll-section-with-intro.intro-ended .horizontal-scroll-wrapper .horizontal-container .hs-textual-block.first-slide-text {
    pointer-events: inherit;
}

.horizontal-scroll-section-with-intro .intro-overlay .intro-curve-wrapper {
    z-index: 60; 
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    transform: translateX(100%); 
    opacity: 0;
}

.horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container.is-first-slide .curve-effect {
    z-index: 6; 
}

.horizontal-scroll-section-with-intro.intro-ended .horizontal-container.is-first-slide .horizontal-container-inner .target-img-slot { opacity: 1; pointer-events: inherit; }
.horizontal-scroll-section-with-intro.intro-ended .intro-overlay { opacity: 0; pointer-events: none; }

@media screen and (min-width: 1025px) {
    .horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container .hs-textual-block.first-slide-text {
        opacity: 0;
        transform: translate(50px, 50px); 
        pointer-events: none;
    }
}

@media screen and (max-width: 1024px) {

    .horizontal-scroll-section-with-intro {
        height: auto !important;
        padding-bottom: 80px;
    }

    .horizontal-scroll-section-with-intro .intro-overlay .intro-content {
        height: auto;
    }

    .horizontal-scroll-section-with-intro .horizontal-scroll-wrapper {
        height: auto !important;
        max-height: inherit;
        width: 100%;
        padding-right: 0px;
        padding-top: 0px;
    }

    .horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container {
        max-width: 100%;
    }

    .horizontal-scroll-section-with-intro .horizontal-scroll-wrapper,
    .horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container,
    .horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container .horizontal-container-inner {
        flex-direction: column;
    }   

    .horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container .hs-full-height-img-block,
    .horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container .hs-textual-block,
    .horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .img-container,
    .horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .video_wrapper {
        width: 100%;
        min-width: inherit;
        overflow: hidden;
    }

    .horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container .hs-textual-block .text-wrapper {
        max-width: 100%;
        margin-left: 0px;
        padding: 24px 24px 40px;
    }

    .horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container .hs-full-height-img-block img {
        width: 100%;
        height: 100%;
    }

    .horizontal-scroll-section-with-intro .horizontal-container.is-box-text {
        padding-left: 24px;
        padding-right: 24px;
        width: auto;
        align-items: center;
        margin-top: 40px;
        margin-bottom: 24px;
    }

    .horizontal-scroll-section-with-intro .horizontal-container.is-box-text .text-wrapper {
        min-width: auto;
        max-width: 438px;
        width: auto;
    }


    .horizontal-scroll-section-with-intro .horizontal-container-wrp .horizontal-container.is-small-card.pos-bottom .img-container {
        padding-bottom: 0px;
    }

    .horizontal-scroll-section-with-intro .horizontal-container.is-small-card {        
        width: 100%;
        max-width: 325px;
        flex-shrink: inherit;
        min-width: auto;
        margin: 0 auto;
        margin-top: 40px;
        margin-bottom: 40px;
    }

    .horizontal-scroll-section-with-intro .horizontal-container.is-small-card.pos-bottom .img-container {
        padding-bottom: 0px;
    }

    .horizontal-scroll-section-with-intro .horizontal-container-wrp .horizontal-container:last-child.is-small-card,
    .horizontal-scroll-section-with-intro .horizontal-container:last-child.is-description-text {
        margin-right: 0px;
    }

    .horizontal-scroll-section-with-intro .horizontal-container-wrp .horizontal-container.is-small-card {
        margin: 0px;
    }

    .horizontal-scroll-section-with-intro .horizontal-container-wrp .horizontal-container.is-small-card .img-container {
        display: block;    
    }

    .horizontal-scroll-section-with-intro .horizontal-container.is-small-card .img-container img {
        height: 325px;
        width: 100%;
        object-fit: cover;
    }

    .horizontal-scroll-section-with-intro .horizontal-container-wrp .horizontal-container.is-small-card {
        max-width: 180px;
    }
    .horizontal-scroll-section-with-intro .horizontal-container-wrp .horizontal-container.is-small-card .img-container img {
        height: 180px;
    }

    .horizontal-scroll-section-with-intro .horizontal-container-wrp .horizontal-container.is-small-card:first-child {
        padding-top: 80px;
        margin-right: 15px;
    }

    .horizontal-scroll-section-with-intro .horizontal-container-wrp {
        justify-content: center;
        padding-top: 80px;
    }  
    
    .horizontal-scroll-section-with-intro.is-active .horizontal-scrollbar {
        display: none;
    }

    /*INTRO MOBILE*/

    .horizontal-scroll-section-with-intro .intro-overlay {
        opacity: 1 !important;
        position: relative !important; 
        height: auto !important;
        width: 100% !important;
        pointer-events: all !important;
        z-index: 1;
        padding-top: 0px;
    }

    .horizontal-scroll-section-with-intro .intro-overlay .intro-title {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        bottom: inherit !important;
        transform: none !important;
        padding-bottom: 0px;
        padding-top: calc(var(--menu-height) + var(--sticky-h-height) + 35px);
        padding-left: 24px;
        padding-right: 24px;
        margin-bottom: 40px;
        height: auto;
    }

    .horizontal-scroll-section-with-intro .intro-overlay .intro-title .intro-title-inner {
        height: auto;
    }

    .horizontal-scroll-section-with-intro .intro-overlay .intro-moving-img {
        display: none !important;
    }

    .horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container.is-first-slide .horizontal-container-inner .target-img-slot {
        opacity: 1 !important;
        height: auto !important;
        pointer-events: auto;
    }    

    .horizontal-scroll-section-with-intro .horizontal-scroll-wrapper .horizontal-container.is-first-slide .horizontal-container-inner .target-img-slot .img-container {
        width: 70vw;
        margin: 0 auto;
        border-radius: 16px;
        overflow: hidden;
    } 

    /* MEDIUM IMAGE mobile */
    .horizontal-scroll-section-with-intro .horizontal-container.is-description-text.bkg_half_left {
        margin-top: -80px;
    }
    .horizontal-scroll-section-with-intro .horizontal-container.is-description-text.bkg_half_right {
        margin-bottom: -80px;
    }
    .horizontal-scroll-section-with-intro .horizontal-container.is-description-text.bkg_half_left::before,
    .horizontal-scroll-section-with-intro .horizontal-container.is-description-text.bkg_half_right::after {
        content: none;
    }
    /*.horizontal-scroll-section-with-intro .horizontal-container.is-description-text.bkg_half_right::after {
        width: 100%;
        right: inherit;
        height: 80px;
        bottom: -79px;
    }*/
    .horizontal-scroll-section-with-intro .horizontal-container.is-medium-card {
        align-items: center;
    }
    .horizontal-scroll-section-with-intro .horizontal-container.is-medium-card.pos-bottom {
        padding-bottom: 0px;
    }
    .horizontal-scroll-section-with-intro .horizontal-container:last-child.is-medium-card {
        margin-right: 0px;
    }

    .horizontal-scroll-section-with-intro .horizontal-container.is-medium-card .img-container {
        width: fit-content;     
        padding: 0px 24px; 
    }

    .horizontal-scroll-section-with-intro .horizontal-container.is-description-text {
        padding-left: 0px;
        padding-right: 0px;
    }

    .horizontal-scroll-section-with-intro .horizontal-container.is-description-text .text-wrapper {
        padding: 160px 24px;
        width: 100%;
        min-width: 100%;
    }

    .horizontal-scroll-section-with-intro .horizontal-scrollbar {
        display: none;
    }

    .horizontal-scroll-section-with-intro .curve-effect.hide-curve-on-mobile {
        display: none;
    }

}
