/*****************************************************************
1. INITIAL SETTINGS
*****************************************************************/

:root {
    --background-color: #2a2a2a;
    --text-color: #d4d4d4;
    --accent-color: #f6b620;
    --link-hover-color: #ffee40;
    --border-color: #565656;
	--font-family: 'Roboto', sans-serif; 
    --breakpoint-mobile: 320px;
    --breakpoint-tablet: 768px;
    --breakpoint-desktop: 1024px;
}

/* Limited Reset
----------------------------------------------------------------*/

.pun table, .pun div, .pun form, .pun p, .pun h1, .pun h2, .pun h3,
.pun h4, .pun h5, .pun pre, .pun blockquote, .pun ul, .pun ol, .pun li, .pun dl,
.pun dt, .pun dd, .pun th, .pun td, .pun fieldset, .pun img, .pun abbr, .pun cite {
	margin: 0;
	padding: 0;
	border: 0;
}

.pun ul, .pun ol {
	list-style: none;
	padding-left: 20px;
}


/* Structural Settings
----------------------------------------------------------------*/

.pun .clearer, .pun .nosize {
	height: 0;
	width: 0;
	line-height: 0;
	font-size: 0;
	overflow: hidden;
}

.pun .clearer, .pun .clearb {
	clear: both;
}

.pun .nosize {
	position: absolute;
	left: -9999em;
	text-indent: -9999em;
	width: 0;
}

* html .inbox, * html .inform, * html .pun, * html .tclcon, * html .codebox {
	height: 1px;
}

.pun, .pun .inbox, .pun .inform, .pun .tclcon, .pun .codebox {
	min-height: 1px;
}

.clearl {
	clear: left;
}

/* Hidden Elements
----------------------------------------------------------------*/

#brdfooter h2, #brdstats h2, #brdstats .conl dt, #brdstats .conr dt,
#modcontrols dt, #searchlinks dt, div.postright h3, span.closedtext,
.pun .required strong span {
	position: absolute;
	display: block;
	overflow: hidden;
	width: 0;
	left: -9999em;
	text-indent: -9999em;
}

/*****************************************************************
2. TEXT & CONTENT
*****************************************************************/

/* Text Defaults
----------------------------------------------------------------*/

.pun {
	font: 81.25%/1.462em Verdana, Helvetica, Arial, sans-serif;
	line-height: 1.2;
}

.pun table, .pun td, .pun th, .pun input, .pun select, .pun optgroup, .pun textarea, .pun samp, .pun legend {
	font-size: 1em;
	font-family: verdana, helvetica, arial, sans-serif;
}

.pun pre, .pun code {
	font-size: 1.182em;
	font-family: consolas, monaco, "bitstream vera sans mono", "courier new", courier, monospace;
}

.pun pre code {
	font-size: 1em;
}

.pun strong {
	font-weight: bold;
}

.pun em {
	font-style: italic;
}


/* Content Defaults
----------------------------------------------------------------*/

.pun p, .pun ul, .pun ol, .pun dl {
	font-size: 1em;
	padding: 3px 0;
}

.pun h2 {
	font-size: 1em;
	font-weight: normal;
	padding: 4px 6px;
}

.pun h3 {
	font-size: 1.091em;
	padding: 3px 0;
}

.pun table p, .pun table h3 {
	padding: 0;
}

.pun span.warntext, .pun p.warntext {
	font-weight: bold;
}

/* User Content (Announcements, Rules, Posts)
----------------------------------------------------------------*/

.pun .usercontent p, .pun .postmsg p {
	padding: 0.75em 0;
}

.pun .usercontent ul, .pun .postmsg ul {
	padding: 0.75em 1em 0.75em 2.5em;
	list-style: disc;
}

.pun .usercontent ol, .pun .postmsg ol {
	padding: 0.75em 1em 0.75em 2.5em;
	list-style: decimal;
}

.pun .usercontent ol.alpha, .pun .postmsg ol.alpha {
	list-style: lower-alpha;
}

