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.
 
 
 
 

604 line
12 KiB

  1. @import "../../variables/wood";
  2. @import "../../variables/color-set";
  3. @import "../../variables/variables";
  4. @import "../components/mixins";
  5. .magazine-header {
  6. position: sticky;
  7. display: block;
  8. height: 90px;
  9. top: 100px;
  10. z-index: 99;
  11. font-size: 0;
  12. line-height: 0;
  13. text-align: center;
  14. pointer-events: none;
  15. margin-bottom: 10px;
  16. @media(max-width: 767px) {
  17. top: 80px;
  18. height: 70px;
  19. margin-bottom: 0;
  20. }
  21. @media(max-width: 359px) {
  22. top: 70px;
  23. }
  24. .gradient {
  25. @include fullsize;
  26. background: linear-gradient(90deg, $color-gradient-01 10%, $color-gradient-02 55%, $color-gradient-03 90%);
  27. background: linear-gradient(90deg, var(--theme-color-gradient-01, $color-gradient-01) 10%, var(--theme-color-gradient-02, $color-gradient-02) 55%, var(--theme-color-gradient-03, $color-gradient-03) 90%);
  28. transform-origin: center top;
  29. }
  30. .title {
  31. position: absolute;
  32. top: 50%;
  33. left: 50%;
  34. transform-origin: center 7%;
  35. transform: translate(-50%, -50%);
  36. display: inline-block;
  37. font-size: 60px;
  38. color: white;
  39. line-height: 1;
  40. padding: 15px;
  41. font-weight: 400;
  42. text-decoration: none;
  43. pointer-events: all;
  44. @media(max-width: 999px) {
  45. font-size: 48px;
  46. }
  47. @media(max-width: 567px) {
  48. display: block;
  49. width: 100%;
  50. font-size: 32px;
  51. }
  52. }
  53. &.narrow .title {
  54. font-size: 36px;
  55. }
  56. img {
  57. display: block;
  58. width: auto;
  59. height: 75px;
  60. @media(max-width: 767px) {
  61. height: 56px;
  62. margin: 0 auto;
  63. }
  64. }
  65. &.narrow {
  66. height: 50px;
  67. img {
  68. height: 40px;
  69. }
  70. }
  71. }
  72. .magazine-start, .magazine-article {
  73. .page-header {
  74. @media(min-width: 1200px) {
  75. height: 100px;
  76. .logo img {
  77. height: 50px;
  78. }
  79. }
  80. &:not(.nav-open):before {
  81. box-shadow: none;
  82. }
  83. }
  84. @media(min-width: 1200px) {
  85. .page-wrapper {
  86. border-top: 100px solid #fff;
  87. }
  88. }
  89. a.teaser .kicker:first-child + .text-box h4, a.teaser .text-box:first-child h4 {
  90. @include h2;
  91. text-decoration-thickness: 0.07em;
  92. margin-top: 0.4em;
  93. margin-bottom: 0.4em;
  94. }
  95. .teasers h2 {
  96. text-transform: uppercase;
  97. margin-left: 0;
  98. margin-right: 0;
  99. @include h4;
  100. margin-bottom: 1.2em;
  101. &:before {
  102. content: "";
  103. position: relative;
  104. display: block;
  105. background: linear-gradient(90deg, $color-gradient-01 10%, $color-gradient-02 55%, $color-gradient-03 90%);
  106. background: linear-gradient(90deg, var(--theme-color-gradient-01, $color-gradient-01) 10%, var(--theme-color-gradient-02, $color-gradient-02) 55%, var(--theme-color-gradient-03, $color-gradient-03) 90%);
  107. height: 4px;
  108. margin-bottom: 0.5em;
  109. }
  110. }
  111. }
  112. .magazine-start, .header-collapsed {
  113. .page-content > .teasers:first-child {
  114. @media(max-width: 767px) {
  115. margin-top: 10px;
  116. }
  117. @media(min-width: 768px) and (max-height: 999px) {
  118. margin-top: 30px;
  119. }
  120. @media(min-width: 768px) and (min-height: 1000px) {
  121. margin-top: 50px;
  122. }
  123. }
  124. .teasers[data-items="1"] {
  125. .kicker:first-child {
  126. margin-bottom: 0;
  127. }
  128. .text-box:first-child, .kicker:first-child ~ .text-box {
  129. position: relative;
  130. border-top: 0;
  131. margin-top: 0;
  132. padding-top: 0;
  133. padding-bottom: 44px;
  134. padding-right: 33.3%;
  135. @media(max-width: 1199px) {
  136. padding-right: 20%;
  137. }
  138. @media(max-width: 767px) {
  139. padding-right: 0;
  140. }
  141. &:after {
  142. content: "";
  143. position: absolute;
  144. bottom: 0;
  145. left: 0;
  146. right: 0;
  147. height: 8px;
  148. background-color: $color-secondary;
  149. background-color: var(--theme-color-secondary, $color-secondary);
  150. transition: 0.3s ease;
  151. z-index: 1;
  152. border-bottom-right-radius: 4px;
  153. border-bottom-left-radius: 4px;
  154. }
  155. ~ .reading-time {
  156. margin-bottom: 32px;
  157. }
  158. }
  159. a:hover .text-box:after {
  160. height: 14px !important;
  161. }
  162. @media(min-width: 1000px) {
  163. .teaser {
  164. display: block;
  165. &:after {
  166. content: "";
  167. display: block;
  168. clear: left;
  169. }
  170. }
  171. .image-box {
  172. width: calc(50% - 20px);
  173. max-width: none;
  174. float: left;
  175. margin-right: 40px;
  176. @media(max-width: 1199px) {
  177. margin-right: 30px;
  178. width: calc(50% - 15px);
  179. }
  180. ~ .text-box {
  181. min-width: 0;
  182. max-width: calc(50% - 20px);
  183. float: left;
  184. @media(max-width: 1199px) {
  185. width: calc(50% - 15px);
  186. }
  187. }
  188. ~ .kicker {
  189. position: relative;
  190. margin: 0;
  191. display: inline-block;
  192. left: auto;
  193. max-width: calc(50% - 40px);
  194. }
  195. }
  196. &[data-image-size="l"] {
  197. .image-box {
  198. width: calc(66.66667% - 12px);
  199. @media(max-width: 1199px) {
  200. width: calc(66.66667% - 10px);
  201. }
  202. &:before {
  203. padding-top: 55%;
  204. }
  205. ~ .text-box, ~ .kicker {
  206. max-width: calc(33.33333% - 28px);
  207. @media(max-width: 1199px) {
  208. width: calc(33.33333% - 20px);
  209. }
  210. }
  211. }
  212. }
  213. &[data-image-size="s"] {
  214. .image-box {
  215. width: calc(41.66667% - 23px);
  216. min-width: 0;
  217. @media(max-width: 1199px) {
  218. width: calc(41.66667% - 18px);
  219. }
  220. &:before {
  221. padding-top: 100%;
  222. }
  223. ~ .text-box, ~ .kicker {
  224. max-width: calc(58.33333% - 17px);
  225. @media(max-width: 1199px) {
  226. width: calc(58.33333% - 12px);
  227. }
  228. }
  229. }
  230. }
  231. h4 {
  232. @include h2;
  233. text-decoration-thickness: 0.07em;
  234. margin-top: 0;
  235. }
  236. }
  237. }
  238. .teasers[data-items="2"], .teasers[data-items="3"], .teasers[data-items="4"] {
  239. .teaser {
  240. height: calc(100% + 12px);
  241. }
  242. }
  243. }
  244. .reading-time {
  245. position: absolute;
  246. bottom: 0;
  247. right: 0;
  248. font-size: 0;
  249. font-weight: 700;
  250. font-family: "Korb", sans-serif;
  251. text-transform: uppercase;
  252. margin: 8px;
  253. color: $color-primary;
  254. color: var(--theme-color-primary, $color-primary);
  255. transition: color 0.3s ease;
  256. z-index: 2;
  257. span {
  258. padding-left: 4px;
  259. font-size: 14px;
  260. line-height: 1.4;
  261. display: inline-block;
  262. }
  263. .value {
  264. background-color: $color-primary;
  265. background-color: var(--theme-color-primary, $color-primary);
  266. color: white;
  267. padding: 0 6px;
  268. transition: background-color 0.3s ease;
  269. }
  270. }
  271. a:hover .reading-time {
  272. color: $color-secondary-dark;
  273. color: var(--theme-color-secondary-intensed, $color-secondary-dark);
  274. .value {
  275. background-color: $color-secondary-dark;
  276. background-color: var(--theme-color-secondary-intensed, $color-secondary-dark);
  277. }
  278. }
  279. .magazine-cover {
  280. @media(min-width: 768px) {
  281. margin-top: 40px;
  282. }
  283. @media(max-width: 767px) {
  284. margin: -6px 0 0;
  285. .image-box {
  286. margin: 0 -20px;
  287. }
  288. .reading-time {
  289. display: none;
  290. }
  291. }
  292. .reading-time {
  293. position: relative;
  294. float: right;
  295. right: 0;
  296. margin: 0 2px 10px;
  297. }
  298. &:after {
  299. content: "";
  300. display: block;
  301. clear: both;
  302. }
  303. .col {
  304. padding-top: 0;
  305. margin-bottom: -30px;
  306. @media(min-width: 768px) {
  307. margin-bottom: -60px;
  308. }
  309. @media(min-width: 1200px) {
  310. margin-bottom: -80px;
  311. }
  312. @media(min-width: 1400px) {
  313. max-width: 83.33334%;
  314. }
  315. }
  316. }
  317. .magazine-article, .magazine-start, .header-collapsed {
  318. .teaser {
  319. .text-box:not(:last-child) {
  320. padding-bottom: 24px;
  321. }
  322. }
  323. .page-details {
  324. margin-bottom: 20px;
  325. }
  326. }
  327. .magazine-article, .article-page {
  328. .row {
  329. justify-content: center;
  330. }
  331. .richtext .detail-text {
  332. overflow-x: visible;
  333. }
  334. article.col {
  335. position: relative;
  336. z-index: 1;
  337. max-width: 66.6667%;
  338. background-color: #fff;
  339. @media(max-width: 1199px) {
  340. max-width: 83.3333%;
  341. }
  342. @media(max-width: 999px) {
  343. box-shadow: 0 0 0 10px white;
  344. }
  345. @media(max-width: 767px) {
  346. max-width: 100%;
  347. box-shadow: 0 -4px 0 2px white;
  348. }
  349. }
  350. @media(min-width: 568px) {
  351. .contact-wrapper {
  352. margin-bottom: 20px;
  353. @media(min-width: 768px) {
  354. margin-bottom: 40px;
  355. padding: 36px 0;
  356. }
  357. > h2 {
  358. padding: 0 40px;
  359. @media(max-width: 767px) {
  360. padding: 0;
  361. }
  362. }
  363. .tab-buttons {
  364. padding: 0 38px;
  365. @media(max-width: 767px) {
  366. padding: 0;
  367. margin-left: -2px;
  368. }
  369. }
  370. @media(min-width: 1200px) {
  371. .contact-person > .text-box:first-child {
  372. padding-left: 60px;
  373. }
  374. }
  375. .contact-person > div.image-box {
  376. padding-left: 60px;
  377. flex: 1 1 50%;
  378. max-width: 50%;
  379. @media(max-width: 767px) {
  380. padding: 20px 10px 20px 20px;
  381. }
  382. ~ .text-box {
  383. padding-right: 50px;
  384. flex: 1 1 50%;
  385. max-width: 50%;
  386. padding-bottom: 5px;
  387. @media(max-width: 767px) {
  388. padding-right: 0;
  389. padding-left: 10px;
  390. }
  391. }
  392. }
  393. }
  394. }
  395. .contact-wrapper{
  396. .richtext{
  397. @media(min-width: 767px) {
  398. margin-left: 40px;
  399. }
  400. }
  401. }
  402. blockquote {
  403. border-left: 0;
  404. font-weight: 300;
  405. font-size: 48px;
  406. font-style: normal;
  407. margin: 1em 0 1.3em;
  408. padding: 0 40px;
  409. @media(max-width: 1199px) {
  410. font-size: 36px;
  411. }
  412. @media(max-width: 767px) {
  413. font-size: 28px;
  414. padding: 0 0 0 20px;
  415. }
  416. p:not(.author), div.text {
  417. line-height: 1.3;
  418. &:first-child:before {
  419. content: "";
  420. position: relative;
  421. display: block;
  422. width: 30px;
  423. height: 30px;
  424. background-image: url(../../../img/quote.svg);
  425. background-size: 100%;
  426. margin: 2px 0 2px -40px;
  427. @media(max-width: 767px) {
  428. margin-left: -20px;
  429. }
  430. }
  431. }
  432. p:not(.author):last-child:after, div.text:last-child:after, .author:after, h4:after {
  433. content: "";
  434. position: relative;
  435. display: block;
  436. width: 30px;
  437. height: 30px;
  438. background-image: url(../../../img/quote.svg);
  439. background-size: 100%;
  440. margin: 2px 0 2px -40px;
  441. transform: rotate(180deg);
  442. @media(max-width: 767px) {
  443. margin-left: -20px;
  444. }
  445. }
  446. .author, h4 {
  447. position: relative;
  448. font-weight: 400;
  449. text-align: right;
  450. margin-right: -40px;
  451. margin-top: 36px;
  452. font-family: "Source Sans Pro", sans-serif;
  453. font-size: 18px;
  454. &:before {
  455. content: "— ";
  456. position: relative;
  457. top: -1px;
  458. margin-right: 2px;
  459. }
  460. &:after {
  461. position: absolute;
  462. top: -36px;
  463. left: 0;
  464. }
  465. @media(max-width: 767px) {
  466. margin-right: 0;
  467. padding-left: 30px;
  468. font-size: 16px;
  469. font-weight: 500;
  470. margin-top: 32px;
  471. &:after {
  472. top: -30px;
  473. }
  474. }
  475. }
  476. }
  477. .image-box {
  478. &.off-grid{
  479. @media(min-width: 568px) {
  480. float: left;
  481. margin: 0.3em 20px 1em 0;
  482. width: calc(50% - 10px);
  483. }
  484. @media(min-width: 768px) {
  485. margin: 0.3em 40px 1em calc(-12.5% - 5px);
  486. width: calc(50% - 20px);
  487. @media(max-width: 1199px) {
  488. margin: 0.3em 30px 1em calc(-10% - 3px);
  489. width: calc(50% - 15px);
  490. }
  491. @media(max-width: 999px) {
  492. margin: 0.3em 20px 1em calc(-10% - 2px);
  493. width: calc(50% - 10px);
  494. }
  495. }
  496. ~ *:not(p) {
  497. clear: left;
  498. }
  499. }
  500. &.portrait{
  501. display: flex;
  502. justify-content: center;
  503. flex-flow: column;
  504. img, figcaption{
  505. align-self: center;
  506. }
  507. }
  508. }
  509. }