/* You can find detailed information at https://wiki.simplemachines.org/smf/Curve2_CSS
/* Index */

@import url("https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap");
@font-face {
  font-family: BoldPixels;
  src: url(../fonts/BoldPixels.ttf);
}

:root {
  --color-1: #192a46;
  --color-2: #507591;
  --color-3: #142238;
  --color-4: #b8d3ff;
  --color-5: #fae47f;
  --color-6: #6e4c22;

  --text-color-1: #ffffff;

  --gradient-1: linear-gradient(180deg, var(--color-1) 0%, var(--color-2) 100%);

  --small-text: 0.9rem;
  --normal-text: 1rem;
  --subtitle-text: 1.1rem;
  --title-text: 1.2rem;

  --border-radius-1: 16%;

  --drop-shadow-1: drop-shadow(0 0 2px #00000091);
}

html {
  background: #3e5a78;
  scroll-padding-top: 3rem;
}
body {
  background: linear-gradient(
      0deg,
      #142238 0%,
      #142238 30%,
      #142238 40%,
      rgba(20, 34, 56, 0.85) 100%
    ),
    url("https://vanilla-minecraft.fr/storage/img/banner-vmc.jpg");
  background-attachment: fixed;
  background-size: cover;
  font-family: "Nunito", "Helvetica Neue", "Nimbus Sans L", Arial,
    "Liberation Sans", sans-serif;
  font-size: var(--normal-text);
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
::selection {
  text-shadow: none;
  background: #99d4ff;
  color: rgba(0, 0, 0, 0.6);
}
/* General reset */
* {
  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: 0.1em dotted;
}
input,
button,
select,
textarea {
  color: #222;
  font: 83.33%/150% "Nunito", "Helvetica Neue", "Nimbus Sans L", Arial,
    "Liberation Sans", sans-serif;
  background: #fff;
  outline: none;
  border: 1px solid #bbb;
  vertical-align: middle;
  border-radius: 10px;
  padding: 0.3em 0.4em;
}
input:hover,
textarea:hover,
button:hover,
select:hover {
  outline: none;
}
textarea:hover {
  background: #fbfbfb;
}
input:focus,
textarea:focus,
button:focus,
select:focus {
  outline: none;
  border-color: #7fb0d8;
  background: #fff;
}
input,
button,
select {
  padding: 0.45em 0.8em;
}
select {
  padding: 0.45em 0.8em; /* selects don't apply line-height */
}
/* Selects with more than one line */
select[size] {
  height: auto;
}
input[type="file"] {
  padding: 2px;
  height: auto;
}
/* Remove default mozilla dotted borders */
input[type="submit"]::-moz-focus-inner,
button::-moz-focus-inner {
  border: 0;
}
/* Prevent inputs and images overflowing */
img,
input,
select,
textarea {
  max-width: 100%;
}
/* This is a specific issue on Ubuntu - Chrome */
#chrome input {
  font-family: "Nunito", "Segoe UI", "Helvetica Neue", Arial, "Liberation Sans",
    sans-serif;
}
/* The following is necessary */
textarea {
  font-size: 1em;
}

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

.sceditor-container textarea,
.sceditor-container textarea:focus {
  box-shadow: none;
}
#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: var(--small-text);
}
/* 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);
}
select option {
  padding: 0 4px;
}
/* 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;
}
summary {
  margin: 5px 0;
}

/* 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;
  color: #444;
}
.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;
  color: #444;
}
/* All input elements that are checkboxes or radio buttons shouldn't have a border around them */
input[type="checkbox"],
input[type="radio"] {
  border: 1px solid #bbb;
  border-radius: 4px;
  cursor: pointer;
  background-color: #ffffff;
  vertical-align: middle;
  box-shadow: none;
  margin: 8px 3px;
  height: 18px;
  width: 18px;
}

.moderationbuttons_mobile_check {
  display: none;
}
/* Give disabled input elements a different style */
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;
  margin: 12px 0;
  height: 2px;
  background: #fff;
  box-shadow: 0 1px 0 #bbb inset;
}
/* This is about links */
a,
a:visited {
  color: var(--color-1);
  text-decoration: none;
  font-weight: 800;
}
a:hover {
  text-decoration: underline;
  cursor: pointer;
}

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

#likes li {
  clear: both;
  padding: 1px 0;
  display: flex;
  align-items: center;
}
#likes .avatar {
  height: 5em;
  width: 5em;
  margin: 0 10px 0 0;
}
#likes li .like_profile {
  flex: 1 0 auto;
}
#likes li .like_time {
  padding: 4px 0;
}
#likes .description {
  font-style: italic;
  opacity: 0.4;
  font-size: 0.9em;
  display: block;
}

/* The "new" button */
.new_posts,
a.new_posts {
  display: inline-block;
  position: relative;
  top: -2px;
  padding: 0 4px;
  background: linear-gradient(#f97b00, #884d00);
  color: #fff;
  font: 9px/15px verdana, sans-serif;
  border-radius: 2px;
  opacity: 0.8;
}
a.new_posts:visited {
  color: #fff;
}
.new_posts:hover,
.new_posts:focus {
  text-decoration: none;
  opacity: 1;
}

/* 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: 10px auto;
  text-align: center;
}
.righttext {
  margin-left: auto;
  margin-right: 0;
  margin-top: 10px;
  margin-bottom: 10px;
  text-align: right;
}
.lefttext {
  margin-left: 0;
  margin-right: auto;
  margin-top: 10px;
  margin-bottom: 10px;
  text-align: left;
}
.justifytext {
  margin: 10px auto;
  text-align: justify;
}
.double_height {
  line-height: 2em;
}
/* some common padding styles */
.padding {
  padding: 8px;
}
.main_section,
.lower_padding {
  padding-bottom: 6px;
}
.half_content {
  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 8px 0;
  padding: 6px 10px;
  font-size: 0.85rem;
  border: 1px solid #d6dfe2;
  border-left: 2px solid #aaa;
  border-right: 2px solid #aaa;
}
blockquote cite {
  display: block;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  font-size: 0.9em;
  margin-bottom: 3px;
}
blockquote cite::before {
  color: #aaa;
  font-size: 22px;
  font-style: normal;
  content: "\275D";
  margin-right: 3px;
  vertical-align: middle;
}
.bbc_standard_quote {
  background-color: #e0e6f6;
}
.bbc_alternate_quote {
  background-color: #ebf4f8;
}

/* A code block - maybe PHP ;). */
.bbc_code {
  display: block;
  font-size: 0.78rem;
  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;
}
/* Styling for BBC tags */
.bbc_link {
  border-bottom: 1px solid #a8b6cf;
}
.bbc_link:hover {
  text-decoration: none;
  border-bottom: 1px solid #346;
}
.bbc_size {
  line-height: 1.4em;
}
.bbc_color a {
  color: inherit;
}
.bbc_table {
  font: inherit;
  color: inherit;
}
.bbc_table td {
  font: inherit;
  color: inherit;
  vertical-align: top;
}
.bbc_list {
  text-align: left;
  padding: 0 0 0 35px;
  list-style-type: inherit;
}
.bbc_float {
  margin-bottom: 1em;
  /* default max-width to use if none was specified in the BBC */
  max-width: 45%;
}
.bbc_float.floatleft {
  margin-right: 1em;
  clear: left;
}
.bbc_float.floatright {
  margin-left: 1em;
  clear: right;
}
.bbc_img {
  object-fit: contain;
  max-height: 60vh;
}
.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: #f7f7f7 url(../images/icons/toggle.png) no-repeat 0 0 / 17px;
  overflow: hidden;
  content: "";
  vertical-align: middle;
  margin: 0 5px 0 5px;
  border: 1px solid #c5c5c5;
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 1px 1px #fff inset,
    0 -5px 4px rgba(0, 0, 0, 0.1) inset;
  transition: background-color 0.25s;
}
.toggle_down::before {
  background-position: 0 -17px;
}

.toggle_up:hover:before,
.toggle_down:hover:before {
  background-color: #bfd4e7;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25) inset;
  transition: background-color 0.25s;
}

/* Generally, those [?] icons. This makes your cursor a help icon. */
.help {
  cursor: help;
  opacity: 0.9;
}
.help:hover {
  opacity: 1;
}

/* Highlighted text - such as search results. */
.highlight {
  font-weight: bold;
  color: #ff7200 !important;
  font-size: 1.1em;
  background-color: inherit;
}

