/******************/
/* general styles */
/******************/
/* clear fix */
.clearfix:before, .clearfix:after {content: ""; display: table;}
.clearfix:after {clear: both;}
.clearfix {*zoom: 1;}

.sl-active {
  overflow: hidden;
}

.sl-clearfix {
  z-index: 10000;
}

/****************/
/* index module */
/****************/
.sl-index-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.7;
  z-index: 1000;
  display: none;
}

.sl-index-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1100;
  cursor: url('cursors/white/cursor-close.png'), url('cursors/white/cursor-close.cur'), crosshair;
  display: none;
}

.sl-index-decks-container {
  position: absolute;
  top: 50px;
  left: 50px;
  right: 50px;
  bottom: 50px;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  z-index: 10;
}

.sl-index-decks-container::-webkit-scrollbar {
    display: none;
}

.sl-index-deck {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
}

.sl-index-deck.masonry {
  margin: 0 auto;
}

.sl-index-item {
  position: relative;
  float: left;
  margin: 0 15px 40px 15px;
  cursor: pointer;
}

.sl-index-item-indicator {
  position: relative;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin: -8px 0 0 -8px;
  background: url('cursors/black/loader.gif') top left no-repeat;
  background-size: 16px 16px;
  z-index: 1000;
}

.lt-ie9 .sl-index-item-indicator {
  background: url('cursors/black/loader-small.gif') top left no-repeat;
}

.sl-index-item-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 1;
  opacity: 0.7;
  display: none;
}

.sl-index-item:hover .sl-index-item-overlay {
  display: block;
}

.touch .sl-index-item:hover .sl-index-item-overlay {
  display: none !important;
}

.sl-index-item-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.sl-index-item-img img {
  width: 100%;
  height: 100%;
  display: none;
}

.csstransitions .sl-index-item-img img {
  display: block;
  opacity: 0;
  -webkit-transition: opacity 250ms ease;
     -moz-transition: opacity 250ms ease;
      -ms-transition: opacity 250ms ease;
       -o-transition: opacity 250ms ease;
          transition: opacity 250ms ease;
}

.csstransitions .sl-index-item-img img.loaded {
  opacity: 1;
}

.sl-index-item-caption {
  font-weight:100;
  position: absolute;
  width: 100%;
  text-align: center;
  color: #fff;
}

.sl-index-item-caption.top {
  top: 0;
}

.sl-index-item-caption.center {
  top: 50%;
}

.sl-index-item-caption.bottom {
  bottom: 0;
}

.sl-index-item-caption-inner {
  padding: 0 10px;
}


/*******************/
/* lightbox module */
/*******************/
.sl-lightbox-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.7;
  z-index: 1000;
  display: none;
}

.sl-lightbox-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1100;
  cursor: url('cursors/white/cursor-close.png'), url('cursors/white/cursor-close.cur'), crosshair;
  display: none;
}

.sl-lightbox-decks-container {
  position: absolute;
  top: 48%;
  left: 50%;
  z-index: 1100;
  cursor: none;
}

.csstransitions .sl-lightbox-decks-container {
  width: 0;
  height: 0;
  margin-left: 0;
  margin-top: 0;

  -webkit-transition: all 250ms ease;
     -moz-transition: all 250ms ease;
      -ms-transition: all 250ms ease;
       -o-transition: all 250ms ease;
          transition: all 250ms ease;
}

.sl-lightbox-deck {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
}

.sl-lightbox-item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
}

.sl-lightbox-item img {
  width: 100%;
  height: 100%;
  display: none;
}

.csstransitions .sl-lightbox-item img {
  display: block;
  opacity: 0;
  -webkit-transition: opacity 250ms ease;
     -moz-transition: opacity 250ms ease;
      -ms-transition: opacity 250ms ease;
       -o-transition: opacity 250ms ease;
          transition: opacity 250ms ease;
}

.csstransitions .sl-lightbox-item img.loaded {
  opacity: 1;
}

.sl-lightbox-item-indicator {
  position: relative;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin: -8px 0 0 -8px;
  background: url('cursors/black/loader.gif') top left no-repeat;
  background-size: 16px 16px;
  z-index: 1000;
}

.lt-ie9 .sl-lightbox-item-indicator {
  background: url('cursors/black/loader-small.gif') top left no-repeat;
}

.sl-lightbox-caption-container {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 100;
  display: none;
}

.sl-lightbox-caption-container.top {
  top: 0;
}

.sl-lightbox-caption-container.center {
  top: 50%;
}

.sl-lightbox-caption-container.bottom {
  bottom: 0;
}

.sl-lightbox-caption-container .left {
  position: absolute;
  left: 0;
  text-align: left;
}

.sl-lightbox-caption-container .center {
  position: absolute;
  left: 15%;
  width: 70%;
  text-align: center;
}

.sl-lightbox-caption-container .right {
  position: absolute;
  right: 0;
  text-align: right;
}

.sl-lightbox-caption-container .left,
.sl-lightbox-caption-container .center,
.sl-lightbox-caption-container .right {
  overflow-y: scroll;
  -ms-overflow-style: none;
}

.sl-lightbox-caption-container .left::-webkit-scrollbar,
.sl-lightbox-caption-container .center::-webkit-scrollbar,
.sl-lightbox-caption-container .right::-webkit-scrollbar {
  display: none;
}

.lt-ie10 .sl-lightbox-caption-container .left,
.lt-ie10 .sl-lightbox-caption-container .center,
.lt-ie10 .sl-lightbox-caption-container .right {
  overflow-y: hidden;
}

.sl-lightbox-caption-container a,
.sl-lightbox-caption-container a:visited {
  font-weight:100;
  color: #fff;
  text-decoration: none;
  margin-bottom: 2px;
}

.sl-lightbox-caption-container a:hover {
  font-weight:100;
  color: #fff;
  border-bottom: 1px solid #fff;
}

.sl-lightbox-caption-container {
  font-weight:100;
  color: #fff
}

.sl-lightbox-cursor {
  position: absolute;
  background: url('cursors/black/blank.gif') 0 0 repeat;
  z-index: 50;
}

.sl-lightbox-cursor.left {
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  cursor: url('cursors/black/cursor-left.png'), url('cursors/black/cursor-left.cur'), w-resize;
}

.sl-lightbox-cursor.right {
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  cursor: url('cursors/black/cursor-right.png'), url('cursors/black/cursor-right.cur'), e-resize;
}


/* responsive queries*/
@media (max-width: 400px) {

  .sl-index-decks-container {
    top: 20px;
    left: 0;
    right: 0;
    bottom: 20px;
  }

}

/* retina optimization */
@media (min-resolution: 192dpi), (-webkit-min-device-pixel-ratio: 2), (min--moz-device-pixel-ratio: 2), (-o-min-device-pixel-ratio: 2/1), (min-device-pixel-ratio: 2), (min-resolution: 2dppx) {

  .sl-index-wrapper,
  .sl-lightbox-wrapper {
    cursor: url('cursors/black/cursor-close-retina.png'), crosshair;
  }

  .sl-lightbox-cursor.left {
    cursor: url('cursors/black/cursor-left-retina.png'), w-resize;
  }
  .sl-lightbox-cursor.right {
    cursor: url('cursors/black/cursor-right-retina.png'), e-resize;
  }

}

