/* START specialHero */
.specialHero {
    height: 80vh;
    position: relative;
}

.specialHero .uniformSpacing {
    display: flex;
    height: 100%;
    justify-content: center;
    gap: 5em;
    flex-direction: column;
}

.specialHero .uniformSpacing > div {
    width: 50%;
}

.specialHero .uniformSpacing .imgContainer {
    position: absolute;
    height: 40vh;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 35%;
}

.specialHero .uniformSpacing .imgContainer img {
    position: absolute;
    top: 50%;
    height: 110%;
    width: auto;
    aspect-ratio: 1/1;
    transform: translate(-50%, -50%);
}

@media screen and (max-width: 1000px) {
    .specialHero{
        display: flex;
        align-items: start;
    }

    .specialHero .uniformSpacing{
        height: auto;
    }

    .specialHero .uniformSpacing > div{
        width: 100%;
    }

    .specialHero .uniformSpacing .imgContainer {
        top: initial;
        bottom: 3em;
        transform: initial;
        height: 30vh;
    }
}

@media screen and (max-width: 650px) {
    .specialHero .uniformSpacing .imgContainer {
        height: 20vh;
        width: 50%;
    }
}


/* END specialHero */

/* START imgText */
.imgText .uniformSpacing {
    display: flex;
    gap: 2em;
}

.imgText .uniformSpacing .textContainer {
    display: flex;
    flex-direction: column;
    gap: 1.5em;
}

.imgText .uniformSpacing img,
.imgText .uniformSpacing .textContainer {
    width: 50%;
    height: auto;
    object-fit: contain;
}

.imgText .uniformSpacing .textContainer .intro {
    margin-bottom: 0;
    align-items: flex-start;
}


.imgText .uniformSpacing .textContainer .legendeText {
    display: flex;
    flex-direction: column;
    gap: .5em;
}

.imgText .uniformSpacing .textContainer .legendeText p {
    display: flex;
    gap: .5em;
}

.imgText .uniformSpacing .textContainer .legendeText p span:not(.editor-content) {
    width: 1em;
    height: 1em;
    border-radius: 100%;
}

@media screen and (max-width: 1000px) {
    .imgText .uniformSpacing{
        flex-direction: column-reverse;
    }

    .imgText .uniformSpacing img, .imgText .uniformSpacing .textContainer{
        width: 100%;
    }
}

/* END imgText */

/* START sliderResto */
.sliderResto {
    display: flex;
    flex-direction: column;
    gap: 3.5em;
}

.sliderResto .bigSpacing {
    padding-bottom: 0;
}

.sliderResto .textContainer {
    display: flex;
    flex-direction: column;
    gap: 1.5em;
}

.sliderResto {
    padding-bottom: calc(var(--defaultSpacing) * 2)
}

.sliderResto .horizontalScroll {
    margin: 0;
    padding: 0 1.5em;
}

.sliderResto .sliderWrapper {
    gap: 1.5em;
    width: 15em;
    height: auto;
    aspect-ratio: 1/1;
}

