/* general*************** ***********************************************/
* {
  font-family: "Raleway", sans-serif;
  padding: 0px;
  margin: 0px;
  box-sizing: border-box;
}

header,
main {
  margin-left: 5px;
  margin-right: 5px;
}

a {
  text-decoration: none;
  color: black;
}

ul {
  list-style-type: none;
}

h4 {
  font-size: 16px;
  font-weight: 700;
}

b {
  padding: 2px;
}

/* header ****************************************************************** */
header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  min-height: 100px;
}

#logo-header {
  height: 100%;
  display: flex;
  justify-content: flex-start;
}

#logo {
  width: 100px;
  height: 50px;
  margin-left: 10px;
}

nav {
  height: 100px;
  width: 50%;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}

#navigation {
  display: flex;
  width: 300px;
  height: 100px;
}

.liste-nav {
  display: flex;
  justify-content: center;
  width: 50%;
}

.menu {
  display: flex;
  justify-content: center;
  align-items: flex-end;

  border: 4px transparent solid;
  height: 100%;
  width: 100%;

  font-size: larger;
}

.liste-nav:hover {
  color: #0065fc;
  border-top: 2px #0065fc solid;
}
.liste-nav:hover a {
  color: #0065fc;
}

/* Main ******************************************************************** */
/* section 1 */
#section-1 {
  padding-left: 10px;
}

#first-title {
  font-size: x-large;
  padding: 20px 0px;
}
/* Search */

input:focus {
  outline-offset: 0px !important;
  outline: none !important;
}
.form {
  display: flex;
  align-items: center;
  border: 1px #f2f2f2 solid;
  border-radius: 15px;

  height: 45px;
  width: 420px;
  margin: 5px 0px;
}
.div-1 {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 10%;

  background-color: #f2f2f2;
  border-radius: 15px 0px 0px 15px;
}
.div-2 {
  padding-left: 15px;
  width: 60%;
}
.div-3 {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 30%;
  height: 100%;

  color: white;
  background-color: #0065fc;
  border-radius: 0px 15px 15px 0px;
}
#search,
span {
  font-weight: 600;
  font-size: 16px;
  border: 1px transparent solid;
}
#loupe {
  display: none;
}
#btn-form {
  color: white;
  background-color: #0065fc;
  font-weight: 600;
  font-size: 16px;
  border: 1px transparent solid;
  height: 100%;
  width: 100%;
  border-radius: 0px 15px 15px 0px;
}
.div-3:hover {
  background-color: rgb(68, 0, 255);
}
#btn-form:hover {
  background-color: rgb(38, 0, 255);
}

/* Filtres */

#filter {
  display: flex;
  align-items: baseline;
  width: 100%;
}
#filter-bloc {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.filter-elt {
  display: flex;
  align-items: center;
  border: 2px #e5e1e1 solid;
  border-radius: 25px;
  height: 40px;
  margin: 10px 20px 10px 0px;
}
.filter-elt:hover {
  color: #0065fc;
  background-color: #deebff;
}
.filter-circle {
  color: #0065fc;
  display: flex;
  justify-content: center;
  align-items: center;

  background-color: #deebff;
  border-radius: 50%;
  height: 41px;
  width: 41px;
  margin-left: -2px;
}
.icon-filter {
  padding: 20px;
}
.filter-title {
  display: flex;
  justify-content: flex-start;
  padding: 5px;
  margin-right: 5px;
}
.title-1 {
  display: flex;
  align-items: center;
}

/* Info */
#info {
  color: #0065fc;
  border: 2px #c9c9c9 solid;
  border-radius: 50%;
  background-color: white;

  height: 30px;
  width: 30px;

  display: flex;
  justify-content: center;
  align-items: center;
  margin: 10px 10px 10px 0px;
}

.fa-info {
  padding: 10px;
}

#info-A {
  display: flex;
  align-items: center;
}

#info-B {
  margin: 0px 10px;
}

/* section 2 *********************************************************/
#section-2 {
  display: flex;
  gap: 2%;
  margin-top: 15px;
  padding-left: 10px;
}

/* classes communes *********************/
#section-2 h3 {
  font-size: x-large;
  /* font-size: 25px; */
}

