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.

home.page.scss 12 KiB

4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490
  1. ion-content {
  2. --background: var(--brand-black);
  3. }
  4. .heading-holder {
  5. position: fixed;
  6. top: 0;
  7. left: 0;
  8. width: 100%;
  9. }
  10. .main-header {
  11. background: -webkit-linear-gradient(180deg, rgba(var(--brand-red-rgb), 0.6) 50%, rgba(var(--brand-red-rgb), 1));
  12. -webkit-background-clip: text;
  13. background-clip: text;
  14. -webkit-text-fill-color: transparent;
  15. font-size: 2.5rem;
  16. font-weight: 700;
  17. letter-spacing: 1px;
  18. padding: 0px 7%;
  19. margin: 5% 0%;
  20. }
  21. .segments {
  22. display: flex;
  23. align-items: stretch;
  24. width: 100%;
  25. padding: 0px 7%;
  26. margin: 5% 0%;
  27. button {
  28. background-color: transparent;
  29. color: white;
  30. font-size: 1.2rem;
  31. font-weight: 400;
  32. margin-right: 5%;
  33. position: relative;
  34. opacity: 0.5;
  35. &.active {
  36. font-weight: 500;
  37. opacity: 1;
  38. &::before {
  39. content: '';
  40. width: 8px;
  41. height: 8px;
  42. border-radius: 50%;
  43. position: absolute;
  44. bottom: -18px;
  45. left: calc(50% - 4px);
  46. background-color: var(--brand-red);
  47. }
  48. }
  49. }
  50. }
  51. .close-article-button {
  52. width: 40px;
  53. height: 40px;
  54. position: fixed;
  55. top: 10px;
  56. right: 10px;
  57. display: flex;
  58. align-items: center;
  59. justify-content: center;
  60. background-color: rgba(#ffff, 0.5);
  61. border-radius: 50%;
  62. z-index: 3;
  63. opacity: 0;
  64. transform: translateY(10px);
  65. pointer-events: none;
  66. transition: opacity 0.3s, transform 0.3s;
  67. &.active {
  68. opacity: 1;
  69. transition-delay: 1s;
  70. transform: translateY(0px);
  71. pointer-events: all;
  72. }
  73. ion-icon {
  74. color: white;
  75. font-size: 20px;
  76. }
  77. }
  78. ion-slides {
  79. margin-top: 40%;
  80. height: calc(100vh - 40%);
  81. position: relative;
  82. left: 0;
  83. top: 0;
  84. transition: transform 0.5s, height 0.3s, margin 0.3s, width 0.3s;
  85. z-index: 1;
  86. &.active {
  87. margin: 0px;
  88. width: 100%;
  89. transform: translate(0, 0%);
  90. height: calc(100vh - 56px);
  91. ion-slide {
  92. background-color: white;
  93. border-radius: 0px;
  94. overflow: auto;
  95. .content {
  96. width: 90%;
  97. height: auto;
  98. background-color: white;
  99. transform: translateY(-30px);
  100. position: relative;
  101. border-radius: 10px;
  102. transition-delay: 0.3s;
  103. overflow: auto;
  104. border-width: 0px;
  105. box-shadow: 0px 0px 15px rgba(var(--light-grey-rgb), 0.3);
  106. h4, .details {
  107. opacity: 0;
  108. animation: showUpContent 0.3s forwards;
  109. animation-delay: 0.3s;
  110. }
  111. }
  112. .action-buttons {
  113. width: 90%;
  114. background-color: white;
  115. border-radius: 10px;
  116. position: sticky;
  117. position: -webkit-sticky;
  118. bottom: 0;
  119. z-index: 2;
  120. box-shadow: 0px 0px 15px rgba(var(--light-grey-rgb), 0.3);
  121. justify-content: center;
  122. height: 60px;
  123. .shortcuts {
  124. width: 50%;
  125. button {
  126. background-color: rgba(var(--light-grey-rgb), 0.1);
  127. margin: 0 auto;
  128. width: 40px;
  129. height: 40px;
  130. &.wide-button {
  131. width: auto;
  132. padding: 0 10px;
  133. }
  134. }
  135. }
  136. .read-more {
  137. display: none;
  138. }
  139. }
  140. .image-holder figure {
  141. filter: brightness(30%);
  142. }
  143. }
  144. }
  145. @keyframes showUpContent {
  146. 0% {
  147. opacity: 0;
  148. transform: translateY(20px);
  149. -webkit-line-clamp: 4;
  150. }
  151. 100% {
  152. opacity: 1;
  153. -webkit-line-clamp: unset;
  154. transform: translateY(0px);
  155. }
  156. }
  157. ion-slide {
  158. display: block;
  159. overflow: hidden;
  160. border-radius: 7px;
  161. text-align: left;
  162. align-self: start;
  163. height: 100%;
  164. transition: width 0.5s, transform 0.3s, margin 0.3s;
  165. }
  166. .image-holder {
  167. position: sticky;
  168. position: -webkit-sticky;
  169. top: 0;
  170. height: 40%;
  171. overflow: hidden;
  172. button {
  173. width: 40px;
  174. height: 40px;
  175. position: absolute;
  176. bottom: 10px;
  177. right: 10px;
  178. display: flex;
  179. align-items: center;
  180. justify-content: center;
  181. background-color: rgba(#ffff, 0.5);
  182. border-radius: 50%;
  183. transition: transform 0.3s, background-color 0.3s, opacity 0.3s;
  184. &.hide {
  185. opacity: 0;
  186. pointer-events: none;
  187. }
  188. &.active {
  189. transform: translate(calc(-50vw + 40px), -15vh);
  190. animation: ripple 1s infinite;
  191. background-color: rgba(var(--brand-red-rgb), 0.5);
  192. ion-icon {
  193. color: white;
  194. }
  195. }
  196. @keyframes ripple {
  197. 0% {
  198. box-shadow: 0px 0px 0px var(--brand-red);
  199. }
  200. 50% {
  201. box-shadow: 0px 0px 5px var(--brand-red);
  202. }
  203. 100% {
  204. box-shadow: 0px 0px 0px var(--brand-red);
  205. }
  206. }
  207. ion-icon {
  208. color: white;
  209. font-size: 20px;
  210. transition: color 0.3s;
  211. }
  212. }
  213. figure {
  214. margin: 0;
  215. display: block;
  216. width: 100%;
  217. height: 100%;
  218. filter: brightness(60%);
  219. transition: filter 0.3s;
  220. img {
  221. height: 100%;
  222. object-fit: cover;
  223. display: block;
  224. width: 100%;
  225. }
  226. }
  227. }
  228. .content {
  229. background-color: white;
  230. padding: 0px 5% 5% 5%;
  231. width: 100%;
  232. margin: 0 auto;
  233. height: calc(60% - 50px);
  234. overflow: hidden;
  235. margin-top: -1px;
  236. border-radius: 0px;
  237. transform: translateY(0px);
  238. box-shadow: 0px 0px 0px var(--light-grey);
  239. transition: border-radius 0.3s, transform 0.3s, width 0.3s, margin 0.3s, box-shadow 0.3s;
  240. border-bottom: 1px solid rgba(var(--light-grey-rgb), 0.3);
  241. z-index: 2;
  242. }
  243. h4 {
  244. font-size: 1.2rem;
  245. margin: 0px;
  246. line-height: 1.5;
  247. font-weight: 500;
  248. color: var(--brand-black);
  249. transition: opacity 0.1s;
  250. background-color: white;
  251. position: sticky;
  252. position: -webkit-sticky;
  253. top: 1px;
  254. z-index: 1;
  255. padding: 10px 0;
  256. }
  257. .details {
  258. margin: 0px;
  259. font-size: 0.9rem;
  260. line-height: 1.5;
  261. font-weight: 400;
  262. display: -webkit-box;
  263. -webkit-line-clamp: 4;
  264. -webkit-box-orient: vertical;
  265. color: var(--light-grey);
  266. overflow: hidden;
  267. transition: opacity 0.1s;
  268. }
  269. .action-buttons {
  270. background-color: white;
  271. display: flex;
  272. justify-content: space-between;
  273. width: 100%;
  274. height: 50px;
  275. margin-top: -1px;
  276. padding: 0 3%;
  277. position: relative;
  278. box-shadow: 0px 0px 0px var(--light-grey);
  279. transition: border-radius 0.3s, transform 0.3s, width 0.3s, margin 0.3s, box-shadow 0.3s;
  280. z-index: 1;
  281. margin: 0 auto 20px;
  282. .shortcuts {
  283. display: flex;
  284. align-items: center;
  285. height: 100%;
  286. button {
  287. background-color: #f3f3f3;
  288. margin-right: 5px;
  289. width: 30px;
  290. height: 30px;
  291. border-radius: 50%;
  292. &.wide-button {
  293. width: auto;
  294. border-radius: 5px;
  295. padding: 0 10px;
  296. }
  297. &.active {
  298. ion-icon, span {
  299. color: var(--brand-red);
  300. }
  301. }
  302. // &.bookmark-button {
  303. // &.active {
  304. // ion-icon, span {
  305. // color: var(--light-grey);
  306. // }
  307. // }
  308. // }
  309. span {
  310. vertical-align: middle;
  311. color: var(--light-grey);
  312. }
  313. ion-icon {
  314. vertical-align: middle;
  315. color: var(--brand-black);
  316. font-size: 1.2rem;
  317. }
  318. }
  319. }
  320. .read-more {
  321. background-color: transparent;
  322. font-size: 0.9rem;
  323. color: var(--brand-red);
  324. font-weight: 400;
  325. ion-icon {
  326. color: var(--brand-black);
  327. font-size: 1.2rem;
  328. vertical-align: middle;
  329. color: var(--brand-red);
  330. }
  331. }
  332. }
  333. .comments {
  334. background-color: white;
  335. width: 90%;
  336. position: relative;
  337. box-shadow: 0px 0px 0px var(--light-grey);
  338. z-index: 1;
  339. margin: 0px auto 20px;
  340. border-radius: 10px;
  341. box-shadow: 0px 0px 15px rgba(var(--light-grey-rgb), 0.3);
  342. border-radius: 10px;
  343. overflow: hidden;
  344. header {
  345. font-size: 1.1rem;
  346. margin: 0px;
  347. line-height: 1.5;
  348. font-weight: 500;
  349. color: var(--brand-black);
  350. transition: opacity 0.1s;
  351. background-color: white;
  352. padding: 10px 5%;
  353. }
  354. ul {
  355. list-style: none;
  356. padding: 0;
  357. margin: 0;
  358. li {
  359. padding: 5px 5% 10px;
  360. border-top: 1px solid rgba(var(--light-grey-rgb), 0.3);
  361. line-height: 1.5;
  362. }
  363. label {
  364. font-size: 1rem;
  365. font-weight: 500;
  366. letter-spacing: 1px;
  367. color: rgba(var(--brand-red-rgb), 0.8);
  368. }
  369. p {
  370. margin: 3px 0;
  371. font-size: 1rem;
  372. font-weight: 400;
  373. color: var(--light-grey);
  374. }
  375. button {
  376. background-color: #f3f3f3;
  377. margin-right: 5px;
  378. height: 30px;
  379. width: auto;
  380. border-radius: 5px;
  381. padding: 0 5px;
  382. span {
  383. vertical-align: middle;
  384. color: var(--light-grey);
  385. }
  386. ion-icon {
  387. vertical-align: middle;
  388. color: var(--brand-black);
  389. font-size: 1rem;
  390. }
  391. &.active {
  392. ion-icon, span {
  393. color: var(--brand-red);
  394. }
  395. }
  396. }
  397. .input-holder {
  398. display: flex;
  399. width: 100%;
  400. height: 70px;
  401. align-items: center;
  402. input {
  403. width: calc(100% - 80px);
  404. margin: 0 auto;
  405. border: 1px solid rgba(var(--light-grey-rgb), 0.3);
  406. border-radius: 30px;
  407. font-size: 14px;
  408. color: var(--brand-black);
  409. font-weight: 500;
  410. height: 40px;
  411. padding: 0 15px;
  412. }
  413. button {
  414. width: 40px;
  415. height: 40px;
  416. background-color: var(--brand-red);
  417. margin: 0 auto;
  418. border-radius: 50%;
  419. ion-icon {
  420. color: white;
  421. font-size: 16px;
  422. }
  423. }
  424. }
  425. }
  426. }
  427. }