input::placeholder {  color: #6c757d;   font-size: 16px;   font-family: 'Arial', sans-serif;   opacity: 0.6; }
input:focus::placeholder {  color: transparent; }
input.error {  border: 1px solid #e74c3c; /* Rojo para errores */}
input.success {  border: 1px solid #2ecc71; /* Verde para éxito */}

/* Estilos generales para el formulario */
.form-container { margin-top: 20px;  width: 100%;  max-width: 700px;  background-color: #f9f9f9;  border-radius: 8px;    border-style: solid;  border-color: #90a5bb;  border-width: 1px;  box-shadow: 5px 5px 7px 0px rgba(0, 0, 0, 0.09);  padding-left: 40px;  padding-right: 40px;  padding-bottom: 50px;  padding-top: 10px;}
.form-header {  text-align: center;  margin-bottom: 20px;}
.form-header .return-link {  font-size: 14px;  text-decoration: none;   display: block;  color: #1859ce; margin-bottom: 40px; margin-top: 20px;}
.form-header .return-link:hover {  color: #192839; font-weight: bold;}
.form-header h2 {  font-size: 24px;  font-weight: bold;  margin-bottom: 5px;}
.form-header p {  font-size: 16px;  color: #555; text-align: center;}
.usuario-image {  max-width: 60px;  display: block;  margin: 0 auto 10px;}

/* Estilos para las secciones del formulario */
.form-section {  margin-bottom: 20px;  margin-top: 20px;}
.form-section h3 {  font-size: 18px;  font-weight: bold;  margin-bottom: 16px;margin-top: 16px;  color: #333;}
 .form-group {    position: relative;    margin-bottom: 20px;  }
.form-group label {  font-size: 16px;  color: #333;  display: block;  margin-bottom: 5px;}
.form-group input, .form-group textarea, .form-group select {    padding-right: 10px;    border: 1px solid #ccc;    border-radius: 5px;    padding: 10px;    width: 100%;  }
 .form-group input.error, .form-group textarea.error, .form-group select.error {    border-color: #e74c3c; /* Borde rojo cuando hay error */  }
.form-group input[type="checkbox"] {  width: auto;  margin-right: 5px;}
.form-group textarea {  height: 100px;  resize: vertical;}
/* Estilo para los iconos dentro de los campos */
.form-group i {  margin-right: 8px;  color: #0056b3;}

.required {  color: red;  font-weight: bold;}
.form-footer {  text-align: center;  margin: 20px;  height: 100%;  display: flex;  flex-direction: column;  align-items: center;  justify-content: center;}
.form-submit {display: flex; gap: 10px;  background-color: #1859ce;  color: white;   padding: 1rem 2rem;  border: none;  border-radius: 50px;  font-size: 1rem; font-weight: 700;  cursor: pointer; transition: background-color 0.3s, transform 0.3s ease-in-out, box-shadow 0.3s; text-align: center;}
.form-submit:hover {  background-color: #0e357a; transform: scale(1.05);  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);color: white;}
.form-submit:visited {color: white;}
.form-submit a  {color: white;}

/* Estilo para el enlace de términos y condiciones */
.form-checkbox {    margin-top: 10px; margin-bottom: 50px;  }
.form-checkbox label {  font-size: 14px;  color: #555;}
.form-checkbox a {  color: #0056b3;  text-decoration: none;}
.form-checkbox a:hover {  text-decoration: underline;}

.success-message {    color: #28a745;  font-size: 12px;    margin-top: 5px;    display: none;  font-weight: 500;  animation: fadeIn 0.3s ease-in-out; }
.success-message {    position: absolute;    right: 10px;    top: 50%;    transform: translateY(-50%);}
.error-message, .success-message {    animation: fadeIn 0.3s ease-in-out;}
@keyframes fadeIn {    from {        opacity: 0;    }    to {        opacity: 1;    }}
 .error-message {    display: none;    color: #FF5A5F;    font-size: 12px;    margin-top: 5px;  }
.g-recaptcha {    margin-top: 15px;    margin-bottom: 15px;}


.info-obligatorios {   font-size: 14px; text-align: left;  color: #777;  }
.obligatorio-indicador {    color:#FF5A5F;   }
.nota-clara {  font-size: 0.9rem;  color: #555;  margin-top: 0.5rem;  background-color: #f9f9f9;  padding: 0.5rem;  border-radius: 4px;}
.help-text {    font-size: 0.8em;    color: #666;    margin-top: 4px;    display: block; }


@media (max-width: 600px) {
    .form-group label {        font-size: 1em;     }
    .help-text {
        font-size: 0.8em;     }
}

@media screen and (max-width: 768px) {  
 .form-container {    padding: 15px;  margin-top: 10px; }
  .form-header h2 {    font-size: 22px;  }
  .form-header p {    font-size: 14px;  }
  .form-group input,
  .form-group select,
  .form-group textarea {    font-size: 14px;  }
  .form-submit {    font-size: 14px;    padding: 10px 18px;  }
}


/* Tarjetas */
.card {  background-color: #fff;  border: 1px solid #ddd;  border-radius: 10px;  padding: 20px;  text-align: center;  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);  transition: transform 0.3s ease, box-shadow 0.3s ease;}
.card:hover {  transform: translateY(-10px);  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);}
.card-icon {  font-size: 3rem;  color: #2d70e7;   margin-bottom: 15px;}
.card h2 {  font-size: 1.5rem;  color: #1347a4;  margin-bottom: 10px;}
/* Descripción en las tarjetas */
.card p {  font-size: 1rem;  color: #555;}
/* Sección principal */
.compliance-section {  margin: 20px;  max-width: 1080px;  margin: 0 auto;  padding: 20px;  background-color: #fff;}
.section {  margin: 10px;}

/* Header container styles */
.header-section { width: 100%; padding: 3rem 1rem; background: linear-gradient(0deg, #0e357a, #00b8d8);  color: #fff; text-align: center; position: relative; overflow: hidden; border-bottom-left-radius: 30% 25%;  border-bottom-right-radius: 30% 25%; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); }
.header-content { max-width: 700px; margin: 0 auto; padding: 1rem; opacity: 0; transform: translateY(20px); animation: fadeInSlide 1s ease-out forwards; animation-delay: 0.5s;}
@keyframes fadeInSlide {
 to {  opacity: 1;  transform: translateY(0); }}
.header-title { font-size: 3rem; font-weight: 700; margin: 0; text-shadow: 1px 1px 8px rgba(0, 0, 0, 0.3);  color: white;}
.header-subtitle { font-size: 1.2rem; margin: 0.5rem 0 0; color: #d1e4f2; text-align:center}
.header { width: 100%; background-color: #ffffff;  padding: 1.5rem 2rem; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); }
.header-container { display: flex; justify-content: space-between; align-items: center; width: 100%;}
.logo img { max-height: 60px; width: auto;}
/* Estilo de los Botones */
.header-buttons { display: flex; gap: 1.5rem; justify-content: flex-end;  align-items: center; flex-grow: 1; /* Asegura que los botones se alineen correctamente */ margin-right: 20px; margin-left: 20px;}
.button-demo { background-color: #0e357a; color: #fff; padding: 1rem 2rem;  border-radius: 50px;  font-weight: 700;  text-decoration: none; text-transform: none;  font-size: 1rem; transition: background-color 0.3s, transform 0.3s ease-in-out, box-shadow 0.3s; text-align: center;}
.button-demo:hover { background-color: #154b8f;  transform: scale(1.05);  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); }
.button-demo:visited {color: #fff;}
.button-login { background-color: #34cfa5;  color: #fff; padding: 1rem 2rem;  border-radius: 50px;  font-weight: 700;  text-decoration: none; text-transform: none;  font-size: 1rem; transition: background-color 0.3s, transform 0.3s ease-in-out, box-shadow 0.3s; text-align: center;text-shadow: 1px 1px 8px rgba(0, 0, 0, 0.3);}
.button-login:hover { background-color: #28b795; transform: scale(1.05);  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); }
.button-login:visited {color: #fff;}
.menu-icon img { width: 30px; height: 30px; transition: transform 0.3s ease-in-out;}
.menu-icon a:hover img { transform: rotate(90deg); /* Rotación sutil del ícono en hover */}
/* Estilo General del Nav Bar */
.navbar {  background-color: #0e357a;  padding: 0.8rem 2rem;  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);  width: 100%;}
.navbar-container { display: flex; justify-content: center;  align-items: center; gap: 2rem; }
.navbar-item { font-size: 1.1rem;  font-weight: 500;  text-align: center; justify-items: center; align-content: center; text-align: center;}
.navbar-item a { color: #fff;  text-decoration: none; padding: 0.5rem 1rem; transition: color 0.3s ease, transform 0.3s ease; border-radius: 4px;  display: flex; text-shadow: 1px 1px 8px rgba(0, 0, 0, 0.2);}
.navbar-item a:hover { color: #fff; transform: scale(1.05);  background-color: rgba(255, 255, 255, 0.2); }
/* Estilos para la sección de llamada a la acción (CTA) */
.cta-container {  background-color: #0e357a;  color: white;  display: flex;  justify-content: space-between;  padding: 30px 10%;  align-items: center;}
.cta-text {  max-width: 60%;}
.cta-heading {  font-size: 24px;  font-weight: bold;  margin-bottom: 10px;  color: white; }
.cta-description {  font-size: 16px;  margin-bottom: 20px;  color: white;   max-width: 424px;  line-height: 24px;}
.cta-buttons-container {  display: flex;  gap: 15px;  flex-direction: column;}
.cta-button {  padding: 12px 56px;  border-radius: 30px;  font-weight: bold;  text-align: center;  text-decoration: none;  display: flex;  justify-content: center;  align-items: center;  transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;}
.cta-button-green {  background-color: #34cfa5;  border: none;  padding: 12px 56px;}
.cta-button-green a {  color: #0e357a;}
.cta-button-white {  background-color: transparent;  border: 2px solid white;  color: white;	padding: 12px 56px;}
.cta-button-white a {  color: white;}
.cta-button-green:hover {  transform: scale(1.05);   background-color: #28b795;   box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); }
.cta-button-white:hover {  transform: scale(1.05);   background-color: rgba(255, 255, 255, 0.2);   color: #0e357a;   box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); }
/* Footer Estilos */
.footer {  font-family: 'Arial', sans-serif;  background-color: #fff;   color: #6d7175;   width: 100%;}
.footer-main {  display: flex;  justify-content: space-between;  padding: 40px 10%;  background-color: #fff;   color: #333; }
.footer-column {  width: 20%;  padding: 10px;}
.footer-logo {  max-width: 150px;}
.footer-section-title {  font-size: 18px;  font-weight: bold;  margin-bottom: 10px;  color: #0e357a;   max-width: 180px;}
.footer-links {  display: flex;  flex-direction: column;  gap: 10px;	align-items: flex-start;}
.footer-link {  font-size: 14px;  color: #18191c;   gap: 10px;  display: flex;}
.footer-link a {  color: #6d7175;   text-decoration: none;}
.footer-link a:hover {  text-decoration: underline;}
/* Footer de Derechos */
.footer-bottom {  background-color: #fff;   color: #333;   padding-left: 20px;  padding-right: 20px;  padding-bottom: 20px;}
.footer-divider {  border-top: 1px solid #ccc;  margin-bottom: 10px;}
.footer-copyright {  font-size: 14px;  color: #6d7175;   text-align: center;}
.footer-social-icons {  text-align: center;  margin-top: 10px;}
.footer-social-icon {  margin: 0 10px;}
.footer-social-icon-img {  width: 25px;  height: 25px;  filter: none; }
/* Animación para los iconos sociales */
.footer-social-icon {  transition: transform 0.3s ease, filter 0.3s ease;}
.footer-social-icon-img {  width: 30px;   height: 30px;  filter: grayscale(100%) brightness(0.6);  transition: filter 0.3s ease;}
.footer-social-icon:hover .footer-social-icon-img {  transform: scale(1.4);   filter: grayscale(0%) brightness(2); }
.footer-social-icon-img:hover {  transform: scale(1.4); }
.back-to-top {    position: fixed;    bottom: 20px;    right: 20px;    width: 50px;    height: 50px;    background-color: #0e357a; /* Main brand color */    border-radius: 50%;    display: flex;    justify-content: center;    align-items: center;    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);    cursor: pointer;    transition: transform 0.3s ease, background-color 0.3s ease;    }
.back-to-top:hover {    transform: scale(1.1);    background-color: #34cfa5; /* Hover color */}
.back-to-top-icon {    width: 24px;    height: 24px;    color: white;}
.back-to-top a {    text-decoration: none;    display: flex;    justify-content: center;    align-items: center;}
.page-button-top-item {     justify-content: center;  align-items: center;    }
.page-button-top-item img {      transition: transform 0.3s ease;}
.page-button-top-item:hover img {    transform: scale(1.1);}

@media (max-width: 768px) {	
.header-section {	padding: 1rem 1rem;	}
.footer-links { align-items: center;	}
.cta-container { flex-direction: column; align-items: center; padding: 20px;  }
.cta-buttons-container { flex-direction: column; gap: 10px;  }
.footer-main { flex-direction: column; align-items: center;  }
.cta-container { flex-direction: column; align-items: center; padding: 20px;  }
.cta-buttons-container { flex-direction: column; gap: 10px;  }
.footer-main { flex-direction: column; align-items: center;  }
.footer-column { width: 100%; text-align: center; margin-bottom: 20px; flex-direction: column; display: flex; align-items: center;  }
.page-button-top-item { display: none;	}
.navbar-container {  flex-wrap: wrap;  gap: 1rem; }
.cta-text {  text-align: center;  }
.header-container {  flex-direction: column;  align-items: center; }
.header-buttons {  margin-top: 1rem;  gap: 1rem; }
.header-title {  font-size: 2rem; }
.header-subtitle {  font-size: 1rem; }
}