.overlay{
    position: fixed;
    left: 0;
    top:0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0,0,0,.5);
    z-index:10000;
    display:flex;
    justify-content:center;
    align-items:center;
    transition: all .7s ease;
    visibility: hidden;
    opacity: 0;
}

.overlay .slideshow{
    width: 90%;
    height: 90%;
    background-color: rgba(255,255,255,.9);
    color: #000;
    position: relative;
    display: flex;
    justify-content: center;
}

.slideshow img{
    height: 100%;
    width: 100%;
    object-fit: contain;
}

.btn_cerrar{
    position: absolute;
    top: -15px;
    right: -15px;
    font-size: 35px;
    background-color: rgba(0,0,0,.7);
    color: #fff;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px;
    transition: all .2s ease;
}

.btn_cerrar:hover{
    transform:scale(1.2);
    cursor: pointer;
}

.botones{
    width: 70px;
    height: 70px;
    border-radius: 50%;
    color:#000;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 70px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    color: #c00000;
}

.botones:hover > i{
transform: scale(1.1);
transition: all .2s ease;
}

.atras{
    left: 20px;
}

.adelante{
    right: 20px;
}

.mdi{
    pointer-events: none;
}

@media screen and (max-width:800px){
    .columna{
        flex:50%;
        max-width: 50%;
    }
    .botones{
        font-size: 55px;
    }
    .atras{
        left: 5px;
    }
    .adelante{
        right: 5px;
    }
    .slideshow img{
        width: 98%;
    }
}

/* Reserve a separate row for the caption inside the viewer. */
.overlay { height: 100vh; height: 100dvh; box-sizing: border-box; padding: 24px 0; }
.overlay .slideshow { height: 100%; max-height: 100%; min-height: 0; }
.overlay .gallery-viewer-figure {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    margin: 0;
    overflow: hidden;
    box-sizing: border-box;
}
.overlay .gallery-viewer-figure img {
    display: block;
    min-width: 0;
    min-height: 0;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: scale-down;
}
.overlay .gallery-image-description {
    display: block;
    position: static;
    box-sizing: border-box;
    width: 100%;
    max-height: 30vh;
    overflow-y: auto;
    margin: 0;
    padding: 16px 24px;
    background: #fff;
    color: #222;
    text-align: center;
    font-size: 16px;
    line-height: 1.5;
    white-space: normal;
    overflow-wrap: anywhere;
}
.overlay .gallery-image-description:empty { display: none; }
.overlay .botones, .overlay .btn_cerrar { z-index: 1; }
@media screen and (max-width: 800px) {
    .overlay { padding: 24px 0; }
    .overlay .gallery-image-description { padding: 14px 18px; font-size: 14px; }
}