@font-face {
  font-family: "Dreamscape";
  src: url('fonts/Dreamscape.woff2') format('woff2');
}
@font-face {
  font-family: "DreamscapeSans";
  src: url('fonts/Dreamscape Sans.woff2') format('woff2');
}

@font-face {
	font-family: 'Rubik';
	font-style: italic;
	font-weight: 100 900;
	src: url(/styles/fonts/Rubik-Italic.woff2) format('woff2-variations');
}
@font-face {
	font-family: 'Rubik';
	font-style: normal;
	font-weight: 100 900;
	src: url(/styles/fonts/Rubik.woff2) format('woff2-variations');
}



/* ===== Scrollbar CSS ===== */
  /* Firefox */
  * {
    scrollbar-width: auto;
    scrollbar-color: #383838 #292929;
  }

  /* Chrome, Edge, and Safari */
  *::-webkit-scrollbar {
    width: 16px;
  }

  *::-webkit-scrollbar-track {
    background: #292929;
  }

  *::-webkit-scrollbar-thumb {
    background-color: #383838;
    border-radius: 4px;
    border: 3px solid #575757;
  }

/****************************
 * Reset Stylesheet         *
 * Load before site styles! *
 ****************************/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
}
:root {scroll-behavior: smooth;}
html {
	width: 100%;
	height: 100%;
	font-size: 13px;
	font-synthesis: small-caps;
	font-family: 'Rubik', sans-serif;
}
body {
	line-height: 1;
	width: 100%;
	height: 100%;
	background-color: #000000;
	transition: opacity 0.15s;
}
#contentwrap {
	margin-left: auto;
	margin-right: auto;
	display:flex;
}

ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

/* remember to define focus styles! */
:focus {
	outline: 0;
}

/* remember to highlight inserts somehow! */
ins {
	text-decoration: none;
}
del, .del {
	text-decoration: line-through;
}

table {
	/* border-collapse: collapse; Can use tbborder or similar with this. I don't think it's needed. */
	border-spacing: 0;
}

label {
	display: inline-block;
	vertical-align: middle;
	white-space: nowrap;
}

/*------------------------- BASE STYLES -----------------------*/

/*------------------------- BODY-------------------------------*/
/* Set the colour, font and font-size of the whole page. Setting background here too
 * not sure if we want to make that customisable or not?
 *
 * also setting link styles for the whole page below:
 * no underline and setting the colour to a bright grey.
 */
body{
	color: #ccc;
	font-size: 1rem;
	background: url(../gfx/backgrounds/Basic_Space.webp) repeat;
}
a, .fakeLink {
	text-decoration: none;
}
a:link, .fakeLink {
	color: #ddd;
}
a:visited {
	color: #ddd;
}
a:hover, .fakeLink:hover {
	cursor: pointer;
	text-decoration: underline;
}

.boldlinks a, .boldlinks fakeLink {
	font-weight: 500;
}

.openextra{
	color: #ddd;
	cursor: pointer;
	display: inline-block;
}
#darkbackground{
	position: fixed;
	left: 0rem;
	top: 0rem;
	bottom: 0rem;
	right: 0rem;
	background: rgba(0,0,0,0.8);
	z-index: 100;
	display: none;
}

.popup_wrap, .modal_wrap {
	max-width: 95%;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 58rem;
	padding: 0.25rem;
	background: #171717;
	position:relative;
	box-shadow: 0 0 0.45rem 0.45rem #000;
	line-height: 1.4;
	max-height: 90vh;
	position: absolute;
}
.popup_wrap {
	padding: 0.5rem;
}
.modal_wrap{
	padding: 0.25rem;
	display:flex;
	flex-direction: column;
}
.modal_header{
	flex: 0 0 auto;
	display:flex;
	border-bottom: 0.1rem rgba(255,255,255,0.5) solid;
}
.modal_title{
	padding-top: 0.3rem;
  padding-left:0.5rem;
	flex: 1 1 auto;
	font-size: 1.2rem;
	font-family: "DreamscapeSans";
	vertical-align: middle;
}
.modal_close{
  flex: 0 0 2rem;
  color: white;
  display: flex;
  flex-direction: column;
  font-size: 2.2rem;
  cursor: pointer;
}
.modal_body{
	flex: 1 1 auto;
	overflow: auto;
}
.modal_footer{
  flex: 0 0 0.1rem;
	border-bottom: 0.1rem rgba(255,255,255,0.5) solid;
}
#extrapin{
	display: none;
	margin: 0.9rem 0;
}
#pageBackground{
	background-position: center;
	background-size:cover;
	position:fixed;
	top:0px;
	left:0px;
	width: 100%;
	height:100vh;
	filter: blur(0.2rem);
}

/*
 * DARK: Sets the background of an element to the darkest of the 3 greys
 * Usually used inside the light element but it's not really mandatory
 */
.dark{
	background: #171717;
}
/*
 * LIGHT: Lighter element, probably the best thing to use for the main parent element
 */
.light{
	background: #333;
}
.alternate>div:nth-child(odd of .visible){
	background: #171717;
}
.alternate>div:nth-child(even of .visible){
	background: #333;
}
/*
 * HIGHLIGHT: Lightest of the 3 greys, probably used for mousing over and highlighting elements
 * can also be used for some good contrast with the light/dark
 */
.highlight{
	background: #595959;
}
/*
 * LIGHTTEXT: Sets the colour of the text to fill a dark element, includes a text shadow to slightly increase readability
 */
.lighttext{
	color: #c2c2c2;
	text-shadow: #131313;
}
/*
 * Simple bold/italic elements, easier than wrapping stuff in <strong>s/<b>s/<i>s (lmao html4)
 */
.bold, b, strong {
	font-weight: 600;
}
.italic{
	font-style: italic;
}
.greyed { color: rgba(255,255,255,0.5) !important; }
/*
 * SHADOW: Puts a shadow around a box, usually reserved for the main parent elements
 */
.shadow{
	box-shadow: 0 0 0.5rem rgba(0,0,0,0.7);
}
.boxHighlight {
	box-shadow: inset 0 0 0.5rem rgba(255,255,255,0.5);
}
/*
 * HEADING: Increase text size
 */
.heading{
	font-size: 130%;
}
/*
 * CENTERTEXT: Centers the text, sets the element to full width
 * DEPRECATED!
 */
.centertext{
	text-align: center;
	width: 100%;
	box-sizing: border-box; /* not sure why the 100% width, but lest's at least avoid horizontal scrollbars */
}
.lefttext{
	text-align: left;
}
.warn, .enemy {
	color: #FF3300 !important;
}
.ok, .friend {
	color: #2F662F !important;
}
.inactive {
	opacity: 0.4;
}

optgroup {
	font-weight: bold;
	font-style: normal;
}

optgroup option {
	font-weight: normal;
}

.rubik {
	font-family: Rubik;
}
/*
 * SUBTEXT/SMALLTEXT: Decreases text sizes
 */
.subtext{
	font-size: 90%;
}
.smalltext{
	font-size: 75%;
}
.tinytext{
	font-size: 60%;
}


.largetext120 {
	font-size: 120%
}
.largetext150 {
	font-size: 150%
}
.largetext200 {
	font-size: 200%
}
.underline{
	text-decoration: underline;
}
.code { /* UBB [code] */
	font-family: monospace;
	white-space: nowrap;
	overflow: scroll;
	max-height: 50rem;
	max-width: 95%;
	margin: 1.1rem auto;
}

/*
 * PAGETITLE: Creates the heading for the page, gives it a dark border and background with padding
 */
.pagetitle{
	padding: 0.9rem 0;
	background: rgba(0,0,0,0.7);
  font-family: Dreamscape;
  box-shadow: inset 0 0.8rem 1rem rgba(0,0,0,.5),inset 0 -0.8rem 1rem rgba(0,0,0,.5) ;
	border: 0.15rem solid rgba(255,255,255,0.05);
	border-left: none;
	border-right: none;
	text-align: center;
  font-size: 2rem !important;
  letter-spacing: 0.3rem !important;
}
/*
 * SUBTITLE: A small element that goes below the page title, should such be required
 */
