html, body {
	min-height: 100vh;
}
html {
    font-family: var(--base-font-family);
    line-height: var(--base-line-height);
	font-size: var(--base-font-size);
    text-align: left;
	scroll-behavior: smooth;
	background-color: var(--base-bg-color);
	background-image: var(--banner-image-no-subject);
	background-size: cover;
	background-position: var(--banner-image-position);
	background-repeat: no-repeat;
	background-attachment: fixed;
	scroll-padding-top: 65px;
}

body {
	background-color: var(--base-bg-color-body-overlay);
	background-image: var(--texture-image);
	color: var(--base-txt-color);
	display: flex;
	flex-direction: column;
	gap: 0;
}
* {
  scrollbar-width: thin;
  scrollbar-color: var(--base-lnk-hov-color) var(--base-txt-color-faded);
}
::-webkit-scrollbar {
    max-width: 5px;
	max-height: 3px;
	background-color: var(--base-txt-color-faded);
}
::-webkit-scrollbar-thumb {
	background-color: var(--base-lnk-hov-color);
}
a, a:link, a:active, a:visited {
    text-decoration: none;
    transition: all 0.5s ease-in-out;
	cursor: pointer;
	color: var(--base-lnk-color);
}
a:hover {
    cursor: pointer;
	color: var(--base-lnk-hov-color);
}

#forum-container {
	flex-grow: 1;
}
.wrapper {
	max-width: var(--forum-wrap-max-width);
	margin: 0 auto;
	padding: 1rem 2rem;
}

.accordion {
	cursor: pointer;
	width: 100%;
	transition: 0.4s;
}
.panel {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.1s ease-out;
}

hr {
	display: block;
	width: 100%;
	margin: 1rem 0;
	height: 1px;
	overflow: hidden;
	background-color: var(--base-lnk-color);
	opacity: 0.35;
	border: 0;
	outline: 0;
}
.border {
	border: 1px solid var(--base-border-color);
}




#banner {
	padding: 5vh 0;
	background-image: var(--banner-image);
	background-size: cover;
	background-position: var(--banner-image-position);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 0;
}
#banner > .wrapper {
	width: 100%;
}
#banner > .wrapper > .sname {
	text-shadow: 0 0 7px var(--banner-sname-shadow-color);
}
#banner > .wrapper > .sname a {
	color: var(--banner-sname-color);
}
#banner > .wrapper > .sname a:hover {
	color: var(--banner-sname-hov-color);
}
#banner > .wrapper > .mini-nav {
	padding: 0 2rem;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: stretch;
	align-items: center;
	gap: 0.5rem;
	opacity: 0.7;
	font-size: 0.65em;
	text-transform: uppercase;
}
#banner > .wrapper > .mini-nav > a:first-child {
	display: none;
}
#banner > .wrapper > .mini-nav > a {
	padding: 0.25rem 0.5rem;
	background-color: var(--main-nav-bg-color);
	color: var(--main-nav-lnk-color);
	box-shadow: 0 0 4px 0 rgba(0,0,0,0.5);
}
#banner > .wrapper > .mini-nav > a:hover {
	background-color: var(--main-nav-bg-color-muted);
	color: var(--main-nav-lnk-hov-color);
}
#banner > .wrapper > .mini-nav > a.active {
	font-weight: bold;
	font-style: italic;
}
	

#footer {
	background-image: var(--banner-image-no-subject);
	background-size: cover;
	background-position: var(--banner-image-position);
	background-repeat: no-repeat;
	background-attachment: fixed;
}
#footer > .backdrop {
	background-color: var(--base-bg-color-muted);
}

.flex-links {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: stretch;
	align-items: center;
	gap: 1rem;
}


.sticky-top {
	position: sticky;
	top: 60px;
}
.sticky-bottom {
	position: sticky;
	bottom: 0px;
}




.tab > * {
	cursor: pointer;
	transition: 0.3s;
}
.tabcontent {
	display: none;
}


.pad-05 {
	padding: 0.5rem;
}
.pad-05-1 {
	padding: 0.5rem 1rem;
}
.pad-1 {
	padding: 1rem;
}
.pad-2 {
	padding: 2rem;
}
.pad-1-2 {
	padding: 1rem 2rem;
}
.pad-2-1 {
	padding: 2rem 1rem;
}

