/*
A regex to find non-grey colour values:
#([0-9a-f])(?:(?!\1)[0-9a-f]{2}|([0-9a-f])(?!\2)[0-9a-f])\b|#([0-9a-f]{2})(?:(?!\3)[0-9a-f]{4}|([0-9a-f]{2})(?!\4)[0-9a-f]{2})\b|rgba\((\d+), ?(?:(?!\5)\d+, ?\d+|(\d+), ?(?!\6)\d+)(?:, ?[\d.]+)\)
*/
/* @import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300i,400,400i,500,500i,700,700i'); */
/* @import url('https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,500,500i,700,700i'); */
/* @import url('https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,500,500i,700,700i'); */
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=Julius+Sans+One&family=Oswald:wght@500&display=swap');

/* Index */
html {
	/* background: #3e5a78; */
	height: 100%;
	min-width: 320px;
	-webkit-text-size-adjust: none;
	-moz-text-size-adjust: none;
	-ms-text-size-adjust: none;
}
body {
	/* font: 14px/150% "Segoe UI", "Helvetica Neue", "Nimbus Sans L", Arial, "Liberation Sans", sans-serif; */
	/* font: 15px/150% "Source Sans Pro", "Helvetica Neue", Arial, sans-serif; */
	/* font: 16px/150% "Roboto", "Helvetica Neue", Arial, sans-serif; */
	/* font: 16px/150% "Open Sans", "Helvetica Neue", Arial, sans-serif; */
	font: 16px/150% "Josefin Sans", "Helvetica Neue", Arial, sans-serif;
	font-weight: 300;
	margin: 0;
	padding: 0;
	min-height: 100vh;
	position: relative;
	display: flex;
	flex-flow: column nowrap;
}
/* <p> is a possible exception for margins. Must test that one a bit. */
p, ul, ol, li, dl, dd ,dt, fieldset, form {
	box-sizing: border-box;
	padding: 0;
	margin: 0;
}
ul, ol {
	list-style: none;
}
ul.normallist {
	list-style-type: disc;
	padding: 0 0 0 15px;
}
table {
	empty-cells: show;
}
abbr {
	border-bottom: 1px dotted;
	font-variant: none; /* Some browsers apparently render abbr in small caps by default */
}
input, button, select, textarea, textarea.editor {
	color: #000;
	box-sizing: border-box;
	/* font: 83.33%/150% "Segoe UI", "Helvetica Neue", "Nimbus Sans L", Arial, "Liberation Sans", sans-serif; */
	background: #fff;
	outline: none !important;
	border: 1px solid #bbb;
	vertical-align: middle;
	/* border-radius: 3px; */
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05) inset;
	padding: 3px;
}
input[type="search"] {
	-moz-appearance: none;
	-webkit-appearance: none;
}
/* Remove default mozilla dotted borders */
input[type="submit"]::-moz-focus-inner, button::-moz-focus-inner {
	border: 0;
}
/* This is a specific issue on Ubuntu - Chrome */
#chrome input {
	font: 83.33%/150% "Helvetica Neue", Arial, sans-serif;
}
/* The following is necessary. */
textarea, textarea.editor {
	font-size: 16px;
}

/* Use a consistent monospace font everywhere */
.monospace, .bbc_code, .phpcode, pre, #error_log span.error_message, #backtrace span.error_message {
	font-family: "DejaVu Sans Mono", Menlo, Monaco, Consolas, monospace;
}

.sceditor-container textarea, .sceditor-container textarea:focus {
	box-shadow: none;
}
#quick_edit_body_container {
	font-size: initial;
}
#quick_edit_body_container textarea,
.move_topic textarea,
dd textarea {
	width: 100%;
	min-height: 100px;
}
/* Apply the font only to these elements. */
input, button, select {
	font-size: 1em;
	max-width: calc(100% - 2px);
}
button, .button, select {
	font-family: "Josefin Sans", "Helvetica Neue", Arial, sans-serif;
}
/* Number inputs don't support size nor width, so add some common ones here and set a default... */
input[type="number"] {
	padding-right: 0; /* Removes weird white space after arrows in some browsers */
	width: calc(4ch + 15px + 0.8em);
}
input[type="number"][size="2"], input[type="number"][size="1"] {
	width: calc(2ch + 15px + 0.8em);
}
input[type="number"][size="3"] {
	width: calc(3ch + 15px + 0.8em);
}
input[type="number"][size="5"] {
	width: calc(5ch + 15px + 0.8em);
}
input[type="number"][size="6"] {
	width: calc(6ch + 15px + 0.8em);
}
/* Height fixation */
input, select, .button {
	height: 25px;
}
select {
    padding: 2px;
    font-size: smaller;
}
select option {
	padding: 0 4px;
}
select[size], input[type="checkbox"], input[type="radio"] {
	height: auto;
}
input:hover, textarea:hover, button:hover, select:hover {
	outline: none !important;
	border: 1px solid #999;
}
textarea:hover, textarea.editor:hover {
	background: #fbfbfb;
}
input:focus, textarea:focus, button:focus, select:focus, textarea.editor:focus {
	outline: none !important;
	border: 1px solid #999;
	box-shadow: 0 2px 5px rgba(0,0,0,0.1) inset;
}
/* Fieldsets are used to group elements. */
fieldset {
	padding: 18px;
	margin: 0 0 6px 0;
	border: 1px solid #ddd;
	/* border-radius: 3px; */
}
fieldset legend {
	font-weight: bold;
	color: #555;
	box-shadow: none;
	border: none;
}

/* Define strong as bold, and em as italics */
/* Note: in some particular places, strong has been redefined as font-weight: 600; */
/* This gives a better effect for those areas, and will default to bold for fonts which do not support numerical font-weight. */
strong, .strong {
	font-weight: bold;
}
.cat_bar strong {
	color: #fff;
}
em, .em {
	font-style: italic;
}
/* Default <strong> color on these tags. */
h1, h2, h3, h4, h5, h6 {
	font-size: 1em;
	margin: 0;
	padding: 0;
	line-height: 1.1em;
	font-family: "Julius Sans One", "Helvetica Neue", Arial, sans-serif;
}
/* All input elements that are checkboxes or radio buttons shouldn't have a border around them. */
input[type="checkbox"], input[type="radio"] {
	border: none;
	background: none;
	vertical-align: middle;
	box-shadow: none;
	margin: 0 3px;
}
.moderationbuttons_mobile_check {
	display: none;
}
/* Give disabled input elements a different background color. */
input[disabled], textarea[disabled], select[disabled], .button.disabled, .button[disabled]:hover {
	background: #eee;
	color: #999;
	border-color: #b6b6b6;
	opacity: 0.8;
	cursor: default;
}
/* Standard horizontal rule.. ([hr], etc.) */
hr {
	border: none;
	border-bottom: 1px solid #ddd;
	margin: 12px 0;
	height: 2px;
}
/* This is about links */
a:link, a:visited, a.new_win:link, a.new_win:visited {
	text-decoration: none;
}
a:hover, a.new_win:hover {
	/* text-decoration: underline; */
	cursor: pointer;
}

/* Help popups require a different styling of the body element. */
/* Deprecated? */
body#help_popup {
	padding: 12px;
	box-sizing: border-box;
}

#likes li {
	clear: both;
	display: flex;
	align-items: center;
}
#likes li:not(:last-of-type) {
	margin-bottom: 10px;
}

#likes .avatar {
	height: 45px;
	width: 45px;
	vertical-align: middle;
	margin-right: 10px;
	object-fit: cover;
	/* border-radius: 100%; */
	flex: 0 0 auto;
}
#likes span {
	display: inline-block;
	vertical-align: middle;
	flex: 1 1 auto;
}
#likes li .like_time {
	padding: 4px 0;
	flex: 0 0 auto;
	max-width: 33%;
	text-align: right;
}

#likes .description {
	font-style: italic;
	opacity: 0.4;
	font-size: 0.9em;
	display: block;
}

.like_button, .like_count {
	line-height: 24px;
}
.like_button a, .like_count a {
	/* color: #000; */
}

/* Buttons should be styled a bit differently, in order to make them look more button'ish. */
#frmLogin input.button, #guest_form input.button, #calendar_navigation input.button, #mergeSelectBoard input.button {
	float: none;
	margin-left: inherit;
}
/* the new "button" */
.new_posts {
	/* color: #fff; */
	font-weight: bold;
	line-height: 1.12px;
	/* border-radius: 2px; */
	/* background: #b00; */
	display: inline-block;
	line-height: 1.3em;
	margin: -0.3em 2px 0 4px;
	padding: 0 4px 1px;
	font-size: 0.7em;
	font-family: verdana, sans-serif;
	/* @todo Might add extra fallbacks. Possibly monospace. */
	box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.1), 0 -2px 4px rgba(0, 0, 0, 0.1) inset;
	vertical-align: middle;
}
.new_posts:hover {
	/* background: #f00; */
}

/* Common classes to easy styling.
------------------------------------------------------- */
.floatright {
	float: right;
}
.floatleft {
	float: left;
}
.floatnone {
	float: none;
}
.flow_auto {
	overflow: auto;
}
.flow_hidden {
	overflow: hidden;
}
.clear {
	clear: both;
}
.clear_left {
	clear: left;
}
.clear_right {
	clear: right;
}

/* Default font sizes: small (8pt), normal (10pt), and large (14pt). */
.smalltext, tr.smalltext th {
	font-size: 0.9em;
}
.largetext {
	font-size: 1.4em;
}
h3.largetext {
	font-size: large;
}
.xlargetext {
	font-size: x-large;
}
.centertext, .centercol {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.righttext {
	margin-left: auto;
	margin-right: 0;
	text-align: right;
}
.lefttext {
	margin-left: 0;
	margin-right: auto;
	text-align: left;
}
.double_height {
	line-height: 2em;
}
/* some common padding styles */
.padding {
	padding: 8px;
}
.main_section, .lower_padding {
	padding-bottom: 6px;
}
.half_content {
	box-sizing: border-box;
	width: 50%;
	display: inline-block;
	vertical-align: top;
}
.half_content:nth-of-type(odd) {
	margin-right: -0.25em;
	padding-right: 0.3%;
}
.half_content:nth-of-type(even) {
	margin-left: -0.2em;
	padding-left: 0.3%;
}

/* Blockquote stylings */
blockquote {
	margin: 0 0 1em 0;
	padding: 6px 10px;
	/* font-size: 0.9em; */
	/* border: 1px solid #eee; */
	border-left: 2px solid #aaa;
	/* border-right: 2px solid #aaa; */
}
blockquote cite {
	display: block;
	border-bottom: 1px solid #aaa;
	font-size: 0.9em;
}
blockquote cite::before {
	color: #aaa;
	font-size: 22px;
	font-style: normal;
	content: '\275D';
	margin-right: 5px;
}
.bbc_standard_quote {
	/* background-color: #e0e6f6; */
}
.bbc_alternate_quote {
	/* background-color: #ebf4f8; */
}

/* A code block - maybe PHP ;). */
.bbc_code {
	display: block;
	font-size: 0.85em;
	background: #f3f3f3;
	border: 1px solid #dfdfdf;
	border-top: 2px solid #bbb;
	border-bottom: 3px solid #aaa;
	/* border-radius: 2px; */
	margin: 1px 0 6px 0;
	padding: 3px 12px;
	overflow: auto;
	white-space: nowrap;
	max-height: 25em;
}
/* The "Quote:" and "Code:" header parts... */
.codeheader, .quoteheader {
	color: #666;
	font-size: 0.9em;
	padding: 0 2px;
}
/* For links to change the code stuff... */
.codeoperation {
	font-weight: normal;
}
/* Expand code bbc */
.expand_code {
	max-height: none;
}
/* Let's get a bit more flexibility in font sizes for quotes and code. */
/* We just need to stop em compounding when elements are nested. */
.bbc_standard_quote .bbc_alternate_quote, .bbc_alternate_quote .bbc_standard_quote,
.bbc_standard_quote .bbc_code, .bbc_alternate_quote .bbc_code, .bbc_standard_quote .codeheader,
.bbc_alternate_quote .codeheader, .bbc_standard_quote .quoteheader, .bbc_alternate_quote .quoteheader {
	font-size: 1em;
}
/* Styling for BBC tags */
.bbc_link:link, .bbc_link:visited {
	/* border-bottom: 1px solid #b00; */
	/* font-weight: 400; */
}
.bbc_link:hover {
	text-decoration: none;
	/* border-bottom: 1px solid #f00; */
}
.bbc_size {
	line-height: 1.4em;
}
.bbc_color a {
	color: inherit;
}
.bbc_img, .atc_img {
	border: 0;
	max-width: 100%;
}
.bbc_table {
	font: inherit;
	color: inherit;
	border-collapse: collapse;
}
.bbc_table td {
	font: inherit;
	color: inherit;
	vertical-align: top;
	padding: 5px;
	border: 1px dotted #ddd;
}
.bbc_list {
	text-align: left;
	padding: 0 0 0 35px;
	list-style-type: inherit;
}
.bbc_list li {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}
.bbc_float {
	padding-bottom: 1em;
	/* default max-width to use if none was specified in the BBC */
	max-width: 45%;
	background: inherit;
	box-sizing: border-box;
}
.bbc_float.floatleft {
	padding-right: 1em;
	clear: left;
}
.bbc_float.floatright {
	padding-left: 1em;
	clear: right;
}
.postarea .bbc_img.resized:hover {
	cursor: pointer;
}
.bbc_img.original_size {
	height: auto !important;
	width: auto !important;
	max-height: none;
	max-width: 100%;
}
/* No image should have a border when linked. */
a img {
	border: 0;
}

/* Those collapse and expand icons are wonderful. */
.toggle_up::before, .toggle_down::before {
	width: 17px;
	height: 17px;
	display: inline-block;
	background: url(../images/toggle.png) no-repeat 0 0;
	overflow: hidden;
	content: '';
	vertical-align: middle;
	margin: -5px 5px 0 5px;
}
.toggle_down::before {
	background-position: 0 -17px;
}

/* Generally, those [?] icons. This makes your cursor a help icon. */
.help {
	cursor: help;
}
.help .icon {
	margin: 0;
	cursor: help;
	opacity: 0.8;
}
.help .icon:hover {
	opacity: 1;
}
/* /me uses this a lot. (emote, try typing /me in a post.) */
.meaction {
	color: #f00;
}

/* Highlighted text - such as search results. */
.highlight {
	font-weight: bold;
	background: yellow;
	padding: 0 2px;
}

/* the page navigation area */
.amt, .pagelinks > *:not(.pages) {
	font-family: "Helvetica Neue", Arial, sans-serif;
}
.pagesection {
	font-size: 0.9em;
	line-height: 1.5em;
	padding: 2px 0;
	/* overflow: hidden; */
	margin: 0;
	clear: both;
	flex: 1 1 auto;
}
.pagesection::after {
	content: "";
	display: block;
	clear: both;
}
.pages::after, .jump_to::after, .code::after,
strong[id^='child_list_']::after {
	content: ": ";
}
.pages {
	margin-left: 7px;
}
#content_section .pagesection {
	margin: 4px 0 0 0;
}
.pagelinks {
	margin: 9px 1ch 9px 0;
	display: flex;
	flex-flow: row wrap;
}
.nav_page {
	margin: 0 6px;
	flex: 0 1 auto;
}
.expand_pages {
	font-weight: bold;
	cursor: pointer;
}
.current_page {
	padding: 0 6px;
	border-radius: 1em;
}
.pages + .current_page {
	margin-left: 6px;
}
.codeoperation::before {
	content: "[";
}
.codeoperation::after {
	content: "]";
}
/* Go up and go down links. */
.topbottom {
	display: block;
	cursor: pointer;
	/* border: 1px solid #ddd; */
	border-right: 1px solid #ddd;
	/* border-bottom: 1px solid #aaa; */
	/* border-radius: 3px; */
	/* box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1); */
	padding: 0 10px 0 0;
	margin: 8px 8px 0 0;
	color: #000;
}
.topbottom:hover {
	text-decoration: none;
	/* color: #af6700; */
	/* 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; */
}

/* Posts and personal messages displayed throughout the forum. */
.post {
	overflow: auto;
	padding: 1px 0;
	flex: 1 0 auto;
	background: inherit;
}

/* Sometimes there will be an error when you post */
/* Messages that somehow need to attract the attention. */
.error, .alert {
	color: #f00;
}

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

.event {
	/* color: #078907; */
}

.holiday > span {
	color: #005cff;
}
/* Events that are currently selected on the calendar. Won't see it much, probably. */
.sel_event {
	font-weight: bold;
}

/* Colors for warnings */
.warn_mute {
	color: #f00;
}

.warn_moderate {
	color: #ffa500;
}

.warn_watch, .success {
	color: #008000;
}

a.moderation_link, a.moderation_link:visited {
	font-weight: bold;
	padding: 0px 8px;
	background: #ff4743;
	color: #fff !important;
	border-radius: 10px;
}
/* AJAX notification bar
------------------------------------------------------- */
#ajax_in_progress {
	background: #fff;
	/* border-bottom: 4px solid #f96f00; */
	/* color: #f96f00; */
	text-align: center;
	font-size: 1.6em;
	padding: 8px;
	width: 100%;
	line-height: 25px;
	position: fixed;
	top: 0;
	left: 0;
}

#ajax_in_progress a {
	/* color: #ffa500; */
	text-decoration: underline;
	font-size: 0.9em;
	float: right;
	margin-right: 20px;
}

