@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

*{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0;
    outline: none;
    list-style: none;
    text-decoration: none;
}

html{
    scroll-behavior: smooth;
    scroll-padding-block-start: 5em;
}

body{
    font-family: 'Montserrat', sans-serif;
    min-height: 100vh;
}

h1, h2, h3, h4, h5, h6, p{
    margin-block-end: 1em;
}

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

.contenedora{
    width: min(60rem, 100%);
    margin-inline: auto;
    padding: 2rem;
}

/* encabezado */
header{
    background-color: #43745c;
    box-shadow: 0 4px 2px hsl(0 0% 0% / 0.25);
    position: sticky;
    top: 0;
    z-index: 8000;
}

header .contenedora{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

header .inicio{
    font-size: 1.4em;
    font-weight: 600;
    line-height: 1em;
    color: white;
}

/* menu */
.menu{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.menu-btn {
    background: #1e4331;
    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;
    position: fixed;
    top: 1.5em;
    right: 1.5em;
    z-index: 9000;
}

.menu-btn .btn-linea {
    width: 25px;
    height: 3px;
    margin: 4px 0 4px 0;
    background: hsl(0 0% 90%);
    transition: all 0.3s ease-out;
    position: relative;
    z-index: 9000;
}

.menuVisible .menu-btn .btn-linea {
    transform: rotate(180deg);
}

.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);
}

nav ul {
  background-color: #1d4230bd;
  display: grid;
  place-items: center;
  place-content: center;
  position: fixed;
  inset: 0;
  z-index: 8000;
  translate: 100%;
  transition: all .6s ease;
}

.menuVisible ul {
    background-color: #1d4230bd;
    transition: all .4s ease;
    translate: 0;
}

nav ul li a {
    border-bottom: solid 3px hsl(0 0% 100% / 0.2);
    color: white;
    display: block;
    font-size: 1.5rem;
    margin-block-end: .5rem;
    width: min(70vw, 20rem);
    text-align: center;
    padding: .5rem;
    text-decoration: none;
}
    
nav ul li a:hover {
    font-weight: 700;
    border-bottom: solid 4px hsl(0 0% 100% / 0.6);
    box-shadow: 0 .25em .25em hsl(0 0% 0% / 0.25);
    transition: all .3s;
}

/* imagen fondo */
.img_fondo{
    margin: 0;
    padding: 0;
    overflow: hidden;
    display: grid;
    grid-template-rows: 1fr auto;
    grid-template-columns: 1fr;
}

.img_fondo :is(img, picture) {
    width: 100%;
    grid-column: 1 / 2;
    grid-row: 1 / 3;
}

/*redes sociales*/
.redes_sociales{
    display: flex;
    flex-wrap: wrap;
    background-color: #c2bbb7;
}

.biblioteca{
    margin-bottom: 0;
    flex: 0 0 100%;
    width: 100%;
    position: relative;
    min-height: 1px;
    padding-left: 15px;
    padding-right: 15px;
}

.biblioteca ul li{
    float: left;
}

.redes_boton li a{
    display: block;
    height: 40px;
    width: 40px;
    border-radius: 50%;
    line-height: 55px;
}

/* color fondo */
main{
    background-color: #ece5e1;
}

/* info */
h1{
    text-align: center;
    font-size: 2em;
    font-weight: 300;
    color: #072416;
    border-block-end: solid 4px;
    padding-block-start: 0.6em;
    padding-block-end: 0.4em;
}

.video{
    width: 100%;
    max-width: 600px;
    height: 340px;
    margin: 2px auto 0;
}

.video video{
    width: 100%;
}

.datos_museo{
    display: grid;
    grid-template-columns: repeat(auto, minmax(min(10rem, 100%), 1fr));
    gap: 1rem;
}

.datos{
    background-color: #93afa2;
    color: #1e4331;
    border-radius: 20px;
    padding: 20px;
}