.card {
  background-color: white;
  padding: 3px;
  border: 1px solid white;
}

.card-body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.stars {
  color: #0065fc;
}
.grey {
  color: rgb(217, 217, 217);
}

.card-link:hover {
  border: 2px transparent solid;
}

.card-body > p {
  font-size: 14px;
  padding-bottom: 7px;
}
/* Accomodation****************************************** */

#hebergement {
  background-color: #f2f2f2;
  border-radius: 20px;
  flex-basis: 65%;
  padding: 7px;
}

#title-2 {
  padding: 10px 0px 20px 25px;
}
.container-heb {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
}
.card-heb {
  width: 30%;
  margin: 1.5%;
  flex-grow: 1;
  border-radius: 20px;
  box-shadow: 0px 0px 16px #0000002e;
}
.img-heb {
  height: 110px;
  width: 100%;
  object-fit: cover;
  border-radius: 20px 20px 0px 0px;
}
.body-heb {
  height: 40%;
  padding: 5px 10px;
}

.body-heb > h4 {
  padding: 5px 0px;
}

#btn-link-heb {
  display: block;
  padding: 30px 0px 0px 25px;
  font-size: 16px;
  font-weight: 600;
}
#btn-link-heb:hover {
  color: #0065fc;
}

.card.card-heb:hover {
  border: 2px transparent solid;
}
/* Popular ***************************************************/
#popular {
  background-color: #f2f2f2;
  border-radius: 20px;
  flex-basis: 32%;
}
#title-3 {
  display: flex;
  justify-content: space-between;
  padding: 20px 30px 0px 20px;
}
.container-pop {
  display: flex;
  flex-wrap: wrap;
  height: 90%;
}
.card-pop {
  height: 25%;
  margin: 15px;
  width: 100%;
  min-width: 305px;
  max-width: 350px;

  border-radius: 20px;
  box-shadow: 0px 0px 17px #0000002e;
}
.link-pop {
  display: flex;
  height: 100%;
}
.img-pop {
  width: 125px;
  height: 100%;
  object-fit: cover;
  border-radius: 20px 0px 0px 20px;
}
.body-pop {
  padding: 10px 20px;
}

/* Section-3 Activity */

#section-3 {
  padding: 10px;
}

#title-4 {
  padding: 30px 15px;
  font-size: x-large;
}

#activites {
  display: flex;
  gap: 30px;
  height: 400px;
  flex-flow: column wrap;
  justify-content: space-between;
}

.card-name {
  height: 45px;
  display: flex;
  align-items: center;
  padding-left: 10px;
}

.img-act {
  object-fit: cover;
  height: 100%;
  width: 100%;
  border-radius: 20px 20px 0px 0px;
}

.card-img-act {
  width: 100%;
  height: 89%;
}

.link-act {
  width: 100%;
  height: 100%;
}

.img-1,
.img-4 {
  height: 88.75%;
}

.img-2,
.img-6 {
  height: 77.5%;
}

.img-3,
.img-5 {
  height: 70%;
}
.card-act {
  display: flex;
  flex-direction: column;
  justify-content: space-between;

  max-height: 400px;
  min-height: 150px;
  width: 23%;
  box-shadow: 2px 3px 8px 0px #00000036;
  border-radius: 20px;
}

.act-2,
.act-6 {
  height: 50%;
}

.act-3,
.act-5 {
  height: 38%;
}

.act-1 {
  height: 400px;
  order: -1;
}

.act-2 {
  order: -1;
}

.act-4 {
  height: 400px;
}

