/*************************************************************
A - SETUP
*************************************************************/

/* A1 Import the colour scheme
-------------------------------------------------------------*/

/* A1.1 */
  @import url(style_cs.1790186235.css);

:root {
  --bg: #0f0f0f;
  --surface: #171717;
  --surface-raised: #1b1b1d;
  --surface-soft: #202023;
  --surface-hover: #242427;
  --surface-deep: #111213;
  --input-bg: #101112;
  --quote-bg: #121314;
  --border: #303034;
  --border-soft: #252528;
  --border-strong: #4a1a1d;
  --text: #e0e0e0;
  --muted: #969696;
  --heading: #ffffff;
  --accent: #d32f2f;
  --accent-bright: #ff4545;
  --accent-hot: #ff6a6a;
  --accent-dark: #3b1012;
  --online: #39ff88;
  --radius: 10px;
  --radius-small: 6px;
  --author-width: 15rem;
  --shadow: 0 14px 36px rgba(0, 0, 0, 0.36);
  --shadow-red: 0 0 22px rgba(211, 47, 47, 0.12);
  --font-ui: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  color-scheme: dark;
}

/* A2 Deal with browser defaults and wonkiness
-------------------------------------------------------------*/

/* A2.1 */
html, body {
  margin: 0;
  min-height: 100%;
  }

/* A2.2 */
.punbb * {
  box-sizing: border-box;
  margin: 0;
  }

/* A2.3 */
.punbb ul, .punbb dl, .punbb li, .punbb dd, .punbb dt {
  padding: 0;
  list-style: none;
  }

/* A2.4 */
.punbb img {
  border: none;
  max-width: 100%;
  }

/* A2.5 */
.punbb .main table {
  table-layout: fixed;
  width: 100%;
  }

/* A2.6 */
.checkfield input[type="checkbox"], .radiofield input[type="radio"] {margin: 0 0.45em;}

/* A2.7 */
p[class="checkfield"] *,
div[class="checkfield"] *,
fieldset[class="radiofield"] * {
  height: 1.9em;
  vertical-align: middle;
  }


/* A3 Text setup
-------------------------------------------------------------*/

/* A3.1 */
body {
  background-color: var(--bg);
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.018) 1px, transparent 1px);
  background-size: 32px 32px;
  color: var(--text);
  font-size: 100.01%;
  }

/* A3.2 */
.punbb {
  color: var(--text);
  font: normal 15px/1.6 var(--font-ui);
  }

/* 3.3 */
.punbb textarea, .punbb input, .punbb select, .punbb optgroup {
  color: var(--text);
  font: 1em var(--font-ui);
  }

/* A3.4 */
.punbb h1, .punbb h2, .punbb h3, .punbb h4, .punbb table, .punbb th {
  font-size: 1em;
  font-weight: 800;
  line-height: 1.3;
  }

/* A3.5 */
.punbb h1 span, .punbb h2 span, .punbb legend span {
  font-size: 1.12em;
  text-transform: uppercase;
  }

/* A3.6 */
.punbb pre {
  font: 0.94em/1.6 var(--font-mono);
  overflow-wrap: anywhere;
  }

/* A3.7 */
.punbb address, .punbb em {
  font-style: normal;
  }

/* A3.8 */
.punbb .post-content em {
  font-style: italic;
  }

/* A3.9 */
.punbb .post-content em.bbuline {
  font-style: normal;
  text-decoration: underline;
  }

/* A3.10 */
.punbb a {
  text-decoration: none;
  }

/* A3.11 */
.punbb optgroup {
  font-weight: 700;
  }

.punbb .post-content a {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.punbb :focus-visible {
  outline: 2px solid var(--accent-bright);
  outline-offset: 3px;
}

.punbb ::selection {
  background: var(--accent);
  color: var(--heading);
}


/* A4 Float clearing and hidden items
-------------------------------------------------------------*/

/* A4.1 */
#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;
  font-size: 0;
  height: 0;
  line-height: 0;
  overflow: hidden;
  visibility: hidden;
  }

/* A4.2 */
.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;
  left: -9999px;
  line-height: 0;
  overflow: hidden;
  position: absolute;
  width: 0;
  }


/* A5 Basic page layout and borders
-------------------------------------------------------------*/

/* A5.1 */
#pun {
  margin: 32px auto;
  max-width: 1500px;
  padding: 0 24px;
  position: relative;
  width: 100%;
  }

