@import url('https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed: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&family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Nunito:ital,wght@0,200..1000;1,200..1000&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&family=Raleway:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Sono:wght@200..800&display=swap');
body{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: var(--font-family);
    scroll-behavior: smooth;
    color: var(--color);
    user-select: none;
    overflow-x: hidden;
}
:root{
    --header-color :#0c1335;
    --font-family: Nunito,sans-serif;
    --color : white;
    --hero-background: #0c1436;
    --hero-button:#3b82f6;
    --about-background:#000b28;
    --title-font-size: 2.5rem;
}
nav{
    display: flex;
    justify-content: space-around;
    align-items: center;
    min-height: 8vh;
    background-color: var(--header-color);
    position: fixed;
    width: 100%;
    z-index: 9999;
}
.logo{
    font-size: 20px;
}
.nav-links{
    display: flex;
    width: 40%;
    justify-content: space-around;
}
.nav-links li{
    list-style: none;
}
.nav-links a{
    text-decoration: none;
    font-weight: bold;
    font-size: 14px;
    color:var(--color);
    position: relative;
}
.nav-links a::before{
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: white;
    transform: scaleX(0);
    transition: transform 0.3s ease;
}
.nav-links a:hover{
    color: white;
}
.nav-links a:hover::before{
    transform: scaleX(1);
}
.burger{
    display:none ;
    cursor: pointer;
}
.burger div{
    width: 32px;
    height: 3px;
    background-color: white;
    margin: 5px;
    transition: all 0.3s ease;
}
.hero{
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: var(--hero-background);
    color: white;
    height: 100vh;
    padding: 0 10%;
    background-size: contain;
}
.hero-text{
    width: 50%;
}
.hero-text h1{
    font-size: 2.5rem;
}
.hero-text p{
    font-size: 1.1rem;
    opacity: 0.8;
    line-height: 25px;
}
.hero-text button{
    padding: 15px 25px;
    border-radius: 10px;
    margin: 2px;
}
.hero-image img{
    border-radius: 50%;
    border: 1px solid var(--hero-button);
}
.project-btn{
    background-color: var(--hero-button);
    border: none;
}
.project-btn a,
.contact-btn a{
    text-decoration: none;
    color: white;
    font-weight: bold;
    font-size: 17px;
}
.contact-btn{
    color: white;
    background-color:transparent;
    border: 1px solid var(--hero-button);
}
.about h1{
    font-size: var(--title-font-size);
    text-align: center;
}
.about{
    background-color:var(--about-background) ;
    color: var(--color);
    height: 100vh;
    margin-top: -3%;
    padding: 5% 0;
}
.about-details{
    display: flex;
    justify-content: space-between;
    padding: 5% 5%;
}
.about-img img{
    border-radius: 40px;
}
.about-text{
    width: 50%;
}
.about-text p{
    font-size: 1.3rem;
    line-height: 30px;
    margin-top: 10%;
}
.skills{
    background-color: var(--hero-background);
    color: var(--color);
    padding: 5% 0;
    height: 100vh;
}
.skills h2{
    text-align: center;
    font-size:var(--title-font-size) ;
}
.skill-category{
    display: flex;
    justify-content: space-evenly;
    align-items: center;
}
.filler-container{
    width: 350px;
    height: 10px;
    background-color:white;
    border-radius: 10px;
    position: relative;
    margin-bottom: 12px;
}
.filler{
    position: absolute;
    width: 280px;
    height:10px;
    border-radius: 10px;
    background-color: hsla(120, 98%, 60%, 0.842);
}
.html{
    width:330px ;
}
.react{
    width: 250px;
}
.bootstrap,.github{
    width: 300px;
}
.tailwind,.jquery{
    width: 260px;
}
.design{
    width: 315px;
}
.frontend{
    background-color:hsl(240, 63%, 59%);
}
.skill-info{
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 16px;
    font-weight: bold;
}
.frontend-skills,
.extras,
.frameworks-libraries{
    background-color: var(--about-background);
    padding: 15px 10px 15px 20px;
    width: 350px;
    height: 200px;
    border-radius: 20px;
    margin-top: 5%;
}
.project{
    background-color:var(--about-background);
    color: var(--color);
    margin-top: -3%;
    padding: 3% 0;
    height: 100vh;
}
.project h2{
    text-align: center;
    font-size: var(--title-font-size);
}
.project-collection{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-evenly;
    padding: 0 5%;
    gap: 40px;
}
.projects{
    background-color:var(--hero-background);
    border-radius: 20px;
}
.project-content{
    padding: 0px 15px 25px 15px;
    
}
.projects img{
    width: 100%;
    background-size: cover;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    margin-bottom: 20px;
}
.projects b{
    font-size: 25px;
}
.projects p{
    opacity: 0.8;
    margin-bottom: 23px;
}
.visit-menu{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 20px;
    margin-top: 20px;
    margin-left: 12px;
}
.visit-menu a{
    text-decoration: none;
    color:hsl(229, 100%, 62%);
}
.projects span {
    background-color: var(--about-background);
    padding: 8px 15px;
    border-radius: 20px;
}
.services{
    background-color: var(--hero-background);
    color: var(--color);
    height: 100%;
    padding: 3% 0;
}
.services h1{
    text-align: center;
    color: var(--color);
    font-size: var(--title-font-size);
}
.service-container{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    padding: 3%;
    gap: 20px;
    text-align: center;
    height: 100%;
    
}
.service-card{
    background-color: var(--about-background);
    border-radius: 15px;
}
.service-card p{
    padding: 15px;
}
.service-card img{
    border-radius: 15px;
    padding: none;
}
.bug-fixing{
    grid-column: 2/3;
}
.Contact{
    background-color: var(--about-background);
    height: 100vh;
    padding: 3% 0;
}
.Contact h1{
    text-align: center;
    font-size: var(--title-font-size);
}
.contact-container{
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-left: 70px;
}
.contact-details{
    margin-top: 10px;
    justify-content: center;
    align-items: center;
    display: flex;
    flex-direction: column;
}
.contact-info i,
.contact-info span{
    padding-top: 16px;
    padding-right: 10px;
}
.contact-details h3{
    font-size: 22px;
}
.follow-me{
    margin-left:-27% ;
}

