
/* Estilo general para el cuerpo de la página */
:root {
  --main-back-color: #051e4d;
  --normal-font: 'Open Sans', sans-serif;
  --titles-font: 'Roboto', sans-serif;
  --special-font: 'Montserrat', sans-serif;
  --verde: #0a9784;
}

/* == header == */

  .portada{
    position: relative;
    margin-top: 120px;
    margin-bottom: 40px;
    opacity: 0.9;
    justify-content: center;  
    align-items: center;
  }

  .titulo .objective{
    font-size: 1.6em;
    margin-top: 30px;
    margin-bottom: 8px;
    color: var(--verde);
    font-family: var(--titles_font);
    font-weight: 500;
  }
  
  titulo h1 {
    font-family: var(--titles_font);
    font-weight: 500;
    font-size: 5em;
    color: var(--main-back-color);
}
  
  .content {
    max-width: 1200px;
    margin: 0 auto;
  }
  
  /* Flexbox layout */
  .row {
    display: flex;
    flex-wrap: nowrap; /* Evita que las columnas se envuelvan */
  }
  
  .col_75, .col_25 {
    padding: 10px;
    box-sizing: border-box; /* Asegura que el padding no afecte el ancho total */
  }
  
  /* Column width for large screens */
  .col_75 {
    flex: 0 0 75%; /* Flex-grow: 0, Flex-shrink: 0, Flex-basis: 75% */
  }
  
  .col_25 {
    flex: 0 0 25%; /* Flex-grow: 0, Flex-shrink: 0, Flex-basis: 25% */
    display: flex;
    flex-direction: column;
    align-items: center; /* Centra el contenido horizontalmente */
    justify-content: center; /* Centra el contenido verticalmente */
  }
  
  .logoPlacer {
    text-align: center;
  }
  
  .btn-row {
    display: flex;
    justify-content: space-around;
    margin-top: 20px;
    width: 100%;
  }
  
  .header-btn {
   cursor: pointer;
    padding: 10px; /* Modificado para coincidir con el padding del otro botón */
    background-color: transparent; /* Cambiado al color dorado que usabas antes */
    color: white; /* El color del texto sigue siendo blanco */
    border-radius: 0;
    text-align: center;
    margin: 0 10px; /* Mantener el margen entre los botones */
    border: 1px solid white; /* Añadir borde dorado */
    font-size: 110%; /* Ajustar el tamaño de la fuente */
    text-transform: uppercase; /* Convertir el texto a mayúsculas */
    letter-spacing: 2px; /* Añadir espaciado entre las letras */
    font-family: var(--titles_font); /* Usar la fuente de los títulos */
    min-width: 120px;
    width: auto; /* ← permite que el texto determine el tamaño */
    height: auto; /* La altura se ajustará automáticamente */
    text-decoration: none;
}

.header-btn:hover {
    background-color: white;
    color: black;
}

.extra-btn {
    cursor: pointer;
    padding: 10px; /* Modificado para coincidir con el padding del otro botón */
    background-color: var(--verde); /* Cambiado al color dorado que usabas antes */
    color: white; /* El color del texto sigue siendo blanco */
    border-radius: 0;
    text-align: center;
    margin: 0 10px; /* Mantener el margen entre los botones */
    border: 1px solid var(--verde); /* Añadir borde dorado */
    font-size: 110%; /* Ajustar el tamaño de la fuente */
    text-transform: uppercase; /* Convertir el texto a mayúsculas */
    letter-spacing: 2px; /* Añadir espaciado entre las letras */
    font-family: var(--titles_font); /* Usar la fuente de los títulos */
    min-width: 120px;
    width: auto; /* ← permite que el texto determine el tamaño */
    height: auto; /* La altura se ajustará automáticamente */
    text-decoration: none;
}

