
/* Establece el contenedor principal (body) como un flex container */
html, body {
  height: 100%; /* Asegura que el body ocupe todo el alto de la ventana */
  margin: 0; /* Elimina márgenes por defecto */
  display: flex; /* Habilita flexbox */
  flex-direction: column; /* Coloca los elementos en una columna */
  padding: 0;
  box-sizing: border-box; /* Para garantizar un cálculo consistente del ancho */
}

/* Logo */
.logo {
  display: block;
  margin: 0 auto 20px auto; /* Centrar el logo y añadir margen inferior */
  max-width: 250px; /* Limitar el tamaño máximo del logo */
}

/* Ajustar el tamaño del logo */
@media (max-width: 768px) {
  .logo {
    max-width: 120px; /* Reducir el tamaño del logo en pantallas pequeñas */
  }
}

/* Estilo específico para la navbar */
.navbar {
  display: flex; /* Asegura un layout flexible independiente */
  align-items: center; /* Centra verticalmente los elementos */
  justify-content: space-between; /* Mantén los elementos distribuidos */
  background-color: #232D4F;
  height: 100px; /* Altura de la navbar */
  padding: 0 20px;
  border-top: 2px solid #FFD700; /* Línea dorada */
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
}

.navbar-nav {
  display: flex;
  justify-content: center; /* Centra horizontalmente los elementos del menú */
  align-items: center; /* Centra verticalmente los elementos del menú */
  flex: 1;
}

/* Estilo personalizado para el enlace "Proyectos" */
.navbar .navbar-nav .nav-link[href*="Proyectos"] {
  font-weight: bold;
  text-transform: uppercase;
  text-decoration: none;
  color: #FFD700; /* Color dorado */
}

.navbar .navbar-nav .nav-link[href*="Proyectos"]:hover {
  text-decoration: underline; /* Subrayado al pasar el mouse */
}

/* Navbar link text color and customization */
.navbar a {
  color: white !important;       /* White text color */
  font-size: 16px;               /* Font size for links */
  font-weight: bold;             /* Make the text bold */
  text-transform: uppercase;     /* Uppercase text */
  padding: 10px 15px;           /* Padding around the links */
  transition: background-color 0.3s; /* Smooth background color transition on hover */
}

/* Navbar link hover effect */
.navbar a:hover {
  background-color: #0056b3;    /* Darker blue when hovering over links */
  text-decoration: underline;    /* Underline text on hover */
}

/* Optional: Customize the dropdown items */
.navbar .dropdown-menu {
  background-color: #f8f9fa;    
  border: 1px solid #007BFF;   
  border-radius: 5px;          
}

.navbar .dropdown-menu a {
  color: black !important;                  
  padding: 10px 15px;          
  transition: background-color 0.3s, color 0.3s;  
}

.navbar .dropdown-menu a:hover {
  background-color: #232D4F;   /* Dark blue background on hover */
  color: white !important;                /* White text color on hover */
  font-weight: bold;           /* Make text bold on hover */
  text-decoration: underline;   /* Underline text on hover */
}

/* Optional: Add custom styling for the dropdown header (if you have one) */
.navbar .dropdown-header {
  font-weight: bold;           /* Bold text for header */
  color: #232D4F;              /* Dark blue color for header */
  padding: 10px 15px;         /* Padding for the header */
}

/* Navbar ajustada para pantallas más pequeñas */
@media (max-width: 768px) {
  .navbar {
    flex-direction: column; /* Cambiar a columna para dispositivos móviles */
    height: auto; /* Deja que la altura se ajuste automáticamente */
    padding: 10px 0; /* Reducir el padding */
  }
 
@media (max-width: 768px) {
 .navbar .navbar-nav {
    display: flex;
    flex-direction: column; /* Los elementos del menú se apilan verticalmente */
    align-items: flex-start; /* Alinea los elementos al inicio (izquierda) */
  }
}
 
@media (max-width: 768px) {
 .navbar .dropdown-menu {
    position: absolute; /* Esto permite mover el menú a la derecha */
    right: 0; /* Alinea el menú a la derecha */
    left: auto; /* Anula el alineamiento a la izquierda */
  }
}

  .navbar-nav {
    flex-direction: column; /* Alinear los enlaces verticalmente */
    width: 100%; /* Asegura que el menú ocupe todo el ancho */
  }

  .navbar a {
    font-size: 14px; /* Reducir el tamaño de la fuente */
    padding: 10px; /* Reducir el padding de los enlaces */
  }

  .navbar .navbar-nav .nav-link {
    font-size: 16px; /* Ajusta el tamaño de la fuente para dispositivos más pequeños */
  }
}

/* Contenedor con scroll independiente */
.content-scroll {
  width: 100%; /* El ancho será el mismo que el de la página */
  max-height: 300px; /* Ajusta la altura máxima según sea necesario */
  overflow-y: scroll; /* Habilita el desplazamiento vertical */
  padding: 20px;
  margin-top: 20px;
  background-color: #fff; /* Fondo opcional */
  border-radius: 3px; /* Bordes redondeados */
  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1); /* Sombra opcional */
}

