














main#index{
    display:grid;
    grid-template-areas: 
        "introduction"
        "presentation"
        "services"
        "booking"
        "indications"
        "contre-indications"
        "warning";

}

/* effet apparition */
main#index > section > .content,
main#index > section#booking  article{
    opacity:0;
    transition: opacity 1s;
}
main#index > section > .content.visible,
main#index > section#booking article.visible{
    opacity:1;

}

section#introduction{   grid-area: introduction}
section#presentation{   grid-area: presentation}
section#services{       grid-area: services}
section#booking{        grid-area: booking}
section#warning{        grid-area: warning}


section#introduction{
    height: 500px;
}

section#introduction > .content > p{
    text-align: center;
}

section > .content > img#introductionLogo{
    width:100%;
}


section#booking > .articles > article:nth-child(2) > h2{
    color:var(--main-color);    
    font-size:2em;
    white-space: nowrap;
}
section#booking > .articles > article:nth-child(2) > svg{
    fill:var(--main-color);
}


button.book{
    display: block;
    border: none;
    border-radius: 5px;
    padding: 20px 40px;
    background: var(--main-color);
    font-size: 1.2em;
    margin: 20% auto;
    width:80%;
    color: rgb(255, 255, 255);
    cursor: pointer;
}

button.book a{
    text-decoration: none;
}

.jour-semaine{
    display: inline-block;
    width:100px;
}

.horaire{
    display: inline-block;
}


.slider{
    white-space: nowrap;
}





/* ================================ Rendez-vous ======================================= */

main#rendezVous section{
    margin:0 0 120px 0;
}

main#rendezVous section > .content{
    text-align:center;
    margin:0;
}

main#rendezVous .step-nb{
    text-align: center;
    border: 3px solid black;
    background: var(--section-background-2);

    font-size:21px;
    line-height:50px;
    width: 50px;
    height: 50px;
    margin: 0 auto 10px auto;
    
    border-radius: 50%;
    padding: 0px;
}

/* -------------------- Rendez-vous / services ----------------------------- */

main#rendezVous #services article{
    filter:saturate(0);
    transition: filter 1s;
    width:300px;
    min-width:auto;
    min-height:auto;
}
main#rendezVous #services article:hover{
    background-color: var(--article-hover-background);
    filter:saturate(1);
}
main#rendezVous #services article.selected{
    background-color: var(--main-color);
    color:var(--text-light-color);
    filter:saturate(1);
}


main#rendezVous #services article input[type="radio"]{
    visibility: hidden;
    position:absolute;
}
/* -------------------- Rendez-vous / horaires ----------------------------- */

main#rendezVous #selection-horaire{
    display:grid;
    grid-template-columns:150px auto 150px;
    user-select: none;
    margin: 0 auto 40px auto;
}


main#rendezVous #selection-horaire .day{
    display: inline-block;
    vertical-align: top;
}

main#rendezVous #selection-horaire .previous,
main#rendezVous #selection-horaire .next{
    vertical-align: top;
}

main#rendezVous #selection-horaire .previous > div,
main#rendezVous #selection-horaire .next > div{
    display: inline-block;
    cursor: pointer;
    font-size: 2em;
    font-weight: bold;
    border-radius: 11px;
    box-shadow: -1px 1px 3px 1px #6b8367;
    padding: 0 10px;
    margin: 10px;
}
main#rendezVous #selection-horaire .horaires{
    width: 80vw;
    overflow: hidden;
}

main#rendezVous #selection-horaire .horaires .label{
    text-align: center;
    line-height: 1.5em;
    margin-bottom: 20px;
}
main#rendezVous #selection-horaire .horaires .label .date{
    font-size: 0.8em;
}
main#rendezVous #selection-horaire .horaires .horaire{
    display: block;
    margin:10px;
    background:var(--section-background-2);
    color:var(--section-text-color);
    text-align:center;
    width:100px;
    border-radius: 20px;
    cursor:pointer;
}
main#rendezVous #selection-horaire .horaires .horaire:hover{
    background:var(--article-hover-background);
}
main#rendezVous #selection-horaire .horaires .horaire.selected{
    background: var(--main-color);
    color:var(--text-light-color);
}

/* -------------------- Rendez-vous / confirmation ----------------------------- */



main#rendezVous #confirmation input[type="text"]{
    padding:5px;
    font-size:1.1em;
    width:450px;
}

/* -------------------- Rendez-vous / contre-indications ----------------------------- */
main#rendezVous #contre-indications ul.warning{
    text-align: left;
}
/* -------------------- Rendez-vous / confirme ----------------------------- */

main#rendezVous #confirme .content b{
    color:var(--success-color);
}
main#rendezVous #confirme .content button{
    border: none;
    border-radius: 5px;
    padding: 7px 20px;
    background-color: var(--success-color);
    color:var(--text-light-color);
    font-size: 1.1em;
    cursor: pointer;
}


/* ================================ Rendez-vous-confirmation ======================================= */


main#legal{
    width:80vw;
    max-width:800px;
    margin:auto;
}