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

/* Base Styles */
html
{
    overflow-x: hidden;
    background: #210002; /* Base background for parallax */
    font-size: 1rem; /* Base font size */
    line-height: 1.6; 
    scroll-behavior: smooth;
}
body
{
    overflow-x: hidden;
    background: #ffaf1b; /* Base background for parallax */
    font-size: 1rem; /* Base font size */
    line-height: 1.6; 
    scroll-behavior: smooth;
}

/* Confetti Canvas */
.confetti-canvas
{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10; /* Ensures confetti appears on top */
}

/* Hero Section for Parallax Effect */
.hero
{
    padding: 20%;
    position: relative;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    
}

.hero .layer
{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.hero .layer img
{
    position: absolute;
    top: -40px;
    left: -40px;
    width: calc(100% + 80px);
    height: calc(100% + 80px);
    object-fit: cover;
    opacity: 0;
    transition: opacity 1s;
}

.hero .layer:last-child img
{
    object-position: center bottom;
}

.hero .layer img.is-loaded
{
    opacity: 1;
}

/* Content Section */
.content
{
    background: #210002;
    height: 100%;
    padding: 20px;
    text-align: center;
    color: #ffffff;
    font-family: Arial, sans-serif;
}

/*Navbar*/
.nav-back{
    width: 500px; /* Width of the rectangle */
    height: 52px; /* Height of the rectangle */
    background-color: #210002; /* Color of the rectangle */
    border: 2px solid #ffaf1b; /* Optional border */
    border-radius: 40px; /* Optional rounded corners */
    margin: 20px auto;
}

.navbar {
    border-radius: 20px;
    padding: 10px 20px;
    width: fit-content;
    margin: 1px auto;
}

.navbar ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: space-between;
}

.navbar li {
    margin: 0 15px;
}

.navbar a {
    text-decoration: none;
    color: white;
    font-size: 18px;
    font-weight: bold;
    padding: 10px;
    transition: background-color 0.3s ease;
}

.navbar a:hover {
    background-color: #ffaf1b;
    border-radius: 10px;
}


@media (max-width: 768px) {
    .nav-back {
        display: none; /* Hide navbar background on mobile */
    }

    .navbar {
        display: none; /* Initially hide the navbar on mobile */
        position: absolute;
        top: 60px; /* Position below the menu toggle */
        left: 50%;
        transform: translateX(-50%);
        background-color: rgba(0, 0, 0, 0.8);
        border-radius: 10px;
        padding: 10px 0;
        z-index: 1;
        width: 80%;
        text-align: center;
    }

    .navbar.open {
        display: block; /* Show navbar when "open" class is added */
    }

    .menu-toggle {
        display: flex; /* Show hamburger menu on smaller screens */
    }
}




/* General Styles for About, Skills, Projects, and Contact Sections */
.container {
    background: #210002;
    max-width: 100%;
    margin: 0 auto;
    padding: 20px;
}

h2 {
    font-size: 28px;
    margin-bottom: 15px;
}

h3 {
    font-size: 22px;
    margin-bottom: 10px;
}

ul {
    list-style-type: none;
    padding: 0;
}

ul li {
    font-size: 18px;
    margin: 5px 0;
}

.project {
    margin-bottom: 20px;
}


/* Skills Section */
.skills {
    margin-top: 40px;
    text-align: center;
}

.skills h3 {
    margin-top: 20px;
    margin-bottom: 10px;
    font-size: 24px;
    color: #ffaf1b;
}

.carousel {
    display: flex;
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 250px;
}

.carousel img {
    width: 400px;
    height: 200px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.carousel-item {
    min-width: 150px;
    flex-shrink: 0;
    transition: transform 0.3s linear; /* Smooth repositioning */
}

.carousel-item img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}




/* Animation for Individual Carousels */
.carousel {
    animation: carouselScroll 10s linear infinite;
}

.carousel:nth-child(odd) {
    animation-direction: normal;
}

.carousel:nth-child(even) {
    animation-direction: reverse;
}

/* Keyframes for Infinite Scrolling */
@keyframes carouselScroll {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-100%);
    }
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .carousel {
        animation: carouselScroll 15s linear infinite; /* Slower on smaller screens */
    }
}