/* the page navigation area */
.pagesection {
  padding: 2px 0;
  overflow: hidden;
  clear: both;
}
.pagesection .pagelinks {
  display: flex;
  color: var(--text-color-1);
  align-items: center;
  gap: 2px;
}
.pagesection .pagelinks .main_icons {
  display: flex;
}
.pages::after,
.jump_to::after,
.code::after {
  content: ": ";
}
.pages {
  font-size: 0.9em;
  margin-left: 7px;
}
#main_content_section .pagesection {
  margin: 4px 0 0 0;
}
.nav_page,
.nav_page:visited {
  padding: 0 1px;
  color: var(--text-color-1);
}
.expand_pages {
  font-weight: bold;
  cursor: pointer;
}
.current_page {
  padding: 0 4px 0 2px;
  color: var(--color-5);
  font-weight: bold;
}
.current_page::before,
.codeoperation::before {
  content: "[";
}
.current_page::after,
.codeoperation::after {
  content: "]";
}

/* Posts and personal messages displayed throughout the forum. */
.postarea {
  flex: 11;
  display: flex;
  flex-direction: column;
  flex-basis: 500px;
}

.post {
  overflow: auto;
  line-height: 1.4em;
  padding: 1px 0;
  flex: 1;
}

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

.event {
  color: #078907;
}

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

.warn_moderate {
  color: #ffa500;
}

.warn_watch,
.success {
  color: green;
}

a.moderation_link,
a.moderation_link:visited {
  font-weight: bold;
  padding: 0px 8px;
  background: #f59e00;
}
/* AJAX notification bar
------------------------------------------------------- */
#ajax_in_progress {
  background: var(--color-4);
  color: var(--color-1);
  text-align: center;
  font-size: 1em;
  padding: 4px;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  border-bottom: 3px solid var(--color-4);
  font-weight: 700;
}

#ajax_in_progress a {
  color: orange;
  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 10px 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 3px 0;
}
dl.settings img {
  margin: 0 10px 0 0;
  display: block;
  width: 130px;
  height: auto;
  object-fit: cover;
  aspect-ratio: 1/1;
  border-radius: 15px;
  filter: var(--drop-shadow-1);
}

/* a general table class */
table.table_grid {
  border-collapse: collapse;
  margin: 0;
  width: 100%;
  border-radius: 0 0 15px 15px;
  overflow: hidden;
}
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,
.windowbg th {
  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 {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
#top_info {
  position: relative;
}
/* Level 1 button background. */
.dropmenu > li {
  display: inline-block;
  margin: 0 2px 0 1px;
  font-size: var(--normal-text);
}
/* Disable default focus outlines */
.dropmenu a {
  outline: 0;
}
/* For cases where we want to spotlight something specific to an item, e.g. an amount */
.amt {
  margin-left: 3px;
  padding: 0 5px;
  color: #fff;
  background: #ff0000;
  border-radius: 8px;
}
.dropmenu li .active .amt,
#top_info li .active .amt {
  background: rgba(0, 0, 0, 0.2);
  color: inherit;
}
#top_info .top_menu.visible {
  display: flex;
  flex-direction: column;
  gap: 1em;
  align-items: end;
  padding: 20px;
}

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

.dropmenu li a,
#top_info > li.profile_button > a {
  padding: 8px 9px;
  display: block;
  border: 1px solid transparent;
  border-radius: 15px;
  background-color: var(--color-1);
  box-shadow: 0 200px 100px -100px var(--color-2) inset;
  transition: all ease 0.3s;
  color: var(--text-color-1);
}

.dropmenu.menu_nav li a,
#top_info > li.profile_button > a {
  padding: 8px 9px;
  display: block;
  border: 1px solid transparent;
  border-radius: 15px;
  background-color: none;
  box-shadow: none;
  transition: all ease 0.3s;
  color: var(--text-color-1);
}

/* Level 1 active button. */
.dropmenu a.active {
  color: var(--text-color-1);
  font-weight: bold;
  background-color: var(--color-2);
  box-shadow: 0 200px 100px -100px var(--color-3) inset;
  outline: 1px solid var(--color-2);
  color: var(--text-color-1) !important;
}

/* Level 1 hover effects. */
.dropmenu > li:hover > a,
.dropmenu > li > a:focus,
#top_info > li.profile_button:hover > a,
#top_info > li.profile_button > a:focus {
  background-color: var(--color-2);
  box-shadow: 0 200px 100px -100px var(--color-1) inset;
  cursor: pointer;
  text-decoration: none;
  outline: 1px solid var(--color-2);
}
/* Level 1 active button. */
.dropmenu li a.active:hover,
.dropmenu li:hover a.active {
  background-color: var(--color-1);
  outline: 1px solid var(--color-2);
}

a.mobile_user_menu,
a[class^="mobile_generic_menu_"] {
  display: none;
}

#main_menu {
}

/* User information. */
.profile_user_info,
.profile_user_avatar {
  display: flex;
  flex-direction: column;
  justify-content: end;
  align-items: end;
}
.profile_user_avatar img.avatar {
}
.profile_username {
  font-size: 150%;
  display: block;
}
.profile_user_links ol {
  column-count: 1;
  font-size: var(--normal-text);
  display: flex;
  flex-direction: column;
}
.profile_user_links li {
  font-size: var(--normal-text);
  line-height: 2em;
  padding-left: 24px;
  text-indent: -24px;
  -webkit-hyphens: auto;
  hyphens: auto;
  text-wrap: nowrap;
}
/* Fixes bug with border-box on scrollable js */
.scrollable,
.scrollable *,
#profile_menu {
  box-sizing: content-box;
}
.top_menu.scrollable {
  max-height: 30em;
}
.pm_unread,
.alerts_unread {
  margin-top: 5px;
  border-top: 1px solid #ddd;
}

.block.pm_sending {
  display: flex;
  gap: 10px;
  justify-content: end;
}

.block.alerts_opts {
  display: flex;
  justify-content: end;
}

.pm_bar {
  gap: 5px;
  display: flex;
  flex-direction: column;
}
.pm_mailbox.centertext {
  display: flex;
  gap: 10px;
}

.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;
  object-fit: scale-down;
  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;
}
.unread_notify_image .avatar + .alert_icon {
  width: auto;
  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;
  padding: 10px;
  font-weight: normal;
  border: solid 1px #999;
  border-radius: 15px;
  background: #fff;
  filter: var(--drop-shadow-1);
  border: 1px solid var(--color-2);
}
/* Level 2 link background. */
.dropmenu li li {
  margin: 0;
  padding: 0;
  width: 17em;
  font-size: 1em;
  border-radius: 3px;
  border: 1px solid transparent;
}
/* Necessary to allow highlighting of 1st level while hovering over submenu. */
.dropmenu li:hover li a,
.dropmenu li li a {
  background: none;
  box-shadow: none;
  padding: 0 9px;
  color: #000;
  border: none;
  line-height: 2.2em;
  border: 1px solid transparent;
}

.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 {
}
.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%;
}
/* Level 3 submenu wrapper positioning. */
.dropmenu li ul ul {
  margin: -2em 0 0 15.3em;
}
/* 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 {
}

.dropmenu li li:hover > a,
.dropmenu li li a:focus,
.dropmenu li li a:hover {
  color: #333;
  text-decoration: none;
  border: 1px solid #cfcfcf;
  border-top: 1px solid #d4dee6;
}
/* Reposition Level 2 submenu as visible on hover. */
.dropmenu li:hover ul {
  display: block;
}
/* Hiding Level 3 submenu off hover. */
.dropmenu li:hover ul ul,
.dropmenu li ul ul,
.dropmenu li:hover ul ul ul,
.dropmenu li ul ul ul {
  left: -9999px;
}
/* Reposition as visible on hover. */
.dropmenu li li:hover ul,
.dropmenu li li ul {
  left: -14px;
}
.dropmenu li li.subsections > a::after {
  position: absolute;
  padding: 5px 0;
  right: 10px;
  font: 83.33%/150% Arial, sans-serif;
  content: "\25ba";
}
/* 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,
.pagelinks {
  display: flex;
  z-index: 100;
  padding: 5px 0 5px 0;
  gap: 10px;
  flex-wrap: wrap;
}
.button,
.button:visited {
  display: flex;
  background-color: var(--color-2);
  box-shadow: 0 200px 100px -100px var(--color-2) inset;
  transition: all ease 0.3s;
  color: var(--text-color-1);
  padding: 8px 9px;
  text-transform: uppercase;
  border-radius: 15px;
  font-size: 13px;
  font-weight: bold;
  border: 1px solid var(--color-2);
  cursor: pointer;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.quickbuttons > li > a,
.inline_mod_check {
  display: flex;
  transition: all ease 0.3s;
  color: var(--text-color-1);
  text-transform: uppercase;
  border-radius: 15px;
  font-size: 13px;
  font-weight: bold;
  cursor: pointer;
  align-items: center;
}

html[lang="el-GR"] .button,
html[lang="el-GR"] .quickbuttons > li > a,
html[lang="el-GR"] .inline_mod_check {
  text-transform: capitalize;
}
.button:hover,
.button:focus {
  text-decoration: none;
  background-color: var(--color-2);
  box-shadow: 0 200px 100px -100px var(--color-1) inset;
}

/* the active one */
.button.active {
  background: var(--color-6);
  box-shadow: 0 200px 100px -100px var(--color-5) inset;
  border: 1px solid var(--color-5);
  color: var(--color-1);
}
.button.active:hover,
.button.active:focus {
  background: var(--color-5);
  box-shadow: 0 200px 100px -100px var(--color-6) inset;
  color: var(--text-color-1);
}
.cat_bar .button {
  box-shadow: none;
}
/* In a .buttonrow, the buttons are joined together */
.buttonrow {
  margin: 0 5px;
}
.buttonrow .button {
  display: table-cell;
  border-radius: 0;
}
.buttonrow .button:first-child {
  border-radius: 3px 0 0 3px;
}
.buttonrow .button:last-child {
  border-radius: 0 3px 3px 0;
}
/* in a titlebg, the buttonlist is of small height */
.titlebg .buttonlist {
  margin: 0;
  padding: 0;
}