/* A5.2 */
.punbb {
  float: none;
  height: auto;
  width: 100%;
  }

/* A5.3 */
#pun-redirect, #pun-maint {
  float: none;
  margin: 64px auto;
  max-width: 760px;
  width: calc(100% - 32px);
  }

/* A5.4 */
.punbb .section, .punbb .main {
  margin-bottom: 28px;
  }

/* A5.5 */
.punbb .category, .punbb .post {
  border-radius: var(--radius);
  margin-top: 0;
  margin-bottom: 18px;
  }

/* A5.6 */
.punbb #pun-category1, .punbb .toppost, .punbb .topicpost {
  margin-top: 0;
  }

/* 5.7 */
#pun-post .topic {
  margin-top: 18px;
  }

/* A5.8 */
.punbb .section, .punbb .forum, .punbb .formal, .punbb .modmenu, .punbb .info,
.punbb .category, .punbb .post {
  border: 0;
  }

/* A5.9 */
.punbb .container {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
  }

/* A5.10 */
.punbb .section h2, #pun-main h1, #pun-main h2, #pun-stats h2, #pun-debug h2 {
  border-width: 0 0 1px;
  padding: 0.9em 1.25em;
  text-transform: uppercase;
  }


/*************************************************************
B - MAIN CONTENT - GENERAL
*************************************************************/

/* B1 Parsed Content, Signatures and Scroll Boxes
-------------------------------------------------------------*/

/* B1.1 */
.punbb .post-content {
  margin: 0;
  overflow: hidden;
  overflow-wrap: anywhere;
  padding: 0;
  width: 100%;
  }

/* B1.2 */
.punbb .post-sig dt {
  border-top: 1px solid var(--border);
  display: block;
  margin: 12px 0 8px;
  width: min(250px, 100%);
  }

/* B1.3 */
.punbb .post-content p {
  line-height: 1.68;
  margin: 0 0 1em;
  padding: 0;
  }

.punbb .post-content p:last-child {
  margin-bottom: 0;
}

/* B1.4 */
.punbb .post-content img {
  vertical-align: text-bottom;
  }

/* B1.5 */
.punbb .post-content img.postimg {
  vertical-align: middle;
  }

/* B1.6 */
.punbb .post-content .blockcode, .punbb .post-content blockquote {
  overflow: auto;
  width: 100%;
  }

/* B1.7 */
.punbb .post-content .scrollbox {
  overflow: auto;
  width: 100%;
  }

/* B1.8 */
.punbb .post-content .quote-box, .punbb .post-content .code-box {
  border: 1px solid var(--border);
  border-left: 3px solid var(--accent);
  border-radius: var(--radius-small);
  margin: 1.25em 0;
  overflow: hidden;
  padding: 1em 1.15em;
  width: 100%;
  }

.punbb .post-content blockquote {
  border-left: 3px solid var(--accent);
  border-radius: 0 var(--radius-small) var(--radius-small) 0;
  box-shadow: var(--shadow-red);
  margin: 0;
  padding: 0.9em 1.1em;
  }

.punbb .post-content .quote-box blockquote {
  border-left: 0;
  box-shadow: none;
  padding: 0;
  }

/* B1.9 */
.punbb .quote-box cite, .punbb .code-box strong.legend {
  color: var(--accent-bright);
  display: block;
  font-size: 1.05em;
  font-style: normal;
  font-weight: 800;
  margin: 0 0 0.65em;
  padding: 0;
  text-transform: uppercase;
  }


/* B2 Information boxes
-------------------------------------------------------------*/

/* B2.1 */
.punbb .info-box {
  border: 1px solid var(--border);
  border-left: 3px solid var(--accent);
  border-radius: var(--radius-small);
  box-shadow: var(--shadow-red);
  margin: 0 0 20px;
  padding: 20px 24px;
  }

/* B2.2 */
.punbb .info-box * {
  padding: 0 0 0.8em;
  }

/* B2.3 */
.punbb #pun-main .info-box .legend {
  color: var(--accent-bright);
  font-size: 1.1em;
  font-weight: 800;
  text-transform: uppercase;
  }


/* B3 Pagination and posting links
-------------------------------------------------------------*/

/* B3.1 */
.punbb .linkst {
  float: left;
  font-size: 1.05em;
  height: 0;
  position: relative;
  width: 100%;
  }