.pun .usercontent li ol, .pun .usercontent li ul, .pun .postmsg li ol, .pun .postmsg li ul {
	padding: 0.25em 1em 0.75em 2.5em;
}

.pun .usercontent li p, .pun .postmsg li p {
	padding: 0;
}

.pun .usercontent h1 {
	font-size: 1.4em;
	font-weight: bold;
	padding: 0.75em 0 0 0;
}

.pun .usercontent h2 {
	font-size: 1.2em;
	font-weight: bold;
	padding: 0.75em 0 0 0;
}

.pun .usercontent h3 {
	font-size: 1.1em;
	font-weight: bold;
	padding: 0.75em 0 0 0;
}

.pun .usercontent h4, .pun .usercontent h5, .pun .usercontent h6 {
	font-size: 1em;
	font-weight: bold;
	padding: 0.75em 0 0 0;
}

.pun .quotebox cite {
	font-weight: bold;
	font-style: normal;
	padding: 0.75em 0.75em 0 0.75em;
}

.pun span.bbu {
	text-decoration: underline;
}

.pun span.bbs, .pun del {
	text-decoration: line-through;
}

.pun .postmsg ins, #punhelp samp ins {
	text-decoration: none;
}

.pun div.postmsg h5, #punhelp h5 {
	font-size: 1.1em;
	font-weight: bold;
	padding: 0.75em 0 0 0;
}


/*****************************************************************
3. COMMON STYLES
*****************************************************************/

/* Page Layout
----------------------------------------------------------------*/

html, body {
	margin: 0;
	padding: 0;
}

.pun {
	max-width: 1100px;
	min-width: 700px;
	margin: 0 auto;
	padding: 12px 20px;
    background: var(--background-color);
    color: var(--text-color);
    font-family: var(--font-family);
	display: flex;
    flex-direction: column;
}
.pun .postleft, .pun .postright {
    flex: 1;
}

#punredirect, #punmaint, #puninstall, #pundb_update {
	padding: 50px 40px 12px;
}

.pun img {
    transition: transform 0.3s ease-in-out;
}

.pun img:hover {
    transform: scale(1.05);
}

/* Vertical Element Spacing
----------------------------------------------------------------*/

#brdheader {
	margin: 0 0 12px 0;
}

#brdtitle p {
	padding-top: 0px;
}

#announce, #brdstats {
	margin: 12px 0 12px 0;
}

.pun .blocktable, .pun .block, .pun .blockform, .pun .block2col, #postreview {
	margin-bottom: 12px;
}

#punindex .blocktable, .pun .blockpost {
	margin-bottom: 6px;
}

#postreview .blockpost {
	margin-bottom: -1px;
}

.pun .block2col .blockform, .pun .block2col .block {
	margin-bottom: 0px;
}

.pun .linkst, .pun .linksb {
	margin-top: -12px;
}

.pun .postlinksb {
	margin-top: -6px;
}


/* External Borders
----------------------------------------------------------------*/

.pun .box {
	border-style: solid;
	border-width: 4px;
	border-radius: 10px;
	box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.75);
}

#brdheader .box {
	border-top-width: 4px;
}

/* Default Internal Spacing
----------------------------------------------------------------*/

.pun .block .inbox, .pun .blockmenu .inbox {
	padding: 3px 6px;
}

/*****************************************************************
4. COMMON BOARD ELEMENTS
*****************************************************************/

/* Board Header
----------------------------------------------------------------*/

#brdtitle h1 {
	font-size: 1.4em;
	font-weight: bold;
	padding: 3px 0 0 0;
}

#brdmenu {
    position: sticky;
    top: 0;
    background-color: rgba(51, 51, 51, 0.9);
    z-index: 1000;
    padding: 7px 0;
}

#brdmenu li {
	display: inline;
	margin-right: 12px;
	list-style: none;
    list-style: none;
    padding: 5px 10px; 
    border: 2px solid transparent; 
	border-radius: 4px;
    transition: background-color 0.3s, border-color 0.3s;
}

