

@media only screen and (max-width: 800px) {
    .nav-buttons {
        display: none; /* Hides the navigation buttons */
    }
    #menu-button {
        display: block!important;
    }
    .nav-buttons {
        display: none!important; /* Hides the navigation buttons */
    }

    /* You can also hide the logo if needed */
    .logo {
        display: block; /* Hides the logo */
    }

    .logo img {
        width: 100px!important;
    }

    /* Stack columns in section 1 */
    .row {
        flex-direction: column; /* Stack elements vertically */
        align-items: center; /* Center the content */
    }

    /* Adjust the image size for mobile */
    .section-image {
        width: 80%; /* Make image responsive */
        margin-bottom: 20px; /* Add some space below the image */
    }

    .expand-box {
        width: 90%!important;
    }
}

/* General Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    /* overflow-x: hidden; */
}

#menu-button {
    background-color: rgba(107, 0, 0, 0);
    color: white;
    border: none;
}

body {
    font-family: 'IBM Plex Sans', sans-serif;
    background-color: #121212;
    color: #ffffff;
    overflow-x: hidden;
}

/* Sticky Header */
header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    background-color: #181818;
    border-bottom: 1px solid #333;
    position: sticky;
    top: 0;
    z-index: 10000000000000000000000000000000000000;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25); /* Added shadow for the header */
    height: 65px;
}

.logo-section {
    display: flex;
    align-items: center;
}

.logo {
    height: 44px;
}

h1 {
    font-size: 20px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.nav-buttons {
    display: flex;
    gap: 10px;
}

.header-btn {
    padding: 6px 16px;
    border: 2px solid #ffffff;
    background-color: transparent;
    color: #ffffff;
    border-radius: 5px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.3s ease, color 0.3s ease;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); /* Increased shadow for visibility */
    position: relative; /* Added for shadow effect */
}

.filled-btn {
    background-color: #ffffff;
    color: #1f1f1f;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); /* Increased shadow for visibility */
    transition: background-color 0.3s ease, color 0.3s ease;
    position: relative; /* Added for shadow effect */
}

/* Button hover effect */
.header-btn:hover {
    background-color: #ffffff;
    color: #1f1f1f;
    transition: 0.2s;
}

.filled-btn:hover {
    background-color: #1f1f1f; /* Added hover effect */
    color: #ffffff;
    transition: 0.2s;
}

/* Section Styling */
section {
    padding: 40px 20px;
    text-align: center;
}

.background-image {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url('../images/section1_bg.png'); /* Set your background image here */
    background-size: cover; /* Cover the entire container */
    background-position: center; /* Center the image */
    background-repeat: no-repeat; /* Prevent the image from repeating */
    filter: blur(5px); /* Adjust the blur amount as needed */
    z-index: 0; /* Background image should be at the back */
    margin-bottom: 10px;
}

.background-container {
    position: relative; /* Allows for absolute positioning of the overlay */
}

.section-1 {
    position: relative; /* For positioning the overlay */
    padding: 40px 20px; /* Ensure there's padding for content */
}

.section-1::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(31, 31, 31, 0.72); /* Semi-transparent overlay color */
    z-index: 1; /* Overlay should be on top of the background image */
}

.content {
    position: relative; /* Ensure the content is above the overlay */
    z-index: 2; /* Higher z-index to keep the content above the overlay */
    text-align: center; /* Center the text */
}

.section-2 {
    background-color: #222222; /* Slightly lighter black */
    padding-top: 0px;
    padding-bottom:15px;
}

.section-3 {
    background-color: #1f1f1f;
    padding-top: 0px;
    padding-bottom:15px;
}

h2 {
    font-size: 28px;
    margin-bottom: 30px; /* Adjusted margin */
}

.text-span {
    margin-bottom: 30px; /* Margin between title and paragraph */
}

.row {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 10px; /* Reduced gap before installation */
}

.section-image {
    width: 140px;
    margin-right: 120px;
}

.text-content {
    font-size:16px;
    max-width: 600px;
    text-align: left;
}



/* fly in animation for header icon and buttons */

.fly-in {
    animation: flyIn 0.3s ease forwards;
    opacity: 1;
}

@keyframes flyIn {
    0% {
        transform: translateY(-70px); /* Start 50px above */
        opacity: 0; /* Start invisible */
    }
    100% {
        transform: translateY(0); /* End at the original position */
        opacity: 1; /* End fully visible */
    }
}

.header-btn,
.logo-section {
    transform: translateY(-70px);
}

.buttons {
    margin-top: 20px;
}

/* General Button Styles */
button {
    font-family: 'IBM Plex Sans', sans-serif;
    padding: 8px 20px;
    border: 2px solid #ffffff;
    cursor: pointer;
    font-size: 16px;
    border-radius: 5px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); /* Shadow for buttons */
    transition: box-shadow 0.3s ease; /* Smooth transition for focus effect */
}

/* Outline Button */
.outline-btn {
    background-color: transparent;
    color: #ffffff;
    margin-right: 10px;
    transition: background-color 0.3s ease, color 0.3s ease; /* Added transition */
}

/* Hover Effect for Outline Button */
.outline-btn:hover {
    background-color: #ffffff; /* Hover effect for Outline button */
    color: #1f1f1f; /* Text color on hover */
    transition: 0.2s;
}

/* Filled Button */
.filled-btn {
    background-color: #ffffff;
    color: #1f1f1f;
}

/* Focus Ring Effect */
button:focus,
.outline-btn:focus,
.filled-btn:focus {
    outline: none; /* Remove default focus outline */
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.37); /* Focus ring effect */
    transition: 0.2s;
}

