/* Magnific Popup CSS */
.mfp-bg {
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   z-index: 1042;
   overflow: hidden;
   position: fixed;
   background: #0b0b0b;
   opacity: 0.8; 
}

.mfp-wrap {
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   z-index: 1043;
   position: fixed;
   outline: none !important;
   -webkit-backface-visibility: hidden; 
}

.mfp-container {
   text-align: center;
   position: absolute;
   width: 100%;
   height: 100%;
   left: 0;
   top: 0;
   padding: 0 8px;
   box-sizing: border-box; 
}

.mfp-container:before {
   content: '';
   display: inline-block;
   height: 100%;
   vertical-align: middle; 
}

.mfp-align-top .mfp-container:before {
   display: none; 
}

.mfp-content {
   position: relative;
   display: inline-block;
   vertical-align: middle;
   margin: 0 auto;
   text-align: left;
   z-index: 1045; 
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
   width: 100%;
   cursor: auto; 
}

.mfp-ajax-cur {
  cursor: progress; 
}

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
   cursor: -moz-zoom-out;
   cursor: -webkit-zoom-out;
   cursor: zoom-out; 
}

.mfp-zoom {
   cursor: pointer;
   cursor: -webkit-zoom-in;
   cursor: -moz-zoom-in;
   cursor: zoom-in; 
}

.mfp-auto-cursor .mfp-content {
  cursor: auto; 
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none; 
}

.mfp-loading.mfp-figure {
   display: none; 
}

.mfp-hide {
   display: none !important; 
}

.mfp-preloader {
   color: #CCC;
   position: absolute;
   top: 50%;
   width: auto;
   text-align: center;
   margin-top: -0.8em;
   left: 8px;
   right: 8px;
   z-index: 1044;
}
.mfp-preloader a {
   color: #CCC;
}
.mfp-preloader a:hover {
   color: #FFF;
}
.mfp-s-ready .mfp-preloader {
   display: none;
}
.mfp-s-error .mfp-content {
   display: none; 
}
button.mfp-close,
button.mfp-arrow {
   overflow: visible;
   cursor: pointer;
   background: transparent;
   border: 0;
   -webkit-appearance: none;
   display: block;
   outline: none;
   padding: 0;
   z-index: 1046;
   box-shadow: none;
   touch-action: manipulation; 
}

button::-moz-focus-inner {
   padding: 0;
   border: 0; 
}

.mfp-close {
   width: 44px;
   height: 44px;
   line-height: 44px;
   position: absolute;
   right: 0;
   top: 0;
   text-decoration: none;
   text-align: center;
   opacity: 0.65;
   padding: 0 0 18px 10px;
   color: #FFF;
   font-style: normal;
   font-size: 28px;
   font-family: Arial, Baskerville, monospace; 
}
.mfp-close:hover,
.mfp-close:focus {
   opacity: 1; 
}
.mfp-close:active {
   top: 1px; 
}
.mfp-close-btn-in .mfp-close {
   color: #333; 
}
.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
   color: #FFF;
   right: -6px;
   text-align: right;
   padding-right: 6px;
   width: 100%; 
}
.mfp-counter {
   position: absolute;
   top: 0;
   right: 0;
   color: #CCC;
   font-size: 12px;
   line-height: 18px;
   white-space: nowrap; 
}
.mfp-arrow {
   position: absolute;
   opacity: 0.65;
   margin: 0;
   top: 50%;
   margin-top: -55px;
   padding: 0;
   width: 90px;
   height: 110px;
   -webkit-tap-highlight-color: transparent; 
}
.mfp-arrow:active {
   margin-top: -54px;
}
.mfp-arrow:hover,
.mfp-arrow:focus {
   opacity: 1; 
}
.mfp-arrow:before,
.mfp-arrow:after {
   content: '';
   display: block;
   width: 0;
   height: 0;
   position: absolute;
   left: 0;
   top: 0;
   margin-top: 35px;
   margin-left: 35px;
   border: medium inset transparent;
}
.mfp-arrow:after {
   border-top-width: 13px;
   border-bottom-width: 13px;
   top: 8px; 
}
.mfp-arrow:before {
   border-top-width: 21px;
   border-bottom-width: 21px;
   opacity: 0.7;
}
.mfp-arrow-left {
   left: 0;
}
.mfp-arrow-left:after {
   border-right: 17px solid #FFF;
   margin-left: 31px; 
}
.mfp-arrow-left:before {
   margin-left: 25px;
   border-right: 27px solid #3F3F3F; 
}
.mfp-arrow-right {
   right: 0;
}
.mfp-arrow-right:after {
   border-left: 17px solid #FFF;
   margin-left: 39px; 
}
.mfp-arrow-right:before {
   border-left: 27px solid #3F3F3F; 
}
.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; 
}
.mfp-iframe-holder .mfp-content {
   line-height: 0;
   width: 100%;
   max-width: 900px; 
}
.mfp-iframe-holder .mfp-close {
   top: -40px; 
}
.mfp-iframe-scaler {
   width: 100%;
   height: 0;
   overflow: hidden;
   padding-top: 56.25%; 
}
.mfp-iframe-scaler iframe {
   position: absolute;
   display: block;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
   background: #000;
}

