@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Shrikhand&display=swap");
/*colors*/
/*breakpoints*/
/*animation du spinner*/
@keyframes load-spinner {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/*animation apparition spinner*/
@keyframes loader {
  0% {
    opacity: 1;
    z-index: 2;
  }
  100% {
    opacity: 0;
    z-index: -1;
  }
}
/*animation disparition spinner- arrivée de la page suivante*/
@keyframes after-load {
  0%, 40% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*animation des coeurs*/
@keyframes color {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*animation des menus*/
@keyframes delayapparition {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*animation check box*/
@keyframes box-appearance {
  0% {
    transform: translateX(60px);
  }
  100% {
    transform: translateX(0px);
  }
}
/* les liens a */
/* bouton previous*/
/*bouton rose */
/*restaurants*/
/*******************************/
/*tablette et pc : responsives*/
/*structure css*/
body {
  margin: 0;
  font-family: "Roboto";
}

.logo {
  font-family: "Shrikhand";
  padding: 20px 0 10px 0;
  width: 100%;
  font-size: 35px;
  text-align: center;
  color: black;
}

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

h1 {
  padding: 20px 40px 0 40px;
}

h2 {
  padding-left: 10px;
}
@media screen and (min-width: 768px) {
  h2 {
    text-align: center;
    padding-left: 0px;
  }
}

h3 {
  font-size: 17px;
}

h3, p {
  margin: 0 0 5px 0;
}

p {
  font-size: 14px;
  padding-bottom: 30px;
  color: #7e7e7e;
}

/*pages des menus restaurants*/
/*structure page menu*/
.container, .menus {
  max-width: 950px;
  margin: auto;
}

/*bouton previous*/
header {
  position: relative;
}

.return {
  position: absolute;
  left: 20px;
  top: 35px;
  background-color: white;
  border: 0;
  cursor: pointer;
}

/*image*/
header img {
  height: 235px;
  object-fit: cover;
  width: 100%;
}

/*détails des menus*/
.menus {
  width: 100%;
  background-color: #f6f6f6;
  padding-top: 10px;
  padding-bottom: 50px;
  margin-top: -50px;
  border-radius: 35px 35px 0 0;
  position: relative;
}

.text__description h1 {
  font-family: "Shrikhand";
  font-weight: 400;
  padding-left: 5px;
  padding-right: 5px;
  padding-top: 0px;
}

h2 span {
  border-bottom: 3px solid #99e2d0;
  display: block;
  width: 50px;
  margin-bottom: 15px;
}

.icon {
  position: relative;
  padding-top: 20px;
}

.menu__details {
  margin: auto;
  max-width: 900px;
}

/*apparition des menus */
.choice__delay {
  animation: delayapparition;
  animation-duration: 0.6s;
  animation-timing-function: linear;
  animation-fill-mode: both;
}

.delay__0 {
  animation-delay: 0s;
}

.delay__1 {
  animation-delay: 0.5s;
}

.delay__2 {
  animation-delay: 1s;
}

.delay__3 {
  animation-delay: 1.5s;
}

.delay__4 {
  animation-delay: 2s;
}

/*entrées, plats et desserts*/
.entrees, .plats, .desserts {
  padding-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .entrees, .plats, .desserts {
    margin-left: 15px;
  }
}
.entrees__titre, .plats__titre, .desserts__titre {
  color: #7e7e7e;
  font-size: 16px;
}
.entrees a, .plats a, .desserts a {
  background-color: white;
  margin-bottom: 15px;
  height: 80px;
}
.entrees p, .plats p, .desserts p {
  color: black;
  padding-bottom: 0;
}

/*check vert avec la fonction calc*/
.choice {
  display: flex;
  flex-direction: row;
  width: 90%;
  border-radius: 10px;
  margin: auto;
  box-shadow: 0px 4px 5px 0px #cbcbcb;
  cursor: pointer;
  overflow: hidden;
  /*cache le check qui dépasse*/
}

.choice:hover > .name {
  min-width: calc(100% - 120px);
  /*total = calc(100% - (prix + box))*/
}

.choice p, .choice h3 {
  overflow: hidden;
  /*texte en ... */
  text-overflow: ellipsis;
  white-space: nowrap;
}

.name {
  padding: 10px;
  flex-grow: 1;
  overflow: hidden;
  /*texte en ... */
  text-overflow: ellipsis;
  white-space: nowrap;
}

.price {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  padding: 10px;
}
.price span {
  font-size: 14px;
}

.gradient {
  display: flex;
  margin: auto;
}
@media screen and (min-width: 1024px) {
  .gradient {
    font-size: 17px;
  }
}

/*coche verte*/
.box {
  display: flex;
  background-color: #99e2d0;
  width: 0;
  transition: all 1s;
}
.box .check {
  margin: auto;
  transition: transform 1s;
  transform: rotate(0deg);
}
.box .check .fa-check-circle {
  color: white;
  font-size: 25px;
}

.choice:hover .box {
  min-width: 60px;
  /*définit la taille de l'apparition box*/
  animation: box-appearance;
  /*animation: box-appearance;*/
  animation-duration: 500ms;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}
.choice:hover .price {
  animation: box-appearance;
  /* animation: box-appearance;*/
  animation-duration: 500ms;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}
.choice:hover .check {
  transform: rotate(360deg);
}

/*loader*/
.loader {
  position: fixed;
  display: flex;
  justify-content: space-around;
  align-items: center;
  width: 100vw;
  height: 100vh;
  background-color: white;
  opacity: 0;
  z-index: -1;
  animation: loader;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: both;
}

.wrapper {
  opacity: 0;
  animation: after-load;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}

.loadspinner {
  border-radius: 50%;
  border-top: 12px solid #ff79da;
  border-left: 12px solid #9356dc;
  border-right: 12px solid #9356dc;
  border-bottom: 12px solid #99e2d0;
  width: 60px;
  height: 60px;
  /*animation:load-spinner 3s ease-in-out both*/
  animation: load-spinner;
  animation-duration: 3s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: both;
}

/*header*/
header {
  display: flex;
  flex-direction: column;
}

/*géolocalisation*/
.iconmaps {
  position: relative;
  background-color: #eaeaea;
}

.map {
  position: absolute;
  top: 16px;
  left: 25%;
  font-size: 15px;
  width: 40px;
}
@media screen and (min-width: 768px) {
  .map {
    left: 40%;
  }
}
@media screen and (min-width: 1024px) {
  .map {
    left: 42%;
  }
}
@media screen and (min-width: 1444px) {
  .map {
    left: 44%;
  }
}
@media screen and (min-width: 2050px) {
  .map {
    left: 46%;
  }
}
.map i {
  font-size: 16px;
  color: #000000;
}

input {
  background-color: #eaeaea;
  border: 0;
  text-align: center;
  height: 50px;
  width: 100%;
  box-shadow: inset 0px 2px 3px 0px #d1d1d1;
  padding: 0;
}
input::placeholder {
  color: black;
  font-size: 16px;
  font-weight: 600;
}

/*présentation*/
.title {
  text-align: center;
  background-color: #f6f6f6;
  padding-bottom: 40px;
}

/*bouton rose*/
button {
  font-size: 14px;
  background: linear-gradient(#ff79da, #9356dc);
  padding: 15px;
  color: white;
  border: 0px;
  border-radius: 25px;
  box-shadow: 0px 3px 4px 2px #d1d1d1;
  cursor: pointer;
}

button:hover {
  background: linear-gradient(rgba(255, 121, 218, 0.8), rgba(147, 86, 220, 0.8));
  /*éclaircissement couleur*/
  box-shadow: 0px 3px 4px 2px #9e9e9e;
  /* durcissement ombre*/
}

/*section */
.steps, .restaurants__flex {
  max-width: 1200px;
  margin: auto;
}

/*fonctionnement*/
.steps {
  display: flex;
  flex-direction: column;
  padding-bottom: 50px;
}
@media screen and (min-width: 768px) {
  .steps {
    margin: 10px auto 30px auto;
    width: 80%;
    align-items: center;
  }
}
@media screen and (min-width: 1024px) {
  .steps {
    flex-direction: row;
    justify-content: space-evenly;
    padding-bottom: 30px;
  }
}
.steps__flex {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  box-shadow: 2px 2px 5px 2px #dddddd;
  margin: 15px;
  padding: 20px;
  background-color: #f6f6f6;
  border-radius: 15px;
}
.steps__flex:hover {
  background-color: #f2eafb;
  box-shadow: 2px 4px 8px 0px #d1d1d1;
}
.steps__flex p {
  font-weight: 600;
  padding-bottom: 0px;
  color: black;
}
.steps__flex .fas {
  margin-right: 5%;
  color: #909090;
}
@media screen and (min-width: 768px) {
  .steps__flex {
    width: 40%;
  }
}
@media screen and (min-width: 1024px) {
  .steps__flex {
    width: 30%;
  }
}
@media screen and (min-width: 1444px) {
  .steps__flex {
    width: 20%;
  }
}

.numbers {
  margin-right: 20px;
  margin-left: -30px;
  background-color: #9356dc;
  padding: 3px 8px;
  border-radius: 50%;
  color: white;
}

.fas {
  font-size: 17px;
}

/*restaurants*/
.restaurants {
  padding-top: 10px;
  padding-bottom: 30px;
  background-color: #f6f6f6;
}
.restaurants__flex {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}
@media screen and (min-width: 1024px) {
  .restaurants__flex {
    flex-direction: row;
  }
}
.restaurants__photos {
  background-color: white;
  border-radius: 15px;
  margin: 10px;
  padding-bottom: 10px;
  height: 250px;
  box-shadow: 0px 4px 5px 0px #cbcbcb;
}
.restaurants__photos--large {
  height: 190px;
  width: 100%;
  border-radius: 15px 15px 0px 0px;
  object-fit: cover;
  position: relative;
}
@media screen and (min-width: 768px) {
  .restaurants__photos {
    margin: 10px auto 30px auto;
    width: 80%;
  }
}
@media screen and (min-width: 1024px) {
  .restaurants__photos {
    width: 35%;
  }
}
@media screen and (min-width: 2050px) {
  .restaurants__photos {
    width: 37%;
  }
}

.cards {
  position: relative;
}
.cards span {
  position: absolute;
  z-index: 1;
  right: 10px;
  top: 15px;
  background-color: #99e2d0;
  color: #2c9c81;
  padding: 5px 10px;
}

.text {
  padding-top: 5px;
  padding-left: 10px;
}
.text p {
  color: black;
}
.text__description {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/*coeurs*/
.iconheart {
  position: relative;
}

.far {
  height: 60px;
  width: 60px;
  font-size: 30px;
}

/*coeur noir/blanc*/
.heart--nb {
  position: absolute;
  -webkit-text-stroke: 1px white;
}

/*coeur couleur*/
.heart--color {
  opacity: 0;
}

.heart--color:hover {
  opacity: 1;
  background: linear-gradient(70deg, #ff79da, #9356dc);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: bold;
  cursor: pointer;
  animation: color;
  animation-duration: 1s;
  animation-delay: 0.3s;
  animation-timing-function: linear;
  animation-fill-mode: both;
}

/*footer*/
footer {
  color: white;
  background-color: #353535;
  padding: 15px;
}
footer h2 {
  font-family: "Shrikhand";
  font-weight: 200;
}
footer ul {
  list-style: none;
  margin-left: 6px;
  padding-left: 0;
}
footer li {
  margin-bottom: 10px;
}
footer li i {
  margin: 0;
}
@media screen and (min-width: 768px) {
  footer li {
    text-align: center;
  }
}
footer a {
  color: white;
  font-style: normal;
  font-size: 14px;
}
footer .fas {
  margin-right: 15px;
  color: white;
}

.link {
  padding-left: 7px;
}

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