@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,200&display=swap');

*{
    padding:0;
    margin:0;
    box-sizing: border-box;
    list-style:none;
    scroll-behavior: smooth;
    outline:none;
    text-decoration: none;
    font-family: Poppins, sans-serif;
}

:root{
    --text-color:#f5f5f5;
    --hover-color:#12f7ff;
    --bg-color:#250821;
    --secon-bg-color: #2a2e33;
    --big-font:2.5rem;
    --norma-font:2rem;
    --neon-box-shadow: 0 0 .5rem #12f7ff;
    --h2-font: 3rem;
    --font-neon-text-shadow:0 0 10px rgba(18,247, 255, 0.3),
    0 0 20px rgba(18,247, 255, 0.3),
    0 0 30px rgba(18,247, 255, 0.3),
    0 0 40px rgba(18,247, 255, 0.3),
    0 0 70px rgba(18,247, 255, 0.3),
    0 0 80px rgba(18,247, 255, 0.3),
    0 0 100px rgba(18,247, 255, 0.3),
    0 0 150px rgba(18,247, 255, 0.3);

}

/* Styles for all the sections */

html{
    font-size:62.5%;
    overflow-x:hidden;
}

body{
    font-family: "Poppins", sans-serif;
    background-color: #510B41;
    color:var(--text-color);
}

.header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    display: flex;
    padding: 2rem 9%;
    align-items:center;
    justify-content:space-between;
    z-index:100;
    background-color:var(--secon-bg-color);
}

.header .sticky{
    border-bottom: 0.1rem solid rgba(0,0,0, 0.21);
}

.logo{
    font-size:2.5rem;
    font-weight:600;
    letter-spacing:1px;
    cursor:default;
}


.logo span{
    color: var(--hover-color);
}

#menu-icon{
    font-size:3.6rem;
    color:var(--text-color);
    display: none;
}

span{
    color:rgb(53, 250, 138);
}


.navbar a{
    color:var(--text-color);
    font-size:1.7rem;
    margin-left:4rem;
    transition: 0.3s;

}

.navbar a:hover{
    color: rgb(75, 249, 75);
    text-shadow: 0 0 9px rgba(18,247, 255, 0.6),
    0 0 20px rgba(18,247, 255, 0.6),
    0 0 30px rgba(18,247, 255, 0.6),
    0 0 40px rgba(18,247, 255, 0.6),
    0 0 70px rgba(18,247, 255, 0.6),
    0 0 80px rgba(18,247, 255, 0.6),
    0 0 100px rgba(18,247, 255, 0.6),
    0 0 150px rgba(18,247, 255, 0.6);

}

.navbar a.active{
    color:rgb(75, 249, 75);
}


section{
    min-height:100vh;
    padding:10rem 9% 2rem;

}

.home{
    display:flex;
    justify-content: center;
    align-items:center;

}

.home-content h3{
   font-size:3.2rem;
   font-weight: 700;

}

.home-content span{
    color:#40fd56;
}

.home-content h1{
    font-size: 5.6rem;;
    font-weight: 700;
    line-height: 1.3;;
}

.home-content p{
    font-size:1.6rem;
}

.home-content h3:nth-of-type(2){
    margin-bottom: 2rem;
}

.home-image img{
    width:35vw;
    animation: floatImage 4s ease-in-out infinite;
}

.social-icons a{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    width:4rem;
    height:4rem;
    background: transparent;
    border: 0.2rem solid var(--hover-color);
    border-radius: 50%;
    font-size:2rem;
    color:var(--hover-color);
    margin: 3rem 1.5rem 3rem 0;
    transition:0.5s ease;
}


.social-icons a:hover{
    background: var(--hover-color);
    color:var(--secon-bg-color);
    box-shadow: 0 0 1rem var(--hover-color);
}