.subtitle{
	padding: 0.45rem;
	background: rgba(0,0,0,0.7);
	border: 0.15rem solid rgba(255,255,255,0.1);
	border-top: none;
	text-align: center;
	max-width: 50rem;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0.9rem;
}
.subtitle a{
	margin: 0 0.45rem;
}
.toptitle{
	padding: 0.45rem;
	background: rgba(0,0,0,0.7);
	border: 0.15rem solid rgba(255,255,255,0.1);
	border-bottom: none;
	text-align: center;
	max-width: 25rem;
	margin: auto;
}
/* A heading to separate a new section in a page */
.midtitle {
	padding: 0.45rem 0;
	background: rgba(0,0,0,0.7);
	border-top: 0.15rem solid rgba(255,255,255,0.1);
	border-bottom: 0.15rem solid rgba(255,255,255,0.1);
	text-align: center;
	margin-top: 1.7rem;
	margin-bottom: 0.45rem;
}

.titlespace{
	letter-spacing: 0.31rem;
	text-transform:uppercase;
}
.aligntop{
	vertical-align:top;
}
.alignmiddle {
	vertical-align: middle;
}
.alignbottom {
	vertical-align: bottom;
}
.alignleft{
	text-align:left !important;
}
.alignright{
	text-align: right !important;
}
.aligncenter {
	text-align: center !important;
}

/*
 * FULLWIDTH: Forces the element to fill the width of the parent element
 */
.fullwidth{
	width: 100% !important;
	box-sizing: border-box;
	display: block;
	overflow: auto;
}
.transition05 {
	transition: all 0.5s linear;
	transition: all 0.5s linear;
}
.transition02 {
	transition: all 0.2s linear;
	transition: all 0.2s linear;
}

/*
 * WIDTHS: The idea is that these can be used should multiple columns be required
 * using 25/25/50 for example will create 3 columns that will auto resize and fill the area
 */
.width10 {
	width: 10%;
	box-sizing: border-box;
}
.width15 {
	width: 15%;
	box-sizing: border-box;
}
.width20 {
	width: 20%;
	box-sizing: border-box;
}
.width25 {
	width: 25%;
	box-sizing: border-box;
}
.width30 {
	width: 30%;
	box-sizing: border-box;
}
.width33 {
	width: 33%;
	box-sizing: border-box;
}
.width40 {
	width: 40%;
	box-sizing: border-box;
}
.width50 {
	width: 50%;
	box-sizing: border-box;
}
.width60 {
	width: 60%;
	box-sizing: border-box;
}
.width70 {
	width: 70%;
	box-sizing: border-box;
}
.width75 {
	width: 75%;
	box-sizing: border-box;
}
.width80 {
	width: 80%;
	box-sizing: border-box;
}
.width90 {
	width: 90%;
	box-sizing: border-box;
}
.width100 {
	width: 100%;
	box-sizing: border-box;
}


/* GENERIC MARGINS/PADDING/FLOAT/BLOCK:
 * It's easier to see how a page should work in html if you use these instead of vaguely named classes
 */
.margin10{
	margin: 0.9rem !important;
}
.margin5{
	margin: 0.45rem !important;
}
.margin2{
	margin: 2px !important;
}
.margin1{
	margin: 1px !important;
}
.tablemargin2 {
	border-spacing: 0 2px;
}
.nomargin{
	margin: 0 !important;
}
.notopmargin{
	margin-top: 0 !important;
}
.margintb1{
	margin-top: 1px !important;
	margin-bottom: 1px !important;
}
.margintb2{
	margin-top: 2px;
	margin-bottom: 2px;
}
.margintb5{
	margin-top: 0.4rem;
	margin-bottom: 0.4rem;
}
.margintb10{
	margin-top: 0.9rem;
	margin-bottom: 0.9rem;
}
.marginlr2 {
	margin-left: 2px !important;
	margin-right: 2px !important;
}
.marginlr5 {
	margin-left: 0.45rem !important;
	margin-right: 0.45rem !important;
}
.marginlr10 {
	margin-left: 0.9rem !important;
	margin-right: 0.9rem !important;
}
.margintop{
	margin-top: 0.9rem !important;
}
.margintop2 {
	margin-top: 0.45rem;
}
.marginbottom{
	margin-bottom: 0.9rem !important;
}
.marginauto {
	margin-left: auto !important;
	margin-right: auto !important;
}

.padding0{
	padding: 0rem !important;
}
.padding2{
	padding: 0.2rem !important;
}
.padding5{
	padding: 0.5rem;
}
.padding10{
	padding: 0.9rem;
}
.gap1{
	gap: 0.15rem;
}
.gap2{
  gap:0.2rem;
}
.gap5{
	gap: 0.5rem;
}
.gap10{
	gap: 0.9rem;
}
.block{
	display: block !important;
}
.inlineblock{
	display: inline-block !important;
}
.left{
	float: left;
}
.absolute {
	position: absolute;
}
.fixed {
	position: fixed;
}
.relative {
	position: relative;
}
.right{
	float: right;
}
.nowrap {
	white-space: nowrap;
}


/* First horrible hack to avoid using tables */
.minheight60{
	min-height: 5rem !important;
}

.listbullets {
	list-style-position: outside;
	list-style-type: square;
}
/* POINTER: cursor: pointer */
.pointer{
	cursor: pointer;
}
.cursorhelp { /* For some of the tooltips / title tags we have */
	cursor: help;
}
/* DARKBUTTON:
 * Creates a small button with a dark background and border, etc, that highlights when you hover
*/

.darkbutton, .lightbutton {
	border: 0.05rem solid rgba(255,255,255,0.1);
	box-shadow: -2px 2px 1px rgba(50,50,50,0.3) inset, 2px -2px 1px rgba(70,70,70,0.3)inset;
    padding: 0.5rem;
    transition: box-shadow 0.2s ease-in-out;
    border-radius: 0.2rem;
    margin: 0.4rem;
    background: linear-gradient(to bottom right, hsl(0,0%,12.156862745098%) 25%, hsl(0,0%,7.156862745098%) 75%);
	display: inline-block;
	color: #ccc;
	line-height: 1rem;
}
.darkbutton:not([disabled]):hover, .lightbutton:not([disabled]):hover {
	box-shadow: 0 2px rgba(255,255,255,0.1) inset, 0 -30px rgba(255,255,255,0.1) inset !important;
	cursor: pointer;
	border: 0.05rem solid rgba(0,0,0,.1);
	text-decoration:none;
}
.darkbutton > span, .lightbutton > span {
  margin-right: 0.35rem;
}

