@import url("https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&display=swap");
@import url(https://fonts.googleapis.com/css?family=Roboto:400,300,600,400italic);
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

body {
  font-family: "Roboto Condensed", sans-serif;
  background-color: #E3E1D9; }

/* Variables */
/*mixins - aplicados en la seccion de productos destacados. card-container*/
/*extends*/
/*---RESERT---*/
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

body header {
  display: flex;
  background-color: #000000;
  justify-content: center;
  position: sticky;
  top: 0;
  z-index: 10; }
  body header nav div a .logo {
    width: 100px;
    height: 100px; }
  body header nav div .navbar-toggler {
    padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
    font-size: var(--bs-navbar-toggler-font-size);
    line-height: 1;
    color: white;
    background-color: #c84646;
    border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
    border-radius: var(--bs-navbar-toggler-border-radius);
    transition: var(--bs-navbar-toggler-transition); }
  body header nav div div .navbar-nav .nav-link {
    color: #E3E1D9;
    font-size: 25px;
    text-align: center; }
    body header nav div div .navbar-nav .nav-link:hover {
      color: #c84646; }

body main {
  /* ! seccion carousel- boostrap */ }
  body main section h3, body main section h5, body main section h6 {
    padding: 10px 20px; }
  body main section p {
    padding: 10px 30px; }
  body main .hero {
    text-align: center;
    height: 350px;
    background-image: url(../img/piezas.jpg);
    background-size: cover;
    background-attachment: fixed;
    background-repeat: no-repeat;
    line-height: 550px; }
    body main .hero h1 {
      font-style: normal;
      padding-top: 35px;
      color: #000000;
      font-size: 65px;
      text-shadow: 2px 2px 2px #ffffff; }
  body main .pageprincipal {
    width: auto;
    height: auto;
    margin: 20px;
    padding: 20px; }
    body main .pageprincipal h2 {
      text-align: center; }
    body main .pageprincipal .pageprincipal2 {
      display: flex;
      flex-wrap: wrap;
      margin: 10px;
      padding: 10px;
      justify-content: center; }
      body main .pageprincipal .pageprincipal2 img {
        margin-left: 10px;
        width: 100%;
        height: auto; }
      body main .pageprincipal .pageprincipal2 p {
        display: flex;
        text-align: justify;
        width: 55%;
        margin: 20px; }
    body main .pageprincipal .pageprincipal3 {
      display: flex;
      flex-wrap: wrap;
      margin: 10px;
      padding: 10px;
      justify-content: center; }
      body main .pageprincipal .pageprincipal3 img {
        margin-left: 10px;
        width: 100%;
        height: auto; }
      body main .pageprincipal .pageprincipal3 p {
        display: flex;
        text-align: justify;
        width: 55%;
        margin: 20px; }
    body main .pageprincipal .pageprincipal-escalera {
      display: flex;
      flex-wrap: wrap;
      margin: 10px;
      padding: 10px;
      justify-content: center; }
      body main .pageprincipal .pageprincipal-escalera img {
        margin-left: 10px;
        width: 100%;
        height: auto; }
      body main .pageprincipal .pageprincipal-escalera p {
        display: flex;
        text-align: justify;
        width: 55%;
        margin: 20px; }
  body main .galeria h2 {
    margin: 2px;
    text-align: center; }
  body main .galeria div div img {
    height: auto; }

.productosdestacados {
  display: flex; }

.productosdestacados article {
  width: auto;
  height: auto; }

/*se aplico mixins*/
.productosdestacados .card-container {
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: 15px;
  margin: 20px;
  padding: 15px; }

div img {
  width: 180px;
  height: 250px;
  margin: 10px; }

h4 {
  font-size: 15px;
  text-indent: 10px;
  text-align: justify; }

h3 {
  text-align: center;
  text-indent: 20px;
  text-decoration: none;
  font-size: 35px;
  padding: 10px;
  gap: 30px;
  color: black; }

.card-container .tarjeta {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-evenly;
  position: static;
  box-shadow: 6px 10px 21px -3px #333;
  -webkit-box-shadow: 6px 10px 21px -3px #000000eb;
  -moz-box-shadow: 6px 10px 21px -3px rgba(0, 0, 0, 0.92);
  justify-items: center; }
  .card-container .tarjeta .btn {
    text-decoration: none;
    padding: 0.3em 1em;
    margin-bottom: 0.3em;
    cursor: pointer;
    border-radius: 3px;
    overflow: hidden;
    color: rgba(0, 0, 0, 0);
    text-shadow: 0 0 0 #000, 0 3rem 0 #fff;
    transition: background-color 150ms, text-shadow 200ms;
    font-size: 1.1rem; }
    .card-container .tarjeta .btn:hover {
      background-color: #c84646;
      text-shadow: 0 -3rem 0 #000, 0 0 0 #fff; }

/* !seccion maps*/
.mapas {
  display: flex;
  flex-direction: column;
  margin: 10px;
  padding: 10px; }
  .mapas h3 {
    display: flex;
    color: black;
    padding: 2%;
    text-align: justify; }

/* !seccion footer*/
footer {
  display: flex;
  background-color: #909090; }
  footer .redes {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly; }
    footer .redes a i {
      margin-right: 10px;
      flex-direction: row;
      justify-content: space-evenly; }
  footer .container-footer {
    max-width: 400px;
    padding: 2px 5px 5px 5px;
    color: black; }
  footer .footer-article {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify; }
  footer .footer-info {
    margin: 0 20px;
    padding: 0 5px; }
    footer .footer-info h3 {
      font-size: 18px;
      text-align: justify; }
    footer .footer-info p {
      font-size: 15px; }
    footer .footer-info a {
      color: #c84646; }
    footer .footer-info .redes a i {
      color: #000000;
      font-size: 25px; }
      footer .footer-info .redes a i:hover {
        color: #c84646; }
  footer .footer-info-title {
    margin-top: 0; }
  footer .footer-info:first-child {
    padding-left: 0;
    max-width: 475px; }
  footer .footer-info:nth-child(2) {
    max-width: 314px; }
  footer .footer-info:nth-child(3) {
    padding-right: 0;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none; }
  footer .footer .container-footer .copyright {
    padding-top: 0;
    margin-top: 0; }
  footer .footer a {
    display: flex; }
  footer .footer:hover {
    color: #c84646;
    -webkit-transition: color .3s;
    -o-transition: color .3s;
    transition: color .3s; }

/**--------------PAGE--------------- seccion carta*/
.cartaresto {
  height: 450px;
  background-image: url(../img/carta.jpg);
  background-size: cover;
  background-attachment: fixed;
  line-height: 500px;
  text-align: center;
  color: #ffffff; }

.carta-menu article div h3 {
  margin-top: 15px;
  margin-bottom: 6px; }

.cartaresto h1 {
  font-style: normal;
  padding-top: 40px;
  color: #000000;
  font-size: 45px;
  text-shadow: 2px 2px 2px #ffffff; }

/**Carta-MENU**/
.grid-container h2 {
  text-decoration: underline;
  text-align: center;
  margin: 5px;
  padding: 5px; }

/* grid menu*/
.menu {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(650px, 500px));
  grid-gap: 1rem; }

.menu-part {
  display: grid;
  grid-template-columns: 150px minmax(200px 280px) 60px;
  /* grid-row-gap: 10px;*/
  grid-column-gap: 0px;
  grid-template-areas: "img menu-item price";
  margin-top: 10px;
  margin-bottom: 10px;
  align-items: center;
  margin: 5px;
  padding: 5px; }
  .menu-part img {
    grid-area: auto;
    width: 200px;
    height: 180px;
    margin: 5px;
    padding: 5px; }
  .menu-part p {
    padding: 10px 1px;
    margin: 10px; }

.menu-item {
  grid-area: menu-item;
  font-weight: bold; }

.price::before {
  content: "$";
  font-weight: bold; }

.price {
  grid-area: price;
  font-weight: bold; }

/**---------------PAGE-------------------- seccion reservas */
.fotoreservas {
  text-align: center;
  height: 350px;
  background-image: url(../img/variedad-sushi.jpg);
  background-size: cover;
  background-attachment: fixed;
  background-repeat: no-repeat;
  line-height: 550px; }
  .fotoreservas h2 {
    font-style: normal;
    padding-top: 40px;
    color: #000000;
    font-size: 45px;
    text-shadow: 2px 2px 2px #ffffff; }

.fotoreservas2 {
  width: 1304px;
  height: 780px; }

.reservation .title {
  margin: 5px;
  margin-top: 0;
  padding-bottom: 10px;
  text-indent: 15px;
  color: #000000;
  word-spacing: 3px; }

.reservation p {
  display: flex;
  text-indent: 10px; }

form {
  margin: 10px;
  padding: 20px;
  align-items: center; }

.reservation input {
  width: 255px;
  height: 40px;
  border-radius: 2px;
  text-transform: uppercase;
  padding-left: 10px;
  margin: 5px 0;
  font-size: .875rem;
  color: #646464;
  letter-spacing: 2px;
  background: transparent;
  border: solid 1px #646464;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.reservation select {
  width: 255px;
  height: 40px;
  border-radius: 2px;
  text-transform: uppercase;
  padding-left: 10px;
  margin: 5px 0;
  font-size: .875rem;
  color: #646464;
  letter-spacing: 2px;
  background: transparent;
  border: solid 1px #646464;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: no-repeat right 10px center url(img/fotoreservas2.png); }

.reservation input::-webkit-input-placeholder, .reservation input::-moz-placeholder, .reservation input:-ms-input-placeholder {
  color: #646464;
  font-weight: 300; }

.reservation input::-ms-input-placeholder {
  color: #883d3d;
  font-weight: 300; }

.reservation input::placeholder {
  color: #646464;
  font-weight: 300; }

.reservation input:hover {
  border: solid 1px #C89446;
  background-color: rgba(255, 255, 255, 0.1);
  cursor: pointer;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s; }

.reservation select:hover,
.reservation input:focus,
.reservation select:focus {
  border: solid 1px #C89446;
  background-color: rgba(255, 255, 255, 0.1);
  cursor: pointer;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s; }

select option {
  color: #000000; }

.reservation button {
  width: 255px;
  height: 40px;
  margin: 15px;
  border-radius: 2px;
  text-transform: uppercase;
  font-size: .875rem;
  font-weight: 600;
  letter-spacing: 2px;
  color: #000000;
  background: #e25c3a;
  border: 1px solid #e0826a;
  cursor: pointer; }
  .reservation button:hover {
    background-color: #a52505; }

.reservation p {
  display: flex;
  text-align: justify;
  padding: 15px;
  margin: 10px; }

/** ------------PAGE-------------------seccion Servicios**/
.fotocatering {
  width: 1302px;
  height: 555px; }

.heroservicios {
  text-align: center;
  height: 350px;
  background-image: url(../img/catering-tabla.jpg);
  background-size: cover;
  background-attachment: fixed;
  background-repeat: no-repeat;
  line-height: 550px; }
  .heroservicios h1 {
    font-style: normal;
    padding-top: 35px;
    color: #000000;
    font-size: 35px;
    text-shadow: 2px 2px 2px #ffffff; }

.text-servicios {
  display: flex; }
  .text-servicios h5 {
    text-indent: 15px;
    margin: 10px; }

.text-servicios2 h5 {
  margin: 10px;
  padding: 15px;
  text-indent: 5px; }

body main section h4 {
  font-size: 15px;
  text-indent: 20px;
  text-align: justify; }

/*!  seccion-contacto*/
.fotocontacto {
  width: 1305px;
  height: 750px; }

.hero5 {
  text-align: center;
  height: 350px;
  background-image: url(../img/foto-contacto.jpg);
  background-size: cover;
  background-attachment: fixed;
  background-repeat: no-repeat;
  line-height: 550px; }
  .hero5 h1 {
    font-style: normal;
    padding-top: 100px;
    color: #000000;
    font-size: 35px;
    text-shadow: 2px 2px 2px #ffffff; }

.fotocontacto {
  width: 50%; }

.text-contacto {
  margin: 10px;
  padding: 15px; }
  .text-contacto h2 {
    text-indent: 5px; }
  .text-contacto p {
    color: #000000; }

.container {
  max-width: 400px;
  width: 100%;
  margin: 0 auto;
  position: relative; }

#contact {
  background: #ffffff00;
  padding: 50px;
  margin: 15px 0;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2), 0 10px 10px 0 rgba(0, 0, 0, 0.24); }
  #contact input[type="text"], #contact input[type="email"], #contact input[type="tel"] {
    font: 400 12px/16px "Roboto", Helvetica, Arial, sans-serif; }
  #contact textarea,
  #contact button[type="submit"] {
    font: 400 12px/16px "Roboto", Helvetica, Arial, sans-serif; }
  #contact h3 {
    display: block;
    font-size: 30px;
    font-weight: 300;
    margin-bottom: 10px; }
  #contact h4 {
    margin: 5px 0 15px;
    display: block;
    font-size: 13px;
    font-weight: 400; }

fieldset {
  border: medium none !important;
  margin: 0 0 10px;
  min-width: 100%;
  padding: 0;
  width: 100%; }

#contact input[type="text"], #contact input[type="email"], #contact input[type="tel"], #contact input[type="url"] {
  width: 100%;
  border: 1px solid #ccc;
  background: #FFF;
  margin: 0 0 5px;
  padding: 10px; }

#contact textarea {
  width: 100%;
  border: 1px solid #ccc;
  background: #FFF;
  margin: 0 0 5px;
  padding: 10px; }

#contact input[type="text"]:hover, #contact input[type="email"]:hover, #contact input[type="tel"]:hover, #contact input[type="url"]:hover {
  -webkit-transition: border-color 0.3s ease-in-out;
  -moz-transition: border-color 0.3s ease-in-out;
  transition: border-color 0.3s ease-in-out;
  border: 1px solid #aaa; }

#contact textarea {
  height: 100px;
  max-width: 100%;
  resize: none; }
  #contact textarea:hover {
    -webkit-transition: border-color 0.3s ease-in-out;
    -moz-transition: border-color 0.3s ease-in-out;
    transition: border-color 0.3s ease-in-out;
    border: 1px solid #aaa; }

#contact button[type="submit"] {
  cursor: pointer;
  width: 100%;
  border: none;
  background: #e25c3a;
  color: #000000;
  margin: 0 0 5px;
  padding: 10px;
  font-size: 15px; }
  #contact button[type="submit"]:active {
    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.5); }
  #contact button[type="submit"]:hover {
    background-color: #a52505; }

#contact input:focus,
#contact textarea:focus {
  outline: 0;
  border: 1px solid #aaa; }

::-webkit-input-placeholder,
:-moz-placeholder,
::-moz-placeholder,
:-ms-input-placeholder {
  color: #888; }

/* ? -------media quaries---*/
@media screen and (max-width: 800px) {
  body main .fotoreservas h2 {
    font-size: 35px; } }

@media screen and (max-width: 780px) {
  body header {
    margin: auto;
    width: auto; } }

@media screen and (max-width: 760px) {
  .productosdestacados .card-container {
    flex-direction: column; } }

@media screen and (max-width: 750px) {
  header {
    width: auto; } }

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

@media screen and (max-width: 650px) {
  body main .menu {
    grid-template-columns: repeat(auto-fill, minmax(350px, 500px)); }
    body main .menu .menu-part {
      grid-template-areas: "img" "menu-item" "price"; }
      body main .menu .menu-part p {
        font-size: 15px;
        width: 60%;
        text-align: justify; }
      body main .menu .menu-part img {
        width: 220px;
        height: 180px; }
    body main .menu section .heroservicios h1 {
      font-size: 25px; } }

@media screen and (max-width: 630px) {
  body main .pageprincipal .pageprincipal2 p {
    width: 90%; }
  body main .pageprincipal .pageprincipal-escalera p {
    width: 90%; }
  body main .pageprincipal .pageprincipal3 p {
    width: 90%; }
  body main .mapas h3 {
    font-size: 20px; } }

@media screen and (max-width: 590px) {
  body main .mapas h3 {
    font-size: 20px; }
  footer {
    justify-content: center; }
    footer .container-footer .footer-article {
      flex-direction: column; } }

@media screen and (max-width: 530px) {
  body main .mapas h3 {
    font-size: 15px; } }

@media screen and (max-width: 430px) {
  body main .mapas .maps {
    display: none; } }

@media screen and (max-width: 385px) {
  body main section .carta-menu .grid.container .menu .menu-part img {
    width: 200px; } }
