* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}
section, .skills-container, .project-container, .contact-container {
    scroll-margin-top: 80px; /* Adjust based on your nav height */
}
body {
    /* background-color: #121212; */
    background-color: var(--darkblue-color);
}

#active {
    color: var(--brand-cyan);
    opacity: 1;
}
/* ======== COLOR TO BE UEED THROUGHOUT THE WEB ========= */
:root {
    --brand-cyan: #00c4ff;
    --background-color: rgb(15, 23, 42);
    --darkblue-color: #001f3f;
    --silver: #888;
}
.container {
    padding: 2%;
}

/* ============ SIDE PORTIFOLIO =========== */
.side-profile {
    width: 100%;
    max-width: 240px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: var(--background-color);
    border-radius: 12px;
    padding: 20px;
    position: absolute;

}
.profile-image img {
    width: 120px;
    height: 120px;
    padding: 8px;
    border: 2px solid var(--brand-cyan);
    border-radius: 50%;
}

.side-profile h3 {
    color: white;
    padding: 20px;
    font-size: 24px;
}
.side-profile #course{
    color: white;
    text-wrap: wrap;
    padding: 10px;
    border: 0.5px solid #00c4ff;
    border-radius: 8px;
    background-color: var(--background-color);
    margin: 10px;
    /* opacity: 0; */
}
.side-profile-bottom {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.side-profile h4 {
    color: #8a8282;
    line-height: 60px;
}

.side-profile p {
    color: #777;
}

/* =========== STYLING THE SECTION ============ */
section {
    margin-left: 260px;
    top: 0px;
    background-color: var(--background-color);
    border-radius: 12px;
    padding: 20px 40px; 
    width: auto;
}


            /* =====xxxxxxxxxxxxxxxxxxxxxxxxx====================== */

            #about, #skills, #portfolio, #contacts {
                scroll-margin-top: 80px; /* Prevents section titles from hiding under nav */
            }

            .navigation-bar {
                position: sticky;
                top: 0;
                color: #00c4ff;
                background-color: #001f3f45;

                z-index: 1000;
            }
            /* =====xxxxxxxxxxxxxxxxxxxxxxxxx====================== */

.navigation-bar {
    display: flex;
    justify-content: right;
}
.navigation-links {
    /* border: 1px solid var(--brand-cyan); */
    margin-top: -10px;
    margin-right: -10px;
    padding: 5px;
    /* background-color: var(--background-color); */
    background-color: #8888881d;
    /* border-bottom-left-radius: 30px; */
}
.navigation-links ul {
    display: flex;
    padding: 12px;
    gap: 18px;
}

.navigation-links ul li {
    list-style-type: none;
}

.navigation-links ul li a {
    text-decoration: none;
    text-transform: capitalize;
    color: var(--brand-cyan);
    font-size: 18px;
    opacity: 0.6;
    transition: 0.2s ease;
}

.navigation-links ul li a:hover {
    opacity: 1;
}

section h4 {
    color: var(--brand-cyan);
    font-family: "DM sans";
    font-size: 25px;
    margin-top: 20px;
    
}

section h1 {
    color: var(--brand-cyan);
    font-size: 40px;
    font-family: Arial, Helvetica, sans-serif;
    margin-top: 12px;
}

section p {
    color: var(--silver);
    font-size: 20px;
    /* font-family: Arial, Helvetica, sans-serif; */
    font-family: "DM Sans", sans-serif;
    text-wrap: wrap;
    margin-top: 20px;
    line-height: 25px;
    word-spacing: 2px;
}

/* platform icons */
.icons-container {
    display: flex;
    justify-content: center;
    margin-top: 30px;
    margin-bottom: 40px;
    align-items: center;
    gap: 25px;
    flex-wrap: wrap;
    
}
.icons-container a {
    width: 50px;
    height: 50px;
    border: 3px solid var(--brand-cyan);
    border-radius: 50%;
    display: grid;
    place-items: center;
    transition: 0.3s;

    
}

.icons-container a:hover {
    transform: scale(1.23);
}
.icons-container i {
    font-size: 30px;
    color: var(--brand-cyan);
    padding: 5px;
}

/* ==== skills conntainer ========== */

.skills-container {
    display: grid;
    place-items: center;
    justify-content: center;
    align-items: center;
}

.skills-cards {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 30px;
    margin-top: 30px;
    width: 100%;

}
.card {
    width: 100%;
    max-width: 400px;
    padding: 20px;
    background-color: #a09c9c17;
    border-radius: 18px;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    place-items: center;
    align-items: center;
    cursor: pointer;
    /* border: 0.5px solid var(--brand-cyan); */
}

.card p {
    font-size: 16px;
}

