.carousel {
    position: relative;
    z-index: 10;
    height: 400px;
    overflow: hidden;
    *zoom: 1;
}

@media only screen and (min-width: 768px) {
    .carousel {
        height: 510px;
    }
}

.carousel .transparent {
    visibility: hidden;
    opacity: 0;
    width: 100%;
}

.carousel .carousel__prev, .carousel .carousel__next {
    position: absolute;
    top: 50%;
    z-index: 20;
    width: 50px;
    height: 50px;
    margin-top: -50px;
    background: white;
    display: none;
}

@media only screen and (min-width: 600px) {
    .carousel .carousel__prev, .carousel .carousel__next {
        display: block;
    }
}

.carousel--single .carousel__prev, .carousel--single .carousel__next {
    display: none;
}

.carousel .carousel__prev svg, .carousel .carousel__next svg {
    position: absolute;
    fill: #000000;
    top: 50%;
    left: 50%;
    width: 26px;
    height: 27px;
    margin-top: -14px;
}

.carousel .carousel__prev svg {
    margin-left: -15px;
}

.carousel .carousel__next svg {
    margin-left: -11px;
}

.carousel .carousel__prev {
    left: 0;
    -ms-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.carousel .carousel__next {
    right: 0;
}

.carousel .carousel__next svg {}

.carousel .carousel__slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: 0;
    overflow: hidden;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

@media only screen and (min-width: 1024px) {
    .no-touch .carousel--fixed .carousel__slide {
        background-attachment: fixed;
    }
}

.carousel .carousel__slide.active {
    opacity: 1;
    z-index: 1;
}

.carousel.fade .carousel__slide {
    -moz-transition: opacity 1s linear;
    -o-transition: opacity 1s linear;
    -webkit-transition: opacity 1s linear;
    transition: opacity 1s linear;
}

.carousel.zoom .carousel__slide {
    -moz-transform: scale(1.4, 1.4);
    -ms-transform: scale(1.4, 1.4);
    -webkit-transform: scale(1.4, 1.4);
    transform: scale(1.4, 1.4);
    -moz-transition: opacity 1s linear, -moz-transform 1s linear;
    -o-transition: opacity 1s linear, -o-transform 1s linear;
    -webkit-transition: opacity 1s linear, -webkit-transform 1s linear;
    transition: opacity 1s linear, transform 1s linear;
}

.carousel.zoom .carousel__slide.active {
    -moz-transition: opacity 1s linear;
    -o-transition: opacity 1s linear;
    -webkit-transition: opacity 1s linear;
    transition: opacity 1s linear;
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
}

.carousel .carousel__slide__content {
    background: rgba(0, 0, 0, 0.55);
    position: absolute;
    z-index: 20;
    bottom: 0;
    left: 0;
    width: 100%;
    text-transform: uppercase;
}

.carousel .carousel__slide__content, .carousel .carousel__slide__content * {
    color: white;
}

.carousel__navigation {
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
}

.carousel__navigation ol {
    display: block;
    text-align: center;
}

.carousel__navigation ol,
.carousel__navigation li {
    list-style: none;
    list-style-type: none;
}

.carousel__navigation li {
    display: inline-block;
    margin-left: 5px;
}

.carousel__navigation li:first-child {
    margin-left: 0;
}

.carousel__navigation a {
    position: relative;
    z-index: 1;
    display: block;
    height: 100%;
}

.carousel__navigation a svg {
    width: 16px;
    height: 16px;
}

.carousel__navigation .active a {
    color: red;
}