afront 1.0.24 → 1.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/.babelrc +13 -13
  2. package/.env +1 -1
  3. package/LICENSE +21 -21
  4. package/README.md +94 -94
  5. package/build-prod/index.html +1 -1
  6. package/build-prod/manifest.json +25 -25
  7. package/build-prod/offline.html +1023 -1023
  8. package/build-prod/robots.txt +3 -3
  9. package/build-prod-static/index.html +1 -1
  10. package/build-prod-static/manifest.json +25 -25
  11. package/build-prod-static/offline.html +1023 -1023
  12. package/build-prod-static/robots.txt +3 -3
  13. package/install.js +415 -415
  14. package/package.json +102 -96
  15. package/server.js +40 -40
  16. package/src/ARoutes/AFRoutes.js +28 -28
  17. package/src/Api/api.config.js +266 -266
  18. package/src/Api/login.service.js +44 -44
  19. package/src/App.js +28 -28
  20. package/src/Components/Background/MeshGradient.js +18 -18
  21. package/src/Components/Footer/Footer.js +108 -108
  22. package/src/Components/Header/Header.js +149 -149
  23. package/src/Components/Loading/LoadingIndicator.js +12 -12
  24. package/src/Components/Loading/LoadingIndicator.module.css +34 -34
  25. package/src/Components/Loading/LoadingSpinner.js +27 -27
  26. package/src/Components/Loading/LoadingSpinner.module.css +100 -100
  27. package/src/Components/RequireAuth.js +29 -29
  28. package/src/LoadingFallback.js +13 -13
  29. package/src/PageNotFound.js +19 -19
  30. package/src/Pages/Home.js +50 -50
  31. package/src/Pages/Signup.js +230 -230
  32. package/src/Pages/Support.js +68 -68
  33. package/src/Routes/ARoutes.js +66 -66
  34. package/src/Routes/ARoutesStatic.js +83 -83
  35. package/src/Static/appStatic.js +16 -16
  36. package/src/Static/indexStatic.js +13 -13
  37. package/src/Style/App.module.css +11 -11
  38. package/src/Style/MeshGradient.module.css +130 -130
  39. package/src/Style/PageNotFound.module.css +37 -37
  40. package/src/Style/Style.module.css +686 -686
  41. package/src/Style/Support.module.css +185 -185
  42. package/src/Utils/LoadingContext.js +5 -5
  43. package/src/index.js +25 -25
  44. package/webpack.build-prod.js +141 -140
  45. package/webpack.dev.js +127 -127
  46. package/webpack.prod.js +148 -147
  47. package/webpack.ssr.prod.js +97 -97
  48. package/npm-shrinkwrap.json +0 -9641