.dangerbutton{

	background: #A51111 !important;
	background: linear-gradient(to bottom, #A51111 25%, #880E0E 75%) !important;
}
.greenbutton{

	background: #2F662F !important;
	background: linear-gradient(to bottom, #2F662F 25%, #214721 75%) !important;
}
.smallbutton {
	padding: 0.2rem 0.5rem;
	margin: 0.2rem 0.2rem;
	font-size: 90%;
}

.replybutton{

	padding: 0.15rem 0.31rem;
	margin-top: 0.45rem;
	text-align: center;
	border: 0.08rem solid #505050;
	background: #333;
	background: linear-gradient(to top, #333 50%, #272727 50%);
	border-radius: 0.31rem;
	box-shadow: 0 0 0.15rem rgba(0,0,0,0.7);
	display: inline-block;
	cursor: pointer;
	color: #ccc;
	font-weight: 300 !important;
	font-size: 80% !important;
}
/* DARKSELECT:
 * Styles select option boxes into nasty dark things
 */
.darkselect, .darkinput{
	text-align: left;
	border: 0.08rem solid rgba(88, 88, 88, 0.5);
	background: #333;
	border-radius: 0.31rem;
	box-shadow: 0 0 0.15rem rgba(0,0,0,0.7);
	color: #ccc;
	display: inline-block;
	padding: 0.35rem 0.62rem;
	margin: 0;
}
.darkinput[type=number], .lightinput[type=number] {
	text-align: right;
	/*direction: rtl;*/
}
.darkinput[type=color], .lightinput[type=color] {
	height: 2.3em;
}

.darkinput[type=number]::-webkit-inner-spin-button,
.darkinput[type=number]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	appearance: none;
}

/* LIGHTINPUT:
 * Styles input boxes into the mysterious light zone
 */
.lightinput, .lightselect {
	text-align: left;
	border: 0.08rem solid rgba(128, 128, 128, 0.5);
	background: #666;
	border-radius: 0.31rem;
	box-shadow: 0 0 0.15rem rgba(0,0,0,0.7);
	color: #ddd;
	display: inline-block;
	padding: 0.35rem 0.62rem;
	margin: 0;
}

/* DARKRADIO / CHECKBOX
 * A nicer radio/checkbox button for the theme.
 * Dunce: You may want to adjust these with your base color mod, too.
 */
input[type="radio"].darkradio {
	border-radius: 50%;
}
input[type="checkbox"].darkcheckbox, input[type="radio"].darkradio {
	cursor:pointer;
	appearance: none;
	background-color: #ccc;
	margin: 0.25em;
	width: 1.1em;
	height: 1.1em;
	border: 0.1em solid rgba(33, 33, 33, 0.8);
	position: relative;
	vertical-align: middle;
}
input[type="checkbox"]:checked.darkcheckbox, input[type="radio"]:checked.darkradio {
	background: #444;
}
input[type="checkbox"]:checked.darkcheckbox::before, input[type="radio"]:checked.darkradio::before {
	font-family: 'Font Awesome 5 Pro';
	font-weight: 900;
	content: "\f00c";
	color: #eee;
	position: absolute;
	top: 0.05em;
	left: 0.15em;
	font-size: 0.8em;
}
input[type="checkbox"]:disabled.darkcheckbox, input[type="radio"]:disabled.darkradio {
	background-color: rgba(64, 64, 64, 0.4);
}

/* LINEHEIGHT:
 * Forces the lineheight, good for elements with reasonable amounts of text
 */
.lineheight {
	line-height: 1.4rem;
}
.lineheightlarge {
	line-height: 1.8rem;
}
.lineheightsane {
	line-height: normal;
}

/* BOX:
 * Gives the element the box sizing style, this means that margins/borders are included in width (alternative to default content-sizing)
 */
.box{
	box-sizing: border-box;
}
/* TBBORDER:
 * Give an element a shiny looking top and bottom border, they look best when below/above other elements with the same
 */
.tbborder{
	border-top: #525252 solid 0.08rem;
	border-bottom: #181818 solid 0.08rem;
}
/* When opening an element over another, this helps to seperate them a bit. */
.overlayFadeTop {
	box-shadow: 0px -3em 4em rgba(8,8,8,0.8);
	border-top: 1px solid #333;
}
.overlayFadeBottom {
	box-shadow: 0px 3em 4em rgba(8,8,8,0.8);
	border-bottom: 1px solid #333;
}
.overauto{
	overflow: auto;
}
.overhide{
	overflow: hidden;
}
.noleft{
	margin-left: 0rem !important;
}
/*
 * VISIBLE: Mark visible elements (so we can remove this when hiding them to reformat highlighting properly)
 */
.visible{
	display: inline;
}


.errormessage{
	background: #943c30;
	background: rgba(148,60,60,0.9);
	width: 100%;
	padding: 0.9rem;
	box-sizing: border-box;
	text-align: center;
}

.infomessage{
	background: #417f45;
	background: rgba(65,127,69,0.9);
	width: 100%;
	padding: 0.9rem;
	box-sizing: border-box;
	text-align: center;
}

.flex {
	display: flex !important;
}
.flexvertical {
	display: flex !important;
	flex-direction: column;
}
.flexwrap {
	display: flex;
	flex-wrap: wrap;
}
.flexwrapreverse {
	display: flex;
	flex-wrap: wrap-reverse;
}

.flex_start {
	justify-content: start;
}
.flex_center {
	justify-content: center;
}
.flex_even {
	justify-content: space-around;
}
.flex_spread {
	justify-content: space-between;
}
.flex_end {
	justify-content: end;
}
.flex_content_start {
	align-content: start;
}
.flex_self_end {
	align-self: end;
}
.flex_middle {
	align-items: center;
}
.flex_grow {
	flex: 1 1 auto !important;
}
.flex_fill { /* fills the whole row when wrapping */
	flex: 99999 1 0;
}
.flex_shrink{
	flex-shrink: 1 !important;
}
.flex_50_fill {
  flex: 1 0 50%;
}
.flex_25_fill {
  flex: 1 0 25%;
}
.flex_50 {
  flex: 0 0 50%;
}
.flex_25 {
  flex: 0 0 25%;
}
.flex_90 {
  flex: 0 0 90%;
}
.flex_80 {
  flex: 0 0 80%;
}
.flex_70 {
  flex: 0 0 70%;
}
.flex_60 {
  flex: 0 0 60%;
}
.flex_40 {
  flex: 0 0 40%;
}
.flex_30 {
  flex: 0 0 30%;
}
.flex_20 {
  flex: 0 0 20%;
}
.flex_10 {
  flex: 0 0 10%;
}
.flex_noshrink{
    flex-shrink: 0 !important;
}
.flex_morph{

}
.flexTable, .flexTableWide, .flexTableFull {
	text-align: center;
	display: flex;
	flex-wrap: wrap;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}
.flexTable {
	width: 70%;
}
.flexTableWide {
	width: 90%;
}

@media (max-width: 1900px){
.flexTable { width: 80%; }
.flexTableWide { width: 100%; }
}
@media (max-width: 1600px){
.flexTable { width: 100%; }
.flexTableWide { width: 100%; }
}

/* sets opacity for the bg to shine thru */
.opacity_wrap{
 background: rgba(25,25,25,0.7);
}
/*------------------------- TOP MENU -----------------------------*/

.topbar{
	width: 100%;
	position: relative;
	z-index: 10;
	overflow: visible;
	text-shadow: 0.08rem 0.08rem 0rem #000;
}
.menu_first{
  font-size: 0.85rem;
  font-variant-numeric: tabular-nums;
}
#topinfo{
	max-width: 80rem;
	margin: auto;
	display:flex;
}
#topinfo li{
	float: none !important;
	flex: 1 1 auto;
	display:flex;
}

#topinfo li,#topmenu li{
	border-left: 0.1rem solid #414141;
	border-right: 0.1rem solid #282828;
	box-sizing: border-box;
	float: left;
	min-height: 2.5rem;
	position: relative;
}
#topinfo li:first-of-type, #topmenu  li:first-of-type{

	border-left: none !important;
}
#topinfo li:last-of-type, #topmenu li:last-of-type{

	border-right: none !important;
}
#topinfo a,#topinfo span, #topmenu a{
	text-decoration: none;
	padding: 0.9rem 0.9rem;
	display: flex;
	align-items:center;
}
#topinfo span a{
	padding: 0 !important;
}
#topinfo li:hover, #topmenu li:hover{
	text-decoration: none;
	background: #595959;
	color: #c2c2c2;
}
#topinfo li div, #topmenu li div{
	display: none;
	opacity: 0;
	padding: 0.9rem;
	background: #595959;
	color: #c2c2c2;
	box-shadow: 0 0.23rem 0.23rem #000;
	position: absolute;
	border-radius: 0 0 0.31rem 0.31rem;
	box-sizing: border-box;
	z-index: 50;
	min-width: 100%;
	top: 100%;
}
.menu_playername{
	font-size: 1rem;
	cursor: pointer;
}
.menu_icon_mobile{
  font-size: 2rem;
}
#topinfo li:hover > div, #topmenu li:hover > div{
	display: block;
	opacity: 1;
}
#topinfo li div a {
	padding: 0.45rem 1.7rem !important;
	font-size: 1rem;
}
#topinfo li div a:hover{
	background: #333;
}
#topinfo li div li, #topmenu li div li{
	float: none;
	border: none;
	min-height: 0 !important;
}
#topinfo li img{
	margin-right:0.5rem;
}
#menu_time{
	flex: 0 1 auto !important;
}
.specialicons{
	display:flex;
	flex: 0 1 auto !important;
}
.menu_first i{
  font-size: 1.4rem;
}
.gicon{
  margin-right:0.75rem;
}
.specialicons a{
  place-content: center;
}
.menu_icon_starlog_yes{
  color: greenyellow !important;
}

.specialicons:hover{
	background: transparent !important;
}
.specialicon{
	margin-left: 0rem !important;
	margin-right: 0rem !important;
	padding: 0.9rem 0.9rem !important;
	flex: 0 1 auto;
}
.specialicon:hover{
	background: #595959;
}
.specialicon img{
	margin: auto;
	margin-right: auto !important;
}
#menu_user{
	font-size: 100%;
}
.menu_title{
  font-family: DreamscapeSans;
  font-size: 120% !important;
}


