/*centre le loading spinner sur la page entière*/
.loading.spinner{
    display: flex;
    position: fixed;
    width: 100vw;
    height: 100vh;
    left: 0px;
    align-items: center;
    justify-content: center;
}

.loading i{
    position: fixed;
    width: 100px;
    font-size: 100px;
}

/*animation du loading spinner
1ere étape : icone "fourchette" couleur blanc à #9356DC(violet) avec rotation et grossissement x2
2ème étape : icone "verre" couleur #9356DC(violet) à #FF79DA(rose) avec rotation et grossissement x2
3ème étape : icone "couvercle" couleur #FF79DA(rose) à #99E2D0(vert) avec rotation et grossissement x2
 */

 @keyframes loading-Spinner1{
    0%{
        opacity:1;
        color:white;
        transform: rotate(0deg) scale(0);
    }
    
    100%{
        opacity:1; 
        transform: rotate(360deg) scale(2);
        color:#9356DC;
    }
}

@keyframes loading-Spinner2{
    0%{
        opacity:1;
        transform: rotate(0deg) scale(2);
        color:#9356DC;
    }
   
    100%{
        opacity:1; 
        transform: rotate(360deg) scale(0);
        color:#FF79DA;
    }
}

@keyframes loading-Spinner3{
    0%{
        opacity:1;
        transform: rotate(0deg) scale(0);
        color:#FF79DA;
    }
   
    100%{
        opacity:1; 
        transform: rotate(360deg) scale(2);
        color:#99E2D0;
    }
}

/*affichage header/main/footer après l'animation du loading spinner 3secondes*/
@keyframes affichage-Page{
    0%{
        opacity:0;
    }
    100%{
        opacity:1; 
    }
}

.spinnerun {opacity:0;animation: loading-Spinner1 1s ease-in-out 0s;}
.spinnerdeux {opacity:0;animation: loading-Spinner2 1s ease-in-out 1s;}
.spinnertrois {opacity:0;animation: loading-Spinner3 1s ease-in-out 2s;}

header{opacity: 0;animation: affichage-Page 100ms ease-in-out 3s forwards;}
main{opacity: 0;animation: affichage-Page 100ms ease-in-out 3s forwards;}
footer{opacity: 0;animation: affichage-Page 100ms ease-in-out 3s forwards;}


header{
    box-shadow: 0px 5px 5px #dbdbdb;
}

.localisation{
    display: flex;
    justify-content: center;
    background: #eaeaea;
    margin-top: 4px;
}

.localisation i{
    /*dimensionne l'icone*/
    width: 50px;
    height: 50px;
    font-size: 20px;
    /*permet de centrer l'icône*/
    display: flex;
    align-items: center;
    justify-content: center;
}

.localisation p{
    margin: 0px;
    font-weight: 500;
    font-size: 20px;
    align-self: center;
}


.presentation{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #f6f6f6;
    height: 300px;
}

.presentation h2, .presentation p{
    width: 80%;
    text-align: center;
    margin: 0px;
}

.presentation h2{
    margin-top: 40px;
    padding-bottom: 20px;
}

.presentation p{
    font-weight: 300;
    font-size: 20px;
    padding-bottom: 40px;
    color: #666666;
}

.presentation button{
    font-size: 20px;
    padding: 15px 25px;
    margin-bottom: 40px;
    border-radius: 30px;
    color: white;
    border: none;
    background: linear-gradient(to bottom right,#FF79DA, #9356DC);
    box-shadow: -2px 5px 10px 3px #cecece;
}

.presentation button:hover{
    background: linear-gradient(to bottom right,rgb(255, 121, 218,0.8), rgb(147, 86, 220,0.8));
    box-shadow: -2px 5px 10px 3px #2c2626;
}








.fonctionnement {
    display: flex;
    flex-direction: column;
}

.fonctionnement h2{
    margin-top: 50px;
}

.btnFonctionnement{
    display: flex;
    flex-direction: row;
    background: #f6f6f6;
    border-radius: 30px;
    margin-bottom: 30px;
    align-items: center;
    justify-content: flex-start;
    box-shadow: -2px 5px 10px 3px #efefef;
}

.btnFonctionnement:hover{
    background: rgb(147, 86, 220,0.2);
}

.btnFonctionnement:hover i{
    color: #9356DC;
}

.btnFonctionnement .numero{
    background: #9356DC;
    color: white;
    font-weight: bold;
    width: 30px;
    height: 30px;
    /*arrondir l'icone*/
    border-radius: 40px;
    /*centrer l'icone dans son cercle*/
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 40px;
    margin-left: -15px;
}

.btnFonctionnement i{
    font-size: 25px;
    color: #828282;
}

.btnFonctionnement p{
    font-size: 17px;
    font-weight: bold;
    margin: 30px;
}








.restaurant{
    background: #f6f6f6;
    /*espacement de 20 px à l'intérieur du bloc*/
     padding: 40px 20px;
     margin-top: 40px;
     display: flex;
     flex-direction: column;
}

/*mise en forme de la carte restaurant*/
.restaurant .carte{
    height: 300px;
    background-color: #FFF;
    border-radius: 20px 20px 20px 20px;
    /*espacement de 30 px entre chaque carte des lignes des blocs*/
    margin-bottom: 30px;
    box-shadow: -2px 5px 10px 3px #efefef;
    position: relative;
}

.restaurant .carte:hover{
    opacity: 0.8;
    box-shadow: -2px 5px 10px 3px #2c2626;
}

/*mise en forme de l'image de la carte restaurant*/
.restaurant .carte img{
    width: 100%;
    height: 70%;
    /*arrondi seulement sur le haut de l'image*/
    border-radius: 20px 20px 0px 0px;
    /*Permet d'ajuster l'image au bon format*/
    object-fit: cover;
}

.carte .nouveau{
    font-size: 20px;
    font-weight: 500;
    padding: 10px 20px 10px 20px;
    position: absolute;
    right: 30px; 
    margin-top: 20px;
    border-radius: 5px;
    color : #008766;
    background: #99E2D0;
}

.container{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    height: 30%;
    padding: 0px 15px 0px 15px;
    position: relative;
}

.description{
    align-self: center;
}

.container h3,p{
    margin:0px;
    font-size: 20px;
}

.container h3{
    font-size: 20px;
    padding-bottom: 10px;
}

.container p{
    font-weight: 300;
}




/*responsive pour écran supérieur à 700px*/
@media screen and (min-width: 700px) {
    .desktop{
        display: flex;
        flex-direction: row;
        justify-content: space-between;
    }
    .presentation {
        width:50%;
        height: 500px;
        background: white;
     }
    .fonctionnement{
         width: 50%;
     }

    .restaurant{
        flex-wrap: wrap;
        flex-direction: row;
        justify-content: space-around;
    }

    .restaurant h2{
        width: 100%;
        margin-top: 0px;
        text-align: center;
    }

    .restaurant a{
      width: 45%;
    }
}