/*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*
	Styles for basic PhotoSwipe functionality (sliding area, open/close transitions)
*/
/* Custom Photoswipe Lightbox Styles */
.pswp .pswp__zoom-wrap {
  height: 100%; }

.pswp .asset {
  width: 100%;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%); }
  .pswp .asset.loading {
    background: url(/static/images/icons/icon_loading.gif) 50% 50% no-repeat; }
    .pswp .asset.loading .loading-text {
      display: block; }

.pswp .youtube-container,
.pswp .video-js {
  position: relative;
  height: 0;
  padding-bottom: 56.25%;
  width: 100%; }

.pswp .vjs-big-play-button {
  bottom: 0;
  left: 0;
  margin: auto;
  right: 0;
  top: 0; }

.pswp .youtube-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.pswp.pswp--touch .pswp__button--arrow--left,
.pswp.pswp--touch .pswp__button--arrow--right {
  visibility: visible; }

.pswp .pswp__ui .pswp__button--zoom,
.pswp .pswp__ui .pswp__button--fs,
.pswp .pswp__ui .pswp__button--close,
.pswp .pswp__ui .pswp__button--caption,
.pswp .pswp__ui .nav-control {
  background-image: none;
  background: none;
  color: #fff;
  font-size: 1.28em; }

.pswp .pswp__ui span[class^="ss-"] {
  pointer-events: none;
  position: relative;
  z-index: -1; }

.pswp .pswp__ui span.ss-navigateleft,
.pswp .pswp__ui span.ss-navigateright {
  z-index: 1001; }

.pswp .pswp__ui .pswp__button.nav-control {
  padding-top: 4px;
  margin-top: 0;
  height: 35px;
  width: 35px;
  border: 1px solid #fff;
  border-radius: 2px;
  text-decoration: none;
  background: #000;
  cursor: pointer;
  top: 14px;
  font-size: inherit;
  z-index: 1000; }
  .pswp .pswp__ui .pswp__button.nav-control:before {
    content: none; }

.pswp .pswp__ui .pswp__button--arrow--left {
  left: 58px; }

.pswp .pswp__ui .pswp__button--arrow--right {
  left: 100px; }

.pswp .ss-zoomout,
.pswp .ss-contract,
.pswp .pswp--sr--exitfull,
.pswp .pswp--sr--zoomout {
  display: none; }

.pswp.pswp--fs .ss-contract {
  display: inline-block; }

.pswp.pswp--fs .ss-expand {
  display: none; }

.pswp.pswp--fs .pswp--sr--full {
  display: none; }

.pswp.pswp--fs .pswp--sr--exitfull {
  display: inline; }

.pswp.pswp--zoomed-in .ss-zoomout {
  display: inline-block; }

.pswp.pswp--zoomed-in .ss-zoomin {
  display: none; }

.pswp.pswp--zoomed-in .pswp--sr--zoomin {
  display: none; }

.pswp.pswp--zoomed-in .pswp--sr--zoomout {
  display: inline; }

.pswp .pswp__dimension-error {
  color: #c10000;
  position: absolute;
  top: 40px;
  left: 5px;
  z-index: 1; }

