/* =======================================
   M. REZA FAHLEVI PORTFOLIO
======================================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
scroll-behavior:smooth;
}

body{

background:#050816;

color:white;

overflow-x:hidden;

}

/* Scroll */

::-webkit-scrollbar{

width:8px;

}

::-webkit-scrollbar-thumb{

background:#00c3ff;

border-radius:20px;

}

/* Background */

#particles-js{

position:fixed;

width:100%;

height:100%;

z-index:-2;

background:
radial-gradient(circle at top,#15284d,#050816);

}

/* Loading */

#loader{

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

background:#050816;

display:flex;

justify-content:center;

align-items:center;

flex-direction:column;

z-index:9999;

}

.loader-logo{

width:120px;

height:120px;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

font-size:42px;

font-weight:bold;

background:#0d1328;

border:4px solid #00d5ff;

box-shadow:0 0 40px #00d5ff;

animation:pulse 2s infinite;

}

@keyframes pulse{

0%{

transform:scale(1);

}

50%{

transform:scale(1.1);

}

100%{

transform:scale(1);

}

}

/* INTRO VIDEO */

#intro{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:#000;
display:flex;
justify-content:center;
align-items:center;
z-index:10000;
}

#introVideo{
width:100%;
height:100%;
object-fit:cover;
}

#skipIntro{
position:absolute;
bottom:40px;
right:40px;
padding:12px 30px;
border:none;
border-radius:50px;
background:#00d5ff;
color:#000;
font-weight:bold;
cursor:pointer;
}
/* Navbar */

header{

position:fixed;

top:0;

left:0;

width:100%;

padding:20px 8%;

display:flex;

justify-content:space-between;

align-items:center;

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

backdrop-filter:blur(18px);

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

z-index:999;

}

.logo{

font-size:32px;

font-weight:bold;

color:#00d5ff;

text-shadow:0 0 20px cyan;

}

nav{

display:flex;

gap:35px;

}

nav a{

color:white;

text-decoration:none;

font-weight:500;

transition:.4s;

}

nav a:hover{

color:#00d5ff;

text-shadow:0 0 20px cyan;

}

/* Hero */

#home{

min-height:100vh;

display:flex;

justify-content:space-between;

align-items:center;

padding:140px 8%;

}

.hero-left{

width:50%;

}

.hero-left h1{

font-size:72px;

color:white;

}

.hero-left h2{

margin:20px 0;

font-size:30px;

color:#00d5ff;

}

.hero-left p{

line-height:30px;

font-size:18px;

opacity:.9;

}

.hero-button{

margin-top:35px;

display:flex;

gap:20px;

}
.hero-right{
width:50%;
display:flex;
justify-content:center;
align-items:center;
}

.profile-card{
display:flex;
justify-content:center;
align-items:center;
}

.profile-card img{
width:220px;
height:220px;
object-fit:cover;
border-radius:50%;
border:5px solid #00d5ff;
box-shadow:0 0 30px #00d5ff;
}

.btn1,.btn2{

padding:15px 35px;

border-radius:50px;

text-decoration:none;

font-weight:bold;

transition:.4s;

}

.btn1{

background:#00cfff;

color:black;

}

.btn2{

border:2px solid #00cfff;

color:white;

}

.btn1:hover{

box-shadow:0 0 40px cyan;

}

