/* 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) * 2);
}

.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 end */

/* 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 .introText .date{
    width: 100%;
    display: flex;
    justify-content: flex-end;
}

.imgText .introText .date div{
    padding: 2.5em 0;
    overflow: hidden;
    display: flex;
    align-items: center;
}

.imgText .introText .date div p{
    position: relative;
    z-index: 1;
    min-width: 100%;
}


.imgText .introText .date div img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    min-height: 100%;
    z-index: 0;
}


.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;
    }

}
@media screen and (max-width: 600px) {
    .imgText .uniformSpacing .imgContainer.iconeRelative{
        padding: 2.5em;
    }
}



/* END imgText */

/* START equipeListing */
.equipeListing .uniformSpacing{
    display: flex;
    flex-direction: column;
    gap: 2.5em;
}

.equipeListing .uniformSpacing > div{
    width: 100%;
}


.equipeListing .uniformSpacing > div > *{
    position: relative;
    z-index: 1;
}

.equipeListing .uniformSpacing .firstContainer{
    display: flex;
    gap: 1.5em;
    justify-content: space-between;
}

.equipeListing .uniformSpacing .introText{
    width: 50%;
}

.equipeListing .uniformSpacing  .equipeCards{
    display: flex;
    flex-wrap: wrap;
    gap: 2.5em;
    width: 45%;
}

.equipeListing .uniformSpacing  .equipeCards .element{
    display: flex;
    flex-direction: column;
    gap: 1.5em;
    width: calc((100% - 2.5em) / 2);
}

.equipeListing .uniformSpacing  .equipeCards .element div{
    display: flex;
    flex-direction: column;
    gap: .5em;
}

.equipeListing .uniformSpacing  .equipeCards .element img{
    width: 100%;
    height: auto;
    aspect-ratio: 3/4;
    object-fit: cover;
    object-position: top;
}

.equipeListing .uniformSpacing .secondContainer  {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5em;
}

.equipeListing .uniformSpacing .secondContainer .introText  {
    display: flex;
    gap: 0;
    width: 35%;

}

.equipeListing .uniformSpacing .secondContainer > img  {
    position: absolute;
    z-index: 0;
    bottom: 0;
    left: 0;
    height:calc(100% + 5em);
    width: auto;
    max-width: 100%;
    opacity: .5;
}

.equipeListing .uniformSpacing .littleEquipe  {
    width: 60%;
}

.equipeListing .uniformSpacing .secondContainer .equipeCards {
    gap: 1em;
}

.equipeListing .uniformSpacing .secondContainer .equipeCards .element{
    width: calc((100% - 1em * 3) / 4);
}


@media screen and (max-width: 1400px) {
    .equipeListing .uniformSpacing .equipeCards{
        gap: 1em;
    }

    .equipeListing .uniformSpacing  .equipeCards .element{
        width: calc((100% - 1em) / 2);
    }
}

@media screen and (max-width: 1200px) {
    .equipeListing .uniformSpacing .secondContainer	{
        flex-direction: column;
    }

    .equipeListing .uniformSpacing .firstContainer{
        flex-direction: column-reverse;
    }

    .equipeListing .uniformSpacing .equipeCards,
    .equipeListing .uniformSpacing .introText,
    .equipeListing .uniformSpacing .secondContainer .introText,
    .equipeListing .uniformSpacing .secondContainer .equipeCards{
        width: 100%;
    }

}

@media screen and (max-width: 650px) {
    .equipeListing .uniformSpacing .secondContainer .equipeCards .element{
        width: calc((100% - 1em) / 2);
    }

    .equipeListing .uniformSpacing  .equipeCards .element{
        width: 100%;
    }
}

/* END equipeListing */


/* START partenaireListing */
.partenaireListing .uniformSpacing{
    display: flex;
    flex-direction: column;
    gap: 2.5em;
}

.partenaireListing .uniformSpacing .partenaires{
    display: flex;
    flex-wrap: wrap;
    gap: 1.5em;
}

.partenaireListing .uniformSpacing .partenaires .element{
    width: calc((100% - 1.5em * 4) / 5);
    height: auto;
    display: flex;
    justify-content: center;
}

.partenaireListing .uniformSpacing .partenaires .element img{
    height: 5em;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}

@media screen and (max-width: 1200px) {
    .partenaireListing .uniformSpacing .partenaires .element{
        width: calc((100% - 1.5em * 2) / 3);
    }

}

@media screen and (max-width: 700px) {
    .partenaireListing .uniformSpacing .partenaires .element{
        width: calc((100% - 1.5em) / 2);
    }

}

@media screen and (max-width: 500px) {
    .partenaireListing .uniformSpacing .partenaires .element{
        width: 100%;
    }

}


/* END partenaireListing */
