body:has(.singleCaroussel) {
    overflow-x: hidden;
}

body:has(.singleCaroussel) > footer > .footer__top {
    display: none;
}

.headerSingle {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-top: 24px;
    position: relative;
    overflow: hidden;
}

body:has(.singleCaroussel) > footer,
body:has(.singleCaroussel) > header {
    position: relative;
    overflow: hidden;
}

@media (width > 991px) {

    body.realisation > * {
        max-width: unset;
    }

    body.realisation #smooth-content > *:not(.singleCaroussel) {
        max-width: 1440px;
        margin-inline: auto;
    }
}

@media (width > 1439px) {
    body.realisation #smooth-content > .navbar {
        max-width: unset;
        width: 100vw;
    }
}

.headerSingle > .logo {
    width: 50%;
}

.singleCaroussel {
    margin-block: 24px;
}

.singleCaroussel > div > div > div > div > *:has(+ *) {
    margin-bottom: 16px;
}

.singleCaroussel > div > div > div > div > .content__container > .title {
    font-size: 1.25rem;
    line-height: 1.5625rem;
}

.singleCaroussel > div > div > div > div > .content__container > .title:has(+ *) {
    margin-bottom: 8px;
}

.singleCaroussel > div > div > div > div > .content__container > .content:has(+ *) {
    margin-bottom: 16px;
}

.singleCaroussel > div > div > div > div + .illustration {
    margin-top: 16px;
}

.singleCaroussel > div > div > div > div > .illustration + .illustration {
    margin-top: 8px;
}

.singleCaroussel > div > div > div > div + .illustration:has(+ *:not(.illustration)) {
    margin-bottom: 24px;
}

.singleCaroussel > div > div > div > div > .content__container .content h3:has(+ ul) {
    text-transform: uppercase;
    font-family: var(--ffMBo);
    font-size: 1rem;
    line-height: 1.5625rem;
    margin-bottom: 4px;
}

.singleCaroussel > div > div > div > div > .content__container .content > * + h3 {
    margin-top: 16px;
}

.singleCaroussel > div > div > div > div > .content__container .content ul > li {
    margin-left: 15px;
    list-style: disc;
    color: var(--white);
}

.singleCaroussel > div > div > div > div > .content__container .content a {
    text-transform: uppercase;
    font-family: var(--ffMXBo);
    font-size: .875rem;
    line-height: 1.1875rem;
    display: flex;
    align-items: center;
    color: var(--white);
    gap: 17px;
    padding-right: 31px;
    position: relative;
}

.singleCaroussel > div > div > div > div > .content__container .content a::after {
    content: '';
    display: block;
    background-image: url(../../img/icons/arrow.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: right center;
    height: 12px;
    width: 21px;
    transition: all 0.3s ease;
}

/* .singleCaroussel + footer > .footer__top {
    padding-inline: unset;
} */

body > #smooth-wrapper {
    padding-inline: unset;
}

body #smooth-content > *:not(.navbar) {
    padding-inline: 20px;
}

.singleCaroussel > div > div > div > div > .modelViewerBlock {
    background-color: var(--white)!important;    
}

@media (width > 575px) {
    .headerSingle {
        flex-direction: row;
        align-items: center;
    }

    .headerSingle > .logo {
        width: 186px;
    }

    .headerSingle > .caption {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }
}

@media (width > 991px) {

    .singleCaroussel {
        position: relative;
        overflow: hidden;
    }

    .container-fluid {
      width: 100%;
      padding-right: 0;
      padding-left: 0;
      margin-right: auto;
      margin-left: auto;
    }

    .horiz-gallery-strip,
    .horiz-gallery-wrapper {
        display: flex;
        flex-wrap: nowrap;
        will-change: transform;
        position: relative;
        height: fit-content!important;
    }

    .singleCaroussel > div > div > div > div > .content__container > .content:has(+ *) {
        margin-bottom: unset;
    }

    .singleCaroussel > div > div > div > div {
        margin-block: unset;
        padding-block: 42px 61px;
        display: flex;
        gap: 65px;
        align-items: center;
        height: 100vh!important;
    }

    .singleCaroussel > div > div > div > div > .content__container {
        flex: 0 0 398px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 25px;
        height: fit-content;
    }

    .singleCaroussel > div > div > div > div > *:last-child {
        padding-right: 80px;
    }

    .singleCaroussel > div > div > div > div > .modelViewerBlock {
        aspect-ratio: 16/9;
        width: 100%;
        min-width: 60vw;
        background-color: var(--white);
        padding-inline: unset!important;
    }

    .singleCaroussel > div > div > div > div > .modelViewerBlock > div,
    .singleCaroussel > div > div > div > div > .modelViewerBlock *:not(.position-bottom-right) {
        height: 100%!important;
    }

    .singleCaroussel > div > div > div > div > .content__container > * {
        text-align: center;
    }
    
    .singleCaroussel > div > div > div > div > .content__container > .content ul > li,
    .singleCaroussel > div > div > div > div > .content__container:has(ul) > * {
        text-align: start;
    }

    .singleCaroussel > div > div > div > div .illustration {
        margin-block: unset!important;
    }

    .singleCaroussel > div > div > div > div .title:has(+ *),
    .singleCaroussel > div > div > div > div .content:has(+ *) {
        margin-bottom: 25px;
    }

    .singleCaroussel > div > div > div > div > * + .illustration {
        height: 80%;
        max-height: 80vh;
        /* margin-block: auto!important; */
    }
}