.extra-btn:hover {
    background-color: #ffffff; /* Este color de fondo al hacer hover se mantiene igual */
    color: #000000; /* Asegurar que el texto siga siendo blanco al hacer hover */
}
  
  h1, h2, h3 {
    font-family: var(--titles-font);
  }
  
  .image-nav button,
  .special-text,
  .menu-button {
    font-family: var(--special-font);
  }

  /* Remove default margins */
  h1 {
    margin: 0;
  }
  
  p.objective.closer_text {
    margin-top: 0;
  }
  
  /* Ensure the content doesn't overlap with the header */
  body {
    margin: 0;
    padding-top: 80px; /* Adjust this value if needed */
    font-family: var(--normal-font);
  }
  
  hr {
    margin-top: 20px;
  }
  
  /* Ensure the logo image fits well */
  .logoPlacer img {
    max-width: 100%;
    height: 220px;
  }
  
  @media (max-width: 991px) {
    .row {
      flex-direction: column;
    }
    
    .col_75, .col_25 {
      flex: 1 1 100%;
    }
    
    .btn-row {
      justify-content: center;
      margin-top: 10px;
    }
  }
  
/* -navigation- */
header{
    position: fixed;
    width: 100%;
    top: 0px;
    z-index: 1000;
  }
  
nav {
    display: flex;
    justify-content: space-between;
    align-items: center; /* Centra verticalmente los elementos */
    background-color: #051e4d;
    padding: 10px;
    text-align: center;
}

body {
    /* font-family: Arial, sans-serif; */
    margin: 0;
    padding: 0;
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 200;
    font-display: swap;
    /*src: url(https://fonts.gstatic.com/s/montserrat/v25/JTUQjIg1_i6t8kCHKm459WxRxC7m0dR9pBOi.woff2) format('woff2'); */
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

h1 {
    font-family: var(--titles_font);
    font-weight: 400;
    font-size: 5em;
    color: var(--main-back-color);
}

  /*logo*/
.logoholder{
    width: 20%;
  }
  
.logoholder img{
    margin-top: 5px;
    height: 50px;
    width: auto;
  }

/* Estilos para el footer */
footer {
  width: 100%;
  background-color: #051e4d; /* Coincide con el color de fondo del nav */
  color: white;
  padding: 10px 0;
  box-sizing: border-box; /* Incluye padding y border en el ancho total */
}
  
  footer p {
    margin-top: 10px;
    font-family: var(--normal-font);
    font-size: 1.3em;
  }
  
  footer .address {
    margin-top: 10px;
    font-size: 1em;
    font-weight: 300;
  }
  
  /* Flexbox layout */
  footer .content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
  }
  
  footer .row {
    display: flex;
    justify-content: space-between; /* Distribuye los elementos a los extremos */
    align-items: center; /* Centra verticalmente los elementos */
    flex-wrap: wrap; /* Permite que los elementos se envuelvan en pantallas pequeñas */
  }
  
  footer .col_tercio {
    flex: 0 0 32%; /* Asegura que cada columna ocupe un tercio del espacio */
    box-sizing: border-box;
    padding: 10px;
  }
  
  footer .footlogos,
  footer .ibt_logo {
    text-align: center;
  }
  
  footer .footnote {
    text-align: center;
    margin: 40px 60px 10px 60px;
    font-size: 0.8em;
    color: #eaeaea;
  }
  
  /* Ensure images fit well */
  footer .footlogos img {
    max-width: 100%;
    height: 70px;
  }

  footer .ibt_logo img {
    max-width: 100%;
    height: 80px;
  }
  
  /* Responsive adjustments */
  @media (max-width: 991px) {
    footer .row {
      flex-direction: column;
    }
    
    footer .col_tercio {
      flex: 1 1 100%;
      text-align: center;
    }
    
    footer .footnote {
      margin: 20px 10px;
    }
  }
  /*footer*/
  .content {
    width: 1300px;
    margin-left: calc(50% - 650px);
  }

  .toolDescription {
    width: 80%;
    /* word-break: break-all; */
    font-family: var(--titles_font);
    font-weight: 300;
    font-size: 110%;
    line-height: 150%;
    margin-bottom: 20px;
    /* inline-size: 110%; */
  }

.main-link {
    display: flex;
    gap: 15px; /* Espacio entre los enlaces */
    align-items: center;
    margin-right: 20px;
}

.presentation_container {
    display: flex;
    justify-content: space-between; /* Alinea las columnas a izquierda y derecha */
}

.tool_description {
    flex-basis: 48%; /* Establece un ancho máximo para las columnas */
    padding: 20px;
    border: 1px solid #ccc;
    box-sizing: border-box; /* Incluye el padding y el borde en el tamaño total */

}


/* Estilos para la nueva sección de imagen */
.image-section {
  width: 95%;
  padding: 10px 0;
  background-color: #FFFFFF;
  text-align: center; /* de center */
  margin: 0 auto;
}

