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.
 
 
 
 

458 lines
9.2 KiB

  1. //@import "../../variables/wood";
  2. //@import "../../variables/color-set";
  3. //@import "../../variables/variables";
  4. //@import "../components/mixins";
  5. @import "../styles/mixins";
  6. .magazine-header {
  7. position: sticky;
  8. display: block;
  9. height: 90px;
  10. top: var(--header-height);
  11. z-index: 99;
  12. font-size: 0;
  13. line-height: 0;
  14. text-align: center;
  15. pointer-events: none;
  16. margin-bottom: 10px;
  17. @media(max-width: 767px) {
  18. top: 80px;
  19. height: 70px;
  20. margin-bottom: 0;
  21. }
  22. @media(max-width: 359px) {
  23. top: 70px;
  24. }
  25. .gradient {
  26. @include full-size;
  27. background: linear-gradient(90deg, $color-gradient-01 10%, $color-gradient-02 55%, $color-gradient-03 90%);
  28. 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%);
  29. transform-origin: center top;
  30. }
  31. .title {
  32. position: absolute;
  33. top: 50%;
  34. left: 50%;
  35. transform-origin: center 7%;
  36. transform: translate(-50%, -50%);
  37. display: inline-block;
  38. font-size: 60px;
  39. color: white;
  40. line-height: 1;
  41. padding: 15px;
  42. font-weight: 400;
  43. text-decoration: none;
  44. pointer-events: all;
  45. @media(max-width: 999px) {
  46. font-size: 48px;
  47. }
  48. @media(max-width: 567px) {
  49. display: block;
  50. width: 100%;
  51. font-size: 32px;
  52. }
  53. }
  54. &.narrow .title {
  55. font-size: 36px;
  56. }
  57. img {
  58. display: block;
  59. width: auto;
  60. height: 75px;
  61. @media(max-width: 767px) {
  62. height: 56px;
  63. margin: 0 auto;
  64. }
  65. }
  66. &.narrow {
  67. height: 50px;
  68. img {
  69. height: 40px;
  70. }
  71. }
  72. }
  73. .magazine-start, .magazine-article {
  74. .page-header {
  75. @media(min-width: 1200px) {
  76. height: 100px;
  77. .logo img {
  78. height: 50px;
  79. }
  80. }
  81. &:not(.nav-open):before {
  82. box-shadow: none;
  83. }
  84. }
  85. @media(min-width: 1200px) {
  86. .page-wrapper {
  87. border-top: 100px solid #fff;
  88. }
  89. }
  90. a.teaser .kicker:first-child + .text-box h4, a.teaser .text-box:first-child h4 {
  91. @include h4;
  92. text-decoration-thickness: 0.07em;
  93. margin-top: 0.4em;
  94. margin-bottom: 0.4em;
  95. @media(min-width: 1000px) {
  96. @include h2;
  97. text-decoration-thickness: 0.07em;
  98. margin-top: 0;
  99. }
  100. }
  101. .teasers h2 {
  102. text-transform: uppercase;
  103. margin-left: 0;
  104. margin-right: 0;
  105. @include h4;
  106. margin-bottom: 1.2em;
  107. &:before {
  108. content: "";
  109. position: relative;
  110. display: block;
  111. background: linear-gradient(90deg, $color-gradient-01 10%, $color-gradient-02 55%, $color-gradient-03 90%);
  112. 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%);
  113. height: 4px;
  114. margin-bottom: 0.5em;
  115. }
  116. }
  117. }
  118. .magazine-start {
  119. .page-content > .teasers:first-child {
  120. @media(max-width: 767px) {
  121. margin-top: 10px;
  122. }
  123. @media(min-width: 768px) and (max-height: 999px) {
  124. margin-top: 30px;
  125. }
  126. @media(min-width: 768px) and (min-height: 1000px) {
  127. margin-top: 50px;
  128. }
  129. }
  130. .teasers[data-items="1"] {
  131. .kicker:first-child {
  132. margin-bottom: 0;
  133. }
  134. .text-box:first-child, .kicker:first-child ~ .text-box {
  135. position: relative;
  136. border-top: 0;
  137. margin-top: 0;
  138. padding-top: 0;
  139. padding-bottom: 44px;
  140. @media(max-width: 1199px) {
  141. padding-right: 20%;
  142. }
  143. @media(max-width: 767px) {
  144. padding-right: 0;
  145. }
  146. &:after {
  147. content: "";
  148. position: absolute;
  149. bottom: 0;
  150. left: 0;
  151. right: 0;
  152. height: 8px;
  153. transition: 0.3s ease;
  154. z-index: 1;
  155. border-bottom-right-radius: 4px;
  156. border-bottom-left-radius: 4px;
  157. }
  158. ~ .reading-time {
  159. margin-bottom: 0;
  160. }
  161. }
  162. a:hover .text-box:after {
  163. height: 14px !important;
  164. }
  165. @media(min-width: 1000px) {
  166. .teaser {
  167. display: block;
  168. &:after {
  169. content: "";
  170. display: block;
  171. clear: left;
  172. }
  173. }
  174. .image-box {
  175. width: calc(50% - 20px);
  176. max-width: none;
  177. float: left;
  178. margin-right: 40px;
  179. @media(max-width: 1199px) {
  180. margin-right: 30px;
  181. width: calc(50% - 15px);
  182. }
  183. ~ .text-box {
  184. min-width: 0;
  185. max-width: calc(50% - 20px);
  186. float: left;
  187. @media(max-width: 1199px) {
  188. width: calc(50% - 15px);
  189. }
  190. }
  191. ~ .kicker {
  192. position: relative;
  193. margin: 0;
  194. display: inline-block;
  195. left: auto;
  196. max-width: calc(50% - 40px);
  197. }
  198. }
  199. &[data-image-size="l"] {
  200. .image-box {
  201. width: calc(66.66667% - 12px);
  202. @media(max-width: 1199px) {
  203. width: calc(66.66667% - 10px);
  204. }
  205. &:before {
  206. padding-top: 55%;
  207. }
  208. ~ .text-box, ~ .kicker {
  209. max-width: calc(33.33333% - 28px);
  210. @media(max-width: 1199px) {
  211. width: calc(33.33333% - 20px);
  212. }
  213. }
  214. }
  215. }
  216. &[data-image-size="s"] {
  217. .image-box {
  218. width: calc(41.66667% - 23px);
  219. min-width: 0;
  220. @media(max-width: 1199px) {
  221. width: calc(41.66667% - 18px);
  222. }
  223. &:before {
  224. padding-top: 100%;
  225. }
  226. ~ .text-box, ~ .kicker {
  227. max-width: calc(58.33333% - 17px);
  228. @media(max-width: 1199px) {
  229. width: calc(58.33333% - 12px);
  230. }
  231. }
  232. }
  233. }
  234. h4 {
  235. @include h2;
  236. text-decoration-thickness: 0.07em;
  237. margin-top: 0;
  238. }
  239. }
  240. }
  241. .teasers[data-items="2"], .teasers[data-items="3"], .teasers[data-items="4"] {
  242. .teaser {
  243. height: calc(100% + 12px);
  244. }
  245. }
  246. }
  247. .reading-time {
  248. position: absolute;
  249. bottom: 0;
  250. right: 0;
  251. font-size: 0;
  252. font-weight: 700;
  253. font-family: "Korb", sans-serif;
  254. text-transform: uppercase;
  255. margin: 8px;
  256. color: $color-primary;
  257. color: var(--theme-color-primary, $color-primary);
  258. transition: color 0.3s ease;
  259. z-index: 2;
  260. span {
  261. padding-left: 4px;
  262. font-size: 14px;
  263. line-height: 1.4;
  264. display: inline-block;
  265. }
  266. .value {
  267. background-color: $color-primary;
  268. background-color: var(--theme-color-primary, $color-primary);
  269. color: white;
  270. padding: 0 6px;
  271. transition: background-color 0.3s ease;
  272. }
  273. }
  274. a:hover .reading-time {
  275. color: $color-secondary-dark;
  276. color: var(--theme-color-secondary-intensed, $color-secondary-dark);
  277. .value {
  278. background-color: $color-secondary-dark;
  279. background-color: var(--theme-color-secondary-intensed, $color-secondary-dark);
  280. }
  281. }
  282. .magazine-article, .magazine-start {
  283. .teaser {
  284. .text-box:not(:last-child) {
  285. padding-bottom: 24px;
  286. }
  287. }
  288. .page-details {
  289. margin-bottom: 20px;
  290. }
  291. }
  292. .magazine-article {
  293. .row {
  294. justify-content: center;
  295. }
  296. .richtext .detail-text {
  297. overflow-x: visible;
  298. }
  299. article.col {
  300. position: relative;
  301. z-index: 1;
  302. max-width: 66.6667%;
  303. background-color: #fff;
  304. @media(max-width: 1199px) {
  305. max-width: 83.3333%;
  306. }
  307. @media(max-width: 999px) {
  308. box-shadow: 0 0 0 10px white;
  309. }
  310. @media(max-width: 767px) {
  311. max-width: 100%;
  312. box-shadow: 0 -4px 0 2px white;
  313. }
  314. }
  315. blockquote {
  316. border-left: 0;
  317. font-weight: 300;
  318. font-size: 48px;
  319. font-style: normal;
  320. margin: 1em 0 1.3em;
  321. padding: 0 40px;
  322. @media(max-width: 1199px) {
  323. font-size: 36px;
  324. }
  325. @media(max-width: 767px) {
  326. font-size: 28px;
  327. padding: 0 0 0 20px;
  328. }
  329. p:not(.author), div.text {
  330. line-height: 1.3;
  331. &:first-child:before {
  332. content: "";
  333. position: relative;
  334. display: block;
  335. width: 30px;
  336. height: 30px;
  337. background-image: url(../../assets/img/quote.svg);
  338. background-size: 100%;
  339. margin: 2px 0 2px -40px;
  340. @media(max-width: 767px) {
  341. margin-left: -20px;
  342. }
  343. }
  344. }
  345. p:not(.author):last-child:after, div.text:last-child:after, .author:after, h4:after {
  346. content: "";
  347. position: relative;
  348. display: block;
  349. width: 30px;
  350. height: 30px;
  351. background-image: url(../../assets/img/quote.svg);
  352. background-size: 100%;
  353. margin: 2px 0 2px -40px;
  354. transform: rotate(180deg);
  355. @media(max-width: 767px) {
  356. margin-left: -20px;
  357. }
  358. }
  359. .author, h4 {
  360. position: relative;
  361. font-weight: 400;
  362. text-align: right;
  363. margin-right: -40px;
  364. margin-top: 36px;
  365. font-family: "Source Sans Pro", sans-serif;
  366. font-size: 18px;
  367. &:before {
  368. content: "— ";
  369. position: relative;
  370. top: -1px;
  371. margin-right: 2px;
  372. }
  373. &:after {
  374. position: absolute;
  375. top: -36px;
  376. left: 0;
  377. }
  378. @media(max-width: 767px) {
  379. margin-right: 0;
  380. padding-left: 30px;
  381. font-size: 16px;
  382. font-weight: 500;
  383. margin-top: 32px;
  384. &:after {
  385. top: -30px;
  386. }
  387. }
  388. }
  389. }
  390. }