Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
EmulatorOS
GitHub Repository: EmulatorOS/attaeht.github.io
Path: blob/main/assets/css/styles.css
2251 views
1
/*=============== GOOGLE FONTS ===============*/
2
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap");
3
4
/*=============== VARIABLES CSS ===============*/
5
:root {
6
/*========== Colors ==========*/
7
/*Color mode HSL(hue, saturation, lightness)*/
8
/*
9
Blue: hsl(207, 90%, 61%)
10
Purple: hsl(250, 66%, 75%)
11
Pink: hsl(356, 66%, 75%)
12
Teal: hsl(174, 63%, 62%)
13
*/
14
15
--hue: 207;
16
--sat: 90%;
17
--lig: 61%;
18
--first-color: hsl(var(--hue), var(--sat), var(--lig));
19
--first-color-alt: hsl(var(--hue), var(--sat), 57%); /* -4% */
20
--title-color: hsl(var(--hue), 12%, 15%);
21
--text-color: hsl(var(--hue), 12%, 45%);
22
--text-color-light: hsl(var(--hue), 8%, 75%);
23
--text-color-lighten: hsl(var(--hue), 8%, 92%);
24
--body-color: hsl(var(--hue), 100%, 99%);
25
--container-color: #fff;
26
27
/*========== Font and typography ==========*/
28
/*.5rem = 8px | 1rem = 16px ...*/
29
--body-font: 'Poppins', sans-serif;
30
--h2-font-size: 1.25rem;
31
--h3-font-size: 1rem;
32
--normal-font-size: .938rem;
33
--small-font-size: .813rem;
34
--smaller-font-size: .75rem;
35
}
36
37
@media screen and (min-width: 968px) {
38
:root {
39
--h2-font-size: 1.5rem;
40
--h3-font-size: 1.25rem;
41
--normal-font-size: 1rem;
42
--small-font-size: .875rem;
43
--smaller-font-size: .813rem;
44
}
45
}
46
47
/*=============== BASE ===============*/
48
* {
49
box-sizing: border-box;
50
padding: 0;
51
margin: 0;
52
}
53
54
body {
55
font-family: var(--body-font);
56
font-size: var(--normal-font-size);
57
background-color: var(--body-color);
58
color: var(--text-color);
59
transition: .3s; /* For animation dark mode */
60
}
61
62
h1, h2, h3 {
63
color: var(--title-color);
64
font-weight: 600;
65
}
66
67
ul {
68
list-style: none;
69
}
70
71
a {
72
text-decoration: none;
73
}
74
75
img {
76
max-width: 100%;
77
height: auto;
78
}
79
80
/*=============== THEME ===============*/
81
.change-theme {
82
position: absolute;
83
top: 1.5rem;
84
right: 0;
85
font-size: 1.25rem;
86
color: var(--title-color);
87
cursor: pointer;
88
transition: .3s;
89
}
90
91
.change-theme:hover {
92
color: var(--first-color);
93
}
94
95
/*========== Variables Dark theme ==========*/
96
body.dark-theme {
97
--title-color: hsl(var(--hue), 12%, 95%);
98
--text-color: hsl(var(--hue), 12%, 75%);
99
--body-color: hsl(var(--hue), 40%, 8%);
100
--container-color: hsl(var(--hue), 24%, 12%);
101
}
102
103
/*==========
104
Color changes in some parts of
105
the website, in light theme
106
==========*/
107
.dark-theme .button__gray {
108
background-color: var(--container-color);
109
}
110
111
.dark-theme .button__gray:hover {
112
background-color: hsl(var(--hue), 24%, 16%);
113
}
114
115
.dark-theme .filters__content {
116
background-color: var(--container-color);
117
}
118
119
.dark-theme::-webkit-scrollbar {
120
background-color: hsl(var(--hue), 8%, 16%);
121
}
122
123
.dark-theme::-webkit-scrollbar-thumb {
124
background-color: hsl(var(--hue), 8%, 24%);
125
}
126
127
.dark-theme::-webkit-scrollbar-thumb:hover {
128
background-color: hsl(var(--hue), 8%, 32%);
129
}
130
131
/*=============== REUSABLE CSS CLASSES ===============*/
132
.container {
133
max-width: 968px;
134
margin-left: 1.5rem;
135
margin-right: 1.5rem;
136
}
137
138
.grid {
139
display: grid;
140
gap: 1.5rem;
141
}
142
143
/*=============== PROFILE ===============*/
144
.profile {
145
position: relative;
146
padding-top: 3.5rem;
147
}
148
149
.profile__container {
150
row-gap: 2rem;
151
}
152
153
.profile__data {
154
display: grid;
155
text-align: center;
156
}
157
158
.profile__perfil {
159
width: 100px;
160
height: 100px;
161
background: linear-gradient(180deg,
162
hsla(var(--hue), var(--sat), var(--lig), 1) 0%,
163
hsla(var(--hue), var(--sat), var(--lig), .2) 100%);
164
border-radius: 50%;
165
overflow: hidden;
166
display: flex;
167
align-items: flex-end;
168
justify-content: center;
169
}
170
171
.profile__perfil img {
172
width: 75px;
173
}
174
175
.profile__border {
176
border: 3.5px solid var(--first-color);
177
justify-self: center;
178
width: 115px;
179
height: 115px;
180
border-radius: 50%;
181
display: grid;
182
place-items: center;
183
margin-bottom: .75rem;
184
}
185
186
.profile__name {
187
font-size: var(--h2-font-size);
188
}
189
190
.profile__profession {
191
font-size: var(--smaller-font-size);
192
font-weight: 500;
193
color: var(--text-color);
194
margin-bottom: 1rem;
195
}
196
197
.profile__social {
198
display: flex;
199
justify-content: center;
200
column-gap: .75rem;
201
}
202
203
.profile__social-link {
204
font-size: 1.25rem;
205
color: var(--title-color);
206
transition: .3s;
207
}
208
209
.profile__social-link:hover {
210
color: var(--first-color);
211
}
212
213
.profile__info {
214
grid-template-columns: repeat(3, max-content);
215
justify-content: center;
216
column-gap: 2.5rem;
217
}
218
219
.profile__info-group {
220
text-align: center;
221
}
222
223
.profile__info-number {
224
font-size: var(--normal-font-size);
225
margin-bottom: .25rem;
226
}
227
228
.profile__info-description {
229
font-size: var(--smaller-font-size);
230
font-weight: 500;
231
}
232
233
.profile__buttons,
234
.profile__buttons-small {
235
display: flex;
236
align-items: center;
237
justify-content: center;
238
}
239
240
.profile__buttons {
241
column-gap: 1rem;
242
}
243
244
.profile__buttons-small {
245
column-gap: .25rem;
246
}
247
248
/*=============== BUTTONS ===============*/
249
.button {
250
display: inline-flex;
251
align-items: center;
252
column-gap: .5rem;
253
background-color: var(--first-color);
254
color: #fff;
255
padding: 1.15rem 1.5rem;
256
border-radius: .5rem;
257
transition: .3s;
258
box-shadow: 0 8px 24px hsla(var(--hue), var(--sat), var(--lig), .25);
259
}
260
261
.button i {
262
font-size: 1.25rem;
263
}
264
265
.button:hover {
266
background-color: var(--first-color-alt);
267
}
268
269
.button__small {
270
padding: .75rem;
271
box-shadow: none;
272
}
273
274
.button__gray {
275
background-color: var(--text-color-lighten);
276
color: var(--title-color);
277
}
278
279
.button__gray:hover {
280
background-color: var(--text-color-light);
281
}
282
283
/*=============== FILTERS TABS===============*/
284
.filters__content {
285
margin: 2rem 0 2.5rem;
286
background-color: var(--text-color-lighten);
287
padding: .375rem;
288
border-radius: .75rem;
289
display: flex;
290
justify-content: space-between;
291
column-gap: .5rem;
292
}
293
294
.filters__button {
295
width: 100%;
296
border: none;
297
outline: none;
298
padding: 1rem;
299
color: var(--title-color);
300
font-size: var(--small-font-size);
301
font-family: var(--body-font);
302
font-weight: 500;
303
border-radius: .75rem;
304
cursor: pointer;
305
background-color: transparent;
306
transition: .3s;
307
}
308
309
.filters__button:hover {
310
background-color: var(--body-color);
311
}
312
313
/*=============== PROJECTS ===============*/
314
.projects__card {
315
position: relative;
316
border-radius: 1rem;
317
overflow: hidden;
318
}
319
320
.projects__card img {
321
width: 100%;
322
height: 100%;
323
}
324
325
.projects__modal {
326
position: absolute;
327
width: 100%;
328
height: 100%;
329
bottom: -100%;
330
left: 0;
331
background: linear-gradient(180deg,
332
hsla(var(--hue), 24%, 40%, .3) 0%,
333
hsla(var(--hue), 24%, 4%, 1) 95%);
334
display: grid;
335
align-items: flex-end;
336
padding: 1.5rem 1.25rem;
337
transition: .3s;
338
}
339
340
.projects__subtitle,
341
.projects__title {
342
color: #fff;
343
}
344
345
.projects__subtitle {
346
font-size: var(--smaller-font-size);
347
}
348
349
.projects__title {
350
font-size: var(--h3-font-size);
351
margin-bottom: .75rem;
352
}
353
354
.projects__button {
355
padding: .5rem;
356
}
357
358
.projects__card:hover .projects__modal {
359
bottom: 0;
360
}
361
362
/*=============== SKILLS ===============*/
363
.skills__content {
364
row-gap: 3.5rem;
365
}
366
367
.skills__title {
368
font-size: var(--h3-font-size);
369
text-align: center;
370
margin-bottom: 1.5rem;
371
}
372
373
.skills__box {
374
display: flex;
375
justify-content: center;
376
column-gap: 3rem;
377
}
378
379
.skills__group {
380
display: grid;
381
align-content: flex-start;
382
row-gap: 1rem;
383
}
384
385
.skills__data {
386
display: flex;
387
column-gap: .5rem;
388
}
389
390
.skills__data i {
391
font-size: 1rem;
392
color: var(--first-color);
393
}
394
395
.skills__name {
396
font-size: var(--normal-font-size);
397
font-weight: 500;
398
line-height: 18px;
399
}
400
401
.skills__level {
402
font-size: var(--smaller-font-size);
403
}
404
405
/* Hide and show projects & skills */
406
.filters [data-content] {
407
display: none;
408
}
409
410
.filters__active[data-content] {
411
display: grid;
412
}
413
414
/* Activate button filter */
415
.filter-tab-active {
416
background-color: var(--body-color);
417
}
418
419
/*=============== FOOTER ===============*/
420
.footer__copy {
421
display: block;
422
margin: 2.5rem 0 2rem;
423
text-align: center;
424
font-size: var(--smaller-font-size);
425
color: var(--text-color-light);
426
}
427
428
/*=============== SCROLL BAR ===============*/
429
::-webkit-scrollbar {
430
width: .6rem;
431
border-radius: .5rem;
432
background-color: hsl(var(--hue), 8%, 66%);
433
}
434
435
::-webkit-scrollbar-thumb {
436
background-color: hsl(var(--hue), 8%, 54%);
437
border-radius: .5rem;
438
}
439
440
::-webkit-scrollbar-thumb:hover {
441
background-color: hsl(var(--hue), 8%, 44%);
442
}
443
444
/*=============== BREAKPOINTS ===============*/
445
/* For small devices */
446
@media screen and (max-width: 320px) {
447
.container {
448
margin-left: 1rem;
449
margin-right: 1rem;
450
}
451
452
.profile__info {
453
column-gap: 1.5rem;
454
}
455
.profile__buttons {
456
flex-direction: column;
457
row-gap: 1rem;
458
}
459
460
.skills__box {
461
column-gap: 1rem;
462
}
463
}
464
465
/* For medium devices */
466
@media screen and (min-width: 576px) {
467
.projects__content {
468
grid-template-columns: 332px;
469
justify-content: center;
470
}
471
472
.filters__content {
473
width: 332px;
474
margin: 3rem auto;
475
}
476
}
477
478
@media screen and (min-width: 776px) {
479
.projects__content,
480
.skills__content {
481
grid-template-columns: repeat(2, 332px);
482
}
483
484
.skills__content {
485
justify-content: center;
486
column-gap: 3rem;
487
}
488
}
489
490
/* For large devices */
491
@media screen and (min-width: 992px) {
492
.container {
493
margin-left: auto;
494
margin-right: auto;
495
}
496
497
.change-theme {
498
top: 2.5rem;
499
right: 2.5rem;
500
}
501
502
.profile {
503
padding-top: 4rem;
504
}
505
.profile__border {
506
width: 135px;
507
height: 135px;
508
margin-bottom: 1rem;
509
}
510
.profile__perfil {
511
width: 120px;
512
height: 120px;
513
}
514
.profile__perfil img {
515
width: 90px;
516
}
517
.profile__profession {
518
margin-bottom: 1.5rem;
519
}
520
.profile__info {
521
column-gap: 3rem;
522
}
523
.profile__info-description {
524
font-size: var(--small-font-size);
525
}
526
.profile__buttons {
527
column-gap: 2rem;
528
}
529
530
.projects__content {
531
gap: 2rem 3rem;
532
}
533
.projects__modal {
534
padding: 1.5rem;
535
}
536
537
.skills__title {
538
font-size: var(--normal-font-size);
539
margin-bottom: 2.5rem;
540
}
541
542
.footer__copy {
543
margin: 4.5rem 0 2.5rem;
544
}
545
}
546
547