/**************************************************************
* GENERAL
* design by Tane4ka
* design template by max, the murderer!
* mod by Shikamaru
* only for vibes.rusff.me
**************************************************************/

@charset "windows-1251";
@import url('style_cs.1770396220.css');

/* Import
-------------------------------------------------------------*/

/* Font Awesome */
@import url('https://kit-pro.fontawesome.com/releases/v6.6.0/css/pro.min.css');

/* Design Fonts */
@import url('https://fonts.googleapis.com/css2?family=Rubik+Mono+One&display=swap');
@font-face {
	font-family: 'Farabee';
	src: local("Farabee"), url('/files/000f/3b/37/91125.ttf') format('truetype');
	font-style: normal;
}

@font-face {
	font-family: 'a_ConceptoTitulOtl';
	src: url('/files/000f/3b/37/46986.woff2') format('woff2'),
       url('/files/000f/3b/37/81998.woff') format('woff'),
		 url ('/files/000f/3b/37/70904.ttf') format('truetype'),
		 url('/files/000f/3b/37/17131.svg#a_conceptotitulotl') format('svg');
}

/* Variables */
:root, .default {
	--punWidth: 1000px;
	
	--main-bg-color: 0.3412 0.0301 276.88; /* #343748 */
	--main-bg: oklch(var(--main-bg-color));
	--punbb-bg: rgb(var(--light100));

	--dark900: 12 12 12;
	--dark900c: 12 12 12;
	--light100c: 230 230 230;
	--light100: 230 230 230;
	--text900: 25 25 25;
	--primary400: 124 109 148;
	--secondary400: 190 184 199;
	--success: 52 199 89;
	--warning: 255 204 0;
	--danger: 236 34 31;

	--font: verdana, tahoma, arial, helvetica, sans-serif;
	--fa: 'Font Awesome 6 Pro';
	--font-farabee: 'Farabee', verdana, tahoma, arial, helvetica, sans-serif;
	--font-h: 'a_ConceptoTitulOtl', verdana, tahoma, arial, helvetica, sans-serif;

	--profileWidth: calc(180px + calc(var(--16) * 2));
	--coeffMobile: calc(2vw + 0.5vh);
	--80: calc(var(--16) * 5);
	--64: calc(var(--16) * 4);
	--48: calc(var(--16) * 3);
	--32: calc(var(--16) * 2);
	--24: calc(var(--16) * 1.5);
	--20: calc(var(--16) * 1.25);
	--16: 16px;
	--12: calc(var(--16) / 1.33);
	--8: calc(var(--16) / 2);
	--6: calc(var(--16) / 2.66);
	--4: calc(var(--16) / 4);
	--2: calc(var(--16) / 8);
}

.light {
	--main-bg-color: 0.9479 0.0182 70.24; /* f6ece1 */
	--main-bg: url('/files/000f/3b/37/84136.webp') no-repeat top left fixed, url('/files/000f/3b/37/21743.webp') no-repeat top right fixed, oklch(var(--main-bg-color));
	--punbb-bg-color: 0.8503 0.0227 74.07; /* d7ccbe */
	--punbb-bg: linear-gradient(180deg, oklch(var(--main-bg-color)) 10%, oklch(var(--punbb-bg-color)) 20%);

	--first-color: 0.1935 0.0686 10.58; /* 2c030d */
	--second-color: 0.6985 0.0282 172.48; /* 8da49c */
	--theme-switcher-color: 0.5329 0.028 46.86; /* 7b685f */
	
	--head-bg: url('/files/000f/3b/37/10854.webp') no-repeat center;
	
	--pun-status-color: 0.5346 0.0151 130.92; /* 6a6f66 */

	--main-nav-font: var(--font-farabee);
	--second-nav-font: var(--font-farabee);
}

.dark {
	--light100c: 190 190 190;
	--dark900: 190 190 190;
	--text900: 190 190 190;
	--light100: 29 26 22;
	--secondary400: 76 73 80;
	--success: 77 137 92;
	--warning: 181 158 64;
	--danger: 162 64 63;
}


/* General
-------------------------------------------------------------*/

* {
	margin: 0;
	padding: 0;
	border: none;
	outline: none;
	box-sizing: border-box;
}

html {
	padding: 0 0 var(--32);
	font: normal 75%/140% verdana, tahoma, arial, helvetica, sans-serif;
	color: oklch(var(--first-color));
	background: var(--main-bg);
	position: relative;
	-webkit-font-smoothing:antialiased;
}

#pun {
	width: var(--punWidth);
	margin: 0 auto;
}

.punbb {
	padding: var(--16) var(--32);
	background: var(--punbb-bg);
	position: relative;
	/*backdrop-filter: blur(50px);
	-webkit-backdrop-filter: blur(50px);*/
}

.punbb .container {
	padding: 1.4em 0;
}

.punbb .container::after,
#viewprofile-next::after,
.post-body::after,
.linkst::after {
	clear: both;
	content: '';
	display: block;
	visibility: hidden;
}

.fs-box {
	padding: var(--8) 0;
}

.hashelp {
	position: relative;
}


/* Announcement */
#pun-announcement{
	display: block;
	position: relative;
	z-index: 1;
	width: calc(100% + (var(--32) * 2));
	margin-left: calc(var(--32) * -1);
	margin-top: var(--6);
	box-sizing: border-box;
	height: 400px;
	border-bottom: var(--6) solid oklch(var(--main-bg-color));
	background: var(--head-bg);
}

#pun-announcement .container {
	padding: 0;
}


/* Footer */

#html-footer .container {
	padding: 0;
}