.btn{
    display:inline-block;
    padding: 1rem 2.8rem;
    background: var(--hover-color);
    border-radius:4rem;
    box-shadow:0 0 1rem var(--hover-color);
    font-size:1.6rem;
    color:var(--secon-bg-color);
    letter-spacing: 0.1rem;
    font-weight: bold;
    transition:0.45s ease;

}

.btn:hover{
    box-shadow:none;
}

.about{
    display:flex;
    justify-content: center;
    align-items:center;
    gap:2rem;
}

.about-image img{
    width:35vw;
}

.heading{
    text-align:center;
    font-size:4.5rem;

}

.about-content h2{
    text-align:left;
    line-height:1.2;
    font-size:3.3rem;
}

.about-content p{
    font-size:1.6rem;
    margin: 2rem 0 3rem;
}

.skills .main-text {
    text-align: center;
}


.skills .main-text h2 {
    margin-top: 5px;
    color:rgb(246, 246, 98);
    font-size:2rem;
}

.skills-main{
    
    display:grid;
    grid-template-columns: repeat(2,1fr);
    row-gap: 30px;
    column-gap:50px;
    }


.skill-bar{
    margin-bottom:2.3rem;

}

.skills-main h3{
    font-size:var(--norma-font);
    margin-bottom: 2rem;
    text-align:center;
}

.skill-left .skill-tech .info{
    display:flex;
    align-items:center;
    padding:0 10px;
}



.skill-left p{
    font-size:15px;
    font-weight:500;
}


.professional{
    display:grid;
    grid-template-columns: 1fr 1fr;
    text-align:center;
}

.box{
    margin:10px 0;
    flex:1 1 15rem;
    position:relative
}

.box .text{
    text-align:center;
    color:white;
    font-size: 1.2rem;
    font-weight: bold;
}

.box .text big{
    font:400;
    position:absolute;
    top:40%;
    left:50%;
    transform: translate(-50%, -50%);
}

.box .text .medium{
    display:block;
    font-weight:bold;
    font-size:2.1rem;


}

.circle{
    width:100%;
    height:120px;
    display:flex;
    justify-content:center;
    align-items: center;
}

.circle .points{
width:2px;
height:10px;
background-color:var(--secon-bg-color);
position:absolute;
border-radius:3px;
transform:rotate(calc(var(--i)*var(--rot))) translateY(-45px);

}

.points.marked{
    animation:glow 0.04s linear forwards;
    animation-delay: calc(var(--i)*0.05s);
}


.projects h2{
    margin-bottom:3rem;
    text-align: center;
    font-size: 24px;

}

.projects h3{
    text-align:center;
    font-size:17px;
}

.project-container{
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    align-items:center;
    gap:2.9rem;
    width:100%;
}

.project-container .project-box{
    position:relative;
    border-radius: 2rem;
    box-shadow: 0 0 0.85rem rgb(240, 164, 66);
    overflow:hidden;
    display:flex;
}

.project-box img{
    width:100%;
    transition: 0.5s ease;
}

.project-box:hover img{
    transform:scale(1.1);
}

.project-box .project-layer{
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    top:0;
    width:100%;
    height:100%;
    background:linear-gradient(rgba(0,0,0,0.30), var(--secon-bg-color));
    display:flex;
    overflow:hidden;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    padding:30px;
}

.project-box .project-layer p,
.project-box .project-layer img,
.project-box .project-layer a{
    opacity:0;
    transition:opacity 0.33s ease;
}

.project-box img{
    opacity:0.35;
}

.project-box:hover .project-layer p,
.project-box:hover .project-layer img,
.project-box:hover .project-layer a{
    opacity:1;
}

.project-box .project-layer p {
    text-align: center; 
    color: white; 
    font-weight: 650;
    margin-top: 2.5px;
    font-size:9.5px;
    
}

.project-box .project-layer h4{
    text-decoration: underline;
    font-size:11px;
    font-weight:700;
    text-align:center;
}

.project-box .project-layer img {
    width: 20px;
    display:flex;
    margin-right:10px;

}

.icon-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size:12px;
}

.imp-links{
    display:flex;
    justify-content: space-between;
    align-items:center
}

