/*================== FONT ===============*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100..900&family=Unbounded:wght@200..900&display=swap');

/*================== VIRIABLE COLORS ===============*/
:root  {
    --header-height: 3.5rem;
    /*====== colors =======*/
    --background-color: #000;
    --first-color: #2FA4D7;
    --alt1-color: #06CDFF;
    --alt-color: #40A2D8;
    --font-color: #F8EDFF;
    --title-color:#FEFBF6;

     /*====== Fonts =======*/
    --body-font: "Montserrat", sans-serif;
    --second-font: "Unbounded", sans-serif;
    --biggest-font:2rem;
    --bigger-font:1.75rem;
    --h1-font:1.5rem;
    --h2-font:1.25rem;
    --h3-font:1rem;
    --normal-font-size:.938rem;
    --small-font-size: .813rem;
    --smaller-font-size: .75rem;

     /*====== FONT WEIGHT =======*/
    --regular-font:400;
    --meduim-font:500;
    --semi-bold-font:600;

     /*====== Z INDEX =======*/
     --z-tooltip:10;
     --z-fixed:100;

}

 /*====== RESPONSIVE =======*/
 @media screen and (min-width: 1150px) {
    :root{
    --biggest-font: 3rem;
    --bigger-font: 2rem;
    --h1-font: 2.25rem;
    --h2-font: 1.5rem;
    --h3-font: 1.25rem;
    --normal-font-size: 1rem;
    --small-font-size: .875rem;
    --smaller-font-size: .813rem;
    }
 }

  /*====== BASE =======*/
  *{
    box-sizing: border-box;
    padding: 0;
    margin: 0;
  }
  
  html{
    scroll-behavior: smooth;
  }

  body,
  button {
    font-family: var(--body-font);
    font-size: var(--normal-font-size);
  }
  body{
    background-color: var(--background-color);
    color: var(--font-color);
  }
  button{
    outline: none;
    border: none;
  }
  h1,h2,h3,h4{
    color: var(--title-color);
    font-family: var(--second-font);
    font-weight: var(--semi-bold-font);
  }

  ul{
    list-style: none;
  }

  a{
    text-decoration: none;
  }

  img{
    display: block;
    max-width: 100%;
    height: auto;

  }

   /*====== REUSABLE CLASSES =======*/
   .container{
    max-width: 1120px;
    margin-inline: 1.5rem;
   }

   .grid{
    display: grid;
    gap: 1.5rem;
   }
   
   .section{
    padding-block: 5rem 1rem;
   }

   .section__title{
    text-align: center;
    font-size: var(--h1-font);
    margin-bottom: 3rem;
   }

   .section__title span{
    color: var(--first-color);
   }

   .main{
    overflow: hidden;
   }

  /*====== CIRCLE ANIMATION =======*/
   .animate{
    width: 100px;
    height: 100px;
    background: linear-gradient(180deg,
                var(--alt-color) 20%,
                var(--alt1-color) 100%);
    border-radius: 50%;
    position: absolute;
    filter:blur(35px);
    z-index: -1;
    animation: animateCircle 5s linear infinite;
   }

   @keyframes animateCircle{
    0%{
      transform: rotate(0);
    }
    100%{
      transform: rotate(360deg);
    }
   }

   .projectCard .animate{
    width: 250px;
    height: 250px;
    background: linear-gradient(100deg,
                var(--first-color) 0%,
                var(--alt-color)100%);
    border-radius: 50%;
    filter: blur(50px);
    z-index: -1;
   }
