/* Core Layout & Reset */
* { 
    margin: 0; 
    padding: 0; 
    box-sizing: border-box; 
}

html { 
    scroll-behavior: smooth; 
}

body {
    background-color: #000000;
    color: #d0d0d0;
    font-size: 1.25em;
    margin: 30px;
    font-family: 'Roboto', Arial, Helvetica, sans-serif;
}

/* Typography & Headers */
h1, .headingTitle {
    text-align: center;
    font-size: 1.5em;
    font-weight: bold;
    color: #d0d0d0;
}

hr {
    color: #23abfc;
    border: 0;
    border-top: 1px solid #23abfc;
    margin: 20px 0;
}

/* Links (Strictly matched to your cyan scheme) */
a:link, A.mnblnk:link, A.mnblnk:active, A.txtSm:link, A.txtSm:active, .capMenu A:link, .capMenu A:active, .groupTitle A:link, .groupTitle A:active, .postedText A:link, .postedText A:active, .fdesc A:link, .fdesc A:active {
    color: #39f2ff;
    text-decoration: none;
}

a:visited, A.mnblnk:visited, A.txtSm:visited, .capMenu A:visited, .groupTitle A:visited, .postedText A:visited, .fdesc A:visited {
    color: #22bac5;
    text-decoration: none;
}

a:hover, a:active, A.mnblnk:hover, .postedText A:hover, .fdesc A:hover {
    color: #39f2ff;
    text-decoration: underline;
}

/* Tables (Flattened to #111 background and #222 borders) */
table, table.forums, table.forumsmb, .tbTransparent, .tbTransparentmb, table.forumCol, table.capMenu, table.searchmb {
    border-collapse: collapse;
    background: #111;
    border: 1px solid #222;
    width: 92%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
}

table.forumsmbmob, table.tbTransparentmbmob {
    margin-top: 5px;
    margin-bottom: 5px;
}

/* Table Cells & Padding Alignment */
td, .tbTransparentCell, td.caption1, td.caption3, td.tbClCp, td.caption5, td.forumTitle, td.captionTitle, td.pauthor, td.author, td.latest, .tcell, .tcelllast, .tcelllastm, .fcell, .postedTextCell, .postedLeftCell {
    padding: 0 20px 8px 0;
    text-align: left;
    border: none;
}

td:first-child, th:first-child {
    min-width: 150px;
}

/* Background fills for alternating rows / specific containers */
.tbCel1, .tbCel2, .selectTxt, .textForm, .postingForm, .topicTitle, .tbStBar, .hl, .pages {
    background: #111;
}

/* Border alignments matching the 1px #222 rule */
.textForm, .navCell, .navCellSel, .capMenu, .scroll-to-top, .scroll-to-btm, .tbStBar, .postingForm, .topicTitle {
    border: 1px solid #222;
}

.tcelllast, .tcelllastm {
    border-bottom: 1px solid #222;
}

/* Highlights & Quotes (Using the accent blue for standard callouts) */
.quote {
    border-left: 4px solid #23abfc;
    background: #111;
    margin-bottom: 20px;
    padding: 10px;
    width: 90%;
}

.hl {
    border-left: 4px solid #222;
    margin-bottom: 20px;
    padding: 10px;
    width: 90%;
}

.warning {
    color: #39f2ff;
    font-weight: bold;
}

/* Interactive Elements & Form Controls */
.inputButton {
    border: 1px solid #222;
    background: #111;
    color: #39f2ff;
    font-weight: normal;
    padding: 4px 10px;
    cursor: pointer;
}

.inputButton:hover {
    border: 1px solid #23abfc;
    color: #ffffff;
}

.postingForm {
    height: 250px;
    width: 99%;
    color: #d0d0d0;
}

/* Footer & Bottom Layout Elements */
footer, .pformBottom {
    text-align: center;
    margin-top: 40px;
}

footer img, .pformBottom img {
    margin-top: 8px;
}

/* Functional Navigation Utilities */
.scroll-to-top, .scroll-to-btm {
    cursor: pointer;
    text-align: center;
    padding: 4px 10px;
}

.scroll-to-top {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    display: none;
}

/* Contextual Resets */
.username, .groupTitle, .replies {
    font-weight: bold;
}

.popUp img, .postedText img, .fPopUp img {
    max-width: 100%;
    height: auto;
}

img.forumIcon{
width:16px;
height:16px;
vertical-align:middle;
border:0;
}

img.authorIcon{
width:14px;
height:10px;
vertical-align:middle;
border:0;
}
