@font-face {
  font-family: "DosisMedium";
  src: url("../public/fonts/Dosis-Medium.ttf");
}
@font-face {
  font-family: "DosisExtraLigth";
  src: url("../public/fonts/Dosis-ExtraLight.ttf");
}
@font-face {
  font-family: "DosisExtraBold";
  src: url("../public/fonts/Dosis-ExtraBold.ttf");
}
@font-face {
  font-family: "DosisSemiBold";
  src: url("../public/fonts/Dosis-SemiBold.ttf");
}
@font-face {
  font-family: "DosisVariable";
  src: url("../public/fonts/Dosis-VariableFont_wght.ttf");
}
@font-face {
  font-family: "Secramento";
  src: url("../public/fonts/Sacramento-Regular.ttf");
}
.tangerine-regular {
  font-family: "Tangerine", cursive;
  font-weight: 700;
  font-style: normal;
}

.tangerine-bold {
  font-family: "Tangerine", cursive;
  font-weight: 700;
  font-style: normal;
}

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-family: "DosisMedium" !important;
}
body {
  overflow-x: hidden !important;
  transition-duration: 300ms;
  width: 100vw;
}
form {
  position: relative;
  z-index: 20;
}
img {
  z-index: 20;
}
.conocenos {
  border: 2px solid #0f4527;
  color: #0f4527;
  font-weight: 900;
  text-decoration: none;
}
.conocenos:hover {
  border-color: rgb(255, 255, 255);
  color: rgb(255, 255, 255);
}
.conocenos:active {
  border-color: #fed688;
  color: #fed688;
}
.reserv_cafe {
  background-color: #322016;
  font-family: "DosisMedium";
  font-weight: 800;
  color: white;
  text-decoration: none;
}
.reserv_cafe:hover {
  color: #fed688;
}
.reserv_cafe:active {
  background-color: #e1603b;
  color: white;
}
.info_trasn_yell {
  margin: auto;
  border: 2px solid #fed688;
  color: #fed688;
}
.info_trasn_yell:hover {
  border-color: black;
  color: black;
}
.info_trasn_yell:active {
  border-color: #fed688;
  color: #fed688;
}
.ver_galeria {
  background: #fed688;
  display: flex;
  justify-content: center;
  color: black;
  font-weight: 700;
}
.ver_galeria:hover {
  background: #e1603b;
  color: white;
}
.ver_galeria:active {
  background: #fed688;
  color: white;
}
header a {
  text-decoration: none;
  color: white;
}
a {
  text-decoration: none;
  color: white;
}
header a:hover {
  color: #9b9b9b;
}
header a:active {
  color: #fed688;
}
html {
  max-width: 100%;
  min-height: 100vh;
  background-color: #efe9e2;
}
h2 {
  padding: 10px 0;
  overflow-y: hidden;
  font-family: "Secramento" !important;
  font-size: 45px !important;
  font-weight: 400 !important;
  color: #322016;
}
.ham {
  cursor: pointer;
}
header {
  width: 100vw;
  display: flex;
  position: fixed;
  justify-content: space-around;
  align-items: center;
  background-color: #ffffff;
  z-index: 100;
}
.header_productos {
  position: relative;
}
main {
  padding-top: auto;
}
.containerPrinc {
  width: 100%;
}
.containerLogo {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.containerLogo > img {
  height: 80px;
}
.navTC_icons {
  display: flex;
  align-items: center;
  height: 100%;
  gap: 20px;
}
.icon > img {
  height: 23px;
}
.navTC_links {
  display: none;
  justify-content: space-around;
  align-items: flex-end;
  width: 100%;
  height: 50%;
  letter-spacing: 3px;
}
.navTC_links > div {
  background-color: #0f4527;
  padding: 15px;
  width: 100%;
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 4rem;
  border-top-left-radius: 30px;
  z-index: 10;
}

.menu {
  margin-bottom: 10px;
}
.navMobile {
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 50;
  padding-top: 6rem;
  padding-bottom: 6rem;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 70%;
  background: #0f4527;
  border-top-left-radius: 40px;
  border-bottom-left-radius: 40px;
}
.navMobile_header {
  display: flex;
  position: absolute;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  justify-content: space-between;
  width: 100%;
  top: 19px;
}
nav > div > a {
  color: white;
  text-decoration: none;
}
.navMobile_links {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 30px;
}
.navMobile_links a {
  color: white;
}
.activate {
  color: #00ff55 !important;
}
.Tag {
  position: fixed;
  width: 100vw;
  background-color: #ccc;
  padding: 10px 0px 10px 3rem;
  display: flex;
  align-items: center;
  gap: 20px;
  z-index: 5;
}
/* Banner principal */
.Banner {
  padding: 0%;
  margin: 0%;
  position: relative;
  width: 100%;
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  z-index: 1;
}
.carousel-indicators {
  display: flex;
  justify-content: center;
  gap: 10px; /* Espacio entre los círculos */
  padding-bottom: 20px; /* Espacio desde la parte inferior */
}

.carousel-indicators button {
  width: 20px !important; /* Ancho del círculo */
  height: 3px !important; /* Altura del círculo */
  border-radius: 50%; /* Hace que el botón sea un círculo */
  background: #322016 !important;
  border: none; /* Elimina el borde */
  padding: 0; /* Elimina el padding */
  transition: background-color 0.3s ease; /* Transición suave */
}

.carousel-indicators button.active {
  background-color: rgba(
    255,
    255,
    255,
    1
  ); /* Color de fondo cuando está activo */
}

/* Configuración general de las imágenes del carrusel */
.carousel-inner img {
  width: 100%;
  height: 100vh; /* Altura fija que abarca el viewport */
  object-fit: cover; /* Ajusta la imagen sin distorsión */
  border-bottom-left-radius: 100px;
  border-bottom-right-radius: 100px;
}

/* Ajuste específico para la transición de imágenes */
.carousel-item {
  width: 100% !important; /* Asegura que todas las imágenes ocupen el ancho completo */
  padding-bottom: 80px;
  transition: transform 0.5s ease-in-out; /* Suaviza el cambio de imágenes */
}

/* Evitar que las imágenes activas se encogen */
.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block; /* Asegura que estén visibles y en su lugar */
  width: 100%;
}

