/*
  HEN Editorial Blog — Stylesheet (v2)
  Based on SnC Mono theme
  Dark green header + buttons, aligned typography

  Color Palette:
  - Header background: #2d5a3d (dark green) with head.jpg overlay
  - Nav/Buttons: #1a5f3f bg, white text (matching header)
  - Sidebar headings: #2d5a3d
  - Body text: 10.5pt, #222 on white
  - Links: #444 / underline
  - Tags: #e8f5e9 bg, #2d5a3d text
  - Active current page: white bg tab
*/

@font-face {
    font-family: 'OpenSans';
    src: url('images/OpenSans-Regular.ttf');
}
body {
    margin: 0;
    font-size: 10.5pt;
    font-family: OpenSans, Tahoma, Arial, Verdana;
    color: #222;
    line-height: 1.55;
    background-color: #fff;
}
a { color: #444; }
a:hover { text-decoration: underline; }
a img { border: 0; }
blockquote { color: #666; font-style: italic; margin-left: 15px; padding-left: 10px; border-left: 2px solid #ddd; }
dl { padding: 3px 0; }
dt { font-weight: 700; color: #444; }
dd { padding: 5px 0 10px; }
hr {
    height: 0;
    border: 0;
    border-style: solid;
    border-top-width: 1px;
    border-color: #ddd;
}

/* Clear */
.clear { clear: both; }

/* ===== Top / Header ===== */
#top {
    width: 100%;
    background-image: url(images/head-hen.jpg);
    background-repeat: repeat;
    background-color: #2d5a3d;
    box-shadow: inset 0 -10px 20px rgba(45, 90, 61, 0.50);
}
#top_content {
    width: 900px;
    min-height: 170px;
    position: relative;
    margin: auto;
}
#header {
    padding: 20px 0 65px;
}
#header .text { display: inline-block; }
#header .text .title {
    position: relative;
    bottom: -20px;
    font-size: 2em;
    font-family: OpenSans, Arial;
    text-decoration: none;
    color: #fff;
    font-weight: 600;
}
#header .text .title a { color: #fff; text-decoration: none; }
#header .text .title a:hover { text-decoration: underline; }
#header .text .description {
    position: relative;
    bottom: -25px;
    font-size: 0.9em;
    font-family: OpenSans, Arial;
    color: #ddd;
}

/* ===== Navigation Tabs ===== */
#links {
    position: absolute;
    bottom: 0;
    left: 0;
    line-height: 0;
    font-size: 0;
}
#links .horizontal_menu { padding: 0; margin: 0; list-style: none; }
#links .horizontal_menu a {
    font-family: OpenSans, Arial;
    font-size: 9pt;
    color: #fff;
    text-decoration: none;
    display: block;
    line-height: 19px;
    padding: 4px 10px;
}
#links .horizontal_menu ul { padding: 0; margin: 0; list-style: none; }
#links .horizontal_menu li {
    display: inline-block;
    position: relative;
    list-style: none;
    vertical-align: bottom;
}
#links .horizontal_menu li div {
    margin-right: 6px;
    text-align: center;
    background-color: #1a5f3f;
    border-radius: 8px 8px 0 0;
    overflow: hidden;
}
#links .horizontal_menu li div:hover,
#links .current_page_item div {
    background-color: #fff !important;
}
#links .horizontal_menu li div:hover a,
#links .current_page_item div a {
    color: #1a5f3f !important;
}

/* ===== Main Layout ===== */
#main {
    width: 900px;
    margin: auto;
}
#content {
    float: left;
    width: 550px;
    padding: 25px 25px 0 25px;
    word-wrap: break-word;
}