#pun-about .container {
	text-align: center;
	padding-top: 0;
	margin-top: calc(var(--8) * -1);
	font-weight: 700;
}


/* Crumbs */

#pun-crumbs1 .container,
#pun-crumbs2 .container {
	text-align: center;
}

#pun-crumbs1 .container a,
#pun-crumbs2 .container a {
	font-weight: bold;
}

#pun-crumbs1 .container em,
#pun-crumbs2 .container em {
	font-weight: 700;
	font-style: normal;
}

#pun-crumbs1 .container em:first-of-type,
#pun-crumbs2 .container em:first-of-type {
	display: none;
}
#pun-crumbs1 .container em:first-of-type + span::before,
#pun-crumbs2 .container em:first-of-type + span::before,
#pun-crumbs1 .container em:first-of-type + a::before,
#pun-crumbs2 .container em:first-of-type + a::before {
	display: inline;
	content: '\221A';
}

/* Pun status */
#pun-status {
	color: oklch(var(--pun-status-color));
}


/* Links */

a,
body #pun-admain a,
body #pun #pun-adnav ul.adsubnav a {
	text-decoration: none;
	color: oklch(var(--second-color));
}

a:hover,
a:focus,
body #pun-admain a:hover,
body #pun-admain a:focus,
body #pun #pun-adnav ul.adsubnav a:hover,
body #pun #pun-adnav ul.adsubnav a:focus {
	text-decoration: none;
	color: rgb(var(--text900));
}


/* Headlines */

h1,
h2 {
	padding: var(--8) 0;
	position: relative;
	text-align: center;
}

h1 span,
h2 span {
	display: inline-block;
	font: 2.5rem/100% var(--font-h);
	text-transform: uppercase;
	color: oklch(var(--main-bg-color));
	background: oklch(var(--punbb-bg-color));
	padding: 0 .4rem;
	position: relative;
	z-index: 1;
}

#pun-index h2,
#pun-messages h2 {
	text-align: right;
}

h1, #pun-index h2,
#pun-messages h2 {
	width: calc(100% + (var(--32) * 2));
	margin-left: calc(var(--32) * -1);
}

h1::before,
#pun-index h2::before,
#pun-messages h2::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	height: var(--6);
	background: oklch(var(--main-bg-color));
	z-index: 0;
}

.punbb legend span {
	font-weight: 700;
}


/* Tables */

table {
	width: 100%;
	border-spacing: 0;
}

td,
th {
	padding: var(--12) var(--16);
}

/* Rusff reputation fix */

.tipsy-inner #respect td {
	padding: var(--4);
}

th {
	font-weight: 700;
	font-size: 0.9rem;
	text-align: left;
	padding: var(--4) var(--16);
}

.punbb:not(#pun-index, #pun-mod, #pun-online, .punbb-admin) .tcl {
	width: 40%;
}

.punbb:not(#pun-index, #pun-mod, .punbb-admin) .tc2 {
	width: 10%;
}

.punbb:not(#pun-index, #pun-mod, .punbb-admin) .tc3 {
	width: 10%;
}

.punbb:not(#pun-index, #pun-mod, .punbb-admin) .tcr {
	width: 40%;
}

.punbb#pun-searchtopics td.tc2,
.punbb#pun-searchtopics th.tc2 {
	width: 15%;
}

.punbb#pun-searchtopics td.tc3,
.punbb#pun-searchtopics th.tc3 {
	width: 5%;
}


/* Inputs */

.inputfield label,
.selectfield label {
	font-size: 0.9rem;
	display: inline-block;
	font-weight: 700;
}

.inline .inputfield,
.inline .selectfield {
	display: inline-block;
}

.punbb .fs-box p,
.punbb .fs-box fieldset {
	padding: 0 0 var(--8) 0;
}

input,
textarea,
#pun #sTheme {
	padding: var(--8) var(--16);
	box-sizing: border-box;
	background: rgb(var(--secondary400) / .2);
	border-radius: 1rem;
	color: rgb(var(--text900));
	font: normal 1rem/130% verdana, tahoma, arial, helvetica, sans-serif;
	border: none;
	margin: 0 var(--4) var(--4) 0 !important;
	max-width: 100%;
}

select {
	background: rgb(var(--secondary400) / .2);
	color: rgb(var(--text900));
	font-family: verdana, tahoma, arial, helvetica, sans-serif;
	padding: var(--4) var(--8);
	margin: 0 var(--4) var(--4) 0 !important;
	border-radius: 1rem;
	max-width: 100%;
}

select option {
	background: rgb(var(--light100));
}

input:hover,
textarea:hover, 
#pun #sTheme:hover,
select:hover,
#pun #wysi-reply:hover,
.button[name="preview"]:hover {
	background: rgb(var(--secondary400) / .38);
	color: rgb(var(--text900));
}

select:hover {
	cursor: pointer;
}

::placeholder {
	color: rgb(var(--text900) / .38);
	opacity: 1; /* Firefox */
}


/* Checkboxes & Radionuttons */

input[type="checkbox"],
input[type="radio"] {
	-webkit-appearance: none;
	appearance: none;
	width: var(--16);
	height: var(--16);
	min-width: var(--16);
	min-height: var(--16);
	margin: 0 var(--2) var(--4) 0;
	border-radius: var(--4);
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
	padding: 0;
}

input[type="radio"] {
	border-radius: var(--8);
}

input[type="checkbox"]:hover,
input[type="radio"]:hover {
	cursor: pointer;
	background: rgb(var(--secondary400) / .6);
}

input[type="checkbox"]:checked {
	background: rgb(var(--primary400));
}

