@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
*{
     margin: 0;
     padding: 0;
     box-sizing: border-box;
     text-decoration: none;
     outline: none;
     scroll-behavior: smooth;
     font-family: 'Poppins', sans-serif;
}

:root{
     --bg-color: #000000;
     --second-bg-color: #161616;
     --text-color: #fff;
     --main-color: #40b97d;
}

html{
     font-size: 62.5%;
     overflow-x: hidden;
}
body{
     background: var(--bg-color);
     font-family: 'Poppins', sans-serif;
     color: var(--text-color);
}
html::-webkit-scrollbar{
     width: 0.8rem;
}
html::-webkit-scrollbar-track{
     background: var(--bg-color);
}
html::-webkit-scrollbar-thumb{
     background: var(--main-color);
}
header{
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     padding: 3rem 9%;
     background: rgba(0, 0, 0,0.7);
     filter: drop-shadow(10px);
     display: flex;
     justify-content: space-between;
     align-items: center;
     z-index: 100;
}
.logo{
     font-size: 3rem;
     color: var(--main-color);
     font-weight: 800;
     cursor: pointer;
     transition: 0.5s ease;
}
.logo:hover{
     transform: scale(1.1);
}
.navbar a{
     font-size: 1.8rem;
     color: var(--text-color);
     margin-left: 4rem;
     font-weight: 500;
     transition: 0.3s ease;
     border-bottom: 3px solid transparent;
}
.navbar a:hover,
.navbar a.active{
     color: var(--main-color);
     border-bottom: 3px solid var(--main-color);
}

#menu-icon{
     font-size: 3.6rem;
     color: var(--main-color);
     display: none;
}

@media (max-width: 995px){
     #menu-icon{
          display: block;
     }
     .navbar{
          position: absolute;
          top: 100%;
          right: 0;
          width: 40%;
          border-left: 3px solid var(--main-color);
          border-bottom: 3px solid var(--main-color);
          border-bottom-left-radius: 2rem;
          padding: 1rem 3%;
          background-color: var(--second-bg-color);
          border-top: 0.1rem solid rgba(0, 0, 0,0.4);
          display: none;
     }
     .navbar.active{
          display: block;
     }
     .navbar a{
          display: block;
          font-style: 2rem;
          margin: 3rem 0;
     }
     .navbar a:hover,
     .navbar a.active{
          padding: 1rem;
          border-radius: 0.5rem;
          border-bottom: 0.5rem solid var(--main-color);
     }
}


