@charset "utf-8";

/* "reseteo" selector universal */
*,
*::after,
*::before
 {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0;
    outline: none;
}

/* -------------------------- SETEOS GENERALES */

html {
    /* scroll suave */
    scroll-behavior: smooth;
    /* para que el encabezado quede visible siempre */
    scroll-padding-block-start: 5em;
  }

body {
    font-family: 'Nunito', sans-serif;
}

a {
    text-decoration: none;
  }

li,
ul,
ol {
    list-style: none;
    padding: 0;
}

img {
    max-width: 100%;
    height: auto;
  }

.contenedora {
    width: min(70rem, 100%); /* limita el ancho a 800px */
    margin-inline: auto; /* centra "la caja" horizontalmente */
    padding: 1rem; /* relleno igual a un renglón */
  }

header,
footer {
    background-color: #C35D6B;
    color: white;
}

.botonesclick {
background-color: #C3C3C3;
border-radius: 2em;
padding: 14px 25px;
margin-top: 1em;
text-align: center;
text-decoration: none;
display: inline-block;
}

.botonesclick a {
  color: white;
}

.botonesclick:hover {
  background-color: #6FE16F;
  transition: .5s;
}

footer p {
  font-size: small;
}

.explorar img{
  width: 4em;
  aspect-ratio: 1;
}
.explorar {
  background-color: #6FE16F;
  border: 4px solid #274D8C;
  border-radius: 50%;
  box-shadow: 0 .15em .1em hsla(0 0% 0% / 0.215);
  color: white;
  cursor: pointer;
  font-size: .5em;
  width: 4rem;
  aspect-ratio: 1;

  display: grid;
  place-items: center;
  
  position: fixed;
  bottom: 2rem;
  right: 1rem;
  z-index: 9000;
}


/* -------------------------- ENCABEZADO */

header {
    height: 5rem;
    box-shadow: 0 2px 8px hsl(0 0% 0% / 0.25); /* sombra difusa  */
    position: sticky; /* "pegado" al borde superior de la ventana */
    top: 0;  /* distancia 0 del borde */
    z-index: 8000; /* capa superior arriba de casi todo */
  }

/* caja que "limita" al logo y al menu */
header .contenedora {
    display: flex; /* caja flexible */
    /* si los elementos "hijos" no caben en una fila,
       van a la fila siguiente */
    flex-wrap: wrap;
    
    /* elementos "hijos" separados en la horizontal */
    justify-content: space-between;
    
    /* elementos "hijos" centrados en la vertical */
    align-items: center;
  }

  #logo {
    display: flex; /* caja flexible */
    align-items: center; /* hijos centrados en la vertical */
    /* sale del fondo pero no parece */
    position: relative;
    /* capa superior, arriba de todo */
    z-index: 9999;
  }

  /* etiqueta img, pero SÓLO el logo */
#logo img {
    height: 4em;
    margin: -.75em .75em -1em 0;
  }


/* -------------------------- ENCABEZADO + MENÚ HAMBURGUESA */

  /* botón "hamburguesa" */
.menu-btn {
    background: hsl(0 0% 100% / 0.25);
    border-radius: 50%;
    box-shadow: -5px 5px 5px hsl(180 100% 4% / 0.2);
    padding: .75rem;
    width: 3rem;
    aspect-ratio: 1;
    cursor: pointer;
    transition: all 0.3s ease-out; /* anima el "hover" */
  
    position: fixed; /* fijo, no "scrolea", no genera scroll */
    top: 1em; /* emplazamiento 1 renglÃ³n del borde superior */
    right: 1em; /* emplazamiento 1 renglÃ³n del borde derecho */
    z-index: 9000; /* en capa superior, casi arriba de todo */
  }
  
  /* cada barra de la "hamburguesa" */
  .menu-btn .btn-linea {
    width: 25px;
    height: 3px;
    margin: 4px 0 4px 0;
    background: hsl(0 0% 90%);
    transition: all 0.3s ease-out;
    /* capa superior, pero no parece */
    position: relative;
    /* capa superior, casi arriba de todo */
    z-index: 9000;
  }
  
  /* cada barra, transformacion para formar la "X" */
  .menuVisible .menu-btn .btn-linea {
    transform: rotate(180deg);
  }
  /* Las tres barras para formar la "X" */
  .menuVisible .menu-btn .btn-linea:nth-child(1) {
    transform: rotate(45deg) translate(4px, 6px);
  }
  .menuVisible .menu-btn .btn-linea:nth-child(2) {
    opacity: 0;
  }
  .menuVisible .menu-btn .btn-linea:nth-child(3) {
    transform: rotate(-45deg) translate(4px, -6px);
  }
  
  /* menú propiamente dicho */
  nav ul {
    background-color: hsl(210 92% 10% / 95%);
    display: grid;
    place-items: center;
    place-content: center;
    position: fixed; /* sale del fondo, queda fijo */
    inset: 0; /* emplazamiento, estirado en toda la ventana */
    z-index: 8000; /* capa superior, arriba de casi todo */
    translate: 100%; /* escondido "a la derecha" */
    transition: all .6s ease; /* anima cuando "nav" NO tiene la clase "menuVisible" */
  }
  
  /* el menu cuando "nav" tiene la clase "menuVisible" */
  .menuVisible ul {
    background-color: hsl(210 92% 30% / 95%);
    transition: all .4s ease; /* anima cuando "nav" tiene la clase "menuVisible" */
    translate: 0; /* se muestra */
  }
  
  /* cada ví­nculo del menu */
  nav ul li a {
    border-bottom: solid 3px hsl(0 0% 100% / 0.1);
    color: white;
    display: block;
    font-size: 1.5rem;
    margin-block-end: .5rem;
    width: min(70vw, 20rem); /* el valor menor entre el 40% del ancho de la ventana del navegador y 240px */
    text-align: center;
    padding: .5rem;
    text-decoration: none;
  }
  
  nav ul li a:hover {
    border-bottom: solid 3px hsl(0 0% 100% / 0.5);
    transition: all .3s;
  }