input[type="radio"]:checked:hover {
	cursor: default;
}

input[type="radio"]:checked {
	background: transparent;
	box-shadow: inset 0 0 0 2px rgb(var(--primary400));
}

input[type="radio"]:checked::before {
	content: '\f111';
	font: 900 var(--8)/100% var(--fa);
	color: rgb(var(--primary400));
}

input[type="checkbox"]:checked::before {
	content: '\f00c';
	font: 900 var(--8)/100% var(--fa);
	color: rgb(var(--light100));
}

input[type="checkbox"]:checked:hover {
	background: rgb(var(--text900));
}

p[class="checkfield"] *,
div[class="checkfield"] *,
fieldset[class="radiofield"] * {
	line-height: 100%;
	vertical-align: middle;
}

.radio label,
.checkfield label {
	padding: 0 var(--8) 0 var(--4);
}

.checkfield label {
	line-height: 120%;
}

.radio *:hover,
.checkfield *:hover {
	cursor: pointer;
}


/* Buttons */

button,
.button,
input[type="button"],
input[type="submit"] {
	border-radius: var(--br400);
	background: rgb(var(--primary400));
	color: rgb(var(--light100));
	margin: var(--4) !important;
	font: 700 1em/100% var(--font);
	text-transform: uppercase;
}

button[disabled],
.button[disabled],
input[disabled] {
	background: rgb(var(--text900) / .12);
	color: rgb(var(--text900) / .388);
}

.button[name="preview"] {
	background: rgb(var(--secondary400) / .38);
	color: rgb(var(--text900));
}

.formsubmit input, 
.formsubmit a,
.formsubmit span {
	margin: 0 var(--8) 0 0;
}

button:hover,
.button:hover,
input[type="button"]:hover,
input[type="submit"]:hover {
	background: rgb(var(--dark900));
	color: rgb(var(--light100));
	cursor: pointer;
}

button[disabled]:hover,
.button[disabled]:hover,
input[disabled]:hover {
	background: rgb(var(--text900) / .12) !important;
	color: rgb(var(--text900) / .388) !important;
	cursor: not-allowed;
}

.punbb #isk {
	border-radius: 1rem;
	border: none;
	background: rgb(var(--secondary400) / .38);
	color: rgb(var(--text900));
	margin-left: var(--4);
	position: relative;
	padding: 0.5px;
}

.punbb #isk::before {
	content: '\f002';
	font: 400 1rem/100% var(--fa);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
}


/* Hide elements
-------------------------------------------------------------*/

.punbb:not(.punbb-admin) #pun-title,
#pun-title .title-logo-tdl,
#pun-navlinks h2,
#pun-ulinks h2,
#pun-status h2,
#pun-index h1,
#pun-announcement h2,
.punbb :not(#pun-statistic) #pun-main h1,
#pun-crumbs1 .container strong,
#pun-crumbs2 .container strong,
#pun-index thead,
#pun-status .item4,
.acchide,
#pun-userlist h1,
#pun-userlist h2,
#pun-profile h2,
#pun-viewtopic h2,
#post fieldset legend > span,
.sharelink,
#formkey,
#formetc,
#pun-searchposts h1,
#pun-searchposts h2,
#pun-searchtopics h1,
#pun-searchtopics h2,
#pun-modviewforum h1,
#pun-modviewforum h2,
#pun-viewforum h1,
#pun-viewforum h2,
.punbb .submitfield label,
.pa-gifts,
.stickytext,
.closedatafield,
.gid5 #navprofile,
.post-sig dt,
#pun-navlinks #navawards,
#pun-navlinks #navrules,
.modlist,
#pun-ulinks #h-replies,
#pun-ulinks #h-unanswered,
.pl-email.email,
.catleft,
.catright,
#pun-premoderation .pa-title,
#pun-premoderation .pa-ua,
#pun-premoderation .pa-posts,
#pun-premoderation .pa-respect,
#pun-premoderation li[class^="pa-fld"],
#pun-premoderation h2,
#pun-viewtopic .linksb .postlink,
.pa-respect img
{
	display: none;
}

.tclcon:has(.modlist) > br:last-of-type {
	display: none;
}

/* Navigation
-------------------------------------------------------------*/


/* Navlinks */

#pun-navlinks {
	background: oklch(var(--main-bg-color));
	z-index: 9;
	position: sticky;
	top: 0;
	margin: 0 calc(var(--32) * -1) var(--8);
}

#pun-navlinks .container {
	position: relative;
	padding: 0;
	text-align: center;
}

#pun-navlinks li {
	list-style: none;
	display: inline-block;
}

#pun-navlinks li a {
	display: inline-block;
	font: 1.3rem/100% var(--main-nav-font);
	text-transform: uppercase;
	padding: var(--8) var(--4);
	color: oklch(var(--first-color));
}

#pun-navlinks li a:hover {
	color: rgb(var(--primary400));	
	cursor: pointer;
}

#pun-navlinks li.isactive a, #pun-navlinks li.isactive a:link, #pun-navlinks li.isactive a:visited {
	color: oklch(var(--second-color));
}
#pun-navlinks li.isactive a::before, #pun-navlinks li.isactive a:link::before, #pun-navlinks li.isactive a:visited::before {
	content: '\221A';
}

/* Ulinks */

#pun-ulinks {
	z-index: 8;
	margin: 0 calc(var(--32) * -1);
	position: sticky;
	top: var(--32);
	background: oklch(var(--punbb-bg-color));
}