#brdmenu a {
    color: var(--text-color);
    text-decoration: none;
}

#brdmenu li:hover {
    background-color: var(--accent-color); 
    border-color: var(--link-hover-color);
}

#brdmenu li:hover a {
    color: #2a2a2a; 
}


#brdmenu a:link, #brdmenu a:visited {
	text-decoration: none;
}

#brdmenu a:hover, #brdmenu a:active {
	text-decoration: underline;
}

#brdwelcome .conl {
	float: left;
}

#brdwelcome .conr {
	float: right;
	text-align: right;
}

/* Breadcrumbs and Post Links
----------------------------------------------------------------*/

.pun .linkst {
	padding: 8px 6px 3px 6px;
}

.pun .linksb, .pun .postlinksb {
	padding: 3px 6px 8px 6px;
}

.pun .crumbs {
	clear: both;
	width: 100%;
	overflow: hidden;
}

.pun .crumbs li {
	display: inline;
	white-space: nowrap;
	font-weight: bold;
}

.pun .pagelink {
	float: left;
	white-space: nowrap;
}

.pun .postlink {
	font-weight: bold;
	white-space: nowrap;
}

.pun .postlink, .pun .modbuttons {
	float: right;
	text-align: right;
}

.pun .modbuttons {
	padding: 1px 0;
	white-space: nowrap;
}

.pun .modbuttons input {
	margin-left: 6px;
}

.pun .postlink a:link, .pun .postlink a:visited {
	text-decoration: none;
}

.pun .postlink a:hover, .pun .postlink a:active {
	text-decoration: underline;
}

#punindex .subscribelink {
	margin-top: 6px;
}

.button {
    transition: background-color 0.2s ease-in-out, transform 0.1s ease;
    will-change: transform, background-color;
}
.button:hover {
    background-color: var(--accent-hover-color);
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); 
}

.button:active {
    transform: translateY(1px);
}

/* Board Footer
----------------------------------------------------------------*/

#brdfooter {
    background-color: #333;
    color: var(--text-color);
    text-align: center;
    font-size: 0.8em;
}

#brdfooter .conl {
	float: left;
}

#brdfooter .conr {
	float: right;
	text-align: right;
}

#brdfooter #modcontrols {
	border-bottom-style: solid;
	border-bottom-width: 1px;
	text-align: center;
}

#brdfooter #modcontrols dd {
	display: inline;
	margin: 0 6px;
}


/* Board Stats
----------------------------------------------------------------*/

#brdstats .conl {
	float: left;
}

#brdstats .conr {
	float: right;
	text-align: right;
}

#onlinelist dd, #onlinelist dt {
	display: inline;
}


/*****************************************************************
5. MAIN TABLES
*****************************************************************/

.pun table {
	width: 100%;
    border-collapse: collapse;
    border-spacing: 5px;
	empty-cells: show;
	border-radius: 8px;
    overflow: hidden;
}

.pun .blocktable table {
	table-layout: fixed;
}

.pun td, .pun th {
	border: 1px solid var(--border-color);
	padding: 4px 6px;
	text-align: left;
	font-weight: normal;
}

.pun td, .pun th {
    border: 1px solid var(--border-color);
    padding: 8px;
    text-align: left;
}

.pun tr:nth-child(odd) {
    background-color: #2b2b2b;
}

.pun tr:nth-child(even) {
    background-color: #313131;
}

.pun .tcl {
	border-left: 0;
	width: auto;
}

.pun .tc2, .pun .tc3, .pun .tcmod {
	width: 10%;
	text-align: center;
	padding: 4px 0;
}

.pun .tcr {
	width: 30%;
}

.pun .tcl h3 {
	font-size: 1.091em;
	font-weight: bold;
}

.pun .tcl h3 span.newtext {
	font-size: 0.917em;
}

.pun .tcl span.newtext, .pun .tcl span.pagestext {
	white-space: nowrap;
	font-weight: normal;
}

.pun td span.byuser {
	white-space: nowrap;
}

.pun .tcl p {
	padding: 5px 0 0 0;
}

