@media (prefers-color-scheme: light) {
  :root {
    --bg-color: #e9eef2;
	--content-section: #fff;
    --font-color: #4d4d4d;
    --primary-color: #9A97F3;
    --secondary-color: #818cab;
	--windowbg: #f0f4f7;
	--windowbg-odd: #fdfdfd;
	--windowbg-even: #f0f4f7;
	--windowbg-sticky: #cfdce8;
	--windowbg-locked: #e7eaef;
	--approvebg: #f0f4f7;
	--approvebg2: #f0f4f7;
	--cat-bar-bg: #557ea0;
	--cat-bar-border: #777;
	--cat-bar-h3: #fff;
	--cat-bar-strong: #fff;
    --heading-color: #818cab;
	--in-but-sel-text-color: #222;
	--in-but-sel-text-hover-border: #82a2bc;
	--in-but-sel-text-focus-border: #7fb0d8;
	--textarea-hover: #fbfbfb;
	--fieldset-legend: #555;
	--strong: #444;
	--text-shadow: #fff;
	--disabled-bg: #eee;
	--disabled-color: #999;
	--disabled-border-color: #b6b6b6;
	--link-visited: #346;
	--link-hover: #0056b3;
	--inner-section-gradient-1: #e2e9f3;
	--inner-section-gradient-2: #fff;
	--navigate-section-gradient-1: #fff;
	--navigate-section-gradient-2: #f1f3f5;
	--tables-borders: #dee2e6;
	--ssi-table-head: #9edbf7;
	--bbc-standard-quote: #e0e6f6;
	--roundframe: #f8f8f8;
	--keyinfo-h5-a: #c06002;
	--poster-h4-a: #c06002;
	--page-number: #c06002;
	--title-bar-bg: #fff;
	--title-bar-color: #666;
	--quickbutton-hover: #222;
	--button-color: #000;
	--button-hover: #af6700;
	--dropmenu-li-hover: #333;
  }
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg-color: #000000;
	--content-section: #2d2d2d;
    --font-color: #f1f1f1;
    --primary-color: #9A97F3;
    --secondary-color: #818cab;
	--windowbg: #404040;
	--windowbg-odd: #505050;
	--windowbg-even: #404040;
	--windowbg-sticky: #242424;
	--windowbg-locked: #7b4444;
	--approvebg: #f0f4f7;
	--approvebg2: #f0f4f7;
	--cat-bar-bg: #557ea0;
	--cat-bar-border: #777;
	--cat-bar-h3: #fff;
	--cat-bar-strong: #fff;
    --heading-color: #818cab;
	--in-but-sel-text-color: #f1f1f1;
	--in-but-sel-text-hover-border: #82a2bc;
	--in-but-sel-text-focus-border: #7fb0d8;
	--textarea-hover: #fbfbfb;
	--fieldset-legend: #555;
	--strong: #fff;
	--text-shadow: #0e3fc1;
	--disabled-bg: #eee;
	--disabled-color: #999;
	--disabled-border-color: #b6b6b6;
	--link-visited: #91b6ff;
	--link-hover: #95cff3;
	--inner-section-gradient-1: #000;
	--inner-section-gradient-2: #2d2d2d;
	--navigate-section-gradient-1: #1f235a;
	--navigate-section-gradient-2: #071019;
	--tables-borders: #002a54;
	--ssi-table-head: #0a2633;
	--bbc-standard-quote: #303a54;
	--roundframe: #0e0e0e;
	--keyinfo-h5-a: #ffad5e;
	--poster-h4-a: #ffad5e;
	--page-number: #ffad5e;
	--title-bar-bg: #000;
	--title-bar-color: #666;
	--quickbutton-hover: #5cff00;
    --button-color: #fff;
	--button-hover: #af6700;
	--dropmenu-li-hover: #bfbfbf;
  }
}

td {
	color: var(--link-visited);
}

.table tbody+tbody, .table td, .table th {
    border-top: 1px solid var(--tables-borders);
}
.table thead th {
    border-bottom: 1px solid var(--tables-borders);
}

