#demo {
    position: absolute;
    width: 100%;
    min-height: 800vh;
}
header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 2rem 0;

    .logo {
        display: flex;
        align-items: center;
    
        a {
            text-decoration: none;
            color: var(--white);
            font-weight: bold;
        }
    
        img {
            width: 64px;
        }
    }  

    nav.mobile-menu {
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background-color: var(--black-50);
        z-index: 999;
        width: 100%;
        height: 100%;
        display: none;
        align-items: center;
        justify-content: center;
        flex-direction: column;

        #close {
            position: absolute;
            top: 2rem;
            right: 2rem;
            color: var(--white); 
        }

        a {
            font-size: 2rem;
        }

        ul {
            text-align: center;
        }

        li {
            margin-top: 1rem;
        }
    }

    #mobile-menu-button {
        display: none;
        z-index: 999;
    }

    nav.desktop-menu {
        ul {
            display: flex;
            list-style: none;
        } 
    
        li {
            margin-left: 2rem;

            a {
                position: relative;
            }

            a::after {    
                content: '';
                margin-top: 10px;
                position: absolute;
                left: 0;
                bottom: 0;
                width: 0;
                height: 2px;
                background: linear-gradient(90deg, var(--main-color) 0%, var(--purple) 100%);
                transition: width ease 0.5s;
            }

            a:hover::after {
                width: 20px;
            }
        }

        @media screen and (max-width: 768px) {
            display: none;
        }

    }

    @media screen and (max-width: 768px) {
        justify-content: space-between;
        width: 100%;
        position: sticky;
        top: 0;
        background-color: var(--black-50) !important;
        z-index: 999;

        &::before {
            content: "";
        }

        #mobile-menu-button {
            display: block;
        }
    }
}  

section.hero { 
    position: relative;
    display: flex;
    align-items: center;
    min-height: 90vh;

    .hero-text {
        width: 40rem;

        h1 {
            font-weight: 400;
            span {
                background: -webkit-linear-gradient(45deg, var(--main-color) 50%, var(--purple) 100%);
                -webkit-background-clip: text;
                -webkit-text-fill-color: transparent; 
                border-bottom: 1px solid;
                border-image-slice: 1;
                border-width: 2px;
                font-size: 3.375rem;
                font-weight: 500;
                border-image-source: linear-gradient(to left, var(--main-color), var(--purple));

                @media (max-width: 1440px) {
                    font-size: 2.5rem;
                }
            }

            strong {
                font-size: 3.375rem;

                @media (max-width: 1440px) {
                    font-size: 2.5rem;
                }
            }

            @media screen and (max-width: 768px) {
                margin-top: 1rem;
            }
        }

        p {
            font-weight: lighter;
            margin-top: 20px;
            color: var(--gray-20);
        }

        .buttons {
            margin-top: 50px;
            display: flex;
            align-items: center;
            gap: 10px;
            flex-direction: row;
            button {
                margin-right: 10px;

                @media screen and (max-width: 425px) {
                    margin-bottom: 1rem;
                }
            }

            @media screen and (max-width: 768px) { 
                justify-content: center;
            }

            @media screen and (max-width: 425px) { 
                flex-direction: column; 
            }
        } 

        @media screen and (max-width: 768px) {
            width: auto;
        } 
    }

    .hero-profile { 
        .profile-desktop {  
            position: absolute;
            width: 100%;
            top: 8rem;
            left: 32rem;
            max-width: 700px;
            z-index: -1;

            @media screen and (max-width: 1440px) {
                top: 2rem;
                width: 55%;
            }

            @media screen and (max-width: 768px) {
                display: none;
            }
        } 

        .profile-mobile {  
            display: none; 
            width: 100%;
            max-width: 400px;

            @media screen and (max-width: 768px) {
                display: block;
            }


            @media screen and (max-width: 425px) {
                max-width: 350px;
            }
        } 
    }

    @media screen and (max-width: 768px) {
        flex-direction: column-reverse;
        justify-content: center;
        align-items: center;
        text-align: center;
    }
}