/* B3.2 */
.multipage {
  margin-top: 3.5em;
  }

/* B3.3 */
.linkst .pagelink {
  left: 0.75em;
  position: absolute;
  top: -4em;
  width: 24em;
  }

/* B3.4 */
.linkst .postlink {
  font-weight: 700;
  position: absolute;
  right: 0.75em;
  text-align: right;
  top: -4em;
  width: 16em;
  }

/* B3.5 */
.punbb .linksb {
  font-size: 1.05em;
  padding: 10px 16px;
  text-align: right;
  }

/* B3.6 */
.linksb .pagelink {
  float: left;
  text-align: left;
  width: 24em;
  }

/* B3.7 */
.linksb .postlink {
  float: right;
  font-weight: 700;
  width: 16em;
  }

/* B3.8 */
.subscribelink {
  clear: both;
  padding: 8px 0 12px;
  }


/*************************************************************
C - MAIN CONTENT - SPECIFIC
*************************************************************/

/* C1 Form layout
-------------------------------------------------------------*/

/* C1.1 */
.punbb .formal .container {
  padding: 28px 32px 24px;
  }

/* C1.2 */
.punbb .formsubmit {
  margin: 20px 0 0;
  padding: 0 0 0 4px;
  }

/* C1.3 */
.punbb .formsubmit input, .punbb .formsubmit a, .punbb .formsubmit span {
  margin: 0 0.6em 0.6em 0;
  }

/* C1.4 */
.punbb fieldset {
  border: 1px solid var(--border);
  border-radius: var(--radius-small);
  margin: 0 0 18px;
  padding: 8px 20px 20px;
  }

/* C1.5 */
.punbb fieldset legend {
  color: var(--heading);
  font-size: 1.08em;
  font-weight: 800;
  margin: 0 0 0 12px;
  padding: 0;
  text-transform: uppercase;
  }

/* C1.6 */
.punbb fieldset legend span {
  background-color: var(--surface-raised);
  border: 1px solid var(--border-strong);
  border-radius: 4px;
  box-shadow: var(--shadow-red);
  margin: 0;
  padding: 6px 10px;
  }

/* C1.7 */
.punbb fieldset fieldset {
  border: 0;
  margin: 0;
  padding: 0 0 10px;
  }

/* C1.8 */
.punbb .fs-box {
  padding: 20px 0 14px;
  }

/* C1.9 */
.punbb .fs-box p, .punbb .fs-box fieldset {
  padding: 0 0 12px;
  }

/* C1.10 */
.punbb .inline .inputfield, .punbb .inline .selectfield, .punbb .inline .passfield {
  float: left;
  margin-right: 18px;
  }

/* C1.11 */
.punbb .inline .infofield {
  clear: both;
  padding-top: 8px;
  }

/* C1.12 */
.punbb .datafield br {
  display: none;
  }

/* C1.13 */
.punbb .required label, .punbb .datafield span.input {
  font-weight: 700;
  }

/* C1.14 */
.punbb .datafield span.input a {
  font-weight: 400;
  }

/* C1.15 */
.punbb .areafield span.input, .punbb p.longinput span.input {
  display: block;
  height: 100%;
  padding: 0 14em 0 0;
  }

/* C1.16 */
.punbb textarea, .punbb .longinput input {
  margin: 6px 0;
  max-width: 100%;
  width: 68%;
  }

.punbb textarea {
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-small);
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.45);
  line-height: 1.55;
  min-height: 150px;
  padding: 12px 14px;
  resize: vertical;
}

.punbb input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
.punbb select {
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-small);
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.4);
  min-height: 42px;
  padding: 9px 12px;
  transition: border-color 140ms ease, box-shadow 140ms ease;
}

.punbb input:hover, .punbb select:hover, .punbb textarea:hover {
  border-color: var(--accent);
}

.punbb input:focus, .punbb select:focus, .punbb textarea:focus {
  border-color: var(--accent-bright);
  box-shadow: 0 0 0 3px rgba(211, 47, 47, 0.18), inset 0 2px 8px rgba(0, 0, 0, 0.4);
  outline: 0;
}

