* {
  box-sizing: border-box;
}
.nunito-sans {
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100, "YTLC" 500;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Atma", system-ui;
  font-weight: 500;
  font-style: normal;
}

.bg-custom-blue {
  background-color: #1278c2;
  color: #ffffff;
}

.bg-custom-blue .navbar-brand {
  color: #ffffff;
}

.bg-custom-blue img {
  background-color: #ecf7fd;
  border-radius: 50%;
  margin: 2px;
}
/* texto carrusel*/
.carousel-caption {
  background-color: rgba(225, 82, 22, 0.5);
  color: #ffffff;
  border-radius: 8px;
}

/* acomodo imagenes en fila*/
.image-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px; /* Espacio entre imágenes */
}

.image-text {
  text-align: center;
  font-weight: bolder;
  font-size: larger;
  margin-top: 10px;
}

.info {
  text-align: center;
  background-color: #ffffff;
}

.action {
  background-color: chocolate; /* Color principal */
  color: #ffffff; /* Texto blanco */
  margin-top: 10px; /* Espacio entre imagen y botón */
  width: 300px; /* Tamaño consistente con la imagen */
  padding: 10px 0; /* Altura del botón */
  border: none; /* Sin borde adicional */
  border-radius: 5px; /* Bordes ligeramente redondeados */
  font-size: 16px; /* Texto más claro */
  font-weight: bold; /* Resaltar texto */
  cursor: pointer; /* Cursor estilo clic */
  transition: all 0.3s ease; /* Transición suave */
  text-align: center;
}

.action a {
  text-decoration: none; /* Sin subrayado */
  color: #ffffff; /* Asegura que el texto sea blanco */
}

.action:hover {
  background-color: #d2691e; /* Oscurece el chocolate en hover */
  transform: scale(1.05); /* Ligero aumento en hover */
}

.dos {
  background-color: #2e536d;
}

.bd-placeholder-img {
  border-radius: 10px; /* Esquinas más suaves en la imagen */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Sombra alrededor de la imagen */
}

.hero {
  display: flex;
  flex-wrap: wrap; /* Permite que los elementos se ajusten en pantallas pequeñas */
  align-items: center; /* Centra verticalmente el contenido */
  justify-content: space-between; /* Distribuye los elementos con espacio */
  gap: 20px; /* Espacio entre elementos */
  padding: 20px;
  max-width: 1200px; /* Limita el ancho total del contenedor */
  margin: 0 auto; /* Centra horizontalmente el contenedor */
}

.hero-text {
  flex: 0 0 30%; /* Ocupa el 30% del ancho del contenedor */
  text-align: left; /* Alinea el texto a la izquierda */
}

.hero-text h1 {
  font-size: 2rem;
  margin-bottom: 10px;
}

.hero-text p {
  font-size: 1rem;
  line-height: 1.5;
}

.hero-img {
  flex: 0 0 65%; /* Ocupa el 70% del ancho del contenedor */
}

.hero-img img {
  width: 100%; /* Imagen escalada al 100% del contenedor */
  border-radius: 10px; /* Bordes redondeados */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Sombra para destacar la imagen */
}

@media (max-width: 768px) {
  .hero {
    flex-direction: column; /* Cambia a una columna */
    align-items: center; /* Centra los elementos en pantallas pequeñas */
  }

  .hero-text {
    flex: 0 0 100%; /* Ocupa el 100% del ancho */
    text-align: center; /* Alinea el texto al centro */
  }

  .hero-img {
    flex: 0 0 90%; /* Imagen ocupa el 90% del ancho del contenedor */
  }

  .hero-img img {
    width: 100%; /* Asegura que la imagen escale bien */
  }
}

/* Logos desde aqui */
.container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 20px;
}

.container h3 {
  margin-bottom: 20px;
}

/* Contenedor de avatares */
.avatar-stack {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 20px;
}

/* Avatar */
.avatar {
  width: 120px;
  height: 120px;
  overflow: hidden;
  margin: 20px;
  text-decoration: none;
}

/* Estilos de imagen */
.avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Formas de avatar */
.avatar.circular {
  border-radius: 50%; /* Forma circular */
}

.avatar.rounded {
  border-radius: 15px; /* Bordes redondeados */
}

.avatar.square {
  border-radius: 0; /* Forma cuadrada */
}

/* cards css*/

.crd {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 20px;
}

.card {
  margin-bottom: 20px;
}

/*testimonio*/

.testimonials {
  background-color: #f5f0e5; /* Fondo suave */
  padding: 50px 20px;
  text-align: center;
}

.testimonials h4 {
  font-size: 2rem;
  margin-bottom: 20px;
  color: #1278c2; /* Color destacado */
}

.testimonials-container {
  display: flex;
  flex-wrap: wrap; /* Permite que los testimonios se acomoden en varias filas */
  justify-content: center;
  gap: 20px;
}

.testimonial {
  background-color: white; /* Fondo blanco para destacar */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Sombra ligera */
  border-radius: 8px; /* Bordes redondeados */
  padding: 20px;
  max-width: 300px;
  flex: 1;
}

.testimonial-text {
  font-size: 1rem;
  color: #333;
  margin-bottom: 10px;
}

.testimonial-author {
  font-size: 0.9rem;
  color: #777;
  font-style: italic;
}

/*adaptabilidad testimonio*/
@media (max-width: 768px) {
  .testimonials-container {
    flex-direction: column; /* Los testimonios se apilan en columnas */
    gap: 15px;
  }

  .testimonial {
    max-width: 100%; /* Asegura que ocupen todo el ancho disponible */
  }
}

/*logos comerciales*/
#logos {
  background-color: #ffffff;
}

/* footer todo*/

.footer {
  background-color: #1278c2;
  color: #f4f5f6;
  padding: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
  gap: 20px;
}

/* Estilos para cada sección dentro del footer */
.footer-section {
  flex: 1 1 200px;
  max-width: 300px;
}

/* Estilo del logo */
.footer-logo img {
  width: 120px;
  margin-top: 20px;
}

/* Texto de los títulos */
.footer h6 {
  font-size: 18px;
  margin-bottom: 10px;
}

/* Estilo del texto del botón de términos */
.footer .terms-button {
  color: #f4f5f6;
  font-weight: bold;
  text-decoration: none;
}

/* Redes sociales */
.social-icons {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 20px;
}

.social-icons a {
  color: #f4f5f6;
  font-size: 24px;
}

/* Estilos para íconos sociales */
.social-icons a i {
  font-size: 24px;
}

@media (min-width: 768px) {
  .crd {
    display: flex;
    flex-direction: row;

    gap: 20px;
  }
  .image-container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 20px;
  }
}

@media (min-width: 768px) and (max-width: 965px) {
  .image-container {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    gap: 10px;
  }

  .image-container svg {
    width: 250px;
    height: 250px;
  }
}

@media (max-width: 608px) {
  .avatar-stack {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 20px;
  }
}