/* -------------------------- MAIN */
#encabezado00,
#encabezado01,
#encabezado02,
#encabezado03,
#encabezado04 {
  box-shadow:
  0px 10px 10px -20px rgba(0, 0, 0, 0.24);
  height: 11rem;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

#encabezado00 {
  background-image: url("../imagenes/00_fondo.jpg");
  height: 18rem;
}

#encabezado01 {
  background-image: url("../imagenes/01_fondo.jpg");
}

#encabezado02 {
  background-image: url("../imagenes/02_fondo.jpg");
}

#encabezado03 {
  background-image: url("../imagenes/03_fondo.jpg");
}

#encabezado04 {
  background-image: url("../imagenes/04_fondo.jpg");
}

.secciones {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
}

.secciones img {
  height: 4rem;
}

h1 {
font-size: 3em;
font-weight: 700;
  color:#ffffff;
}

h2 {
text-align: center;
font-weight: 400;
color: #ffffff;
}

#botonSeccion {
  background-color: #C3C3C3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#botonSeccion:hover {
  background-color: #C35D6B;
  color: #C3C3C3;
  transition: .5s;
}

#botonSeccion p:hover {
  color: #C3C3C3;
  transition: .5s;
}

#botonSeccion a:hover {
  color: #C3C3C3;
  transition: .5s;
}

#botonSeccion div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: .5em;
}

#botonSeccion p {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#botonSeccion img {
 width: 70%;
}

/* -------------------------- CONTENIDO */

/* clase para diferentes tí­tulos */
.titulo {
  border-block-end: 4px solid hsl(210 92% 30% / 95%); /* "subrayado" a todo lo ancho */
  padding-block-end: .35em; /* separa el "subrayado" del texto */
}

/* videos */

.video {
  border-radius: 5px;
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: auto;
    }

/* mapas */

.mapa img {
border-radius: 5px;
object-fit: cover;
object-position: left center;
width: 100%;
height: 100%;
  }

/* galeria de imagenes */

.galeria {
padding: 1em;
width: min(70em, 100%);
margin-inline: auto;
}

.las-imagenes {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(10em, 1fr));
gap: .25em;
}

.galeria figure {
border-radius: 5px;

aspect-ratio: 1; /* para que "figure" sea un cuadrado*/

/* para que cada "figure" sea origen de coordenadas de sus elementos contenidos */
position: relative;
/* para ocultar lo que "excede" sus límites */
overflow: hidden;
}

.galeria img {
/* para que la imagen "llene" la etiqueta "img" aun con otras porporciones */
object-fit: cover;
object-position: left center;
width: 100%;
height: 100%;
/* display: block; /* para que "desaparezca" el espacio que queda debajo de la imagen */
}

.galeria figcaption {
background-color: hsl(210 29% 44% / 0.5);
/* mix-blend-mode: hard-light; */
color: white;
padding: .5em;
line-height: 1em;
text-transform: uppercase;
font-weight: 700;

/* para superponer el epí­grafe sobre la foto */
position: absolute;
/* estirar para que ocupe todo figure */
inset: 0;
/* mover para que se vea apenas el "titulo" de la foto */
transform: translateY(calc(100% - 2em));
transition: all .6s ease;
}