.punbb input[type="submit"], .punbb input[type="button"], .punbb button, .punbb .formsubmit a {
  border: 1px solid var(--accent-bright);
  border-radius: var(--radius-small);
  box-shadow: 0 6px 18px rgba(211, 47, 47, 0.24);
  cursor: pointer;
  display: inline-block;
  font-weight: 800;
  min-height: 42px;
  padding: 9px 18px;
  text-align: center;
  text-transform: uppercase;
  transition: background-color 140ms ease, border-color 140ms ease, box-shadow 140ms ease, filter 140ms ease, transform 100ms ease;
}

.punbb input[type="submit"]:hover, .punbb input[type="button"]:hover, .punbb button:hover, .punbb .formsubmit a:hover {
  border-color: var(--accent-hot);
  box-shadow: 0 8px 24px rgba(255, 69, 69, 0.32);
  filter: brightness(1.12);
}

.punbb input[type="submit"]:active, .punbb input[type="button"]:active, .punbb button:active, .punbb .formsubmit a:active {
  transform: translateY(1px);
}

.punbb input[type="submit"]:disabled, .punbb input[type="button"]:disabled, .punbb button:disabled {
  cursor: not-allowed;
  filter: grayscale(0.8);
  opacity: 0.48;
}

/* C1.17 */
.punbb .hashelp {
  position: relative;
  }

/* C1.18 */
.punbb .helplinks {
  display: block;
  font-weight: 400;
  position: absolute;
  right: 0;
  top: 1em;
  width: 34%;
  }

/* c1.19 */
.punbb #profile .helplinks {
  top: 1.5em;
  }

/* C1.20 */
.punbb .helplinks span {
  color: var(--muted);
  display: block;
  padding-bottom: 0.25em;
  }

/* C1.21 */
#pun-post .formal .info-box li {
  line-height: 1.55;
  list-style-position: inside;
  list-style-type: square;
  margin: 0;
  padding-left: 4px;
  }


/* C2 Table layout
-------------------------------------------------------------*/

/* C2.1 */
.punbb .main .tcl {
  overflow: hidden;
  text-align: left;
  width: 50%;
  }

/* C2.2 */
.punbb .main .tc2, .punbb .main .tc3, .punbb .main .tcmod {
  text-align: center;
  width: 10%;
  }

/* C2.3 */
.punbb .main .tcr {
  overflow: hidden;
  text-align: left;
  width: 30%;
  }

/* C2.4 */
#pun-userlist .main .tcl,
#pun-searchtopics .main .tcl,
#pun-modviewforum .main .tcl {
  width: 40%;
  }

/* C2.5 */
#pun-userlist .main .tc2,
#pun-searchtopics .main .tc2 {
  text-align: left;
  width: 20%;
  }

/* C2.6 */
#pun-debug table .tcl {
  white-space: normal;
  width: 15%;
  }

/* C2.7 */
#pun-debug .tcr {
  white-space: normal;
  width: 90%;
  }

/* C2.8 */
#pun-index .tcl h3 {
  color: var(--text);
  font-size: 1.14em;
  font-weight: 800;
  text-transform: uppercase;
  }

/* C2.9 */
.punbb td span.youposted {
  font-weight: 700;
  margin-left: -1em;
  position: absolute;
  }

/* C2.10 */
.punbb td .modlist {
  display: block;
  padding-top: 0.35em;
  }

/* C2.11 */
.punbb .main td {
  border-style: solid none none;
  border-width: 1px 0 0;
  padding: 15px 18px;
  vertical-align: top;
  }

.punbb .main table {
  border-collapse: separate;
  border-spacing: 0;
}

.punbb .main tbody tr:last-child td {
  border-bottom: 0;
}

.punbb .main tbody tr:hover td {
  background-color: var(--surface-hover);
}

.punbb .main tbody tr.inew td {
  box-shadow: inset 3px 0 0 var(--accent);
}

/* C2.12 */
.punbb .main th {
  border-style: none none solid;
  border-width: 0 0 1px;
  color: var(--accent-bright);
  padding: 12px 16px;
  text-transform: uppercase;
  }

/* C2.13 */
.punbb .main .tcl {
  border-left-style: none;
  border-left-width: 0;
  }

/* C2.14 */
.punbb tbody.hasicon td.tcl {
  padding-left: 3.2em;
  }

/* C2.15 */
.punbb div.icon {
  border-style: solid;
  border-width: 0.6em;
  height: 0;
  line-height: 0;
  margin-top: 0.1em;
  width: 0;
  }