div:not(.punbb-admin) > #pun-ulinks::before,
div:not(.punbb-admin) > #pun-ulinks::after,
#pun-index::before,
#pun-index::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	width: var(--6);
	background: transparent;
	border-left: 1px solid oklch(var(--main-bg-color));
	border-right: 1px solid oklch(var(--main-bg-color));
	pointer-events: none;
	z-index: 0;
}
div:not(.punbb-admin) > #pun-ulinks::before, #pun-index::before { left: 1rem; transform: translateX(0); }
div:not(.punbb-admin) > #pun-ulinks::after, #pun-index::after  { right: 1rem; transform: translateX(0); }

#pun-ulinks .container {
	padding: 0;
	text-align: center;
}

#pun-ulinks li {
	list-style: none;
	display: inline-block;
}

#pun-ulinks li a {
	display: inline-block;
	font: 1.3rem/100% var(--second-nav-font);
	text-transform: lowercase;
	padding: var(--8) var(--4);
	color: oklch(var(--first-color));
}

#pun-ulinks li a:hover {
	color: rgb(var(--primary400));	
}


/* Index
-------------------------------------------------------------*/


/* Categories & forums */

#pun-index .category .container {
	padding-top: 0;
}

#pun-index .category tbody {
	display: flex;
	flex-direction: column;
	border-radius: 2rem;
	padding: 0 var(--32);
}

#pun-index .category tr {
	display: flex;
	flex-direction: row;
	gap: var(--16);
	align-items: center;
	box-sizing: border-box;
	position: relative;
	padding: var(--32) 0;
}

#pun-index .category tr:not(:last-child) {
	border-bottom: 1px solid rgb(var(--text900) / .12);
}

#pun-index .category tr td {
	padding: 0;
}

#pun-index .category .tcl {
	width: 70%;
}

#pun-index .category .tclcon {
	display: flex;
	flex-direction: column;
	gap: var(--8);
}

#pun-index .category tr .desc {
	font-size: 0.9rem;
	line-height: 130%;
	color: rgb(var(--text900) / .6);
}

#pun-index .category tr .tc2,
#pun-index .category tr .tc3 {
	display: none;
}

#pun-index .category tr h3 a {
	font: 900 1.4em/130% var(--font);
	display: inline-block;
	text-transform: uppercase;
}

#pun-index .category tr .tcr {
	width: 50%;
	display: flex;
	align-items: center;
	gap: var(--12);
}

#pun-index .category tr .tcr .lastpost-link {
	display: block;
	text-transform: uppercase;
	font: 700 1em/120% var(--font);
	margin-bottom: var(--4);
}

#pun-index .category tr .tcr .lastpost-link ~ br {
	display: none;
}

#pun .user-avatar {
	flex-shrink: 0;
}


/* Subforums */

#pun-index .subforums,
#subforums {
	background: rgb(var(--secondary400) / .38);
	border-radius: 1rem;
	padding: var(--4) var(--16);
	text-align: center;
	font: 700 1em/130% var(--font);
	text-transform: lowercase;
}

#subforums {
	margin: var(--8) 0;
}


/* Statistics */

#pun-stats .container {
	padding: 0;
	list-style: none;
	display: flex;
	gap: var(--16);
	flex-direction: column;
	padding: var(--32);
	background: rgb(var(--secondary400) / .2);
	border-radius: 2rem;
}

#pun-stats .container::after {
	display: none;
}

#pun-stats .statsinfo {
	display: flex;
	gap: var(--16);
	padding-bottom: var(--16);
	border-bottom: 1px solid rgb(var(--text900) / .12);
}

#pun-stats .statsinfo li strong {
	font-weight: 700;
}

#pun-stats #onlinelist.onlinelist div,
#pun-stats #onlinelist.users_24h div {
	padding-right: var(--8);
	padding-bottom: var(--16);
	border-bottom: 1px solid rgb(var(--text900) / .12);
	text-align: justify;
}


/* Forum, Userlist, Statistic list
-------------------------------------------------------------*/


/* Table */

#pun-viewforum table,
#pun-modviewforum table,
#pun-searchtopics table,
#pun-userlist table,
#pun-statistic table,
#pun-respect table,
#pun-positive table,
#pun-messages #messages table,
.profile-awards-container table {
	overflow: hidden;
}

#pun-viewforum table tr,
#pun-modviewforum table tr,
#pun-searchtopics table tr,
#pun-userlist table tr,
#pun-statistic table tr,
#pun-respect table tr,
#pun-positive table tr,
#pun-messages #messages table tr,
.profile-awards-container table tr {
	display: flex;
	align-items: center;
	margin-top: var(--8);
	background: rgb(var(--secondary400) / .2);
	border-radius: 1rem;
}

#pun-viewforum table thead tr,
#pun-modviewforum table thead tr,
#pun-searchtopics table thead tr,
#pun-userlist table thead tr,
#pun-statistic table thead tr,
#pun-respect table thead tr,
#pun-positive table thead tr,
#pun-messages #messages table thead tr,
.profile-awards-container table thead tr {
	background: rgb(var(--dark900c)) !important;
	color: rgb(var(--light100c));
	border-radius: 1rem;
}

#pun-viewforum tbody tr:hover,
#pun-modviewforum tbody tr:hover,
#pun-searchtopics tbody tr:hover,
#pun-userlist tbody tr:hover,
#pun-statistic tbody tr:hover,
#pun-respect tbody tr:hover,
#pun-positive tbody tr:hover,
#pun-messages #messages tbody tr:hover,
.profile-awards-container tbody tr:hover  {
	background: rgb(var(--secondary400) / .38);
}

