
*{
    padding: 0;
    margin: 0;
    text-decoration: none; /* quitar el subrayado a los hipervinculos*/
    list-style: none;  /* quitar los puntos a las listas desordenadas*/
    box-sizing: border-box;  /*para que no elementos no sobresalgan del contenedor*/
    
}
@font-face {
    font-family: 'Square721'; /* Nombre que le das a la fuente */
    src: url(../fonts/SQUARE721\ CN\ BT\ ROMAN.TTF) format('truetype'); /* Ruta al archivo de la fuente */
    font-weight: normal; /* Peso de la fuente */
    font-style: normal; /* Estilo de la fuente */
}
@font-face {
    font-family: 'Bgothm'; /* Nombre que le das a la fuente */
    src: url(../fonts/BGOTHM.TTF) format('truetype'); /* Ruta al archivo de la fuente */
    font-weight: normal; /* Peso de la fuente */
    font-style: normal; /* Estilo de la fuente */
}



//* Inicia el encabezado de Página, hasta la línea 154*/

/* Estilos generales */

body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
  }
  
  /* Estilos para el encabezado */
  header {
    background-color: #f0f0f0;
    padding: 20px;
    text-align: center;
  }
  
  /* Estilos para el menú de navegación */
  nav {
    background-color: #333;
    color: white;
    padding: 10px;
  }
  
  nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
  }
  
  nav ul li {
    margin: 0 15px;
  }
  
  nav ul li a {
    color: white;
    text-decoration: none;
  }
  
  /* Media queries para responsividad */
  @media (max-width: 768px) {
    nav ul {
        flex-direction: column;
        align-items: center;
    }
  
    nav ul li {
        margin: 10px 0;
    }
  }
  
  .contenido_general {
      height: auto; /* Altura automática para ajustarse al contenido */
      width: 100%; /* Ancho completo */
      margin: 0 auto; /* Centra el contenido */
      padding: 20px; /* Espaciado interno */
  }
  
  
  nav {
      background:#ffffff;
      height:auto;
      width: 100%;
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 10px 20px; /* Espaciado interno */  
  }
  
  .enlace {
      padding: 10px; /* Espaciado interno */
  }
  
  .logo {
    width: 250px;
    max-width: 100%; /* La imagen no excederá el ancho de su contenedor */
    height: auto;    /* La altura se ajusta proporcionalmente */
  }
  }
  
  nav ul. {
      display: flex;
      list-style: none;
      margin: 0;
      padding: 0;
  }
  
  nav ul .menu {
      margin: 0 15px; /* Espaciado entre elementos */
    }
  
    nav ul .menu a {
        color: #000000;
        font-family: "Poiret One", serif;
        font-weight: 600;
        font-style: normal;
        padding: 10px 15px;
        border-radius: 10px;
        text-transform: uppercase;
        text-decoration: none;
    }
    
    nav a img:hover {
        transform: scale(1.3);
        transition: 0.5s;
    }
    
    nav ul .menu:hover {
        transform: scale(1.2);
        transition: 0.5s;
    }
    
    .menu a.active, .menu a:hover {
        transition: 0.8s;
        border-bottom: solid;
    }
    
    .check_boton {
        font-size: 35px;
        color: #000000;
        cursor: pointer;
        display: none; /* No visible para desktop */
    }
    
    #check {
        display: none;
    }
    @media (max-width: 950px) {
      .enlace {
          padding-left: 20px; /* Ajusta el padding para tablets */
      }
  
      nav ul .menu a {
          font-size: 16px; /* Reduce el tamaño de la fuente en tablets */
      }
  }
  
  @media (max-width: 840px) {
      .check_boton {
          display: block; /* Muestra el botón de menú en móviles */
      }
  
      nav ul {
          position: fixed;
          width: 100%;
          height: 100vh;
          background-color: #ffffff;
          top: 80px;
          left: -100%;
          text-align: center;
          transition: all 0.5s;
          flex-direction: column; /* Apila los elementos verticalmente */
      }
  
      nav ul .menu {
          margin: 20px 0; /* Espaciado entre elementos */
      }
      nav ul .menu a {
          font-size: 20px; /* Tamaño de fuente para móviles */
      }
  
      .menu a:hover, .menu a.active {
          background: none;
          color: #348888;
      }
  
      #check:checked ~ ul {
          left: 0; /* Muestra el menú al hacer clic en el botón */
      }
  }
  
  
  section {
    background-image: url(../imagenes/02.jpg);
    background-size: cover; /* Asegura que la imagen cubra todo el espacio */
    background-position: center center; /* Centra la imagen */
    height: 50vh; /* Altura relativa al viewport */
    display: flex;
    align-items: center; /* Centra el contenido verticalmente */
    justify-content: center; /* Centra el contenido horizontalmente */
    text-align: center; /* Centra el texto */
    color: white; /* Color del texto */
    font-family: 'Bgothm', sans-serif; /* Fuente personalizada */
    padding: 20px; /* Espaciado interno */
  }
  
  @media (max-width: 950px){
    .enlace{
        padding-left: 30px;
    }
    nav ul .menu a{
        font-size: 18px;
    }
  }
  
  @media (max-width: 840px){
    .check_boton{
        display: block;
  }
  @media (max-width: 950px) {
    section {
        height: 40vh; /* Reduce la altura en tablets */
    }
  }
  
  @media (max-width: 768px) {
    section {
        height: 30vh; /* Reduce la altura en móviles */
    }
  }
  
  @media (max-width: 480px) {
    section {
        height: 25vh; /* Altura muy pequeña para móviles pequeños */
    }
  }
  
  
    .ul{
          position: relative;
          width: 100%;
          height: 300px;
          background-color: #FAF170;
          right: 300px;
          top: 20px;
          left: -110%;
          text-align: center;
          transition: all 0.5s;
          letter-spacing: 10px;
      }
  
      nav ul .menu{
          display: block;
          margin: 20px 0;
          line-height: 30px;
      }
  
      nav ul .menu a{
          font-size: 22px;
      }
  
      .menu a:hover, .menu a.active{
          background: none;
          color: #348888;
      }
  
      #check:checked ~ul{
          left: 0;
      }
  }
  

