.topBoards a, #divLatestImages img, #divLatestPosts .latestPostCell,
  .innerPost, .sideCatalogCell, .catalogCell {
  background: #D6DAF0;
  border-width: 1px;
  border-style: none solid solid none;
  border-color: #B7C5D9;
}

.theme_clear .topBoards a, .theme_clear #divLatestImages img,
  .theme_clear #divLatestPosts .latestPostCell, .theme_clear .innerPost,
  .theme_clear .sideCatalogCell, .theme_clear .markedPost, .theme_clear .sideCatalogMarkedCell,
  .theme_clear .catalogCell {
  background-color: #dddddd;
  border-radius: 5px;
}

.theme_cyber .topBoards a, .theme_cyber #divLatestImages img,
  .theme_cyber #divLatestPosts .latestPostCell, .theme_cyber .innerPost,
  .theme_cyber .sideCatalogCell, .theme_cyber .markedPost, .theme_cyber .sideCatalogMarkedCell,
  .theme_cyber .catalogCell {
  background: #282A2E;
  border-radius: 5px;
}

.validationHashDiv {
  line-break: anywhere;
}

#secondaryBar {
  margin: 1em;
}

#labelBypass {
  max-width: 80%;
  word-break: break-all;
}

.floatingMenu, #quick-reply table {
  background: #D6DAF0;
}

.theme_cyber .floatingMenu, .theme_cyber #quick-reply table {
  background: #1d1f21;
}

.theme_clear .floatingMenu, .theme_clear #quick-reply table {
  background: #cccccc;
}

.markedPost, .sideCatalogMarkedCell {
  background: #d6bad0;
  border-width: 1px;
  border-style: none solid solid none;
  border-color: #B7C5D9;
}

.theme_cyber .markedPost, .theme_cyber .sideCatalogMarkedCell {
  background: rgba(59, 22, 43, 0.4);
}

.theme_clear .markedPost, .theme_clear .sideCatalogMarkedCell {
  background: #868686;
}

.theme_clear #divLatestPosts .latestPostCell, .theme_clear .innerPost,
  .theme_clear .sideCatalogCell, .theme_clear .markedPost, .theme_clear .sideCatalogMarkedCell,
  .theme_clear .catalogCell {
  border: 1px solid #117743;
}

.theme_cyber #divLatestPosts .latestPostCell, .theme_cyber .innerPost,
  .theme_cyber .sideCatalogCell, .theme_cyber .markedPost, .theme_cyber .sideCatalogMarkedCell,
  .theme_cyber .catalogCell {
  border: 1px solid #333;
}

.theme_cyber #newPostFieldset, .theme_cyber #quick-reply table,
  .theme_cyber .modalDecorationPanel, .theme_cyber .floatingMenu,
  .theme_cyber #settingsFieldset, .theme_cyber .reportFieldset {
  border: 1px dashed #117743;
}

.theme_clear #newPostFieldset, .theme_clear #quick-reply table,
  .theme_clear .modalDecorationPanel, .theme_clear .floatingMenu,
  .theme_clear #settingsFieldset, .theme_clear .reportFieldset {
  border: 1px dashed #117743;
}

/*
.logoImg {
  height: 250px;
  min-width: 1px;
}
*/

.captchaImage {
  width: 300px;
  height: 100px;
  background-color: white;
}

.small {
  font-size: 75%;
  text-decoration: none;
}

.clearer {
  clear: both;
}

.small a {
  text-decoration: none;
}

#panelReferences a {
  display: block;
}

.imgLink img, .latestImageCell img, .mediaCell img, .catalogCell img {
  image-orientation: from-image;
}

.linkList a {
  display: block;
}

#themeSelector {
  font-size: 100%;
}

h3, p, label {
  margin: 0.25em 0;
}

hr {
  height: 0px;
  border-width: 1px medium medium;
  border-style: solid none none;
  border-color: black;
}

.theme_cyber hr {
  border-color: #117743;
}

.theme_clear hr {
  border-color: #117743;
}

.checkedFavouriteButton:before {
  color: #FFB300;
}

a, .coloredIcon, .unhideButton, .embedButton, #selectedTab,
  #showFormsButton {
  color: #34345C;
  cursor: pointer;
}

.theme_cyber a, .theme_cyber .coloredIcon, .theme_cyber .unhideButton,
  .theme_cyber .embedButton, .theme_cyber #selectedTab, .theme_cyber #showFormsButton {
  color: #FFB300;
  text-decoration: none;
}

