/*GENERAL*/
*{
    margin: 0;
}

body{
    margin: 0 auto;
    padding: 0 2%;
    font-family: 'Raleway', sans-serif;
    max-width: 1400px;
}

.bold{
    font-weight: 700;
}

h1{
    font-size: 22px;
    margin-bottom: 8px;
}

h2, input{
    font-size: 18px;
}

h3{
    font-size: 16px;
}

p{
    font-weight: 400;
    font-size: 14px;
}

a{
    font-size: 16px;
    text-decoration: none;
    color: #000000
}

.price{
    font-weight: 600;
}

img{
    object-fit: cover;
}

/*HEADER*/

    /*TOP-BAR*/
#top-bar{
    display: flex;
    justify-content: space-between;
    align-items:flex-end;
    padding-bottom: 59px;
    width: 100%;
}

#logo{
    width: 61px;
    height: 19px;
}

nav{
    width:25%;
}

ul{
   padding:0;
   margin:0;
   display: flex;
   justify-content: center;
   align-items: center;
}

li{
    width: 100%;
    list-style: none;
}

li a{
    display:block;
    list-style: none; 
    width:100%;
    font-weight: 500;
    text-align: center;
    padding-top: 48px;
    margin: auto;
}

li a:hover{
    padding-top:46px;
    border-top: solid 2px #0065FC;
    color:#0065FC;
}

    /*SEARCH + FILTERS*/

form{
    display: flex;
    margin: 20px 0 32px 0;
    width: 30%;
    border: solid 1px #F2F2F2;
    border-radius: 15px;
}

label{
    width: 25%;
    border-radius: 15px 0 0 15px;
    background-color:#F2F2F2;
    
}

label i{
    position: relative;
    top: 35%;
    left: 35%;
}

#search{
    border: none;
    padding: 0 12px 0 17px;
    width: 100%;
}

#submit{
    border:solid 1px #0065FC;
    border-radius: 0 14px 14px 0;
    background-color: #0065FC;
    color: #FFFFFF;
    padding: 14px 16px;
    cursor: pointer;
}


.fa-magnifying-glass{
    display: none;
}

.filters{
    display: flex;
    justify-content:flex-start;
    align-items: center;
    width: 70%;
    margin-bottom: 38px;
}

.filter-container{
    width: 100%;
    display: flex;
    justify-content: space-around;
}

.filter{
    font-size: 17px;
    border-radius: 25px;
    height: 50px;
    padding: 0 20px;
    background-color: #FFFFFF;
    border: solid 2px #D9D9D9
}

.filter:hover{
    background-color: #DEEBFF;
    cursor: pointer;
}

.filter i {
    color: #0065FC;
    margin-right: 10px;
}

.info-container{
    display: flex;
    align-items: center;
}

.info{
    width: 24px;
    height:  24px;
    margin-right: 11px;
    border-radius: 50%;
    border: solid 1px #D9D9D9;
}

.info i{
    color: #0065FC;
    position:relative;
    left: 9px;
    top: 2px;
}


/*MAIN*/

#container{
    display:flex;
    justify-content: space-between;
    width:100%;
    height: auto;
    margin-top: 40px;
}

.fa-star, .fa-chart-line{
    color: #0065FC;
}

.fa-star{
    width: 12px;
    height: auto;
    margin: 1px;
}

.fa-chart-line{
    width: 18px;
    height: auto;
}

.grey{
    color: #F2F2F2;
}

    /*HEBREGEMENTS*/

#hebergements h2{
    padding: 0 0 5px 20px;
}   

#hebergements{
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: #F2F2F2;
    border-radius: 20px;
    width:63%;
}

.container-hebergements{
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

.card{
    width: 30%;
    height: 199px;
    background-color: #FFFFFF;
    border-radius: 20px;
    margin: 15px 0;
    box-shadow: 3px 3px 3px rgb(225, 225, 225);
}

.card img{
    width: 96%;
    height: 114px;
    border-radius: 20px 20px 0 0;
    border: solid 5px #FFFFFF;
}

.hebergements-info{
    display:flex;
    flex-direction: column;
    align-items:flex-start;
    background-color: #FFFFFF;
    margin-left: 16px;
    line-height: 20px;
    width:80%;
}

.more{
    padding: 20px 0 0 20px;
    font-weight: bold;
}
    /* POPULAIRE */

#populaires{
    background-color: #F2F2F2;
    width: 33%;
    border-radius: 20px;
}

.title{
    width: 80%;
    display: flex;
    justify-content: space-between;
    margin: auto;
    padding: 30px 0 15px 0;
}

.container-populaire{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    padding-bottom: 20px;
}

.populaire-card{
    width:80%;
    margin:10px 0;
}

.populaire-card a{
    width: 100%;
    height: 144px;
    display:flex;
    background-color: #FFFFFF;
    border-radius: 20px;
    box-shadow: 3px 3px 3px rgb(225, 225, 225);
}

.populaire-info{
    display:flex;
    flex-direction: column;
    justify-content: space-between;
    margin: 16px 22px 12px 15px;
    line-height: 20px;
}

.img-pop{
    width: 40%;
    border-radius: 20px 0 0 20px;
    border: solid 5px #FFFFFF;
}

/* ACTIVITES */

#activites{
    margin-top: 60px;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
}

#activites h2{
    margin-bottom: 18px;
}