#pun-viewforum tr .tcr,
#pun-modviewforum tr .tcr,
#pun-searchtopics tr .tcr,
#pun-userlist tr .tcl,
#pun-viewforum tr .tcl .intd,
#pun-modviewforum tr .tcl .intd,
#pun-searchtopics tr .tcl .intd,
#pun-messages #messages tr .tcl .intd,
#pun-userlist tr .tcl .intd {
	display: flex;
	align-items: center;
	gap: var(--12);
}

.profile-awards-container th,
.profile-awards-container td {
	width: 20% !important;
}

.profile-awards-container td {
	padding: var(--16);
}

th input[type="checkbox"] {
	margin: 0 !important;
}

#pun-messages #messages td.tc2.pmtc22 {
	display: flex !important;
	align-items: center;
	gap: var(--12);
}


/* Userlist */

.punbb#pun-userlist .tcl {
	width: 25%;
}

.punbb#pun-userlist .tc2,
.punbb#pun-userlist .tc3 {
	width: 15%;
}


/* Statistic list */

#pun-statistic .main .container {
	padding: 0 0 var(--16) 0;
}

.punbb#pun-statistic .tcl {
	width: 40%;
}

.punbb#pun-statistic .tc2,
.punbb#pun-statistic .tc3 {
	width: 15%;
}


/* Links */

.punbb:not(.punbb-admin) .pagelink,
.punbb:not(.punbb-admin) .postlink {
	display: inline-block;
}

.punbb:not(.punbb-admin) .postlink {
	float: right;
	width: unset;
}


/* Paginator */

/* experimental */
.punbb:not(.punbb-admin) .pagelink:has(strong:only-child) {
	display: none !important;
}

.punbb:not(.punbb-admin) .pagelink {
	padding: 0 var(--8);
	background: rgb(var(--secondary400) / .2);
	padding: var(--4);
	border-radius: 1rem;
}

.punbb:not(.punbb-admin) .pagelink a,
.punbb:not(.punbb-admin) .pagelink strong {
	display: inline-block;
	padding: var(--4) var(--6) !important;
	border-radius: 0.5rem !important;
	line-height: 130%;
}

.punbb:not(.punbb-admin) .pagelink span {
	margin: 0 var(--4);
}

.punbb:not(.punbb-admin) .pagelink strong {
	background: rgb(var(--dark900));
	color: rgb(var(--light100));
	font: 700 1rem/100% var(--font);
}


/* Icons */

.punbb div.icon {
	position: relative;
	display: inline-flex;
	width: var(--16);
	height: var(--16);
	border-radius: 0.4rem;
	background: rgb(var(--secondary400) / .38);
	margin: var(--4) var(--4) var(--4) 0;
	text-align: center;
	font: 400 var(--20)/100% var(--fa);
	color: rgb(var(--secondary400));
}

.punbb div.icon::after {
	font-size: var(--16);
}

.punbb tr.inew div.icon {
	background: rgb(var(--primary400));
}

.punbb tr.isticky div.icon {
	background: rgb(var(--danger));
}

.punbb tr.iclosed div.icon {
	background: rgb(var(--text900) / .2);
}

#pun-index tr div.icon {
	float: left;
	margin-right: var(--16);
	width: var(--24);
	height: var(--24);
	border-radius: 0.6rem;
}


/* Profile page
-------------------------------------------------------------*/

#pun-profile #profile .container {
	padding-left: 10em;
}

#viewprofile {
	flex-grow: 1;
}

#viewprofile-next {
	display: flex;
	gap: var(--32);
}

#viewprofile-next::after {
	display: none;
}

#viewprofile-next #profilenav {
	display: inline-block !important;
}

#pun-profile #profile #profilenav {
	float: left;
	width: 10em;
	margin-left: -10em;
}

#viewprofile-next #profilenav {
	padding-top: var(--16);
}

#viewprofile .container::after {
	display: none;
}

#viewprofile .container tr {
	display: flex;
	gap: var(--32);
}

body #profile-left {
	padding: var(--16) !important;
	background: rgb(var(--secondary400) / .2);
	border-radius: 1rem;
}

#profilenav li {
	list-style: none;
}

#profilenav a {
	display: block;
	margin-bottom: var(--4);
}

#profilenav li:not(:last-child) a {
	margin-right: var(--4);
}

#profilenav .isactive a {
	font-weight: 700;
}

#profile-right li {
	padding-bottom: var(--8);
}

#viewprofile li span {
	display: inline-block;
	min-width: 14em;
	font-weight: 700;
}

#viewprofile li strong {
	display: inline-block;
	font-weight: normal;
}

#profile-left li {
	list-style: none;
}

#profile-left #profile-title {
	margin: var(--4) 0 var(--8);
}

#profile-left #pa-online {
	padding-top: var(--8)
}

#profile-left #pa-avatar strong {
	display: none;
}

#pa-edit {
	display: none;
}

.avatardemo {
	padding-left: var(--16);
}

td.tc0.ft-image {
	border: 2px solid rgb(var(--light100));
}

#profile li {
	list-style: none;
}

#profile #select-hosting .infofield * {
	margin: 0;
}


/* Set moderator permissions */

#setmods dl dl {
	padding: 0 var(--8);
	background: rgb(var(--secondary400) / .2);
	margin-bottom: var(--8);
	border-radius: var(--8);
}

#setmods dl dl:hover {
	background: rgb(var(--secondary400) / .38);
}

#setmods dt {
	font-weight: bold;
	display: inline-block;
	width: 20%;
	vertical-align: top;
	padding: var(--8);
}

#setmods dd {
	display: inline-block;
	padding: var(--8);
}

#setmods dd div {
	display: block;
}

