/* Lite Theme - Retro 2005-2010 Style */

body {
    font-family: Verdana, Tahoma, Arial, sans-serif;
    font-size: 11px;
    color: #333;
    background-color: #f0f0f0;
    margin: 0;
    padding: 0;
}

a {
    color: #006699;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

#container {
    min-width: 960px;
    width: 80%;
    margin: 0 auto;
    background-color: #fff;
    border: 1px solid #ccc;
    border-top: none;
    box-shadow: 0 0 5px rgba(0,0,0,0.1);
}

/* Header */
#header {
    background-color: #4a6b8c;
    color: #fff;
    padding: 15px;
    border-bottom: 4px solid #335577;
}

#header h1 {
    margin: 0;
    font-size: 24px;
    font-family: "Trebuchet MS", Arial, sans-serif;
}

#header a {
    color: #fff;
    text-decoration: none;
}

/* Navigation */
#navbar {
    background-color: #dbe4ed;
    border-bottom: 1px solid #ccc;
    padding: 5px 10px;
}

#navbar ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

#navbar li {
    display: inline;
    margin-right: 15px;
}

#navbar li a {
    color: #333;
    font-weight: bold;
    font-size: 11px;
    padding: 3px 6px;
}

#navbar li a:hover {
    background-color: #fff;
    border: 1px solid #ccc;
    border-bottom-color: #fff; /* Tab effect attempt */
    text-decoration: none;
}

/* Layout Columns */
#content-wrapper {
    overflow: hidden; /* Clear floats */
    padding: 15px;
}

#main-content {
    float: left;
    min-width: 700px;
    width: 75%;
}

#sidebar {
    float: right;
    min-width: 195px;
    width: 20%;
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    padding: 10px;
}

/* Sidebar Widgets */
.widget {
    margin-bottom: 15px;
}

.widget h3 {
    font-size: 12px;
    font-weight: bold;
    border-bottom: 1px solid #ccc;
    padding-bottom: 3px;
    margin-bottom: 5px;
    color: #444;
}

/* Footer */
#footer {
    clear: both;
    background-color: #eee;
    border-top: 1px solid #ccc;
    padding: 10px;
    text-align: center;
    font-size: 10px;
    color: #666;
}

/* Utility / Components */
.btn {
    display: inline-block;
    padding: 3px 10px;
    background: #e6e6e6 url('data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=='); /* Placeholder for gradient */
    border: 1px solid #999;
    color: #333;
    cursor: pointer;
    font-size: 11px;
    border-radius: 3px;
}

.btn-primary {
    background-color: #4a6b8c;
    color: #fff;
    border-color: #335577;
}

.btn-primary a {
    color: #fff;
}

table {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
}

th {
    background-color: #e0e0e0;
    text-align: left;
    padding: 5px;
    border-bottom: 1px solid #ccc;
}

td {
    padding: 5px;
    border-bottom: 1px solid #eee;
}

input[type="text"], textarea {
    border: 1px solid #aaa;
    padding: 3px;
    font-family: Verdana, sans-serif;
    font-size: 11px;
}

/* Forum Specifics */
.forum-category-header {
    background-color: #5c7fa3;
    color: white;
    padding: 5px;
    font-weight: bold;
    margin-top: 10px;
}

.forum-row {
    background-color: #f5f5f5;
    border: 1px solid #ddd;
    margin-bottom: 5px;
    padding: 5px;
}

.topic-header {
    background-color: #d1dcec;
    border: 1px solid #a7b6c9;
    padding: 5px;
    margin-bottom: 10px;
}

.post-container {
    border: 1px solid #ccc;
    margin-bottom: 10px;
    background: #fff;
}

.post-header {
    background-color: #4a6b8c;
    color: #fff;
    padding: 5px 10px;
    font-weight: bold;
    font-size: 12px;
    border-bottom: 1px solid #335577;
}

.post-header a {
    color: #fff;
    text-decoration: none;
}

.post-user {
    background-color: #f0f4f8;
    width: 150px;
    float: left;
    padding: 10px;
    border-right: 1px solid #ccc;
    text-align: center;
}

.post-body {
    margin-left: 171px; /* 150 + padding/border */
    padding: 10px;
    min-height: 100px;
}

.breadcrumbs {
    font-size: 10px;
    margin-bottom: 10px;
    color: #666;
}

.pagination {
    padding: 5px;
    background: #eee;
    border: 1px solid #ccc;
    text-align: right;
}

/* Downloads specific */
.download-item {
    border: 1px dashed #ccc;
    padding: 10px;
    margin-bottom: 10px;
    background: #fdfdfd;
}

.download-meta {
    font-size: 10px;
    color: #888;
}

/* Blog specific */
.blog-post {
    margin-bottom: 20px;
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
}

.blog-title {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 5px;
}