/* Lists with settings use these a lot.
------------------------------------------------------- */
dl.settings {
	clear: right;
	overflow: auto;
	margin: 0 0 10px 0;
	padding: 5px;
}
dl.settings dt {
	width: 56%;
	float: left;
	margin: 0 0 3px 0;
	clear: both;
}
dl.settings dt.windowbg {
	width: 98%;
	float: left;
	margin: 0 0 3px 0;
	padding: 0 0 5px 0;
	clear: both;
}
dl.settings dd {
	width: 42%;
	float: right;
	margin: 0 0 10px 0;
}
dl.settings img {
	margin: 0 10px 0 0;
	vertical-align: middle;
}

/* a general table class */
table.table_grid {
	border-collapse: collapse;
	margin: 1px 0 5px 0;
	width: 100%;
}
table.table_grid td {
	padding: 3px;
}
/* Some predefined widths (mostly for tables) */
.table_grid.half_content, .half_table {
	width: 50%;
}
.equal_table {
	width: 33%;
}
.quarter_table {
	width: 25%;
}
.small_table {
	width: 10%;
}
.table_icon {
	width: 5%;
}

.title_bar th {
	/* padding: 4px 3px 3px 8px; */ /* This was changed in Curve2, but I need to test on VCan */
	padding: 4px 8px;
}
.title_bar .sort_down, .title_bar .sort_up {
	margin: -3px 0 0 2px;
}

/* GenericList */
.additional_row {
	padding: 6px 0 6px 0;
}
.additional_row::after {
	content: "";
	display: block;
	clear: both;
}
img.sort, .sort {
	margin-bottom: -4px;
	margin-left: 4px;
}

/* table_grid styles for Profile > Show Permissions. */
#permissions table.table_grid td {
	padding: 5px 10px;
	cursor: default;
}

.postbg {
	border-left: 1px solid #7f7f7f;
	border-right: 1px solid #7f7f7f;
}

/* Styles used by the auto suggest control.
------------------------------------------------------- */
.auto_suggest_div {
	position: absolute;
	visibility: hidden;
	/* border-radius: 3px; */
	outline: none !important;
	border: 1px solid #bbb;
	z-index: 100;
}
.auto_suggest_item {
	background: #ddd;
	padding: 1px 4px;
}
.auto_suggest_item_hover {
	background: #888;
	cursor: pointer;
	color: #eee;
	padding: 1px 4px;
}

/* Styles for the standard dropdown menus.
------------------------------------------------------- */
.dropmenu, #top_info , #site_menu {
	position: relative;
	box-sizing: border-box;
}
.dropmenu {
	margin: 5px 0;
}
/* Level 1 button background. */
.dropmenu li,
#top_info > li,
#site_menu > li,
.button_search {
	display: inline-block;
	padding: 0 10px;
	font-size: 0.9em;
	line-height: 1.9em;
}
.generic_menu .dropmenu > li,
#adm_submenus .dropmenu > li {
	padding: 0;
	display: table-cell;
}
#top_info > li > a,
#site_menu > li > a,
.button_search > a,
#site_nav_toggle  {
	line-height: 60px;
}
/* For cases where we want to spotlight something specific to an item, e.g. an amount */
.amt {
	margin-left: 3px;
	padding: 0 5px;
	border-radius: 8px;
}
#top_info > li > a .amt,
#site_menu > li > a .amt,
#site_nav_toggle .amt {
	position: absolute;
	line-height: normal;
	top: 22%;
	right: -2ch;
}
#top_info .top_menu.visible {
	display: block;
}
/* Needed for new PM notifications. */
.dropmenu li strong {
	/* color: #333; */
}

.dropmenu li a,
#top_info li > a,
#site_menu li > a {
	display: inline-block;
}
.dropmenu > li > a,
#top_info > li > a,
#site_menu > li > a {
	/* text-transform: uppercase; */
	white-space: nowrap;
	position: relative;
	/* font-weight: bolder; */
}
/* Level 1 active button. */
.dropmenu li a.active,
#top_info li a.active,
#site_menu li a.active {
	box-shadow: 0 5px 5px rgba(255, 255, 255, 0.2) inset;
}
/* Level 1 hover effects. */
.dropmenu li a:hover,
.dropmenu li:hover a,
.dropmenu li a:focus,
#top_info > li > a:hover,
#site_menu > li > a:hover,
#top_info > li:hover > a,
#site_menu > li:hover > a,
#top_info > li > a.open ,
#site_menu > li > a.open {
	cursor: pointer;
	text-decoration: none;
}
/* Level 1 active button. */
.dropmenu li a.active:hover, .dropmenu li:hover a.active {
	box-shadow: 0 5px 5px rgba(255,255,255,0.2) inset;
}
/* Level 2 menu button */
.dropmenu .subsections .menu_toggle {
	display: block;
}

/* User information. */
#profile_menu_top {
	text-transform: none !important;
	height: 60px;
	display: inline-flex !important;
	align-items: center;
}
#profile_menu_top::after {
	/* content: ' \25BC'; */
}
.profile_user_info, .profile_user_avatar {
	display: inline-block;
	margin: 0 9px;
	vertical-align: middle;
}
.profile_user_avatar > a {
	display: block;
	width: 100%;
	height: 100%;
}
.profile_user_avatar img.avatar {
	width: 65px;
	height: 65px;
}
.profile_username {
	font-size: 150%;
	display: block;
}
.profile_user_links ol {
	margin: 0 10px;
	clear: both;
	columns: 135px;
}
.profile_user_links li {
	padding: 5px 0;
	display: inline-block;
}
.top_menu .button {
	float: none;
}
.top_menu.scrollable {
	max-height: 30em;
	min-height: 7em;
	width: 320px;
	box-sizing: border-box;
}
.pm_unread, .alerts_unread {
	max-height: 20em;
	overflow-y: scroll;
	padding: 0.5em 0;
}
.alert_bar, .pm_bar {
	padding-bottom: 0.5em;
	border-bottom: 1px solid #ddd;
	position: relative;
}
.alert_bar::after,
.pm_bar::after {
	content: "";
	display: block;
	position: absolute;
	height: 1em;
	width: 100%;
	background-image: linear-gradient(to top, rgba(255, 255, 255, 0), white);
	bottom: calc(-1em - 1px);
	z-index: 1;
}
.unread_links {
	position: relative;
	border-top: 1px solid #ddd;
	padding-top: 0.5em;
}
.unread_links::before,
#pm_menu::after {
	content: "";
	display: block;
	position: absolute;
	height: 1em;
	width: 100%;
	background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), white);
	z-index: 1;
}
.unread_links::before {
	top: calc(-1em - 1px);
}
#pm_menu::after {
	width: calc(100% - 1em);
	bottom: 0;
}
.unread_notify {
	border-bottom: 1px solid #ddd;
}
.no_unread {
	margin-top: 5px;
	text-align: center;
}
.unread_notify:hover {
	background: #eee;
	text-decoration: none;
}
.unread_notify:last-child {
	border-bottom: none;
}
.unread_notify {
	display: flex;
	align-items: center;
	padding: 6px 5px;
	line-height: 20px;
}
.unread_notify.alert_read {
	opacity: 0.5;
	outline: none;
	filter: grayscale(1);
}
.unread_notify strong {
	font-weight: 600;
}
.unread_notify .avatar {
	width: 40px;
	height: 40px;
	margin: 4px 4px 4px 0;
	display: inline-block;
	color: transparent; /* For broken images */
	vertical-align: bottom;
}
.unread_notify_image {
	position: relative;
	width: 44px;
	margin-right: 4px;
	text-align: center;
}
.unread_notify_image span.alert_icon {
	display: block;
	line-height: 1em;
	margin-left: auto !important;
	margin-right: auto !important;
}
.unread_notify_image .avatar + .alert_icon {
	position: absolute;
	right: 0;
	top: 0;
}
.unread_notify .details {
	display: inline-block;
	vertical-align: top;
	max-width: calc(100% - 48px);
}
#pm_menu .subject {
	font-weight: bold;
}
/* Levels 2 and 3 submenu wrapper. */
.dropmenu li ul, .top_menu {
	z-index: 90;
	position: absolute;
	display: none;
	width: 19.2em;
	padding: 0.5em;
	font-weight: normal;
	border: solid 1px #999;
	border-left: solid 1px #bbb;
	border-top: solid 1px #ccc;
	box-shadow: 3px 3px 4px rgba(0, 0, 0, 0.3);
	background: #ffffff;
}
/* Level 2 link background. */
.dropmenu li li {
	margin: 0;
	padding: 0;
	display: block;
	font-size: 1em;
}
/* Necessary to allow highlighting of 1st level while hovering over submenu. */
.dropmenu li:hover li a, .dropmenu li li a {
	background: none;
	padding: 0 9px;
	/* color: #000; */
	border: none;
	line-height: 2.2em;
	position: relative;
}
.dropmenu li li a:only-child {
	display: block;
}
.dropmenu li li a > img {
	vertical-align: middle;
}
/* The profile/pm menus are declared off .dropmenu li ul for consistency but have other characteristics. */
.top_menu,
#search_submenu {
	width: 320px;
	box-sizing: border-box;
	right: 0;
}
.top_menu .login {
	width: 100%;
}
.top_menu .login dt {
	text-align: left;
	width: 55%;
}
.top_menu .login dd {
	width: 43%;
}
.top_menu .login input {
	width: 90%;
}
.top_menu li.menu_section {
	margin-top: 7px;
	padding-top: 9px;
	border-top: 1px solid #ddd;
	clear: both;
}
/* Note: The next declarations are for keyboard access with js disabled. */
.dropmenu ul a:focus, .dropmenu ul ul a:focus {
	margin-left: 9990px;
	border: none;
	width: 17em;
}
.dropmenu ul ul a:focus {
	margin-left: 19950px;
}
/* Cancel those for hover and/or js access. */
.dropmenu ul li:hover a:focus, .dropmenu ul li a:focus {
	margin-left: 0;
	width: auto;
}
/* Level 3 submenu wrapper positioning. */
.dropmenu li ul ul {
	/* margin: -2em 0 0 15.3em; */
	position: static;
	width: initial;
	margin: 0 0 0 16px;
	padding: 0 7px;
	border: 0;
	border-left: 1px solid #ddd;
	box-shadow: none;
}
/* Level 3 maintains font-size the same as Level 2. */
.dropmenu li li li a {
	font-size: 1em;
}
/* Levels 2 and 3 hover effects. */
.dropmenu li li:hover {
	border: none;
}
.dropmenu li li:hover > a, .dropmenu li li a:focus, .dropmenu li li a:hover {
	/* color: #333; */
	text-decoration: none;
}
/* Highlighting of current section */
.dropmenu li li a.chosen {
	font-weight: bold;
}

/* The extra menu rows for admin sections, etc. */
#adm_submenus {
	margin: 0 0 6px 0;
	overflow: hidden;
}

/* Styles for the standard button lists.
------------------------------------------------------- */
.buttonlist, .buttonrow {
	/* z-index: 100; */
	position: relative;
	margin: 4px 0;
}
.button,
.generic_menu .dropmenu > li > a,
#adm_submenus .dropmenu > li > a {
	display: inline-block;
	text-transform: uppercase;
	cursor: pointer;
	border-left: 1px solid #ddd;
	border-top: 1px solid #ddd;
	border-right: 1px solid #bbb;
	border-bottom: 1px solid #aaa;
	/* border-radius: 3px; */
	box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
	padding: 0 0.6em;
	margin: 0 0 0 5px;
	overflow: visible;
	/* color: #444; */
	font-size: 0.8em;
	font-weight: normal;
	height: 2.1em;
	line-height: 2.4em;
}
.generic_menu .dropmenu > li > a,
#adm_submenus .dropmenu > li > a {
	margin: 0;
	float: none;
}
/* Keep a consistent size when wrapped in pagesection. */
.pagesection .button {
	/* font-size: 0.889em; */
}
.pagelinks .button {
	display: none;
}
.button:hover,
.generic_menu .dropmenu > li > a:hover,
#adm_submenus .dropmenu > li > a:hover {
	/* color: #f00; */
	text-decoration: none;
	/* border-left: 1px solid #bbb; */
	/* border-top: 1px solid #aaa; */
	/* border-right: 1px solid #ddd; */
	/* border-bottom: 1px solid #ddd; */
	/* box-shadow: -1px -1px 2px rgba(0, 0, 0, 0.07), -1px -2px 4px rgba(255, 255, 255, 0.33) inset; */
	box-shadow: none;
}
/* the active one */
.button.active,
.generic_menu .dropmenu > li > a.active,
#adm_submenus .dropmenu > li > a.active {
	/* background: #b00; */
	/* color: #fff; */
	font-weight: bold;
	/* border-left: 1px solid #a00; */
	/* border-top: 1px solid #a00; */
	/* border-right: 1px solid #900; */
	/* border-bottom: 1px solid #700; */
	text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
}
.button.active:hover,
.generic_menu .dropmenu > li > a.active:hover,
#adm_submenus .dropmenu > li > a.active:hover {
	/* border-left: 1px solid #900; */
	/* border-top: 1px solid #700; */
	/* border-right: 1px solid #f00; */
	/* border-bottom: 1px solid #f00; */
	/* color: #fff; */
	/* background: #f00; */
}
.button.last {
	margin-top: 9px;
}
/* In a .buttonrow, the buttons are joined together */
.buttonrow {
	margin-left: 5px;
	display: table;
}
.buttonrow .button {
	margin: 0;
}
.buttonrow .button:not(:first-child) {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}
.buttonrow .button:not(:last-child) {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

/* Styles for the general looks of the theme.
------------------------------------------------------- */
/* Do all these here to save repetition. */
#header, #top_section, #upper_wrap, #header .user,
#header .news, .navigate_section, #content_section, #main_content_section,
#footer {
	box-sizing: border-box;
}
/* A wrapper for keeping within a max width */
.mw_wrapper {
	width: 100%;
	/* max-width: 1200px; */
	max-width: 1000px;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
}
/* For breaking content out of .mw_wrapper */
.vw100 {
	width: 100vw;
	position: relative;
	left: 50%;
	margin-left: -50vw;
}

/* The framing graphics */
/* The top bar. */
#top_section {
	border-bottom: 1px solid #ddd;
	min-height: 50px;
	background: rgba(255, 255, 255, 0.5);
	clear: both;
	z-index: 5;
	position: relative;
}
.top_section_inner {
	background: #fff;
	min-height: 50px;
	font-size: 14px;
	position: relative;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	padding-left: 12px;
	padding-right: 12px;
}
#top_section::after {
	/* content: ""; */
	display: block;
	clear: both;
}
#top_info {
	/* margin: 11px 0; */
	/* padding: 5px 9px 4px 9px; */
	line-height: 1.3em;
	text-align: right;
}
#profile_menu_top > img.avatar {
	height: 2em;
	width: 2em;
	padding: 0;
	border-radius: 100%;
	border: 1px solid rgba(0, 0, 0, 0.4);
	box-sizing: border-box;
	position: relative;
	bottom: 0.15em;
}
/*#top_section ul li {
margin-bottom: 2px;
margin-right: 7px;
display: inline;
font-size: 0.9em;
}
*/
.notice {
	font-weight: bold;
}

#languages_form {
	padding: 1px;
}
.search_form {
	padding: 4px 0 0 0;
	/* text-align: right; */
	width: 100%;
	/* display: flex; */
	margin-bottom: 1px;
}
.search_form input[type="search"], .search_form select, .search_form .button {
	margin: 2px;
	background: #fff;
	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), -3px -3px 6px rgba(255,255,255,0.8) inset;
}
.search_form input[type="search"] {
	flex: 1 1 auto;
	/* min-width: 50%; */
	/* width: calc(100% - 4px); */
	/* box-sizing: border-box; */
}
.search_form select, #language_select {
	flex: 1 1 auto;
}
.search_form .button {
	/* color: #333; */
}
.search_form .button:hover {
	/* color: #a85400; */
	text-decoration: none;
}
/* The logo and slogan. */
#header {
	/* border-bottom: 1px solid #ddd; */
	background-size: cover;
	background-position: right top;
	background-repeat: no-repeat;
}
#header::after {
	content: "";
	display: block;
	clear: both;
}
/* Resize the logo if we must, so we do not get an oversized forum. */
#top > img {
	max-width: 100%;
}
/* The main title. */
h1.forumtitle {
	/* font-family: "interstate", sans-serif; */
	line-height: 10px;
	padding: 0;
	font-weight: normal;
	text-align: left;
	flex: 0 0 auto;
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	overflow: hidden;
}
#ie10 h1.forumtitle,
#ie11 h1.forumtitle {
	width: 224px;
}
img.logo_icon_normal,
svg.logo_icon_normal {
	height: 42px;
	width: auto;
	padding: 10px;
	position: relative;
}
img.logo_icon_alt,
svg.logo_icon_alt {
	height: 90px;
	width: auto;
	padding: 0px;
	position: relative;
}
body.action_home img.logo_icon_alt,
body.action_home svg.logo_icon_alt,
body:not(.action_home) img.logo_icon_normal,
body:not(.action_home) svg.logo_icon_normal {
	display: none;
}

