/* Preloader */
      /* Estilos para el preloader */
      #preloader {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: radial-gradient(circle, #745096 0%, #2a014f 90%);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 9000;
        opacity: 1;
        transition: opacity 1s ease-out; /* Animación de desvanecimiento */
    }
  @font-face {
    font-family: 'MiFuente';
    src: url('ruta-a-tu-fuente.ttf') format('truetype');
}

.typing-effect {
    font-family: 'MiFuente', sans-serif;
}

/* Al finalizar la animación, este es el estado donde el preloader se desvanece */
#preloader.transparent {
  opacity: 0;
  pointer-events: none; /* Permite hacer clic en el contenido debajo */
}

/* Contenedor para manejar la perspectiva 3D */
.logo-container {
  display: flex;
  align-items: center;
  justify-content: center;
  perspective: 1200px; /* Mayor distancia para una mejor visibilidad de la animación */
  height: 50vh; /* Asegura que el contenedor tenga suficiente altura */
  position: relative;
}

/* Animación de la imagen */
.logo-animada {
  width: 400px;  /* Asegúrate que la imagen no sea demasiado grande */
  height: 400px;
  animation: dropAndRotate 1s ease-in-out forwards; /* Animación de 3 segundos con ease-in-out para un movimiento suave */
  transform-origin: center; /* Garantiza que la rotación se realice en el centro de la imagen */
}