.sliderResto .sliderWrapper .sliderSlide {
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.sliderResto .sliderWrapper .sliderSlide .mainLink {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    height: 100%;
    padding: 1em;
}

.sliderResto .sliderWrapper .sliderSlide .mainLink p{
    border-radius: var(--basicRadius);
    padding: 1em 1.75em;
}

/* END sliderResto */

/* START semiBandeauVideo */

.semiBandeauVideo {
    position: relative;
}

.semiBandeauVideo .bgRed {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    /*
    width: calc(((1920px - 1500px) / 2) + 1080px);
    */
    width: 75%;
    border-radius: 0 326px 326px 0;
}

.semiBandeauVideo .uniformSpacing {
    display: flex;
    gap: 2em;
    position: relative;
}

.semiBandeauVideo .uniformSpacing .textContainer {
    width: 60%;
    display: flex;
    flex-direction: column;
    gap: 1.5em;
}

.semiBandeauVideo .uniformSpacing .textContainer .listLogo {
    display: flex;
    gap: 1.5em;
    justify-content: space-between;
}

.semiBandeauVideo .uniformSpacing .textContainer .listLogo > div {
    display: flex;
    flex-direction: column;
    gap: 1.25em;
    width: calc((100% - 1.5em * 2) / 3);
    align-items: center;
}

.semiBandeauVideo .uniformSpacing .textContainer .listLogo div .iconeContainer {
    background-color: var(--basicColor2);
    border-radius: 100%;
    padding: 1.5em;
    position: relative;
    width: fit-content;
    height: fit-content;
}

.semiBandeauVideo .uniformSpacing .textContainer .listLogo div .iconeContainer svg {
    height: 2.5em;
    width: 2.5em;
    position: relative;
    z-index: 2;
}

.semiBandeauVideo .uniformSpacing .textContainer .listLogo div .iconeContainer .border {
    content: " ";
    width: 90%;
    height: 90%;
    border: 1px solid var(--basicBlack);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 100%;
}

.semiBandeauVideo .uniformSpacing .imgContainer {
    width: 40%;
    height: auto;
    aspect-ratio: 1/1;
    position: relative;
}

.semiBandeauVideo .uniformSpacing .imgContainer img {
    height: 80%;
    width: auto;
    aspect-ratio: 1 / 1;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    object-fit: cover;
    border-radius: 100%;
}

.semiBandeauVideo .uniformSpacing .imgContainer .playerContainer {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: var(--basicWhite);
    border-radius: 100%;
    padding: 2em;
}

.semiBandeauVideo .uniformSpacing .imgContainer .playerContainer .bgButton {
    position: absolute;
    z-index: 0;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgba(255, 255, 255, 0.3);
    border-radius: 100%;
    width: 115%;
    height: 115%;
}

.semiBandeauVideo .uniformSpacing .imgContainer .playerContainer svg {
    width: 1.5em;
    height: 1.5em;
    position: relative;
    cursor: pointer;
}

@media screen and (max-width: 1000px) {
    .semiBandeauVideo .uniformSpacing .imgContainer img {
        height: auto;
        width: 100%;
    }

    .semiBandeauVideo .uniformSpacing .textContainer {
        width: 90%;
    }

    .semiBandeauVideo .bgRed {
        width: 85%;
    }

    .semiBandeauVideo .uniformSpacing .imgContainer .playerContainer {
        padding: 1.5em;
    }
}

@media screen and (max-width: 800px) {
    .semiBandeauVideo .bgRed {
        width: 95%;
        border-radius: 0 var(--basicRadius) var(--basicRadius) 0;
    }

    .semiBandeauVideo .uniformSpacing {
        flex-direction: column;
        justify-content: center;
        padding-right: 2em;

    }

    .semiBandeauVideo .uniformSpacing .textContainer {
        width: 100%;
    }

    .semiBandeauVideo .uniformSpacing .imgContainer {
        width: 100%;
        display: flex;
        justify-content: center;
        aspect-ratio: initial;
    }

    .semiBandeauVideo .uniformSpacing .imgContainer img {
        height: 10em;
        width: auto;
        position: relative;
        top: initial;
        left: initial;
        transform: initial;
    }
}
@media screen and (max-width: 500px) {
    .semiBandeauVideo .uniformSpacing .textContainer .listLogo {
        flex-wrap: wrap;
        justify-content: center;
    }

    .semiBandeauVideo .uniformSpacing .textContainer .listLogo > div {
        min-width: fit-content;
        align-items: center;
    }
}


/* END semiBandeauVideo */
/* START chiffres */
.chiffres {
    background-color: #F5F8FD;
}

.chiffres .uniformSpacing {
    display: flex;
    gap: 2.5em;
    justify-content: space-between;
    flex-wrap: wrap;
}

.chiffres .uniformSpacing .element {
    width: calc((100% - 2.5em * 2) / 3);
    display: flex;
    flex-direction: column;
    gap: .5em;
    padding: 1.5em;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 3px 15px #0000004D;
    background-color: var(--basicWhite);
}
@media screen and (max-width: 850px) {
    .chiffres .uniformSpacing{
        gap: 1.5em;
    }

    .chiffres .uniformSpacing .element {
        width: 100%;
    }
}


/* END chiffres */
/* START frises */
.frises {
    background-color: #F5F8FD;
}

.frises .uniformSpacing {
    display: flex;
}

.frises .uniformSpacing .element.lvl1 {
    width: 100%;
}

.frises .uniformSpacing .element:not(.lvl1) {
    width: 80%;
}

.frises .uniformSpacing .element {
    border-radius: 1000px;
    display: flex;
}

.frises .uniformSpacing .element .elementContainer {
    display: flex;
    flex-direction: column;
    gap: 1em;
    padding: 1.5em 3.5em 1.5em 3.5em;
}

.frises .uniformSpacing .element:not(.lvl4) > .elementContainer {
    align-items: flex-end;
    width: min-content;
}

.frises .uniformSpacing .element .elementContainer div {
    display: flex;
    gap: 1em;
    align-items: flex-end;
}

.frises .uniformSpacing .element .elementContainer div p {
    line-height: .5;
}

.frises .uniformSpacing .element .elementContainer div img {
    width: auto;
    height: auto;
}
@media screen and (max-width: 1650px) {
    .frises .uniformSpacing .element .elementContainer{
        padding: 1.5em 1.5em 1.5em 2.5em;
    }
}

@media screen and (max-width: 1400px) {
    .frises .uniformSpacing .element .elementContainer div{
        flex-direction: column-reverse;
    }

    .frises .uniformSpacing .element .elementContainer div,
    .frises .uniformSpacing .element:not(.lvl4) > .elementContainer{
        align-items: flex-start;
        gap: 1em;
    }

    .frises .uniformSpacing .element:not(.lvl4) > .elementContainer{
        padding-left: 1em;
    }

    .frises .uniformSpacing .element:not(.lvl4) > .elementContainer{
        width: 15em
    }

    .frises .uniformSpacing .element .elementContainer div p{
        line-height: initial;
    }
}

@media screen and (max-width: 1050px) {
    .frises .uniformSpacing .element{
        display: flex;
        flex-direction: column;
        border-radius: var(--basicRadius);
        width: 100% !important;
    }

    .frises .uniformSpacing .element .elementContainer{
        width: auto !important;
        flex-direction: row;
        align-items: center;
    }


    .frises .uniformSpacing .element .elementContainer div{
        flex-direction: row;
        align-items: center;
    }

    .frises .uniformSpacing .element .elementContainer {
        padding: 1.5em 1.5em 1.5em 1.5em;
    }
}

@media screen and (max-width: 450px) {
    .frises .uniformSpacing .element .elementContainer{
        flex-direction: column;
        align-items: center !important;
    }

    .frises .uniformSpacing .element .elementContainer > p {
        text-align: center;
    }

    .frises .uniformSpacing .element .elementContainer div{
        flex-direction: column-reverse;
        align-items center;
    }
}


/* END frises */
/* START videoText */
.videoText {
    background-color: #F5F8FD;
}

.videoText .uniformSpacing {
    display: flex;
    flex-direction: column;
    gap: 2.5em;
}

.videoText .firstContainer {
    display: flex;
    gap: 3em;
}

.videoText .firstContainer .containerVideo {
    max-height: 20em;
    position: relative;
    width: 40%;
}

.videoText .firstContainer .containerVideo img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    border-radius: 1000px;
}


