/*=============== GOOGLE FONTS ===============*/

@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&display=swap');
/*=============== VARIABLES CSS ===============*/
:root {
  --header-height:3.5rem ;

  /*========== Colors ==========*/
  /* Color mode HSL(hue, saturation, lightness) */
  --first-color:hsl(268,77%,58%) ;
  --first-color-dark:hsl(268,78%,51%) ;
  --first-color-light:hsl(268,100%,83%) ;
  --title-color: hsl(0,0%,87%);
  --text-color:hsl(0,0%,69%) ;
  --body-color:hsl(200,12%,5%) ;
  --container-color: hsl(200,10%,8%);
  --border-color: hsl(0,0%,20%);
  --white:#fff ;

  /*========== Font and typography ==========*/
  /* .5rem = 8px | 1rem = 16px ... */
  --body-font:"Jost",sans-serif;
  --big-font-size:3rem ;
  --h1-font-size: 2.5rem;
  --h2-font-size:2.25rem ;
  --h3-font-size:1.5rem ;
  --larger-font-size:1.2rem ;
  --large-font-size:1.125rem ;

  /*========== Font weight ==========*/
  --weight-300: 300;
  --weight-400:400 ;
  --weight-600:600 ;
}
html{
  scroll-behavior:smooth ;
}
/*=============== DARK THEME ===============*/
#day-night:checked ~ * {
  --title-color: hsl(247,27%,31%);
  --text-color:hsl(0,0%,41%) ;
  --body-color:hsl(0,%,100%) ;
  --container-color: hsl(266,78%,98%);
  --border-color: hsl(0,0%,87%);
}

/*=============== BASE ===============*/
*{
  margin:0;
  padding: 0;
  box-sizing: border-box;
}
input,
textarea,
button,
body{
  font-family:var(--body-font);
  font-size: var(--larger-font-size);
}
main{
  background-color:var(--body-color);
  color: var(--text-color);
}
input,
textarea,
button{
  outline: none;
  border: none;
  background-color: transparent;
}
h1,h2,h3{
  color: var(--text-color);
  font-weight: var(--weight-600);
}
ul{
  list-style: none;
}
a{
  text-decoration: none;
}
img{
  max-width: 100%;
}
/*=============== REUSABLE CSS CLASSES ===============*/
.container{
  max-width: 1200px;
  /* background-color: var(--first-color); */
  margin-inline:auto ;
  padding-inline: 1rem;

}
.grid{
  display: grid;
  gap:1.5rem;
}
.section{
  padding-block: 6rem;
}
.section__title{
  font-size: var(--h1-font-size);
  font-weight: var(--weight-400);
  line-height: 1.2;
  margin-bottom: 1.5rem;
}
.section__title::before{
  content: attr(data-title);
  display: block;
  color: var(--first-color);
  font-size: var(--large-font-size);
  font-weight: var(--weight-600);
  text-transform: uppercase;
  letter-spacing: 1px;
margin-bottom:0.5rem;

}
.title-center{
  text-align: center;
  margin-bottom:3rem ;
}
/*=============== STYLE SWITCHER ===============*/
input[type="radio"],
input[type="checkbox"]{
  display: none;
}
.style__switcher{
  position: fixed;
  right: 0;
  bottom: 20%;
  padding: 1rem;
  width: 220px;
  border: 1px solid var(--border-color);
  background-color: var(--container-color);
  border-radius: 0.5rem;
  z-index: 1000;
  transform: translateX(100%);
  transition: all .3s ease;
}
#toggler:checked ~ .style__switcher{
  transform: translateX(0);
}
.style__switcher-toggler,
.style__switcher-theme{
  position: absolute;
  right: 110%;
  color: var(--title-color);
  background-color: var(--body-color);
  border: 1px solid var(--border-color);
  height: 48px;
  width: 48px;
 cursor: pointer;
 display: grid;
 place-items: center;
 border-radius: 50%;
 transition:all 0.3s ease ;
}
.style__switcher-toggler{
  top: 7%;
}
.style__switcher-theme{
  bottom: 7%;
}
.style__switcher-theme .fa-moon{
  display: none;

}
#day-night:checked ~ * .fa-sun{
display: none;
}
#day-night:checked ~ * .fa-moon{
  display: block;
  }
