/* para que los comentarios en este CSS se vean correctamente cuando se inspecciona el codigo en todos los navegadores */
@charset "utf-8";

/* reset: selector universal */
* {
  /* para que el ancho de TODOS los elementos HTML se calculen hasta los bordes y NO solo por sus contenidos,
  cambiando lo que viene predeterminado */
  box-sizing: border-box;
}


/* ----------------
   reglas generales
   ---------------- */

/* selector "padre" de todo lo visible en la ventana: algunas propiedades seran "heredadas" por sus elementos contenidos, otras no */

body {
  /* familia tipografica general del proyecto (sus elementos contenidos la heredan) */
  font-family:'montserrat', sans-serif;
  /* se retiran los 8 pixeles de margen que vienen predeterminados en body para que sus elementos contenidos "lleguen" hasta los bordes de la ventana del navegador */
  margin: 0;

  /* color general de los textos */
  color: none;

  /* color de fondo */
  background-color: hsla(232, 52%, 94%, 0.588);
}

/* selector multiple: parrafos e items de listas  */
p {
  /* se evitan "viudas" y "huerfanos" */
  text-wrap: pretty;
}

/* selector multiple: los titulos */
h1, h2 {
  color: #16018b;
  text-transform: lowercase;

  /* parecido a interlineado, valor 1 equivaldria a interlineado igual al tamañoo de la tipografia */
  line-height: 1.1;

  /* si ocupa más de una linea, se equilibran los anchos de esas lineas */
  text-wrap: balance;
}

/* para que "TODAS" las imagenes NO sean mayores que las cajas que las contienen, para evitar "scroll" horizontal */
img {
  /* mediran, como maximo, el tamaño del bloque html que las contiene */
  max-width: 100%;
}

/* "TODOS" los vinculos */
a {
  /* no estaran subrayados */
  text-decoration: none;

  /* negrita */
  font-weight: bold;
  color: #0f0240;
}

/* "TODAS" las listas */
ul, ol {
  /* elimina bullets, numeros etc. */
  list-style: none;

  /* retira el relleno izquierdo predeterminado */
  padding: 0;
}


/*
caja contenedora centrada y con ancho maximo
selector de tipo "clase" pq diferentes elementos HTML tendran caracteristicas visuales en comun */
.contenedora {
  /* ancho maximo 1040px */
  max-width: 65rem;

  /* centrado horizontal (si sobra espacio, lo distribuye a izquierda y derecha por igual) */
  margin-inline: auto;

  /* espacio entre el borde del elemento y su contenido para que este no quede "pegado" a los bordes */
  padding: 1rem;
}


/* -------------------
   componente superior
   y sus contenidos
   ------------------- */

header,
footer {
  /* color gradiente de fondo header y footer*/
  background:linear-gradient(86.63deg, #a9acff -14.08%, #06d1d8 44.31%, #f3f1d8 125.44%);

  /* color de texto */
  color: hsl(0, 0%, 100%);
}

header {
  /* sombra */
  box-shadow:
    0   /* desplazamiento horizontal */
    4px /* desplazamiento vertical */
    4px /* desenfoque */
    hsl(0 0% 0% / 20%) /* color */
}

/* Estilos para el header fijo utilizando position: sticky */
header {
  position: sticky;
  top: 0;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2); /* sombra suave */ 
  z-index: 1000; 
}

/* SÓLO el logo DGPC */
#logodgpc {
  /* cambiar de etiqueta tipo en linea a etiqueta tipo bloque para darle propiedades de bloque */
  display: block;
  

  /* redondeo de bordes */
  border-radius: none;
  
  /* medidas */
  width: 5rem;
  
  /* relleno (espacio entre la imagen y el borde) */
  padding: .1rem .1rem;
  /* si hay DOS valores,
  el 1er valor es el relleno arriba y abajo,
  el 2do valor es el relleno a izquierda y derecha */
  
  /* color del fondo */
  background-color: none;
  
  /* borde */
  border: none;
}


/* ---------
     menu 
   --------- */

/* la lista del menu en el encabezado */
header nav ul {
  /* elimina los margenes arriba y abajo que vienen predeterminados */
  margin-block: 0;
}

header nav ul li {
    /* agrega espacio vertical entre la lista del menu*/
    margin-right: 1px;
}

/* vinculos, pero SOLO los del menu superior */
header nav a {
  /* color del texto */
  color: hsl(0 0% 95%);

  /* color de fondo */
  background-color: #19065f;

  /* para darle propiedades de caja (ancho, por ejemplo) */
  display: block;

  /* ancho igual para todos */
  width: 5.1em;

  /* "relleno" arriba y abajo */
  padding-block: 0.25em .5em;

  /* borde redondeado */
  border-radius: 100vw;
  /* cantidad muy grande para que se visualice como "pildora" */

  /* texto centrado */
  text-align: center;  

  border: solid .1em #ffffff;
}