div.checkfield .sub {
	margin-left: 0 !important;
}

div.checkfield:has(.sub) {
	margin-left: var(--24);
}


/* Topic
-------------------------------------------------------------*/

.post {
	scroll-margin-top: calc(var(--48) + var(--24));
}

.post .container {
	padding: 0;
	margin: var(--16) 0;
	width: 100%;
	display: flex;
	flex-flow: wrap;
}

.post-author {
	width: var(--profileWidth);
	align-self: start;
}

.post-body {
	padding-left: var(--32);
	box-sizing: border-box;
	width: calc(100% - var(--profileWidth));
}

.post-links {
	width: 100%;
}

.post-content {
	padding: var(--8) 0 var(--16);
	word-break: break-word;
}

.post-content img,
.post-sig img {
	max-width: 100%;
}

#poll-special td {
	padding: var(--4);
}

.post-links {
	text-align: right;
	margin-top: var(--16);
}

.post-links li {
	display: inline-block;
}

.post-links li a {
	font-weight: 700;
}

.post-links .pl-email,
.post-links .pl-website {
	float: left;
}

.post-links .pl-email a {
	margin: 0 var(--8) 0 0;
}

.post-links li a:not(.pl-email a) {
	margin: 0 0 0 var(--4);
}

.post-links li.approve {
	margin-left: var(--4);
}

#topic-modmenu span,
.forum ~ .modmenu span {
	float: right;
}

#topic-modmenu .container {
	vertical-align: middle;
}

.subscribelink {
	text-align: right;
}

#topic-users-in a:not(:last-child)::after {
	content: ',';
}

.punbb #profile-signature ul {
	border: none;
	padding: 0;
}

.post-sig::before,
.punbb #profile-signature ul::before {
	content: '';
	display: block;
	margin: var(--16) auto var(--8);
	width: 30%;
	height: 1px;
	background: rgb(var(--secondary400) / .38);
}


/* Post headline */

.post h3 {
	font-size: 1rem;
	float: right;
	position: relative;
	z-index: 1;
	width: calc(100% - var(--profileWidth) - var(--32));
	margin-top: var(--24);
	padding-bottom: var(--4);
	border-bottom: 1px solid rgb(var(--secondary400) / .6) !important;
}

.post h3 em {
	font-style: normal;
}

.post h3 a {
	font-weight: 700;
}

.post h3 strong {
	float: right;
	margin-left: var(--16);
}

.post h3 strong::before {
	content: '#';
}

#pun-premoderation .post h3 span > em:last-child {
	padding-left: var(--4);
}


/* Profile */

.post-author {
	background-color: rgb(var(--secondary400) / .2);
	padding: var(--16) 0 var(--8);
	border-radius: 1rem;
	box-sizing: border-box;
	margin-top: calc(var(--20) * -1)
}

#pun-viewtopic .post-author {
	margin-bottom: var(--64);
}

.post-author li {
	padding: 0 var(--16) var(--8);
	list-style: none;
	text-align: center;
}

.post-author .pa-author {
	padding-bottom: var(--4);
}

.punbb .pa-author a,
.punbb .pa-author strong {
	font: 700 1rem/100% var(--font);
}

#pun-premoderation .pa-author,
#pun-post .pa-author {
	font-weight: 700;
	text-align: center;
}

.pa-title {
	font-size: 0.8rem;
	line-height: 120%;
}

.pa-avatar {
	margin-top: var(--8);
}

.pa-avatar img {
	max-width: 180px;
}

.pa-posts,
.pa-respect {
	padding-top: var(--8);
	width: 100%;
}

.pa-posts .fld-name,
.pa-respect .fld-name {
	display: block;
	font-size: 0;
}

#pun:not(.isguest) .post-author .pa-respect a:first-child::before,
#pun.isguest .post-author .pa-respect .fld-name::before,
.post-author .pa-posts .fld-name::before {
	font-family: var(--fa);
	font-size: 1.4rem;
	font-weight: 400;
	margin-bottom: var(--4);
}

#pun.isguest .punbb .post-author .pa-respect .fld-name::before {
	color: rgb(var(--primary400));
}

#pun:not(.isguest) .punbb .post-author .pa-respect a:first-child::before,
#pun.isguest .punbb .post-author .pa-respect .fld-name::before {
	content: '\f004';
}

.punbb .post-author .pa-posts .fld-name::before {
	content: '\f0e0';
	color: rgb(var(--primary400));
}

.pa-online,
.pa-last-visit {
	display: none;
}

.pa-respect a::before {
	content: '+';
}


/* Messages page */

#pun-messages .post-author .pa-reg,
#pun-messages .post-author .pa-online,
#pun-messages .post-author .pa-last-visit {
	display: none;
}

#pun-messages #profilenav {
	float: none;
	display: flex;
	justify-content: space-between;
	margin-right: 0;
}

#pun-messages #profilenav h2 {
	display: none;
}

#pun-messages #profilenav ul {
	display: inline-block;
	margin-bottom: var(--16);
}

#pun-messages #profilenav ul li {
	display: inline-block;
}


/* Reply form
-------------------------------------------------------------*/

#main-reply {
	width: 100%;
	box-sizing: border-box;
	font-size: 1rem;
}

.formsubmit {
	text-align: center;
}

#post-errors ul {
	padding-bottom: var(--4);
}

#post-errors li {
	list-style: none;
	padding-bottom: var(--4);
}


/* Keep buttons always above textarea fix */

#post .fs-box {
	display: flex;
	flex-direction: column;
}

#post .fs-box .inputfield.required {
	order: -1;
}

