.flickity-viewport,.class-slide{
    -webkit-transition: height 490ms;
    -moz-transition: height 490ms;
    -ms-transition: height 490ms;
    -o-transition: height 490ms;
    transition: height 490ms;
}
.class-slide {
    height: auto;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    overflow: hidden;
}

.slide-title, .details h2 {
    margin-left: -15px;
    margin-right: -15px;
    padding: 0 15px;
    background: #c03e3e80;
    color: #fff;
    margin-top:0;

}

.slide-title {
    position: absolute;
    bottom: 0;
    width: 100%;
}
.details,.slide-title{
    -webkit-transition: opacity 1s;
    -moz-transition: opacity 1s;
    -ms-transition: opacity 1s;
    -o-transition: opacity 1s;
    transition: opacity 1s;
}


.details {
    background: rgba(0, 0, 0, 0.92);
    color: #fff;
    padding: 15px;
    position: relative;
    top: 0;
    width: 100%;
    left: 0;
    height: 100%;
    opacity: 0;
}

.class-slide.is-selected .details {
    opacity: 1
}
.class-slide.is-selected .slide-title {
    opacity:0
}

.class-slide .details .btn-style{
    margin-bottom:0;
    margin-top:10px;
    min-width: 200px;
    font-size: 20px;
    width: 200px;
}

.classes-helper {
    opacity: .8;
    font-style: italic;
    position: relative;
    text-align: center;
    width: 100%;
    margin-top: -11px;
}

@media screen and (max-width: 767px) {
    .class-slide h2 {
        margin-top: 0;
    }

    .class-carousel .flickity-prev-next-button {
        top: 108%;
        width: 30px;
        height: 30px;
        z-index: 5000;
        background-color: unset;
    }

    .class-carousel .flickity-prev-next-button.previous {
        left: 25%;
    }

    .class-carousel .flickity-prev-next-button.next {
        right: 25%;
    }

    .class-carousel .flickity-page-dots {
        position: relative;
        bottom: -41px;
    }

    .classes-helper {
        margin-top: -11px;
    }
}

@media screen and (min-width: 768px) {
    .details {
        position: absolute;
        padding: 18px 23px 23px;

    }
    .class-slide {
        height: 0;
        padding-top: 38%;
    }

    .class-carousel .flickity-page-dots {
        position: relative;
        bottom: -35px;
    }

}