#topmenu {
	max-width: 70rem;
	margin: auto;
  display:flex;
}
.tb2{
	z-index: 5 !important;
	box-shadow: 0 0.45rem 0.45rem #000;
	margin-bottom: 0.9rem;
}
/* Top leaderboard ad */
.adContainer {
	padding-bottom: 0.9rem;
}
#topmenu li div {
	border:none;
	background: #303030;
}
#topmenu li:hover{

	background: #303030;
}
#topmenu li{
	border: none;
	flex: 1 1 20%;
	white-space: nowrap;
}
#topmenu li a {
	font-size: 120%;
	padding: 1.1rem;
	display: block;
	text-align: center;
}
#topmenu li div a {
	font-size: 110%;
	padding: 0.9rem 2rem;
	display: block;
	text-align: center;
}
#topmenu li div a:hover{

	background:#232323;
}
.premreq{
	color: #7a7a7a;
}
#mobilemenu{
	display: none;
}
.hide_screen{
	display: none !important;
}
.show_mobile{
  display: none !important;
}
.fleet_popout{
	border: 0.15rem solid #0a0a0a;
	border-right: none;
	line-height: 1.4;
	box-shadow: 0 0.15rem 0.23rem 0.08rem #000;
}
.colony_popout{
	border: 0.15rem solid #0a0a0a;
	border-left: none;
	line-height: 1.4;
	box-shadow: 0 0.15rem 0.23rem 0.08rem #000;
}

.mobilefleet{
	display: none;
}
.mobilecolony{
	display:none;
}


/*-------------------------- FOOTER --------------------------------------*/

.bottom_WF{
	font-family: Dreamscape;
	font-size: 4.5rem;
  letter-spacing: 0.3rem;
}
.footer{
	width: 100%;
	position:relative;
	box-sizing:border-box;
	padding: 5rem 0.6rem;
	text-align:center;
	background: rgba(0,0,0,0.7);
	background: linear-gradient( to bottom, rgba(0,0,0,0.4), rgba(0,0,0,0.9));
	line-height: 1.8;
	font-size: 1.2rem;
}
.blinks{
	display: inline-block;
	position: relative;
}
.gplaylogo img{
	max-height: 9.5rem;
}

.blfb{
	top: -1.54rem;
}


/*-------------------------- MENU MEDIA QUERIES FOR STUFF THIS IS COOL ----------------------- */
@media (max-height: 900px){
  .modal_wrap{
	   max-height: 95vh;
  }
}
@media (max-width: 1150px){
	.hide_small{
		display: none !important;
	}
	.hide_screen{
		display: block !important;
	}
	.hide_mobile{
		display: block;

	}
	#topmenu li{
	}
	#topmenu li a{
		width: 100% !important;
		box-sizing: border-box;
		padding: 0.9rem 0;

	}
	.sidecolumn{

		flex: 1 0 0px !important;
	}
	#mobcol_icon{
		position:fixed;
		bottom: 0rem;
		left: 0rem;
		width: 5rem;
		overflow: hidden;
		background: #0d0d0d;
		z-index: 100;
		border-radius: 0 0.9rem 0 0;
		font-size: 2.5rem;
		padding-top: 0.6rem;
	}
	#mobfleet_icon{
		position:fixed;
		bottom: 0rem;
		right: 0rem;
		width: 5rem;
		overflow: hidden;
		background: #0d0d0d;
		z-index: 100;
		border-radius: 0.9rem 0 0 0;
		font-size: 2.5rem;
		padding-top: 0.6rem;
	}
	.mobfleet_link{
		padding:0.9rem !important;
	}
	#colonylist{
		display: none;
		position: absolute !important;
		left: 0rem !important;

	}

	#colonylist_mob{
		position:absolute;
		top: 0rem;
		left: 0rem;
		right: 0rem;
		z-index: 50;
		padding-top: 0.6rem;
		background: #2d2d2d;
	}

	.mob_colmenu_name{
		padding:0.9rem !important;
	}
	#fleetlist_mob{
		position:absolute;
		top: 0rem;
		left: 0rem;
		right: 0rem;
		z-index: 50;
		padding-top: 0.6rem;
		background: #2d2d2d;
	}

	#fleetlist{
		display:none;
		position: absolute !important;
		right: 0rem !important;

	}

	#mobfleetopen{

		display: block;
	}
	#midcolumn{

		margin-left: 0rem !important;
		margin-right: 0rem !important;
		border: none !important;
		flex: 1 1 auto;
	}
	#mobcolopen{
	}
	#mobfleetopen{


	}
}



/*------------ PHONE PEEPS -----------*/
@media (max-width: 720px){
	.hide_screen{
		display: block !important;
	}
	.hide_small{
		display: none !important;
	}
	.hide_mobile{
		display: none !important;
	}
  .show_mobile{
    display: block !important;
  }
	.flexwrap_mobile{
		flex-wrap:wrap;
	}
  .menu_mobile_default{
    display:block !important;
    opacity:1 !important;
  }
	#topinfo li, #topmenu li {
		border-left: none;
		border-right: none;
	}
	#darkpopup {
		width: 100%;
		padding: 0.9rem;
		background: #171717;
		box-shadow: 0 0 0.45rem 0.45rem #000;
		box-sizing:border-box;
	}
  .flex_morph{
    flex-direction: column !important;
  }
	#midcolumn{

		margin-left: 0rem !important;
		margin-right: 0rem !important;
		border: none !important;
		flex: 1 1 auto;
	}

	.sidecolumn{
		flex: 1 0 0px !important;
	}

	#screenmenu{
		display: none;
	}
	#mobilemenu{
		display: block;
	}
	#topmenu li{
		width: 20% !important;
	}
	#topmenu li div li{
		width: 100% !important;
	}
	.mobmenufix{
		left: -6.15rem !important;
	}
	#topmenu li a{
		width: 100% !important;
		box-sizing: border-box;
		padding: 0.9rem 0;

	}
	#topmenu li div{

	}
	.specialicon{
		box-sizing: border-box;
		text-align:center;
	}
	#chaticon{
		display: none !important;
	}
	.specialicons{
		width: 100%;
		position:relative;
		overflow: auto;
	}

	.starlog_wrap {
		display: block !important;
	}
	.starlog_left{
		width: 100% !important;
		box-sizing: border-box;
		padding: 0.45rem;
		text-align: center;
	}
	.starlog_right{
		width: 100% !important;
		box-sizing: border-box;
		padding: 0.45rem;
		margin: 0 !important;
		border: 0.45rem #333 solid !important;
	}




	#colonylist{
		display: none;
		height: 100% !important;
		position: absolute !important;
		left: 0rem !important;

	}

	#fleetlist{
		display:none;
		height: 100% !important;
		position: absolute !important;
		right: 0rem !important;

	}

	#mobfleetopen{

	}
	#midcolumn{

		margin-left: 0rem !important;
		margin-right: 0rem !important;
		border: none !important;
		flex: 1 1 auto;
	}
	#mobcolopen{
	}
	#mobfleetopen{


	}
	.lastpostpos{
		position: absolute;
		margin-top: -33rem;
	}
	.forumpostleft{
		display: none;
	}
	.forumpostright{

		float: left;
		width: 100%;
		box-sizing:border-box;
		border-left: none !important;
		margin-left: 0 !important;

	}
	.forummobuser{
		display: block !important;
		margin-bottom:0.9rem;
	}

	.forummobwidth{
		width: 100%;
	}
}
@media (min-width: 1151px) { /* Full size interface only */
	.sidecolumn{
		margin-top: 5.5rem;
		min-height: 4rem;
	}
}

/* ------------------------- END OF MENU -------------------------*/


.sidecolumn{
	text-shadow: 0.08rem 0.08rem 0rem #1b1b1b;
	flex: 0 0 18rem;

}
#midcolumn{
	min-height: 50rem;
	min-width: 4rem;
	box-sizing: border-box;
	padding: 0.6rem;
	position: relative;
	flex: 1 1 100%;
}
.leftbar{

	flex: 1 1 auto;
}
.rightbar{

	flex: 1 1 auto;
}
.clear{

	clear: both;
}