/* Controlar el comportamiento fuera de la transición */
.carousel-item:not(.active) {
  display: none; /* Oculta las imágenes no activas para evitar conflictos */
}

/* Fondo degradado */
.fontoDegrad {
  opacity: 0.5;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, #c7ffde 27%, #0f4527 81%);
  z-index: 2;
  border-bottom-left-radius: 100px;
  border-bottom-right-radius: 100px;
}

/* Contenedor del texto */
.Banner_containerText {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  z-index: 3;
  color: #fff;
  width: 50%;
  line-height: 1.5;
  gap: 20px;
  color: white;
  margin: auto;
  gap: 10px;
  line-height: 27px;
  letter-spacing: 1px;
  font-size: 20px;
  font-family: "DosisMedium";
}

/* Botones del texto */
.banner_buttons {
  display: flex;
  /*flex-direction: column;*/
  /*gap: 10px;*/
}

.BannerSecundario {
  width: 100%;
  height: 440px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2.5rem;
  border-bottom-left-radius: 100px;
  border-bottom-right-radius: 100px;
}
.reserva_banner {
  background: #0f4527;
  color: white;
  transition-duration: 300ms;
  text-decoration: none;
}
.reserva_banner:hover {
  background-color: #008d2f !important;
  color: black;
}
.banner_buttons {
  display: flex;
  /*flex-direction: column;*/
  /*justify-content: space-around;*/
  /*align-items: center;*/
  justify-content: center;
  margin-top: 20px;
  gap: 80px;
}
.button_one {
  width: 185px;
  padding: 7px 0;
  border-top-left-radius: 14px;
  border-bottom-right-radius: 14px;
  text-align: center;
  font-size: 14px;
  text-decoration: none;
}
.descNav {
  transform: translateX(100%);
  display: none;
}
.container{
  width: 90%; /* Ancho del 90% del dispositivo */
    max-width: 960px; /* Ancho máximo para evitar que se vea muy ancho en pantallas grandes */
    margin: 0 auto; /* Centra el contenedor horizontalmente */
    padding: 20px;

}




