Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 
 

616 rader
11 KiB

  1. @use '../../_global/styles/mixins' as *;
  2. @use '../../_global/styles/vars' as *;
  3. .teasers:not([data-items="1"]) {
  4. position: relative;
  5. display: block;
  6. container-type: inline-size;
  7. @media(min-width: 1000px) {
  8. margin-bottom: -10px;
  9. }
  10. .ad-box {
  11. position: relative;
  12. img {
  13. position: relative;
  14. display: block;
  15. width: 100%;
  16. height: auto;
  17. }
  18. }
  19. * > .magazine-indicator {
  20. container-type: inline-size;
  21. }
  22. // Wird der noch genutzt?
  23. .magazine-indicator {
  24. //position: relative;
  25. display: inline-block;
  26. align-self: flex-start;
  27. font-family: "Korb", sans-serif;
  28. // background: linear-gradient(90deg, var(--theme-color-gradient-01) 20%, var(--theme-color-gradient-02) 70%, var(--theme-color-gradient-03) 100%);
  29. color: var(--swatches-neutrals-white);
  30. padding: 6px 12px;
  31. @include gradient;
  32. //margin: 6px 0 0;
  33. position: absolute;
  34. top: 100%;
  35. right:9px;
  36. margin: 0;
  37. min-width: 160px;
  38. img {
  39. position: relative;
  40. display: block;
  41. width: auto;
  42. height: 40px;
  43. }
  44. @media(max-width: 767px) {
  45. margin-bottom: 12px;
  46. }
  47. }
  48. &[data-type="hero"]{
  49. .image-box ~ .text-box, .image-box ~ .text-box .title {
  50. .magazine-indicator{
  51. top: -16px;
  52. }
  53. }
  54. }
  55. .image-box ~ .text-box {
  56. h4, .like-h4 {
  57. position: relative;
  58. .magazine-indicator{
  59. top: -40px;
  60. left: 0;
  61. right: auto;
  62. transform: translateY(-100%);
  63. }
  64. }
  65. }
  66. //@media(min-width: 768px), (max-width: 567px) {
  67. // .image-box ~ .magazine-indicator {
  68. // position: absolute;
  69. // top: -20px;
  70. // margin-top: 66.666%;
  71. // transform: translate(0, -100%);
  72. // z-index: 1;
  73. //
  74. //
  75. // top: -50px;
  76. // left: 0;
  77. // margin: 0;
  78. // display: inline-block;
  79. // transform: translateY(-100%);
  80. // min-width: 160px;
  81. //
  82. // }
  83. // &[data-type="hero"]{
  84. // .image-box ~ .magazine-indicator {
  85. // top: -60px;
  86. // }
  87. // }
  88. //
  89. // .kicker ~ .image-box ~ .magazine-indicator {
  90. // top: 12px;
  91. // }
  92. //}
  93. .button-wrapper {
  94. text-align: center;
  95. padding: calc(20px + 1%) 0 0;
  96. }
  97. &[data-type="masonry"] {
  98. .container {
  99. padding-bottom: calc(10px + 1vw);
  100. }
  101. .row {
  102. flex-wrap: nowrap;
  103. > .col {
  104. display: none;
  105. }
  106. }
  107. .column {
  108. flex: 1 1 100%;
  109. }
  110. .social-box {
  111. position: relative;
  112. display: block;
  113. min-height: 478px;
  114. font-size: 0;
  115. line-height: 0;
  116. > *:first-child {
  117. display: block;
  118. min-height: 450px;
  119. height: 450px !important;
  120. }
  121. }
  122. img.lazy {
  123. opacity: 0;
  124. transition: 0.3s ease;
  125. &.loaded {
  126. opacity: 1;
  127. }
  128. }
  129. }
  130. // Wird das noch genutzt?
  131. &[data-background="lightgrey"] {
  132. background-color: var(--theme-grey-light);
  133. padding: calc(2vw + 20px) 0;
  134. margin: calc(2.5vw + 20px) 0 calc(2vw + 20px);
  135. + .teasers[data-background="lightgrey"] {
  136. margin-top: calc(-2vw - 20px);
  137. padding-top: 20px;
  138. }
  139. &:first-child {
  140. margin-top: 0;
  141. }
  142. h2, .like-h2 {
  143. margin-top: 0 !important;
  144. }
  145. &[data-type="hero"] .teaser:not(.video-teaser-wrapper) .image-box ~ .text-box h4,
  146. &[data-type="hero"] .teaser:not(.video-teaser-wrapper) .image-box ~ .text-box .like-h4 {
  147. background-color: var(--theme-grey-light);
  148. }
  149. }
  150. @media(min-width: 568px) {
  151. &[data-items="2"] .col {
  152. max-width: 50%;
  153. }
  154. }
  155. @media(min-width: 768px) {
  156. &[data-items="3"] .col {
  157. max-width: 33.3333333%;
  158. }
  159. &[data-items="4"] .col {
  160. max-width: 50%;
  161. }
  162. }
  163. @media(min-width: 1200px) {
  164. &[data-items="2"] .row {
  165. margin: 0 -40px;
  166. }
  167. &[data-items="2"] .col {
  168. padding: 20px 40px;
  169. }
  170. &[data-items="4"] .col {
  171. max-width: 25%;
  172. }
  173. }
  174. @media(min-width: 568px) and (max-width: 767px) {
  175. &[data-items="3"], &[data-items="4"] {
  176. .teaser {
  177. position: relative;
  178. display: block;
  179. padding-left: 40%;
  180. min-height: 30vw;
  181. }
  182. .col.txt-teaser {
  183. .teaser {
  184. padding-left: 8px;
  185. min-height: 0;
  186. }
  187. .text-box {
  188. padding-top: 12px;
  189. }
  190. }
  191. .image-box {
  192. position: absolute;
  193. top: 4px;
  194. left: 0;
  195. right: 60%;
  196. margin-right: 10px;
  197. }
  198. .kicker {
  199. margin: 0 0 4px 10px;
  200. }
  201. .text-box {
  202. margin-left: 10px;
  203. }
  204. h4, .like-h4 {
  205. margin-top: 0;
  206. }
  207. &[data-type="hero"] .image-box + .text-box {
  208. h3, .like-h3, h4, .like-h4 {
  209. position: relative;
  210. font-size: 20px;
  211. margin-top: 0;
  212. padding: 0;
  213. }
  214. }
  215. }
  216. }
  217. div.teaser {
  218. height: 100%;
  219. display: flex;
  220. flex-direction: column;
  221. @media(max-width: 999px) {
  222. height: calc(100% - 20px);
  223. }
  224. }
  225. .col.extern, .col.download, .col.intranet, .col.extranet {
  226. &:before {
  227. display: none;
  228. }
  229. .title:after {
  230. @include icon-small-stern;
  231. font-family: "Icons", sans-serif;
  232. position: relative;
  233. font-size: 20px;
  234. top: 7px;
  235. line-height: 1;
  236. text-decoration: none;
  237. display: inline-block;
  238. margin-left: 3px;
  239. }
  240. //h4.title {
  241. // top: 6px;
  242. //}
  243. }
  244. .col.extern .title:after {
  245. @include icon-small-link-external;
  246. }
  247. .col.download .title:after {
  248. @include icon-small-download;
  249. }
  250. .col.intranet .title:after {
  251. @include icon-small-schloss;
  252. }
  253. .teaser {
  254. position: relative;
  255. display: flex;
  256. flex-direction: column;
  257. text-decoration: none;
  258. transition: 0.25s $easeOutQuad;
  259. margin: -7px -8px -5px;
  260. padding: 7px 8px 5px;
  261. color: var(--color-text);
  262. border-radius: 8px;
  263. width: auto;
  264. @include focus-visible;
  265. }
  266. a.teaser {
  267. h3, .like-h3, h4, .like-h4 {
  268. text-decoration: underline;
  269. text-underline-offset: 0.09em;
  270. text-decoration-thickness: 0.08em;
  271. }
  272. }
  273. h3, .like-h3, h4, .like-h4 {
  274. margin: 16px 0 14px;
  275. color: var(--color-text);
  276. transition: 0.3s ease;
  277. font-weight: 400;
  278. }
  279. p {
  280. font-size: 16px;
  281. @media(min-width: 768px) {
  282. font-size: 18px;
  283. }
  284. }
  285. .kicker {
  286. margin-bottom: 8px;
  287. margin-left: 1px;
  288. order: -1;
  289. &.stand-out {
  290. @media(min-height: 768px) {
  291. position: absolute;
  292. bottom: 100%;
  293. margin-bottom: 0;
  294. }
  295. }
  296. }
  297. .text-box {
  298. margin-top: 0;
  299. border-top: 8px solid var(--color-border);
  300. }
  301. .image-box + .text-box {
  302. margin-top: 8px;
  303. }
  304. .social-box {
  305. border: 4px solid var(--swatches-primary-100);
  306. margin-left: -2px;
  307. margin-right: -2px;
  308. padding: 10px;
  309. flex: 1 1 100%;
  310. background-color: var(--swatches-neutrals-white);
  311. @media(max-width: 767px) {
  312. margin-bottom: 20px;
  313. }
  314. .twitter-timeline {
  315. height: 100% !important;
  316. min-height: 420px !important;
  317. }
  318. }
  319. .image-box {
  320. position: relative;
  321. display: block;
  322. overflow: hidden;
  323. flex-grow: 0;
  324. flex-shrink: 0;
  325. border-radius: 4px;
  326. container-type: inline-size;
  327. &.chart {
  328. display: flex;
  329. align-items: center;
  330. justify-content: center;
  331. @include gradient;
  332. }
  333. &:before {
  334. content: "";
  335. position: relative;
  336. display: block;
  337. padding-top: 66.6667%;
  338. margin-bottom: 7px;
  339. }
  340. &:after {
  341. content: "";
  342. position: absolute;
  343. left: 0;
  344. bottom: 0;
  345. width: 100%;
  346. display: block;
  347. height: 8px;
  348. background-color: var(--color-text-accent);
  349. transition: 0.3s ease;
  350. z-index: 1;
  351. border-bottom-right-radius: 4px;
  352. border-bottom-left-radius: 4px;
  353. }
  354. img {
  355. border-top-left-radius: 4px;
  356. border-top-right-radius: 4px;
  357. }
  358. ~ .text-box {
  359. border-top: 0;
  360. margin-top: 0;
  361. }
  362. .gallery {
  363. position: absolute;
  364. top: 0;
  365. margin: 0;
  366. width: 100%;
  367. .gallery-wrapper {
  368. margin: 0;
  369. padding: 0;
  370. }
  371. .image {
  372. margin: 0;
  373. padding: 0;
  374. &:before {
  375. padding-top: 66.6666%;
  376. }
  377. }
  378. }
  379. }
  380. .linklist {
  381. margin: 0 0 12px;
  382. > li {
  383. margin-bottom: 2px;
  384. padding-left: 26px;
  385. font-size: 18px;
  386. > a {
  387. margin-left: -26px;
  388. padding-left: 26px;
  389. &:before {
  390. top: 3px;
  391. left: -5px;
  392. font-size: 24px;
  393. }
  394. }
  395. }
  396. }
  397. .chart-title {
  398. //@extend .like-h3;
  399. display: block;
  400. font-weight: 700 !important;
  401. padding: 30px;
  402. color: var(--color-text) !important;
  403. text-decoration-color: transparent !important;
  404. margin-bottom: 16px;
  405. text-align: center;
  406. @media(max-width: 999px) {
  407. font-size: 28px;
  408. margin-bottom: 0;
  409. padding: 20px;
  410. }
  411. }
  412. .copyright {
  413. @include copyright;
  414. bottom: 8px;
  415. }
  416. img {
  417. position: absolute;
  418. display: block;
  419. top: 0;
  420. left: 0;
  421. width: 100%;
  422. height: calc(100% - 7px);
  423. transition: 0.3s ease;
  424. transform: translate3d(0, 0, 0) scale(1);
  425. opacity: 1;
  426. object-fit: cover;
  427. filter: saturate(100%);
  428. }
  429. &[data-type="hero"] .teaser:not(.video-teaser-wrapper){
  430. .text-box {
  431. position: relative;
  432. }
  433. .image-box ~ .text-box {
  434. padding-top: 16px;
  435. h4, .like-h4 {
  436. position: absolute;
  437. bottom: 100%;
  438. z-index: 1;
  439. background-color: var(--color-background);
  440. margin-right: 40px;
  441. padding-top: 12px;
  442. padding-right: 24px;
  443. margin-bottom: 0;
  444. }
  445. }
  446. .chart-title {
  447. margin-bottom: 20px;
  448. @media(max-width: 567px) {
  449. margin-bottom: 16px;
  450. }
  451. }
  452. }
  453. .video-teaser-wrapper{
  454. .text-box{
  455. .text {
  456. font-size: 16px;
  457. @media(min-width: 768px) {
  458. font-size: 18px;
  459. }
  460. }
  461. }
  462. }
  463. // Wird das noch genutzt?
  464. .teaser-gallery{
  465. .btn{
  466. position: absolute;
  467. top: 0;
  468. right: 0;
  469. margin: 20px;
  470. }
  471. &:hover{
  472. .btn{
  473. box-shadow: 0 0 0 5px color-mix(in srgb, var(--color-text) 30%, transparent);
  474. }
  475. }
  476. }
  477. }
  478. [data-doctype="OnlineMagazinStart"] {
  479. section.teasers[data-items="1"] {
  480. margin-top: 40px;
  481. }
  482. }
  483. .desktop a.teaser:hover,
  484. .desktop .teaser:has(.teaser--link):hover,
  485. .mobile a.teaser:active,
  486. .mobile .teaser:has(.teaser--link):active {
  487. color: var(--color-text-accent);
  488. .image-box:after {
  489. height: 14px;
  490. }
  491. h3, .like-h3, h4, .like-h4 {
  492. color: var(--color-text-accent);
  493. }
  494. }
  495. [data-type="masonry"] .count {
  496. position: absolute;
  497. top: 0;
  498. left: 0;
  499. // Das war immer so - keine Auswirkungen?
  500. background-color: red;
  501. color: var(--swatches-neutrals-white);
  502. width: 30px;
  503. height: 30px;
  504. line-height: 30px;
  505. text-align: center;
  506. z-index: 1;
  507. font-size: 14px;
  508. margin: 10px;
  509. }
  510. .magazine-article .teasers, .magazine-start .teasers, .teasers.magazine-style {
  511. h2, .like-h2 {
  512. text-transform: uppercase;
  513. font-size: var(--font-size-h4);
  514. margin-bottom: 1.2em;
  515. line-height: 1.2;
  516. margin-top: 0;
  517. container-type: inline-size;
  518. &::before {
  519. content: "";
  520. position: relative;
  521. display: block;
  522. height: calc(var(--border-width) / 2);
  523. margin: 0 0.05em 0.5em;
  524. @include gradient;
  525. }
  526. }
  527. }
  528. .no-container {
  529. position: relative;
  530. left: 50%;
  531. width: calc(100vw - var(--scrollbar-width));
  532. margin: 0 calc(-50vw + 7px);
  533. }