/****************************************
	z-index
*****************************************/
.carousel {
  overflow: hidden;
  position: relative;
  z-index: 1; }

.carousel.loading > ul,
.carousel.loading .carouselInner {
  left: 100%;
  min-height: 32px;
  opacity: 0; }

.carousel.loading > ul > li {
  display: inline-block; }

.carouselInner {
  font-size: 0;
  position: relative;
  white-space: nowrap;
  word-wrap: normal; }

/* font-size:0; to get rid of extra white-space from inline-block and add nowrap */
/* Make carousel flush to edges (only use inside of .con) */
.con .carouselFlushed {
  margin-left: -20px;
  margin-right: -20px;
  padding-left: 20px;
  padding-right: 20px; }

@media (max-width: 767px) {
  .con .carouselFlushed {
    margin-left: -10px;
    margin-right: -10px;
    padding-left: 10px;
    padding-right: 10px; } }

/* Full width carousel */
.carouselFullWidth .carouselSlide {
  width: 100%; }

.carouselArrowsOutside .carouselSlide {
  padding-left: 56px;
  padding-right: 56px; }

/* Varied height carousel */
.carouselVariedHeight .carouselSlide {
  vertical-align: top; }

/* Carousel with preview */
.carouselWithPreview {
  padding-left: 64px;
  padding-right: 64px; }

.carouselWithPreview .carouselSlide {
  margin: 0 1.5%; }

.carouselWithPreview .carouselSlide:first-child {
  margin-left: 0; }

.carouselWithPreview .carouselSlide:last-child {
  margin-right: 0; }

/* Carousel content helper classes */
.carouselCentered {
  text-align: center; }

.carouselPadded .carouselSlide {
  margin-left: 10px;
  margin-right: 10px; }

.carouselPadded .carouselSlide:first-child {
  margin-left: 0; }

.carouselPadded .carouselSlide:last-child {
  margin-right: 0; }

.carouselOverlay {
  background-color: rgba(0, 0, 0, 0.7);
  border-bottom-left-radius: inherit;
  border-bottom-right-radius: inherit;
  bottom: 0;
  color: #fff;
  left: 0;
  line-height: 1.3;
  margin: 0;
  padding: 8px;
  position: absolute;
  right: 0;
  text-align: left;
  text-shadow: 0 0 8px #000;
  z-index: 1; }

.carouselOverlay a {
  color: #fff;
  text-decoration: underline; }

.carouselOverlay a:hover,
.carouselOverlay a:focus {
  color: #f5f5f5; }

.carouselSlide {
  display: inline-block;
  font-size: 13px;
  min-height: 40px;
  position: relative;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  vertical-align: middle;
  white-space: normal; }

/* translateZ(0) forces the browser to create a new layer and use GPU rendering. touch events don't register for certain carousels on iOS without the new layer. */
.carouselSlide img {
  max-width: 100%; }

.carouselSlide > a {
  display: block;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0); }

.carouselSlide.photo,
.carouselSlide > .photo {
  margin-bottom: 3px;
  margin-top: 3px; }

.carouselSlide > .photo + .carouselOverlay {
  border-radius: 0 0 3px 3px;
  bottom: 3px; }

/* Carousel controls */
.carouselControlsDefault {
  text-align: center; }

.carouselControlsDefault button.ancBtn.sml {
  margin-bottom: 6px;
  margin-top: 6px; }

.carouselPreviousBtn,
.carouselNextBtn {
  background-color: rgba(0, 0, 0, 0.3);
  border: 0;
  border-radius: 100%;
  color: #f5f5f5;
  display: inline-block;
  font-size: 20px;
  font-weight: normal;
  height: 40px;
  margin-top: -20px;
  position: absolute;
  top: 50%;
  -webkit-transition: background .2s;
  -o-transition: background .2s;
  transition: background .2s;
  width: 40px;
  z-index: 5; }

/* Previous & Next Btn Styles */
.carouselNextBtn.disabled {
  background-color: rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: none;
  box-shadow: none; }

.carouselNextBtn.disabled:active {
  background-color: rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: none;
  box-shadow: none; }

.carouselNextBtn.disabled::before {
  color: rgba(255, 255, 255, 0.8);
  top: .125em; }

.carouselNextBtn:active {
  background-color: rgba(0, 0, 0, 0.5);
  -webkit-box-shadow: inset 1px 1px 12px rgba(0, 0, 0, 0.5);
  box-shadow: inset 1px 1px 12px rgba(0, 0, 0, 0.5); }

.carouselNextBtn:active::before {
  color: rgba(255, 255, 255, 0.8);
  top: .125em; }

.carouselNextBtn:hover:not(.disabled) {
  background-color: rgba(0, 0, 0, 0.6); }

.carouselNextBtn::before {
  margin-right: 0; }

.carouselPreviousBtn {
  left: 8px; }

.carouselPreviousBtn.iconArrowLeft::before {
  left: -2px; }

.carouselNextBtn {
  right: 8px; }

.carouselNextBtn.iconArrowRight::before {
  right: -1px; }

/* Pagination */
.carouselPagination button {
  margin-left: 4px;
  margin-right: 4px; }

.carouselPagination button.carouselPreviousBtn,
.carouselPagination button.carouselNextBtn {
  margin-left: 0;
  margin-right: 0; }

.carouselPaginationDots button.ancBtn.sml {
  border-radius: 100%;
  height: 16px;
  min-height: 0;
  min-width: 0;
  padding: 0;
  width: 16px; }

.carouselPausePlayBtn {
  margin-left: 4px;
  margin-right: 4px; }

.carouselPausePlayBtn::before {
  margin-right: 0; }

@media print {
  .carouselGoToSlideBtn,
  .carouselNextBtn,
  .carouselPreviousBtn {
    display: none !important; } }
