html.has-gallery-lightbox-open,
body.has-gallery-lightbox-open{
  overflow:hidden;
}

.c-gallery-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
}

.c-gallery-lightbox.is-open{
  display:block;
}

.c-gallery-lightbox__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.9);
}

.c-gallery-lightbox__dialog{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:3rem 4.5rem;
  box-sizing:border-box;
}

.c-gallery-lightbox__stage{
  position:relative;
  max-width:min(88vw, 1400px);
  max-height:88vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.c-gallery-lightbox__image{
  display:block;
  max-width:100%;
  max-height:78vh;
  width:auto;
  height:auto;
  box-shadow:0 20px 60px rgba(0,0,0,.35);
}

.c-gallery-lightbox__meta{
  margin-top:1rem;
  font-size:.74rem;
  line-height:1.45;
  letter-spacing:.04em;
  color:rgba(255,255,255,.78);
  text-align:center;
}

.c-gallery-lightbox__counter{
  margin-top:.4rem;
  font-size:.68rem;
  line-height:1.3;
  letter-spacing:.08em;
  color:rgba(255,255,255,.5);
  text-transform:uppercase;
  text-align:center;
}

.c-gallery-lightbox__close{
  position:absolute;
  top:1rem;
  right:1rem;
  z-index:5;
  width:46px;
  height:46px;
  border:none;
  border-radius:50%;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:1.9rem;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:.95;
  transition:background .2s ease, opacity .2s ease, transform .2s ease;
}

.c-gallery-lightbox__close:hover{
  background:rgba(255,255,255,.2);
  opacity:1;
  transform:scale(1.03);
}

.c-gallery-lightbox__nav{
  position:relative;
  width:72px !important;
  height:72px !important;
  border:none !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.12) !important;
  color:transparent !important;
  font-size:0 !important;
  line-height:1 !important;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:1 !important;
  transition:background .2s ease, transform .2s ease;
}

.c-gallery-lightbox__nav::before{
  content:"";
  display:block;
  width:16px;
  height:16px;
  border-top:1.5px solid rgba(255,255,255,.92);
  border-right:1.5px solid rgba(255,255,255,.92);
}

.c-gallery-lightbox__nav--prev::before{
  transform:rotate(-135deg);
  margin-left:5px;
}

.c-gallery-lightbox__nav--next::before{
  transform:rotate(45deg);
  margin-right:5px;
}

.c-gallery-lightbox__nav:hover{
  background:rgba(255,255,255,.2) !important;
  transform:scale(1.04);
}

.c-gallery-lightbox__nav--prev{
  margin-right:1.75rem;
}

.c-gallery-lightbox__nav--next{
  margin-left:1.75rem;
}

@media screen and (max-width: 740px){
  .c-gallery-lightbox__nav{
    position:absolute;
    bottom:1rem;
    width:58px !important;
    height:58px !important;
  }

.c-gallery-lightbox__nav::before{
    width:13px;
    height:13px;
    border-top:1.5px solid rgba(255,255,255,.92);
    border-right:1.5px solid rgba(255,255,255,.92);
  }

 .c-gallery-lightbox__nav--prev{
    left:1rem;
    margin:0;
  }

  .c-gallery-lightbox__nav--next{
    right:1rem;
    margin:0;
  }
}

@media screen and (max-width: 740px){
  .c-gallery-lightbox__dialog{
    padding:1.25rem 1rem 2rem;
  }

  .c-gallery-lightbox__stage{
    max-width:100%;
    max-height:100%;
  }

  .c-gallery-lightbox__image{
    max-height:72vh;
  }

  .c-gallery-lightbox__nav{
  position:absolute;
  bottom:1rem;
  width:54px;
  height:54px;
  font-size:2rem;
}

  .c-gallery-lightbox__nav--prev{
    left:1rem;
    margin:0;
  }

  .c-gallery-lightbox__nav--next{
    right:1rem;
    margin:0;
  }

  .c-gallery-lightbox__close{
    top:.75rem;
    right:.75rem;
    width:42px;
    height:42px;
    font-size:1.7rem;
  }

  .c-gallery-lightbox__meta{
    margin-top:.85rem;
    font-size:.68rem;
  }

  .c-gallery-lightbox__counter{
    font-size:.64rem;
  }
}