swiper.less 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734
  1. /**
  2. * Swiper 11.1.14
  3. * Most modern mobile touch slider and framework with hardware accelerated transitions
  4. * https://swiperjs.com
  5. *
  6. * Copyright 2014-2024 Vladimir Kharlampidi
  7. *
  8. * Released under the MIT License
  9. *
  10. * Released on: September 12, 2024
  11. */
  12. /* FONT_START */
  13. @font-face {
  14. font-family: 'swiper-icons';
  15. src: url('data:application/font-woff;charset=utf-8;base64, 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');
  16. font-weight: 400;
  17. font-style: normal;
  18. }
  19. /* FONT_END */
  20. :root {
  21. --swiper-theme-color: @themeColor;
  22. /*
  23. --swiper-preloader-color: var(--swiper-theme-color);
  24. --swiper-wrapper-transition-timing-function: initial;
  25. */
  26. }
  27. :host {
  28. position: relative;
  29. display: block;
  30. margin-left: auto;
  31. margin-right: auto;
  32. z-index: 1;
  33. }
  34. .swiper, .swiper-container {
  35. margin-left: auto;
  36. margin-right: auto;
  37. position: relative;
  38. overflow: hidden;
  39. list-style: none;
  40. padding: 0;
  41. /* Fix of Webkit flickering */
  42. z-index: 1;
  43. display: block;
  44. }
  45. .swiper-vertical > .swiper-wrapper {
  46. flex-direction: column;
  47. }
  48. .swiper-wrapper {
  49. position: relative;
  50. width: 100%;
  51. height: 100%;
  52. z-index: 1;
  53. display: flex;
  54. transition-property: transform;
  55. transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  56. box-sizing: content-box;
  57. }
  58. .swiper-android .swiper-slide,
  59. .swiper-ios .swiper-slide,
  60. .swiper-wrapper {
  61. transform: translate3d(0px, 0, 0);
  62. }
  63. .swiper-horizontal {
  64. touch-action: pan-y;
  65. }
  66. .swiper-vertical {
  67. touch-action: pan-x;
  68. }
  69. .swiper-slide {
  70. flex-shrink: 0;
  71. width: 100%;
  72. height: 100%;
  73. position: relative;
  74. transition-property: transform;
  75. display: block;
  76. }
  77. .swiper-slide-invisible-blank {
  78. visibility: hidden;
  79. }
  80. /* Auto Height */
  81. .swiper-autoheight,
  82. .swiper-autoheight .swiper-slide {
  83. height: auto;
  84. }
  85. .swiper-autoheight .swiper-wrapper {
  86. align-items: flex-start;
  87. transition-property: transform, height;
  88. }
  89. .swiper-backface-hidden .swiper-slide {
  90. transform: translateZ(0);
  91. -webkit-backface-visibility: hidden;
  92. backface-visibility: hidden;
  93. }
  94. /* 3D Effects */
  95. .swiper-3d.swiper-css-mode .swiper-wrapper {
  96. perspective: 1200px;
  97. }
  98. .swiper-3d .swiper-wrapper {
  99. transform-style: preserve-3d;
  100. }
  101. .swiper-3d {
  102. perspective: 1200px;
  103. }
  104. .swiper-3d .swiper-slide,
  105. .swiper-3d .swiper-cube-shadow {
  106. transform-style: preserve-3d;
  107. }
  108. /* CSS Mode */
  109. .swiper-css-mode > .swiper-wrapper {
  110. overflow: auto;
  111. scrollbar-width: none;
  112. /* For Firefox */
  113. -ms-overflow-style: none;
  114. /* For Internet Explorer and Edge */
  115. }
  116. .swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  117. display: none;
  118. }
  119. .swiper-css-mode > .swiper-wrapper > .swiper-slide {
  120. scroll-snap-align: start start;
  121. }
  122. .swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  123. scroll-snap-type: x mandatory;
  124. }
  125. .swiper-css-mode.swiper-vertical > .swiper-wrapper {
  126. scroll-snap-type: y mandatory;
  127. }
  128. .swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  129. scroll-snap-type: none;
  130. }
  131. .swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  132. scroll-snap-align: none;
  133. }
  134. .swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  135. content: '';
  136. flex-shrink: 0;
  137. order: 9999;
  138. }
  139. .swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  140. scroll-snap-align: center center;
  141. scroll-snap-stop: always;
  142. }
  143. .swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  144. margin-inline-start: var(--swiper-centered-offset-before);
  145. }
  146. .swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  147. height: 100%;
  148. min-height: 1px;
  149. width: var(--swiper-centered-offset-after);
  150. }
  151. .swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  152. margin-block-start: var(--swiper-centered-offset-before);
  153. }
  154. .swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  155. width: 100%;
  156. min-width: 1px;
  157. height: var(--swiper-centered-offset-after);
  158. }
  159. /* Slide styles start */
  160. /* 3D Shadows */
  161. .swiper-3d .swiper-slide-shadow,
  162. .swiper-3d .swiper-slide-shadow-left,
  163. .swiper-3d .swiper-slide-shadow-right,
  164. .swiper-3d .swiper-slide-shadow-top,
  165. .swiper-3d .swiper-slide-shadow-bottom,
  166. .swiper-3d .swiper-slide-shadow,
  167. .swiper-3d .swiper-slide-shadow-left,
  168. .swiper-3d .swiper-slide-shadow-right,
  169. .swiper-3d .swiper-slide-shadow-top,
  170. .swiper-3d .swiper-slide-shadow-bottom {
  171. position: absolute;
  172. left: 0;
  173. top: 0;
  174. width: 100%;
  175. height: 100%;
  176. pointer-events: none;
  177. z-index: 10;
  178. }
  179. .swiper-3d .swiper-slide-shadow {
  180. background: rgba(0, 0, 0, 0.15);
  181. }
  182. .swiper-3d .swiper-slide-shadow-left {
  183. background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  184. }
  185. .swiper-3d .swiper-slide-shadow-right {
  186. background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  187. }
  188. .swiper-3d .swiper-slide-shadow-top {
  189. background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  190. }
  191. .swiper-3d .swiper-slide-shadow-bottom {
  192. background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  193. }
  194. .swiper-lazy-preloader {
  195. width: 42px;
  196. height: 42px;
  197. position: absolute;
  198. left: 50%;
  199. top: 50%;
  200. margin-left: -21px;
  201. margin-top: -21px;
  202. z-index: 10;
  203. transform-origin: 50%;
  204. box-sizing: border-box;
  205. border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  206. border-radius: 50%;
  207. border-top-color: transparent;
  208. }
  209. .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
  210. .swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  211. animation: swiper-preloader-spin 1s infinite linear;
  212. }
  213. .swiper-lazy-preloader-white {
  214. --swiper-preloader-color: #fff;
  215. }
  216. .swiper-lazy-preloader-black {
  217. --swiper-preloader-color: #000;
  218. }
  219. @keyframes swiper-preloader-spin {
  220. 0% {
  221. transform: rotate(0deg);
  222. }
  223. 100% {
  224. transform: rotate(360deg);
  225. }
  226. }
  227. /* Slide styles end */
  228. .swiper-virtual .swiper-slide {
  229. -webkit-backface-visibility: hidden;
  230. transform: translateZ(0);
  231. }
  232. .swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  233. content: '';
  234. position: absolute;
  235. left: 0;
  236. top: 0;
  237. pointer-events: none;
  238. }
  239. .swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  240. height: 1px;
  241. width: var(--swiper-virtual-size);
  242. }
  243. .swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  244. width: 1px;
  245. height: var(--swiper-virtual-size);
  246. }
  247. :root {
  248. --swiper-navigation-size: 44px;
  249. --swiper-navigation-top-offset: 50%;
  250. --swiper-navigation-sides-offset: 10px;
  251. --swiper-navigation-color: var(--swiper-theme-color);
  252. }
  253. .swiper-button-prev,
  254. .swiper-button-next {
  255. position: absolute;
  256. top: var(--swiper-navigation-top-offset, 50%);
  257. width: calc(var(--swiper-navigation-size) / 44 * 27);
  258. height: var(--swiper-navigation-size);
  259. margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
  260. z-index: 10;
  261. cursor: pointer;
  262. display: flex;
  263. align-items: center;
  264. justify-content: center;
  265. color: var(--swiper-navigation-color, var(--swiper-theme-color));
  266. }
  267. .swiper-button-prev.swiper-button-disabled,
  268. .swiper-button-next.swiper-button-disabled {
  269. opacity: 0.35;
  270. cursor: auto;
  271. pointer-events: none;
  272. }
  273. .swiper-button-prev.swiper-button-hidden,
  274. .swiper-button-next.swiper-button-hidden {
  275. opacity: 0;
  276. cursor: auto;
  277. pointer-events: none;
  278. }
  279. .swiper-navigation-disabled .swiper-button-prev,
  280. .swiper-navigation-disabled .swiper-button-next {
  281. display: none !important;
  282. }
  283. .swiper-button-prev svg,
  284. .swiper-button-next svg {
  285. width: 100%;
  286. height: 100%;
  287. object-fit: contain;
  288. transform-origin: center;
  289. }
  290. .swiper-rtl .swiper-button-prev svg,
  291. .swiper-rtl .swiper-button-next svg {
  292. transform: rotate(180deg);
  293. }
  294. .swiper-button-prev,
  295. .swiper-rtl .swiper-button-next {
  296. left: var(--swiper-navigation-sides-offset, 10px);
  297. right: auto;
  298. }
  299. .swiper-button-next,
  300. .swiper-rtl .swiper-button-prev {
  301. right: var(--swiper-navigation-sides-offset, 10px);
  302. left: auto;
  303. }
  304. .swiper-button-lock {
  305. display: none;
  306. }
  307. /* Navigation font start */
  308. .swiper-button-prev:after,
  309. .swiper-button-next:after {
  310. font-family: swiper-icons;
  311. font-size: var(--swiper-navigation-size);
  312. text-transform: none !important;
  313. letter-spacing: 0;
  314. font-variant: initial;
  315. line-height: 1;
  316. }
  317. .swiper-button-prev:after,
  318. .swiper-rtl .swiper-button-next:after {
  319. content: 'prev';
  320. }
  321. .swiper-button-next,
  322. .swiper-rtl .swiper-button-prev {
  323. right: var(--swiper-navigation-sides-offset, 10px);
  324. left: auto;
  325. }
  326. .swiper-button-next:after,
  327. .swiper-rtl .swiper-button-prev:after {
  328. content: 'next';
  329. }
  330. /* Navigation font end */
  331. :root {
  332. --swiper-pagination-color: var(--swiper-theme-color);
  333. --swiper-pagination-left: auto;
  334. --swiper-pagination-right: 8px;
  335. --swiper-pagination-bottom: 8px;
  336. --swiper-pagination-top: auto;
  337. --swiper-pagination-fraction-color: inherit;
  338. --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
  339. --swiper-pagination-progressbar-size: 4px;
  340. --swiper-pagination-bullet-size: 8px;
  341. --swiper-pagination-bullet-width: 8px;
  342. --swiper-pagination-bullet-height: 8px;
  343. --swiper-pagination-bullet-border-radius: 50%;
  344. --swiper-pagination-bullet-inactive-color: #000;
  345. --swiper-pagination-bullet-inactive-opacity: 0.2;
  346. --swiper-pagination-bullet-opacity: 1;
  347. --swiper-pagination-bullet-horizontal-gap: 4px;
  348. --swiper-pagination-bullet-vertical-gap: 6px;
  349. }
  350. .swiper-pagination {
  351. position: absolute;
  352. text-align: center;
  353. transition: 300ms opacity;
  354. transform: translate3d(0, 0, 0);
  355. z-index: 10;
  356. }
  357. .swiper-pagination.swiper-pagination-hidden {
  358. opacity: 0;
  359. }
  360. .swiper-pagination-disabled > .swiper-pagination,
  361. .swiper-pagination.swiper-pagination-disabled {
  362. display: none !important;
  363. }
  364. /* Common Styles */
  365. .swiper-pagination-fraction,
  366. .swiper-pagination-custom,
  367. .swiper-horizontal > .swiper-pagination-bullets,
  368. .swiper-pagination-bullets.swiper-pagination-horizontal {
  369. bottom: var(--swiper-pagination-bottom, 8px);
  370. top: var(--swiper-pagination-top, auto);
  371. left: 0;
  372. width: 100%;
  373. }
  374. /* Bullets */
  375. .swiper-pagination-bullets-dynamic {
  376. overflow: hidden;
  377. font-size: 0;
  378. }
  379. .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  380. transform: scale(0.33);
  381. position: relative;
  382. }
  383. .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  384. transform: scale(1);
  385. }
  386. .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  387. transform: scale(1);
  388. }
  389. .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  390. transform: scale(0.66);
  391. }
  392. .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  393. transform: scale(0.33);
  394. }
  395. .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  396. transform: scale(0.66);
  397. }
  398. .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  399. transform: scale(0.33);
  400. }
  401. .swiper-pagination-bullet {
  402. width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  403. height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  404. display: inline-block;
  405. border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  406. background: var(--swiper-pagination-bullet-inactive-color, #000);
  407. opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
  408. }
  409. button.swiper-pagination-bullet {
  410. border: none;
  411. margin: 0;
  412. padding: 0;
  413. box-shadow: none;
  414. -webkit-appearance: none;
  415. appearance: none;
  416. }
  417. .swiper-pagination-clickable .swiper-pagination-bullet {
  418. cursor: pointer;
  419. }
  420. .swiper-pagination-bullet:only-child {
  421. display: none !important;
  422. }
  423. .swiper-pagination-bullet-active {
  424. opacity: var(--swiper-pagination-bullet-opacity, 1);
  425. background: var(--swiper-pagination-color, var(--swiper-theme-color));
  426. }
  427. .swiper-vertical > .swiper-pagination-bullets,
  428. .swiper-pagination-vertical.swiper-pagination-bullets {
  429. right: var(--swiper-pagination-right, 8px);
  430. left: var(--swiper-pagination-left, auto);
  431. top: 50%;
  432. transform: translate3d(0px, -50%, 0);
  433. }
  434. .swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
  435. .swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  436. margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  437. display: block;
  438. }
  439. .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
  440. .swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  441. top: 50%;
  442. transform: translateY(-50%);
  443. width: 8px;
  444. }
  445. .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
  446. .swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  447. display: inline-block;
  448. transition: 200ms transform,
  449. 200ms top;
  450. }
  451. .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
  452. .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  453. margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
  454. }
  455. .swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
  456. .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  457. left: 50%;
  458. transform: translateX(-50%);
  459. white-space: nowrap;
  460. }
  461. .swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
  462. .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  463. transition: 200ms transform,
  464. 200ms left;
  465. }
  466. .swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  467. transition: 200ms transform,
  468. 200ms right;
  469. }
  470. /* Fraction */
  471. .swiper-pagination-fraction {
  472. color: var(--swiper-pagination-fraction-color, inherit);
  473. }
  474. /* Progress */
  475. .swiper-pagination-progressbar {
  476. background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  477. position: absolute;
  478. }
  479. .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  480. background: var(--swiper-pagination-color, var(--swiper-theme-color));
  481. position: absolute;
  482. left: 0;
  483. top: 0;
  484. width: 100%;
  485. height: 100%;
  486. transform: scale(0);
  487. transform-origin: left top;
  488. }
  489. .swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  490. transform-origin: right top;
  491. }
  492. .swiper-horizontal > .swiper-pagination-progressbar,
  493. .swiper-pagination-progressbar.swiper-pagination-horizontal,
  494. .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
  495. .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  496. width: 100%;
  497. height: var(--swiper-pagination-progressbar-size, 4px);
  498. left: 0;
  499. top: 0;
  500. }
  501. .swiper-vertical > .swiper-pagination-progressbar,
  502. .swiper-pagination-progressbar.swiper-pagination-vertical,
  503. .swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
  504. .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  505. width: var(--swiper-pagination-progressbar-size, 4px);
  506. height: 100%;
  507. left: 0;
  508. top: 0;
  509. }
  510. .swiper-pagination-lock {
  511. display: none;
  512. }
  513. :root {
  514. /*
  515. --swiper-scrollbar-border-radius: 10px;
  516. --swiper-scrollbar-top: auto;
  517. --swiper-scrollbar-bottom: 4px;
  518. --swiper-scrollbar-left: auto;
  519. --swiper-scrollbar-right: 4px;
  520. --swiper-scrollbar-sides-offset: 1%;
  521. --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1);
  522. --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5);
  523. --swiper-scrollbar-size: 4px;
  524. */
  525. }
  526. .swiper-scrollbar {
  527. border-radius: var(--swiper-scrollbar-border-radius, 10px);
  528. position: relative;
  529. touch-action: none;
  530. background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
  531. }
  532. .swiper-scrollbar-disabled > .swiper-scrollbar,
  533. .swiper-scrollbar.swiper-scrollbar-disabled {
  534. display: none !important;
  535. }
  536. .swiper-horizontal > .swiper-scrollbar,
  537. .swiper-scrollbar.swiper-scrollbar-horizontal {
  538. position: absolute;
  539. left: var(--swiper-scrollbar-sides-offset, 1%);
  540. bottom: var(--swiper-scrollbar-bottom, 4px);
  541. top: var(--swiper-scrollbar-top, auto);
  542. z-index: 50;
  543. height: var(--swiper-scrollbar-size, 4px);
  544. width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
  545. }
  546. .swiper-vertical > .swiper-scrollbar,
  547. .swiper-scrollbar.swiper-scrollbar-vertical {
  548. position: absolute;
  549. left: var(--swiper-scrollbar-left, auto);
  550. right: var(--swiper-scrollbar-right, 4px);
  551. top: var(--swiper-scrollbar-sides-offset, 1%);
  552. z-index: 50;
  553. width: var(--swiper-scrollbar-size, 4px);
  554. height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
  555. }
  556. .swiper-scrollbar-drag {
  557. height: 100%;
  558. width: 100%;
  559. position: relative;
  560. background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  561. border-radius: var(--swiper-scrollbar-border-radius, 10px);
  562. left: 0;
  563. top: 0;
  564. }
  565. .swiper-scrollbar-cursor-drag {
  566. cursor: move;
  567. }
  568. .swiper-scrollbar-lock {
  569. display: none;
  570. }
  571. /* Zoom container styles start */
  572. .swiper-zoom-container {
  573. width: 100%;
  574. height: 100%;
  575. display: flex;
  576. justify-content: center;
  577. align-items: center;
  578. text-align: center;
  579. }
  580. .swiper-zoom-container > img,
  581. .swiper-zoom-container > svg,
  582. .swiper-zoom-container > canvas {
  583. max-width: 100%;
  584. max-height: 100%;
  585. object-fit: contain;
  586. }
  587. /* Zoom container styles end */
  588. .swiper-slide-zoomed {
  589. cursor: move;
  590. touch-action: none;
  591. }
  592. /* a11y */
  593. .swiper .swiper-notification {
  594. position: absolute;
  595. left: 0;
  596. top: 0;
  597. pointer-events: none;
  598. opacity: 0;
  599. z-index: -1000;
  600. }
  601. .swiper-free-mode > .swiper-wrapper {
  602. transition-timing-function: ease-out;
  603. margin: 0 auto;
  604. }
  605. .swiper-grid > .swiper-wrapper {
  606. flex-wrap: wrap;
  607. }
  608. .swiper-grid-column > .swiper-wrapper {
  609. flex-wrap: wrap;
  610. flex-direction: column;
  611. }
  612. .swiper-fade.swiper-free-mode .swiper-slide {
  613. transition-timing-function: ease-out;
  614. }
  615. .swiper-fade .swiper-slide {
  616. pointer-events: none;
  617. transition-property: opacity;
  618. }
  619. .swiper-fade .swiper-slide .swiper-slide {
  620. pointer-events: none;
  621. }
  622. .swiper-fade .swiper-slide-active {
  623. pointer-events: auto;
  624. }
  625. .swiper-fade .swiper-slide-active .swiper-slide-active {
  626. pointer-events: auto;
  627. }
  628. .swiper.swiper-cube {
  629. overflow: visible;
  630. }
  631. .swiper-cube .swiper-slide {
  632. pointer-events: none;
  633. -webkit-backface-visibility: hidden;
  634. backface-visibility: hidden;
  635. z-index: 1;
  636. visibility: hidden;
  637. transform-origin: 0 0;
  638. width: 100%;
  639. height: 100%;
  640. }
  641. .swiper-cube .swiper-slide .swiper-slide {
  642. pointer-events: none;
  643. }
  644. .swiper-cube.swiper-rtl .swiper-slide {
  645. transform-origin: 100% 0;
  646. }
  647. .swiper-cube .swiper-slide-active,
  648. .swiper-cube .swiper-slide-active .swiper-slide-active {
  649. pointer-events: auto;
  650. }
  651. .swiper-cube .swiper-slide-active,
  652. .swiper-cube .swiper-slide-next,
  653. .swiper-cube .swiper-slide-prev {
  654. pointer-events: auto;
  655. visibility: visible;
  656. }
  657. .swiper-cube .swiper-cube-shadow {
  658. position: absolute;
  659. left: 0;
  660. bottom: 0px;
  661. width: 100%;
  662. height: 100%;
  663. opacity: 0.6;
  664. z-index: 0;
  665. }
  666. .swiper-cube .swiper-cube-shadow:before {
  667. content: '';
  668. background: #000;
  669. position: absolute;
  670. left: 0;
  671. top: 0;
  672. bottom: 0;
  673. right: 0;
  674. filter: blur(50px);
  675. }
  676. .swiper-cube .swiper-slide-next + .swiper-slide {
  677. pointer-events: auto;
  678. visibility: visible;
  679. }
  680. /* Cube slide shadows start */
  681. .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top,
  682. .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
  683. .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
  684. .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right {
  685. z-index: 0;
  686. -webkit-backface-visibility: hidden;
  687. backface-visibility: hidden;
  688. }
  689. /* Cube slide shadows end */
  690. .swiper.swiper-flip {
  691. overflow: visible;
  692. }
  693. .swiper-flip .swiper-slide {
  694. pointer-events: none;
  695. -webkit-backface-visibility: hidden;
  696. backface-visibility: hidden;
  697. z-index: 1;
  698. }
  699. .swiper-flip .swiper-slide .swiper-slide {
  700. pointer-events: none;
  701. }
  702. .swiper-flip .swiper-slide-active,
  703. .swiper-flip .swiper-slide-active .swiper-slide-active {
  704. pointer-events: auto;
  705. }
  706. /* Flip slide shadows start */
  707. .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top,
  708. .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
  709. .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
  710. .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right {
  711. z-index: 0;
  712. -webkit-backface-visibility: hidden;
  713. backface-visibility: hidden;
  714. }
  715. /* Flip slide shadows end */
  716. .swiper-creative .swiper-slide {
  717. -webkit-backface-visibility: hidden;
  718. backface-visibility: hidden;
  719. overflow: hidden;
  720. transition-property: transform, opacity, height;
  721. }
  722. .swiper.swiper-cards {
  723. overflow: visible;
  724. }
  725. .swiper-cards .swiper-slide {
  726. transform-origin: center bottom;
  727. -webkit-backface-visibility: hidden;
  728. backface-visibility: hidden;
  729. overflow: hidden;
  730. }