@charset "UTF-8";
/*liens vers les différents fichiers .scss*/
* {
  box-sizing: border-box;
}

html {
  font-family: "Roboto", sans-serif;
}
html p {
  font-size: 12px;
}

html, body {
  margin: 0;
  padding: 0;
}

body {
  background-color: #f6f6f6;
  max-width: 1120px;
  margin: auto;
}

.container-width {
  max-width: 1120px;
  margin: auto;
  padding: 0 10px;
}

/*partie header sur la page d'accueil*/
.logo {
  text-align: center;
  background-color: white;
  width: 100%;
}
.logo img {
  margin-top: 15px;
  margin-bottom: 15px;
}

/*partie page menu - la mise en page est identique pour l'ensemble des restaurants*/
/*correspond à la flèche de retour + au logo*/
.logoinfographie {
  display: flex;
  flex-direction: row;
  align-items: center;
  /* permet d'aligner la flèche et le logo */
  background-color: white;
  width: 100%;
}
.logoinfographie .infographie-fleche {
  padding-left: 10px;
}
.logoinfographie .infographie-fleche a {
  text-decoration: none;
  color: black;
}

/*doit correspondre aux images qui se trouvent sur les pages menu*/
.backgroundimage {
  width: 100%;
}
.backgroundimage .img-top {
  background-size: cover;
  object-fit: cover;
  width: 100%;
  height: 250px;
  padding: 0;
}

@media screen and (min-width: 768px) and (max-width: 1350px) {
  .backgroundimage .img-top {
    height: 400px;
  }
}
@media screen and (min-width: 1350px) and (max-width: 1950px) {
  .backgroundimage .img-top {
    height: 500px;
  }
}
/*partie footer - identique pour l'ensemble des pages du site*/
footer {
  background-color: #353535;
  height: 100%;
  width: 100%;
  margin-bottom: -15px;
  padding-bottom: 20px;
}
footer h6 {
  color: white;
  padding-top: 15px;
  padding-left: 20px;
  font-family: shrikhand;
  font-size: 12px;
}
footer a {
  text-decoration: none;
  color: white;
  padding-bottom: 20px;
  padding-left: 20px;
  font-size: 11px;
}

/*attention contact doit renvoyer sur une adresse mail*/
/*Partie fonctionnement*/
.container1 {
  width: 100%;
  background-color: white;
  padding-top: 5px;
  padding-bottom: 15px;
}

.info-title {
  margin-left: 20px;
}

.block-filter {
  display: flex;
  flex-direction: row;
  margin-left: 15px;
  margin-bottom: 15px;
}
.block-filter .filtres {
  margin-bottom: 15px;
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  background-color: #f6f6f6;
  box-shadow: 5px 5px 5px #d5d5d5;
  border-radius: 10px;
  padding: 10px;
  width: 90%;
  transition: background-color 0.25s ease;
}
.block-filter .filtres:hover {
  background-color: #c697ff;
}
.block-filter .filtres a {
  text-decoration: none;
  color: #353535;
  font-size: 11px;
  font-weight: bold;
  padding-right: 10px;
}
.block-filter .filtres .infographie {
  color: #353535;
}
.block-filter .filtres .infographie:hover {
  color: #9356DC;
}

.bulle {
  background-color: #9356DC;
  display: inline-block;
  border-radius: 100%;
  width: 17px;
  height: 17px;
  text-align: center;
  font-size: 7px;
  color: white;
  margin-top: 11px;
  margin-left: -6px;
  position: absolute;
  z-index: 3;
}
.bulle p {
  padding-top: 3px;
  margin-top: -1px;
}

