.pswp { --pswp-preloader-color:rgba(79, 79, 79, 0.4); --pswp-preloader-color-secondary:rgba(255, 255, 255, 0.9); }

.pswp { position:fixed; top:0; left:0; width:100%; height:100%; z-index:100000; display:none; touch-action:none; outline:0; opacity:0.003; contain:layout style size; -webkit-tap-highlight-color:rgba(0, 0, 0, 0); }
.pswp:focus { outline:0; }
.pswp * { box-sizing:border-box; }
.pswp img { max-width:none; }
.pswp--open { display:block; }
.pswp,
.pswp__bg { transform:translateZ(0); will-change:opacity;}
.pswp__bg { background-color:#000; }
.pswp,
.pswp__scroll-wrap { overflow:hidden; }
.pswp__scroll-wrap, .pswp__bg, .pswp__container, .pswp__item,
.pswp__content, .pswp__img, .pswp__zoom-wrap { position:absolute; top:0; left:0; width:100%; height:100%; }
.pswp__img, .pswp__zoom-wrap { width:auto; height:auto; }
.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img { cursor:-webkit-zoom-in; cursor:-moz-zoom-in; cursor:zoom-in; }
.pswp--click-to-zoom.pswp--zoomed-in .pswp__img { cursor:move; cursor:-webkit-grab; cursor:-moz-grab; cursor:grab; }
.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active { cursor:-webkit-grabbing; cursor:-moz-grabbing; cursor:grabbing; }
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,
.pswp__img { cursor:-webkit-zoom-out; cursor:-moz-zoom-out; cursor:zoom-out; }
.pswp__container,
.pswp__img,
.pswp__button,
.pswp__counter { -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; }
.pswp__item { z-index:1; overflow:hidden; }
.pswp__hidden { display:none !important; }
.pswp__content { pointer-events:none; }
.pswp__content > * { pointer-events:auto; }

.pswp__error-msg-container { display:grid; }
.pswp__error-msg { margin:auto; font-size:1em; line-height:1; color:var(--pswp-error-text-color); }

.pswp .pswp__hide-on-close { opacity:0.005; will-change:opacity; transition:opacity var(--pswp-transition-duration) cubic-bezier(0.4, 0, 0.22, 1); z-index:10; pointer-events:none; }
.pswp--ui-visible .pswp__hide-on-close { opacity:1; pointer-events:auto; }
.pswp__button { background:none; border:0; opacity:0.85; appearance:none; -webkit-appearance:none; -webkit-touch-callout:none; padding:0;}
.pswp__button--close { position:absolute; top:30px; inset-inline-end:40px; transition:opacity 0.2s linear; }
.pswp__button--close svg{height:50px; width:50px; padding:12px;  border:1px solid #666; border-radius: 50%; fill:#fff;  background:#000;}

.pswp__button:hover,
.pswp__button:active,
.pswp__button:focus { transition:none; opacity:1; }
.pswp__button:disabled { opacity:0.3; cursor:auto; }

.pswp__icn:focus { outline:0; }

div.pswp__img--placeholder, .pswp__img--with-bg { background:#222; }

.pswp__top-bar { width:100%; display:flex; flex-direction:row; justify-content:flex-end; z-index:10; pointer-events:none !important; }
.pswp__top-bar > * { pointer-events:auto; will-change:opacity; }

/* Arrow buttons */

.pswp__button--arrow:disabled { display:none; cursor:default; }
.pswp--has_mouse .pswp__button--arrow { visibility:visible; }

.pswp--zoom-allowed .pswp__button--zoom { display:block; }

.pswp__preloader { position:relative; overflow:hidden; width:50px; height:60px; margin-right:auto; }
.pswp__preloader .pswp__icn { opacity:0; transition:opacity 0.2s linear; animation:pswp-clockwise 600ms linear infinite; }
.pswp__preloader--active .pswp__icn { opacity:0.85; }

@keyframes pswp-clockwise { 0% { transform:rotate(0deg); } 100% { transform:rotate(360deg); } }

.pswp--zoomed-in .pswp__zoom-icn-bar-v, .pswp__button--zoom,
.pswp--one-slide .pswp__button--arrow, .pswp--one-slide .pswp__counter, .pswp--zoom-allowed .pswp__button--zoom { display:none; }

.pswp__button--arrow { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); bottom:13px; padding:7px;}
.pswp__button--arrow .pswp__icn { height:22px; width:22px; fill:#333;}
.pswp__button--arrow--prev { margin-left:-28px;}
.pswp__button--arrow--next { margin-left:48px;}
.pswp__button--arrow--next .pswp__icn {  transform:scale(-1, 1); }
.pswp__counter {font-size:14px; position: absolute; bottom:16px; min-width:100px; left:50%; margin-left:-60px; background: #fff; height:41px; line-height:40px; padding:0 55px; border-radius:30px;}