.btn2:hover{

background:#00cfff;

color:black;

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

.section-title{
text-align:center;
margin:80px 0 40px;
}

.section-title h2{
font-size:42px;
color:#00d5ff;
text-shadow:0 0 20px cyan;
}

.section-title p{
opacity:.7;
margin-top:10px;
}

.about-container{
display:flex;
justify-content:center;
padding:0 8%;
}

.about-card{
width:100%;
max-width:1000px;
padding:40px;
border-radius:25px;
background:rgba(255,255,255,.05);
backdrop-filter:blur(18px);
border:1px solid rgba(255,255,255,.1);
box-shadow:0 0 30px rgba(0,213,255,.15);
}

.about-card h3{
font-size:32px;
margin-bottom:20px;
color:#00d5ff;
}

.about-card p{
line-height:30px;
margin-bottom:30px;
}

.about-info{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:20px;
}

.about-info div{
padding:20px;
background:rgba(255,255,255,.04);
border-radius:18px;
transition:.4s;
}

.about-info div:hover{
transform:translateY(-8px);
box-shadow:0 0 25px cyan;
}

/* ===========================
SKILL
=========================== */

.skill-box{
padding:0 8%;
}

.skill{
margin-bottom:30px;
}

.skill h3{
margin-bottom:10px;
}

.bar{
width:100%;
height:18px;
background:#1a2238;
border-radius:50px;
overflow:hidden;
}

.progress{
height:100%;
display:flex;
align-items:center;
justify-content:flex-end;
padding-right:15px;
font-size:12px;
font-weight:bold;
background:linear-gradient(90deg,#00d5ff,#00ff95);
color:#000;
}

.html{
width:95%;
}

.crypto{
width:90%;
}

.design{
width:88%;
}

.solve{
width:98%;
}

/* ===========================
COUNTER
=========================== */

.counter{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
gap:25px;
padding:80px 8%;
}

.counter-card{
background:rgba(255,255,255,.05);
padding:35px;
border-radius:20px;
text-align:center;
transition:.4s;
}

.counter-card:hover{
transform:translateY(-10px);
box-shadow:0 0 35px cyan;
}

.counter-card h2{
font-size:45px;
color:#00d5ff;
margin-bottom:10px;
}
/* ===========================
PORTFOLIO
=========================== */

.portfolio-container{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
gap:30px;
padding:0 8% 80px;
}

.project-card{
background:rgba(255,255,255,.05);
border-radius:25px;
overflow:hidden;
backdrop-filter:blur(15px);
border:1px solid rgba(255,255,255,.08);
transition:.4s;
}

.project-card:hover{
transform:translateY(-10px);
box-shadow:0 0 35px cyan;
}

.project-card img{
width:100%;
height:220px;
object-fit:cover;
}

.project-info{
padding:25px;
}

.project-info h3{
color:#00d5ff;
margin-bottom:15px;
}

.project-info p{
line-height:28px;
margin-bottom:20px;
}

.project-info a{
display:inline-block;
padding:12px 28px;
background:#00d5ff;
color:#000;
font-weight:bold;
border-radius:50px;
text-decoration:none;
transition:.3s;
}

.project-info a:hover{
box-shadow:0 0 30px cyan;
}

/* ===========================
GALLERY
=========================== */

.gallery{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:20px;
padding:0 8% 80px;
}

.gallery img{
width:100%;
height:230px;
object-fit:cover;
border-radius:20px;
transition:.4s;
}

.gallery img:hover{
transform:scale(1.05);
box-shadow:0 0 30px cyan;
}

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

.contact-box{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:25px;
padding:0 8% 80px;
}

.contact-card{
text-decoration:none;
color:white;
background:rgba(255,255,255,.05);
padding:35px;
border-radius:20px;
text-align:center;
transition:.4s;
}

.contact-card:hover{
transform:translateY(-8px);
box-shadow:0 0 30px cyan;
}

.contact-card i{
font-size:50px;
color:#00d5ff;
margin-bottom:20px;
}

.contact-card h3{
margin-bottom:10px;
}

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

footer{
padding:40px 20px;
text-align:center;
background:#03050d;
border-top:1px solid rgba(255,255,255,.08);
}

footer h2{
color:#00d5ff;
margin-bottom:10px;
}

footer p{
opacity:.8;
line-height:28px;
}

/* ===========================
MUSIC BUTTON
=========================== */

.music-player{
position:fixed;
right:25px;
bottom:25px;
z-index:999;
}

.music-player button{
width:60px;
height:60px;
border:none;
border-radius:50%;
background:#00d5ff;
color:#000;
font-size:22px;
cursor:pointer;
box-shadow:0 0 25px cyan;
transition:.3s;
}

.music-player button:hover{
transform:scale(1.1);
}

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

@media(max-width:900px){

header{
padding:15px 5%;
}

nav{
display:none;
}

#home{
flex-direction:column-reverse;
text-align:center;
padding:120px 5%;
}

.hero-left,
.hero-right{
width:100%;
}

.hero-left h1{
font-size:42px;
}

.hero-left h2{
font-size:22px;
}

.hero-button{
justify-content:center;
flex-wrap:wrap;
}

.about-card{
padding:25px;
}

.section-title h2{
font-size:34px;
}

.hero-right .profile-card img{
    width:180px !important;
    height:180px !important;
    object-fit:cover !important;
    border-radius:50% !important;
    display:block;
}
