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