@media screen and (min-width: 768px) and (max-width: 1350px) {
  .info-title {
    text-align: center;
  }

  .info-filtres {
    display: flex;
    flex-wrap: nowrap;
    margin-left: 12%;
  }
  .info-filtres .block-filter {
    display: flex;
    flex-direction: row;
  }
  .info-filtres .block-filter .filtres a {
    padding-right: 10px;
    padding-left: 10px;
    text-align: center;
  }
  .info-filtres .block-filter .filtres .infographie i {
    color: #353535;
    padding-left: 5px;
  }
  .info-filtres .block-filter .filtres .infographie i:hover {
    color: #9356DC;
  }
  .info-filtres .bulle {
    align-items: center;
    margin-top: 15px;
  }
}
@media screen and (min-width: 1350px) and (max-width: 1950px) {
  .info-title {
    text-align: center;
  }

  .info-filtres {
    display: flex;
    flex-wrap: nowrap;
    margin-left: 25%;
  }
  .info-filtres .block-filter {
    display: flex;
    flex-direction: row;
  }
  .info-filtres .block-filter .filtres a {
    padding-right: 10px;
    padding-left: 10px;
    text-align: center;
  }
  .info-filtres .block-filter .filtres .infographie i {
    color: #353535;
    padding-left: 10px;
  }
  .info-filtres .block-filter .filtres .infographie i:hover {
    color: #9356DC;
  }
  .info-filtres .bulle {
    align-items: center;
    margin-top: 15px;
  }
}
/*bouton permettant de rechercher des restaurants*/
.container0 {
  text-align: center;
  margin-left: 20%;
  margin-right: 20%;
}
.container0 .bouton {
  margin-top: 30px;
  margin-bottom: 35px;
}
.container0 .bouton1 {
  text-decoration: none;
  background: linear-gradient(to bottom right, #FF79DA, #9356DC);
  box-shadow: 5px 5px 5px #d5d5d5;
  color: white;
  border: none;
  border-radius: 30px;
  padding: 10px;
  font-size: 11px;
  transition: background-color 0.25s ease;
}
.container0 .bouton1:hover {
  background: linear-gradient(to bottom right, #ffa8e7, #c697ff);
  /*jouer sur la saturation
  des couleurs primaires et secondaires du site pour les rendre plus claires au passage de la souris*/
  box-shadow: 5px 5px 5px #b8b8b8;
  /*ombre portée plus visible*/
}

/*bouton pour commander - se trouve sur les pages menus*/
.bouton-commande {
  margin-top: 30px;
  margin-bottom: 35px;
  margin-left: 30%;
}
.bouton-commande .bouton1-commande {
  text-decoration: none;
  background: linear-gradient(to bottom right, #FF79DA, #9356DC);
  box-shadow: 5px 5px 5px #d5d5d5;
  border: none;
  color: white;
  border-radius: 30px;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 30px;
  padding-right: 30px;
  font-size: 11px;
  transition: background-color 0.25s ease-in-out;
}
.bouton-commande .bouton1-commande:hover {
  background: linear-gradient(to bottom right, #ffa8e7, #c697ff);
  /*jouer sur la saturation
  des couleurs primaires et secondaires du site pour les rendre plus claires au passage de la souris*/
  box-shadow: 5px 5px 5px #b8b8b8;
  /*ombre portée plus visible*/
}

@media screen and (min-width: 768px) and (max-width: 1350px) {
  .bouton-commande {
    margin-top: 30px;
    margin-bottom: 35px;
    margin-left: 42%;
  }
}
@media screen and (min-width: 1350px) and (max-width: 1950px) {
  .bouton-commande {
    margin-top: 30px;
    margin-bottom: 35px;
    margin-left: 45%;
  }
}
/*partie des restaurants*/
.container2 {
  width: 100%;
}
.container2 .restaurant-title {
  margin-top: 25px;
  margin-left: 20px;
}
.container2 .block-card a {
  text-decoration: none;
  color: black;
}
.container2 .block-card .contenu {
  box-sizing: border-box;
  background-color: white;
  border-radius: 15px;
  box-shadow: 5px 5px 5px #EAEAEA;
  width: 95%;
  margin-bottom: 20px;
  margin-left: 10px;
  height: 45%;
  position: relative;
}
.container2 .block-card .contenu .card-img-top {
  background-size: cover;
  object-fit: cover;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  width: 100%;
  height: 150px;
}
.container2 .block-card .contenu .new {
  position: absolute;
  z-index: 3;
  top: 10px;
  right: 10px;
  background-color: #99E2D0;
}
.container2 .block-card .contenu .new .new1 {
  color: #39a98e;
  padding: 5px;
  margin: -2px;
}
.container2 .block-card .contenu .card-body {
  margin-left: 20px;
  margin-bottom: 25px;
  margin-top: -5px;
}
.container2 .block-card .contenu .card-body .card-text {
  margin-top: -5px;
  padding-bottom: 10px;
}
.container2 .block-card .contenu .card-body .like {
  display: flex;
  justify-content: flex-end;
  margin-right: 15px;
  margin-top: -40px;
  margin-bottom: 15px;
}
.container2 .block-card .contenu .card-body .like .far.fa-heart {
  position: relative;
  z-index: 1;
}
.container2 .block-card .contenu .card-body .like .fas.fa-heart {
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(to bottom right, #FF79DA, #9356DC);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: all 0.5s;
  transform: scale(0);
  z-index: -1;
}
.container2 .block-card .contenu .card-body .like:hover .fas.fa-heart {
  transform: scale(1);
}

@media screen and (min-width: 768px) and (max-width: 1350px) {
  .container2 {
    width: 100%;
  }
  .container2 .restaurant-title {
    margin-top: 25px;
    text-align: center;
  }
  .container2 .block-card {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
  }
  .container2 .block-card .card-part1 {
    width: 100%;
    margin-bottom: 40px;
    margin-right: 15px;
  }
  .container2 .block-card .card-part2 {
    width: 100%;
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 1350px) and (max-width: 1950px) {
  .container2 {
    width: 100%;
  }
  .container2 .restaurant-title {
    margin-top: 25px;
    text-align: center;
  }
  .container2 .block-card {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
  }
  .container2 .block-card .card-part1 {
    width: 450px;
    margin-bottom: 40px;
    margin-left: 9%;
    margin-right: 15px;
  }
  .container2 .block-card .card-part2 {
    width: 450px;
    margin-bottom: 40px;
  }
}
.container {
  width: 100%;
  background-color: #eaeaea;
  padding-top: 10px;
  padding-bottom: 10px;
  /*ne pas oublier de mettre l'ombre (gris foncé) en position top
  attention doit se trouver à l'interieur du container*/
}
.container .searchbar {
  width: 100%;
  border: none;
  text-align: center;
  padding-left: 20px;
}
.container .searchbar i {
  margin-right: 10px;
  color: #353535;
}
.container #searchbox {
  text-decoration: none;
  background-color: #eaeaea;
  border: none;
}
.container #searchbox ::placeholder {
  color: #353535;
  font-weight: bold;
  text-align: center;
}

.container-menu {
  margin-top: -12%;
  width: 100%;
  background-color: #f6f6f6;
  position: relative;
  z-index: 3;
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
}
.container-menu .card-body-menu {
  width: 100%;
}
.container-menu .card-body-menu > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0 10px;
}
.container-menu .restaurant {
  display: flex;
  flex-direction: row;
  align-items: center;
  text-align: center;
  justify-content: space-between;
}
.container-menu .restaurant .title-restaurant {
  font-family: shrikhand;
  margin-left: 5px;
}
.container-menu .restaurant .like-restaurant {
  padding-right: 20px;
  display: flex;
  justify-content: flex-end;
}
.container-menu .restaurant .like-restaurant .far.fa-heart {
  position: relative;
  z-index: 1;
}
.container-menu .restaurant .like-restaurant .fas.fa-heart {
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(to bottom right, #FF79DA, #9356DC);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: all 0.5s;
  transform: scale(0);
  z-index: -1;
}
.container-menu .restaurant .like-restaurant:hover .fas.fa-heart {
  transform: scale(1);
}
.container-menu .menu {
  /*pour faire apparaitre le menu au fur et à mesure jouer sur l'opacité et mettre une transition*/
}
@keyframes transition {
  0% {
    margin-top: -70px;
    opacity: 0;
  }
  100% {
    margin-bottom: 0;
    opacity: 1;
  }
}
.container-menu .menu .partie1 {
  margin-bottom: 10%;
  opacity: 0;
  animation: transition 1s ease-in-out 2s forwards;
}
.container-menu .menu .partie2 {
  margin-bottom: 10%;
  opacity: 0;
  animation: transition 2s ease-in-out 2s forwards;
}
.container-menu .menu .partie3 {
  margin-bottom: 10%;
  opacity: 0;
  animation: transition 3s ease-in-out 2s forwards;
}
.container-menu .menu .title-menu {
  font-weight: lighter;
  font-size: 13px;
  margin-left: 5px;
}
.container-menu .menu .title-menu span {
  display: inline-block;
  padding-bottom: 2px;
  border-bottom: 2px solid #99E2D0;
}
.container-menu .menu .card-menu {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 98%;
  height: 30%;
  flex-wrap: nowrap;
  background-color: white;
  border-radius: 15px;
  box-shadow: 5px 5px 5px #EAEAEA;
  margin-bottom: 20px;
  margin-left: 5px;
  overflow: hidden;
}
.container-menu .menu .card-menu .card-body-menu .card-title-menu {
  padding-left: 10px;
  margin-bottom: -1%;
  font-size: 12px;
}
.container-menu .menu .card-menu .card-body-menu .card-text-menu {
  padding-left: 10px;
  font-size: 11px;
}
.container-menu .menu .card-menu .card-body-menu .prix {
  font-size: 12px;
  font-weight: bold;
  margin-right: -8px;
}
.container-menu .menu .card-menu .progress__bar {
  width: 30%;
  background: #99E2D0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-top-right-radius: 15px;
  border-bottom-right-radius: 15px;
  transform: translateX(101%);
  transition: all 0.25s ease-out;
}
.container-menu .menu .card-menu .progress__bar i {
  background-color: white;
  font-size: 10px;
  color: #99E2D0;
  padding: 3px;
  border-radius: 100%;
}
.container-menu .menu .card-menu:hover .progress__bar {
  transform: translateX(0);
}
.container-menu .menu .card-menu:hover i {
  transform: rotate(-360deg);
  transition: transform 500ms ease-in-out;
}

@media screen and (min-width: 768px) and (max-width: 1350px) {
  .container-menu .menu .title-menu {
    text-align: center;
  }
  .container-menu .menu .card-menu {
    width: 50%;
    height: 30%;
    margin-left: 25%;
  }
}
@media screen and (min-width: 1350px) and (max-width: 1950px) {
  .container-menu .menu .title-menu {
    text-align: center;
  }
  .container-menu .menu .card-menu {
    width: 50%;
    height: 30%;
    margin-left: 25%;
  }
}
.loader {
  width: 100vw;
  height: 100vh;
  margin: 0 auto;
  text-align: justify;
  background: #f6f6f6;
  position: fixed;
  top: 0;
  left: -100vw;
  z-index: 10000;
  animation: 3s ease-in loader;
}

.custom-loading-spinner {
  cursor: progress;
  position: absolute;
  width: 100%;
  height: 100%;
}
.custom-loading-spinner::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 10001;
  overflow: hidden;
}
.custom-loading-spinner::after {
  box-sizing: border-box;
  z-index: 10002;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -25px 0 0 -25px;
  border: 2px solid #ffa8e7;
  border-top: 3px solid #9356DC;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  animation: custom-loading 1s linear infinite;
}
.custom-loading-spinner:active {
  visibility: hidden;
}

@keyframes loader {
  0% {
    left: 0;
  }
  80% {
    left: 0;
  }
  100% {
    left: -100vw;
  }
}
@keyframes custom-loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

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