.datos h4{
    text-align: center;
    font-size: 2em;
    font-weight: 700;
    color: white;
    border-block-end: solid 2px;
    padding-block-start: 1rem;
    padding-block-end: 0.2rem;
}

.datos h5{
    text-align: center;
    font-size: 1.2em;
    font-weight: 600;
}

.datos p{
    text-align: center;
    font-size: 1em;
    font-weight: 400;
}

/* exposiciones */
h2{
    text-align: center;
    font-size: 1.8em;
    font-weight: 700;
    color: #072416;
    border-block-end: solid 3px;
    padding-block-start: 0.2em;
    padding-block-end: 0.4em;
}

.exposiciones figure{
    position: relative;
    overflow: hidden;
}

.exposiciones img{
    object-fit: cover;
    object-position: left center;
    width: 100%;
    height: 100%;
    display: block;
}

.expo{
    width: 100%;
    display: grid;
    grid-template-columns: repeat(auto, minmax(min(10rem, 100%), 1fr));
    gap: 1rem;
}

.exposiciones figcaption{
    background-color: #355f4bbd;
    color: white;
    padding: .5em;
    line-height: 1em;
    text-transform: uppercase;
    font-weight: 700;
    position: absolute;
    inset: 0;
    transform: translateY(calc(100% - 2em));
    transition: all .6s ease;
}

.exposiciones figure:hover figcaption{
    background-color: #355f4bbd;
    transition: all .3s ease;
    transform: translateY(0);
    display: grid;
    text-align: center;
    place-items: center;
    place-content: center;
    padding-inline: 2em;
}

.exposiciones figcaption span{
    display: block;
    font-size: .80em;
    color: white;
    margin-block-start: .5em;
    text-transform: none;
    font-weight: 300;
}

.exposiciones figcaption a{
    display: inline-block;
    margin-block-start: .5em;
    background-color: #1e4331;
    color: #ffffffbe;
    padding: .25em 1em;
    border-radius: 2em;
    font-weight: 500;
}

.exposiciones figcaption a:hover{
    background-color: #072416;
    box-shadow: 0 .25em .25em hsl(0 0% 0% / 0.25);
    color: white;
    font-weight: 700;
}

/* talleres */
.talleres figure{
    position: relative;
    overflow: hidden;   
}

.talleres img{
    object-fit: cover;
    object-position: left center;
    width: 100%;
    height: 100%;
    display: block;
}

.taller{
    width: 100%;
    display: grid;
    grid-template-columns: repeat(auto, minmax(min(10rem, 100%), 1fr));
    gap: 1rem;
    padding-block-end: 1rem;
}

.talleres figcaption{
    background-color: #355f4bbd;
    color: white;
    padding: .5em;
    line-height: 1em;
    text-transform: uppercase;
    font-weight: 700;
    position: absolute;
    inset: 0;
    transform: translateY(calc(100% - 2em));
    transition: all .6s ease;
}

.talleres figure:hover figcaption{
    background-color: #355f4bbd;
    transition: all .3s ease;
    transform: translateY(0);
    display: grid;
    text-align: center;
    place-items: center;
    place-content: center;
    padding-inline: 2em;
}

.talleres figcaption span{
    display: block;
    font-size: .80em;
    color: white;
    margin-block-start: .5em;
    text-transform: none;
    font-weight: 300;
    line-height: 1.2rem;
}

.talleres figcaption a{
    display: inline-block;
    margin-block-start: .5em;
    background-color: #1e4331;
    color: #ffffffbe;
    padding: .25em 1em;
    border-radius: 2em;
    font-weight: 500;
}

.talleres figcaption a:hover{
    background-color: #072416;
    box-shadow: 0 .25em .25em hsl(0 0% 0% / 0.25);
    color: white;
    font-weight: 700;
}

/* pie de pagina */
footer{
    background-color: #43745c;
    color: white;
}