#colonylist{
	margin-bottom: 1.7rem;
	position: relative;
	z-index: 4;
	padding: 0.45rem;
	box-sizing: border-box;
	box-shadow: 0 0 0.45rem #000;
	font-size: 90%;
	min-height: 0.9rem;
}
.sidecolumn a {
	display: block;
	width: 100%;
	padding: 0.45rem 0;
	font-weight: normal;
	padding: 0.25rem 0.9rem;
	box-sizing: border-box;
}
.sidecolumn a:last-of-type{
	margin-bottom: 0 !important;
}
.sidecolumn li{
	width: 100%;
	position: relative;
	box-sizing: border-box;
	margin-bottom: 0.25rem;
	padding: 0rem 0;
}
.sidecolumn li ul{
	visibility: hidden;
	position: absolute;
	margin-left: 16rem;
	padding: 0.45rem;
	padding-left: 1.3rem;
	top: 0rem;
	width: 17rem;
	z-index: 1; /* Changed from -1 to 1, so the popout isn't below the menu. But don't know what the purpose of -1 was. */
	opacity: 0;
	transition: 0.1s opacity ease-in, visibility 0s ease-in 0.1s;
}
.sidecolumn li:hover > ul{
	opacity: 1;
	visibility: visible;
	transition-delay: 0s;
}
.sidecolumn li ul li a{
	padding: 0 !important;
	background: transparent !important;
}
.sidecolumn li ul li{
	background: transparent !important;
	padding-left: 0.9rem;
}
.colmenu_planet{
	font-style: italic !important;
}
.colmenu_system{
	font-weight: 600 !important;
}
.sidemenu_header{
	padding: 0rem 0.9rem !important;
	text-align: center;
	font-family: Dreamscape, sans-serif;
	font-size: 1.2rem;
	letter-spacing: 0.3rem;
}
.sidemenu_group{

	font-weight: 600;
	border-bottom: 0.08rem solid #8d8d8d;
	padding: 0.25rem 0;
	display: block;
	padding-left: 0.17rem;
}
.sidemenu_fleetop{
	color: #bebebe;
	margin: 0.45rem 0;
	margin-top: 0.62rem;
	font-weight: 600;
	display: block;
	width: 100%;
}
#fleetlist{
	float: left;
	position: relative;
	z-index: 4;
	padding: 0.45rem;
	box-sizing: border-box;
	box-shadow: 0 0 0.45rem #000;
	font-size: 90%;
	min-height: 0.9rem;
	margin-bottom: 1.4rem;
	width: 100%;
}
#fleetlist li{
	padding: 0.17rem 0;
	margin: 0.1rem 0;
}
#fleetlist li a,#colonylist li a{

	transition: 0.1s all linear;
}
#fleetlist li:hover > a, #colonylist li:hover > a {
	padding-left: 1.7rem !important;
}
#fleetlist li ul{
	margin-left:-17.5rem;
	padding: 0.45rem;
}
.fleetclass{
	cursor: pointer;
}
.class_hidden{
	display: none;
}
.wikipop{
	position: absolute;
	display:none !important;
}

/*
 * Styles for inline-editable fields - they vary depending on what is made editable.
 */
.inlineEditable {
	box-sizing: border-box;
	border: 1px solid #aaa;
	color: white;
	background: transparent;
	padding: 0;
	margin: 0;
	text-align: inherit;
	font-family: inherit;
	line-height: inherit;
	vertical-align: inherit;
}

/* Inline help anchor */
.inlineHelpAnchor {
	font-weight: 600;
}
.inlineHelpAnchor:hover {
	cursor: pointer;
}

.inlineHelp {
	display: none;
	position: absolute;
	background-color: #333;
	border: 0.08rem solid #666;
	color: white;
	font-size: 0.9rem;
	padding: 0.45rem;
	max-width: 34rem;
}

/* Overlay div to grey out areas in loading state */
div.loadingOverlay, img.loadingIcon {
	position: absolute;
}
div.loadingOverlay {
	background-color: #333;
	opacity: 0.9;
	position: absolute;
	box-sizing: border-box;
	top: 0rem;
	bottom: 0rem;
	left: 0rem;
	right: 0rem;
}
img.loadingIcon {
	top: 50%;
	left: 48%;
}

/*----------------- DASHBOARD --------------------
 * Dashboard is cool i guess
 */

.dash_starlog_left{
    width: 17rem;
    z-index: 2;
    position: relative;
}
.dash_starlog_right{
    width: 100%;
    border-left: 17rem #171717 solid;
    margin-left: -17rem;
    min-height: 5rem;

}
.dash_column {
	width: 4%;
	min-height: 0.09rem;
	float: left;
	background: rgba(255, 255, 255, 0.8);
}
.dash_chart{
}
.dash_column_sep{
    float: left;
    width: 1%;
    height: 8.5rem;
    display: block;
    background: #000;
}
.dash_column:hover > div{
    display: block;
}
.dash_column_data{
    position: absolute;
    display:none;
    padding: 0.9rem;

}

/*----------------- STARLOG --------------------
 * Some starlog specific stuff. Creates the starog without tables.
 */
.starlog_wrap {
	display: flex;
}
.starlog_left{
	width: 17rem;
	z-index: 2;
	position: relative;
}
.starlog_right{
	width: 100%;
	border-left: 17rem #171717 solid;
	margin-left: -17rem;
	min-height: 5rem;

}
.starlog_right a{
	font-weight: 600;
}

.starlog_right font{
	font-size: 100% !important;
}

.starlog_trademin{
	border-top: 0.25rem solid #B3F1A6;
}
.starlog_empire{
	border-top: 0.25rem solid #D7E0D5;
}
.starlog_colony{
	border-top: 0.25rem solid #E0DE63;
}
.starlog_fleet{
	border-top: 0.25rem solid #E67575;
}
.starlog_science{
	border-top: 0.25rem solid #75C9E6;
}
/*----------------- VIEW COLONY --------------------
 * View colony specific stuff
 */
.home{
	color: #E6E600;
}
.rename{
	text-align: center;
	margin: 0.55rem auto;
}
.rename a, .rename .fakeLink {
  background: linear-gradient(to bottom, rgba(0,0,0,0.25), rgba(0,0,0,0.35));
  padding: 0.35rem 0.8rem;
  margin: 0.25rem 0.55rem;
  display: inline-block;
  border-radius: 0.2rem;
  box-shadow: inset -0.1rem -0.1rem rgba(0,0,0,0.1), inset 0.1rem 0.1rem rgba(0,0,0,0.1);
  transition: 0.2s ease-in-out all;
  white-space: nowrap;
}
.rename a:hover, .rename .fakeLink:hover {
	box-shadow: inset -0.1rem -2rem rgba(0,0,0,0.2), inset 0.1rem 0.1rem rgba(0,0,0,0.1)
}

.colony_right{
	min-width: 17rem;
	z-index: 2;
	flex: 1 1 auto;
	position: relative;
	z-index:1;
}
.colony_left{
	min-width: 22rem;
	min-height: 6.8rem;
	position: relative;
	z-index:1;
	flex: 1 1 auto;

}
.colony_mid{
	flex: 1 1 100%;
	overflow: visible;
}
.colony_res a {
	min-width: 7.5rem;
	display: inline-block;
}
.colony_res span {
	font-size: 75%;
}
.colony_right div{
}
.storagetop{
	padding-bottom: 0.17rem;
	border-bottom: 0.08rem solid #f2f2f2;
	display: block;
	text-align: right;
}
.storagebottom{
	display: block;
	text-align: right;
}
.outerbar{
	width: 100%;
	position: relative;
	height: 2.6rem;
}
.outerbarreverse{

  /*background: linear-gradient(270deg, hsl(4, 82%, 20%) 20%, hsl(58, 82%, 20%) 60%, hsl(111, 82%, 20%))*/
}

