/* == BUTTONS */ @import url('css/buttons.css');
/* = TABBED CONTAINERS */ @import url('css/tabbed-container.css');

/* Prevent automatic browser scaling and non-linear rendering */
.pixel,
nav,
.button,
.centerdiv,
.heading
{
	image-rendering: crisp-edges;
	image-rendering: -moz-crisp-edges;
	image-rendering: -webkit-optimize-contrast;
	image-rendering: pixelated;
}

/* Remove Scrollbars */
.no-scroll,
nav
{
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.no-scroll::-webkit-scrollbar,
nav::-webkit-scrollbar,
nav.top::-webkit-scrollbar {
	display: none;
}

div.grower { flex-grow: 1; }

p img,
body > img {
	max-width: 100%;
}

h1 img,
h2 img {
	width: 32px;
}

table {
	border-collapse: collapse;
	width: 100%;
	margin: 4px;
}

textarea {
	resize: vertical;
	width: 100%;
}

textarea, input {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

@media only screen and (orientation: landscape) {
	:target::before {
		content: "";
		display: block;
		height: 64px;
		margin: -64px 0 0;
	}
	
	/* Center primary portion of page */
	body > .page-container {
		margin-left: auto;
		margin-right: auto;
		max-width: 1200px;
	}
}

@media only screen and (orientation: portrait) {
	:target::before {
		content: "";
		display: block;
		height: 128px;
		margin: -128px 0 0;
	}
}

/* = STATUS */
.status.success, .output .success {color: var(--status-success);}
.status.error, .output .error {color: var(--status-error);}

/* = ARROW */
hr.arrow {
	border: none; border-left: none;
	background-image: url('//style.worlio.com/icons/arrow/arrows');
	background-size: 200% 200%;
	height: 24px;
	width: 24px;
	margin: 22px 2px 2px 2px;
}

hr.arrow.slideout { background-position: 0 0; }
hr.arrow.right { background-position: 100% 0; }
hr.arrow.up { background-position: 0 100%; }
hr.arrow.down { background-position: 100% 100%; }

/* = OVERLAY DIALOGS */

body > div.overlay {
	position: fixed;
	top: 0px; bottom: 0px; left: 0px; right: 0px;
	z-index: 20;
	background-color: #0006;
	width: 100%;
	height: 100%;
}

body > div.overlay .dialog {
	background: linear-gradient(180deg, #ffffff 0%, #f3dca9 8px);
	border: 1px outset #a48e65;
	margin: 16px auto;
}

body > div.overlay .dialog.tiplist { max-width: 400px; max-height: 80%; }

body > div.overlay .dialog table {
	width: 100%;
	max-width: unset;
	margin: 0px;
}

body > div.overlay .dialog table th, body > div.overlay .dialog table td { padding: 4px; }

body > div.overlay .dialog table.titlebox { font-family: var(--primary-font); }

body > div.overlay .dialog table.titlebox img.close-button {
	cursor: pointer;
	user-select: none;
}

body > div.overlay .dialog table tr th:nth-of-type(1) {
	text-align: left;
}

body > div.overlay .dialog table:not(.titlebox) {
	background: #b3b3b3;
	border: 1px outset #636363;
	display: block;
	height: 400px;
	overflow: auto;
}

/* = PAGE SELECTORS */
div.page-selector {
	display: inline-flex;
	margin: 2px;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

div.page-selector div.pagebutton {
	background: var(--default-button-background);
	border: var(--default-button-border);
	text-align: center;
	padding: 0px;
	min-width: 24px;
	height: 24px;
}

div.page-selector div.pagebutton:hover {
	background: var(--hover-button-background);
	border: var(--hover-button-border);
}

div.page-selector div.pagebutton:active {
	background: var(--active-button-background);
	border: var(--active-button-border);
}

div.page-selector div.pagebutton.disabled {
	background: var(--disabled-button-background);
	border: var(--disabled-button-border);
}

div.page-selector div.pagebutton a,
div.page-selector div.pagebutton a:link,
div.page-selector div.pagebutton a:visited {
	font-family: var(--primary-font);
	font-size: 12px;
	text-decoration: none;
	color: var(--main-text);
	display: inline-block;
	width: 100%;
	height: 100%;
}

div.page-selector div.pagebutton.curpage a,
div.page-selector div.pagebutton.curpage a:link,
div.page-selector div.pagebutton.curpage a:visited {
	font-weight: bold;
	color: var(--alert);
	cursor: pointer;
}

div.page-selector div.pagebutton.backpage { border-right: none; }
div.page-selector div.pagebutton.forwpage { border-left: none; }

/* == USER CARDS */
.usercard {
	background-image: var(--usercard-image, none);
	background-color: var(--usercard-color, var(--secondary-container-background));
	color: var(--main-text);
	border: 1px solid #7e7e7e;
	padding: 8px;
	background-position: 50% 50%;
	font-family: var(--primary-font);
	text-shadow: 
		-1px -1px 0 var(--usercard-outline), 
		0px -1px 0 var(--usercard-outline), 
		1px -1px 0 var(--usercard-outline), 
		-1px 0px 0 var(--usercard-outline), 
		-1px 1px 0 var(--usercard-outline), 
		0px 1px 0 var(--usercard-outline), 
		1px 1px 0 var(--usercard-outline),
		1px 0px 0 var(--usercard-outline);
}

.usercard div.aframe {
	display: inline-block;
}
.usercard .aframe {
	background-size: 100%;
	width: 128px; height: 128px;
}
.usercard .aframe.small {
	image-rendering: auto;
	width: 64px; height: 64px;
}

/* == MAIN BODY */

body {
	background-color: var(--main-background);
	background-image: var(--background-image);
	color: var(--main-text, #000000);
	margin: 8px;
	position: absolute;
	left: 0px; right: 0px;
}

@media only screen and (orientation: landscape) {
	body {
		top: 0px;
		left: 64px;
	}
}

/* == NAVIGATION BARS */

nav {
	background-color: var(--main-nav);
	font-family: var(--primary-font);
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 10;
	font-size: 14px;
}

nav .logo {
	width: 48px;
	padding: 0px;
	margin: 2px;
}

/* = TOP BAR */
nav.top { 
	display: block;
	background-image: var(--navbar-top);
	background-position: 0px 100%;
	background-color: var(--acc-nav);
	background-repeat: repeat-x;
	background-size: auto 64px;
	position: fixed;
	height: 36px;
	padding: 0px;
	z-index: 10;
	white-space: nowrap;
	flex-shrink: 1;
}

nav.top div.navcenter {
	display: flex;
	max-width: 1200px;
	height: 36px;
	margin: auto;
	overflow: visible;
	border-right: var(--acc-nav-separator);
}

nav.top .navbutton-bar {
	padding-left: 4px;
	overflow-x: scroll;
	overflow-y: hidden;
}

nav.top div.slideout {
	position: relative;
	height: 32px;
	z-index: 3;
	margin: 2px;
	transition-duration: 0.05s;
	flex-shrink: 0;
}

nav.top div.slideout:not(.active) {
	cursor: pointer;
}

nav.top div.slideout.active {
	width: 264px;
}

nav.top div.slideout .upbutton img { margin: 4px 8px; } 

nav.top div.slideout .dropdown {
	font-family: var(--primary-font);
	background: var(--navbar-bg), linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, var(--acc-nav) 8px);
	background-position: 0 0, 0px 100%;
	background-color: var(--acc-nav);
	background-repeat: repeat, repeat-x;
	background-size: auto auto, auto 64px;
	border: var(--acc-nav-separator);
	border-top: none;
	overflow: hidden;
	width: 100%;
	height: 32px;
	position: relative;
	z-index: 2;
	padding: 1px 3px;
	white-space: nowrap;
	transition-duration: 0.05s;
}
nav.top div.slideout.account .dropdown {
	margin: -2px -4px;
}

nav.top div.slideout:not(.active):hover .dropdown {
	background: var(--navbar-bg), linear-gradient(0deg, var(--acc-nav) 0%, rgba(0,0,0,0.05) 8px);
}

nav.top div.slideout .dropdown .clicker {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	height: 34px;
}

nav.top div.slideout.account .panel {
	display: flex;
	flex-direction: column;
}

nav.top div.slideout.account .panel .user-column,
nav.top div.slideout.account .panel .button-column {
	display: block;
	height: 50%;
}

nav.top div.slideout.account.active .dropdown { height: 112px; }
nav.top.guest div.slideout.account.active .dropdown { height: 112px; }
nav.top div.slideout.mail.active .dropdown,
nav.top div.slideout.alerts.active .dropdown { height: 352px; }

nav.top div.slideout .dropdown .right {
	pointer-events: none;
	display: none;
	opacity: 0;
	float: right;
	transition-duration: 1s;
}

nav.top div.slideout.active .dropdown .right {
	pointer-events: unset;
	display: block;
	opacity: 1;
}

nav.top div.slideout .dropdown .right.text {
	margin: 8px;
}

nav.top div.slideout.alerts .dropdown .alerts,
nav.top div.slideout.mail .dropdown .mail {
	text-align: left;
	border: 2px inset var(--acc-nav);
	background: #2221;
	margin: 2px;
	height: 300px;
	overflow-y: auto;
	overflow-x: hidden;
	width: 256px;
	white-space: break-spaces;
	white-space: pre-wrap;
}

nav.top div.slideout.alerts .dropdown .alerts .alert,
nav.top div.slideout.mail .dropdown .mail .message {
	margin: 4px;
	font-family: var(--primary-font);
	background-color: var(--primary-container-background);
	border: var(--primary-container-border);
	padding: 4px;
}

nav.top div.slideout.alerts .dropdown .alerts .alert.unread,
nav.top div.slideout.mail .dropdown .mail .message.unread {
	background-color: #d0dadf;
	outline: 1px solid #0088ff;
}

nav.top div.slideout.alerts.active .dropdown .clicker img,
nav.top div.slideout.mail.active .dropdown .clicker img {
	float: left;
	vertical-align: middle;
	margin: 2px 4px;
}

nav.top div.slideout.alerts.active .dropdown .clicker .counter,
nav.top div.slideout.mail.active .dropdown .clicker .counter {
	display: inline-block;
	text-align: left;
	width: 162px;
	margin-top: 6px;
}
		
nav.top div.slideout.alerts .dropdown .alerts .alert a,
nav.top div.slideout.mail .dropdown .mail .message a {
	text-decoration: underline;
}
	
nav.top div.slideout.alerts .dropdown .alerts .alert .info,
nav.top div.slideout.mail .dropdown .mail .message .info {
	display: flex;
	color: var(--subtitle);
	font-size: 12px;
}

nav.top div.slideout.account { width: 132px; }
nav.top div.slideout.account.active { width: 256px; }
nav.top div.slideout.mail,nav.top div.slideout.alerts { 
	display: block;
	width: 32px;
	margin: 0px 2px;
	text-align: center;
}
nav.top div.slideout.active.mail,nav.top div.slideout.active.alerts { width: 262px; }
nav.top div.slideout.mail .dropdown,nav.top div.slideout.alerts .dropdown {
	padding: 1px;
}
nav.top div.slideout.mail .counter,nav.top div.slideout.alerts .counter { 
	margin-top: -8px; 
	display: block;
}
nav.top div.slideout.mail .counter.new,nav.top div.slideout.alerts .counter.new {
	color: var(--alert);
}

nav.top div.slideout.account .username {
	display: block;
	height: 38px;
	margin: -1px;
}

nav.top div.slideout.account .dropdown .mycon {
	margin: 2px 4px 0px 0px;
}

nav.top div.slideout.account .dropdown .username .currency {
	height: 16px;
}
nav.top div.slideout.account .dropdown .username .currency img {
	height: 100%;
	margin: 0px 1px;
	padding: 0px 2px;
	vertical-align: center;
}
nav.top div.slideout.account .dropdown .username .currency a {
	color: var(--currency);
}

nav.top div.slideout .dropdown .username .userlink {
	margin: 0px;
}

nav.top div.slideout .username .arrow {
	position: relative;
	opacity: 0.3;
	float: right;
	margin: 2px auto !important;
	width: 16px !important;
	height: 16px !important;
}

nav.top div.slideout .username .user-icon {
	vertical-align: top;
}

nav.acc .slideout.active .dropdown .currency a[type="short"] { display: none; }
nav.acc .dropdown .currency a[type="extended"] { display: none; }
nav.acc .slideout.active .dropdown .currency a[type="extended"] { display: unset; }

nav.top p {
	margin: 0px;
	text-align: center;
}

nav.top.alert {
	background-color: var(--dialog-bg);
	height: unset;
	min-height: 28px;
	max-height: 64px;
	padding: 2px;
	overflow: auto;
	z-index: 5;
}

nav.top.alert .close {
	background-image: url('//style.worlio.com/icons/close');
	background-size: 100%;
	width: 16px;
	height: 16px;
	padding: 4px;
	cursor: pointer;
	margin-right: 8px;
	float: left;
}

nav.top.alert p {
	text-align: unset;
	white-space: pre-line;
}

/* Felt cute, might delete later. */

nav.top .navbutton-bar .button {
	background-color: var(--active-button-background);
	border-bottom: none;
	width: unset;
	margin-top: 2px;
	padding: 6px;
}

nav.top .navbutton-bar .button:hover {
	background-color: var(--hover-button-background);
}

nav.top .navbutton-bar .button.selected {
	background-image: var(--background-image);
	background-color: var(--default-button-background);
}

@media only screen and (orientation: landscape) {
	nav {
		width: 60px;
		padding: 0px 2px;
		background-image: var(--navbar-left);
		background-repeat: repeat-y;
		background-size: 100%;
		height: 100%;
	}
	
	body > div.navgap:not(.acc) {
		height: 0px;
	}
	
	body > div.navgap.acc {
		height: 34px;
	}
	
	nav hr {
		width: 100%;
		border: 1px solid black;
	}
	
	nav .logo {
		display: block;
	}
	
	nav.top {
		width: calc(100% - 64px);
		top: 0px;
		left: 64px;
	}
	
	nav.top > .navRight .dropdown h3 {
		width: 128px;
	}
	
	nav.top > .navRight .dropdown:hover h3 {
		text-decoration: underline;
	}
	
	nav.top.alert {
		top: 36px;
	}
	
	nav .popbutton.selected:not(:hover) {
		background-image: var(--background-image);
		background-color: var(--main-background);
		border-right: none;
		width: 56px;
		font-size: 0px;
	}
}

@media only screen and (orientation: portrait) {
	nav {
		background-image: var(--navbar-top);
		background-repeat: repeat-x;
		background-size: 64px;
		width: 100%;
		height: 60px;
		padding: 2px 0px;
		overflow-y: hidden;
		overflow-x: auto;
		scrollbar-width: none;
		-ms-overflow-style: none;
		white-space: nowrap;
	}
	
	body > div.navgap:not(.acc) {
		height: 66px;
	}
	
	body > div.navgap.acc {
		height: 34px;
	}
	
	nav.top {
		overflow-x: unset;
		overflow-y: unset;
	}
	
	nav hr {
		margin: 0px 2px;
		border: none;
		border: 1px solid black;
		width: 0px;
		display: inline-block;
		height: 48px;
	}
	
	nav .logo {
		display: inline-block;
	}
	
	nav > a {
		transform: rotate(-90deg);
		display: inline-block;
		vertical-align: top;
		height: 100%;
	}
	
	nav.top {
		width: 100%;
		top: 64px;
		left: 0px;
	}
	
	nav.top > .dropdown h3 {
		width: 36px;
	}
	
	nav.top.alert {
		top: 100px;
	}
	
	nav.top div.slideout.account { width: 32px; }
	nav.top div.slideout.account:not(.active) .dropdown .username *:not(.mycon) { display: none; }
	nav.top div.slideout.account:not(.active) .dropdown .username .mycon { margin: 2px; }
}

/* == HEADING/HEADER */

.header {
	display: flex;
	margin-bottom: 8px;
}

.header > .gap { flex-grow: 1;}

.header > .title {
	border: var(--primary-container-border);
	border-top: none;
	flex-shrink: 0; flex-grow: 0;
	background-color: var(--primary-container-background);
	padding: 8px;
	font-family: var(--primary-font);
	font-weight: bold;
	margin: -8px 4px 8px 4px;
}

.tabbed-container > .header {
	margin-bottom: 0;
	margin-top: -8px;
	padding-top: 8px;
}

.heading {
	z-index: 10;
	display: block;
	background-repeat: repeat-x;
	overflow-y: hidden;
	overflow-x: auto;
	white-space: nowrap;
	border: none;
	font-family: var(--primary-font);
}

.heading > div.head-contents {
	max-width: 1200px;
	margin-left: auto; margin-right: auto;
	
}

.heading.main {
	position: sticky;
	background-size: 64px;
	height: 60px;
}

.heading {
	background-color: var(--header-bg);
	background-image: var(--navbar-top);
}

.heading.sub,
.heading.section {
	height: 28px;
}

.heading.sub {
	background-size: 64px;
	background-position-y: -32px;
}

.heading.section {
	background-size: 32px;
	background-image: var(--nav-db);
	background-color: var(--header-bg);
	font-size: 1.5em;
}

.heading.main > div.head-contents > a {
	font-size: 2em;
}

.heading > div.head-contents > a {
	margin: 0px 0px 0px 4px;
	display: inline-block;
	font-weight: bold;
	height: 100%;
}

.heading p {
	font-size: 0.75em;
	display: inline-block;
}

.heading.main img {
	height: 48px;
}

.heading.main i {
	margin-left: 16px;
	font-weight: normal;
	font-size: 1.5em !important;
}

.heading hr {
	margin: 0px 8px;
	border: none;
	border-left: var(--header-line);
	width: 0px;
	display: inline-block;
	height: 75%;
}

.header div.buttontab {
	background: var(--default-button-background);
	border: var(--default-button-border);
	margin: -12px 4px 8px 4px;
	padding: 8px 4px 2px 4px;
	font-size: 12px;
}

.header div.buttontab a {
	color: var(--main-text);
	display: inline-block;
	text-decoration: none;
	font-family: var(--primary-font);
	height: 100%;
}

.header div.buttontab a img {
	vertical-align: middle;
}

.header div.buttontab:hover {
	background: var(--hover-button-background);
	border: var(--hover-button-border);
}

.header div.buttontab:active {
	background: var(--active-button-background);
	border: var(--active-button-border);
}

@media only screen and (orientation: landscape) {
	.heading {
		width: calc(100% + 8px);
		padding: 2px 4px;
		left: 64px;
	}

	.heading.main,
	.heading.sub {
		top: 0px;
	}

	.heading.main { margin: -8px; margin-bottom: 8px; }
	.heading.sub { margin: -8px; margin-bottom: 8px; }
	.heading.section { margin: 4px -8px; }
	
	body > .header-title {
		top: -8px;
		margin-bottom: -8px;
	}
	
	/* Center header */
	body > .header {
		max-width: 1200px;
		margin-left: auto;
		margin-right: auto;
	}
}

@media only screen and (orientation: portrait) {
	.heading {
		margin: -8px;
		margin-top: -16px;
		margin-bottom: 8px;
		padding: 2px 0px;
		width: 100%;
		left: 0px;
	}

	.heading.main {
		top: 64px;
	}

	.heading.sub {
		top: 128px;
	}
	
	body > .header-title {
		top: -16px;
		margin-bottom: -16px;
	}
}

/* == ACCFORM PAGES */
body.accform .page-container .formpart {
	max-width: 400px;
	margin: 32px;
	text-align: center;
}

body.accform .page-container .formpart hr {
	border: 1px inset rgba(0,0,0,0.5);
}

body.accform .page-container .formpart .assets,
body.accform .page-container .formpart .accinput {
	flex-grow: 1;
	padding: 8px;
}

body.accform .options .option { display: flex; }

body.accform .options .option .name {
	font-family: var(--primary-font);
	flex-shrink: 0; 
	flex-grow: 1;
	text-align: right;
	padding: 2px;
}
body.accform .options .option input,
body.accform .options .option select,
body.accform .options .option textarea, {
	flex-grow: 0;
}

body.accform .page-container .formpart h2 {
	font-family: var(--spfont1);
}

body.accform .page-container .formpart .error {
	color: var(--error);
}

body.accform .page-container .formpart .buttonbar {
	display: flex;
}

body.accform img.bg-icon-overlay {
	position: absolute;
	bottom: 0; right: 0;
	width: 50vh; height: 50vh;
	/* width: 100vh; height: 100vh; */
	opacity: 0.25;
	z-index: -100;
}

body.accform ul.errors {
	text-align: left;
	color: red;
}

/* == HOME PAGE */
@media (orientation: portrait) {
	body.home .page-container {
		display: flex;
		flex-direction: column;
	}

	body.home .page-container .section {
		width: 100%;
		margin: 0px 4px;
	}
}

@media (orientation: landscape) {
	body.home .page-container .section { width: 50%; margin: 0px -2px; }
	body.home .page-container .section .container { padding: 4px; }
}

body.home .logo img {
	max-height: 256px;
	max-width: 100%;
}

body.home .logo .slogan {
	font-family: var(--primary-font);
	font-weight: bold;
	font-size: 24px;
	text-align: center;
}

body.home .page-container .section .mainbox {
	background: var(--primary-container-background);
	border: var(--primary-container-border);
	padding: 2px;
}

body.home .page-container .section {
	display: inline-block;
	vertical-align: top;
}

body.home .page-container .section .container {
	margin: 8px 0px;
}

body.home .page-container .section .container .title {
	border: var(--primary-container-border);
	border-bottom: none;
	background: var(--primary-container-background);
	display: inline-block;
	padding: 8px;
	font-weight: bold;
	font-family: var(--primary-font);
	margin-bottom: -2px;
}

body.home .page-container .footer {
	display: flex;
}

/* == BLOG */
body.blog .page-container .month {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

body.blog .page-container .article {
	background: var(--primary-container-background);
	border: var(--primary-container-border);
	margin: 4px;
}

body.blog .page-container .article .date,
body.blog .page-container .article .link { padding: 4px; }

body.blog .page-container .article .date { text-align: right; }
body.blog .page-container .article .link { font-weight: bold; }

/* == LIBRARY */

/* == DASHBOARD */
@media (orientation: portrait) {
	body.dashboard .dash-container {
		display: flex;
		flex-direction: column-reverse;
	}
	
	body.dashboard .section {
		width: 100%;
		margin: 0px 4px;
	}
}

@media (orientation: landscape) {
	body.dashboard .dash-container {
		max-width: 1000px;
		margin: auto;
	}
	
	body.dashboard .section { margin: 0px -2px; }
	body.dashboard .section .container { padding: 4px; }
	body.dashboard .primary { width: 60%; }
	body.dashboard .sidebar { width: 40%; }
}

body.dashboard .dash-container .mainbox:not(.usercard) {
	background: var(--primary-container-background);
	border: var(--primary-container-border);
	padding: 2px;
}

body.dashboard .profile-tag {
	font-family: var(--primary-font);
	display: flex;
}

body.dashboard .profile-tag img {
	padding: 4px;
}

body.dashboard .section {
	display: inline-block;
	vertical-align: top;
}

body.dashboard .section .container {
	margin: 8px 0px;
}

body.dashboard .dash-title {
	border: var(--primary-container-border);
	border-bottom: none;
	background: var(--primary-container-background);
	display: inline-block;
	padding: 8px;
	font-weight: bold;
	font-family: var(--primary-font);
	margin-bottom: -2px;
}

body.dashboard .dash-title.ulink { padding: 3px 3px 4px 3px; }

body.dashboard .dash-title.currency-mark { position: relative; float: right; top: 24px; }

body.dashboard .dash-title.rlink { float: right; }

body.dashboard .profile-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

body.dashboard .profile-role {
	font-size: 0.8em;
}

body.dashboard .dash-container .sidebar .userlink.online a {
	color: green;
}

body.dashboard .dash-container .sidebar .userlink.invisible {
	opacity: 0.3;
}

body.dashboard .stats {
	font-family: var(--primary-font);
	font-size: 20px;
}

body.dashboard .stats .currency { color: var(--currency); }
body.dashboard .stats .unread { color: var(--alert); }

body.dashboard .userlink img.plan-icon {
	position: relative;
	margin: 0px 0px 0px -4px;
	top: -2px;
}

body.dashboard .dash-container .primary .mainbox .alert {
	padding: 4px;
	margin: 4px;
	background: var(--secondary-container-background);
	border: var(--secondary-container-border);
	border-style: inset;
}

body.dashboard .dash-container .primary .mainbox .alert.unread .content {
	font-weight: bold;
}

body.dashboard .dash-container .primary .mainbox .alert .info {
	text-align: right;
	color: var(--subtitle);
	font-family: var(--primary-font);
}

body.dashboard .dash-container .blogpost {
	padding: 4px;
}

body.dashboard .dash-container .blogpost .info {
	color: var(--subtitle);
	font-family: var(--primary-font);
}

body.dashboard .dash-container .sidebar .container div.filespace meter { flex-grow: 1; margin: 0px 4px;}
body.dashboard .dash-container .sidebar .container div.filespace b { margin-right: 4px;}
body.dashboard .dash-container .sidebar .container div.filespace { display: flex; }
body.dashboard .dash-container .sidebar .container div.filespace a { font-family: var(--primary-font); margin: 0px 2px; }
body.dashboard .dash-container .container.lstann { font-family: var(--primary-font); }

/* == MAIL */
body.mail .page-container table tr:nth-of-type(even) {
	background: var(--mail-content-bg);
}

body.message .box {
	padding: 0px;
	margin: 0px;
}

body.message .box table {
	border-collapse: separate;
	margin: 0px;
}

body.message .box table th {
	text-align: left;
}

body.message .box table tr.title-row {
	font-size: 20px;
	position: sticky;
	top: 0px;
}

body.message .box table tr.title-row th {
	background: var(--forum-sub);
	border: var(--forum-sub-border);
}

body.message .box table tr.header-row {
	background: var(--post);
	border-left: var(--post-border); border-right: var(--post-border);
}

body.message .box table:first-of-type(tr.header_row) {
	border-top: var(--post-border);
}

body.message .box table:last-of-type(tr.header_row) {
	border-bottom: var(--post-border);
}

/* == FORUM */
body.forum table.board-display {
	background: var(--forum-header);
	border: var(--forum-header-border);
	font-family: var(--primary-font);
	table-layout: fixed;
}

body.forum table.board-display tr.sub-row {
	background: var(--forum-sub);
	border: var(--forum-sub-border);
}

body.forum table.board-display th,
body.forum table.board-display td {
	padding: 4px;
}

body.forum.index .page-container > table.board-display tr.title-row {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	cursor: pointer;
}

body.forum table.board-display tr.title-row .button { vertical-align: top; }

body.forum table.board-display tr:not(.title-row):not(.sub-row) {
	background: var(--forum-content);
	border: var(--forum-content-border);
}

body.forum table.board-display.collapsed tr:not(.title-row) {
	display: none;
}

body.forum table.board-display tr td.counter-cell a img {
	vertical-align: middle;
}

body.forum table.board-display .thread-status {
	text-align: right;
	position: relative;
	height: 0px;
	top: -16px;
	left: 4px;
}

body.forum table tr.ralign th:last-child,
body.forum table tr.ralign td:last-child {
	text-align: right;
}

body.forum table.board-display tr th:nth-of-type(2) {
	text-align: left;
}

body.forum.thread table.board-display {
	position: sticky;
}

body.forum.thread table.post-display {
	background: var(--post);
	border: var(--post-border);
	margin: 8px 4px;
	table-layout: fixed;
}

body.forum.thread table.post-display td.author-cell,
body.forum.thread table.post-display tr.author-row {
	background-image: var(--usercard-image);
	background-color: var(--usercard-color, var(--post-author));
	border: var(--post-author-border);
}

body.forum.thread table.post-display td.author-cell {
	vertical-align: top;
	text-align: center;
}

body.forum.thread table.post-display td.author-cell img.avatar {
	display: inline-block;
}

body.forum.thread table.post-display tr.button-row,
body.forum.thread table.post-display tr.info-row {
	background: var(--post-bottombar);
	font-family: var(--primary-font);
	color: var(--subtitle);
	height: 28px;
}

body.forum.thread table.post-display tr.author-row {
	font-family: var(--primary-font);
	color: var(--subtitle);
}

body.forum.thread table.post-display td { padding: 4px; }

body.forum.thread table.post-display tr.button-row td:nth-of-type(2) a {
	padding: 8px;
}

body.forum.thread table.post-display tr.body-row td {
	vertical-align: top;
	word-wrap: break-word;
}
body.forum.thread table.post-display tr.body-row td * {
	max-width: 100%;
}

body.forum.thread table.post-display .author-cell { width: 168px; }
body.forum.thread table.post-display tr td:nth-of-type(3) { width: 168px; }

body.forum.thread table.poll-display {
	background: var(--forum-sub);
	border: var(--forum-sub-border);
	text-align: left;
}

body.forum.thread table.poll-display tr th, 
body.forum.thread table.poll-display tr td { padding: 2px; }

body.forum.thread table.poll-display tr td.bar {
	background: linear-gradient(0deg, var(--poll-bar-color) 0%, var(--direct) 75%, var(--poll-bar-color) 100%);
	background-size: var(--poll-bar-width) 100%;
	color: var(--poll-bar-text);
	background-repeat: no-repeat;
}
body.forum.thread table.poll-display tr td.bar.p1st { --poll-bar-color: var(--poll-first-bar); }
body.forum.thread table.poll-display tr td.bar.p2nd { --poll-bar-color: var(--poll-second-bar); }
body.forum.thread table.poll-display tr td.bar.p3rd { --poll-bar-color: var(--poll-third-bar); }

body.forum.thread table.poll-display tr:not(.title-row) {
	background: var(--post);
	border: var(--post-border);
}

body.forum.thread table.poll-display tr.title-row {
	font-family: var(--primary-font);
}
body.forum.thread table.poll-display tr td.ralign { text-align: right; }

body.forum.thread table.poll-display tr.title-row th:nth-of-type(2) button {
	background: none;
	border: none;
	text-decoration: underline;
	color: #0000ff;
	font-size: 16px;
	vertical-align: middle;
	cursor: pointer;
}

body.forum.thread table.reply-display {
	background: var(--forum-sub);
	border: var(--forum-sub-border);
}

body.forum.thread table.reply-display tr th, 
body.forum.thread table.reply-display tr td { padding: 2px; }

body.forum.thread table.reply-display tr:not(.title-row) {
	background: var(--post);
	border: var(--post-border);
}

body.forum.thread table.reply-display tr.title-row th:nth-of-type(1) { text-align: left; }
body.forum.thread table.reply-display tr td:nth-of-type(2) { text-align: right; }

body.forum.thread table.reply-display tr.title-row {
	font-family: var(--primary-font);
}

body.forum.thread table.reply-display tr.title-row th:nth-of-type(2) button {
	background: none;
	border: none;
	text-decoration: underline;
	color: #0000ff;
	font-size: 16px;
	vertical-align: middle;
	cursor: pointer;
}

body.forum.new table.board-display tr.title-row input {
	width: 100%;
	margin: -4px;
}

table.board-display#poll[enabled="0"] tr:not(:first-of-type) { visibility: collapse; }
table.board-display#poll input[type="text"] { width: 100%; }

@media only screen and (orientation: landscape) {
	body.forum.index .page-container .newest {
		display: flex;
		width: 100%;
		margin: 4px;
	}

	body.forum.thread table.board-display {
		top: -24px;
	}
	
	body.forum.thread table.board-display colgroup col:nth-of-type(4),
	body.forum.thread table.post-display tr.author-row {
		display: none;
	}
}

@media only screen and (orientation: portrait) {
	body.forum.index .page-container > table.board-display tr td:nth-of-type(4),
	body.forum.index .page-container > table.board-display tr th:nth-of-type(2),
	body.forum.index .page-container > table.board-display colgroup col:nth-of-type(4),
	body.forum.board table.board-display tr td:nth-of-type(4),
	body.forum.board table.board-display tr.sub-row td:nth-of-type(2),
	body.forum.board table.board-display tr th:nth-of-type(2),
	body.forum.board table.board-display colgroup col:nth-of-type(5),
	body.forum.thread table.board-display colgroup col:nth-of-type(3),
	body.forum.thread table.post-display colgroup col:nth-of-type(3),
	body.forum.thread table.post-display colgroup col:nth-of-type(4),
	body.forum.thread table.post-display td.author-cell,
	body.forum.watched table.board-display tr td:nth-of-type(4),
	body.forum.watched table.board-display tr th:nth-of-type(3),
	body.forum.watched table.board-display colgroup col:nth-of-type(5),
	body.forum.newest table.board-display tr td:nth-of-type(4),
	body.forum.newest table.board-display tr th:nth-of-type(3),
	body.forum.newest table.board-display colgroup col:nth-of-type(5) { display: none; }

	body.forum.thread table.board-display {
		top: 40px;
	}
	
	body.forum.thread table.post-display tr.author-row {
		text-align: left;
		vertical-align: top;
	}
	
	body.forum.thread table.post-display tr.author-row > th {
		text-align: center;
		vertical-align: middle;
	}
}

/* == SHOP */
body.shop:not(.item) .page-container {
	display: flex;
}

body.shop .page-container .sidebar .sidelist {
	background: var(--secondary-container-background);
	border: var(--secondary-container-border);
	max-width: 200px;
	display: flex;
	flex-direction: column;
	padding: 8px;
}

body.shop .page-container .sidebar .sidelist h2,
body.shop .page-container .sidebar .sidelist h3 {
	margin: 8px 0px;
}

body.shop .page-container .itembox {
	margin: 8px;
}

body.shop .page-container .itembox .item {
	display: inline-block;
	width: 200px;
	margin: 8px;
	vertical-align: top;
}

body.shop .page-container .itembox .item .image-box img {
	max-width: 100%;
}

body.shop.item .page-container {
	max-width: 800px;
}

body.shop.item .page-container h1 {
	margin: 4px;
}

body.shop.item .page-container .top {
	display: flex;
	margin: 8px;
}

body.shop.item .page-container .top .appearance {
	min-width: 50%;
}

body.shop.item .page-container .top .appearance .item-image {
	background: var(--secondary-container-background);
	border: var(--secondary-container-border);
	padding: 4px;
}

body.shop.item .page-container .top .appearance .item-image img {
	display: block;
	margin-left: auto; margin-right: auto;
}

body.shop.item .page-container .top .details {
	flex-grow: 1;
	padding: 2px;
}

body.shop.item .page-container .items details {
	margin: 2px;
	padding: 2px;
}

body.shop.item .page-container .items details summary {
	background: var(--primary-container-background);
	border: var(--primary-container-border);
	display: flex;
	cursor: pointer;
	margin: 4px auto;
}

body.shop.item .page-container .items details .usercard {
	margin: 0px auto;
}

body.shop.item .page-container .usercard .userlink {
	font-size: 20px;
	font-weight: bold;
}

body.shop.item .page-container .usercard .userlink .mycon {
	width: 32px;
	height: 32px;
}

@media only screen and (orientation: landscape) {
}

@media only screen and (orientation: portrait) {
	body.shop.item .page-container .top {
		flex-direction: column;
	}
	
	body.shop.item .page-container .top .details .button {
		display: block;
		margin-left: auto;
	}
}

/* == USER PROFILE */
body.profile .profile-box {
	display: flex;
	gap: 4px;
}

body.profile .profile-box .mainbar {
	flex-grow: 1;
}

body.profile .profile-box .mainbar,
body.profile .profile-box .sidebar {
	margin: 0px 2px;
}

@media only screen and (orientation: landscape) {
	body.profile .profile-box {
		flex-direction: row;
	}
}

@media only screen and (orientation: portrait) {
	body.profile .profile-box {
		flex-direction: column;
	}
}

/* == USER SETTINGS */
body.settings.profile .page-container .usercard {
	background-image: var(--usercard-image, none);
	background-color: var(--usercard-color, var(--secondary-container-background));
	border: 1px solid #7e7e7e;
}
body.settings.profile .page-container div.usercard { width: 400px; }
body.settings.profile .page-container .usercard .userlink {
	font-size: 20px;
	font-weight: bold;
}

body.settings.profile .page-container .usercard .userlink .mycon {
	height: 32px;
}

body.settings.profile table.optlist {
	width: 418px;
}

body.settings.profile .page-container label { font-weight: bold; }
body.settings.profile .wdropdown#card button.usercard, .wdropdown#frame button { width: 300px; }
body.settings.profile .wdropdown#card .select { overflow-x: hidden; }
body.settings.profile .wdropdown#frame > button { padding: 2px; }
body.settings.profile .wdropdown#frame > div.select .avatar {
	float: left;
	margin-right: 2px;
}

/* == MISC */

heading .button {
	display: inline-block !important;
}

.file-table {
	width: calc(100% - 8px);
	border: 1px dotted var(--border-line);
}

.file-table tr {
	border-bottom: 1px dotted var(--border-line);
}

.userlink {
	display: inline-block;
	margin: 4px 0px;
}

.userlink a {
	color: var(--main-text);
	text-decoration: none;
}

.userlink img {
	vertical-align: bottom;
	margin-right: 4px;
}

.message-container {
	background-color: var(--main-background);
	border: var(--primary-container-border);
	display: block;
	padding: 4px;
	margin-right: 8px;
}

.message-container > div {
	display: block;
}

.message-container .subject a {
	font-size: 18px;
	font-weight: bold;
	vertical-align: top;
}

.message-container .body {
	background-color: var(--primary-container-background);
	border: var(--primary-container-border);
	padding: 8px;
	margin: 4px;
}

.message-container .date {
	text-align: right;
}

.live-preview {
	vertical-align: top;
	overflow: auto;
}

.wrapper {
	display: block;
	padding: 8px;
}

.wrapper table input {
	width: calc(100% - 20px);
}

.account-name {
	vertical-align: top;
}

.account-name img {
	vertical-align: middle !important;
	width: 32px;
	display: inline-block;
}

.dropdown:hover .menu, .dropdown:active .menu {
	display: block;
}
	
.button.dropdown > a {
	cursor: pointer;
}

.dropdown .menu {
	background-image: var(--background-image);
	display: none;
	position: relative;
	background-color: var(--primary-container-background);
	border: var(--primary-container-border);
	padding: 4px;
	right: 152px;
	width: 140px;
	top: -28px;
}
	
.dropdown:hover {
	background-position-y: 100%;
}

.dropdown .menu.below {
	right: 124px;
	top: 2px;
}

.upload-table {
	width: 512px;
	max-width: calc(100% - 32px);
	margin: 0px auto;
}

.message-table {
	width: 768px;
	max-width: calc(100% - 32px);
	margin: 0px auto;
}

.message-table input, .message-table textarea {
	width: 100%;
}

.double-column-table tr td:nth-of-type(1),
.double-column-table tr th:nth-of-type(1) {
	text-align: right;
	vertical-align: top;
}

.mail-count {
	color: var(--alert);
	position: relative;
	top: -6px;
	right: 28px;
}

.form-container {
	background-color: var(--primary-container-background);
	border: var(--primary-container-border);
	padding: 8px;
	margin: 4px;
}

.mailbox a,
.mailbox a:link, .mailbox a:visited {
	color: var(--main-text);
	text-decoration: none;
}

.mailbox .message,
.userbox .member {
	background-color: var(--primary-container-background);
	border: var(--primary-container-border);
	margin: 4px;
	padding: 8px;
}

.emote {
	image-rendering: crisp-edges;
	image-rendering: -moz-crisp-edges;
	image-rendering: -webkit-optimize-contrast;
	image-rendering: pixelated;
}

.close {
	position: absolute;
	background-image: url('icons/deny');
	background-size: 100%;
	width: 48px;
	height: 48px;
	cursor: pointer;
	top: 8px;
	right: 8px;
}

.thricon {
	height: 16px;
}

.errors .error {
	color: var(--error);
	display: block;
}

.userlink { font-family: var(--primary-font); }

.posteditor .editor-buttons .button a > input,
.posteditor .editor-buttons .button a > select {
	background: none;
	border: none;
	height: 100%;
	width: 100%;
	font-family: var(--primary-font);
}

.posteditor .editbox {
	display: flex;
}

.posteditor .editbox textarea#editor { flex-grow: 1; }

canvas#snow {
	position: fixed;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	pointer-events: none;
	z-index: 100;
}

div.emotebox {
	width: 256px;
	overflow-y: auto;
}

div.emotebox .emote-container {
	padding: 2px;
	cursor: pointer;
	border: 1px solid transparent;
}

div.emotebox .emote-container:hover {
	border: var(--menu-border, 1px solid #bdbdbd);
	background: var(--menu-bg, #d0d0d0);
}

.mailcontainer {
}

.mailcontainer .subject {
	font-family: var(--primary-font);
	margin: 2px 2px 0px 2px;
	background: var(--mail-subject-bg, #b7b7b7);
	border: var(--mail-subject-border, 1px solid #8a8a8a);
	padding: 2px;
}

.mailcontainer .subject img,
.mailcontainer .trade-icon {
	vertical-align: middle;
}

.mailcontainer .sub {
	margin: 0px 8px;
	background: var(--mail-sub-bg, #cecece);
	border: var(--mail-sub-border, 1px solid #a8a8a8);
	border-top: none;
	padding: 2px 8px;
}

.mailcontainer .content {
	background: var(--mail-content-bg, #dbdbdb);
	border: var(--mail-content-border, 1px solid #959595);
	border-top: none;
	margin: 0px 16px;
	padding: 8px 4px 4px 4px;
}

.mailcontainer .buttonbar {
	display: flex;
	border-top: var(--mail-content-border, 1px solid #959595);
	background: var(--mail-buttonbar, #cacaca);
	margin: 4px -4px -4px -4px;
}

.mailcontainer .buttonbar .date {
	flex-grow: 1;
	font-family: var(--primary-font);
	padding: 4px;
	color: var(--subtitle, #525252);
}

.rating .star-container .stars {
	background: url('icons/ratings/star');
	height: 100%;
	background-size: auto 100%;
	max-width: 100%;
}
.rating .star-container {
	background-image: url('icons/ratings/unstar');
	background-size: 20% 100%;
	height: 100%;
	cursor: pointer;
}

.rating.large {
	height: 48px;
	display: inline-block;
}
.rating.large .star-container {
	width: 240px;
}

.rating.medium {
	height: 24px;
	display: inline-block;
}
.rating.medium .star-container {
	width: 120px;
}

.rating.small {
	height: 12px;
	display: inline-block;
}
.rating.small .star-container {
	width: 60px;
}

a.thumbnail-box {
	display: inline-block;
	background-color: #0005;
	background-size: cover;
	background-repeat: no-repeat;
	width: 150px;
	height: 150px;
	color: var(--main-text);
	font-family: var(--primary-font);
	text-decoration: none;
	margin: 2px;
}

a.thumbnail-box::after {
	display: block;
	content: "View Image";
	height: 20px;
	margin: 130px 0px 0px 0px;
	text-align: center;
	border: var(--primary-container-border);
	background-color: var(--primary-container-background);
}

button.user-input {
	background: var(--primary-container-background);
	border: var(--primary-container-border);
	width: 184px;
	height: 30px;
	text-align: left;
	font-family: var(--primary-font);
	font-size: 14px;
	vertical-align: middle;
	cursor: pointer;
}

div.user-input-box {
	background: var(--primary-container-background);
	border: var(--primary-container-border);
	display: flex;
	flex-direction: column;
	position: absolute;
	max-height: 300px;
	overflow-y: auto;
}

div.user-input-box > input[type="search"] {
	border: none;
	flex-shrink: 0;
}

div.user-input-box .userlink > * {
	pointer-events: none;
}

/* NEWS */
@font-face {
    font-family: Alagard;
    src: url(/assets/alagard.ttf) format("truetype");
}

body.news:not(.post) {
	--main-background: #fff1e0;
	--background-image: none;
	font-family: Alagard;
}

body.news:not(.post) .page-container {
	color: #7d4310;
}

body.news .news-header h1 {
	font-size: 4em;
	margin: 4px;
}

body.news .news-header {
	text-align: center;
}

body.news .news-header .hr {
	display: flex;
}

body.news:not(.post) .page-container hr {
	---hr-border: 1px double #7d4310;
	border: none;
	border-top: var(---hr-border);
	border-bottom: var(---hr-border);
	min-width: 4px;
	height: 2px;
}

body.news:not(.post) .news-header a:link {
	margin: auto 8px;
}

body.news:not(.post) .page-container hr:not(.nogrow) {
	flex-grow: 1;
	width: 100%;
}

body.news .article {
	margin: 16px;
}

@media only screen and (orientation: landscape) {
	body.news .page-container .articles {
		display: grid; 
		grid-template-columns: 1fr 1fr 1fr; 
		gap: 16px;
		grid-template-areas: 
			"top top top2"
			"top top top2"
			". . ."; 
	}
	
	body.news .page-container .articles .article:nth-of-type(1) {
		grid-area: top;
	}
	
	body.news .page-container .articles .article:nth-of-type(2) {
		grid-area: top2;
	}
}

body.news .article {
	display: flex;
	flex-direction: column;
}

body.news .article .subject {
	font-size: 1.5em;
}

body.news .article .summary {
	flex-grow: 1;
	white-space: pre-wrap;
}

body.news .article .subj-line,
body.news .article .info-line {
	display: flex;
	padding: 4px;
}

body.news .article div.gap {
	flex-grow: 1;
}

body.news.post h1.article-title {
	margin: 2px;
}

body.news.post div.subinfo i {
	color: var(--subtitle);
}

/* EDITOR */
.tabbed-container._weditor .tablist .buttonrow {
	height: 0px;
	overflow: hidden;
}

.tabbed-container._weditor .tablist .buttonrow.visible {
	background: var(--tab-selected);
	border: var(--tab-border);
	border-bottom: none;
	padding: 4px 0px 0px 4px;
	height: unset;
}

.tabbed-container._weditor .tablist .buttonrow .button {
	margin: 0px;
}

.tabbed-container._weditor .box[name="edit"] {
	display: flex;
	margin: 0px;
	padding: 0px;
}

.tabbed-container._weditor .box[name="edit"] textarea {
	border: none;
	margin: 0px;
}

.tabbed-container._weditor .box[name="preview"] {
	 font-family: initial;
}

body > ._weditdialog {
	background: var(--primary-container-background);
	border: var(--primary-container-border);
	position: absolute;
	width: 300px;
}

body > ._weditdialog .chevron {
	background: var(--primary-container-background);
	border: var(--primary-container-border);
	position: relative;
	margin-top: -7px;
	width: 8px;
	height: 8px;
	transform: rotate(45deg);
	left: 6px;
	border-bottom: none;
	border-right: none;
}

body > ._weditdialog .titlerow {
	display: flex;
}

body > ._weditdialog .titlerow b.name {
	flex-grow: 1;
}

body > ._weditdialog table {
	margin: 0px;
}

body > ._weditdialog .buttonrow {
	display: flex;
}

body > ._weditdialog table tr th {
	text-align: left;
}

div.smiley-list {
	max-height: 200px;
	overflow-y: scroll;
}

div.smiley-list button {
	background: none;
	border: none;
	padding: 2px;
	margin: 2px;
	cursor: pointer;
}

/* AD STYLING */
.adbanner img {
	max-width: 100%;
}