#punsearch #vf .tc2 {
	width: 18%;
	text-align: left;
	padding: 4px 6px;
}

#users1 .tcr {
	width: 25%;
}

#users1 .tc2 {
	width: 25%;
	text-align: left;
	padding: 4px 6px;
}

#debug .tcl {
	width: 10%;
}

#debug .tcr {
	width: 90%;
	white-space: normal;
}

#punindex .tcr .byuser {
	display: block;
}

.pun .blocktable .tclcon {
	padding: 0 11px 0 12px;
	overflow: hidden;
	min-height: 1px;
	position: relative;
}

.pun .blocktable .tclcon div {
	width: 100%;
	overflow: hidden;
}

.pun .icon {
	margin: 0.1em 0 0 0.2em;
	border-width: 0.6em;
	border-style: solid;
	height: 0;
	width: 0;
	overflow: hidden;
	float: left;
}

.pun .icon div {
	position: absolute;
	left: -9999em;
	text-indent: -9999em;
	height: 0;
}

.pun .iposted .ipost {
	position: absolute;
	left: 0;
	font-weight: bold;
	width: 8px;
	padding-left: 4px;
	text-align: center;
	top: 0;
}

/*****************************************************************
6. MAIN FORMS
*****************************************************************/

.pun .blockform form, .pun .fakeform {
	PADDING: 20px 20px 15px 20px;
}

.pun .forminfo {
	margin-bottom: 12px;
	padding: 9px 10px;
	border-style: solid;
	border-width: 1px;
}

.pun .forminfo h3 {
	font-weight: bold;
}

.pun .inform {
	padding-bottom: 12px;
	background-color: #333;  
    color: #fff;            
    padding: 12px;          
    border-radius: 8px;     
    box-shadow: 0 2px 4px rgba(0,0,0,0.5);  
}

.pun fieldset {
	padding: 0px 12px 0px 12px;
	border-style: solid;
	border-width: 1px;
}

.pun legend {
	padding: 0px 6px;
}

.pun .infldset {
	padding: 9px 0px 12px 0;
}

.pun label {
	display: block;
	padding: 3px 0;
}

.pun label.conl {
	float: left;
	overflow: visible;
	margin-right: 10px;
}

.pun fieldset .rbox br {
	display: none;
}

.pun fieldset .rbox label {
	padding: 3px 0 3px 25px;
	position: relative;
	vertical-align: middle;
}

.pun fieldset .rbox input {
	margin: 0 9px 0 -25px;
	padding: 0;
	width: 16px;
	position: relative;
	vertical-align: middle;
}

.pun .txtarea {
	width: 75%;
}

.pun .txtarea textarea, .pun input.longinput {
	width: 100%;
}

.pun .bblinks {
	padding-bottom: 10px;
	padding-left: 4px;
}

.pun .bblinks li {
	display: inline;
	padding-right: 20px;
}

.pun .blockform .buttons {
	padding-left: 12px;
}

.pun .blockform .buttons input {
	margin-right: 8px;
}

#posterror ul {
	list-style: square;
	padding: 3px 0 3px 24px;
}

.pun .deletemsg {
	border-style: solid;
	border-width: 1px;
	padding: 6px 15px;
}

.pun p.actions span {
	margin-right: 12px;
}

.pun .multiselect {
	float: left;
	padding-bottom: 7px;
}

.pun .checklist {
	border-width: 1px;
	border-style: solid;
	max-height: 9em;
	width: 20em;
	overflow: auto;
	padding: 0.3em 0.5em;
	margin: 0.25em 16px 0 0.15em;
}

.pun .checklist fieldset {
	border: 0;
	padding: 0;
}

.pun .checklist legend {
	padding: 0;
}

.pun .checklist legend span {
	width: auto;
	max-width: 25em;
}

/*****************************************************************
7. PROFILES AND ADMIN
*****************************************************************/

.pun .block2col {
	padding-bottom: 1px;
}

.pun .block2col .blockform, .pun .block2col .block {
	margin-left: 14em;
}

