Skip to content

Instantly share code, notes, and snippets.

@rakibxdev
Created April 17, 2023 02:57
Show Gist options
  • Save rakibxdev/af1d5904b60aae3b542e07082f492074 to your computer and use it in GitHub Desktop.
Save rakibxdev/af1d5904b60aae3b542e07082f492074 to your computer and use it in GitHub Desktop.
/*=============== GOOGLE FONTS ===============*/
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap");
/*=============== VARIABLES CSS ===============*/
:root {
/*========== Colors ==========*/
/*Color mode HSL(hue, saturation, lightness)*/
/*
Blue: hsl(207, 90%, 61%)
Purple: hsl(250, 66%, 75%)
Pink: hsl(356, 66%, 75%)
Teal: hsl(174, 63%, 62%)
*/
--hue: 250;
--sat: 66%;
--lig: 75%;
--first-color: hsl(var(--hue), var(--sat), var(--lig));
--first-color-alt: hsl(var(--hue), var(--sat), 57%); /* -4% */
--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;
/*========== Font and typography ==========*/
/*.5rem = 8px | 1rem = 16px ...*/
--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;
}
}
/*=============== BASE ===============*/
* {
box-sizing: border-box;
/* If we create two identical div of same size they will have different size because of default padding + width + height applied
border box solves this problem and makes same size therefore we use them in universal selector */
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; /* For animation dark mode */
}
h1, h2, h3 {
color: var(--title-color);
font-weight: 600;
}
ul {
list-style: none;
}
a {
text-decoration: none;
}
img {
max-width: 100%;
height: auto;
}
/*=============== THEME ===============*/
.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);
}
/*========== Variables Dark theme ==========*/
body.dark-theme{
--title-color: hsl(var(--hue), 12%, 95%);
--text-color: hsl(var(--hue), 12%, 75%);
--body-color: hsl(var(--hue), 40%, 9%);
--container-color: hsl(var(--hue),24%,12%);
}
/*==========
Color changes in some parts of
the website, in light theme
==========*/
.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%);
}
/*=============== REUSABLE CSS CLASSES ===============*/
.container {
max-width: 968px;
margin-left: 1.5rem;
margin-right: 1.5rem;
}
.grid {
display: grid;
gap: 1.5rem;
}
/*=============== PROFILE ===============*/
.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__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;
text-align: center;
}
.profile__info-description
{
font-size: var(--smaller-font-size);
font-weight: 500;
}
/*=============== BUTTONS ===============*/
.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);
}
.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 TABS ===============*/
.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 ===============*/
.projects__card
{
position: relative;
border-radius: 1rem;
overflow: hidden;
/* width:100px;
height:200px; */
}
.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(--small-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 ===============*/
.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-items: 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(--small-font-size);
}
/* Hide and show projects & skills */
.filters [data-content]
{
display: none;
}
.filters__active[data-content]
{
display: grid;
}
/* Activate button filter */
.filters-tab-active
{
background-color: var(--body-color);
}
/*=============== FOOTER ===============*/
.footer__copy
{
display: block;
margin: 2.5rem 0 2rem;
text-align: center;
font-size: var(--smaller-font-size);
color: var(--text-color-light)
}
/*=============== SCROLL BAR ===============*/
::-webkit-scrollbar
{
width:.6rem;
border-radius: .5rem;
background-color: hsla(var(--hue), 8%,66%);
}
::-webkit-scrollbar-thumb
{
border-radius: .5rem;
background-color: hsla(var(--hue), 8%,54%);
}
::-webkit-scrollbar-thumb:hover
{
background-color: hsla(var(--hue), 8%,44%);
}
/*=============== BREAKPOINTS ===============*/
/* For small devices */
@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;
}
}
/* For medium devices */
@media screen and (min-width:576px) {
.projects__content
{
grid-template-columns: 332px;
justify-content: center;
}
.filters__content
{
width: 332px;
margin: 3rem auto;
}
}
/* For large devices */
@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;
} */
/* .skills__content
{
width: 120px;
height: 120px;
}
.skills__content 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;
}
.footer__copy
{
margin:4.5rem 0 2.5rem;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment