
.slideshow{
    position:relative;
    margin-top:40px
}
.slideshow:last-child{
    margin-bottom:0
}
@media (min-width:595px){
    .slideshow{
        margin-top:50px
    }
}
@media (min-width:900px){
    .slideshow{
        margin-top:60px
    }
}
.slideshow__gallery{
    max-width:1050px;
    margin:20px auto 10px;
    position:relative
}
.slideshow__gallery .flickity-viewport{
    height:100%;
    padding-top:56%
}
.slideshow__gallery .flickity-slider{
    position:absolute;
    top:0;
    height:100%;
    width:100%
}
.slideshow__header{
    font-size:20px;
    line-height:18px
}
@media (min-width:595px){
    .slideshow__header{
        font-size:28px;
        line-height:32px
    }
}
.slideshow__description{
    margin:10px auto
}
@media (min-width:595px){
    .slideshow__description{
        margin:30px auto
    }
    .slideshow__description p{
        font-size:18px;
        line-height:28px
    }
}
.slideshow__slide{
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:stretch;
    flex-wrap:nowrap;
    position:relative;
    top:0;
    width:100%;
    height:100%;
    min-height:100%;
    background:center center no-repeat;
    background-size:cover
}
.slideshow__slide-content{
    height:100%
}
@media (min-width:595px){
    .slideshow__slide-content{
        display:flex;
        flex-direction:column;
        justify-content:flex-end;
        align-items:center;
        flex-wrap:nowrap;
        height:auto;
        min-height:150px;
        background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.6) 60%)
    }
}
.slideshow__slide p{
    transition:all 400ms ease;
    color:#fff;
    padding:20px 40px;
    font-size:14px;
    line-height:21px;
    font-style:italic;
    height:0;
    opacity:0
}
@media (min-width:595px){
    .slideshow__slide p{
        height:auto;
        width:100%;
        opacity:1;
        position:relative;
        z-index:5
    }
}
.slideshow__slide .caption-button{
    display:block;
    position:absolute;
    bottom:10px;
    right:10px;
    z-index:10;
    transition:transform 400ms ease;
    line-height:1
}
.slideshow__slide .caption-button .icon{
    height:24px;
    width:24px
}
@media (min-width:595px){
    .slideshow__slide .caption-button{
        display:none
    }
}
.slideshow__slide.caption-open p{
    transition:opacity 300ms ease;
    height:100%;
    opacity:1;
    z-index:5;
    padding:20px 60px;
    overflow-y:scroll;
    background:rgba(0,0,0,.8)
}
.slideshow__slide.caption-open p:after{
    content:'';
    position:absolute;
    right:0;
    bottom:0;
    left:0;
    height:30px;
    background:linear-gradient(180deg,transparent 0%,#000 65%);
    opacity:.6
}
.slideshow__slide.caption-open .caption-button{
    transform:translateY(-145px) rotate(180deg);
    transition:transform 400ms ease
}
.slideshow__thumbnails{
    max-width:1050px;
    margin:0 auto
}
.slideshow__thumbnails:focus{
    border:0;
    outline:0
}
.slideshow__thumbnails .-thumbnail{
    width:50px;
    height:50px;
    background:center center no-repeat;
    background-size:cover
}
.slideshow__thumbnails .-thumbnail+.-thumbnail{
    margin-left:10px
}
@media (min-width:595px){
    .slideshow__thumbnails .-thumbnail{
        width:80px;
        height:80px
    }
    .slideshow__thumbnails .-thumbnail+.-thumbnail{
        margin-left:15px
    }
}
.slideshow__thumbnails .is-nav-selected:before{
    content:'';
    position:absolute;
    top:6px;
    left:6px;
    right:6px;
    bottom:6px;
    border:solid 2px #fff
}
.slideshow__thumbnails .is-nav-selected:after{
    content:'';
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    border:solid 6px #00aff0
}
.slideshow__button.-icon{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    line-height:1
}
.slideshow__button.-icon .icon{
    width:44px;
    height:44px
}
@media (min-width:595px){
    .slideshow__button.-icon .icon{
        width:64px;
        height:64px
    }
}
.slideshow__button.-icon.-previous{
    left:10px;
    margin:0
}
@media (min-width:595px){
    .slideshow__button.-icon.-previous{
        left:20px
    }
}
.slideshow__button.-icon.-next{
    right:10px;
    margin:0
}
@media (min-width:595px){
    .slideshow__button.-icon.-next{
        right:20px
    }
}
.slideshow .flickity-viewport{
    overflow:hidden;
    position:relative
}