.style__switcher-title{
  font-size: var(--large-font-size);
  margin-bottom: 0.75rem;
}
.style__switcher-colors{
display: grid;
grid-template-columns: repeat(5,1fr);
gap: .5rem;
}
.style__switcher-colors .color{
  height: 30px;
  width: 30px;
  border-radius: 50%;

}
.color-1{
  background-color: hsl(252,35%,51%);
}
.color-2{
  background-color: hsl(351,85%,51%);
}
.color-3{
  background-color: hsl(271,76%,53%);
}
.color-4{
  background-color: hsl(225,73%,57%);
}
.color-5{
  background-color: hsl(43,35%,51%);
}
.color-6{
  background-color: hsl(339,81%,66%);
}
.color-7{
  background-color: hsl(80,61%,50%);
}
.color-8{
  background-color: hsl(19,96%,52%);
}
.color-10{
  background-color: hsl(42,100%,50%);
}
.color-9{
  background-color: hsl(88,65%,43%);
}
#color-1:checked ~ *{
  --first-color:hsl(252,35%,51%) ;
  --first-color-dark:hsl(252,78%,51%) ;
  --first-color-light:hsl(252,100%,83%) ;


}
#color-2:checked ~ *{
  --first-color:hsl(351,85%,51%) ;
  --first-color-dark:hsl(351,75%,51%) ;
  --first-color-light:hsl(351,100%,83%) ;


}
#color-3:checked ~ *{
  --first-color:hsl(271,76%,53%) ;
  --first-color-dark:hsl(271,60%,53%) ;
  --first-color-light:hsl(271,100%,83%) ;


}
#color-4:checked ~ *{
  --first-color:hsl(225,73%,57%) ;
  --first-color-dark:hsl(225,63%,57%) ;
  --first-color-light:hsl(225,100%,83%) ;


}
#color-5:checked ~ *{
  --first-color:hsl(43,74%,51%) ;
  --first-color-dark:hsl(43,64%,49%) ;
  --first-color-light:hsl(43,100%,83%) ;


}
#color-6:checked ~ *{
  --first-color:hsl(339,81%,66%) ;
  --first-color-dark:hsl(339,71%,66%) ;
  --first-color-light:hsl(339,100%,83%) ;


}
#color-7:checked ~ *{
  --first-color:hsl(80,61%,50%) ;
  --first-color-dark:hsl(80,51%,50%) ;
  --first-color-light:hsl(80,100%,83%) ;


}
#color-8:checked ~ *{
  --first-color:hsl(19,96%,52%) ;
  --first-color-dark:hsl(19,86%,52%) ;
  --first-color-light:hsl(19,100%,83%) ;


}
#color-9:checked ~ *{
  --first-color:hsl(88,65%,43%) ;
  --first-color-dark:hsl(88,55%,43%) ;
  --first-color-light:hsl(88,100%,83%) ;


}#color-10:checked ~ *{
  --first-color:hsl(42,100%,51%) ;
  --first-color-dark:hsl(42,85%,50%) ;
  --first-color-light:hsl(42,100%,83%) ;


}
/*=============== HEADER & NAV ===============*/
.header{
  position: fixed;
 background-color: var(--body-color);
  top: 0;
  left: 0;
  width: 100%;
  box-shadow: 0 3px 9px hsla(0,0%,0%,0.05);
  z-index: 100;
}
.nav,
.nav__list{
  display: flex;
}
.nav{
  height:calc(var(--header-height)+2.25rem);
  background-color: var(--body-color);
  justify-content: space-between;
  align-items: center;

}
.nav__logo{
  color: var(--first-color);
  font-size: var(--h2-font-size);
}
.nav__list{
  column-gap: 1.5rem;
}
.nav__link{
  color: var(--title-color);
  transition:all .3 ease;

}
.nav__toggle{
  display: none;

}
/* Active link */
.active-link:hover{
  color:var(--first-color);
}
/*=============== HOME ===============*/
.home{
  background-color: var(--container-color);
  padding-block: 9rem 3rem;
}
.home__container{
  grid-template-columns: repeat(2,1fr);
  align-items: center;
}
.home__small{
  font-size: var(--large-font-size);
  font-weight:var(--weight-600) ;
  letter-spacing: 1px;
}
.home__title{
  font-size: var(--big-font-size);
  line-height: 1.4;
}
.home__title span{
  font-weight: var(--weight-300) ;
}
.home__description{
  margin-block:1.5rem 3rem;
}
.home__btns{
display: flex;
column-gap: 1rem;

}
.home__img-wrapper{
  margin-inline: auto 2rem;
  position: relative;
}
.home__img-wrapper::before,
.home__img-wrapper::after{
  content: "";
  position: absolute;
  inset :0;

  }
