@charset "UTF-8";
body {
  font-family: "roboto", "shrikhand";
  text-align: center;
  margin: 2% 0;
}

* {
  box-sizing: border-box;
}

h1 {
  font-size: 1.5rem;
  font-family: "roboto";
  font-weight: bolder;
  padding: 0.5rem;
}

h2 {
  font-size: 1.5rem;
  font-family: "roboto";
  text-align: left;
  margin: 2rem;
}
@media only screen and (min-width: 776px) {
  h2 {
    font-size: 1.2rem;
  }
}

h3 {
  font-size: 1rem;
  text-align: left;
  font-weight: bold;
  margin: 5% 0 0 0;
}

p {
  font-family: "roboto";
  margin: 5% 0;
  font-size: 1rem;
}

button {
  padding: 1rem 2rem;
  margin: 1rem;
  border-radius: 25px;
  border: none;
  font-size: 14px;
  font-weight: bold;
  background: linear-gradient(to top, #9356DC, #FF79DA);
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
  color: white;
  text-decoration: none;
  cursor: pointer;
  transform: scale(1);
  transition: transform 400ms;
}
button:hover {
  transform: scale(1.15);
  box-shadow: 0 5px 5px #999999;
}

.bouton {
  text-align: center;
}
@media only screen and (min-width: 776px) {
  .bouton {
    margin: 30px;
  }
}

/*--- bouton des pages restaurant : espace et padding---*/
#fiche > .bouton {
  margin: 3rem auto;
}
#fiche > .bouton > .bouton {
  padding: 1rem 5rem;
}

.coeur {
  font-size: 25px;
  margin-top: 0.5rem;
  margin-right: 1rem;
  color: #f2f2f2;
  -webkit-text-stroke-width: 1px;
  /*---- épaisseur contour du coeur---*/
  -webkit-text-stroke-color: grey;
  /*--- couleur contour coeur---*/
  transition: all 0.5s ease-in-out;
  /*--- pour rendre le scale plus souple---*/
  transform: scale(1);
}

