/** Stage container **/

.connected-carousels .stage {
    width: 100%;
    /*width: 520px;*/
    position: relative;
    background: url("../images/product-background-left.png") no-repeat scroll right bottom transparent;
}

/** Navigation container **/

.connected-carousels .navigation {
    position: relative;
    padding: 0 40px;
    width: 282px;
}

/** Shared carousel styles **/

.connected-carousels .carousel {
    overflow: hidden;
    position: relative;
}

.connected-carousels .carousel ul {
    width: 20000em;
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
}

.connected-carousels .carousel li {
    float: left;
    width: 412px;
    /*height: 287px;*/
    white-space: nowrap;
    text-align: center;
    -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box;    /* Firefox, other Gecko */
    box-sizing: border-box;         /* Opera/IE 8+ */
}
.connected-carousels .carousel li a > img {
    vertical-align: middle;
    /*max-height: 287px;*/
    max-width: 100%;
}

/** Stage carousel specific styles **/

.connected-carousels .carousel-stage {
    /*width: 412px;*/
    width: 80%;
}

/** Navigation carousel specific styles **/

.connected-carousels .carousel-navigation {
    height: 72px;
}

.connected-carousels .carousel-navigation li {
    cursor: pointer;
    width: 84px;
    height: 56px;
    overflow: hidden;
    border: 1px solid #d7d7d7;
    -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box;    /* Firefox, other Gecko */
    box-sizing: border-box;         /* Opera/IE 8+ */
    padding: 5px;
    margin: 0 5px;
    -webkit-box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.05);
    -moz-box-shadow:    0px 2px 0px 0px rgba(0, 0, 0, 0.05);
    box-shadow:         0px 2px 0px 0px rgba(0, 0, 0, 0.05);
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

.helper {
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

.connected-carousels .carousel-navigation li img {
    vertical-align: middle;
    max-height: 70px;
    max-width: 95px;
}

.connected-carousels .carousel-navigation li.active {
    border: 1px solid #00afef;
}

/** Stage carousel controls **/

.connected-carousels .prev-stage,
.connected-carousels .next-stage {
    display: block;
    position: absolute;
    top: 0;
    width: 50%;
    height: 370px;
    color: #fff;
}

.connected-carousels .prev-stage {
    left: 0;
}

.connected-carousels .next-stage {
    right: 0;
}

.connected-carousels .prev-stage.inactive,
.connected-carousels .next-stage.inactive {
    display: none;
}

.connected-carousels .prev-stage span,
.connected-carousels .next-stage span {
    display: none;
    position: absolute;
    top: 30%;
    width: 20px;
    height: 130px;
    text-align: center;
    background: #f2f2f2;
    color: #fff;
    text-decoration: none;
    font: bold 30px/130px Arial, sans-serif;
}

.connected-carousels .prev-stage span {
    left: 0;
}

.connected-carousels .next-stage span {
    right: 0;
}

.connected-carousels .prev-stage:hover span,
.connected-carousels .next-stage:hover span {
    display: block;
}

/** Navigation carousel controls **/

.connected-carousels .prev-navigation,
.connected-carousels .next-navigation {
    display: block;
    position: absolute;
    z-index: 100;
    width: 10px;
    height: 17px;
    top: 0;
    text-indent: 6px;
    top: 20px;
}

.connected-carousels .prev-navigation {
    left: 20px;
    background: url("../images/gallery-controls.png") no-repeat scroll 0 -34px transparent;
}

.connected-carousels .next-navigation {
    right: 20px;
    background: url("../images/gallery-controls.png") no-repeat scroll 0 0 transparent;
}

.connected-carousels .prev-navigation.inactive,
.connected-carousels .next-navigation.inactive {
    cursor: default;
}
@media only screen and (max-width: 1200px) {
    .connected-carousels .carousel-stage,
    .connected-carousels .stage .carousel li {
        width: 362px;
    }
}
@media only screen and (max-width: 920px) {
    .connected-carousels .carousel-stage,
    .connected-carousels .stage .carousel li {
        width: 312px;
    }
}
@media only screen and (max-width: 840px) {
    .connected-carousels .carousel-stage,
    .connected-carousels .stage .carousel li {
        width: 262px;
    }
}
@media only screen and (max-width: 800px) {
    .connected-carousels .carousel-stage,
    .connected-carousels .stage .carousel li {
        width: 412px;
    }
    .connected-carousels .stage {
        width: 520px;
        margin: 0 auto;
    }
    .connected-carousels .navigation {
        margin: 0 auto;
    }
}
@media only screen and (max-width: 520px) {
    .connected-carousels .stage {
        width: 100%;
    }
}
@media only screen and (max-width: 480px) {
    .connected-carousels .carousel-stage,
    .connected-carousels .stage .carousel li {
        width: 362px;
    }
}
@media only screen and (max-width: 420px) {
    .connected-carousels .carousel-stage,
    .connected-carousels .stage .carousel li {
        width: 312px;
    }
}
@media only screen and (max-width: 380px) {
    .connected-carousels .carousel-stage,
    .connected-carousels .stage .carousel li {
        width: 262px;
    }
}
@media only screen and (max-width: 360px) {
    .connected-carousels .carousel-stage,
    .connected-carousels .stage .carousel li {
        width: 212px;
    }
    .connected-carousels .navigation {
        padding: 0 15px;
        width: 270px;
    }
    .connected-carousels .carousel-navigation li {
        width: 80px;
    }
    .connected-carousels .prev-navigation {
        left: 5px;
    }
    .connected-carousels .next-navigation {
        right: 5px;
    }
}