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

375 lines
7.1 KiB

  1. @import '../../_global/styles/mixins';
  2. @import '../../_global/styles/vars';
  3. .slider {
  4. opacity: 0;
  5. transition: opacity 0.4s linear;
  6. &.initiated {
  7. opacity: 1;
  8. }
  9. &.single-slide {
  10. .controls {
  11. display: none;
  12. }
  13. }
  14. .slide-overflow {
  15. overflow: hidden;
  16. transition: height 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  17. }
  18. img.loading {
  19. opacity: 0;
  20. }
  21. img.loaded {
  22. transition: 0.3s ease;
  23. opacity: 1;
  24. }
  25. .slide-wrapper {
  26. position: relative;
  27. display: flex;
  28. align-items: flex-start;
  29. width: 10000%;
  30. contain: layout;
  31. &.no-transition {
  32. -webkit-user-select: none;
  33. -moz-user-select: none;
  34. -ms-user-select: none;
  35. user-select: none;
  36. .image-box:after {
  37. content: "";
  38. @include full-size;
  39. z-index: 2;
  40. }
  41. }
  42. img, a {
  43. -webkit-user-select: none;
  44. -moz-user-select: none;
  45. -ms-user-select: none;
  46. user-select: none;
  47. -webkit-user-drag: none;
  48. -moz-user-drag: none;
  49. }
  50. }
  51. .slide {
  52. position: relative;
  53. width: 1%;
  54. min-width: 1%;
  55. max-width: 1%;
  56. }
  57. .prev-clone,
  58. .next-clone {
  59. position: absolute;
  60. display: flex;
  61. width: 100%;
  62. }
  63. .prev-clone {
  64. position: absolute;
  65. right: 100%;
  66. justify-content: flex-end;
  67. }
  68. }
  69. .rotation {
  70. margin: var(--section-margin) auto;
  71. }
  72. .rotation .slider {
  73. position: relative;
  74. display: block;
  75. border-bottom: var(--border-width) solid var(--theme-color-secondary);
  76. background-color: var(--theme-color-primary);
  77. @media(max-width: 567px) {
  78. margin: var(--section-margin) calc(var(--container-padding) * -1);
  79. }
  80. .slide {
  81. &:not(.current) {
  82. height: 0;
  83. }
  84. &.text-only .outer {
  85. @media(max-width: 999px) {
  86. .text-box {
  87. min-height: calc(40vw + 100px);
  88. }
  89. }
  90. @media(min-width: 1000px) {
  91. &:after {
  92. content: "";
  93. position: relative;
  94. display: block;
  95. padding-top: calc(44.4444% - 13.3333px);
  96. }
  97. }
  98. }
  99. }
  100. .outer {
  101. margin: 0 -20px;
  102. display: flex;
  103. @media(max-width: 999px) {
  104. flex-direction: column;
  105. margin: 0;
  106. overflow: hidden;
  107. }
  108. &.download .text-box .btn:before {
  109. @include icon-small-download;
  110. }
  111. &.intranet .text-box .btn:before{
  112. @include icon-small-schloss;
  113. }
  114. &.extranet .text-box .btn:before{
  115. @include icon-small-stern;
  116. }
  117. &.extern .text-box .btn:before{
  118. @include icon-small-link-external;
  119. }
  120. }
  121. .image-box {
  122. position: relative;
  123. order: 1;
  124. flex: 1 1 100%;
  125. &:before {
  126. content: "";;
  127. position: relative;
  128. display: block;
  129. padding-top: 66.66667%;
  130. }
  131. > img, .gallery {
  132. position: absolute;
  133. left: 0;
  134. top: 0;
  135. height: 100%;
  136. width: 100%;
  137. object-fit: cover;
  138. }
  139. @media(min-width: 1000px) {
  140. padding-right: 20px;
  141. flex: 1 1 66.66667%;
  142. max-width: 66.66667%;
  143. > img, .gallery {
  144. width: calc(100% - 20px);
  145. left: 1px;
  146. }
  147. }
  148. }
  149. .copyright {
  150. position: absolute;
  151. display: block;
  152. left: 100%;
  153. bottom: 0;
  154. transform-origin: 0 100%;
  155. color: $color-white;
  156. color: var(--theme-color-background, $color-white);
  157. font-size: 12px;
  158. line-height: 1.2;
  159. text-shadow: 0px 0px 3px rgba($color-black, 0.6), 0px 0px 8px rgba($color-black, 0.6);
  160. z-index: 2;
  161. width: 66%;
  162. padding: 26px 8px;
  163. transform: rotate(-90deg);
  164. @media(max-width: 999px) {
  165. font-size: 10px;
  166. padding: 4px 6px;
  167. }
  168. }
  169. .text-box {
  170. position: relative;
  171. display: flex;
  172. flex-direction: column;
  173. justify-content: center;
  174. flex: 1 1 33.33333%;
  175. max-width: 33.3333%;
  176. min-width: 400px;
  177. color: var(--theme-color-background);
  178. z-index: 2;
  179. padding: 40px 20px 40px 80px;
  180. font-size: var(--font-size-small);
  181. @media(max-width: 1339px) {
  182. min-width: 360px;
  183. padding: 30px 10px 30px 60px;
  184. }
  185. @media(max-width: 1199px) and (min-width: 1000px) {
  186. min-height: 500px;
  187. font-size: 16px;
  188. }
  189. @media(max-width: 999px) {
  190. padding: 40px 40px 10px;
  191. min-width: 0;
  192. max-width: none;
  193. }
  194. @media(max-width: 567px) {
  195. padding: 28px var(--container-padding) 10px;
  196. }
  197. &:first-child {
  198. padding: 100px 80px;
  199. position: static;
  200. background-color: transparent;
  201. max-width: none;
  202. @media(max-width: 999px) {
  203. //justify-content: flex-start;
  204. padding: 40px;
  205. }
  206. @media(max-width: 567px) {
  207. padding: 28px 20px 100px;
  208. }
  209. &:after {
  210. content: "";
  211. background: linear-gradient(130deg, var(--theme-color-gradient-01) 10%, var(--theme-color-gradient-02) 80%, var(--theme-color-gradient-03) 100%);
  212. position: absolute;
  213. top: 0;
  214. left: 0;
  215. width: 100%;
  216. height: 800px;
  217. }
  218. > * {
  219. max-width: 800px;
  220. z-index: 1;
  221. }
  222. }
  223. &:not(:first-child):before {
  224. content: "";
  225. position: absolute;
  226. left: 0;
  227. right: 0;
  228. bottom: 0;
  229. background-color: var(--theme-color-primary);
  230. z-index: -1;
  231. @media(min-width: 1000px) {
  232. top: 0;
  233. margin: -15% -14% -15% 20px;
  234. border-top-right-radius: 28% 50%;
  235. border-bottom-right-radius: 28% 50%;
  236. }
  237. @media(max-width: 999px) {
  238. padding-top: 70%;
  239. margin-right: 0;
  240. margin: 0 -15% -8%;
  241. border-bottom-left-radius: 50% 28%;
  242. border-bottom-right-radius: 50% 28%;
  243. }
  244. }
  245. }
  246. .context-box {
  247. position: absolute;
  248. right: 0;
  249. top: 40px;
  250. z-index: 100;
  251. min-width: 100px;
  252. min-height: 47px;
  253. padding: 8px 10px 10px 10px;
  254. @include h4();
  255. margin: 0;
  256. text-align: right;
  257. color: var(--theme-color-white);
  258. background: linear-gradient(90deg, var(--theme-color-gradient-01) 25%,var(--theme-color-gradient-02) 57%,var(--theme-color-gradient-03) 112%);
  259. @media(max-width: 999px) {
  260. min-height: auto;
  261. }
  262. &--image {
  263. padding: 4px 10px;
  264. display: flex;
  265. img {
  266. height: 39px;
  267. }
  268. }
  269. }
  270. .image-box {
  271. .context-box {
  272. right: 20px;
  273. @media(max-width: 999px) {
  274. top: 110px;
  275. right: 0;
  276. }
  277. @media(max-width: 567px) {
  278. top: 60px;
  279. }
  280. @media(max-width: 319px) {
  281. top: 40px;
  282. }
  283. }
  284. }
  285. .text-box {
  286. &.context {
  287. @media(max-width: 767px) {
  288. padding-top: 100px;
  289. }
  290. }
  291. }
  292. .slider-tabs {
  293. position: absolute;
  294. display: flex;
  295. right: 0;
  296. bottom: 0;
  297. list-style: none;
  298. padding: 0;
  299. margin: 20px;
  300. .btn {
  301. --button-hover-shadow-opacity: 0.4;
  302. margin: 5px;
  303. font-size: var(--font-size-h4);
  304. @media(max-width: 767px) {
  305. margin: 4px;
  306. }
  307. }
  308. .active .btn {
  309. --button-bg-color: var(--theme-color-background);
  310. --button-text-color: var(--theme-color-primary);
  311. &:hover::after {
  312. box-shadow: none;
  313. }
  314. }
  315. }
  316. h2, .like-h2 {
  317. margin-top: 0.3em;
  318. margin-bottom: 0.4em;
  319. }
  320. .btn {
  321. margin-top: 0.8em;
  322. }
  323. .prev, .next, .count {
  324. display: none;
  325. }
  326. }