
/* By default we're hiding items (except the initial one) until the JS initiates. Elements are absolutely positioned with a width of 100% (as we're styling for mobile first), letting the content's height dictate the height of the carousel. Our magic property here for all our animation needs is 'transition', taking the properties we wish to animate 'transform' and 'opacity', along with the length of time in seconds. */
.carousel__photo {
    opacity: 0;
    position: absolute;
    top: 0;
    width: 280px;
    height: 230px;
    margin: auto;
    /*padding: 1rem 4rem;*/
    padding: 0 1rem 4rem 1rem;
    z-index: 100;
    transition: transform .5s, opacity .5s, z-index .5s;
}

.carousel-card-image {
    top: 8px;
    left: 160px;
    width: 210px;
    height: 210px;
    position: absolute;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain !important;
    background-color: white;
}

.carousel-card-price {
    top: 55px;
    left: -125px;
    font-weight: 700;
    position: absolute;
    width: 100px;
    font-family: Bogle;
    height: 20px;
    font-size: 22px;
    width: 95%;
}

.carousel-card-title-with-rollback, .carousel-card-title-no-rollback {
    top: 5px;
    left: -125px;
    position: absolute;
    font-family: Bogle;
    overflow: hidden;
    width: 266px;
    font-size: 16px;
    line-height: 1;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
}

.carousel-card-features {
    top: 35px;
    left: -125px;
    position: absolute;
    font-family: Bogle;
    color: #383838;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    width: 95%;
    font-size: 15px;
}


.carousel-card-rollbak-img {
    top: 90px;
    left: -129px;
    position: absolute;
}

#adContainer {
    width : 968px;
    height : 248px;
}

#carouselContainer {
    width :550px;
    height :244px;
    top :0px;
    right :0px;
    position :absolute;
    overflow :hidden;
}


@font-face {
    font-family: 'Bogle';
    src: url('subset-Bogle-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Bogle';
    src: url('subset-Bogle-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@keyframes fadeInAnimation {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fadeOutAnimation {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}
@keyframes leftButtonAnimation {
    0%, 100% {
        transform: translateX(0px);
    }
    50% {
        transform: translateX(10px);
    }
}
@keyframes rightButtonAnimation {
    0%, 100% {
        transform: translateX(0px);
    }
    50% {
        transform: translateX(-10px);
    }
}
.carousel__button--next.button-ready-animate {
    animation: leftButtonAnimation .5s;
}
.carousel__button--prev.button-ready-animate {
    animation: rightButtonAnimation .5s;
}
._show {
    animation: fadeInAnimation ease 3s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}

.fade {
    /*z-index: -1000;*/
    animation: fadeOutAnimation ease 1.5s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}

.remove {
    display: none;
    transition: all .3s;
    transition-delay: .3s;
}

.show {
    opacity: 1;
    transition-delay: 1s;
    transition: all .3s;
}

.hidden {
    opacity: 0;
}

/* Parent wrapper to carousel. Width can be changed as needed. */
.carousel-wrapper {
    /*overflow: hidden;*/
    /* width: 90%; */
    margin: auto;
}

/* Apply 'border-box' to 'box-sizing' so border and padding is included in the width and height. */
.carousel-wrapper * {
    box-sizing: border-box;
}

/* We'll be using the 'transform' property to move the carousel's items, so setting the 'transform-style' to 'preserve-3d' will make sure our nested elements are rendered properly in the 3D space. */
.carousel {
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    transform-style: preserve-3d;
}



/* Display the initial item and bring it to the front using 'z-index'. These styles also apply to the 'active' item. */
.carousel__photo.initial,
.carousel__photo.active {
    opacity: 1;
    position: relative;
    z-index: 900;
}

/* Set 'z-index' to sit behind our '.active' item. */
.carousel__photo.prev,
.carousel__photo.next {
    z-index: 800;
}

/* Translate previous item to the left */
.carousel__photo.prev {
    transform: translateX(-100%);
}

/* Translate next item to the right */
.carousel__photo.next {
    transform: translateX(100%);
}

/* Style navigation buttons to sit in the middle, either side of the carousel. */
.carousel__button--prev,
.carousel__button--next {
    position: absolute;
    top: 40%;
    width: 2rem;
    height: 2rem;
    background-color: transparent;
    /*transform: translateY(-50%);*/
    cursor: pointer;
    z-index: 1001;
}

.carousel__button--prev {
    left: 256px;
}

.carousel__button--next {
    right: 7px;
}

/* Use pseudo elements to insert arrows inside of navigation buttons */
.carousel__button--prev::after,
.carousel__button--next::after {
    content: " ";
    position: absolute;
    width: 10px;
    height: 10px;
    top: 50%;
    left: 54%;
    border-right: 2px solid black;
    border-bottom: 2px solid black;
    transform: translate(-50%) rotate(135deg);
    transition: transform .5s cubic-bezier(0, 1, .98, 0);
}

.carousel__button--next::after {
    left: 47%;
    transform: translateX(-50%) rotate(-45deg);
}

.slider-dot-control {
    position: absolute;
    width: 100%;
    z-index: 1000;
    text-align: center;
    bottom: -5px;
    height: 20px;
    left: 126px;
}

.slider-dot-control label {
    cursor: pointer;
    border-radius: 5px;
    display: inline-block;
    width: 6px;
    height: 6px;
    background: #d6d3d3;
    margin: 0 3px 2px 3px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

.slider-dot-control label.active {
    transform: scale(1.5);
}

.slider-dot-control label:hover {
    background: darkgrey;
    border-color: #777;
}

.block-ellipsis {
    display: block;
    display: -webkit-box;
    max-width: 100%;
    margin: 0 auto;
    line-height: 1;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.card-price {
    z-index: 300;
}

