/*************************************************************
MODERNIZED PUNBB CSS
- cleaner look
- modern spacing
- better readability
- responsive layout
- softer borders + shadows
**************************************************************/

/* Import colour scheme */
@import url(style_cs.1774888454.css);

/* RESET */
html, body {
  margin: 0;
  padding: 0;
}

.punbb * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.punbb ul, .punbb dl, .punbb li, .punbb dd, .punbb dt {
  list-style: none;
}

.punbb img {
  border: none;
  max-width: 100%;
  height: auto;
}

.punbb .main table {
  table-layout: fixed;
  width: 100%;
  border-collapse: collapse;
}

/* checkbox / radio */
.checkfield input[type="checkbox"],
.radiofield input[type="radio"] {
  margin: 0 0.4em;
}

p[class="checkfield"] *,
div[class="checkfield"] *,
fieldset[class="radiofield"] * {
  height: 1.8em;
  vertical-align: middle;
}

/*************************************************************
TYPOGRAPHY
**************************************************************/
body {
  font-size: 100%;
  background: #0f1115;
  color: #e6e6e6;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.punbb {
  font-size: 14px;
  line-height: 1.55;
}

.punbb textarea,
.punbb input,
.punbb select,
.punbb optgroup {
  font: inherit;
}

.punbb h1, .punbb h2, .punbb h3, .punbb h4,
.punbb table, .punbb th {
  font-size: 1em;
  font-weight: 600;
}

.punbb h1 span, .punbb h2 span, .punbb legend span {
  font-size: 1.15em;
}

.punbb pre {
  font: 0.95em/150% ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  background: #0b0d12;
  padding: 1em;
  border-radius: 12px;
  overflow: auto;
}

.punbb address, .punbb em {
  font-style: normal;
}

.punbb .post-content em {
  font-style: italic;
}

.punbb .post-content em.bbuline {
  font-style: normal;
  text-decoration: underline;
}

.punbb a {
  color: #74b9ff;
  text-decoration: none;
  transition: 0.2s ease;
}

.punbb a:hover {
  color: #a29bfe;
  text-decoration: underline;
}

.punbb optgroup {
  font-weight: bold;
}

/*************************************************************
CLEARFIX + HIDDEN ACCESSIBILITY
**************************************************************/
#pun:after,
.punbb .container:after,
.punbb .post-links ul:after,
.punbb .main div.inline:after,
.punbb .post-box:after,
.punbb .linksb:after {
  clear: both;
  content: "";
  display: block;
}

.acchide,
#pun-index #pun-main h1,
#pun-navlinks h2,
#pun-pagelinks h2,
#pun-status h2,
#pun-ulinks h2,
.punbb .forum h2,
.punbb .multipage .topic h2,
.punbb dl.post-sig dt span,
.punbb p.crumbs strong,
.punbb .divider hr,
.punbb .required label em,
.punbb .formsubmit label,
.punbb .submitfield label,
.punbb .modmenu label,
#pun-userlist .main h2 {
  font-size: 0;
  height: 0;
  width: 0;
  line-height: 0;
  position: absolute;
  left: -9999px;
  overflow: hidden;
}

/*************************************************************
MAIN LAYOUT
**************************************************************/
#pun {
  margin: 24px auto;
  max-width: 1200px;
  padding: 0 16px;
  position: relative;
}

.punbb {
  width: 100%;
}

#pun-redirect, #pun-maint {
  margin: 50px auto 12px auto;
  width: min(700px, 95%);
  float: none;
}

/* Sections */
.punbb .section, .punbb .main {
  margin-bottom: 1.2em;
}

.punbb .category, .punbb .post {
  margin-top: 0.8em;
}

.punbb #pun-category1, .punbb .toppost, .punbb .topicpost {
  margin-top: 0;
}

#pun-post .topic {
  margin-top: 1em;
}

/* Remove harsh borders and replace with modern cards */
.punbb .section,
.punbb .forum,
.punbb .formal,
.punbb .modmenu,
.punbb .info,
.punbb .category,
.punbb .post {
  border: none;
}

