/**
 * @file
 * Provides Magnific Popup integration.
 */

.mfp-title h2 {
  font-size: 1.6rem;
}

.mfp-title h2,
.mfp-title p {
  margin: 0;
  line-height: 1.25rem;
}

.mfp-counter {
  padding: 5px;
  color: #777;
}

.mfp-title {
  padding-left: 15px;
  color: #333;
}

.mfp-content .mfp-figure figcaption {
  padding: 0;
}

.mfp-content .mfp-figure figcaption {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  margin-top: -30px;
  cursor: auto;
}

.mfp-content .mfp-figure .mfp-bottom-bar {
  position: relative;
  top: 0;
  margin: 0;
  opacity: 1;
}

.mfp-content .media,
.mfp-content .mfp-html {
  margin: auto;
}

.mfp-html {
  pointer-events: none;
}

.mfp-content .mfp-html {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  max-width: 92%;
  max-width: 92vw;
  height: 100%;
  height: 100vh;
  min-height: auto;
  max-height: 92%;
  max-height: 92vh;
}

.mfp-html > .mfp-inner {
  position: relative;
  display: block;
  align-self: center;
  max-width: 92vw;
  max-height: 92vh;
  pointer-events: auto;
}

.mfp-inner > img,
.mfp-inner > picture img {
  display: block;
  height: auto;
  max-height: 92vh;
  margin: auto;
}

.mfp-html .mfp-bottom-bar {
  min-height: 46px;
  margin-top: -46px;
  padding: 5px 15px;
  background: rgba(0, 0, 0, 0.6);
}

.mfp-html .mfp-counter,
.mfp-html .mfp-title {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.mfp-html .mfp-counter {
  right: 15px;
}

.mfp-html .mfp-title {
  width: 100%;
}

.mfp-bottom-bar {
  opacity: 0;
}

.is-mfp .mfp-bottom-bar {
  opacity: 1;
}

.mfp-html .mfp-close {
  color: #eee;
}

/* Zoom effect */
.mfp-with-zoom .mfp-container,
.mfp-with-zoom.mfp-bg {
  /* ideally, transition speed should match zoom duration */
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  opacity: 0;
  -webkit-backface-visibility: hidden;
}

.mfp-with-zoom.mfp-ready .mfp-container {
  opacity: 1;
}

.mfp-with-zoom.mfp-ready.mfp-bg {
  opacity: 0.8;
}

.mfp-with-zoom.mfp-removing .mfp-container,
.mfp-with-zoom.mfp-removing.mfp-bg {
  opacity: 0;
}

/** 641px with 16px base font. */
@media only screen and (min-width: 40.063em) {
  .mfp-content .mfp-html {
    min-height: 80vh;
  }
}
