
/* BODY */
body {
    margin: 2vh;
    padding: 0;
    height: 100%;
    background: #8fbbbc;
    font-family: Arial, sans-serif;
    color: #909071;
}

#page_content {
    background: #8fbbbc;
    border: 1px solid black;
    width: 96vw;
    height: 96vh;
    margin: 0 auto;

    display: flex;
    flex-direction: column;     /* FIXES — vertical stacking */

    overflow: hidden;
    box-sizing: border-box;
}



/* HEADER */
#header {   
    width: 100%;
    margin: 0;
    padding: 0;
    background: #d8d7b3;
    overflow: hidden;       /* ensures the image won’t overflow */
    position: relative;     /* for absolute positioning inside */
}

/* Image + title container */  
#header .image-container { 
    position: relative; /* allows absolute positioning of title */
    display: inline-block; /* shrink to fit image */
    height: 20vh;
    width: 100%;                    /* << FIX — full width */
}

/* Image fills container */ 
#header .image-container .header-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;  /* keeps aspect ratio and crops excess */
}

/* Header title on top-left of image */
.header-title {
    position: absolute;
    top: 5px;           /* distance from top */
    left: 10px;         /* distance from left */
    margin: 0;
    padding: 0;
    color: #227648;
    font-size: 2em;
    font-weight: normal;  
    z-index: 10;        /* ensures it is above the image */
}

/* =========================
   Top Menu inside Header
   ========================= */
#header #topMenu ul {
    display: flex;
    justify-content: space-between;   /* left item left, right items right */
    align-items: center;              /* vertical centering */
    padding: 0;                       /* no extra padding */
    margin: 0;
    list-style: none;
    width: 95%;                       /* full width of header/page_content */
}

#header #topMenu .right-buttons {
    display: flex;
    gap: 12px;       /* spacing between right-hand buttons */
}

/* Buttons styling */
#header #topMenu a {
    display: flex;               /* use flex to center content */
    align-items: center;         /* vertical centering */
    justify-content: center;     /* horizontal centering */
    padding: 8px 10px;           /* reduce top/bottom padding (was 8px) */
    color: #535341;
    text-decoration: none;
    border-radius: 5px;
    font-weight: bold;
    font-size: 0.7em;
    line-height: 1;              /* ensures text fits exactly */
    transition: background 0.2s, transform 0.15s;

    position: relative;
    top: 0px;                   /* move up slightly if needed */
}


#header #topMenu a:hover {
    background-color: #2e3f55;
    color: #ffffffff;
    transform: scale(.95);
}

#header #topMenu a.selected {
    background-color: #C4C49A;
    color: #000;
}

/* CONTENT */
#content {
    display: flex;          /* flex container for leftMenu + rightContent */
    flex: 1;                /* CRITICAL – allows it to stretch to page bottom */
    margin: 0;
    width: 100%;
    overflow: hidden;       /* forces internal scrolling */
}


#leftMenu {
    width: 20vw;
    background-color: #D8D7B2;
    font-size: 1em;
    font-style: normal;
	font-weight: normal;
    overflow-y: auto;   /* scroll if needed */
}

#leftMenu ul {
    color: #535341;
	line-height: 1.3em; 
	list-style-type: none;
}
#leftMenu a, 
#leftMenu a:link, 
#leftMenu a:visited {
    color: #535341;
	padding: 0px;
	margin-left: 0px;
	margin-top: 6px;
	margin-bottom: 6px;
	display: block;
	text-decoration: none;
	font-weight:normal;

}

/* Hover styling */
#leftMenu a:hover {
    color: #077647;
    font-weight: bold;
}

/* Selected/current item */
#leftMenu a.current {
    color: #077647;
    font-weight: bold;
}

#leftMenu .subMenu {
	font-size: 1em;
	color: #535341;
	padding-left: 8px;
	font-weight: normal;
}

#rightContent {
    flex: 1;             /* fills remaining space */
    padding: 2px 20px 20px 20px;  /* top right bottom left */
    background: #fef1c3;
    color: #030d5cff;
    height: 100%;       /* aligns with left menu bottom */
    overflow-y: auto;        /* prevents vertical overflow */
    overflow-x: hidden;

    position: relative;     /* prevents disappearing in flex */
    box-sizing: border-box;  /* ensures padding doesn't break height */
}

/* Headline inside rightContent */
#rightContent #headline h1 {
    font-size: 1.2em;       /* adjust size as needed */
    font-weight: bold;    /* optional */
    line-height: 1.2;     /* optional spacing */
}

/* ===================== FOOTER ===================== */
#footer {
    height: 6vh;
    width: 100%;
    background: #d8d7b3;
    color: #030d5cff;

    display: flex;
    justify-content: space-between;  /* left text left, seal right */
    align-items: center;             /* vertically center items */
    padding: 0 20px;                 /* spacing from edges */
    box-sizing: border-box;
    font-size: 0.9em;
}

#text{
	font-size: 0.8em;
	font-style: normal;
}

#text h1{
    font-family: Arial, sans-serif;
	color:#008;
	font-size: 1.2em;
	font-weight: normal;
}
