.hero {
    height: 80vh;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
}

.hero .containerTitle {
    border-top-right-radius: var(--basicRadius);
    max-width: 50%;
    position: relative;
    z-index: 10;
}

.hero img.logoJaune{
    position: absolute;
    bottom: 0;
    right: 0;
    width: 50%;
    height: auto;
    transform: translateX(33%);
    opacity: .7;
}

@media screen and (max-width: 950px) {
    .hero img.logoJaune {
        width: auto;
        height: 60%;
    }

    .hero .containerTitle {
        max-width: 80%;
    }
}
/* START imgText */
.imgText .uniformSpacing{
    display: flex;
    flex-direction: column;
    gap: 4em;
}

.imgText .uniformSpacing .container{
    display: flex;
    gap: 3em;
}

.imgText .uniformSpacing .container img{
    width: 50%;
    height: auto;
    aspect-ratio: 16/9;
    object-fit: cover;
}

.imgText .uniformSpacing .container .text{
    display: flex;
    flex-direction: column;
    gap: .5em;
    width: 50%;
    justify-content: space-between;

}

.imgText .uniformSpacing .container .text div{
    display: flex;
    flex-direction: column;
    gap: .5em;
}

@media screen and (max-width: 950px) {
    .imgText .uniformSpacing .container{
        flex-direction: column;
    }

    .imgText .uniformSpacing .container .text,
    .imgText .uniformSpacing .container img{
        width: 100%;
    }
}

/* END  imgText */


/* START imgTextColumn */
.imgTextColumn .uniformSpacing{
    display: flex;
    flex-direction: column;
    gap: 5em;
}

.imgTextColumn .uniformSpacing .listingCardImgText{
    display: flex;
    flex-direction: column;
}

.imgTextColumn .uniformSpacing .listingCardImgText .element{
    display: flex;
    gap: 2em;
    position: relative;
    padding: 4.5em;
}

.imgTextColumn .uniformSpacing .listingCardImgText .element:last-child{
    padding-bottom: 0;
}

.imgTextColumn .uniformSpacing .listingCardImgText .element .containerImg {
    width: 55%;
    height: auto;
    aspect-ratio: 16/9;
}

.imgTextColumn .uniformSpacing .listingCardImgText .element:nth-child(odd){
    flex-direction: row-reverse;
}

.imgTextColumn .uniformSpacing .listingCardImgText .element .container {
    display: flex;
    flex-direction: column;
    gap: 1em;
    width: 45%;
}

.imgTextColumn .uniformSpacing .listingCardImgText .element .container h3{
    padding-left: 1em;
}

.imgTextColumn .uniformSpacing .listingCardImgText .element:first-child{
    padding-top: 0;
}

.imgTextColumn .uniformSpacing .listingCardImgText .element .containerImg:after{
    content: "";
    width: 1.5em;
    height: 1.5em;
    background-color: var(--basicColor1);
    position: absolute;
    top: 5.5em;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 100%;
    border: 4px solid var(--basicWhite);
    z-index: 2;
}

.imgTextColumn .uniformSpacing .listingCardImgText .element .containerImg:before{
    content: "";
    width: 4px;
    height: 100%;
    background-color: var(--basicColor1);
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}

.imgTextColumn .uniformSpacing .listingCardImgText .element:first-child .containerImg:before,
    .imgTextColumn .uniformSpacing .listingCardImgText .element:first-child .containerImg:after{
    top: 1em;
}

.imgTextColumn .uniformSpacing .listingCardImgText .element:last-child .containerImg:before{
    top: 0;
    height: 5.5em;
}

