/* -------------------------------------------------------------------------- *\
 * Gallery
\* -------------------------------------------------------------------------- */
.gallery {
  position: relative;
  -webkit-box-shadow: 0 1px 4px #999;
  -moz-box-shadow: 0 1px 4px #999;
  box-shadow: 0 1px 4px #999;
  background: #000000;
}
.gallery-images {
  position: relative; z-index: 2;
  width: 100%; height: 100%;
  overflow: hidden;
}
.gallery-controls {
  position: absolute; bottom: 0; left: 0; z-index: 5;
  width: 100%; height: 100%;
}
.gallery-caption {
  position: absolute; bottom: 0; left: 0; z-index: 4;
  width: 100%;
}
.gallery-filmstrip {
  position: absolute; left: 0; bottom: -5px; z-index: 3;
  width: 100%;
}
.gallery-progress {
  position: absolute; bottom: -1px; left: 0; z-index: 2;
  width: 100%; height: 1px;
  background-color: #777;
}

/* fade controls and captions in and out. */

.gallery-caption,
.gallery-controls {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  opacity: 0;

  -webkit-transition: opacity 0.5s ease-in;
  -moz-transition: opacity 0.5s ease-in;
  transition: opacity 0.5s ease-in;
}
.gallery-controls:hover,
.gallery:hover .gallery-caption {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: alpha(opacity=100);
  opacity: 1;
}

/* Gallery field-images */

.gallery-images .field-image {
  position: absolute; top: 0; left: 0; z-index: 0;
  display: block;
  margin: 0;
}
.gallery-images .field-image .caption {
  display: none;
}

/* Gallery icons */

.gallery [class^=btn-] {
  position: absolute;
  cursor: pointer;
}
.gallery-filmstrip [class^=btn-] {
  width: 32px; height: 32px;
}
.gallery [class^=btn-] span {
  display: block;
  cursor: pointer;

  -webkit-transition: opacity 0.25s ease-in;
  -moz-transition: opacity 0.25s ease-in;
  transition: opacity 0.25s ease-in;

  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
  filter: alpha(opacity=60);
  opacity: 0.6;

  background: url(img/gallery-icons.png) no-repeat black;
}
.svg .gallery [class^=btn-] span {
  background-image: url(img/gallery-icons.svg);
}
.gallery-controls [class^=btn-] span {
  width: 38px; height: 38px;

  -webkit-border-radius: 19px;
  -moz-border-radius: 19px;
  border-radius: 19px;
}
.gallery-filmstrip [class^=btn-] span {
  width: 20px; height: 20px;
  margin: 8px;

  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}
.gallery [class^=btn-]:hover span {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: alpha(opacity=100);
  opacity: 1;
}

/* controls prev/next */
.gallery .btn-prev,
.gallery .btn-next { top: 0; z-index: 1; width: 96px; height: 100%; }
.gallery .btn-prev { left: 0;  }
.gallery .btn-next { right: 0; }
.gallery .btn-prev span,
.gallery .btn-next span { position: absolute; top: 50%; }
.gallery .btn-prev span { left: 5px;  background-position: 0 0;     margin-top: -19px; }
.gallery .btn-next span { right: 5px; background-position: -38px 0; margin-top: -19px; }
/* play/pause */
.gallery .btn-play  { top: 5px; right: 48px; z-index: 2;  }
.gallery .btn-pause { top: 5px; right: 48px; z-index: 2; display: none; }
.gallery .btn-play span  { background-position:  -76px 0; }
.gallery .btn-pause span { background-position: -114px 0; }
/* zoom */
.gallery .btn-zoom  { position: static; width: 100%; height: 100%; }
.gallery .btn-zoom span { position: absolute; top: 5px; right: 5px; z-index: 2; background-position: -38px -38px; }
/* filmstrip next/prev */
.gallery .btn-prev-page { top: 12px;  left: -5px; }
.gallery .btn-next-page { top: 12px; right: -5px; }
.gallery .btn-prev-page span { background-position: -1px -39px; }
.gallery .btn-next-page span { background-position: -1px -77px; }