/* Blockquote stylings */
blockquote {
	border: 1px solid #d6dfe2;
	border-left: 2px solid #aaa;
	border-right: 2px solid #aaa;
}
blockquote cite {
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
blockquote cite::before {
	color: #aaa;
}
.bbc_standard_quote {
	background-color: var(--bbc-standard-quote);
}
.bbc_alternate_quote {
	background-color: #ebf4f8;
}
/* A code block - maybe PHP ;). */
.bbc_code {
	background: #f3f3f3;
	border: 1px solid #dfdfdf;
	border-top: 2px solid #bbb;
	border-bottom: 3px solid #aaa;
}
/* The "Quote:" and "Code:" header parts... */
.codeheader, .quoteheader {
	color: #666;
}
/* Styling for BBC tags */
.bbc_link {
	border-bottom: 1px solid #a8b6cf;
}
.bbc_link:hover {
	border-bottom: 1px solid var(--link-visited);
}
.bbc_color a {
	color: inherit;
}
.bbc_table {
	color: inherit;
}
.bbc_table td {
  color: inherit;
  border: 1px solid #cecece;
}
/* Those collapse and expand icons are wonderful. */
.toggle_up::before, .toggle_down::before {
	background-color: #f7f7f7;
	border: 1px solid #c5c5c5;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .2), 0 1px 1px #fff inset, 0 -5px 4px rgba(0,0,0,.1) inset;
}
.toggle_up:hover:before, .toggle_down:hover:before {
	background-color: #bfd4e7;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25) inset;
}

/* Highlighted text - such as search results. */
.highlight {
	color: #ff7200 !important;
}

/* the page navigation area */
.current_page {
	color: #b46100;
}

/* Calendar colors for birthdays, events and holidays */
.birthday {
	color: #920ac4;
}

.event {
	color: #078907;
}

.holiday > span {
	color: #025dff;
}

/* Events that are currently selected on the calendar. Won't see it much, probably. */
.warn_moderate {
	color: #ffa500;
}
.warn_watch, .success {
	color: green;
}
a.moderation_link, a.moderation_link:visited {
	background: #f59e00;
}

/* AJAX notification bar
------------------------------------------------------- */
#ajax_in_progress {
	background: #fff;
	border-bottom: 4px solid #f96f00;
	color: #f96f00;
}
#ajax_in_progress a {
	color: orange;
}

/* Lists with settings use these a lot.
------------------------------------------------------- */
/* table_grid styles for Profile > Show Permissions. */
.postbg {
	border-left: 1px solid #7f7f7f;
	border-right: 1px solid #7f7f7f;
}

/* Styles used by the auto suggest control.
------------------------------------------------------- */
.auto_suggest_div {
	border: 1px solid #bbb;
}
.auto_suggest_item {
	background: #ddd;
}
.auto_suggest_item_hover {
	background: #888;
	color: var(--disabled-bg);
}

/* Styles for the standard dropdown menus.
------------------------------------------------------- */
/* For cases where we want to spotlight something specific to an item, e.g. an amount */
.amt {
	color: #fff;
	background: #6d90ad;
}
.dropmenu li .active .amt, #top_info li .active .amt {
	color: inherit;
	background: rgba(0, 0, 0, 0.2);
}

/* Needed for new PM notifications. */
.dropmenu li strong {
	color: #333;
}

/* Level 1 active button. */
.dropmenu li a.active, #top_info li a.active {
	background: orange;
	color: #fff;
	border: 1px solid #f49a3a;
	box-shadow: 0 5px 5px rgba(255, 255, 255, 0.2) inset;
	text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
}

/* Level 1 hover effects. */
.dropmenu li a:hover, .dropmenu li:hover a, .dropmenu li a:focus, 
#top_info > li > a:hover, #top_info > li:hover > a, #top_info > li > a.open {
	background: #597b9f;
	border: 1px solid #4a6b8c;
	color: #fff;
	box-shadow: 0 4px 4px rgba(255, 255, 255, 0.1) inset;
}