.coeur:hover {
  cursor: pointer;
  background: linear-gradient(to bottom left, #9356dc, #ff79da);
  -webkit-background-clip: text;
  /*---- le gradient ne se limite qu'au coeur ---*/
  -webkit-text-fill-color: transparent;
  /*----transparence de color pour faire apparaitre le gradient---*/
  -webkit-text-stroke-width: 0px;
  /*--- disparition du contour du coeur---*/
  animation: animation 0.5s linear forwards;
  /*--- apparition progressive du dégradé---*/
  transform: scale(1.2);
  /*--- le coeur grossit---*/
}

@keyframes animation {
  0% {
    opacity: 0;
  }
  80% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}
/*----delai d'apparition de chaque partie"plat"---*/
.plat:nth-child(1) {
  animation-delay: 0s;
}

.plat:nth-child(2) {
  animation-delay: 0.25s;
}

.plat:nth-child(3) {
  animation-delay: 0.5s;
}

.plat:nth-child(4) {
  animation-delay: 0.75s;
}

/*----animation fadeIn opacité à la verticale---*/
.plat {
  opacity: 0;
  /*---opacité 0 pour que les plats n'apparaissent pas au chargement de la page--*/
  animation: fadeIn forwards 0.75s ease-in-out;
  /*---forwards : conserve propriétés de l'image à 100% de l'animation---*/
}

@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(20%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.coche {
  /*---pour aligner les éléments  check---*/
  display: flex;
  justify-content: center;
  align-items: center;
  /*--- pour positionner l'élément sur le coté droit---*/
  position: absolute;
  right: 0;
  bottom: 0;
  /*---mise en forme---*/
  width: 0px;
  height: 100%;
  background-color: #99E2D0;
  border-bottom-right-radius: 15px;
  border-top-right-radius: 15px;
  /*---animation de l'élément ---*/
  opacity: 0;
  transition: ease-in-out 0.5s;
  /*---permet le retour souple---*/
  -webkit-transition: ease-in-out 0.5s;
}

/*--- mise en forme et animation du check---*/
.coche .fas {
  width: 22px;
  height: 22px;
  padding: 3px;
  background-color: white;
  border-radius: 50%;
  color: #99E2D0;
  opacity: 1;
  transition: ease-in-out 0.5s;
  -webkit-transition: ease-in-out 0.5s;
}

.plat:hover .fa-check {
  transform: rotate(360deg);
}

.plat:hover .coche {
  opacity: 1;
  width: 50px;
}

/*--- déplacement du prix au hover---*/
.plat:hover .carte__prix {
  margin-right: 35px;
}

/*--- déplacement du titre au hover si cela est nécessaire---*/
.plat:hover .details h3 {
  margin-right: 35px;
}

/*------header------*/
header {
  padding: 0.5rem;
  position: relative;
}

#logo img {
  height: 2.2rem;
}
.fleche {
  position: absolute;
  left: 20px;
  font-size: 20px;
  color: #4e4e4e;
}
.fleche:hover {
  color: #9356DC;
}

/*----footer----*/
.footer {
  background-color: #333333;
  color: white;
  padding: 5%;
  text-align: left;
  position: absolute;
  width: 100%;
}

.footer h3 {
  font-family: "shrikhand";
  font-size: 18px;
  font-weight: lighter;
}
@media only screen and (min-width: 992px) {
  .footer h3 {
    margin: 0;
    text-align: center;
  }
}

.footer ul {
  list-style: none;
  padding: 0;
  width: auto;
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 992px) {
  .footer ul {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    white-space: nowrap;
  }
}

.footer li {
  padding: 1% 0;
}

.footer a {
  color: white;
  text-decoration: none;
}

.footer i {
  margin: 0 2% 0 0;
  font-size: 14px;
}

/*---- mise en forme du loader et animation---*/
.loader {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: fixed;
  /*---fixer la position du loader----*/
  display: flex;
  /*--- position des lettres---*/
  justify-content: center;
  align-items: center;
  background-color: #f2f2f2;
  z-index: 2;
  /*---positionne le loader au dessus de tous les éléments dela page d'accueil---*/
  opacity: 1;
  /*--- laisse apparaitre le loader ---*/
  animation: transition 1s ease-in-out 3s forwards;
  /*---- affiche le loader pendant 3 seconde---*/
}

/*--- mise en forme des lettres et animation---*/
.loader span {
  font-size: 50px;
  text-shadow: 0 0px #9356DC, 0 0px #FF79DA;
  font-family: "shrikhand";
  color: #9356DC;
  transform: translate(0, 100%) rotate(4deg);
  animation: bounce 3s ease-in-out infinite;
  /*--- animation de rebond des lettres---*/
}

/*---- délai d'animation pour chaque span---*/
span:nth-child(1) {
  animation-delay: 120ms;
}

span:nth-child(2) {
  animation-delay: 240ms;
}

span:nth-child(3) {
  animation-delay: 360ms;
}

span:nth-child(4) {
  animation-delay: 480ms;
}

span:nth-child(5) {
  animation-delay: 600ms;
}

span:nth-child(6) {
  animation-delay: 720ms;
}

span:nth-child(7) {
  animation-delay: 840ms;
}

span:nth-child(8) {
  animation-delay: 960ms;
}

/*---- animation 3s avant l'affichage page d'accueil---*/
@keyframes transition {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    z-index: 0;
  }
}
/*--- animation du loader ---*/
@keyframes bounce {
  33% {
    text-shadow: 0 30px #99E2D0, 0 100px #99E2D0;
  }
  50% {
    transform: translate(0, 0) rotate(-4deg);
    text-shadow: 0 0px #9356DC, 0 0px #FF79DA;
  }
  66.67% {
    text-shadow: 0 -30px #99E2D0, 0 -100px #9356DC;
  }
}
/*----section recherche----*/
.recherche {
  background-color: #f2f2f2;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 1rem;
  height: 20rem;
}
.recherche__lieu {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 3rem;
  font-weight: bold;
  font-size: 14px;
  background-color: #e4e4e4;
  box-shadow: inset 0px 2px 5px #b9b9b9;
  position: relative;
}
.recherche__lieu > .fa-map-marker-alt {
  position: absolute;
  margin-right: 150px;
}
.recherche__exploration {
  height: 20rem;
  padding: 0.5rem;
  background-color: #f2f2f2;
}
.recherche p {
  font-weight: lighter;
  font-size: 1rem;
  padding: 0.5rem;
}
@media only screen and (min-width: 992px) {
  .recherche p {
    padding: 0;
  }
}

/*----section fonctionnement page d'accueil----*/
#fonctionnement {
  padding: 0.5rem;
}
@media only screen and (min-width: 992px) {
  #fonctionnement {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
  }
}