/* cuando se pasa el cursor por sobre los vinculos del menu o se accede a ellos por el teclado 
(selectores de "pseudoclase") y para que quede diferente el boton de la pagina en la que se está */

header nav a:hover,
header nav a:focus-visible {
  /* cambia el color de fondo */
  background-color: hsl(0 0% 95%);

  /* cambia el color de texto */
  color: #d1fd71;
  outline: #ffffff;
}



/* ------------------
   componente central
   y sus contenidos
   ------------------ */


/* clase para titulos */
.titulo {
  /* "subrayado" o línea en todo lo ancho */
  border-block-end: 3px solid #1d0458;
  
  /* separa el "subrayado" del texto */
  padding-block-end: .27rem;
}

/* ---------------------
    seccion presentación
   --------------------- */

   #fotoagus {
/* tamaños */
width: 15em;
aspect-ratio: 1;

/* borde */
border: solid .2em #2cc7fb;

/* imagen redonda */
border-radius: 50%;

/* sombra interna y externa */
box-shadow:
  0 4px 4px #60606023;

display: block;
margin: auto; /* Esto centra la imagen horizontalmente */
margin-top: 1em;
margin-bottom: 2em;

/* transición suave para el efecto */
transition: transform 0.3s ease;
}

/* efecto de expansión al pasar el cursor */
#fotobelen:hover {
  transform: scale(1.1); /* escala la imagen al 110% */
}


/*---------------------------------------------------------*/


.presentacion-column {
    margin: 10px; /* Agregamos margen entre las columnas */
}

.presentacion-column img {
    display: block;
}

.presentacion-column p {
    margin-top: 20px; /* Espacio superior para el párrafo */
}


.porcentaje {
    /* Alineación a la izquierda */
    text-align: left;
    margin-top: 40px; /* Espacio superior para el porcentaje */
}

.porcentaje img {
    display: block; /* Para que la imagen esté alineada a la izquierda */
    width: 17em;
}

/* Estilo del recuadro para la clase "sobremi" */
.sobremi {
  /* Borde */
  
  /* Fondo blanco */
  background-color: hsla(227, 90%, 96%, 0.588);
  /* Ajuste del espaciado interno para que el contenido no esté pegado al borde */
  padding: 18px;
  border-radius: .6em;

}


.contenedor {
  width: 64%; /* Ancho total del contenedor */
  height: 28px; /* Altura del contenedor */
  background-color: #ffffff; /* Color de fondo del contenedor (puedes cambiarlo si deseas) */
  border: 1px solid #232323; /* Borde del contenedor */
  position: relative; /* Posicionamiento relativo para que el progreso se posicione correctamente */
}


@media only screen and (min-width: 320px) and (max-width: 1023px) {
  .contenedor {
    width: 100%;
  }

  .sobremi {
    display: block;
  }

  .columna2,
  .columna1 {
    margin-left: 0%;
  }

  #logodgpc{
    margin: auto;
  }
 }

/*---------------------------------------------------------*/


/* --------------------
       materias
   -------------------- */

   .segundo, .tercero, .actual {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #b7dafb;
    padding-block: .5rem;
    border-radius: .6em;
    margin-block-end: 1em;
    text-align: left;
}

/* Efecto de desplazamiento al poner el cursor sobre las clases "segundo", "tercero" y "actual" */
.segundo:hover,
.tercero:hover,
.actual:hover {
  /* Agrandamiento del 105% del tamaño original */
  transform: scale(1.05);
  /* Transición suave para el efecto */
  transition: transform 0.3s ease;
}




/* --------------------
       portfolio
   -------------------- */

.portfolio img {
  width: 18rem;
  display: block;
  align-items: center;
  margin: auto;
  
  border-radius: .6em;
  /* sombra interna y externa */
  box-shadow:
  0 4px 4px #60606023; 
} 


.gallery {
  position: relative;
  max-width: 700px;
  margin: 20px auto;
  overflow: hidden;
}

.gallery-container {
  display: flex;
  transition: transform 0.5s ease-in-out;
}

.gallery-item {
  min-width: 100%;
  position: relative;
}

.gallery-item img {
  width: 100%;
  vertical-align: middle;
}

.overlay {
  position: absolute;
  bottom: 0;
  background: rgba(169, 249, 255, 0.8);
  width: 100%;
  transition: .5s ease;
  opacity: 0;
  color: black;
  font-size: 20px;
  padding: 20px;
  text-align: center;
}

.gallery-item:hover .overlay {
  opacity: 1;
}

button {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  padding: 16px;
  margin-top: -22px;
  color: white;
  font-weight: bold;
  font-size: 18px;
  border: none;
  user-select: none;
  background-color: hsl(246, 90%, 29%);
  transition: background-color 0.3s ease;
}

button:hover {
  background-color: #fdbe71;
}

.prev {
  left: 0;
}

.next {
  right: 0;
}

.columna-tareas {
  display: flex;
  justify-content: center;  
  align-items: center;
  gap: 2rem;}
  