.tpdispaly {
	font-weight: light;
	text-transform: uppercase;
	opacity: 0.5;
	font-size: 0.95em;
}
.tpdispaly::before {
	content: "[";
}
.tpdispaly::after {
	content: "]";
}

details > summary {
	cursor: pointer;
}



	
.thead {
	
}

.tcat, .tfoot {
    background-color: var(--base-bg-color-muted);
    padding: 1rem;
}

td.trow1, td.trow2, td.trow3 {
	padding: 1rem;
}
.trow1 {
	background: var(--box-bg-color);
}

.trow2 {
	background: var(--box-alt-bg-color);
}
.trow3 {
    background-color: var(--base-bg-color-faded);
}

.trow_shaded {
	background: #ffdde0;
	border: 1px solid;
	border-color: #fff #ffb8be #ffb8be #fff;
}

.no_bottom_border {
	border-bottom: 0;
}

.post.unapproved_post {
	background: #ffdde0;
}

.post.unapproved_post .post_author {
	border-bottom-color: #ffb8be;
}

.post.classic.unapproved_post .post_author {
	border-color: #ffb8be;
}

.post.unapproved_post .post_controls {
	border-top-color: #ffb8be;
}

.trow_deleted,
.post.deleted_post {
	background: #E8DEFF;
}

.trow_selected,
tr.trow_selected td {
	background: #FFFBD9;
	color: #333;
	border-right-color: #F7E86A;
	border-bottom-color: #F7E86A;
}

.trow_selected a:link,
.trow_selected a:visited,
.trow_selected a:hover,
.trow_selected a:active {
	color: #333;
}

.trow_sep {
	font-size: 0.8em;
    background-color: var(--base-bg-color-faded);
    padding: 0.5rem 1rem;
}


.bottommenu {
	background: #efefef;
	color: #333;
	border: 1px solid #4874a3;
	padding: 10px;
}



fieldset {
	padding: 0.5rem 2rem 1rem 2rem;
	border: 1px solid var(--base-border-color);
	margin: 0;
}
fieldset > legend {
	font-weight: bold;
	padding: 0.25rem 0.75rem;
}

input.textbox {
    background-color: var(--base-bg-color-faded);
	padding: 0.25rem 0.5rem;
	outline: 0;
	border: 1px solid var(--base-border-color);
	color: var(--base-txt-color);
}

input.textbox.portal_search {
    width: 68%;
}

textarea {
    background-color: var(--base-bg-color-faded);
	padding: 0.25rem 0.5rem;
	outline: 0;
	border: 1px solid var(--base-border-color);
	color: var(--base-txt-color);
}

select {
	background: #ffffff;
	padding: 3px;
	border: 1px solid #ccc;
	outline: 0;
	font-family: Tahoma, Verdana, Arial, Sans-Serif;
	font-size: 13px;
}



form {
	margin: 0;
	padding: 0;
}

input, textarea {
	max-width: 100% !important;
}

input.error, textarea.error, select.error {
	border: 1px solid #f30;
	color: #f30;
}

input.valid, textarea.valid, select.valid {
	border: 1px solid #0c0;
}

label.error {
	color: #f30;
	margin: 5px;
	padding: 0px;
	display: block;
	font-weight: bold;
	font-size: 11px;
}

form #message {
	width: 500px;
}

.editor {
	background: #f1f1f1;
	border: 1px solid #ccc;
}

.editor_control_bar {
	background: #fff;
	border: 1px solid #ccc;
}

.post .editor_control_bar {
	background: #f5f5f5;
}

.popup_menu {
	background: #fff;
	border: 1px solid #ccc;
	z-index: 2;
}

.popup_menu .popup_item {
	background: #efefef;
	color: #333;
}

.popup_menu .popup_item:hover {
	background: #0072BC;
	color: #fff;
}

.trow_reputation_positive {
	background: #ccffcc;
}

.trow_reputation_negative {
	background: #ffcccc;
}

.reputation_positive {
	color: green;
}

.reputation_neutral {
	color: #444;
}

.reputation_negative {
	color: red;
}

.repbox {
	font-size:16px;
	font-weight: bold;
	padding:5px 7px 5px 7px;
}

._neutral {
	background-color:#FAFAFA;
	color: #999999;
	border:1px solid #CCCCCC;
}

._minus {
	background-color: #FDD2D1;
	color: #CB0200;
	border:1px solid #980201;
}

._plus {
	background-color:#E8FCDC;
	color: #008800;
	border:1px solid #008800;
}



