.cp-slider .carousel {
    position: relative;
}

.cp-slider .carousel-inner {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.cp-slider .carousel-inner > .item {
    display: none;
    position: relative;
    -webkit-transition: 0.6s ease-in-out left;
    -o-transition: 0.6s ease-in-out left;
    transition: 0.6s ease-in-out left;
}

.cp-slider .carousel-inner > .item > a > img,
.cp-slider .carousel-inner > .item > img {
    line-height: 1;
}

@media all and (transform-3d), (-webkit-transform-3d) {
    .cp-slider .carousel-inner > .item {
        -webkit-transition: -webkit-transform 0.6s ease-in-out;
        -moz-transition: -moz-transform 0.6s ease-in-out;
        -o-transition: -o-transform 0.6s ease-in-out;
        transition: transform 0.6s ease-in-out;
        -webkit-backface-visibility: hidden;
        -moz-backface-visibility: hidden;
        backface-visibility: hidden;
        -webkit-perspective: 1000px;
        -moz-perspective: 1000px;
        perspective: 1000px;
    }
    .cp-slider .carousel-inner > .item.active.right,
    .cp-slider .carousel-inner > .item.next {
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
        left: 0;
    }
    .cp-slider .carousel-inner > .item.active.left,
    .cp-slider .carousel-inner > .item.prev {
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
        left: 0;
    }
    .cp-slider.carousel-inner > .item.active,
    .cp-slider .carousel-inner > .item.next.left,
    .cp-slider .carousel-inner > .item.prev.right {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        left: 0;
    }
}

.cp-slider .carousel-inner > .active,
.cp-slider .carousel-inner > .next,
.cp-slider .carousel-inner > .prev {
    display: block;
}

.cp-slider .carousel-inner > .active {
    left: 0;
}

.cp-slider .carousel-inner > .next,
.cp-slider .carousel-inner > .prev {
    position: absolute;
    top: 0;
    width: 100%;
}

.cp-slider .carousel-inner > .next {
    left: 100%;
}

.cp-slider .carousel-inner > .prev {
    left: -100%;
}

.cp-slider .carousel-inner > .next.left,
.cp-slider .carousel-inner > .prev.right {
    left: 0;
}

.cp-slider .carousel-inner > .active.left {
    left: -100%;
}

.cp-slider .carousel-inner > .active.right {
    left: 100%;
}

.cp-slider .carousel-control {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 15%;
    opacity: 0.5;
    font-size: 20px;
    color: #fff;
    text-align: center;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
    background-color: rgba(0, 0, 0, 0);
}

.cp-slider .carousel-control.left {
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.0001) 100%);
    background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.0001) 100%);
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.0001) 100%);
    background-repeat: repeat-x;
}

.cp-slider .carousel-control.right {
    left: auto;
    right: 0;
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0, rgba(0, 0, 0, 0.5) 100%);
    background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0, rgba(0, 0, 0, 0.5) 100%);
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0, rgba(0, 0, 0, 0.5) 100%);
    background-repeat: repeat-x;
}

.cp-slider .carousel-control:focus,
.cp-slider .carousel-control:hover {
    outline: 0;
    color: #fff;
    text-decoration: none;
    opacity: 0.9;
}

.cp-slider .carousel-control .glyphicon-chevron-left,
.cp-slider .carousel-control .glyphicon-chevron-right,
.cp-slider .carousel-control .icon-next,
.cp-slider .carousel-control .icon-prev {
    position: absolute;
    top: 50%;
    margin-top: -10px;
    z-index: 5;
    display: inline-block;
}

.cp-slider .carousel-control .glyphicon-chevron-left,
.cp-slider .carousel-control .icon-prev {
    left: 50%;
    margin-left: -10px;
}

.cp-slider .carousel-control .glyphicon-chevron-right,
.cp-slider .carousel-control .icon-next {
    right: 50%;
    margin-right: -10px;
}

.cp-slider .carousel-control .icon-next,
.cp-slider .carousel-control .icon-prev {
    width: 20px;
    height: 20px;
    line-height: 1;
    font-family: serif;
}

.cp-slider .carousel-control .icon-prev:before {
    content: "\2039";
}

.cp-slider .carousel-control .icon-next:before {
    content: "\203a";
}