/* Level 1 active button. */
.dropmenu li a.active:hover, .dropmenu li:hover a.active {
	background: orange;
	border: 1px solid #f49a3a;
	color: var(--strong);
	box-shadow: 0 5px 5px rgba(255, 255, 255, 0.2) inset;
}

/* Fixes bug with border-box on scrollable js */
.pm_unread, .alerts_unread {
	border-top: 1px solid #ddd;
}
.top_menu.scrollable .unread {
	border-bottom: 1px solid #ddd;
}
.top_menu.scrollable .unread:hover {
	background: var(--disabled-bg);
}

/* Levels 2 and 3 submenu wrapper. */

/* Necessary to allow highlighting of 1st level while hovering over submenu. */
.dropmenu li:hover li a, .dropmenu li li a {
	background: none;
	color: var(--link-visited);
}


/* Styles for the standard button lists.
------------------------------------------------------- */
.button {
	border: 1px solid #ddd;
	border-right: 1px solid #bbb;
	border-bottom: 1px solid #aaa;
	box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
	color: var(--strong);
}
.pagesection .button {
	color: var(--link-visited);
}
.button:hover {
	color: var(--button-hover);
	border: 1px solid #ddd;
	border-left: 1px solid #bbb;
	border-top: 1px solid #aaa;
	box-shadow: -1px -1px 2px rgba(0, 0, 0, 0.07), -1px -2px 4px rgba(255, 255, 255, 0.33) inset;
}

/* the active one */
.button.active {
	background: var(--cat-bar-bg);
	color: #fff;
	border: 1px solid #558080;
	text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
}
.button.active:hover {
	color: #ffc187;
	background: var(--cat-bar-bg);
}

/* In a .buttonrow, the buttons are joined together */
.buttonrow .button:not(:first-child) {
	border-left-color: #ccc;
}
.buttonrow .button:not(:last-child) {
	box-shadow: -1px 0 0 rgba(255, 255, 255, 0.7);
}

/* Styles for the general looks of the theme.
------------------------------------------------------- */
/* Box-shadow only on this one. */
#wrapper {
	background: var(--content-section);
	border: 1px solid #b8b8b8;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.14);
}

/* The main title. */
h1.forumtitle a {
	color: #a85400;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
}

/* The navigation list (i.e. linktree) */
.navigate_section ul {
	border: 1px solid #ddd;
	box-shadow: 0 -2px 2px rgba(0, 0, 0, 0.08);
}
.navigate_section ul li {
	color: var(--strong);
	text-shadow: 1px 1px 0 var(--text-shadow);
}
.navigate_section ul li .dividers {
	color: #3f6b8c;
}

/* Footer is now full-width by default. */
/* The footer with copyright links etc. */
#footer {
	background: #3e5a78;
	border-top: 3px solid #b2b6bd;
}
#footer li, #footer p, #footer a {
	color: #fff;
}

/* the small stats */
#index_common_stats {
	border-top: 1px solid #ddd;
}

/* The quick buttons */
.quickbuttons li {
	border: 1px solid #ddd;
	border-right: 1px solid #bbb;
	border-bottom: 1px solid #aaa;
	box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
	color: var(--font-color);
}
.quickbuttons li:hover {
	border: 1px solid #ddd;
	border-right: 1px solid #bbb;
	border-bottom: 1px solid #aaa;
	box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
}

/* Drop part of QuickButtons */
.quickbuttons li ul {
	border: solid 1px var(--disabled-color);
	border-left: solid 1px #aaa;
	border-top: solid 1px #bbb;
	box-shadow: 2px 3px 3px rgba(0, 0, 0, 0.2);
}
.quickbuttons li ul li:hover {
	border: 1px solid #cfcfcf;
	border-top: 1px solid #d4dee6;
	border-bottom: 1px solid #cbdae6;
}

/* Styles for the login areas.
------------------------------------------------------- */
/* Additional register fields */
.coppa_contact {
	background: #fff;
	color: var(--in-but-sel-text-color);
	border: 1px solid var(--in-but-sel-text-color);
}
.valid_input {
	background: #f5fff0;
}
.invalid_input {
	background: #fff0f0;
}