.selectall {
	background: #FFFBD9;
	border-bottom: 1px solid #F7E86A;
	color: #333;
	text-align: center;
}

.expcolimage {
	float: right;
	width: auto;
	vertical-align: middle;
	margin-top: 3px;
}

.tcat_menu > .expcolimage {
	margin-top: 0;
}

blockquote {
	border: 1px solid var(--base-border-color);
	margin: 0;
	background: var(--box-bg-color);
	padding: 10px;
}

blockquote cite {
	font-weight: bold;
	border-bottom: 1px solid var(--base-border-color);
	font-style: normal;
	display: block;
	padding-bottom: 3px;
	margin: 0 0 10px 0;
}

blockquote cite > span {
	float: right;
	font-weight: normal;
	font-size: 12px;
	color: #666;
}

blockquote cite span.highlight {
	float: none;
	font-weight: bold;
	padding-bottom: 0;
}

.codeblock {
	background: var(--box-bg-color);
	border: 1px solid var(--base-border-color);
	padding: 10px;
}

.codeblock .title {
	border-bottom: 1px solid var(--base-border-color);
	font-weight: bold;
	padding-bottom: 3px;
	margin: 0 0 10px 0;
}

.codeblock code {
	overflow: auto;
	height: auto;
	max-height: 200px;
	display: block;
	font-family: var(--monospace-font-family);
}

.smilie {
	vertical-align: middle;
}

.smilie_pointer {
	cursor: pointer;
}

.separator {
	margin: 5px;
	padding: 0;
	height: 0px;
	font-size: 1px;
	list-style-type: none;
}

.popup_menu .popup_item_container {
	margin: 1px;
	text-align: left;
}

.popup_menu .popup_item {
	display: block;
	padding: 4px;
	white-space: nowrap;
	text-decoration: none;
}

.popup_menu a.popup_item:hover {
	text-decoration: none;
}

.subject_new {
	font-weight: bold;
}

.highlight {
	background: #FFFFCC;
	padding-top: 3px;
	padding-bottom: 3px;
}




.high_warning {
	color: #CC0000;
}

.moderate_warning {
	color: #F3611B;
}

.low_warning {
	color: #AE5700;
}

.imminent_banned {
	color: #880000;
}

.high_banned {
	color: #FF0000;
}

.moderate_banned {
	color: #FF6600;
}

.low_banned {
	color: #008000;
}

.online {
	color: #15A018;
}

.offline {
	color: #C7C7C7;
}



.pagination {
	font-size: 0.8em;
	background-color: var(--base-bg-color-faded);
	padding: 1rem;
	margin-bottom: 1rem;
}

.tfoot .pagination,
.tcat .pagination {
	padding-top: 0;
}

.pagination .pages {
	font-weight: bold;
}

.pagination .pagination_current,
.pagination a {
	padding: 3px 6px;
	margin-bottom: 3px;
}

.pagination a {
	background: var(--box-alt-bg-color);
	border: 1px solid var(--base-border-color);
}

.pagination .pagination_current {
	background: none;
	color: var(--base-txt-color);
	border: none;
	font-weight: bold;
}

.pagination a:hover {
	background: var(--base-bg-color-muted);
  	color: var(--base-txt-color);
  	border-color: var(--secondary-accent-color-muted);
	text-decoration: none;
}

.pagination .go_page img {
	margin-bottom: -4px;
}

.drop_go_page {
	background: #f5f5f5;
	padding: 4px;
}

.pagination_breadcrumb {
	background-color: #efefef;
	border: 1px solid #fff;
	outline: 1px solid #ccc;
	padding: 5px;
	margin-top: 5px;
	font-weight: normal;
}

.pagination_breadcrumb_link {
	vertical-align: middle;
	cursor: pointer;
}

.thread_legend,
.thread_legend dd {
	margin: 0;
	padding: 0;
}

.thread_legend dd {
	padding-bottom: 4px;
	margin-right: 15px;
}

.thread_legend img {
	margin-right: 4px;
	vertical-align: bottom;
}

.forum_legend,
.forum_legend dt,
.forum_legend dd {
	margin: 0;
	padding: 0;
}

.forum_legend dd {
	float: left;
	margin-right: 10px;
	margin-top: 7px;
}

.forum_legend dt {
	margin-right: 10px;
	float: left;
}

.success_message {
	color: #00b200;
	font-weight: bold;
	font-size: 10px;
	margin-bottom: 10px;
}

