:root {
    --color-blue: #0065FC;
    --color-light_blue: #DEEBFF;
    --color-grey: #F2F2F2;
  }


* {
    box-sizing: border-box;
    font-family: 'Raleway', sans-serif;
    font-family: 'Source Sans Pro', sans-serif;
}

a:hover {
    cursor: pointer;
}

#main_wrapper {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
}

#menu {
    display: flex;
    flex-wrap: wrap; 
    justify-content: space-between;
    align-items: center;
    text-align: center;
    margin: 0;

}

#menu ul {
    list-style-type: none;
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 0;
    margin: 0;

    

    
}

#menu li {
    font-size: 20px;
    margin: 0;
    display: flex;
    flex-grow: 1;
}

#menu ul a {
    border-top: 4px solid white;
    padding:35px 30px;
    flex-grow: 1;
    margin: 0;
}

header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    text-align: center;
    
}

#logo {
    max-height: 50px;
    width: auto;
    margin: 0px 30px;
    
}

a {
    text-decoration: none;
    color: black;
}

#menu ul a:hover {
    color: var(--color-blue);
    border-top: 4px solid var(--color-blue);
}

#researching_settings {
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    align-items: flex-start;
}

#site_title_and_search_bar {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 0px 40px;
}

#site_title_and_search_bar h2, #site_title_and_search_bar p {
    margin: 5px;
}


#search_bar {
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 20px 0px;
    padding: 0;

} 

form {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
}

.location_icon {
    color: black;
    padding: 15px 20px;
    background-color: var(--color-grey);
    border: 4px solid var(--color-grey);
    border-radius: 15px 0px 0px 15px;
}

input[type=search] {

    border-color: var(--color-grey);
    border-radius: 0px ;
    border-style: solid;
    border-width: 3px;
    padding: 15px 10px;
    margin: 0;
    font-weight: 700;
    font-size: 18px;
}

input[type=search]:focus {
    outline: none;
}

input[type=submit] {
 
    margin: 0;
    border-radius: 0px 15px 15px 0px;
    padding: 15px;
    border: none;
    border-style: solid;
    border-color: var(--color-blue);
    background-color: var(--color-blue);
    color: white;
    font-weight: 700;
    font-size: 18px;

}

input[type=submit]:hover, .btn_search:hover {
    background-color: blue;
    border-color: blue;
    cursor: pointer;
}

.btn_search {
    display: none;
    margin: 0;
    border-radius: 15px;
    padding: 10px 12px;
    border: none;
    border-style: solid;
    border-color: var(--color-blue);
    background-color: var(--color-blue);
    color: white;
    position: relative;
    right: 10px;

}

#searching_filters {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    flex-grow: 1;
    flex-shrink: 1;
    padding: 10px 40px;
    white-space: nowrap;


}

#searching_filters > h3 {
    margin-right: 30px;
}

.filter_card {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-content: center;
    margin: 10px 20px;
    padding: 0;
    margin-left: -40px;
    

}

.filter:hover {
    background-color: var(--color-blue);
    border-color: var(--color-blue);
    color: white;
    cursor: pointer;
}

.filter_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    background-color: var(--color-light_blue);
    border-radius: 50px;
    width: 60px;
    position: relative;
    left: 30px;
    color: var(--color-blue);

}

.filter_icon:hover {
    background-color: var(--color-blue);
    border-color: var(--color-blue);
    color: white;
    cursor: pointer;
}

.filter_icon i {
    display: flex;
    align-items: center;
    justify-content: center;
}

.filter {
    display: flex;
    justify-content: space-around;
    align-items: center;
    border: solid rgb(225, 225, 225);
    border-width: 3px 3px 3px 0px;
    padding: 0px 20px 0px 40px;
    border-radius: 0px 50px 50px 0px;
    line-height: 15px;
}

#information {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
    padding: 0px 40px;
}

.info_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--color-blue);
    border: 2px solid rgb(225, 225, 225);
    border-radius: 20px;
    margin-right: 10px;
    width: 30px;
    height: 30px;
}

main {
    display: flex;
    flex-direction: column;
}

#places {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    margin: 20px;
}

#places_listing {
    width: 65%;
}

#places_listing h2 {
    padding: 0 10px;
}

#most_popular {
    width: 35%;
}

#places_listing, #most_popular {
    display: flex;
    flex-direction: column;
    background-color: var(--color-grey);
    border-radius: 20px;
    padding: 40px;
    margin: 20px;
}

#card_list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}

.card_content {
    padding: 0px 10px;
    flex-wrap: nowrap;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 95%;
}

.place_card {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: flex-start;
    flex-wrap: nowrap;
    background-color: white;
    padding: 10px;
    margin: 10px;
    border-radius: 20px;
    width: 250px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.125);
}