/* Main image in popup */
img.mfp-img {
   width: auto;
   max-width: 100%;
   height: auto;
   display: block;
   line-height: 0;
   box-sizing: border-box;
   padding: 40px 0 40px;
   margin: 0 auto; 
}

/* The shadow behind the image */
.mfp-figure {
   line-height: 0; 
}
.mfp-figure:after {
   content: '';
   position: absolute;
   left: 0;
   top: 40px;
   bottom: 40px;
   display: block;
   right: 0;
   width: auto;
   height: auto;
   z-index: -1;
   box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
   background: #444; 
}
.mfp-figure small {
   color: #BDBDBD;
   display: block;
   font-size: 12px;
   line-height: 14px; 
}
.mfp-figure figure {
   margin: 0; 
}
.mfp-bottom-bar {
   margin-top: -36px;
   position: absolute;
   top: 100%;
   left: 0;
   width: 100%;
   cursor: auto; 
}
.mfp-title {
   text-align: left;
   line-height: 18px;
   color: #F3F3F3;
   word-wrap: break-word;
   padding-right: 36px; 
}
.mfp-image-holder .mfp-content {
   max-width: 100%; 
}
.mfp-gallery .mfp-image-holder .mfp-figure {
   cursor: pointer; 
}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
   .mfp-img-mobile .mfp-image-holder {
      padding-left: 0;
      padding-right: 0; 
   }
   .mfp-img-mobile img.mfp-img {
      padding: 0; 
   }
   .mfp-img-mobile .mfp-figure:after {
      top: 0;
      bottom: 0; 
   }
   .mfp-img-mobile .mfp-figure small {
      display: inline;
      margin-left: 5px; 
   }
   .mfp-img-mobile .mfp-bottom-bar {
      background: rgba(0, 0, 0, 0.6);
      bottom: 0;
      margin: 0;
      top: auto;
      padding: 3px 5px;
      position: fixed;
      box-sizing: border-box; 
   }
   .mfp-img-mobile .mfp-bottom-bar:empty {
      padding: 0; 
   }
   .mfp-img-mobile .mfp-counter {
      right: 5px;
      top: 3px; 
   }
   .mfp-img-mobile .mfp-close {
      top: 0;
      right: 0;
      width: 35px;
      height: 35px;
      line-height: 35px;
      background: rgba(0, 0, 0, 0.6);
      position: fixed;
      text-align: center;
      padding: 0; 
   } 
}

@media all and (max-width: 900px) {
   .mfp-arrow {
      -webkit-transform: scale(0.75);
      transform: scale(0.75); 
   }
   .mfp-arrow-left {
      -webkit-transform-origin: 0;
      transform-origin: 0; 
   }
   .mfp-arrow-right {
      -webkit-transform-origin: 100%;
      transform-origin: 100%; 
   }
   .mfp-container {
      padding-left: 6px;
      padding-right: 6px; 
   } 
}