.error_message {
	color: #C00;
	font-weight: bold;
	font-size: 10px;
	margin-bottom: 10px;
}

#posts_container {
	padding: 0;
}

.ignored_post {
	border-top: 3px solid #333;
	padding: 15px;
}

.ignored_post .show_ignored_post {
	margin-top: -15px;
}

.ignored_post .show_ignored_post a.button span {
	background-position: 0 -400px;
}

.deleted_post_hidden {
	border-top: 2px solid #ccc;
	padding: 15px;
}

.deleted_post_collapsed {
	border-top: 3px solid #333;
	padding: 15px;
}

.deleted_post_collapsed .show_deleted_post {
	margin-top: -15px;
}

.deleted_post_collapsed .show_deleted_post a.button span {
	background-position: 0 -400px;
}

.rulesbtns { 
	display:flex;
	gap: 20px; 
	background-color: var(--box-bg-color); 
	padding: 10px;
}

@media (max-width: 699.98px) {
	.rulesbtns {
		flex-direction: column;
	}
}

.rulesbtns::before {
  	content: 'forms:';
  	font-family: var(--accent-font-family);
  	letter-spacing: 1px;
}

.rulesbtns a {
  	padding: 3px 5px;
  	text-transform: uppercase;
	font-weight:600;
	font-size:0.9em;
  	background-color: var(--box-alt-bg-color);
}

button,
.button,
input.button,
a.button:link,
a.button:visited,
a.button:active {
	text-transform: uppercase;
	cursor: pointer;
	outline: 0;
	background-color: transparent;
	color: var(--primary-accent-color-faded);
	display: inline-block;
	padding: 0.25em 0.5em;
	border: 1px solid var(--primary-accent-color-muted);
}

a.button:hover,
button:hover,
input.button:hover,
.button:hover {
	color: var(--primary-accent-color);
	border: 1px solid var(--secondary-accent-color-faded);
}

a.button.small_button {
	font-size: 0.8em;
	padding: 0.10em 0.25em;
}

a.button span {
	padding-left: 20px;
	display: inline-block;
	background-image: url(../../../images/buttons_sprite.png);
	background-repeat: no-repeat;
}

a.button.new_thread_button span {
	background-position: 0 -340px;
}

a.button.new_reply_button span {
	background-position: 0 -360px;
}

a.button.closed_button span {
	background-position: 0 -380px;
}

a.button.rate_user_button span {
	background-position: 0 -400px;
}

a.button.add_buddy_button span {
	background-position: 0 -440px;
}

a.button.remove_buddy_button span {
	background-position: 0 -480px;
}

a.button.add_ignore_button span {
	background-position: 0 -460px;
}

a.button.remove_ignore_button span {
	background-position: 0 -500px;
}

a.button.report_user_button span {
	background-position: 0 -520px;
}

.quick_jump {
	background: url(../../../images/jump.png) no-repeat 0;
	width: 13px;
	height: 13px;
	padding-left: 13px; /* amount of padding needed for image to fully show */
	margin-top: -3px;
	border: none;
}

.pollbar {
	background: url(../../../images/pollbar.png) top left repeat-x;
	border: 1px solid #3f3f3f;
	height: 10px;
}

.pollbar .percent {
	display: none;
}

.poll_votedfor {
	background: #efefef;
	border: 1px solid;
	border-color: #fff #ddd #ddd #fff;
}

.posticons_label {
	white-space: nowrap;
}

.usercp_container img {
  max-width: inherit;
}

/** message input textarea colored to theme **/

.sceditor-container iframe, .sceditor-container textarea {
  background-color: var(--base-bg-color-faded) !important;
  color: var(--base-txt-color) !important;
}


.sceditor-container {
  background-color: var(--base-bg-color-faded) !important;
  border: 1px solid var(--base-border-color) !important;
}

.sceditor-group {
  background-color: var(--box-bg-color) !important;
  border: 0px !important;
}

.sceditor-button:hover, .sceditor-button:active, .sceditor-button.active {
  background-color: var(--box-alt-bg-color) !important;
  border: 1px solid var(--base-lnk-color) !important;
}

.sceditor-button {
  border: 1px solid var(--base-txt-color-muted) !important;
}

div.sceditor-toolbar {
  background-color: var(--base-bg-color) !important;
  border-bottom: 1px solid var(--base-border-color) !important;
} 