.videoText .firstContainer .textContainer {
    display: flex;
    flex-direction: column;
    gap: 1.5em;
    width: 60%;
}

.videoText .firstContainer .textContainer .intro {
    align-items: flex-start;
}

.videoText .firstContainer .textContainer .listing {
    display: flex;
    flex-direction: column;
    gap: 1em;
}

.videoText .firstContainer .textContainer .listing div {
    display: flex;
    gap: .5em;
}


.videoText .firstContainer .textContainer .listing div svg {
    width: 1em;
    height: 1em;
}

.videoText .firstContainer .textContainer .listing div svg path {
    fill: var(--basicColor1);
}

.videoText svg {
    width: 2em;
    height: 2em;
}

.videoText .firstContainer .containerVideo .playerContainer {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: var(--basicWhite);
    border-radius: 100%;
    padding: 2em;
}

.videoText .firstContainer .containerVideo .playerContainer .bgButton {
    position: absolute;
    z-index: 0;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgba(255, 255, 255, 0.3);
    border-radius: 100%;
    width: 115%;
    height: 115%;
}

.videoText .firstContainer .containerVideo .playerContainer svg {
    width: 1.5em;
    height: 1.5em;
    position: relative;
    cursor: pointer;
}

.videoText .listingVideo {
    display: flex;
    gap: 1.5em;
    flex-wrap: wrap;
}

.videoText .listingVideo .containerVideo {
    width: calc((100% - 1.5em * 4) / 5);
    position: relative;
}

.videoText .listingVideo .containerVideo img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 100px;
}

.videoText .listingVideo .containerVideo .playerContainer {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: var(--basicWhite);
    border-radius: 100%;
    padding: 1em;
}

.videoText .listingVideo .containerVideo .playerContainer .bgButton {
    position: absolute;
    z-index: 0;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgba(255, 255, 255, 0.3);
    border-radius: 100%;
    width: 115%;
    height: 115%;
}

.videoText .listingVideo .containerVideo .playerContainer svg {
    width: 1em;
    height: 1em;
    position: relative;
    cursor: pointer;
}

@media screen and (max-width: 1200px) {
    .videoText .listingVideo .containerVideo{
        width: calc((100% - 1.5em * 2) / 3)
    }
}

