@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap');

.topBoards a, #divLatestImages img, #divLatestPosts .latestPostCell,
  .sideCatalogCell, .catalogCell {
  background: #190e28;
  border: 1px solid #4c1d95;
  border-radius: 5px;
}

.innerPost, .innerOP, .markedPost {
  background: #1e1035;
  border: 1px solid #5821a3;
  border-radius: 5px;
  padding: 0.75em;
  margin: 0.25em 0;
  box-sizing: border-box;
}


.validationHashDiv {
  line-break: anywhere;
}

#secondaryBar {
  margin: 1em;
}

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

.floatingMenu, #quick-reply table {
  background: #190e28;
  border: 1px solid #4c1d95;
  border-radius: 4px;
}


.markedPost, .sideCatalogMarkedCell {
  background: #2e1a47;
  border: 1px solid #c084fc;
  border-radius: 5px;
  padding: 0.75em;
  margin: 0.25em 0;
  box-sizing: border-box;
}


.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%;
  background: #100a1c;
  color: #ccd6f6;
  border: 1px solid #4c1d95;
  border-radius: 3px;
  padding: 0 4px;
  vertical-align: middle;
  height: 18px;
  line-height: 18px;
  box-sizing: border-box;
}

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

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


.checkedFavouriteButton:before {
  color: #FFB300;
}

a, .coloredIcon, .unhideButton, .embedButton, #selectedTab,
  #showFormsButton {
  color: #c084fc;
  cursor: pointer;
  text-decoration: none;
}


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


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

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

a {
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}


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 #4c1d95;
  background: #100a1c;
  color: #ccd6f6;
  font-family: sans-serif;
  border-radius: 4px;
  padding: 4px;
}

fieldset {
  border: 1px solid #5821a3;
  border-radius: 5px;
}


.dropzone, .selectedCell {
  border: 2px dashed #4c1d95;
  background-color: #100a1c;
  color: #ccd6f6;
  padding-left: 0.25em;
  font-family: arial, helvetica, sans-serif;
  font-size: 80%;
  font-weight: bold;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}


input[type=button], input[type=submit], button {
  background: #1e1035;
  color: #ccd6f6;
  border: 1px solid #5821a3;
  border-radius: 4px;
  padding: 0.35em 1em;
  cursor: pointer;
  font-weight: bold;
  transition: none !important;
}

input[type=button]:hover, input[type=submit]:hover, button:hover {
  background: #2b174b;
  border-color: #c084fc;
}

.selectedCell {
  cursor: pointer;
}



.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: #ccd6f6;
  background: linear-gradient(180deg, #1e0e33 0%, #0f071b 100%) attachment fixed;
  background-color: #0f071b;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 100%;
  margin: 0px;
}


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

nav {
  height: 24px;
  line-height: 24px;
  position: fixed;
  top: 0;
  width: 100%;
  border-bottom: 1px solid #4c1d95;
  background-color: #100a1c;
  font-size: 75%;
  text-align: center;
  z-index: 1;
}


#dynamicHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding: 6px 4px 7px 4px;
  background: #100a1c;
  border-bottom: 1px solid #4c1d95;
  font-size: 85%;
  line-height: 1.2;
  box-sizing: border-box;
  width: 100%;
  min-height: 32px;
}

#navLeftContainer {
  display: flex;
  align-items: center;
  line-height: 1.2;
  padding-left: 2px;
  margin-bottom: 2px;
}

#navRightContainer {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-left: auto;
  flex-wrap: wrap;
  line-height: 1.2;
  padding-right: 2px;
  font-size: 100%;
  margin-bottom: 2px;
}

#boardSelectNav {
  background: #1e1035;
  color: #ccd6f6;
  border: 1px solid #5821a3;
  border-radius: 4px;
  padding: 2px 8px;
  font-size: 85%;
  font-weight: bold;
  cursor: pointer;
  outline: none;
  max-width: 180px;
  margin-bottom: 1px;
}

#boardSelectNav:hover, #boardSelectNav:focus {
  border-color: #c084fc;
  background: #2b174b;
}

#boardSelectNav option {
  background: #100a1c;
  color: #ccd6f6;
  padding: 4px;
}

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

#navLinkSpan {
  display: inline-flex;
  align-items: center;
}

