/* START hero */
.hero{
    min-height: 50vh;
    height: auto;
    display: flex;
    align-items: center;
    overflow: hidden;
    border-bottom-left-radius: initial;
}

.hero .uniformSpacing{
    position: relative;
    z-index: 10;
}

.hero .uniformSpacing .introText{
    align-items: flex-end;
}

.hero .uniformSpacing .introText .text {
    display: flex;
    justify-content: space-between;
    gap: 1em;
}

.hero .uniformSpacing .introText .text div {
    display: flex;
    align-items: center;
    gap: 1em;
    padding: .5em;
    width: auto;
    margin-top: 4em;
}
.hero .uniformSpacing .introText .text div img {
    width: 7.5em;
    height: auto;
    aspect-ratio: 4/3;
    object-fit: cover;
}


.hero .uniformSpacing .introText .text > p{
    width: 50%;
    border-top: 1px solid var(--basicColor1);
    padding-top: 1.25em;
}
.hero .floatingContainer{
    position: absolute;
    bottom: 0;
    left: 0;
    min-width: 20%;
    max-width: 90%;
    display: flex;
    gap: .5em;
    align-items: center;
    border-top-right-radius: var(--mediumRadius  );
    padding: 1.5em 3em 1.5em calc(var(--defaultSpacing));
}

.hero .floatingContainer span{
    display: flex;
}

.hero .floatingContainer span svg{
    width: 1em;
}

.hero .floatingContainer::before,
.hero .floatingContainer::after{
    content: "";
    position: absolute;
    bottom: 100%;
    left: 0;
    width: var(--mediumRadius);
    height: var(--mediumRadius);
    background: transparent;
    border-bottom-right-radius: var(--mediumRadius);
    box-shadow: calc(var(--mediumRadius) / 2) calc(var(--mediumRadius) / 2) 0 calc(var(--mediumRadius) / 2) white;
    transform: rotate(90deg);
}

.hero .floatingContainer::after {
    bottom: 0;
    left: 100%;

}
/* START hero */

/* START imgText */

.introHero.imgText{
    padding-bottom: 0;
    overflow: hidden;
}

.introHero.imgText{
    padding-bottom: 0;
    overflow: hidden;
}

.imgText .uniformSpacing{
    display: flex;
    align-items: flex-start;
    gap: 2.5em;
}

.imgText .uniformSpacing > div{
    width: 50%;
    padding-top: 2.5em;
}

.imgText .introText {
    margin-bottom: 2.5em;
}

.imgText .introText > img{
    position: absolute;
    top: 0;
    left: 0;
    width: auto;
    height: 100%;
    object-fit: contain;
    opacity: .5;
}

.imgText .introText > *:not(img){
    position: relative;
    z-index: 1;
}

.imgText .introText .imgContainer{
    margin-top: 5em;
}

.imgText .uniformSpacing .imgContainer{
    height: auto;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 1;
}

.imgText .uniformSpacing .imgContainer.heightAuto{
    height: auto;
    aspect-ratio: initial;
    width: 40%;
}

.imgText .uniformSpacing .imgContainer:not(.iconeRelative) img,
.imgText .uniformSpacing .imgContainer:not(.iconeRelative) svg{
    width: 100%;
    height: auto;
    aspect-ratio: 3/2;
    object-fit: cover;
    border-radius: var(--basicRadius);
    position: relative;
    z-index: 2;
}

.imgText .uniformSpacing .imgContainer.iconeRelative{
    margin-top: 2.5em;
    padding: 2.5em;
    aspect-ratio: 4/3;
}

.imgText .uniformSpacing .imgContainer.iconeRelative > *{
    position: relative;
    z-index: 1;
}

.imgText .uniformSpacing .imgContainer.iconeRelative img{
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: auto;
    opacity: .6;
    z-index: 0;
    max-width: 100%;
    object-fit: cover;
}

.imgText .uniformSpacing .imgContainer .gerraIcone{
    position: absolute;
    right: var(--defaultSpacing);
    top: 0;
    transform: translateY(-50%);
    width: 30%;

}

.imgText .uniformSpacing .imgContainer .gerraIcone svg{
    width: 100%;
    height: auto;
}