.blog-meta {
    color: #777;
    font-size: 10px;
    margin-bottom: 10px;
}

/* Clearfix */
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

/* Utilities - Alignment & Display */
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-left { text-align: left; }
.float-left { float: left; }
.float-right { float: right; }
.clear-both { clear: both; }
.block { display: block; }
.inline-block { display: inline-block; }
.d-none { display: none; }
.w-full { width: 100%; }

/* Utilities - Spacing */
.m-0 { margin: 0; }
.p-0 { padding: 0; }
.mt-2 { margin-top: 2px; }
.mt-3 { margin-top: 3px; }
.mt-5 { margin-top: 5px; }
.mt-10 { margin-top: 10px; }
.mt-15 { margin-top: 15px; }
.mt-20 { margin-top: 20px; }
.mb-5 { margin-bottom: 5px; }
.mb-10 { margin-bottom: 10px; }
.mb-15 { margin-bottom: 15px; }
.mb-20 { margin-bottom: 20px; }
.mr-2 { margin-right: 2px; }
.mr-5 { margin-right: 5px; }
.mr-10 { margin-right: 10px; }
.mr-15 { margin-right: 15px; }
.ml-10 { margin-left: 10px; }
.ml-70 { margin-left: 70px; }
.p-2 { padding: 2px; }
.p-5 { padding: 5px; }
.p-10 { padding: 10px; }
.p-15 { padding: 15px; }
.p-20 { padding: 20px; }
.pl-15 { padding-left: 15px; }
.pl-20 { padding-left: 20px; }

/* Utilities - Typography */
.font-bold { font-weight: bold; }
.font-normal { font-weight: normal; }
.font-italic { font-style: italic; }
.text-decoration-none { text-decoration: none; }
.text-underline { text-decoration: underline; }

.text-xs { font-size: 9px; }
.text-sm { font-size: 10px; }
.text-md { font-size: 11px; } /* Default body size */
.text-lg { font-size: 14px; }
.text-xl { font-size: 18px; }
.text-2xl { font-size: 22px; }

.text-white { color: #fff; }
.text-black { color: #000; }
.text-gray { color: #666; }
.text-gray-light { color: #888; }
.text-gray-lighter { color: #aaa; }
.text-red { color: red; }
.text-darkred { color: darkred; }
.text-orange { color: #ff9900; }
.text-green { color: #4cd137; }

/* Utilities - Borders & Backgrounds */
.border-solid { border: 1px solid #ccc; }
.border-solid-bottom { border-bottom: 1px solid #ccc }
.border-dashed { border-bottom: 1px dashed #444; }
.no-border { border: none; }
.bg-none { background: none; }
.bg-black { background: #000; }
.bg-dark { background: #222; }
.bg-gray-light { background: #eee; }

/* Lists */
.list-none { list-style-type: none; margin: 0; padding: 0; }

/* Components - Images */
.img-thumbnail {
    border: 1px solid #ccc;
    padding: 2px;
}
.img-responsive {
    max-width: 100%;
    height: auto;
}
.avatar-xs { width: 50px; height: 50px; }
.avatar-sm { width: 80px; height: 80px; }
.avatar-md { width: 100px; height: auto; }

/* Components - Forms */
.form-input-full { width: 98%; }
.form-input-medium { width: 200px; }
.form-textarea-small { height: 100px; }

/* Components - Login */
.login-wrapper {
    max-width: 500px;
    margin: 0 auto;
}
.login-error {
    border: 1px solid #cc0000;
    background: #ffeeee;
    color: #cc0000;
    padding: 10px;
    margin-bottom: 15px;
    font-weight: bold;
}

/* Components - Forum */
.pinned-tag { color: #ff9900; font-weight: bold; }
.closed-tag { color: darkred; font-weight: bold; }
.topic-closed-box {
    border: 1px solid #900;
    background: #fee;
    color: #900;
    padding: 10px;
    font-weight: bold;
}
.topic-login-box {
    padding: 10px;
    border: 1px solid #ccc;
    background: #eee;
    text-align: center;
}

/* Components - Downloads */
.download-icon-box {
    width: 80px;
    height: 80px;
    border: 1px solid #444;
    background: #111;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #444;
}
.download-icon-box i { font-size: 32px; }
.download-icon-box img { width: 80px; height: 80px; padding: 4px; }

.download-icon-box-small {
    width: 48px;
    height: 48px;
    border: 1px solid #444;
    background: #111;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #444;
}
.download-icon-box-small i { font-size: 20px; }
.download-icon-box-small img { width: 48px; height: 48px; padding: 2px; }

.version-tag {
    font-size: 12px;
    color: #888;
    background: #222;
    padding: 2px 6px;
    border-radius: 3px;
    vertical-align: middle;
}
.version-tag-sm {
    font-size: 10px;
    padding: 1px 4px;
}
.post-content {
    padding: 5px;
}