/* 
  ============================================
  CSS RESET / GLOBAL BASELINE STYLES
  ============================================
  
  PURPOSE:
  - Remove browser inconsistencies and defaults
  - Create consistent baseline for all elements
  - Simplify responsive layout calculations
  
  BREAKDOWN:
  * margin: 0, padding: 0    → Eliminates default browser spacing
  * box-sizing: border-box   → Padding/border included in element dimensions
  * font-family              → Sets default typography stack
  * text-decoration: none    → Removes default link underlines
  * scroll-behavior: smooth  → Enables smooth scrolling for anchor links
  * list-style: none         → Removes default list bullets/numbers
  
  USAGE:
  Add custom styles after this reset. All elements now start from zero.
  ============================================
*/

*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Poppins';
  text-decoration: none;
  scroll-behavior: smooth;
  list-style: none;
}
body{
  background-color: #f5f5f5;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}



header{
  position: fixed; /*keep position at the top even when scrolling down*/
  top: 1rem; /*scalable and consistent therefore rem */
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5rem;
  background-color: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(8px);
  color: white;
  padding: 0.5rem 1.5rem;
  border-radius: 3rem;
  z-index: 1000;
}


.logo{
  color: white;
  font-size: 1.3rem;
  font-weight: 600;
  text-wrap: nowrap;
  transition: 0.3 ease-in-out;
}

.logo:hover{
  transform:  scale(1.1);
}

#menu-icon{
  cursor: pointer;
}

.nav-links{
  display: flex;
  gap: 2rem;
}

li a{
  position: relative;
  color: white;
  font-weight: 300;
}

li a::before{
  position: absolute;
  content: '';
  width: 0;
  left: 0;
  top:25px;
  height: 5px;
  border-radius: 1rem;
  transition: 0.3s ease-in-out;
  background: linear-gradient(to right, rgb(0,157,255), rgb(255,0,255));

}

li a:hover::before{
  width: 100%;
}

.visit-btn{
  padding: 0.8rem 1.5rem;
  border-radius: 3rem;
  border: none;
  font-weight: 500;
  font-size: 1rem;
  color: white;
  cursor: pointer;
  text-wrap: nowrap;
  transition: 0.3s ease-in-out;
  background: linear-gradient(to right, rgb(0,157,255), rgb(255,0,255) );
}

.visit-btn:hover{
  background: linear-gradient(to right,  rgb(255,0,255), rgb(0,157,255) );
  transform: scale(1.03);
}

#menu-icon{
  font-size: 2rem;
  display: none;
}

section{
  min-height: 100vh;
  padding: 8rem 12%;
  width: 100%;
  position: relative;
}

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

.hero .hero-container{
  display: flex;
  align-items: center;
  gap: 10rem;
}

.hero img{
  width: 30vw;
  border-radius: 50%;
  border: 2px solid whitesmoke;
  
}

.info-box{
  display: flex;
  flex-direction: column;
  text-align: center;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
}

.info-box h3{
  font-size: 1.8rem;
  font-weight: 500;
  opacity: 0.8 ;
}

.info-box h1{
  font-size: 4rem;
  font-weight: 600;
}

.info-box span{
  background: linear-gradient(to right, rgb(0,157,255), rgb(255,0,255) );
  background-clip: text;
  color: transparent;
  font-size: 2rem;
}

.btn-group{
  display: flex;
  gap: 1rem;
}

.btn{
  border-radius: 3rem;
  padding: 0.5rem;
  border: 2px solid black;
  cursor: pointer;
  font-weight: 500;
  text-wrap: nowrap;
  transition: 0.2s ease-in-out;
  color: black;
}

.btn:hover{
  background-color: black;
  color: white;
  transform: scale(1.2);
}

.socials{
  display: flex;
  gap: 2rem;
}

.socials i{
  font-size: 2.5rem;
  cursor: pointer;
  transition: 0.2s ease-in-out;
  color: #2a4de6;
}

.socials i:hover{
  transform: scale(1.1);
}

.about{
  min-height: 80vh;
}

.about .about-container{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10rem;
}

.about h1{
  font-size: 3rem ;
  text-decoration: underline rgb(78, 61, 231);
}

.about-info{
  width: 40vw;
}

.about-info h3{
  font-size: 1.4rem;
  font-weight: 200;
  opacity: 0.8 ;
}

.tech-skills{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}

.skill:hover{
  border-color: 50px solid red;
  transform: scale(1.3);
}

.skill{
  transition: all 0.3s ease;
}