.changebar{
	height: 2.6rem;
	position: absolute;
	top: 0;
	left: 0;
	box-sizing: border-box;
	border-right: 0.15rem dashed rgba(0,0,0,0.5);
}
.innerbar{
	height: 2.6rem;
	position: absolute;
	top:0rem;
	left: 0rem;
  box-shadow: inset 2px 0 2px rgb(255 255 255 / 10%), inset 0 2px 2px rgb(255 255 255 / 10%), inset -3px 0px 2px rgb(255 255 255 / 30%), inset 0 -2px 2px rgb(255 255 255 / 10%);
  background:rgba(160,160,50,0.15) linear-gradient(to bottom,rgba(160,160,50,0.8)10%, rgba(160,160,50,0.4) 30%,rgba(160,160,50,0.4) 70%, rgba(160,160,50,0.8) 90%);

}
.innerbargreen{
  background:rgba(50,170,50,0.15) linear-gradient(to bottom,rgba(50,170,50,0.8)10%, rgba(50,170,50,0.4) 30%,rgba(50,170,50,0.4) 70%, rgba(50,170,50,0.8) 90%);
}
.innerbaryellow{
  background:rgba(160,160,50,0.15) linear-gradient(to bottom,rgba(160,160,50,0.8)10%, rgba(160,160,50,0.4) 30%,rgba(160,160,50,0.4) 70%, rgba(160,160,50,0.8) 90%);
}
.innerbarorange{
  background:rgba(170,120,50,0.15) linear-gradient(to bottom,rgba(160,120,50,0.8)10%, rgba(170,120,50,0.4) 30%,rgba(170,120,50,0.4) 70%, rgba(170,120,50,0.8) 90%);
}
.innerbarred{
  background:rgba(170,60,50,0.15) linear-gradient(to bottom,rgba(170,60,50,0.8)10%, rgba(170,60,50,0.4) 30%,rgba(170,60,50,0.4) 70%, rgba(170,60,50,0.8) 90%);
}
.devbar{
	height: 2.6rem;
	padding: 0.45rem 0;
	float:left;
	overflow: hidden;
	text-shadow: 0 0.08rem 0.08rem #141414;
	padding-top: 0.9rem;
	font-weight: 600;
	font-size: 70%;
	text-align: center;
}
.buildingsummary{
	flex: 1 0 30%;
}

.graphbar {
	z-index: 1;
	margin-left: 1px;
	border-top: 1px solid #fff;
	flex: 1 1 auto;
}

/*~~~~~~~~~~~~~~ DEVELOPMENT BARS (URBAN, TECH, INDUSTRY, MILITARY)~~~~*/

