@import url('css/theme.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-right: 8px;
}

@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;
}

/* = TABBED CONTAINERS */

.tabbed-container {
	display: flex;
	flex-direction: column;
}

.tabbed-container .tablist {
	position: relative;
	bottom: -2px;
	display: flex;
	flex-direction: row;
	flex-shrink: 0;
	overflow-x: auto;
	overflow-y: hidden;
}

.tabbed-container .tablist .tab,
.tabbed-container .tablist .faketab {
	cursor: pointer;
}

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

.tabbed-container .tablist .tab,
.tabbed-container .tablist .faketab {
	background-color: var(--tab-inactive);
	border: var(--tab-border);
	display: inline-block;
	padding: 8px;
	position: relative;
	margin: auto 2px 0px 2px;
	bottom: -2px;
	text-align: center;
	font-family: var(--primary-font);
}

.tabbed-container .tablist .tab *:not(.userlink) img,
.tabbed-container .tablist .faketab img {
	vertical-align: middle;
}

.tabbed-container .tablist .tab.selected, 
.tabbed-container .tablist .faketab.selected {
	background: var(--tab-selected, #d3d3d3);
	background: -moz-linear-gradient(0deg, var(--tab-selected) 50%, var(--tab-gradient) 100%);
	background: -webkit-linear-gradient(0deg, var(--tab-selected) 50%, var(--tab-gradient) 100%);
	background: linear-gradient(0deg, var(--tab-selected) 50%, var(--tab-gradient) 100%);
	bottom: -2px;
	/*border-bottom: none;*/
}

.tabbed-container .box,
.tabbed-container .dropdown {
	background-color: var(--tab-selected);
	border: var(--tab-border);
	padding: 4px;
	display: block;
	flex: auto;
}

/* JS should handle positions and shit */
.tabbed-container .dropdown {
	position: absolute;
	border-top: none;
}

@media only screen and (orientation: landscape) {
	.tabbed-container.vertical {
		flex-direction: row;
	}

	.tabbed-container.vertical > .tablist {
		position: relative;
		right: -1px;
		bottom: 0px;
		display: flex;
		flex-direction: column;
		overflow-x: hidden;
		overflow-y: auto;
		flex-shrink: 0;
	}

	.tabbed-container.vertical > .tablist .tab,
	.tabbed-container.vertical > .tablist .faketab {
		margin: 2px 0px;
		right: -1px;
		bottom: 0px;
	}

	.tabbed-container.vertical > .tablist .tab.selected,
	.tabbed-container.vertical > .tablist .faketab.selected {
		background: var(--tab-selected, #d3d3d3);
		background: -moz-linear-gradient(-90deg, var(--tab-selected) 25%, var(--tab-gradient) 100%);
		background: -webkit-linear-gradient(-90deg, var(--tab-selected) 25%, var(--tab-gradient) 100%);
		background: linear-gradient(-90deg, var(--tab-selected) 25%, var(--tab-gradient) 100%);
		border: var(--tab-border);
	}
}

/* == MAIN BODY */

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

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

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

/* == 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;
}

body > div.navgap {
	height: 34px;
}

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

/* = TOP BAR */
nav.top { 
	display: flex;
	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;
}

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

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(162,147,112,1) 0%, rgba(243,220,169,1) 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, rgba(243,220,169,1) 0%, rgba(210,190,143,1) 8px);
}

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

nav.top div.slideout.account .upane {
	display: flex;
}

nav.top div.slideout.account .upane .avatar {
	flex-shrink: 0;
	background: var(--primary-container-background);
	border: var(--primary-container-border);
}

nav.top div.slideout.account .upane .ninfo {
	flex-grow: 1;
}

nav.top div.slideout.account.active .dropdown { height: 212px; }
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.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 .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: 264px; }
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;
}

@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%;
	}
	
	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;
	}
}

@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;
	}
	
	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; }
}

/* == BUTTONS */

.button { 
	background: var(--default-button-background);
    border: var(--default-button-border);
    font-family: var(--primary-font);
	width: 44px;
	height: 44px;
	font-size: 12px;
	font-weight: normal;
	flex-shrink: 0;
}

.button:hover > a > img:nth-of-type(1) {
	filter: contrast(50%);
}

.button:active > a > img:nth-of-type(1) {
	filter: brightness(50%) saturate(0%);
}

.button > a {
	display: block;
	width: 144px;
	height: 48px;
	margin: -2px;
}

.button > a > img:nth-of-type(1) {
	display: inline;
	width: 48px;
	height: 48px;
	margin-right: 2px;
	flex-shrink: 0;
}

.popbutton {
	width: 44px;
	text-overflow: clip;
	overflow: hidden;
	transition-duration: 0.1s;
}

.longbutton, .smallbutton {
	display: inline-block !important;
	padding: 2px;
	height: 20px;
}

.longbutton {
	width: 116px;
}

.smallbutton {
	width: 20px;
}

.longbutton a, .smallbutton a {
	display: flex;
	align-items: center;
	height: 100% !important;
	width: 100% !important;
	margin: 0px -2px;
}