.imgText .uniformSpacing .imgContainer img.imgFond{
    position: absolute;
    top: 0;
    right: 0;
    transform: translateY(50%);
    height: 100%;
    width: auto;
    z-index: 1;
    opacity: .5;
    border-radius: initial;
}

@media screen and (max-width: 900px) {
    .imgText .uniformSpacing{
        flex-direction: column;
        gap: 1.5em;
    }
    .imgText .uniformSpacing > div,
    .imgText .uniformSpacing .imgContainer.heightAuto{
        width: 100%;
    }

    .imgText .uniformSpacing > div{
        padding-top: 0;
    }

    .imgText .introText{
        margin-bottom: 0;
    }

    .imgText .uniformSpacing .imgContainer.iconeRelative{
        margin-top: 3em;
    }

    .imgText .uniformSpacing .imgContainer img.imgFond{
        display: none;
    }

}

/* END imgText */

/* START listingService */
.listingService .uniformSpacing{
    display: flex;
    flex-direction: column;
    gap: 2.5em;
}

.listingService .uniformSpacing .services{
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
}

.listingService .uniformSpacing .services a{
    width: calc((100% - 1em * 2) / 3);
    height: auto;
    aspect-ratio: 16/9;
    display: flex;
    align-items: flex-end;
    padding: 2.5em 1.5em;
}

.listingService .uniformSpacing .services a h3{
    width: 50%;
    border-top: 2px solid var(--basicWhite);
    padding-top: 1.5em;
}

@media screen and (max-width: 1200px) {
    .listingService .uniformSpacing .services a h3{
        width: 100%;
    }
}

@media screen and (max-width: 900px) {
    .listingService .uniformSpacing .services a{
        width: 100%;
        aspect-ratio: 21/9;
    }
}
/* END listingService */

/* START listingExpertises */
.listingExpertises .gerraIcone{
    position: absolute;
    right: var(--defaultSpacing);
    top: 0;
    transform: translateY(-50%);

}

.listingExpertises .uniformSpacing{
    display: flex;
    flex-direction: column;
    gap: 2.5em;
}

.listingExpertises .uniformSpacing .introText{
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
}

.listingExpertises .uniformSpacing .introText > div{
    width: 40%;
}

.listingExpertises .uniformSpacing .introText > p{
    width: 50%;
}

.listingExpertises .uniformSpacing .expertise {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5em;
}

.listingExpertises .uniformSpacing .expertise > div {
    display: flex;
    align-items: flex-end;
    width: calc((100% - 1.5em * 4) / 5);
    height: auto;
    aspect-ratio: 3/4;
    padding: 1.5em;
}

@media screen and (max-width: 1400px) {
    .listingExpertises .uniformSpacing .expertise > div{
        width: calc((100% - 1.5em * 2) / 3);
    }
}

@media screen and (max-width: 800px) {
    .listingExpertises .uniformSpacing .introText{
        flex-direction: column;
    }

    .listingExpertises .uniformSpacing .introText > div,
    .listingExpertises .uniformSpacing .introText > p{
        width: 100%;
    }

    .listingExpertises .gerraIcone svg{
        width: 5em;
    }
}


@media screen and (max-width: 700px) {
    .bigSpacing {
        padding: var(--defaultSpacing)
    }
}

@media screen and (max-width: 650px) {
    .listingExpertises .uniformSpacing .expertise > div{
        width: calc((100% - 1.5em ) / 2);
    }
}



@media screen and (max-width: 500px) {
    .listingExpertises .uniformSpacing .expertise > div{
        width: 100%;
        aspect-ratio: 16 / 9;
    }
}


/* END listingExpertises */


/* START listingActu */
.listingActu .uniformSpacing{
    display: flex;
    flex-direction: column;
    gap: 2.5em;
}

.listingActu .listing{
    display: flex;
    gap: 2.5em;
}

.listingActu .listing .element{
    display: flex;
    flex-direction: column;
    gap: 1.5em;
    padding: 1.5em;
    box-shadow: 0px 0px 15px #00000029;
}


.listingActu .listing .element .imgContainer img{
    width: 100%;
    height: auto;
    aspect-ratio: 21/9;
    object-fit: cover;
}

.listingActu .listing .element .imgContainer .date{
    position: absolute;
    bottom: 1.5em;
    left: 1.5em;
}

.listingActu .listing .element .btn{
    padding: .25em .75em;
    width: fit-content;
}


/* END listingActu */
