123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420 |
- /*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */
- .pswp {
- --pswp-bg: #000;
- --pswp-placeholder-bg: #222;
- --pswp-root-z-index: 100000;
- --pswp-preloader-color: rgba(79, 79, 79, 0.4);
- --pswp-preloader-color-secondary: rgba(255, 255, 255, 0.9);
- /* defined via js:
- --pswp-transition-duration: 333ms; */
- --pswp-icon-color: #fff;
- --pswp-icon-color-secondary: #4f4f4f;
- --pswp-icon-stroke-color: #4f4f4f;
- --pswp-icon-stroke-width: 2px;
- --pswp-error-text-color: var(--pswp-icon-color);
- }
- /*
- Styles for basic PhotoSwipe (pswp) functionality (sliding area, open/close transitions)
- */
- .pswp {
- position: fixed;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- z-index: var(--pswp-root-z-index);
- display: none;
- touch-action: none;
- outline: 0;
- opacity: 0.003;
- contain: layout style size;
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
- }
- /* Prevents focus outline on the root element,
- (it may be focused initially) */
- .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 {
- opacity: 0.005;
- background: var(--pswp-bg);
- }
- .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;
- }
- /* :active to override grabbing cursor */
- .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;
- }
- /* Prevent selection and tap highlights */
- .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 for fade transition */
- z-index: 1;
- overflow: hidden;
- }
- .pswp__hidden {
- display: none !important;
- }
- /* Allow to click through pswp__content element, but not its children */
- .pswp__content {
- pointer-events: none;
- }
- .pswp__content > * {
- pointer-events: auto;
- }
- /*
- PhotoSwipe UI
- */
- /*
- Error message appears when image is not loaded
- (JS option errorMsg controls markup)
- */
- .pswp__error-msg-container {
- display: grid;
- }
- .pswp__error-msg {
- margin: auto;
- font-size: 1em;
- line-height: 1;
- color: var(--pswp-error-text-color);
- }
- /*
- class pswp__hide-on-close is applied to elements that
- should hide (for example fade out) when PhotoSwipe is closed
- and show (for example fade in) when PhotoSwipe is opened
- */
- .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; /* always overlap slide content */
- pointer-events: none; /* hidden elements should not be clickable */
- }
- /* class pswp--ui-visible is added when opening or closing transition starts */
- .pswp--ui-visible .pswp__hide-on-close {
- opacity: 1;
- pointer-events: auto;
- }
- /* <button> styles, including css reset */
- .pswp__button {
- position: relative;
- display: block;
- width: 50px;
- height: 60px;
- padding: 0;
- margin: 0;
- overflow: hidden;
- cursor: pointer;
- background: none;
- border: 0;
- box-shadow: none;
- opacity: 0.85;
- -webkit-appearance: none;
- -webkit-touch-callout: none;
- }
- .pswp__button:hover,
- .pswp__button:active,
- .pswp__button:focus {
- transition: none;
- padding: 0;
- background: none;
- border: 0;
- box-shadow: none;
- opacity: 1;
- }
- .pswp__button:disabled {
- opacity: 0.3;
- cursor: auto;
- }
- .pswp__icn {
- fill: var(--pswp-icon-color);
- color: var(--pswp-icon-color-secondary);
- }
- .pswp__icn {
- position: absolute;
- top: 14px;
- left: 9px;
- width: 32px;
- height: 32px;
- overflow: hidden;
- pointer-events: none;
- }
- .pswp__icn-shadow {
- stroke: var(--pswp-icon-stroke-color);
- stroke-width: var(--pswp-icon-stroke-width);
- fill: none;
- }
- .pswp__icn:focus {
- outline: 0;
- }
- /*
- div element that matches size of large image,
- large image loads on top of it,
- used when msrc is not provided
- */
- div.pswp__img--placeholder,
- .pswp__img--with-bg {
- background: var(--pswp-placeholder-bg);
- }
- .pswp__top-bar {
- position: absolute;
- left: 0;
- top: 0;
- width: 100%;
- height: 60px;
- display: flex;
- flex-direction: row;
- justify-content: flex-end;
- z-index: 10;
- /* allow events to pass through top bar itself */
- pointer-events: none !important;
- }
- .pswp__top-bar > * {
- pointer-events: auto;
- /* this makes transition significantly more smooth,
- even though inner elements are not animated */
- will-change: opacity;
- }
- /*
- Close button
- */
- .pswp__button--close {
- margin-right: 6px;
- }
- /*
- Arrow buttons
- */
- .pswp__button--arrow {
- position: absolute;
- top: 0;
- width: 75px;
- height: 100px;
- top: 50%;
- margin-top: -50px;
- }
- .pswp__button--arrow:disabled {
- display: none;
- cursor: default;
- }
- .pswp__button--arrow .pswp__icn {
- top: 50%;
- margin-top: -30px;
- width: 60px;
- height: 60px;
- background: none;
- border-radius: 0;
- }
- .pswp--one-slide .pswp__button--arrow {
- display: none;
- }
- /* hide arrows on touch screens */
- .pswp--touch .pswp__button--arrow {
- visibility: hidden;
- }
- /* show arrows only after mouse was used */
- .pswp--has_mouse .pswp__button--arrow {
- visibility: visible;
- }
- .pswp__button--arrow--prev {
- right: auto;
- left: 0px;
- }
- .pswp__button--arrow--next {
- right: 0px;
- }
- .pswp__button--arrow--next .pswp__icn {
- left: auto;
- right: 14px;
- /* flip horizontally */
- transform: scale(-1, 1);
- }
- /*
- Zoom button
- */
- .pswp__button--zoom {
- display: none;
- }
- .pswp--zoom-allowed .pswp__button--zoom {
- display: block;
- }
- /* "+" => "-" */
- .pswp--zoomed-in .pswp__zoom-icn-bar-v {
- display: none;
- }
- /*
- Loading indicator
- */
- .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); }
- }
- /*
- "1 of 10" counter
- */
- .pswp__counter {
- height: 30px;
- margin-top: 15px;
- margin-inline-start: 20px;
- font-size: 14px;
- line-height: 30px;
- color: var(--pswp-icon-color);
- text-shadow: 1px 1px 3px var(--pswp-icon-color-secondary);
- opacity: 0.85;
- }
- .pswp--one-slide .pswp__counter {
- display: none;
- }
|