
:root {
	--text-color-online: #0a0;
	--text-color-offline: #aaa;
	--text-color: #FFF;
	--text-color-inactive: #AAA;
	--background-url: url(/data/gui/panelwood003.jpg)
	overflow: hidden;
}

/* disable pull down refresh in browsers that support it */
html, body {
	overscroll-behavior: none;
}

body {
	padding: 0;
	margin: 0;
}

button,
input {
	font-size: 16px;
	touch-action: pan-x pan-y;
}

.emoji-text {
/* a better solution might be to create our own emoji font
	font-family:
			"Noto Color Emoji",
			"Twemoji Mozilla",
			"Apple Color Emoji",
			"Segoe UI Emoji",
			"Segoe UI Symbol",
			"EmojiOne Color",
			"Android Emoji";
*/
}

.hidden {
	display: none;
}

.center-text {
	text-align: center;
}

input:invalid {
	border: 2px dashed red;
}

.credential-dialog label {
	min-width: 8em;
	display: inline-block;
}

.credential-dialog a {
	color: #FFF;
}

li.online {
	color: var(--text-color-online);
}

li.offline {
	color: var(--text-color-offline);
}

ul.uniform {
	list-style-position: outside;
	margin-left: -23px;
}

#leftColumn .tabpanel {
	flex: 1;
}

.tabpanel, .tabpanel-h {
	display: flex;
	overflow-y: auto;
	overflow-x: hidden;
}

.tabpanel {
	flex-direction: column;
}

.tabpanel-h {
	flex-direction: row;
}

.tabpanel-content {
	display: flex;
	flex-direction: column;
	overflow-y: auto;
	overflow-x: hidden;
	border: 1px solid #000;
	flex: 1;
}

.tabpanel-tabs-h {
	display: flex;
	flex-direction: column;
}

.tabpanel-tabs button {
	background: var(--background-url);
	color: var(--text-color-inactive);
}

.tabpanel-tabs button.active {
	color: var(--text-color);
}

.tabpanel-tabs-top button {
	border-bottom: 0;
}

.tabpanel-tabs-bottom button {
	border-top: 0;
}

.tabpanel-tabs-left button {
	border-right: 0;
}

.tabpanel-tabs-right button {
	border-left: 0;
}


#buddyList {
	width: 128px;
}

#buddyList ul {
	list-style-type: none;
	margin: 0;
	padding: 0.1em;
	white-space: nowrap;
}

#menubutton {
	width: 90px;
}

#soundbutton {
	width: 20%;
	padding: 0;
}

#outfit-preview, button#rotate-cc {
	margin-left: 0.5em;
}

div.itemSlot {
	width: 32px;
	height: 32px;
	background-repeat: no-repeat;
	border: 1px solid black;
	background-color: #CCC;
	float: left;
	padding: 1px;
	margin: 2px;
	text-align: right;
	color: #FFF;
	font-weight: bold;
	font-size: 10px;
	text-shadow: -1px 0 #000, 0 1px #000, 1px 0 #000, 0 -1px #000;
}

div.quickPickup div.itemSlot {
	cursor: url(/data/sprites/cursor/itempickupfromslot.png) 1 3, auto;
}

.equipment {
	position: relative;
	height: 200px;
	border: 1px solid black;
	width: 124px;
}
#head0 { position: absolute; top: 0px; left: 40px }
#lhand0 { position: absolute; top: 50px; left: 80px }
#rhand0 { position: absolute; top: 50px; left: 0px }
#finger0 { position: absolute; top: 90px; left: 0px }
#armor0 { position: absolute; top: 40px; left: 40px }
#cloak0 { position: absolute; top: 90px; left: 80px }
#legs0 { position: absolute; top: 80px; left: 40px }
#feet0 { position: absolute; top: 120px; left: 40px }
#pouch0 { position: absolute; top: 160px; left: 40px }

#chat {
	height: 100%;
	border: 1px solid #000;
	padding: 0.5em;
	overflow-y: scroll;
	word-wrap: break-word;
	display: block;
	color: #000;
	background-color: #FFF;
	flex: 1;
}

#zoneinfo {
	color: #FFF;
	background-color: #000;
}

#stats, .group-members, .group-member-component {
	display: flex;
	flex-direction: column;
}

#stats {
	border: 1px solid black;
	width: 128px;
	float: left;
	font-size: 0.8em;
	white-space: pre;
	padding: 0.1em;
}