footer a {
  color: white !important;
}
.footercel {
  background-color: #0f4527;
  padding: 20px;
  text-align: center;
  color: white !important;
  border-top-left-radius: 100px;
  border-top-right-radius: 100px;
}
.footercel p,
.footercel ul,
.footercel li {
  margin: 0;
  padding: 0;
  list-style: none;
}
.footercel .contact-info p {
  margin-bottom: 10px;
}
.contact-info-social {
  display: block;
}
.footercel .info ul,
.footercel .services ul {
  padding-left: 0;
}
.footercel .info ul li,
.footercel .services ul li {
  margin-bottom: 5px;
}
.footercel .copyright {
  font-size: 0.875rem;
  margin-top: 20px;
  padding-top: 12px;
  height: 30px;
  border-top: 1px solid #fff;
}
.footericons {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 10px 0;
}
.footerCompu {
  display: none;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.containerLogo .logo {
  display: block;
  height: 45px !important;
}
.logo2 {
  height: 65px !important;
}
.info ul {
  display: flex;
  flex-direction: column;
  justify-content: start;
  text-align: right;
}
.services ul {
  display: flex;
  flex-direction: column;
  justify-content: start;
  text-align: right;
}
.services h3 {
  display: flex;
  justify-content: right;
}
.info_content {
  display: flex;
  width: 100%;
  justify-content: center;
}
.info {
  padding-right: 50px;
}
.info_content_list {
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
  width: auto;
  align-items: start;
}
.reponsive_logo {
  display: block;
}
.reponsive_logo .logo {
  display: flex;
  padding: 0 30px;
  flex-direction: column;
}
.text-banner{
  font-family: 'Tangerine'; font-size: 90px; color: white; font-weight: 300"
}
@media (max-width: 600px) {
  nav > div > a {
    color: black;
  }
  .activate {
    color: #e1603b;
  }
  h2 {
    font-size: 45px !important;
  }
  .Banner {
    height: 120vh;
  }
  .Banner_containerText {
    width: 70%;
    font-size: 16px;
    gap: 50px;
  }
  .main_title {
    width: 293px;
    margin-top: 90px;
  }
  .fontoDegrad {
    background: linear-gradient(to bottom, #32201673, #fed68826);
  }
  .ham {
    height: 50px;
  }
  .banner_buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .text-banner{
  font-size: 45px;
  }
}

@media (min-width: 768px) {
  .navTC {
    display: block;
  }
  .contact-info-social {
    display: flex;
    justify-content: space-between;
    padding: 50px;
  }
  .reponsive_logo {
    display: flex;
    justify-content: space-between;
    padding: 50px;
  }
  .italic {
    width: 300px;
  }

  .info ul {
    display: flex;
    flex-direction: column;
    justify-content: start;
    text-align: right;
  }
  .services ul {
    display: flex;
    flex-direction: column;
    justify-content: start;
    text-align: right;
  }
  .services h3 {
    display: flex;
    justify-content: right;
  }
}

@media (min-width: 1024px) {
  header {
    justify-content: space-between;
    padding-top: 30px;
  }
  .containerLogo {
    /*position: absolute;
    display: flex;
    align-items: start;*/

    width: 36%;
  }
  .navTC {
    width: 100%;
  }
  .navTC_links {
    display: block;
  }
  .navTC_icons {
    padding-right: 7rem;
    justify-content: flex-end;
    margin-bottom: 20px;
  }
  .menu {
    display: none;
  }
  .navMobile {
    display: none;
  }
  .banner_buttons {
    display: flex;
    width: 90%;
  }
  .footercel {
    display: none;
  }
  .footerCompu {
    display: grid;
  }
  .containerLogo .logo {
    display: block;
    height: 85px !important;
    /*height: 45px !important;*/
  }
  main {
    padding-top: 126px;
  }
}

.description {
  font-family: "DosisSemiBold";
  font-size: 20px;
}

a {
  text-decoration: none !important;
}
li {
  list-style: none;
}

.copyright-content {
  width: 92vw;
  height: 55px;
  border-top: 1px solid #fff;
  margin-top: 30px;
  padding-top: 15px;
  display: flex;
  justify-content: center;
}