/* Animación que cae, rota 1 vez hacia un lado y regresa a su posición original */
@keyframes dropAndRotate {
  0% {
      transform: translateY(-350%) rotateY(0deg); /* Comienza mucho más abajo */
      opacity: 0;
  }
  50% {
      transform: translateY(30px) rotateY(360deg); /* 1 vuelta completa */
      opacity: 1;
  }
  100% {
      transform: translateY(0) rotateY(360deg); /* 1 vuelta completa */
  }
}

  #main-content {
    opacity: 0;
    transition: opacity 1s ease;
  }
  #main-content.visible {
    opacity: 1;
  }

  /* Estilos generales */
    /* Estilos Body */
    body {
      margin: 0;
      font-family: Arial, sans-serif;
      background: radial-gradient(circle, #4a148c, #121212); /* Color inicial */
      color: white;
      overflow-x: hidden; /* Evitar desbordamiento horizontal */
      scroll-behavior: smooth; /* Scroll suave */
      animation: color-change-body 20s infinite alternate; /* Animación para el body */
  }
  
  /* Animación para el fondo del body */
  @keyframes color-change-body {
      0% {
          background: radial-gradient(circle, #4a148c, #121212); /* Morado inicial */
      }
      1% {
          background: radial-gradient(circle, #49138b, #121212);
      }
      2% {
          background: radial-gradient(circle, #48138a, #121212);
      }
      3% {
          background: radial-gradient(circle, #471289, #121212);
      }
      4% {
          background: radial-gradient(circle, #461288, #121212);
      }
      5% {
          background: radial-gradient(circle, #451287, #121212);
      }
      6% {
          background: radial-gradient(circle, #441286, #121212);
      }
      7% {
          background: radial-gradient(circle, #431285, #121212);
      }
      8% {
          background: radial-gradient(circle, #421284, #121212);
      }
      9% {
          background: radial-gradient(circle, #411283, #121212);
      }
      10% {
          background: radial-gradient(circle, #401282, #121212);
      }
      11% {
          background: radial-gradient(circle, #3f1281, #121212);
      }
      12% {
          background: radial-gradient(circle, #3e1280, #121212);
      }
      13% {
          background: radial-gradient(circle, #3d127f, #121212);
      }
      14% {
          background: radial-gradient(circle, #3c127e, #121212);
      }
      15% {
          background: radial-gradient(circle, #3b127d, #121212);
      }
      16% {
          background: radial-gradient(circle, #3a127c, #121212);
      }
      17% {
          background: radial-gradient(circle, #39127b, #121212);
      }
      18% {
          background: radial-gradient(circle, #38127a, #121212);
      }
      19% {
          background: radial-gradient(circle, #371279, #121212);
      }
      20% {
          background: radial-gradient(circle, #361278, #121212);
      }
      21% {
          background: radial-gradient(circle, #351277, #121212);
      }
      22% {
          background: radial-gradient(circle, #341276, #121212);
      }
      23% {
          background: radial-gradient(circle, #331275, #121212);
      }
      24% {
          background: radial-gradient(circle, #321274, #121212);
      }
      25% {
          background: radial-gradient(circle, #311273, #121212);
      }
      26% {
          background: radial-gradient(circle, #301272, #121212);
      }
      27% {
          background: radial-gradient(circle, #2f1271, #121212);
      }
      28% {
          background: radial-gradient(circle, #2e1270, #121212);
      }
      29% {
          background: radial-gradient(circle, #2d126f, #121212);
      }
      30% {
          background: radial-gradient(circle, #2c126e, #121212);
      }
      31% {
          background: radial-gradient(circle, #2b126d, #121212);
      }
      32% {
          background: radial-gradient(circle, #2a126c, #121212);
      }
      33% {
          background: radial-gradient(circle, #29126b, #121212);
      }
      34% {
          background: radial-gradient(circle, #28126a, #121212);
      }
      35% {
          background: radial-gradient(circle, #271269, #121212);
      }
      36% {
          background: radial-gradient(circle, #261268, #121212);
      }
      37% {
          background: radial-gradient(circle, #251267, #121212);
      }
      38% {
          background: radial-gradient(circle, #241266, #121212);
      }
      39% {
          background: radial-gradient(circle, #231265, #121212);
      }
      40% {
          background: radial-gradient(circle, #221264, #121212);
      }
      41% {
          background: radial-gradient(circle, #211263, #121212);
      }
      42% {
          background: radial-gradient(circle, #201262, #121212);
      }
      43% {
          background: radial-gradient(circle, #1f1261, #121212);
      }
      44% {
          background: radial-gradient(circle, #1e1260, #121212);
      }
      45% {
          background: radial-gradient(circle, #1d125f, #121212);
      }
      46% {
          background: radial-gradient(circle, #1c125e, #121212);
      }
      47% {
          background: radial-gradient(circle, #1b125d, #121212);
      }
      48% {
          background: radial-gradient(circle, #1a125c, #121212);
      }
      49% {
          background: radial-gradient(circle, #19125b, #121212);
      }
      50% {
          background: radial-gradient(circle, #18125a, #121212); /* Punto más oscuro (azul profundo) */
      }
      51% {
          background: radial-gradient(circle, #19125b, #121212);
      }
      52% {
          background: radial-gradient(circle, #1a125c, #121212);
      }
      53% {
          background: radial-gradient(circle, #1b125d, #121212);
      }
      54% {
          background: radial-gradient(circle, #1c125e, #121212);
      }
      55% {
          background: radial-gradient(circle, #1d125f, #121212);
      }
      56% {
          background: radial-gradient(circle, #1e1260, #121212);
      }
      57% {
          background: radial-gradient(circle, #1f1261, #121212);
      }
      58% {
          background: radial-gradient(circle, #201262, #121212);
      }
      59% {
          background: radial-gradient(circle, #211263, #121212);
      }
      60% {
          background: radial-gradient(circle, #221264, #121212);
      }
      61% {
          background: radial-gradient(circle, #231265, #121212);
      }
      62% {
          background: radial-gradient(circle, #241266, #121212);
      }
      63% {
          background: radial-gradient(circle, #251267, #121212);
      }
      64% {
          background: radial-gradient(circle, #261268, #121212);
      }
      65% {
          background: radial-gradient(circle, #271269, #121212);
      }
      66% {
          background: radial-gradient(circle, #28126a, #121212);
      }
      67% {
          background: radial-gradient(circle, #29126b, #121212);
      }
      68% {
          background: radial-gradient(circle, #2a126c, #121212);
      }
      69% {
          background: radial-gradient(circle, #2b126d, #121212);
      }
      70% {
          background: radial-gradient(circle, #2c126e, #121212);
      }
      71% {
          background: radial-gradient(circle, #2d126f, #121212);
      }
      72% {
          background: radial-gradient(circle, #2e1270, #121212);
      }
      73% {
          background: radial-gradient(circle, #2f1271, #121212);
      }
      74% {
          background: radial-gradient(circle, #301272, #121212);
      }
      75% {
          background: radial-gradient(circle, #311273, #121212);
      }
      76% {
          background: radial-gradient(circle, #321274, #121212);
      }
      77% {
          background: radial-gradient(circle, #331275, #121212);
      }
      78% {
          background: radial-gradient(circle, #341276, #121212);
      }
      79% {
          background: radial-gradient(circle, #351277, #121212);
      }
      80% {
          background: radial-gradient(circle, #361278, #121212);
      }
      81% {
          background: radial-gradient(circle, #371279, #121212);
      }
      82% {
          background: radial-gradient(circle, #38127a, #121212);
      }
      83% {
          background: radial-gradient(circle, #39127b, #121212);
      }
      84% {
          background: radial-gradient(circle, #3a127c, #121212);
      }
      85% {
          background: radial-gradient(circle, #3b127d, #121212);
      }
      86% {
          background: radial-gradient(circle, #3c127e, #121212);
      }
      87% {
          background: radial-gradient(circle, #3d127f, #121212);
      }
      88% {
          background: radial-gradient(circle, #3e1280, #121212);
      }
      89% {
          background: radial-gradient(circle, #3f1281, #121212);
      }
      90% {
          background: radial-gradient(circle, #401282, #121212);
      }
      91% {
          background: radial-gradient(circle, #411283, #121212);
      }
      92% {
          background: radial-gradient(circle, #421284, #121212);
      }
      93% {
          background: radial-gradient(circle, #431285, #121212);
      }
      94% {
          background: radial-gradient(circle, #441286, #121212);
      }
      95% {
          background: radial-gradient(circle, #451287, #121212);
      }
      96% {
          background: radial-gradient(circle, #461288, #121212);
      }
      97% {
          background: radial-gradient(circle, #471289, #121212);
      }
      98% {
          background: radial-gradient(circle, #48138a, #121212);
      }
      99% {
          background: radial-gradient(circle, #49138b, #121212);
      }
      100% {
          background: radial-gradient(circle, #4a148c, #121212); /* Regresa al morado inicial */
      }
  }
      
  
  /* Header con partículas */
  header {
    position: relative;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
  }
  canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
  }
  h1 {
    position: relative;
    z-index: 2;
    font-size: 3rem;
    text-align: center;
    color: white;
  }

  /* Estilos Nav */
.nav-flotante {
    position: fixed;
    top: 40px; /* Espacio desde la parte superior */
    left: 50%;
    transform: translateX(-50%); /* Compensa el desplazamiento de la mitad del ancho */
    width: 40%; /* Ancho más estrecho */
    padding: 10px 0;
    background: rgba(255, 255, 255, 0.068); /* Color inicial */
    border-radius: 50px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.492);
    z-index: 1000; /* Para que quede sobre el contenido */
    display: flex;
    align-items: center; /* Alinea los elementos verticalmente */
    justify-content: space-between; /* Distribuye el espacio horizontalmente */
    animation: color-change-nav 15s infinite alternate; /* Animación para el nav */
    backdrop-filter: blur(10px); /* Aplica el desenfoque */
    -webkit-backdrop-filter: blur(10px); /* Soporte para Safari */

}

.nav-flotante ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center; /* Alinea los elementos verticalmente */
    justify-content: center; /* Centra los elementos horizontalmente */
    flex-grow: 1;
}

.nav-flotante li {
    margin: 0 20px; /* Espaciado horizontal entre los elementos */
}

.nav-flotante a {
    color: rgb(255, 255, 255);
    text-decoration: none;
    font-size: 18px;
    padding: 10px;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}

.nav-flotante a:hover {
    background-color: rgba(255, 255, 255, 0.2); /* Fondo en hover */
}

/* Ajustes para la imagen */
.logo-img {
    width: 50px; /* Tamaño de la imagen */
    height: auto; /* Mantén la proporción */
}

.logo {
    flex-shrink: 0;
    display: flex;
    align-items: center; /* Asegura la alineación vertical */
}

/* Agregando la clase para ocultar la barra con una transición más suave */
.nav-flotante {
  transition: top 0.5s ease-in-out; /* Ajusta la duración y el tipo de animación */
  top: 40px; /* Mantén el espacio desde la parte superior */
}

.nav-flotante.hidden {
  top: -100px; /* Mueve la barra hacia arriba */
}

/* Estilo general de la sección */
#inicio {
    font-family: 'Poppins', sans-serif;
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

/* Canvas de fondo */
#backgroundCanvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

/* Contenido principal */
.contenido {
    position: relative;
    z-index: 2;
    color: #333;
}

.contenido h2 {
    font-family: 'Poppins', sans-serif;
    font-size: 3rem;
    margin-bottom: 20px;
    color: #ffffff;
    overflow: hidden; /* Para el efecto de máquina de escribir */
    border-right: 2px solid #007bff; /* Cursor de escritura */
    white-space: nowrap; /* Evita saltos de línea */
    animation: typing 3s steps(30, end), blink-caret 0.75s step-end infinite;
    padding-bottom: 20px;
}

/* Animación del efecto de máquina de escribir */
@keyframes typing {
    from {
        width: 0;
    }
    to {
        width: 100%;
    }
}

/* Asegura que el contenedor de los botones esté centrado horizontalmente */
/* Asegura que el contenedor de los botones esté centrado horizontalmente */
.social-buttons-container {
    display: flex !important;  /* 🔥 Forzamos flex para evitar estilos previos 🔥 */
    flex-direction: row !important;  /* 🔥 Asegura que sea HORIZONTAL 🔥 */
    justify-content: center; /* Centra horizontalmente */
    align-items: center; /* Centra verticalmente */
    gap: 15px; /* Espaciado entre los botones */
    margin-top: 20px; /* Ajusta la distancia entre la línea y los botones */
    width: 100%; /* Asegura que el contenedor ocupa todo el ancho disponible */
    opacity: 0; /* Inicialmente oculto */
    transform: translateY(20px); /* Inicia un poco más abajo */
    animation: fadeInUp 0.8s ease-out forwards 1.5s; /* Aparece después de la línea */
    padding-top: 20px;
}

/* Estilo de los botones */
.social-btn {
    width: 48px;
    height: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 24px;
    background: transparent;
    border-radius: 50%;
    transition: transform 0.2s, background 0.3s, box-shadow 0.3s;
    box-shadow: 0 12px 20px rgba(0, 0, 0, 0.5); /* Sombra más notoria */
}

/* Estilo de los íconos */
.social-btn i {
    color: white;
}

/* Efecto hover */
.social-btn:hover {
    transform: scale(1.1);
    background: #80509e;
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.3);
}

.social-btn svg {
      
      fill: #FFFFFF; /* Color blanco para la "G" */
  }

/* Línea animada */
.animated-line {
    width: 0%;
    height: 2px;
    background-color: white; /* Color de la línea */
    margin: 15px auto; /* Centrada debajo del texto */
    animation: expandLine 3.5s ease-out forwards;
}

/* Animación de la línea */
@keyframes expandLine {
    from {
        width: 0%;
    }
    to {
        width: 60%;
    }
}

/* Animación para mostrar los botones después */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Tooltip */
/* Tooltip */
.tooltip {
            position: absolute;
            bottom: -40px; /* Posición debajo del botón */
            left: 50%;
            transform: translateX(-50%);
            padding: 5px 10px;
            border-radius: 4px;
            font-size: 12px;
            white-space: nowrap;
            opacity: 0;
            visibility: hidden;
            z-index: 10;

            /* Gradiente inicial */
            background: linear-gradient(to top, #6a1b9a 50%, transparent 50%); /* Color en la parte inferior */
            background-size: 100% 200%; /* Duplica el tamaño del fondo para animarlo */
            background-position: top; /* Comienza desde la parte superior (inverso) */
            color: #fff;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            transition: opacity 0.3s ease, visibility 0.3s ease;
        }

        /* Animación del tooltip al pasar el mouse */
        .social-btn:hover .tooltip {
            opacity: 1;
            visibility: visible;

            /* Animación de relleno */
            animation: fill-tooltip 0.8s forwards;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); /* Sombras más pronunciadas */
        }

        /* Keyframes para el efecto de relleno */
        @keyframes fill-tooltip {
            0% {
                background-position: top; /* Comienza desde la parte superior */
            }
            100% {
                background-position: bottom; /* Termina en la parte inferior */
            }
        }



/* Sección de Servicios */
/* Sección de Servicios */
.services {
      padding: 30px 20px;
      text-align: center;
    }
    .services h2 {
      font-size: 2.5em;
      margin-bottom: 30px;
      color: #ffffff;
    }

    .services h3 {
      font-size: 25px;
      margin-bottom: 20px;
      margin-top: 10px;
      color: #ffffff;
    }

    .service-list {
      display: flex;
      flex-wrap: wrap;
      gap: 20px;
      justify-content: center;
    }
    .service-item {
      position: relative;
      width: 300px;
      height: 200px;
      overflow: hidden;
      border-radius: 8px;
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.5);
      transition: transform 0.3s ease-in-out;
      background-color: rgba(211, 208, 208, 0.044);
    }
    .service-content {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      text-align: center;
      z-index: 2;
      transition: opacity 0.3s ease-in-out;
    }
    .service-icon {
      font-size: 40px;
      color: #007BFF;
      margin-bottom: 0px;
    }
    .service-item:hover .service-content {
      opacity: 0;
    }
    .service-image {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: 0;
      transition: opacity 0.3s ease-in-out;
    }
    .service-item:hover .service-image {
      opacity: 1;
    }

    /* Contenedor para el servicio y su burbuja */
    .service-container {
      display: flex;
      flex-direction: column;
      align-items: center;
      position: relative;
      margin-bottom: 150px;
    }

   

    /* Burbuja de descripción */
    .description-bubble {
      position: absolute;
      top: 110%; /* Debajo del servicio */
      left: 50%;
      transform: translateX(-50%);
      background: #7260f7a9;
      color: white;
      padding: 15px 20px;
      border-radius: 10px;
      font-size: 1.1em;
      font-weight: bold;
      width: 300px;
      opacity: 0;
      transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
      z-index: 3;
      box-shadow: 0 6px 10px rgba(0, 0, 0, 0.2);
      text-align: center;
      max-width: 300px;
      visibility: hidden;
    }

    /* Viñeta (piquito) */
    .description-bubble::after {
      content: "";
      position: absolute;
      bottom: 100%;
      left: 50%;
      transform: translateX(-50%);
      border-width: 10px;
      border-style: solid;
      border-color: transparent transparent #007bffc8 transparent;
    }

    /* Mostrar la burbuja al pasar el mouse */
    .service-item:hover + .description-bubble {
      opacity: 1;
      visibility: visible;
      transform: translateX(-50%) translateY(5px);
    }



/* Centrar el contenido */
#proyecto-destacado {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0px 0;
}

/* Contenedor del video */
/* Contenedor del video */
.video-container {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden; /* Oculta cualquier contenido que sobresalga */
    border-radius: 20px; /* Bordes redondeados */
    width: 100%; /* Asegura que ocupe todo el ancho */
    max-width: 900px; /* Controla el tamaño máximo */
    height: 500px; /* Altura ajustada */
    margin: 0 auto;
    margin-bottom: 100px;
}

/* Ajuste del iframe o video */
.video-container iframe,
.video-container video {
    width: 100%;
    height: 100%;
    border-radius: 20px; /* Bordes redondeados para el iframe */
    object-fit: cover; /* Asegura que el video ocupe todo el espacio sin deformarse */
}

/* Título y descripción */
#proyecto-destacado h2 {
    font-size: 36px;
    margin-bottom: 20px; /* Espacio entre el título y la descripción */
    color: #333;
}

.proyecto-destacado p {
    font-size: 20px;
    color: #666;
    margin-bottom: 40px; /* Espacio entre la descripción y el video */
    max-width: 800px; /* Limita el ancho del texto para mejorar la legibilidad */
}





 /* Estilos de FAQ (con ID único) */
 #faq-section {
      background: #ffffff00;
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
      border-radius: 10px;
      max-width: 1200px;
      margin: 0 auto;
      padding: 30px;
      margin-bottom: 100px;
      margin-top: 100px;
      box-shadow: 0 2px 10px rgba(255, 255, 255, 0.2);
    }


#faq-section h2 {
    margin-bottom: 30px;
}

    #faq-section .faq-item {
      background: #f7f7f7;
      border-radius: 5px;
      margin-bottom: 10px;
      padding: 15px;
      cursor: pointer;
      transition: background 0.3s ease;
    }

    #faq-section .faq-item:hover {
      background: #d6e3ff;
    }

    #faq-section .faq-question {
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-size: 1.1rem;
      font-weight: bold;
      color: #333;
    }

    #faq-section .faq-answer {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease, padding 0.3s ease;
      padding: 0 15px;
      font-size: 1rem;
      color: #555;
      background-color: #ffffffe2;
    }

    #faq-section .faq-item.active .faq-answer {
      max-height: 150px; /* Ajusta según el contenido */
      padding: 10px 15px;
    }

    #faq-section .faq-icon {
      font-size: 1.2rem;
      transition: transform 0.3s ease;
    }

    #faq-section .faq-item.active .faq-icon {
      transform: rotate(180deg);
    }


    

/* Sección de contacto */
section.contact {
  position: relative;
  min-height: 600px; /* Asegurar que la sección tenga suficiente altura */
  padding: 50px 20px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
form {
max-width: 600px; /* Aumenta el ancho del formulario */
width: 100%; /* Para que se adapte mejor en pantallas pequeñas */
margin: 0 auto;
text-align: center;
position: relative;
z-index: 2;

}


.form-group {
  margin-bottom: 1px;
  text-align: left;
  width: 100%;

}

form input, textarea {
    background-color: #ffffffcb;
    color: #2c2c2c;
}

label {
  display: block;
  margin-bottom: 0px;
  font-size: 1rem;
  color: #ffffff; /* Color gris para el número */
  padding-top: 15px;
}
label span {
  color: #c0bfbf97; /* Color blanco para el texto */
  margin-left: 5px;
}

form input,
form textarea,
form button {
  width: 100%;
  padding: 10px;
  margin: 5px 0;
  border: none;
  border-radius: 5px;
  font-size: 1rem;
}
form button {
  width: 150px; /* Ancho del botón */
  background-color: #6a1b9a;
  color: white;
  cursor: pointer;
  transition: background-color 0.3s ease;
  margin-top: 20px;
  margin-bottom: 20px;
}
form button:hover {
  background-color: #ab47bc;
}

/* Estilos para el contenedor de los inputs */
.input-container {
  position: relative;
  display: flex;
  align-items: center;
}

/* Estilos para los iconos */
/* Ajuste específico para el icono del textarea */
.input-container i {
  position: absolute;
  left: 10px; /* Separación del icono desde el borde izquierdo */
  top: 19px; /* Alineación vertical del icono */
  color: #989898; /* Color gris claro para los iconos */
  z-index: 1; /* Asegurar que el icono esté sobre el fondo */
}

/* Ajuste para el textarea */
form textarea {
  padding-left: 40px; /* Espacio suficiente para que el texto no se solape con el icono */
  padding-top: 10px; /* Asegurar que el texto comience después del icono */
  box-sizing: border-box; /* Asegurar que el padding no afecte el ancho total */
}

/* Ajustes para los inputs y textarea */
form input,
form textarea {
  padding-left: 40px; /* Espacio suficiente para que el texto no se solape con el icono */
  box-sizing: border-box; /* Asegurar que el padding no afecte el ancho total */
}

/* Estilo para el placeholder */
form input::placeholder,
form textarea::placeholder {
  color: #989898; /* Color gris claro para el placeholder */
  font-style: italic; /* Opcional: estilo cursiva para el placeholder */
}

/* Estilos para el mensaje de confirmación */
/* Estilos para el mensaje de confirmación */
#confirmationMessage {
  text-align: center;
  padding: 20px;
  background-color: #d4e7ed91; /* Color verde claro para el fondo */
  color: #154b57; /* Color verde oscuro para el texto */
  border: 1px solid #c3e5e6; /* Borde verde claro */
  border-radius: 5px;
  margin-top: 20px;
  display: none; /* Oculto inicialmente */
}

#confirmationMessage h2 {
  font-size: 1.5rem;
  margin-bottom: 10px;
}

#confirmationMessage p {
  font-size: 20px;
}

#randomImage {
      width: 100px; /* Ajusta el tamaño según sea necesario */
      height: auto;
      margin-bottom: 10px;
    }





/* Animación de estrellas */
.stars {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1;
}
.star {
  position: absolute;
  width: 4px; /* Tamaño del círculo */
  height: 4px; /* Tamaño del círculo */
  background: white;
  border-radius: 50%; /* Hacerlo circular */
  animation: rise linear infinite;
  opacity: 1;
}
@keyframes rise {
  0% {
    transform: translateY(0);
    opacity: 1;
  }
  100% {
    transform: translateY(-100vh); /* Suben hacia arriba */
    opacity: 0;
  }
}
/* Tamaños y velocidades de las estrellas */
.star.small {
  width: 1px;
  height: 1px;
  animation-duration: 50s;
}
.star.medium {
  width: 2px;
  height: 2px;
  animation-duration: 97s;
}
.star.large {
  width: 3px;
  height: 3px;
  animation-duration: 155s;
}
/* Efecto de desvanecimiento */
.fade-out {
  opacity: 0 !important;
  transition: opacity 1s ease;
}


/* FOOTER */
/* Estilos generales del footer */
/* Estilos generales del footer */
#footer {
    position: relative;
    background-size: cover; /* Para que la imagen cubra todo el footer */
    color: #fff;
    padding: 60px 0 0px 0px;
    box-shadow: 0 -1px 0px rgba(170, 170, 170, 0.388);
    text-align: center;
}


.container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
    z-index: 2;
}

.footer-section {
    flex: 1;
    min-width: 200px;
    margin-bottom: 20px;
}

.footer-section h4 {
    font-size: 18px;
    margin-bottom: 15px;
    color: #fff;
    text-transform: uppercase;
}

.footer-section p {
    font-size: 14px;
    line-height: 1.6;
    color: #cdcdcd;
}

.footer-section ul {
    list-style: none;
    padding: 0;
}

.footer-section ul li {
    margin-bottom: 10px;
}

.footer-section ul li a {
    color: #cdcdcd;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-section ul li a:hover {
    color: #00bcd4;
}

.social-icons {
    display: flex;
    gap: 15px;
    align-items: center;
    justify-content: center;
}

.social-icons a {
    color: #fff;
    font-size: 20px;
    transition: transform 0.3s ease;
}

.social-icons a:hover {
    transform: scale(1.2);
    color: #d0a2ed;
}

.newsletter input[type="email"] {
    width: 100%;
    padding: 10px;
    margin-bottom: 10px;
    border: none;
    border-radius: 5px;
    background-color: #333;
    color: #fff;
}

.newsletter button {
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    background-color: #00bcd4;
    color: #fff;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.newsletter button:hover {
    background-color: #0097a7;
}

.copyright {
    text-align: center;
    font-size: 14px;
    color: #ffffff;
    padding-top: 10px;
    border-top: 1px solid #515151bb; /* Línea divisoria */
    padding-bottom: 1px;
}

#footer p {
    margin-bottom: 10px;
    padding-bottom: 0px;
}