@@ -1,686 +1,686 @@
1
- @import url("https://fonts.googleapis.com/css2?family=Rubik:wght@400;500;600;700&display=swap");
2
-
3
- :root {
4
- --light: #ffffff;
5
- --dark: #000;
6
- --color-white-100: hsl(206, 5%, 100%);
7
- --color-white-200: hsl(206, 5%, 90%);
8
- --color-white-300: hsl(206, 5%, 80%);
9
- --color-white-400: hsl(206, 5%, 65%);
10
- --color-white-500: hsl(206, 5%, 50%);
11
- --color-black-100: hsl(213, 20%, 10%);
12
- --color-black-200: hsl(213, 23%, 8%);
13
- --color-black-300: hsl(214, 21%, 6%);
14
- --color-black-400: hsl(210, 21%, 6%);
15
- --color-black-500: hsl(216, 22%, 4%);
16
- --color-black-600: hsl(220, 18%, 3%);
17
- --color-black-700: hsl(220, 27%, 2%);
18
- --color-black-800: hsl(180, 20%, 1%);
19
- --color-blue-100: hsl(214, 95%, 93%);
20
- --color-blue-200: hsl(213, 97%, 87%);
21
- --color-blue-300: hsl(212, 96%, 78%);
22
- --color-blue-400: hsl(213, 94%, 68%);
23
- --color-blue-500: hsl(217, 91%, 60%);
24
- --color-blue-600: hsl(221, 83%, 53%);
25
- --color-blue-700: hsl(224, 76%, 48%);
26
- --color-blue-800: hsl(226, 71%, 40%);
27
- --color-blue-900: hsl(224, 64%, 33%);
28
- --tw-ring-offset-shadow: 0 0 #0000;
29
- --tw-ring-shadow: 0 0 #0000;
30
- --tw-shadow: 0 16px 32px -16px rgba(0, 0, 0, .1), 0 0 0 1px rgba(0, 0, 0, .1);
31
- --base__color-2__rgb: 32, 32, 32;
32
- --shadow-small: 0 1px 3px 0 rgba(0, 0, 0, 0.1),
33
- 0 1px 2px 0 rgba(0, 0, 0, 0.06);
34
- --shadow-medium: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
35
- 0 2px 4px -1px rgba(0, 0, 0, 0.06);
36
- --shadow-large: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
37
- 0 4px 6px -2px rgba(0, 0, 0, 0.05);
38
- }
39
-
40
- *,
41
- *::before,
42
- *::after {
43
- padding: 0;
44
- margin: 0;
45
- box-sizing: border-box;
46
- list-style: none;
47
- list-style-type: none;
48
- text-decoration: none;
49
- -webkit-font-smoothing: antialiased;
50
- -moz-osx-font-smoothing: grayscale;
51
- text-rendering: optimizeLegibility;
52
- }
53
-
54
- html {
55
- font-size: 100%;
56
- box-sizing: inherit;
57
- scroll-behavior: smooth;
58
- height: -webkit-fill-available;
59
- }
60
-
61
- body {
62
- font-family: "Rubik", sans-serif;
63
- font-size: clamp(1rem, 2vw, 1.125rem);
64
- font-weight: 400;
65
- line-height: 1.5;
66
- height: -webkit-fill-available;
67
- min-width: 320px;
68
- }
69
-
70
- main {
71
- overflow: hidden;
72
- }
73
-
74
- a,
75
- button {
76
- cursor: pointer;
77
- border: none;
78
- outline: none;
79
- user-select: none;
80
- background: none;
81
- box-shadow: none;
82
- text-decoration: none;
83
- }
84
-
85
- a {
86
- color: var(--color-black-400);
87
- }
88
-
89
- img,
90
- video {
91
- display: block;
92
- max-width: 100%;
93
- height: auto;
94
- object-fit: cover;
95
- }
96
-
97
- .section {
98
- margin: 0 auto;
99
- padding: 6rem 0 8rem;
100
- }
101
-
102
- .container {
103
- max-width: 75rem;
104
- height: auto;
105
- margin: 0 auto;
106
- /* padding: 0 1.25rem; */
107
- }
108
-
109
- .centered {
110
- text-align: center;
111
- vertical-align: middle;
112
- margin-bottom: 1rem;
113
- }
114
-
115
- .headingXl {
116
- font-family: inherit;
117
- font-size: clamp(2.648rem, 6vw, 4.241rem);
118
- font-weight: 700;
119
- line-height: 1.15;
120
- letter-spacing: -1px;
121
- }
122
-
123
- .heading-lg {
124
- font-family: inherit;
125
- font-size: clamp(2.179rem, 5vw, 3.176rem);
126
- font-weight: 700;
127
- line-height: 1.15;
128
- letter-spacing: -1px;
129
- }
130
-
131
- .heading-md {
132
- font-family: inherit;
133
- font-size: clamp(1.794rem, 4vw, 2.379rem);
134
- font-weight: 700;
135
- line-height: 1.25;
136
- letter-spacing: -1px;
137
- }
138
-
139
- .heading-sm {
140
- font-family: inherit;
141
- font-size: clamp(1.476rem, 3vw, 1.782rem);
142
- font-weight: 600;
143
- line-height: 1.5;
144
- }
145
-
146
- .heading-xs {
147
- font-family: inherit;
148
- font-size: clamp(1.215rem, 2vw, 1.335rem);
149
- font-weight: 500;
150
- line-height: 1.5;
151
- }
152
-
153
- .paragraph {
154
- font-family: inherit;
155
- font-size: clamp(1rem, 2vw, 1.125rem);
156
- text-wrap: balance;
157
- }
158
-
159
- .btn {
160
- display: inline-block;
161
- font-family: inherit;
162
- font-size: 1rem;
163
- font-weight: 500;
164
- line-height: 1.5;
165
- text-align: center;
166
- vertical-align: middle;
167
- white-space: nowrap;
168
- user-select: none;
169
- outline: none;
170
- border: none;
171
- border-radius: 0.75rem;
172
- text-transform: unset;
173
- }
174
-
175
-
176
-
177
- .btn-inline {
178
- display: inline-flex;
179
- align-items: center;
180
- justify-content: center;
181
- column-gap: 0.5rem;
182
- }
183
-
184
- .btnDarken.menuBlock {
185
- padding: 0.75rem 2rem;
186
- background-color: var(--color-black-200);
187
- border-bottom: none;
188
- line-height: 0;
189
- height: 2.7rem;
190
- margin-left: 0;
191
- display: flex;
192
- justify-content: center;
193
- align-items: center;
194
- }
195
-
196
- .btnDarkenArrow {
197
- fill: #ffffff;
198
- height: 1rem;
199
- margin-left: 1rem;
200
- }
201
-
202
-
203
- .btnDarken.menuBlock:hover {
204
- border-bottom: 2px solid var(--color-blue-600);
205
- }
206
-
207
- .btn-neutral {
208
- padding: 0.75rem 2rem;
209
- color: var(--color-black-500);
210
- background-color: var(--color-white-100);
211
- box-shadow: var(--shadow-medium);
212
- }
213
-
214
- .header {
215
- position: fixed;
216
- top: 0;
217
- left: 0;
218
- z-index: 100;
219
- width: 100%;
220
- height: auto;
221
- margin: 0 auto;
222
- transition: all 0.3s ease;
223
- }
224
-
225
- .header.onScroll {
226
- background: var(--light);
227
- border-bottom: 1px solid var(--color-blue-800);
228
- box-shadow: var(--shadow-medium);
229
- background-color: rgba(var(--light), .2);
230
- -webkit-backdrop-filter: blur(10px);
231
- backdrop-filter: blur(10px);
232
- }
233
-
234
- .offScroll {
235
- border-bottom: 1px solid var(--color-blue-800);
236
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
237
- background-color: rgba(#ffffff, .2);
238
- -webkit-backdrop-filter: blur(10px);
239
- backdrop-filter: blur(10px);
240
- }
241
-
242
- .navbar {
243
- display: flex;
244
- flex-direction: row;
245
- align-items: center;
246
- justify-content: flex-start;
247
- column-gap: 1.25rem;
248
- width: 100%;
249
- height: 4.25rem;
250
- margin: 0 auto;
251
- }
252
-
253
- .brand {
254
- font-family: inherit;
255
- font-size: 1.6rem;
256
- font-weight: 600;
257
- line-height: 1.5;
258
- letter-spacing: -1px;
259
- margin-bottom: 0;
260
- }
261
-
262
- .navbar.container {
263
- margin-bottom: 0;
264
- padding: 0 1.25rem;
265
- }
266
-
267
-
268
-
269
- .navbar.container a:hover {
270
- border-bottom: 2px solid var(--color-black-800);
271
- }
272
-
273
-
274
-
275
- .menuLink.menuLinkMobile {
276
- padding: 0.5rem;
277
- padding-right: 1.5rem;
278
- padding-left: 1.5rem;
279
- }
280
-
281
- .menuLink.menuLinkMobile:hover {
282
- border-bottom: none !important;
283
- background-color: rgba(35, 39, 47, .05);
284
- border-radius: 3rem;
285
- }
286
-
287
- .menu {
288
- position: fixed;
289
- top: -100%;
290
- left: 0;
291
- width: 100%;
292
- height: auto;
293
- background-color: var(--light);
294
- box-shadow: var(--shadow-medium);
295
- }
296
-
297
- .menu.isActive {
298
- top: 68px;
299
- width: 100%;
300
- height: 100vh;
301
- border-top: 1px solid var(--color-blue-800);
302
-
303
- }
304
-
305
- .menu.isActive .menuInner {
306
- padding: 1rem;
307
- gap: 0.2rem;
308
- border-bottom: 0.75px solid #000000;
309
- }
310
-
311
- .menuItem{}
312
-
313
-
314
- .menu.isInActive {
315
- transition: opacity 0.4s ease-in-out;
316
- opacity: 0;
317
- visibility: hidden;
318
- }
319
-
320
- .menuInner {
321
- display: flex;
322
- overflow-x: auto;
323
- justify-content: space-around;
324
- row-gap: 1.25rem;
325
- -ms-overflow-style: none;
326
- scrollbar-width: none;
327
-
328
- }
329
-
330
- .menuInner::-webkit-scrollbar {
331
- display: none;
332
- }
333
-
334
- .menuLink {
335
- font-family: inherit;
336
- font-size: 1rem;
337
- font-weight: 500;
338
- line-height: 1.5;
339
- text-transform: uppercase;
340
- margin-bottom: 0;
341
- }
342
-
343
- .menuBlock {
344
- display: inline-block;
345
- font-family: inherit;
346
- font-size: 0.875rem;
347
- font-weight: 500;
348
- line-height: 1.25;
349
- user-select: none;
350
- white-space: nowrap;
351
- text-align: center;
352
- margin-left: auto;
353
- padding: 0.65rem 1.5rem;
354
- border-radius: 0.75rem;
355
- text-transform: capitalize;
356
- color: var(--light);
357
- background-color: var(--color-blue-600);
358
- box-shadow: var(--shadow-medium);
359
- margin-bottom: 0;
360
- }
361
-
362
- @media only screen and (min-width: 48rem) {
363
- .menu {
364
- position: relative;
365
- top: 0;
366
- width: auto;
367
- height: auto;
368
- padding: 0rem;
369
- margin-left: auto;
370
- background: none;
371
- box-shadow: none;
372
- transition: none;
373
- }
374
-
375
- .menu.isInActive {
376
- transition: opacity 0.4s ease-in-out;
377
- opacity: 1;
378
- visibility: visible;
379
- }
380
-
381
- .menuInner {
382
- display: flex;
383
- flex-direction: row;
384
- column-gap: 2rem;
385
- margin: 0 auto;
386
- }
387
-
388
- .menuLink {
389
- text-transform: capitalize;
390
- }
391
-
392
- .menuBlock {
393
- margin-left: 2rem;
394
- }
395
- }
396
-
397
- .burger {
398
- position: relative;
399
- display: block;
400
- cursor: pointer;
401
- user-select: none;
402
- order: -1;
403
- z-index: 10;
404
- width: 1.6rem;
405
- height: 1.15rem;
406
- border: none;
407
- outline: none;
408
- background: none;
409
- visibility: visible;
410
- transform: rotate(0deg);
411
- transition: 0.35s ease;
412
- }
413
-
414
- @media only screen and (min-width: 48rem) {
415
- .burger {
416
- display: none;
417
- visibility: hidden;
418
- }
419
- }
420
-
421
- .burgerLine {
422
- position: absolute;
423
- display: block;
424
- left: 0;
425
- width: 100%;
426
- height: 2px;
427
- border: none;
428
- outline: none;
429
- opacity: 1;
430
- border-radius: 1rem;
431
- transform: rotate(0deg);
432
- background-color: var(--color-black-800);
433
- transition: 0.25s ease-in-out;
434
- }
435
-
436
- .burgerLine:nth-child(1) {
437
- top: 0px;
438
- }
439
-
440
- .burgerLine:nth-child(2) {
441
- top: 0.5rem;
442
- width: 70%;
443
- }
444
-
445
- .burgerLine:nth-child(3) {
446
- top: 1rem;
447
- }
448
-
449
- .burger.isActive .burgerLine:nth-child(1) {
450
- top: 0.5rem;
451
- transform: rotate(135deg);
452
- }
453
-
454
- .burger.isActive .burgerLine:nth-child(2) {
455
- opacity: 0;
456
- visibility: hidden;
457
- }
458
-
459
- .burger.isActive .burgerLine:nth-child(3) {
460
- top: 0.5rem;
461
- transform: rotate(-135deg);
462
- }
463
-
464
- .bannerColumn {
465
- position: relative;
466
- display: grid;
467
- align-items: center;
468
- row-gap: 3rem;
469
- padding: 0 1rem;
470
- }
471
-
472
- @media only screen and (min-width: 48rem) {
473
- .bannerColumn {
474
- grid-template-columns: repeat(2, minmax(0, 1fr));
475
- justify-content: center;
476
- }
477
- }
478
-
479
- @media only screen and (min-width: 64rem) {
480
- .bannerColumn {
481
- grid-template-columns: 1fr max-content;
482
- column-gap: 4rem;
483
- margin-top: 3rem;
484
- }
485
- }
486
-
487
- @keyframes rotate {
488
- from {
489
- transform: rotate(0deg);
490
- }
491
-
492
- to {
493
- transform: rotate(360deg);
494
- }
495
- }
496
-
497
- .bannerImage {
498
- /* animation: rotate 60s linear infinite; */
499
- display: block;
500
- max-width: 18rem;
501
- height: 18rem;
502
- margin-top: 2rem;
503
- object-fit: cover;
504
- justify-self: center;
505
- /* filter: brightness(0) invert(1); */
506
- }
507
-
508
- @media only screen and (min-width: 48rem) {
509
- .bannerImage {
510
- order: 1;
511
- max-width: 20rem;
512
- height: 20rem;
513
- }
514
- }
515
-
516
- @media only screen and (min-width: 64rem) {
517
- .bannerImage {
518
- max-width: 25rem;
519
- height: 25rem;
520
- margin-right: 1rem;
521
- }
522
- }
523
-
524
- .bannerInner {
525
- display: flex;
526
- flex-direction: column;
527
- align-items: flex-start;
528
- row-gap: 1.75rem;
529
- }
530
-
531
- /* Footer */
532
- .footer {
533
- position: relative;
534
- background-color: #fff;
535
- color: #333;
536
- padding: 2.5rem 0;
537
- overflow: hidden;
538
- }
539
-
540
- /* Background text */
541
- .footer::before {
542
- content: "AFront";
543
- position: absolute;
544
- top: 70%;
545
- left: 50%;
546
- transform: translate(-50%, -50%);
547
- font-size: 20rem;
548
- color: rgba(0, 0, 0, 0.05);
549
- white-space: nowrap;
550
- pointer-events: none;
551
- z-index: 0;
552
- }
553
-
554
- .footerContainer {
555
- position: relative;
556
- display: flex;
557
- justify-content: space-between;
558
- align-items: flex-start;
559
- max-width: 75rem;
560
- margin: 0 auto;
561
- padding: 0 1.25rem;
562
- flex-wrap: wrap;
563
- z-index: 1;
564
- /* Ensures content is above the background text */
565
- }
566
-
567
- .footerBrand {
568
- flex: 1;
569
- margin-bottom: 2rem;
570
- }
571
-
572
- .footerLogo {
573
- font-size: 1.5rem;
574
- font-weight: bold;
575
- color: var(--color-black-400);
576
- text-decoration: none;
577
- }
578
-
579
- .footerDescription {
580
- margin-top: 0.625rem;
581
- font-size: 0.875rem;
582
- color: #8b8b8b;
583
- }
584
-
585
- .footerLinks {
586
- flex: 2;
587
- display: flex;
588
- justify-content: space-between;
589
- flex-wrap: wrap;
590
- }
591
-
592
- .linkColumn {
593
- flex: 1;
594
- min-width: 12rem;
595
- margin-bottom: 2rem;
596
- }
597
-
598
- .footerTitle {
599
- font-size: 1rem;
600
- margin-bottom: 0.625rem;
601
- color: #777777;
602
- }
603
-
604
- .linkList {
605
- list-style: none;
606
- padding: 0;
607
- }
608
-
609
- .link {
610
- color: #909090;
611
- text-decoration: none;
612
- font-size: 0.875rem;
613
- margin-bottom: 0.5rem;
614
- display: block;
615
- transition: color 0.3s ease;
616
- }
617
-
618
- .link:hover {
619
- color: #3a3a3a;
620
- }
621
-
622
- .footerBottom {
623
- text-align: center;
624
- margin-top: 2.5rem;
625
- font-size: 0.875rem;
626
- color: #777;
627
- }
628
-
629
- .footerCopy {
630
- margin-bottom: 0.625rem;
631
- }
632
-
633
- .socialLinks {
634
- display: flex;
635
- justify-content: center;
636
- flex-wrap: wrap;
637
- }
638
-
639
- .socialLink {
640
- color: #909090;
641
- text-decoration: none;
642
- margin: 0 0.625rem;
643
- font-size: 1.125rem;
644
- transition: color 0.3s ease;
645
- }
646
-
647
- .socialLink:hover {
648
- color: #3a3a3a;
649
- }
650
-
651
- /* Mobile Responsiveness */
652
- @media (max-width: 768px) {
653
- .footerContainer {
654
- flex-direction: column;
655
- align-items: center;
656
- }
657
-
658
- .footerLinks {
659
- flex-direction: column;
660
- align-items: center;
661
- text-align: center;
662
- }
663
-
664
- .linkColumn {
665
- margin-bottom: 1.5rem;
666
- }
667
-
668
- .footerCopy {
669
- font-size: 0.75rem;
670
- }
671
-
672
- .socialLinks {
673
- margin-top: 1rem;
674
- }
675
-
676
- .socialLink {
677
- font-size: 1rem;
678
- margin: 0 0.5rem;
679
- }
680
-
681
- .footer::before {
682
- content: "AFront";
683
- font-size: 5rem;
684
- top: 82%;
685
- }
686
- }
1
+ @import url("https://fonts.googleapis.com/css2?family=Rubik:wght@400;500;600;700&display=swap");
2
+
3
+ :root {
4
+ --light: #ffffff;
5
+ --dark: #000;
6
+ --color-white-100: hsl(206, 5%, 100%);
7
+ --color-white-200: hsl(206, 5%, 90%);
8
+ --color-white-300: hsl(206, 5%, 80%);
9
+ --color-white-400: hsl(206, 5%, 65%);
10
+ --color-white-500: hsl(206, 5%, 50%);
11
+ --color-black-100: hsl(213, 20%, 10%);
12
+ --color-black-200: hsl(213, 23%, 8%);
13
+ --color-black-300: hsl(214, 21%, 6%);
14
+ --color-black-400: hsl(210, 21%, 6%);
15
+ --color-black-500: hsl(216, 22%, 4%);
16
+ --color-black-600: hsl(220, 18%, 3%);
17
+ --color-black-700: hsl(220, 27%, 2%);
18
+ --color-black-800: hsl(180, 20%, 1%);
19
+ --color-blue-100: hsl(214, 95%, 93%);
20
+ --color-blue-200: hsl(213, 97%, 87%);
21
+ --color-blue-300: hsl(212, 96%, 78%);
22
+ --color-blue-400: hsl(213, 94%, 68%);
23
+ --color-blue-500: hsl(217, 91%, 60%);
24
+ --color-blue-600: hsl(221, 83%, 53%);
25
+ --color-blue-700: hsl(224, 76%, 48%);
26
+ --color-blue-800: hsl(226, 71%, 40%);
27
+ --color-blue-900: hsl(224, 64%, 33%);
28
+ --tw-ring-offset-shadow: 0 0 #0000;
29
+ --tw-ring-shadow: 0 0 #0000;
30
+ --tw-shadow: 0 16px 32px -16px rgba(0, 0, 0, .1), 0 0 0 1px rgba(0, 0, 0, .1);
31
+ --base__color-2__rgb: 32, 32, 32;
32
+ --shadow-small: 0 1px 3px 0 rgba(0, 0, 0, 0.1),
33
+ 0 1px 2px 0 rgba(0, 0, 0, 0.06);
34
+ --shadow-medium: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
35
+ 0 2px 4px -1px rgba(0, 0, 0, 0.06);
36
+ --shadow-large: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
37
+ 0 4px 6px -2px rgba(0, 0, 0, 0.05);
38
+ }
39
+
40
+ *,
41
+ *::before,
42
+ *::after {
43
+ padding: 0;
44
+ margin: 0;
45
+ box-sizing: border-box;
46
+ list-style: none;
47
+ list-style-type: none;
48
+ text-decoration: none;
49
+ -webkit-font-smoothing: antialiased;
50
+ -moz-osx-font-smoothing: grayscale;
51
+ text-rendering: optimizeLegibility;
52
+ }
53
+
54
+ html {
55
+ font-size: 100%;
56
+ box-sizing: inherit;
57
+ scroll-behavior: smooth;
58
+ height: -webkit-fill-available;
59
+ }
60
+
61
+ body {
62
+ font-family: "Rubik", sans-serif;
63
+ font-size: clamp(1rem, 2vw, 1.125rem);
64
+ font-weight: 400;
65
+ line-height: 1.5;
66
+ height: -webkit-fill-available;
67
+ min-width: 320px;
68
+ }
69
+
70
+ main {
71
+ overflow: hidden;
72
+ }
73
+
74
+ a,
75
+ button {
76
+ cursor: pointer;
77
+ border: none;
78
+ outline: none;
79
+ user-select: none;
80
+ background: none;
81
+ box-shadow: none;
82
+ text-decoration: none;
83
+ }
84
+
85
+ a {
86
+ color: var(--color-black-400);
87
+ }
88
+
89
+ img,
90
+ video {
91
+ display: block;
92
+ max-width: 100%;
93
+ height: auto;
94
+ object-fit: cover;
95
+ }
96
+
97
+ .section {
98
+ margin: 0 auto;
99
+ padding: 6rem 0 8rem;
100
+ }
101
+
102
+ .container {
103
+ max-width: 75rem;
104
+ height: auto;
105
+ margin: 0 auto;
106
+ /* padding: 0 1.25rem; */
107
+ }
108
+
109
+ .centered {
110
+ text-align: center;
111
+ vertical-align: middle;
112
+ margin-bottom: 1rem;
113
+ }
114
+
115
+ .headingXl {
116
+ font-family: inherit;
117
+ font-size: clamp(2.648rem, 6vw, 4.241rem);
118
+ font-weight: 700;
119
+ line-height: 1.15;
120
+ letter-spacing: -1px;
121
+ }
122
+
123
+ .heading-lg {
124
+ font-family: inherit;
125
+ font-size: clamp(2.179rem, 5vw, 3.176rem);
126
+ font-weight: 700;
127
+ line-height: 1.15;
128
+ letter-spacing: -1px;
129
+ }
130
+
131
+ .heading-md {
132
+ font-family: inherit;
133
+ font-size: clamp(1.794rem, 4vw, 2.379rem);
134
+ font-weight: 700;
135
+ line-height: 1.25;
136
+ letter-spacing: -1px;
137
+ }
138
+
139
+ .heading-sm {
140
+ font-family: inherit;
141
+ font-size: clamp(1.476rem, 3vw, 1.782rem);
142
+ font-weight: 600;
143
+ line-height: 1.5;
144
+ }
145
+
146
+ .heading-xs {
147
+ font-family: inherit;
148
+ font-size: clamp(1.215rem, 2vw, 1.335rem);
149
+ font-weight: 500;
150
+ line-height: 1.5;
151
+ }
152
+
153
+ .paragraph {
154
+ font-family: inherit;
155
+ font-size: clamp(1rem, 2vw, 1.125rem);
156
+ text-wrap: balance;
157
+ }
158
+
159
+ .btn {
160
+ display: inline-block;
161
+ font-family: inherit;
162
+ font-size: 1rem;
163
+ font-weight: 500;
164
+ line-height: 1.5;
165
+ text-align: center;
166
+ vertical-align: middle;
167
+ white-space: nowrap;
168
+ user-select: none;
169
+ outline: none;
170
+ border: none;
171
+ border-radius: 0.75rem;
172
+ text-transform: unset;
173
+ }
174
+
175
+
176
+
177
+ .btn-inline {
178
+ display: inline-flex;
179
+ align-items: center;
180
+ justify-content: center;
181
+ column-gap: 0.5rem;
182
+ }
183
+
184
+ .btnDarken.menuBlock {
185
+ padding: 0.75rem 2rem;
186
+ background-color: var(--color-black-200);
187
+ border-bottom: none;
188
+ line-height: 0;
189
+ height: 2.7rem;
190
+ margin-left: 0;
191
+ display: flex;
192
+ justify-content: center;
193
+ align-items: center;
194
+ }
195
+
196
+ .btnDarkenArrow {
197
+ fill: #ffffff;
198
+ height: 1rem;
199
+ margin-left: 1rem;
200
+ }
201
+
202
+
203
+ .btnDarken.menuBlock:hover {
204
+ border-bottom: 2px solid var(--color-blue-600);
205
+ }
206
+
207
+ .btn-neutral {
208
+ padding: 0.75rem 2rem;
209
+ color: var(--color-black-500);
210
+ background-color: var(--color-white-100);
211
+ box-shadow: var(--shadow-medium);
212
+ }
213
+
214
+ .header {
215
+ position: fixed;
216
+ top: 0;
217
+ left: 0;
218
+ z-index: 100;
219
+ width: 100%;
220
+ height: auto;
221
+ margin: 0 auto;
222
+ transition: all 0.3s ease;
223
+ }
224
+
225
+ .header.onScroll {
226
+ background: var(--light);
227
+ border-bottom: 1px solid var(--color-blue-800);
228
+ box-shadow: var(--shadow-medium);
229
+ background-color: rgba(var(--light), .2);
230
+ -webkit-backdrop-filter: blur(10px);
231
+ backdrop-filter: blur(10px);
232
+ }
233
+
234
+ .offScroll {
235
+ border-bottom: 1px solid var(--color-blue-800);
236
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
237
+ background-color: rgba(#ffffff, .2);
238
+ -webkit-backdrop-filter: blur(10px);
239
+ backdrop-filter: blur(10px);
240
+ }
241
+
242
+ .navbar {
243
+ display: flex;
244
+ flex-direction: row;
245
+ align-items: center;
246
+ justify-content: flex-start;
247
+ column-gap: 1.25rem;
248
+ width: 100%;
249
+ height: 4.25rem;
250
+ margin: 0 auto;
251
+ }
252
+
253
+ .brand {
254
+ font-family: inherit;
255
+ font-size: 1.6rem;
256
+ font-weight: 600;
257
+ line-height: 1.5;
258
+ letter-spacing: -1px;
259
+ margin-bottom: 0;
260
+ }
261
+
262
+ .navbar.container {
263
+ margin-bottom: 0;
264
+ padding: 0 1.25rem;
265
+ }
266
+
267
+
268
+
269
+ .navbar.container a:hover {
270
+ border-bottom: 2px solid var(--color-black-800);
271
+ }
272
+
273
+
274
+
275
+ .menuLink.menuLinkMobile {
276
+ padding: 0.5rem;
277
+ padding-right: 1.5rem;
278
+ padding-left: 1.5rem;
279
+ }
280
+
281
+ .menuLink.menuLinkMobile:hover {
282
+ border-bottom: none !important;
283
+ background-color: rgba(35, 39, 47, .05);
284
+ border-radius: 3rem;
285
+ }
286
+
287
+ .menu {
288
+ position: fixed;
289
+ top: -100%;
290
+ left: 0;
291
+ width: 100%;
292
+ height: auto;
293
+ background-color: var(--light);
294
+ box-shadow: var(--shadow-medium);
295
+ }
296
+
297
+ .menu.isActive {
298
+ top: 68px;
299
+ width: 100%;
300
+ height: 100vh;
301
+ border-top: 1px solid var(--color-blue-800);
302
+
303
+ }
304
+
305
+ .menu.isActive .menuInner {
306
+ padding: 1rem;
307
+ gap: 0.2rem;
308
+ border-bottom: 0.75px solid #000000;
309
+ }
310
+
311
+ .menuItem{}
312
+
313
+
314
+ .menu.isInActive {
315
+ transition: opacity 0.4s ease-in-out;
316
+ opacity: 0;
317
+ visibility: hidden;
318
+ }
319
+
320
+ .menuInner {
321
+ display: flex;
322
+ overflow-x: auto;
323
+ justify-content: space-around;
324
+ row-gap: 1.25rem;
325
+ -ms-overflow-style: none;
326
+ scrollbar-width: none;
327
+
328
+ }
329
+
330
+ .menuInner::-webkit-scrollbar {
331
+ display: none;
332
+ }
333
+
334
+ .menuLink {
335
+ font-family: inherit;
336
+ font-size: 1rem;
337
+ font-weight: 500;
338
+ line-height: 1.5;
339
+ text-transform: uppercase;
340
+ margin-bottom: 0;
341
+ }
342
+
343
+ .menuBlock {
344
+ display: inline-block;
345
+ font-family: inherit;
346
+ font-size: 0.875rem;
347
+ font-weight: 500;
348
+ line-height: 1.25;
349
+ user-select: none;
350
+ white-space: nowrap;
351
+ text-align: center;
352
+ margin-left: auto;
353
+ padding: 0.65rem 1.5rem;
354
+ border-radius: 0.75rem;
355
+ text-transform: capitalize;
356
+ color: var(--light);
357
+ background-color: var(--color-blue-600);
358
+ box-shadow: var(--shadow-medium);
359
+ margin-bottom: 0;
360
+ }
361
+
362
+ @media only screen and (min-width: 48rem) {
363
+ .menu {
364
+ position: relative;
365
+ top: 0;
366
+ width: auto;
367
+ height: auto;
368
+ padding: 0rem;
369
+ margin-left: auto;
370
+ background: none;
371
+ box-shadow: none;
372
+ transition: none;
373
+ }
374
+
375
+ .menu.isInActive {
376
+ transition: opacity 0.4s ease-in-out;
377
+ opacity: 1;
378
+ visibility: visible;
379
+ }
380
+
381
+ .menuInner {
382
+ display: flex;
383
+ flex-direction: row;
384
+ column-gap: 2rem;
385
+ margin: 0 auto;
386
+ }
387
+
388
+ .menuLink {
389
+ text-transform: capitalize;
390
+ }
391
+
392
+ .menuBlock {
393
+ margin-left: 2rem;
394
+ }
395
+ }
396
+
397
+ .burger {
398
+ position: relative;
399
+ display: block;
400
+ cursor: pointer;
401
+ user-select: none;
402
+ order: -1;
403
+ z-index: 10;
404
+ width: 1.6rem;
405
+ height: 1.15rem;
406
+ border: none;
407
+ outline: none;
408
+ background: none;
409
+ visibility: visible;
410
+ transform: rotate(0deg);
411
+ transition: 0.35s ease;
412
+ }
413
+
414
+ @media only screen and (min-width: 48rem) {
415
+ .burger {
416
+ display: none;
417
+ visibility: hidden;
418
+ }
419
+ }
420
+
421
+ .burgerLine {
422
+ position: absolute;
423
+ display: block;
424
+ left: 0;
425
+ width: 100%;
426
+ height: 2px;
427
+ border: none;
428
+ outline: none;
429
+ opacity: 1;
430
+ border-radius: 1rem;
431
+ transform: rotate(0deg);
432
+ background-color: var(--color-black-800);
433
+ transition: 0.25s ease-in-out;
434
+ }
435
+
436
+ .burgerLine:nth-child(1) {
437
+ top: 0px;
438
+ }
439
+
440
+ .burgerLine:nth-child(2) {
441
+ top: 0.5rem;
442
+ width: 70%;
443
+ }
444
+
445
+ .burgerLine:nth-child(3) {
446
+ top: 1rem;
447
+ }
448
+
449
+ .burger.isActive .burgerLine:nth-child(1) {
450
+ top: 0.5rem;
451
+ transform: rotate(135deg);
452
+ }
453
+
454
+ .burger.isActive .burgerLine:nth-child(2) {
455
+ opacity: 0;
456
+ visibility: hidden;
457
+ }
458
+
459
+ .burger.isActive .burgerLine:nth-child(3) {
460
+ top: 0.5rem;
461
+ transform: rotate(-135deg);
462
+ }
463
+
464
+ .bannerColumn {
465
+ position: relative;
466
+ display: grid;
467
+ align-items: center;
468
+ row-gap: 3rem;
469
+ padding: 0 1rem;
470
+ }
471
+
472
+ @media only screen and (min-width: 48rem) {
473
+ .bannerColumn {
474
+ grid-template-columns: repeat(2, minmax(0, 1fr));
475
+ justify-content: center;
476
+ }
477
+ }
478
+
479
+ @media only screen and (min-width: 64rem) {
480
+ .bannerColumn {
481
+ grid-template-columns: 1fr max-content;
482
+ column-gap: 4rem;
483
+ margin-top: 3rem;
484
+ }
485
+ }
486
+
487
+ @keyframes rotate {
488
+ from {
489
+ transform: rotate(0deg);
490
+ }
491
+
492
+ to {
493
+ transform: rotate(360deg);
494
+ }
495
+ }
496
+
497
+ .bannerImage {
498
+ /* animation: rotate 60s linear infinite; */
499
+ display: block;
500
+ max-width: 18rem;
501
+ height: 18rem;
502
+ margin-top: 2rem;
503
+ object-fit: cover;
504
+ justify-self: center;
505
+ /* filter: brightness(0) invert(1); */
506
+ }
507
+
508
+ @media only screen and (min-width: 48rem) {
509
+ .bannerImage {
510
+ order: 1;
511
+ max-width: 20rem;
512
+ height: 20rem;
513
+ }
514
+ }
515
+
516
+ @media only screen and (min-width: 64rem) {
517
+ .bannerImage {
518
+ max-width: 25rem;
519
+ height: 25rem;
520
+ margin-right: 1rem;
521
+ }
522
+ }
523
+
524
+ .bannerInner {
525
+ display: flex;
526
+ flex-direction: column;
527
+ align-items: flex-start;
528
+ row-gap: 1.75rem;
529
+ }
530
+
531
+ /* Footer */
532
+ .footer {
533
+ position: relative;
534
+ background-color: #fff;
535
+ color: #333;
536
+ padding: 2.5rem 0;
537
+ overflow: hidden;
538
+ }
539
+
540
+ /* Background text */
541
+ .footer::before {
542
+ content: "AFront";
543
+ position: absolute;
544
+ top: 70%;
545
+ left: 50%;
546
+ transform: translate(-50%, -50%);
547
+ font-size: 20rem;
548
+ color: rgba(0, 0, 0, 0.05);
549
+ white-space: nowrap;
550
+ pointer-events: none;
551
+ z-index: 0;
552
+ }
553
+
554
+ .footerContainer {
555
+ position: relative;
556
+ display: flex;
557
+ justify-content: space-between;
558
+ align-items: flex-start;
559
+ max-width: 75rem;
560
+ margin: 0 auto;
561
+ padding: 0 1.25rem;
562
+ flex-wrap: wrap;
563
+ z-index: 1;
564
+ /* Ensures content is above the background text */
565
+ }
566
+
567
+ .footerBrand {
568
+ flex: 1;
569
+ margin-bottom: 2rem;
570
+ }
571
+
572
+ .footerLogo {
573
+ font-size: 1.5rem;
574
+ font-weight: bold;
575
+ color: var(--color-black-400);
576
+ text-decoration: none;
577
+ }
578
+
579
+ .footerDescription {
580
+ margin-top: 0.625rem;
581
+ font-size: 0.875rem;
582
+ color: #8b8b8b;
583
+ }
584
+
585
+ .footerLinks {
586
+ flex: 2;
587
+ display: flex;
588
+ justify-content: space-between;
589
+ flex-wrap: wrap;
590
+ }
591
+
592
+ .linkColumn {
593
+ flex: 1;
594
+ min-width: 12rem;
595
+ margin-bottom: 2rem;
596
+ }
597
+
598
+ .footerTitle {
599
+ font-size: 1rem;
600
+ margin-bottom: 0.625rem;
601
+ color: #777777;
602
+ }
603
+
604
+ .linkList {
605
+ list-style: none;
606
+ padding: 0;
607
+ }
608
+
609
+ .link {
610
+ color: #909090;
611
+ text-decoration: none;
612
+ font-size: 0.875rem;
613
+ margin-bottom: 0.5rem;
614
+ display: block;
615
+ transition: color 0.3s ease;
616
+ }
617
+
618
+ .link:hover {
619
+ color: #3a3a3a;
620
+ }
621
+
622
+ .footerBottom {
623
+ text-align: center;
624
+ margin-top: 2.5rem;
625
+ font-size: 0.875rem;
626
+ color: #777;
627
+ }
628
+
629
+ .footerCopy {
630
+ margin-bottom: 0.625rem;
631
+ }
632
+
633
+ .socialLinks {
634
+ display: flex;
635
+ justify-content: center;
636
+ flex-wrap: wrap;
637
+ }
638
+
639
+ .socialLink {
640
+ color: #909090;
641
+ text-decoration: none;
642
+ margin: 0 0.625rem;
643
+ font-size: 1.125rem;
644
+ transition: color 0.3s ease;
645
+ }
646
+
647
+ .socialLink:hover {
648
+ color: #3a3a3a;
649
+ }
650
+
651
+ /* Mobile Responsiveness */
652
+ @media (max-width: 768px) {
653
+ .footerContainer {
654
+ flex-direction: column;
655
+ align-items: center;
656
+ }
657
+
658
+ .footerLinks {
659
+ flex-direction: column;
660
+ align-items: center;
661
+ text-align: center;
662
+ }
663
+
664
+ .linkColumn {
665
+ margin-bottom: 1.5rem;
666
+ }
667
+
668
+ .footerCopy {
669
+ font-size: 0.75rem;
670
+ }
671
+
672
+ .socialLinks {
673
+ margin-top: 1rem;
674
+ }
675
+
676
+ .socialLink {
677
+ font-size: 1rem;
678
+ margin: 0 0.5rem;
679
+ }
680
+
681
+ .footer::before {
682
+ content: "AFront";
683
+ font-size: 5rem;
684
+ top: 82%;
685
+ }
686
+ }