gekina commited on
Commit
7f1008a
·
verified ·
1 Parent(s): 71e89d2

Update src/Styles.css

Browse files
Files changed (1) hide show
  1. src/Styles.css +737 -737
src/Styles.css CHANGED
@@ -1,738 +1,738 @@
1
- * {
2
- margin: 0;
3
- padding: 0;
4
- box-sizing: border-box;
5
- }
6
-
7
- html {
8
- scroll-behavior: smooth;
9
- }
10
-
11
- body {
12
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
13
- 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
14
- sans-serif;
15
- line-height: 1.6;
16
- color: #333;
17
- background-color: #f8f9fa;
18
- overflow-x: hidden;
19
- }
20
-
21
- /* Layout umum */
22
- .container {
23
- max-width: 1200px;
24
- margin: 0 auto;
25
- padding: 0 20px;
26
- width: 100%;
27
- }
28
-
29
- /* ================================================= */
30
- /* 1. HEADER STYLES - LOGO KECIL & HEADER RINGKAS */
31
- /* ================================================= */
32
-
33
- .header {
34
- background: white;
35
- padding: 0.8rem 0; /* Diperkecil agar header lebih tipis */
36
- position: sticky;
37
- top: 0;
38
- z-index: 1000;
39
- box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
40
- border-bottom: 1px solid #e0e0e0;
41
- }
42
-
43
- .header-content {
44
- display: flex;
45
- justify-content: space-between;
46
- align-items: center;
47
- }
48
-
49
-
50
- .logo-container {
51
- display: flex;
52
- align-items: center;
53
- gap: 15px;
54
- padding: 0; /* Diperkecil */
55
- }
56
-
57
- /* LOGO KECIL & TANPA BOX */
58
- .header-logo {
59
- width: 50px; /* Ukuran logo diperkecil */
60
- height: 50px; /* Ukuran logo diperkecil */
61
- object-fit: contain;
62
- display: block;
63
- transition: all 0.3s ease;
64
- /* Properti border, shadow, dan padding dihilangkan dari sini */
65
- cursor: pointer;
66
- }
67
-
68
- .header-logo:hover {
69
- transform: scale(1.03);
70
- /* box-shadow hover juga dihilangkan */
71
- }
72
-
73
-
74
- .logo-text {
75
- font-size: 1.8rem;
76
- font-weight: 700;
77
- color: #2a5298;
78
- text-decoration: none;
79
- letter-spacing: -0.5px;
80
- }
81
-
82
- /* Navigation Right */
83
- .nav-right {
84
- display: flex;
85
- align-items: center;
86
- gap: 2.5rem;
87
- }
88
-
89
- .nav-link {
90
- color: #2a5298;
91
- text-decoration: none;
92
- font-weight: 600;
93
- font-size: 1.1rem;
94
- padding: 0.6rem 0;
95
- position: relative;
96
- transition: all 0.3s ease;
97
- letter-spacing: 0.3px;
98
- }
99
-
100
- .nav-link:hover {
101
- color: #1e3c72;
102
- }
103
-
104
- .nav-link::after {
105
- content: '';
106
- position: absolute;
107
- bottom: 0;
108
- left: 0;
109
- width: 0;
110
- height: 3px;
111
- background: linear-gradient(90deg, #2a5298, #1e3c72);
112
- border-radius: 2px;
113
- transition: width 0.3s ease;
114
- }
115
-
116
- .nav-link:hover::after {
117
- width: 100%;
118
- }
119
-
120
- /* Tombol Utama */
121
- .primary-btn, .nav-diagnosa {
122
- background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
123
- color: white;
124
- padding: 0.6rem 2rem; /* Diperkecil */
125
- border-radius: 30px;
126
- font-weight: 600;
127
- text-decoration: none;
128
- transition: all 0.3s ease;
129
- border: none;
130
- cursor: pointer;
131
- font-size: 1rem; /* Diperkecil */
132
- letter-spacing: 0.3px;
133
- display: inline-block;
134
- text-align: center;
135
- box-shadow: 0 4px 12px rgba(42, 82, 152, 0.25);
136
- min-width: 120px;
137
- }
138
-
139
- .primary-btn:hover, .nav-diagnosa:hover {
140
- background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
141
- color: white;
142
- transform: translateY(-3px);
143
- box-shadow: 0 8px 20px rgba(42, 82, 152, 0.35);
144
- }
145
-
146
- .primary-btn:active, .nav-diagnosa:active {
147
- transform: translateY(0);
148
- box-shadow: 0 4px 10px rgba(42, 82, 152, 0.25);
149
- }
150
-
151
- /* Tombol Logout */
152
- .nav-logout {
153
- padding: 0.6rem 1.8rem; /* Diperkecil */
154
- background-color: transparent;
155
- color: #2a5298;
156
- border: 2px solid #2a5298;
157
- border-radius: 30px;
158
- font-size: 1rem;
159
- font-weight: 600;
160
- cursor: pointer;
161
- transition: all 0.3s ease;
162
- min-width: 100px;
163
- }
164
-
165
- .nav-logout:hover {
166
- background-color: #2a5298;
167
- color: white;
168
- transform: translateY(-2px);
169
- box-shadow: 0 6px 15px rgba(42, 82, 152, 0.2);
170
- }
171
-
172
- /* ================================================= */
173
- /* 2. HERO STYLES (BACKGROUND IMAGE) */
174
- /* ================================================= */
175
- .hero {
176
- min-height: 500px;
177
- position: relative;
178
- overflow: hidden;
179
- padding: 0;
180
- color: white;
181
-
182
- /* --- BACKGROUND IMAGE DENGAN OVERLAY --- */
183
- background-image:
184
- linear-gradient(rgba(42, 82, 152, 0.7), rgba(42, 82, 152, 0.7)),
185
- url('./assets/images/hero doctor.jpg');
186
-
187
- background-size: cover;
188
- background-position: center 20%;
189
- background-repeat: no-repeat;
190
- background-attachment: fixed;
191
- }
192
-
193
- .hero-content {
194
- display: flex;
195
- align-items: center;
196
- justify-content: flex-start;
197
- gap: 3rem;
198
- padding: 4rem 0;
199
- height: 100%;
200
- min-height: 500px;
201
- }
202
-
203
- .hero-text {
204
- flex: 1;
205
- max-width: 100%;
206
- color: white;
207
- padding-top: 0;
208
- animation: fadeInUp 0.8s ease-out;
209
- text-align: left;
210
- }
211
-
212
- .hero h1 {
213
- font-size: 2.8rem;
214
- margin-bottom: 1rem;
215
- color: white;
216
- line-height: 1.2;
217
- font-weight: 700;
218
- text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
219
- text-align: left;
220
- }
221
-
222
- .hero-subtitle {
223
- font-size: 1.25rem;
224
- opacity: 0.9;
225
- margin-bottom: 2rem;
226
- display: block;
227
- color: white;
228
- max-width: 600px;
229
- line-height: 1.6;
230
- text-align: left;
231
- }
232
-
233
- /* Tombol di kiri */
234
- .hero-buttons-left {
235
- display: flex;
236
- justify-content: flex-start;
237
- margin-top: 2rem;
238
- }
239
-
240
- .hero-diagnosis-btn {
241
- padding: 1.2rem 3rem;
242
- font-size: 1.2rem;
243
- border-radius: 15px;
244
- position: relative;
245
- min-width: 250px;
246
- background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
247
- color: white;
248
- border: none;
249
- cursor: pointer;
250
- font-weight: 600;
251
- box-shadow: 0 6px 20px rgba(42, 82, 152, 0.3);
252
- transition: all 0.3s ease;
253
- }
254
-
255
- .hero-diagnosis-btn:hover {
256
- transform: translateY(-3px);
257
- box-shadow: 0 10px 25px rgba(42, 82, 152, 0.4);
258
- }
259
-
260
- .hero-image-container {
261
- display: none;
262
- }
263
-
264
- /* Animasi */
265
- @keyframes fadeInUp {
266
- from {
267
- opacity: 0;
268
- transform: translateY(30px);
269
- }
270
- to {
271
- opacity: 1;
272
- transform: translateY(0);
273
- }
274
- }
275
-
276
- /* ================================================= */
277
- /* 3. FEATURES SECTION STYLES */
278
- /* ================================================= */
279
- .features {
280
- padding: 5rem 0;
281
- background: white;
282
- }
283
-
284
- .section-title {
285
- text-align: center;
286
- margin-bottom: 3rem;
287
- color: #1e3c72;
288
- font-size: 2.2rem;
289
- font-weight: 700;
290
- position: relative;
291
- padding-bottom: 15px;
292
- }
293
-
294
- .section-title::after {
295
- content: '';
296
- position: absolute;
297
- bottom: 0;
298
- left: 50%;
299
- transform: translateX(-50%);
300
- width: 60px;
301
- height: 4px;
302
- background: linear-gradient(90deg, #1e3c72, #2a5298);
303
- border-radius: 2px;
304
- }
305
-
306
- .features-grid {
307
- display: block;
308
- margin-top: 2rem;
309
- }
310
-
311
- .feature-card {
312
- background: #f8f9fa;
313
- border-radius: 15px;
314
- padding: 3rem;
315
- margin-bottom: 2rem;
316
- display: flex;
317
- align-items: center;
318
- gap: 3rem;
319
- box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
320
- transition: all 0.3s ease;
321
- overflow: hidden;
322
- position: relative;
323
- }
324
-
325
- .feature-card::before {
326
- content: '';
327
- position: absolute;
328
- top: 0;
329
- left: 0;
330
- width: 5px;
331
- height: 100%;
332
- background: linear-gradient(180deg, #1e3c72, #2a5298);
333
- border-radius: 5px 0 0 5px;
334
- }
335
-
336
- .feature-card:hover {
337
- transform: translateY(-5px);
338
- box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
339
- }
340
-
341
- .feature-card-left-image {
342
- flex-direction: row;
343
- }
344
-
345
- .feature-card-right-image {
346
- flex-direction: row-reverse;
347
- }
348
-
349
- .feature-image-container {
350
- flex: 0 0 40%;
351
- max-width: 400px;
352
- height: 250px;
353
- border-radius: 10px;
354
- overflow: hidden;
355
- box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
356
- transition: all 0.3s ease;
357
- }
358
-
359
- .feature-card:hover .feature-image-container {
360
- transform: scale(1.02);
361
- box-shadow: 0 12px 25px rgba(0, 0, 0, 0.2);
362
- }
363
-
364
- .feature-image {
365
- width: 100%;
366
- height: 100%;
367
- object-fit: cover;
368
- display: block;
369
- transition: transform 0.5s ease;
370
- }
371
-
372
- .feature-card:hover .feature-image {
373
- transform: scale(1.05);
374
- }
375
-
376
- .feature-text-content {
377
- flex: 1;
378
- text-align: left;
379
- }
380
-
381
- .feature-header {
382
- display: flex;
383
- align-items: center;
384
- gap: 15px;
385
- margin-bottom: 1rem;
386
- }
387
-
388
- .feature-icon {
389
- font-size: 2.8rem;
390
- color: #2a5298;
391
- margin-bottom: 0;
392
- transition: transform 0.3s ease;
393
- }
394
-
395
- .feature-card:hover .feature-icon {
396
- transform: scale(1.1);
397
- }
398
-
399
- .feature-card h3 {
400
- color: #1e3c72;
401
- margin-bottom: 0;
402
- font-size: 1.6rem;
403
- font-weight: 600;
404
- }
405
-
406
- .feature-card p {
407
- color: #555;
408
- line-height: 1.7;
409
- font-size: 1rem;
410
- }
411
-
412
- /* ================================================= */
413
- /* 4. PRIVACY SECTION */
414
- /* ================================================= */
415
- .privacy {
416
- padding: 5rem 0;
417
- background: #f1f8ff;
418
- position: relative;
419
- overflow: hidden;
420
- }
421
-
422
- .privacy::before {
423
- content: '';
424
- position: absolute;
425
- top: 0;
426
- left: 0;
427
- width: 100%;
428
- height: 100%;
429
- background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="none"><path d="M0,0 L100,0 L100,100 Z" fill="rgba(255,255,255,0.1)"/></svg>');
430
- background-size: cover;
431
- opacity: 0.3;
432
- }
433
-
434
- .privacy-content {
435
- max-width: 800px;
436
- margin: 0 auto;
437
- text-align: center;
438
- padding: 3rem;
439
- background: white;
440
- border-radius: 15px;
441
- box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
442
- position: relative;
443
- z-index: 1;
444
- animation: fadeIn 0.8s ease-out;
445
- }
446
-
447
- @keyframes fadeIn {
448
- from {
449
- opacity: 0;
450
- transform: translateY(20px);
451
- }
452
- to {
453
- opacity: 1;
454
- transform: translateY(0);
455
- }
456
- }
457
-
458
- .privacy h2 {
459
- color: #1e3c72;
460
- margin-bottom: 1.5rem;
461
- font-size: 2.2rem;
462
- font-weight: 700;
463
- }
464
-
465
- .privacy p {
466
- margin-bottom: 1.5rem;
467
- color: #555;
468
- line-height: 1.7;
469
- font-size: 1.05rem;
470
- }
471
-
472
- .security-badge {
473
- display: inline-flex;
474
- align-items: center;
475
- gap: 12px;
476
- background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
477
- color: white;
478
- padding: 1rem 2rem;
479
- border-radius: 25px;
480
- margin-top: 1.5rem;
481
- font-weight: 600;
482
- font-size: 1.1rem;
483
- box-shadow: 0 4px 10px rgba(46, 125, 50, 0.1);
484
- transition: all 0.3s ease;
485
- }
486
-
487
- .security-badge:hover {
488
- transform: translateY(-2px);
489
- box-shadow: 0 6px 15px rgba(46, 125, 50, 0.15);
490
- }
491
-
492
- .security-badge i {
493
- font-size: 1.5rem;
494
- }
495
-
496
- /* ================================================= */
497
- /* 5. FOOTER */
498
- /* ================================================= */
499
- .footer {
500
- background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
501
- color: white;
502
- padding: 4rem 0 2rem;
503
- text-align: center;
504
- position: relative;
505
- }
506
-
507
- .footer::before {
508
- content: '';
509
- position: absolute;
510
- top: 0;
511
- left: 0;
512
- width: 100%;
513
- height: 5px;
514
- background: white
515
- }
516
-
517
- .footer-content {
518
- display: flex;
519
- flex-direction: column;
520
- align-items: center;
521
- gap: 2rem;
522
- position: relative;
523
- z-index: 1;
524
- }
525
-
526
- .footer-logo {
527
- font-size: 2.2rem;
528
- font-weight: 700;
529
- color: white;
530
- text-decoration: none;
531
- margin-bottom: 1rem;
532
- text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
533
- }
534
-
535
- .footer-tagline {
536
- font-size: 1.15rem;
537
- opacity: 0.9;
538
- max-width: 600px;
539
- margin: 0 auto 2rem;
540
- line-height: 1.6;
541
- }
542
-
543
- .footer-bottom {
544
- margin-top: 3rem;
545
- padding-top: 2rem;
546
- border-top: 1px solid rgba(255, 255, 255, 0.1);
547
- width: 100%;
548
- font-size: 0.9rem;
549
- opacity: 0.7;
550
- }
551
-
552
- /* ================================================= */
553
- /* 6. PROFILE MODAL STYLES (POPUP) */
554
- /* ================================================= */
555
-
556
- /* Latar belakang gelap (Overlay) */
557
- .modal-overlay {
558
- position: fixed;
559
- top: 0;
560
- left: 0;
561
- width: 100%;
562
- height: 100%;
563
- background-color: rgba(0, 0, 0, 0.5); /* Hitam transparan */
564
- display: flex;
565
- justify-content: center;
566
- align-items: center;
567
- z-index: 2000; /* Di atas header */
568
- animation: fadeIn 0.3s ease;
569
- }
570
-
571
- /* Kotak Putih Modal */
572
- .modal-content {
573
- background: white;
574
- width: 90%;
575
- max-width: 800px; /* Lebar sesuai desain */
576
- border-radius: 12px;
577
- padding: 40px;
578
- position: relative;
579
- box-shadow: 0 10px 25px rgba(0,0,0,0.2);
580
- animation: slideUp 0.3s ease;
581
- }
582
-
583
- /* Grid Layout: Kiri (Foto) & Kanan (Form) */
584
- .profile-layout {
585
- display: flex;
586
- gap: 40px;
587
- margin-bottom: 30px;
588
- }
589
-
590
- /* Bagian Kiri: Foto Profil Besar */
591
- .profile-left {
592
- flex: 0 0 200px;
593
- display: flex;
594
- justify-content: center;
595
- align-items: flex-start;
596
- }
597
-
598
- .profile-avatar-large {
599
- width: 180px;
600
- height: 180px;
601
- background-color: #d3d3d3; /* Warna abu-abu default */
602
- border-radius: 50%;
603
- object-fit: cover;
604
- }
605
-
606
- /* Bagian Kanan: Input Form */
607
- .profile-right {
608
- flex: 1;
609
- display: flex;
610
- flex-direction: column;
611
- gap: 15px;
612
- }
613
-
614
- .form-group {
615
- position: relative;
616
- }
617
-
618
- .modal-input {
619
- width: 100%;
620
- padding: 12px 15px;
621
- border: 1px solid #2a5298; /* Border biru tipis */
622
- border-radius: 6px;
623
- font-size: 1rem;
624
- color: #333;
625
- outline: none;
626
- }
627
-
628
- .input-icon {
629
- position: absolute;
630
- right: 15px;
631
- top: 50%;
632
- transform: translateY(-50%);
633
- color: #2a5298;
634
- cursor: pointer;
635
- }
636
-
637
- /* Tombol-tombol kecil (Ganti Pass, Edit Foto) */
638
- .action-buttons-row {
639
- display: flex;
640
- gap: 10px;
641
- margin-top: 5px;
642
- }
643
-
644
- .btn-outline {
645
- padding: 8px 15px;
646
- background: transparent;
647
- border: 1px solid #2a5298;
648
- color: #2a5298;
649
- border-radius: 6px;
650
- font-size: 0.9rem;
651
- cursor: pointer;
652
- transition: all 0.3s;
653
- }
654
-
655
- .btn-outline:hover {
656
- background: #f0f4f8;
657
- }
658
-
659
- /* Tombol Merah (Keluar/Hapus) */
660
- .btn-danger {
661
- padding: 10px 25px;
662
- background-color: #ff0000;
663
- color: white;
664
- border: none;
665
- border-radius: 6px;
666
- font-weight: 600;
667
- cursor: pointer;
668
- margin-top: 10px;
669
- display: inline-block;
670
- transition: background 0.3s;
671
- }
672
-
673
- .btn-danger:hover {
674
- background-color: #cc0000;
675
- }
676
-
677
- /* Bagian Bawah: Bahasa & Hapus Akun */
678
- .profile-bottom-section {
679
- border-top: 1px solid #eee;
680
- padding-top: 20px;
681
- margin-top: 20px;
682
- }
683
-
684
- .setting-row {
685
- display: flex;
686
- justify-content: space-between;
687
- align-items: center;
688
- margin-bottom: 15px;
689
- }
690
-
691
- .setting-label {
692
- font-size: 1.2rem;
693
- color: #1e3c72;
694
- font-weight: 600;
695
- }
696
-
697
- .btn-language {
698
- padding: 8px 20px;
699
- border: 1px solid #2a5298;
700
- color: #1e3c72;
701
- background: white;
702
- border-radius: 6px;
703
- cursor: pointer;
704
- font-size: 1rem;
705
- }
706
-
707
- /* Tombol Close (Silang) di pojok */
708
- .close-modal-btn {
709
- position: absolute;
710
- top: 15px;
711
- right: 20px;
712
- font-size: 1.5rem;
713
- background: none;
714
- border: none;
715
- cursor: pointer;
716
- color: #888;
717
- }
718
-
719
- /* Animasi Popup */
720
- @keyframes slideUp {
721
- from { transform: translateY(20px); opacity: 0; }
722
- to { transform: translateY(0); opacity: 1; }
723
- }
724
-
725
- /* Responsif untuk HP */
726
- @media (max-width: 768px) {
727
- .profile-layout {
728
- flex-direction: column;
729
- align-items: center;
730
- gap: 20px;
731
- }
732
- .modal-content {
733
- width: 95%;
734
- padding: 20px;
735
- max-height: 90vh;
736
- overflow-y: auto;
737
- }
738
  }
 
1
+ * {
2
+ margin: 0;
3
+ padding: 0;
4
+ box-sizing: border-box;
5
+ }
6
+
7
+ html {
8
+ scroll-behavior: smooth;
9
+ }
10
+
11
+ body {
12
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
13
+ 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
14
+ sans-serif;
15
+ line-height: 1.6;
16
+ color: #333;
17
+ background-color: #f8f9fa;
18
+ overflow-x: hidden;
19
+ }
20
+
21
+ /* Layout umum */
22
+ .container {
23
+ max-width: 1200px;
24
+ margin: 0 auto;
25
+ padding: 0 20px;
26
+ width: 100%;
27
+ }
28
+
29
+ /* ================================================= */
30
+ /* 1. HEADER STYLES - LOGO KECIL & HEADER RINGKAS */
31
+ /* ================================================= */
32
+
33
+ .header {
34
+ background: white;
35
+ padding: 0.8rem 0; /* Diperkecil agar header lebih tipis */
36
+ position: sticky;
37
+ top: 0;
38
+ z-index: 1000;
39
+ box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
40
+ border-bottom: 1px solid #e0e0e0;
41
+ }
42
+
43
+ .header-content {
44
+ display: flex;
45
+ justify-content: space-between;
46
+ align-items: center;
47
+ }
48
+
49
+
50
+ .logo-container {
51
+ display: flex;
52
+ align-items: center;
53
+ gap: 15px;
54
+ padding: 0; /* Diperkecil */
55
+ }
56
+
57
+ /* LOGO KECIL & TANPA BOX */
58
+ .header-logo {
59
+ width: 50px; /* Ukuran logo diperkecil */
60
+ height: 50px; /* Ukuran logo diperkecil */
61
+ object-fit: contain;
62
+ display: block;
63
+ transition: all 0.3s ease;
64
+ /* Properti border, shadow, dan padding dihilangkan dari sini */
65
+ cursor: pointer;
66
+ }
67
+
68
+ .header-logo:hover {
69
+ transform: scale(1.03);
70
+ /* box-shadow hover juga dihilangkan */
71
+ }
72
+
73
+
74
+ .logo-text {
75
+ font-size: 1.8rem;
76
+ font-weight: 700;
77
+ color: #2a5298;
78
+ text-decoration: none;
79
+ letter-spacing: -0.5px;
80
+ }
81
+
82
+ /* Navigation Right */
83
+ .nav-right {
84
+ display: flex;
85
+ align-items: center;
86
+ gap: 2.5rem;
87
+ }
88
+
89
+ .nav-link {
90
+ color: #2a5298;
91
+ text-decoration: none;
92
+ font-weight: 600;
93
+ font-size: 1.1rem;
94
+ padding: 0.6rem 0;
95
+ position: relative;
96
+ transition: all 0.3s ease;
97
+ letter-spacing: 0.3px;
98
+ }
99
+
100
+ .nav-link:hover {
101
+ color: #1e3c72;
102
+ }
103
+
104
+ .nav-link::after {
105
+ content: '';
106
+ position: absolute;
107
+ bottom: 0;
108
+ left: 0;
109
+ width: 0;
110
+ height: 3px;
111
+ background: linear-gradient(90deg, #2a5298, #1e3c72);
112
+ border-radius: 2px;
113
+ transition: width 0.3s ease;
114
+ }
115
+
116
+ .nav-link:hover::after {
117
+ width: 100%;
118
+ }
119
+
120
+ /* Tombol Utama */
121
+ .primary-btn, .nav-diagnosa {
122
+ background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
123
+ color: white;
124
+ padding: 0.6rem 2rem; /* Diperkecil */
125
+ border-radius: 30px;
126
+ font-weight: 600;
127
+ text-decoration: none;
128
+ transition: all 0.3s ease;
129
+ border: none;
130
+ cursor: pointer;
131
+ font-size: 1rem; /* Diperkecil */
132
+ letter-spacing: 0.3px;
133
+ display: inline-block;
134
+ text-align: center;
135
+ box-shadow: 0 4px 12px rgba(42, 82, 152, 0.25);
136
+ min-width: 120px;
137
+ }
138
+
139
+ .primary-btn:hover, .nav-diagnosa:hover {
140
+ background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
141
+ color: white;
142
+ transform: translateY(-3px);
143
+ box-shadow: 0 8px 20px rgba(42, 82, 152, 0.35);
144
+ }
145
+
146
+ .primary-btn:active, .nav-diagnosa:active {
147
+ transform: translateY(0);
148
+ box-shadow: 0 4px 10px rgba(42, 82, 152, 0.25);
149
+ }
150
+
151
+ /* Tombol Logout */
152
+ .nav-logout {
153
+ padding: 0.6rem 1.8rem; /* Diperkecil */
154
+ background-color: transparent;
155
+ color: #2a5298;
156
+ border: 2px solid #2a5298;
157
+ border-radius: 30px;
158
+ font-size: 1rem;
159
+ font-weight: 600;
160
+ cursor: pointer;
161
+ transition: all 0.3s ease;
162
+ min-width: 100px;
163
+ }
164
+
165
+ .nav-logout:hover {
166
+ background-color: #2a5298;
167
+ color: white;
168
+ transform: translateY(-2px);
169
+ box-shadow: 0 6px 15px rgba(42, 82, 152, 0.2);
170
+ }
171
+
172
+ /* ================================================= */
173
+ /* 2. HERO STYLES (BACKGROUND IMAGE) */
174
+ /* ================================================= */
175
+ .hero {
176
+ min-height: 500px;
177
+ position: relative;
178
+ overflow: hidden;
179
+ padding: 0;
180
+ color: white;
181
+
182
+ /* --- BACKGROUND IMAGE DENGAN OVERLAY --- */
183
+ background-image:
184
+ linear-gradient(rgba(42, 82, 152, 0.7), rgba(42, 82, 152, 0.7)),
185
+ url('./assets/images/hero doctor.jpg');
186
+
187
+ background-size: cover;
188
+ background-position: center 20%;
189
+ background-repeat: no-repeat;
190
+ background-attachment: fixed;
191
+ }
192
+
193
+ .hero-content {
194
+ display: flex;
195
+ align-items: center;
196
+ justify-content: flex-start;
197
+ gap: 3rem;
198
+ padding: 4rem 0;
199
+ height: 100%;
200
+ min-height: 500px;
201
+ }
202
+
203
+ .hero-text {
204
+ flex: 1;
205
+ max-width: 100%;
206
+ color: white;
207
+ padding-top: 0;
208
+ animation: fadeInUp 0.8s ease-out;
209
+ text-align: left;
210
+ }
211
+
212
+ .hero h1 {
213
+ font-size: 2.8rem;
214
+ margin-bottom: 1rem;
215
+ color: white;
216
+ line-height: 1.2;
217
+ font-weight: 700;
218
+ text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
219
+ text-align: left;
220
+ }
221
+
222
+ .hero-subtitle {
223
+ font-size: 1.25rem;
224
+ opacity: 0.9;
225
+ margin-bottom: 2rem;
226
+ display: block;
227
+ color: white;
228
+ max-width: 600px;
229
+ line-height: 1.6;
230
+ text-align: left;
231
+ }
232
+
233
+ /* Tombol di kiri */
234
+ .hero-buttons-left {
235
+ display: flex;
236
+ justify-content: flex-start;
237
+ margin-top: 2rem;
238
+ }
239
+
240
+ .hero-diagnosis-btn {
241
+ padding: 1.2rem 3rem;
242
+ font-size: 1.2rem;
243
+ border-radius: 15px;
244
+ position: relative;
245
+ min-width: 250px;
246
+ background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
247
+ color: white;
248
+ border: none;
249
+ cursor: pointer;
250
+ font-weight: 600;
251
+ box-shadow: 0 6px 20px rgba(42, 82, 152, 0.3);
252
+ transition: all 0.3s ease;
253
+ }
254
+
255
+ .hero-diagnosis-btn:hover {
256
+ transform: translateY(-3px);
257
+ box-shadow: 0 10px 25px rgba(42, 82, 152, 0.4);
258
+ }
259
+
260
+ .hero-image-container {
261
+ display: none;
262
+ }
263
+
264
+ /* Animasi */
265
+ @keyframes fadeInUp {
266
+ from {
267
+ opacity: 0;
268
+ transform: translateY(30px);
269
+ }
270
+ to {
271
+ opacity: 1;
272
+ transform: translateY(0);
273
+ }
274
+ }
275
+
276
+ /* ================================================= */
277
+ /* 3. FEATURES SECTION STYLES */
278
+ /* ================================================= */
279
+ .features {
280
+ padding: 5rem 0;
281
+ background: white;
282
+ }
283
+
284
+ .section-title {
285
+ text-align: center;
286
+ margin-bottom: 3rem;
287
+ color: #1e3c72;
288
+ font-size: 2.2rem;
289
+ font-weight: 700;
290
+ position: relative;
291
+ padding-bottom: 15px;
292
+ }
293
+
294
+ .section-title::after {
295
+ content: '';
296
+ position: absolute;
297
+ bottom: 0;
298
+ left: 50%;
299
+ transform: translateX(-50%);
300
+ width: 60px;
301
+ height: 4px;
302
+ background: linear-gradient(90deg, #1e3c72, #2a5298);
303
+ border-radius: 2px;
304
+ }
305
+
306
+ .features-grid {
307
+ display: block;
308
+ margin-top: 2rem;
309
+ }
310
+
311
+ .feature-card {
312
+ background: #f8f9fa;
313
+ border-radius: 15px;
314
+ padding: 3rem;
315
+ margin-bottom: 2rem;
316
+ display: flex;
317
+ align-items: center;
318
+ gap: 3rem;
319
+ box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
320
+ transition: all 0.3s ease;
321
+ overflow: hidden;
322
+ position: relative;
323
+ }
324
+
325
+ .feature-card::before {
326
+ content: '';
327
+ position: absolute;
328
+ top: 0;
329
+ left: 0;
330
+ width: 5px;
331
+ height: 100%;
332
+ background: linear-gradient(180deg, #1e3c72, #2a5298);
333
+ border-radius: 5px 0 0 5px;
334
+ }
335
+
336
+ .feature-card:hover {
337
+ transform: translateY(-5px);
338
+ box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
339
+ }
340
+
341
+ .feature-card-left-image {
342
+ flex-direction: row;
343
+ }
344
+
345
+ .feature-card-right-image {
346
+ flex-direction: row-reverse;
347
+ }
348
+
349
+ .feature-image-container {
350
+ flex: 0 0 40%;
351
+ max-width: 400px;
352
+ height: 250px;
353
+ border-radius: 10px;
354
+ overflow: hidden;
355
+ box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
356
+ transition: all 0.3s ease;
357
+ }
358
+
359
+ .feature-card:hover .feature-image-container {
360
+ transform: scale(1.02);
361
+ box-shadow: 0 12px 25px rgba(0, 0, 0, 0.2);
362
+ }
363
+
364
+ .feature-image {
365
+ width: 100%;
366
+ height: 100%;
367
+ object-fit: cover;
368
+ display: block;
369
+ transition: transform 0.5s ease;
370
+ }
371
+
372
+ .feature-card:hover .feature-image {
373
+ transform: scale(1.05);
374
+ }
375
+
376
+ .feature-text-content {
377
+ flex: 1;
378
+ text-align: left;
379
+ }
380
+
381
+ .feature-header {
382
+ display: flex;
383
+ align-items: center;
384
+ gap: 15px;
385
+ margin-bottom: 1rem;
386
+ }
387
+
388
+ .feature-icon {
389
+ font-size: 2.8rem;
390
+ color: #2a5298;
391
+ margin-bottom: 0;
392
+ transition: transform 0.3s ease;
393
+ }
394
+
395
+ .feature-card:hover .feature-icon {
396
+ transform: scale(1.1);
397
+ }
398
+
399
+ .feature-card h3 {
400
+ color: #1e3c72;
401
+ margin-bottom: 0;
402
+ font-size: 1.6rem;
403
+ font-weight: 600;
404
+ }
405
+
406
+ .feature-card p {
407
+ color: #555;
408
+ line-height: 1.7;
409
+ font-size: 1rem;
410
+ }
411
+
412
+ /* ================================================= */
413
+ /* 4. PRIVACY SECTION */
414
+ /* ================================================= */
415
+ .privacy {
416
+ padding: 5rem 0;
417
+ background: #f1f8ff;
418
+ position: relative;
419
+ overflow: hidden;
420
+ }
421
+
422
+ .privacy::before {
423
+ content: '';
424
+ position: absolute;
425
+ top: 0;
426
+ left: 0;
427
+ width: 100%;
428
+ height: 100%;
429
+ background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="none"><path d="M0,0 L100,0 L100,100 Z" fill="rgba(255,255,255,0.1)"/></svg>');
430
+ background-size: cover;
431
+ opacity: 0.3;
432
+ }
433
+
434
+ .privacy-content {
435
+ max-width: 800px;
436
+ margin: 0 auto;
437
+ text-align: center;
438
+ padding: 3rem;
439
+ background: white;
440
+ border-radius: 15px;
441
+ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
442
+ position: relative;
443
+ z-index: 1;
444
+ animation: fadeIn 0.8s ease-out;
445
+ }
446
+
447
+ @keyframes fadeIn {
448
+ from {
449
+ opacity: 0;
450
+ transform: translateY(20px);
451
+ }
452
+ to {
453
+ opacity: 1;
454
+ transform: translateY(0);
455
+ }
456
+ }
457
+
458
+ .privacy h2 {
459
+ color: #1e3c72;
460
+ margin-bottom: 1.5rem;
461
+ font-size: 2.2rem;
462
+ font-weight: 700;
463
+ }
464
+
465
+ .privacy p {
466
+ margin-bottom: 1.5rem;
467
+ color: #555;
468
+ line-height: 1.7;
469
+ font-size: 1.05rem;
470
+ }
471
+
472
+ .security-badge {
473
+ display: inline-flex;
474
+ align-items: center;
475
+ gap: 12px;
476
+ background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
477
+ color: white;
478
+ padding: 1rem 2rem;
479
+ border-radius: 25px;
480
+ margin-top: 1.5rem;
481
+ font-weight: 600;
482
+ font-size: 1.1rem;
483
+ box-shadow: 0 4px 10px rgba(46, 125, 50, 0.1);
484
+ transition: all 0.3s ease;
485
+ }
486
+
487
+ .security-badge:hover {
488
+ transform: translateY(-2px);
489
+ box-shadow: 0 6px 15px rgba(46, 125, 50, 0.15);
490
+ }
491
+
492
+ .security-badge i {
493
+ font-size: 1.5rem;
494
+ }
495
+
496
+ /* ================================================= */
497
+ /* 5. FOOTER */
498
+ /* ================================================= */
499
+ .footer {
500
+ background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
501
+ color: white;
502
+ padding: 4rem 0 2rem;
503
+ text-align: center;
504
+ position: relative;
505
+ }
506
+
507
+ .footer::before {
508
+ content: '';
509
+ position: absolute;
510
+ top: 0;
511
+ left: 0;
512
+ width: 100%;
513
+ height: 5px;
514
+ background: white
515
+ }
516
+
517
+ .footer-content {
518
+ display: flex;
519
+ flex-direction: column;
520
+ align-items: center;
521
+ gap: 2rem;
522
+ position: relative;
523
+ z-index: 1;
524
+ }
525
+
526
+ .footer-logo {
527
+ font-size: 2.2rem;
528
+ font-weight: 700;
529
+ color: white;
530
+ text-decoration: none;
531
+ margin-bottom: 1rem;
532
+ text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
533
+ }
534
+
535
+ .footer-tagline {
536
+ font-size: 1.15rem;
537
+ opacity: 0.9;
538
+ max-width: 600px;
539
+ margin: 0 auto 2rem;
540
+ line-height: 1.6;
541
+ }
542
+
543
+ .footer-bottom {
544
+ margin-top: 3rem;
545
+ padding-top: 2rem;
546
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
547
+ width: 100%;
548
+ font-size: 0.9rem;
549
+ opacity: 0.7;
550
+ }
551
+
552
+ /* ================================================= */
553
+ /* 6. PROFILE MODAL STYLES (POPUP) */
554
+ /* ================================================= */
555
+
556
+ /* Latar belakang gelap (Overlay) */
557
+ .modal-overlay {
558
+ position: fixed;
559
+ top: 0;
560
+ left: 0;
561
+ width: 100%;
562
+ height: 100%;
563
+ background-color: rgba(0, 0, 0, 0.5); /* Hitam transparan */
564
+ display: flex;
565
+ justify-content: center;
566
+ align-items: center;
567
+ z-index: 2000; /* Di atas header */
568
+ animation: fadeIn 0.3s ease;
569
+ }
570
+
571
+ /* Kotak Putih Modal */
572
+ .modal-content {
573
+ background: white;
574
+ width: 90%;
575
+ max-width: 800px; /* Lebar sesuai desain */
576
+ border-radius: 12px;
577
+ padding: 40px;
578
+ position: relative;
579
+ box-shadow: 0 10px 25px rgba(0,0,0,0.2);
580
+ animation: slideUp 0.3s ease;
581
+ }
582
+
583
+ /* Grid Layout: Kiri (Foto) & Kanan (Form) */
584
+ .profile-layout {
585
+ display: flex;
586
+ gap: 40px;
587
+ margin-bottom: 30px;
588
+ }
589
+
590
+ /* Bagian Kiri: Foto Profil Besar */
591
+ .profile-left {
592
+ flex: 0 0 200px;
593
+ display: flex;
594
+ justify-content: center;
595
+ align-items: flex-start;
596
+ }
597
+
598
+ .profile-avatar-large {
599
+ width: 180px;
600
+ height: 180px;
601
+ background-color: #d3d3d3; /* Warna abu-abu default */
602
+ border-radius: 50%;
603
+ object-fit: cover;
604
+ }
605
+
606
+ /* Bagian Kanan: Input Form */
607
+ .profile-right {
608
+ flex: 1;
609
+ display: flex;
610
+ flex-direction: column;
611
+ gap: 15px;
612
+ }
613
+
614
+ .form-group {
615
+ position: relative;
616
+ }
617
+
618
+ .modal-input {
619
+ width: 100%;
620
+ padding: 12px 15px;
621
+ border: 1px solid #2a5298; /* Border biru tipis */
622
+ border-radius: 6px;
623
+ font-size: 1rem;
624
+ color: #333;
625
+ outline: none;
626
+ }
627
+
628
+ .input-icon {
629
+ position: absolute;
630
+ right: 15px;
631
+ top: 50%;
632
+ transform: translateY(-50%);
633
+ color: #2a5298;
634
+ cursor: pointer;
635
+ }
636
+
637
+ /* Tombol-tombol kecil (Ganti Pass, Edit Foto) */
638
+ .action-buttons-row {
639
+ display: flex;
640
+ gap: 10px;
641
+ margin-top: 5px;
642
+ }
643
+
644
+ .btn-outline {
645
+ padding: 8px 15px;
646
+ background: transparent;
647
+ border: 1px solid #2a5298;
648
+ color: #2a5298;
649
+ border-radius: 6px;
650
+ font-size: 0.9rem;
651
+ cursor: pointer;
652
+ transition: all 0.3s;
653
+ }
654
+
655
+ .btn-outline:hover {
656
+ background: #f0f4f8;
657
+ }
658
+
659
+ /* Tombol Merah (Keluar/Hapus) */
660
+ .btn-danger {
661
+ padding: 10px 25px;
662
+ background-color: #ff0000;
663
+ color: white;
664
+ border: none;
665
+ border-radius: 6px;
666
+ font-weight: 600;
667
+ cursor: pointer;
668
+ margin-top: 10px;
669
+ display: inline-block;
670
+ transition: background 0.3s;
671
+ }
672
+
673
+ .btn-danger:hover {
674
+ background-color: #cc0000;
675
+ }
676
+
677
+ /* Bagian Bawah: Bahasa & Hapus Akun */
678
+ .profile-bottom-section {
679
+ border-top: 1px solid #eee;
680
+ padding-top: 20px;
681
+ margin-top: 20px;
682
+ }
683
+
684
+ .setting-row {
685
+ display: flex;
686
+ justify-content: space-between;
687
+ align-items: center;
688
+ margin-bottom: 15px;
689
+ }
690
+
691
+ .setting-label {
692
+ font-size: 1.2rem;
693
+ color: #1e3c72;
694
+ font-weight: 600;
695
+ }
696
+
697
+ .btn-language {
698
+ padding: 8px 20px;
699
+ border: 1px solid #2a5298;
700
+ color: #1e3c72;
701
+ background: white;
702
+ border-radius: 6px;
703
+ cursor: pointer;
704
+ font-size: 1rem;
705
+ }
706
+
707
+ /* Tombol Close (Silang) di pojok */
708
+ .close-modal-btn {
709
+ position: absolute;
710
+ top: 15px;
711
+ right: 20px;
712
+ font-size: 1.5rem;
713
+ background: none;
714
+ border: none;
715
+ cursor: pointer;
716
+ color: #888;
717
+ }
718
+
719
+ /* Animasi Popup */
720
+ @keyframes slideUp {
721
+ from { transform: translateY(20px); opacity: 0; }
722
+ to { transform: translateY(0); opacity: 1; }
723
+ }
724
+
725
+ /* Responsif untuk HP */
726
+ @media (max-width: 768px) {
727
+ .profile-layout {
728
+ flex-direction: column;
729
+ align-items: center;
730
+ gap: 20px;
731
+ }
732
+ .modal-content {
733
+ width: 95%;
734
+ padding: 20px;
735
+ max-height: 90vh;
736
+ overflow-y: auto;
737
+ }
738
  }