footer .contenedora{
    text-align: center;
    font-size: 0.80rem;
    font-weight: 200;
    line-height: 1.4rem;
}

footer p{
    margin-block-end: 0;
}

/* 640px */
@media(min-width: 40em) {

    header nav {
        position: relative;
    }
        
    .menu-btn {
        display: none;
    }
    
    header nav ul, header .menuVisible ul {
        display: flex;
        gap: .60em;
        position: relative;
        translate: 0;
        background-color: unset;
    }
        
    header nav ul li {
        min-width: 7em; 
    }
    
    header nav ul li a {
        background-color: #1d4230bd;
        border-radius: .90em ;
        color: white;
        font-size: 1rem;
        width: auto;
        padding: .25em 1em;
        text-align: center;
        display: block;
        margin-block-end: unset;
        border-block-end: unset;
    }
      
    header nav ul li a:hover {
        background-color: #072416;
        color: white;
        border-block-end: unset;
    }

    .video{
        width: 100%;
        max-width: 600px;
        height: 380px;
        margin: 4px auto 0;
    }
    
    .video video{
        width: 100%;
    }

    h1{
        font-size: 2.2em;
        line-height: 1.4em;
    }

    h2{
        font-size: 2em;
    }
}

/* 800px */
@media(min-width: 50em) {
    
    header nav {
        position: relative;
    }
        
    .menu-btn {
        display: none;
    }
    
    header nav ul, header .menuVisible ul {
        display: flex;
        gap: .60em;
        position: relative;
        translate: 0;
        background-color: unset;
    }
        
    header nav ul li {
        min-width: 7em; 
    }
    
    header nav ul li a {
        background-color: #1d4230bd;
        border-radius: .90em ;
        color: white;
        font-size: 1rem;
        width: auto;
        padding: .25em 1em;
        text-align: center;
        display: block;
        margin-block-end: unset;
        border-block-end: unset;
    }
      
    header nav ul li a:hover {
        background-color: #072416;
        color: white;
        border-block-end: unset;
    }

    h1{
        text-align: center;
        font-size: 2em;
        font-weight: 300;
        color: #072416;
        border-block-end: solid 4px;
        padding-block-start: 0.6em;
        padding-block-end: 0.4em;
    }

    .video{
        width: 100%;
        max-width: 600px;
        height: 380px;
        margin: 4px auto 0;
    }
    
    .video video{
        width: 100%;
    }

    .datos_museo{
        display: grid;
        grid-template-columns: repeat(3, minmax(min(10rem, 100%), 1fr));
        gap: 1rem;
    }
    
    .datos{
        background-color: #93afa2;
        color: #1e4331;
        border-radius: 20px;
        padding: 20px;
    }
    
    .datos h4{
        text-align: center;
        font-size: 1.8em;
        font-weight: 700;
        color: white;
        border-block-end: solid 2px;
        padding-block-start: 1rem;
        padding-block-end: 0.2rem;
    }
    
    .datos h5{
        text-align: center;
        font-size: 1em;
        font-weight: 600;
    }
    
    .datos p{
        text-align: center;
        font-size: 0.65em;
        font-weight: 400;
    }
    
    /* exposiciones */
    h2{
        text-align: center;
        font-size: 1.8em;
        font-weight: 700;
        color: #072416;
        border-block-end: solid 3px;
        padding-block-start: 0.4em;
        padding-block-end: 0.4em;
    }
    
    .exposiciones figure{
        position: relative;
        overflow: hidden;
    }
    
    .exposiciones img{
        object-fit: cover;
        object-position: left center;
        width: 100%;
        height: 100%;
        display: block;
    }
    
    .expo{
        width: 100%;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 1rem;
    }
    
    .exposiciones figcaption{
        background-color: #355f4bbd;
        color: white;
        padding: .5em;
        line-height: 1em;
        text-transform: uppercase;
        font-weight: 700;
        position: absolute;
        inset: 0;
        transform: translateY(calc(100% - 2em));
        transition: all .6s ease;
    }
    
    .exposiciones figure:hover figcaption{
        background-color: #355f4bbd;
        transition: all .3s ease;
        transform: translateY(0);
        display: grid;
        text-align: center;
        place-items: center;
        place-content: center;
        padding-inline: 2em;
    }
    
    .exposiciones figcaption span{
        display: block;
        font-size: .65em;
        color: white;
        margin-block-start: .5em;
        text-transform: none;
        font-weight: 300;
    }
    
    .exposiciones figcaption a{
        display: inline-block;
        margin-block-start: .5em;
        background-color: #1e4331;
        color: #ffffffbe;
        padding: .25em 1em;
        border-radius: 2em;
        font-weight: 500;
    }
    
    .exposiciones figcaption a:hover{
        background-color: #072416;
        box-shadow: 0 .25em .25em hsl(0 0% 0% / 0.25);
        color: white;
        font-weight: 700;
    }
    
    /* talleres */
    .talleres figure{
        position: relative;
        overflow: hidden;   
    }
    
    .talleres img{
        object-fit: cover;
        object-position: left center;
        width: 100%;
        height: 100%;
        display: block;
    }
    
    .taller{
        width: 100%;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 1rem;
        padding-block-end: 4rem;
    }
    
    .talleres figcaption{
        background-color: #355f4bbd;
        color: white;
        padding: .5em;
        line-height: 1em;
        text-transform: uppercase;
        font-weight: 700;
        position: absolute;
        inset: 0;
        transform: translateY(calc(100% - 2em));
        transition: all .6s ease;
    }
    
    .talleres figure:hover figcaption{
        background-color: #355f4bbd;
        transition: all .3s ease;
        transform: translateY(0);
        display: grid;
        text-align: center;
        place-items: center;
        place-content: center;
        padding-inline: 2em;
    }
    
    .talleres figcaption span{
        display: block;
        font-size: .70em;
        color: white;
        margin-block-start: .5em;
        text-transform: none;
        font-weight: 300;
        line-height: 1.2rem;
    }
    
    .talleres figcaption a{
        display: inline-block;
        margin-block-start: .5em;
        background-color: #1e4331;
        color: #ffffffbe;
        padding: .25em 1em;
        border-radius: 2em;
        font-weight: 500;
    }
    
    .talleres figcaption a:hover{
        background-color: #072416;
        box-shadow: 0 .25em .25em hsl(0 0% 0% / 0.25);
        color: white;
        font-weight: 700;
    }
}