.element {
  text-decoration: none;
  color: black;
  background-color: #f2f2f2;
  border-radius: 15px;
  padding: 0.6rem;
  margin: 1.2rem;
  display: flex;
  flex-direction: row;
  align-items: center;
  box-shadow: 0 8px 10px #dedede;
  position: relative;
  transition: 400ms ease-in-out;
}
@media only screen and (min-width: 992px) {
  .element {
    padding: 2em 10%;
  }
}
.element__numero {
  background-color: #9356DC;
  padding: 0.5rem;
  width: 25px;
  height: 25px;
  border-radius: 999px;
  color: white;
  margin: 1rem 1rem 1rem -1.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
}
@media only screen and (min-width: 992px) {
  .element__numero {
    position: absolute;
    left: 8px;
  }
}
.element__icone {
  margin: 1.5rem;
  color: #737373;
  position: absolute;
  left: 0.8rem;
}
.element p {
  position: absolute;
  left: 70px;
}
.element:hover {
  background-color: #ddc7f8;
}
.element:hover .fas {
  color: #9356DC;
}

/*----- section restaurants ----*/
#restaurants {
  background-color: #f2f2f2;
  padding: 0.5rem;
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 992px) {
  #restaurants {
    flex-direction: row;
    align-items: center;
  }
}
@media only screen and (min-width: 776px) {
  #restaurants {
    flex-direction: row;
    justify-content: center;
    align-items: center;
  }
}

/*---- articles carte ----*/
.carte {
  border-radius: 15px;
  display: flex;
  flex-direction: column;
  background-color: white;
  position: relative;
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
  text-align: left;
  margin: 10px;
}
.carte p {
  font-weight: lighter;
}
.carte__details {
  padding: 2% 5%;
}
.carte__img {
  width: 100%;
  height: 8rem;
  object-fit: cover;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  position: relative;
  overflow: hidden;
  aspect-ratio: 4/2;
}
.carte__nv {
  position: absolute;
  top: 5%;
  right: 5%;
  background-color: #99E2D0;
  padding: 0.5rem;
  border-radius: 5%;
  color: #c1ede2;
  font-size: 14px;
  font-weight: bold;
  color: #278870;
  z-index: 1;
}
.carte__info {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.carte__prix {
  font-size: 14px;
  border-bottom: transparent !important;
  margin-right: 0;
  transition: margin-right 0.5s ease-in-out;
}

.carte p {
  margin: 2% 0 5% 0;
}

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

.menu {
  border-radius: 15px;
  display: flex;
  flex-direction: column;
  position: relative;
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
  text-align: left;
}
.menu p {
  font-weight: lighter;
}
.menu__details {
  padding: 2% 5%;
}
.menu__img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  overflow: hidden;
  aspect-ratio: 4/2;
}

#fiche {
  background-color: #f2f2f2;
  border-top-left-radius: 35px;
  border-top-right-radius: 35px;
  padding: 0.5rem;
  margin-top: -50px;
}
#fiche h1 {
  font-family: "shrikhand";
  font-size: 24px;
  margin: 5% 0;
}
@media only screen and (min-width: 992px) {
  #fiche h1 {
    margin: 0;
  }
}
@media only screen and (min-width: 776px) {
  #fiche h1 {
    margin: 0;
  }
}

.titre {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.menus {
  padding: 0.5rem;
}
@media only screen and (min-width: 992px) {
  .menus {
    display: flex;
    align-items: center;
    padding: 0;
    justify-content: flex-end;
  }
}
.menus p {
  text-transform: uppercase;
  text-align: left;
  margin: 2px;
  padding: 5px 0;
}
.menus span {
  border-bottom: solid #99E2D0;
}

.plat {
  border-radius: 15px;
  display: flex;
  flex-direction: column;
  background-color: white;
  position: relative;
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
  text-align: left;
  margin: 15px 0;
  padding: 0 5px 5px 0;
  width: 100%;
}
.plat p {
  font-weight: lighter;
}
.plat__details {
  padding: 2% 5%;
}
@media only screen and (min-width: 992px) {
  .plat {
    height: auto !important;
    margin: 10px 5px;
    max-width: 30%;
  }
}

.details {
  padding: 2% 5%;
  position: relative;
  transform: scale(1);
  transition: transform 400ms;
}
.details h3 {
  font-weight: 400;
  margin: 2% 0 0 0;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  transition: margin-right 0.5s ease-in-out;
}

.sousdetails {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sousdetails p {
  text-transform: none;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  font-size: 14px;
}

/*# sourceMappingURL=style.css.map */