/* C2.16 */
.punbb table div.icon {
  font-size: 1.05em;
  margin-left: -2.2em;
  position: absolute;
  }

 /* C3 Topics
-------------------------------------------------------------*/

/* C3.1 */
.punbb .post .container {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  margin-top: 0;
  overflow: hidden;
  padding-bottom: 0;
  }

/* C3.2 */
.punbb .post h3 {
  border: 0;
  font-size: 1em;
  text-transform: uppercase;
  }

/* C3.3 */
.punbb .post h3 span {
  border-left: 1px solid var(--border);
  display: block;
  margin-left: var(--author-width);
  padding: 15px 20px;
  }

/* C3.4 */
.punbb .post h3 strong {
  float: right;
  font-size: 0.82em;
  font-weight: 600;
  margin-left: 18px;
  text-align: right;
  text-transform: none;
  width: 5em;
  }

/* C3.5 */
.punbb .post .post-author {
  border-right: 1px solid var(--border);
  float: left;
  margin-top: -2.1em;
  overflow: hidden;
  width: var(--author-width);
  }

/* C3.6 */
.punbb .post .post-author ul, .punbb .post .post-author p {
  line-height: 1.5;
  padding: 0 18px 18px;
  }

.punbb .post .post-author > p:first-child {
  padding-top: 18px;
  }

/* C3.7 */
.pa-author {
  font-size: 1.1em;
  font-weight: 800;
  overflow-wrap: anywhere;
  text-transform: uppercase;
  }

/* C3.8 */
.pa-author a {
  text-decoration: none;
  }

/* C3.9 */
li.pa-title {
  font-weight: 700;
  padding-bottom: 0.5em;
  }

li.pa-online {
  background: rgba(57, 255, 136, 0.06);
  border-left: 3px solid var(--online);
  border-radius: 0 4px 4px 0;
  line-height: 1.2;
  margin-top: 0.8em;
  padding: 0.55em 0.65em;
  text-transform: uppercase;
  }

/* C3.11 */
.punbb .post-body {
  border-left: 0;
  margin-left: var(--author-width);
  min-height: 150px;
  padding: 24px 26px 20px;
  }

/* C3.12 */
.punbb .post-box {
  padding: 18px;
  }

/*C3.13 */
.punbb fieldset .post-box {
  margin-bottom: 12px;
  }

/* C3.14 */
.punbb .post-links {
  border-left: 0;
  clear: both;
  margin-left: 0;
  }

/* C3.15 */
.punbb .post-links ul {
  background: transparent;
  border-top: 1px solid var(--border);
  height: auto;
  line-height: 1.5;
  margin-left: 0;
  min-height: 48px;
  padding: 12px 20px;
  text-align: right;
  }

/* C3.16 */
.punbb .post-links li {
  display: inline-block;
  padding: 2px 0 2px 16px;
  }

/* C3.17 */
.pl-email, .pl-website {
  float: left;
  }

/* C3.18 */
.punbb .clearer {
  clear: both;
  font-size: 0;
  height: 0;
  }


/* C4 Moderator menu
-------------------------------------------------------------*/

/* C4.1 */
.punbb .modmenu .container {
  border-radius: var(--radius-small);
  padding: 10px 16px;
  text-align: right;
  }

/* C4.2 */
.punbb .modmenu strong, .punbb .modmenu a {
  display: inline-block;
  height: 1.8em;
  line-height: 1.8em;
}

/* C4.3 */
.punbb .modmenu .container strong {
  float: left;
  text-transform: uppercase;
  }

/* C4.4 */
.punbb .modmenu input {
  margin-left: 1em;
  }


/* C5 Message boxes
-------------------------------------------------------------*/

/* C5.1 */
.punbb .info .container {
  border-left: 3px solid var(--accent);
  padding: 18px 22px;
  }

/* C5.2 */
.punbb .info .container .backlink {
  padding-top: 12px;
  }


/* C6 Profile
-------------------------------------------------------------*/

/* C6.1 */
#profile .container {
  padding-left: 20.6em;
  }

/* C6.2 */
#profilenav {
  display: inline;
  float: left;
  margin-left: -18.3em;
  width: 14em;
  }

/* C6.3 */
#profilenav li {
  font-weight: 700;
  padding-bottom: 0.85em;
  }

/* C6.4 */
#viewprofile ul, #profilenav ul {
  border: 1px solid var(--border);
  border-radius: var(--radius-small);
  margin: 0 0 18px;
  padding: 22px 20px 12px;
  }