/* Footer  */
footer {
  display: flex;
  min-height: 200px;
  align-items: flex-start;
  justify-content: flex-start;
  background-color: #f2f2f2;
  padding-left: 50px;

  margin-top: 20px;
}
.foot {
  display: flex;
  flex-direction: column;
  width: 30%;
  margin-top: 30px;
}
.footer-title {
  margin-bottom: 10px;
}
.footer-txt {
  line-height: 1.75;
}
.link-footer:hover {
  color: #0065fc;
}
/* Media queries RESPONSIVE ************************************************ */
/* media tablette et mobile  */
@media screen and (min-width: 0px) and (max-width: 992px) {
  * {
    margin-left: 0px;
    margin-right: 0px;
  }

  header {
    margin: 0px;
  }

  main {
    padding: 0px;
    margin: 0px;
  }

  #section-2 {
    flex-direction: column-reverse;
    margin: 0px;
    padding: 0px;
  }

  #title-3 {
    margin: 0px 10px 0px 10px;
  }

  #hebergement {
    width: 100%;
    border-radius: 0px;
    background-color: white;
  }

  .container-heb {
    min-width: auto;
  }

  #popular {
    width: 100%;
    border-radius: 0px;
  }

  .container-pop {
    justify-content: center;
  }

  .card-pop {
    height: 150px;
  }
}
/* Media queries TABLETTE **************************************************************/
@media screen and (min-width: 769px) and (max-width: 992px) {
  /* search */
  .form {
    display: flex;
    align-items: center;
    border-radius: 15px;
    height: 45px;
    width: 360px;
  }
  .div-1 {
    width: 15%;
  }
  .div-2 {
    width: 45%;
  }
  .div-3 {
    width: 40%;
    border-radius: 15px 15px 15px 15px;
  }

  /* filter */
  #filter {
    flex-direction: column;
    align-items: flex-start;
  }

  /* section-3 */
  #activites {
    height: auto;
    flex-flow: row wrap;
    gap: 35px;
    justify-content: center;
  }

  .card-act {
    height: 350px;
    width: 90%;
  }

  .card-img-act {
    height: 88.75%;
  }
}

/* Media queries MOBILE ******************************************************/
@media screen and (min-width: 0px) and (max-width: 768px) {
  * {
    margin-left: 0px;
    margin-right: 0px;
  }

  main {
    margin: 0px;
  }

  /* header */
  header {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    height: 150px;
    margin: 0px;
  }
  #logo-header {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-end;
  }
  nav {
    height: 100%;
    width: 100%;
  }
  #navigation {
    height: 100%;
    width: 100%;
  }
  .liste-nav {
    margin-top: 0px;
    height: 100%;
    width: 50%;
    padding-bottom: 10px;
    border-bottom: 3px #f2f2f2 solid;
  }
  .liste-nav:hover {
    color: #0065fc;
    border-top: none;
    border-bottom: 3px #0065fc solid;
  }

  /* main ***********************************************/
  /* section 1 */
  #section-1 {
    padding: 20px;
  }
  h2 {
    padding-bottom: 10px;
  }
  /* search */
  span {
    display: none;
  }
  #loupe {
    display: contents;
  }
  .form {
    display: flex;
    align-items: center;
    border-radius: 15px;
    height: 45px;
    width: 330px;
  }
  .div-1 {
    width: 15%;
  }
  .div-2 {
    width: 69%;
  }
  .div-3 {
    width: 16%;
    border-radius: 15px 15px 15px 15px;
  }
  #btn-form {
    border-radius: 15px 15px 15px 15px;
  }

  /* Filter  */
  #filter {
    flex-direction: column;
    align-items: flex-start;
  }
  .filter-title {
    width: 100%;
    margin-top: 5px;
  }

  /* section2 */
  #section-2 {
    flex-direction: column-reverse;
    margin: 0px;
    padding: 0px;
  }
  #popular {
    width: 100%;
    border-radius: 0px;
    margin: 0px;
    padding: 5px 10px 30px 10px;
  }
  #title-3 {
    margin: 0px 10px 0px 10px;
  }
  #hebergement {
    width: 100%;
    border-radius: 0px;
    background-color: white;
  }

  .card-heb {
    min-width: 187px;
  }

  /* section-3 */
  #activites {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    height: 100%;
    align-items: center;
  }

  .card-act {
    height: 205px;
    width: 93%;
  }

  .card-img-act {
    height: 78%;
  }

  /* Footer */

  footer {
    display: flex;
    min-height: 200px;
    height: auto;
    flex-direction: column;
    margin-top: 50px;
  }
  .foot {
    display: flex;
    flex-direction: column;
    width: 100%;
  }
  .footer-title {
    margin-bottom: 10px;
    font-size: 18px;
  }
}