.longbutton.txt a {
	display: inline-block !important;
	width: 100%; height: 100%;
	font-family: var(--primary-font);
	text-decoration: none;
	text-align: center;
	color: var(--main-text, #000000);
	vertical-align: middle;
}

.longbutton > a > img, .smallbutton > a > img {
	width: 24px !important;
	height: 24px !important;
}

.longbutton > a, .smallbutton > a {
	color: var(--main-text);
	text-decoration: none;
	display: flex !important;
	align-items: center;
	height: 24px;
	width: 120px;
}
	
.longbutton > a img, .smallbutton > a img {
	margin-right: 4px;
}

.oddbutton {
	position: absolute;
}

.fakebutton {
	display: inline-block !important;
	cursor: pointer;
}

.button:hover, .button.selected {
	background: var(--hover-button-background);
    border: var(--hover-button-border);
}

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

.button.disabled, .longbutton.disabled, .smallbutton.disabled {
	background: var(--disabled-button-background);
    border: var(--disabled-button-border);
}

@media only screen and (orientation: landscape) {
	.button {
		display: block;
		margin: 2px;
	}
	
	.button a {
		display: block;
		width: 48px;
		height: 48px;
	}
	
	.popbutton {
		font-size: 16px;
		margin: 2px 4px;
	}
	
	.popbutton:hover {
		width: 140px;
	}
	
	.popbutton > a {
		color: var(--main-text);
		text-decoration: none;
		display: flex;
		align-items: center;
		height: 48px;
		width: 144px;
	}
	
	.popbutton > a img {
		margin-right: 4px;
	}
	
	.oddbutton {
		top: 8px;
		left: calc(64px + 8px);
	}
}

@media only screen and (orientation: portrait) {
	.button {
		display: inline-block;
		margin: 2px;
	}
	
	.popbutton {
		margin: 4px 2px;
	}
	
	.popbutton:hover {
		width: 44px;
	}
	
	.popbutton a:nth-of-type(2) {
		display: none;
	}
	
	.oddbutton {
		top: calc(64px + 8px);
		left: 8px;
	}
	
	.longbutton.collapse {
		width: 20px;
		margin: 2px !important;
		font-size: 0px;
	}
}

/* == 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.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 > a {
	font-size: 2em;
}

.heading.main > a {
	vertical-align: middle;
}

.heading > 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 > img {
	filter: drop-shadow(0px 0px 2px black);
}

.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;
	}
}

/* == HOME PAGE */

body.home .home-container {}
body.home .home-container img.logo { 
	max-height: 256px;
	max-width: 100%;
	display: block; 
	margin-left: auto;
	margin-right: auto;
}

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

body.home .home-container .link-contents {
	display: flex;
}

body.home .home-container .link-contents .link-item {
	margin: 8px;
}

body.home .home-container .link-contents .link-item img {
	margin: 2px;
	vertical-align: middle;
}

body.home .home-container .footer {
	max-width: 512px;
	margin: auto;
	text-align: right;
}
body.home .home-container .blog-contents {
	max-width: 512px;
	margin: auto;
	border-bottom: 1px solid black;
}
body.home .home-container .blog-contents .title {
	border-bottom: 1px solid black;
	font-family: var(--primary-font);
	font-weight: bold;
	font-size: 16px;
	padding: 2px;
}
body.home .home-container .blog-contents .blog-item {
	background: var(--primary-container-background);
	border: var(--primary-container-border);
	margin: 2px;
	padding: 4px;
}
body.home .home-container .blog-contents .blog-item i { text-align: right; }

/* == LIBRARY */

body.library .lib {
	background-color: transparent;
	border: none;
}

body.library .lib.large {
	max-width: 256px;
	text-align: center;
}

body.library .lib a {
	margin: 4px 8px;
	display: inline-block;
	
}
			
body.library .lib a:hover {
	text-shadow: 0px 0px 4px white;
}

body.library .lib a > img {
	margin: auto;
	filter: brightness(90%);
	transition-duration: 0.1s;
}
			
body.library .lib a:hover > img {
	filter: drop-shadow(0px 0px 4px white) brightness(100%);
}
			
body.library .lib.main a img {
	max-height: 64px;
	min-width: 64px;
	max-width: 192px;
}

body.library .lib.small,
body.library .lib.tiny {
	display: block;
}

body.library .lib.small > a,
body.library .lib.tiny > a {
	margin: 4px 8px;
}

body.library .lib.small > a img,
body.library .lib.tiny > a img {
	max-height: 16px;
	min-width: 16px;
	max-width: 48px;
}

body.library .lib.small > a {
	width: 368px;
}

body.library .lib.tiny > a {
	min-width: 64px;
}

/* == 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 {
	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); }

/* == 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 th,
body.forum table.board-display td {
	padding: 4px;
}

body.forum.index 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) {
	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.index table.board-display tr:not(.title-row) td:nth-of-type(4),
body.forum.index table.board-display tr th:nth-of-type(3),
body.forum.board table.board-display tr:not(.title-row) td:nth-of-type(4),
body.forum.board table.board-display tr th:nth-of-type(4),
body.forum.board table.board-display tr.sub-row td:nth-of-type(3),
body.forum.newest table.board-display tr:not(.title-row) td:nth-of-type(4),
body.forum.newest table.board-display tr th:nth-of-type(4),
body.forum.watched table.board-display tr:not(.title-row) td:nth-of-type(4),
body.forum.watched table.board-display tr th:nth-of-type(4),
body.forum.thread table.board-display tr.title-row th:nth-of-type(3),
body.forum.thread table.board-display tr td:nth-of-type(2),
body.forum.thread table.post-display tr td:nth-of-type(3),
body.forum.thread table.reply-display tr.title-row th:nth-of-type(2),
body.forum.thread table.reply-display tr.button-row td:nth-of-type(2),
body.forum.new table.board-display tr.button-row td:nth-of-type(2),
body.forum.reply table.board-display tr.button-row td:nth-of-type(2) {
	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 0px;
	table-layout: fixed;
}

body.forum.thread table.post-display td.author-cell,
body.forum.thread table.post-display tr.author-row {
	background: 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 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; }
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.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.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%;
}

@media only screen and (orientation: landscape) {
	body.forum.thread table.board-display {
		top: -24px;
	}

	body.forum.thread table.post-display tr.author-row {
		display: none;
	}
}

@media only screen and (orientation: portrait) {
	body.forum.index table.board-display tr td:nth-of-type(4),
	body.forum.index table.board-display tr th:nth-of-type(2),
	body.forum.index 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(3),
	body.forum.board table.board-display colgroup col:nth-of-type(5),
	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 td.author-cell {
		display: none;
	}
}



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;
}

.formbutton button {
	background: none;
	color: var(--main-text);
	text-decoration: none;
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	font-family: var(--primary-font);
	border: none;
	box-sizing: content-box;
	padding: 0px;
	cursor: pointer;
}

textarea {
	resize: vertical;
	width: calc(100% - 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('//assets.worlio.com/style/icons/deny');
	background-size: 100%;
	width: 48px;
	height: 48px;
	cursor: pointer;
	top: 8px;
	right: 8px;
}

.thricon {
	height: 16px;
}

div.page-buttons {
	display: inline-flex;
	flex-grow: 0;
	flex-shrink: 0;
}

div.page-buttons .button#first-page, 
div.page-buttons .button#page-selector, 
div.page-buttons .button#last-page {
	cursor: pointer;
}

div.page-buttons .button#first-page div, 
div.page-buttons .button#page-selector div, 
div.page-buttons .button#last-page div {
	display: inline-block;
	width: 100%;
	margin: 4px 0px;
}
div.page-buttons .button#first-page div a, 
div.page-buttons .button#page-selector div a, 
div.page-buttons .button#last-page div a {
	color: var(--alert);
	display: inline-block !important;
	text-align: center;
}

.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('//assets.worlio.com/style/icons/ratings/star');
  height: 100%;
  background-size: auto 100%;
  max-width: 100%;
}
.rating .star-container {
	background-image: url('//assets.worlio.com/style/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;
}

.tabbed-container > .tablist > .tab > .tab-close {
	display: inline-block;
	width: 16px; height: 16px;
	margin-left: 4px;
	background-image: url('//assets.worlio.com/style/icons/close');
	background-size: 100%;
	cursor: pointer;
}



/* USER PROFILE PAGE */
body.user-profile .user-infobox {
	width: 180px;
	background: var(--primary-container-background);
	margin: 2px;
	border: var(--primary-container-border);
}

body.user-profile iframe.box {
	padding: 0px;
	margin: -34px -8px auto -8px;
	height: calc(100% - 36px);
	flex-grow: 1;
}

body.user-profile .tabbed-container .tablist {
	margin: -7px -4px auto -8px;
	white-space: nowrap;
}

@media (orientation: portrait) {
	body.user-profile iframe.box { margin-top: -46px; }
	body.user-profile .tabbed-container .tablist { margin: -12px -4px auto -8px; }
}

body.user-profile .tabbed-container .tablist .tab {padding:4px;bottom: 0px;}
body.user-profile .tabbed-container .tablist .tab.selected {bottom: -1px;}

body.user-profile .tabbed-container .tablist .tab.selected[name="profile"] {
	--tab-selected-mid: #d3d3d3AA;
	background: linear-gradient(0deg, #0000 0%, var(--tab-selected-mid) 10%,var(--tab-selected) 50%, var(--tab-gradient, #dedede) 100%);
}

body.user-profile .tabbed-container {
	height: calc(100% - 26px);
}

body.user-profile .tabbed-container .tablist {white-space: nowrap;}

body.user-profile .tabbed-container .box[name='stats'] .stat.role-stat,
body.user-profile .tabbed-container .box[name='stats'] .stat.plan-stat { font-family: var(--primary-font); }
body.user-profile .tabbed-container .stat b {
	font-family: var(--primary-font);
	font-size: 12px;
}

/* TAB */
.tabbed-container .tablist .tab.special {
	--menu-border: 1px outset #ffe301;
}

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: 180px;
	height: 24px;
	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 .userlink > * {
	pointer-events: none;
}

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