/* =========================
FILE: style.css
========================= */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:'Poppins',sans-serif;
}

html{
  scroll-behavior:smooth;
}

body{
  background:#050505;
  color:#fff;
  overflow-x:hidden;
}

/* Scrollbar */

::-webkit-scrollbar{
  width:8px;
}

::-webkit-scrollbar-thumb{
  background:#a020f0;
  border-radius:20px;
}

/* Navbar */

.custom-navbar{
  background:rgba(0,0,0,.8);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,255,255,.08);
  padding:15px 0;
}

.logo{
  color:#c86bff !important;
  font-weight:700;
  font-size:30px;
}

.nav-link{
  color:#fff !important;
  font-size:14px;
}

.nav-link:hover{
  color:#b84cff !important;
}

.hire-btn{
  background:linear-gradient(90deg,#7c3aed,#c026d3);
  color:#fff;
  text-decoration:none;
  padding:12px 28px;
  border-radius:50px;
  font-size:14px;
  box-shadow:0 0 20px rgba(168,85,247,.5);
}

/* Hero */

.hero-section{
  padding:160px 0 100px;
  position:relative;
}

.tag{
  display:inline-block;
  border:1px solid #9333ea;
  color:#d8b4fe;
  padding:8px 18px;
  border-radius:50px;
  margin-bottom:20px;
  font-size:14px;
}

.hero-left h1{
  font-size:75px;
  font-weight:800;
  line-height:1.1;
}

.hero-left h1 span{
  color:#a855f7;
}

.hero-left h3{
  margin:20px 0;
  color:#ddd;
}

.typing-text{
  color:#ccc;
  margin-bottom:35px;
}

/* Typing Name Animation */

.typing-name{
  color:#a855f7;
  position:relative;
  text-shadow:0 0 20px rgba(168,85,247,.45);
}

.typing-name::before{
  content:"Sairaj Naik...";
  animation:typing 4s steps(10) infinite;
  overflow:hidden;
  white-space:nowrap;
  display:inline-block;
  border-right:3px solid #a855f7;
  width:0;
}

@keyframes typing{

  0%{
    width:0;
  }

  40%{
    width:100%;
  }

  60%{
    width:100%;
  }

  100%{
    width:0;
  }

}

.hero-buttons{
  display:flex;
  gap:15px;
  flex-wrap:wrap;
  margin-bottom:40px;
}

.primary-btn{
  background:linear-gradient(90deg,#7c3aed,#c026d3);
  color:#fff;
  padding:14px 30px;
  border-radius:12px;
  text-decoration:none;
  border:none;
  box-shadow:0 0 20px rgba(168,85,247,.5);
}

.outline-btn{
  border:1px solid #9333ea;
  color:#fff;
  padding:14px 30px;
  border-radius:12px;
  text-decoration:none;
}

.social-icons{
  display:flex;
  gap:15px;
}

.social-icons a{
  width:45px;
  height:45px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  text-decoration:none;
}

.hero-right{
  position:relative;
}

.hero-img{
  width:100%;
  max-width:1000px;
  border-radius:30px;

}
/* Tag */

.tag{
  display:inline-block;
  padding:10px 22px;
  margin-bottom:20px;
  font-size:14px;
  color:#d8b4fe;
  background:rgba(168,85,247,.08);
  border:1px solid #9333ea;
  border-radius:50px;
  backdrop-filter:blur(10px);
  position:relative;
  overflow:hidden;
  cursor:pointer;
  transition:.4s ease;
}

.tag::before{
  content:'';
  position:absolute;
  top:0;
  left:-100%;
  width:100%;
  height:100%;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.25),
    transparent
  );
  transition:.6s;
}

.tag:hover::before{
  left:100%;
}

.tag:hover{
  color:#fff;
  border-color:#c026d3;
  transform:translateY(-4px) scale(1.03);
  box-shadow:0 0 25px rgba(168,85,247,.6);
}


/* Buttons */

.hero-buttons{
  display:flex;
  gap:15px;
  flex-wrap:wrap;
  margin-bottom:40px;
}

.primary-btn,
.outline-btn{
  padding:14px 32px;
  border-radius:14px;
  text-decoration:none;
  font-weight:600;
  position:relative;
  overflow:hidden;
  cursor:pointer;
  z-index:1;
  transition:.4s ease;
}

/* Primary Button */