/* C6.5 */
#viewprofile h2, #profilenav h2 {
  background: transparent;
  border: 0;
  margin: 0 14px -0.6em;
  padding: 0;
  }

/* C6.6 */
#viewprofile h2 span, #profilenav h2 span {
  padding: 0 6px;
  position: relative;
  text-transform: uppercase;
  }

/* C6.7 */
#viewprofile li, #setmods dl {
  margin-bottom: 0.25em;
  padding: 0 0 0 16em;
  }

/* C6.8 */
#viewprofile li span {
  float: left;
  font-weight: 700;
  margin-left: -16em;
  padding: 0.65em 1em;
  width: 14em;
  }

/*C6.9 */
#setmods dt {
  display: inline;
  float: left;
  font-weight: 700;
  margin-left: -16em;
  padding: 0.9em 1em;
  width: 14em;
  }

/* C6.10 */
#viewprofile li strong, #viewprofile li div, #setmods dd {
  display: block;
  font-weight: 400;
  padding: 0.65em 1em;
  }

/* C6.11 */
.punbb img.avatardemo {
  border: 1px solid var(--border);
  border-radius: var(--radius-small);
  float: right;
  margin: 0 0 12px 24px;
  }


/* C7 User list
-------------------------------------------------------------*/

/* C7.1 */
#pun-userlist .formal, #pun-userlist .formal .container {
  border-bottom: 0;
  margin-bottom: 0;
  }

/* C7.2 */
#pun-userlist .usertable .container {
  border-radius: var(--radius);
  border-top: 0;
  padding: 0 28px 28px;
  }

/* C7.3 */
#pun-userlist .usertable table {
  border: 1px solid var(--border);
  border-radius: var(--radius-small);
  }


/*************************************************************
D - PUNBB SECTIONS OTHER THAN MAIN CONTENT
*************************************************************/

/* D1 Logo and description
-------------------------------------------------------------*/

/* D1.1 */
#pun-title {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  margin: 0 0 20px;
  overflow: hidden;
  }

/* D1.2 */
#pun-title h1 {
  display: block;
  min-height: 74px;
  padding: 22px 24px 18px;
  }

/* D1.3 */
#pun-title .container {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
  }

/* D1.4 */
#pun-title h1 span  {
  font-size: 1.7em;
  text-transform: uppercase;
  }

#pun-title table {
  border: 0;
  height: auto;
  width: 100%;
  }

#pun-title td.title-logo-tdl {
  border: 0;
  width: 100%;
  }

#pun-title td.title-logo-tdr {
  border: 0;
  width: 360px;
  }

/* D2 Page navigation
-------------------------------------------------------------*/

/* D2.1 */
#pun-pagelinks {
  border: 0;
  left: 0;
  margin: 0;
  padding: 0;
  position: absolute;
  top: -18px;
  width: 100%;
  }

/* D2.2 */
#pun-pagelinks .container {
  background: transparent;
  border: 0;
  padding: 0;
  }

/* D2.3 */
#pun-pagelinks .container li {
  display: inline;
  }

/* D2.4 */
#pun-pagelinks li a, #pun-pagelinks a:link, #pun-pagelinks a:hover {
  display: block;
  float: left;
  font-size: 1.2em;
  height: 2em;
  line-height: 2em;
  margin-left: -9999px;
  padding: 0;
  width: 100%;
  }

/* D2.5 */
#pun-pagelinks a:active, #pun-pagelinks a:focus {
  margin: 0;
  position: relative;
  }

#pun-pagelinks li a span {
  display: block;
  margin: 0 1em;
  }

/* D3 Forum navigation
-------------------------------------------------------------*/

/* D3.1 */
#pun-navlinks, #pun-navlinks .container {
  border: 0;
  margin: 0;
  }

/* D3.2 */
#pun-navlinks .container {
  border-bottom: 1px solid var(--border);
  padding: 13px 18px;
  }

/* D.3 */
#pun-navlinks li {
  display: inline;
  padding-right: 1.2em;
  }

/* D3.4 */
#pun-navlinks li a {
  font-size: 1.06em;
  font-weight: 700;
  text-transform: uppercase;
  }

/* D4 User links
-------------------------------------------------------------*/

/* D4.1 */
#pun-ulinks  {
  margin-top: 0;
  }

