/* General body styling */
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    min-height: 100vh; /* Ensures the body takes at least the full viewport height */
    text-wrap-style: pretty;
}

/* Header styling */
header {
    background-image: linear-gradient( black);
    color: white;
    padding: 1em 0;
    text-align: center;
    border-bottom: 5px solid navy; /* Adds a border at the bottom of the header */
}

/* Container for main content and navigation */
.container {
    display: flex;
    flex: 1; /* Allows the container to grow and fill available space */
    background-color: cornflowerblue;
}

.box {
    margin: 10px auto;
    border: 1px black solid;
    border-radius: 10px;
    text-align: center;
}

/* Navigation (left menu) styling */
nav {
    background-color: #f4f4f4;
    opacity: .5;
    padding: 1em;
    width: 200px; /* Fixed width for the left menu */
    box-shadow: 2px 0 5px rgba(0,0,0,0.1); /* Subtle shadow for depth */
}

/* Navigation list styling */
nav ul {
    list-style: none; /* Removes bullet points */
    padding: 0;
    margin: 0;
}

/* Navigation list item links */
nav ul li a {
    display: block; /* Makes the entire area clickable */
    padding: 0.8em 1em;
    text-decoration: none; /* Removes underline */
    color:black;
    border-bottom: 1px solid #ddd; /* Separator between menu items */
}

nav ul li:last-child a {
    border-bottom: none; /* No separator on the last item */
}

footer a:link {
    color: white;
}

footer a:visited {
    color: #ddd;
}

footer a:hover {
    color: smokewhite;
    font-style: italic;
    
}

/* Hover effect for navigation links */
nav ul li a:hover {
    background-color: #e2e2e2;
}

nav ul li:first-child a:hover {
    border-radius: 10px 10px 0 0;
}

nav ul li:last-child a:hover {
    border-radius: 0 0 10px 10px;
}

/* Main content area styling */
main {
    flex: 1; /* Allows the main content to take up remaining space */
    padding: 1em;
    background-color: #fff;
}

/* Section styling within main content */
section {
    margin-bottom: 1.5em;
    padding: 1em;
    border: 1px solid #eee;
    border-radius: 5px; /* Slightly rounded corners */
}

/* Footer styling */
footer {
    background-color: #333;
    color: white;
    padding: 1em 0;
    text-align: center;
    margin-top: auto; /* Pushes the footer to the bottom of the page */
}

/* Responsive design for smaller screens (e.g., mobile) */
@media (max-width: 600px) {
    .container {
        flex-direction: column; /* Stacks navigation and main content vertically */
        background-color: cornflowerblue;
    }
    nav {
        box-sizing: border-box;
        flex-direction: column;
        width: 100%;
        box-shadow: none;
        border-bottom: 1px solid #ddd;
    }
    nav ul {
        display: flex; /* Makes navigation items horizontal */
        flex-direction: column;
        justify-content: center;
    }
    nav ul li {
        flex: 1 1 auto; /* Allows list items to take available width */
        text-align: center;
    }
    nav ul li a {
       
        border-bottom: 1px solid #ddd; /* Add separator between menu items for horizontal layout */
    }
    nav ul li:last-child a {
        border-right: none; /* No separator on the last item */
    }
}