/*  --------- contenedores tipo tarjeta v2 ---------*/

.contenedor_tarjetas {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 columnas de igual tamaño */
    gap: 20px; /* Espacio entre tarjetas */
    justify-content: center;
    margin-top: 40px;
    font-family: 'Bgothm';
    padding: 0 20px; /* Añade un poco de padding a los lados */
}

.tarjeta2 {
    width: 100%; /* Ocupa el 100% del espacio de la columna */
    height: 850px; /* Altura fija para las tarjetas */
    background-color: #edede2;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 4px 1px 10px rgba(0, 0, 0, 0.2);
    cursor: default;
    transition: all 400ms ease;
}

.tarjeta2 img {
    width: 100%;
    height: 500px;
    border-radius: 15px 15px 0 0;
    margin-bottom: 0px;
}

.contenido_tarjeta {
    padding: 14px 45px;
}

.contenido_tarjeta h3 {
    font-size: 20px;
    margin-top: 5px;
    text-align: center;
    color: #FF8000;
}

.contenido_tarjeta p {
    color: rgba(0, 0, 0, 0.7);
    font-size: 16px;
    line-height: 1.3;
    margin-top: 15px;
    text-align: justify;
    font-family: 'Square721', sans-serif; /* Aplica la fuente SQUARE721 CN BT ROMAN */
}

.btn {
    width: 160px;
    text-align: center;
    color: #000;
    display: inline-block;
    border-radius: 9px;
    font-family: 'Square721', sans-serif; /* Aplica la fuente SQUARE721 CN BT ROMAN */
    position: absolute;
    top: 580px;
    padding: 15px 0;
    margin: 20px 60px;
    border: 1px solid #22BABB;
}

.tarjeta2:hover {
    box-shadow: 5px 5px 20px rgba(84, 176, 192, 0.4);
    transform: translateY(-3%);
    transform: scale(1.05);
    transition: 0.3s;
}

.btn:hover {
    color: #22BABB;
    transform: scale(1.05);
    transition: 0.3s;
}

/* Media Queries para responsividad */
@media (max-width: 1200px) {
    .contenedor_tarjetas {
        grid-template-columns: repeat(3, 1fr); /* 3 columnas en pantallas medianas */
    }
}