/* D4.2 */
#pun-ulinks .container {
  border-top: 0;
  padding: 13px 18px;
  }

/* D4.3 */
#pun-ulinks li, #pun-ulinks li a {
  border-left: 1px solid var(--border);
  display: inline;
  white-space: nowrap;
  }

/* D4.4 */
#pun-ulinks li a {
  padding: 0 5px 0 12px;
  }

/* D4.5 */
#pun-ulinks li.item1, #pun-ulinks li.item1 a {
  border-left: 0;
  padding-left: 0;
  }

/* D5 Welcome box and Top Breadcrumbs
-------------------------------------------------------------*/

/* D5.1 */
#pun-status, #pun-status .container {
  border-bottom: 0;
  margin-bottom: 0;
  }

/* D5.2 */
#pun-status .container {
  padding: 16px 20px 18px;
  }

/* D5.3 */
#pun-status span {
  margin-right: 0.6em;
  white-space: nowrap;
  }

/* D5.4 */
#pun-crumbs1 {
  font-weight: 700;
  margin-top: 0;
  overflow: hidden;
  text-transform: uppercase;
  }

/* D5.5 */
#pun-crumbs1 p.container {
  border-top: 0;
  font-size: 1.05em;
  padding: 17px 20px 15px;
  }

/* D5.6 */
#pun-break1 {
  border-style: solid none;
  border-width: 1px 0;
  height: 0;
  margin: 0 20px;
  position: relative;
  z-index: 1;
  }

/* D6 Announcement
-------------------------------------------------------------*/

/* D6.1 */
#pun-announcement h2 {
  border-style: none none solid;
  border-width: 0 0 1px;
  font-weight: 800;
  margin: 0 20px -4.2em;
  padding: 0;
  position: relative;
  text-transform: uppercase;
  }

/* D6.2 */
#pun-announcement h2 span {
  border-bottom: 1px solid var(--border);
  display: block;
  padding: 17px 0 15px;
  }

/* D6.3 */
#pun-announcement .container {
  padding: 62px 20px 20px;
  }

/* D7 Statistics
-------------------------------------------------------------*/

/* D7.1 */
#pun-stats .container {
  padding: 16px 20px;
  }

/* D7.2 */
#pun-stats li.item1, #pun-stats li.item2 {
  clear: both;
  float: left;
  line-height: 1.6;
  }

/* D7.3 */
#pun-stats li.item3, #pun-stats li.item4 {
  line-height: 1.6;
  text-align: right;
  }

/* D7.4 */
li#onlinelist {
  border-top: 1px solid var(--border);
  float: left;
  line-height: 1.5;
  margin-top: 14px;
  padding-top: 14px;
  width: 100%;
  }

/* D7.5 */
li#onlinelist div {
  border-top: 1px solid var(--border-soft);
  padding: 12px 0 0;
  }

/* D8 Quick Jump - About - Bottom Breadcrumbs
-------------------------------------------------------------*/

/* D8.1 */
#pun-qjump {
  border: 0;
  float: left;
  margin: 0;
  position: relative;
  width: 50%;
  }

/* D8.2 */
#pun-qjump .container {
  background: transparent;
  border: 0;
  padding: 14px 18px;
  }

/* D8.3 */
#pun-about {
  margin-top: 0;
  }

/* D8.4 */
#pun-about .container {
  border-top: 0;
  line-height: 1.6;
  padding: 14px 18px;
  text-align: right;
  }

/* D8.5 */
#pun-about p span {
  display: block;
  padding-left: 50%;
  }

/* D8.6 */
#pun-crumbs2 {
  border-bottom: 0;
  font-weight: 700;
  margin-bottom: 0;
  overflow: hidden;
  text-transform: uppercase;
  }

/* D8.7 */
#pun-crumbs2 .container {
  border-bottom: 0;
  font-size: 1.05em;
  padding: 14px 18px;
  }

/* D8.8 */
#pun-break4 {
  border-style: solid none;
  border-width: 1px 0;
  height: 0;
  margin: 0 20px;
  position: relative;
  z-index: 1;
  }

/* D8.9 */
div.punbb-admin #pun-about .container {
  border-top: 1px solid var(--border);
  }


/* D9 Help file
-------------------------------------------------------------*/