/* Styles for the general looks of the theme.
------------------------------------------------------- */

/* Box-shadow only on this one. */
#wrapper {
}

/* Set maximum width limit for content */
#top_section .inner_wrap,
#wrapper,
#header,
#footer .inner_wrap {
  max-width: 2000px;
  margin: 0 auto;
  width: 90%;
}

/* The framing graphics */
/* The top bar. */
#top_section {
  border-bottom: 1px solid var(--text-color-1);
  background-color: var(--color-3);
  font-weight: bold;
  box-shadow: 0 200px 100px -100px var(--color-1) inset;
  padding: 10px 0px;
}

#top_section .inner_wrap {
  display: flex;
  justify-content: space-between;
}

#top_info {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap-reverse;
  row-gap: 5px;
  column-gap: 8px;
}

#top_info .button_signup a {
  background: var(--color-6);
  box-shadow: 0 200px 100px -100px var(--color-5) inset;
  border: 1px solid var(--color-5);
  color: var(--color-1);
  padding: 8px 9px;
  display: block;
  border-radius: 15px;
  transition: all ease 0.3s;
}

#top_info .button_login a {
  background: var(--color-4);
  box-shadow: 0 200px 100px -100px var(--color-4) inset;
  border: 1px solid var(--color-4);
  color: var(--color-1);
  padding: 8px 9px;
  display: block;
  border-radius: 15px;
  transition: all ease 0.3s;
}

#top_info .button_signup a:hover {
  background: var(--color-5);
  box-shadow: 0 200px 100px -100px var(--color-6) inset;
  color: var(--text-color-1);
  text-decoration: none;
}

#top_info .button_login a:hover {
  background-color: var(--color-1);
  box-shadow: 0 200px 100px -100px var(--color-2) inset;
  outline: 1px solid var(--color-2);
  text-decoration: none;
}

#pm_menu,
#alerts_menu,
#profile_menu {
  right: 0;
  top: 90%;
}
#profile_menu_top {
}
#profile_menu_top > img.avatar {
  height: 65px;
  width: 65px;
  border-radius: 200px;
  border: 2px solid var(--color-4);
  object-fit: cover;
}
#pm_menu_top .main_icons,
#alerts_menu_top .main_icons {
  display: none;
}
.notice {
  font-weight: bold;
}

#languages_form,
#search_form {
  padding: 5px 0;
}
#languages_form {
  margin: 0 0 0 10px;
}
/* The logo and slogan. */
#header {
  margin-top: 30px;
  position: relative;
  display: flex;
  height: 23rem;
}
#header .banner {
  display: flex;
  width: 100%;
  height: 100%;
  filter: var(--drop-shadow-1);
}
#header .banner img {
  width: 100%;
  height: 100%;
  border-radius: 15px;
  height: auto;
  object-fit: cover;
}

#header .header_wrapper {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  align-items: center;
  height: 100%;
  width: 100%;
  justify-content: center;
  padding: 35px;
}

#header img {
  height: auto;
  width: 100%;
  max-height: 100%;
}

#header img a {
  height: 100%;
  width: auto;
}
/* The header content */
h1.forumtitle {
  display: flex;
  font-size: 1.8em;
  font-weight: normal;
  align-self: center;
  justify-content: center;
  height: 100%;
}

#top_section .top_logo {
  display: flex;
  justify-content: center;
  align-items: center;
}

#top_section .top_logo img {
  object-fit: cover;
  width: 50px;
  min-width: 50px;
}

h1.forumtitle a,
#top_section .top_logo a {
  color: var(--color-5);
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
}

/* Float these items to the right */
#siteslogan,
img#smflogo {
  padding-right: 2px;
  font-size: 1.4em;
}
/* Tweak the SMF logo */
img#smflogo {
  margin: 16px 0 0 0;
}
/* Even guests need to be aligned */
.welcome {
  padding: 0 10px;
  line-height: 2.5em;
}
/*
/* The user info, news, etc.*/
#upper_section {
  display: flex;
  align-items: center;
  /*! width: 100%; */
  gap: 15px;
}
#inner_section {
  border-radius: 6px 6px 0 0;
  /*! width: 100%; */
}
#inner_section::after {
  /*! content: ""; */
  /*! display: block; */
  /*! clear: both; */
}
/* The upper_section, float the two each way */
#inner_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #bbb;
  margin-bottom: 12px;
}
.user {
  padding: 0 4px 8px 4px;
  font-size: 0.9em;
  white-space: nowrap;
}
.user:only-child {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.user time,
.user .unread_links,
.user .unread_links li {
  display: inline-block;
}
.user:not(:last-child) time:not(:last-child)::after,
.user .unread_links li:not(:last-child)::after {
  content: " • ";
  margin: 0 1ch;
}
ul li.greeting {
  font-weight: bold;
}
/* The login form. */
#guest_form {
  overflow: hidden;
  font-size: 0.9em;
  margin-left: -2px;
}
/* News section. */
#inner_wrap .news {
  padding: 0 0 8px 1ch;
  font-size: 0.9em;
  display: flex;
  align-items: baseline;
  max-width: 50%;
}
#inner_wrap .news h2 {
  line-height: initial;
}
#inner_wrap .news h2,
#inner_wrap .news p {
  display: inline;
  padding-left: 1ch;
}

/* The navigation list (i.e. linktree) */
.navigate_section {
  float: left;
  width: 100%;
  padding: 18px 0px 4px 0;
}
#main_content_section .navigate_section {
  margin: 4px 0 0 0;
  padding: 0;
}
.navigate_section ul {
  font-size: var(--normal-text);
  box-shadow: 0 -2px 2px rgba(0, 0, 0, 0.08);
  display: flex;
  column-gap: 10px;
  flex-wrap: wrap;
  row-gap: 6px;
}
.navigate_section ul li {
  display: flex;
  gap: 5px;
  align-items: center;
}
.navigate_section ul li a,
.navigate_section ul li span {
  color: var(--color-4);
  font-weight: 400;
  font-size: var(--small-text);
}

.navigate_section ul li.last a,
.navigate_section ul li.last .tree_name {
  color: var(--color-5);
  font-weight: 800;
  cursor: default;
}

.navigate_section ul li span {
  display: inline-block;
}
.navigate_section ul li .dividers {
  color: var(--color-4);
  font-size: var(--normal-text);
  font-weight: 400;
}
.navigate_section ul li .board_moderators a {
  padding: 4px 0;
}

.navigate_section a:hover span {
  text-decoration: underline;
}

/* The content section */
#content_section {
  margin: 0 auto;
  clear: both;
}
#main_content_section {
}
#main_content_section::after {
  content: "";
  display: block;
  clear: both;
}
/* Footer is now full-width by default. */
/* The footer with copyright links etc. */
#footer {
  margin: 4em 0 0 0;
  padding: 10px 0;
  background: #3e5a78;
  border-top: 3px solid #b2b6bd;
  flex: none;
}
#footer li,
#footer p,
#footer a {
  font-size: 0.9em;
  color: #fff;
}
#footer li.copyright {
  display: block;
}
#footerfix {
  flex: 1 0 auto;
}

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

.fix_rtl_names {
  display: inline-block;
}

/* The quick buttons */
.postinfo .container {
  display: flex;
  align-items: center;
  gap: 5px;
  justify-content: end;
}

.quickbuttons {
  display: flex;
  align-items: center;
  gap: 3px;
  text-wrap: nowrap;
  flex-wrap: wrap;
  justify-content: center;
}
#recent .quickbuttons {
  margin: 0;
}