.cp-slider #carousel-indicators-wrapper {
    position: absolute;
    bottom: 10px;
    left: 0;
    right: 0;
    z-index: 15;
}

.cp-slider .carousel-indicators {
    position: absolute;
    left: 0;
    width: 100%;
    margin-left: 0 !important;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    text-align: center;
}

.cp-slider .carousel-indicators li {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 1px;
    text-indent: -999px;
    border: 1px solid #fff;
    border-radius: 10px;
    cursor: pointer;
    background-color: rgba(0, 0, 0, 0);
}

.cp-slider .carousel-indicators .active {
    margin: 0;
    width: 12px;
    height: 12px;
    background-color: #fff;
}

.cp-slider .carousel-caption {
    position: relative;
    left: 0;
    right: 0;
    width: 100%;
}

.cp-slider .carousel-caption {
    text-shadow: none !important;
}

.cp-slider .carousel-caption h2 {
    margin: 0;
}

.content-align-center .cp-slider .slider-description {
    margin: 0 auto;
}

.content-align-right .cp-slider .slider-description {
    float: right;
}

.content-align-right .cp-slider .slider-buttons {
    clear: right;
}

.cp-slider .carousel-inner .item .overlay-inner {
    position: relative;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    display: table;
}

.cp-slider .carousel-inner .item .overlay-inner #content-inner {
    padding-left: 30px;
    padding-right: 30px;
}

.cp-slider .carousel-caption .btn {
    text-shadow: none;
}

.mspa-testimonial-slider .item .slider-description {
    margin: 0 auto;
}

.mspa-testimonial-slider .carousel .slider-client-name {
    margin: 0;
}

@media screen and (max-width: 767px) {
    .cp-slider .overlay-inner .container,
    .cp-slider .overlay-inner .os-container {
        padding-left: 30px;
        padding-right: 30px;
    }

    .page #carousel-indicators-wrapper ol {
        margin: 0 !important;
    }
}

.cp-slider .carousel-inner > .item > a > img,
.cp-slider .carousel-inner > .item > img,
.img-responsive,
.thumbnail a > img,
.thumbnail > img {
    display: block;
    max-width: 100%;
    height: auto;
}

.carousel-inner > .item > img, .carousel-inner > .item > a > img {
    display: block;
    height: auto;
    width: 100%;
    line-height: 1;
}

/*Bootstrap Carousel Fade Transition (for Bootstrap 3.3.x)
  CSS from:       http://codepen.io/transportedman/pen/NPWRGq
  and:            http://stackoverflow.com/questions/18548731/bootstrap-3-carousel-fading-to-new-slide-instead-of-sliding-to-new-slide
  Inspired from:  http://codepen.io/Rowno/pen/Afykb*/

.carousel-fade .carousel-inner .item {
  opacity: 0;
  transition-property: opacity;
}

.carousel-fade .carousel-inner .active {
  opacity: 1;
}

.carousel-fade .carousel-inner .active.left,
.carousel-fade .carousel-inner .active.right {
  left: 0;
  opacity: 0;
  z-index: 1;
}

.carousel-fade .carousel-inner .next.left,
.carousel-fade .carousel-inner .prev.right {
  opacity: 1;
}
    
.carousel-fade .carousel-control {
  z-index: 2;
}

.mspa-testimonial-slider #carousel-indicators-wrapper,
.mspa-testimonial-slider #carousel-indicators-wrapper .carousel-indicators {
    position: relative !important;
}

/*WHAT IS NEW IN 3.3: "Added transforms to improve carousel performance in modern browsers."
  Need to override the 3.3 new styles for modern browsers & apply opacity*/
@media all and (transform-3d), (-webkit-transform-3d) {
    .carousel-fade .carousel-inner > .item.next,
    .carousel-fade .carousel-inner > .item.active.right {
      opacity: 0;
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
    }
    .carousel-fade .carousel-inner > .item.prev,
    .carousel-fade .carousel-inner > .item.active.left {
      opacity: 0;
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
    }
    .carousel-fade .carousel-inner > .item.next.left,
    .carousel-fade .carousel-inner > .item.prev.right,
    .carousel-fade .carousel-inner > .item.active {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
    }
}