/*
#siteslogan {
	min-height: 30vh;
	font-size: 3em;
	text-align: center;
	line-height: normal;
	display: flex;
	justify-content: center;
	align-items: center;
}
#siteslogan > div {
	border-radius: 20px;
	padding: 0 1ch;
}
#siteslogan > img,
#siteslogan > svg {
	height: 250px;
}
*/
.banner_slogan {
	/* background: linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.95) 15%, rgba(255, 255, 255, 0.95) 85%, rgba(255, 255, 255, 0.8)); */
	/* min-height: 30vh; */
	margin: 1em 0;
	font-size: 3em;
	text-align: center;
	line-height: normal;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
}
.banner_slogan_inner {
	display: flex;
	flex-flow: inherit;
	justify-content: inherit;
	align-items: inherit;
	border-radius: 20px;
}
.banner_slogan_text,
.banner_slogan_image {
	border-radius: 20px;
}
.banner_slogan_text {
	/* padding: 0 0.5ch; */
	font-family: "Oswald", "Helvetica Neue", Arial, sans-serif;
	font-size: 2.5em;
	font-weight: bolder;
	letter-spacing: 0.8rem;
}
.banner_slogan_image img,
.banner_slogan_image svg {
	height: 250px;
	flex: 0 0 auto;
}

.action_link_wrapper {
	/* font-size: 3em; */
	/* line-height: 1.1em; */
	text-align: center;
	font-weight: 200;
	flex: 1 0 auto;
	display: flex;
	flex-flow: column;
	justify-content: center;
	width: 100%;
	min-height: 2em;
	/* background: rgba(255, 255, 255, 0.8); */
}
.action_link_wrapper img {
	max-width: 100%;
}
.action_link_wrapper div {
	margin-top: 0.25em;
	margin-bottom: 0.25em;
}
.action_links {
	display: flex;
	flex-flow: row wrap;
	margin: auto;
}
.action_links li {
	display: inline-block;
}
.action_link {
	display: inline-block;
	padding: 0.5em 1ch;
	font-size: 1.5em;
	margin: 0.2em 0;
	color: #000;
	border: 1px solid #ddd;
	background: rgba(255, 255, 255, 0.9);
	border-radius: 1.2em;
}
.action_link_square {
	height: 17.5ch;
	width: 17.5ch;
	text-transform: uppercase;
}
.action_link_square * {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}
.action_link_square a.action_link {
	box-sizing: border-box;
}
.action_link:hover {
	/* color: #000; */
	/* background: #fff; */
	text-shadow: none;
}
#hero_banner .action_link {
	text-transform: uppercase;
}
.action_link .fa + .textmenu {
	padding-right: 1ch;
}
.banner_blurb_wrapper {
	width: 100%;
	display: flex;
	justify-content: center;
}
#blurb_wrapper {
	margin: 1em 0;
}
#below_blurb_wrapper {
	padding: 3em 1ch;
	border-bottom: 1px solid #ddd;
}
.banner_blurb_wrapper > div {
	margin: auto;
	font-size: 1.3em;
}
#blurb_wrapper > div {
	max-width: 600px;
	text-align: center;
}
.banner_blurb_wrapper .featured_content,
.banner_blurb_wrapper .featured_content_body {
	margin: auto;
	padding: 0;
	min-width: initial;
	min-height: initial;
	max-width: initial;
	align-items: center;
	flex: 1 1 auto;
}
.banner_blurb_wrapper .featured_content_image {
	background: none;
	border: none;
}
.banner_blurb_wrapper .featured_content h4 {
	margin: 1em 0;
}
#welcome_blurb {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: center;
}
#welcome_blurb > div {
	box-sizing: border-box;
	font-size: 1.7em;
	line-height: 1.2em;
	font-family: 'Roboto', sans-serif;
	font-variant: small-caps;
	font-weight: 300;
}
#welcome_blurb1 {
	max-width: 830px;
	flex: 1 1 auto;
}
#welcome_blurb2 {
	line-height: 1.5em;
	text-align: center;
	width: 200px;
	flex: 0 0 auto;
}
#welcome_blurb p {
	margin: 1em;
}
div#giant_logo {
	margin-top: 4vw;
	margin-bottom: 4vw;
}
/* Even guests need to be aligned */
.welcome {
	line-height: 44px;
	margin-right: 5px;
}
/*
/* The user info, news, etc.*/
#inner_section {
	padding: 12px;
	/* border-radius: 6px 6px 0 0; */
	background-color: rgba(255, 255, 255, 0.8);
}
#inner_section::after {
	content: "";
	display: block;
	clear: both;
}
/* The upper_section, float the two each way */
.user {
	/* width: 50%; */
	float: left;
	overflow: auto;
	padding: 0 4px 6px 0;
	font-size: 0.9em;
}
.user ul {
	padding: 0 0 5px 0;
	font-size: 0.9em;
	line-height: 1.8em;
}
ul li.greeting {
	font-weight: bold;
}
/* The login form. */
#guest_form {
	overflow: hidden;
	font-size: 0.9em;
	margin-left: -2px;
}
/* News section. */
#inner_section .news {
	max-width: 50%;
	float: right;
	margin: 4px 0 0;
	font-size: 0.9em;
	text-align: right;
}
#inner_section .news h2, #inner_section .news p {
	display: inline;
	padding: 0 0 0 4px;
}
.sidebar_block.news {
	text-align: center;
}
.sidebar_block.news img {
	max-height: 200px;
}

/* The navigation list (i.e. linktree) */
.navigate_section {
	float: left;
	/* width: 100%; */
}
#content_section .navigate_section {
	margin: 4px 0 0 0;
	padding: 0;
}
.navigate_section ul::before {
	content: attr(data-desc);
	margin-right: 1ch;
}
.navigate_section ul {
	margin: 4px 0 0 0;
	/* padding: 0 10px; */
	font-size: 0.9em;
	overflow: hidden;
	/* border: 1px solid #ddd; */
	/* border-radius: 2px; */
	/* box-shadow: 0 -2px 2px rgba(0, 0, 0, 0.08); */
	box-sizing: border-box;
}
.navigate_section ul li {
	display: inline;
	margin-top: 8px;
	padding-bottom: 3px;
	line-height: 1.1em;
	/* color: #444; */
	/* text-shadow: 1px 1px 0 #fff; */
}
.navigate_section ul li a, .navigate_section ul li em {
	padding: 4px 0 4px;
}
.dividers {
	padding: 0 1ch;
}
.navigate_section ul li .dividers {
	font: 83.33%/150% Arial, sans-serif;
	padding: 0 2px 0 6px;
}
.navigate_section ul li .board_moderators a {
	padding: 4px 0;
}
.navigate_section ul li .board_moderators {
	display: none;
}

/* The content section */
#content_section {
	padding: 0 12px 16px;
	/* padding: 0 12px; */
	clear: both;
	flex: 1 1 auto;
}
#content_section::after {
	content: "";
	display: block;
	clear: both;
}
#content_section > div:last-child:not(.windowbg):not(.windowbg2) {
	border-bottom: none;
}
#content_section > .vw100:last-child {
	margin-bottom: -1em;
}

/* Footer is now full-width by default. */
/* The footer with copyright links etc. */
#footer li.copyright {
	display: block;
	font-size: 12px;
	line-height: 1em;
}
#footer li.copyright span:only-child {
	font-size: 16px;
	line-height: 150%;
}

/* the posting icons */
#postbuttons_upper ul li a span {
	line-height: 19px;
	padding: 0 0 0 6px;
}
.mark_read {
	margin: -5px 0 16px 0;
	padding: 0;
	float: right;
}
.mark_read .buttonlist {
	margin: 0;
	padding: 0;
}

/* the small stats */
#index_common_stats {
	margin: -4px 8px 6px 8px;
	padding: 4px 0 0 0;
	font-size: 0.9em;
	border-top: 1px solid #ddd;
}

.fix_rtl_names {
	display: inline-block;
}

/* The quick buttons */
.quickbuttons {
	/* margin: 11px 0 0 0; */
	/* padding: 0 0 4px 0; */
	clear: right;
	float: right;
	text-align: right;
}
.quickbuttons li {
	float: left;
	display: inline;
	margin: 0;
	font-size: 0.9em;
	height: 1.9em;
	border: 1px solid #ddd;
	border-right: 1px solid #bbb;
	border-bottom: 1px solid #aaa;
	/* border-radius: 1px; */
	box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
	padding: 0 1px 0 1px;
	/* color: #000; */
	overflow: visible;
}
.quickbuttons li a {
	padding: 0 4px 0 5px;
	display: block;
	line-height: 1.9em;
	float: left;
}
.quickbuttons li a, .quickbuttons li a:hover {
	text-decoration: none;
	/* color: #000; */
}
.quickbuttons li:first-child, .quickbuttons li:first-child:hover {
	/* border-radius: 4px 1px 1px 4px; */
	padding-bottom: 0;
}
.quickbuttons li:last-child, .quickbuttons li:last-child:hover {
	/* border-radius: 1px 4px 4px 1px; */
	padding-bottom: 0;
	line-height: 1.9em;
}
.quickbuttons li:hover {
	border: 1px solid #ddd;
	border-right: 1px solid #bbb;
	border-bottom: 1px solid #aaa;
	/* border-radius: 1px; */
	box-shadow: 1px 1px 1px rgba(0,0,0,0.1);
}
.quickbuttons li a img {
	padding-bottom: 2px;
}
.quickbuttons li input {
	vertical-align: baseline;
}
#recent .quickbuttons {
	font-size: 0.9em;
	margin-bottom: 4px;
}

/* Drop part of QuickButtons */
.quickbuttons li ul {
	position: absolute;
	top: 1.9em;
	z-index: 90;
	padding: 0.5em;
	font-weight: normal;
	text-align: left;
	border: solid 1px #999;
	border-left: solid 1px #aaa;
	border-top: solid 1px #bbb;
	/* border-radius: 4px 2px 4px 0; */
	box-shadow: 2px 3px 3px rgba(0,0,0,0.2);
}
.quickbuttons li ul {
	display: none;
	right: -1px;
}
.quickbuttons li:hover ul {
	display: block;
}
.quickbuttons li ul li, .quickbuttons li:hover ul li {
	display: block;
	background: none;
	box-shadow: none;
	width: 100%;
	min-width: 12em;
	white-space: nowrap;
	padding-right: 3px;
	border: 1px solid transparent;
	/* border-radius: 3px; */
}
.quickbuttons li ul li:hover {
	border: 1px solid #cfcfcf;
	border-top: 1px solid #d4dee6;
	border-bottom: 1px solid #cbdae6;
}
.quickbuttons ul li a, .quickbuttons ul li a:focus {
	display: block;
	width: 100%;
	line-height: 2.2em;
	box-sizing: border-box;
}
/* Sub buttons doesn't need to be effected by first-child/last-child */
.quickbuttons li > ul > li {
	/* border-radius: 3px !important; */
}
/* Note: The next declarations are for keyboard access with js disabled. */
.quickbuttons ul li a:focus {
	margin: 0 -9910px 0 9910px;
}
/* Cancel for hover and/or js access. */
.quickbuttons ul li:hover a:focus, .quickbuttons ul li a:focus {
	margin: 0;
}
/* Fixes for quickbuttons
Fix for quote on reply box */
#post_modify {
	/* border-radius: 4px; */
}
.quickbuttons li.inline_mod_check {
	padding: 1px 1px 1px 1px;
}
.quickbuttons li.quick_edit, .quickbuttons li.post_options {
	line-height: 1.9em;
	position: relative;
}
.quickbuttons li.post_options {
	padding: 0 4px 0 4px;
}
.quickbuttons li.post_options>a {
	padding: 0 4px 0 4px;
}

/* The jump to box */
#display_jump_to {
	padding: 11px 5px 5px 0;
	margin: 0;
	border: none;
	/* float: right; */
	font-size: 1em;
	background: none;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
}
#display_jump_to select {
	/* 	margin: 0 -12px 0 0; */
	/* 	padding: 2px; */
	flex: 1 1 auto;
	width: 50%; /* Any old width will do. The flex just needs one defined, that's all */
}

.quickModifyMargin {
	margin: 10px 0 5px 0;
	padding-bottom: 5px;
}

/* Styles for edit event section
---------------------------------------------------- */
#post_event .roundframe {
	padding: 12px 12%;
	overflow: auto;
}
#post_event fieldset {
	padding: 6px;
	clear: both;
}
/* div.event_options {
	line-height: 25px;
	margin-top: 5px;
} */
#post_event span.label {
	margin: 0 0.5em 0 2px;
	min-width: 75px;
	display: inline-block;
}

.event_options {
	line-height: 25px;
	display: flex;
	flex-flow: row wrap;
}
.event_options div {
	min-height: 25px;
	margin-bottom: 5px;
	flex: 1 0 auto;
	max-width: 100%;
}
.event_options_left {
	box-sizing: border-box;
	width: 50%;
	padding-right: 1em;
	min-width: 238px;
}
.event_options_right {
	box-sizing: border-box;
	width: 49%;
	min-width: 270px;
}
.event_options_left div,
.event_options_right div {
	white-space: nowrap;
}

#post_event #event_main input {
	margin: 0;
}
#evtitle {
	max-width: 100%;
}
#event_time_input {
	clear: left;
}
#event_time_input input[type="text"] {
	display: inline-block;
}
.date_input {
	width: 10ch;
}
.time_input {
	width: 8ch;
}
#post_event input[type="checkbox"] {
	height: auto;
	vertical-align: baseline;
}
#post_event input[type="text"][disabled] {
	color: transparent;
}
#post_event select, #event_options input[type="text"], #tz {
	max-width: calc(100% - 90px);
}
#post_event select, #evtitle, #event_location {
	width: calc(100% - 90px);
}
/* #post_event input[type="checkbox"] + select {
	max-width: calc(100% - 95px);
} */

/* Styles for the recent messages section.
---------------------------------------------------- */

#readbuttons_top .pagelinks, #readbuttons .pagelinks {
	padding-bottom: 12px;
	width: 60%;
}
#readbuttons .pagelinks {
	padding-top: 12px;
}
#recent {
	clear: both;
}
#recent h5 {
    display: inline;
    float: none;
}

/* Styles for the move topic section. */
.move_topic {
	width: 710px;
	margin: auto;
	text-align: left;
}
div.move_topic fieldset {
	padding: 6px;
}
/* Styles for the report topic/user section. */
#report_form dl.settings dt {
	width: 20%;
}
#report_form dl.settings dd {
	width: 79%;
}
#report_comment {
	width: 70%;
}
/* Styles for the split topic section. */
div#selected, div#not_selected {
	width: 49%;
}
ul.split_messages li a.split_icon {
	padding: 0 6px;
}
/* Styles for the merge topic section. */
ul.merge_topics li {
	list-style-type: none;
}
dl.merge_topic dt {
	width: 25%;
}
dl.merge_topic dd {
	width: 74%;
}
fieldset.merge_options {
	clear: both;
}
.custom_subject {
	margin: 6px 0;
}

/* Styles for the login areas.
------------------------------------------------------- */
.login {
	width: 540px;
	margin: 0 auto;
}
.popup_content .login {
	width: 100%;
}
.login dl {
	overflow: auto;
	clear: right;
}
.login dt, .login dd {
	margin: 0 0 5px 0;
	width: 44%;
	padding: 1px;
}
.login dt {
	float: left;
	clear: both;
	text-align: right;
	font-weight: bold;
}
.login dd {
	width: 54%;
	float: right;
	text-align: left;
}
.login p {
	text-align: center;
}

/* Additional register fields */
#registration fieldset {
	border: none;
	padding: 0;
	margin: 0;
}
#registration .roundframe {
	border-top: none;
}
dl.register_form {
	margin: 0;
	clear: right;
}
#username_group {
	margin: 1em 0;
}
dl.register_form dt {
	font-weight: normal;
	float: left;
	clear: both;
	width: 50%;
	margin: 6px 0 0 0;
}
dl.register_form dt span {
	display: block;
}
dl.register_form dd {
	float: left;
	width: 49%;
	margin: 6px 0 0 0;
	display: flex;
	flex-flow: column;
}
dl.register_form dd input[type='text'],
dl.register_form dd input[type='password'] {
	flex: 1 1 auto;
	max-width: initial;
}
dl.register_form dd input[readonly] {
	border:none;
	box-shadow:none;
	font-style:italic;
	text-indent: 0.5ch;
}
dl.register_form dd div {
	min-width: 100%;
	display: flex;
}
dl.register_form dd .main_icons {
	margin: initial;
}
dl.register_form dd .main_icons::after {
	content: attr(alt);
	font-size: smaller;
	font-style: italic;
	white-space: nowrap;
	min-width: calc(100% - 16px - 1ch);
	margin-left: calc(16px + 1ch);
}
dl.register_form dd .main_icons[alt='*'] {
	display: none;
}
#confirm_buttons {
	text-align: center;
	padding: 12px 0;
}
#registration #confirm_buttons input {
	float: none;
	font-size: large;
}
.coppa_contact {
	padding: 4px;
	width: 32ex;
	background: #fff;
	color: #000;
	margin-left: 5ex;
	border: 1px solid #000;
}
.valid_input {
	background: #f5fff0;
}
.invalid_input {
	background: #fff0f0;
}

/* Styles for maintenance mode.
------------------------------------------------------- */
#maintenance_mode {
	width: 75%;
	min-width: 520px;
	text-align: left;
}
#maintenance_mode img.floatleft {
	margin-right: 12px;
}

/* Custom profile fields like to play with us some times. */
#admin_content .custom_field {
	margin-bottom: 15px;
}
#admin_login .centertext {
	padding: 12px;
}
#admin_login .centertext .error {
	padding: 0 0 12px 0;
}
#admin_login .centertext a.help img, .custom_field a img {
	vertical-align: middle;
	margin-top: -4px;
}

tr.windowbg td, tr.bg td, .table_grid tr td {
	padding: 4px 8px;
}
#credits p {
	font-style: italic;
}