/* Form tools
----------------------------------------------------------------------- */

#pun #tags .container {
	right: 0;
	margin-top: calc(var(--4) * -1);
	background: rgb(var(--light100));
	border-radius: var(--16);
	padding: var(--12);
	top: unset;
	box-shadow: 0 var(--8) var(--64) rgb(var(--dark900c) / .2);
	overflow: hidden auto;
	max-height: 200px;
}

#keyboard-area input {
	line-height: 100%;
	border-radius: var(--8);
}

#keyboard-area input:hover {
	background: rgb(var(--primary400));
	color: rgb(var(--light100));
}

#size-area div {
	line-height: 120%;
}

#pun #size-area span {
	width: unset;
	height: unset;
	margin: 0;
}

#pun #addition-area div {
	height: unset;
}

#size-area div,
#addition-area div,
#font-area div {
	background: rgb(var(--secondary400) / .2);
	border-radius: var(--8);
	padding: var(--4) var(--8) !important;
}

#font-area div:hover,
#size-area div:hover,
#addition-area div:hover {
	background: rgb(var(--primary400));
	color: rgb(var(--light100));
}

#size-area div:not(:last-child),
#addition-area div:not(:last-child),
#font-area div:not(:last-child) {
	margin-bottom: var(--4);
}

.punbb #table-area td.selected,
.punbb #table-area td:hover {
	background: rgb(var(--primary400))
}


/* Form Buttons
----------------------------------------------------------------------- */

#pun #form-buttons table,
#pun #form-buttons tbody {
	width: 100%;
}

#pun #form-buttons td img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#pun #form-buttons td {
	background: transparent;
	position: relative;
	display: inline-block;
	width: 2.4rem;
	height: 2.4rem;
}

#pun #form-buttons td:hover {
	cursor: pointer;
	color: rgb(var(--primary400));
}

#form-buttons table tr {
	display: flex;
	justify-content: space-between;
	gap: var(--4);
	margin-bottom: var(--8);
	background: rgb(var(--secondary400) / .2);
	padding: var(--4) var(--8);
	border-radius: 1rem;
}

#form-buttons td::before {
	font: 400 1.4rem/120% var(--fa);
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	z-index: 1;
}

#button-font::before {
	content: '\f031';
}

#button-size::before {
	content: '\f894';
}

#button-bold::before {
	content: '\f032';
}

#button-italic::before {
	content: '\f033';
}

#button-underline::before {
	content: '\f0cd';
}

#button-strike::before {
	content: '\f0cc';
}

#button-left::before {
	content: '\f036';
}

#button-right::before {
	content: '\f038';
}

#button-center::before {
	content: '\f037';
}

#button-link::before {
	content: '\f0c1';
}

#button-spoiler::before {
	content: '\f518';
}

#button-image::before {
	content: '\f302';
}

#button-video::before {
	content: '\f144';
}

#button-hide::before {
	content: '\f30d';
}

#button-quote::before {
	content: '\f27a';
}

#button-code::before {
	content: '\f121';
}

#button-color::before {
	content: '\f53f';
}

#button-table::before {
	content: '\f009';
}

#button-smile::before {
	content: '\f118';
}

#button-keyboard::before {
	content: '\f11c';
}

#button-addition::before {
	content: '\f0d7';
}

#button-mask::before {
	content: '\f630';
}


/* Post
------------------------------------------------------------------ */

.post-content img {
	vertical-align: middle;
}

.post-content p {
	line-height: 150%;
	padding: var(--4) 0;
	text-align: justify;
}

.post-box .post-content ul {
	padding: 0.4rem 0 0.8rem 2.4rem;
}

.post-box .post-content ul ul {
	padding-top: var(--4);
	padding-bottom: 0;
}

.post-content li p {
	padding: 0 0 var(--4) 0;
}

/* Selection */

::selection {
	color: rgb(var(--light100));
	background: rgb(var(--dark900));
}


/* Deleted text */

del {
	text-decoration-thickness: var(--2);
	-wenkit-text-decoration-thickness: var(--2);
	text-decoration-line: line-through;
	-wenkit-text-decoration-line: line-through;
	text-decoration-style: solid;
	-wenkit-text-decoration-style: solid;
	text-decoration-color: rgb(var(--primary400));
	-wenkit-text-decoration-color: rgb(var(--primary400));
}

del:hover {
	text-decoration: none;
}


/* Underlined text */

.bbuline {
	font-style: unset;
	text-decoration: underline;
	text-decoration-color: rgb(var(--primary400));
}


/* Highlighted text */

#pun .highlight-text {
	background-color: rgb(var(--warning));
	padding: 0.1rem 0.2rem 0.2rem;
}


/* Abbreviated text */

.post-content abbr {
	text-decoration: underline dotted rgb(var(--primary400));
	cursor: help !important;
}


/* Link */

.post-content a {
	font-weight: 700;
}


/* Marker */

.post-content ::marker {
	font-weight: 700;
	color: rgb(var(--primary400));
}


/* HR (divider) */

#pun .post-content hr {
	opacity: 1;
	border-top: 2px solid rgb(var(--secondary400) / .6);
	margin: var(--8) 0;
}


/* Table */

#pun .post-content td {
	border: none !important;
	padding: var(--8) !important;
	vertical-align: top;
}


/* Quote, code & spoiler */

.quote-box,
.code-box,
.spoiler-box {
	padding: var(--8) var(--16);
	margin: var(--8) 0;
	position: relative;
	background: rgb(var(--secondary400) / .38);
	border-radius: 1rem;
}

blockcode,
blockquote {
	overflow: hidden;
}