.project-box .project-layer a {
    color: white; 
    text-decoration: none; 
    display: flex;
    align-items: center;
    font-weight: 700;
    font-size:12.5px;
}

.project-box .project-layer a i {
    margin-right: 5px;
    font-size: 19px;
    text-shadow: yellow;
}

.imp-links a i.bxl-github {
    color: #d2fa06; 
}

.imp-links a i.bx-link-external {
    color: #07f923; 
}
.contact h2{
    margin-bottom:2.5rem;
    text-align:center;
    font-size:30px;
}

.contact form{
    width:90%;
    margin:1rem auto;
    text-align:center;
    margin-bottom:3rem;
}

.contact form .input-box{
    display: flex;
    justify-content: space-between;


}

.contact form .input-box input,
.contact form  textarea{
    width:100%;
    padding:1.5rem;
    font-size: 1.6rem;
    color:black;
    background:rgb(186, 186, 247);
    border-radius:1.2rem;
    margin:0.7rem 0;

}

.contact form .input-box input{
    width:49%;
}

.contact form  textarea{
    resize:none;
}


.contact form .btn{
    margin-top:2rem;
    cursor: pointer;
    font-weight: 800;
}

.footer{
    display:flex;
    align-items:center;
    justify-content: space-between;
    margin-bottom:0;
    padding:1.1rem 9%;
    background: var(--secon-bg-color);
}

.footer-text p{
    font-size:1.4rem;
    text-align:center;
}

.footer-iconTop a{
    display:inline-flex;
    justify-content: center;
    align-items:center;
    padding: 0.8rem;
    background: var(--hover-color);
    border-radius: 0.8rem;
    transition: 0.5s ease;

}

.footer-iconTop a:hover{
    box-shadow: 0 0 0.92rem var(--hover-color);
}

.footer-iconTop a i{
    font-size:2.4rem;
    color:var(--secon-bg-color);
}


/* Styles for theme toggle button */

#theme-toggle {
    position: relative;
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    display: flex;
    align-items: center;
}

#slider {
    position: absolute;
    height: 100%;
    width: 50%;
    transition: transform 0.3s;
}

#theme-toggle i {
    font-size: 24px;
    margin-right: 5px;
    transition: opacity 0.3s;
}

#sun-icon, #moon-icon {
    color:yellow;
}

#theme-text {
    margin-left: 5px;
    font-weight:500;
    font-size:14px;
}


#theme-toggle.light-mode #slider {
    transform: translateX(100%);
}

#theme-toggle.light-mode #sun-icon {
    opacity: 1;
    margin-left:0;
}

#theme-toggle.light-mode #moon-icon {
    opacity: 0;
    margin-right:5px;
}

.light-mode {
    background-color: #d0a9d0 ;
    color: black;
}

.light-mode .logo{
    color:var(--text-color);
}

.light-mode span{
    color: rgb(5, 82, 5);
}

.light-mode .logo span{
    color:var(--hover-color);
}

.light-mode #theme-text{
    color:rgb(53, 250, 138);
}

.light-mode .btn{
    background: rgb(23, 214, 100);
    border-radius:4rem;
    box-shadow:0 0 1 rgb(5, 5, 243);
}

.light-mode .social-icons a{
     border: 0.19rem solid rgb(27, 104, 27);
     color:#0a5312;
}

.light-mode .social-icons a:hover{
    background: rgb(128, 240, 128);
    box-shadow: 0 0 5rem #0a5312;
    border: 2px solid #0a5312;
}

.light-mode .skills .main-text h2 {
    color:rgb(103, 103, 6);
}


.light-mode .box .text{
    color:black;
}

.light-mode .points.marked{
    animation:glow-light-mode 0.04s linear forwards;
    animation-delay: calc(var(--i)*0.05s);
}

.light-mode .project-box .project-layer h4{
    color:white;
}

.light-mode .project-box .project-layer{
    background:linear-gradient(rgba(0, 0, 0, 0.61), var(--secon-bg-color));
}