#credits .windowbg, #credits .windowbg2, #preview_section .windowbg, #poll .windowbg,
#registration .roundframe, #report_form .windowbg,
#admin_login .roundframe, #frmLogin .roundframe, #post_area .roundframe, #post_event .roundframe, #memberlist_search .roundframe,
#profileview, #coppa, #fatal_error .windowbg {
	margin: 0 0 10px 0 !important;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

.errorfile_table {
	background: #f0f4f7;
	border-spacing: 3px;
	border-collapse: collapse;
}
.errorfile_table .file_line {
	text-align: right;
	padding-right: 6px;
}
.errorfile_table td.current {
	font-weight: bold;
	border: 1px solid #000;
	border-width: 1px 0 1px 1px;
}

.generic_menu {
	margin: 5px 0;
}
/* Some lovely generic icons.
------------------------------------------------- */
span.fa {
	font-size: inherit;
}
.main_icons {
	width: 16px;
	height: 16px;
	display: inline-block;
	background: url(../images/main_icons.png) no-repeat -5px -5px;
	vertical-align: middle;
	margin-top: -4px;
	font: normal normal normal 16px/1 FontAwesome;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
/* Small fix for topics */
.quickbuttons span.main_icons {
	margin: -3px 3px 0 1px;
}
.quickbuttons span.main_icons.quote,
.quickbuttons span.main_icons.quote_selected {
	/* margin: -8px 0 0 -3px; */
	margin: 0 4px 0 -7px;
	font-size: 0.9em;
}

.main_icons.gender_None,
.main_icons.gender_0 {
	background: none;
	display: none;
}
.main_icons.gender_Male,
.main_icons.gender_1 {
	/* background-position: -57px -31px; */
	background: none;
}
.main_icons.gender_Female,
.main_icons.gender_2 {
	/* background-position: -135px -5px; */
	background: none;
}

/* This is a small fix for dropmenu icons */
.dropmenu .main_icons, #profile_menu .main_icons, .dropmenu img {
	margin: -3px 8px 0 0;
	vertical-align: middle;
}

/* Top row */
.main_icons.help {
	/* background-position: -5px -5px; */
	background: none;
	color: royalblue;
}
.main_icons.search, .main_icons.engines {
	/* background-position: -31px -5px; */
	background: none;
}
.main_icons.quick_edit_button, .main_icons.modify_button {
	/* background-position: -57px -5px; */
	background: none;
}
.main_icons.check {
	background-position: -83px -5px;
}
.main_icons.invalid {
	background-position: -109px -5px;
}
.main_icons.watch {
	/* background-position: -239px -5px; */
	background: none;
}
/* 2nd row */
.main_icons.move, .main_icons.next_page {
	/* background-position: -5px -31px; */
	background: none;
}
.main_icons.general, .main_icons.boards, .main_icons.topics_views {
	background-position: -31px -31px;
}
.main_icons.features {
	/* background-position: -83px -31px; */
	background: none;
}
.main_icons.posters {
	background-position: -109px -31px;
}
.main_icons.replies, .main_icons.topics_replies {
	background-position: -135px -31px;
}
.main_icons.history, .main_icons.time_online, .main_icons.scheduled {
	/* background-position: -161px -31px; */
	background: none;
}
.main_icons.views {
	background-position: -187px -31px;
}
.main_icons.last_post {
	background-position: -213px -31px;
}
.main_icons.starters, .main_icons.people, .main_icons.membergroups, .main_icons.mlist {
	/* background-position: -239px -31px; */
	background: none;
}
/* 3rd Street Saints */
.main_icons.poll {
	/* background-position: -5px -57px; */
	background: none;
}
.main_icons.previous_page {
	/* background-position: -31px -57px; */
	background: none;
}
.main_icons.inbox {
	/* background-position: -57px -57px; */
	background: none;
}
.main_icons.www {
	/* background-position: -83px -57px; */
	background: none;
}
.main_icons.exit, .main_icons.logout {
	/* background-position: -109px -57px; */
	background: none;
}
.main_icons.switch {
	background-position: -135px -57px;
}
.main_icons.replied, .main_icons.send {
	/* background-position: -161px -57px; */
	background: none;
}
.main_icons.im_on {
	/* background-position: -187px -57px; */
	background: none;
}
.main_icons.im_off {
	/* background-position: -213px -57px; */
	background: none;
}
.main_icons.split_desel {
	background-position: -239px -57px;
}
/* 4th Row */
.main_icons.split_sel {
	background-position: -5px -83px;
}
.main_icons.mail {
	/* background-position: -31px -83px; */
	background: none;
}
.main_icons.warning_mute {
	background-position: -57px -83px;
}
.main_icons.alerts, .main_icons.warn_button,
.main_icons.warning_moderate {
	/* background-position: -83px -83px; */
	background: none;
}
.main_icons.mail_new {
	background-position: -109px -83px;
}
.main_icons.drafts,
.main_icons.reply_button,
.main_icons.reply_all_button {
	/* background-position: -135px -83px; */
	background: none;
}
.main_icons.warning_watch {
	background-position: -161px -83px;
}
.main_icons.calendar_export {
	/* background-position: -187px -83px; */
	background: none;
}
.main_icons.calendar_modify {
	/* background-position: -239px -83px; */
	background: none;
	vertical-align: sub;
	position: relative;
	bottom: 0.1em;
}
/* 5th Row */
.main_icons.plus {
	background-position: -5px -109px;
}
.main_icons.warning, .main_icons.moderate {
	/* background-position: -31px -109px; */
	background: none;
}
.main_icons.themes {
	/* background-position: -57px -109px; */
	background: none;
}
.main_icons.support {
	/* background-position: -83px -109px; */
	background: none;
}
.main_icons.liked_users, .main_icons.liked_messages, .main_icons.like {
	/* background-position: -109px -109px; */
	background: none;
}
.main_icons.unlike {
	/* background-position: -135px -109px; */
	background: none;
}
.main_icons.current_theme {
	/* background-position: -161px -109px; */
	background: none;
}
.main_icons.stats {
	/* background-position: -187px -109px; */
	background: none;
}
.main_icons.right_arrow {
	background-position: -213px -109px;
}
.main_icons.left_arrow {
	background-position: -239px -109px;
}
/* 6th Row */
.main_icons.smiley {
	/* background-position: -5px -135px; */
	background: none;
}
.main_icons.server {
	/* background-position: -31px -135px; */
	background: none;
}
.main_icons.ban, .main_icons.ignore {
	/* background-position: -57px -135px; */
	background: none;
}
.main_icons.boards {
	/* background-position: -83px -135px; */
	background: none;
}
.main_icons.regcenter {
	/* background-position: -109px -135px; */
	background: none;
}
.main_icons.posts {
	/* background-position: -135px -135px; */
	background: none;
}
.main_icons.sort_down {
	background-position: -161px -135px;
}
.main_icons.change_menu2, .main_icons.sent {
	/* background-position: -187px -135px; */
	background: none;
}
.main_icons.post_moderation_moderate {
	background-position: -213px -135px;
}
.main_icons.sort_up {
	background-position: -239px -135px;
}
/* 7th Row */
.main_icons.post_moderation_deny {
	background-position: -5px -161px;
}
.main_icons.post_moderation_attach {
	background-position: -31px -161px;
}
.main_icons.post_moderation_allow {
	background-position: -57px -161px;
}
.main_icons.personal_message {
	background-position: -83px -161px;
}
.main_icons.permissions, .main_icons.signup {
	/* background-position: -109px -161px; */
	background: none;
}
.main_icons.paid {
	/* background-position: -135px -161px; */
	background: none;
}
.main_icons.packages {
	/* background-position: -161px -161px; */
	background: none;
}
.main_icons.filter {
	background-position: -187px -161px;
	margin: 0 5px 0 0;
}
.main_icons.change_menu {
	background-position: -213px -161px;
}
.main_icons.package_ops {
	background-position: -239px -161px;
}
/* 8th Row */
.main_icons.reports {
	/* background-position: -5px -187px; */
	background: none;
}
.main_icons.news {
	/* background-position: -31px -187px; */
	background: none;
}
.main_icons.delete, .main_icons.hide_popup, .main_icons.prune, .main_icons.remove_button {
	/* background-position: -57px -187px; */
	background: none;
}
.main_icons.modifications {
	/* background-position: -83px -187px; */
	background: none;
}
.main_icons.maintain, .main_icons.admin {
	/* background-position: -109px -187px; */
	background: none;
	/* transform: rotate(-90deg); */
}
.main_icons.administration, .main_icons.home {
	/* background-position: -135px -187px; */
	background: none;
}
.main_icons.frenemy {
	/* background-position: -161px -187px; */
	background: none;
}
.main_icons.attachment {
	/* background-position: -187px -187px; */
	background: none;
}
.main_icons.lock, .main_icons.security {
	/* background-position: -213px -187px; */
	background: none;
}
.main_icons.error, .main_icons.disable {
	background-position: -239px -187px;
}
/* 9th Row */
.main_icons.languages {
	/* background-position: -5px -213px; */
	background: none;
}
.main_icons.members_request {
	/* background-position: -31px -213px; */
	background: none;
}
.main_icons.members_delete {
	/* background-position: -57px -213px; */
	background: none;
}
.main_icons.members {
	/* background-position: -83px -213px; */
	background: none;
}
.main_icons.members_watched {
	/* background-position: -109px -213px; */
	background: none;
}
a[href$='action=moderate;area=userwatch'] .main_icons.members_watched {
	color: red;
}
.main_icons.sticky {
	/* background-position: -135px -213px; */
	background: none;
}
.main_icons.corefeatures, .main_icons.settings, .main_icons.manrules, .main_icons.manlabels {
	/* background-position: -161px -213px; */
	background: none;
}
.main_icons.calendar {
	/* background-position: -187px -213px; */
	background: none;
}
.main_icons.logs {
	/* background-position: -213px -213px; */
	background: none;
}
.main_icons.valid {
	background-position: -239px -213px;
}
/* 10th Row */
.main_icons.approve, .main_icons.enable,
.main_icons.approve_button,
.main_icons.read_button {
	background-position: -5px -239px;
}
.main_icons.close {
	background-position: -31px -239px;
}
.main_icons.details {
	background-position: -57px -239px;
}
.main_icons.merge {
	/* background-position: -83px -239px; */
	background: none;
	transform: rotate(270deg) translate(0.25em, 0);
}
.main_icons.folder {
	background-position: -109px -239px;
}
.main_icons.restore_button {
	background-position: -135px -239px;
}
.main_icons.split_button {
	/* background-position: -161px -239px; */
	background: none;
	transform: rotate(90deg) translate(0.25em, 0);
}
.main_icons.unapprove_button,
.main_icons.unread_button {
	background-position: -187px -239px;
}
.main_icons.quote, .main_icons.quote_selected {
	/* background-position: -213px -239px; */
	background: none;
}
.main_icons.notify_button {
	background-position: -239px -239px;
}

.main_icons.select_above {
	background-position: -161px -5px;
}
.main_icons.select_here {
	background-position: -187px -5px;
}
.main_icons.select_below {
	background-position: -213px -5px;
}
/* Styles for (fatal) errors.
------------------------------------------------- */

#fatal_error {
	width: 80%;
	margin: auto;
}
.errorbox::before, .noticebox::before, .infobox::before {
	width: 16px;
	height: 16px;
	background: url(../images/main_icons.png) no-repeat -57px -83px;
	left: 10px;
	content: '';
	position: absolute;
	top: 50%;
	margin-top: -8px;
}
.errorbox, .noticebox, .infobox {
	padding: 7px 10px 7px 35px;
	margin-bottom: 12px;
	position: relative;
}
.errorbox {
	background-color: #fee;
	border-top: 2px solid #c34;
	border-bottom: 2px solid #c34;
}
.errorbox h3 {
	padding: 0;
	margin: 0;
	font-size: 1.1em;
	text-decoration: underline;
}
.errorbox p {
	margin: 12px 0 0 0;
}
.errorbox p.alert {
	padding: 0;
	margin: 0 4px 0 0;
	float: left;
	width: 12px;
	font-size: 1.5em;
}
.errorbox span {
	text-decoration: underline;
}

/* Styles for info boxes
------------------------------------------------- */

.noticebox::before {
	background-position: -83px -83px;
}
.infobox::before {
	background-position: -161px -83px;
}
.noticebox {
	color: #666;
	background: #fff6ca;
	border-top: 1px solid #ffd324;
	border-bottom: 1px solid #ffd324;
}
.infobox {
	color: #000;
	background: #cfc;
	border-top: 1px solid green;
	border-bottom: 1px solid green;
}
.descbox {
	padding: 7px 10px 7px 10px;
	border: 1px solid #c5c5c5;
	margin: 6px 0;
}
/* Styles for stats bars and progress bars.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

.generic_bar, .progress_bar {
	border: 1px solid #cecaca;
	background: #fff;
	min-height: 16px;
	line-height: 1.4em;
	border-radius: 2px;
	position: relative;
	overflow: hidden;
	color: rgba(0, 0, 0, 0.6);
}
.generic_bar span, .progress_bar span {
	position: relative;
	z-index: 2;
	text-shadow: 1px 1px rgba(255, 255, 255, .4);
	display: inline-block;
	padding: 0 5px;
}
.generic_bar .bar, .progress_bar .bar {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	bottom: 0;
	background: orange;
	transition: width .3s;
	border-radius: 1px;
	box-shadow: 4px -4px 8px rgba(0, 0, 0, 0.1) inset,
		4px 4px 8px rgba(255,255,255,0.3) inset;
	display: block;
}
.generic_bar.vertical {
	width: 15px;
}
.generic_bar.vertical .bar {
	right: 0;
	top: auto;
	box-shadow: 4px -4px 4px rgba(0, 0, 0, 0.1) inset,
		4px 4px 4px rgba(255,255,255,0.3) inset;
}

.progress_bar {
	border-radius: 4px;
	text-align: center;
	font-weight: bold;
	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-size: 30px 30px;
	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.
------------------------------------------------- */

dl {
	overflow: auto;
}

/* The basic user info on the left */
#basicinfo {
	width: 25%;
	float: left;
}
#detailedinfo {
	width: 74.5%;
	float: right;
}
#basicinfo > * {
	margin-bottom: 3px;
}
#basicinfo h4 {
	font-size: 1.4em;
	font-weight: 100;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
	word-wrap: break-word; /* IE fallback */
	overflow-wrap: break-word;
}
#basicinfo h4 span.position {
	font-size: 0.8em;
	font-weight: 100;
	display: block;
}
#basicinfo img.avatar, dl.settings img.avatar {
	display: block;
	max-width: 160px;
	max-height: 160px;
	height: auto !important;
}
#basicinfo ul {
	list-style-type: none;
}
#basicinfo .icon_fields li {
	display: block;
	float: left;
	margin-right: 5px;
	height: 20px;
}
#basicinfo #userstatus {
	display: block;
	clear: both;
}
#basicinfo #userstatus img {
	vertical-align: middle;
}
#detailedinfo dl, #tracking dl {
	clear: right;
	overflow: auto;
	margin: 0 0 18px 0;
	padding: 0 0 15px 0;
	border-bottom: 1px #ccc solid;
}
#detailedinfo dt, #tracking dt {
	width: 35%;
	float: left;
	margin: 0 0 3px 0;
	padding: 0;
	font-weight: bold;
	color: #444;
	clear: both;
}
#detailedinfo dd, #tracking dd {
	width: 65%;
	float: left;
	margin: 0 0 3px 0;
	padding: 0;
}
#detailedinfo .noborder {
	border-bottom: 0;
}
#detailedinfo dt.clear {
	width: 100%;
}
#personal_picture {
	display: block;
	margin-bottom: 4px;
}
#avatar_server_stored div {
	float: left;
}
#avatar_upload {
	overflow: auto;
}
#smileypr {
	margin-left: 10px;
}
.edit_avatar_img {
	margin: 0 0 1em;
}

/* Activity by time */
#activitytime {
	margin: 6px 0;
}
.activity_stats {
	margin: 10px 0;
}
.activity_stats li {
	width: 4.16%;
	float: left;
	text-align: center;
}
.activity_stats li span {
	display: block;
	border: 1px solid #666;
	border-left: none;
	border-right: none;
	background: #eee;
}
.activity_stats li.last span {
	border-right: none;
}
.activity_stats li .generic_bar {
	height: 100px;
	border-bottom: none;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	margin: 0 auto;
}
.activity_stats li .generic_bar span {
	position: absolute;
	top: -1000em;
	left: -1000em;
}

.profile_pie {
	background: url(../images/stats_pie.png);
	background-size: auto 20px;
	float: left;
	height: 20px;
	width: 20px;
	margin: 0 12px 0 0;
	text-indent: -1000em;
}

/* View posts */
.topic .time {
	float: right;
}
.counter {
	margin: 0;
	padding: 5px 6px 1px 2px;
	font-size: 2.2em;
	font-weight: bold;
	color: #3f3f3f;
	float: left;
}
.topic_details {
	/* width: 94%; */
	padding: 0 4px 4px 4px;
}
.list_posts {
	border-top: 1px solid #ddd;
	box-shadow: 0 1px 0 #fff inset;
	padding-top: 12px;
	margin: 0;
	overflow: auto;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}
.topic h4 {
	margin: 3px 0;
}
.topic .post {
	margin: 0 12px;
	min-height: 80px;
	height: auto !important;
	height: 80px;
}
.topic .mod_icons {
	text-align: right;
	margin-right: 12px;
}