@media (max-width: 933px) {
    .contenedor_tarjetas {
        grid-template-columns: repeat(2, 1fr); /* 2 columnas en tablets */
    }

    .tarjeta2 h3 {
        font-size: 20px;
    }

    .tarjeta2 p {
        font-size: 16px;
    }
}

@media (max-width: 600px) {
    .contenedor_tarjetas {
        grid-template-columns: 1fr; /* 1 columna en móviles */
    }

    .tarjeta2 {
        height: auto; /* Altura automática en móviles */
    }

    .tarjeta2 img {
        height: 300px; /* Reduce la altura de la imagen en móviles */
    }

    .btn {
        position: static; /* Botón en posición normal en móviles */
        margin: 20px auto; /* Centrar el botón */
    }
}

/*   ------------- pie de página  -------------- */

/* Pie de página*/

.pie-pagina{
	width: 100%;
	background-color: #ffffff;
    padding: 0px 0;
}
.pie-pagina .grupo-1 {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 columnas en pantallas grandes */
    gap: 20px;
    padding: 20px;
}

@media (max-width: 768px) {
    .pie-pagina .grupo-1 {
        grid-template-columns: repeat(2, 1fr); /* 2 columnas en tablets */
    }
}

@media (max-width: 480px) {
    .pie-pagina .grupo-1 {
        grid-template-columns: 1fr; /* 1 columna en móviles */
    }
}
.pie-pagina .grupo-1{
	width: 100%;
	max-width: 1200px;
	margin:auto;
	display:grid;
	grid-template-columns: repeat(3,1fr);
	grid-gap:50px;
	padding: 45px 0px;
}
.pie-pagina .grupo-1 .box figure{
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.pie-pagina .grupo-1 .box figure img{
	width: 250px;
}
.pie-pagina .grupo-1 .box .subtitulo{
	text-align: center;
}
.pie-pagina .grupo-1 .box h2{
    font-family: 'Bgothm';
	color:#000000;
	margin-bottom: 25px;
	font-size: 20px;
}
.pie-pagina .grupo-1 .box p{
	color: #000000;
	margin-bottom: 10px;
    font-family:'Square721';
}

.footer-links ul.links {
    list-style: none; /* Elimina las viñetas de la lista */
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column; /* Alinea los elementos verticalmente */
    gap: 5px; /* Espacio entre elementos */
}

.footer-links ul.links li.menu2 a {
    font-size: 18px;
    text-decoration: none;
    color: #000;
    display: block;
    transition: all .3s ease;
    font-family: 'Bgothm';
}

.footer-links ul.links li.menu2 a:hover {
    color: #3314e4; /* Cambia el color al pasar el mouse */
}

.pie-pagina .grupo-1 .red-social {
  display: flex;
  flex-direction: row; /* Cambia a horizontal */
  align-items: center;
  justify-content: flex-start; /* Alinea los íconos a la izquierda */
  margin-left:0px; /* Mueve el contenedor un poco a la izquierda */
}
.pie-pagina .grupo-1 .red-social a {
  text-decoration: none;
  color: #333;
  font-size: 24px;
  display: flex;
  align-items: center;
  margin: 0 10px; /* Margen horizontal entre íconos */
}
.pie-pagina .grupo-1 .red-social a:hover {
  opacity: 0.8;
}
.pie-pagina .grupo-1 .red-social i {
  margin-right: 10px;
  font-size: 35px; /* Aumenta el tamaño del ícono */
}

/* Colores personalizados para cada ícono */ 
.fa-facebook { color: #1877F2; } 
.fa-whatsapp { color: #25D366; }
.fa-instagram { color: #E4405F; }
.fa-tiktok { color: #000000; }

.pie-pagina .grupo-1 .red-social a:hover{
	color:#000000;
	transform: scale(1.2);
}
.pie-pagina .grupo-2{
	background-color: #FF8000;
	padding: 15px 10px;
	text-align: center;
	color:#0c0c0c
}
.pie-pagina .grupo-2 small{
	font-size: 15px;
}

@media screen and (max-width:800px){
	.pie-pagina .grupo-1{
    margin-top: 800px;
		width: 90%;
		grid-template-columns: repeat(1,1fr);
		padding: 35px 0px;

	}
}