.follow-me i{
    padding: 0 10px 0 0;
    font-size: 18px;
}
form{
    padding: 20px;
}
form input{
    width: 350px;
    height: 20px;
    margin-top: 15px;
    padding: 5px;
    border-radius: 10px;
    border: none;
    padding: 10px;
}
form input::placeholder{
    font-size: 12px;
}
textarea{
    resize: none;
    border-radius: 10px;
    margin-top: 15px;
    width:350px;
    height: 150px;
    padding: 10px;
}
textarea::placeholder{
    font-size: 12px;
}
.send{
    width: 370px;
    height: 50px;
    margin-top: 10px;
    border-radius: 10px;
    border: none;
    background-color: hsl(221, 100%, 50%);
    padding: 10px 0 10px 0;
    color: white;
    font-size: 16px;
    font-weight: bolder;
}
footer{
    background-color: var(--header-color);
    text-align: center;
    padding: 5px;
}
@media (min-width:320px) and (max-width:375px){
    body, html {
        width: 100%;
        overflow-x: hidden;
    }

    .logo{
        padding-left: 10px;
        font-size: 18px;
    }
    nav ul{
        display: none;
    }
    .hero{
        display: flex;
        flex-direction: column-reverse;
        height: 100%;
        width: 100%;
        justify-content: center;
        align-items: center;
        padding-bottom: 20%;
    }
    .hero-image{
        margin-top: 50%;
    }
    .hero-image img{
        width: 250px;
        height: 250px;
        margin-left: -60px;
    }
    .hero-text{
        display: block;
        width: 100%;
        margin-left: -70px;
        width: 270px;
    }
    .contact-btn{
        padding: 0 30px;
        width: 160px;
    }
    .about-details{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        
    }
    .about-img img{
        object-fit: cover;
        width: 260px;
        margin-left: -20px;
    }
    .about-text{
        height:50%;
        width: 80%;
        margin-left: -10px;
    }
    .aboutMe-h1{
        text-align: center;
    }

    .about,
    .skills,
    .project,
    .services,
    .Contact,
    footer{
        height: 100%;
    }
    .about-details{
        display: flex;
        flex-direction: column;
    }
    .skill-category{
        display: flex;
        flex-direction: column;
        width: 100%;
    }
    .skills{
        width: 100%;
    }
    .frontend-skills,
    .frameworks-libraries,
    .extras{
        width: 80%;
    }
    .filler{
        width: 90%;
    }
    .filler-container{
        width:100%;
    }
    .html{
    width:95%;
}
.react{
    width: 70%;
}
.bootstrap,.github{
    width:85%;
}
.tailwind,.jquery{
    width: 75%;
}
.design{
    width: 90%;
}
    .project,
    .services,
    .Contact{
        height: 100%;
    }
    .project-collection,
    .service-container,
    .contact-container{
        display: flex;
        flex-direction: column;
    }
    .contact-details span{
        display: inline;
    }
    .follow-me{
        margin-left: -50%;
    }
    form input{
        width: 100%;
        height: 20px;
        margin-top: 15px;
        padding: 5px;
        border-radius: 10px;
        border: none;
        padding: 10px;
        margin-left: -40px;
    }
    textarea{
        width: 100%;
        margin-left: -40px;
    }
    .send{
        width: 110%;
        margin-left: -40px;
    }
    .contact-email,
    .contact-address{
        display:flex ;
        flex-direction: row;
        align-items: center;
        justify-content: baseline;
    }
    .hero {
        flex-direction: column-reverse;
        text-align: center;
        padding: 10%;
    }

    .hero-image img {
        width: 200px;
        height: 200px;
    }

    .about-details {
        flex-direction: column;
        gap: 20px;
    }

    .skill-category {
        flex-direction: column;
        gap: 20px;
    }

    .project-collection,
    .service-container,
    .contact-container {
        flex-direction: column;
        gap: 20px;
    }

}
@media (min-width:376px) and (max-width:425px) {
    body, html {
        width: 100%;
        overflow-x: hidden;
    }

    .hero,
    .about,
    .skills,
    .Contact,
    .project,
    .services,
    footer{
        width: 100%;
        padding: 10%;
    }
    .project{
        padding-bottom: 30%;
    }
    nav ul{
        display: none;
    }
    nav{
        display: flex;
        justify-content: space-between;
    }
    .logo{
        margin-left: 3rem;
    }
    .hamburger{
        margin-right: 4rem;
    }
    .logo{
        padding-left: 10px;
        font-size: 18px;
    }
    nav ul{
        display: none;
    }
    .hero{
        display: flex;
        flex-direction: column-reverse;
        height: 100%;
        width: 100%;
        justify-content: center;
        align-items: center;
        padding-bottom: 20%;
    }
    .hero-image{
        margin-top: 50%;
    }
    .hero-image img{
        width: 250px;
        height: 250px;
        margin-left: -60px;
    }
    .hero-text{
        display: block;
        width: 100%;
        margin-left: -70px;
        width: 400px;
    }
    .contact-btn{
        padding: 0 30px;
        width: 160px;
    }
    .about-details{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        
    }
    .about-img img{
        object-fit: cover;
        width: 350px;
        margin-left: -60px;
    }
    .about-text{
        height:50%;
        width: 80%;
        margin-left: -50px;
        text-align: center;
    }
    .aboutMe-h1{
        text-align: center;
    }

    .about,
    .skills,
    .project,
    .services,
    .Contact,
    footer{
        height: 100%;
        width: 100%;
    }
    .about-details{
        display: flex;
        flex-direction: column;
    }
    .skill-category{
        display: flex;
        flex-direction: column;
        width: 100%;
        margin-left: -40px;
    }
    .skills{
        width: 100%;
    }
    .frontend-skills,
    .frameworks-libraries,
    .extras{
        width: 80%;
    }
    .filler{
        width: 90%;
    }
    .filler-container{
        width:100%;
    }
    .html{
    width:95%;
}
.project-collection,
.service-container{
    width: 90%;
    margin-left: -30px;
}
.react{
    width: 70%;
}
.bootstrap,.github{
    width:85%;
}
.tailwind,.jquery{
    width: 75%;
}
.design{
    width: 90%;
}
    .project,
    .services,
    .Contact{
        height: 100%;
    }
    .project-collection,
    .service-container,
    .contact-container{
        display: flex;
        flex-direction: column;
    }
    .contact-details span{
        display: inline;
    }
    .follow-me{
        margin-left: -50%;
    }
    form input{
        width: 100%;
        height: 20px;
        margin-top: 15px;
        padding: 5px;
        border-radius: 10px;
        border: none;
        padding: 10px;
        margin-left: -70px;
    }
    textarea{
        width: 100%;
        margin-left: -70px;
    }
    .send{
        width: 106%;
        margin-left: -70px;
    }
    .contact-email,
    .contact-address{
        display:flex ;
        flex-direction: row;
        align-items: center;
        justify-content: baseline;
    }
    .hero {
        flex-direction: column-reverse;
        text-align: center;
        padding: 10%;
    }

    .hero-image img {
        width: 200px;
        height: 200px;
    }

    .about-details {
        flex-direction: column;
        gap: 20px;
    }

    .skill-category {
        flex-direction: column;
        gap: 20px;
    }
    .contact-details{
        margin-left: -70px;
    }
    .contact-info{
        margin-left: -75px;
    }

    .project-collection,
    .service-container,
    .contact-container {
        flex-direction: column;
        gap: 20px;
    }
    footer{
        text-align: center;
        width: 80%;
    }
    .Contact h1,
    .services h1,
    .project h2,
    .skills h2,
    .about h1{
        margin-left: -50px;
        text-align: center;
    }

}
@media (min-width:426px) and (max-width:768px) {
    .hero,
    .about,
    .skills,
    .Contact,
    .project,
    .services,
    footer{
        width:140%;
        padding: 10%;
    }
    nav{
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .logo{
        margin-left: 4rem;
    }
}
@media (min-width:769px) and (max-width:1024px) {
    body, html {
        width: 100%;
        overflow-x: hidden;
    }

    nav{
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .nav-links{
        width: 50%;
    }
    .logo{
        margin-left: 4rem;
    }
    .about-details{
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 50px;
    }
    .hero,
    .about,
    .skills,
    .Contact,
    .project,
    .services,
    footer{
        width: 100%;  
    }
    .about-details {
        flex-direction: row;
        gap: 40px;
    }
    .hero-image {
        width: 50%;
    }
    .hero-text{
        width: 50%;
    }
    .project{
        height: 100%;
    }
    .project-collection{
        flex-wrap: wrap;
    }

    .skill-category {
        flex-direction: row;
        gap: 40px;
        flex-wrap: wrap;
    }

    .project-collection,
    .service-container,
    .contact-container {
        flex-direction: row;
        gap: 40px;
    }

}
@media screen and (max-width:768px) {
    .nav-links{
        position: absolute;
        right: 0px;
        height: 100vh;
        top: 8vh;
        background-color:var(--header-color);
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 35%;
        transform: translateX(100%);
        transition: transform 0.5s ease-in; 
        border-bottom-left-radius: 10px;
    }
    body{
        overflow-x: hidden;
    }
    .nav-links li{
        opacity: 0;
    }
    .burger{
        display: block;
    }
}
.nav-active{
    transform: translateX(0%);
}
@keyframes navLinkFade {
    from{
        opacity: 0;
        transform: translateX(50px);
    }
    to{
        opacity:1;
        transform: translateX(0px);
    }
}
.toggle .line1{
    transform: rotate(-45deg) translate(-5px,6px);
}
.toggle .line2{
    opacity: 0;
}
.toggle .line3{
    transform: rotate(45deg) translate(-5px,-6px);
}