#creator dt {
	width: 40%;
}
#creator dd {
	width: 55%;
	margin: 0 0 10px 2px;
}
.centericon {
	vertical-align: middle;
}
.sizefix {
	width: 16px;
	height: 16px;
}

.boardslist a {
	font-weight: bold;
	border-bottom: 1px solid #c4c4c4;
}
.boardslist a:hover {
	text-decoration: none;
	border-bottom: 1px solid #334466;
}

#theme_settings {
	overflow: auto;
	margin: 0;
	padding: 0;
}

#theme_settings li {
	margin: 10px 0;
	padding: 0;
}
/* Paid Subscriptions */
#paid_subscription {
	width: 100%;
}
#paid_subscription dl.settings {
	margin-bottom: 0;
}
#paid_subscription dl.settings dd, #paid_subscription dl.settings dt {
	margin-bottom: 4px;
}
/* Pick theme */
#pick_theme {
	width: 100%;
	float: left;
}
#pick_theme .selected {
	background: #cddbe6;
}

/* Signature preview */

#preview_signature, #preview_signature_display {
	width: 100%;
	overflow: hidden;
}

/* Issue a warning */
#warn_body {
	width: 100%;
	font-size: 0.9em;
}
#warn_temp {
	font-size: smaller;
}

/* Warning level bar */
.warning_level {
	text-align: center;
	font-weight: bold;
	max-width: 250px;
}
.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 statistics center.
------------------------------------------------- */
#statistics .roundframe {
	margin: 0;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}
dl.stats dt {
	width: 50%;
	float: left;
	margin: 0 0 4px 0;
	padding: 0;
	line-height: 1.5em;
	clear: both;
	font-size: 1em;
}
dl.stats dd {
	width: 50%;
	font-size: 1em;
	float: left;
	margin: 0 0 4px 0;
}

/* Forum history table. */
#stats td, #stats th {
	width: 15%;
	padding: 4px;
	text-align: center;
}
#stats tr.windowbg th.lefttext {
	text-align: left;
}
#stats tr.windowbg th.stats_month {
	width: 25%;
	padding: 0 2em;
	text-align: left;
}
#stats tr.windowbg td.stats_day {
	padding: 0 3.5em;
	text-align: left;
}

/* Styles for the personal messages section.
------------------------------------------------- */

#personal_messages h3 span#author, #personal_messages h3 span#topic_title {
	float: left;
}
#personal_messages h3 span#author {
	margin: 0 0 0 6px;
}
#personal_messages h3 span#topic_title {
	margin: 0 0 0 9em;
}
#personal_messages div.labels {
	padding: 0 12px 0 0;
}
#personal_messages .capacity_bar {
	background: #f0f4f7;
	display: block;
	margin: 6px 0 0 12px;
	height: 12px;
	border: 1px solid #adadad;
	width: 10em;
}
#personal_messages .capacity_bar span {
	border-right: 1px solid #adadad;
	display: block;
	height: 12px;
}
#personal_messages .capacity_bar span.empty {
	background: #a6d69d;
}
#personal_messages .capacity_bar span.filled {
	background: #eea800;
}
#personal_messages .capacity_bar span.full {
	background: #f10909;
}
#personal_messages .reportlinks {
	padding: 6px 1.3em;
}
#personal_messages .pm_inline_time {
	display: none;
}
#search_labels li {
	padding: 4px 6px;
}
#manrules div.righttext {
	padding: 4px 1px;
}
dl.addrules dt.floatleft {
	width: 15em;
	color: #333;
	padding: 0 15px 6px 15px;
}
#addrule fieldset {
	clear: both;
}
#to_item_list_container div, #bcc_item_list_container div {
	float: left;
	margin-right: 10px;
}
/* Styles for the show alerts section.
------------------------------------------------- */
#alerts .alert_inline_time {
	display: none;
}
#alerts .quickbuttons {
	display: flex;
	margin: 4px 0;
}
#alerts .quickbuttons li, #alerts .alert_time {
	white-space: nowrap;
}
#alerts .alert_image {
	width: 65px;
	padding: 6px 0;
	text-align: center;
	vertical-align: middle;
}
#alerts .alert_image > div {
	position: relative;
}
#alerts .alert_image .avatar {
	width: 52px;
	height: 52px;
	margin-top: 4px;
	vertical-align: bottom;
	/* border-radius: 100%; */
}
/* This appears to break the alert icon display on the Show All Alerts page
#alerts .alert_image span.alert_icon {
	display: block;
	width: 100%;
	line-height: 1em;
}
*/
#alerts .alert_image .avatar + .alert_icon {
	width: 16px;
	position: absolute;
	right: 0;
	top: 0;
}

/* Styles for the memberlist section.
------------------------------------------------- */
#mlist_search {
	margin: auto;
	max-width: 500px;
}
#mlist .selected {
	white-space: nowrap;
}
#mlist .is_online {
	width: 60px;
}
#mlist .email_address {
	width: 25px;
}
#mlist .website_url {
	width: 70px;
}
#mlist .icq, #mlist .aim, #mlist .yim, #mlist .skype {
	width: 30px;
}
#mlist .posts {
	width: 115px;
}
#mlist .post_count {
	width: 15px;
}
/* Styles for the search section.
------------------------------------------------- */
#searchform fieldset {
	text-align: left;
	padding: 0;
	border: none;
}
#searchform .roundframe {
	border-radius: 0;
	margin: 0;
	padding: 32px;
	overflow: auto;
}
#searchform .alt {
	border-top: 0;
	/* border-bottom-left-radius: 7px; */
	/* border-bottom-right-radius: 7px; */
}
#searchform p.clear {
	clear: both;
}
#advanced_search {
	text-align: center !important;
	margin: 0;
}
#advanced_search dl#search_options {
	margin: 0 auto;
	width: 600px;
	padding-top: 12px;
	overflow: hidden;
}
#advanced_search dt {
	clear: both;
	float: left;
	padding: 2px;
	text-align: right;
	width: 25%;
}
#advanced_search dd {
	width: 70%;
	float: left;
	padding: 2px;
	margin: 0 0 0 6px;
	text-align: left;
}
#minage, #maxage {
	width: 7ch;
	text-align: right;
}

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

#help_container {
	margin: 0;
	padding: 0 0 8px 0;
	overflow: auto;
}
#helpmain {
	margin: 12px 0 0 0;
	padding: 8px 20px 12px 20px;
	border: 1px solid #ddd;
	/* border-radius: 7px; */
	box-shadow: 0 -2px 2px rgba(0,0,0,0.1);
	overflow: auto;
}
#helpmain p {
	margin: 10px 0;
	line-height: 1.5em;
}
#helpmain ul {
	line-height: 2em;
	margin: 0 0 0 25px;
}
#helpmain ul li {
	list-style-type: disc;
}
#helpmain ul li a {
	font-weight: bold;
}

/* Styles for the tooltips
------------------------------------------------------- */
.tooltip {
	position: absolute;
	z-index: 999;
	left: -9999px;
	word-wrap: break-word; /* IE fallback */
	overflow-wrap: break-word;
	max-width: 350px;
	padding: 6px 9px;
	color: #333;
	background: #fff;
	border: 1px solid #aaa;
	/* border-radius: 4px 4px 4px 4px; */
	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 {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(40,64,80,0.5);
	z-index: 5;
}
.popup_window {
	position: relative;
	width: 480px;
	max-width: 95%;
	box-sizing: border-box;
	z-index: 99;
	padding: 0 6px 6px 6px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.5);
	border: 1px solid #777;
	/* border-radius: 7px 7px 3px 3px; */
	max-height: none !important;
	/* Is this declaration necessary? None is the default anyway. */
	overflow: visible !important;
	background: #ffffff;
	top: 10vh;
	margin: 0 auto;
}
.popup_heading {
	margin: 0;
	padding: 10px 4px;
	color: #bf6900;
	background: none;
}
.popup_content {
	color: #000;
	line-height: 1.6em;
	max-height: calc(90vh - 30px - 1.5em);
	box-sizing: border-box;
	overflow: auto;
	margin: 0;
	padding: 10px 8px;
	border: 1px solid #bbb;
	border-bottom: 1px solid #ddd;
	/* border-radius: 6px 6px 2px 2px; */
	box-shadow: 0 -2px 3px rgba(0,0,0,0.15), 0 1px 1px rgba(255,255,255,0.2);
}
#main_menu .popup_heading, #genericmenu .popup_heading {
	display: none;
}
#genericmenu > .popup_container {
	z-index: 1;
}
#main_menu .popup_container, #genericmenu > .popup_container {
	display: block;
	position: relative;
	background: none;
	margin: 0;
	height: auto; /* In case anything fishy happens in the situations where this used make sure it stays still */
}
#main_menu .popup_window, #genericmenu .popup_window {
	position: relative;
	width: auto;
	box-shadow: none;
	border: none;
	border-radius: 0;
	background: none;
	background-image: none;
	margin: 0;
	top: 0;
	padding: 0;
}
.main_icons.hide_popup {
	float: right;
}
.popup_heading .icon {
	vertical-align: middle;
	margin: -4px 4px 0 0;
}

.generic_list_wrapper, .windowbg, .approvebg, .approvebg2 {
	/* background: #f0f4f7; */
	margin: 12px 0 0 0;
	padding: 12px 16px;
	border: 1px solid #ddd;
	/* border-radius: 6px; */
	box-shadow: 0 -2px 2px rgba(0, 0, 0, 0.1);
	overflow: auto;
	box-sizing: border-box;
}
/* Here comes the glory... */
.windowbg:nth-of-type(even) {
	background: #fafafa;
}
.windowbg:nth-of-type(odd) {
	background: #fdfdfd;
}

/* Special treatment for #forumposts area */
.postbg, .postbg2, #forumposts .approvebg, #forumposts .approvebg2 {
	overflow: visible;
	padding: 18px 0;
	border: 0;
	border-bottom: 1px solid #ddd;
	border-radius: 0;
	box-shadow: none;
}
.postbg, .postbg2 {
	background: #fff;
}
.postbg:first-child, .postbg2:first-child {
	padding: 0 0 18px;
}
.postbg.no-margin, #postbg2.no-margin {
	margin-left: 0;
}
/* Nobody wants locked topics to stand out much. */
.featured_topic.locked {
	/* background: #e7eaef; */
}
/* Sticky topics get a different background */
.featured_topic.sticky {
	background: #f5f8fa;
}
/* Locked AND sticky are a bit more technical */
.featured_topic.sticky.locked {
	background: #ffe;
}
/* Awaiting approval is a bit special, topics first */
.featured_topic.approvetopic {
	background: #ffcbcb;
}
/* Unapproved posts in approved topics */
.windowbg.approvepost, .windowbg2.approvepost, .postbg.approvepost, .postbg2.approvepost {
	/* background: #ffcbcb; */
}
.generic_list_wrapper .additional_row {
	margin: 0;
	padding: 5px 0;
	border-radius: 0;
}
.generic_list_wrapper table.table_grid {
	border-bottom: 1px solid #aaa;
}

div#editlang_desc {
	margin-bottom: 8px;
}
.topic_details .smalltext {
	font-size: 0.9em;
}
.table_grid tr.windowbg2 td.centercol, .table_grid tr.windowbg td.centercol {
	text-align: center;
}
tr.windowbg, tr.windowbg2 {
	box-shadow: none;
}
#postmodify #message {
	width: 100%;
	box-sizing: border-box;
}
#postmodify .lastedit {
	font-weight: bold;
}

/* Colors for background of posts requiring approval */
#forumposts .approvebg {
	color: #000;
	background: #ffeaea;
}
#forumposts .approvebg2 {
	color: #000;
	background: #fff2f2;
}

div#manage_boards dl dd textarea[name=desc] {
	margin-top: 1px;
}

.bold_text {
	font-weight: bold;
}

/* Can i haz this? I think we need Illori here to say "nope" */
.title_top {
	margin-top: 10px !important;
}

/* Profile > This needed for responsive (get rid of <br>) */
.infolinks {
	display: block;
}
#groups .windowbg, #groups .windowbg2 {
	box-shadow: none;
	border-radius: 0;
	border-top: 0;
	margin: 0;
}
#groups .padding {
	margin: 0 0 25px 0;
}
.groupmembership textarea {
	width: 100%;
}
.groupmembership .righttext {
	margin-top: 1ex;
}

/* BoardIndex */
/* This place covers board places (boardindex-messageindex) */
h3 .collapse {
	float: right;
	margin: 4px 4px 0 0;
}
.board_icon a {
	background: url(../images/boardicons.png) no-repeat 0 0;
	display: inline-block;
	width: 45px;
	height: 45px;
}
.board_icon a.board_on2 {
	background-position: -45px 0;
}
.board_icon a.board_off {
	background-position: 0 -45px;
}
.board_icon a.board_redirect {
	background-position: -45px -45px;
}
.board_icon {
	/* width: 5%; */
	text-align: center;
	padding: 8px 0 0 0;
	min-width: 60px;
	float: left;
	display: none;
}
.info {
	/* width: 50%; */
	margin: 10px 0 5px 0;
}
.info .subject {
	font-weight: 400;
	font-size: 1.1em;
	/* color: #b00; */
}
.board_stats {
	box-sizing: border-box;
	min-width: 100px;
	font-size: 0.9em;
	text-align: center;
	justify-content: center;
}
.lastpost {
	/* width: 25%; */
	min-width: 260px;
	font-size: 0.9em;
}
.lastpost p {
	margin: 3px 0 0 0;
}
.boardindex_table .info, .board_icon, .board_stats, .lastpost {
	margin-top: auto;
	margin-bottom: auto;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}
.boardindex_table .info {
	flex: 1 0 auto;
	max-width: calc(100% - 360px);
}
.board_stats, .lastpost {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
}
.main_container {
	margin-bottom: 20px;
}
.up_contain {
	overflow: hidden;
	box-sizing: border-box;
	border-bottom: 1px solid #ddd;
	margin-bottom: 3px;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
}
/* Child boards */
.boardindex_table .children {
	width: 100%;
	border-top: 1px dotted #ddd;
}
.children {
	padding: 5px 0;
}
.children p {
	font-size: 0.9em;
}
.children span::after {
	content: ", ";
}
.children span:last-of-type::after {
	content: "";
}
p.moderators {
	font-size: 0.9em;
}
span.postby {
	display: block;
}
/* Info Center */
#info_center {
	clear: both;
	flex: 1 1 auto;
}
#info_center .sub_bar {
	border-top: 1px solid #ddd;
}
#info_center .sub_bar:first-child {
	border-top: none;
}
#upshrink_stats {
	margin-top: 4px;
}
#ic_recentposts {
	line-height: 1.6em;
	margin: 0 12px;
	font-size: 0.9em;
}
#ic_recentposts th {
	text-align: left;
	padding: 0 4px 0 0;
}
#ic_recentposts td {
	border-top: 1px solid #eaeaea;
	padding: 0 4px 0 0;
	vertical-align: top;
}
#ic_recentposts tr:first-child td {
	border-top: none;
}
#ic_recentposts .recentpost strong {
	width: 40%;
}
#ic_recentposts .recentposter {
	width: 15%;
}
#ic_recentposts .recentboard {
	width: 20%;
}
#ic_recentposts .recenttime {
	width: 25%;
}
#ic_recentposts .recenttime strong {
	color: #555;
}
#ic_recentposts .windowbg {
	background: none;
}
#upshrink_stats p.inline {
	border: none;
	margin: 0;
	padding: 2px 29px;
	line-height: 1.6em;
	font-size: 0.9em;
}
#upshrink_stats p.inline span {
	margin: 0;
	padding: 4px 0 0 0;
}
#upshrink_stats span.membergroups {
	display: block;
}

/* MessageIndex */
/* Start with description and other things */
#description_board {
	/* padding: 1px 1px 1em 1px; */
	/* border-radius: 6px 6px 0 0; */
	/* border-bottom: none; */
	/* box-shadow: none; */
}
#description_board h3, #description_board p {
	/* display: inline-block; */
}
#description_board h3::after {
	/* content: ' - '; */
}
.topic_header .description_line {
	float: left;
	display: flex;
	align-items: center;
}
.topic_header .extra_info {
	float: left;
	clear: left;
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
}
.topic_header .description_line,
.topic_header .extra_info,
.topic_header .user_buttons {
	min-height: 2.5em;
}
/* Topic list */
#topic_header {
	margin: 0;
	border-radius: 0;
}
#topic_header div {
	height: 2em;
	font-weight: bold;
	font-size: 1em;
	margin: 0;
	padding: 0;
	display: table-cell;
}
#topic_header input {
	margin-top: 5px !important;
}
.topic_header input[type="text"] {
	height: auto;
}
#topic_container .windowbg, #topic_container .windowbg2 {
	border: 1px solid #ddd;
	border-top: none;
}
#topic_container .board_icon, #topic_container .info, #topic_container .board_stats, #topic_container .lastpost {
	display: table-cell;
}
#topic_container .board_icon, #topic_container .info, #topic_container .windowbg2,
#topic_container .windowbg, #topic_container .board_stats, #topic_container .lastpost {
	box-shadow: none;
	border-radius: 0;
	padding: 0;
	margin: 0;
	overflow: hidden;
	min-height: 3.5em;
}
.icon img, .moderation input {
	/* margin-top: 15px; */
}
.icons, #messageindex .board_stats p, .lastpost p, #unread .board_stats p, #unreadreplies .board_stats p {
	border: none;
}
.icons {
	margin-right: 0.5em;
}
.moderation {
	display: table-cell;
	vertical-align: middle;
	text-align: right;
	padding: 0 5px 0 0;
}
.title_bar .moderation {
	padding: 8px 5px !important;
}
/* Quick moderation selects and submit */
#quick_actions {
	padding: 4px 0;
}
/* Investigate default select and button sizing. Something is slightly off there.*/
.qaction.button {
	margin: 1px 4px 0 4px;
}
/* Icons and jump to */
#topic_icons::before {
	/* 	display: block; */
	/* height: 8px; */
	/* clear: both; */
	/* content: ''; */
}
#topic_icons .information {
	font-size: .9em;
}
#topic_icons ul {
	line-height: 2em;
	columns: 2;
	/* -moz-column-gap: 20px; */
	/* -webkit-column-gap: 20px; */
	/* column-gap: 20px; */
}
#topic_icons li {
	margin-left: 1px;
	padding-left: 20px;
	text-indent: -20px;
}
#topic_icons .main_icons {
	text-indent: 0;
}
/* Should lose this before RC1. It's a kludge. Can be fixed by new image */
#topic_legend_participated img:first-child {
	padding: 0 2px;
}
#message_index_jump_to {
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
}
#message_index_jump_to_select {
	padding: 0;
	flex: 1 1 auto;
	width: 100px;
}
#message_index_jump_to .button,
#display_jump_to .button {
	margin: 0;
	padding: 0 6px;
	height: auto;
	flex: 0 0 auto;
}
label.jump_to {
	line-height: 25px;
	flex: 0 0 auto;
	margin: 0 3px 0 0;
}