section.why-hire-me {
    min-height: 100vh; 

    .hire-wrapper {
        margin-top: 2rem;

        .hire-me-item:nth-child(2) {
            margin-left: 10rem;

            @media screen and (max-width: 768px) {
                margin-left: 0;
            }
        }

        .hire-me-item {
            display: flex;
            align-items: center; 
            margin-top: 7rem;

            .item-text {
                width: 600px;
                margin-left: 30px; 

                p {
                    font-weight: lighter;
                    margin-top: 0.5rem;
                    color: var(--gray-20);
                }

                @media screen and (max-width: 768px) {
                    width: auto;
                    margin-left: 0;
                    margin-top: 2rem;
                }
            }
            .item {
                position: relative;
                display: flex;
                align-items: center;
                justify-content: center;
                width: 120px;
                height: 120px; 

                span {
                    font-size: 2rem;
                    font-weight: bold;
                    background: -webkit-linear-gradient(var(--main-color), var(--purple));
                    -webkit-background-clip: text;
                    -webkit-text-fill-color: transparent; 
                }
            }
            
            .item::after {
                content: '';
                position: absolute; 
                width: 100%;
                height: 100%;
                border: 2px dashed var(--black-50);
                background: linear-gradient(45deg,var(--main-color),var(--purple)) border-box;
                border-radius: 50%;
                -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
                -webkit-mask-composite: xor;
                mask-composite: exclude;
                animation: animItem 20s linear infinite;
            }

            @media screen and (max-width: 768px) {
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    text-align: center; 
            }
        }
    }

    @media screen and (max-width: 768px) {
        .title {
            text-align: center;
        } 
    }
}

section.about {
    min-height: 100vh;
    margin-top: 5rem;

    .about-wrapper { 
        display: flex;
        margin-top: 2rem;
        align-items: center;
        justify-content: center;
        min-height: 90vh;

        @media screen and (max-width: 768px) {
            flex-direction: column-reverse; 
            text-align: center;

            img {
                width: 100%;
                max-width: 300px;
                margin-bottom: 2rem;
            }
        }
    }

    .about-content {
        .btn { 
            margin-top: 2rem;

            @media screen and (max-width: 768px) {
                    display: inline-flex 
            }
        }

        p {
            margin-top: 1rem;
            font-size: 1.2rem;
            font-weight: lighter;
            color: var(--gray-20);
        }
    }
}

section.skills {
    min-height: 100vh;

    .skills-wrapper {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 90vh;

        p {
            font-size: 2rem;
        }

        @media screen and (max-width: 768px) {
            justify-content: center;
            p {
                display: none;
            }
        }

        @media screen and (max-width: 1440px) {
            margin-top: 2rem;
        }
    }

    .tech-skills {
        display: grid;
        grid-template-columns: repeat(4, 1fr); 
        gap: 10px;

        .skill {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100px;
            height: 100px;
            border-radius: 4px;
            background-color: var(--black-25);
            cursor: pointer;
        } 

        .skill:hover::after {
            content: '';
            position: absolute;
            width: 100%;
            height: 100%;
            border: 2px solid transparent;
            border-radius: 4px;
            background: linear-gradient(45deg,var(--main-color),var(--purple)) border-box; 
            -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
            -webkit-mask-composite: xor;
            mask-composite: exclude;
        }

        @media screen and (max-width: 425px) {
            grid-template-columns: repeat(2, 1fr); 
            margin-top: 2rem;
        }
    }
}

