aboutsummaryrefslogtreecommitdiffhomepage
path: root/style.css
diff options
context:
space:
mode:
Diffstat (limited to 'style.css')
-rw-r--r--style.css569
1 files changed, 469 insertions, 100 deletions
diff --git a/style.css b/style.css
index 9b72345..b909ec5 100644
--- a/style.css
+++ b/style.css
@@ -1,155 +1,524 @@
1@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wdth,wght@0,62.5..100,100..900;1,62.5..100,100..900&display=swap"); 1@import url("https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap");
2 2
3@media (prefers-color-scheme: light) { 3@font-face {
4 :root { 4 font-family: "kerekobar";
5 --color-primary: rgb(0 104 119); 5 src: url("/src/kerekobar.otf");
6 --color-on-primary: rgb(255 255 255); 6}
7 7
8 --color-secondary: rgb(74 98 104); 8:root {
9 --text: #333333;
10 --background: #ffffff;
11 --primary: #1743bd;
12 --secondary: #ed2257;
9 13
10 --color-surface: rgb(245 250 252); 14 --surface: #f5f7fa;
11 --color-surface-container: rgb(233 239 240); 15 --surface-hover: #eef2f6;
12 --color-on-surface: rgb(23 29 30); 16 --border: #e1e4e8;
13 } 17 --shadow: rgba(0, 0, 0, 0.08);
14} 18}
15 19
16@media (prefers-color-scheme: dark) { 20* {
17 :root { 21 box-sizing: border-box;
18 --color-primary: rgb(131 210 228); 22 margin: 0;
19 --color-on-primary: rgb(0 54 62); 23 padding: 0;
24}
20 25
21 --color-secondary: rgb(178 203 209); 26body {
27 font-family: "Open Sans", sans-serif;
28 color: var(--text);
29 background-color: var(--background);
30 line-height: 1.6;
31 overflow-x: hidden;
32}
22 33
23 --color-surface: rgb(14 20 22); 34.container {
24 --color-surface-container: rgb(27 33 34); 35 max-width: 1300px;
25 --color-on-surface: rgb(222 227 229); 36 margin: 0 auto;
26 } 37 padding: 0 1.5rem;
27} 38}
28 39
29* { 40a {
30 transition-duration: 0.5s; 41 text-decoration: none;
31 transition-property: background, color; 42 color: inherit;
32 transition-timing-function: ease-in-out; 43 transition: 0.3s;
33} 44}
34 45
35body { 46.header {
36 font-family: "Noto Sans", sans-serif; 47 display: flex;
37 background-color: var(--color-surface); 48 justify-content: space-between;
38 color: var(--color-on-surface); 49 align-items: center;
39 margin: 0 auto; 50 padding: 1.5rem 1.5rem;
40 padding: 0 0.5em; 51}
41 52
42 max-width: 50em; 53.logo {
54 display: flex;
55 gap: 0.5rem;
56 font-weight: 800;
57 font-size: 1.5rem;
43} 58}
44 59
45main { 60.logo span {
46 background-color: var(--color-surface-container); 61 margin: auto 0;
47 border-radius: 2em; 62}
48 63
49 margin: 1em 0 5em 0; 64.header nav a {
50 padding: 1.5em; 65 margin-left: 1.5rem;
66 font-weight: 600;
67 color: var(--text);
68 display: none;
51} 69}
52 70
53main > *:first-child { 71@media (min-width: 768px) {
54 margin-top: 0; 72 .header nav a {
73 display: inline-block;
74 }
55} 75}
56 76
57main > *:last-child { 77.header nav a:hover {
58 margin-bottom: 0; 78 color: var(--primary);
59} 79}
60 80
61footer { 81.btn {
62 background-color: var(--color-surface-container); 82 display: inline-block;
63 border-radius: 2em 2em 0 0; 83 padding: 0.8rem 1.5rem;
84 border-radius: 50px;
85 font-weight: 700;
86 text-align: center;
87 cursor: pointer;
88 transition:
89 transform 0.2s,
90 box-shadow 0.2s;
91}
64 92
65 display: flex; 93.btn:active {
66 flex-wrap: wrap; 94 transform: scale(0.95);
95}
67 96
68 padding: 1.5em; 97.btn-primary {
98 background-color: var(--secondary);
99 color: white;
100 box-shadow: 0 4px 15px rgba(237, 34, 87, 0.4);
69} 101}
70 102
71footer > * { 103.btn-secondary {
72 margin-bottom: 1em; 104 background-color: transparent;
73 margin-right: 1em; 105 color: var(--text);
106 border: 2px solid var(--border);
74} 107}
75 108
76footer > *:last-child { 109.btn-secondary:hover {
77 margin-right: 0; 110 border-color: var(--text);
78 margin-bottom: 0; 111 background-color: var(--surface);
79} 112}
80 113
81h1, 114.btn-fake:hover {
82h2 { 115 opacity: 0;
83 color: var(--color-primary); 116 cursor: not-allowed;
84} 117}
85 118
86h4 { 119.pulse {
87 margin: 0; 120 animation: pulse-animation 2s infinite;
88 margin-bottom: 0.5em;
89} 121}
90 122
91b { 123@keyframes pulse-animation {
92 color: var(--color-secondary); 124 0% {
125 transform: scale(1);
126 }
127 50% {
128 transform: scale(1.05);
129 }
130 100% {
131 transform: scale(1);
132 }
93} 133}
94 134
95ul, 135.hero {
96ol { 136 display: flex;
97 padding-left: 1.5em; 137 flex-direction: column-reverse;
138 align-items: center;
139 padding: 3rem 1.5rem;
140 text-align: center;
141 gap: 2rem;
98} 142}
99 143
100li { 144@media (min-width: 768px) {
101 padding-bottom: 1em; 145 .hero {
146 flex-direction: row;
147 text-align: left;
148 padding: 5rem 1.5rem;
149 }
150 .hero-buttons {
151 display: flex;
152 gap: 1rem;
153 justify-content: flex-start;
154 }
102} 155}
103 156
104li:last-child { 157.hero-content {
105 padding-bottom: 0; 158 flex: 1;
106} 159}
107 160
108a { 161.badge {
109 color: var(--color-primary); 162 display: inline-block;
163 background: #e0eaff;
164 color: var(--primary);
165 padding: 0.3rem 0.8rem;
166 border-radius: 8px;
167 font-size: 0.85rem;
168 font-weight: 700;
169 margin-bottom: 1rem;
170 text-transform: uppercase;
171}
172
173.hero h1 {
174 font-size: 2.5rem;
175 line-height: 1.2;
176 margin-bottom: 1rem;
177 color: var(--primary);
178}
179
180.hero .subtitle {
181 font-size: 1.1rem;
182 color: #666;
183 margin-bottom: 2rem;
184}
185
186.hero-buttons {
187 display: flex;
188 flex-direction: column;
189 gap: 1rem;
190 margin-bottom: 1rem;
191}
192
193.disclaimer {
194 font-size: 0.7rem;
195 color: #999;
196}
197
198.hero-image {
199 flex: 1;
200 display: flex;
201 justify-content: center;
202 align-items: center;
203}
204
205.emoji-scene {
206 font-size: 5rem;
207 background: var(--surface);
208 width: 250px;
209 height: 250px;
210 border-radius: 50%;
211 display: flex;
212 align-items: center;
213 justify-content: center;
214 animation: float 3s ease-in-out infinite;
215}
216
217@keyframes float {
218 0%,
219 100% {
220 transform: translateY(0);
221 }
222 50% {
223 transform: translateY(-15px);
224 }
225}
226
227.features-section {
228 padding: 4rem 0;
229 background-color: var(--surface);
230}
231
232.features-section h2 {
233 text-align: center;
234 margin-bottom: 2rem;
235 color: var(--primary);
236}
237
238.grid {
239 display: flex;
240 flex-wrap: wrap;
241 justify-content: center;
242 gap: 1.5rem;
110} 243}
111 244
112img { 245.card {
113 width: 100%; 246 background: var(--background);
114 max-height: 15em; 247 padding: 2rem;
115 object-fit: cover; 248 border-radius: 1rem;
116 border-radius: 1em; 249 box-shadow: 0 4px 6px var(--shadow);
250 transition: transform 0.3s;
251
252 flex: 1 1 300px;
253 max-width: 400px;
254 width: 100%;
255}
256
257.card:hover {
258 transform: translateY(-5px);
117} 259}
118 260
119@keyframes button { 261.card .icon {
120 0% { 262 font-size: 2.5rem;
121 transform: scale(1); 263 margin-bottom: 1rem;
122 } 264}
123 50% {
124 transform: scale(1.15);
125 }
126 265
127 100% { 266.card h3 {
128 transform: scale(1); 267 margin-bottom: 0.5rem;
129 } 268 color: var(--text);
130} 269}
131 270
132.button { 271.card p {
133 background-color: var(--color-primary); 272 font-size: 0.95rem;
134 color: var(--color-on-primary); 273 color: #555;
274}
275
276.reviews-section {
277 padding: 4rem 1.5rem;
278}
135 279
136 border-radius: 1em; 280.reviews-section h2 {
137 padding: 1em; 281 text-align: center;
138 margin: 1em 2.5em; 282 margin-bottom: 2rem;
139 font-size: medium; 283 color: var(--primary);
140 animation: button infinite 1s; 284}
285
286.carousel-wrapper {
287 overflow: hidden;
288}
289
290.carousel {
291 display: flex;
292 overflow-x: auto;
293 scroll-snap-type: x mandatory;
294 gap: 1.5rem;
295 padding-bottom: 1.5rem;
296 -webkit-overflow-scrolling: touch;
297 scrollbar-width: none;
298}
299
300.carousel-container {
301 position: relative;
302 display: flex;
303 align-items: center;
304}
305
306.nav-btn {
307 position: absolute;
308 top: 50%;
309 transform: translateY(-50%);
310 background: white;
311 border: 1px solid var(--border);
312 width: 40px;
313 height: 40px;
314 border-radius: 50%;
315 cursor: pointer;
316 z-index: 10;
317 box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
318 color: var(--primary);
319 font-weight: bold;
320 font-size: 1.2rem;
321 display: flex;
322 align-items: center;
323 justify-content: center;
324 transition: all 0.2s;
325}
326
327.nav-btn:hover {
328 background: var(--surface);
329 color: var(--secondary);
330 transform: translateY(-50%) scale(1.1);
331}
332
333.prev-btn {
334 left: -20px;
335}
141 336
142 text-decoration: none; 337.next-btn {
143 text-align: center; 338 right: -20px;
144 display: block;
145} 339}
146 340
147.sponsors { 341@media (max-width: 768px) {
148 display: flex; 342 .nav-btn {
149 flex-wrap: wrap; 343 display: none;
344 }
150} 345}
151 346
152.sponsors > * { 347.carousel {
153 flex: 1 1 150px; 348 scrollbar-width: none;
154 text-wrap: nowrap; 349}
350
351.carousel::-webkit-scrollbar {
352 display: none;
353}
354
355.review-card {
356 flex: 0 0 85%;
357 scroll-snap-align: center;
358 background: var(--background);
359 border: 1px solid var(--border);
360 padding: 1.5rem;
361 border-radius: 1rem;
362 box-shadow: 0 4px 12px var(--shadow);
363}
364
365@media (min-width: 768px) {
366 .review-card {
367 flex: 0 0 40%;
368 }
369}
370
371.review-header {
372 display: flex;
373 align-items: center;
374 gap: 1rem;
375 margin-bottom: 1rem;
376}
377
378.review-header .avatar {
379 font-size: 2.5rem;
380 background: var(--surface);
381 width: 60px;
382 height: 60px;
383 border-radius: 50%;
384 display: flex;
385 align-items: center;
386 justify-content: center;
387}
388
389.review-header h4 {
390 margin: 0;
391 font-size: 1rem;
392}
393
394.review-header small {
395 color: var(--secondary);
396 font-weight: 600;
397}
398
399.cta-section {
400 background: var(--primary);
401 color: white;
402 text-align: center;
403 padding: 4rem 1.5rem;
404}
405
406.cta-section h2 {
407 color: white;
408 margin-bottom: 1rem;
409}
410
411.cta-section p {
412 margin-bottom: 2rem;
413 opacity: 0.9;
414}
415
416.big-btn {
417 background: white;
418 color: var(--primary);
419 font-size: 1.2rem;
420 padding: 1rem 3rem;
421 box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
422}
423
424.big-btn:hover {
425 background: var(--surface);
426 transform: translateY(-3px);
427}
428
429.sponsors-section {
430 padding: 2rem 0 4rem 0;
431 background-color: var(--background);
432 overflow: hidden;
433}
434
435.sponsors-title {
436 text-align: center;
437 color: #999;
438 font-size: 0.9rem;
439 text-transform: uppercase;
440 letter-spacing: 1px;
441 margin-bottom: 1.5rem;
442 font-weight: 700;
443}
444
445.marquee-wrapper {
446 position: relative;
447 width: 100%;
448 display: flex;
449 overflow: hidden;
450 mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
451 -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
452}
453
454.marquee-track {
455 display: flex;
456 gap: 1rem;
457 width: max-content;
458 animation: scroll 30s linear infinite;
459 padding: 0.5rem 0;
460}
461
462.marquee-wrapper:hover .marquee-track {
463 animation-play-state: paused;
464}
465
466@keyframes scroll {
467 0% {
468 transform: translateX(0);
469 }
470 100% {
471 transform: translateX(-50%);
472 }
473}
474
475.sponsor-tag {
476 display: inline-flex;
477 align-items: center;
478 white-space: nowrap;
479 padding: 0.5rem 1rem;
480 border-radius: 50px;
481 font-size: 0.9rem;
482 font-weight: 600;
483 text-decoration: none;
484 transition: transform 0.2s;
485}
486
487.sponsor-tag:hover {
488 transform: scale(1.08);
489}
490
491.tier-creator {
492 background: var(--secondary);
493 color: white;
494 border: 2px solid transparent;
495}
496
497.tier-vip {
498 background-color: #fff9e6;
499 color: #d97706;
500 border: 1px solid #fcd34d;
501}
502
503.tier-norm {
504 background-color: var(--surface);
505 color: var(--text);
506 border: 1px solid var(--border);
507}
508
509.tier-norm:hover {
510 border-color: var(--primary);
511 color: var(--primary);
512}
513
514.kerekobar {
515 font-family: "kerekobar";
516}
517
518footer {
519 text-align: center;
520 padding: 2rem 1.5rem;
521 background: #222;
522 color: #777;
523 font-size: 0.85rem;
155} 524}