.skill i:hover{
  background-color: rgba(204, 228, 243, 0.842);
}

.skill i{
  text-align: center;
  border: 3.5px solid black ;
  border-radius: 7px;
  padding: 40px 30px;
  font-size: 3.5rem;
  cursor: pointer;
  min-width: 140px;
  font-weight: 500;
  background-color: rgba(235, 242, 245, 0.856);
  box-shadow: 1rem 1.5rem ;

}

.skill p{
  text-align: center;
  font-size: 1rem;
  font-weight:bold;
}

.experience h1{
  font-size: 3rem ;
  text-decoration: underline rgb(78, 61, 231);
}

.experience-buttons{
  margin-top: 1rem;
  
}

.experience-button{
  padding: 1rem 1.5rem;
  border-radius: 7px;
  font-size: 1rem;
  transition: 0.3s ease-in-out;
  
}

.experience-button.active{
  background-color: black;
  color: white;
}

.experience-button:active{
  background-color: black;
  color: white;
}

.experience-button:hover{
  transform: scale(1.05);
  cursor: pointer;
}

.experience-content{
  margin-top: 2rem;
}

.experience-item{
  display: flex;
  gap: 5rem;
  margin-bottom: 1rem;

}

section .experience{
  min-height: 10vh;;
}


.left-content{
  display: block;
  position: relative;

}

.vertical-line::after{
  content: "";
  width: 0.2rem;
  height:10rem;
  display: block;
  background-color: black;
  margin-left: 2.5rem;
  margin-top: 0.5rem;
  
  
}

.education-item .vertical-line::after{
  height: 5rem;
  
}






.left-content a img{
  width: 5.5rem;
  height: 5.5rem;
  object-fit: contain;
  border: 2px solid black;
  border-radius: 25px;

}

.right-content{
  display: flex;
  flex-direction: column;
}

.description-item {
  margin-top: 2rem;
}

.description-item li::before{
  content: "- ";
}

.tech-tag{
  margin-top: 1rem;
  display: flex;
  gap: 1rem;
}

.tech-tag li{
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  padding: 0.6rem 1.2rem;
  border-radius: 2rem;
  font-size: 0.85rem;
  font-weight: 600;
  border: none;
  box-shadow: 0 3px 3px rgba(102, 126, 234, 0.4);
  transition: all 0.3s ease;
}

.tech-tag li:hover {
    transform: translateY(-3px);
    box-shadow: 0 3px 3px rgba(102, 126, 234, 0.6);
}

.right-content a{
  font-weight: 600;
  font-size: 1.4rem;
  color: black;
}

.education-item{
  display: flex;
  gap: 5rem;
  margin-bottom: 1rem;
  display: none;
}

.left-content a img.m-logo{
  border: none;
}


#projects h1{
  font-size: 3rem;
  text-decoration: underline rgb(78, 61, 231);
}


.project-container {
  margin-top: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  /* border: 2px solid black; */
  min-height: 40rem;
  min-width: 100%


}