.primary-btn{
  color:#fff;
  border:none;
  background:linear-gradient(90deg,#7c3aed,#c026d3);
  box-shadow:0 0 25px rgba(168,85,247,.45);
}

.primary-btn::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#c026d3,#7c3aed);
  opacity:0;
  z-index:-1;
  transition:.4s;
}

.primary-btn:hover::before{
  opacity:1;
}

.primary-btn:hover{
  transform:translateY(-5px) scale(1.04);
  box-shadow:
    0 0 20px rgba(168,85,247,.6),
    0 0 40px rgba(168,85,247,.4);
}

/* Outline Button */

.outline-btn{
  color:#fff;
  border:1px solid #9333ea;
  background:rgba(255,255,255,.03);
  backdrop-filter:blur(10px);
}

.outline-btn::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:0;
  height:100%;
  background:linear-gradient(90deg,#7c3aed,#c026d3);
  z-index:-1;
  transition:.4s ease;
}

.outline-btn:hover::before{
  width:100%;
}

.outline-btn:hover{
  border-color:#c026d3;
  transform:translateY(-5px);
  box-shadow:0 0 20px rgba(168,85,247,.5);
}


/* Social Icons */

.social-icons{
  display:flex;
  gap:18px;
}

.social-icons a{
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  color:#fff;
  text-decoration:none;
  border-radius:50%;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(10px);
  position:relative;
  overflow:hidden;
  transition:.4s ease;
}

.social-icons a::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(
    135deg,
    rgba(168,85,247,.8),
    rgba(192,38,211,.8)
  );
  opacity:0;
  z-index:-1;
  transition:.4s;
}

.social-icons a:hover::before{
  opacity:1;
}

.social-icons a:hover{
  border-color:#c026d3;
  transform:translateY(-8px) rotate(8deg) scale(1.1);
  box-shadow:
    0 0 15px rgba(168,85,247,.6),
    0 0 35px rgba(168,85,247,.4);
}

.social-icons a i{
  transition:.4s;
}

.social-icons a:hover i{
  transform:scale(1.2);
}

/* Common */

.section-padding{
  padding:100px 0;
}

.section-title{
  text-align:center;
  margin-bottom:60px;
}

.section-title h2{
  font-size:50px;
  font-weight:700;
}

.line{
  width:90px;
  height:4px;
  background:#a855f7;
  margin:15px auto;
  border-radius:50px;
}

/* About */

.about-img-box img{
  width:100%;
  border-radius:25px;
  border:2px solid #9333ea;
}

.about-text{
  color:#ccc;
  line-height:2;
}

.counter-box{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  padding:30px;
  text-align:center;
}

.counter-box h3{
  color:#a855f7;
  font-size:45px;
}

/* =========================
SKILLS SECTION
========================= */

.skills-section{
  position:relative;
  padding:120px 0;
  overflow:hidden;
  background:
    radial-gradient(circle at top left,
    rgba(168,85,247,.08),transparent 30%),

    radial-gradient(circle at bottom right,
    rgba(59,130,246,.08),transparent 30%),

    #050816;
}

/* TITLE */

.section-title h2{
  font-size:48px;
  font-weight:800;
  color:#fff;
}

.section-title p{
  color:#94a3b8;
  margin-top:15px;
  letter-spacing:2px;
}