/* D9.1 */
#pun-help .formal .info-box h3.legend {
  border-bottom: 1px solid var(--border);
  margin-bottom: 12px;
  padding-bottom: 0;
  }

/* D9.2 */
#pun-help .formal .info-box h3.legend span {
  border-bottom: 1px solid var(--border-soft);
  display: block;
  font-size: 1.1em;
  margin-bottom: 0;
  padding-bottom: 10px;
  }

/* D9.3 */
#pun-help .formal p, #pun-help .formal dd {
  margin-bottom: 1em;
  }

/* D9.4 */
#pun-help .formal ul, #pun-help .formal dl {
  padding: 0 0 0 1.2em;
  }

/* D9.5 */
#pun-help .formal li {
  line-height: 1.5;
  padding: 0;
  }

/* D9.6 */
#pun-help .formal li * {
  vertical-align: text-top;
  }

/* D9.7 */
#pun-help .formal dt span {
  font: 1.25em/1.35 var(--font-mono);
  }

/* D9.8 */
#pun-help .formal .parsedmsg, #pun-help .formal .parsedmsg .incode {
  padding-bottom: 0;
  }

.punbb .scrollbox, .punbb .post-content {
  scrollbar-color: var(--accent) var(--surface-deep);
  scrollbar-width: thin;
}

@media (max-width: 900px) {
  #pun {
    margin: 20px auto;
    padding: 0 16px;
  }

  #pun-index .main,
  #pun-userlist .main,
  #pun-searchtopics .main {
    overflow-x: auto;
  }

  #pun-index .main table,
  #pun-userlist .main table,
  #pun-searchtopics .main table {
    min-width: 680px;
  }

  #profile .container {
    padding-left: 1.5em;
  }

  #profilenav {
    float: none;
    margin: 0 0 20px;
    width: 100%;
  }

  #viewprofile li, #setmods dl {
    padding-left: 0;
  }

  #viewprofile li span, #setmods dt {
    float: none;
    margin-left: 0;
    width: auto;
  }

  #viewprofile li strong, #viewprofile li div, #setmods dd {
    padding-left: 0;
  }
}

@media (max-width: 680px) {
  #pun {
    margin: 12px auto;
    padding: 0 12px 20px;
  }

  #pun {
    --author-width: 0px;
  }

  .punbb .formal .container {
    padding: 22px 18px 20px;
  }

  .punbb fieldset {
    padding: 8px 14px 16px;
  }

  .punbb .areafield span.input, .punbb p.longinput span.input {
    padding-right: 0;
  }

  .punbb textarea, .punbb .longinput input, .punbb .helplinks {
    position: static;
    width: 100%;
  }

  .punbb .inline .inputfield, .punbb .inline .selectfield, .punbb .inline .passfield {
    float: none;
    margin: 0 0 12px;
    width: 100%;
  }

  .punbb .post h3 span {
    border-left: 0;
    margin-left: 0;
    padding: 14px 16px;
  }

  .punbb .post h3 strong {
    margin-left: 10px;
    width: auto;
  }

  .punbb .post .post-author {
    border-bottom: 1px solid var(--border);
    border-right: 0;
    clear: both;
    float: none;
    margin-top: 0;
    width: 100%;
  }

  .punbb .post .post-author ul, .punbb .post .post-author p {
    padding: 0 16px 12px;
  }

  .punbb .post .post-author > p:first-child {
    padding-top: 16px;
  }

  .punbb .post-body {
    border-left: 0;
    margin-left: 0;
    min-height: 0;
    padding: 20px 16px 16px;
  }

  .punbb .post-links ul {
    padding: 12px 16px;
    text-align: left;
  }

  .punbb .post-links li {
    margin: 2px 12px 2px 0;
    padding: 0;
  }

  .linkst .pagelink, .linkst .postlink, .linksb .pagelink, .linksb .postlink {
    float: none;
    position: static;
    text-align: left;
    width: 100%;
  }

  .linkst {
    height: auto;
  }

  #pun-title h1 {
    min-height: 0;
    padding: 18px;
  }

  #pun-title h1 span {
    font-size: 1.35em;
  }

  #pun-title td.title-logo-tdr {
    width: 140px;
  }

  #pun-qjump {
    float: none;
    width: 100%;
  }

  #pun-about .container, #pun-crumbs2 .container {
    text-align: left;
  }

  #pun-about p span {
    padding-left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .punbb *, .punbb *::before, .punbb *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