#charname {
	font-size: 1rem;
}

.stattext {
}

.statbar {
	outline: 1px solid #000000;
	height: 8px;
	margin-left: 2px;
	margin-right: 5px;
	margin-bottom: 3px;
}

#karmabar {
	margin-top: 0.2em;
}

div.logerror { color: #F00 }
div.logwarning { color: #a00000 }
div.logprivmsg { color: #444 }
div.logclient { color: #888}
div.loginformation { color: #ffc800}
div.lognegative { color: #f00}
div.lognormal { color: #000}
div.logpositive { color: #0f0}
div.loggroup { color: #633d8b }
div.logemote { color: #633d8b }
div.logresponse { color: #006400 }
div.logscene_setting { color: #572002 }
div.logsignificant_negative { color: #ff8f8f }
div.logsignificant_positive { color: #4169e1 }
div.logtutorial { color: #ac00ac }
div.logsupport { color: #ff7200 }

span.logtimestamp {
	font-size: 8pt;
	color: gray;
}

span.logh {
	color: #00F
}

span.logi {
	text-decoration: underline
}

div.logcolL {
	float: left;
	min-width: 2.5em;
	height: 100%;
	white-space: pre;
}

div.logcolR {
	height: 100%;
	overflow-y: auto;
}

.actionmenu {
}

.actionmenu button {
	min-width: 5em;
	width: 100%
}

.mainColumn {
	display: flex;
	flex-direction: column;
	height: 99vh;
	height: 99dvh;
}

#leftColumn {
	float: left;
	width: 130px;
}

#middleColumn {
	float: left;
	width: 640px;
	max-width: calc(100vw - 130px - 150px - 10px);
	background-color: #000;
}

#rightColumn {
	float: left;
	width: 150px;
	overflow: auto;
}

.buttonColumn {
	margin-left: 2px;
	margin-right: 2px;
}

#minimap {
	border: 1px solid black;
	float: left
}

#skullsbackground {
	background: #000;
}

#skulls {
	height: 1em;
	width: 0px;
	margin: auto;
	background: url(/data/gui/danger.png) repeat;
}

.qm-button, img#held-object {
	position: absolute;
	display: none;
	opacity: 0.5;
}

.group-buttons {
	text-align: right;
}

#viewport {
	display: block;
/*
	max-height: calc(100vh - 5em);
	max-width: calc((100vh - 5em) * 640 / 480);
	max-height: calc(100dvh - 5em);
	max-width: calc((100dvh - 5em) * 640 / 480);
*/
}


#bottomPanel {
	flex: 1;
	height: auto;
	overflow: hidden;
}

#equipmentborder {
	float: left;
	width: 130px
}

#bag { border: 1px solid black; width: 120px; padding: 2px; float: left }
#keyring { border: 1px solid black; width: 80px; padding: 2px; float: left }
#portfolio { border: 1px solid black; width: 80px; padding: 2px; float: left }

#chatinput {
	width: 98%
}

.inventorypopup {
	border: 1px solid black;
	background-color: #FFF;
	padding: 2px;
	float: left
}

.inventorypopup_2 {
	width: 80px;
}

.inventorypopup_3 {
	width: 120px;
}

.inventorypopup_5 {
	width: 200px;
}

.popupdiv, .windowdiv {
	x-border: 1px solid #000;
	background-color: #FFF;
	box-shadow: 2px 2px 4px 0px rgba(0,0,0,0.75);
}

.popuptitle, .windowtitlebar {
	border-bottom: 1px solid #777;
	border: 1px solid #000000;
	overflow: hidden;
}
.windowtitle {
	margin: 3px;
}

.popuptitleclose, .windowtitleclose {
	float: right;
	margin-left: 4px;
}

.popuptitleclose {
	border: 1px solid #000000;
	height: 100%;
	width: 1.1em;
	text-align: center;
}

.popuptitleclose:hover {
	background-color: #ffffff2a;
}

.quantityselectorvalue {
	width: 4em;
}

.unselectable, .unclickable, .qm-button, .joystick-button {
	-ms-user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	user-select: none;
}

.unclickable {
	pointer-events: none;
}

.background, .background a {
	background: var(--background-url);
	color: var(--text-color);
}

.inlineblock {
	display: inline-block;
	vertical-align: top;
}

.menugroup {
	color: #000;
	background: #FFF;
	text-align: center;
}

.horizontalgroup {
	display: flex;
	align-items: center;
}

.verticalgroup {
	display: flex;
	align-items: center;
	flex-direction: column;
}

.stretchgroup {
	align-items: stretch;
}

.tradepopup {
	width: 210px;
}

#trade-partner-column {
	float: left;
	margin-right: 20px;
}

.trade-column {
	text-align:center;
}

#trade-partner-status, #trade-my-status {
	font-weight: bold;
}

.trade-NO_ACTIVE_TRADE {
	color: #AAA;
}

.trade-MAKING_OFFERS {
	color: #AAA;
}
.trade-LOCKED {
	color: #FFF;
}
.trade-DEAL_WAITING_FOR_OTHER_DEAL {
	color: #0A0;
}

#trade-cancel {
	display: block;
	margin-left: auto;
}

.tavellogtabpanel {
}

.tlog_hlayout {
	width: 40em;
	height: 25em;
}

.tlog_rpane {
	float: top;
	height: 100%;
	margin-left: 15em;
	overflow-y: auto;
}

.travellogitems {
	float: left;
	width: 15em;
	margin-top: 1em;
}

.travellogdetails {
	float: left;
	margin-top: 1em;
}

.travellogdescription {
	font-style: italic;
}

.imageviewer h3 {
	margin: 0;
}

#portfolio {
	display: none;
}

#client {
	display: none;
}