.left{
  cursor: pointer;
  position: absolute;
  left: 5rem;
  height: 7.5rem;  
  width: 7.5rem;  
  border-radius: 50%;
  z-index: 1000;
  padding: 0;  
  display: flex; 
  align-items: center;  
  justify-content: center; 
  font-size: 1.5rem;  
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  border: none;
  background: linear-gradient(135deg, #8d9de8 0%, #bea9d2 100%);
  color: black;
  transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.left:hover {
  transform: translateX(-10px);  /* Now this won't conflict with scale */
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  box-shadow: -5px 0 20px rgba(102, 126, 234, 0.6);
}

.right{
  cursor: pointer;
  position: absolute;
  right: 5rem;
  border-radius: 50%;
  height: 7.5rem;  
  width: 7.5rem;   
  padding: 0;  
  z-index: 1000;
  display: flex; 
  align-items: center; 
  justify-content: center; 
  font-size: 1.5rem; 
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  border: none;
  background: linear-gradient(135deg, #8d9de8 0%, #bea9d2 100%);
  color: black;
  transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.right:hover {
  transform: translateX(10px);
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  box-shadow: 5px 0 20px rgba(102, 126, 234, 0.6);
}
.project-info{
  display: none;
}

.project-info.active{
  flex-direction: column;
  display: block;
  justify-content: center;
  align-items: center;
  position: absolute;
  padding: 2rem;
}




.static-image, .animated-gif{
  position: absolute; /* Allows images to overlap within the container */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* Optional: Add a smooth transition for the opacity change */
  transition: opacity 0.3s ease-in-out;
}

.image-container {
  position: relative;
  width: 100%;
  height: 23rem;
  overflow: hidden;
  border-radius: 0.5rem;
  margin-bottom: 1rem;
  border: 2px solid lightblue;
}

/* By default, hide the animated GIF */
.animated-gif {
    opacity: 0;
}

/* On hover over the container, show the animated GIF and hide the static one */
.project-info.active:hover .static-image {
    opacity: 0;
}

.project-info.active:hover .animated-gif {
    opacity: 1;
}

/* Add this instead */
.project-container:has(.project-info.active:hover) .bg{
  background-color: rgb(53, 52, 52);
  transform: scale(1.1);
}

/* Add this instead */
.project-container:has(.project-info.active:hover) h2{
  color: rgb(234, 241, 241)
}

/* Add this instead */
.project-container:has(.project-info.active:hover) p{
  color: rgb(234, 241, 241)
}



.bg{
  position: absolute;
  background-color: white;
  width: 85%;
  height: 40rem;
  border-radius: 1rem;
  box-shadow: 5px 7px;
  border: 2px solid lightblue;
  transition: all 0.3s ease;
  
}

.project-info h2{
  font-size: 2rem;
}

.project-info p{
  font-size: 1.2rem;
}

.proj-tags{
  margin-top: 0.5rem;
  display: flex;
  gap: 1rem;

}

.proj-tags p{
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 0.6rem 1.2rem;
    border-radius: 2rem;
    font-size: 0.85rem;
    font-weight: 600;
    border: none;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
    transition: all 0.3s ease;
}

.proj-tags p:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(102, 126, 234, 0.6);
}

.project-info-btns{
  margin-top: 1rem;
  display: flex;
  gap: 1.5rem;

  
}

.project-info-btns button{
    padding: 1rem 1rem;
    border-radius: 1rem;
    font-size: 1rem;
    font-weight: 600;
    transition: all 0.3s ease;
    display: flex;
    gap: 0.5rem;
    transition: all 0.3s ease;
    background: white;
    color: #667eea;
    border: 2px solid #667eea;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.2);
    cursor: pointer;
}

.project-info-btns button:hover {
    background: #667eea;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
}



.all-proj{
  display: block;
  margin: auto;
  border-radius: 3rem;
  padding: 1.2rem 3rem;
  cursor: pointer;
  margin-top: 3rem;
  font-size: 1.1rem;
  font-weight: 600;
  border: none;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
  transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  position: relative;
  overflow: hidden;
}

.all-proj::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #764ba2 0%, #667eea 100%);
  transition: left 0.4s ease;
  z-index: -1;
}

.all-proj:hover{
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(102, 126, 234, 0.6);
}

.contact{
  min-height: 15vh;
}

.contact h1{
  text-align: center;
  font-size: 3rem;
  text-decoration: underline rgb(78, 61, 231);
}

.contact-socials{
  margin-top: 3rem;
  text-align: center;
  font-size: 3rem;
}

.contact-socials a i{
  padding: 10px;
  padding-right:60px;
  border-radius: 360px;
  color: #2a4de6;
  width: 3rem;
  text-align: center;
  transition: all 0.3s ease;
}

.contact-socials a i:hover{
  transform: scale(1.3);
}

footer{
  border-top: 2px solid silver;
  text-align: center;
  padding-top: 1.5rem;
}



/* media styles */

@media(max-width: 1280px){
  header{
    padding: 1rem 2rem;
    gap: 2rem;
  }

  .hero .hero-container{
    gap:3rem;
  }

  .about .about-container{
    flex-direction: column;
    width: 100%;
    
  }

  .about h1{
    text-align: center;
    margin-bottom: 1rem;
  }

  .about-container .about-info{
    width: 100%;
  }

  .experience h1{
    text-align: center;
  }

  .projects h1{
    text-align: center;
  }

  .bg{
    width: 100%;
    height: 70vh;
  }

  .left{
    left: -4rem;
    height: 5.5rem;  
    width: 5.5rem;   
  }

  .right{
    right: -4rem;
    height: 5.5rem;  
    width: 5.5rem;   
  }

  .all-proj{
    margin-top: 5rem;
  }

}

@media(max-width:1536px ){


  .left{
    left: -1rem;
  }

  .right{
    right: -1rem;
  }
  


}


@media(max-width:1377px ){


  .left{
    left: -1rem;
  }

  .right{
    right: -1rem;
  }
  


}

@media(max-width:768px){

  .about-container{
    flex-direction: column;
  }


}

@media(max-width:600px){

  .info-box h1{
    line-height: 1.1;   /* reduces space between lines */
    margin: 0;          /* Remove any margins */
  }

  header #menu-icon{
    display: block;
    cursor: pointer;
  }

  .nav-links{
    position: absolute;
    top: 100%;
    margin-top: 1rem;
    width: 100%;
    padding: 1rem;
    color: white;
    display: flex;
    flex-direction: column;
    text-align: center;
    background-color: rgba(0, 0, 0, 0.9);
    display: none;
    border-radius: 3rem;
  }

  .nav-links li{
      margin-top: 1.5rem;
      padding: 1rem;
  }

  .nav-links.active{
    display: block;
  }

  header{
    padding:  1rem 5rem;
    gap: 8rem;
    width: 90%;

  }

  header .logo{
    font-size: 1.5rem;
    margin-left: 4rem;
  }

  .hero-container{
    flex-direction: column;
  }

  .hero-container img{
    width: 60vw;
  }

  .input-box input{
    padding:  0.5rem 3rem;
    width: 80%;
  }

  .input-box input{
    padding: 0.5rem;
  }

  .visit-btn{
    display: none;
  }

  .vertical-line::after{
    display: none;
  }

  .skill:hover{
    transform: scale(1);
  }

  .experience-item, .education-item{
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 5rem;

  }

  .left-content{
    margin-bottom: -4rem;
  }


  .experience-buttons{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top: 2rem;
    margin-bottom: 5rem;
  }

  .image-container{
    width: 100%;
    height: 30vh;
    align-items: center;
  }

  .project-info.active h2{
    font-size:1.2rem;
    
  }

  .project-info.active p {
    font-size: 0.9rem;
  }

  .project-info.active{
  flex-direction: column;
  display: block;
  justify-content: center;
  align-items: center;
  padding: 2rem;
  width: 100%;  
  max-width: 100%;  
  box-sizing: border-box;  
}

.bg{
  position: absolute;
  background-color: white;
  width: 100%;
  height: 40rem;
  border-radius: 1rem;
  box-shadow: 5px 7px;
  border: 2px solid lightblue;
  transition: all 0.3s ease;
}


.project-info h2{
  font-size: 2rem;
  word-wrap: break-word;  
}

.project-info p{
  font-size: 1.2rem;
  word-wrap: break-word;  
  overflow-wrap: break-word; 
}

.proj-tags{
  flex-wrap: wrap;
}

.proj-tags button{
  padding: 2px;
}

}

@media(max-width:360px){

  header{
    width: 80%;
    gap: 2rem;
  }

  .hero-container{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  header .logo{
    margin-left: 2rem;
  }

  .about-container{
    width: 100%;
  }

  .about-container.tech-skills{
    width: 100%;
    border: 10px soild rgb(35, 16, 201);
    flex-wrap: wrap;

  }


  .tech-skills{
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-around;
    flex-wrap: wrap;
  }
  .skill{
    width: 40%;
    justify-content: center;
    align-items: center;
    text-align: center;
    flex-direction: column;
    display: flex;

  }

  .skill p{
    margin-top: 0;
  }
  .skill i{
    transform: scale(0.5);
    box-shadow: 0.5rem 0.5rem;
    margin-bottom: -2rem;

  }

  .about-container{
    text-align: center;
  }


   .experience-item, .education-item{
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 5rem;
    flex-wrap: wrap;

  }

  .tech-tag{
    flex-wrap: wrap;
  }

  .image-container{
    width: 100%;
    height: 20vh;
    align-items: center;
  }

  .project-info.active h2{
    font-size:1.2rem;
    
  }

  .project-info.active p {
    font-size: 0.9rem;
  }

  .project-info.active{
  flex-direction: column;
  display: block;
  justify-content: center;
  align-items: center;
  padding: 2rem;
  width: 100%;  
  max-width: 100%;  
  box-sizing: border-box;  
}

.bg{
  position: absolute;
  background-color: white;
  width: 100%;
  height: 40rem;
  border-radius: 1rem;
  box-shadow: 5px 7px;
  border: 2px solid lightblue;
  transition: all 0.3s ease;
}


  .left, .right{
    width: 4rem;
    height: 4rem;
  }

  .left{
    left: -2rem;
  }

  .right{
    right: -2rem;
  }

  .project-info.active .proj-tags p {
    font-size: 0.5rem;
    border: 3px solib black;
  }

  .project-info-btns button{
    padding: 0.3rem 1rem;

  }




}
















