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.
 
 
 
 

288 rader
5.6 KiB

  1. @import '../../_global/styles/mixins';
  2. @import '../../_global/styles/vars';
  3. .teaser {
  4. --hero-background: var(--theme-color-white);
  5. position: relative;
  6. display: flex;
  7. flex-direction: column;
  8. height: 100%;
  9. text-decoration: none;
  10. font-size: var(--font-size-small);
  11. &::before {
  12. content: '';
  13. @include full-size;
  14. margin: -6px;
  15. border-radius: var(--border-radius-xs);
  16. transition: 0.2s ease;
  17. }
  18. &:focus {
  19. outline: none;
  20. }
  21. &.focus-visible:focus::before {
  22. @include focus-standalone;
  23. }
  24. &:focus-visible::before, &.-moz-focusring::before {
  25. @include focus-standalone;
  26. }
  27. &.text {
  28. margin-bottom: 0;
  29. }
  30. .image-box {
  31. position: relative;
  32. display: block;
  33. border-radius: var(--border-radius-xs);
  34. background-color: var(--theme-color-primary-dimmed-04);
  35. overflow: hidden;
  36. flex-grow: 0;
  37. flex-shrink: 0;
  38. &::before {
  39. content: "";
  40. position: relative;
  41. display: block;
  42. padding-top: 66.6667%;
  43. margin-bottom: 7px;
  44. }
  45. &::after {
  46. content: "";
  47. position: absolute;
  48. left: 0;
  49. bottom: 0;
  50. width: 100%;
  51. display: block;
  52. height: 8px;
  53. background-color: var(--theme-color-secondary);
  54. transition: 0.3s ease;
  55. z-index: 1;
  56. border-bottom-right-radius: 4px;
  57. border-bottom-left-radius: 4px;
  58. }
  59. &.chart {
  60. display: flex;
  61. align-items: center;
  62. justify-content: center;
  63. background: linear-gradient(130deg, var(--theme-color-gradient-01) 10%, var(--theme-color-gradient-02) 90%, var(--theme-color-gradient-03) 160%);
  64. }
  65. }
  66. img {
  67. position: absolute;
  68. top: 0;
  69. left: 0;
  70. max-width: 100%;
  71. width: 100%;
  72. height: calc(100% - 7px);
  73. object-fit: cover;
  74. opacity: 1;
  75. transition: 0.3s linear;
  76. &.loading {
  77. opacity: 0;
  78. }
  79. }
  80. .copyright {
  81. @include copyright;
  82. }
  83. .chart-title {
  84. @include h3;
  85. display: block;
  86. font-weight: 700 !important;
  87. padding: 30px;
  88. margin: 0 0 0.4em;
  89. color: var(--theme-color-background) !important;
  90. text-decoration-color: transparent !important;
  91. text-align: center;
  92. @media(max-width: 999px) {
  93. font-size: 28px;
  94. margin-bottom: 0;
  95. padding: 20px;
  96. }
  97. }
  98. .kicker + .text-box {
  99. margin-top: 0.1em;
  100. border-top: 8px solid var(--theme-color-secondary);
  101. }
  102. .text-box {
  103. position: relative;
  104. &:not(:last-child) {
  105. padding-bottom: 20px;
  106. > *:last-child {
  107. margin-bottom: 0;
  108. &::after {
  109. content: '';
  110. position: relative;
  111. float: right;
  112. height: 0.75em;
  113. display: inline-block;
  114. width: 150px;
  115. }
  116. }
  117. }
  118. }
  119. .title {
  120. text-decoration: underline;
  121. text-underline-offset: 0.07em;
  122. text-decoration-thickness: 0.08em;
  123. margin: 0.5em 0;
  124. }
  125. &:hover {
  126. .image-box::after {
  127. height: var(--border-width-hover);
  128. }
  129. }
  130. }
  131. [date-type='hero'], .teaser.hero {
  132. .image-box ~ .text-box {
  133. padding-top: 0.9em;
  134. .title {
  135. position: absolute;
  136. bottom: 100%;
  137. z-index: 1;
  138. background-color: var(--hero-background);
  139. margin-right: 40px;
  140. padding-top: 0.4em;
  141. padding-right: 0.8em;
  142. margin-bottom: -0.05em;
  143. }
  144. }
  145. }
  146. .col.extern, .col.download, .col.intranet, .col.extranet,
  147. .teaser.extern, .teaser.download, .teaser.intranet, .teaser.extranet {
  148. &:before {
  149. display: none;
  150. }
  151. .title:after {
  152. @include icon-small-stern;
  153. font-family: 'Icons', sans-serif;
  154. position: relative;
  155. font-size: var(--icon-size-small);
  156. line-height: 1;
  157. text-decoration: none;
  158. display: inline-block;
  159. vertical-align: top;
  160. margin-left: 0.2em;
  161. }
  162. }
  163. .col.extern .title:after,
  164. .teaser.extern .title:after {
  165. @include icon-small-link-external;
  166. }
  167. .col.download .title:after,
  168. .teaser.download .title:after {
  169. @include icon-small-download;
  170. }
  171. .col.intranet .title:after,
  172. .teaser.intranet .title:after {
  173. @include icon-small-schloss;
  174. }
  175. @media(min-width: 568px) {
  176. [date-type='fullwidth'], .teaser.fullwidth {
  177. display: block;
  178. &::after {
  179. content: '';
  180. display: block;
  181. clear: both;
  182. }
  183. .title {
  184. @include h2;
  185. margin-top: 0.25em;
  186. }
  187. .image-box {
  188. float: left;
  189. }
  190. .kicker, .text-box {
  191. float: right;
  192. }
  193. &[data-image-size='small'] {
  194. .copyright {
  195. width: 100%;
  196. }
  197. .image-box::before {
  198. padding-top: 100%;
  199. }
  200. }
  201. &[data-image-size='large'] {
  202. .copyright {
  203. width: 55%;
  204. }
  205. .image-box::before {
  206. padding-top: 55%;
  207. }
  208. }
  209. @media(max-width: 999px) {
  210. .kicker, .text-box, .image-box {
  211. width: calc(50% - var(--col-padding));
  212. }
  213. }
  214. @media(min-width: 1000px) {
  215. &[data-image-size='small'] {
  216. .image-box {
  217. width: calc((100% + var(--col-padding) * 2) / 12 * 5 - var(--col-padding) * 2);
  218. }
  219. .kicker, .text-box {
  220. width: calc((100% + var(--col-padding) * 2) / 12 * 7 - var(--col-padding) * 2);
  221. }
  222. }
  223. &[data-image-size='medium'] {
  224. .image-box, .kicker, .text-box {
  225. width: calc(50% - var(--col-padding));
  226. }
  227. }
  228. &[data-image-size='large'] {
  229. .image-box {
  230. width: calc((100% + var(--col-padding) * 2) * 2 / 3 - var(--col-padding) * 2);
  231. }
  232. .kicker, .text-box {
  233. width: calc((100% + var(--col-padding) * 2) / 3 - var(--col-padding) * 2);
  234. }
  235. }
  236. }
  237. }
  238. }
  239. [data-background='lightblue'] .teaser {
  240. --hero-background: var(--theme-color-primary-dimmed-04);
  241. .image-box {
  242. background-color: rgba(#fff, 0.4);
  243. }
  244. }