#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: #ccd6f6;
  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, .innerOP, .markedPost {
  display: inline-block;
  max-width: 100%;
}

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

#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) {
  #navOptionsSpan span, legend, .hideMobile {
    display: none;
  }
  #dynamicHeader {
    padding: 5px 4px 6px 4px;
    font-size: 90%;
    align-items: center;
  }
  #navLinkSpan span {
    display: none !important;
  }
  #navLeftContainer {
    gap: 6px;
    align-items: center;
  }
  #navLinkSpan a::after, #watcherButton::after, #settingsButton::after {
    display: none !important;
  }
  .coloredIcon::before {
    font-size: 1.0em;
    vertical-align: middle;
    margin-right: 3px !important;
    line-height: 1;
  }
  body .watchButton, body .hideButton, body .extraMenuButton {
    margin-left: 2px !important;
    margin-right: 2px !important;
    top: -2px !important;
    vertical-align: middle !important;
  }
  #navLeftContainer a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2px;
  }
  #settingsButton {
    display: inline-block !important;
  }
  #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;
  }
}

/* Universal Site Footer Component */
.siteFooter {
  width: 100%;
  padding: 1.5em 1em 1.2em 1em;
  margin-top: 2.5em;
  border-top: none;
  background: #0d0718;
  box-sizing: border-box;
  text-align: center;
  clear: both;
}

.siteFooterTitle {
  font-family: 'Press Start 2P', 'VT323', monospace, cursive;
  font-size: 1.5em;
  color: #ffffff;
  text-shadow: 2px 2px 0px #4c1d95;
  text-align: center;
  margin-bottom: 0.5em;
  letter-spacing: 2px;
  text-transform: lowercase;
}

.siteFooterDivider {
  width: 100%;
  height: 1px;
  background: #4c1d95;
  margin: 0.5em auto 0 auto;
}

.siteFooterNav {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  border: 1px solid #4c1d95;
  border-top: none;
  border-radius: 0 0 3px 3px;
  overflow: hidden;
  margin: 0 auto 1em auto;
  background: #190e28;
  box-sizing: border-box;
}

.siteFooterNav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 12px;
  height: 26px;
  color: #ccd6f6;
  text-decoration: none;
  font-size: 72%;
  font-weight: bold;
  text-align: center;
  border-right: 1px solid #4c1d95;
  transition: none !important;
  box-sizing: border-box;
  white-space: nowrap;
}

.siteFooterNav a:last-child {
  border-right: none;
}

.siteFooterNav a:hover {
  background: #4c1d95;
  color: #ffffff;
}

.siteFooterCopyright {
  font-size: 75%;
  color: #a78bfa;
  margin-bottom: 0.3em;
  text-align: center;
}

.siteFooterEngine {
  font-size: 75%;
  color: #a78bfa;
  text-align: center;
}

.siteFooterEngine a {
  color: #c084fc;
  text-decoration: underline;
  font-weight: bold;
  transition: none !important;
}

.siteFooterEngine a:hover {
  color: #e9d5ff;
}

/* Section Header & Content Components */
.sectionHeader {
  background: #1e1035;
  border: 1px solid #4c1d95;
  border-bottom: none;
  border-radius: 5px 5px 0 0;
  color: #c084fc;
  padding: 0.5em 1em;
  margin: 0;
  font-size: 95%;
  font-weight: bold;
  text-align: left;
  box-sizing: border-box;
}

.sectionContent {
  background: transparent;
  border: 1px solid #4c1d95;
  border-radius: 0 0 5px 5px;
  padding: 1em;
  box-sizing: border-box;
}

/* Smooth scrolling and overflow containment */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}

html {
  scroll-behavior: smooth;
}

/* Rules Page Layout */
#rulesWrapper {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  gap: 16px;
  max-width: 1150px;
  width: 96%;
  margin: 2em auto;
}

#rulesSidebar {
  width: 220px;
  flex: none;
}

#rulesContent {
  flex: 1;
  min-width: 0;
}

.rulesSection {
  scroll-margin-top: 20px;
  margin-bottom: 10px;
}

.rulesNavCell {
  display: block;
  background: #1e1035;
  border: 1px solid #4c1d95;
  color: #ccd6f6;
  text-decoration: none;
  padding: 8px 12px;
  font-size: 85%;
  font-weight: bold;
  border-radius: 4px;
  margin-bottom: 6px;
  transition: none !important;
}

