No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 

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