/* Styles for maintenance mode.
------------------------------------------------------- */
/* Custom profile fields like to play with us some times. */
.errorfile_table {
	background: var(--windowbg);
}
.errorfile_table td.current {
	border-top: 1px solid rgba(0, 0, 0, 0.2);
	border-bottom: 1px solid rgba(0, 0, 0, 0.2);
	background: rgba(245, 141, 15, 0.2);
}

/* Styles for (fatal) errors.
------------------------------------------------- */
.errorbox {
	background-color: #fee;
	border-top: 2px solid #c34;
	border-bottom: 2px solid #c34;
}

/* Styles for info boxes
------------------------------------------------- */
.noticebox {
	color: #666;
	background: #fff6ca;
	border-color: #ffd324;
}
.infobox {
	color: var(--in-but-sel-text-color);
	background: #cfc;
	border-color: green;
}
.descbox {
	border-color: #c5c5c5;
}

/* Styles for stats bars and progress bars.
------------------------------------------------- */
.generic_bar, .progress_bar {
	border: 1px solid #cecaca;
	background: #fff;
	color: rgba(0, 0, 0, 0.6);
}
.generic_bar span, .progress_bar span {
	text-shadow: 1px 1px rgba(255, 255, 255, .4);
}
.generic_bar .bar, .progress_bar .bar {
	background: orange;
	box-shadow: 4px -4px 8px rgba(0, 0, 0, 0.1) inset, 4px 4px 8px rgba(255,255,255,0.3) inset;
}
.generic_bar.vertical .bar {
	box-shadow: 4px -4px 4px rgba(0, 0, 0, 0.1) inset, 4px 4px 4px rgba(255,255,255,0.3) inset;
}
.progress_bar {
	color: rgba(0, 0, 0, 0.8);
}
.progress_bar .bar {
	box-shadow: -1px 1px 0 rgba(255, 255, 255, 0.25) inset,	1px -1px 0 rgba(0,0,0,0.1) inset;
	background-color: #75da41;
	background-image: linear-gradient(135deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
}
.progress_yellow .bar {
	background-color: #f6c51c;
}
.progress_green .bar {
	background-color: #75da41;
}
.progress_red .bar {
	background-color: #f45d4c;
}
.progress_blue .bar {
	background-color: #34c2e3;
}

/* Styles for the profile section.
------------------------------------------------- */
/* The basic user info on the left */
#detailedinfo dl, #tracking dl {
	border-bottom: 1px #ccc solid;
}
#detailedinfo dt, #tracking dt {
	color: var(--strong);
}

/* Activity by time */
.activity_stats li span {
	border: 1px solid #666;
	background: var(--disabled-bg);
}

/* View posts */
.counter {
	color: #3f3f3f;
}
.list_posts {
	border-top: 1px solid #ddd;
	box-shadow: 0 1px 0 #fff inset;
}
.boardslist a {
	border-bottom: 1px solid #c4c4c4;
}
.boardslist a:hover {
	border-bottom: 1px solid #334466;
}

/* Pick theme */
#pick_theme .selected {
	background: #cddbe6;
}

/* Warning level bar */
.warning_level.none .bar {
	background-color: #75da41;
}
.warning_level.watched .bar {
	background-color: #ffd800;
}
.warning_level.moderated .bar {
	background-color: orange;
}
.warning_level.muted .bar {
	background-color: #f45d4c;
}

/* Styles for the personal messages section.
------------------------------------------------- */
#personal_messages .capacity_bar {
	background: var(--windowbg);
	border: 1px solid #adadad;
}
#personal_messages .capacity_bar span {
	border-right: 1px solid #adadad;
}
#personal_messages .capacity_bar span.empty {
	background: #a6d69d;
}
#personal_messages .capacity_bar span.filled {
	background: #eea800;
}
#personal_messages .capacity_bar span.full {
	background: #f10909;
}
dl.addrules dt.floatleft {
	color: #333;
}
.unread_pm {
	background: #cfc;
}