@media screen and (max-width: 700px) {
    .videoText .firstContainer{
        flex-direction: column;
    }

    .videoText .firstContainer .containerVideo,
    .videoText .firstContainer .textContainer{
        width: 100% ;
    }

    .videoText .firstContainer .containerVideo img{
        max-height: 20em;
    }
}

@media screen and (max-width: 700px) {
    .videoText .listingVideo .containerVideo{
        width: calc((100% - 1.5em) / 2)
    }
}

@media screen and (max-width: 500px) {
    .videoText .listingVideo .containerVideo{
        width: 100%;
    }
}

/* END videoText */
/* START contact */
section.contact {
    background-color: #F5F8FD;
}

.contact .contactContainer {
    max-width: 1800px;
    margin: 0 auto;
    border-radius: 1000px;
}


.contact .contactContainer .smallUniformSpacing {
    display: flex;
    gap: 3em;
    padding-left: 0;
    padding-right: 0;
}

.contact .contactContainer .smallUniformSpacing .containerInfo {
    display: flex;
    flex-direction: column;
    gap: 1.5em;
    width: 50%;
}

.contact .contactContainer .smallUniformSpacing .containerInfo .phoneContainer,
.contact .contactContainer .smallUniformSpacing .containerInfo .mailContainer {
    display: flex;
    gap: 1em;
    align-items: center;
}

.contact .contactContainer .smallUniformSpacing .containerInfo .phoneContainer .iconeContainer,
.contact .contactContainer .smallUniformSpacing .containerInfo .mailContainer .iconeContainer {
    padding: 1em;
    border-radius: 100%;
}

.contact .contactContainer .smallUniformSpacing .containerInfo .phoneContainer .iconeContainer svg,
.contact .contactContainer .smallUniformSpacing .containerInfo .mailContainer .iconeContainer svg {
    width: 1.75em;
    height: 1.75em;
}


.contact .contactContainer .smallUniformSpacing .containerInfo .horairesContainer {
    padding: 2em;
    border-radius: var(--smallRadius);
    width: fit-content;
    display: flex;
    flex-direction: column;
    gap: .5em;
}

.contact .contactContainer .smallUniformSpacing form {
    display: flex;
    flex-direction: column;
    gap: 1em;
    width: 50%;
}

.contact .contactContainer .smallUniformSpacing form input,
.contact .contactContainer .smallUniformSpacing form textarea {
    width: 100%;
    background-color: white;
    border: none;
    padding: 1em 2em;
    border-radius: var(--smallRadius);
    font-size: 1em;
}

.contact .contactContainer .smallUniformSpacing form textarea {
    height: 100%;
}

.contact .contactContainer .smallUniformSpacing form .submitContainer button {
    padding: 1em 1.75em;
    border-radius: var(--smallRadius);
    border: none;
    transition: ease all .3s;
}

.contact .contactContainer .smallUniformSpacing form .submitContainer button:hover {
    background-color: var(--basicWhite);
    color: var(--basicColor1);
}

@media screen and (max-width: 1700px) {
    .contact .contactContainer{
        padding: 0 10em;
    }
}

@media screen and (max-width: 1200px) {
    .contact .contactContainer .smallUniformSpacing{
        flex-direction: column;
    }

    .contact .contactContainer .smallUniformSpacing .containerInfo,
    .contact .contactContainer .smallUniformSpacing form {
        width: 100%;
    }

    .contact .contactContainer{
        border-radius: var(--basicRadius);
    }

    .contact .contactContainer{
        padding: 0 calc(var(--defaultSpacing) * 2);
    }
}

@media screen and (max-width: 800px) {
    .contact .contactContainer{
        padding: 0 calc(var(--defaultSpacing) * 1.5)
    }
}

@media screen and (max-width: 700px) {
    .contact .contactContainer{
        padding: 0 var(--defaultSpacing)
    }
}

@media screen and (max-width: 500px) {
    section.contact,
    .contact .contactContainer {
        padding-left: 1em;
        padding-right: 1em
    }

    .containerInfo h2{
        text-align: center;
    }

    .contact .contactContainer .smallUniformSpacing .containerInfo .phoneContainer,
    .contact .contactContainer .smallUniformSpacing .containerInfo .mailContainer{
        flex-direction: column;
        align-items: center;
    }

    .contact .contactContainer .smallUniformSpacing .containerInfo .phoneContainer p,
    .contact .contactContainer .smallUniformSpacing .containerInfo .phoneContainer a,
    .contact .contactContainer .smallUniformSpacing .containerInfo .mailContainer p,
        .contact .contactContainer .smallUniformSpacing .containerInfo .mailContainer a{
        text-align: center;
    }
}


/* END contact */