/*====== BUTTONS =======*/
   button{
    color: var(--title-color);
    background: linear-gradient(100deg,
                var(--first-color) 0%,
                hsl(0, 0%, 9%) 100%);
    padding: 1rem;
    border-radius: 3rem;
    margin-bottom: 2rem;
   }

   button:hover{
    background: linear-gradient(100deg,
                var(--first-color) 0%,
                hsl(214, 86%, 78%) 100%);
    color: #000;
   }



  /*====== NAV AND HEADER =======*/
 .header{
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  background: linear-gradient(180deg, 
                var(--background-color) 60%,
                hsl(240, 100%, 2%)85%);
  z-index: var(--z-fixed);
 }

 .header .animate{
    top: -3rem;
    left: -3rem;
 }

 .nav{
  display: flex;
  justify-content: space-between;
  padding-block: 1rem;
 }

 .navLogo{
  font-family: var(--second-font);
  font-weight: var(--semi-bold-font);
  color: var(--title-color);
  align-self: flex-start;
  transition: color .4s, text-shadow .4s ;
 }

 .navLogo:hover{
  color: var(--alt1-color);
  text-shadow: 0 10px 18px var(--first-color);
 }

 .navList{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  row-gap: .5rem;
 }

 .navLink{
  color: var(--title-color);
  font: var(--semi-bold-font) var(--small-font-size) var(--second-font);
  transition: color .4s, text-shadow .4s;
 }

 .navLink:hover{
  color: var(--alt1-color);
  text-shadow: 0 10px 18px var(--first-color);
 }

 /*====== HOME =======*/
 .home{
  position: relative;
 }

 .homeContainer{
  position: relative;
  padding-top: 4rem;
  row-gap: 3rem;
  padding-left: 2rem;
 }

 .homeGreeting{
  font-size: var(--h2-font);
  font-weight: var(--regular-font);
  color: var(--first-color);
 }

 .homeName{
  font-size: var(--biggest-font);
 }
 .homeImage{
  position: relative;
  display: grid;
  overflow-y: clip;
  margin-right: 10%;
 }

  .homeImage .animate{
    width: 250px;
    height: 250px;
    bottom: 0;
    justify-self: center;
  }

  .homeProfile{
    width: 315px;
    justify-self: center;
  }
  
  .homeShadow , .homeInfo , .homeScocial{
    position: absolute;
  }
  
  .homeShadow{
    width: 100%;
    height: 375px;
    bottom: -1rem;
    z-index: 1;
    background: linear-gradient(180deg, 
                hsla(240, 100%, 2%, 0) 60%,
                hsl(240, 100%, 2%)85%);
  }

  .homeInfo{
    z-index: 2;
    bottom: -1rem;
    justify-self: center;
    margin-right: 3rem;
  }
  
  .homeSplit{
    font-size: var(--h3-font);
    font-weight: var(--regular-font);
    color: var(--first-color);
  }

  .homeProfession1 , .homeProfession2{
    font-size: var(--biggest-font);
    text-align: center;
    overflow: hidden;
  }

  .homeProfession1{
    position: relative;
    color: var(--first-color);
  }

  .homeProfession1::after{
    content: '';
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg,
                hsl(0, 0%, 0%) 10%,
                hsla(0, 0%, 0%, 0) 60%);
    position: absolute;
    top: 0;
    left: 0;
  }

  .homeProfession2{
    transform: translateY(-1rem);
  }

  .homeScocial{
    z-index: 2;
    left: 999;
    align-self: center;
    display: flex;
    flex-direction: column;
    row-gap: .75rem;
    margin-bottom: 19rem;
    margin-left: 1rem;
  }

  .homeSocialLinks{
    color: var(--title-color);
    font-size: 1.25rem;
    transition: transform .4s, color .4s;
  }

  .homeSocialLinks:hover{
    color: var(--first-color);
    transform: translateX(.25rem);
  }

  /*====== ABOUT =======*/
  .about{
    position: relative;
    margin-top: 3rem;
    padding: 2rem;
  }

  .aboutContainer span{
    color: var(--alt1-color);
  }

  .aboutContainer{
    row-gap: 3rem;
    overflow-y: clip;
  }

  .aboutData .sectionTitle{
    margin-bottom: 1.5rem;
    text-align: initial;
  }

  .aboutDescription{
    font-size: var(--h3-font);
    margin-bottom: 2rem;
  }

  .aboutDescription b{
    color: var(--alt1-color);
    font-weight: var(--semi-bold-font);
  }

  .aboutImage{
    position: relative;
    justify-self: center;
  }

  .aboutProfile{
    border-radius: 50%;
  }

  .aboutImage .animate:nth-child(1){
    top: 1.5rem;
    left: 1rem;
  }

  .aboutImage .animate:nth-child(2){
    right: -.5rem;
    bottom: .5rem;
  }

  .aboutImage{
    width: 220px;
  }

  .aboutShadow{
    width: 100%;
    height: 250px;
    position: absolute;
    bottom: 1rem;
    z-index: 1;
    background: linear-gradient(180deg,
                hsla(240, 100%, 2%, 0) 60%,
                var(--background-color) 95%);
  }

  /*====== PROJECTS =======*/
  .projects span{
    color: var(--first-color) ;
  }
  .projects .sectionTitle{
    text-align: initial;
    margin-left: 1.5rem;
    
  }

  .projectCard{
    position: relative;
    background-color: var(--background-color);
    padding: 1.5rem;
    border-radius: 3rem;
    overflow: hidden;
  }

  .projectCard .animate{
    z-index: 0;
    right: -7.75rem;
    bottom: 0;
  }

  .projectNumber, .projectData, .projectImage{
    position: relative;
    z-index: 1;
  }

  .projectNumber{
    align-items: center;
    justify-content: space-between;
  }

  .projectNumber h1{
    font-size: var(--biggest-font);
  }

  .projectNumber h3{
    font-weight: var(--regular-font);
    font-size: var(--h3-font);
  }

  .projectData{
    margin-block: 2rem;
  }

  .projectTitle{
    font-size: var(--h2-font);
    margin-bottom: 1rem;
  }

  .projectSubTitle{
    font-family: var(--second-font);
    font-size: var(--small-font-size);
    margin-bottom: .5rem;
  }

  .projectDescription{
    font-size: var(--small-font-size);
  }

  .projectImg{
    border-radius: 1rem;
    margin: 0 auto;
    max-width: 100%;
    display: block;
  }

  .projectButton{
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    background-color: var(--background-color);
    border: 3px solid var(--first-color);
    border-radius: 50%;
    color: var(--title-color);
    font-size: 2rem;
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    opacity: 0;
    pointer-events: none;
    transition: box-shadow .4s, opacity .4s;
  }

  .projectButton:hover{
    box-shadow: 0 0 24px var(--first-color);
  }

  .projectImage:hover{
    opacity: 1;
    pointer-events: initial;
  }

  .projectGallery{
    width: 100%;
    height: 50vh;
    margin-top: 7rem;
    margin-bottom: 6rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .galleryImage{
    display: flex;
    align-items: center;
    gap: 21px;
  }

  .galleryImage img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
  }

  .galleryImage video{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
  }

  .galleryImg{
    width: 110px;
    border-radius: 6px;
    cursor: pointer;
    position: relative;
    transition: 0.7s ease;
  }

  .galleryImage .galleryImg:first-child, .galleryImage .galleryImg:last-child{
    height: 180px;
  }

  .galleryImage .galleryImg:nth-child(2), .galleryImage .galleryImg:nth-child(7){
    height: 260px;
  }

  .galleryImage .galleryImg:nth-child(3), .galleryImage .galleryImg:nth-child(6) {
    height: 380px;
  }

    .galleryImage .galleryImg:nth-child(4), .galleryImage .galleryImg:nth-child(5) {
    height: 420px;
  }

  .galleryImg.active{
    width: 466px !important;
    height: 450px !important;
  }

   /*====== IMPORTED SWIPER =======*/
    .projectSwiper{
      margin-inline: initial;
      padding-bottom: 2rem;
    }

    .projects .swiper-pagination-bullets{
      bottom: 0;
    }

    .projects .swiper-pagination-bullet{
      background-color: var(--first-color);
      transition: opacity .4s;
    }
  /*====== CONTACT =======*/
  .contactContainer{
    row-gap: 4rem;
    padding-bottom: 2rem;
  }

  .contact .sectionTitle{
    margin-bottom: 1rem;
  }

  .contactData{
    text-align: center;
  }

  .contactDescription{
    font-family: var(--second-font);
    margin-bottom: 1.5rem;
  }

  .contactEmail{
    display: none;
  }

  .contactButton{
    cursor: pointer;
  }

  .contactContent{
    row-gap: 3rem;
  }

  .contactInfo{
    row-gap: 1.5rem;
  }

  .contactTitle{
    font-size: var(--h3-font);
    color: var(--first-color);
    font-weight: var(--meduim-font);
    text-align: center;
  }

  .contactAddress{
    color: var(--title-color);
    font-style: normal;
    font-weight: var(--meduim-font);
    text-align: center;
  }

  .contactLinks{
    display: grid;
    grid-template-columns: max-content;
    justify-content: center;
    row-gap: .25rem;
  }

  .contactLink{
    color: var(--title-color);
    font-weight: var(--meduim-font);
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: .5rem;
    transition: transform .4s, color .4s;
  }

  .contactLink i{
    font-size: 1.5rem;
  }

  .contactLink:hover{
    transform:translateX(.35rem);
    color: grey;
  }
  /*====== FOOTER =======*/
  .footer{
    position: relative;
    padding-block: 4rem 2rem;
    text-align: center;
    row-gap: 1rem;
    overflow: hidden;
  }

  .footer .animate{
    right: -3rem;
    bottom: -3rem;
  }

  .footerCopy{
    color: var(--title-color);
  }

  .footerCopy span{
    font-family: var(--second-font);
    color: var(--alt1-color);
  }

  .footerYear span{
    font-family: var(--second-font);
  }



  /*====== RESPONSIVE FORMAT =======*/
  /* for small devices */
 @media screen and (max-width: 320px) {
  .container{
    margin-inline: 1rem;
  }

  .homeContainer{
    margin-top: 5rem;
  }

  .homeAnimate,
  .homeImage .animate{
    width: 220px;
    height: 220px;
  }
  .homeImage, .homeInfo{
    margin-right: 45%;
  }

  .projectCard{
    padding-inline: 1rem;
  }
  .aboutContainer{
    grid-template-columns: 460px;
    justify-content: center;
  }
  .aboutData,
  .aboutData .sectionTitle{
    text-align: center;
  }

  .projectGallery{
    width: 50%;
    height: 25vh;
    margin-top: 10rem;
    margin-bottom: 2rem;
    margin-left:5rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .galleryImage{
    display: flex;
    align-items: center;
    gap: 2px;
  }

  .galleryImage img{
    width: 50%;
    height: 50%;
    object-fit: cover;
    border-radius: 6px;
  }

  .galleryImage video{
    width: 50%;
    height: 50%;
    object-fit: cover;
    border-radius: 6px;
  }

  .galleryImg{
    width: 40px;
    border-radius: 6px;
    cursor: pointer;
    position: relative;
    transition: 0.7s ease;
  }

  .galleryImage .galleryImg:first-child, .galleryImage .galleryImg:last-child{
    height: 80px;
  }

  .galleryImage .galleryImg:nth-child(2), .galleryImage .galleryImg:nth-child(7){
    height: 160px;
  }

  .galleryImage .galleryImg:nth-child(3), .galleryImage .galleryImg:nth-child(6) {
    height: 280px;
  }

    .galleryImage .galleryImg:nth-child(4), .galleryImage .galleryImg:nth-child(5) {
    height: 320px;
  }

  .galleryImg.active{
    width: 366px !important;
    height: 350px !important;
  }
}

  @media screen and (max-width: 375px) {
  .container{
    margin-inline: 1rem;
  }

  .homeContainer{
    margin-top: 5rem;
    left: 0.5rem;
  }

  .homeAnimate,
  .homeImage .animate{
    width: 220px;
    height: 220px;
  }
  .homeImage, .homeInfo{
    margin-right: 9rem;
  }

  .projectCard{
    padding-inline: 1rem;
  }
  .aboutContainer{
    grid-template-columns: 460px;
    justify-content: center;
  }
  .aboutData,
  .aboutData .sectionTitle{
    text-align: center;
  }
 }
 

  /* for medium devices */

 @media screen and (min-width: 540px) {
  .homeContainer{
    width: 460px;
    margin-inline: auto;
    margin-top: 5rem;
  }
  

   .aboutContainer{
    grid-template-columns: 460px;
    justify-content: center;
  }

  .aboutData,
  .aboutData .sectionTitle{
    text-align: center;
  }

  :is(.projects) .sectionTitle{
    text-align: center;
    margin-left: 0;
  }

  .projectCard{
    width: 350px;
  }
  }
  
  @media screen and (max-width: 539px) {
  .homeContainer{
    width: 460px;
    margin-inline: auto;
    margin-top: 5rem;
  }
  
 }

 @media screen and (min-width: 800px) {
  .homeContainer{
    width: 600px;
     margin-top: 5rem;
  }
 }

  /* for large devices */

@media screen and (min-width: 1150px) {
  .container{
    margin-inline: auto;
  }
  
  .nav{
    height: calc(--header-height) + 2rem;
  }
  .navLogo{
    align-self: initial;
  }
  .navList{
    flex-direction: row;
    column-gap: 5.5rem;
  }

  .homeContainer{
    width: initial;
    padding-top: 3rem;
  }

  .homeProfile{
    width: 600px;
  }

  .homeImage .animate{
    width: 450px;
    height: 450px;
    bottom: 2rem;
    filter: blur(50px);
  }
  .homeShadow{
    width: 700px;
    height: 700px;
    left: 0;
    right: 0;
    margin-inline: auto;
    background: linear-gradient(180deg,
                hsla(240, 100%, 2%, 0)60%,
                hsl(240, 100%, 2%) 95%);
  }

  .homeData{
    position: absolute;
    top: 12rem;
    left: 10rem;
    z-index: 2;
  }

  .homeInfo{
    top: 12rem;
    right: 8rem;
    bottom: initial;
  }

  .homeSplit{
    font-size: var(--h2-font);
  }

  .homeProfession1{
    font-size: var(--biggest-font);
    text-align: initial;
  }

  .homeProfession2{
    font-size: var(--biggest-font);
    transform: translateY(-1.5rem);
  }

  .homeScocial{
    bottom: 3rem;
    row-gap: 1.5rem;
  }
  
  .homeSocialLinks{
    font-size: 1.5rem
  }

  .aboutContainer{
    grid-template-columns: repeat(2, 500px);
    align-items: center;
    column-gap: 5.5rem;
    padding-top: 2rem;
  }

  .projects{
    padding-block: 9rem 4rem;
  }

  .projectSwiper{
    padding-bottom: 4rem;
  }
  .projecCprojectContainer{
    max-width: 1380px;
  }
  .projectCard{
    width: 440px;
    padding: 2.5rem;
    border-radius: 4rem;
  }
  .projectSubTitle, .projectDescription{
    font-size: var(--normal-font-size);
  }

  .projectImg{
    border-radius: 2rem;
  }

  .projectButton{
    top: 1.5rem;
    right: 1.5rem;
  }
 }

 @media screen and (min-width: 1115px) {
  .container{
    margin-inline: auto;
  }

  .header{
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  background: linear-gradient(180deg, 
              var(--background-color) 60%,
              hsl(240, 100%, 2%)85%);
  z-index: var(--z-fixed);
 }

  .nav{
    height: calc(--header-height) + 2rem;
    padding: 2rem;
  }
  .navLogo{
    align-self: initial;
  }
  .navList{
    flex-direction: row;
    column-gap: 5.5rem;
  }

  .homeContainer{
    width: initial;
    padding-top: 3rem;
  }

  .homeProfile{
    width: 600px;
  }

  .homeImage .animate{
    width: 450px;
    height: 450px;
    bottom: 2rem;
    filter: blur(50px);
  }
  .homeShadow{
    width: 700px;
    height: 700px;
    left: 0;
    right: 0;
    margin-inline: auto;
    background: linear-gradient(180deg,
                hsla(240, 100%, 2%, 0)60%,
                hsl(240, 100%, 2%) 95%);
  }

  .homeData{
    position: absolute;
    top: 12rem;
    left: 6rem;
    z-index: 2;
  }

  .homeInfo{
    top: 12rem;
    right: 5rem;
    bottom: initial;
  }

  .homeSplit{
    font-size: var(--h2-font);
  }

  .homeProfession1{
    font-size: var(--biggest-font);
    text-align: initial;
  }

  .homeProfession2{
    font-size: var(--biggest-font);
    transform: translateY(-1rem);
  }

  .homeScocial{
    bottom: 3rem;
    row-gap: 1.5rem;
  }
  
  .homeSocialLinks{
    font-size: 1.5rem
  }

  .aboutContainer{
    grid-template-columns: repeat(2, 500px);
    align-items: center;
    column-gap: 5.5rem;
    padding-top: 2rem;
  }

 }

 
 @media screen and (min-width: 1000px) {
  .container{
    margin-inline: auto;
  }

  .header{
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  background: linear-gradient(180deg, 
              var(--background-color) 60%,
              hsl(240, 100%, 2%)85%);
  z-index: var(--z-fixed);
 }

  .nav{
    height: calc(--header-height) + 2rem;
    padding: 2rem;
  }
  .navLogo{
    align-self: initial;
  }
  .navList{
    flex-direction: row;
    column-gap: 5.5rem;
  }

  .homeContainer{
    width: initial;
    padding-top: 3rem;
  }

  .homeProfile{
    width: 600px;
  }

  .homeImage .animate{
    width: 450px;
    height: 450px;
    bottom: 2rem;
    filter: blur(50px);
  }
  .homeShadow{
    width: 700px;
    height: 700px;
    left: 0;
    right: 0;
    margin-inline: auto;
    background: linear-gradient(180deg,
                hsla(240, 100%, 2%, 0)60%,
                hsl(240, 100%, 2%) 95%);
  }

  .homeData{
    position: absolute;
    top: 12rem;
    left: 6rem;
    z-index: 2;
  }

  .homeInfo{
    top: 12rem;
    right: 5rem;
    bottom: initial;
  }

  .homeSplit{
    font-size: var(--h2-font);
  }

  .homeProfession1{
    font-size: var(--biggest-font);
    text-align: initial;
  }

  .homeProfession2{
    font-size: var(--biggest-font);
    transform: translateY(-1rem);
  }

  .homeScocial{
    bottom: 3rem;
    row-gap: 1.5rem;
  }
  
  .homeSocialLinks{
    font-size: 1.5rem
  }

  .aboutContainer{
    grid-template-columns: repeat(2, 500px);
    align-items: center;
    column-gap: 5.5rem;
    padding-top: 2rem;
  }

  .aboutData,
  .aboutData .sectionTitle{
    text-align: initial;
    z-index: 2;
  }

  .aboutDescription{
    margin-bottom:  3rem;
  }

  .aboutImage{
    width: 500px;
  }

  .aboutImage{
    order: -1;
  }

  .aboutImage .animate{
    width: 200px;
    height: 200px;
    filter: blur(50px);
  }

  .aboutImage .animate:nth-child(1){
    left: 4rem;
    top: 4rem;
  }

  .aboutImage .animate:nth-child(2){
    right: -1rem;
    bottom: 3rem;
  }

  .aboutShadow{
    height: 600px;
    bottom: 0;
  }
}