/* Main containers */
body {
    margin: 0;
    padding: 0;
    font: 102% Tahoma, sans-serif;
    background: #fefefe url(images/background.jpg) top left repeat-x;
    color: #555;
    text-align: center;
    line-height: 1.55em;
}

/* Wrapper */
#wrap {
    width: 100%;
    max-width: 1400px;
    padding: 0 15px;
    text-align: left;
    margin: 0 auto;
}

/* HEADER – FIXED HEIGHT (important!) */
#header {
    width: 100%;
    height: 210px;           /* tuned for new larger fonts */
    margin-top: 20px;
    overflow: hidden;        /* keep floats contained visually */
}

/* Picture */
#headerimage {
    float: right;
    width: 500px;
    height: 160px;
    margin: 0;
    overflow: hidden;
}

/* Title block */
#title {
    width: 460px;
    text-align: center;
    margin-top: 10px;
}

h1 {
    margin: 0;
    padding: 0;
    font-size: 2.35em;        /* slightly reduced so header fits in 210px */
    font-weight: 700;
    letter-spacing: -1px;
    line-height: 1.2em;
    text-shadow: #ccc 2px 2px 8px;
}

h1 a {
    font-weight: 700;
    text-decoration: none;
}

h1 a:hover {
    color: #222;
}

/* Email + slogans */
.slogan {
    color: #555;
    font-size: 1.18em;
    margin: 4px 0 6px 0;
    padding: 0;
    text-shadow: #ccc 2px 2px 8px;
}

/* HTML tags */
a { font-weight: 400; }
a:hover { color: #333 !important; }

h2 {
    clear: left;   /* original behavior */
    margin: 0 0 10px 0;
    padding: 0 0 6px 0;
    font-size: 1.75em;
    font-weight: 700;
    border-bottom: 1px solid #ddd;
    text-shadow: #ccc 2px 2px 8px;
}

h3 {
    font-size: 1.35em;
    font-weight: 700;
    margin: 10px 0;
    padding-bottom: 2px;
    border-bottom: 1px solid #ddd;
    text-shadow: #ccc 2px 2px 6px;
}

p { margin: 0 0 15px 0; }
ul { margin: 0 0 15px 20px; padding: 0; }
li { margin: 0 0 5px 0; padding: 0 0 0 5px; }

/* SIDEBAR – IMPORTANT: FLOAT RIGHT WITHOUT CLEARING HEADER */
#sidebar {
    width: 260px;
    float: right;
    margin: 0;
    padding: 0;
    color: #555;
    position: relative;
    top: -10px;            /* optional: nudges up to perfect alignment */
}

#sidebar h2 {
    font-size: 1.4em;
    padding-bottom: 4px;
    border-bottom: 1px solid #ddd;
    margin: 10px 0;
}

#sidebar ul {
    list-style: none;
    margin: 0 0 12px 0;
}

#sidebar ul.sidemenu {
    width: 260px;
    padding: 0;
    margin: 0 0 18px 0;
    border-top: 1px solid #ddd;
}

#sidebar ul.sidemenu li a {
    display: block;
    padding: 6px 0 6px 15px;
    font-size: 1.05em;
    border-bottom: 1px solid #ddd;
    font-weight: 700;
    text-decoration: none;
    text-shadow: #ddd 2px 2px 4px;
}

#sidebar ul.sidemenu li a:hover { color: #333; }

/* SUBMENU */
#sidebar ul.sidemenu ul {
    width: 240px;
    padding: 0;
    margin: 0 0 0 18px;
}

#sidebar ul.sidemenu ul li a {
    padding: 3px 0 3px 15px;
    font-size: 0.95em;
    font-weight: 400;
}

/* CONTENT – MUST NOT CLEAR FLOATS! (This was the problem) */
#content {
    margin: 0 275px 15px 0;
    width: auto;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 1.03em;
}

/* Footer */
#footer {
    font-size: 0.95em;
    clear: both;
    width: 100%;
    line-height: 1.3em;
    color: #777;
    margin: 0 auto 10px auto;
    text-align: center;
}

#footer a {
    color: #777;
    text-decoration: none;
    border-bottom: 1px dotted #888;
}

/* Images inside content */
#content img.alignleft {
    float: left;
    margin: 5px 12px 5px 0;
}

#content img.alignright {
    float: right;
    margin: 5px 0 5px 12px;
}

#content img.aligncenter {
    display: block;
    margin: 10px auto;
}

#content img.border {
    border: 1px solid #ccc;
}

/* Utility */
.centered { text-align: center; }
.hide { display: none; }
.clear { clear: both; width: 100%; visibility: hidden; }

/* Color themes */
.orange h1, .orange h1 a, .orange a,
.orange h2, .orange h3,
.orange ul.sidemenu li a,
.orange ul.sidemenu li a.active { color:#e09010; }