/* 1200px */
@media(min-width: 75em) {

    header nav {
        position: relative;
    }
        
    .menu-btn {
        display: none;
    }
    
    header nav ul, header .menuVisible ul {
        display: flex;
        gap: .60em;
        position: relative;
        translate: 0;
        background-color: unset;
    }
        
    header nav ul li {
        min-width: 7em; 
    }
    
    header nav ul li a {
        background-color: #1d4230bd;
        border-radius: .90em ;
        color: white;
        font-size: 1rem;
        width: auto;
        padding: .25em 1em;
        text-align: center;
        display: block;
        margin-block-end: unset;
        border-block-end: unset;
    }
      
    header nav ul li a:hover {
        background-color: #072416;
        color: white;
        border-block-end: unset;
    }  

    .datos_museo{
        display: grid;
        grid-template-columns: repeat(3, minmax(min(10rem, 100%), 1fr));
        gap: 1rem;
    }
    
    .datos{
        background-color: #93afa2;
        color: #1e4331;
        border-radius: 20px;
        padding: 20px;
    }
    
    .datos h4{
        text-align: center;
        font-size: 2em;
        font-weight: 700;
        color: white;
        border-block-end: solid 2px;
        padding-block-start: 1rem;
        padding-block-end: 0.2rem;
    }
    
    .datos h5{
        text-align: center;
        font-size: 1em;
        font-weight: 600;
    }
    
    .datos p{
        text-align: center;
        font-size: 0.85em;
        font-weight: 400;
    }

    .video{
        width: 100%;
        max-width: 800px;
        height: 480px;
        margin: 4px auto 0;
    }
    
    .video video{
        width: 100%;
    }
    
    /* info */
    h1{
        text-align: center;
        font-size: 2.4em;
        font-weight: 300;
        color: #072416;
        border-block-end: solid 4px;
        padding-block-start: 1em;
        padding-block-end: 0.4em;
    }
    
    /* exposiciones */
    h2{
        text-align: center;
        font-size: 2em;
        font-weight: 700;
        color: #072416;
        border-block-end: solid 3px;
        padding-block-start: 0.4em;
        padding-block-end: 0.4em;
    }
    
    .exposiciones figure{
        position: relative;
        overflow: hidden;
    }
    
    .exposiciones img{
        object-fit: cover;
        object-position: left center;
        width: 100%;
        height: 100%;
        display: block;
    }
    
    .expo{
        width: 100%;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 1rem;
    }
    
    .exposiciones figcaption{
        background-color: #355f4bbd;
        color: white;
        padding: .5em;
        line-height: 1em;
        text-transform: uppercase;
        font-weight: 700;
        position: absolute;
        inset: 0;
        transform: translateY(calc(100% - 2em));
        transition: all .6s ease;
    }
    
    .exposiciones figure:hover figcaption{
        background-color: #355f4bbd;
        transition: all .3s ease;
        transform: translateY(0);
        display: grid;
        text-align: center;
        place-items: center;
        place-content: center;
        padding-inline: 2em;
    }
    
    .exposiciones figcaption span{
        display: block;
        font-size: .85em;
        color: white;
        margin-block-start: .5em;
        text-transform: none;
        font-weight: 300;
    }
    
    .exposiciones figcaption a{
        display: inline-block;
        margin-block-start: .5em;
        background-color: #1e4331;
        color: #ffffffbe;
        padding: .25em 1em;
        border-radius: 2em;
        font-weight: 500;
    }
    
    .exposiciones figcaption a:hover{
        background-color: #072416;
        box-shadow: 0 .25em .25em hsl(0 0% 0% / 0.25);
        color: white;
        font-weight: 700;
    }
    
    /* talleres */
    .talleres figure{
        position: relative;
        overflow: hidden;   
    }
    
    .talleres img{
        object-fit: cover;
        object-position: left center;
        width: 100%;
        height: 100%;
        display: block;
    }
    
    .taller{
        width: 100%;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 1rem;
        padding-block-end: 4rem;
    }
    
    .talleres figcaption{
        background-color: #355f4bbd;
        color: white;
        padding: .5em;
        line-height: 1em;
        text-transform: uppercase;
        font-weight: 700;
        position: absolute;
        inset: 0;
        transform: translateY(calc(100% - 2em));
        transition: all .6s ease;
    }
    
    .talleres figure:hover figcaption{
        background-color: #355f4bbd;
        transition: all .3s ease;
        transform: translateY(0);
        display: grid;
        text-align: center;
        place-items: center;
        place-content: center;
        padding-inline: 2em;
    }
    
    .talleres figcaption span{
        display: block;
        font-size: .85em;
        color: white;
        margin-block-start: .5em;
        text-transform: none;
        font-weight: 300;
        line-height: 1.2rem;
    }
    
    .talleres figcaption a{
        display: inline-block;
        margin-block-start: .5em;
        background-color: #1e4331;
        color: #ffffffbe;
        padding: .25em 1em;
        border-radius: 2em;
        font-weight: 500;
    }
    
    .talleres figcaption a:hover{
        background-color: #072416;
        box-shadow: 0 .25em .25em hsl(0 0% 0% / 0.25);
        color: white;
        font-weight: 700;
    }
}