@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap");
:root {
--hue: 207;
--sat: 90%;
--lig: 61%;
--first-color: hsl(var(--hue), var(--sat), var(--lig));
--first-color-alt: hsl(var(--hue), var(--sat), 57%);
--title-color: hsl(var(--hue), 12%, 15%);
--text-color: hsl(var(--hue), 12%, 45%);
--text-color-light: hsl(var(--hue), 8%, 75%);
--text-color-lighten: hsl(var(--hue), 8%, 92%);
--body-color: hsl(var(--hue), 100%, 99%);
--container-color: #fff;
--body-font: 'Poppins', sans-serif;
--h2-font-size: 1.25rem;
--h3-font-size: 1rem;
--normal-font-size: .938rem;
--small-font-size: .813rem;
--smaller-font-size: .75rem;
}
@media screen and (min-width: 968px) {
:root {
--h2-font-size: 1.5rem;
--h3-font-size: 1.25rem;
--normal-font-size: 1rem;
--small-font-size: .875rem;
--smaller-font-size: .813rem;
}
}
* {
box-sizing: border-box;
padding: 0;
margin: 0;
}
body {
font-family: var(--body-font);
font-size: var(--normal-font-size);
background-color: var(--body-color);
color: var(--text-color);
transition: .3s;
}
h1, h2, h3 {
color: var(--title-color);
font-weight: 600;
}
ul {
list-style: none;
}
a {
text-decoration: none;
}
img {
max-width: 100%;
height: auto;
}
.change-theme {
position: absolute;
top: 1.5rem;
right: 0;
font-size: 1.25rem;
color: var(--title-color);
cursor: pointer;
transition: .3s;
}
.change-theme:hover {
color: var(--first-color);
}
body.dark-theme {
--title-color: hsl(var(--hue), 12%, 95%);
--text-color: hsl(var(--hue), 12%, 75%);
--body-color: hsl(var(--hue), 40%, 8%);
--container-color: hsl(var(--hue), 24%, 12%);
}
.dark-theme .button__gray {
background-color: var(--container-color);
}
.dark-theme .button__gray:hover {
background-color: hsl(var(--hue), 24%, 16%);
}
.dark-theme .filters__content {
background-color: var(--container-color);
}
.dark-theme::-webkit-scrollbar {
background-color: hsl(var(--hue), 8%, 16%);
}
.dark-theme::-webkit-scrollbar-thumb {
background-color: hsl(var(--hue), 8%, 24%);
}
.dark-theme::-webkit-scrollbar-thumb:hover {
background-color: hsl(var(--hue), 8%, 32%);
}
.container {
max-width: 968px;
margin-left: 1.5rem;
margin-right: 1.5rem;
}
.grid {
display: grid;
gap: 1.5rem;
}
.profile {
position: relative;
padding-top: 3.5rem;
}
.profile__container {
row-gap: 2rem;
}
.profile__data {
display: grid;
text-align: center;
}
.profile__perfil {
width: 100px;
height: 100px;
background: linear-gradient(180deg,
hsla(var(--hue), var(--sat), var(--lig), 1) 0%,
hsla(var(--hue), var(--sat), var(--lig), .2) 100%);
border-radius: 50%;
overflow: hidden;
display: flex;
align-items: flex-end;
justify-content: center;
}
.profile__perfil img {
width: 75px;
}
.profile__border {
border: 3.5px solid var(--first-color);
justify-self: center;
width: 115px;
height: 115px;
border-radius: 50%;
display: grid;
place-items: center;
margin-bottom: .75rem;
}
.profile__name {
font-size: var(--h2-font-size);
}
.profile__profession {
font-size: var(--smaller-font-size);
font-weight: 500;
color: var(--text-color);
margin-bottom: 1rem;
}
.profile__social {
display: flex;
justify-content: center;
column-gap: .75rem;
}
.profile__social-link {
font-size: 1.25rem;
color: var(--title-color);
transition: .3s;
}
.profile__social-link:hover {
color: var(--first-color);
}
.profile__info {
grid-template-columns: repeat(3, max-content);
justify-content: center;
column-gap: 2.5rem;
}
.profile__info-group {
text-align: center;
}
.profile__info-number {
font-size: var(--normal-font-size);
margin-bottom: .25rem;
}
.profile__info-description {
font-size: var(--smaller-font-size);
font-weight: 500;
}
.profile__buttons,
.profile__buttons-small {
display: flex;
align-items: center;
justify-content: center;
}
.profile__buttons {
column-gap: 1rem;
}
.profile__buttons-small {
column-gap: .25rem;
}
.button {
display: inline-flex;
align-items: center;
column-gap: .5rem;
background-color: var(--first-color);
color: #fff;
padding: 1.15rem 1.5rem;
border-radius: .5rem;
transition: .3s;
box-shadow: 0 8px 24px hsla(var(--hue), var(--sat), var(--lig), .25);
}
.button i {
font-size: 1.25rem;
}
.button:hover {
background-color: var(--first-color-alt);
}
.button__small {
padding: .75rem;
box-shadow: none;
}
.button__gray {
background-color: var(--text-color-lighten);
color: var(--title-color);
}
.button__gray:hover {
background-color: var(--text-color-light);
}
.filters__content {
margin: 2rem 0 2.5rem;
background-color: var(--text-color-lighten);
padding: .375rem;
border-radius: .75rem;
display: flex;
justify-content: space-between;
column-gap: .5rem;
}
.filters__button {
width: 100%;
border: none;
outline: none;
padding: 1rem;
color: var(--title-color);
font-size: var(--small-font-size);
font-family: var(--body-font);
font-weight: 500;
border-radius: .75rem;
cursor: pointer;
background-color: transparent;
transition: .3s;
}
.filters__button:hover {
background-color: var(--body-color);
}
.projects__card {
position: relative;
border-radius: 1rem;
overflow: hidden;
}
.projects__card img {
width: 100%;
height: 100%;
}
.projects__modal {
position: absolute;
width: 100%;
height: 100%;
bottom: -100%;
left: 0;
background: linear-gradient(180deg,
hsla(var(--hue), 24%, 40%, .3) 0%,
hsla(var(--hue), 24%, 4%, 1) 95%);
display: grid;
align-items: flex-end;
padding: 1.5rem 1.25rem;
transition: .3s;
}
.projects__subtitle,
.projects__title {
color: #fff;
}
.projects__subtitle {
font-size: var(--smaller-font-size);
}
.projects__title {
font-size: var(--h3-font-size);
margin-bottom: .75rem;
}
.projects__button {
padding: .5rem;
}
.projects__card:hover .projects__modal {
bottom: 0;
}
.skills__content {
row-gap: 3.5rem;
}
.skills__title {
font-size: var(--h3-font-size);
text-align: center;
margin-bottom: 1.5rem;
}
.skills__box {
display: flex;
justify-content: center;
column-gap: 3rem;
}
.skills__group {
display: grid;
align-content: flex-start;
row-gap: 1rem;
}
.skills__data {
display: flex;
column-gap: .5rem;
}
.skills__data i {
font-size: 1rem;
color: var(--first-color);
}
.skills__name {
font-size: var(--normal-font-size);
font-weight: 500;
line-height: 18px;
}
.skills__level {
font-size: var(--smaller-font-size);
}
.filters [data-content] {
display: none;
}
.filters__active[data-content] {
display: grid;
}
.filter-tab-active {
background-color: var(--body-color);
}
.footer__copy {
display: block;
margin: 2.5rem 0 2rem;
text-align: center;
font-size: var(--smaller-font-size);
color: var(--text-color-light);
}
::-webkit-scrollbar {
width: .6rem;
border-radius: .5rem;
background-color: hsl(var(--hue), 8%, 66%);
}
::-webkit-scrollbar-thumb {
background-color: hsl(var(--hue), 8%, 54%);
border-radius: .5rem;
}
::-webkit-scrollbar-thumb:hover {
background-color: hsl(var(--hue), 8%, 44%);
}
@media screen and (max-width: 320px) {
.container {
margin-left: 1rem;
margin-right: 1rem;
}
.profile__info {
column-gap: 1.5rem;
}
.profile__buttons {
flex-direction: column;
row-gap: 1rem;
}
.skills__box {
column-gap: 1rem;
}
}
@media screen and (min-width: 576px) {
.projects__content {
grid-template-columns: 332px;
justify-content: center;
}
.filters__content {
width: 332px;
margin: 3rem auto;
}
}
@media screen and (min-width: 776px) {
.projects__content,
.skills__content {
grid-template-columns: repeat(2, 332px);
}
.skills__content {
justify-content: center;
column-gap: 3rem;
}
}
@media screen and (min-width: 992px) {
.container {
margin-left: auto;
margin-right: auto;
}
.change-theme {
top: 2.5rem;
right: 2.5rem;
}
.profile {
padding-top: 4rem;
}
.profile__border {
width: 135px;
height: 135px;
margin-bottom: 1rem;
}
.profile__perfil {
width: 120px;
height: 120px;
}
.profile__perfil img {
width: 90px;
}
.profile__profession {
margin-bottom: 1.5rem;
}
.profile__info {
column-gap: 3rem;
}
.profile__info-description {
font-size: var(--small-font-size);
}
.profile__buttons {
column-gap: 2rem;
}
.projects__content {
gap: 2rem 3rem;
}
.projects__modal {
padding: 1.5rem;
}
.skills__title {
font-size: var(--normal-font-size);
margin-bottom: 2.5rem;
}
.footer__copy {
margin: 4.5rem 0 2.5rem;
}
}