.punbb .container {
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  background: rgba(255,255,255,0.03);
  backdrop-filter: blur(6px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.25);
}

/* Headings */
.punbb .section h2,
#pun-main h1,
#pun-main h2,
#pun-stats h2,
#pun-debug h2 {
  padding: 0.9em 1.2em;
  border: none;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  font-weight: 700;
  letter-spacing: 0.2px;
}

/*************************************************************
POST CONTENT
**************************************************************/
.punbb .post-content {
  padding: 0;
  width: 100%;
  overflow: hidden;
}

.punbb .post-sig dt {
  display: block;
  border-top: 1px solid rgba(255,255,255,0.15);
  width: 250px;
  margin: 10px 0;
}

.punbb .post-content p {
  padding: 0 0 1em 0;
  line-height: 1.7;
  font-size: 1.02em;
}

.punbb .post-content img {
  vertical-align: middle;
  border-radius: 12px;
}

.punbb .post-content .blockcode,
.punbb .post-content blockquote {
  width: 100%;
  overflow: hidden;
}

.punbb .post-content .scrollbox {
  width: 100%;
  overflow: auto;
}

/* quote + code boxes */
.punbb .post-content .quote-box,
.punbb .post-content .code-box {
  margin: 0.8em 0;
  padding: 1em 1.2em;
  border: 1px solid rgba(255,255,255,0.1);
  border-left: 4px solid #74b9ff;
  border-radius: 12px;
  background: rgba(0,0,0,0.25);
}

.punbb .quote-box cite,
.punbb .code-box strong.legend {
  display: block;
  padding-bottom: 0.6em;
  font-size: 1em;
  font-weight: 700;
  opacity: 0.9;
}

/*************************************************************
INFO BOXES
**************************************************************/
.punbb .info-box {
  padding: 1.2em 1.5em;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  background: rgba(0,0,0,0.25);
  margin: 0 0 1.2em 0;
}

.punbb .info-box * {
  padding: 0 0 0.7em 0;
}

.punbb #pun-main .info-box .legend {
  font-size: 1.1em;
  font-weight: 700;
}

/*************************************************************
PAGINATION / LINKS
**************************************************************/
.punbb .linkst {
  float: left;
  position: relative;
  width: 100%;
  font-size: 1.05em;
  height: 0;
}

.multipage {
  margin-top: 3em;
}

.linkst .pagelink {
  position: absolute;
  top: -4em;
  left: 1em;
  width: 24em;
}

.linkst .postlink {
  position: absolute;
  top: -4em;
  right: 1em;
  width: 16em;
  text-align: right;
  font-weight: 700;
}

.punbb .linksb {
  text-align: right;
  padding: 0.6em 1em;
  font-size: 1.05em;
}

.linksb .pagelink {
  float: left;
  width: 24em;
  text-align: left;
}

.linksb .postlink {
  float: right;
  width: 16em;
  font-weight: 700;
}

.subscribelink {
  clear: both;
  padding-top: 0.4em;
  padding-bottom: 0.5em;
}

/*************************************************************
FORMS
**************************************************************/
.punbb .formal .container {
  padding: 1.7em 2em 1.2em 2em;
}

.punbb .formsubmit {
  padding: 0;
  margin: 1em 0 0 0;
}

.punbb .formsubmit input,
.punbb .formsubmit a,
.punbb .formsubmit span {
  margin: 0 0.6em 0 0;
}

.punbb fieldset {
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  padding: 1em 1.2em;
  margin: 0 0 1em 0;
}

.punbb fieldset legend {
  padding: 0 0.5em;
  font-size: 1.05em;
  font-weight: 700;
}

.punbb fieldset fieldset {
  border: none;
  margin: 0;
  padding: 0 0 8px 0;
}

.punbb .fs-box {
  padding: 1em 0 0.8em 0;
}