.pun .blockmenu {
	float: left;
	width: 13em;
}

.pun .blockmenu li {
	padding: 3px 0;
	font-weight: bold;
}

.pun .blockmenu a:link, .pun .blockmenu a:visited {
	text-decoration: none;
}

.pun .blockmenu a:hover, .pun .blockmenu a:active {
	text-decoration: underline;
}

#viewprofile dl {
	float: left;
	width: 100%;
	overflow: hidden;
}

#viewprofile dd {
	margin-left: 14em;
	padding: 3px;
}

#viewprofile dt {
	float: left;
	width: 13em;
	margin: 3px 0;
}

#profileavatar img {
	float: right;
	margin-left: 1em;
}

#adintro ul {
	list-style-type: disc;
	margin-left: 8px;
	padding-left: 16px;
}

/*****************************************************************
8. MAIN POSTS
*****************************************************************/

.pun .blockpost h2 a:link, .pun .blockpost h2 a:visited {
	text-decoration: none;
}

.pun .blockpost h2 a:hover, .pun .blockpost h2 a:active {
	text-decoration: underline;
}

.pun .blockpost h2 .conr {
	float: right;
	text-align: right;
}

#punsearch .blockpost h2 span {
	white-space: nowrap;
}

.pun .blockpost .box {
	overflow: hidden;
}

.pun .postleft, .pun .postfootleft {
	float: left;
	width: 18em;
	position: relative;
	overflow: hidden;
}

.pun .postleft dl {
	padding: 6px;
}

.pun .postleft .gender {
	padding-left: 20px;
}

.pun .postleft .male {
	background: url('../img/icons/gender_male.png') left center no-repeat;
}

.pun .postleft .female {
	background: url('../img/icons/gender_female.png') left center no-repeat;
}

.pun .postleft .usercontacts, .pun .postleft .icon {
	margin-top: 6px;
}

.pun .postleft .postavatar, .pun .postleft .usertitle {
	margin-bottom: 6px;
	display: block;
}

.pun .blockpost dt {
	font-size: 1.091em;
	font-weight: bold;
}

.pun .blockpost dt a:link, .pun .blockpost dt a:visited {
	text-decoration: none;
}

.pun .blockpost dt a:hover, .pun .blockpost dt a:active {
	text-decoration: underline;
}

.pun .postright, .pun .postfootright {
	border-left-width: 18em;
	border-left-style: solid;
}

#postpreview .postright {
	border-left: 0;
}

.pun .postright {
	padding: 0 6px;
}

.pun .postfootright, .pun .multidelete {
	text-align: right;
}

.pun .postmsg {
	width: 98%;
	overflow: hidden;
	padding-bottom: 6px;
	word-wrap: break-word;
}

.pun .postfootright ul, .pun .postfootright div, .pun .postfootright p,
.pun .postfootleft p {
	padding: 10px 6px 5px 6px;
}

.pun .postfootright li {
	display: inline;
}

.pun .postfootright li:before {
	content: " | ";
}

.pun .postfootright li:first-child:before {
	content: "";
}

.pun .postfootright a:link, .pun .postfootright a:visited {
	text-decoration: none;
}

.pun .postfootright a:hover, .pun .postfootright a:active {
	text-decoration: underline;
}

.pun .codebox {
    background-color: #383838;
    border: 1px solid var(--border-color);
	border-style: solid;
	border-width: 1px;
	margin: 0.75em 1em;
	padding: 10px;
    overflow-x: auto;
}

.pun .quotebox {
	border-style: solid;
	border-width: 1px;
    border-left: 3px solid var(--accent-color);
    background-color: #424242;
	margin: 0.75em 1em;
	padding: 0 0.75em;
}

.pun .quotebox cite {
	display: block;
	padding: 0.75em 0 0 0;
}

.pun .quotebox blockquote {
	width: 100%;
	overflow: hidden;
}

.pun .codebox pre {
	overflow: auto;
	width: 100%;
	overflow-y: hidden;
}