.imgTextColumn .uniformSpacing .listingCardImgText .element .containerImg img{
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.imgTextColumn .uniformSpacing .listingCardImgText .element .containerText{
    width: 130%;
    padding: 2em;
    display: flex;
    flex-direction: column;
    gap: .5em;
    background-color: #F2F2F2;
    position: relative;
    z-index: 3;
}

.imgTextColumn .uniformSpacing .listingCardImgText .element:nth-child(even) .containerText{
    transform: translateX(-30%);
}

@media screen and (max-width: 1200px) {
    .imgTextColumn .uniformSpacing .listingCardImgText .element,
    .imgTextColumn .uniformSpacing .listingCardImgText .element:nth-child(odd)
    {
        flex-direction: column;
        gap: 0;
        align-items: center;
    }

    .imgTextColumn .uniformSpacing .listingCardImgText .element .container,
    .imgTextColumn .uniformSpacing .listingCardImgText .element .containerImg,
    .imgTextColumn .uniformSpacing .listingCardImgText .element .containerText,
    .imgTextColumn .uniformSpacing .listingCardImgText .element:nth-child(even) .containerText{
        width: 100%;
    }

    .imgTextColumn .uniformSpacing .listingCardImgText .element:nth-child(even) .containerText{
        transform: translateX(0);
    }

    .imgTextColumn .uniformSpacing .listingCardImgText .element .container {
        background-color: #F2F2F2;
        border-radius: var(--mediumRadius);
        padding: 1em;
        position: relative;
        z-index: 10;
        width: 90%;
        margin-top: -10em;
    }
}

@media screen and (max-width: 800px) {
    .imgTextColumn .uniformSpacing .listingCardImgText .element{
        padding-left: 0;
        padding-right: 0;
    }

    .imgTextColumn .uniformSpacing .listingCardImgText .element:nth-child(even) .containerText,
    .imgTextColumn .uniformSpacing .listingCardImgText .element .containerText{
        padding: 0;
    }

    .imgTextColumn .uniformSpacing .listingCardImgText .element .container {
        margin-top: -5em;
    }
}

/* END imgTextColumn */


/* START listingIconeText */
.listingIconeText .uniformSpacing{
    display: flex;
    flex-direction: column;
    gap: 3.5em;
}

.listingIconeText .uniformSpacing .introText{
    display: flex;
    gap: 1.5em;
}

.listingIconeText .uniformSpacing .introText .specialTitle{
    display: flex;
    gap: 2.5em;
    align-items: flex-end;
}

.listingIconeText .uniformSpacing .introText .specialTitle img{
    width: 7.5em;
    height: auto;
}

.listingIconeText .uniformSpacing .listingContainer{
    display: flex;
    flex-wrap: wrap;
    gap: 2.5em 1.75em;
}

.listingIconeText .uniformSpacing .listingContainer .element{
    display: flex;
    gap: 2em;
    width: calc((100% - 1.75em) / 2);
}

.listingIconeText .uniformSpacing .listingContainer .element .icone{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2em;
    box-shadow: 0px 0px 15px #0000004D;
    border-radius: 100%;
    width: 9em;
    height: auto;
    aspect-ratio: 1 / 1;
}

.listingIconeText .uniformSpacing .listingContainer .element .icone svg{
    width: 100%;
    height: 100%;
}

.listingIconeText .uniformSpacing .listingContainer .element .text{
    display: flex;
    flex-direction: column;
    gap: .5em;
}


@media screen and (max-width: 1200px) {
    .listingIconeText .uniformSpacing .listingContainer .element .icone{
        padding: 1em;
    }

    .listingIconeText .uniformSpacing .listingContainer .element .icone{
        width: 5em;
        height: 5em;
    }
}


@media screen and (max-width: 950px) {
    .listingIconeText .uniformSpacing .listingContainer .element{
        width: 100%;
    }

}

@media screen and (max-width: 650px) {
    .listingIconeText .uniformSpacing .introText .specialTitle{
        flex-direction: column;
        align-items: flex-start;
        gap: 1em;
    }
}

/* END listingIconeText */

/* START chantier */
.chantier .uniformSpacing{
    display: flex;
    flex-direction: column;
    gap: 2em;
}

.chantier .listChantier,
.chantier .listChantier .editor-tpl{
    display: grid;
    gap: 1.5em;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 14em;
    grid-auto-flow: dense;

}

.chantier .listChantier div {
    text-align: center;
    position: relative;
}

/* Élément 1 */
.chantier .listChantier div:nth-child(4n + 1) {
    grid-column: span 1;
    grid-row: span 1;
}

/* Élément 2 */
.chantier .listChantier div:nth-child(4n + 2) {
    grid-column: span 1;
    grid-row: span 1;
}

/* Élément 3 : grand bloc */
.chantier .listChantier div:nth-child(4n + 3) {
    grid-column: span 2;
    grid-row: span 2;
}

/* Élément 4 */
.chantier .listChantier div:nth-child(4n + 4) {
    grid-column: span 2;
    grid-row: span 1;
}

.chantier .mainLink {
    padding-top: 2em;
}

@media screen and (max-width: 900px) {
    .chantier .listChantier,
    .chantier .listChantier .editor-tpl{
        grid-template-columns: repeat(3, 1fr);
    }


    /* Élément 2 */
    .chantier .listChantier div:nth-child(4n + 2) {
        grid-column: span 2;
    }

    /* Élément 3 : grand bloc */
    .chantier .listChantier div:nth-child(4n + 3) {
        grid-column: span 2;
        grid-row: span 1;
    }

    /* Élément 4 */
    .chantier .listChantier div:nth-child(4n + 4) {
        grid-column: span 1;
    }

}

@media screen and (max-width: 600px) {
    .chantier .listChantier,
    .chantier .listChantier .editor-tpl{
        grid-template-columns: repeat(2, 1fr);
    }
    .chantier .listChantier div {
        grid-column: span 1 !important;
        grid-row: span 1 !important;
    }
}

/* END chantier */