You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

fancyapp.less 20 kB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791
  1. .carousel {
  2. position: relative;
  3. box-sizing: border-box;
  4. }
  5. .carousel *,
  6. .carousel *:before,
  7. .carousel *:after {
  8. box-sizing: inherit;
  9. }
  10. .carousel.is-draggable {
  11. cursor: move;
  12. cursor: grab;
  13. }
  14. .carousel.is-dragging {
  15. cursor: move;
  16. cursor: grabbing;
  17. }
  18. .carousel__viewport {
  19. position: relative;
  20. overflow: hidden;
  21. max-width: 100%;
  22. max-height: 100%;
  23. }
  24. .carousel__track {
  25. display: flex;
  26. }
  27. .carousel__slide {
  28. flex: 0 0 auto;
  29. width: var(--carousel-slide-width, 60%);
  30. max-width: 100%;
  31. padding: 1rem;
  32. position: relative;
  33. overflow-x: hidden;
  34. overflow-y: auto;
  35. overscroll-behavior: contain;
  36. }
  37. .has-dots {
  38. margin-bottom: calc(0.5rem + 22px);
  39. }
  40. .carousel__dots {
  41. margin: 0 auto;
  42. padding: 0;
  43. position: absolute;
  44. top: calc(100% + 0.5rem);
  45. left: 0;
  46. right: 0;
  47. display: flex;
  48. justify-content: center;
  49. list-style: none;
  50. user-select: none;
  51. }
  52. .carousel__dots .carousel__dot {
  53. margin: 0;
  54. padding: 0;
  55. display: block;
  56. position: relative;
  57. width: 22px;
  58. height: 22px;
  59. cursor: pointer;
  60. }
  61. .carousel__dots .carousel__dot:after {
  62. content: "";
  63. width: 8px;
  64. height: 8px;
  65. border-radius: 50%;
  66. position: absolute;
  67. top: 50%;
  68. left: 50%;
  69. transform: translate(-50%, -50%);
  70. background-color: currentColor;
  71. opacity: 0.25;
  72. transition: opacity 0.15s ease-in-out;
  73. }
  74. .carousel__dots .carousel__dot.is-selected:after {
  75. opacity: 1;
  76. }
  77. .carousel__button {
  78. width: var(--carousel-button-width, 48px);
  79. height: var(--carousel-button-height, 48px);
  80. padding: 0;
  81. border: 0;
  82. display: flex;
  83. justify-content: center;
  84. align-items: center;
  85. pointer-events: all;
  86. cursor: pointer;
  87. color: var(--carousel-button-color, currentColor);
  88. background: var(--carousel-button-bg, transparent);
  89. border-radius: var(--carousel-button-border-radius, 50%);
  90. box-shadow: var(--carousel-button-shadow, none);
  91. transition: opacity 0.15s ease;
  92. }
  93. .carousel__button.is-prev,
  94. .carousel__button.is-next {
  95. position: absolute;
  96. top: 50%;
  97. transform: translateY(-50%);
  98. }
  99. .carousel__button.is-prev {
  100. left: 10px;
  101. }
  102. .carousel__button.is-next {
  103. right: 10px;
  104. }
  105. .carousel__button[disabled] {
  106. cursor: default;
  107. opacity: 0.3;
  108. }
  109. .carousel__button svg {
  110. width: var(--carousel-button-svg-width, 50%);
  111. height: var(--carousel-button-svg-height, 50%);
  112. fill: none;
  113. stroke: currentColor;
  114. stroke-width: var(--carousel-button-svg-stroke-width, 1.5);
  115. stroke-linejoin: bevel;
  116. stroke-linecap: round;
  117. filter: var(--carousel-button-svg-filter, none);
  118. pointer-events: none;
  119. }
  120. html.with-fancybox {
  121. scroll-behavior: auto;
  122. }
  123. body.compensate-for-scrollbar {
  124. overflow: hidden !important;
  125. touch-action: none;
  126. }
  127. .fancybox__container {
  128. position: fixed;
  129. top: 0;
  130. left: 0;
  131. bottom: 0;
  132. right: 0;
  133. direction: ltr;
  134. margin: 0;
  135. padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px)
  136. env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);
  137. box-sizing: border-box;
  138. display: flex;
  139. flex-direction: column;
  140. color: var(--fancybox-color, #fff);
  141. -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  142. overflow: hidden;
  143. z-index: 1050;
  144. outline: none;
  145. transform-origin: top left;
  146. --carousel-button-width: 48px;
  147. --carousel-button-height: 48px;
  148. --carousel-button-svg-width: 24px;
  149. --carousel-button-svg-height: 24px;
  150. --carousel-button-svg-stroke-width: 2.5;
  151. --carousel-button-svg-filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.4));
  152. }
  153. .fancybox__container *,
  154. .fancybox__container *::before,
  155. .fancybox__container *::after {
  156. box-sizing: inherit;
  157. }
  158. .fancybox__container :focus {
  159. outline: none;
  160. }
  161. body:not(.is-using-mouse) .fancybox__container :focus {
  162. box-shadow: 0 0 0 1px #fff,
  163. 0 0 0 2px var(--fancybox-accent-color, rgba(1, 210, 232, 0.94));
  164. }
  165. @media all and (min-width: 1024px) {
  166. .fancybox__container {
  167. --carousel-button-width: 48px;
  168. --carousel-button-height: 48px;
  169. --carousel-button-svg-width: 27px;
  170. --carousel-button-svg-height: 27px;
  171. }
  172. }
  173. .fancybox__backdrop {
  174. position: absolute;
  175. top: 0;
  176. right: 0;
  177. bottom: 0;
  178. left: 0;
  179. z-index: -1;
  180. background: var(--fancybox-bg, rgba(24, 24, 27, 0.92));
  181. }
  182. .fancybox__carousel {
  183. position: relative;
  184. flex: 1 1 auto;
  185. min-height: 0;
  186. height: 100%;
  187. z-index: 10;
  188. }
  189. .fancybox__carousel.has-dots {
  190. margin-bottom: calc(0.5rem + 22px);
  191. }
  192. .fancybox__viewport {
  193. position: relative;
  194. width: 100%;
  195. height: 100%;
  196. overflow: visible;
  197. cursor: default;
  198. }
  199. .fancybox__track {
  200. display: flex;
  201. height: 100%;
  202. }
  203. .fancybox__slide {
  204. flex: 0 0 auto;
  205. width: 100%;
  206. max-width: 100%;
  207. margin: 0;
  208. padding: 48px 8px 8px 8px;
  209. position: relative;
  210. overscroll-behavior: contain;
  211. display: flex;
  212. flex-direction: column;
  213. outline: 0;
  214. overflow: auto;
  215. --carousel-button-width: 36px;
  216. --carousel-button-height: 36px;
  217. --carousel-button-svg-width: 22px;
  218. --carousel-button-svg-height: 22px;
  219. }
  220. .fancybox__slide::before,
  221. .fancybox__slide::after {
  222. content: "";
  223. flex: 0 0 0;
  224. margin: auto;
  225. }
  226. @media all and (min-width: 1024px) {
  227. .fancybox__slide {
  228. padding: 64px 100px;
  229. }
  230. }
  231. .fancybox__content {
  232. margin: 0 env(safe-area-inset-right, 0px) 0 env(safe-area-inset-left, 0px);
  233. padding: 36px;
  234. color: var(--fancybox-content-color, #374151);
  235. background: var(--fancybox-content-bg, #fff);
  236. position: relative;
  237. align-self: center;
  238. display: flex;
  239. flex-direction: column;
  240. z-index: 20;
  241. }
  242. .fancybox__content :focus:not(.carousel__button.is-close) {
  243. outline: thin dotted;
  244. box-shadow: none;
  245. }
  246. .fancybox__caption {
  247. align-self: center;
  248. max-width: 100%;
  249. margin: 0;
  250. padding: 1rem 0 0 0;
  251. line-height: 1.375;
  252. color: var(--fancybox-color, currentColor);
  253. visibility: visible;
  254. cursor: auto;
  255. flex-shrink: 0;
  256. overflow-wrap: anywhere;
  257. }
  258. .is-loading .fancybox__caption {
  259. visibility: hidden;
  260. }
  261. .fancybox__container > .carousel__dots {
  262. top: 100%;
  263. color: var(--fancybox-color, #fff);
  264. }
  265. .fancybox__nav .carousel__button {
  266. z-index: 40;
  267. }
  268. .fancybox__nav .carousel__button.is-next {
  269. right: 8px;
  270. }
  271. @media all and (min-width: 1024px) {
  272. .fancybox__nav .carousel__button.is-next {
  273. right: 40px;
  274. }
  275. }
  276. .fancybox__nav .carousel__button.is-prev {
  277. left: 8px;
  278. }
  279. @media all and (min-width: 1024px) {
  280. .fancybox__nav .carousel__button.is-prev {
  281. left: 40px;
  282. }
  283. }
  284. .carousel__button.is-close {
  285. position: absolute;
  286. top: 8px;
  287. right: 8px;
  288. top: calc(env(safe-area-inset-top, 0px) + 8px);
  289. right: calc(env(safe-area-inset-right, 0px) + 8px);
  290. z-index: 40;
  291. }
  292. @media all and (min-width: 1024px) {
  293. .carousel__button.is-close {
  294. right: 40px;
  295. }
  296. }
  297. .fancybox__content > .carousel__button.is-close {
  298. position: absolute;
  299. top: -40px;
  300. right: 0;
  301. color: var(--fancybox-color, #fff);
  302. }
  303. .fancybox__no-click,
  304. .fancybox__no-click button {
  305. pointer-events: none;
  306. }
  307. .fancybox__spinner {
  308. position: absolute;
  309. top: 50%;
  310. left: 50%;
  311. transform: translate(-50%, -50%);
  312. width: 50px;
  313. height: 50px;
  314. color: var(--fancybox-color, currentColor);
  315. }
  316. .fancybox__slide .fancybox__spinner {
  317. cursor: pointer;
  318. z-index: 1053;
  319. }
  320. .fancybox__spinner svg {
  321. animation: fancybox-rotate 2s linear infinite;
  322. transform-origin: center center;
  323. position: absolute;
  324. top: 0;
  325. right: 0;
  326. bottom: 0;
  327. left: 0;
  328. margin: auto;
  329. width: 100%;
  330. height: 100%;
  331. }
  332. .fancybox__spinner svg circle {
  333. fill: none;
  334. stroke-width: 2.75;
  335. stroke-miterlimit: 10;
  336. stroke-dasharray: 1, 200;
  337. stroke-dashoffset: 0;
  338. animation: fancybox-dash 1.5s ease-in-out infinite;
  339. stroke-linecap: round;
  340. stroke: currentColor;
  341. }
  342. @keyframes fancybox-rotate {
  343. 100% {
  344. transform: rotate(360deg);
  345. }
  346. }
  347. @keyframes fancybox-dash {
  348. 0% {
  349. stroke-dasharray: 1, 200;
  350. stroke-dashoffset: 0;
  351. }
  352. 50% {
  353. stroke-dasharray: 89, 200;
  354. stroke-dashoffset: -35px;
  355. }
  356. 100% {
  357. stroke-dasharray: 89, 200;
  358. stroke-dashoffset: -124px;
  359. }
  360. }
  361. .fancybox__backdrop,
  362. .fancybox__caption,
  363. .fancybox__nav,
  364. .carousel__dots,
  365. .carousel__button.is-close {
  366. opacity: var(--fancybox-opacity, 1);
  367. }
  368. .fancybox__container.is-animated[aria-hidden="false"] .fancybox__backdrop,
  369. .fancybox__container.is-animated[aria-hidden="false"] .fancybox__caption,
  370. .fancybox__container.is-animated[aria-hidden="false"] .fancybox__nav,
  371. .fancybox__container.is-animated[aria-hidden="false"] .carousel__dots,
  372. .fancybox__container.is-animated[aria-hidden="false"]
  373. .carousel__button.is-close {
  374. animation: 0.15s ease backwards fancybox-fadeIn;
  375. }
  376. .fancybox__container.is-animated.is-closing .fancybox__backdrop,
  377. .fancybox__container.is-animated.is-closing .fancybox__caption,
  378. .fancybox__container.is-animated.is-closing .fancybox__nav,
  379. .fancybox__container.is-animated.is-closing .carousel__dots,
  380. .fancybox__container.is-animated.is-closing .carousel__button.is-close {
  381. animation: 0.15s ease both fancybox-fadeOut;
  382. }
  383. .fancybox-fadeIn {
  384. animation: 0.15s ease both fancybox-fadeIn;
  385. }
  386. .fancybox-fadeOut {
  387. animation: 0.1s ease both fancybox-fadeOut;
  388. }
  389. .fancybox-zoomInUp {
  390. animation: 0.2s ease both fancybox-zoomInUp;
  391. }
  392. .fancybox-zoomOutDown {
  393. animation: 0.15s ease both fancybox-zoomOutDown;
  394. }
  395. .fancybox-throwOutUp {
  396. animation: 0.15s ease both fancybox-throwOutUp;
  397. }
  398. .fancybox-throwOutDown {
  399. animation: 0.15s ease both fancybox-throwOutDown;
  400. }
  401. @keyframes fancybox-fadeIn {
  402. from {
  403. opacity: 0;
  404. }
  405. to {
  406. opacity: 1;
  407. }
  408. }
  409. @keyframes fancybox-fadeOut {
  410. to {
  411. opacity: 0;
  412. }
  413. }
  414. @keyframes fancybox-zoomInUp {
  415. from {
  416. transform: scale(0.97) translate3d(0, 16px, 0);
  417. opacity: 0;
  418. }
  419. to {
  420. transform: scale(1) translate3d(0, 0, 0);
  421. opacity: 1;
  422. }
  423. }
  424. @keyframes fancybox-zoomOutDown {
  425. to {
  426. transform: scale(0.97) translate3d(0, 16px, 0);
  427. opacity: 0;
  428. }
  429. }
  430. @keyframes fancybox-throwOutUp {
  431. to {
  432. transform: translate3d(0, -30%, 0);
  433. opacity: 0;
  434. }
  435. }
  436. @keyframes fancybox-throwOutDown {
  437. to {
  438. transform: translate3d(0, 30%, 0);
  439. opacity: 0;
  440. }
  441. }
  442. .fancybox__carousel .carousel__slide {
  443. scrollbar-width: thin;
  444. scrollbar-color: #ccc rgba(255, 255, 255, 0.1);
  445. }
  446. .fancybox__carousel .carousel__slide::-webkit-scrollbar {
  447. width: 8px;
  448. height: 8px;
  449. }
  450. .fancybox__carousel .carousel__slide::-webkit-scrollbar-track {
  451. background-color: rgba(255, 255, 255, 0.1);
  452. }
  453. .fancybox__carousel .carousel__slide::-webkit-scrollbar-thumb {
  454. background-color: #ccc;
  455. border-radius: 2px;
  456. box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2);
  457. }
  458. .fancybox__carousel.is-draggable .fancybox__slide,
  459. .fancybox__carousel.is-draggable .fancybox__slide .fancybox__content {
  460. cursor: move;
  461. cursor: grab;
  462. }
  463. .fancybox__carousel.is-dragging .fancybox__slide,
  464. .fancybox__carousel.is-dragging .fancybox__slide .fancybox__content {
  465. cursor: move;
  466. cursor: grabbing;
  467. }
  468. .fancybox__carousel .fancybox__slide .fancybox__content {
  469. cursor: auto;
  470. }
  471. .fancybox__carousel .fancybox__slide.can-zoom_in .fancybox__content {
  472. cursor: zoom-in;
  473. }
  474. .fancybox__carousel .fancybox__slide.can-zoom_out .fancybox__content {
  475. cursor: zoom-out;
  476. }
  477. .fancybox__carousel .fancybox__slide.is-draggable .fancybox__content {
  478. cursor: move;
  479. cursor: grab;
  480. }
  481. .fancybox__carousel .fancybox__slide.is-dragging .fancybox__content {
  482. cursor: move;
  483. cursor: grabbing;
  484. }
  485. .fancybox__image {
  486. transform-origin: 0 0;
  487. user-select: none;
  488. transition: none;
  489. }
  490. .has-image .fancybox__content {
  491. padding: 0;
  492. background: rgba(0, 0, 0, 0);
  493. min-height: 1px;
  494. }
  495. .is-closing .has-image .fancybox__content {
  496. overflow: visible;
  497. }
  498. .has-image[data-image-fit="contain"] {
  499. overflow: visible;
  500. touch-action: none;
  501. }
  502. .has-image[data-image-fit="contain"] .fancybox__content {
  503. flex-direction: row;
  504. flex-wrap: wrap;
  505. }
  506. .has-image[data-image-fit="contain"] .fancybox__image {
  507. max-width: 100%;
  508. max-height: 100%;
  509. object-fit: contain;
  510. }
  511. .has-image[data-image-fit="contain-w"] {
  512. overflow-x: hidden;
  513. overflow-y: auto;
  514. }
  515. .has-image[data-image-fit="contain-w"] .fancybox__content {
  516. min-height: auto;
  517. }
  518. .has-image[data-image-fit="contain-w"] .fancybox__image {
  519. max-width: 100%;
  520. height: auto;
  521. }
  522. .has-image[data-image-fit="cover"] {
  523. overflow: visible;
  524. touch-action: none;
  525. }
  526. .has-image[data-image-fit="cover"] .fancybox__content {
  527. width: 100%;
  528. height: 100%;
  529. }
  530. .has-image[data-image-fit="cover"] .fancybox__image {
  531. width: 100%;
  532. height: 100%;
  533. object-fit: cover;
  534. }
  535. .fancybox__carousel .fancybox__slide.has-iframe .fancybox__content,
  536. .fancybox__carousel .fancybox__slide.has-map .fancybox__content,
  537. .fancybox__carousel .fancybox__slide.has-pdf .fancybox__content,
  538. .fancybox__carousel .fancybox__slide.has-video .fancybox__content,
  539. .fancybox__carousel .fancybox__slide.has-html5video .fancybox__content {
  540. max-width: 100%;
  541. flex-shrink: 1;
  542. min-height: 1px;
  543. overflow: visible;
  544. }
  545. .fancybox__carousel .fancybox__slide.has-iframe .fancybox__content,
  546. .fancybox__carousel .fancybox__slide.has-map .fancybox__content,
  547. .fancybox__carousel .fancybox__slide.has-pdf .fancybox__content {
  548. width: 100%;
  549. height: 80%;
  550. }
  551. .fancybox__carousel .fancybox__slide.has-video .fancybox__content,
  552. .fancybox__carousel .fancybox__slide.has-html5video .fancybox__content {
  553. width: 960px;
  554. height: 540px;
  555. max-width: 100%;
  556. max-height: 100%;
  557. }
  558. .fancybox__carousel .fancybox__slide.has-map .fancybox__content,
  559. .fancybox__carousel .fancybox__slide.has-pdf .fancybox__content,
  560. .fancybox__carousel .fancybox__slide.has-video .fancybox__content,
  561. .fancybox__carousel .fancybox__slide.has-html5video .fancybox__content {
  562. padding: 0;
  563. background: rgba(24, 24, 27, 0.9);
  564. color: #fff;
  565. }
  566. .fancybox__carousel .fancybox__slide.has-map .fancybox__content {
  567. background: #e5e3df;
  568. }
  569. .fancybox__html5video,
  570. .fancybox__iframe {
  571. border: 0;
  572. display: block;
  573. height: 100%;
  574. width: 100%;
  575. background: rgba(0, 0, 0, 0);
  576. }
  577. .fancybox-placeholder {
  578. position: absolute;
  579. width: 1px;
  580. height: 1px;
  581. padding: 0;
  582. margin: -1px;
  583. overflow: hidden;
  584. clip: rect(0, 0, 0, 0);
  585. white-space: nowrap;
  586. border-width: 0;
  587. }
  588. .fancybox__thumbs {
  589. flex: 0 0 auto;
  590. position: relative;
  591. padding: 0px 3px;
  592. opacity: var(--fancybox-opacity, 1);
  593. }
  594. .fancybox__container.is-animated[aria-hidden="false"] .fancybox__thumbs {
  595. animation: 0.15s ease-in backwards fancybox-fadeIn;
  596. }
  597. .fancybox__container.is-animated.is-closing .fancybox__thumbs {
  598. opacity: 0;
  599. }
  600. .fancybox__thumbs .carousel__slide {
  601. flex: 0 0 auto;
  602. width: var(--fancybox-thumbs-width, 96px);
  603. margin: 0;
  604. padding: 8px 3px;
  605. box-sizing: content-box;
  606. display: flex;
  607. align-items: center;
  608. justify-content: center;
  609. overflow: visible;
  610. cursor: pointer;
  611. }
  612. .fancybox__thumbs .carousel__slide .fancybox__thumb::after {
  613. content: "";
  614. position: absolute;
  615. top: 0;
  616. left: 0;
  617. right: 0;
  618. bottom: 0;
  619. border-width: 5px;
  620. border-style: solid;
  621. border-color: var(--fancybox-accent-color, rgba(34, 213, 233, 0.96));
  622. opacity: 0;
  623. transition: opacity 0.15s ease;
  624. border-radius: var(--fancybox-thumbs-border-radius, 4px);
  625. }
  626. .fancybox__thumbs .carousel__slide.is-nav-selected .fancybox__thumb::after {
  627. opacity: 0.92;
  628. }
  629. .fancybox__thumbs .carousel__slide > * {
  630. pointer-events: none;
  631. user-select: none;
  632. }
  633. .fancybox__thumb {
  634. position: relative;
  635. width: 100%;
  636. padding-top: calc(100% / (var(--fancybox-thumbs-ratio, 1.5)));
  637. background-size: cover;
  638. background-position: center center;
  639. background-color: rgba(255, 255, 255, 0.1);
  640. background-repeat: no-repeat;
  641. border-radius: var(--fancybox-thumbs-border-radius, 4px);
  642. }
  643. .fancybox__toolbar {
  644. position: absolute;
  645. top: 0;
  646. right: 0;
  647. left: 0;
  648. z-index: 20;
  649. background: linear-gradient(
  650. to top,
  651. hsla(0deg, 0%, 0%, 0) 0%,
  652. hsla(0deg, 0%, 0%, 0.006) 8.1%,
  653. hsla(0deg, 0%, 0%, 0.021) 15.5%,
  654. hsla(0deg, 0%, 0%, 0.046) 22.5%,
  655. hsla(0deg, 0%, 0%, 0.077) 29%,
  656. hsla(0deg, 0%, 0%, 0.114) 35.3%,
  657. hsla(0deg, 0%, 0%, 0.155) 41.2%,
  658. hsla(0deg, 0%, 0%, 0.198) 47.1%,
  659. hsla(0deg, 0%, 0%, 0.242) 52.9%,
  660. hsla(0deg, 0%, 0%, 0.285) 58.8%,
  661. hsla(0deg, 0%, 0%, 0.326) 64.7%,
  662. hsla(0deg, 0%, 0%, 0.363) 71%,
  663. hsla(0deg, 0%, 0%, 0.394) 77.5%,
  664. hsla(0deg, 0%, 0%, 0.419) 84.5%,
  665. hsla(0deg, 0%, 0%, 0.434) 91.9%,
  666. hsla(0deg, 0%, 0%, 0.44) 100%
  667. );
  668. padding: 0;
  669. touch-action: none;
  670. display: flex;
  671. justify-content: space-between;
  672. --carousel-button-svg-width: 20px;
  673. --carousel-button-svg-height: 20px;
  674. opacity: var(--fancybox-opacity, 1);
  675. text-shadow: var(
  676. --fancybox-toolbar-text-shadow,
  677. 1px 1px 1px rgba(0, 0, 0, 0.4)
  678. );
  679. }
  680. @media all and (min-width: 1024px) {
  681. .fancybox__toolbar {
  682. padding: 8px;
  683. }
  684. }
  685. .fancybox__container.is-animated[aria-hidden="false"] .fancybox__toolbar {
  686. animation: 0.15s ease-in backwards fancybox-fadeIn;
  687. }
  688. .fancybox__container.is-animated.is-closing .fancybox__toolbar {
  689. opacity: 0;
  690. }
  691. .fancybox__toolbar__items {
  692. display: flex;
  693. }
  694. .fancybox__toolbar__items--left {
  695. margin-right: auto;
  696. }
  697. .fancybox__toolbar__items--center {
  698. position: absolute;
  699. left: 50%;
  700. transform: translateX(-50%);
  701. }
  702. .fancybox__toolbar__items--right {
  703. margin-left: auto;
  704. }
  705. @media (max-width: 640px) {
  706. .fancybox__toolbar__items--center:not(:last-child) {
  707. display: none;
  708. }
  709. }
  710. .fancybox__counter {
  711. min-width: 72px;
  712. padding: 0 10px;
  713. line-height: var(--carousel-button-height, 48px);
  714. text-align: center;
  715. font-size: 17px;
  716. font-variant-numeric: tabular-nums;
  717. -webkit-font-smoothing: subpixel-antialiased;
  718. }
  719. .fancybox__progress {
  720. background: var(--fancybox-accent-color, rgba(34, 213, 233, 0.96));
  721. height: 3px;
  722. left: 0;
  723. position: absolute;
  724. right: 0;
  725. top: 0;
  726. transform: scaleX(0);
  727. transform-origin: 0;
  728. transition-property: transform;
  729. transition-timing-function: linear;
  730. z-index: 30;
  731. user-select: none;
  732. }
  733. .fancybox__container:fullscreen::backdrop {
  734. opacity: 0;
  735. }
  736. .fancybox__button--fullscreen g:nth-child(2) {
  737. display: none;
  738. }
  739. .fancybox__container:fullscreen .fancybox__button--fullscreen g:nth-child(1) {
  740. display: none;
  741. }
  742. .fancybox__container:fullscreen .fancybox__button--fullscreen g:nth-child(2) {
  743. display: block;
  744. }
  745. .fancybox__button--slideshow g:nth-child(2) {
  746. display: none;
  747. }
  748. .fancybox__container.has-slideshow .fancybox__button--slideshow g:nth-child(1) {
  749. display: none;
  750. }
  751. .fancybox__container.has-slideshow .fancybox__button--slideshow g:nth-child(2) {
  752. display: block;
  753. }
  754. .gallery img {
  755. cursor: zoom-in;
  756. }
  757. .fancybox__container {
  758. --fancybox-bg: rgba(193, 201, 210, 0.7);
  759. }
  760. .fancybox-zoomOut {
  761. animation: 0.2s ease-in-out fancybox-zoomOut both;
  762. }
  763. .fancybox-zoomIn {
  764. animation: 0.25s ease-in-out fancybox-zoomIn both;
  765. }
  766. @keyframes fancybox-zoomIn {
  767. from {
  768. opacity: 0;
  769. transform: scale3d(0.8, 0.8, 0.8);
  770. }
  771. 100% {
  772. opacity: 1;
  773. }
  774. }
  775. @keyframes fancybox-zoomOut {
  776. from {
  777. opacity: 1;
  778. }
  779. to {
  780. opacity: 0;
  781. transform: scale3d(0.8, 0.8, 0.8);
  782. }
  783. }