/* Display */
/* Poll question */
#poll {
	overflow: hidden;
}

/* Poll vote options */
#poll_options ul.options {
	padding: 12px 30px 0 25px;
}
#poll_options div.submitbutton {
	clear: both;
	padding: 0 0 12px 0;
}

/* Poll results */
#poll_options dl.options {
	padding: 12px 0 12px 25px;
	line-height: 1.4em;
}
#poll_options dl.options dt {
	padding: 4px 0;
	width: 30%;
	max-width: 30em;
	float: left;
	margin: 0;
	clear: left;
}
#poll_options dl.options .voted {
	font-weight: bold;
}
#poll_options dl.options dd {
	width: 60%;
	max-width: 45em;
	float: left;
	margin: 0 0 4px 0;
	padding: 0;
	text-align: right;
}

/* Poll notices */
#poll_options p {
	margin: 0 18px 2px 18px;
	padding: 0 6px 6px 6px;
}

div#pollmoderation {
	margin: 0;
	padding: 0;
	overflow: auto;
}

#poll_options .submitbutton {
	float: right;
	width: 100%;
}
/* Styles for edit poll section. */
#edit_poll {
	overflow: hidden;
}
#edit_poll fieldset {
	padding: 6px;
	clear: both;
	overflow: hidden;
}
#edit_poll fieldset input {
	margin-left: 7.5em;
}
#edit_poll ul.poll_main li {
	padding-left: 12px;
}
#edit_poll ul.poll_main input {
	margin-left: 12px;
}
#edit_poll ul.poll_main, dl.poll_options {
	overflow: hidden;
	padding: 0 0 8px 8px;
}
#edit_poll ul.poll_main li {
	margin: 2px 0;
}
#edit_poll dl.poll_options dt {
	width: 33%;
	padding: 0 0 0 12px;
}
#edit_poll dl.poll_options dd {
	width: 65%;
}
#edit_poll dl.poll_options dd input {
	margin-left: 0;
	width: 99%;
}

/* Linked events */
.linked_events {
	margin-bottom: 2em;
	font-size: 1.5em;
	line-height: 1.5em;
}
.linked_events li {
	padding: 1em;
}
.event_title {
	font-size: larger;
	font-weight: bolder;
	vertical-align: middle;
}
.event_title + a,
.event_title + a + a {
	margin-left: 1ch;
	float: right;
}

/* On to the posts */
#forumposts {
	clear: both;
	margin: 8px 0 0 0;
}
#forumposts .cat_bar {
	margin: 0 0 -4px 0;
}
/* Topic information */
#forumposts .catbg img {
	margin: 0 4px -2px 0;
}
#forumposts .catbg span {
	white-space: pre;
	/* Specific sizing for clarity without ClearType. */
	font-size: 0.818em;
	font-weight: normal;
	padding: 2px 0;
}
/* poster and postarea + moderation area underneath */
.post_wrapper {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-end;
	position: relative;
	background: inherit;
}
.post_wrapper::after {
	content: "";
	display: block;
	clear: both;
}
/* poster details and list of items */
.poster {
	width: 240px;
	position: absolute;
	left: 0;
	background: white;
	border: 1px solid #ddd;
	word-break: hyphenate;
	word-wrap: break-word;
	padding: 12px;
	box-sizing: border-box;
	z-index: 89;
}
.poster:not(.visible) {
	display: none;
}
.poster h4 {
	font-size: 1.2em;
}
.poster h4, .poster h4 a, .poster li:hover h4 a, .poster h4 a:hover .poster li h4 a, .poster h4 a:focus {
	margin: 0;
	padding: 0;
	/* color: #b00; */
}

.poster .profile .profile_icons li, .poster .im_icons li {
	display: table-cell;
	padding-right: 5px;
}

/* The visible stuff below the avatar. */
.user_info > li {
	margin: 3px 0 0 0;
}
.poster li.membergroup {
	font-weight: bold;
}
.poster .icons img[src$="blank.png"] {
	display: none;
}
/* @todo Re-code this a bit to give background on anchor. */
.poster li.poster_online, .poster li.poster_online:hover {
	padding: 1px 1px 1px 1px;
	margin: 3px 10px;
}
.poster li.poster_online a {
	/* color: #c06002; */
	line-height: 1.6em;
}
.poster li.poster_online:hover, .poster li.poster_online:hover a {
	text-decoration: underline;
}
.poster li.warning a img {
	vertical-align: bottom;
	padding: 0 2px;
}
.poster img {
	vertical-align: middle;
	margin-top: -4px;
}
.poster img.avatar, .postheader img.avatar {
	width: 65px;
	height: 65px;
	border-radius: 100%;
}
.poster div.avatar, .postheader div.avatar {
    height: 70px;
    width: 70px;
    margin-right: 10px;

    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    position: relative;
}
.poster div.avatar a, .postheader div.avatar a {
	display: block;
	width: 100%;
	height: 100%;
}
.poster div.avatar a::after, .postheader div.avatar a::after {
	content: "▾";
	position: absolute;
	bottom: 0;
	right: 0;
	color: #999;
}
.poster div.avatar:hover a::after, .postheader div.avatar:hover a::after {
	color: #000;
}
.postheader::after {
	content: "";
	display: block;
	clear: both;
}
#forumposts .original_post .postheader {
	display: none;
}
#forumposts .original_post .postarea {
	width: 100%;
}
.header_info {
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	min-height: 70px;
}
.author {
	padding-right: 2em
}
.author_name {
    font-size: 1.2em;
    font-weight: normal;
    display: inline;
}
.title {
	display: inline;
}
.postarea {
	float: right;
	width: calc(100% - 80px);
	box-sizing: border-box;
	flex: 0 1 auto;
	display: flex;
	flex-flow: column nowrap;
	background: inherit;
}
.postarea div.flow_hidden {
	width: 100%;
}
.moderatorbar {
	clear: right;
}
.messageicon {
	float: left;
	margin: -5px 6px -6px 0;
	display: none;
}
.messageicon img {
	padding: 0 3px 0 3px;
}
.keyinfo {
	position: relative;
}
.keyinfo .postdates {
	/* font-size: 0.9em; */
}
.keyinfo .postdates a, .keyinfo .postdates a strong {
	color: #777;
}
.keyinfo .postdates a.floatright {
	padding: 0 12px 0 0; /* Deprecated? */
}
.keyinfo .postdates .modified {
	color: #777;
	float: right;
}
.subject_title a {
	font-size: 0.9em;
	color: #333;
	font-weight: bold;
}
.subject_hidden a {
	display: none;
}
.page_number {
	color: #000;
	font-weight: bold;
	opacity: 0.4;
	position: absolute;
	right: 0;
	top:  -1.5em;
}
.inner, #quickReplyOptions {
	padding: 12px 0 2px 0;
	margin: 0;
	border-top: 1px dotted #ddd;
	box-shadow: 0 1px 0 #fff inset;
	min-height: 85px;
	line-height: 1.6em;
	background: inherit;
}
.inner img {
	max-width: 100%;
	height: auto;
}
.inner iframe {
	max-width: 100%;
}
img.smiley {
	vertical-align: baseline;
}
.attachments {
	padding: 12px 0 0 0;
}
.attached {
	padding: 0 6px 8px 6px;
	max-width: 100%;
	display:inline-block;
	vertical-align:top;
}
.attachments_top {
	margin: 0 auto;
	text-align: center;
}
.attachments hr {
	clear: both;
	margin: 12px 0;
}
.show_on_hover:hover span {
	display:none;
}
.show_on_hover:hover::before {
	content:attr(data-hover);
}
/* Separator of posts. More useful in the print stylesheet. */
.post_separator {
	display: none;
}
/* Next and previous topic links */
.nextlinks {
	text-transform: capitalize;
	font-weight: 400;
	position: absolute;
	right: 0;
	bottom: 0;
}
/* Styles for the quick reply area. */
#quickreplybox {
	clear: both;
}
#quickReplyOptions .roundframe {
	margin: 0;
	padding: 8px 10% 12px 10%;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}
#quickReplyExpand {
	float: right;
	margin: 2px 2px 0 2px;
}
/* Styles for edit post section */
form#postmodify .roundframe {
	padding: 12px 21px;
	margin: 12px 0 0 0;
}
#post_header {
	padding: 6px 0;
	overflow: hidden;
}
#post_header dt {
	float: left;
	padding: 0;
	width: 15%;
	margin: 6px 0 0 0;
	font-weight: bold;
}
#post_header dd {
	float: left;
	padding: 0;
	width: 85%;
	margin: 4px 0;
}
#post_header img {
	vertical-align: middle;
}
ul.post_options {
	margin: 0 0 0 12px;
	padding: 0;
	overflow: hidden;
}
ul.post_options li {
	margin: 2px 0;
	width: 49%;
	float: left;
}
#post_additional_options_header {
	margin-top: 0.5em;
}
#post_additional_options {
	overflow: hidden;
}
#post_additional_options .progress_bar {
	height: 22px;
}
#post_settings {
	border-top: 1px solid #ddd;
}
#post_settings, #postAttachment, #postAttachment2, #attachment_previews {
	margin: -1px 0 0 0;
	padding: 10px 0;
}
#postAttachment dd, #postAttachment2 dd {
	margin: 4px 0;
}
#postAttachment dd {
	width: 45%;
	float: left;
}
#postAttachment dt, #postAttachment2 dt {
	font-weight: bold;
}
#post_draft_options {
	background: #fdfdfd;
	border: 1px solid #aaa;
	border-left: 1px solid #bbb;
	border-top: none;
	/* border-radius: 0 0 4px 4px; */
}
#post_draft_options .settings dd, #post_draft_options .settings dt {
	width: 50%;
	border-top: 1px solid #e4e4e4;
	padding: 5px 10px;
	margin: 0;
}
#post_draft_options .settings dd:first-of-type, #post_draft_options .settings dt:first-child {
	border-top: none; /* Some people are OCD, like me. :P */
}
#post_draft_options .settings strong {
	color: #555;
}
/*
#post_confirm_buttons, #shortcuts {
	padding: 12px 0;
}
#post_confirm_buttons .smalltext {
	padding: 0 10px;
}
*/
#post_confirm_buttons {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-end;
	width: 100%;
}
#post_confirm_buttons, #shortcuts {
	padding: 12px 0;
}
#post_confirm_buttons .smalltext {
	flex: 1;
	word-break: break-word;
	margin: 0 5px 0 0;
}
#post_confirm_buttons .post_button_container {
	vertical-align: top;
}
#post_confirm_buttons .padding {
	flex: 1 100%;
}
.post_verification {
	margin-top: 6px;
}
.post_verification #verification_control {
	margin: 4px 0 4px 12px;
}
/* The BBC buttons */
#bbcbox_message {
	margin: 10px 6px;
}
#bbcbox_message div {
	margin: 2px 0;
	vertical-align: top;
}
#bbcbox_message div img {
	margin: 0 1px 0 0;
	vertical-align: top;
}
#bbcbox_message select {
	margin: 0 2px;
}
/* The smiley strip */
#smileyBox_message {
	margin: 6px;
}
/* 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 {
	width: 100%;
	overflow: auto;
	clear: right;
	padding: 12px 0 0 0;
	margin-top: 12px;
	border-top: 1px dotted #ddd;
	box-shadow: 0 1px 0 #fff inset;
	line-height: 1.4em;
	font-size: 0.9em;
	box-sizing: border-box;
}
.under_message {
	overflow: visible;
}
/* Events */
.edit_event {
	margin: 0 10px;
	vertical-align: top;
}
/* ModerationButtons */
#moderationbuttons {
	/* float: left; */
}
#moderationbuttons_strip {
	/* float: left; */
	/* margin: 4px 0 4px -4px; */
}
#moderationbuttons ul li {
	padding: 0 6px 4px 0;
	margin: 0;
}

/* General Classes */
/* Cat_bar / catbg */
div.cat_bar {
	/* background: #fcfcfc; */
	/* background: linear-gradient(#fff, #f8f8f8); */
	border-bottom: 1px solid #ddd;
	/* border-top: 1px solid #ddd; */
	padding: 0;
	/* border-radius: 6px 6px 0 0; */
	/* box-shadow: 0 16px 20px rgba(255, 255, 255, 0.15) inset; */
	/* text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.2); */
	box-sizing: border-box;
	margin-bottom: 1px;
}
.cat_bar h3 {
	padding: 8px 12px 6px 12px;
}
/* Styles for rounded headers. */
.cat_bar .desc {
	font-size: 12px;
	line-height: 1.5em;
	font-weight: normal;
	margin: -8px 0 4px 0;
}
h3.catbg {
	overflow: hidden;
	font-size: 1.2em;
	font-weight: 400;
	line-height: 1.5em;
	padding: 8px 1px;
}
h3.catbg, h3.catbg a:link:not(.bbc_link), h3.catbg a:visited:not(.bbc_link), h3.catbg a:hover:not(.bbc_link) {
	color: #000;
}
h3.catbg a:hover {
	/* text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.4); */
	text-decoration: none;
	/* color: #f00; */
}
h3.catbg .icon {
	vertical-align: middle;
	margin: 0 5px 0 0;
}
/* Roundframe */
.roundframe {
	box-sizing: border-box;
	margin: 10px 0 0 0;
	padding: 12px 16px;
	background: #fff;
	border: 1px solid #ddd;
	/* border-radius: 10px; */
	/* box-shadow: 0 -2px 2px rgba(0, 0, 0, 0.1); */
	overflow: auto;
}
/* TitleBar & SubBar */
.title_bar {
	border-right: 1px solid #ddd;
	border-left: 1px solid #ddd;
	/* border-top: 2px solid #f00; */
	/* border-bottom: 2px solid #a00; */
	background: #fff;
	color: #666;
	/* border-radius: 2px 2px 0 0; */
	margin: 5px 0 0 0;
}
.sub_bar {
	border-bottom: 1px solid #ddd;
	text-shadow: none;
	background: none;
	box-shadow: 0 -1px 0 #999 inset;
	clear: both;
}
.title_bar::after, .sub_bar::after {
	content: "";
	display: block;
	clear: both;
}
h3.titlebg, h4.titlebg, .titlebg, h3.subbg, h4.subbg, .subbg {
	background: none;
	color: #555;
	/* font-family: "interstate", sans-serif; */
	font-family: "Josefin Sans", sans-serif;
	font-weight: 400;
	overflow: hidden;
	padding: 6px 12px 5px 12px;
	text-shadow: none;
}
.titlebg a, .subbg a {
	background: none;
	color: #555;
	text-decoration: none;
}
.title_bar input[type=checkbox] {
    vertical-align: text-bottom;
}

/* Other */
/* Information */
.information {
	/* background: #fcfcfc; */
	overflow: auto;
	border: 1px solid #ddd;
	/* border-radius: 10px; */
	padding: 9px;
	margin-bottom: 10px;
	box-sizing: border-box;
}
.titlebar + .information, .catbar + .information {
	border-top: none;
	/* border-radius: 0 0 7px 7px; */
	padding: 12px 9px 8px 9px;
}
.generic_list_wrapper .information div {
	background: none;
}
.information a {
	/* font-weight: bold; */
}
p.information img {
	vertical-align: middle;
}
#messageindex .information {
	/* border-radius: 5px; */
	padding-left: 0.5em;
	margin-top: 10px;
}
.topic_pages {
	font-size: 0.75em;
	margin: 0 0 0 5px;
}
.topic_pages::before {
	content: " «";
}
.topic_pages::after {
	content: " »"
}
/* Mentions */
.atwho-view {
	position: absolute;
	top: 0;
	left: 0;
	display: none;
	margin-top: 18px;
	background: #fff;
	border: 1px solid #ddd;
	/* border-radius: 3px; */
	box-shadow: 0 0 5px rgba(0,0,0,0.1);
	min-width: 120px;
	z-index: 11110 !important;
}
.atwho-view .cur {
	background: #3366ff;
	color: #fff;
}
.atwho-view .cur small {
	color: #fff;
}
.atwho-view strong {
	color: #3366ff;
}
.atwho-view .cur strong {
	color: #fff;
	font-weight: bold;
}
.atwho-view ul {
	list-style: none;
	padding: 0;
	margin: auto;
}
.atwho-view ul li {
	display: block;
	padding: 5px 10px;
	border-bottom: 1px solid #ddd;
	cursor: pointer;
}
.atwho-view small {
	font-size: smaller;
	color: #777;
	font-weight: normal;
}
/* On/Off Icons (User) */
.on, .off {
	display: inline-block;
	width: 14px;
	height: 14px;
	border-radius: 12px;
	border: 1px solid none;
	vertical-align: middle;
}
.on {
	background: #99ff66;
}
.off {
	background: #808080;
}
#userstatus .smalltext {
	margin: 0 0 0 20px !important;
}