/* Styles for the help section.
------------------------------------------------- */

#helpmain {
	border: 1px solid #ddd;
	box-shadow: 0 -2px 2px rgba(0, 0, 0, 0.1);
}

/* Styles for the tooltips
------------------------------------------------------- */
.tooltip {
	color: #333;
	background: #fff;
	border: 1px solid #aaa;
	box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.2), 0 0px 10px rgba(0, 0, 0, 0.05) inset;
}

/* Styles for popup windows */
.popup_container {
	background: rgba(40, 64, 80, 0.5);
}
.popup_window {
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.5);
	border: 1px solid var(--cat-bar-border);
	background: #fff;
}
.popup_heading {
	color: #bf6900;
}
.popup_content {
	color: var(--in-but-sel-text-color);
	border: 1px solid #bbb;
	border-bottom: 1px solid #ddd;
	box-shadow: 0 -2px 3px rgba(0, 0, 0, 0.15), 0 1px 1px rgba(255, 255, 255, 0.2);
}
.generic_list_wrapper, .windowbg, .approvebg, .approvebg2 {
	background: var(--windowbg);
	border: 1px solid #ddd;
	box-shadow: 0 -2px 2px rgba(0, 0, 0, 0.1);
}

/* Here comes the glory... */
.windowbg:nth-of-type(even), .bg.even {
	background: var(--windowbg);
}
.windowbg:nth-of-type(odd), .bg.odd {
	background: var(--windowbg-odd);
}
#content_section {
    background-color: var(--content-section);
}

/* Add some hover on table rows */
tr.windowbg:hover {
	background: #e2eef8;
}

/* Nobody wants locked topics to stand out much. */
.windowbg.locked {
	background: var(--windowbg-locked);
}

/* Sticky topics get a different background */
.windowbg.sticky {
	background: var(--windowbg-sticky);
}

/* Locked AND sticky are a bit more technical */
.windowbg.sticky.locked {
	background: #e8d8cf;
}

/* Awaiting approval is a bit special, topics first */
.windowbg.approvetopic {
	background: #e4a17c;
}

/* Unapproved posts in approved topics */
.windowbg.approvepost {
	background: #ffcbcb;
}
.generic_list_wrapper table.table_grid {
	border-bottom: 1px solid #aaa;
}

/* Colors for background of posts requiring approval */
.approvebg {
	color: var(--in-but-sel-text-color);
	background: #ffeaea;
}
.approvebg2 {
	color: var(--in-but-sel-text-color);
	background: #fff2f2;
}

/* BoardIndex */
/* This place covers board places (boardindex/messageindex/recent) */
.boardindex_table .board_stats p {
	border-left: 1px solid #ddd;
	border-right: 1px solid #ddd;
}
.info .subject {
	color: #a85400;
}
.up_contain {
	border: 1px solid #ddd;
}

/* Child boards */
.children {
	border-top: 1px solid #ddd;
}

/* Info Center */
#info_center .sub_bar {
	border-top: 1px solid #ddd;
}
#ic_recentposts td {
	border-top: 1px solid #eaeaea;
}
#ic_recentposts .recenttime strong {
	color: var(--fieldset-legend);
}

/* MessageIndex */
/* Topic list */
#topic_container .windowbg {
	border: 1px solid #ddd;
}

/* poster details and list of items */
.poster h4, .poster h4 a, .poster li:hover h4 a, .poster h4 a:hover .poster li h4 a, .poster h4 a:focus {
	color: var(--poster-h4-a);
}

/* @todo Re-code this a bit to give background on anchor. */
.poster li.poster_online a {
	color: var(--poster-h4-a);
}
.keyinfo h5 a, .keyinfo h5 a strong {
	color: var(--keyinfo-h5-a);
}
.keyinfo h5 .modified {
	color: #333;
}
.subject_title a {
	color: #333;
}
.page_number {
	color: var(--page-number);
}
.inner {
	border-top: 1px solid #bfbfbf;
	box-shadow: 0 1px 0 #fff inset;
}
#post_settings, #postAttachment, #postAttachment2 {
	border-top: 1px solid #ddd;
}
#post_draft_options {
	background: var(--windowbg-odd);
	border: 1px solid #aaa;
	border-left: 1px solid #bbb;
}
#post_draft_options .settings dd, #post_draft_options .settings dt {
	border-top: 1px solid #e4e4e4;
}
#post_draft_options .settings strong {
	color: var(--fieldset-legend);
}