.light-mode .project-container .project-box{
    box-shadow: 0 0 0.85rem rgb(2, 112, 7);
}

.light-mode .contact form .input-box input,
.light-mode .contact form  textarea{
    background-color: rgb(247, 205, 126);
}


.light-mode .footer-text #copyright{
    color:white;
}


/* Media screens (in order to make website responsive)  */

@media (max-width: 1200px){
    html{
        font-size:55%;
    }
}

@media (max-width:991px){
    .header{
        padding: 2rem 3%;
    }

    section{
        padding:10rem 3% 2rem;
    }

    .project{
        padding-bottom:7rem;
    }

    .footer{
        padding: 2rem 3%;
    }

    .contact{
        min-height:auto;
    }
}

@media (max-width:768px){
    #menu-icon{
        display:block;

    }

    .navbar{
        position:absolute;
        top:100%;
        left:0;
        width:100%;
        padding:1rem 3%;
        background: var(--secon-bg-color);
        border-top: 0.1rem solid rgba(0,0,0 0.21);
        box-shadow: 0 0.5rem 1rem rgba(0,0,0 0.21);
        display:none;
    }

    .navbar.active{
        display:block;
    }
    .navbar a{
        display:block;
        font-size:2rem;
        margin:3rem 0;
    }

    .home{
        flex-direction:column;
    }

    .home-content h3{
        font-size: 2.6rem;
    }

    .home-content h1{
        font-size:5rem;
    }

    .home-image img{
        width:70vw;
        margin-top: 4rem;
    }

    .about{
        flex-direction: column-reverse;
    }

    .about img{
        width:70vw;
        margin-top:4rem;
    }

    .projects h2{
        margin-bottom:3rem;
    }

    .skills-main{
        grid-template-columns: 1fr;
    }

    .skill-left p{
    font-size:8.5px;
    font-weight:550;
    }

    .project-container{
        grid-template-columns: repeat(2, 1fr);

    }

    .project-container .project-box {
        flex-direction: column; 
    }

    .project-container .project-box .project-layer {
        width: 100%; 
        box-sizing: border-box; 
    }

    .project-container .project-box .icon-container {
        display: flex;
        justify-content: center; 
    }

    .project-container .project-box .imp-links {
        text-align: center; 
    }

    .project-box .project-layer h4,
    .project-box .project-layer p {
        text-align: center; 
        color: white; 
        font-weight: 700;
        margin-top: 3px;
        font-size:10px;
    
}
}

@media (max-width:617px){
    .project-container{
        grid-template-columns: 1fr;
}
}

@media (max-width:450px){
    html{
        font-size:50%;
    }

    .contact form .input-box input{
        width:100%;
    }

    .skill-left p{
    font-size:8.5px;
    font-weight:550;
    }

    .project-box .project-layer p,
    .project-box .project-layer img,
    .project-box .project-layer a{
        opacity:1;
    }

}

@media (max-width:365px){
    .home-image img{
        width:90vw
    }

    .about-image img{
        width:90vw;
    }
    
    .footer{
        flex-direction: column-reverse;
    }

    .footer p{
        text-align: center;
        margin-top: 2rem;
    }

    .project-box .project-layer p,
    .project-box .project-layer img,
    .project-box .project-layer a{
        opacity:1;
    }

}


/* Keyframes (for the animations) */

@keyframes glow{
    0%{
        background:var(--secon-bg-color);
        box-shadow:none;
    }
    100%{
        background: var(--hover-color);
        box-shadow:var(--neon-box-shadow);
    }

}

/*Keyframe for light-mode*/
@keyframes glow-light-mode {
    0% {
        background:var(--secon-bg-color);
        box-shadow:none;
    }
    100% {
        background: blue;
        box-shadow: var(--neon-box-shadow);
    }
}

@keyframes floatImage{
    0%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(-1.9rem);
    }
    100%{
        transform:translateY(0);
    }

}