#loginpopup {
	left: 15vw;
	width: 70vw;
	top: 30vh;
	top: 30dvh;
	height: 20vh;
	height: 20dvh;
	line-height: 10vh;
	line-height: 10dvh;
	position: absolute;
	z-index: 1000000;
	color: #000;
	text-align: center;
	padding: 1em
}

.shortcuts-dialog {
	min-width: 20em;
	max-width: 37em;
}

.shopsign {
	min-width: 35em;
	max-width: 40em;
	height: 23em;
	overflow-y: auto;
}

.shopcaption {
}

.shoplist {
	display: flex;
	flex-direction: column;
	align-items: left;
}

.shoprow {
	width: 100%;
	height: 3em;
}

.shopcol {
	float: left;
	border-style: solid;
	border-width: 1px;
	height: 100%;
}

.shopcolr {
	flex: 1;
}

.bestiary {
	min-width: 35em;
	height: 23em;
	overflow-y: scroll;
}

.bestiary-cell {
	min-width: 3em;
	min-height: 1em;
	padding: 4px;
}

.progressbar {
	border: 1px solid #005;
	line-height: 5vh;
	line-height: 5dvh;
}

.progressbarvalue {
	width: 100%;
	background-color: #00A;
	animation-duration: 600s;
	animation-name: progressbar;
	animation-timing-function: cubic-bezier(0, 0, 0.1, 1);
	animation-iteration-count: infinite;
}

@keyframes progressbar {
	from {
		width: 0
	}

	to {
		width: 100%;
	}
}

.dialogcontents {
	padding: 9px;
	border-style: solid;
	border-width: 1px;
	border-color: #000000;
}

.dialogbuttons {
	margin-left: auto;
	margin-right: 0px;
	padding-top: 15px;
}

.dialogbutton + .dialogbutton {
	margin-left: 5px;
}

.checksetting {
	margin-left: 0px;
	margin-right: auto;
}

.vgroupcol {
	margin-bottom:auto;
	margin-top:0px;
}

.vgroupcolr {
	margin-bottom: auto;
	margin-top: 0px;
	padding-left: 15px;
}

.indented {
	margin-left: 1.5em;
}

.tally {
	font-family: Tally;
}

#send-button, #keywords-button, #emojis-button {
	margin-left: 2px;
}

.menubutton, .shortcut-button {
	margin: 2px;
}

img.status-icon {
	margin-left: 2px;
	margin-top: 2px;
}

img#click-indicator {
	position: absolute;
	display: none;
}

.limitedsize {
	max-width: 70vw;
	max-height: 70vh;
	overflow-x: auto;
	overflow-y: scroll;
}

.pad-contents {
	padding: 0.5em;
}

table.shoptable {
	border-collapse: collapse;
}

table.shoptable th, table.shoptable td {
	border: 1px solid var(--text-color);
	padding: 2px;
}

td.number {
	text-align: right;
}