a:hover, .intro a.post_no:hover {
  color: #ff0000;
}

.theme_cyber a:hover, .theme_cyber .intro a.post_no:hover {
  color: #FFB300;
}

.theme_clear a, .theme_clear .coloredIcon, .theme_clear .unhideButton,
  .theme_clear .embedButton, .theme_clear #selectedTab, .theme_clear #showFormsButton {
  color: #000;
}

.coloredIcon::before {
  font-family: 'Icons';
}

#navLinkSpan .coloredIcon:before, #navOptionsSpan .coloredIcon:before,
  #links .coloredIcon:before {
  margin-right: 0.25em;
}

a {
  text-decoration: underline;
}

.theme_cyber a: {
  text-decoration: none;
}

.theme_cyber a:hover, .theme_cyber .glowOnHover:hover {
  text-shadow: 0px 0px 5px #117743;
}

u {
  text-decoration: underline;
}

s {
  text-decoration: line-through;
}

strong {
  font-weight: bold;
}

em {
  font-style: italic;
}

input, select, textarea {
  font-size: 80%;
  border: 1px solid #a9a9a9;
  font-family: sans-serif;
}

.theme_clear input, .theme_clear select, .theme_clear textarea {
  font-family: 'Hack', monospace, sans-serif;
  background: #dddddd;
  border-radius: 5px;
  border: 1px double #07371F;
  color: #000;
}

.theme_cyber input, .theme_cyber select, .theme_cyber textarea {
  font-family: 'Hack', monospace, sans-serif;
  background: #282A2E;
  border-radius: 5px;
  color: #ACACAC;
  border: 1px double #07371F;
}

.dropzone, .selectedCell {
  border: 2px dashed rgba(125, 125, 125, 0.4);
  background-color: rgba(200, 200, 200, 0.5);
  color: rgba(0, 0, 0, 0.5);
  padding-left: 0.25em;
  font-family: arial, helvetica, sans-serif;
  font-size: 80%;
  font-weight: bold;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.theme_cyber .dropzone, .theme_cyber .selectedCell {
  font-family: 'Hack', monospace, sans-serif;
}

input[type=button], input[type=submit], button, .selectedCell {
  cursor: pointer;
}

.theme_cyber input[type=button], .theme_cyber input[type=submit],
  .theme_cyber button, .theme_cyber .dropzone, .theme_cyber .selectedCell
  {
  border: 3px double #07371F;
  border-radius: 5px;
  background: #16171A;
  color: #ACACAC;
  padding-left: 0.25em;
  font-family: 'Hack', monospace, sans-serif;
  font-size: 80%;
  font-weight: bold;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.theme_clear input[type=button], .theme_clear input[type=submit],
  .theme_clear button, .theme_clear .dropzone, .theme_clear .selectedCell
  {
  border: 3px double #07371F;
  border-radius: 5px;
  background: #a7a7a7;
  color: #000;
  padding-left: 0.25em;
  font-family: 'Hack', monospace, sans-serif;
  font-size: 80%;
  font-weight: bold;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.theme_cyber .title, .theme_cyber .unhideButton {
  font-weight: bold;
}

.fileBrowser {
  background: none;
}

/* import resources here; external CSS, fonts, etc */
@font-face {
  font-family: 'Hack';
  src: url('../hack-regular-webfont.eot?v=2.018');
  src: url('../hack-regular-webfont.eot?#iefix&v=2.018')
    format('embedded-opentype'),
    url('../hack-regular-webfont.woff2?v=2.018') format('woff2'),
    url('../hack-regular-webfont.woff?v=2.018') format('woff'),
    url('../hack-regular-webfont.ttf?v=2.018') format('truetype'),
    url('../hack-regular-webfont.svg?v=2.018#hackregular') format('svg');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Icons';
  src: url('../open-iconic.eot');
  src: url('../open-iconic.eot?#iconic-sm') format('embedded-opentype'),
    url('../open-iconic.woff') format('woff'), url('../open-iconic.ttf')
    format('truetype'), url('../open-iconic.otf') format('opentype'),
    url('../open-iconic.svg#iconic-sm') format('svg');
  font-weight: normal;
  font-style: normal;
}

/* body styles, inherited by whole page */
body {
  color: #000;
  background: #EEF2FF
    url('/.static/fade-blue.png') repeat-x 50% 0%;
  font-family: arial, helvetica, sans-serif;
  font-size: 100%;
  margin: 0px;
}

body.theme_cyber {
  color: #ACACAC;
  font-family: 'Hack', monospace, sans-serif;
  background: #1D1F21;
}

body.theme_clear {
  background: none;
  background-color: #cccccc;
  color: #000;
  background-color: #cccccc;
}

/* header and nav / top of page styles */
header {
  margin: 3em auto 0 auto;
  text-align: center;
}

nav {
  height: 18px;
  position: fixed;
  top: 0;
  width: 100%;
  border-bottom: 1px solid #89A;
  padding-bottom: 3px;
  background-color: #D6DAF0;
  font-size: 70%;
  text-align: center;
  z-index: 1;
}

.theme_cyber nav {
  border-bottom: 1px solid #B0790A;
  background-color: #151515;
}

.theme_clear nav {
  background-color: #acacac;
}

nav span, nav a {
  display: inline-block;
  text-decoration: none;
  margin: 0 0.2em;
}

#navLinkSpan {
  float: left;
}

#navOptionsSpan {
  float: right;
}

#navLinkHome:before {
  content: "\e078";
}