/* Styles for print media. */
@media print {
	#headerarea {
		display: none;
	}

	.tborder {
		border: none;
	}
}
/* Who */
.action_who #upper_show {
	margin-top: 6px;
}
.action_who #lower_pagesection {
	margin-top: 4px;
}
.action_who #lower_pagelinks {
	margin-top: -4px;
}
.action_who select {
	margin-top: -1px !important;
}
span.member.hidden {
	font-style: italic;
}

/* Icons (converted from img to css) */
/* Stay here till I find a better place for you guys */
h3.profile_hd {
	background: url(../images/icons/profile_hd.png) 15px no-repeat;
	padding: 8px 0 8px 50px;
}
.xx {
	background: url(../images/post/xx.png) 2px no-repeat;
	padding: 25px 6px 25px 18px;
}

/* Those classes are sharing exact same gradient. */
/* Background of buttons */
.button, .topbottom,
.dropmenu li ul, .top_menu, .dropmenu li li:hover, .button,
.dropmenu li li:hover>a, .dropmenu li li a:focus, .dropmenu li li a:hover,
.search_form .button, .quickbuttons li,
.quickbuttons li ul, .quickbuttons li ul li:hover, .quickbuttons ul li a:focus,
.popup_window {
	background: #fff;
}
/* Well some of them has different gradient effect on hover */
.button:hover, .search_form .button:hover, .quickbuttons li:hover {
	background: #fff;
}
/* If it fits I sits... */
.navigate_section ul, .popup_content, .up_contain {
	background: #fff;
}

/* Topic/Board follow-alert menu */
.notify_dropdown strong {
	font-size: 1.1em;
}
.notify_dropdown a {
	display: block;
	padding: 0.5em;
}
.notify_dropdown a:hover {
	text-decoration: none;
	background: #eee;
}
.notify_dropdown span {
	font-size: 0.9em;
}

/* Some new stuff */
#display_head,
#description_board {
	clear: both;
	position: relative;
	margin: 2em 1px 1em 1px;
}
#display_head::after,
#description_board::after {
	content: "";
	display: block;
	clear: both;
}
.topic_header {
	box-sizing: border-box;
}
.topic_info {
	margin-bottom: 0.25em;
}
#display_head span {
	margin: -4px 0 0 0;
}
.display_title {
	font-weight: normal;
	font-size: 2em;
	margin-bottom: 0.25em;
}
.replies_heading {
	font-weight: normal;
	font-size: 1.5em;
	padding: 1em 0 0;
}

#reported_posts .main_icons,
#reported_members .main_icons {
	margin: -3px 1px 0 0;
}
#reported_posts .quickbuttons li a,
#reported_members .quickbuttons li a {
	background: none;
}
#modcenter .main_icons {
	margin: -3px -3px 0 0;
}

/* Some colors for generic usage */
.red {
	color: red;
}
.blue {
	color: blue;
}
.green {
	color: green;
}

/* Adding some classes for generic usage and JS rules */
.hidden {
	display: none;
}
.inline_block {
	display: inline-block;
}
.block {
	display: block;
	margin: 0 0 5px 0;
}

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

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

.centerbox {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.dz-image-preview {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
}
#attachment_previews div.descbox > div,
#attachment_previews div.errorbox > div,
#attachment_previews div.infobox > div {
	padding: 10px;
}
#attachment_previews .attach-preview {
	flex: 0 0 auto;
	width: 170px;
}
#attachment_previews .attach-preview img {
	max-width: 100%;
	max-height: 170px;
}
#attachment_previews .attachment_info {
	flex: 1 1 auto;
	width: 250px;
}
#attachment_previews .attach-ui {
	min-height: 36px;
	padding: 10px 0;
	float: right;
}
input[name="attachBBC"] {
	width: 100%;
	margin-top: 10px;
}
.attachment_info .progress_bar, .attachment_info .attached_BBC, a#attach_cancel_all, a#attach_upload_all {
	display: none;
}
.attachment_info .progress_bar {
	margin: 6px 0;
}
.attached_BBC_width_height label {
	min-width: 100px;
	display: inline-block;
}
.attached_BBC_width, .attached_BBC_height {
	margin: 10px 1em 0 0;
	display: inline-block;
}
.attachment_info input[type="number"] {
	width: 5em;
}
#attachment_upload {
	min-height: 50px;
}
#total_progress {
	width: 50%;
	display: none;
}
#max_files_progress, #max_files_progress_text {
	display: none;
}

/* Hide this from desktop users sshh... our little sekrit */
.mobile_buttons {
	display: none;
}

/* Two-Factor Auth code container */
.tfacode {
	background: #d0e7f8;
	padding: 5px;
	width: 20%;
}

/* TFA QR block */
.tfa_qrcode {
	padding: 6% 8%;
}

.tfa_qrcode img {
	width: 140px;
}

/* This was named as "winfo" before, but its better named noup */
.noup {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	margin: 0 0 10px 0 !important;
}
.information.noup {
	border-radius: 0;
	margin: 0 !important;
	border-bottom: none;
}
.windowbg2.noup {
	box-shadow: none;
}

/* Make the reCAPTCHA dialog centered to match the positioning of the built-in verification */
.g-recaptcha {
	display: inline-block;
}

/* If its collapsed you know what to do */
.collapsed {
	opacity: 0.5;
	transition: 1s;
}
.collapsed:hover {
	opacity: 1;
}

/* Lets not allow our textarea in news section overflow too much to left */
tr[id^='list_news_lists_'] textarea {
	width: 100%;
	resize: vertical;
	min-height: 100px;
}

/* Vineyard Canada theme additions */
.inline_separator::before {
	content: " ∙ ";
	margin: 0 0.2em;
	color: grey;
}
.subforum_or_everywhere {
	display: inline-block;
}
.featured_topic .inner,
.original_post .inner {
	font-size: 1.3em;
}
#reason_for_edit {
	margin-bottom: 0.5em;
	display: flex;
}
#reason_for_edit label {
	white-space: pre;
}
#reason_for_edit input {
	width: 100%;
	margin-left: 0.5ch;
}
.button_calendar ul, .button_search ul {
	right: 0;
}

#search_menu {
	width: auto !important;
	margin: 0;
}
#usertools {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-end;
	align-items: center;
}
#site_menu {
	flex: 1 0 0px;
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-end;
	align-items: center;
}
#site_menu li[class^="button_"] {
	position: relative;
}
#site_menu > li {
	flex: 1 1 0px;
	max-width: 12em;
}
#site_menu > li > a {
	font-size: initial;
	font-weight: 400;
	width: 100%;
	text-align: center;
}
#site_menu > li.subsections > a::after {
	content: ' \25be';
}
#top_info {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-end;
}
#top_info li {
	text-align: left;
}
#top_info a {
	/* color: #000; */
}
#top_info > li > a .textmenu {
	display: none;
}
#profile_menu .profile_user_links li a {
	padding: 0 0 0 25px;
	text-indent: -24px;
}
#top_info > li .main_icons {
	margin-right: 0;
	text-indent: 0;
}
#top_info > li > ul,
#site_menu > li > ul,
.button_search > ul {
	z-index: 90;
	position: absolute;
	right: 0;
	padding: 0.5em;
	font-weight: 400;
	border: solid 1px #999;
	border-left: solid 1px #bbb;
	border-top: solid 1px #ccc;
	/* border-radius: 4px; */
	box-shadow: 3px 3px 4px rgba(0, 0, 0, 0.3);
	background: #ffffff;
}
#top_info > li > ul.clickmenu:not(.top_menu),
#site_menu > li > ul.clickmenu:not(.top_menu),
.button_search > ul.clickmenu:not(.top_menu) {
	left: 0;
	right: initial;
	width: 18.6em;
}
#site_menu > li > ul {
	max-width: 100%;
}
#site_menu > li > ul ul {
	margin-left: 9px;
}
#site_menu #button_boardlist_submenu {
	max-width: none;
	width: auto;
}
#site_menu #button_boardlist_submenu > li.active:not(:first-child) {
	border-top: 1px solid #ddd;
	margin-top: 0.5em;
	padding-top: 0.5em;
}
#site_menu #button_boardlist_submenu > li.active:not(:last-child) {
	border-bottom: 1px solid #ddd;
	margin-bottom: 0.5em;
	padding-bottom: 0.5em;
}
#site_menu #button_boardlist_submenu > li > ul {
	padding-bottom: 0.5em;
	margin-left: 0;
	clear:both;
}
#site_menu #button_boardlist_submenu > li > ul > li {
	padding-left: 0;
	padding-right: 0;
}
#top_info > li:not(:hover) > ul {
	/* display: none; */
}
#top_info > li.subsections li,
#site_menu > li.subsections li {
	margin: 0;
	padding: 0 9px;
	width: 12em;
	max-width: 100%;
	font-size: 1em;
	/* border-radius: 3px; */
	/* border: 1px solid transparent; */
}
#top_info > li.subsections li.menu_section,
#site_menu > li.subsections li.menu_section {
	margin-top: 7px;
	padding-top: 9px;
}
#search_submenu li {
	width: 100% !important;
}
#top_info > li li a,
#site_menu > li li a {
	background: none;
	padding: 0;
	/* color: #000; */
	border: none;
	line-height: 2.2em;
}
#top_info .main_icons + .textmenu,
#top_info .main_icons + a {
	padding-left: 9px;
}
#top_info > li > a.button_donate {
	border-radius: 2em;
	width: 10ch;
	padding: 0;
	height: 3em;
	margin: -0.5em 0 0 0;
	line-height: normal;
	display: flex;
	justify-content: center;
	align-items: center;
	border: none;
}
#top_info > li > a.button_donate .textmenu {
	display: initial;
	margin: 0.2em 0.5ch 0;
}
#button_donate_submenu {
	top: 60px;
	left: initial;
	right: 0;
	width: 18em;
}

#subdomain_nav {
	background-color: rgba(255, 255, 255, 0.8);
}
#subdomain_nav ul {
	width: 100%;
	display: flex;
	flex-flow: row nowrap;
}
#subdomain_nav:not(.tabs) ul {
	justify-content: center;
	text-align: center;
	/* font-family: 'interstate'; */
	font-size: 20px;
	font-weight: 200;
	text-transform: lowercase;
	padding: 5px;
}
.subdomain_nav_padding {
	background-color: rgba(255, 255, 255, 0.95);
	padding: 1em;
	width: 100%;
}
.subdomain_nav_padding > span {
	margin: 1em 0;
}
/* Don't show the home page link in the initiatives menu */
#button_subforums_0 {
	display: none !important;
}
#subdomain_nav li {
	display: inline-block;
	width: 103px;
	background: radial-gradient(farthest-corner at 50% 50%, rgba(255, 255, 255, 1.0) 51%, rgba(255, 255, 255, 0) 72%);
	flex: 0 1 auto;
}
#subdomain_nav.tabs li {
	display: inline-flex;
	width: auto;
	background: radial-gradient(farthest-corner at 50% 50%, rgba(255, 255, 255, 1.0) 51%, rgba(255, 255, 255, 0) 72%);
	flex: 1 1 auto;
}
#subdomain_nav li a {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 5px 5px;
	text-decoration: none;
	color: #000;
	font-size: 0.85em;
	/* border-radius: 10px; */
	border: 1px solid transparent;
}
#subdomain_nav.tabs li a {
	display: flex;
	align-items: flex-end;
}
#subdomain_nav li.active a {
	background: #fff;
	border-color: #ddd !important;
}
#subdomain_nav.tabs li.active a {
	border-bottom-color: #fff !important;
}
#subdomain_nav.tabs li:not(.active) a {
	border-bottom-color: #ddd !important;
}
#subdomain_nav li:hover {
	/* opacity: 1; */
}
#subdomain_nav li:hover a {
	background: #fafafa;
	border-color: #fafafa;
}
#subdomain_nav .textmenu {
	display: inline-block;
	/* transform: scale(1.4, 1); */
	/* -webkit-transform: scale(1.4, 1); */
	/* letter-spacing: -0.03em; */
	/* padding: 0 10px; */
	display: none;
}
#subdomain_nav.tabs .textmenu {
	display: inline-block;
}
#subdomain_nav a img {
	max-height: 120px;
	/* filter: grayscale(70%); */
	display: block;
	margin: 0 auto;
	max-width: 100%;
}
#subdomain_nav.tabs a img {
	max-height: 2em;
	margin: 0 1ch 0 0 ;
	max-width: 2em;
}
#subdomain_nav li:hover a img {
	/* filter: grayscale(0%); */
}
#subdomain_nav.tabs + div {
	padding: 1em;
	border-left: 1px solid #ddd;
	border-right: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}

#main_content_section {
	/* width: calc(100% - 290px); */
	/* float: left; */
	/* padding: 0 15px 0 0; */
	/* margin: 0 0 1em 0; */
}
#sidebar_upper,
#sidebar_lower {
	width: 290px;
	float: right;
	clear: right;
	padding-left: 15px;
	box-sizing: border-box;
}
#sidebar_upper {
	clear: both;
}
.sidebar_block {
	border-bottom: 1px solid #ddd;
	padding-bottom: 1em;
	margin-bottom: 1em;
}
.sidebar_block::after {
	content: "";
	display: block;
	clear: both;
}
#sidebar_lower .sidebar_block:last-child {
	border-bottom: none;
}
.boardindex_table {
	margin-bottom: 1em;
}
.event_list {
	border-top: 1px solid #ddd;
	padding: 2em 0;
}
.event_list .cat_bar {
	min-height: 6em;
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	align-items: center;
	margin-bottom: 0.5em;
}
.event_list ul {
	display: flex;
	flex-flow: row wrap;
}
.event_list li {
	margin: 0.5em;
	width: 300px;
	max-width: 310px;
	min-width: 280px;
	box-shadow: none;
	flex: 1 1 auto;
}
#admin_mod_menu {
	/* margin: 11px 0; */
}
#messageindex {
	display: flex;
	flex-flow: column nowrap;
}
.featured_topic {
	padding: 1em 0;
	border-bottom: 1px solid #ddd;
	background: #fff;
}
.featured_topic.roundframe {
	padding: 1em 12px;
	margin-left: -12px;
	margin-right: -12px;
	/* border-radius: 10px; */
	border: 1px solid #ddd;
}
#unread .featured_topic.roundframe {
	margin-top: -1px;
}
.featured_topic:first-child {
	margin-top: 0 !important;
}
.featured_topic .topic_header {
	display: flex;
	align-items: center;
}
.featured_topic .topic_header div.avatar {
	margin-right: 15px;
	float: left;
	align-self: flex-start;
}
.featured_topic .topic_header img.avatar {
	width: 65px;
	height: 65px;
}
img.avatar {
	object-fit: cover;
	/* border-radius: 100%; */
}
img.avatar[src$='default.png'] {
	border: 1px solid #000;
	box-sizing: border-box;
	opacity: 0.3;
}
#profile_menu_top > img.avatar[src$='default.png'] {
	opacity: 0.8;
	border: 1px solid #000;
	height: 1.5em;
	width: 1.5em;
	bottom: 0.1em;
}
.topic_header_main {
	width: calc(100% - 75px);
}
.featured_topic .article_body,
.featured_topic .comment_link {
	margin-left: 80px;
	clear: both;
}

.hide_avatars .featured_topic .topic_header div.avatar {
	display: none;
}
.hide_avatars .featured_topic .topic_header div.topic_header_main {
	width: 100%;
}
.hide_avatars .featured_topic .article_body,
.hide_avatars .featured_topic .comment_link {
	margin-left: 0;
}

.article_body {
	/* margin-top: 1em; */
	/* margin-bottom: 1em; */
	background: inherit;
}
#hero_banner {
	position: relative;
	background-size: cover;
	background-position: bottom;
	background-repeat: no-repeat;
	min-height: 40vh;
	padding: 30px 0;
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	align-items: center;
	border-bottom: 1px solid #ddd;
}
#hero_banner * {
	box-sizing: border-box;
}
#hero_banner > .mw_wrapper {
	position: relative;
}
#hero_banner > .mw_wrapper:only-child {
	flex: 1 0 auto;
	margin: 0;
}
img.posted {
	vertical-align: middle;
	margin-top: -2px;
}
.redirect_title {
	font-size: 2em;
	font-weight: 300;
	font-style: italic;
	margin-bottom: 0.25em;
}
.topic_header.redirect {
	opacity: 0.6;
}
.topic_header.redirect:hover {
	opacity: 1;
}
.sidebar_block .social_embed_container {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-around;
	align-items: center;
}
.sidebar_block .social_embed {
	width: 275px;
	height: 400px;
	border: 1px solid #ddd;
	margin: 5px 0;
}