/* All the signatures used in the forum. If your forum users use Mozilla, Opera, or Safari, you might add max-height here ;). */
.signature, .attachments, .under_message,
.custom_fields_above_signature,
.custom_fields_below_signature {
	border-top: 1px solid #bfbfbf;
	box-shadow: 0 1px 0 #fff inset;
}

/* General Classes */
/* Cat_bar / catbg */
div.cat_bar {
	background: var(--cat-bar-bg);
	border-bottom: 1px solid var(--cat-bar-border);
	box-shadow: 0 16px 20px rgba(255, 255, 255, 0.15) inset;
	text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.2);
}

/* Styles for rounded headers. */
.cat_bar .desc {
	color: #fff;
}
h3.catbg, h3.catbg a, h3.catbg a:hover {
	color: #fff;
}
h3.catbg a:hover {
	text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.4);
}

/* Roundframe */
.roundframe {
	background: var(--roundframe);
	border: 1px solid #c5c5c5;
	box-shadow: 0 -2px 2px rgba(0, 0, 0, 0.1);
}

/* TitleBar & SubBar */
.title_bar {
	border: 1px solid #ddd;
	border-top: 2px solid #ff9400;
	border-bottom: 2px solid #bf6900;
	background: var(--title-bar-bg);
	color: var(--title-bar-color);
}
.sub_bar {
	border-bottom: 1px solid #ddd;
	box-shadow: 0 -1px 0 var(--disabled-color) inset;
}
h3.titlebg, h4.titlebg, .titlebg, h3.subbg, h4.subbg, .subbg {
	color: var(--fieldset-legend);
}
.titlebg a, .subbg a {
	color: var(--fieldset-legend);
}

/* Other */
/* Information */
.information {
	background: var(--windowbg);
	border: 1px solid #ddd;
}
#topic_icons .information,
#messageindex .information {
	border-top: 1px solid #ddd;
}

/* Mentions */
.atwho-view {
	background: #fff;
	border: 1px solid #ddd;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
.atwho-view .cur {
	background: #3366ff;
	color: #fff;
}
.atwho-view .cur small {
	color: #fff;
}
.atwho-view strong {
	color: #3366ff;
}
.atwho-view .cur strong {
	color: #fff;
}
.atwho-view ul li {
	border-bottom: 1px solid #ddd;
}
.atwho-view small {
	color: var(--cat-bar-border);
}
/* On/Off Icons (User) */
.on {
	background: #89e75a;
	border-color: #74d246;
}
.off {
	background: #a7a2a2;
	border-color: #969292;
}

/* Topic/Board follow-alert menu */
.notify_dropdown a:hover {
	background: var(--disabled-bg);
}

/* Some new stuff */
#display_head p {
	color: #959595;
}

/* Some colors for generic usage */
/* Sometimes there will be an error when you post */
/* Messages that somehow need to attract the attention. */
.red, .meaction,
.error, .alert, .warn_mute {
	color: red;
}
.blue {
	color: blue;
}
.green {
	color: green;
}

/* Alternating colors */
.stripes:nth-of-type(even) {
	background-color: #f2f2f2;
}
.stripes:nth-of-type(odd) {
	background-color: var(--windowbg);
}
.alternative {
	background-color: #f2f2f2;
}
.alternative2 {
	background-color: #e8edf0;
}

#alerts tr.windowbg td {
	border-right: 1px solid #ddd;
}

/* Two-Factor Auth code container */
.tfacode {
	background: #d0e7f8;
}

/* Responsive Youtube embed */
.backtrace:not(:last-child) {
	border-bottom: 1px solid #ddd;
}

.ssi_table thead {
    background-color: var(--ssi-table-head);
}