/*==============================
  HISHAM BHUIYAN PORTFOLIO
===============================*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

:root{

--bg:#060816;

--card:rgba(255,255,255,.08);

--border:rgba(255,255,255,.12);

--text:#ffffff;

--text2:#b7c3d4;

--primary:#4cc9ff;

--secondary:#7c5cff;

--radius:22px;

}

*{

margin:0;

padding:0;

box-sizing:border-box;

font-family:'Poppins',sans-serif;

}

html{

scroll-behavior:smooth;

}

body{

background:var(--bg);

color:var(--text);

overflow-x:hidden;

}

body::-webkit-scrollbar{

width:10px;

}

body::-webkit-scrollbar-thumb{

background:var(--primary);

border-radius:20px;

}

a{

text-decoration:none;

color:inherit;

}

img{

display:block;

max-width:100%;

}

section{

padding:110px 9%;

position:relative;

}

.section-title{

text-align:center;

margin-bottom:70px;

}

.section-title h2{

font-size:48px;

font-weight:700;

}

.section-title p{

margin-top:10px;

color:var(--text2);

font-size:18px;

}

/*==============================
AURORA
===============================*/

.aurora{

position:fixed;

inset:0;

z-index:-3;

background:

radial-gradient(circle at 10% 20%,#2563eb55 0%,transparent 35%),

radial-gradient(circle at 80% 25%,#06b6d455 0%,transparent 35%),

radial-gradient(circle at 60% 90%,#9333ea55 0%,transparent 40%);

filter:blur(120px);

animation:auroraMove 12s ease infinite alternate;

}

@keyframes auroraMove{

0%{

transform:translateY(-40px) scale(1);

}

100%{

transform:translateY(40px) scale(1.2);

}

}

/*==============================
NAVBAR
===============================*/

.navbar{

position:fixed;

top:0;

left:0;

width:100%;

height:82px;

display:flex;

align-items:center;

justify-content:space-between;

padding:0 8%;

backdrop-filter:blur(18px);

background:rgba(5,8,22,.55);

border-bottom:1px solid rgba(255,255,255,.08);

z-index:999;

}

.logo{

font-size:30px;

font-weight:800;

letter-spacing:1px;

}

.logo span{

color:var(--primary);

}

.navbar ul{

display:flex;

gap:40px;

list-style:none;

}

.navbar ul li a{

position:relative;

font-weight:500;

transition:.35s;

}

.navbar ul li a:hover{

color:var(--primary);

}

.navbar ul li a::after{

content:"";

position:absolute;

left:0;

bottom:-8px;

height:2px;

width:0;

background:var(--primary);

transition:.35s;

}

.navbar ul li a:hover::after{

width:100%;

}

.menu{

display:none;

font-size:26px;

cursor:pointer;

}

/*==============================
HERO
===============================*/

.hero{

min-height:100vh;

display:flex;

align-items:center;

justify-content:space-between;

gap:80px;

}

.hero-left{

flex:1;

}

.subtitle{

font-size:20px;

color:var(--primary);

margin-bottom:15px;

}

.hero h1{

font-size:78px;

line-height:1.1;

margin-bottom:10px;

}

.hero h1 span{

color:var(--primary);

}

.hero h2{

height:50px;

font-size:34px;

color:#d7e9ff;

margin-bottom:25px;

}

.description{

max-width:620px;

line-height:1.9;

font-size:18px;

color:var(--text2);

}

.hero-buttons{

display:flex;

gap:20px;

margin-top:40px;

}

.btn{

padding:16px 34px;

border-radius:50px;

background:var(--primary);

color:#00111a;

font-weight:700;

transition:.35s;

}

.btn:hover{

transform:translateY(-5px);

box-shadow:0 0 40px #4cc9ff88;

}

.outline{

background:transparent;

border:2px solid var(--primary);

color:#fff;

}

.social{

display:flex;

gap:20px;

margin-top:40px;

}

.social a{

width:52px;

height:52px;

border-radius:50%;

background:rgba(255,255,255,.08);

display:flex;

justify-content:center;

align-items:center;

font-size:22px;

transition:.35s;

}

.social a:hover{

background:var(--primary);

color:#00111a;

transform:translateY(-6px);

}

/*==============================
PROFILE CARD
===============================*/

.hero-right{
flex:1;
display:flex;
justify-content:center;
align-items:center;
}

.profile-card{
width:400px;
height:500px;
position:relative;
display:flex;
justify-content:center;
align-items:center;
}

.circle{
position:absolute;
width:420px;
height:420px;
border-radius:50%;
background:linear-gradient(135deg,#4cc9ff,#7c5cff);
filter:blur(80px);
opacity:.35;
animation:floatCircle 5s ease-in-out infinite alternate;
}

@keyframes floatCircle{

0%{
transform:translateY(-20px);
}

100%{
transform:translateY(20px);
}

}

.profile-card img{
width:340px;
height:440px;
object-fit:cover;
border-radius:30px;
border:2px solid rgba(255,255,255,.12);
box-shadow:0 20px 80px rgba(0,0,0,.45);
z-index:2;
}

.glass{

position:absolute;
bottom:15px;
width:290px;
padding:20px;
border-radius:20px;
background:rgba(255,255,255,.08);
backdrop-filter:blur(15px);
border:1px solid rgba(255,255,255,.12);
z-index:3;
text-align:center;

}

.glass h3{
margin-bottom:8px;
}

.glass p{
color:var(--text2);
font-size:15px;
}


/*==============================
ABOUT
===============================*/

.about-container{

display:grid;

grid-template-columns:1fr 1.3fr;

gap:60px;

align-items:center;

}

.about-image{

display:flex;

justify-content:center;

}

.about-image img{

width:330px;

border-radius:25px;

border:2px solid rgba(255,255,255,.08);

}

.about-text h3{

font-size:38px;

margin-bottom:20px;

}

.about-text p{

line-height:1.9;

color:var(--text2);

}

.about-info{

margin-top:40px;

display:grid;

grid-template-columns:repeat(3,1fr);

gap:20px;

}

.about-info div{

background:var(--card);

padding:25px;

border-radius:20px;

border:1px solid var(--border);

text-align:center;

transition:.35s;

}

.about-info div:hover{

transform:translateY(-10px);

border-color:var(--primary);

}

.about-info h4{

margin-bottom:8px;

}


/*==============================
SKILLS
===============================*/

.skills-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

gap:30px;

}

.skill-card{

padding:30px;

background:var(--card);

border:1px solid var(--border);

border-radius:22px;

transition:.35s;

}

.skill-card:hover{

transform:translateY(-10px);

border-color:var(--primary);

box-shadow:0 20px 50px rgba(0,0,0,.35);

}

.skill-card i{

font-size:42px;

color:var(--primary);

margin-bottom:18px;

}

.skill-card h3{

margin-bottom:20px;

}

.progress{

height:10px;

border-radius:20px;

background:#1f2937;

overflow:hidden;

margin-bottom:10px;

}

.progress span{

display:block;

height:100%;

background:linear-gradient(90deg,#4cc9ff,#7c5cff);

border-radius:20px;

}


/*==============================
PROJECTS
===============================*/

.project-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(330px,1fr));

gap:35px;

}

.project-card{

overflow:hidden;

border-radius:24px;

background:var(--card);

border:1px solid var(--border);

transition:.4s;

}

.project-card:hover{

transform:translateY(-12px);

border-color:var(--primary);

}

.project-card img{

width:100%;

height:220px;

object-fit:cover;

background:#111827;

}

.project-content{

padding:28px;

}

.project-content h3{

margin-bottom:12px;

}

.project-content p{

line-height:1.8;

color:var(--text2);

margin-bottom:22px;

}

.project-content a{

display:inline-block;

padding:12px 22px;

background:var(--primary);

color:#00111a;

font-weight:700;

border-radius:30px;

}
/*==============================
GITHUB
===============================*/

.github-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

gap:25px;

}

.github-card{

background:var(--card);

border:1px solid var(--border);

border-radius:22px;

padding:35px;

text-align:center;

transition:.35s;

backdrop-filter:blur(12px);

}

.github-card:hover{

transform:translateY(-10px);

border-color:var(--primary);

box-shadow:0 20px 50px rgba(0,0,0,.35);

}

.github-card h3{

font-size:42px;

margin-bottom:10px;

color:var(--primary);

}

.github-card span{

color:var(--text2);

}



/*==============================
CONTACT
===============================*/

.contact-container{

display:grid;

grid-template-columns:1fr 1fr;

gap:50px;

}

.contact-info{

display:flex;

flex-direction:column;

gap:25px;

}

.info-box{

display:flex;

align-items:center;

gap:18px;

padding:22px;

background:var(--card);

border:1px solid var(--border);

border-radius:20px;

transition:.35s;

}

.info-box:hover{

transform:translateX(10px);

border-color:var(--primary);

}

.info-box i{

font-size:28px;

color:var(--primary);

}

.contact-form{

display:flex;

flex-direction:column;

gap:20px;

}

.contact-form input,

.contact-form textarea{

width:100%;

padding:18px;

border:none;

outline:none;

background:rgba(255,255,255,.06);

border:1px solid rgba(255,255,255,.08);

border-radius:18px;

color:white;

font-size:16px;

resize:none;

}

.contact-form input:focus,

.contact-form textarea:focus{

border-color:var(--primary);

}



/*==============================
FOOTER
===============================*/

footer{

padding:70px 20px;

text-align:center;

border-top:1px solid rgba(255,255,255,.08);

margin-top:120px;

}

footer h2{

font-size:36px;

margin-bottom:10px;

}

footer p{

color:var(--text2);

}

.footer-social{

display:flex;

justify-content:center;

gap:20px;

margin:35px 0;

}

.footer-social a{

width:55px;

height:55px;

display:flex;

justify-content:center;

align-items:center;

background:rgba(255,255,255,.08);

border-radius:50%;

font-size:22px;

transition:.35s;

}

.footer-social a:hover{

background:var(--primary);

color:#00111a;

transform:translateY(-8px);

}

.copyright{

margin-top:30px;

font-size:15px;

}



/*==============================
ANIMATION
===============================*/

.project-card,
.skill-card,
.github-card,
.info-box,
.about-info div{

animation:fadeUp .8s ease both;

}

@keyframes fadeUp{

from{

opacity:0;

transform:translateY(40px);

}

to{

opacity:1;

transform:translateY(0);

}

}



/*==============================
RESPONSIVE
===============================*/

@media(max-width:992px){

.navbar{

padding:0 25px;

}

.navbar ul{

display:none;

}

.menu{

display:block;

}

.hero{

flex-direction:column-reverse;

text-align:center;

padding-top:140px;

}

.hero-buttons,

.social{

justify-content:center;

}

.about-container{

grid-template-columns:1fr;

}

.contact-container{

grid-template-columns:1fr;

}

.about-info{

grid-template-columns:1fr;

}

.profile-card{

width:320px;

height:420px;

}

.profile-card img{

width:280px;

height:360px;

}

.hero h1{

font-size:52px;

}

.hero h2{

font-size:26px;

}

.section-title h2{

font-size:38px;

}

}



/*==============================
GLOW
===============================*/

::selection{

background:var(--primary);

color:#00111a;

}

.project-card:hover img{

transform:scale(1.05);

transition:.5s;

}

.project-card img{

transition:.5s;

}

.skill-card:hover i{

transform:rotate(12deg) scale(1.15);

transition:.4s;

}

html{

scroll-padding-top:90px;

}
.hidden{
opacity:0;
transform:translateY(60px);
transition:1s;
}

.show{
opacity:1;
transform:translateY(0);
}

.active{
color:#4cc9ff !important;
}

.topBtn{

position:fixed;

right:25px;

bottom:25px;

width:55px;

height:55px;

border:none;

border-radius:50%;

background:#4cc9ff;

color:#00111a;

font-size:24px;

cursor:pointer;

opacity:0;

pointer-events:none;

transition:.35s;

box-shadow:0 10px 30px rgba(0,0,0,.35);

}

.topBtn:hover{

transform:translateY(-6px);

}
/*==============================
REPOSITORIES
===============================*/

.repo-list{

margin-top:50px;

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:25px;

}

.repo-card{

padding:25px;

background:rgba(255,255,255,.06);

border:1px solid rgba(255,255,255,.08);

border-radius:20px;

transition:.35s;

}

.repo-card:hover{

transform:translateY(-10px);

border-color:#4cc9ff;

}

.repo-card h3{

margin-bottom:15px;

}

.repo-card p{

line-height:1.7;

color:#b7c3d4;

margin-bottom:20px;

}

.repo-card a{

display:inline-block;

padding:12px 20px;

background:#4cc9ff;

color:#00111a;

border-radius:30px;

font-weight:700;

}



/*==============================
CURSOR GLOW
===============================*/

.cursor-glow{

position:fixed;

width:220px;

height:220px;

border-radius:50%;

background:radial-gradient(circle,#4cc9ff33,transparent 70%);

pointer-events:none;

transform:translate(-50%,-50%);

z-index:-1;

}



/*==============================
MOBILE MENU
===============================*/

@media(max-width:992px){

.navbar ul{

position:absolute;

top:82px;

left:0;

width:100%;

background:#060816;

display:flex;

flex-direction:column;

align-items:center;

padding:30px 0;

gap:25px;

transform:translateY(-150%);

transition:.4s;

}

.navbar ul.open{

transform:translateY(0);

}

}