.quickbuttons > li > a,
.inline_mod_check {
  color: var(--color-1);
  border-radius: 15px;
  padding: 2px 8px;
}

.quickbuttons > li:hover > a,
.quickbuttons > li > a:focus {
  text-decoration: none;
  background-color: #00000018;
}

.moderationbuttons_check:focus {
  box-shadow: 0 0 4px #499dd8;
}
.quick_edit,
.post_options {
  position: relative;
}
/* Drop part of QuickButtons */
.post_options ul {
  display: flex;
  position: absolute;
  top: 100%;
  right: 0px;
  z-index: 90;
  padding: 6px;
  background: #fff;
  border: solid 1px #999;
  border-radius: 15px;
  box-shadow: 2px 3px 3px rgba(0, 0, 0, 0.2);
  flex-direction: column;
  border: 1px solid var(--color-2);
}
.post_options:hover ul {
  display: block;
}
.post_options ul a {
  display: flex;
  padding: 9px 8px;
  text-decoration: none;
  border-radius: 15px;
  width: 18em;
}
.post_options ul a:hover,
.post_options ul a:focus {
  background-color: #00000018;
}
/* 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;
}

/* The jump to box */
#display_jump_to {
  padding: 5px 0;
  margin: 4px 0;
  float: right;
  font-size: 1em;
}
#topic_icons #message_index_jump_to {
  padding: 0;
  float: right;
}

/* The category separator string is 29 dashes */
#display_jump_to_select,
#message_index_jump_to_select,
#search_jump_to_select,
#quick_mod_jump_to_select,
#list_integration_hooks select {
  width: 29ch;
  overflow: hidden;
}

.quickModifyMargin {
  margin: 10px 0 15px 0;
  display: flex;
  display: flex;
  float: right;
  gap: 10px;
}

/* Styles for edit event section
---------------------------------------------------- */
#post_event .roundframe {
  padding: 12px 12%;
  overflow: auto;
}
#post_event fieldset {
  padding: 6px;
  clear: both;
}
#post_event span.label {
  margin: 0 0.5em 0 2px;
  min-width: 60px;
  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;
}
.event_options_left {
  box-sizing: border-box;
  width: 55%;
  min-width: 238px;
}
.event_options_right {
  box-sizing: border-box;
  width: 45%;
  min-width: 270px;
}
.event_options_left div,
.event_options_right div {
  white-space: nowrap;
}

#post_event #event_main input {
  margin: 0;
}
#event_time_input {
  clear: left;
}
#event_time_input > div {
  display: flex;
}
#event_time_input input.date_input {
  width: 40%;
  margin: 2px 0.5ch 0;
  flex: 1 1 auto;
}
#event_time_input input.time_input {
  width: 13ch;
  margin: 2px 0.5ch 0;
  flex: 0 1 auto;
}
#post_event input[type="checkbox"] {
  height: auto;
}
#post_event input[type="text"][disabled] {
  color: transparent;
}
#post_event select,
#event_options input[type="text"],
#tz {
  max-width: calc(100% - 75px);
}
#post_event select,
#evtitle,
#event_location {
  width: calc(100% - 75px);
}
#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;
}

/* Styles for the move topic section. */
.move_topic {
  width: 710px;
  margin: auto;
  text-align: left;
}
div.move_topic fieldset {
  margin-top: 1ex;
  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;
  opacity: 0.8;
}
ul.split_messages li a.split_icon:hover {
  opacity: 1;
}
.split_messages,
.message_header {
  margin-bottom: 8px;
}
/* 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;
  max-width: 100%;
  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;
}

.login input[type="submit"] {
  margin: 1em 0 0 1em;
}
.login p:not(:last-of-type) input[type="submit"] {
  margin: 20px auto;
}

/* Additional register fields */
#registration fieldset {
  border: none;
  padding: 0;
  margin: 0;
}
#registration .roundframe {
  border-top: none;
}
dl.register_form {
  margin: 0;
  clear: right;
}
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;
}
#confirm_buttons {
  text-align: center;
  padding: 12px 0;
}
.coppa_contact {
  padding: 4px;
  width: 32ex;
  background: #fff;
  color: #222;
  margin-left: 5ex;
  border: 1px solid #222;
}
.valid_input {
  background: #f5fff0;
}
.invalid_input {
  background: #fff0f0;
}

/* Styles for maintenance mode.
------------------------------------------------------- */
#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;
}

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

.errorfile_table {
  background: #f0f4f7;
  border-collapse: collapse;
}
.errorfile_table .file_line {
  text-align: right;
  padding-right: 6px;
}
.errorfile_table td.current {
  font-weight: bold;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  border-width: 1px 0 1px 1px;
  background: rgba(245, 141, 15, 0.2);
}

.generic_menu {
  margin: 5px 0;
}
/* Some lovely generic icons.
------------------------------------------------- */
.main_icons::before {
  content: "";
  width: 16px;
  height: 16px;
  display: inline-block;
  background: url(../images/icons/main_icons_sprite.png) no-repeat -5px -5px /
    260px auto;
  vertical-align: middle;
}

/* Hide icons on main navbar */
.menu_nav .main_icons::before,
.button_tpadmin img {
  display: none;
}

.main_icons.alerts::before {
  background: url(../images/icons/bell.png);
  background-size: 16px;
}
/* Load better icons for higher resolution screens */
@media screen and (-webkit-min-device-pixel-ratio: 1.66),
  screen and (min-resolution: 160dpi) {
  .main_icons::before {
    /* background-image: url(../images/icons/main_icons_sprite_hd.png); */
  }
  .main_icons.alerts::before {
    background-image: url(../images/icons/bell_hd.png);
  }
}

/* Small fix for topics */
.quickbuttons .main_icons::before,
.button .main_icons::before {
  margin: 0px 6px 0px 0px;
}

.main_icons.gender_None::before {
  background: none;
}

.main_icons.gender_0::before {
  display: none;
}

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

/* Top row */
.main_icons.help::before {
  background-position: -5px -5px;
}
.main_icons.search::before,
.main_icons.engines::before {
  background-position: -31px -5px;
}
.main_icons.quick_edit_button::before,
.main_icons.modify_button::before {
  background-image: url(../images/icons/quick_edit.svg);
  background-position: center;
  background-size: contain;
  width: 24px;
  height: 22px;
}
.main_icons.check::before {
  background-position: -83px -5px;
}
.main_icons.invalid::before {
  background-position: -109px -5px;
}
.main_icons.gender_2::before {
  background-position: -135px -5px;
}
.main_icons.watch::before {
  background-position: -239px -5px;
}
/* 2nd row */
.main_icons.move::before,
.main_icons.next_page::before {
  background-image: url(../images/icons/arrow_right.svg);
}
.main_icons.general::before,
.main_icons.boards::before,
.main_icons.topics_views::before {
  background-position: -31px -31px;
}
.main_icons.gender_1::before {
  background-position: -57px -31px;
}
.main_icons.features::before {
  background-position: -83px -31px;
}
.main_icons.posters::before {
  background-position: -109px -31px;
}
.main_icons.replies::before,
.main_icons.topics_replies::before {
  background-position: -135px -31px;
}
.main_icons.history::before,
.main_icons.time_online::before,
.main_icons.scheduled::before {
  background-position: -161px -31px;
}
.main_icons.views::before {
  background-position: -187px -31px;
}
.main_icons.last_post::before {
  background-position: -213px -31px;
}
.main_icons.starters::before,
.main_icons.people::before,
.main_icons.membergroups::before,
.main_icons.mlist::before {
  background-position: -239px -31px;
}
/* 3rd Street Saints */
.main_icons.poll::before {
  background-position: -5px -57px;
}
.main_icons.previous_page::before {
  background-image: url(../images/icons/arrow_left.svg);
}
.main_icons.inbox::before {
  background-position: -57px -57px;
}
.main_icons.www::before {
  background-position: -83px -57px;
}
.main_icons.exit::before,
.main_icons.logout::before {
  background-position: -109px -57px;
}
.main_icons.switch::before {
  background-position: -135px -57px;
}
.main_icons.replied::before,
.main_icons.send::before {
  background-position: -161px -57px;
}
.main_icons.im_on::before {
  background-position: -187px -57px;
}
.main_icons.im_off::before {
  background-position: -213px -57px;
}
.main_icons.split_desel::before {
  background-position: -239px -57px;
}
/* 4th Row */
.main_icons.split_sel::before {
  background-position: -5px -83px;
}
.main_icons.mail::before {
  background-position: -31px -83px;
}
.main_icons.warning_mute::before {
  background-position: -57px -83px;
}
.main_icons.warn_button::before,
.main_icons.warning_moderate::before {
  background-position: -83px -83px;
}
.main_icons.mail_new::before {
  background-position: -109px -83px;
}
.main_icons.drafts::before,
.main_icons.reply_button::before,
.main_icons.reply_all_button::before {
  background-position: -135px -83px;
}
.main_icons.warning_watch::before {
  background-position: -161px -83px;
}
.main_icons.calendar_export::before {
  background-position: -187px -83px;
}
.main_icons.calendar::before {
  background-position: -213px -83px;
}
.main_icons.calendar_modify::before {
  background-position: -239px -83px;
}
/* 5th Row */
.main_icons.plus::before {
  background-position: -5px -109px;
}
.main_icons.warning::before,
.main_icons.moderate::before {
  background-position: -31px -109px;
}
.main_icons.themes::before {
  background-position: -57px -109px;
}
.main_icons.support::before {
  background-position: -83px -109px;
}
.main_icons.liked_users::before,
.main_icons.liked_messages::before,
.main_icons.like::before {
  background-image: url(../images/icons/like.svg);
  background-position: center;
  background-size: contain;
  width: 30px;
  height: 30px;
}
.main_icons.unlike::before {
  background-image: url(../images/icons/unlike.svg);
  background-position: center;
  background-size: contain;
  width: 30px;
  height: 30px;
}
.main_icons.current_theme::before {
  background-position: -161px -109px;
}
.main_icons.stats::before {
  background-position: -187px -109px;
}
.main_icons.right_arrow::before {
  background-position: -213px -109px;
}
.main_icons.left_arrow::before {
  background-position: -239px -109px;
}
/* 6th Row */
.main_icons.smiley::before {
  background-position: -5px -135px;
}
.main_icons.server::before {
  background-position: -31px -135px;
}
.main_icons.ban::before,
.main_icons.ignore::before {
  background-position: -57px -135px;
}