* html .pun .codebox pre {
	padding-bottom: 10px;
}

*+html .pun .codebox pre {
	padding-bottom: 10px;
}

.pun .codebox pre code {
	display: block;
	padding: 0.75em;
}

.pun .codebox pre.vscroll {
	height: 32em;
	overflow: auto;
	overflow-y: auto;
}

.pun .postmsg img {
	vertical-align: text-bottom;
}

.pun .postsignature hr {
	margin-left: 0px;
	width: 200px;
	text-align: left;
	height: 1px;
	border: none;
}

.pun .postmsg .postimg img {
	max-width: 98%;
	vertical-align: middle;
	margin: 7px 0.5em 7px 0;
}

.pun .postmsg .postimg a:link img, .pun .postmsg .postimg a:visited img {
	border-style: solid;
	border-width: 2px;
}

.pun .blockpost label {
	padding: 3px 6px;
	border-style: solid;
	border-width: 1px;
	vertical-align: middle;
	display: inline-block;
}

.pun .blockpost label * {
	vertical-align: middle;
	margin: 0;
	padding: 0;
}

/****************************************************************/
/* 9. HELP FILES AND MISC. */
/****************************************************************/

#punhelp h2 {
	margin-top: 12px;
}

#punhelp div.box {
	padding: 10px;
}

#debugtime {
	margin-top: -12px;
	text-align: center;
}

#brdwelcome, #brdfooter dl a, div.blockmenu li, div.rbox input {
	line-height: 1.4em;
}

#announce div.inbox div {
	padding: 3px 0;
}

/*****************************************************************
COLOUR SCHEME
*****************************************************************/

/* Background / Text
----------------------------------------------------------------*/

body {
	background: #2a2a2a;
	color: #d4d4d4;
    background-image: linear-gradient(to bottom, rgba(255,255,255,0.03) 1px, transparent 1px),
                      linear-gradient(to right, rgba(255,255,255,0.03) 1px, transparent 1px);
    background-size: 20px 20px;
	text-rendering: optimizeLegibility;
    font-kerning: normal;
    font-feature-settings: "liga" 1, "kern" 1;
}

.pun {
	color: #d4d4d4;
}

.pun .box, #adminconsole fieldset th {
	background-color: #383838;
}

.pun-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 16px;
}

.pun td.tc2, .pun td.tc3, .pun td.tcmod, #postpreview, #viewprofile dd, .pun .forminfo,
#brdfooter #modcontrols, #adminconsole fieldset td, .pun .blockmenu .box, #adstats dd {
	background-color: #424242;
}

.pun h2, #brdmenu {
	background-color: #565656;
	color: #d4d4d4;
}

.pun th {
	background-color: #484848;
}

.pun legend {
	color: #f6b620;
}

.pun .blockmenu li.isactive a, #posterror li strong {
	color: #d4d4d4;
}

.pun .usercontent * {
	background: transparent;
	color: #d4d4d4;
}

.pun a, .pun input[type="submit"], .pun input[type="button"] {
    transition: background-color 0.3s ease, color 0.3s ease;
	border-radius: 4px;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
}

.pun input[type="submit"], .pun input[type="button"] {
    background-color: var(--accent-color);
    color: black;
    border: none;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
}

.pun input[type="submit"]:hover, .pun input[type="button"]:hover {
    background-color: #f2a007; 
}

.pun input, .pun select, .pun textarea {
    background-color: #383838;
    color: #ffffff;
    border: 1px solid var(--border-color);
    padding: 8px;
    border-radius: 4px;
	transition: border-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}
.pun input:focus, .pun select:focus, .pun textarea:focus {
    border-color: var(--accent-color);
    outline: none;
    box-shadow: 0 0 4px rgba(246, 182, 32, 0.8);
}


.pun .multiselect, .pun .checklist {
	color: #D4D4D4;
}

.pun .checklist {
	border-color: #666;
}

/* Posts
----------------------------------------------------------------*/

.pun .blockpost .box, .pun .postright, .pun .postfootright, .pun .deletemsg {
	background-color: #383838;
}