section{
     min-height: 100vh;
     padding: 5rem 9% 5rem;
}
.home{
     display: flex;
     justify-content: center;
     align-items: center;
     gap: 8rem;
     background: var(--bg-color);
}
.home .home-content h1{
     font-size: 5rem;
     font-weight: 700;
     line-height: 1.3;
}
span{
     color: var(--main-color);
}
.home-content h3{
     font-size: 3.5rem;
     margin-bottom: 1rem;
     font-weight: 700;
}
.home-img{
     border-radius: 50%;
}
.home-img img{
     position: relative;
     width: 26vw;
     border-radius: 50%;
     box-shadow: 0 0 25px var(--main-color);
}
.home-img img:hover{
     transform: scale(1.01);
     filter: drop-shadow(0 0 25px var(--main-color));
}
.home-content p{
     font-size: 1.8rem;
     font-weight: 500;
}
.social-icon a{
     display: inline-flex;
     justify-content: center;
     align-items: center;
     width: 4rem;
     height: 4rem;
     background: transparent;
     border: 0.2rem solid var(--main-color);
     font-size: 2rem;
     border-radius: 50%;
     color: var(--main-color);
     margin: 3rem 1.5rem 3rem 0;
     transform: 0.3s ease;
}
.social-icon a:hover{
     color: white;
     transform: scale(1.3) translateY(-5px);
     background: var(--main-color);
     box-shadow: 0 0 25px var(--main-color);
}
.btn{
     display: inline-block;
     padding: 1rem 2.8rem;
     background: var(--main-color);
     border-radius: 4rem;
     font-size: 1.6rem;
     color: var(--text-color);
     border: 2px solid var(--main-color);
     letter-spacing: 0.1rem;
     font-weight: 600;
     cursor: pointer;
}
.btn:hover{
     transform: scale(1.03);
     background-color: var(--main-color);
     color: black;
     box-shadow: 0 0 25px var(--main-color);
}
.typing-text{
     font-size: 34px;
     font-weight: 600;
     min-width: 280px;
}
.typing-text span{
     position: relative;
}
.typing-text span::before{
     content: 'Website Developer';
     color: var(--main-color);
     animation: words 20s infinite;
}
.typing-text span::after{
     content: '';
     background: var(--bg-color);
     position: absolute;
     width: calc(100% + 8px);
     height: 100%;
     border-left: 3px solid var(--bg-color);
     right: -8;
     animation: cursor 0.6s infinite, typing 20s steps(14) infinite;
}
@keyframes cursor {
     to{
          border-left: 3px solid var(--main-color);
     }
}
@keyframes words {
     0%, 20%{
          content: 'Website Developer';
     }
     21%, 40%{
          content: 'Mobile Developer';
     }
     41%, 60%{
          content: 'Web Designer';
     }
     61%, 80%{
          content: 'IT Support';
     }
     81%, 100%{
          content: 'Video Editor';
     }
}
@keyframes typing {
     10%, 15%,
     30%, 35%,
     50%, 55%,
     70%, 75%,
     90%, 95%{
          width: 0;
     }
     5%, 20%,
     25%, 40%,
     45%, 60%,
     65%, 80%, 85%{
          width: calc(100% + 8px);
     }
}
@media (max-width:1350px){
     .home .home-content h1{
          font-size: 4rem;
     }
     .home .home-content h3{
          font-size: clamp(2.5rem, 2vw, 3rem);
     }
}
@media (max-width:1000px){
     .home{
          gap: 4rem;
     }
}
@media (max-width:995px){
     .home{
          flex-direction: column;
          margin: 5rem 4rem;
     }
     .home .home-content h1{
          font-size: 4rem;
          margin-bottom: 10px;
     }
     .home .home-content h3{
          font-size: 2.5rem;
          margin-bottom: 10px;
     }
     .home-img img{
          width: 70vw;
          margin-top: 4rem;
     }
}
@media (max-width:750px){
     .home .home-content h1{
          font-size: 3rem;
     }
     .home .home-content h3{
          font-size: 2rem;
          margin-bottom: 10px;
     }
     .home .home-content p{
          font-size: 1.5rem;
          font-weight: 300;
     }
}
@media (max-width:600px){
     header{
          padding: 2rem 9%;
     }
     .home .home-content h1{
          font-size: clamp(2rem, 3vw, 3rem);
     }
     .home .home-content h3{
          font-size: clamp(1.2rem, 3vw, 2rem);
          margin-bottom: 10px;
     }
     .home .home-content p{
          font-size: 1.5rem;
          font-weight: 300;
     }
}


/*skill*/

.skill-img{
     background: var(--bg-color);
     display: flex;
     flex-direction: column;
     justify-content: center;
     align-items: center;
}
.skill-img .heading{
     font-size: 6rem;
     margin-bottom: 0.2em;
     margin-top: 1em;
}
.skill-img .container{
     background-color: var(--main-color);
     color: var(--text-color);
     border-radius: 1rem;
     padding: 2rem;
     width: 70%;
     margin: auto;
     margin-top: 2rem;
}
.skill-img .container .row{
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     flex-wrap: wrap;
     gap: 1.8rem;
}
.skill-img .container .bar{
    margin-bottom: 15px;
    padding: 10px;
    border-radius: 1rem;
    background: var(--bg-color);
    box-shadow: 0 4px 10px var(--main-color);
    transition: 0.3s ease;
    cursor: pointer;
}
.skill-img .container .bar:hover{
     box-shadow: 0 4px 10px rgb(25, 207, 231);
     transform: scale(1.10);
}
.skill-img .container .bar .info{
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 1rem;
     margin-top: 1rem;
}
.skill-img .container .bar .info span{
     font-size: 2rem;
     font-weight: 600;
     margin-left: 0.5rem;
}

.skill-img .container .bar .info img{
     width: 30%;
     height: fit-content;
}

/*Animation*/

.hidden{
     opacity: 0;
     filter: blur(5px);
     transform: translateX(-100%);
     transition: all 2s;
}



.show{
     opacity: 1;
     filter: blur(0);
     transform: translateX(0);
}

.project .hidden{
     opacity: 0;
     filter: blur(5px);
     transform: translateY(50%);
     transition: all 2s;
}

.project .show{
     opacity: 1;
     filter: blur(0);
     transform: translateY(0);
}

.project .row .hidden{
     opacity: 0;
     filter: blur(5px);
     transform: translateX(-100%);
     transition: all 5s;
}

.project .row .show{
     opacity: 1;
     filter: blur(0);
     transform: translateX(0);
}