.place_card:hover {
    cursor: pointer;
    color: var(--color-blue);
    opacity: 90%;

}

.place_card h3, .place_card p {
    margin: 10px 0px;
}

.place_img {
    object-fit: cover;
    width: 100%;
    height: 130px;
    border-radius: 10px 10px 0px 0px;

}

.stars i {
    color: var(--color-blue);
}

.empty_star i {
    color: rgb(211, 211, 211);
}

#most_popular_title_and_logo {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;

}


#most_popular {
    justify-content: flex-start;
}

#most_popular .place_card {
    flex-direction: row;
    justify-content: flex-start;
    white-space: normal;
    height: 190px;
    width: 100%;
    margin: 10px 0px;
}

#most_popular .place_card .place_img {
    border-radius: 10px 0px 0px 10px;
    height: 100%;
    max-width: 30%;
    object-fit: cover;

    
}

#activities {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 40px;
}

#activities_cards_list {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    height: 500px;
}

.two_cards_column {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 500px;
 
}

#activities_cards_list > div {
    width: 23%;
}

.one_card_column {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    height: 100%;
    border-radius: 20px;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.125);


}

.one_card_column:hover, .two_cards_column > div:hover {
    cursor: pointer;
    background-color: var(--color-grey);
    color: var(--color-blue);
    opacity: 90%;
}

#activities_cards_list > div img {
    object-fit: cover;
    width: 100%;
    border-radius: 20px 20px 0 0;

}

.one_card_column > img {
    height: 88%;
}

.two_cards_column > .first_img img {
    height: 200px;
 
}

.two_cards_column > .second_img img {
    height: 140px;
}

.alt > .first_img img {
    height: 160px;
 
}

.alt > .second_img img {
    height: 180px;
}

.two_cards_column > div {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    border-radius: 20px;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.125);

}

.two_cards_column > div > h4, .one_card_column > h4 {
    margin: 20px;
}

footer {
    background-color: var(--color-grey);
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 40px;
}

footer > section {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    width: 100%;
    line-height: 30px;
}


/* media queries pour les tablettes */
@media screen and (max-width: 992px) {
    #places {
        flex-direction: column;
        padding: 0;
        margin: 0;

    }
    
    #places_listing, #most_popular {
        width: 100%;
        margin: 0;
        border-radius: 0;
    }

    #most_popular {
        order: 1;
    }

    #places_listing {
        order: 2;
        background-color: white;
    }

    .place_card {
        width: 100%;
    }
}

/* media queries pour les smartphones */
@media screen and (max-width: 768px) {
    header{
        flex-direction: column;
        justify-content: space-between;
        align-items: center;

    }
    #menu ul a {
        border-top: 0;
        border-bottom: 5px solid white;
        width: 100%;
    }

    #menu ul {
        width: 100%;
        

    }

    #menu ul a:hover {
        border-top: 0;
        border-bottom: 5px solid var(--color-blue);
        width: 100%;

    }


    #menu {
        width: 100%;
        
    }

    #search_bar, #researching_settings, form, #site_title_and_search_bar {
        justify-content: center;
        align-items: stretch;
        flex-grow: 1;
    }

    input[type=search] {
        width: 100%;
    }

    

    input[value=Rechercher] {
        display: none;
    }

    .btn_search {
        display: block;
    }

    #places {
        flex-direction: column;
        padding: 0;
        margin: 0;
    }

    #places_listing, #most_popular {
        width: 100%;
        margin: 0;
        border-radius: 0;
    }

    #most_popular {
        order: 1;
    }

    #places_listing {
        order: 2;
        background-color: white;
    }

    .place_card {
        width: 100%;
    }





    #activities_cards_list {
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        height: auto;
    }

    #activities_cards_list > div, .two_cards_column > div {
        width: 100%;

    }

    #activities {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        padding: 50px;
    }
    

    .two_cards_column {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        height: auto;
     
    }
    
 
    
    .one_card_column {
        display: flex;
        flex-direction: column;
        justify-content: space-around;
        height: 200px;
        border-radius: 20px;
        box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.125);
    
    
    }
    
  
    .two_cards_column > div {
        height: 200px;
    }
   

    .one_card_column > img {
        height: 70%;
    }
    
    .two_cards_column > .first_img img {
        height: 70%;
     
    }
    
    .two_cards_column > .second_img img {
        height: 70%;
    }
    
    .alt > .first_img img {
        height: 70%;
     
    }
    
    .alt > .second_img img {
        height: 70%;
    }
    
    .two_cards_column > div {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        border-radius: 20px;
        box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.125);
    
    }


    .one_card_column, .two_cards_column > div {
        margin: 20px 0;
    }

    footer {
        flex-direction: column;
    }
    
    footer > section {
        margin-bottom: 20px;
    }
}