.dev-icon {
    width: 80px;
    height: 80px;
    display: grid;
    place-items: center;
    border: 2px solid var(--brand-cyan);
    border-radius: 50%;
    background-color: var(--darkblue-color);

}
.dev-icon i{
    color: var(--brand-cyan);
    font-size: 45px;
}

/*======== STYLING THE PROJECTS CONTAINER =============*/
.projects-container {
    display: grid;
    place-items: center;
    justify-content: center;
    align-items: center;
}
.projects-cards {
    display: flex;
    gap: 30px;
    margin-top: 30px;
    flex-wrap: wrap;
}


.project-container .cards{
    display: flex;
    justify-content: center;
    gap: 50px;
}

.project-card {
    width: 400px;
    padding: 20px;
    background-color: #31313351;
    border-radius: 20px;
}
/* 
.project-card img {
    width: 100%;
    object-fit: cover;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
} */
.project-card img {
    width: 90%;
    object-fit: cover;
    transition: transform 0.5s ease;
    display: block;
    border-radius: 20px;
    cursor: pointer;
    opacity: 0.6;
}
.project-card img:hover {
    transform: scale(1.03);
    opacity: 1;
}

.project-card a button, form button {
    color: var(--brand-cyan);
    width: 70px;
    padding: 5px;
    border: 1px solid var(--brand-cyan);
    border-radius: 8px;
    font-size: 22px;
    margin-top: 10px;
    font-weight: 300;
    transition: 0.3s ease;
}

button:hover {
    box-shadow: 2px 2px 0 2px  var(--brand-cyan);
    font-weight: 500;
    font-size: 22px;
}

form {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 30px ;
}

.name-email {
    display: flex;
    justify-content: center;
    gap: 70px;
    width: 100%;
    padding: 30px;
}
input {
    width: 100%;
    height: 50px;
    border:  1px solid #888;
    background-color: transparent;
    outline: none;
    border-radius: 8px;
    padding: 20px;
    color: #888;
}
input::placeholder {
    color: #888;
}

.message {
    padding: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}
textarea {
    padding: 20px;
    border-radius: 8px;
    background-color: transparent;
    border: 1px solid #888;
    color: #888;
    width: 100%;
    max-width: 800px;
    height: 100px;
    overflow: auto;
    outline: none;
}

textarea::placeholder {
    color: #888;
    font-size: 18px;
}

form button {
    width: 100%;
    max-width: 300px;
    height: 70px;
    color: var(--brand-cyan);
    font-weight: 300;
    padding: 10px;
    font-size: 25px;
}

p a:hover {
    text-decoration: underline;
}

/* ====== xxxxxxxxxxxxxxx BACK TO TOP XXXXXXXX========= */
/* Always visible back to top button */
.back-to-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    background-color: #00c4ff;
    color: var(--darkblue-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 30px;
    z-index: 99;
    transition: all 0.3s ease;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.back-to-top:hover {
    background-color: #0099cc;
    transform: scale(1.1);
}


/* ====== xxxxxxxxxxxxxxx BACK TO TOP XXXXXXXX========= */

/* ====== CUSTOMIZING WEB ON SMARTPHONES AND TABLET ======= */

        @media screen and (max-width: 820px) {
            .container {
                display: flex;
                flex-direction: column;
                justify-content: center;
                align-items: center;
                padding: 0;
            }
            .side-profile {
                display: flex;
                flex-direction: row;
                justify-content: space-between;
                position: static;
                /* position: fixed; */
                max-width: 90%;
                padding: 10px;
            }
            section {
                width: 100%;
                margin-left: 0px;
                margin-left: 0px;
                max-width: 90%;
                margin-top: 20px;
            }
            #home p {
                font-size: 16px;
            }
            .side-profile-bottom {
                display: none;
            }
            .side-profile h3 {
                font-size: 20px;
                text-align: center;
            }

            .navigation-bar {
                position: fixed;
                margin-top: 400px;
                margin-left: 0px;
                display: none;
            }

            section h1 {
                font-size: 40px;
            
            }

            .icons-container {
                gap: 20px;
            }
            .icons-container a{
                width: 40px;
                height: 40px;
                margin-top: 0;
            }
            .icons-container i {
                font-size: 25px;
                margin-top: 0;
            }

            .skills-cards {
                display: flex;
                flex-direction: column;
            }

            .projects-container {
                display: flex;
                justify-content: center;
                align-items: center;
            }


            .card {
                max-width: 90%;
            }

            .cards {
                display: grid;
                place-content: center;
                flex-direction: column;
            }
            .project-card {
                width: 90%;
            }

            form {
                display: flex;
                flex-direction: column;
                justify-content: center;
                padding: 20px;
                align-items: center;
            }

            .name-email {
                display: flex;
                flex-direction: column;
                padding: 10px;
            }
            input {
                padding: 10px;
            }

            textarea {
                padding: 15px;
            }
            form button {
                width: 80%;
            }
        }