/* Estilo para el texto dentro del contenedor */
.content-scroll p {
  font-family: 'Montserrat', sans-serif;
  color: #333;
  line-height: 1;
}

/* Estilo para los gráficos o imágenes dentro del contenedor */
.content-scroll img {
  width: 100%; /* Imagen con ancho máximo del contenedor */
  max-width: 100%; /* Evitar que se estire más allá del tamaño del contenedor */
  height: auto; /* Mantener la relación de aspecto */
  display: block;
  margin: 10px auto; /* Centrar la imagen y dar un margen vertical */
}

/* Ajustar el tamaño de imágenes grandes para pantallas pequeñas */
@media (max-width: 768px) {
  .content-scroll .image-large {
    max-width: 90%; /* Asegura que las imágenes no se sobrepasen en dispositivos pequeños */
  }
}
/* Ajustes específicos para imágenes grandes o de tamaño específico */
.content-scroll .image-large {
  max-width: 80%; /* Tamaño más grande para imágenes específicas */
  max-height: 400px; /* Controlar la altura máxima */
  margin: 20px auto; /* Centrado con margen más amplio */
}

/* Ajustes para imágenes pequeñas dentro del contenedor */
.content-scroll .image-small {
  max-width: 15%; /* Tamaño más pequeño para imágenes específicas */
  margin: 10px auto; /* Centrado con margen */
  display: inline-block; /* Asegurar que la imagen se comporte como un bloque en línea */
  border: 1px solid #d3d3d3; /* Borde gris muy fino */
  border-radius: 5px; /* Bordes redondeados */
}

/* Contenedor para logo o imagen más pequeña */
.content-logo {
  display: block;
  margin: 0 auto 20px auto; /* Centrar el logo y añadir margen inferior */
  max-width: 50px; /* Limitar el tamaño máximo del logo */
}

/* Footer */
footer {
  position: relative; /* Mantiene el footer en el flujo normal */
  width: 100%; /* Ocupa todo el ancho del viewport */
  left: 0;
  right: 0;
  text-align: center;
  margin: 0; /* Elimina márgenes externos */
  padding: 15px 0; /* Ajusta el padding */
  background-color: #f8f8f8;
  color: black;
  font-size: 12px;
  line-height: 1;
  box-sizing: border-box; /* Evita que el padding afecte el ancho total */
  border-top: 1px solid #ccc; /* Línea decorativa superior opcional */
}

/* Estilo para los párrafos del footer */
footer p {
  margin: 5px 0; /* Espaciado uniforme */
}

/* Estilo para los enlaces */
footer a {
  color: #232D4F;
  text-decoration: none;
  font-size: 12px;
}

footer a:hover {
  text-decoration: underline;
}

/* Estilo para las imágenes de los iconos */
footer img {
  width: 20px;
  height: 20px;
  margin: 0 10px;
}

/* Diseño Responsive */
@media (max-width: 768px) {
  footer {
    font-size: 10px;
    padding: 10px 0;
  }

  footer p {
    margin: 3px 0;
  }
}

 
 
 /* General Styles */
body {
  font-family: 'Montserrat', sans-serif;
  color: #333;
  line-height: 1.6;
  margin: 0;
  padding: 0;
  background-color: #fff;
}

/* Header */
header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #0056b3;
  color: white;
  padding: 15px 20px;
}

header img {
  max-height: 50px;
  margin-right: 15px;
}

/* Título centralizado y adaptable */
h1 {
  text-align: center;
  font-family: 'Lora', serif;
  font-size: 2.5em;
  margin: 20px 0 ;
  word-wrap: break-word; /* Evita que el texto se desborde en pantallas pequeñas */
}

@media (max-width: 768px) {
  h1 {
    font-size: 2em; /* Reduce el tamaño del título en pantallas pequeñas */
  }
}

/* Centrar el título del sitio */
h2 {
  text-align: center;
  font-family: 'Lora', serif;
  font-size: 1.5em; /* Ajusta según sea necesario */
  margin: 20px 0;
  word-wrap: break-word; /* Evita que el texto se desborde en pantallas pequeñas */
}
@media (max-width: 768px) {
  h2 {
    font-size: 1.5em; /* Reduce el tamaño del título en pantallas pequeñas */
  }
}

/* Centrar el título del sitio */
h3 {
  text-align: center;
  font-family: 'Lora', serif;
  font-size: 1em; /* Ajusta según sea necesario */
  margin: 20px 0;
  word-wrap: break-word; /* Evita que el texto se desborde en pantallas pequeñas */
}

@media (max-width: 768px) {
  h3 {
    font-size: 1em; /* Reduce el tamaño del título en pantallas pequeñas */
  }
}

/* Main Content */
main {
  text-align: center;
  padding: 20px;
  background: #ffffff;
  margin: 20px auto;
  max-width: 800px;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

 