swiper.css 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. /**
  2. * Swiper 11.1.15
  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: November 18, 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: #007aff;
  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 {
  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 */