/* ===== Archive Page ===== */
.archive-container { margin-bottom: 30px; }
.archive-item {
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e0e0e0;
}
.archive-item:last-child { border-bottom: none; }
.archive_title {
    font-size: 14pt;
    margin: 0 0 8px 0;
    font-family: OpenSans, Arial;
    font-weight: 600;
    color: #222;
}
.archive_title a { text-decoration: none; color: #222; }
.archive_title a:hover { text-decoration: underline; color: #2d5a3d; }
.archive_issue { font-size: 9pt; color: #888; margin-bottom: 3px; }
.archive_date { font-size: 9pt; color: #999; margin-bottom: 8px; }
.archive_excerpt {
    font-size: 10.5pt;
    line-height: 1.55;
    color: #444;
    text-align: justify;
    margin-bottom: 10px;
}
.read_more { margin-top: 8px; font-size: 10pt; }
.read_more a { color: #2d5a3d; text-decoration: none; font-weight: 500; }
.read_more a:hover { text-decoration: underline; }

/* ===== Single Post ===== */
.post-container { margin-bottom: 30px; }
.post { margin-bottom: 30px; }
.post_title {
    font-size: 18pt;
    margin: 10px 0 12px 0;
    font-family: OpenSans, Arial;
    color: #222;
    font-weight: 600;
}
.post_issue { font-size: 10pt; color: #888; margin-bottom: 3px; }
.post_date { font-size: 10pt; color: #999; margin-bottom: 12px; }
.post_content {
    font-size: 10.5pt;
    line-height: 1.55;
    color: #222;
    text-align: justify;
    margin-bottom: 20px;
}
.post_content embed { width: 550px; }
.post_content img { max-width: 100%; border: solid 1px #ccc; }
.post_content a { color: #2d5a3d; text-decoration: underline; }
.post_content a:hover { color: #1a5f3d; }

/* Issue link */
.issue_link { margin-top: 15px; font-size: 10pt; }
.issue_link a { color: #2d5a3d; text-decoration: none; font-weight: 500; }
.issue_link a:hover { text-decoration: underline; }

/* ===== Tag Badges ===== */
.post_tags, .archive_tags { margin-top: 10px; }
.tag {
    display: inline-block;
    padding: 2px 8px;
    margin-right: 5px;
    margin-bottom: 4px;
    background-color: #e8f5e9;
    color: #2d5a3d;
    font-size: 8.5pt;
    border-radius: 10px;
}
.tag a { text-decoration: none; color: #2d5a3d; }
.tag a:hover { color: #1a5f3d; }

/* ===== Related Articles ===== */
.related-container { margin-top: 30px; padding-top: 20px; border-top: 1px solid #e0e0e0; }
.related-container h2 {
    font-size: 13pt;
    color: #2d5a3d;
    margin-bottom: 15px;
    font-weight: 600;
}
.related-item {
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eee;
}
.related-item:last-child { border-bottom: none; }
.related-title {
    font-size: 11pt;
    margin: 0 0 4px 0;
    font-weight: 700;
}
.related-title a { text-decoration: none; color: #222; }
.related-title a:hover { text-decoration: underline; color: #2d5a3d; }
.related-meta { font-size: 9pt; color: #999; margin-bottom: 4px; }
.related-excerpt {
    font-size: 10pt;
    color: #555;
    line-height: 1.5;
    margin-bottom: 6px;
    text-align: justify;
}

/* ===== Tag Page ===== */
.tags-container { margin-bottom: 30px; }
.tag-item {
    margin-bottom: 6px;
    padding: 6px 10px;
    background-color: #f8f8f8;
    border-radius: 4px;
}
.tag_name a { color: #2d5a3d; font-weight: 500; text-decoration: none; }
.tag_name a:hover { text-decoration: underline; }
.tag_count { color: #999; font-size: 9pt; margin-left: 8px; }

/* ===== About Page ===== */
.about-container { margin-bottom: 40px; }
.about-container h1 {
    font-size: 18pt;
    margin-bottom: 15px;
    color: #222;
    font-weight: 600;
}
.about-container h2 {
    font-size: 14pt;
    margin-top: 20px;
    margin-bottom: 10px;
    color: #2d5a3d;
    font-weight: 500;
    border-bottom: 2px solid #e8f5e9;
    padding-bottom: 5px;
}
.about-container p { margin-bottom: 12px; line-height: 1.55; font-size: 10.5pt; }
.about-container a { color: #2d5a3d; text-decoration: underline; }

/* ===== Sidebar ===== */
#sidebar_column {
    float: right;
    width: 250px;
    padding: 25px 25px 0;
    font-size: 10pt;
    line-height: 1.5;
    color: #444;
}
#sidebar_column ul { padding-left: 0; list-style-type: none; }
#sidebar_column h2 {
    text-indent: 0;
    line-height: 1.8em;
    font-size: 1.15em;
    font-weight: 600;
    color: #2d5a3d;
    border-bottom: 2px solid #e8f5e9;
    margin: 18px 0 8px 0;
    padding-bottom: 3px;
}
#sidebar_column h2:first-child { margin-top: 0; }
#sidebar_column ul ul { padding-left: 0; padding-bottom: 12px; }
#sidebar_column ul ul li { margin-bottom: 5px; }
#sidebar_column ul ul a {
    text-decoration: none;
    font-size: 10pt;
    color: #555;
}
#sidebar_column ul ul a:hover { text-decoration: underline; color: #2d5a3d; }

/* ===== Sidebar Buttons ===== */
.sidebar-btn {
    display: block;
    padding: 6px 12px;
    margin-bottom: 6px;
    font-size: 10pt;
    text-decoration: none;
    color: #fff;
    background-color: #2d5a3d;
    border: none;
    border-radius: 0.4em;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
}
.sidebar-btn:hover {
    background-color: #1a5f3f;
    color: #fff;
    text-decoration: none;
}

/* ===== Search ===== */
.search-form {
    margin-bottom: 5px;
}
.search-input {
    width: 100%;
    padding: 6px 10px;
    font-size: 10pt;
    font-family: OpenSans, Tahoma, Arial, Verdana;
    color: #444;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 0.4em;
    box-sizing: border-box;
}
.search-input:focus {
    outline: none;
    border-color: #2d5a3d;
    box-shadow: 0 0 4px rgba(45, 90, 61, 0.3);
}
.search-results {
    display: none;
    margin-top: 8px;
    padding: 6px;
    background-color: #f8f8f8;
    border: 1px solid #ddd;
    border-radius: 0.4em;
    max-height: 300px;
    overflow-y: auto;
}
.search-results a {
    display: block;
    padding: 4px 0;
    font-size: 9pt;
    text-decoration: none;
    color: #444;
    border-bottom: 1px solid #eee;
}
.search-results a:last-child { border-bottom: none; }
.search-results a:hover { color: #2d5a3d; text-decoration: underline; }
.search-results .no-results {
    padding: 8px;
    font-size: 9pt;
    color: #999;
    text-align: center;
}

.search-advanced-link {
    display: block;
    margin-top: 6px;
    font-size: 9pt;
    color: #2d5a3d;
    text-decoration: none;
}
.search-advanced-link:hover {
    text-decoration: underline;
}

/* ===== Search page ===== */
.search-page-form {
    margin-bottom: 15px;
}
.search-page-input {
    width: 100%;
    padding: 8px;
    font-size: 11pt;
    border: 1px solid #ccc;
    border-radius: 0.4em;
}
.search-page-count {
    font-size: 10pt;
    color: #888;
    margin: 10px 0 5px;
    font-weight: bold;
}
.search-page-results {
    margin-top: 10px;
}

/* ===== Footer ===== */
#footer {
    width: 800px;
    padding: 12px 0 40px;
    margin: 20px auto 0;
    text-align: center;
    color: #999;
    font-size: 9pt;
    border-top: solid 1px #ddd;
}
#footer a { color: #888; }
#footer a:hover { color: #2d5a3d; text-decoration: underline; }

.footer_menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: inline-block;
}
.footer_menu li {
    display: inline;
    margin: 0 6px;
}
.footer_menu li:not(:last-child)::after {
    content: " ·";
    color: #ccc;
    margin-left: 12px;
}
.footer_menu a {
    color: #888;
    text-decoration: none;
    font-size: 9pt;
}
.footer_menu a:hover {
    color: #2d5a3d;
    text-decoration: underline;
}

/* ===== Compact Archive List ===== */
.archive-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.archive-entry {
    padding: 3px 0;
    font-size: 10pt;
    line-height: 1.5;
    border-bottom: 1px solid #f0f0f0;
}
.archive-entry a {
    color: #2d5a3d;
    text-decoration: none;
}
.archive-entry a:hover {
    text-decoration: underline;
}
.archive-entry-date {
    font-size: 9pt;
    color: #999;
    white-space: nowrap;
}