*{
    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;
      }
  }
  

/* -------------- FORMULARIO ----------*/ 
@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 */
}


.body {
    justify-content: center;
    align-items: center;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-color: #ffffff;
}

.centro_1 {
    display: grid;
    place-items: center;
    background-image: url(../imagenes/fondo.png.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 130vh;
    padding-top: 100px; /* Ajusta este valor según sea necesario */
}

.formulario {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    width: 90%;
    max-width: px;
    padding: 10px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

@media (max-width: 768px) {
    .formulario {
        grid-template-columns: 1fr;
        gap: 10px;
        width: 95%;
    }
}
.box-info {
    color:#fffefe;
    display:flex;
    flex-direction: column;
    gap:50px;
}

.box-info h1 {
    text-align: left;
    letter-spacing: 5px;
    font-family: 'Square721', sans-serif;
}

.data {
    display: flex;
    flex-direction: column;
    gap:25px
}

.data p {
    font-size: 25px;

}

.data p i {
    color:#ffffff;
    margin-right: 10px;
    font-size:25px;
    
}

.links {
    display:flex;
    gap:15px;
}

.links a {
    .fa-facebook { color: #1877F2; } 
    .fa-whatsapp { color: #25D366; }
    .fa-instagram { color: #E4405F; }
    .fa-tiktok { color: #000000; }
    
}

.links a i {
    color:#ffffff;
    line-height:40px;
    font-size: 20px;
    margin-right: 20px;
    font-size: 50px; /* Aumenta el tamaño del ícono */
}

form {
    display: flex;
    flex-direction: column;
    text-align: center;
    gap: 15px;
}

.input-box {
    position:relative;
}

.input-box input {
    width: 100%;
    height: 40px;
    padding: 0 10px;
    outline:none;
    background: rgb(255, 255, 255);
    border:3px solid transparent;
    letter-spacing: 1px;
    transition:.3s;
    color:#090909;
}

.input-box input::placeholder,
.input-box textarea::placeholder {
    color:#000000;
    
}

.input-box input:focus::placeholder,
.input-box textarea:focus::placeholder {
    color:transparent;
}

.input-box input:focus,
.input-box textarea:focus {
    border-bottom:3px solid #fbfbfb;
    animation: shake .5s;
}

.input-box textarea {
    width: 100%;
    height: 130px;
    padding: 10px;
    background: rgb(255, 255, 255);
    border:3px solid transparent;
    letter-spacing: 1px;
    outline: none;
    transition:.3s;
    color:#0c0c0c;
    letter-spacing: 1.5px;
}

.input-box i {
    position:absolute;
    top:50%;
    transform: translateY(-50%);
    right: 10px;
    color:rgb(0, 0, 0);
    transition: .3s;
}

.input-box > input:focus ~ i {  /*color a los iconos del formulario luego de dar clic*/
    color:#000000;
}

form button {
    width: 100%;
    padding: 10px;
    outline: none;
    background: #ffffff;
    color:#000000;
    border:none;
    transition: .1s;
    cursor: pointer;
    font-size: 1rem;
}

/* Aplica hover solo a los botones dentro de un formulario */
form > button:hover {
    background: #9ee005;
}

/* Aplica hover solo a los enlaces dentro de la clase .links */
.links > a:hover {
    background:;
}

/* Asegúrate de que los enlaces no tengan color de fondo por defecto */
.links > a {
    background: none; /* Sin color de fondo */
    color: inherit; /* Hereda el color del texto */
    text-decoration: none; /* Quita el subrayado */
}

.links > a:hover {
    transform: scale(1.1); /* Aumenta el tamaño en un 15% */
}

@keyframes shake { 
    0%, 100% {transform: translateX(0);} 
    10%, 30%, 50%, 70%, 90% {transform: translateX(-10px);} 
    20%, 40%, 60%, 80% {transform: translateX(10px);} 
}

@media screen and (max-width:600px) {
    .formulario {
        width: 95%; 
        display: flex;
        flex-direction: column;
        gap:20px;
    }S

    .box-info {
        gap:15px;
    }

    .box-info > h1 {
        font-size: 1.5rem;
    }
}


/* Estilos de la ventana emrgente */
#ventana_emergente {
    display: none;
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 450px;
    background: white;
    padding: 20px;
    box-shadow: 0px 0px 10px gray;
    text-align: center;
    border-radius: 8px;
    font-size: 30px;
    font-family: 'Square721'
}

#ventana_emergente .cerrar {
    cursor: pointer;
    background: #68f552;
    color: white;
    padding: 5px 0px;
    border: none;
    margin-top: 10px;
    border-radius: 5px;
    font-family: "Poiret One", serif;
    font-size: 25px;
}

#fondo {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(132, 116, 116, 0.7);
}


/* mapa de ubicación*/

iframe {
    margin: 30px 0;
}


/*   ------------- pie de página  -------------- */

/* Pie de página*/

.pie-pagina{
	width: 100%;
	background-color: #ffffff;
    padding: 0px 0;
}
.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;

	}
}