/* --------------------
   seccion equipo vm13
   -------------------- */

.equipo article {
  /* color de fondo */
  background-color: hsla(209, 82%, 55%, 0.361);

  /* distancia vertical entre los integrantes */
  margin-block: .5em;

  /* "relleno" (distancia entre contenido y borde) */
  padding: 1em;

  /* borde redondeado */
  border-radius: .25em;

   /* transición suave para el efecto */
  transition: transform 0.3s ease;
}

/* efecto de agrandamiento al pasar el cursor */
.equipo article:hover {
  transform: scale(1.05);
}

/* SOLO las imagenes del equipo */
.equipo img {
  /* tamaños */
  width: 10em;
  aspect-ratio: 1;

  /* borde */
  border: solid .2em #1b0170;

  /* imagen redonda */
  border-radius: 50%;

  /* sombra interna y externa */
  box-shadow:
    0 4px 4px #ffffff;
  }


/* ------------------------
   seccion datos academicos
   ------------------------ */

/* imagenes SOLO en la seccion academicos */
.academicos img {
  display: block;
  width: 7em;
  aspect-ratio: 1;
  object-fit: contain;
  background-color: white;
  padding: .5rem;
  border-radius: .25rem;
}

/* -------------------
   componente inferior
   y sus contenidos
   ------------------- */

/* parrafo/s contenidos en la etiqueta "footer" */
footer p {
  /* elimina el margen inferior que viene predeterminado */
  margin-block-end: 1rem;
}


/* ----------------------------------------
     reglas de estilo de clase de layout
     con "display:flex;" y "display:grid;"
   ---------------------------------------- */

body {
  /* altura del navegador, como minimo */
  min-height: 100dvh;

  /* contenedor tipo cuadri­cula */
  display: grid;

  /* PLANTILLA de la cuadricula: altura de las li­neas
  --> header: la altura de su contenido
  --> main: se estira para ocupar el mayor espacio */
  grid-template-rows: auto 1fr;
}


/* para que el logo quede a la izquierda y el menu se corra al extremo derecho */
header .contenedora {
  /* caja contenedora flexible */
  display: flex;

  /* elementos de la caja flexible separados segun el eje principal (horizontal) */
  justify-content: space-between;

  /* elementos centrados en el eje secundario (vertical) */
  align-items: center;

  /* si un elemento no entra, baja a la siguiente li­nea */
  flex-wrap: wrap;

  /* separacion minima entre elementos de la caja flexible */
  gap: 1rem;
}

/* menu horizontal */
header nav ul {
  /* caja flexible */
  display: flex;

  /* separacion entre elementos de la caja flexible */
  gap: .25rem;

  /* si un elemento no entra, baja a la siguiente li­nea */
  flex-wrap: wrap;
}



/* seccion equipo: contenedor de los integrantes */

.equipo_articulos {
  
  display: flex;
  grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr));

  /* separacion entre integrantes */
  gap: 0.5rem;
}

/* cada integrante */
.equipo_articulos article {
  /* para que imagen quede a la izquierda y texto a la derecha */
  display: grid;
  /* PLANTILLA de columnas */
  grid-template-columns: 6rem 1fr;

  /* separacion entre imagen y textos, 2 renglones */
  gap: 2rem;   
}

/* para "bajar" el "boton" y que todos queden alineados abajo */
.equipo_textos {
  /* contenedor tipo cuadri­cula */
  display: grid;
  
  /* altura de las "filas...
  --> el nombre: altura de su contenido
  --> la carrera: altura de su contenido
  --> el parrafo se estira y ocupa todo el espacio disponible  */
  grid-template-rows: auto auto 1wfr;

  /* separacion minima entre textos: 1.25 renglones */
  gap: 1.25em;
}


/* seccion datos academicos: */
.academicos > ul {
  /* contenedor tipo cuadricula */
  display: flex;

  /* plantilla de columnas:
  --> que los elementos "llenen" todo el espacio horizontal con un ancho base de 320px (20rem) para que...
  en celulares quepa una institucion a lo ancho,
  en tabletas quepan 2, lado a lado,
  y en escritorio quepan 3, lado a lado  */
  grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr));

  /* separacion entre instituciones 1 renglon */
  gap: 1em;
}

/* cada institucion */
.academicos > ul > li {
  /* caja flexible */
  display: flex;
  /* si el texto no cabe, se va para abajo */
  flex-wrap: wrap;
  /* espacio entre foto y texto: 1 renglon */
  gap: 1em;
  /* elementos alineados a la izquierda */
  justify-content: flex-start;
  /* elementos alineados por arriba, en la vertical */
  align-items: flex-start;
  /* si hay mas de una linea de elementos, los elementos de CADA linea alineados por arriba, en la vertical */
  align-content: flex-start;
}

/* para eliminar márgenes superiores predeterminados de los titulos */
.academicos h3 {
  margin-block-start: 0;
}