body {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    font-family: "proxima-nova-soft", sans-serif;
    overflow: hidden;
    width: 100%;
    animation: gradientBG 15s ease infinite;
  }
  
  /* Estilos para el formulario */
  #uploadForm {
    width: 25%; /* Ancho en escritorios */
    padding: 20px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    position: fixed;
    top: 100px;
    left: 20px;
    transition: all 0.3s;
  }
  
  #uploadForm label {
      display: block;
      margin-bottom: 8px;
      font-weight: bold;
  }
  
  #uploadForm input[type="email"],
  #uploadForm input[type="text"],
  #uploadForm input[type="file"] {
      width: 100%;
      padding: 10px;
      margin-bottom: 20px;
      border: 1px solid #ddd;
      border-radius: 5px;
      box-sizing: border-box;
  }
  
  #sendEmailButton {
      background: linear-gradient(135deg, #6e8efb, #a777e3);
      color: #fff;
      border: 1px solid #a777e3;
      padding: 10px 20px;
      border-radius: 25px;
      cursor: pointer;
      font-size: 16px;
      transition: background 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
      display: block;
      margin: 0 auto;
      text-align: center;
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  }
  
  #sendEmailButton:disabled {
      background: #cccccc;
      color: #666666;
      border: 1px solid #cccccc;
      cursor: not-allowed;
      box-shadow: none;
  }
  
  #sendEmailButton.sent {
    background-color: green; /* Color de fondo verde */
    color: white; /* Color del texto blanco */
    cursor: not-allowed; /* Cambiar el cursor para indicar que el botón está deshabilitado */
    border: none; /* Opcional: eliminar el borde para un estilo más limpio */
}

  #sendAnother {
      margin-top: 20px;
  }
  
  textarea {
    resize: none; /* Evita que el textarea se pueda redimensionar */
    overflow: auto; /* Muestra el scroll si el contenido es demasiado largo */
    height: 150px; /* Altura fija para el textarea */
    width: 100%; /* Ancho fijo, puedes ajustarlo según necesites */
    max-width: 100%; /* Evita que se expanda más allá de su contenedor */
    max-height: 100px; /* Altura máxima para mostrar el scroll si es necesario */
    font-family: Arial, sans-serif; /* Opcional: Fuente del texto */
    font-size: 14px; /* Opcional: Tamaño del texto */
    padding: 10px; /* Espaciado interior */
    box-sizing: border-box; /* Asegura que el padding no incremente el tamaño */
}
  #sendAnotherLink {
      color: #007bff;
      text-decoration: none;
  }
  
  #sendAnotherLink:hover {
      text-decoration: underline;
  }
  #uploadProgressContainer {
      display: flex;
      align-items: center;
      width: 100%;
      background-color: #f3f3f3;
      border: 1px solid #ccc;
      border-radius: 5px;
      overflow: hidden;
      margin-top: 5px;
  }
  
  #uploadProgressBar {
      height: 20px;
      width: 0;
      background-color: #4caf50;
      text-align: center;
      color: white;
      line-height: 1;
      margin-top: -2px;
      flex: 1;
  }
  
  #uploadProgressText {
      display: block;
      text-align: right;
      margin-top: 5px;
      color: #000;
  }
  
  #progressWarning {
      margin: 0;
      color: black;
      font-weight: bold;
      line-height: 1;
      display: inline-block;
      margin-top: -12px;
      font-size: 0.8em;
      display: inline-block;
  }
  
  #sendEmailButton:not(:disabled):hover {
      background: linear-gradient(135deg, #a777e3, #6e8efb);
      box-shadow: 0 6px 8px rgba(0, 0, 0, 0.15);
  }
  
  #uploadStatus {
      margin-top: 20px;
      padding: 10px;
      background: #f8d7da;
      color: #721c24;
      border: 1px solid #f5c6cb;
      border-radius: 5px;
      display: none;
  }
  
  .form-group {
      margin-bottom: 15px;
  }
  
  .checkbox-group {
      display: flex;
      align-items: center;
  }
  
  .checkbox-group input[type="checkbox"] {
      margin-right: 10px;
  }
  
  
  /*Preview TecnoPage*/
  .circle {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      background-color: white;
      z-index: 9999;
  }
  
  .line-drawing-demo {
      text-align: center;
  }
  
  svg {
      width: 100%;
      height: auto;
  }
  
  .content-section {
      display: none;
      opacity: 0;
      transition: opacity 4s ease-out;
  }
  
  .visible {
      display: block;
  }
  
  #formContainer,
  #uploadStatus {
      display: none;
  }
  
  
  
  .vertical-centered-box {
    position: absolute;
    width: 100%;
    height: 100%;
    text-align: center;
  }
  .vertical-centered-box:after {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    margin-right: -0.25em;
  }
  .vertical-centered-box .content {
    box-sizing: border-box;
    display: inline-block;
    vertical-align: middle;
    text-align: left;
    font-size: 0;
  }
  * {
    transition: all 0.3s;
  }
  
  .loader-circle {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
    margin-left: -60px;
    margin-top: -60px;
  }
  .loader-line-mask {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 60px;
    height: 120px;
    margin-left: -60px;
    margin-top: -60px;
    overflow: hidden;
    transform-origin: 60px 60px;
    /* -webkit-mask-image: -webkit-linear-gradient(top, #000000, rgba(0, 0, 0, 0)); */
    animation: rotate 1.2s infinite linear;
  }
  .loader-line-mask .loader-line {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5);
  }
  #particles-background,
  #particles-foreground {
    left: -51%;
    top: -51%;
    width: 202%;
    height: 202%;
    transform: scale3d(0.5, 0.5, 1);
  }
  #particles-background {
    background: #2c2d44;
    background-image: -moz-linear-gradient(45deg, #3f3251 2%, #002025 100%);
    background-image: -webkit-linear-gradient(45deg, #3f3251 2%, #002025 100%);
    background-image: linear-gradient(45deg, #3f3251 2%, #002025 100%);
  }
  @keyframes rotate {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }
  @keyframes fade {
    0% {
      opacity: 1;
    }
    50% {
      opacity: 0.25;
    }
  }
  @keyframes fade-in {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  
  
  
  
  .content-section .visible {
      display: block;
      opacity: 1;
  }
  
  /*---------------*/
  .container {
    width: 75dvw;
    height: 75dvh;
    margin: 0px;
    padding: 0px;
  
  }
  
  .canvas {
    width: 70%;
    height: 70%;
    position: absolute;
    top: 55px;
    left: 600px;
  }
  
  @media (max-width: 768px) {
    /* En teléfonos, el formulario se posiciona al frente */
    #uploadForm {
        width: 80%; /* Ancho ajustado para teléfonos */
        padding: 15px; /* Ajustar padding */
        position: relative; /* Cambiar a relativo para que esté en el flujo normal del documento */
        left: 0; /* Alineado al centro */
        margin: 0 auto; /* Centrando el formulario */
        top: 20px; /* Ajustar la posición superior */
    }
  
    /* Ajustar tamaño de fuente para el formulario */
    #uploadForm label,
    #uploadForm input[type="email"],
    #uploadForm input[type="text"],
    #uploadForm input[type="file"],
    #sendEmailButton {
        font-size: 44px; /* Tamaño de fuente aumentado */
    }
  
    .canvas {
        position: absolute;
        top: 1050px; /* Colocar el canvas debajo del formulario */
        left: 345px;
        width: 100%;
        height: 100%;
        /* height: auto;  */
    }
    
    .checkbox-group input[type="checkbox"] {
      margin-right: 2px;
      width:21px;
      height:30px;
    }
  }
  
  /* Partículas más grandes en teléfonos */
  @media (max-width: 768px) {
    #particles-background,
    #particles-foreground {
        width: 400%; /* Aumentar el tamaño de las partículas */
        height: 400%; /* Aumentar el tamaño de las partículas */
        left: -100%; /* Ajustar la posición */
        top: -100%; /* Ajustar la posición */
    }
  }
  