#activites img{
    height: 389px;
    width: 100%;
    border-radius: 20px 20px 0 0;
}

.activites-cards{
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.activites-cards a{
    border-radius: 20px;
    height: auto;
    box-shadow: 2px 2px 2px rgb(225, 225, 225);
    width: 20%;
}

.activites-cards h3{
    margin: 20px;
}

/* FOOTER */

footer{
    display: flex;
    justify-content:flex-start;
    align-items: flex-start;
    background-color: #F2F2F2;
    margin-top: 61px;
}

footer div{
    display: flex;
    flex-direction: column;
    margin: 45px 150px 58px 70px;
}

footer h2{
    line-height: 40px ;
}

footer a{
    line-height: 35px;
}


/* RESPONSIVE MOBILE*/

@media screen and (max-width:768px){
   /*GENERA*/
   body{
    padding:0;
   }
    /*HEADER*/
    header{
        width: 100%;
        margin: 0 auto;
    }

    #top-bar{
        flex-direction: column;
        align-items: center;
        padding: 20px 0 31px 0;
        width: 100%;
    }  

    nav{
        width: 100%;
    }
    
    ul{
        justify-content: space-around;
    }

    li a{
        padding-bottom: 22px;
        border-bottom: solid 2px #F2F2F2;
    }

    li a:hover{
        border-top: none;
        padding-bottom:22px;
        border-bottom: solid 2px #0065FC;
    }

    #search-bar{
        width: 90%;
        margin: 0 auto;
        padding:0;
    }

    form{
        width:100%;
        height: 50px;
        border-radius: 20px;
    }

    label{
        width: 25%;
    }

    .fa-location-dot{
        position: relative;
        top: 35%;
        left: 35%;
    }

    #search{
        width: 100%;
    }

    #submit{
        border: 2px #0065FC solid;
    }

    .none{
        display: none;
    }

    .fa-magnifying-glass{
        display: block; 
        color: #FFFFFF;
        position:relative;
        width:20%;
        top: 35%;
        left: 35%;
    }

    .icon{
        background-color: #0065FC;
        width: 25%;
        border-radius: 0 20px 20px 0;
    }

    input{
        width: 75%;
    }
    
    .filters{
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
    }

    .filters h2{
        margin-bottom: 17px;
        
    }

    .filter-container{
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .filter{
        width: 49%;
        text-align: center;
        padding: 0 10px;
        margin-bottom: 17px;
        
    }

    /*MAIN*/
    #container{
        flex-direction: column-reverse;
    }
    /*HEBERGEMENTS*/
    #hebergements{
        width: 90%;
        margin: 0 auto;
        background-color: #FFFFFF;
        border: none
    }

    #hebergements h2 {
        background-color: #FFFFFF;
        margin-top: 25px;
        padding: 0;
    }

    .container-hebergements{
        border-radius: 0;
        flex-direction: column;
        width: 100%;
        background-color: #FFFFFF;
    }

    .card{
        width: 100%;
    }

    .card img{
        width: 97%;
        height: 124px;
    }

    .more{
        display: none;
    }

    #populaires{
        width: 100%;
        border-radius: 0;
    }

    .container-populaire{
        justify-content: center;
    }

    .title{
        width:90%
    }

    .populaire-card{
        width: 90%;
        margin: 5px 0;
    }

    /*ACTIVITES*/
    #activites{
        width: 90%;
        margin: 0 auto;
    }

    #activites h2{
        margin-top: 30px;
    }

    .activites-cards{
        flex-direction: column;
    }

    .activites-cards a{
        width: 100%;
        margin: 12px 0;
    }

    #activites img{
        width: 100%;
        height:134px;
    }
    /*FOOTER*/
    footer{
        width: 100%;
        flex-direction: column;
        justify-content: center;
    }

    footer div{
        margin: 15px 0 15px 10px;
        padding-left: 4%;
    }
}

/* RESPONSIVE TABLETTE */

@media screen and (max-width:992px) and (min-width: 768px){

    /*HEADER*/

    nav{
        width: 30%;
    }

    .filters{
        width: 100%;
    }

    form{
        width: 50%;
    }

    #search{
        width: 90%;
    }

    /*HEBERGEMENTS*/

    #container{
        flex-direction: column;
        width: 100%;
    }

    #hebergements{
        padding: 40px 0;
    }

    .container-hebergements{
        padding: 20px 0;
    }

    .container-populaire{
        flex-direction: row;
        width: 99%;
        margin: auto;
        height: auto;
        padding:5px 0; 
    }

    #hebergements, #populaires{
        width: 100%;
    }

    #populaires{
        padding-bottom: 25px;
        margin-top: 40px;
        display:flex;
        flex-direction: column;
        align-items: center;
    }

    .title{
        margin-top: 20px;
        display: flex;
        width: 95%;
    }

    .populaire-card{
        width: 32%;
        margin:0 2px;
    }

    #populaires img{
       height: auto;
       width: 30%;
    }

    /*ACTIVITES*/

    #activites img{
        height:200px;
    }

    #activites h3{
        margin: 10px 0 0 15px;
        padding-bottom:5px;
    }

    /*FOOTER*/

    footer{
        padding: 20px 20px 25px 35px;
    }

    footer div{
        width: 30%;
        margin:0;
        padding: 15px;
        justify-content: center;
    }
}