#navBoardList:before {
  content: "\e09b";
}

#linkOverboard:before, #navOverboard:before {
  content: "\e007";
}

#settingsButton:before {
  content: "\e041";
}

#navPosting:before {
  content: "\e09a";
}

#navCatalog:before {
  content: "\e072";
}

#linkRss:before {
  content: "\e0b7";
}

#linkTop:before {
  content: "\e012";
}

#linkBottom:before {
  content: "\e00f";
}

#linkBack:before {
  content: "\e003";
}

/* board list */
#divPages {
  display: inline-block;
}

#divPages a {
  text-decoration: none;
  padding: 0 0.25em;
  display: inline-block;
}

a.rules:after {
  font-family: Icons;
  content: "\e052";
  margin-right: 0.5em;
  color: #117743;
  height: 80%;
  font-size: 80%;
  padding-left: 0.25em;
  vertical-align: middle;
}

/* markdown */
.greenText {
  color: #789922;
}

.redText {
  color: #AF0A0F;
  font-weight: bold;
  font-size: 125%;
}

span.spoiler {
  background: #000;
  color: #000;
  padding: 0 1px;
}

.spoiler:hover {
  color: #000;
  background: none;
}

.theme_cyber .spoiler:hover {
  color: #ACACAC;
  background: none;
}

.red {
  color: #117743;
}

/* CSS for pages that deal with site and account settings and bans */
#settingsWrapper {
  text-align: center;
  width: 80%;
  margin: 2em auto;
}

#settingsFieldset {
  padding: 1em;
  display: inline-block;
  text-align: left;
}

.banners {
  margin: 1em;
  width: auto;
  padding: 0.5em;
}

#settingsFieldset textarea {
  display: block;
  height: 5em;
}

#settingsFieldset label {
  display: block;
}

#settingsFieldset label input {
  display: inline-block;
}

#settingsWrapper .captchaDiv input {
  display: inline-block;
}

.subCaptchaDiv {
  text-align: left;
}

.captchaTimer {
  font-size: 80%;
}

.wide, #postingForm input[type='text'], .modalTableBody input[type='text'],
  .modalTableBody select {
  width: 100%;
}

#redirect, #maint {
  text-align: center;
}

#labelCaptchaId {
  color: #ff0000;
}

#staticPageWrapper {
  margin: 2em auto;
  text-align: center;
}

/* footer styles */
footer {
  width: 100%;
  margin: 3em 0px 2em 0px;
  text-align: center;
  font-size: 75%;
}

.innerPost, .markedPost {
  display: inline-block;
  padding: 0.25em;
  max-width: 100%;
}

/* this has to go down here to override anything above it */
.hidden {
  display: none;
}

#settingsWrapper input.hidden {
  display: none;
}

.floatingMenu {
  padding: 0.25em;
}

.floatingMenu .headerLabel {
  font-size: 80%;
}

.floatingMenu .header, .floatingMenu .headerLabel {
  cursor: pointer;
}

#divRemember input {
  display: inline;
}

#ownedDiv a, #volunteeredDiv a {
  display: block;
}

#navBoardList::after {
  content: 'boards';
}

#navOverboard::after, #linkOverboard::after {
  content: 'overboard';
}

#linkSfwOver::after {
  content: 'overboard sfw';
}

#navPosting::after {
  content: 'help';
}

#navLinkHome::after {
  content: 'home';
}

#watcherButton::after {
  content: 'watched threads';
}

