html, body { min-height: 100%; }
body {
    margin: 0;
    padding: 0;
    background: #b8daf0;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 11px;
    color: #222;
}
a { color: #1a5f9e; text-decoration: none; }
a:hover { text-decoration: underline; }
#page { width: 900px; margin: 10px auto 24px; }
#topline {
    height: 18px;
    line-height: 18px;
    padding: 0 7px;
    color: #506575;
    font-size: 10px;
}
.topright { float: right; }
#banner {
    height: 112px;
    position: relative;
    overflow: hidden;
    border: 1px solid #56768a;
    background: #79bce7;
}
#banner:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 25px;
    background: #75ab58;
    border-top: 1px solid #659348;
}
.sun {
    position: absolute;
    right: 64px;
    top: 10px;
    width: 33px;
    height: 33px;
    border-radius: 50%;
    background: #ffe877;
    border: 1px solid #d7c05c;
}
.cloud {
    position: absolute;
    height: 20px;
    background: #eef8ff;
    border: 1px solid #cfe6f4;
}
.cloud:before, .cloud:after {
    content: "";
    position: absolute;
    background: #eef8ff;
    border: 1px solid #cfe6f4;
    border-bottom: 0;
    border-radius: 30px 30px 0 0;
}
.cloud1 { width: 110px; right: 150px; top: 25px; }
.cloud2 { width: 80px; right: 18px; top: 59px; }
.cloud3 { width: 125px; left: 510px; top: 71px; }
.cloud:before { width: 38px; height: 24px; left: 13px; bottom: 9px; }
.cloud:after { width: 48px; height: 29px; right: 12px; bottom: 9px; }
#logo {
    position: absolute;
    z-index: 2;
    left: 22px;
    top: 20px;
    font-family: Arial Black, Arial, sans-serif;
    font-size: 34px;
    letter-spacing: -2px;
    color: #fff;
    text-shadow: 2px 2px 0 #2a6894;
}
#tagline {
    position: absolute;
    z-index: 2;
    left: 25px;
    top: 63px;
    color: #f7fcff;
    font-weight: bold;
    text-shadow: 1px 1px 0 #4b86ad;
}
#nav {
    height: 29px;
    line-height: 29px;
    background: #3b75a7;
    border: 1px solid #28597e;
    border-top: 0;
    padding-left: 7px;
}
#nav a {
    display: inline-block;
    height: 28px;
    padding: 0 16px;
    color: #fff;
    font-weight: bold;
    border-right: 1px solid #2d638d;
    border-left: 1px solid #5088b5;
}
#nav a:first-child { border-left: 0; }
#nav a.active, #nav a:hover { background: #2c638f; text-decoration: none; }
#userbar {
    margin-top: 5px;
    padding: 6px 8px;
    background: #f2f2f2;
    border: 1px solid #9a9a9a;
    text-align: right;
}
.sep { color: #999; margin: 0 5px; }
.breadcrumb {
    margin-top: 7px;
    padding: 6px 8px;
    border: 1px solid #9aa4aa;
    background: #edf3f7;
    color: #555;
}
.breadcrumb span { color: #999; margin: 0 4px; }
.columns { display: table; width: 100%; table-layout: fixed; }
.maincol, .sidecol { display: table-cell; vertical-align: top; }
.maincol { width: 625px; padding-right: 8px; }
.sidecol { width: 267px; }
.box {
    background: #fff;
    border: 1px solid #7d7d7d;
    margin-top: 8px;
}
.box.attached { margin-top: 0; border-top: 0; }
.boxtitle {
    padding: 5px 7px;
    font-weight: bold;
    color: #333;
    border-bottom: 1px solid #999;
    background: #e2e2e2;
}
.boxtitle.blue { background: #d8e8f4; color: #234f70; }
.boxcontent { padding: 9px; }
.boxcontent.nopad, .nopad { padding: 0; }
.welcome { min-height: 92px; background: #fbfbfb; }
.welcome-title { font-size: 17px; font-weight: bold; color: #326a94; margin-bottom: 4px; }
.bigbutton, input[type=submit] {
    display: inline-block;
    border: 1px solid #4e6e87;
    border-bottom-color: #30495c;
    background: #e6edf2;
    color: #173f5d;
    font-family: Verdana, Arial, sans-serif;
    font-size: 11px;
    font-weight: bold;
    padding: 5px 10px;
    cursor: pointer;
}
.bigbutton:hover { background: #d9e6ef; text-decoration: none; }
.statlist div { padding: 3px 0; border-bottom: 1px dotted #ccc; }
.statlist div:last-child { border-bottom: 0; }
.stat-last { margin-top: 4px; padding-top: 6px !important; }
.linklist a { display: block; padding: 4px 0; border-bottom: 1px dotted #ccc; }
.linklist a:last-child { border-bottom: 0; }
.forumboard { display: table; width: 100%; box-sizing: border-box; }
.boardicon, .boardtext, .boardstats { display: table-cell; vertical-align: middle; }
.boardicon {
    width: 42px;
    height: 42px;
    text-align: center;
    font-size: 22px;
    font-weight: bold;
    color: #fff;
    background: #4a86b6;
    border: 1px solid #34678f;
}
.boardtext { padding-left: 10px; }
.boardstats { width: 130px; text-align: right; color: #666; line-height: 17px; }
.sectionbar {
    margin-top: 8px;
    padding: 5px 7px;
    min-height: 20px;
    line-height: 20px;
    color: #fff;
    background: #3d75a2;
    border: 1px solid #285679;
}
.rightbutton {
    float: right;
    padding: 0 8px;
    background: #efefef;
    border: 1px solid #bbb;
    color: #24577e;
}
table.forum { width: 100%; border-collapse: collapse; }
table.forum th {
    background: #d9e8f3;
    border-bottom: 1px solid #8999a5;
    border-right: 1px solid #b6c5cf;
    padding: 6px;
    text-align: left;
    color: #34576e;
}
table.forum th:last-child { border-right: 0; }
table.forum td {
    border-top: 1px solid #ccc;
    border-right: 1px solid #e0e0e0;
    padding: 7px 6px;
    vertical-align: top;
}
table.forum td:last-child { border-right: 0; }
table.forum tr:nth-child(even) td { background: #fafafa; }
.narrow { width: 65px; }
.authorcol { width: 120px; }
.lastcol { width: 175px; }
.datecol { width: 190px; }
.center { text-align: center; }
.small { color: #666; font-size: 10px; }
.smalltext { color: #666; font-size: 10px; line-height: 15px; }
.notice, .error, .success {
    padding: 8px;
    margin-top: 8px;
    border: 1px solid;
}
.notice { background: #fff9cc; border-color: #d2bd62; }
.error { background: #ffdede; border-color: #bb6a6a; }
.success { background: #e2f6df; border-color: #78a56f; }
.error.inside { margin: 0 0 8px; }
.threadtitle {
    margin-top: 8px;
    padding: 8px;
    color: #fff;
    background: #3c73a0;
    border: 1px solid #28577b;
}
.threadtitle span { float: right; color: #dbe9f3; font-size: 10px; }
.post {
    margin-top: 7px;
    border: 1px solid #7f8c95;
    background: #fff;
}
.posthead {
    height: 24px;
    line-height: 24px;
    padding: 0 7px;
    border-bottom: 1px solid #a5b0b7;
    background: #dce9f2;
    color: #65747e;
    font-size: 10px;
}
.posthead a { float: right; font-weight: bold; }
.postgrid { display: table; width: 100%; table-layout: fixed; min-height: 150px; }
.postuser, .postbody { display: table-cell; vertical-align: top; }
.postuser {
    width: 150px;
    padding: 9px;
    background: #edf4f8;
    border-right: 1px solid #bac5cc;
    text-align: center;
}
.username { font-weight: bold; font-size: 12px; margin-bottom: 7px; }
.avatarbox, .profileavatar {
    width: 80px;
    height: 80px;
    line-height: 80px;
    margin: 0 auto 6px;
    border: 1px solid #888;
    background: #d8e5ed;
    color: #52748c;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
}
.userinfo { margin-top: 8px; text-align: left; color: #666; font-size: 9px; line-height: 15px; }
.postbody { padding: 12px; line-height: 17px; overflow-wrap: anywhere; }
.replybox textarea { min-height: 110px; }
.formrow { margin-bottom: 10px; }
.formrow label { display: block; margin-bottom: 4px; }
input[type=text], input[type=password], textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 5px;
    border: 1px solid #777;
    background: #fff;
    font-family: Verdana, Arial, sans-serif;
    font-size: 11px;
    color: #222;
}
textarea { min-height: 150px; resize: vertical; }
.formbuttons { margin-top: 7px; }
.hint { margin-top: 3px; color: #777; font-size: 9px; }
.accountbox { width: 430px; margin: 20px auto; }
.profilegrid { display: table; width: 100%; table-layout: fixed; }
.profilecard, .profileinfo { display: table-cell; vertical-align: top; }
.profilecard { width: 180px; }
.profileinfo { width: auto; border-left: 0; }
.profileavatar { width: 110px; height: 110px; line-height: 110px; font-size: 15px; }
.memberrank { margin-top: 4px; font-weight: bold; color: #52748c; }
.infotable { border-collapse: collapse; width: 100%; }
.infotable td { padding: 4px 6px; border-bottom: 1px dotted #ccc; }
.infotable td:first-child { width: 110px; color: #666; }
.profilebio { margin-top: 10px; padding: 8px; background: #f6f6f6; border: 1px solid #ccc; line-height: 16px; }
.abouttable { max-width: 460px; }
.searchform { display: table; width: 100%; }
.searchform input[type=text], .searchform input[type=submit] { display: table-cell; }
.searchform input[type=text] { width: 82%; }
.searchform input[type=submit] { width: 16%; margin-left: 2%; }
.footer {
    margin-top: 12px;
    padding: 10px;
    border-top: 1px solid #8fa6b5;
    text-align: center;
    color: #4c6879;
    font-size: 10px;
    line-height: 16px;
}
@media (max-width: 930px) {
    #page { width: 96%; }
}
@media (max-width: 680px) {
    #page { width: 98%; margin-top: 2px; }
    #banner { height: 96px; }
    #logo { font-size: 28px; left: 14px; }
    #tagline { left: 16px; top: 57px; max-width: 360px; }
    #nav { height: auto; line-height: 25px; padding-left: 0; }
    #nav a { padding: 0 9px; height: 25px; }
    .columns, .maincol, .sidecol, .profilegrid, .profilecard, .profileinfo { display: block; width: auto; }
    .maincol { padding-right: 0; }
    .profileinfo { border-left: 1px solid #7d7d7d; }
    .lastcol { width: 125px; }
    .authorcol { width: 90px; }
    .datecol { width: 125px; }
    .postgrid, .postuser, .postbody { display: block; width: auto; }
    .postuser { border-right: 0; border-bottom: 1px solid #bac5cc; text-align: left; }
    .avatarbox { display: none; }
    .userinfo { display: inline; margin-left: 8px; }
}