.pun .postright, .pun .postfootright {
	border-left-color: #424242;
}

.pun .postleft, .pun .postfootleft, .pun .blockpost label, .pun .codebox, .pun .quotebox {
	background-color: #424242;
}

.pun .blockpost h2 {
	background-color: #565656;
}

.pun .blockpost h2 span.conr {
	color: #a19e96;
}

.pun .postmsg ins, #punhelp samp ins {
	background-color: #ff0;
}

.pun hr {
	background-color: #606060;
	color: #606060;
}

/* Borders
----------------------------------------------------------------*/

.pun .box {
	border-color: #565656;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    border-radius: 8px;
}

.pun td, #brdfooter #modcontrols {
	border-color: #565656;
}

.pun th {
	border-color: #484848;
}

.pun fieldset {
	border-color: #565656;
}

#adminconsole td, #adminconsole th {
	border-color: #383838;
}

.pun .quotebox, .pun .codebox, .pun .forminfo,
.pun .blockpost label, .pun .deletemsg {
	border-color: #565656;
}

/* Links
----------------------------------------------------------------*/

.pun a:link, .pun a:visited {
    color: var(--accent-color);
}

.pun a:hover, .pun a:active {
    color: var(--link-hover-color);
}
.pun a:hover, .pun a:active, .pun a:focus {
	color: #ffee40;
}

.pun .postmsg .postimg a:link img, .pun .postmsg .postimg a:visited img {
	border-color: #f6b620;
}

.pun .postmsg .postimg a:hover img, .pun .postmsg .postimg a:active img, .pun .postmsg .postimg a:focus img {
	border-color: #ffee40;
}

.pun h2 a:link, .pun h2 a:visited,
#brdmenu a:link, #brdmenu a:visited {
	color: #d4d4d4;
}

.pun h2 a:hover, .pun h2 a:active,
#brdmenu a:hover, #brdmenu a:active {
	color: #d4d4d4;
}

.pun .postreport a:link, .pun .postreport a:visited,
.pun .iclosed td.tcl a:link, .pun .iclosed td.tcl a:visited {
	color: #888;
}

.pun .postreport a:hover, .pun .postreport a:active,
.pun .iclosed td.tcl a:hover, .pun .iclosed td.tcl a:active {
	color: #aaa;
}

.pun .maintenancelink a:link, .pun .maintenancelink a:visited {
	color: #ff4000;
}

.pun .maintenancelink a:hover, .pun .maintenancelink a:active {
	color: #ff5010;
}

/* Status Indicators
----------------------------------------------------------------*/

.pun .icon {
	border-color: #484848 #404040 #3c3c3c #444444;
}

.pun .iredirect .icon {
	border-color: #383838 #383838 #383838 #383838;
}

.pun .inew .icon {
	border-color: #f6b620 #ecae1f #d09a1b #e1a61d;
}

/* ---------- BBCODE TOOLBAR ------------- */
#bbcode_bar {
	padding-top: 4px;
	display: block;
}
#bbcode_bar #bbcodewrapper {
	padding: 0 2em 0 0;
	position: relative;
	overflow: hidden;
}
#bbcode_bar img {
	border: 0;
	padding: 0 2px;
}
#bbcode_bar #bbcodebuttons {
	float: left;
}
#bbcode_bar #bbcodesmilies {
	float: right;
}

#bbcode_bar #bbcode_color_map, #bbcode_bar #bbcode_smileys {
	display: none;
	border: 1px solid black;
	position: absolute;
	width: 220px;
	height: 150px;
	overflow: auto;
	padding: 4px;
	font-size: 11px;
	background: #383838;
}

#bbcode_bar #bbcode_color_map .tbl tr {
	height: 10px;
}

#bbcode_bar #bbcode_color_map .tbl td {
	width: 10px;
	cursor: crosshair;
	margin: 0;
	padding: 0;
}

/* -- Collapse -- */
#punindex #brdmain .blocktable .conr {
	float: right;
	text-align: right;
}