.more-about-me {

    .more-about-container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        
        @media screen and (max-width: 768px) { 
            text-align: center;
            justify-content: center;
        }

        .experience {
            width: 500px;
            margin-top: 5rem;

            @media screen and (max-width: 768px) {
                width: auto;
            }

            
            .college-container {
                margin-top: 5rem;
                
                .college {
                    display: flex;
                    flex-direction: column;
                    margin-top: 1rem;

                    h3 {
                        background: -webkit-linear-gradient(45deg, var(--main-color) 50%, var(--purple) 100%);
                        -webkit-background-clip: text;
                        -webkit-text-fill-color: transparent; 
                        margin-top: 0.5rem;
                    }
                }

                .college-name {
                    font-weight: bold;
                }
            }

            .college-container span:nth-child(1) {
                font-weight: 500;
            }
        }  

        .exp-img {
            img {
                width: 500px;
            }

            @media screen and (max-width: 768px) {
                display: none;
            }
        }

        .exp-company {
            margin-top: 2rem; 

            .exp-time {
                font-weight: 300;
            }

            ul {
                list-style: '- ' inside;
                margin-top: 1rem;

                li {
                    margin-top: 0.5rem;
                    font-size: 1rem;
                }
            }

            h3 {
                background: -webkit-linear-gradient(45deg, var(--main-color) 10%, var(--purple) 110%);
                -webkit-background-clip: text;
                -webkit-text-fill-color: transparent; 
            }

            span {
                font-weight: bold; 
            }
        }
    }
}

.projects {
    .projects-grid {
        margin-top: 5rem;
        display: grid;
        grid-template-columns: 1fr 1fr; 
        gap: 5rem;

        @media screen and (max-width: 768px) {
            grid-template-columns: 1fr;
            justify-items: center;
        } 

        .project {
            position: relative;
            width: 425px;
            height: 425px; 

            @media screen and (max-width: 425px) {
                width: 325px;
                height: 325px; 
            }

            img {
                position: absolute;
                width: 100%;
                height: 100%;
                object-fit: cover;
                border-top-left-radius: 4px;
                border-top-right-radius: 4px;
                border-bottom-left-radius: 8px;
                border-bottom-right-radius: 8px;

                @media screen and (max-width: 425px) {
                    object-fit: cover;
                }
            }

            .project-description {
                position: absolute;
                width: 100%; 
                height: 120px;
                bottom: 0;
                background: var(--black-50);
                padding: 0.5rem 1rem;
                transition: 0.5s;
                border-bottom-left-radius: 4px;
                border-bottom-right-radius: 4px;

                h3 {
                    transition: 1s ease-in-out;
                }

                h3:hover {
                    background: -webkit-linear-gradient(45deg, var(--main-color) 5%, var(--purple) 40%);
                    -webkit-background-clip: text;
                    -webkit-text-fill-color: transparent; 
                }

                p {
                    margin-top: 0.5rem;
                    margin-bottom: 0.5rem;
                    font-weight: 300;
                }  
            }
        }

        .project:hover .project-description  {
            background: var(--black-25)
        }
        
        .project:hover .project-description h3 {
            background: -webkit-linear-gradient(45deg, var(--main-color) 5%, var(--purple) 40%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent; 
        }
    }
}
            
footer {
    display: flex; 
    align-items: center;
    background-color: var(--black-100);
    min-height: 50vh;
    margin-top: 5rem;
    width: 100%;

    .footer-container { 
        padding: 2% 25%;

        @media screen and (max-width: 425px) {
            padding: 2% 12%;
        }

        .footer-info {
            width: 90%;

            @media screen and (max-width: 425px) {
                width: auto;
            }

            .social-medias {
                display: flex;
                flex-direction: column;
                padding: 2rem 0;

                a {
                    margin-top: 0.5rem;
                }

                a:hover {
                    color: var(--main-color);
                }
            }

            p {
                font-weight: 300;
            }
        }
    }

    .social-and-rights {
        margin-top: 0.5rem;

        .social-medias-02 {
            a {
                margin-right: 1rem;
            }

            a:hover {
                color: var(--main-color);
            }
        }

       
    } 
}

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



 