#settingsButton::after {
  content: 'settings';
}

#linkGlobalLogs::after {
  content: 'logs';
}

#linkArchives::after {
  content: 'archives';
}

#linkGraphs::after {
  content: 'daily graphs';
}

#linkGlobalRules::after {
  content: 'global rules';
}

#linkLinks::after {
  content: 'links';
}

#linkAbout::after {
  content: 'about';
}

#navOptionsSpan a {
  margin-top: 2px;
}

#linkContact::after {
  content: 'contact';
}

#linkAccount::after {
  content: 'account';
}

@media only screen and (max-width: 812px) {
  #navLinkSpan span, #navOptionsSpan span, legend, #settingsButton, #links span,
    .hideMobile {
    display: none;
  }
  #navLinkSpan a::after, #navOptionsSpan a::after, #links a::after {
    content: '';
  }
  nav {
    font-size: 115%;
    height: auto;
    padding: 2px 2px;
  }
  #themeSelector {
    max-width: 100px;
  }
  .logoImg {
    margin-top: 10px;
    height: 75px;
  }
  input, select, textarea {
    font-size: 100%;
  }
  body {
    font-size: 85%;
    margin-top: 5px;
    margin-left: 0;
    margin-right: 0;
    padding-top: 10px;
    padding-left: 0;
    padding-right: 0;
  }
  .captchaImage {
    max-width: 100%;
    height: auto;
    max-height: 100px;
  }
  code {
    max-width: 90%;
    overflow: auto;
  }
  #divLogs, .hashLabel {
    overflow-wrap: anywhere;
  }
}





#pagesDiv a {
 margin: 2px;
 line-break: anywhere;
}

body.theme_pleb {
 background: #eef8f0 url('/.static/fade-green.png') repeat-x;
}

.theme_pleb nav {
 background: #eef8f0;
}

.theme_pleb .innerPost, .theme_pleb .sideCatalogCell, .theme_pleb .topBoards a {
 background: #d6f0da;
}

.theme_tomo nav, body.theme_tomo, .theme_tomo .floatingMenu, .theme_tomo #quick-reply table {
 background: #1d1f21;
}

body.theme_tomo, .theme_tomo .linkName {
 color: #ccc;
}

.theme_tomo .innerPost, .theme_tomo .sideCatalogCell, .theme_tomo .topBoards a {
 background: #282a2e;
 border-color: #333;
}

.theme_tomo .markedPost, .theme_tomo .sideCatalogMarkedCell {
 background: #333;
 border-color: #222;
}

.theme_tomo a, .theme_tomo .coloredIcon {
 color: #81a2be;
}

.theme_tomo .labelSubject {
 color: red;
}

.theme_tomo .greenText {
 color: #b5bd68;
}

.theme_tomo .spoiler:hover {
 background: #eee;
}

body.theme_red {
 background: #ffe url('/.static/fade.png') repeat-x;
 color: maroon;
}

.theme_red nav, .theme_red .innerPost, .theme_red .sideCatalogCell, .theme_red .topBoards a {
 background-color: #f0e0d6;
 border-color: #d9bfb7;
}

body.theme_clear {
 background: #eee;
}

.theme_clear .innerPost {
 background: #ccc;
 border-color: lavender;
}

.theme_clear nav {
  background-color: #ccc;
}

.theme_clear .greenText {
 color: darkgreen;
}

.theme_clear .catalogCell {
 border: 1px solid #ccc;
}

#footer {
 font-variant: small-caps;
 letter-spacing: 2px;
}

span.spoiler {
 padding: 1px 1px;
}

.theme_clear button, .theme_clear .dropzone, .theme_clear .selectedCell,
.theme_cyber button, .theme_cyber .dropzone, .theme_cyber .selectedCell {
 border: 2px solid gray;
}


.flash-message-container {
 position: fixed;
 top: 20px;
 left: 50%;
 transform: translateX(-50%);
 z-index: 1000;
 display: flex;
 flex-direction: column;
 align-items: center;
 gap: 10px;
 width: 80%;
 max-width: 600px;
}
 
.flash-message {
 background: #060;
 color: white;
 padding: 15px 25px;
 border-radius: 4px;
 box-shadow: 0 2px 10px rgba(0,0,0,0.2);
 font-family: Arial, sans-serif;
 text-align: center;
 width: 100%;
 box-sizing: border-box;
 opacity: 1;
 transition: opacity 0.3s;
}
 
.flash-message.error {
 background: #f33; /* Red for errors */
}