@media screen and (max-width: 1130px) {
     .skill-img .container{
          margin: 0;
          padding: 0;
     }
     .skill-img .container .bar .info img{
          width: 25%;
     }
     .skill-img .container .row{
          margin: 1rem;
          padding: 2rem 0.2rem 2rem 0.2rem;
          gap: 1rem;
     }
     .skill-img .container{
          margin-top: 5px;
          width: 100%;
     }
}

@media screen and (max-width: 1130px) {
     .skill-img .container .row{
          grid-template-columns: repeat(3, 1fr);
     }
}

@media screen and (max-width: 600px) {
     .skill-img .container{
          margin: 0;
          padding: 0;
     }
     .skill-img .container .row{
          grid-template-columns: repeat(2, 1fr);
          margin: 1rem;
          padding: 2rem 0.2rem 2rem 0.2rem;
          gap: 1rem;
     }
     .skill-img .container{
          margin-top: 5px;
          width: 100%;
     }
}



/*Project*/

.project{
     background: var(--bg-color);
     display: flex;
     justify-content: center;
     align-items: center;
     flex-direction: column;
}
.project .heading{
     font-size: 6rem;
     margin-bottom: 0.2em;
     margin-top: 1em;
}
.project .container{
     border-radius: 1rem;
     padding: 2rem;
     width: 100%;
     margin: 1em;
     margin-top: 2rem;
}
.project .container .row{
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     flex-wrap: wrap;
     gap: 1.8rem;

}

.project .container .row .content{
     padding: 0px; 
     border-radius: 20px;   
     transition: 0.3s ease; 
}

.project .container .row .content:hover{
     box-shadow: 0 4px 10px var(--main-color);
     transform: scale(1);
}


.project .container .row .content img{
     width: 100%;
}

.project .container .row .content .text{
     background-color: #363636;
     padding: 20px;
     border: 1px solid #363636;
     border-bottom-left-radius: 2rem;
     border-bottom-right-radius: 2rem;
     display: flex;
     flex-direction: column;
     align-items: start;
     gap: 2rem;

}


.project .container .row .content .text h3{
     font-size: 2.2rem;
     color: #CCCCCC;
}
.project .container .row .content .text ul{
     margin-left: 2rem;
}
.project .container .row .content .text ul li{
     font-size: 1.3rem;
}
.project .container .row .content .text p{
     font-size: 1.6rem;
     color: #CCCCCC;
}
.project .container .row .content .text .source {
     display: flex;
     justify-content: space-between;
     width: 100%;
}
.project .container .row .content .text .source a{
     color: var(--text-color);
     font-size: 1.7rem;
}


/* Media Queries for Responsive Design */

@media (max-width: 1260px) {
     .project .heading {
          font-size: 5rem;
     }

     .project .container {
          width: 100%;
     }

     .project .container .row {
          grid-template-columns: repeat(2, 1fr);
     }
}

@media (max-width: 992px) {
     .project .heading {
          font-size: 4rem;
     }

     .project .container {
          width: 100%;
     }

     .project .container .row .content .text h3 {
          font-size: 2rem;
     }

     .project .container .row .content .text p {
          font-size: 1.4rem;
     }

     .project .container .row .content .text .source a {
          font-size: 1.5rem;
     }
}

@media (max-width: 768px) {
     .project .container .row {
          grid-template-columns: 1fr;
     }
     .project .heading {
          font-size: 3.5rem;
     }

     .project .container {
          width: 100%;
          padding: 1rem;
     }

     .project .container .row .content .text {
          padding: 15px;
     }

     .project .container .row .content .text h3 {
          font-size: 1.8rem;
     }

     .project .container .row .content .text p {
          font-size: 1.2rem;
     }

     .project .container .row .content .text .source a {
          font-size: 1.4rem;
     }
}

@media (max-width: 576px) {
     .project .heading {
          font-size: 3rem;
     }

     .project .container {
          width: 100%;
          padding: 0.5rem;
     }

     .project .container .row .content .text {
          padding: 10px;
     }

     .project .container .row .content .text h3 {
          font-size: 1.6rem;
     }

     .project .container .row .content .text p {
          font-size: 1rem;
     }

     .project .container .row .content .text .source a {
          font-size: 1.2rem;
     }
}


/*Education*/
.education{
     background: var(--second-bg-color);
     display: flex;
     justify-content: center;
     align-items: center;
     flex-direction: column;
}
.education .timeline{
     position: relative;
     max-width: 1200px;
     margin: 0 auto;
}
.education .timeline::after{
     content: '';
     position: absolute;
     width: 6px;
     background: var(--main-color);
     top: 0;
     bottom: 0;
     left: 50%;
     margin-left: -3px;
     z-index: -2px;
}