.main_icons.boards::before {
  background-position: -83px -135px;
}
.main_icons.regcenter::before {
  background-position: -109px -135px;
}
.main_icons.posts::before {
  background-position: -135px -135px;
}
.main_icons.sort_down::before {
  background-position: -161px -135px;
}
.main_icons.change_menu2::before,
.main_icons.sent::before {
  background-position: -187px -135px;
}
.main_icons.post_moderation_moderate::before {
  background-position: -213px -135px;
}
.main_icons.sort_up::before {
  background-position: -239px -135px;
}
/* 7th Row */
.main_icons.post_moderation_deny::before {
  background-position: -5px -161px;
}
.main_icons.post_moderation_attach::before {
  background-position: -31px -161px;
}
.main_icons.post_moderation_allow::before {
  background-position: -57px -161px;
}
.main_icons.personal_message::before {
  background-position: -83px -161px;
}
.main_icons.permissions::before,
.main_icons.login::before {
  background-image: url(../images/icons/login.svg);
  background-position: center;
  background-size: contain;
  width: 24px;
  height: 22px;
}
.main_icons.paid::before {
  background-position: -135px -161px;
}
.main_icons.packages::before {
  background-position: -161px -161px;
}
.main_icons.filter::before {
  background-position: -187px -161px;
  margin: 0 5px 0 0;
}
.main_icons.change_menu::before {
  background-position: -213px -161px;
}
.main_icons.package_ops::before {
  background-position: -239px -161px;
}
/* 8th Row */
.main_icons.reports::before {
  background-position: -5px -187px;
}
.main_icons.news::before {
  background-position: -31px -187px;
}
.main_icons.delete::before,
.main_icons.hide_popup::before,
.main_icons.prune::before,
.main_icons.remove_button::before {
  background-image: url(../images/icons/delete.svg);
  background-position: center;
  background-size: contain;
  width: 24px;
  height: 22px;
}
.main_icons.modifications::before {
  background-position: -83px -187px;
}
.main_icons.maintain::before,
.main_icons.admin::before {
  background-position: -109px -187px;
}
.main_icons.administration::before,
.main_icons.home::before {
  background-position: -135px -187px;
}
.main_icons.frenemy::before {
  background-position: -161px -187px;
}
.main_icons.attachment::before {
  background-position: -187px -187px;
}
.main_icons.lock::before,
.main_icons.security::before {
  background-image: url(../images/icons/lock.svg);
  background-position: center;
  background-size: contain;
  width: 24px;
  height: 24px;
}
.main_icons.error::before,
.main_icons.disable::before {
  background-position: -239px -187px;
}
/* 9th Row */
.main_icons.languages::before,
.main_icons.recent_posts::before {
  background-position: -5px -213px;
}
.main_icons.members_request::before {
  background-position: -31px -213px;
}
.main_icons.members_delete::before {
  background-position: -57px -213px;
}
.main_icons.members::before {
  background-position: -83px -213px;
}
.main_icons.members_watched::before {
  background-position: -109px -213px;
}
.main_icons.sticky::before {
  background-image: url(../images/icons/sticky.svg);
  background-position: center;
  background-size: contain;
  width: 24px;
  height: 22px;
}
.main_icons.corefeatures::before,
.main_icons.settings::before,
.main_icons.manrules::before,
.main_icons.manlabels::before {
  background-position: -161px -213px;
}
.main_icons.calendar::before {
  background-position: -187px -213px;
}
.main_icons.logs::before {
  background-position: -213px -213px;
}
.main_icons.valid::before {
  background-position: -239px -213px;
}
/* 10th Row */
.main_icons.approve::before,
.main_icons.enable::before,
.main_icons.approve_button::before,
.main_icons.read_button::before {
  background-position: -5px -239px;
}
.main_icons.close::before {
  background-position: -31px -239px;
}
.main_icons.details::before {
  background-position: -57px -239px;
}
.main_icons.merge::before {
  background-position: -83px -239px;
}
.main_icons.folder::before {
  background-position: -109px -239px;
}
.main_icons.restore_button::before {
  background-position: -135px -239px;
}
.main_icons.split_button::before {
  background-position: -161px -239px;
}
.main_icons.unapprove_button::before,
.main_icons.unread_button::before {
  background-position: -187px -239px;
}
.main_icons.quote::before,
.main_icons.quote_selected::before {
  background-image: url(../images/icons/quote.svg);
  background-position: center;
  background-size: contain;
  width: 24px;
  height: 13px;
}
.main_icons.notify_button::before {
  background-position: -239px -239px;
}

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

#fatal_error {
  width: 80%;
  margin: 0 auto 10px auto;
}
.errorbox::before,
.noticebox::before,
.infobox::before {
  width: 16px;
  height: 16px;
  background: url(../images/icons/main_icons_sprite.png) no-repeat -57px -83px;
  left: 10px;
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -8px;
}
.errorbox,
.noticebox,
.infobox {
  padding: 10px 10px 10px 40px;
  margin-bottom: 12px;
  position: relative;
}
.errorbox {
  background-color: #fee;
  /*! border-top: 2px solid #c34; */
  /*! border-bottom: 2px solid #c34; */
  border-radius: 15px;
}
.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: #222;
  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, 0.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 0.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, 0.15) 25%,
    transparent 25%,
    transparent 50%,
    rgba(255, 255, 255, 0.15) 50%,
    rgba(255, 255, 255, 0.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: 20%;
  float: left;
}
#detailedinfo {
  width: 79.5%;
  float: right;
}
#basicinfo > * {
  margin-bottom: 3px;
}
#basicinfo h4 {
  font-size: 1.4em;
  font-weight: normal;
  -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;
  display: block;
}
#basicinfo img.avatar,
dl.settings img.avatar {
  display: block;
  width: 130px;
  height: auto;
  object-fit: cover;
  aspect-ratio: 1/1;
}
#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%;
  margin: 0 0 3px 0;
  font-weight: bold;
  color: #444;
}
#detailedinfo dd,
#tracking dd {
  width: 65%;
  float: left;
  margin: 0 0 3px 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 {
  padding: 5px 6px 1px 2px;
  font-size: 2.2em;
  font-weight: bold;
  color: #3f3f3f;
  float: left;
}
.topic_details {
  padding: 0 4px 4px 4px;
}
.counter + .topic_details {
  margin-left: 25px;
}
.list_posts {
  border-top: 1px solid #ddd;
  box-shadow: 0 1px 0 #fff inset;
  padding-top: 1em;
  margin-top: 1em;
  margin-bottom: 1em;
  clear: both;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  overflow-wrap: break-word;
}
.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 > ul > li {
  margin: 12px;
}
.boardslist > ul > li > ul {
  columns: 2 250px;
}
.boardslist > ul > li > ul > li {
  break-inside: avoid;
  display: inline-block;
  vertical-align: top;
  width: 100%;
}
.boardslist a {
  font-weight: bold;
  border-bottom: 1px solid #c4c4c4;
  display: block;
  margin-bottom: 0.5em;
}
.boardslist a:hover {
  text-decoration: none;
  border-bottom: 1px solid #334466;
}
.boardslist label {
  display: inline-block;
  text-indent: -3ch;
  margin: 0 3ch;
}

