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.
 
 
 
 

580 rader
11 KiB

  1. @import '../../_global/styles/mixins';
  2. @import '../../_global/styles/vars';
  3. .timeline-tabs {
  4. position: relative;
  5. display: block;
  6. background-color: var(--theme-color-primary-dimmed-04);
  7. padding: 24px 20px 0;
  8. margin-bottom: -5px;
  9. .tabs {
  10. margin: 0;
  11. text-align: center;
  12. }
  13. .btn-small {
  14. min-width: 180px;
  15. text-align: center;
  16. }
  17. ~ .timeline .item-slider {
  18. .prev,
  19. .next {
  20. @media(min-width: 1000px) {
  21. margin-top: -52px;
  22. }
  23. @media(min-width: 1340px) {
  24. margin-top: -74px;
  25. }
  26. }
  27. }
  28. }
  29. .timeline {
  30. margin: 0 0 calc(1.5vw + 40px);
  31. > p:last-child {
  32. font-size: 14px;
  33. text-align: right;
  34. margin: 15px;
  35. }
  36. .item-slider {
  37. position: relative;
  38. display: block;
  39. background-color: var(--theme-color-primary-dimmed-04);
  40. min-height: 460px;
  41. font-weight: 600;
  42. &::before {
  43. content: "";
  44. position: absolute;
  45. width: 374px;
  46. height: 374px;
  47. background-color: #9AD7A3;
  48. top: 50%;
  49. left: 50%;
  50. border-radius: 50%;
  51. transform: translate3d(-50%, -50%, 0) scale(1);
  52. opacity: 1;
  53. transition: 0.3s ease;
  54. }
  55. @media(max-width: 567px) {
  56. min-height: 380px;
  57. &::before {
  58. width: 280px;
  59. height: 280px;
  60. }
  61. }
  62. @media(max-width: 349px) {
  63. &::before {
  64. width: 260px;
  65. height: 260px;
  66. }
  67. }
  68. .slider-tabs, .tabs, .count {
  69. display: none;
  70. }
  71. .prev, .next {
  72. width: 80px;
  73. height: 80px;
  74. position: absolute;
  75. top: 50%;
  76. margin-top: -40px;
  77. right: 24px;
  78. padding: 0;
  79. font-size: 80px;
  80. line-height: 1;
  81. transition: 0.2s ease;
  82. border: 0;
  83. background-color: transparent;
  84. cursor: pointer;
  85. &::before {
  86. @include icon-small-arrow-right-simple;
  87. font-family: "Icons", sans-serif;
  88. color: var(--theme-color-primary);
  89. font-weight: 400;
  90. }
  91. &:hover {
  92. padding-left: 8px;
  93. @media(max-width: 999px) {
  94. padding-left: 0;
  95. }
  96. }
  97. @media(max-width: 1339px) {
  98. right: 0;
  99. width: 50px;
  100. height: 50px;
  101. font-size: 50px;
  102. margin-top: -25px;
  103. }
  104. @media(max-width: 567px) {
  105. font-size: 30px;
  106. width: 30px;
  107. height: 30px;
  108. margin-top: -15px;
  109. }
  110. }
  111. .prev {
  112. left: 24px;
  113. transform: scale(-1, 1);
  114. @media(max-width: 1339px) {
  115. left: 0;
  116. }
  117. }
  118. .slide {
  119. min-height: 460px;
  120. display: flex;
  121. align-items: center;
  122. text-align: center;
  123. &:not(.current) {
  124. max-height: 460px;
  125. }
  126. @media(max-width: 567px) {
  127. min-height: 380px;
  128. &:not(.current) {
  129. max-height: 380px;
  130. }
  131. }
  132. }
  133. .text-box {
  134. padding: 50px 0;
  135. @media(max-width: 767px) {
  136. padding: 30px 0;
  137. }
  138. }
  139. .slide:not(.has-image) .container {
  140. max-width: 1180px;
  141. }
  142. .container {
  143. @media(min-width: 1000px) and (max-width: 1339px) {
  144. padding: 0 60px;
  145. }
  146. @media(min-width: 768px) and (max-width: 999px) {
  147. padding: 0 120px;
  148. }
  149. }
  150. .year {
  151. font-family: "Korb", sans-serif;
  152. font-weight: 700;
  153. font-size: 100px;
  154. line-height: 0.9;
  155. margin-bottom: 0.25em;
  156. @media(max-width: 1340px) {
  157. font-size: 80px;
  158. }
  159. @media(max-width: 999px) {
  160. font-size: 72px;
  161. }
  162. @media(max-width: 567px) {
  163. font-size: 48px;
  164. }
  165. @media(max-width: 349px) {
  166. font-size: 40px;
  167. }
  168. }
  169. .subhead {
  170. font-weight: 700;
  171. }
  172. p:last-child {
  173. margin-bottom: 0;
  174. }
  175. @media(min-width: 1000px) {
  176. .slide.has-image .container {
  177. display: flex;
  178. align-items: center;
  179. justify-content: space-between;
  180. .image-box, .text-box {
  181. flex: 1 1 calc(50% - 20px);
  182. max-width: calc(50% - 20px);
  183. @media(max-width: 1339px) {
  184. flex: 1 1 calc(50% - 15px);
  185. max-width: calc(50% - 15px);
  186. }
  187. }
  188. .image-box {
  189. position: relative;
  190. margin: 30px 0;
  191. &.portrait {
  192. flex: 1 1 265px;
  193. margin-right: 40px;
  194. max-width: 265px;
  195. + .text-box {
  196. max-width: none;
  197. }
  198. @media(max-width: 1339px) {
  199. margin-right: 30px;
  200. }
  201. }
  202. &.medium {
  203. flex: 1 1 320px;
  204. margin-right: 40px;
  205. max-width: 320px;
  206. + .text-box {
  207. max-width: none;
  208. }
  209. @media(max-width: 1339px) {
  210. margin-right: 30px;
  211. }
  212. }
  213. img {
  214. display: block;
  215. }
  216. .caption {
  217. position: absolute;
  218. bottom: 0;
  219. left: 0;
  220. width: 100%;
  221. padding: 8px 12px;
  222. background-color: rgba(white, 0.6);
  223. text-align: left;
  224. backdrop-filter: blur(3px);
  225. font-weight: 700;
  226. font-size: 15px;
  227. line-height: 1.4;
  228. span + span {
  229. margin-top: 3px;
  230. }
  231. }
  232. .copyright {
  233. display: block;
  234. font-weight: 400;
  235. font-size: 10px;
  236. }
  237. }
  238. .text-box {
  239. text-align: left;
  240. }
  241. .year {
  242. margin-left: -0.06em;
  243. }
  244. }
  245. &.hide-circle::before {
  246. transform: translate3d(-50%, -50%, 0) scale(0.8);
  247. opacity: 0;
  248. }
  249. }
  250. @media(max-width: 999px) {
  251. .image-box {
  252. display: none;
  253. }
  254. }
  255. @media(max-width: 767px) {
  256. p {
  257. line-height: 1.4;
  258. font-size: 0.94em;
  259. }
  260. }
  261. @media(max-width: 567px) {
  262. p {
  263. padding-left: 10px;
  264. padding-right: 10px;
  265. }
  266. }
  267. }
  268. .years {
  269. position: relative;
  270. display: block;
  271. background-color: var(--theme-color-primary);
  272. color: white;
  273. overflow: hidden;
  274. &::before {
  275. content: "";
  276. position: absolute;
  277. left: 0;
  278. right: 0;
  279. top: 50%;
  280. margin-top: -4px;
  281. height: 8px;
  282. background-color: var(--theme-color-secondary);
  283. @media(max-width: 999px) {
  284. margin-top: 8px;
  285. height: 4px;
  286. }
  287. }
  288. }
  289. .years-wrapper {
  290. position: relative;
  291. display: flex;
  292. &.animate {
  293. transition: 0.3s ease;
  294. }
  295. &.dragging * {
  296. pointer-events: none;
  297. -webkit-user-select: none;
  298. -moz-user-select: none;
  299. -ms-user-select: none;
  300. user-select: none;
  301. }
  302. }
  303. @media(max-width: 999px) {
  304. .year-item {
  305. margin: 26px 32px 26px 0;
  306. .year {
  307. white-space: nowrap;
  308. br {
  309. display: none;
  310. }
  311. }
  312. ul {
  313. display: none;
  314. }
  315. .year {
  316. position: relative;
  317. font-family: "Korb", sans-serif;
  318. font-weight: 700;
  319. font-size: 36px;
  320. line-height: 1;
  321. cursor: pointer;
  322. z-index: 1;
  323. transition: 0.2s ease;
  324. margin-bottom: 0;
  325. &::before {
  326. content: "";
  327. @include full-size;
  328. background-color: var(--theme-color-primary);
  329. margin: 0 -8px;
  330. z-index: -1;
  331. transition: 0.2s ease;
  332. opacity: 0;
  333. }
  334. }
  335. &.current .year::before,
  336. &.anchor .year::before {
  337. opacity: 1;
  338. }
  339. &.current .year {
  340. color: var(--theme-color-secondary);
  341. }
  342. &.last {
  343. margin-right: 200px;
  344. }
  345. }
  346. }
  347. @media(min-width: 1000px) {
  348. .year-item {
  349. position: relative;
  350. font-size: 0.75em;
  351. line-height: 1.3em;
  352. display: flex;
  353. align-items: flex-start;
  354. min-height: 360px;
  355. flex: 1 1 320px;
  356. max-width: 320px;
  357. min-width: 320px;
  358. padding: 18px 20px 22px;
  359. &::before {
  360. content: "";
  361. position: absolute;
  362. left: 0;
  363. top: 26px;
  364. bottom: calc(50% - 4px);
  365. width: 4px;
  366. background-color: white;
  367. z-index: 2;
  368. }
  369. @media(max-width: 999px) {
  370. min-height: 0;
  371. flex: 1 1 150px;
  372. max-width: 150px;
  373. min-width: 60px;
  374. &::before {
  375. display: none;
  376. }
  377. }
  378. &:nth-child(odd) {
  379. align-items: flex-end;
  380. &::before {
  381. bottom: 26px;
  382. top: calc(50% - 4px);
  383. }
  384. }
  385. &.anchor {
  386. &::before {
  387. display: none;
  388. }
  389. .year::before {
  390. opacity: 1;
  391. }
  392. &:not(:first-child) {
  393. margin-right: 40px;
  394. }
  395. }
  396. &.last {
  397. margin-right: 400px;
  398. }
  399. &.anchor ~ .anchor ~ .anchor {
  400. margin-right: 70px;
  401. .year::before {
  402. margin-right: 0.6em;
  403. }
  404. }
  405. .year {
  406. position: absolute;
  407. bottom: 50%;
  408. margin: calc(-4px - 0.15em) -0.06em;
  409. font-family: "Korb", sans-serif;
  410. font-weight: 700;
  411. font-size: 60px;
  412. line-height: 1;
  413. cursor: pointer;
  414. z-index: 1;
  415. transition: 0.2s ease;
  416. &::before {
  417. content: "";
  418. @include full-size;
  419. background-color: var(--theme-color-primary);
  420. margin: 0 -16px;
  421. z-index: -1;
  422. transition: 0.2s ease;
  423. opacity: 0;
  424. }
  425. @media(max-width: 999px) {
  426. font-size: 40px;
  427. position: relative;
  428. }
  429. }
  430. &.current {
  431. &::before {
  432. background-color: var(--theme-color-secondary);
  433. }
  434. .year {
  435. color: var(--theme-color-secondary);
  436. &::before {
  437. opacity: 1;
  438. }
  439. }
  440. }
  441. ul {
  442. margin: 0 -70% 0 -0.28em;
  443. padding: 0;
  444. list-style: none;
  445. @media(max-width: 999px) {
  446. display: none;
  447. }
  448. }
  449. .title {
  450. margin: 0;
  451. font-family: 'Source Sans Pro', sans-serif;
  452. font-weight: 600;
  453. }
  454. li {
  455. position: relative;
  456. cursor: pointer;
  457. transition: 0.2s ease;
  458. z-index: 3;
  459. padding: 0.2em 0;
  460. top: 0.25em;
  461. &::before {
  462. content: '';
  463. position: absolute;
  464. left: 0;
  465. top: 0;
  466. bottom: 0;
  467. width: 15px;
  468. transition: 0.2s ease;
  469. }
  470. &:hover, &.active {
  471. color: var(--theme-color-secondary);
  472. }
  473. p {
  474. transform: translate3d(0, 0, 0);
  475. transition: 0.2s ease;
  476. }
  477. &:hover p {
  478. transform: translate3d(10px, 0, 0);
  479. }
  480. }
  481. .slide {
  482. display: none;
  483. }
  484. }
  485. }
  486. }