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

body {
    font-family: Verdana, sans-serif;
    background-color: #E3CAA5; /* Page background visible around the edges */
    font-size: 12px;
    color: black;
}

/* Single Parent Flex Container */
.layout-container {
    display: flex;
    flex-direction: column; /* Stacks header, middle row, and footer vertically */
    min-height: 100vh;
    
    /* padding zone */
    padding: 6px 500px 6px 500px;
    gap: 0px;
}

.site-header {
    /* Background Image Properties */
    background-image: url('/index/test.jpg'); /* Replace with your image URL */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    
    /* Sizing & Text Overlay Styling. This is for if you want text OVER an image */
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background-color: #AD8B73; /* Fallback color if image fails to load */
    border: solid #6b4133;
    border-width: 2px 2px 1px 2px;
    border-radius: 12px 12px 0px 0px;
}

/* 2. Middle Row (Wrapper for Sidebar, Main, and Aside) */
.content-body {
    display: flex;
    flex: 1; /* Takes up all available vertical space between header and footer */
    flex-direction: row;
    gap: 0px; /* Spacing between sidebars and main content */
}

.left-sidebar {
    flex: 0 0 180px;
    background-color: #FFFBE9;
    padding: 10px;
    border-color: #6b4133;
    border-style: solid dashed solid solid;
    border-width: 1px 0px 1px 2px;
    border-radius: 0px;
}

.main-content {
    flex: 1; /* Takes up remaining space in the middle */
    background-color: #FFFBE9;
    padding: 20px;
    border-color: #6b4133;
    border-style: solid dashed solid dashed;
    border-width: 1px 2px 1px 2px;
    border-radius: 0px;
}

.right-aside {
    flex: 0 0 180px; /* Fixed width of 200px, doesn't grow or shrink */
    background-color: #FFFBE9;
    padding: 20px;
    border-color: #6b4133;
    border-style: solid solid solid dashed;
    border-width: 1px 2px 1px 0px;
    border-radius: 0px;
}

.site-footer {
    background-color: #AD8B73;
    color: black;
    text-align: center;
    padding: 15px;
    border: solid #6b4133;
    border-width: 1px 2px 2px 2px;
    border-radius: 0px 0px 6px 6px;
}

/* Design for Smaller Screens (Mobile View) */
@media (max-width: 768px) {
    .layout-container {
        padding: 10px; /* Reduced padding on mobile screens */
    }

    .content-body {
        flex-direction: column; /* Stacks sidebars and main content vertically */
    }

    .left-sidebar, 
    .right-aside {
        flex: 1; /* Allows sidebars to take full width when stacked */
    }
}