#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;
  line-height: 1.5em;
  clear: both;
  font-size: 1em;
  overflow: hidden;
  word-wrap: break-word; /* IE fallback */
  overflow-wrap: break-word;
}
dl.stats dd {
  width: 48%;
  font-size: 1em;
  float: left;
  margin: 0 0 4px 2%;
}
dl.stats {
  padding: 5px;
}

/* 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;
}
.unread_pm {
  background: #cfc;
}
/* 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 {
  max-width: 80%;
  max-height: 80%;
  margin-top: 4px;
  vertical-align: bottom;
}
#alerts .alert_image span.alert_icon {
  display: block;
  width: 100%;
  line-height: 1em;
}
#alerts .alert_image .avatar + .alert_icon {
  width: auto;
  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 .skype {
  width: 30px;
}
#mlist .post_count {
  width: 115px;
}

/* Styles for the search section.
------------------------------------------------- */
#searchform fieldset {
  text-align: left;
  padding: 0;
  border: none;
}
#searchform .roundframe {
  border-radius: 0;
  margin: 0;
  padding: 32px;
}
#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;
}
#advanced_search dl#search_options {
  margin: 0 auto;
  width: 600px;
  padding-top: 12px;
  overflow: hidden;
}
#advanced_search dt {
  padding: 2px;
  text-align: right;
  width: 20%;
}
#advanced_search dd {
  width: 75%;
  float: left;
  padding: 2px;
  margin: 0 0 0 6px;
  text-align: left;
}
#search_results {
  margin-bottom: 5px;
}

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

#help_container {
  padding: 0 0 8px 0;
}
#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;
  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: 100vw; */
  height: 100vh;
  background: rgba(40, 64, 80, 0.5);
  z-index: 100;
}
#genericmenu > .popup_container {
  z-index: 5;
}
#adm_submenus > .popup_container {
  z-index: 4;
}
.popup_window,
#main_menu .popup_window,
#genericmenu .popup_window,
#adm_submenus .popup_window {
  position: relative;
  width: auto;
  z-index: 99;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.5);
  border: 1px solid #777;
  border-radius: 15px;
  padding: 0;
}

#smf_popup {
  width: 100dvw;
  height: 100dvh;
}
.popup_window.description {
  border-radius: 15px;
  overflow: hidden;
  background-color: white;
  width: 90vw;
  max-width: 40rem;
  margin: auto;
  top: 25%;
}

#mobile_action .popup_window,
#mobile_moderation .popup_window {
  top: 15%;
  max-width: 567px;
  padding: 0 6px 6px 6px;
  background-color: #ffffff;
  border-radius: 15px;
}
.popup_heading {
  padding: 10px 8px;
  color: var(--color-1);
  font-weight: 800;
  font-size: var(--subtitle-text);
}
.popup_content {
  color: #222;
  line-height: 1.6em;
  max-height: 30em;
  overflow: auto;
  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,
#adm_submenus .popup_heading {
  display: none;
}
#main_menu .popup_container,
#genericmenu > .popup_container,
#adm_submenus > .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_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-radius: 15px;
  overflow: auto;
}
/* Here comes the glory... */
.windowbg:nth-of-type(even),
.bg.even {
  background: #ffffff;
}
.windowbg:nth-of-type(odd),
.bg.odd {
  background: #ffffff;
}

/* Highlight the target item */
.windowbg:target {
}

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

/* Special treatment for #forumposts area */
#forumposts .windowbg,
#forumposts .approvebg,
#forumposts .approvebg2,
#pmFolder .windowbg {
  overflow: visible;
}
/* Nobody wants locked topics to stand out much. */
.windowbg.locked {
  box-shadow: 0px 0px 10px -2px #0000001c inset;
  background: #d7dee6;
}
/* Sticky topics get a different background */
.windowbg.sticky {
  background: #fff7ee;
  box-shadow: none;
}
/* Locked AND sticky are a bit more technical */
.windowbg.sticky.locked {
  background: #ece7e2;
}
/* Awaiting approval is a bit special, topics first */
.windowbg.approvetopic {
  background: #e4a17c;
}
/* Unapproved posts in approved topics */
.windowbg.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.windowbg td.centercol {
  text-align: center;
}
tr.windowbg {
  box-shadow: none;
}
#postmodify #message {
  width: 100%;
}
#postmodify .lastedit {
  font-weight: bold;
}

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

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

.bold_text {
  font-weight: bold;
}

/* Profile > This needed for responsive (get rid of <br>) */
.infolinks {
  display: block;
}
#groups .windowbg {
  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/recent) */
.boardindex_table:not(:last-child) {
  margin-bottom: 15px;
}
h3 .collapse {
  float: right;
  margin: 4px 4px 0 0;
}
.board_wrapper {
  position: relative;
}

.board_wrapper .board_link {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: all ease 0.1s;
}

.board_wrapper .board_link:hover {
  background-color: #00000018;
}

.board_icon a,
.board_icon div {
  display: inline-block;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}
.board_icon .board_on {
  background: url(../images/board/board_on.svg) no-repeat 0 0 / 100% 100%;
  transition: all ease 0.3s;
}
.board_icon .board_on:hover {
  transform: scale(1.1);
}
.board_icon .board_on2 {
  background: url(../images/board/board_on2.svg) no-repeat 0 0 / 100% 100%;
  pointer-events: none;
}
.board_icon .board_off {
  background: url(../images/board/board_off.svg) no-repeat 0 0 / 100% 100%;
  pointer-events: none;
}
.board_icon .board_redirect {
  background: url(../images/board/board_redirect.svg) no-repeat 0 0 / 100% 100%;
  pointer-events: none;
}
.board_icon {
  text-align: center;
  width: 60px;
  flex-shrink: 0;
}
.boardindex_table .board_icon {
  width: 54px;
  height: auto;
  aspect-ratio: 1/1;
  flex-basis: 54px;
}
.boardindex_table .info {
  flex-basis: 90%;
}
.boardindex_table .board_stats {
  padding: 13px 10px 10px;
}
.boardindex_table .board_stats div {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.boardindex_table .board_stats div span {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
}
.board_wrapper .lastpost,
#topic_container .lastpost {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: var(--small-text);
  border-radius: 200px;
  z-index: 1;
  justify-content: start;
  min-width: 180px;
}
.board_wrapper .lastpost > div,
#topic_container .lastpost > div {
  display: flex;
  flex-direction: column;
}
.board_wrapper .lastpost .avatar,
#topic_container .lastpost .avatar {
  width: 39px;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 100%;
  object-fit: cover;
  filter: var(--drop-shadow-1);
  border: 1px solid var(--color-2);
}
.board_wrapper .lastpost span,
#topic_container .lastpost span {
  display: inline-block;
  font-weight: 400;
}
.board_wrapper .lastpost b,
#topic_container .lastpost b {
  font-weight: 800;
}
.info {
  overflow: hidden;
  overflow-wrap: break-word;
  padding: 5px 5px 5px 0;
  flex-grow: 1;
  font-size: var(--small-text);
}
.info .subject {
  font-weight: 800;
  font-size: var(--subtitle-text);
  color: var(--color-1);
}
.board_description {
  font-size: var(--small-text);
}
.board_stats {
  width: 15%;
  font-size: 0.9em;
  margin: 0 0 0 auto;
  text-align: center;
}
.lastpost {
  width: 30%;
}
.board_icon,
.info,
.board_stats,
.lastpost {
  display: inline-block;
  align-self: center;
}
.main_container {
  margin-bottom: 20px;
  border-radius: 15px;
  overflow: hidden;
}

.main_container .board_wrapper_container {
  display: grid;
  grid-auto-rows: 1fr;
}

.up_contain {
  overflow: hidden;
  display: flex;
  padding: 0 20px;
  gap: 15px;
  height: 100%;
  min-height: 90px;
}
/* Child boards */
.children {
  width: 100%;
  padding-top: 5px;
  position: relative;
  z-index: 10;
}
.children p {
  font-size: 0.9em;
}
.children span::after {
  content: " | ";
}
.children span:last-of-type::after {
  content: "";
}
p.moderators {
  font-size: 0.9em;
  font-weight: bold;
}
span.postby {
  display: block;
}
/* Info Center */
#info_center {
  clear: both;
}
#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;
  width: 98%;
  margin: -2px 0 0 23px;
  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,