.image-nav {
  display: flex;
  justify-content: space-between; /* Espacia los botones uniformemente */
  flex-wrap: nowrap; /* Evita que los botones se envuelvan en varias líneas */
  margin-right: 20px; /* Espacio entre el nav y el menú de clases */
  overflow-x: auto; /* Permite el desplazamiento horizontal si los botones exceden el ancho del contenedor */
}

.image-nav button {
  width: 300px; /* Ajusta el tamaño según sea necesario */
  height: 60px; /* Mantén la altura uniforme */
  font-size: 80%;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-align: center;
  padding: 10px;
  font-family: var(--titles_font);
  cursor: pointer;
  margin: 5px 10px; /* Margen entre los botones */
}

.image-nav button:hover {
  background-color: #0056b3; /* Gris más oscuro al hacer hover */
  border-color: #0056b3; /* Asegurar que el borde cambie también en hover */
  color: #FFF; /* Asegurar que el texto siga siendo blanco al hacer hover */
}
.contenido {
  display: flex;
}

.class-menu {
  position: relative;
  padding: 10px;
  width: 200px;
  background-color: #f5f5f5;
}

.image-container {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 20px; /* Espacio entre el menú y la imagen */
}

.image-container img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain; /* Ajusta la imagen dentro del contenedor manteniendo la proporción */
}

.class-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.class-menu ul li {
  margin-bottom: 3px;
}

.class-menu ul li a {
  text-decoration: none;
  color: #333;
  padding: 3px;
  display: block;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 1px;
  transition: background-color 0.3s;
}

.class-menu ul li a:hover {
  background-color: #ddd;
}

#class-menu {
  position: relative;
  width: 200px; /* Ajusta según sea necesario */
}

.submenu {
  position: absolute;
  top: 0;
  left: 100%;
  display: none;
  width: 300px; /* Ajusta según sea necesario */
  max-height: 300px; /* Altura máxima del submenú */
  overflow-y: auto; /* Permitir desplazamiento vertical */
  background-color: white; /* Fondo del submenú */
  border: 1px solid #ccc; /* Borde del submenú */
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); /* Sombra para el submenú */
  z-index: 999; /* Asegúrate de que el submenú esté por debajo del header */
  white-space: nowrap; /* Evita que el texto se rompa en varias líneas */
}


.modal {
  display: none; /* Hidden by default */
  position: fixed;
  z-index: 1;
  padding-top: 60px;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgb(0,0,0);
  background-color: rgba(0,0,0,0.4);
}

.modal-content {
  background-color: #fefefe;
  margin: 5% auto;
  padding: 20px;
  border: 1px solid #888;
  width: 80%;
}

.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

/*tablas */
table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  font-size: 16px;
}
th, td {
  padding: 12px;
  border: 1px solid #ddd;
  text-align: left;
}
th {
  background-color: #4CAF50;
  color: white;
}
tr:nth-child(even) {
  background-color: #f2f2f2;
}
tr:hover {
  background-color: #ddd;
}
th[colspan="4"] {
  background-color: gray;
  color: white;
  font-size: 20px;
}
.blue-text {
  color: blue;
}

#image-grid {
  width: 80%; /* Ancho del 90% del contenedor padre */
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); /* Columnas automáticas con mínimo de 100px */
  gap: 10px;
  padding: 40px;
  max-height: 650px; /* Altura máxima del contenedor */
  overflow-y: auto; /* Scroll vertical si el contenido excede la altura máxima */
  margin: 0 auto; /* Centrado horizontal del grid */
  text-align: center; /* Alineación del contenido al centro */
}

#image-grid .image-container {
  display: flex;
  flex-direction: column; /* Organiza la imagen y el título en una columna */
  align-items: center; /* Centra la imagen y el título */
  text-align: center;
  gap: 5px; /* Espacio entre la imagen y el título */
}

#image-grid img {
  width: 100%; /* Ancho del 100% para llenar la celda del grid */
  height: auto; /* Altura automática para mantener la proporción */
  object-fit: cover; /* Ajuste para cubrir toda la celda del grid */
  margin-bottom: 5px; /* Asegura un pequeño espacio entre la imagen y el título */
}

#image-grid .title {
  margin-top: 5px;
  font-size: 17px;
  color: #333;
}