/* propiedades de figcaption SÓLO cuando
el cursor se coloca encima de "figure" */
.galeria figure:hover figcaption {
background-color: hsl(280 15% 35% / 0.75);
transition: all .3s ease;

/* emplazamiento, 0 del borde superior */
transform: translateY(0);
/* grid */
display: grid;
/* texto centrado */
text-align: center;
place-items: center;
place-content: center;
/* relleno en linea 2 renglones */
padding-inline: 2em;
}

.galeria figcaption span {
display: block;
font-size: .75em;
color: #ddd;
margin-block-start: .5em;
text-transform: none;
}

.galeria figcaption a {
display: inline-block;
margin-block-start: .5em;
background-color: hsl(209 100% 35% / 0.5);
color: hsl(0 0% 90% / 0.85);
padding: .25em 1em;
border-radius: 2em;
}

.galeria figcaption a::after {
content: " ➜ ";
}

.galeria figcaption a:hover {
background-color: hsl(209 100% 35% / 0.95);
box-shadow: 0 .25em .25em hsl(0 0% 0% / 0.25);
color: hsl(0 0% 90%);
}


/* sección textos */

.textos {
padding-block-start: 2em;
}

.textos figcaption {
  margin-bottom: 1em;
}

.textos > *,
.textos p:not(:last-child) {
margin-block-end: 1em;
}

/* textos > artí­culos */

.articulos,
#final {
padding-block-start: 2em;
}

.textos article {
border: solid 1px hsl(198 100% 43%);
border-radius: 4px;
padding: 1em;
padding-block-start: 0;
margin-block-end: 1em;
}

.textos article h4 {
background-color: hsla(0 0% 100% / 0.85);
padding: 1em 0 .5em 0;
margin-block-end: 1em;

/* para salir del "flujo de información" del fondo 
y colocase en una capa superior "pegajosa" */
position: sticky;
/* emplazamiento a 5 renglones del borde superior */
top: 5em;
}

.tituloIcono {
  display: flex;
  flex-direction: row;
  align-items: center;
  position: sticky;
  top: 5em;
  background-color: hsla(0 0% 100% / 0.85);
}

.tituloIcono figure img {
  height: 3em;
  padding-right: 1em;
}

.tituloIcono h4
/* agrandarse para cubrir todo el sobrante del div */



/* ------------------ COMPONENTES INFERIORES */

/* footer */

footer {
  font-size: .75em;
}
footer >p:last-child {
  margin-block-end: 0;
}

/* -------------------------- MEDIA QUERIES */


/* cambios a partir de los 360px */
@media (min-width: 30em) {
}

/* cambios a partir de los 640px */
@media(min-width: 40em) {

  /* el menú deja de ser fijo */
  header nav {
    /* para que esté en capa superior pero que no parezca */
    position: relative;
  }
    
  /* botón "hamburguesa" oculto */
  .menu-btn {
    display: none;
  }

  /* menu visible */
  header nav ul,
  header .menuVisible ul {
    /* caja flexible para menu horizontal*/
    display: flex;
    /* separació entre sus elementos */
    gap: .25em;

    /* para que esté en capa superior pero que no parezca */
    position: relative;

    /* elimina desplazamiento */
    translate: 0;

    /* elimina fondo */
    background-color: unset;
  }
    
  /* items de lista  que contienen los vículos del menu */
  header nav ul li {
    min-width: 4em; /* que no midan menos de: */
  }

  /* vículos del menu principal */
  header nav ul li a {
    background-color: hsl(210 92% 30% / 95%);
    border-radius: .25em ;
    color: white;
    font-size: 1rem;
    width: auto;
    padding: .25em 1em;
    text-align: center;
    display: block; /* para que sean "cajas" */
    margin-block-end: unset;
    border-block-end: unset;
  }
  
  /* cuando el cursor se posiciona sobre los vículos */
  header nav ul li a:hover {
    background-color: white;
    color: hsl(198 100% 44%);
    border-block-end: unset;
  }
  

  /* para que "artículo 1" y "artí­culo 2"
  queden uno al lado del otro */
  .textos > .articulos {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1em;
  }

}

/* cambios a partir de los 800px */
@media(min-width: 50em) {

  .galeria {
    padding: 1em;
  }

  #encabezado01,
  #encabezado02,
  #encabezado03,
  #encabezado04 {
    height: 15rem;
    transition: .5s;
  }

  .secciones {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
  }

}

/* cambios a partir de los 1200px */
@media(min-width: 70em) {

  .galeria {
    margin-block-start: 1em;
    margin-block-end: 1em;
  }

}