.pswp .pswp__caption {
  max-height: calc(100% - 150px); }
  .pswp .pswp__caption.collapsed .pswp__caption__center {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
  .pswp .pswp__caption.collapsed .pswp__caption__center * {
    display: inline; }
  .pswp .pswp__caption.collapsed .pswp--sr--collapse {
    display: none; }
  .pswp .pswp__caption.collapsed .pswp--sr--expand {
    display: inline; }
  .pswp .pswp__caption.collapsed .ss-navigateup {
    display: inline-block; }
  .pswp .pswp__caption.collapsed .ss-navigatedown {
    display: none; }
  .pswp .pswp__caption .caption-break {
    margin-bottom: 0; }
  .pswp .pswp__caption.caption-toggle {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center; }
    .pswp .pswp__caption.caption-toggle .pswp__caption__center {
      width: 100%;
      display: inline-block;
      margin: 0;
      padding-right: 35px; }
    .pswp .pswp__caption.caption-toggle .pswp__button--caption {
      display: inline-block;
      font-size: 0.8em; }

.pswp .pswp__button--caption {
  display: none;
  height: 20px;
  width: 20px;
  margin-right: -20px;
  float: none;
  padding-top: 3px;
  vertical-align: top;
  right: 26px;
  border: 1px solid #fff;
  border-radius: 3px;
  margin-top: 10px;
  -ms-flex-item-align: end;
  align-self: flex-end;
  margin-bottom: 14px; }
  .pswp .pswp__button--caption .pswp--sr--expand {
    display: none; }
  .pswp .pswp__button--caption .ss-navigateup {
    display: none; }

.pswp .pswp__caption--empty .pswp__button--caption {
  display: none !important; }

.pswp.pswp--touch .pswp__caption {
  max-height: none; }

.pswp .lightbox-caption-link {
  color: #CCC;
  text-decoration: underline; }
  .pswp .lightbox-caption-link:hover {
    text-decoration: none; }

.pswp .pswp__top-bar, .pswp .pswp__counter {
  height: 65px; }

.pswp .pswp__counter {
  line-height: 64px;
  left: 2px; }

.pswp .pswp__ui .pswp__top-bar .pswp__button {
  top: 14px;
  font-size: 1.5em;
  right: 8px; }

@media print, screen and (min-width: 768px) {
  .pswp .asset {
    width: 75%; }
  .pswp .pswp__ui .pswp__button.nav-control {
    margin-top: -20px;
    padding-top: 6px;
    height: 40px;
    width: 40px;
    top: 50%;
    margin-left: 10px;
    margin-right: 10px; }
  .pswp .pswp__ui .pswp__button--arrow--left {
    left: 0; }
  .pswp .pswp__ui .pswp__button--arrow--right {
    right: 0;
    left: auto; }
  .pswp .pswp__ui .pswp__caption__center {
    max-width: 620px; } }

@media print, screen and (min-width: 992px) {
  .pswp .pswp__ui .pswp__caption__center {
    max-width: 800px; } }

/* pswp = photoswipe */
.pswp {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
  z-index: 99999;
  -webkit-text-size-adjust: 100%;
  /* create separate layer, to avoid paint on window.onscroll in webkit/blink */
  -webkit-backface-visibility: hidden;
  outline: none; }
  .pswp * {
    box-sizing: border-box; }
  .pswp img {
    max-width: none; }

/* style is added when JS option showHideOpacity is set to true */
.pswp--animate_opacity {
  /* 0.001, because opacity:0 doesn't trigger Paint action, which causes lag at start of transition */
  opacity: 0.001;
  will-change: opacity;
  /* for open/close transition */
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }

.pswp--open {
  display: block; }

.pswp--zoom-allowed .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.pswp--zoomed-in .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab; }

.pswp--dragging .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing; }

/*
	Background is added as a separate element.
	As animating opacity is much faster than animating rgba() background-color.
*/
.pswp__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0;
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  will-change: opacity; }

.pswp__scroll-wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden; }

.pswp__container,
.pswp__zoom-wrap {
  -ms-touch-action: none;
  touch-action: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0; }

/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img {
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-touch-callout: none; }

.pswp__zoom-wrap {
  position: absolute;
  width: 100%;
  transform-origin: left top;
  /* for open/close transition */
  transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1); }

.pswp__bg {
  will-change: opacity;
  /* for open/close transition */
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }

.pswp--animated-in .pswp__bg,
.pswp--animated-in .pswp__zoom-wrap {
  transition: none; }

.pswp__container,
.pswp__zoom-wrap {
  -webkit-backface-visibility: hidden; }

.pswp__item {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: hidden; }

.pswp__img {
  position: absolute;
  width: auto;
  height: auto;
  top: 0;
  left: 0; }

/*
	stretched thumbnail or div placeholder element (see below)
	style is added to avoid flickering in webkit/blink when layers overlap
*/
.pswp__img--placeholder {
  -webkit-backface-visibility: hidden; }

/*
	div element that matches size of large image
	large image loads on top of it
*/
.pswp__img--placeholder--blank {
  background: #222; }

.pswp--ie .pswp__img {
  width: 100% !important;
  height: auto !important;
  left: 0;
  top: 0; }

/*
	Error message appears when image is not loaded
	(JS option errorMsg controls markup)
*/
.pswp__error-msg {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  text-align: center;
  font-size: 14px;
  line-height: 16px;
  margin-top: -8px;
  color: #CCC; }

.pswp__error-msg a {
  color: #CCC;
  text-decoration: underline; }