/* Gallery Caption */

.gallery-caption {
  background-color: #494949;
  background-color: rgba(80,80,80,0.7);
}
.gallery-caption-text {
  padding: 15px 20px;
  color: #FFF;
  text-shadow: 1px 1px 0 #000;
  -webkit-transition: height 0.5s ease-in;
  -moz-transition: height 0.5s ease-in;
  transition: height 0.5s ease-in;
}

/* Filmstrip w/markers */

.gallery-filmstrip-inner {
  position: absolute; top: 0; left: 0; z-index: 3;
  width: 100%;
}
.gallery-filmstrip .markers {
  position: relative;
  height: 70px;
  overflow: hidden;
}
.gallery-filmstrip .markers-content {
  position: absolute; top: 10px; left: 0;
}
.gallery-filmstrip .marker {
  float: left;
  position: relative; z-index: 1;
  text-align: center;
  text-decoration: none;
  -webkit-transition: -webkit-transform 0.1s ease-in;
  -moz-transition: -moz-transform 0.1s ease-in;
  transition: transform 0.1s ease-in;
  -webkit-backface-visibility: hidden;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
  filter: alpha(opacity=60);
  opacity: 0.6;
}
.gallery-filmstrip .marker:hover,
.gallery-filmstrip .marker.active {
  z-index: 2;
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  transform: scale(1.2);
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: alpha(opacity=100);
  opacity: 1;
}
.gallery-filmstrip .marker.active .marker-image {
  border-color: #444;
}
.gallery-filmstrip .marker-image {
  display: inline-block;
  width: 40px; height: 40px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  -webkit-box-shadow: 1px 1px 4px #777;
  -moz-box-shadow: 1px 1px 4px #777;
  box-shadow: 1px 1px 4px #777;
  border: 2px solid white;
  background-color: white;
  overflow: hidden;
}
.gallery-filmstrip .marker-image img {
  float: left;
  max-width: 60px;
  max-height: 60px;
}

/* filmstrip arrow navigation */

.gallery .arrow {
  position: absolute; top: 0;
  cursor: pointer;
}
.gallery .arrow span {
  display: block;
  padding: 0 7px;
  width: 24px;
  height: 24px;
  line-height: 16px;
  font-size: 24px;
  text-align: center;
  color: black;
  border: 1px solid #eee;

  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;

  background-color: #ccc;
  background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#fff), to(#ccc));
  background-image: -webkit-linear-gradient(top, #fff, #ccc);
  background-image: -moz-linear-gradient(top, #fff, #ccc);
  background-image: -ms-linear-gradient(top, #fff, #ccc);

  -webkit-transition: opacity 0.2s ease-in;
  -moz-transition: opacity 0.2s ease-in;
  transition: opacity 0.2s ease-in;

  /*-webkit-transition: background-color 0.2s ease-in;*/
  /*-moz-transition: background-color 0.2s ease-in;*/
  /*transition: background-color 0.2s ease-in;*/

  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;

  box-shadow: 1px 1px 4px rgba(0,0,0,0.5);
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=65)";
  filter: alpha(opacity=65);
  opacity: 0.65;
}
.gallery .arrow span:hover {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: alpha(opacity=100);
  opacity: 1;
  /*background-color: #fff;*/
  /*background-image: none;*/
}
.gallery .arrow.prev {
  left: 0;
}
.gallery .arrow.next {
  right: 0;
}

/* This is a helper to eliminate user selection of any elements. */

.gallery .arrow,
.gallery .marker,
.gallery .field-image,
.gallery [class^=btn-] {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Simple Gallery Display */

.gallery.simple {
  margin-bottom: 0 !important;
}

.gallery.simple .gallery-filmstrip,
.gallery.simple .btn-pause,
.gallery.simple .btn-play,
.gallery.simple .btn-prev,
.gallery.simple .btn-next {
  display: none;
}