.education .container{
     padding: 10px 40px;
     position: relative;
     background-color: inherit;
     width: 50%;
}
.education .container::after{
     content: '\f501';
     position: absolute;
     width: 25px;
     height: 25px;
     line-height: 25px;
     right: -17px;
     background-color: white;
     border: 4px solid var(--main-color);
     top: 15px;
     border-radius: 50%;
     z-index: 100;
     font-size: 1.89rem;
     text-align: center;
     font-weight: 600;
     font-family: "Font Awesome\ 5 Free";
     color: rgb(90, 64, 64);
}
.education .left{
     left: 0;
}
.education .right{
     left: 50%;
}
.education .left::before{
     content: '';
     height: 0;
     position: absolute;
     top: 22px;
     width: 0;
     z-index: 1;
     right: 20px;
     border: medium solid var(--main-color);
     border-width: 10px 0 10px 10px;
     border-color: transparent transparent transparent var(--main-color);
}
.education .right::before{
     content: '';
     height: 0;
     position: absolute;
     top: 22px;
     width: 0;
     z-index: 1;
     left: 20px;
     border: medium solid var(--main-color);
     border-width: 10px 10px 10px 0;
     border-color: transparent var(--main-color) transparent transparent;
}

.education .right::after{
     left: -16px;
}
.education .content{
     background: var(--main-color);
     position: relative;
     border: 6px;
     border-radius: 20px;
}
.education .content .tag{
     font-size: 1.3rem;
     padding-top: 1rem;
     padding-left: 1.5rem;
}
.education .content .decs{
     margin-left: 1.5rem;
     padding-bottom: 1rem;
     line-height: 2.7rem;
}
.education .content .decs p{
     font-size: 1.5rem;
     font-weight: 500;
}
.title-style{
     font-size: 6rem;
     margin-top: 10px;
     margin-bottom: 2em;
}
.center{
     text-align: center;
}

/*Animation*/

.education .hidden{
     opacity: 0;
     filter: blur(5px);
     transform: translateY(100%);
     transition: all 1s;
}

.education .show{
     opacity: 1;
     filter: blur(0);
     transform: translateY(0);
}


@media screen and (max-width:600px){
     .education .timeline{
          margin-top: 2rem;
     }
     .education .timeline::after{
          left: 31px;
     }
     .education .container{
          width: 100%;
          padding-left: 8rem;
          padding-right: 2rem;
     }
     .education .container::after{
          font-size: 2.2rem;
     }
     .education .container::before{
          left: 61px;
          border: medium solid var(--main-color);
          border-width: 10px 10px 10px 0;
          border-color: transparent var(--main-color) transparent transparent;
     }
     .education .left::after{
          left: 15px;
     }
     .education .right::after{
          left: 15px;
     }
     .education .right{
          left: 0%;
     }

     .title-style{
          margin-bottom: 1em;
     }

}
@media screen and (max-width:500px){
     .title-style{
          font-size: 4rem;
          margin-top: 1em;
          margin-bottom: 0;
     }
     .tag h2{
          font-size: 16px;
     }
     .education .content .decs p{
        font-size: 14px;
        font-weight: 300;
        color: rgb(255 255 255);
     }
}


.footer{
     position: relative;
     bottom: 0;
     width: 100%;
     padding: 40px 0;
     background-color: rgb(86, 201, 134);
}
.footer .footer-social{
     text-align: center;
     padding-bottom: 25px;
     color: black;
}
.footer .footer-social a{
     font-size: 25px;
     color: black;
     border: 2px solid black;
     width: 42px;
     height: 42px;
     line-height: 42px;
     display: inline-block;
     text-align: center;
     border-radius: 50%;
     margin: 0 10px;
     transform: 0.3s ease;
}
.footer .footer-social a:hover{
     transform: scale(1.2) translateY(-5px);
     background: black;
     color: var(--main-color);
}
.footer ul{
     margin-top: 0;
     padding: 0;
     font-size: 18px;
     line-height: 1.8;
     margin-bottom: 0;
     text-align: center;
}
.footer ul li a{
     color: black;
     border-bottom: 3px solid transparent;
     transition: 0.3s ease;
}
.footer ul li a:hover{
     border-bottom: 3px solid black;
}
.footer ul li{
     display: inline-block;
     padding:  0  15px;
}
.footer .copyright{
margin-top: 50px;
text-align: center;
font-size: 16px;
color: black;
}

@media(max-width:1285px){
     html{
          font-size: 50%;
     }
}
@media(max-width:991px){
     .header{
          padding: 2rem 3%;
     }
     .section{
          padding: 10rem 3% 2rem;
     }
     .footer{
          padding: 2rem 3%;
     }
}