.filter_row {
  padding: 8px 10px;
  border-radius: 6px 6px 0 0;
  border-bottom: none;
  box-shadow: none;
}
#description_board h3,
#description_board div {
  display: inline-block;
}
#description_board h3::after {
  content: " - ";
}
/* Topic list */
#messageindex .no_post {
  background-color: #fff;
  border-radius: 15px;
  padding: 40px 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 10px 0px;
  font-weight: bold;
  font-size: var(--title-text);
  height: 14rem;
}

#topic_header {
  margin: 0;
}
#topic_header div {
  font-weight: bold;
  font-size: 1em;
  padding: 0;
}
#topic_header input {
  margin-top: 5px !important;
}

#topic_container {
  border-radius: 0 0 15px 15px;
  overflow: hidden;
  display: grid;
  /*! grid-template-columns: repeat(3, 1fr); */
  grid-auto-rows: 1fr;
}

#topic_container .topic_wrapper {
  position: relative;
  margin: 0px;
  border-radius: 0px;
  padding: 0px 15px;
}

#topic_container .lastpost,
#topic_header .lastpost {
  width: 20%;
}
#topic_container .lastpost,
#topic_container .board_stats {
  flex-shrink: 0;
}

#topic_container .topic_wrapper .topic_link {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  right: 0;
  transition: all ease 0.1s;
}

#topic_container .topic_wrapper .topic_link:hover {
  background-color: #00000018;
}

#topic_container .topic {
  display: flex;
  box-shadow: none;
  border-radius: 0;
  margin: 0;
  overflow: hidden;
  gap: 15px;
  padding: 9px 10px;
  border-top: 1px solid #b9b9b9;
  height: 100%;
}

#topic_container .topic a {
  position: relative;
  z-index: 1;
  pointer-events: all;
  font-weight: 800;
}

#topic_container .moderation input {
  position: relative;
  z-index: 1;
  pointer-events: all;
}

#topic_container .board_icon img {
  width: 50px;
  height: 54px;
}

#topic_container .message_index_title {
  font-size: var(--normal-text);
  font-weight: 700;
}

#topic_container .info {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.icon img,
.moderation input {
  margin-top: 15px;
}
.moderation {
  display: flex;
  text-align: center;
  justify-content: space-around;
  flex-direction: column;
  align-self: center;
  height: 100%;
  gap: 3px;
}

.moderation a {
  color: var(--color-2);
  font-size: var(--small-text);
}

.moderation a:hover {
  color: var(--color-1);
}
/* Quick moderation selects and submit */
#quick_actions {
  margin: 6px 0;
  display: flex;
  gap: 10px;
  justify-content: end;
}
/* Icons and jump to */
#topic_icons::before {
  display: block;
  height: 8px;
  clear: both;
  content: "";
}
#topic_icons .information {
  font-size: 0.9em;
  border-radius: 4px;
}
#topic_icons p {
  padding: 0 12px 0 4px;
  line-height: 2em;
}
/* Should lose this before RC1. It's a kludge. Can be fixed by new image */
#topic_icons .floatleft img:first-child {
  padding: 0 2px;
}

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

/* Poll vote options */
#poll_options ul.options li {
  padding: 6px 0 6px 25px;
}

/* 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;
  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;
  text-align: right;
}

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

div#pollmoderation {
  overflow: auto;
}

/* Styles for edit poll section. */
#edit_poll dl.poll_options dt {
  width: 33%;
}
#edit_poll dl.poll_options dd {
  width: 65%;
}

/* Linked events */
.event_title {
  font-size: larger;
  vertical-align: middle;
}
.event_title + a {
  margin-left: 1em;
}

/* 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 {
  padding: 15px;
  border-radius: 15px;
  display: flex;
  column-gap: 15px;
  flex-wrap: wrap;
}

.post_wrapper .poster li {
  list-style: none;
  font-size: var(--small-text);
}

.post_wrapper::after {
  content: "";
  display: block;
  clear: both;
}
/* poster details and list of items */
.poster {
  display: flex;
  flex-direction: column;
  /*! gap: 20px; */
  padding: 15px 15px;
  border-radius: 15px;
  background-color: #00000017;
  align-self: start;
  flex-basis: calc(14rem);
  flex: 1;
  min-width: 14rem;
}

.poster .wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.poster .membername {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.poster .membername a {
  font-size: var(--title-text);
  color: var(--color-1);
}

.poster .wrapper.avatar {
  gap: 15px;
}

.poster .wrapper.role {
  margin-top: 10px;
}

.poster .wrapper.extra {
  gap: 10px;
  margin-top: 20px;
}

.poster .avatar a:not(.membername a) {
  display: flex;
  justify-content: center;
  align-items: center;
  border-style: solid;
  border-width: 4px;
  filter: var(--drop-shadow-1);
  border-radius: var(--border-radius-1);
  overflow: hidden;
  background-color: #eee;
  width: 110px;
  height: 110px;
}

.poster .avatar img {
  aspect-ratio: 1/1;
  height: auto;
  width: 100%;
  object-fit: cover;
}

.poster .title {
  font-weight: 600;
  text-align: center;
  font-size: var(--small-text);
}

.poster .user_info {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.poster .user_info .membergroup {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5px 12px;
  border-radius: 100px;
  font-weight: 800;
}

.poster .user_info .icons {
  display: flex;
  justify-content: center;
  align-items: center;
}

.poster .user_info .membergroup span {
  filter: invert(1) grayscale(1) brightness(calc(130 / 100)) contrast(9000);
}

.poster .wrapper.user_extra {
  gap: 0px;
  font-size: var(--small-text);
  font-weight: 600;
  margin-top: 20px;
}

.poster .wrapper.user_extra .postgroup {
  font-weight: 800;
}

.poster .wrapper.achievements {
  flex-direction: row;
  gap: 13px;
  padding: 10px 15px;
  border-radius: 15px;
  background-color: #00000017;
}

.poster .wrapper.profile {
  flex-direction: row;
  gap: 6px;
}

.poster .wrapper.profile a {
  color: var(--color-2);
}

@media (max-width: 1204px) {
  .poster {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
  }

  .poster .wrapper.avatar {
    flex-direction: row;
    gap: 10px;
    align-items: start;
    flex: 1;
    justify-content: start;
    text-wrap: nowrap;
  }

  .poster .wrapper.role {
    width: 12rem;
    margin-top: 0px;
  }

  .poster .wrapper.user_extra {
    margin-top: 5px;
  }

  .poster .wrapper.extra {
    flex-direction: row;
    justify-content: center;
    gap: auto;
    flex-wrap: wrap;
    flex-basis: 100%;
    width: 100%;
    margin-top: 0px;
  }

  .poster .wrapper.extra .wrapper.achievements {
    flex: 1;
  }

  .poster .wrapper.extra .wrapper.links {
    width: 12rem;
  }

  .poster .wrapper.avatar > a {
    width: 70px !important;
    height: 70px !important;
  }

  .poster .wrapper.avatar .membername {
    align-items: start;
  }
}

.poster .postarea,
.moderatorbar {
}
.postarea div.flow_hidden {
  width: 100%;
}
.moderatorbar {
  grid-column: span 2;
  /*! max-width: 619px; */
  display: flex;
  justify-content: center;
  flex-basis: 100%;
}
.messageicon {
  display: inline-block;
}
.messageicon img,
#iconList img {
  vertical-align: middle;
}
.keyinfo .postinfo {
  padding: 1px 0 5px 0;
  line-height: 1.5em;
  font-size: 0.9em;
  font-weight: bold;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.keyinfo .postinfo a:not(.quickbuttons a) {
  color: var(--color-1);
  font-weight: 500;
  flex: 1;
  text-wrap: nowrap;
}

.keyinfo .postinfo .modified {
  color: #333;
  font-weight: normal;
  font-style: italic;
  padding: 2px 4px 0 4px;
}
/* PMs postinfo */
#personal_messages .keyinfo .postinfo {
  flex-direction: column;
  align-items: flex-start;
  font-weight: normal;
}
#reason::before {
  content: " - ";
}
.subject_title a {
  font-size: 0.9em;
  color: #333;
  font-weight: bold;
}
.subject_hidden a {
  display: none;
}
.page_number {
  color: var(--color-6);
  font-weight: bold;
  line-height: 1.5em;
  font-size: 1rem;
  font-weight: 900;
}
.inner {
  padding: 7px 8px 2px 2px;
  margin: 0;
  border-top: 1px solid #bfbfbf;
  box-shadow: 0 1px 0 #fff inset;
  min-height: 85px;
  word-wrap: break-word; /* IE fallback */
  overflow-wrap: break-word;
}
img.smiley {
  vertical-align: bottom;
}
.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. */
#forumposts .post_separator {
  display: none;
}
/* Next and previous topic links */
.nextlinks {
  text-transform: capitalize;
  color: var(--text-color-1);
}