.home__img-wrapper::before{
  background-color: var(--first-color-light);
  animation: animate__before 6s ease-in-out infinite;
}
.home__img-wrapper::after{
  background-color: var(--first-color);
 
}

.home__img-wrapper::after,
.home__img{
animation: animate__after 8s ease-in-out infinite;
}

.home__img{
  z-index: 10;
  position: relative;
  vertical-align: middle;


}
/* Home animation */
@keyframes animate__before{
0%{
  border-radius: 36% 9% 58% 42% / 42% 33% 67% 90% ;
}
50%{
  border-radius: 91% 9% 21% 79% / 25% 33% 67% 75%  ;
}

100%{
  border-radius: 49% 57% 71% 29% / 100% 27% 73% 0%  ;
}
}
@keyframes animate__after{
  0%{
    border-radius: 65% 35% 29% 71% /55% 30% 70% 45% ;
  }
  50%{
    border-radius: 60% 80% 32% 68% / 32% 33% 67% 68%  ;
  }
  75%{
    border-radius: 91% 9% 21% 79% / 25% 33% 67% 75%  ;
  }
  100%{
    border-radius: 100% 100% 58% 42% / 42% 33% 67% 90%   ;
  }
  }

/*=============== BUTTON ===============*/
.btn{
  display: inline-block;
  background-color: var(--first-color);
  border: 1px solid var(--first-color);
  color: var(--white);
  padding: 0.9rem 2.5rem;
  font-size: var(--large-font-size);
  border-radius:0.5rem ;
  transition: all 0.5s ease;

}
.btn_transparent{
  background-color: transparent;
  color: var(--first-color);
}
/* Button hover */
.btn:hover{
  background-color: var(--first-color-dark);
}
.btn_transparent:hover{
background-color: var(--first-color);
color:var(--white);
}
/*=============== ABOUT ===============*/
.about__container{
  grid-template-columns: 4fr 8fr;
  align-items: center;
}
span.data_description{
  margin-top: 3px;

}
.about__img_wrapper{
position: relative;
height: 400px;
}
.about__img{
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  object-fit: cover;
  transition: all .3s ease;
}
.about__img:nth-child(1){
  clip-path: polygon(0 0, 0 32%, 28% 0);
  transform: translateY(-1.25rem);
}
.about__img:nth-child(2){
  clip-path: polygon(28% 0, 0 32%, 0 100%, 17% 100%, 90% 0);
  transform: translateY(-0.75rem);
}
.about__img:nth-child(3){
  clip-path: polygon(100% 0, 100% 65%, 74% 100%, 17% 100%, 90% 0);
  transform: translateY(-0.25rem);
}
.about__img:nth-child(4){
  clip-path: polygon(100% 65%, 74% 100%, 100% 100%);
  transform: translateY(0.25rem);
}
/* About img hover */
.about__img_wrapper:hover .about__img{
  transform: translateY(0);
}
.about__description{
  border-bottom: 1px solid var(--border-color);
  padding-bottom: 1.5rem;

  margin-bottom: 2rem;
}
.about__data{
  grid-template-columns: repeat(2,1fr);
  gap: 
  .25rem;
  margin-bottom: 3rem;

}
.data_item{
  display: flex;
  column-gap: .75rem;
}
.data__link{
  font-size: var(--large-font-size);
}
.about__link{
  color: hsl(225,73%,57%);
}
.about__bottom,.about__social-links{
  display: flex;
  align-items: center;
}
.about__bottom{
  column-gap: 3rem;
}
.about__social-links{
  column-gap: 1.25rem;
}
.about__social-links::before{
  content: "";
  background-color: var(--text-color);
  width: 60px;
  height: 2px;
}
.about__social-link{
color: var(--text-color);
transition: all 0.3s ease;
}
.about__social-link:hover{
  color: var(--first-color);
}
/*=============== QUALIFICATION ===============*/
.qualification{
  background-color: var(--container-color);
}
.resume__container{
  grid-template-columns: repeat(2,1fr)
}
.resume__heading{
  text-align: center;
  font-size: var(--h3-font-size);
  padding-bottom: 2rem;
}
.resume__heading,
.resume__item{
  border-bottom: 2px solid var(--border-color);
}
.resume__item:not(:first-child){
  border-right: 2px solid var(--border-color);
}
.resume__item{
  position: relative;
}
.resume__heading{
  padding: 2rem 1.5rem;
}
.resume__subtitle{
  font-size: var(--large-font-size);
  cursor: pointer;

}
.resume__icon{
  border: 2px solid var(--border-color);
  background-color: var(--border-color);
  font-size: var(--h2-font-size);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  line-height: 2.6rem;
  text-align: center;
  cursor: pointer;
  z-index: 10;
  bottom: -1.5rem;
  position: absolute;
  right: -1.5rem;
}
.resume__content{
  padding-inline: 1.5rem 3rem;
}
.resume__date-title{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.resume__title{
  font-size: var(--h3-font-size);

}
.resume__date{
  color: var(--title-color);
  font-size: var(--large-font-size);
}
.resume__description{
  margin-block: 1.25rem 2rem;
}
/*=============== SERVICES ===============*/
.services__container{
  grid-template-columns: repeat(3,1fr);
}
.services__item{
  background-color: var(--container-color);
  border: 1px solid var(--container-color) ;
  padding: 2.5rem 1.8rem;
  border-radius: .5rem;
  transform: all .5s ease;
}

/* Services hover */
.services__item:hover{
  background-color: var(--body-color);
  border-color:var(--border-color);
}
.services__icon{
  color: var(--first-color);
  font-size: 1.8rem;
}
.services__title{
  font-size: var(--h3-font-size);
  margin-block:1.5rem 1rem;
}
.services__no{
  position: absolute;
 

  color: var(--title-color);
  font-size: 1.75rem;
  opacity: 0.07;
}


/*=============== SKILLS ===============*/
.skills{
  background-color: var(--container-color);

}
.skills__container{
  grid-template-columns: repeat(3,1fr);
  row-gap: 4rem;
}
.skills__bar,
.skills__percentage{
  height: 2px;
 
}
.skills__bar{
  background-color: var(--border-color);
}
.skills__title{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.skills__name{
  font-size: var(--larger-font-size);
}
.skills__no{
  color: var(--title-color);
  font-size: var(--large-font-size);
  font-weight: var(--weight-600);
}
.skills__titles,
.skills__description{
padding-inline: 1.5rem;
}
.skills__description{
  margin-block: 1rem 1.8rem;
}
.skills__percentage{
  background-color: var(--first-color);
  position: relative;
}
.skills__percentage span{
  background-color: var(--container-color);
  border: 2px solid var(--border-color);
  width: 25px;
  height: 25px;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: -0.75rem;
}
/*=============== PORTFOLIO ===============*/
.work__container{
  grid-template-columns: repeat(3,1fr);
}
.work_card{
  position: relative;
  cursor: pointer;

}
.work__img{
  vertical-align: middle;
}
.work__img,
.work__details{
  border-radius: 0.5rem;
}
.work__title{
  font-size: var(--h3-font-size);
}
.work__title,
.work__description{
color: var(--white);
transform: translateY(1.5rem);
transition: all .3s ease-in-out;
}
.work__description{
  font-size: var(--large-font-size);
}
.work__details{
position: absolute;
inset: 0;
background-color: hsla(0,0%,0%,0.05);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
opacity: 0;
transition: all .4s ease-in-out;
}

/* Work hover */
.work_card:hover .work__details{
  opacity: 1;
}
.work__card:hover :is(.work__title,.work__description){
  transform: translateY(0);
}
/*=============== TESTIMONIALS ===============*/

/*=============== CONTACT ===============*/
.contact__container{
  grid-template-columns: 5fr 7fr;
  align-items: flex-start;
}
.contact__item{
  display: flex;
  align-items:flex-start ;
  column-gap: 1.25rem;
}
.contact__item:not(:last-child){
margin-bottom: 2.5rem;
}
.contact__icon{
  color: var(--first-color);
  font-size: var(--large-font-size);
  line-height: 1.8;
}
.contact__title{
font-size: var(--larger-font-size);
}
.contact__data{
  font-size: var(--large-font-size);
}
.form__group{
  display: grid;
  grid-template-columns: repeat(2,1fr);
  column-gap: 1.25rem;
}
.input__control{
  color:var(--title-color) ;
  background-color: var(--container-color);
  border: 1px solid transparent;
  padding: 0.9rem .75rem;
  width: 100%;
  border-radius: 0.5rem;
  margin-bottom: 1.25rem;
}
/*=============== FOOTER ===============*/

.footer{
  background-color: var(--container-color);
  padding-block: 3rem;
}
.footer__container{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.footer__copyright{
  color: var(--text-color);
}
.footer__social__links{
  display: flex;
  column-gap: 1.25rem;
}
.footer__social__link{
  color: var(--text-color);
  font-size: var(--large-font-size);
}

/*=============== BREAKPOINTS ===============*/
/* For large devices */
@media screen and (max-width: 1200px) {
  .container{
    max-width: 960px;
  }
  :root{
    --big-font-size:2.5rem ;
  --h1-font-size: 2rem;
  --h2-font-size:1.75rem ;
  --h3-font-size:1.25rem ;
  --larger-font-size:1rem ;
  --large-font-size:0.938rem ;
  }
  .home__img{
    width: 340px;
  }
  .about__img_wrapper{
    
    height:320px ;
  }
  .resume__icon{
    line-height:1.4em ;
  }
  .services__icon{
    font-size: 1.5rem;
  }
  .services__no{
    font-size: 2.5rem;
  }
  .services__title{
    margin-block: 1.25rem .75rem;
  }
  .style__switcher{
    width: 200px;
  }
  .style__switcher-colors .color{
    width: 24px;
    height: 24px;
  }
  .style__switcher-toggler,
  .style__switcher-theme{
    width: 40px;
    height: 40px;
  }
  .style__switcher-toggler{
    top: 10%;
  }
  .style__switcher-theme{
    bottom: 10%;
  }
}

@media screen and (max-width: 992px) {
  .container{
    max-width: 720px;
  }
  .home__container,
  .about__container,
  .resume__container,
  .contact__container{
    grid-template-columns: 1fr;
  }
  .home__content{
    order: 1;
  }
  .home__img-wrapper{
    margin-inline: auto;
  }
  .about__container,
  .contact__container{
    row-gap: 2rem;
  }
  .about__img:not(:first-child){
    display: none;
  }
  .about__img:first-child{
    clip-path: initial;
    transform: initial;
    left: 50%;
    translate: -50%;
  }
  .services__container,
  .skills__container,
  .work__container{
    grid-template-columns: repeat(2,1fr);
  }
  .resume__container{
    row-gap: 2.5rem;
  }
}

/* For medium devices */
@media screen and (max-width: 768px) {
  .container{
    max-width: 560px;
  }
  .nav{
    height: calc(var(--header-height)+1rem);
  }
  .nav__list{
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: var(--body-color);
    flex-direction:column ;
    align-items: center;
    row-gap: .75rem;
    max-height:0 ;
    overflow: hidden;
    transition: all .3s ease;
  }
  .nav_toggle{
    color: var(--text-color);
    font-size: 1.3rem;
    display: block;
  }
  #nav-toggler:checked ~ .nav__list{
max-height: 500px;
padding: 1.75rem;

  
  }
  .home__img{
    width: 300px;


  }
  
}

/* For small devices */
@media screen and (max-width: 576px) {
  .home{
    padding-top: 7rem;

  }
  .section{
    padding-block: 4rem;
  }
  .resume__icon{
    display: none;
  }
  .services__container,
  .skills__container,
  .work__container,.form__group{
    grid-template-columns: 1fr;
    
  }
}

@media screen and (max-width: 450px) {
  .about__data{
    grid-template-columns: 1fr;
  }
  .about__bottom,
  .resume__date-title{
    flex-direction: column;
    align-items: flex-start;
  }
  .about__bottom{
    row-gap: 1.25rem;
  }
  .about__bottom .btn{
order: 1;
  }
  .resume__date-title{
    row-gap: .25rem;
  }
  .resume__header,
  .skills__title,
  .skills__description{
    padding-inline: 1rem;
  }
  .resume__content{
    padding-inline: 1rem 1.5rem;
  }
  .services__item{
    padding: 2rem 1.5rem;
  }
}