button:active,
.outline-btn:active,
.filled-btn:active {
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.37); /* Slightly brighter outline on active */
    transition: 0.2s;
}

/* Default State (no focus) */
button,
.outline-btn,
.filled-btn {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); /* Normal shadow */
    transition: box-shadow 0.4s ease; /* Transition for box-shadow */
}

/* Gradient section styles */
.gradient-1 {
    height: 50px;
    background: linear-gradient(to top, #222222, rgba(31, 31, 31, 0.72)); /* Adjust gradient color and transparency */
    position: relative; /* Keep it in flow with section-1 */
    z-index: 3; /* Ensure gradient is above the overlay */
    margin: 0px;
    text-align: center;
}

.gradient-2 {
    height: 50px;
    background: linear-gradient(to bottom, #222222, #1f1f1f);
    text-align: center;
}

/* Gradient section styles */
.gradient-3 {
    height: 50px;
    background: linear-gradient(to bottom, #1f1f1f, #222222);
    text-align: center;
}

/* Features section */
.features {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap; /* Allows wrapping if the screen is too narrow */
    gap: 20px; /* Fixed gap between feature boxes */
    width: 100%; /* Full width of the parent */
    max-width: 1200px; /* Maximum width */
    margin: 0 auto; /* Centers the container horizontally */
    padding: 0 20px; /* Add padding to avoid edge clipping */
}

.feature-box {
    color: #ffffff;
    padding: 20px;
    flex: 1 1 300px; /* Grow and shrink with a minimum width of 300px */
    border-radius: 8px;
    text-align: center;
    position: relative; /* For positioning the icon */
    padding-top: 25px; /* Space for the icon */
    margin-top: 35px;
    background-color: rgba(0, 0, 0, 0.199);
    min-width: 250px; /* Minimum width to avoid being too small */
}

/* Icon in circle */
.feature-box .icon-circle {
    position: absolute;
    top: -25px;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #5f4c85; /* Circle background color */
    display: flex;
    align-items: center;
    justify-content: center;
    color: white; /* Icon color */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5); /* Shadow for the circle */
}

.feature-box .icon-circle i {
    width: 24px;
    height: 24px;
}

/* Title inside the box */
.feature-box h3 {
    margin-top: 20px; /* Space between icon and title */
    font-size: 18px;
    color: #ffffff;
}

/* Text inside the box */
.feature-box p {
    font-size: 14px;
    color: #b0b0b0;
    margin-top: 10px; /* Space between title and text */
}

/* Media queries for responsiveness */
@media (max-width: 768px) {
    .features {
        flex-direction: column; /* Stack feature boxes vertically */
        align-items: center; /* Center the boxes */
    }

    .feature-box {
        width: 90%; /* Use a percentage for responsive width */
        margin-top: 20px; /* Adjust top margin */
    }
}



/* Icons */
.icon {
    margin-right: 5px; /* Space between icon and text */
    margin-bottom: 2px;
    padding-left: 0px;
    width: 16px; /* Adjust width if needed */
    height: 16px; /* Adjust height if needed */
    vertical-align: middle; /* Aligns icon with text */
}

/* Base Styles for the Expanding Box */
.expand-box {
    width: 0; /* Start with width of 0 */
    height: auto; /* Height will adjust based on content */
    background-color: #1c1c1c; /* Darker gray, almost black */
    border: none; /* No border */
    border-radius: 8px; /* Rounded corners */
    overflow: hidden; /* Hide overflow */
    transition: width 0.5s ease; /* Transition effect for the width */
    position: relative; /* Allow centering */
    margin: 20px auto; /* Center the box with margin */
    font-family: 'Fira Code', monospace; /* Set font */
    /*box-shadow: 0 6px 12px rgba(0, 0, 0, 0.5); /* Stronger shadow */
    display: flex; /* Flexbox for content alignment */
    align-items: center; /* Center content vertically */
    color: #ffffff; /* Text color */
    padding: 12px; /* Minimal padding */
    margin-top: 30px;
    margin-bottom: 30px;
    text-overflow: ellipsis; /* Add ellipsis for cut-off text */
    opacity: 0; /* Fully transparent */
    flex-direction: column;

}

/* Expanded State */
.expand-box.open {
    width: 400px; /* Final width when opened, adjust as needed */
    opacity: 1;
}

/* Bold Text Inside the Box */
.expand-box p {
    margin: 0; /* Remove margin to minimize space */
    font-weight: bold; /* Bold text */
    text-align: center; /* Center text */
}

a {
    color:white;
}

.project-box {
    color: #ffffff;
    padding: 20px;
    border-radius: 8px;
    text-align: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
    margin: 20px auto; /* Center the box horizontally */
    width: calc(80% - 40px); /* Fixed width, with some margin */
}

.project-container {
    display: flex;
    flex-wrap: wrap; /* Allow wrapping to the next line */
    justify-content: center; /* Center the projects */
    gap: 20px; /* Space between boxes */
}

.project {
    background-color: #333; /* Background color for sub-box */
    padding: 10px;
    border-radius: 8px;
    width: 200px; /* Fixed width for sub-boxes */
    text-align: center; /* Left-align text */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}


.project-thumbnail {
    width: 100%; /* Full width */
    border-radius: 8px; /* Match the border radius */
}

.project-name {
    font-size: 18px; /* Font size for project name */
    margin: 10px 0 5px 0; /* Margins for spacing */
}

.project-author {
    font-size: 14px; /* Font size for author */
    color: #aaa; /* Slightly lighter color for author */
    margin: 0;
}

.menu {
    top: 65px;
    position: absolute;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.767);
    backdrop-filter: blur(10px);
    margin: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10%;
}