.line{
  width:120px;
  height:4px;
  margin:18px auto;
  border-radius:20px;
  background:linear-gradient(90deg,#7c3aed,#06b6d4);
}

/* WRAPPER */

.skills-wrapper{
  position:relative;
  width:100%;
  min-height:900px;
  display:flex;
  justify-content:center;
  align-items:center;
  margin-top:70px;
}

/* SVG CENTER */

.devops-animation{
  width:850px;
  max-width:100%;
  z-index:2;
  animation:floatCenter 6s ease-in-out infinite;
}

.devops-animation svg{
  width:100%;
  height:auto;
  filter:
    drop-shadow(0 0 30px rgba(59,130,246,.25))
    drop-shadow(0 0 50px rgba(168,85,247,.15));
}

/* FLOATING SKILL ICONS */

.floating-skill{
  position:absolute;
  width:120px;
  height:120px;
  border-radius:24px;

  background:
    rgba(255,255,255,.04);

  border:
    1px solid rgba(255,255,255,.08);

  backdrop-filter:blur(12px);

  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;

  color:#fff;
  transition:.4s ease;

  z-index:5;

  animation:floating 5s ease-in-out infinite;
}

.floating-skill i{
  font-size:42px;
  margin-bottom:10px;
}

.floating-skill span{
  font-size:14px;
  font-weight:600;
  letter-spacing:1px;
}

/* HOVER */

.floating-skill:hover{
  transform:
    translateY(-12px)
    scale(1.08);

  box-shadow:
    0 0 20px rgba(168,85,247,.5),
    0 0 50px rgba(59,130,246,.25);

  border-color:#8b5cf6;
}

/* INDIVIDUAL COLORS */

.aws i{
  color:#ff9900;
}

.docker i{
  color:#2496ed;
}

.kubernetes i{
  color:#326ce5;
}

.terraform i{
  color:#7b42bc;
}

.jenkins i{
  color:#d33833;
}

.cicd i{
  color:#8b5cf6;
}

.github i{
  color:#fff;
}

.linux i{
  color:#facc15;
}

/* POSITIONS */

.aws{
  top:80px;
  left:30px;
}

.docker{
  top:260px;
  left:90px;
}

.github{
  bottom:220px;
  left:80px;
}

.linux{
  bottom:70px;
  left:40px;
}

.kubernetes{
  top:90px;
  right:40px;
}

.terraform{
  top:280px;
  right:100px;
}

.jenkins{
  bottom:220px;
  right:70px;
}

.cicd{
  bottom:70px;
  right:40px;
}

/* ANIMATIONS */

@keyframes floating{
  0%,100%{
    transform:translateY(0px);
  }

  50%{
    transform:translateY(-15px);
  }
}

@keyframes floatCenter{
  0%,100%{
    transform:translateY(0px);
  }

  50%{
    transform:translateY(-12px);
  }
}

/* RESPONSIVE */

@media(max-width:992px){

  .skills-wrapper{
    min-height:auto;
    flex-direction:column;
    gap:30px;
  }

  .floating-skill{
    position:relative;
    width:100px;
    height:100px;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
  }

  .devops-animation{
    width:100%;
  }
}

/* Projects */

.project-card{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:25px;
  overflow:hidden;
  transition:.4s;
}

.project-card:hover{
  transform:translateY(-10px);
}

.project-img{
  height:260px;
  background:linear-gradient(135deg,#3b0764,#000);
}

.project-content{
  padding:30px;
}

.project-content p{
  color:#bbb;
  line-height:1.8;
}

.tags{
  display:flex;
  gap:10px;
  margin:20px 0;
}

.tags span{
  border:1px solid #9333ea;
  padding:7px 15px;
  border-radius:50px;
  font-size:13px;
}

.project-buttons{
  display:flex;
  gap:15px;
}

.small-btn{
  padding:10px 22px;
}

/* Timeline */

.timeline{
  max-width:900px;
  margin:auto;
  border-left:2px solid #9333ea;
  padding-left:40px;
}

.timeline-item{
  position:relative;
  margin-bottom:40px;
}

.dot{
  width:18px;
  height:18px;
  background:#a855f7;
  border-radius:50%;
  position:absolute;
  left:-50px;
  top:20px;
  box-shadow:0 0 20px #a855f7;
}

.timeline-box{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  padding:25px;
}

/* Services */

.service-card{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:25px;
  padding:35px;
  transition:.4s;
}

.service-card:hover{
  transform:translateY(-10px);
}

.service-icon{
  font-size:40px;
  margin-bottom:20px;
}

/* Contact */

.contact-info,
.contact-form{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:25px;
  padding:40px;
}

.contact-info p{
  color:#ccc;
  margin-top:30px;
}

.contact-form input,
.contact-form textarea{
  width:100%;
  background:#0a0a0a;
  border:1px solid rgba(255,255,255,.08);
  border-radius:15px;
  padding:18px;
  margin-bottom:20px;
  color:#fff;
}

/* Footer */

footer{
  border-top:1px solid rgba(255,255,255,.08);
  text-align:center;
  padding:50px 20px;
}

footer h3{
  color:#c86bff;
  margin-bottom:20px;
}

/* Responsive */

@media(max-width:991px){

  .hero-left{
    margin-bottom:60px;
  }

  .hero-left h1{
    font-size:55px;
  }

  .section-title h2{
    font-size:40px;
  }

}

@media(max-width:576px){

  .hero-left h1{
    font-size:42px;
  }

  .hero-buttons{
    flex-direction:column;
  }

  .section-title h2{
    font-size:34px;
  }

}