.urbanbar{
	background: #919191;
	background: linear-gradient(to top, #919191 50%, #858585 50%) !important;
}
.urbancolor {
	color: #919191;
}
.techbar {
	background: #384ea0;
	background: linear-gradient(to top, #384ea0 50%, #334895 50%) !important;
}
.techcolor {
	color: #384ea0;
}
.industrybar{
	background: #a09c38;
	background: linear-gradient(to top, #a09c38 50%, #989433 50%) !important;
}
.industrycolor {
	color: #a09c38;
}
.militarybar{
	background: #be4b2d;
	background: linear-gradient(to top, #be4b2d 50%, #b64628 50%) !important;
}
.militarycolor {
	color: #be4b2d;
}

.indexhighlight{
	box-shadow: inset 0 0 0.45rem 0.23rem #fff;
	box-shadow: inset 0 0 0.45rem 0.23rem rgba(255,255,255,0.5);
}
.devbar:hover{
	box-shadow: inset 0 0 0.45rem 0.23rem rgba(255,255,255,0.3);
	cursor: pointer;
}
/*~~~~~~~~~~~~~~ STAT BARS (GREEN, YELLOW, ORANGE, RED)~~~~~~~~~~~~~~~~*/
.greenbar{
	background: #55a037;
	background: linear-gradient(to top, #55a037 50%, #4e9831 50%) !important;
	box-shadow: inset 0 0 0.9rem #7dd35b;
}
.yellowbar{
	background: #a09c38;
	background: linear-gradient(to top, #a09c38 50%, #989433 50%) !important;
	box-shadow: inset 0 0 0.9rem #dae03d;
}
.orangebar{
	background: #b67828;
	background: linear-gradient(to top, #b67828 50%, #ab6e20 50%) !important;
	box-shadow: inset 0 0 0.9rem #e0993d;
}
.redbar{
	background: #31522e;
	background: linear-gradient(to top, #be4b2d 50%, #b64628 50%) !important;
	box-shadow: inset 0 0 0.9rem #e03d3d;
}
.greenbarbase{
	background: #31522e;
	background: linear-gradient(to top, #3b5c38 50%, #31522e 50%) !important;
}
.yellowbarbase{
	background: #7d7e11;
	background: linear-gradient(to top, #7d7e11 50%, #76770d 50%) !important;
}
.orangebarbase{
	background: #7e460f;
	background: linear-gradient(to top, #7e460f 50%, #78420d 50%) !important;
}
.redbarbase{
	background: #612e22;
	background: linear-gradient(to top, #612e22 50%, #582828 50%) !important;
}
.takenote{
	height: 7rem;
	width: 80%;
	float: left;
}
.takenotebutton{
	height: 7rem;
	width: 20%;
	float: left;
}
#circles{
}
#incomeleft{
	display: inline-block;
	width: auto !important;
}
.statbox{
	margin-bottom: 0.45rem;
}
.colonystat{
	border-left: 8.5rem solid transparent;
	float: left;
	margin-left: -8.5rem;
	position: relative;
	overflow: hidden;

}
@media (min-width:1151px) and (max-width:1400px){

	.flexwrap_colony{
		flex-wrap:wrap !important;
	}
}
@media (max-width:1400px) {

	.stattitle{
		display: none;

	}

	.colonystat{
		border-left: 0rem !important;
		margin-left: 0rem !important;
	}
	.smallstattitle{
		display: inline !important;
	}

}
.stattitle{
	float: left;
	width: 8.5rem;
	height: 2.5rem;
	padding-top: 0.9rem;
	position: relative;
	z-index: 1;
}
.smallstattitle{
	display: none;
}
.statdesc{
	position: absolute;
	width: 100%;
	top: 0.9rem;
	padding-left: 0.9rem;
	text-shadow: 0 0.08rem 0.08rem #141414;
	font-weight: 500;
	width: 25rem;
	display: block;
	text-transform: capitalize;
}
.colonyextra{
	width: 100%;
	box-sizing: border-box;
	clear: both;
}
.extrainfo{
	padding-top: 0.9rem;
	height: 2.5rem;
	padding-left: 0.9rem;
	display: inline-block;
	box-sizing: border-box;
}
.colonydropdown{
	flex: 1 1 auto;
}
.colonydropdown span{
}
.colonydropdown select{
	width: 12rem;
}
.devbartop:hover > ul{
	display: block;
	height: auto;
}
.devstats{
	display: none;
	height: 0rem;
	position: absolute;
	z-index: 5;
	margin-left: -0.45rem !important;
	margin-top: 2.5rem;
}

/*------------------------ BLUEPRINTS.PHP--------------
 * blueprints specific stuff
 */
.nameblueprints ul{
	max-height: 0rem;
	overflow: hidden;
}
.nameblueprints:hover > ul{
	margin-top: 0.45rem;
	max-height: 34rem;
	transition: 0.2s all linear;
	transition-delay: 0.5s;
}

/*
 * highscores specific stuff
 */

.topnum {
	padding: 0.45rem;
	background: rgba(255,255,255,0.75);
	margin: 0.45rem;
	margin-left: 0rem;
	font-weight: 600;
	color: #1e1e1e;
	border-radius: 0.3rem;
	width: 1.2rem;
	place-content: center;
	display: inline-block;
	flex: 0 0 1.2rem !important;
	text-align: center;
}
/*------------------------ MESSAGE.PHP--------------
 * message specific stuff
 */
.profile span{
	min-width: 13rem;
	display: block;
	float: left;
	padding: 0.45rem;
}

/*------------------------- FACTION BANK --------------------*/

.bankacc{
	background: rgba(255,255,255,0.0);
	cursor: pointer;
}
.bankacc:hover{

	background: rgba(255,255,255,0.2);
}

.selectedacc{
	background: rgba(170,255,170,0.5) !important;
}
.selectedacct{
	background: rgba(255,170,170,0.5) !important;
}

/*-------------------------- SHIP_DESIGNS.PHP ------------------*/

.shipdesigntable { /* lib_ship_designs */
	max-width: 80em;
}
.sdres{
	float: left;
	width: 50%;
	overflow: auto;

}
.sdres span:first-of-type{
	width: 7.5rem;
	float: left;
	display: block;
}
/*-------------------------- EMPIRE/DIPLOMACY.PHP ------------------*/

.diplomacyback{
	box-sizing: border-box;
	position: relative;
	height: 1.7rem;
	border: 0.08rem solid rgb(50,50,50);
	background: rgb(50,50,150);
	background: linear-gradient(to right, rgb(200,50,50) 0%,rgb(200,50,50) 30%, rgb(255,255,255) 50%, rgb(50,50,200) 70%, rgb(50,50,200) 100%);
}

.diplomacyback div {
	width: 0.18rem;
	margin-left: -0.16rem;
	height: 1.5rem;
	border: 0.1rem solid #000;
	border-top: none;
	border-bottom:none;
	background: #fff;
	position: absolute;
}


/*----------------------- FORUM STUFF -------------------------------*/
.forumfaction {
	display: inline-block;
	height: 1rem;
	margin-right: 0.45rem;
	width: 0.45rem;
}

.forumpostbody img{
	max-width: 95%;
	position: relative;
}
.forumpostbody{
	position:relative;
	box-sizing: border-box;
}

.forummobuser{
	display: none;
}
.posttable{
	overflow: auto;
	position:relative;
	width: 100%;
}

.forumpostleft{
	width: 10.77rem;
	float: left;
	position:relative;
	z-index:3;
}
.forumpostright{

	float: left;
	width: 100%;
	box-sizing:border-box;
	border-left: 12.5rem solid transparent;
	margin-left: -12.5rem;
}

.forumimage{
  max-width: 100%;
}


/*-------------------- STORE STUFF ---------------------*/
.coinbox{
  background-position:center !important;
  background-size: cover !important;
}
.coinbox:hover{
	background: rgba(255,255,255,0.3);
}
.coin_table span{
  flex: 1 1 40% !important;
}
.coin_button{
  padding: 2rem;
  background: rgba(0,0,0,.8);
  margin: 5rem 0;
  font-size: 1.4rem;
  transition: all ease-in-out 0.2s;
  border: 0;
  color: #f2f2f2;
  cursor: pointer;
}
.coin_button:hover{
  transform: scale(1.2);
}
.groupmessageheader{
	font-size: 70%;
	margin-bottom: 0.5rem;
}
.groupmessageheader:hover{
	max-height: auto;
}
.votewrap:hover > div{
	display: block;
}

.votewrap > div{
	display: none;
}


/*-------------------- FORUM POSTS -------------------------*/
.quote{
	padding: 0.45rem;
	padding-left: 0.9rem;
	background: rgba(0,0,0,0.2);
	margin-bottom: 0.45rem;
}
.quote span{
	display: block;
	width: 100%;
	box-sizing: border-box;
}
.hoverlight:hover{
	background: rgba(255,255,255,0.1);
	transition: 0.1s all linear;
}
.redtext{
	color: rgb(250,0,0);
}
.greentext{
	color: rgb(0,250,55);
}
.italics{
	font-style: italic;
}
.forumsmilie{
	width: 8rem;
	margin: 0.18rem;
	float: left;
	background: rgba(255,255,255,0.3);
	height: 11rem;
}
.forumsmilie span{
	display: block;
	width: 100%;
	padding: 0.45rem;
}


/*------------------ VIEW PLANET --------------------------*/
.planettitle{
  font-family: "DreamscapeSans";

}
.spinplanet {
	width: 17rem;
	height: 17rem;
	/* a black shadow from left and white from right */
	box-shadow: inset 3.08rem 0 6.15rem 0.46rem rgba(0,0,0,0.9),
		inset -0.46rem 0 2.31rem 0.45rem rgba(255,255,255,0.16);
	background-size: 14.62rem;
	background-size: cover;
	margin: 0 auto;
	border-radius: 50%;
	animation-name: rotate;
	animation-duration: 60s;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
	position: relative;
	z-index:2;
}
.planetring{
	position: relative;
	height: 17rem;
	width: 17rem;
	left: 50%;
	margin-left: -7.5rem;
	margin-top: -17rem;
}
.planetring::after{
	content: '';
	height: 4.2rem;
	width: 19rem;
	border-radius: 50%;
	position: absolute;
	margin-top: 25%;
	margin-left: -4.6rem;
	border-right: 2.5rem transparent solid;
	border-left: 2.5rem transparent solid;
	border-top: 2.5rem transparent solid;
	display:block;
	transform: skew(5deg,5deg);
	z-index: 10;
}
.planetring::before{
	content: '';
	height: 4.2rem;
	width: 19rem;
	border-radius: 50%;
	transform: skew(5deg,5deg);
	position: absolute;
	margin-top: 25%;
	margin-left: -4.6rem;
	border-bottom: 2.5rem transparent solid;
	display:block;
	z-index: 1;
}
.customplanet {
	width: 18rem;
	height: 17rem;
	display: block;
	margin: auto;
	position: relative;
	z-index:2;
}



@keyframes rotate {
	0% {
		background-position: 0px;
	}
	100% {
		background-position: 200%;
	}
}
.viewplanet_select{
  max-width: 120px;
}
.atmosphere{
	position: absolute;
	margin-top: -17rem;
	border-radius: 8.5rem;
	height: 17rem;
	width: 17rem;
	left: 50%;
	margin-left: -8.5rem;
	z-index: 9;
}
.oxygen{
	box-shadow: 0 0 0.9rem rgba(0,0,204,0.6), inset -2.5rem 0 0.9rem rgba(0,153,204,0.3), inset -1rem 0 1rem rgba(0,153,204,0.5);
}
.carbon{
	box-shadow: 0 0 0.9rem rgba(153,153,0,0.4), inset -2.5rem 0 0.9rem rgba(255,204,51,0.3), inset -1rem 0 1rem rgba(255,204,51,0.5);
}
.viewplanet_details{
  display:flex;
  gap: 0.5rem;
  flex: 1 1 auto;

}
.viewplanet_details span{
  flex: 0 0 auto;
  place-self: center;
}
.viewplanet_details span:first-of-type{
  flex: 0 0 8rem;
}
.viewplanet_resource{
  flex: 1 1 9rem !important;
  position:relative;
}
.viewplanet_resource div:nth-of-type(2){
  z-index: 2;
  background: rgba(0,0,0,0.5);
}
.viewplanet_resource_bar{
  position: absolute;
  top:0;
  left:0;
  width: 100%;
  height: 100%;
  z-index:0;
  background:linear-gradient(90deg, red, yellow, green);
  opacity: 0.4;
}
.viewplanet_resource_dark{
  right:0px;
  height: 100%;
  position:absolute;;
  background: rgba(0,0,0,0.7);
}
.spacebetween{
  justify-content: space-between;
}
.verticaljustify{
  place-self: center;
}
/*------------------ VIEW SYSTEM --------------------------*/
.systemview_wrap{
  display:flex;
  flex-direction: column;
  height:100%;
}
.systemview_title{
  flex: 0 0 auto;
  font-family: DreamscapeSans;
  font-size: 1.4rem;
  text-align: center;
}
.starinfo{
  flex: 0 0 auto;
	width: 100%;
  padding: 1.1rem;
	background: rgba(0,0,0,0.7);
	box-sizing: border-box;
	text-align: center;
	border-top: 0.15rem solid rgba(255,255,255,0.05);
}
.planetinfo{
  display: none;
  flex: 0 0 auto;
	width: 100%;
  padding: 1.1rem;
	background: rgba(0,0,0,0.7);
	box-sizing: border-box;
	text-align: center;
	border-top: 0.15rem solid rgba(255,255,255,0.05);
}

.viewsysplanet{
	position: relative;
	min-width: 6.5rem;
	margin: 0 0.9rem;
	transition: linear 0.2s transform;
	padding-bottom: 2.5rem;
	z-index: 2;
}
.viewsysplanet:hover{
  transform: scale(1.1);
}
.largeplanet{
  transform:scale(1.2);
  filter: drop-shadow(0 0 2rem white);
}

.planetswrap{
	margin-left: 8.5rem;
	position:relative;
  flex: 1 1 auto;
  display:flex;
  flex-wrap:wrap;
  justify-content: center;
  align-content: center;
  gap:1.5rem;
}
.spinplanetsys {
	/* a black shadow from left and white from right */

	background-size: 14.62rem;
	background-size: cover;
	margin: 0 auto;
	border-radius: 50%;
	position: relative;
	animation-name: rotate;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
	position: relative;
	cursor: pointer;
}

.viewsysplanetinfo{
	display: none;
}

.atmosphereviewsys{
	position: absolute;
	left: 50%;
	margin-left: -50%;
	z-index: 100;
}
.oxygensys{
	box-shadow: 0 0 0.9rem rgba(0,0,204,0.3), inset 1.15rem 0 0.45rem rgba(0,153,204,0.2), inset 0.45rem 0 0.45rem rgba(0,153,204,0.3);
}
.carbondioxidesys{
	box-shadow: 0 0 0.9rem rgba(153,153,0,0.2), inset 1.15rem 0 0.45rem rgba(255,204,51,0.2), inset 0.45rem 0 0.45rem rgba(255,204,51,0.3);
}

.acidicsys{
	box-shadow: 0 0 0.9rem rgba(0,153,102,0.5), inset 1.15rem 0 0.45rem rgba(0,153,102,0.3), inset 0.45rem 0 0.45rem rgba(0,153,102,0.5);
}

#suncontainer {
	position: fixed;
	left: 0;
	bottom: 0;
	top: 0;
  overflow:hidden;
  width: 30rem;
  z-index:-1;
}
#sunleft{
	margin-top: 0rem;
	height: 42rem;
	width: 42rem;
	margin-left: -29.5rem;
	position: absolute;
	display: block;
	border-radius: 200%;
	animation-name: transitionsun;
	animation-iteration-count: infinite;
	animation-duration: 5s;
	z-index: -1;
	box-shadow: 0 0 7.69rem 1.54rem #DC481D;
	background: #DC481D;
}

/* These should match the map images and map plotter colors. */
.sunclassO{
	box-shadow: 0 0 7.69rem 1.54rem rgb(155, 176, 255) !important;
	background: rgb(155, 176, 255) !important;
}
.sunclassB{
	box-shadow: 0 0 7.69rem 1.54rem rgb(170, 191, 255) !important;
	background: rgb(170, 191, 255) !important;
}
.sunclassA{
	box-shadow: 0 0 7.69rem 1.54rem rgb(202, 215, 255) !important;
	background: rgb(202, 215, 255) !important;
}
.sunclassF{
	box-shadow: 0 0 7.69rem 1.54rem rgb(248, 247, 255) !important;
	background: rgb(248, 247, 255) !important;
}
.sunclassG{
	box-shadow: 0 0 7.69rem 1.54rem rgb(255, 244, 234) !important;
	background: rgb(255, 244, 234) !important;
}
.sunclassK{
	box-shadow: 0 0 7.69rem 1.54rem rgb(255, 210, 161) !important;
	background: rgb(255, 210, 161) !important;
}
.sunclassM{
	box-shadow: 0 0 7.69rem 1.54rem rgb(255, 204, 111) !important;
	background: rgb(255, 204, 111) !important;
}
@keyframes transitionsun {
	0% {
		box-shadow: 0 0 7.69rem 0rem #F93;
	}
	50% {
		box-shadow: 0 0 8.46rem 0.23rem #F93;
	}
	100% {
		box-shadow: 0 0 7.69rem 0rem #F93;
	}
}

.textplanet{
	padding: 1.7rem;
	font-size: 200%;
}
/*
.planetringsystem{
	position: relative;
	left: 50%;
}
.planetringsystem::after{
	content: '';
	border-radius: 50%;
	position: absolute;
	border-right: 0.9rem transparent solid;
	border-left: 0.9rem transparent solid;
	border-top: 0.9rem transparent solid;
	display:block;
	z-index: 1000;
}
.planetringsystem::before{
	content: '';
	border-radius: 50%;
	position: absolute;
	border-bottom: 0.9rem transparent solid;
	display:block;
	z-index: -1;
}*/

.planetringsystem{
        position: relative;
        left: 50%;
}
.planetringsystem::after{
        content: '';
        border-radius: 50%;
        position: absolute;
        border-right: 10px transparent solid;
        border-left: 10px transparent solid;
        border-top: 10px transparent solid;
        display:block;
        z-index: 1000;
}
.planetringsystem::before{
        content: '';
        border-radius: 50%;
        position: absolute;
        border-bottom: 10px transparent solid;
        display:block;
        z-index: -1;
}


/*------------ PHONE PEEPS -----------*/
@media (max-width: 720px){
	#sunleft{

		height: 42rem;
		width: 85rem;
		margin-top: -21rem;
		left: 75%;
		position: absolute;
		display: block;
		border-radius: 200%;
		animation-name: transitionsun;
		animation-iteration-count: infinite;
		animation-duration: 5s;
		z-index: -1;
		box-shadow: 0 0 7.69rem 1.54rem #DC481D;
		background: #DC481D;
	}

	.starinfo{
	}


	.planetswrap{
		margin-left: 0rem;

	}


	.viewsysplanet{
		position: relative;
		margin: 0 0rem;
		transition: linear 0.2s margin;
		padding-bottom: 2.5rem;
	}

	.expreport{
		display: none;
	}

	.viewsysplanet:hover{
	}


	.viewsysplanetinfo{
		display: none;
	}

	#suncontainer{
		width: 100%;
		overflow: hidden;
		height: 34rem;
	}
}

.capitalise{

    text-transform: capitalize;
}
#popupwikititle{

}

.wikiq{
	color: #FFA48C !important;
	font-weight: 600;
}

.dohide{
	display: none;
}
.donthide{
	display: block !important;
}

/* Stats in view_planet.php */
.outer {
	color: #000;
	height: 1.3em;
	width: 10rem;
	background-color: #999;
	border: 0.08rem solid #ccc;
	position: relative;
	text-align:center;
}
.inner {
	height: 100%;
	background-image: url(/gfx/bar-redgreen.png);
	position: absolute;
	left: 0rem;
	font-weight: 600;
}
.percent {
	position: relative;
	font-weight: 600;
}


#menu_wrap{

}
#menu_mobile_button{
	display: none;
}
@media(min-width: 2200px){
  html{
  	font-size: 14px;
  }
}

@media(max-width:720px){
	#menu_wrap{
		position:fixed;
    height: 100%;
    background: rgba(0,0,0,0.95);
    padding: 1.1rem;
    padding-right: 0;
    width: 100%;
    overflow: hidden;
    z-index: 10;
    box-sizing: border-box;
    transition: all ease-in-out 0.2s;
    left: 100%;
	}
  .button_open{
    right: 100% !important;
    transform: translateX(4rem) rotate(-90deg);
    padding: 1.1rem 2.2rem !important;
  }
  .menu_closed{
    left: 100% !important;
  }
  .menu_open{
    left: 0% !important;
  }
	#menu_mobile_button{
		display: unset;
    position: fixed;
    right:0px;
    top:50%;
    padding: 2.2rem 1.1rem;
    border-radius: 0.5rem;
    background: rgba(0,0,0,0.9);
    z-index: 50;
    transition: all ease-in-out 0.2s;
	}
  #menu_mobile_button::before{
    content: "";
    height: 100%;
    position:fixed;
    width:5px;
    top: 0px;
    right: 0px;
    background: rgba(0,0,0,0.9);
  }
  .topbar{
    float: none;
    background: rgba(0,0,0,0.8) !important;
  }
  #topinfo li{
    background: rgba(30,30,30,0.8);
    min-height: 2rem !important;
  }
  #topinfo a{
    padding: 0.35rem !important;
  }
  #topmenu li div a {
  	font-size: 130%;
  }
  .specialicons{
    /*
    position:fixed !important;
    bottom: 0px;
    background: rgba(0,0,0,0.5);
    flex-direction: column;
    right: 0px;
    width: 6rem;*/
  }
  .specialicon{
    width: 100%;
    float: none;
  }
  .menu_first{
    display:flex;
    flex-direction: column-reverse;
    gap:0.2rem;
  }

  #menu_second{
    display: flex;
    justify-content: end;
    background: none !important;
  }
  #topmenu{
    display: flex !important;
    flex-direction:column;
    margin: 0;
    width: 6rem;
    flex: 0 0 6rem;
    background: rgba(50,50,50,0.8);
  }
  #topmenu li{
    float: none;
    position: unset;
    width: auto !important;
    padding: 1.1rem;
  }
  #topmenu li div{
    z-index: -1;
    min-width: 100%;
    top: 0%;
    left: 0%;
    height: 100%;
    border-right: 6rem solid transparent;
    font-size: 0.9rem;
  }
  #topmenu li div li{
    padding: 0.35rem;
  }

  .flex_small_fill{
    flex-basis: 100% !important;
  }
}

.explorationCost{
	padding-bottom: 0.17rem;
	padding-right: 1rem;
}

.stickToTop {
	position: sticky;
	top: 0;
}