/* .clickmenu is an element that gets the class 'visible' toggled on it by clicking the previous element */
.clickmenu {
	display: none;
}
.clickmenu.visible {
	display: block;
}
/* .buttonmenu is a button strip rendered similarly to (but not the same as) a .dropmenu */
.buttonmenu {
	box-sizing: border-box;
	display: inline-block;
	float: left;
}
.buttonmenu .buttonlist {
	/* display: none; */
	position: absolute;
	margin: 0;
	left: 0;
	top: 1.9em;
	z-index: 110;
	padding: 0.5em;
	font-weight: normal;
	text-align: left;
	border: solid 1px #999;
	border-left: solid 1px #aaa;
	border-top: solid 1px #bbb;
	/* border-radius: 4px 2px 4px 0; */
	box-shadow: 2px 3px 3px rgba(0, 0, 0, 0.2);
	background: #fff;
}
.buttonlist.floatright .buttonmenu .buttonlist {
	left: initial;
	right: 0;
}
/* .buttonmenu:hover .buttonlist {
	display: block;
} */
.buttonmenu > span:first-child {
	padding: 0 8px 0 6px;
}
.button.subsections::after,
.buttonmenu > .button::after {
	content: ' \25be';
}
.button_last {
	margin-left: 0 !important;
	border-left: 0 !important;
	border-bottom-left-radius: 0;
	border-top-left-radius: 0;
}
.button_first {
	margin-right: 0 !important;
	/* border-bottom-right-radius: 0; */
	/* border-top-right-radius: 0; */
}
.buttonmenu .buttonlist .button {
	display: block;
	text-transform: capitalize;
	font-size: 1em;
	line-height: 1em;
	height: auto;
	box-sizing: border-box;
	color: #000;
	padding: 7px;
	margin: 0;
	background: none;
	box-shadow: none;
	text-shadow: none;
	width: 100%;
	min-width: 6em;
	white-space: nowrap;
	/* border: 1px solid transparent; */
	/* border-radius: 3px; */
	border: none;
}
.buttonmenu .buttonlist .button.active {
	background: inherit;
	color: inherit;
	border: 1px solid #ddd;
	text-shadow: none;
	box-shadow: none;
}
.buttonmenu .buttonlist .button .description {
	text-transform: none;
	max-width: 250px;
	white-space: normal;
	font-size: smaller;
	font-weight: 300;
	color: grey !important;
}
.buttonlist.floatleft .button {
	margin: 0 5px 0 0;
	float: left;
}

/* Featured content on the front page */
.featured_content_blocks {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
}
.featured_content_blocks,
.featured_content_blocks_wide {
	border-bottom: 1px solid #ddd;
}

.featured_content_more {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.featured_content_more a {
	/* position: absolute; */
	margin:  1em;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.5em;
	padding: 0.5em;
	border-radius: 1em;
	border: 1px solid #ddd;
}
.featured_content_more a::after {
	padding: 0 0.25ch 0 0.5ch;
	text-transform: capitalize;
	position: relative;
	top: 0.12em;
}
.featured_content_more a.show-more::after {
	content: attr(data-more);
}
.featured_content_more a.show-less::after {
	content: attr(data-less);
}

.featured_content {
	flex:  1 1 0px;
	box-sizing: border-box;
	padding: 1.5em 0;
	margin: 0.5em;
	min-width: 300px;
	max-width:  600px;
	display: flex;
	justify-content: center;
}
.featured_content_blocks .featured_content {
	min-width: 320px;
}
.featured_content_blocks_wide .featured_content {
	max-width: initial;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-around;
	align-items: center;
}
.featured_content_blocks .featured_content:nth-child(n+3) {
	display: none;
}
.featured_content_blocks.showall .featured_content:nth-child(n+3) {
	display: flex;
}
.featured_content .display_title {
	font-size: 1.7em;
	margin: 0.5em 0;
	/* height: 2.2em; */
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: center;
}
.featured_content .display_title:only-child {
	text-align: center;
}
.featured_content header {
	min-height: 6em;
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
}
.featured_content .wide_block_header {
	margin: 0 0 1em;
}
.featured_content_blocks .featured_content .wide_block_header,
.featured_content_blocks_wide .featured_content header {
	display: none;
}
.featured_content header .topic_info,
.featured_content .wide_block_header .topic_info {
	margin: 0 0 0.5em;
}
.featured_content_body {
	box-sizing: border-box;
	margin: 0 0 1em;
	width: 100%;
	max-width: 300px;
	/* min-height: 300px; */
	flex: 1 0 auto;
	/* font-size: 1.3em; */
	display: flex;
	flex-flow: column nowrap;
	justify-content: space-between;
	align-items: center;
}
.featured_content_blocks_wide .featured_content_body {
	width: auto;
	flex: 1 1 0;
	margin: auto;
}
.featured_content_body .article_body {
	min-height: 6em;
	margin: 1em 0 0;
	display: flex;
	flex-flow: column;
	text-align: justify;
	font-size: 1.3em;
	-webkit-hyphens: auto;
	hyphens: auto;flex: 1 0 auto;
}
.featured_content_blocks_wide .featured_content_body .article_body {
	min-height: initial;
}
.featured_content_image + .article_body {
	min-height: initial;
	flex: 1 0 auto;
	-webkit-hyphens: initial;
	hyphens: initial;
}
.featured_content_body p {
	margin: 1em 0;
}
.featured_content_body div.article_body:first-child p:first-child {
	margin-top: 0;
}
.featured_content_body div.article_body:last-child p:last-child {
	margin-bottom: 0;
}
.featured_content_body h3,
.featured_content_body a {
	color: #000;
}
.banner_blurb_wrapper .featured_content_body h3,
.banner_blurb_wrapper .featured_content_body a:not(.action_link) {
	color: #000;
}
.featured_content_body h3 a.bbc_link {
	font-weight: bold;
    text-decoration: none;
    border: none;
}
.featured_content_body a.bbc_link {
	/* border-bottom: 1px solid #fff; */
}
.banner_blurb_wrapper .featured_content_body a.bbc_link {
	/* border-bottom-color: #000; */
}
.featured_content footer .bbc_link {
	font-size: 1.3em;
	text-align: center;
	border: none;
}
.featured_content a.action_link,
.featured_topic a.action_link {
	display: inline-block;
	font-size: smaller;
	padding: 0.5em 2ch;
	margin: 1ch;
	width: auto;
	flex: 0 1 auto;
	box-sizing: border-box;
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
	/* color: #ff4743; */
	/* background: #fff; */
	border-radius: 0;
}
.featured_content a.action_link span.textmenu,
.featured_topic a.action_link span.textmenu {
	position: relative;
	top: 0.12em;
}
.featured_content_body .topic_info {
	font-style: italic;
	/* color: #fff; */
	font-size: 0.7em;
}
.banner_blurb_wrapper .featured_content_body .topic_info {
	color: #000;
}
.featured_content_image {
	border: 1px solid #ddd;
	background: #f8f8f8;
}
.featured_content_image,
.featured_content_image a {
	height: 300px;
	width: 100%;
	max-width: 300px;
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	align-items: center;
}
.featured_content_blocks_wide .featured_content_image {
	flex: 1 1 0;
	margin: auto;
}
.featured_content_image img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}
.featured_content_image img[src$=".svg"] {
	background: rgba(255, 255, 255, 1);
	min-height: 300px;
}
.featured_content_image img[src*="/frontpage/"] {
	object-fit: cover;
}
.featured_content_blocks_wide .featured_content_body .display_title {
	/* min-height: 2em; */
	display: flex;
	flex-flow: column;
	justify-content: center;
	text-align: center;
	margin: 0 auto;
}
.featured_content_blocks_wide footer {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-around;
	width: 100%;
	margin: 1em 0 0;
}
#ie10 .featured_content .mw_wrapper,
#ie11 .featured_content .mw_wrapper {
	display: block;
	text-align: center;
}
#ie10 .featured_content_image,
#ie11 .featured_content_image {
	display: inline-block;
	float: none;
	width: 49%;
}
#ie10 .featured_content_body,
#ie11 .featured_content_body {
	display: inline-block;
	vertical-align: top;
	width: 50%;
}
#news_blocks .featured_content:not(:first-child) {
	border-top: 1px solid #ddd;
}
.featured_content_blocks_wide:not(.featured_content_blocks_no_alternation) .featured_content:nth-child(even) .featured_content_image,
.featured_content_blocks_wide.wide_odd:not(.featured_content_blocks_no_alternation) .featured_content:nth-child(odd) .featured_content_image {
	order: 2;
}
.featured_content_image.featured_content_video {
	max-width: 400px;
	background: transparent;
	border: 1px solid transparent;
}
.featured_content_image.featured_content_video + .featured_content_body {
	max-width: 400px;
}

.featured_content_blocks_wide .featured_content.flexcolumn_space_around {
	flex-flow: column;
}
.featured_content_blocks_wide .featured_content.flexcolumn_space_around header {
	display: block;
	min-height: initial;
	margin: 0 0 1em;
}
.featured_content_blocks_wide .featured_content.flexcolumn_space_around .featured_content_body .wide_block_header {
	display: none;
}
.featured_content_video:only-child,
.featured_content_blocks_wide .featured_content.flexcolumn_space_around .featured_content_video,
.featured_content_blocks_wide .featured_content.flexcolumn_space_around .featured_content_video + .featured_content_body {
	max-width: initial;
	height: auto;
	order: initial !important;
	margin: 0 3em;
	flex: initial;
}

.frontpage_section_header {
	display: flex;
	margin: 3em 0 1em;
	/* padding-bottom: 1.25em; */
}
.frontpage_section_header > * {
	border-radius: 0.5em;
}
.frontpage_section_header + .featured_content_blocks {
	margin-top: -1em;
}

/* Events on the front page */
#event_display {
	padding: 2em 0 4em;
	/* border-bottom: 1px solid #ddd; */
}
#event_display:last-child {
	margin-bottom: -16px;
}
#event_display > header {
	margin: 1em 0 2em;
}
#event_display .featured_content_blocks_wide {
	border-bottom: none;
}
#event_display .featured_content:nth-child(n+4) {
	display: none;
}
#event_display.showall .featured_content:nth-child(n+4) {
	display: flex;
}
#event_display .featured_content_body {
	max-width: 500px;
}
#event_display .featured_content footer {
	font-size: 1.3em;
}
#event_display .featured_content footer > span {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-around;
}
#event_display .event_info {
	font-size: 1.5em;
	font-weight: bolder;
	text-align: center;
}
#event_display .event_info div {
	margin: 0.25em 0;
}
.event_info time,
.event_info .time {
	display: inline-block;
}
.event_info .export {
	font-size: 0.75em;
	font-weight: 300;
	display: inline-flex;
	align-items: center;
}
.event_info .export .main_icons {
	font-size: 0.9em;
	height: auto;
	width: auto;
}

#site_nav {
	position: relative;
}
#site_nav_toggle {
	flex: 1 0 auto;
	text-align: right;
	position: relative;
	margin: 0 10px;
}
.menu_icon {
	display: inline-block;
	background: url(../images/menu_icon.svg) no-repeat -5px 0px;
	height: 20px;
	width: 16px;
	vertical-align: text-bottom;
}
.responsive_menu_toggle {
	display: block;
	text-align: center;
	color: inherit !important;
	box-sizing: border-box;
}
.responsive_menu_toggle .textmenu {
	font-size: 1.2em;
	margin: 0 1ch -0.4em; /* The bottom margin is dependent on the font */
}
#main_menu .responsive_menu_toggle .menu_icon,
#adm_submenus .responsive_menu_toggle .menu_icon,
.generic_menu .responsive_menu_toggle .menu_icon {
	margin-right: 1ch;
}
.clickmenu > li > span {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
}
a.subsection_toggle {
	display: inline-block;
	padding: 0 9px;
	flex: 1 1 auto;
	text-align: right;
}
li li .subsection_toggle {
	float: right;
}
#footer {
	padding: 2em 12px 0;
}
#footer_top {
	padding: 24px 0;
}
#footer_top .mw_wrapper {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: stretch;
	color: #fff;
}
#footer .social_embed_container {
	flex: 1 1 auto;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-around;
	align-items: center;
}
#footer .social_embed {
	width: 268px;
	height: 400px;
}
#footer #news_slider {
	width: 300px;
	max-width: 100%;
	/* flex: 1 0 auto; */
	padding: 1em;
	margin: 0 auto;
	box-sizing: border-box;
	justify-content: center;
}
#footer #news_slider li {
	max-width: 300px;
	margin: auto;
}

#footer_links {
	text-align: center;
	padding: 12px 0;
	box-sizing: border-box;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items:center;
}
#footer_links > * {
	margin: 12px;
	box-sizing: border-box;
	flex: 1 1 auto;
	display: flex;
	flex-flow: column;
	justify-content: center;
	/* min-width: 296px; */
}
#footer_links > *:first-child {
	margin-left: 0;
	text-align: left;
	align-items: flex-start;
}
#footer_links > *:last-child {
	margin-right: 0;
	text-align: right;
	align-items: flex-end;
}
#footer_logo {
	display: block;
	width: 296px; /* 320px - 12px side margins */
}
#footer_logo svg {
	width: 100%;
}
#footer_logo svg * {
	fill: #fff;
}
address {
	font-style: normal;
}

#footer_bottom {
	padding: 12px 0;
}
#footer_bottom li {
	box-sizing: border-box;
}
#footer_bottom li.floatleft {
	text-align: left;
}
#footer_bottom li.floatright {
	text-align: right;
}
.social_icons {
	font-size: 1.2em;
	display: block;
	width: 100%;
	text-align: center;
}
.social_icons a:not(:last-child) {
	margin-right: 1ch;
}

.invisible {
	display: none;
}
.button_menu_notify {
	margin-left: 8px !important;
}
.button_menu_notify .textmenu,
#moderationbuttons_strip_mobile .buttonmenu_title .textmenu {
	display: none;
}
:lang('fr') q::before, q:lang('fr')::before,
:lang('fr') q::after, q:lang('fr')::after {
	margin: 0 0.2em;
}
/* Override styles in jquery-ui.datepicker.css to match Vineyard Canada theme */
.ui-widget,
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button,
.ui-widget-header {
	font-family: inherit !important;
}
.ui-datepicker .ui-datepicker-title,
.ui-widget-header,
.ui-widget-header a,
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
	color: inherit !important;
}
.ui-widget-header {
	background: inherit !important;
}
.ui-widget-header,
.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus,
.ui-button:hover,
.ui-button:focus,
.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
	text-shadow: inherit !important;
}
.ui-datepicker .ui-datepicker-title {
	font-weight: normal !important;
}
.ui-widget-header {
	font-weight: normal !important;
	border-bottom: 1px solid #ddd !important;
	border-radius: 0 !important;
}
/* Email obfuscator */
span.em_domain::before {
	content: "@";
}
span.em_domain::after {
	content: ".";
}
span.zerowidth {
	max-width: 1px;
	max-height: 1px;
	overflow: hidden;
	opacity: 0;
	display: inline-block;
}
.video_wrapper {
	position: relative;
	height: 0;
	overflow: hidden;
}
.video_wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}
.lefttext .video_wrapper {
	margin: 0 auto 0 0;
}
.centertext .video_wrapper {
	margin: 0 auto;
}
.righttext .video_wrapper {
	margin: 0 0 0 auto;
}

/* Responsive Youtube embed */
.videocontainer {
	max-width: 800px;
}
.videocontainer div {
	position: relative;
	padding-bottom: 56.25%;
}
.videocontainer iframe,
.videocontainer video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	background-color: black;
}
.centertext .videocontainer {
	margin-left: auto;
	margin-right: auto;
}

.flexrow_space_around {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-around;
	align-items: center;
}
.flexrow_space_between {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
}
.flexcolumn_space_around {
	display: flex;
	flex-flow: column;
	justify-content: space-around;
	align-items: center;
}
.flexcolumn_space_between {
	display: flex;
	flex-flow: column;
	justify-content: space-between;
	align-items: center;
}
.flexbox_align_start {
	align-items: flex-start;
}
.flexbox_align_end {
	align-items: flex-end;
}

.backtrace:not(:last-child) {
	padding-bottom: 0.5em;
	border-bottom: 1px solid #ddd;
	margin-bottom: 0.5em;
}

/* To break or not to break that is the question indeed */
.word_break {
	word-break: break-all;
}

/* So that I don't have to mess with the default jquery.sceditor.css */
.sceditor-container {
	position: relative;
}

.user_buttons {
	margin-left: auto;
}
.user_buttons::after {
	content: "";
	display: block;
	clear: both;
}
.user_buttons.hide_on_large_screens {
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	padding: 0.5em 0;
	margin: 0.5em 0;
}

/* Member bios on initiative landing pages */
.catalyst_info {
	border-bottom: 1px solid #ddd;
}
.catalyst_bios {
	display: flex;
	flex-flow: row wrap;
}
.catalyst_bios .member {
	box-sizing: border-box;
	padding: 1em;
	min-width: 50%;
	min-height: 150px;
	flex: 1 1 auto;
}
.catalyst_bios .member_header {
	min-height: 70px;
}
.catalyst_bios div.avatar {
	margin-right: 10px;
}
.catalyst_bios div.avatar a {
	display: block;
	line-height: 0;
}
.catalyst_bios img.avatar {
	max-width: 150px;
	min-width: 150px;
	max-height: none;
}
.catalyst_bios .bio_etc {
	margin-left: 160px;
	min-height: 80px;
	position: relative;
	display: flex;
	flex-flow: column nowrap;
	justify-content: space-around;
}
.bio_etc p {
	margin: 1em 0;
}
.bio_etc p:first-child {
	margin-top: 0;
}
.bio_etc p:last-child {
	margin-bottom: 0;
}

#post_attachments_area #drop_zone_ui {
	padding: 5px 0 !important;
}