.punbb .inline .inputfield,
.punbb .inline .selectfield,
.punbb .inline .passfield {
  float: left;
  margin-right: 1em;
}

.punbb .inline .infofield {
  clear: both;
}

.punbb .datafield br {
  display: none;
}

.punbb .required label,
.punbb .datafield span.input {
  font-weight: 700;
}

.punbb textarea,
.punbb .longinput input {
  width: 100%;
  max-width: 720px;
  padding: 0.75em 1em;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.35);
  color: #fff;
  outline: none;
}

.punbb textarea:focus,
.punbb .longinput input:focus {
  border-color: #74b9ff;
  box-shadow: 0 0 0 3px rgba(116,185,255,0.2);
}

.punbb input[type="submit"],
.punbb input[type="button"],
.punbb button {
  padding: 0.7em 1.2em;
  border-radius: 12px;
  border: none;
  background: #74b9ff;
  color: #0f1115;
  font-weight: 800;
  cursor: pointer;
  transition: 0.2s ease;
}

.punbb input[type="submit"]:hover,
.punbb input[type="button"]:hover,
.punbb button:hover {
  transform: translateY(-1px);
  filter: brightness(1.05);
}

/*************************************************************
TABLES
**************************************************************/
.punbb .main td {
  border-top: 1px solid rgba(255,255,255,0.08);
  padding: 0.9em 1em;
}

.punbb .main th {
  border-bottom: 1px solid rgba(255,255,255,0.08);
  padding: 0.6em 1em;
  font-weight: 700;
  opacity: 0.85;
}

.punbb .main .tcl {
  overflow: hidden;
  text-align: left;
  width: 50%;
}

.punbb .main .tc2,
.punbb .main .tc3,
.punbb .main .tcmod {
  text-align: center;
  width: 10%;
}

.punbb .main .tcr {
  overflow: hidden;
  text-align: left;
  width: 30%;
}

#pun-index .tcl h3 {
  font-size: 1.15em;
  font-weight: 800;
}

/* icons */
.punbb div.icon {
  border-style: solid;
  border-width: 0.6em;
  height: 0;
  width: 0;
  margin-top: 0.1em;
  opacity: 0.8;
}

.punbb table div.icon {
  font-size: 1.05em;
  position: absolute;
  margin-left: -2.2em;
}

/*************************************************************
POST LAYOUT (TOPIC VIEW)
**************************************************************/
.punbb .post .container {
  border: 1px solid rgba(255,255,255,0.08);
  margin-top: 0;
  padding-bottom: 0;
}

.punbb .post h3 {
  border: none;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.punbb .post h3 span {
  padding: 0.9em 1em;
  display: block;
  margin-left: 18em;
  border-left: 1px solid rgba(255,255,255,0.08);
  font-weight: 700;
}

.punbb .post h3 strong {
  float: right;
  width: 5em;
  text-align: right;
  font-weight: 500;
  opacity: 0.85;
}

.punbb .post .post-author {
  float: left;
  width: 18em;
  margin-top: 0;
  overflow: hidden;
  border-right: 1px solid rgba(255,255,255,0.08);
}

.punbb .post .post-author ul,
.punbb .post .post-author p {
  padding: 1em;
  line-height: 1.4;
}

.pa-author {
  font-size: 1.1em;
  font-weight: 800;
}

.pa-author a {
  text-decoration: none;
}

li.pa-title {
  padding-bottom: 0.4em;
  font-weight: 700;
}

li.pa-online {
  border-left: 4px solid #00b894;
  padding-left: 0.6em;
  margin-top: 0.7em;
  font-weight: 700;
  opacity: 0.9;
}

.punbb .post-body {
  margin-left: 18em;
  padding: 1em;
}

.punbb .post-box {
  padding: 0.5em 0.8em;
}

.punbb .post-links {
  margin-left: 18em;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.punbb .post-links ul {
  padding: 0.6em 1em;
  text-align: right;
  background: rgba(0,0,0,0.15);
}

.punbb .post-links li {
  display: inline;
  padding-left: 1em;
}

.pl-email, .pl-website {
  float: left;
}

.punbb .clearer {
  clear: both;
  height: 0;
  font-size: 0;
}

/*************************************************************
MOD MENU
**************************************************************/
.punbb .modmenu .container {
  padding: 0.8em 1em;
  text-align: right;
}

.punbb .modmenu .container strong {
  float: left;
}

/*************************************************************
MESSAGE BOXES
**************************************************************/
.punbb .info .container {
  padding: 1em 1.2em;
}

.punbb .info .container .backlink {
  padding-top: 0.8em;
}

/*************************************************************
HEADER (TITLE)
**************************************************************/
#pun-title {
  margin: 0;
  border: none;
}

#pun-title .container {
  padding: 1.2em 1.4em;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(135deg, rgba(116,185,255,0.12), rgba(162,155,254,0.08));
}