.nextlinks a {
  color: var(--text-color-1);
}
/* Styles for the quick reply area. */
#quickreply {
  clear: both;
}
#quickreply_options .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 12%;
  margin: 12px 0 0 0;
}
#post_header {
  padding: 6px;
  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: 83%;
  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,
#postAttachment,
#postAttachment2,
#attachment_previews {
  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 {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  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 {
  display: flex;
  gap: 7px;
}
#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 ;). */
.attachments,
.custom_fields_above_signature,
.custom_fields_below_signature {
  width: 100%;
  overflow: auto;
  /*! clear: right; */
  padding: 12px 50px 3px 50px;
  border-top: 1px solid #bfbfbf;
  box-shadow: 0 1px 0 #fff inset;
  line-height: 1.4em;
  font-size: 0.8em;
}
.under_message {
  overflow: visible;
  border: none;
  box-shadow: none;
  display: flex;
  justify-content: space-between;
}
.signature {
  display: inline;
  font-size: 0.8em;
  border-top: 1px solid #bfbfbf;
  margin-top: 15px;
  padding-top: 15px;
  width: 100%;
  text-align: center;
}
.smflikebutton {
  margin-top: 4px;
}
.like_count,
.smflikebutton:last-child {
  margin-bottom: 4px;
}
/* Events */
.edit_event {
  margin: 0 10px;
  vertical-align: top;
}
/* ModerationButtons */
#moderationbuttons {
  float: left;
}
#moderationbuttons_strip {
  float: left;
  margin: 4px 0 4px;
}
#moderationbuttons ul li {
  padding: 0 6px 4px 0;
  margin: 0;
}

/* File error */
.errorfile_table {
  font-family: monospace;
  border-spacing: 1px;
}
.errorfile_table td {
  background: #fbfbfb;
}
.errorfile_table .current {
  background: #fbc6c6;
}
.errorfile_table .file_line.current {
  background: #fb9090;
}
.errorfile_table .file_line {
  background: #ececec;
}

/* General Classes */
/* Cat_bar / catbg */

div.cat_bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 30px;
  border-radius: 15px 15px 0px 0px;
  background-color: var(--color-1);
  font-weight: bold;
  box-shadow: 0 200px 100px -100px var(--color-2) inset;
  z-index: 10;
  color: var(--text-color-1);
  border: 0;
  transition: all ease 0.3s;
}

.cat_bar.collapsed,
.cat_bar.cat_bar_round {
  border-radius: 6px;
}
.cat_bar h3 {
}

.cat_bar a {
  color: var(--text-color-1);
}
/* Styles for rounded headers. */
.cat_bar .desc {
  color: #fff;
  font-size: 12px;
  line-height: 1.5em;
  font-weight: normal;
  margin: -8px 0 4px 8px;
}
.cat_bar .desc a {
  color: #fff;
  font-weight: 600;
}
h3.catbg {
  overflow: hidden;
  font-size: 1.1em;
}
h3.catbg,
h3.catbg a,
h3.catbg a:hover {
  font-size: var(--title-text);
  color: #fff;
}
h3.catbg a:hover {
  /*! text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.4); */
  text-decoration: none;
}
h3.catbg .main_icons::before,
h3.catbg .icon {
  margin: 0 5px 0 0;
}
.cat_bar + .windowbg,
.cat_bar + .roundframe {
  margin-top: -1px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.cat_bar + .title_bar {
  margin-top: 0;
}
/* Roundframe */
.roundframe {
  margin: 10px 0 0 0;
  padding: 12px 16px;
  background: #f8f8f8;
  border-radius: 15px;
  box-shadow: 0 -2px 2px rgba(0, 0, 0, 0.1);
  overflow: auto;
}
/* TitleBar & SubBar */
.title_bar {
  background: #fff;
  border-radius: 15px 15px 0 0;
  margin: 5px 0 0 0;

  font-size: var(--title-text);
  padding: 6px 40px;
  /*! background-color: var(--color-1); */
  font-weight: 800;
  /*! box-shadow: 0px 200px 100px -100px var(--color-2) inset; */
}
.sub_bar {
  border-bottom: 1px solid #ddd;
  text-shadow: none;
  background: none;
  box-shadow: 0 -1px 0 #999 inset;
  clear: both;
}
h3.titlebg,
h4.titlebg,
.titlebg,
h3.subbg,
h4.subbg,
.subbg {
  background: none;
  color: var(--color-1);
  font-weight: bold;
  overflow: hidden;
  padding: 6px 12px 5px 12px;
  text-shadow: none;
}
.titlebg a,
.subbg a {
  background: none;
  color: #555;
  text-decoration: none;
}
.title_bar + .windowbg,
.title_bar + .roundframe {
  margin-top: -1px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

/* Other */
/* Information */
.information {
  margin-bottom: 15px;
  background-color: white;
  padding: 20px;
  border-radius: 0px 0px 15px 15px;
}
.generic_list_wrapper .information div {
  background: none;
}
.information a:not(.button) {
  font-weight: bold;
}
p.information img {
  vertical-align: middle;
}
#messageindex .information {
  border-radius: 0;
  margin: 0;
}
#topic_icons .information,
#messageindex .information {
  border-top: 1px solid #ddd;
}
.topic_pages {
  font-size: 0.75em;
  margin: 0 0 0 5px;
}
.topic_pages::before {
  content: "\00ab ";
}
.topic_pages::after {
  content: " \00bb";
}
/* 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: 50%;
  border: 1px solid transparent;
  vertical-align: middle;
}
.on {
  background: #89e75a;
  border-color: #74d246;
}
.off {
  background: #a7a2a2;
  border-color: #969292;
}
#userstatus .smalltext {
  margin: 0 0 0 5px !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 {
  display: inline-block;
  font-style: italic;
}

/* Icons (converted from img to css) */
/* Stay here till I find a better place for you guys */
h3.profile_hd::before {
  vertical-align: middle;
}
h3.profile_hd::before,
.main_icons.profile_hd::before {
  content: "";
  background: url(../images/icons/profile_hd.png) no-repeat;
  height: 24px;
  width: 24px;
  display: inline-block;
}
.main_icons.profile_sm::before {
  background: url(../images/icons/profile_sm.png) no-repeat;
}
.xx {
  background: url(../images/post/xx.png) 2px no-repeat;
  padding: 25px 6px 25px 18px;
}

/* Those classes are sharing exact same gradient. */
/* Well some of them has different gradient effect on hover */
/* If it fits I sits... */
.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;
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: 3px;
}
.notify_dropdown a:hover,
.notify_dropdown a:focus {
  border-color: #ddd;
}
.notify_dropdown span {
  font-size: 0.9em;
}

/* Some new stuff */
#display_head {
  margin-top: 20px;
}
#display_head p {
  color: var(--text-color-1);
  font-size: var(--small-text);
}
#display_head span {
  margin: -4px 0 0 0;
}
.display_title {
  font-weight: 800;
  overflow-wrap: break-word;
  color: var(--text-color-1);
  font-size: 2rem;
}

#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;
}

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

/* 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;
}

.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;
  margin-top: 12px;
}
#attachment_previews {
  display: none;
}
#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 .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,
.attach-ui {
  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;
}
#drop_zone_ui {
  display: none;
}
#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,
.mobile_display {
  display: none;
}

/* Two-Factor Auth code container */
.tfacode {
  background: #d0e7f8;
  padding: 5px;
  display: inline-block;
}

/* 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;
}
.windowbg.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;
}

/* Responsive Youtube embed */
.videocontainer {
  max-width: 560px;
}
.centertext .videocontainer,
.justifytext .videocontainer {
  margin: 0 auto;
}
.righttext .videocontainer {
  margin: 0 0 0 auto;
}
.lefttext .videocontainer {
  margin: 0 auto 0 0;
}
.videocontainer > div {
  position: relative;
  padding-bottom: 56.25%;
}
.videocontainer iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.videocontainer video {
  object-fit: contain;
  background: black;
  max-width: 100%;
}

.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;
}

div.sceditor-container:not(.sceditor-maximize) {
  z-index: 4;
}

#attach_current_directory {
  word-break: break-word;
}
/* Add max-width for theme thumbnails */
img.theme_thumbnail {
  max-width: 250px;
}

#lang_main_files_list .name,
#member_list .email,
#approve_list .email {
  word-break: break-word;
}
.red_alert {
  border: 1px dashed #d10000;
  padding: 10px;
  background: #ff7d7d;
}
.green_alert {
  border: 1px dashed #00bf00;
  padding: 10px;
  background: #95fa89;
}
.blue_alert {
  border: 1px dashed #1f35db;
  padding: 10px;
  background: #659cdb;
}
.yellow_alert {
  border: 1px dashed #edb415;
  padding: 10px;
  background: #faf889;
}