.code-box .scrollbox {
	width: 100%;
	overflow: auto;
}

.code-box pre {
	font: 400 1rem/140% 'courier new';
}

.quote-box cite,
.code-box strong,
.code-box strong a {
	font: normal 600 1rem/100% var(--font);
}

.code-box strong a {
	padding: var(--6) var(--12);
	background: rgb(var(--primary400));
	border-radius: 1em;
	color: rgb(var(--light100));
	display: inline-block;
}

.code-box strong a:hover {
	background: rgb(var(--dark900));
}

.quote-box cite,
.code-box strong {
	display: block;
	padding: var(--4) 0 var(--8);
	margin-bottom: var(--4);
	border-bottom: 1px solid rgb(var(--secondary400));
}

#pun .spoiler-box > div {
	text-align: center;
	padding: var(--6) var(--32);
	background: transparent;
	position: relative;
	line-height: 140%;
	font-weight: bold;
}

.spoiler-box > div:hover {
	cursor: pointer;
	color: rgb(var(--primary400));
}

.spoiler-box > div::before {
	content: '\2b';
	font: 900 0.9rem var(--fa);
	width: var(--24);
	height: var(--24);
	border-radius: var(--8);
	padding: 1px;
	box-sizing: border-box;
	background:  rgb(var(--secondary400) / .38);
	color: rgb(var(--text900));
	position: absolute;
	left: calc(var(--4) * -1);
	top: calc(50% - var(--12));
	display: flex;
	align-items: center;
	justify-content: center;
}

.spoiler-box > div.visible::before {
	content: '\f068';
}

.spoiler-box > div:hover {
	color: rgb(var(--primary400))
}

.spoiler-box > div:hover::before {
	background: rgb(var(--primary400));
	color: rgb(var(--light100));
}


/* Admin pages
------------------------------------------------------------------ */


/* Rusff support block */

.title-logo-tdr {
	display: none;
}


/* Containers */

#pun .adcontainer {
	border: none;
	border-width: 0 1px 1px 1px;
	margin-bottom: var(--16);
}


/* Files table fix */

.punbb-admin #filetable .tc3 {
	width: 10% !important;
}


/* Sticky elements */

#pun-adnav {
	position: -webkit-sticky;
	position: sticky;
	top: 80px;
}

#pun-adnav sup {
	display: none;
}

#pun-adnav li {
	list-style: none !important;
}

#adnav-standard > ul > li {
	padding: 0 0 var(--4);
}

#pun-adnav ul.adsubnav li {
	padding-left: var(--16) !important;
}

#adnav-standard > ul > li > a {
	display: block;
	padding: var(--4) var(--8);
	box-sizing: border-box;
	position: relative;
	font-size: 0.9rem;
	text-transform: uppercase;
	border-radius: var(--8);
}

#pun-adnav li.isactive > a {
	background: #333;
	color: #fff;
}

#pun-adnav li.item3:not(.isactive) > a,
#pun-adnav li.item-forms:not(.isactive) > a,
#pun-adnav li.item15:not(.isactive) > a,
#pun-adnav li.item20:not(.isactive) > a,
#pun-adnav li.item11:not(.isactive) > a,
#pun-adnav li.item22:not(.isactive) > a {
	background-color: rgb(var(--secondary400) / .38);
}

#pun-adnav li.item3 > a:after,
#pun-adnav li.item-forms > a:after,
#pun-adnav li.item15 > a:after,
#pun-adnav li.item20 > a:after,
#pun-adnav li.item11 > a:after,
#pun-adnav li.item22 > a:after {
	content: '\f005';
	font: 700 1rem/100% var(--fa);
	margin-top: var(--2);
	margin-left: var(--6);
	float: right;
}

#adnav-standard > ul > li > a:hover {
	background: rgb(var(--primary400)) !important;
	color: #fff;
}

#pun-adnav .adsubnav {
	padding-left: var(--8);
}

#pun-admain .submittop {
	position: -webkit-sticky;
	position: sticky;
	top: 56px;
	background: rgb(var(--light100));
	padding: var(--8) var(--16);
	margin-bottom: var(--16);
	z-index: 7;
}


/* Modal
------------------------------------------------------------------ */

#pun-report .inner,
#pun-reputation .inner,
#pun-admin-award-form .inner {
	background: rgb(var(--light100));
	border-radius: 1rem;
	box-shadow: 0 var(--8) var(--64) rgb(var(--dark900c) / .38) !important;
}

#pun-report .container,
#pun-reputation .container,
#pun-admin-award-form .container {
	padding: 0 !important;
}

#pun-report h1,
#pun-reputation h1,
#pun-admin-award-form h1{
	padding: var(--16) !important;
}


/* Scrollbar
------------------------------------------------------------------ */

@supports selector(::-webkit-scrollbar) {
	*::-webkit-scrollbar-thumb {
		border-radius: 8px;
		background: rgb(var(--dark900));
	}
	*::-webkit-scrollbar-thumb:hover {
		background: rgb(var(--primary400));
		cursor: default;
	}
	*::-webkit-scrollbar-track {
		border-radius: 8px;
		background: rgb(var(--secondary400));
	}
	*::-webkit-scrollbar {
		max-width: 8px;
		max-height: 8px;
	}
}


/* Respect table
-------------------------------------------------------------*/

#pun-respect .tcl {
	width: 20% !important;
}

#pun-respect .tc2 {
	width: 5% !important;
}

#pun-respect .tc3 {
	width: 15% !important;
}

#pun-respect .tc4 {
	width: 30% !important;
}

#pun-respect .tcr {
	width: 30% !important;
}