/* ---------- Moderator's warnings ---------------------------- */
.pun .postwarn {
	border-style: solid;
	border-width: 0 0 0 3px;
	border-color: #e99;
	margin: 0.75em 1em 0em 2em;
	padding: 0 0.75em;
}
.pun .postwarn cite {
	font-weight: bold;
}

.pun .postwarn:before {
	content: "M";
	position: absolute;
	margin-left: -2em;
	font-size: 150%;
	font-weight: bold;
	color: #e99;
}

/* Poll
----------------------------------------------------------------*/
.pun .poll {
	margin-top: 2em;
	padding: 1em;
	background-color: #2A2A2A;
	border: 1px solid #424242;
}

.poll legend {
	font-weight: normal;
}

.poll p {
	font-weight: bold;
}

.pun .poll ol {
	list-style: none outside none;
	padding: 0px;
}

.pun .poll li {
	font-weight: normal;
	padding: .5em 1em .5em 0;
}

.pun .poll label {
	padding: 0px;
}

.poll .percent {
	font-size: 0.8em;
	margin-left: 10px;
}

.poll .progressbar {
	height: 10px;
	border: 1px solid #565656;
	width: 60%;
}

.poll .progressbar span {
	background-color: #565656;
	width: 100%;
	height: 10px;
	display: block;
	font-size: 0;
	overflow: hidden;
}

.poll .progressbar span span {
	display: none;
}

.poll .total {
	color: #b7b7b7;
	margin-top: .5em;
	font-style: italic;
}

.poll .poss {
	color: #b7b7b7;
	font-style: italic;
}

.pun .poll_mess {
	font-style: italic;
	text-align: center;
	text-shadow: 2px 2px 2px #b7b7b7;
}

.pun .pollbut {
	font-size: 0.8em;
	padding: 7px 0 0 30px;
}

.pun .pollbut input {
	margin-right: 12px;
}

/* Search HL
----------------------------------------------------------------*/
span.shlight {
	font-weight: bold;
	background-color: #F3BFCC;
	color: #BC2A4D;
}

/*--------------*/
.pun textarea {
	resize: vertical;
}

/* Адаптивная верстка
----------------------------------------------------------------*/
#brdmenu-button {
	display: none;
}

/* emoji-autocomplete
----------------------------------------------------------------*/
#sva-autocomplete-div {
	position: absolute;
	border: 1px solid #565656;
	display: block;
	background-color: #2a2a2a;
	z-index: 9999;
}

#sva-autocomplete-ul {
	list-style: none;
	padding: 0;
	margin: 0;
	max-height: 300px;
	overflow-y: auto;
	overflow-x: hidden;
	white-space: nowrap;
}

#sva-autocomplete-ul > li {
	display: flex;
	align-items: center;
	cursor: pointer;
	padding: 2px 4px;
}

#sva-autocomplete-ul > li > i {
	font-weight: normal;
	font-style: normal;
}

#sva-autocomplete-ul > li > span {
	font-size: 2em;
	margin-right: 4px;
}

#sva-autocomplete-ul .sva-autocomplete-ali {
	background-color: #383838;
}

@media (max-width: var(--breakpoint-mobile)) {
    .pun {
        padding: 5px;
        font-size: 14px;
    }
    .pun .postmsg {
        padding: 5px;
    }
}
@media only screen and (max-width: 600px) {
    .pun .postmsg {
        padding: 5px; 
        font-size: 14px; 
        word-wrap: break-word; 
    }

    .pun {
        max-width: 100%; 
        padding: 5px; 
    }
    .pun .postleft, .pun .postright {
        float: none;
        width: auto;
    }
	
	.pun .postmsg img {
        max-width: 100%;
        height: auto;
    }
	 body {
        font-size: 16px; 
    }
    .pun input[type="submit"], .pun input[type="button"] {
        padding: 8px 15px; 
    }
}

.chatbox img {
    max-width: 500px;
    max-height: 30px;
}
.ascii-art {
    font-family: monospace;
    white-space: pre;
}