#pun-title h1 {
  display: block;
  height: auto;
  padding: 0;
  font-size: 1.6em;
  font-weight: 900;
}

#pun-title h1 span {
  font-size: 1.2em;
}

/*************************************************************
NAVIGATION
**************************************************************/
#pun-navlinks .container,
#pun-ulinks .container,
#pun-status .container {
  border-radius: 14px;
  margin-top: 0.7em;
  padding: 0.8em 1em;
}

#pun-navlinks li {
  display: inline;
  padding-right: 1em;
}

#pun-navlinks li a {
  font-size: 1.05em;
  font-weight: 700;
}

#pun-ulinks li,
#pun-ulinks li a {
  display: inline;
  border-left: 1px solid rgba(255,255,255,0.12);
  white-space: nowrap;
}

#pun-ulinks li a {
  padding: 0 0.4em 0 0.8em;
}

#pun-ulinks li.item1,
#pun-ulinks li.item1 a {
  border-left: none;
  padding-left: 0;
}

/*************************************************************
BREADCRUMBS
**************************************************************/
#pun-crumbs1,
#pun-crumbs2 {
  font-weight: 800;
  overflow: hidden;
  margin-top: 0.7em;
}

#pun-crumbs1 p.container,
#pun-crumbs2 .container {
  padding: 0.9em 1em;
  font-size: 1.05em;
}

/*************************************************************
STATS + FOOTER
**************************************************************/
#pun-stats .container {
  padding: 1em 1.2em;
}

#pun-stats li.item1,
#pun-stats li.item2 {
  float: left;
  clear: both;
  line-height: 150%;
}

#pun-stats li.item3,
#pun-stats li.item4 {
  text-align: right;
  line-height: 150%;
}

li#onlinelist {
  margin-top: 1em;
  border-top: 1px solid rgba(255,255,255,0.08);
  float: left;
  width: 100%;
}

li#onlinelist div {
  border-top: 1px solid rgba(255,255,255,0.08);
  padding: 0.7em 0 0 0;
}

#pun-about .container {
  text-align: right;
  line-height: 150%;
  padding: 1em;
  opacity: 0.8;
}

/*************************************************************
RESPONSIVE FIXES
**************************************************************/
@media (max-width: 900px) {
  .punbb .post h3 span,
  .punbb .post-body,
  .punbb .post-links {
    margin-left: 0;
    border-left: none;
  }

  .punbb .post .post-author {
    float: none;
    width: 100%;
    border-right: none;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }

  .punbb .post-body {
    padding: 1em;
  }

  .punbb .post-links ul {
    text-align: left;
  }
}

@media (max-width: 600px) {
  #pun {
    margin: 10px auto;
    padding: 0 10px;
  }

  .punbb .main td,
  .punbb .main th {
    padding: 0.6em;
    font-size: 0.95em;
  }

  .punbb textarea,
  .punbb .longinput input {
    max-width: 100%;
  }

  .linkst .pagelink,
  .linkst .postlink {
    position: static;
    width: 100%;
    text-align: left;
    padding: 0.3em 0;
  }

  .punbb .linkst {
    height: auto;
  }
}