.skills ul {
    padding-left: 20px;
}

.skills li {
    font-size: 18px;
    margin: 10px 0;
}

/* Projects Section */
.projects {
    padding: 50px 0;
}

.project p {
    font-size: 16px;
    line-height: 1.6;
}

/* Contact Section */
.contact {
    padding: 50px 0;
    background: #210002;
}

.contact p {
    font-size: 18px;
    line-height: 1.6;
}

.contact a {
    color: #e8a84f;
    text-decoration: none;
}

.contact a:hover {
    text-decoration: underline;
}

/* Responsiveness: Mobile & Tablet Adjustments */

/* Mobile Devices (up to 600px) */
@media (max-width: 600px) {
    .container {
        padding: 10px;
    }

    h2 {
        font-size: 24px;
    }

    h3 {
        font-size: 20px;
    }

    ul li {
        font-size: 16px;
    }

    .about p,
    .skills li,
    .projects p,
    .contact p {
        font-size: 16px;
    }

    .project {
        margin-bottom: 15px;
    }

}

/* Tablet Devices (601px to 1024px) */
@media (max-width: 1024px) {
    .container {
        padding: 15px;
    }

    h2 {
        font-size: 26px;
    }

    h3 {
        font-size: 21px;
    }

    ul li {
        font-size: 17px;
    }

    .about p,
    .skills li,
    .projects p,
    .contact p {
        font-size: 17px;
    }

    .project {
        margin-bottom: 20px;
    }
}

/* Desktop Devices (1025px and above) */
@media (min-width: 1025px) {
    .container {
        padding: 20px;
    }

    h2 {
        font-size: 28px;
    }

    h3 {
        font-size: 22px;
    }

    ul li {
        font-size: 18px;
    }

    .about p,
    .skills li,
    .projects p,
    .contact p {
        font-size: 18px;
    }

    .project {
        margin-bottom: 20px;
    }
}


.project {
    margin: 1rem 0;
    padding: 1rem;
    background: transparent;
    border: 1px solid #ddd;
    border-radius: 5px;
    transition: transform 0.3s;
}
.project:hover {
    transform: scale(1.05);
}

#toTopButton {
    position: fixed;
    bottom: 20px; /* Distance from the bottom of the viewport */
    right: 20px; /* Distance from the right of the viewport */
    width: 50px; /* Button width */
    height: 50px; /* Button height */
    background-color: #e8a84f; /* Button background color */
    color: #ffffff; /* Arrow color */
    border-radius: 50%; /* Make it circular */
    font-size: 24px; /* Size of the arrow */
    cursor: pointer; /* Pointer cursor on hover */
    display: none; /* Initially hidden */
    z-index: 1000; /* Ensure it stays above other elements */
}

#toTopButton:hover {
    background-color: #e8a84f; /* Change color on hover */
}

/* About Section Layout */
.about-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px; /* Increased spacing between photo and content */
    flex-wrap: wrap; /* Ensure it wraps on smaller screens */
    padding-left: 40px; /* Add space on the left of the section */
}

.about-photo img {
    width: 100%; /* Adjust image width */
    max-width: 250px; /* Limit the image size */
    aspect-ratio: 1/1; /* Ensure a square shape */
    border-radius: 50%; /* Make the image circular */
    object-fit: cover; /* Ensure the image covers the container */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Optional: Add a shadow for a polished look */
}

.about-content {
    flex: 1; /* Let content take up remaining space */
    text-align: left;
    margin-left: 20px; /* Add additional space to the left of the content */
}

.about-content h2 {
    margin-bottom: 10px;
}

.about-content p {
    font-size: 18px;
    line-height: 1.6;
}

/* Mobile Styles */
@media (max-width: 768px) {
    .about-container {
        flex-direction: column; /* Stack items vertically */
        text-align: center; /* Center align content */
        gap: 20px; /* Reduced gap for mobile layout */
        padding-left: 0; /* Remove left padding on mobile */
    }

    .about-photo img {
        max-width: 100%; /* Make the image full-width on mobile */
        margin: 0 auto; /* Center the photo */
    }

    .about-content {
        margin-left: 0; /* Remove left margin on mobile */
        margin-top: 20px; /* Add spacing between photo and content */
    }
}