.rulesNavCell:last-child {
  margin-bottom: 0;
}

.rulesNavCell:hover {
  background: #4c1d95;
  color: #ffffff;
  border-color: #c084fc;
}

.rulesList {
  color: #ccd6f6;
  font-size: 88%;
  line-height: 1.75;
  padding: 0;
  margin: 0;
  list-style: none;
  direction: rtl;
  text-align: right;
  word-break: normal;
  overflow-wrap: break-word;
}

.rulesList li {
  margin-bottom: 10px;
  direction: rtl;
  text-align: right;
  word-break: normal;
  overflow-wrap: break-word;
}

.rulesList a, .rulesSection a {
  white-space: nowrap;
}

.ltrText {
  direction: ltr !important;
  unicode-bidi: embed !important;
  display: inline;
}

.rulesSubList {
  list-style: none;
  padding-right: 18px;
  padding-left: 0;
  margin-top: 6px;
  margin-bottom: 6px;
  direction: rtl;
  text-align: right;
}

.rulesSubList li {
  margin-bottom: 6px;
  direction: rtl;
  text-align: right;
}

/* FAQ Page Layout */
#faqWrapper {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  gap: 12px;
  max-width: 960px;
  width: 95%;
  margin: 2em auto;
}

#faqSidebar {
  width: 240px;
  flex: none;
}

#faqContent {
  flex: 1;
  min-width: 0;
}

.faqSidebarGroupTitle {
  font-size: 85%;
  font-weight: bold;
  color: #a78bfa;
  margin: 1em 0 0.4em 0;
}

.faqSidebarGroupTitle:first-child {
  margin-top: 0;
}

.faqSection {
  margin-bottom: 10px;
}

.faqQuestion {
  font-size: 100%;
  font-weight: bold;
  color: #ffffff;
  margin: 1.4em 0 0.4em 0;
  scroll-margin-top: 20px;
}

.faqQuestion:first-of-type {
  margin-top: 0;
}

.faqAnswer {
  color: #ccd6f6;
  font-size: 88%;
  line-height: 1.5;
  margin: 0 0 0.8em 0;
}

.faqNote {
  font-style: italic;
  color: #a78bfa;
  font-size: 82%;
  line-height: 1.4;
  margin: -0.4em 0 0.8em 0;
}

.tripcodePreview {
  color: #38bdf8;
  font-weight: bold;
}

.fortunePreview {
  color: #facc15;
  font-weight: bold;
  font-size: 85%;
  margin: -0.2em 0 0.8em 0;
}

@media only screen and (max-width: 812px) {
  #rulesWrapper, #faqWrapper {
    flex-direction: column !important;
    width: 98% !important;
  }
  #rulesSidebar, #faqSidebar {
    width: 100% !important;
  }
}

/* News Page Typography */
.newsCell {
  padding: 0.25em 0.5em;
  margin-bottom: 4px !important;
}

.newsHeader {
  color: #c084fc;
  margin-bottom: 0.5em;
}

.newsTitleAuthorDate strong {
  color: #ffffff;
}

.newsDate {
  color: #a78bfa;
  font-size: 85%;
  font-weight: normal;
}

.newsPermalink {
  color: #c084fc;
}

.newsPermalink:hover {
  color: #e9d5ff;
}

.newsContent {
  color: #ccd6f6;
  line-height: 1.5;
}

/* Automatic Persian / RTL Text Support for Static Pages */
#rulesWrapper p, #rulesWrapper li, #rulesWrapper h3, #rulesWrapper h4, #rulesWrapper a, #rulesWrapper span, #rulesWrapper div,
#faqWrapper p, #faqWrapper li, #faqWrapper h3, #faqWrapper h4, #faqWrapper a, #faqWrapper span, #faqWrapper div,
#contactWrapper p, #contactWrapper li, #contactWrapper h3, #contactWrapper h4, #contactWrapper a, #contactWrapper span, #contactWrapper div,
#newsWrapper p, #newsWrapper li, #newsWrapper h3, #newsWrapper h4, #newsWrapper a, #newsWrapper span, #newsWrapper div, #newsWrapper .newsContent {
  unicode-bidi: plaintext;
  text-align: start;
}
