body {
    overflow-x: hidden; /* Prevents horizontal scrolling */
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

body, html {
    margin: 0;
    padding: 0;
    max-width: 100%;
    width: 100%;
    color: var(--royal-blue);
}

.titlebar {
    max-width: 100%;
    width: 100%;
    height: 200px;

    top: 0;
    left: 0;
    z-index: 10;
}
.titlebar h1 {
    color: var(--royal-blue);
}
.titlebar h2 {
    color: var(--royal-blue);
}
.footer {
    background-color: var(--housestyle-green);
    margin-top: auto;
    width: 100%;
    min-height: 60px;    /* give it real height */
    padding: 16px;       /* so content inside has breathing room */
    flex-shrink: 0;      /* prevent it from shrinking in the flex column */
}
@media (min-width: 640px) {
    .layout-container {
        display: flex;
        flex-direction: row;
        flex: 1;              /* fills space between header and footer */
        width: 100%;
    }
    .sub-menu {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        border: 5px solid #ccc;
        width: 100%;          /* stays 10% including padding */
    }
    .sidebar {
        width: 220px;
        flex-shrink: 0;       /* never squish the sidebar */
        padding: 1rem;
        box-sizing: border-box;
    }
    .content {
        padding-left: 1rem;
        flex: 1;              /* takes all remaining horizontal space */
        min-width: 0;         /* prevents flex blowout with wide children */
        overflow-x: auto;
    }
}

main, .mainview {
    flex: 1;             /* takes up all remaining space, pushing footer down */
}
.mainview {
    max-width: 100%;
    width: 100%;
/*    height: 100%; */
    padding-top: 20px;
    padding-left: 0px;
    overflow-x: scroll;
}
.mainview p {
    font-size: 19px;
    font-family: URW Gothic L;
}

.mainview h2 {
    font-size: 24px;
    color: var(--royal-blue);
    font-weight: bold;
}
.under_construction {
    display: inline-block; /* Allow boxes to sit next to each other */
    vertical-align: top; /* Align boxes at the top */
    max-width: 90%;
    width: 90%;
    max-height: 500px;
    /*height: 400px;*/
}
.ws-flash.ws-flash--alert {
    background-color: #B90000;
    color: #FDFF28;
}
s.ws-flash--alert .ws-flash__icon {
    color: #FFFFFF;
}
