@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Lobster&display=swap");

body {
    margin: 0;
    padding: 0;
    max-width: 100%;
    overflow-x: hidden;
    background-color: black;
}

header {
    margin-top: 70px;
}

.navbar,
nav {
    max-width: 100%;
    overflow-x: hidden;
    background-color: #000000;
}

nav, .navbar-nav .nav-link, .nav-link {
    color: #ffffff;
}

.nav-item:hover .nav-link,
.navbar-toggler, .navbar-toggler-icon {
    color: #ff0000;
}

body.carta {
  background-color: #000000;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

body.galeria {
  background-color: #000000;
  padding-top: 3%;
}

body.eventos {
  background-color: #000000;
  padding-top: none;
}

body.nosotros {
  background-color: #000000;
  padding-top: none;
}

body.contacto {
  background-color: #000000;
  padding-top: none;
}

.fondoindex {
  background-color: #000000;
}

/*INDEX*/
.carousel-inner .carousel-item img {
  max-width: 100%;
  height: 520px;
  padding-top: 30px;
  margin-bottom: 47px;
}

.icono-card {
  transition: transform 0.2s ease-in-out;
  margin-bottom: 10px;
  background-color: #000000;
}
.icono-card:hover {
  transform: scale(1.2);
}

/*CARTA*/
.carousel-inner2 .carousel-item2 img {
  max-width: 100%;
  height: auto;
  max-height: 97vh;
  width: auto;
  margin-bottom: 47px;
}

.card-info svg {
  width: 100%;
  height: 140px;
  margin-bottom: 10px;
  background-color: #000000;
}

.card {
  border: none;
  background-color: transparent;
  min-height: 100%;
}

.cards {
  margin-right: 0px;
}

.card-container {
  background-color: #000000;
  margin: 0;
  padding: 0;
  border: 0;
}
.card-container .card {
  height: 100%;
}

.card-info {
  background-color: transparent;
}

.card-info p {
  color: #ffffff;
  background-color: #000000;
}

/*EVENTOS*/
.h1eventos {
  margin-top: 12%;
  padding-bottom: 20px;
  font-size: 40px;
}

.custom-container {
  max-width: 100%;
  padding: 20px;
}
.custom-container .row .col-md-6 {
  display: flex;
  align-items: center;
}

.larger-image {
  max-width: 100%;
  width: 80%;
  animation: float 3s infinite;
}

.custom-container2 {
  max-width: 100%;
  padding: 20px;
}
.custom-container2 .row .col-md-6 {
  display: flex;
  align-items: center;
}

.larger-image2 {
  max-width: 40%;
  width: 80%;
  margin-left: 30%;
  animation: float 3s infinite;
}

@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
.btn.btn-black:hover {
  color: #ff0000;
}

.btn.btn-white:hover {
  color: #ff0000;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.rotate {
  animation: spin 2s infinite linear;
}

/*CONTACTO*/
.formulario {
  padding: 5%;
}

.btn.btn-light {
  font-weight: bold;
}

.btn.btn-light:hover {
  color: #ff0000;
}

/*GALERÍA*/
.gallery-item {
  text-align: center;
  transition: transform 0.3s ease-in-out;
}
.gallery-item:hover {
  transform: scale(1.1);
}
.gallery-item img {
  transition: transform 0.2s ease-in-out;
}
.gallery-item .special-margin {
  margin-bottom: 20px;
}
.gallery-item .linkgaleria a {
  color: #ffffff;
  text-decoration: none;
  transition: color 0.3s;
}
.gallery-item .linkgaleria a:hover {
  color: #ff0000;
}

/*NOSOTROS*/
.h1-ajustes {
  margin-top: 12%;
  padding-bottom: 20px;
  font-size: 40px;
}

.image-container {
  position: relative;
  overflow: hidden;
}
.image-container .image {
  transition: transform 0.3s ease;
  object-fit: cover;
  max-width: 100%;
  height: auto;
}
.image-container .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.3s ease;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.image-container .overlay .overlay-content {
  color: #fff;
  text-align: center;
}
.image-container:hover .image {
  transform: scale(1.1);
}
.image-container:hover .overlay {
  opacity: 1;
}

/*CARRUSEL INDEX*/
@media (max-width: 378px) {
  .carousel-inner .carousel-item img {
    height: 100%;
    width: 100%;
    margin-bottom: 20px;
    margin-top: 17px;
  }
}
@media (min-width: 378px) {
  .carousel-inner .carousel-item img {
    height: 100%;
    width: 100%;
    margin-bottom: 20px;
    margin-top: 17px;
  }
}
@media (max-width: 400px) {
  .carousel-inner .carousel-item img {
    max-height: 32vh;
    margin-bottom: 20px;
    margin-top: 17px;
  }
}
@media (max-width: 450px) {
  .carousel-inner .carousel-item img {
    max-height: 40vh;
    margin-bottom: 20px;
    margin-top: 15px;
  }
}
@media (max-width: 518px) {
  .carousel-inner .carousel-item img {
    max-height: 40vh;
    margin-bottom: 20px;
    margin-top: 13px;
  }
}
@media (max-width: 576px) {
  .carousel-inner .carousel-item img {
    max-height: 40vh;
    margin-bottom: 20px;
  }
}
@media (max-width: 768px) {
  .carousel-inner .carousel-item img {
    max-height: 40vh;
    margin-bottom: 20px;
  }
}
@media (max-width: 992px) {
  .carousel-inner .carousel-item img {
    max-height: 50vh;
    margin-bottom: 30px;
  }
}
@media (max-width: 1200px) {
  .carousel-inner .carousel-item img {
    max-height: 70vh;
  }
}
/*GALERIA*/
@media (max-width: 576px) {
  .special-margin {
    padding-bottom: 5%;
  }
}
@media (max-width: 576px) {
  .h1galeria {
    padding-top: 7%;
    padding-bottom: 4%;
  }
}
@media (max-width: 768px) {
  .h1galeria {
    padding-top: 8%;
    padding-bottom: 2%;
  }
}
@media (max-width: 992px) {
  .h1galeria {
    padding-top: 5%;
  }
}
@media (max-width: 1200px) {
  .h1galeria {
    padding-top: 50%;
    padding-bottom: 3%;
  }
}
@media (max-width: 1201px) {
  .h1galeria {
    padding-top: 7%;
    padding-bottom: 3%;
  }
}
@media (max-width: 1250px) {
  .h1galeria {
    padding-top: 7%;
    padding-bottom: 3%;
  }
}
/*EVENTOS*/
@media (max-width: 576px) {
  .contentevent {
    padding-top: 10%;
  }
}
@media (max-width: 768px) {
  .contentevent {
    padding-top: 8%;
  }
}
@media (max-width: 991px) {
  .contentevent {
    padding-top: 1%;
  }
}
/*FORMULARIO*/
@media (max-width: 576px) {
  .formulario {
    padding-top: 10%;
    padding-bottom: 3%;
  }
}
@media (max-width: 768px) {
  .formulario {
    padding-top: 8%;
    padding-bottom: 2%;
  }
}
footer {
  background-color: #000000;
}
footer a:hover .fab.fa-facebook-f,
footer a:hover .fab.fa-instagram {
  color: #ff0000;
  transition: color 0.2s ease-in-out;
}

header {
  margin-top: 70px;
}

.navbar {
  max-width: 100%;
  overflow-x: hidden;
}

nav {
  background-color: #000000;
}

.navbar-nav .nav-link {
  color: #ffffff;
}

.nav-link {
  color: #ffffff;
}

.nav-item:hover .nav-link {
  color: #ff0000;
}

.navbar-toggler {
  background-color: #ff0000;
}

.navbar-toggler-icon {
  color: #ff0000;
}

.whatsapp {
  position: fixed;
  width: 60px;
  height: 60px;
  bottom: 40px;
  right: 40px;
  background-color: #25d366;
  color: white;
  border-radius: 50px;
  text-align: center;
  font-size: 30px;
  z-index: 100;
}

.whatsapp-icon {
  margin-top: 13px;
}

/*SCRIPT DE GOOGLE MAPS
.map-container iframe {
    margin-left: 30%;
    border: 0;
}

@media (min-width: 1200px) {
  .map-container iframe {
      margin-left: 36.5%; 
  }
}
*/


/*APLICACIÓN CARTA*/
.ajuste-h1 {
  font-size: 40px;
  margin-bottom: 4%;
  margin-left: 10%;
}

h1 {
  font-family: "Lobster", cursive;
  -webkit-text-stroke: 0.5px #ff0000;
}

.menu-container {
  display: flex;
  max-width: 100%;
  overflow: hidden; 
}

.menu-categories {
  text-align: center;
  width: 133px;
  background-color: black;
  padding: 10px;
  margin-top: 10%;
  position: fixed;
  top: 0;
  overflow-y: auto;
  transition: max-height 1s;
  -webkit-transition: max-height 1s;
  -moz-transition: max-height 1s;
  -ms-transition: max-height 1s;
  -o-transition: max-height 1s;
}

.menu-categories button:hover {
  background-color: red; 
  color: white; 
}

.menu-toggle {
  position: absolute; 
  top: 0;
  left: 0;
  background-color: #f1f1f1;
  border: none;
  cursor: pointer;
}

.menu-categories button {
  padding: 10px 20px;
  display: block;
  width: 100%;
  text-align: left;
  border: none;
  background: none;
  cursor: pointer;
  text-align: center;
  color: white;
}

.menu-items {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin-left: 150px; 
  padding: 10px; 
  overflow-y: auto; 
}

.menu-item {
  width: 28%;
  margin: 10px;
  padding: 10px;
  border: 1px solid red;
  margin-bottom: 3%;
  margin-top: 4%;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 4s ease, transform 0.3s ease;
  -webkit-transition: opacity 4s ease, transform 0.3s ease;
  -moz-transition: opacity 4s ease, transform 0.3s ease;
  -ms-transition: opacity 4s ease, transform 0.3s ease;
  -o-transition: opacity 4s ease, transform 0.3s ease;
}

.menu-item.active {
  opacity: 1;
  transform: translateY(0);
}

.menu-item h3{
  margin-top: 7%;
  font-size: 130%;
}

.menu-item h3,
.menu-item p,
.menu-item p:last-child {
  text-align: center; 
  color: white;
}

.menu-item img {
  width: 100%; 
  height: auto;
  max-height: 300px; 
}

.menu-item:hover {
  transform: scale(1.05); 
  transition: transform 0.3s; 
}

/*BOTON SCROLL*/
.scroll-top-button {
  display: none; 
  position: fixed;
  bottom: 44.5px;
  background-color: #333;
  color: white;
  border: none;
  padding: 10px 15px;
  border-radius: 50px;
  cursor: pointer;
  z-index: 100;
  transition: background-color 0.3s;
}

.scroll-top-button:hover {
  background-color: #555; 
  transition: background-color 0.3s; 
}

@media (min-width: 769px) {
  .menu-categories {
      max-height: 72vh; 
      margin-top: 17%;
  }
}

@media (max-width: 768px) {
  .menu-categories {
      max-height: 100vh; 
  }
  .menu-item {
      width: 50%;
  }
}

@media (min-width: 767px) {
  .ajuste-h1 {
      margin-left: 20%;
  }
  .menu-item {
      width: 50%;
  }
}

@media (min-width: 767px) {
  .ajuste-h1 {
      margin-left: 15%;
  }
  .menu-item {
      width: 50%;
  }
}

@media (min-width: 1200px) {
  .menu-categories {
      min-height: 30%; 
  }
  .menu-item {
      width: 20%;
  }
}

@media (min-width: 953px) {
  .menu-categories {
      min-height: 48%; 
      margin-top: 11%;
  }
  .menu-item {
      width: 23%;
  }
}

@media (max-width: 953px) {
  .menu-categories {
      margin-top: 17%;
  }
  .menu-item {
      width: 40%;
  }
}

@media (max-width: 690px) {
  .menu-items {
      flex-direction: column;
      align-items: center;
  }
  
  .menu-item {
      width: 50%; 
  }
}

@media (max-width: 530px) {
  .menu-items {
      flex-direction: column;
      align-items: center;
      padding: 0;
  }
  
  .menu-item {
      width: 80%; 
  }
}

@media (max-width: 612px) {
  .ajuste-h1 {
      margin-left: 21%;
      font-size: 240%;
  }
  .menu-item {
      width: 80%; 
  }
}

@media (max-width: 484px) {
  .ajuste-h1 {
      margin-left: 29%;
      font-size: 160%;
  }
  .menu-item {
      width: 83%; 
  }
}

@media (max-width: 467px) {
  .menu-categories {
      max-height: 70%; 
      margin-top: 40%;
  }
  .menu-items{
      margin-left: 112px;
  }
}

@media (max-width: 467x) {
  .menu-categories {
      max-height: 70%; 
      margin-top: 46%;
  }  
}

@media (max-width: 1200px){
  .scroll-top-button {
      margin-left: 40px;
  }
  }

@media (max-width: 991px){
.scroll-top-button {
  margin-left: 40px;
}
}

@media (min-width: 767px){
  .scroll-top-button {
      margin-left: 40px;
  }
  }

  /*MAPA GOOGLE*/

  @media (min-width: 1200px){
    .map-container {
        margin-top: 10%;
        margin-bottom: 30%;
    }
    }

  @media (min-width: 1047px){
    .map-container {
        margin-top: 7%;
        margin-bottom: 10%;
    }
    }

    @media (max-width: 1047px){
      .map-container {
          margin-top: 7%;
          margin-bottom: 10%;
      }
      }
  
      @media (max-width: 991px){
        .map-container {
            margin-top: 7%;
            margin-bottom: 10%;
        }
        }
    
        @media (min-width: 912px){
          .map-container {
              margin-top: 5%;
              margin-bottom: 10%;
              
          }
          }
      
          @media (min-width: 767px){
            .map-container {
                margin-left: 194px;
                width: 400px;
                margin-top: 7%;
                margin-bottom: 10%;
            }
            }
        

