/*@font-face {
	font-family: 'Noto';
	font-style: normal;
	font-weight: 400;
	src: local('Cabin'), local('Cabin-Regular'), url(/includes/fonts/NotoSansMono-Regular.ttf) format('ttf');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}*/
@font-face {
	font-family: 'Roboto Mono';
	font-style: normal;
	font-weight: 400;
	src: url(/includes/fonts/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_ROW4.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.gamepad_focus:focus {outline:none;}

.gamepad_focus.gamepad_focus_active, .gamepad_focus.gamepad_focus_active::after, .gamepad_focus.gamepad_focus_active::before {
	position: relative;
	box-shadow: 0 0 75px 10px rgba(55, 152, 146, 0.95);
	transition:box-shadow 200ms ease-out,background-color 200ms ease-out;
	background-color:rgba(0,102,142,0.75);
	border-top:1px solid rgba(55, 152, 146, 0.75);
	border-bottom:1px solid rgba(55, 152, 146, 0.75);
	animation:opaque_pulse 3s ease-in-out infinite;
}

.gamepad_focus.gamepad_focus_active::after {
	content: ' \1F3AE';
	position: absolute;
	right: -38px;
	font-size: 2em;
	top: 50%;
	transform:translateY(-50%);
	border:1px solid rgba(55, 152, 146, 0.75);
}

.gamepad_focus.gamepad_focus_active::before {
	content: ' \1F3AE';
	position: absolute;
	left: -38px;
	font-size: 2em;
	top: 50%;
	transform:translateY(-50%);
	border:1px solid rgba(55, 152, 146, 0.75);
}

* {padding:0; margin:0; box-sizing:border-box; user-select:none; -moz-user-select:none; -ms-user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; -webkit-user-drag:none; -webkit-user-modify:none; -webkit-highlight:none;}
html {text-size-adjust:100%; -webkit-text-size-adjust:100%; touch-action:manipulation; -ms-touch-action:manipulation;}
body {margin:0; overflow:hidden; background-color:#000; /*background: #F9F9F9 url('/images/bg.jpg') repeat;*/ font-family: Consolas, monospace; font-size:13px; font-smoothing:antialiased; cursor:crosshair;} /*overflow:hidden; font-family: Consolas, 'Roboto Mono', monospace;*/
/*firefox font size fix*/
@-moz-document url-prefix() {
	body {
		/*font-size:12.5px;
		font-weight:bold;*/
	}
	#master_audio {-moz-transform:scale(0.5); -moz-transform-origin:left; margin-right:-85px;}
	.player_flag {width:100%;}
	.achievements_list {width:32%;}
		.achievements_list.speedlist_ffix {width:max-content;}
		.achievements_list.speedlist_ffix2 {width:calc(50% - 16px);}
	.featherlight.featherlight-iframe {scrollbar-color:#777 rgba(0, 0, 0, 0.1);}
}
@supports (-ms-ime-align:auto) {
	.achievements_list.speedlist_ffix {width:max-content;}
	.achievements_list.speedlist_ffix2 {width:calc(50% - 16px);}
}
body.linux, body.mac {font-size:0.95em; font-family: Consolas, monospace;}

a {text-decoration:none; color:#1CC1F7; cursor:pointer; transition:opacity 100ms;}
a:hover {opacity:0.75;}
.clear {clear:both;}

.admin {display: none;}

.perk_link {color:#F96145; transition:color 150ms ease-in;}
	.perk_link:hover {color:#FF4522;}

.monly {display:none;}

input[type="text"], input[type="tel"], textarea {user-select:initial; -webkit-user-select:initial;}
input, select, textarea {border-radius:0; border:none; padding:5px 10px; background-color:rgba(255, 255, 255, 0.85); box-shadow:0 0 5px #26a3cc, inset 0 0 5px #26a3cc;}

html, body, .full_canvas, canvas, .bg, #object_holder, #mobile_controls {
	position:absolute;
	width:100vw;
	height:100vh;
	margin:0;
	padding:0;
	display:block;
}

/*#sbody {display:none; position:absolute; width:100%; height:100%; overflow:hidden;}*/
#sbody {opacity:0; position:absolute; width:100%; height:100%; overflow:hidden; transition:2s opacity ease-in-out;}
	#sbody.bg_fadeIn {opacity:1;}
	#sbody.bg_fadeOut {opacity:0;}

/*#body_loader {position: absolute; z-index: -1; top: 50%; right: 0px; left: 0px; text-align: center; color: rgb(255, 255, 255); transform: translateY(-50%); width:max-content; margin:auto; color:#FFF; padding:1px;}*/
#body_loader {opacity:0; position:absolute; z-index: -1; top:0; right:0; left:0; bottom:0; width:max-content; height:max-content; margin:auto; text-align: center; color: rgb(255, 255, 255); transform:scale(0.8); transition:150ms transform ease-in-out, 150ms opacity ease-in-out; color:#FFF; padding:1px; /*text cutoff 1px padfix*/}
	#body_loader.bg_fadeOut {opacity:0; transform:scale(0.8);}
	#body_loader.bg_fadeIn {opacity:1; transform:scale(1.0);}

.blink_carat {color:orange; animation:blink_caret .75s step-end infinite;}
.blink_carat2 {color:lime; animation:blink_caret2 .75s step-end infinite;}

@keyframes blink_caret {
	from, to { opacity: 1 }
	50% { opacity: 0 }
}

@keyframes blink_caret2 {
	from, to { opacity: 1 }
	50% { opacity: 0 }
}

.featherlight:last-of-type {background:rgba(0,0,0,.3);}

#feather_holder .featherlight.featherlight-iframe iframe.featherlight-inner {width:500px !important; height:500px !important;}

#farb_color {margin:10px auto 10px; width:150px; height:150px; cursor:cell;}

::-webkit-scrollbar {
		width: 10px;
}
::-webkit-scrollbar-track {
		background-color:rgba(0, 0, 0, 0.1);
}
::-webkit-scrollbar-thumb {
		background-color:#777;
}
::-webkit-scrollbar-thumb:hover {
		background-color:#AAA;
}

/*.force-gpu {
	transform: translateZ(0);
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	-moz-transform: translateZ(0);
	backface-visibility: hidden;
	perspective: 1000;
	will-change: transform;
}*/


#modal {display:none; position:absolute; z-index:1000; margin:auto; width:250px; top:0; right:0; bottom:0; left:0;}
	#modal #modal_wrap {}
	#modal #modal_content {overflow:hidden; background-color:#FFF; padding:10px; border-radius:3px; -webkit-border-radius:3px;}
#modal h1 {position:relative; z-index:1; margin:0 0 5px; padding:0; text-align:center; font-size:20pt; font-family:Dadhand; font-weight:normal; color:#3592dd;}
	#modal h1 .far, #modal h1 .fas {position:absolute; z-index:-1; top:0; right:0; font-size:9em; color:#E4F1FC;}
		#modal h1 .fa-spinner {display:inline-block;}
	#modal p {position:relative; z-index:1; margin:10px 0;}
		#modal p:first-of-type {margin:0 0 5px;}
	#modal a {position:relative; z-index:1; float:left; width:50%; height:50px; line-height:50px; margin-top:10px; text-align:center; color:#FFF; background-color:#227CC5; opacity:0.85; border-radius:3px 0 0 3px; -webkit-border-radius:3px 0 0 3px;}
		#modal a.fullwidth {width:100%; border:none; margin-top:5px; border-radius:3px; -webkit-border-radius:3px;}
			#modal p a.fullwidth {height:25px; line-height:25px; font-size:0.8em; margin:10px 0 -5px 0; border-radius:3px; -webkit-border-radius:3px;}
	#modal a:last-of-type {background-color:#3592dd; border-radius:0 3px 3px 0; -webkit-border-radius:0 3px 3px 0;}
	#modal input[type="text"], #modal textarea {border:none; background-color:#EFEFEF; width:100%; padding:10px; font-size:18px; opacity:0.8; border:1px solid #DDD; font:inherit;}
	#modal #mbutton1:active, #modal #mbutton2:active {opacity:0.9;}

#modal.loading {width:175px; height:50px; line-height:50px;}
#modal.loading h1 .far, #modal.loading h1 .fas {font-size:initial; position:static; color:#999;}
#modal.loading h1 {margin:-10px;}
#modal.loading p, #modal.loading a {display:none !important;}

/* Web Pages Styles Wrapper */

#page_wrap {position:fixed; width:100%; height:100%;}
	#page_wrap a.hlink {background:#1CC1F7; color:#FFF; padding:5px 25px; display:inline-block; font-size:6vmin; position:absolute; left:0; right:0; width:fit-content; width:-moz-fit-content; margin:auto;}
			#page_wrap a.hlink.hlink_bot {bottom:0;}
		#page_wrap:before {content:''; position:absolute; width:100%; height:100%; background:transparent url('/images/earth.png') center no-repeat; background-size:contain; animation:spin 600s linear infinite;}
		#page_wrap:after {content:''; position:absolute; z-index:-1; left:0; right:0; top:0; bottom:0; margin:auto; width:1920px; height:1920px; background:transparent url('/images/stars.png') center no-repeat; background-size:cover; animation:spin 1200s linear infinite;}
#page {position:absolute; left:0; right:0; top:50%; transform:translateY(-50%); margin:auto; max-height:80%; max-width:100%; width:fit-content; width:-moz-fit-content; overflow:hidden; overflow-y:auto;}
	#page h1 {background-color:rgba(27, 187, 238, 0.5);}
	#page .cwrapper {background-color:rgba(4, 32, 43, 0.9); color:#FFF;}

/* Game Layout / Options / Backgrounds */

#game_wrapper {position:fixed; width:100%; height:calc(100% - 35px);}

/*#home {display:block;}*/
#home {transition:1s opacity ease-out;}
		#home.bg_fadeIn {opacity:1;}
		#home.bg_fadeOut {opacity:0;}
	#home.window_center {z-index:5;}

#servers {display:block;}

#server_select_list {}
	#server_select_list h3 {margin-bottom:10px; font-weight:normal;}

	select.server_selector {display:block; margin:0 auto 10px auto; text-align:center; padding:2px 10px; background:none; border:none; color:#1CC1F7; cursor:pointer;}
			select.server_selector:focus {outline:none;}
		.server_selector option {background:#111;}
			.server_selector option:checked, .server_selector option:hover {}

.server_display {margin:40px 0; transform:translateX(25px);}

.server_select {
	display:inline-block;
	background:rgba(0, 0, 0, 0.5);
	border-radius:50%;
	height:135px;
	width:135px;
	vertical-align:top;
	opacity: 0.5;
	transform:translateZ(0);
	vertical-align:middle;
}

.server_select:hover::after {
	position:absolute;
	color:white;
	font-size:1em;
	width:max-content;
	padding:2px 10px;
	/*
	background:rgba(0, 208, 255, 0.5);
	border-radius:10px;
	box-shadow:0 0 5px #26a3cc, inset 0 0 5px #26a3cc;
	*/
	bottom:-20px;
	border:1px solid #26a3cc;
	border-top:none;
	border-right:none;
}

.server_select[data-name="Orbity Classic"]:hover::after {
	content: 'Small \1F30E  Achievements \2B50';
}

.server_select[data-name="Orbity Campaign"] {width:165px; height:165px; font-size:1.2em;}
	.server_select[data-name="Orbity Campaign"]:hover::after {
		content: 'Big \1F30E  Missions \1F680  Factions \1F4E1  Achievements \2B50';
	}

.server_select[data-name="Solar System"] {width:185px; height:185px;}
.server_select[data-name="Solar System"]:hover::after {
	content: 'Huge \1FA90  Achievements \2B50';
}

.server_select.available {
	opacity: 1;
	box-shadow:0px 0px 75px 10px rgba(0,0,0,0.55);
	background-color:rgba(0, 0, 0, 0.6);
	transition:box-shadow 200ms ease-out, background-color 200ms ease-out, transform 200ms ease-out;
	position:relative;
	background-color:rgba(0, 102, 142, 0.25);
}
.server_select.available:hover {
	cursor:pointer;
	box-shadow:0 0 5px #26a3cc, inset 0 0 5px #26a3cc;
	background-color:rgba(0, 208, 255, 0.25);
	transform:scale(1.2);
	z-index:1;
}

.server_select .welcome_tip-icon {
	display:none;
	font-size:0.75em;
	color:rgba(255, 255, 255, 0.3);
	position:absolute;
	top:-20px;
	right:0;
	left:0;
	margin:0 auto;
	cursor:help;
	width:fit-content;
	width:-moz-fit-content;
}
		.server_select .welcome_tip-icon:hover {
			color:rgba(85, 251, 182, 0.5);
		}
	.server_select:hover .welcome_tip-icon {
		display:block;
	}

.server_select .hover-join {
	display:none;
	position:absolute;
	width:100%;
	color:#26FFC2;
	margin-top:5px;
}
.server_select:hover .hover-join{
	display:block;
}

#loading {position:absolute; z-index:5; max-width:250px; padding-left:375px; pointer-events:none; transition:3s opacity ease-out;}
		#loading.bg_fadeOut {opacity:0;}
		#loading.bg_fadeIn {opacity:1;}
	#loading.in_game {padding-left:initial; max-width:325px; font-size:1.1em;}
		#loading.in_game .window {width:325px; height:325px;}
#loading .window {background-color:rgba(0, 0, 0, 0.6); width:250px; height:250px; background-color: rgba(4, 32, 43, 0.55);}
#loading_bar_wrap {width:125px; border:#3e7c95 1px solid; margin:0 auto;}
#loading_bar {height:29px; background-color:#4aacd4;}

#mobile_controls, #mobile_menu, #mobile_menu_right, .mobile_hudbutton, #score, .sfx_toggle {display:none;}

#object_holder {overflow: hidden; background:transparent; transition:background 250ms; -webkit-transition:background 250ms;}

.graphics_toggle {}
	.gcontrast .bg, .gcontrast .twinkle, .gcontrast .clouds, .gcontrast .stars {display:none;}
		#object_holder.gcontrast {background:#F9F9F9 url('/images/bg.jpg') repeat;}

.music_toggle {margin-left:5px; vertical-align:middle;}

.sb{
	position: absolute;
	z-index: 1;
}

.so{
	position: absolute;
	z-index: 1;
}

.so_main{
	position: absolute;
	z-index: 1;
}


/* Featherlight Lightbox / Page / Content / Table / Styles */

.featherlight .featherlight-content {padding:0; border:none; background:none; max-height:calc(100% - 100px);}
	.featherlight .featherlight-content .featherlight-inner {color:#FFF; background:rgba(0, 0, 0, 0.85); background-color: rgba(4, 32, 43, 0.9);}
		.featherlight .featherlight-content h1.featherlight-inner:first-of-type {background:rgba(27, 187, 238, 0.5);}
.cwrapper.featherlight-inner {padding:0;}
.cwrapper.featherlight-inner .content {/*padding:0 15px; margin:10px 0;*/}


/* Page Content Styles / JER (needs full review) */

table {text-align:left;}
td, th {padding:0 5px;}
		td small, th small {font-size:0.6em;}
	td:first-child, th:first-child {padding-left:0;}
	td:last-child, th:last-child {padding-right:0;}

.cwrapper {margin:0; padding:50px 25px; background-color:#FFF; color:#222;}
	h1.ptitle {font-size:2.5em; background-color:rgba(0, 0, 0, 0.85); color:#FFF; padding:10px 15px; margin:0; text-transform:uppercase;}
		h1.ptitle.pcenter {text-align:center;}
		h1.ptitle span {position:relative;}
			h1.ptitle span img {position:absolute; top:2px; left:-9px; width:10px; opacity:0.5; transform: rotate(-60deg); -webkit-transform: rotate(-60deg); -ms-transform: rotate(-60deg);}

.cwrapper.morepad {padding:75px 25px;}
.cwrapper.lesspad {padding:25px;}
.cwrapper.center {text-align:center;}
.cwrapper h3 {margin:0 0 15px; font-size:1.8em; font-weight:normal; color:#75ACF5;}
.cwrapper strong {font-size:1.2em; font-weight:normal; text-decoration:underline;}
.cwrapper.alt {background-color:#1E2225; color:#DFDFDF;}
.cwrapper.alt2 {background-color:#18A7EF; color:#FFF;}
	.cwrapper.alt2 h3 {color:#FFF;}

.content {max-width:1080px; margin:0 auto;}

.content.form {width:400px; text-align:center; color:#FFF; padding:25px;}
	.content.form h1 {font-size:3em;}
	.content.form h2 {font-size:2.5em;}
	.content.form p {font-size:1.2em;}
		.content.form .far, .content.form .fas {font-size:1.5em; margin:10px 0;}
			.content.form .fa-globe-americas {-webkit-animation:spin 300s linear infinite; -moz-animation:spin 300s linear infinite; animation:spin 300s linear infinite;}
		.content.form input {border-radius:5px; line-height:22px; border:2px solid #1CC1F7; transition:all 0.3s; padding:15px; margin-bottom:10px; width:75%; font-family:monospace; outline:0;}
		.content.form input:focus {border:2px solid #81bc00;}
		.content.form .button {border:none; background-color:#81bc00; color:#FFF; font-size:1.1em;}
				.content.form .button.alt {background-color:#4DBAE7;}
			.content.form .button:hover {background-color:#21bc00; cursor:pointer;}
				.content.form .button.alt:hover {background-color:#1CC1F7;}
		.content.form p.foot {font-size:0.7em; color:#999;}

/* END / Page Content Styles / JER (needs review) */


/* Game Start / Earth Background */
#play_game_fadein {position:fixed; z-index:3; top:0; width:100%; height:100%; background:#000; opacity:1; transition:opacity 4s ease-out; pointer-events:none;}
	#play_game_fadein.active {opacity:0;}

#earth-bg {
	position:relative; top:50%;
	z-index:3;
	margin:auto;
	max-width:1000px;
	/*margin-top:-17px;*/ /*offset hacks :\ */
	transform:translateY(-50%) scale(1.0) rotate(0);
	transition:1.5s transform ease-out, 1.5s opacity ease-out;
}
	#earth-bg img.bgrotate {width:100%; min-width:500px; animation:spin 600s linear infinite;}
	#earth-bg.bg_fadeOut {opacity:0; transform:translateY(-50%) rotate(5deg);}
	/*#earth-bg.bg_fadeOut {opacity:0; transform:translateY(-50%) scale(0.8) rotate(5deg);}*/
	#earth-bg.bg_fadeIn {opacity:1; transform:translateY(-50%) scale(1.0);}

@-moz-keyframes spin {
	from { -moz-transform: rotate(0deg); }
	to { -moz-transform: rotate(359deg); }
}
@-webkit-keyframes spin {
		from { -webkit-transform: rotate(0deg); }
		to { -webkit-transform: rotate(359deg); }
}
@keyframes spin {
		from {transform:rotate(0deg);}
		to {transform:rotate(359deg);}
}

/* Game Start / Earth Background Orbiters */

.horbiter {
	position:absolute; top:0; right:0; bottom:0; left:0; margin:auto;
}
.horbit1{
	animation: orbit1 15s linear infinite; /* Chrome, Firefox 16+, IE 10+, Safari 5 */
}
/*@keyframes orbit1 {
	from { 	transform: rotate(0deg) translateX(525px) rotate(180deg); }
	to   {  transform: rotate(360deg) translateX(525px) rotate(180deg); }
}*/
@keyframes orbit1 {
	0% {transform: rotate(0deg) translateX(525px) rotate(-180deg);}
	25%   {transform: rotate(90deg) translateX(525px) rotate(0deg);}
	50%   {transform: rotate(180deg) translateX(525px) rotate(0deg);}
	75%   {transform: rotate(270deg) translateX(525px) rotate(180deg);}
	100%   {transform: rotate(360deg) translateX(525px) rotate(180deg);}
}
.horbit2{
	animation: orbit2 20s linear infinite; /* Chrome, Firefox 16+, IE 10+, Safari 5 */
}
@keyframes orbit2 {
	from { 	transform: rotate(0deg) translateX(600px) rotate(180deg); }
	to   {  transform: rotate(360deg) translateX(600px) rotate(180deg); }
}

.horbit3{
	animation: orbit3 30s linear infinite; /* Chrome, Firefox 16+, IE 10+, Safari 5 */
}
@keyframes orbit3 {
	from { 	transform: rotate(0deg) translateX(675px) rotate(180deg); }
	to   {  transform: rotate(360deg) translateX(675px) rotate(180deg); }
}

.horbit4{
	animation: orbit4 30s linear infinite; /* Chrome, Firefox 16+, IE 10+, Safari 5 */
}
@keyframes orbit4 {
	from { 	transform: rotate(0deg) translateX(-925px) rotate(-180deg); }
	to   {  transform: rotate(-360deg) translateX(-925px) rotate(-180deg); }
}


/* Messages / JER (still needs todo/review) */

#messages {}
#messages ul {color:#EEE; padding:10px;}
#messages ul li {list-style:none;}
#m_success {color: #55fb03;}
#m_notification {color:#92b6ff;}
#m_error {color:#FF0000;}

	.repeat_achievement .repeat_text {display:block !important; color:#AAA; font-style:italic; font-size:0.6em;}

.anim_banner_wrap {position:fixed; z-index:999; top:0; left:0; width:100%; height:100%; pointer-events:none;}
.anim_banner {position:fixed; top:12vmin; width:100%; height:8vmin;}
	/*.anim_banner_bg {z-index:1; opacity:0; background:rgba(243, 245, 176, 0.5); animation:banner_bg 5s ease-in-out; transform:translateX(-100%);}*/
	.anim_banner_bg {z-index:1; opacity:0; animation:banner_bg 5s ease-in-out; background:rgb(46 46 46 / 50%); box-shadow:0 0 30px 5px rgb(46 46 46 / 85%);}
			.anim_banner_wrap.anim_banner_achievement .anim_banner_bg {background:rgb(243 245 176 / 70%); box-shadow:0 0 30px 5px rgb(243 245 176 / 85%);}
				.anim_banner_wrap.anim_banner_achievement .anim_banner_txt_top span {color:rgb(239 222 22 / 80%);}
			.anim_banner_wrap.anim_banner_new_mission .anim_banner_bg {background:rgb(145 145 145 / 70%); box-shadow:0 0 30px 5px rgb(145 145 145 / 85%);}
				.anim_banner_wrap.anim_banner_new_mission .anim_banner_txt_top span {}
			.anim_banner_wrap.anim_banner_mission_step .anim_banner_bg {background:rgb(145 145 145 / 60%); box-shadow:0 0 30px 5px rgb(145 145 145 / 85%);}
				.anim_banner_wrap.anim_banner_mission_step .anim_banner_txt_top span {}
			.anim_banner_wrap.anim_banner_mission_complete .anim_banner_bg {background:rgb(171 209 167 / 70%); box-shadow:0 0 30px 5px rgb(171 209 167 / 85%);}
				.anim_banner_wrap.anim_banner_mission_complete .anim_banner_txt_top span {}
				/*#messages .message .anim_banner_wrap.anim_banner_mission_failed {display:none;}
				#messages .message .anim_banner_wrap.anim_banner_mission_failed:first-child {display:block;}*/
				.anim_banner_wrap.anim_banner_mission_failed .anim_banner_bg {background:rgb(231 126 126 / 50%); box-shadow:0 0 30px 5px rgb(231 126 126 / 85%);}
					.anim_banner_wrap.anim_banner_mission_failed .anim_banner_txt_top span {}
			.anim_banner_wrap.anim_banner_bounty .anim_banner_bg {background:rgb(100 100 100 / 50%); box-shadow:0 0 30px 5px rgb(100 100 100 / 85%);}
				.anim_banner_wrap.anim_banner_bounty .anim_banner_txt_top span {}
			.anim_banner_wrap.anim_banner_leveling .anim_banner_bg {background:rgb(171 209 167 / 50%); box-shadow:0 0 30px 5px rgb(171 209 167 / 85%);}
				.anim_banner_wrap.anim_banner_leveling .anim_banner_txt_top span {}
	
	.anim_banner_txt {z-index:2; opacity:0; line-height:8vmin; text-align:center; color:#000; font-size:5vmin; animation:banner_txt 5s ease-in-out;}
		.anim_banner_txt_top {position:absolute; top:-50px; margin:0 auto; left:0; right:0; font-size:30%; color:#EEE; padding:0 50px; width:fit-content; width:-moz-fit-content; line-height:50px; border-radius:10px 10px 0 0;}
			.anim_banner_txt_top span {position:absolute; right:110px; width:max-content; font-size:1.4em; color:rgb(255 255 255 / 80%);}
			.anim_banner_txt_top i {position:absolute; bottom:-40px; left:0; right:0; width:fit-content; width:-moz-fit-content; font-size:5vmin; margin:0 auto; color:rgb(239 182 22 / 60%);}

		.anim_banner_txt_mid {text-overflow:ellipsis; max-width:100vmin; white-space:nowrap; overflow:hidden; margin:auto; height:8vmin;}

		.anim_banner_txt_bot {position:absolute; bottom:-50px; margin:0 auto; left:0; right:0; font-size:40%; color:#EEE; padding:0 50px; width:fit-content; width:-moz-fit-content; line-height:50px; border-radius:0 0 10px 10px;}

@keyframes banner_bg {
	0% { opacity:0; transform:translateX(100%); }
	10%,50%,90% { opacity:1; transform:translateX(0); }
	100% { opacity:0; transform:translateX(-100%); }
}

@keyframes banner_txt {
	0%,5% { opacity:0; transform:translateX(25px); }
	10%,50%,90% { opacity:1; transform:translateX(0); }
	95%,100% { opacity:0; transform:translateX(-25px); }
}


/* Centered Lightbox Window */

.window_center {display:none; position:absolute; top:50%; right:0; left:0; z-index:4; max-width:500px; margin:auto; color:#333; transform: translateY(-50%);}
.window {width:500px; height:500px; border-radius:250px; text-align:center; color:#FFF; background-color:rgba(0, 0, 0, 0.6); box-shadow: 0px 0px 75px 10px rgba(0,0,0,0.7); -webkit-transition:opacity 1s ease-in-out; background-color: rgba(4, 32, 43, 0.55);}
		#dead {display:none;}
			#dead .window {box-shadow:0px 0px 75px 10px rgba(39, 72, 66, 0.9); background-color: rgba(4, 32, 43, 0.75);}
	.window .wbox {position:relative; top:50%; transform: translateY(-50%);}
			#dead .bubble .window .wbox {pointer-events:none;}

	#dead #leveling {border:1px solid #81CC91; width:50%; margin:10px auto; padding:5px 0; color:#9cff00; animation:opaque_pulse 1.5s ease 0s infinite normal none running;}
	#dead .netxp {border:1px solid rgba(255, 255, 255, 0.5); width:50%; margin:10px auto; margin-bottom:20px; padding:2px 0; font-size:1.4em; vertical-align:middle; box-shadow:0 0 5px #26a3cc, inset 0 0 5px #26a3cc; animation:opaque_pulse 1s ease-in-out infinite;}
	
	.killcam {position:absolute; left:-100px; border-radius:50%; width:200px; height:200px; box-shadow:0 0 5px #26a3cc, inset 0 0 5px #26a3cc; background-color:rgba(4, 32, 43, 0.75); border:1px solid rgba(255, 0, 0, 0.5);}
		.killcam .killcam_player_trajectory {border-top:1px solid rgba(255, 255, 255, 0.25); position:absolute; top:50%; width:100%; transform:rotate(210deg);}
		.killcam .killcam_other_trajectory {border-top:1px solid rgba(255, 0, 0, 0.45); position:absolute; top:50%; width:100%; transform:rotate(70deg);}
					.killcam .killcam_player_trajectory::before, .killcam .killcam_other_trajectory::before {position:absolute; color:#AAA; margin-left:5px;}
					.killcam .killcam_player_trajectory::before {content:"You";}
					.killcam .killcam_other_trajectory::before {content:"Rock";}
			.killcam .killcam_player_trajectory img, .killcam .killcam_other_trajectory img {position:absolute; transform:rotate(90deg); max-width:50px; image-rendering:pixelated; animation:killcam 3s infinite;}
					.killcam .killcam_boom img {position:absolute; top:50%; left:0; right:0; transform:translateY(-50%) scale(0) rotate(0deg); margin:0 auto; animation:killcam_boom 3s infinite;}
			@keyframes killcam {
				0% { transform:rotate(90deg) translateY(0); }
				48% { opacity:1; }
				50%, 99% { opacity:0; }
				100% { transform:rotate(90deg) translateY(-100px); opacity:0; }
			}
			@keyframes killcam_boom {
				0%, 45%, 100% { opacity:0; }
				70% { opacity:1; }
				99% { opacity:0; transform:translateY(-50%) scale(0.7) rotate(90deg); }
			}
			.killcam .killcam_player_trajectory img {top:-9px;} /*temp offset hack */
			.killcam .killcam_other_trajectory img {top:-25px;} /*temp offset hack */

/* Window Content */

.wbox .fa {}
	.wbox .fa-globe-americas, .wbox .fa-rocket, .wbox .fa-star {animation:spin 60s linear infinite;}
		.wbox .server_select .fa-globe-americas, .wbox .server_select .fa-rocket, .wbox .server_select .fa-sun {font-size:1.2em; margin-bottom:5px; animation:none;}
.wbox h1 {font-size:1.2em; font-weight:normal;}
.wbox {}
	.wbox input {font-family:monospace; border-radius:5px; line-height:22px; border:none; padding:15px; margin-bottom:10px; text-align:center; width:75%; transition:background-color 250ms; opacity:0.9;}
		.wbox input:focus {}
		/*.wbox input {font-family:monospace; border-radius:5px; line-height:22px; border:1px solid #555; padding:15px; margin-bottom:10px; text-align:center; width:75%; transition:background-color 250ms; opacity:0.9;}
		.wbox input:focus {border:1px solid #81bc00;}*/
		.wbox .button {border:none; background-color:#81bc00; color:#FFF;  background-color:rgba(129, 188, 0, 0.65); box-shadow:0 0 5px #26a3cc, inset 0 0 5px #26a3cc;}
		.wbox .button:disabled {background-color:grey !important;}
			.wbox .button.alt {background-color:#4DBAE7; background-color:rgba(0, 181, 255, 0.65); box-shadow:0 0 5px #26a3cc, inset 0 0 5px #26a3cc;}
			.wbox .button.alt2 {background-color:#3f84a0; background-color:rgba(63, 132, 160, 0.65); box-shadow:0 0 5px #26a3cc, inset 0 0 5px #26a3cc;}
		.wbox .button:hover {background-color:#21bc00; cursor:pointer;}
			.wbox .button.alt:hover {background-color:#1CC1F7;}
			.wbox .button.alt2:hover {background-color:#4DBAE7;}
				.wbox .button.logout:hover {background-color:#E71414; color:#FFF !important;}
	.wbox p.foot {font-size:0.7em; color:#999;}

.bubble {position:absolute; z-index:1; top:25%; right:-25px; max-width:100px; font-size:0.8em;}
.bubble .window {background-color:rgba(0, 0, 0, 0.6); width:100px; height:100px; transition:box-shadow 200ms ease-out, background-color 200ms ease-out, transform 200ms ease-out; background-color: rgba(4, 32, 43, 0.55);}
	.bubble .window:hover {box-shadow:0 0 5px #26a3cc, inset 0 0 5px #26a3cc !important; background-color:rgba(31, 63, 76, 0.45) !important; transform:scale(1.2); z-index:2;}
.bubble .window .fa-reddit, .bubble .window .fa-discord, .bubble .window .fa-patreon, .bubble .window .fa-bolt {animation:spin 60s linear infinite;}

.bubble .window.update_changelog {box-shadow:0 0 100px #a7cc26, inset 0 0 40px #abcc26;}
	.bubble .window.update_changelog:after {content: 'with Wormholes!'; position:absolute; bottom:-15px; margin-right:-100px; border-bottom:1px solid #a7cc26; border-left:1px solid #a7cc26; padding:0 5px; width:fit-content; width:-moz-fit-content; color:#FFF; font-size:1.2em;}

/*.content.form {width:400px; text-align:center; color:#333; background-color:#FFF; padding:25px;}
	.content.form h1 {font-size:1em;}
	.content.form h2 {font-size:1.3em;}
	.content.form p {font-size:1.2em;}
		.content.form .fa {font-size:1.5em; margin:10px 0;}
			.content.form .fa-globe {-webkit-animation:spin 300s linear infinite; -moz-animation:spin 300s linear infinite; animation:spin 300s linear infinite;}
		.content.form input {border-radius:5px; line-height:22px; border:1px solid #1CC1F7; transition:all 0.3s; padding:15px; margin-bottom:10px; width:75%; font-family:monospace; outline:0;}
		.content.form input:focus {border:1px solid #3f84a0;}
		.content.form .button {border:none; background-color:#81bc00; color:#FFF; font-size:1.1em;}
				.content.form .button.alt {background-color:#4DBAE7;}
			.content.form .button:hover {background-color:#21bc00; cursor:pointer;}
				.content.form .button.alt:hover {background-color:#1CC1F7;}
		.content.form p.foot {font-size:0.7em; color:#999;}*/

		.logged_in_out {display:none;}
		.logged_in {display:none; position:relative; margin-top:-10px;}
			.logged_in div {}
					.logged_in a {position:relative; z-index:1;}
			.logged_in .logged_in_user {margin:0; position:absolute; bottom:-14px; width:100%; text-align:left; font-size:0.9em;}
					.logged_in .logged_in_user small {color:#AAA; float:left; margin-right:1px;}
				.logged_in .logged_in_user .open_profile {text-overflow:ellipsis; white-space:nowrap; overflow:hidden; max-width:135px; display:inline-block; margin-bottom:-2px; line-height:14px;}
					.logged_in .logged_in_user .open_profile:hover {color:#99f71c;}
			.logout:hover {color:#ff4040 !important;}

		.logged_out {display:none;}

		#signup .window, #login_help .window {background-color:rgba(0, 0, 0, 0.75);}
				#signup.window_center {z-index:6;}
				#login_help.window_center {z-index:5;}
			.login_help {color:#AAA; position:absolute; right:70px; font-size:0.8em;}

#speed_run {top:-40px; left:initial; right:-50px; transform:initial; max-width:400px;}
#speed_run .window {width:400px; height:400px; background-color:rgba(4, 32, 43, 0.9); box-shadow:0px 0px 75px 10px rgba(122, 158, 113, 0.7);}

#read_message .window {background-color:rgba(4, 32, 43, 0.85); box-shadow:0px 0px 75px 10px rgb(255 176 0 / 75%); border:2px solid rgb(255 176 0 / 50%);}
		#read_message::before {content:'\1F6A9 InfoCenter \1F6A9'; top:15px; left:0; right:0; position:absolute; color:#777; margin:auto; width:fit-content; width:-moz-fit-content; text-align:center;}
	#read_message .window .wbox .button {width:50%; margin-top:15px;}
#read_message_content {color:#AAA;}
	#read_message_content hr {opacity:0.25;}


/* Bottom Nav / Footer */

.nwrapper {position:fixed; bottom:0; z-index:3; width:100%; min-width:1080px; background-color:rgba(0, 0, 0, 0.55);}
		.nwrapper:hover {}
	.nwrapper .options_wrapper{}
			.nwrapper.minimal {min-width:initial;}
			.nwrapper.minimal .options_wrapper {position:relative; width:100%; left:calc(50% - 278px);}
					.nwrapper.minimal .options_wrapper .options.hud_minimize, .nwrapper.minimal .options_wrapper .options.hud_maximize {display:none !important;}
		.nwrapper .options {position:absolute; left:10px; bottom:0; line-height:35px; color:#999; opacity:0.6; cursor:pointer;}
				.nwrapper .options small {display:none; color:#999; margin-right:5px;}
			.nwrapper .options:hover {opacity:1;}
				.nwrapper .options:hover small {display:inline-block; position:relative; top:11px; left:10px;}
	.nwrapper .music-creds {position:absolute; right:10px; bottom:0; line-height:35px; color:#999; opacity:0.6;}
			.nwrapper.minimal .music-creds {right:calc(50% - 228px);}
				.nwrapper.minimal .music-creds:hover {top:-35px; line-height:normal;}
			.nwrapper .music-creds small {display:none; color:#777; margin-right:5px;}
		.nwrapper .music-creds:hover {opacity:1; top:-7px;}
				.nwrapper .music-creds:hover .fas.fa-music {display:none;}
			.nwrapper .music-creds:hover small {display:inline-block; margin-left:5px;}
		.nwrapper .music-creds .fa-music {margin-right:5px; vertical-align:middle;}
.nav {margin:0 auto; max-width:1080px; /*height:20px; line-height:20px;*/}
	.nav ul {margin:0; padding:0; list-style:none;}
		.nav ul li {display:inline-block; margin-left:10px; vertical-align:middle;}
			.nav ul li:first-child {margin-left:0;}
				.nav ul li .fas {vertical-align:middle; margin-top:-2px;}
		.nav ul li.logo {position:relative; top:-1px;}
			.nav ul li.logo a {color:white; font-size:1.2em; vertical-align:middle;}
			.nav ul li.logo img {position:absolute; top:8px; left:-5px; width:5px; transform: rotate(-60deg); -webkit-transform: rotate(-60deg); -ms-transform: rotate(-60deg);}
				.nav ul li.logo .logo_server_select {position:absolute; top:11px; color:#AAA; font-size:0.7em; pointer-events:none; width:85px;}
				.nav ul li.logo .lserver_select .fa-ellipsis-h {position:absolute; left:-30px; top:13px; cursor:pointer;}
					.nav ul li.logo .lserver_select .fa-ellipsis-h:hover {opacity:0.8;}
	.nav ul.lnav {float:left; color:#777; line-height:35px; font-size:0.95em;}
	.nav ul.rnav {float:right; color:#777; margin-top:8px;}

	.nav .fa, .nav .far, .nav .fas {font-size: initial; vertical-align:text-bottom;}

	.smlinks {margin:0; position:absolute; bottom:-13px; width:100%; text-align:center; font-size:0.85em;}
		.smlinks .fab, .smlinks img {vertical-align:middle; margin-right:5px;}

.achieve_glow {}
	.achieve_glow.aactive {animation:achieve_glow 4s;}

@keyframes achieve_glow {
	from, to { box-shadow:none; }
	50% { box-shadow:0 0 40px #efde16, inset 0 0 20px #efde16; }
}

#music_list {padding-left:30px; overflow-x:hidden;}
	#music_list li {}
		#music_list li .fa-play-circle {color:#6c8e73; font-size:0.9em;}
	#music_list li:hover {opacity:0.8; cursor:pointer;}


/* Player HUD / Gameplay Display */

#score {position:fixed; z-index:2; top:10px; right:0; left:0; margin:0 auto; color:#FFF; text-align:center; font-size: 1.4em; width:fit-content; width:-moz-fit-content;}
	#score span {font-size:1.1em;}

#cam_view_disp {display:none; font-size:0.8em; color:#16e63b; margin-top:5px; }
	#cam_view_disp.cam_disp_show{animation:cam_disp_hide 1s; transition:opacity 1s ease-out;}

@keyframes cam_disp_hide {
	0% { opacity:1; display:block; }
	99% { opacity:0; }
	100% { opacity:0; display:none; }
}

.message_zoom {display:none; opacity:0; pointer-events:none; position:fixed; bottom:250px; right:0; left:0; margin:auto; width:fit-content; width:-moz-fit-content; animation:message_zoom 1s ease-out forwards; color:red; text-align:center; text-transform:uppercase; line-height:100%; font-size:5px; will-change:opacity, transform;}
	.message_zoom div {font-size:10px;}

@keyframes message_zoom {
	0% { transform:scale(0); }
	50% { opacity:0.5; }
	99% { opacity:0; }
	100% { transform:scale(20); }
}

#health-fuel-container {position:absolute; z-index:3; pointer-events:none; bottom:0; left:0; right:0; text-align:center; width:fit-content; width:-moz-fit-content; margin:auto;}
	.landing-notifier {display:none; max-width:175px; margin:0 auto; color:#FFF; background-color:rgba(255, 0, 0, 0.75); padding:5px; position:relative; top:-10px; border-radius:15px;}
#main_pull {color:grey; font-size:1.4em; width:fit-content; width:-moz-fit-content; margin:0 auto;}

.ship_bubble {position:absolute; margin:0 auto; left:0; right:0; bottom:-7px; display:inline-block; width:50px; height:50px; background-color:rgba(0, 0, 0, 0.5); border:1px solid rgba(115, 115, 115, 0.35); border-radius:50%; background-color:rgba(4, 32, 43, 0.55);}
	.ship_bubble #track_pointer {color: rgb(255, 237, 0); position: relative; transition:transform 1s; left:0; top:30%; z-index:1; transform: rotate(30rad) translateX(18px);}
	.ship_bubble img#ship_angle_display {vertical-align:middle; position:absolute; left:0; right:0; top:0; bottom:0; margin:auto; image-rendering:pixelated; will-change:transform;}

.range_view {position:relative; top:-10px; font-size:0.8em;}

#earth_range_text {display:flex; width:fit-content; width:-moz-fit-content; left:0; right:0; margin:auto; padding:5px 10px; background:rgb(0 0 0 / 50%); border-radius:15px;}
#earth_pull_dist {color:#CCC; margin-left:10px;}

.range_view_text {padding:5px 15px; background:rgb(0 0 0 / 50%); border-radius:15px;}

.value_bar{
	color: white;
	position:relative;
	display:inline-block;
	width:200px;
	height:30px;
	background-color:rgba(150, 150, 150, 0.5);
	border-radius:20px;
	overflow:hidden;
}
	.value_bar.active {box-shadow:0 0 5px #26a3cc, inset 0 0 5px #26a3cc;}
			.value_bar.active::before {position:absolute; top:18px; color:#0dff91; left:0; right:0; font-size:12px; z-index:1;}
					#health.value_bar.active::before {content:'Repairing'; left:0; animation:opaque_pulse 1s infinite;}
					#fuel.value_bar.active::before {content:'Refueling'; right:0; animation:opaque_pulse 1s infinite;}

	#health-fuel-container .vwarning {display:none; position:absolute; color:#ff0000; bottom:6px; font-weight:bold; text-align:center; width:fit-content; width:-moz-fit-content; padding:5px 10px; background:rgb(0 0 0 / 50%); border-radius:15px; animation: 2s ease 0s infinite normal none running opaque_pulse;}
	#low_health_warning.vwarning {left:-125px;}
	#low_fuel_warning.vwarning {right:-110px;}

	@keyframes v_regen {
		0% { box-shadow:0 0 5px #26a3cc, inset 0 0 5px #26a3cc; }
		50% { box-shadow:none; }
		100% { box-shadow:0 0 5px #26a3cc, inset 0 0 5px #26a3cc; }
	}

.value_bar_value{
	position: absolute;
	left: 0;
	right:0;
	top: 0;
	height:30px;
	background:rgba(0, 128, 0, 0.5);
	z-index: 0;
	transform:scaleX(0);
	transform-origin:0;
	border-radius:20px;
}
	.value_bar_value.fuel_bar {background:rgba(164, 179, 0, 0.5);}

.value_bar_text{
	position: absolute;
	line-height:30px;
	width:100%;
	text-align:center;
	z-index: 1;
	font-size: 1.2em;
}
	.value_bar_text small {color:#DDD;}

#messages {position:fixed; z-index:2; top:50px; right:0; left:0; margin:0 auto; width:fit-content; width:-moz-fit-content; padding:0 10px; color:#EEE; text-align:center;/*font-size:1.6vh;*/ background-color:rgba(0, 0, 0, 0.5); border-radius:25px; background-color:rgba(4, 32, 43, 0.55); background-color:rgba(47, 78, 90, 0.55);
	/*-webkit-transition: opacity 4s ease-in-out;
	-moz-transition: opacity 4s ease-in-out;
	-o-transition: opacity 4s ease-in-out;
	transition: opacity 4s ease-in-out;*/
}
	#messages .message {padding:10px;}
		#messages.deadmessmove {width:auto; top:initial; right:initial; bottom:40px; left:0; text-align:left;}
	#messages.deadmessmove .message {margin:12.5px;}
	/*#messages.gcontrast_color {color:#111;}*/

.afk_message {
	color:#ffadad;
	animation:opaque_pulse 3s infinite;
}

@keyframes red_pulse {
	20% { color: inherit; }
	50% { color: #FF0000; }
	80% { color: inherit; }
}

.mission_pointer {
	/*animation:opaque_pulse 2s infinite;*/
}

/*@keyframes opaque_pulse {
	20% { opacity: 0.9; }
	50% { opacity: 0.7; }
	80% { opacity: 0.9; }
}*/
@keyframes opaque_pulse {
	from, to { opacity: 1 }
	50% { opacity: 0.8 }
}

@keyframes green_pulse {
	20% { color: inherit; border-color: inherit; }
	50% { color: #9cff00; border-color: #9cff00; }
	80% { color: inherit; border-color: inherit; }
}

#hud {z-index:2; display:none;}

.hud {
	position:fixed;
	z-index:2;
}
.hud_title {
	/* background-color:rgba(0, 0, 0, 0.85); */
	color:#FFF;
	padding:5px 10px;
	text-transform:uppercase;
	cursor:pointer;
}
	#scoreboard .hud_title, #radio_wrapper .hud_title {text-align:right;}
.hud_cont {padding:10px; color:#AAA;}/* background:rgba(100,100,100,0.5); background:rgba(0, 0, 0, 0.5); */

#score_table .open_profile, #scoreboard_players .open_profile, .speed_table .open_profile {display:block; max-width:105px; text-overflow:ellipsis; white-space:nowrap; overflow:hidden;}
		.speed_table .open_profile {display:inline-block;}
		.speed_table {width:100%;}

#scoreboardwrap {top:10px; right:0; max-width:275px;}
	#scoreboard {}
	#scoreboard .online_player_count {color:#FFF; text-align:right; width:100%; font-size:0.8em; margin-bottom:5px;}
	#scoreboard_players {background:rgba(0, 0, 0, 0.5); padding:5px; border-radius:15px 0 0 15px; position:relative; right:-10px;}
	#scoreboard th {font-size:0.8em; color:#777;}
		#scoreboard th:last-child {font-size:0.6em;}
	#scoreboard td.position {color:#FFF;}
		#scoreboard td.position::before {content:"#"; font-size:0.85em; color:#81CC91; margin-right:2px;}
	#scoreboard .player {width:100%;}
		#scoreboard .player .fa-crosshairs {position:absolute; margin-left:-15px; color:#bb4c40; font-size:0.8em; cursor:help;}
	.is_player { color: #ffff97 !important;}

	#scoreboard #killfeed {position:absolute; right:10px; width:100%; width:max-content; text-align:right; color:#777;}
		#scoreboard #killfeed .kill {opacity:0; animation:kill_fade 8s ease-in forwards;}
			#scoreboard #killfeed .kill img {vertical-align:middle; animation:fa-spin 30s linear infinite; image-rendering:pixelated;}
			#scoreboard #killfeed .kill .fa-bullseye {vertical-align:middle; font-size:0.8em; color:#bb4c40;}

		#scoreboard #killfeed .feed_cap_content .fa-satellite-dish {color:rgba(239, 222, 22, 0.75);}
		#scoreboard #killfeed .feed_cap_content span {color:#CCC;}
		#scoreboard #killfeed .feed_cap_content .fa-satellite-dish {animation:opaque_pulse 1s ease-in-out infinite;}

			@keyframes kill_fade {
				0%,100% {opacity:0;}
				20%,70% {opacity:1;}
			}

#smallcam {top:10px; left:10px; width:300px;}
	#smallcam small {display:inline-block; font-size:0.55em;}
		#smallcam .hud_cont {height:250px;}
#achieveules {bottom:35px; left:0; min-width:200px; pointer-events: none;}

#achieveules #tutorial_hud {pointer-events: initial;}
		#tutorial_hud .hud_title span {animation:blink_caret2 1.5s infinite;}
	#tutorial_hud .tutorial_listing {list-style:none;}
		#tutorial_hud .tutorial_listing li {margin-bottom:5px;}
			#tutorial_hud .tutorial_listing li.complete {text-decoration: line-through; opacity:0.5;}
			#tutorial_hud .tutorial_listing li span {display:inline-block; border:1px solid #555; font-size:1.5em; min-width:25px; padding:0 5px; text-align:center;}

#achieveules #upgrades {margin-top:10px; max-width:200px; pointer-events:all;}
	#upgrades .upgrades {position:relative; height:25px; line-height:25px; color:#FFF; background-color:rgba(85, 85, 85, 0.5); margin-bottom:5px; border-radius:15px;}
		#upgrades.uactive .upgrades.upgradable {border-radius:15px 0 0 15px;}
			#upgrades .upgrades:last-child {margin-bottom:0;}
		.upgrades .upgrade {position:absolute; width:100%; padding:0 10px 0 15px;}
			.upgrade .upgrade_name {float:left; cursor:help;}
					.upgrade .upgrade_name:hover::after {content:"?"; margin-left:5px; font-size:0.8em;}
			.upgrade .upgrade_hotkey {float:right;}
				.upgrade .upgrade_hotkey .fas {display:none; vertical-align:middle;}
				.upgrade .upgrade_hotkey small {opacity:0.4;}
					.uactive .upgrades.upgradable .upgrade_hotkey .fas {display:block; position:absolute; top:0; right:-30px; width:30px; height:25px; padding:8px 8px 8px 5px; font-size:0.75em; background-color:rgb(28 193 247 / 70%); text-align:center; border-radius:0 15px 15px 0; cursor:pointer;}
						.uactive .upgrades.upgradable .upgrade_hotkey .fas:hover {background-color:rgb(28 193 247 / 80%); font-size:1em; padding: 6px 7px 8px 5px;}
		.upgrades .upgrade_block {float:left; width:20%; height:100%; border-right:1px solid #666; background-color:#777;}
			.upgrade_block:nth-child(2){
					background-color:#a7ab95;
					border-radius:15px 0 0 15px;
			}
			.upgrade_block:nth-child(3){
					background-color:#a8b570;
			}
			.upgrade_block:nth-child(4){
					background-color:#afc74e;
			}
			.upgrade_block:nth-child(5){
					background-color:#a6cc0d;
			}
			.upgrade_block:nth-child(6){
					background-color:#beea0d;
					border-radius:0 15px 15px 0;
			}
	#locate_track {position:absolute; top:-1px; left:185px;}
	#track_locate {cursor:help; background-color:rgba(0, 0, 0, 0.25); color:#DDD;}
		#track_locate option {background-color:#111;}

	#faction_warpable {position:fixed; top:25%; right:0; left:0; margin:auto; transform:translateY(-25%); z-index:99; pointer-events:none; width:fit-content; width:-moz-fit-content;}
	#faction_warp {cursor:help; background-color:rgba(0, 0, 0, 0.25); color:#DDD; font-size:3em; pointer-events:all; box-shadow:0px 0px 75px 10px rgba(46, 247, 219, 0.55);}
			/*#faction_warp:before {content:'Rogues Wormhole \1F534 Universe Control'; display:block; text-align:center; font-size:0.9em;}*/
		#faction_warp option {background-color:#111;}

	#map_view {display:none; position:absolute; top:0; right:-85px;}

	#achieveules #modules {margin-top:10px; pointer-events: initial;}
	#achieveules #achievements {margin-top:10px; pointer-events: initial;}
	#achieveules #missions_hud {max-width:250px; pointer-events: initial;}
		#achieveules #missions h2 {padding:5px 0; margin-top:5px;}
	#netgraphwrap #debug {min-width:225px; margin-top:10px;}
#netgraphwrap {top:10px; left:0;}
		#netgraphwrap .stat-good {color:#00ab00;}
		#netgraphwrap .stat-ok {color:#bdbd00;}
		#netgraphwrap .stat-bad {color:#cc0000;}

#netgraphwrap .disconnect_warning {color:#ff4d4d; padding-left:10px;}
	#netgraphwrap .disconnect_warning .fas {animation:spin 4s linear infinite; vertical-align:middle;}

#netgraphwrap .gamepad_connection {color:#9fde44; padding-left:10px; margin-bottom:5px;}
	#netgraphwrap .gamepad_connection .gamepad_mapping {color:#32c588;}

#radio_wrapper {right:0; bottom:35px; width:300px;}
#prestige_radio {position:relative;}
#factions .hud_cont {width:fit-content; width:-moz-fit-content; background:rgba(0, 0, 0, 0.5); border-radius:15px 0 0 15px;}
.factions_chart {position:relative; width:125px; height:125px; border-radius:50%; margin:10px auto; opacity:0.7; border:5px solid #444; background-image: radial-gradient(rgba(255, 255, 255, 0.9) calc(15% - 1px)/*chrome fix*/, transparent 15%), conic-gradient(rgb(249, 97, 69) 0%, rgb(249, 97, 69) 33.3333%, rgb(33, 177, 224) 33.3333%, rgb(33, 177, 224) 66.6666%, rgb(249, 227, 69) 66.6666%, rgb(249, 227, 69) 100%);} /*background-clip:padding-box;*/
		.factions_chart.chart_active {animation:opaque_pulse 2s ease-in-out infinite;}
				.factions_chart.chart_active::before {content:'Capturing'; position:absolute; right:115px; color:#32c588;}
	.faction_1_num {float:right; position:relative; top:20px; left:0; color:#EEE; background:#333; border-radius:5px; padding:0 5px; border:1px solid rgb(249, 97, 69);}
	.faction_2_num {position:absolute; bottom:10px; left:0; right:0; width:fit-content; width:-moz-fit-content; margin:0 auto; color:#EEE; background:#333; border-radius:5px; padding:0 5px; border:1px solid rgb(33, 177, 224);}
	.faction_3_num {float:left; position:relative; top:20px; right:0; color:#EEE; background:#333; border-radius:5px; padding:0 5px; border:1px solid rgb(249, 227, 69);}
	.factions_chart_content {text-align:center;}
	.factions_chart_nums {position:relative; text-align:center; color:#444; width: 100%; height: 100%;}

.chat_wrapper {max-height:250px; width:100%; font-size:1.2em; color:#EEE; /*background-color:rgba(75, 75, 75, 0.8);*/ display:flex; flex-flow:column-reverse; overflow-y:auto;}
	.chat {position:relative; border-bottom:1px solid rgba(62, 62, 62, 0.65); padding:5px; font-size:0.8em; background-color:#1d1d1d; background:-webkit-linear-gradient(rgba(0, 0, 0, 0.65),rgba(29, 29, 29, 0.65));}
		.chat.system_chat {color:#888;}
	.chat_input {}
		.chat_input input {width:100%; padding:10px 0; border:none; text-align:center; background-color:rgba(255, 255, 255, 0.85);}
			.chat_input input:disabled {background-color:rgba(68, 68, 68, 0.85);}
	.chat_user {font-weight:bold;}
	.chat_user::after {content:": ";}
	.chat_message {font-size:0.9em; word-wrap:break-word;}
	.chat_date {position:absolute; bottom:0; right:3px; font-size:0.75em; color:#BBB;}

.mission {background:rgb(0 0 0 / 50%); padding:0 10px 10px; position:relative; left:-10px; border-radius:0 25px 25px 0;}
	.mission_listing {position:relative; padding-left:25px;}
			.mission_listing:hover {cursor:help;}
		.mission_listing .far:first-child, .mission_listing .fas:first-child {position:absolute; left:0;}
	.previous_mission {margin-top:5px; display:none;} /*hide for now to save space*/
		.previous_mission .far:first-child, .previous_mission .fas:first-child {margin-right:7px;}

.mission_step {display:inline-block;}

.mission_step::before {
	content: "-> ";
	color:#EEE;
}

.mission_listing::after {
	content: " (?)";
	font-size:0.75em;
	color:rgba(255, 255, 255, 0.3);
	position:absolute;
	top:0;
	right:0;
}

.mission_pointer{
	position: absolute;
	left:3.5px;
	top:3px;
	transition:opacity 1s, transform 1s;
	opacity: 0;
	transform: rotate(30rad) translateX(10px);
}

.level_0 .mission_pointer{
}

.level_1 .mission_pointer{
	transition: opacity 6s, transform 1s;
}

.level_2 .mission_pointer{
	transition: opacity 12s, transform 1s;
}

.level_3 .mission_pointer{
	transition: opacity 18s, transform 1s;
}

.level_4 .mission_pointer{
	transition: opacity 24s, transform 1s;
}

.level_5 .mission_pointer{
	transition: opacity 50s, transform 1s;
}

.landed .mission_pointer{
	opacity: 1;
}

#wormhole {display:none; opacity:0; position:fixed; z-index:9999; width:100%; height:100%; animation: 2s ease-in-out forwards warp_hide; perspective:1vmin;}
.warp {position:absolute; top:50%; left:50%; transform-style: preserve-3d; transform: rotateX(90deg) rotateY(0) translateY(-25vmin);}
@keyframes warp {100% {transform: rotateX(90deg) rotateY(360deg) translateY(0);}}
@keyframes warp_hide {20% {opacity:1;}75% {opacity:1;}100% {opacity:0;}}
.wside {position:absolute; width:calc(50vmin + 1px); height:100vmin; background-image:url('/images/warp.jpg'); background-size:200vmin 25%; transform-origin:0;}
	.warp.wrespawn {animation: 2s ease-in-out reverse warp;}
		.warp.wrespawn .wside {filter:hue-rotate(-170deg);} /*blue*/
	.warp.wrespawnmoon {animation: 2s ease-in-out forwards warp;}
		.warp.wrespawnmoon .wside {filter:hue-rotate(-170deg);} /*blue*/
	.warp.wrespawnfortress {animation: 2s ease-in-out forwards warp;}
		.warp.wrespawnfortress .wside {filter:hue-rotate(240deg);} /*pink/blue*/
	.warp.alt2 {animation: 2s ease-in-out forwards warp;}
		.warp.alt2 .wside {filter:hue-rotate(130deg);} /*green/blue*/
	.warp.wfactionwarp {animation: 2s ease-in-out forwards warp;}
		.warp.wfactionwarp .wside {filter:hue-rotate(330deg);} /*red/orange*/
.wside:nth-child(1) {background-position:-50vmin; transform: rotateY(90deg) translate3d(-50%, -50%, 25vmin);}
.wside:nth-child(2) {background-position:-100vmin; transform: rotateY(180deg) translate3d(-50%, -50%, 25vmin);}
.wside:nth-child(3) {background-position:-150vmin; transform: rotateY(270deg) translate3d(-50%, -50%, 25vmin);}
.wside:nth-child(4) {background-position:-200vmin; transform: rotateY(360deg) translate3d(-50%, -50%, 25vmin);}

.perks_list {}
	.perks_list .perks_box {position:relative; display:inline-block; width:calc(50% - 4px); min-width:400px; height:175px; background-color:#1e2225; color:#FFF; margin-bottom:10px; vertical-align:top; border-radius:10px; -webkit-border-radius:10px; -moz-border-radius:10px; background-color:rgba(0, 0, 0, 0.45);}
		.perks_list .perks_box h2 {font-size:1.6em;}
				.perks_list .perks_box div {position:relative; top:50%; margin:0 auto; transform: translateY(-50%); -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%);}
					.perks_list .perks_box p {line-height:20px;}
					.perks_list .perks_box .tierheader {position:absolute; top:10px; right:10px; font-style:italic; color:#616161;}
			.perks_list .perks_box h2 span.fas, .perks_list div p i.fas {color:#F96145; vertical-align:middle;}

.ddonations {float:left; width:33.3%;}

.support_button {margin:25px 0; border:none; padding:20px 100px; font-size:1.2em; background-color:#81CC91; color:#FFF; border-radius:5px; -webkit-border-radius:5px; -moz-border-radius:5px; cursor:pointer;}

/* Achievement Page Styles */
.achievements_list {float:left; margin-right:15px; padding-right:15px; margin-bottom:15px; border-right:1px solid #333; max-width:33%;}
	.achievements_list h2 {margin-bottom:15px; border-bottom:1px solid #555;}
		.achievements_list:last-of-type {margin-right:0; padding-right:0; border-right:0;}
			.achievements_list .highlight {color:#efde16;}

		.reg_players {clear:both; text-align:center; background-color:#333; color:#FFF; padding:5px;}
			.reg_players small {color:#AAA;}



/* Web Page Styles / Admin */

.hhwrapper {background-color:rgba(0, 0, 0, 0.75);}
.hheader {margin:0 auto; max-width:1080px; min-width:700px; height:75px; line-height:75px;}
	.hheader .llogo {color:#ff9900; display:inline; width:30%; font-size:2em; margin-top:-5px;}
	.hheader .nnav {color:#FFF; float:right; width:70%;}
		.hheader .nnav ul {margin:0; padding:0; list-style:none;}
			.hheader .nnav ul li {display:inline-block; margin-left:40px;}
			.hheader .nnav ul li:first-child {margin-left:0;}
		.hheader .nnav ul.llmenu {float:left; color:#CCC; padding-left:120px;}
			.hheader .nnav ul.llmenu a {color:#CCC;}
		.hheader .nnav ul.rrmenu {float:right; color:#1CC1F7;}
			.hheader .nnav ul.rrmenu a {color:#1CC1F7;}

.ccwrapper {background-color:#FFF; padding:25px 0;}
.ccontent {max-width:1080px; min-width:700px; margin:0 auto;}

.ffwrapper {background:transparent; margin-top:10px;}
.ffooter {margin:0 auto; padding:0 7px; max-width:1080px; min-width:700px; height:25px; line-height:25px;}
	.ffooter ul {margin:0; padding:0; list-style:none;}
		.ffooter ul li {display:inline-block; margin-left:25px;}
			.ffooter ul li:first-child {margin-left:0;}
	.ffooter ul.llnav {float:left; color:#444;}
	.ffooter ul.rrnav {float:right; color:#444;}



/* Netbook / Small Displays */

@media (max-width: 1280px){
	#hud, #nav {zoom:0.85;/*-moz-transform:scale(0.85); -moz-transform-origin:bottom;*/}
}

/* Mobile / App / Responsive */

@media (pointer: coarse) and (hover: none), (max-device-width: 800px){
	#hud, #nav {zoom:initial;/*-moz-transform:initial; -moz-transform-origin:initial;*/}

	body {
			-webkit-touch-callout:none;
			-webkit-text-size-adjust:none;
			-webkit-user-select:none;
			-moz-user-select:none;
			-ms-user-select:none;
			user-select:none;
		}
	/*Disable overscroll in mobile safari*/
	html, body {
		position:fixed;
		overflow:hidden;
		touch-action:manipulation;
	}
	html {-webkit-text-size-adjust:100%;}
	input, select, textarea {-webkit-appearance:none;}
	input[type="checkbox"] {-webkit-appearance:checkbox;}
	input[type="radio"] {-webkit-appearance:radio;}

	body {/*font-size:2vmax;*/}

	.monly {display:block;}
	.mhide {display:none;}

	.featherlight .featherlight-content {margin:0; max-height:calc(100vh - 10px); max-width:calc(100vw - 5px)}
		.cwrapper.featherlight-inner .player_flag {width:100%;}
			.cwrapper.featherlight-inner div .open_profile img {width:auto;}
	.featherlight .featherlight-close-icon {position:fixed; width:40px; height:40px; line-height:40px;}

			h1.ptitle {font-size:1.4em;}

	#gif_animation {width:100vw;}
	.keyboard-bg-wrapper, .keyboard_block {display:none !important;}

	#home .button.alt, #home .button.alt2, #home #fb-login.button {font-size:1.45vmax;}

	#game_wrapper {height:100%;}

	#object_holder {transition:none; transition-property:none; transition-duration:0s;}
		#object_holder div {display:none;}

	#earth-bg {top:0;}

	.window {width:100vw; height:100vh; border-radius:5px; background-color:rgba(0, 0, 0, 0.35); box-shadow:none; background-color: rgba(4, 32, 43, 0.55);}
	.window_center {max-width:initial;}
	.window .wbox {max-width:600px; margin:0 auto;}

	/*#home .window {background-color:transparent;}*/

	#loading {padding:0 !important;}

	.killcam {display:none;}

	.bubble {display:none;}

	#welcome_tip {z-index:4; background-color:rgba(0, 0, 0, 0.5);}
		#welcome_tip div {}
		#welcome_tip p {}

	/* Mobile Nav (Bottom Nav / Footer) / Full page slider in Mobile */

	#nav {transform:translate3d(-100%, 0, 0); transition:transform 200ms ease-out;}
		#nav.nopen {transform:translate3d(0, 0, 0);}
	.nwrapper {z-index:4; position:absolute; min-width:50%; width:50%; height:100%; background-color:rgba(0, 0, 0, 0.75);}
	.nav {height:auto; position:relative; top:50%; transform:translateY(-50%); z-index:-1;}
		.nav ul li {margin:0; width:100%; display:block; line-height:8vh;}
			.nav ul li.logo img {display:none;}
				.nav ul li.logo .logo_server_select {width:100%;}
		.nav ul.lnav, .nav ul.rnav {float:none; width:100%; text-align:center;}
			.nav ul.lnav {line-height:50px;}
			.nav ul.rnav {margin-top:20px;}

	.logged_in.logged_pilot {display:none !important;}

	.logged_in .logged_in_user {text-align:center;}

	.achievements_list {max-width:100%; width:100%;}

	.server_display {margin:initial; transform:none;}
	.server_select {width:150px !important; height:150px !important;}

	#hud {position:relative; z-index:3; height:100%; padding-top:105px; padding-bottom:20px; overflow-y:scroll; -webkit-overflow-scrolling:touch; background-color:rgba(0, 0, 0, 0.75); transform:translate3d(100%, 0, 0); transition:transform 200ms ease-out;}
		#hud.hopen {transform:translate3d(0, 0, 0);}
		.hud {position:relative; width:calc(100% - 50px) !important; max-width:400px; margin:0 auto; top:initial !important; right:initial !important; bottom:initial !important; left:initial !important;}
		.hud_cont {background:rgba(0, 0, 0, 0.5); color:#EEE;}

		.hud_title.expander {text-align:center !important; padding:10px; background:rgba(0, 85, 113, 0.75);}

	#factions .hud_cont {width:initial;}

	#messages {font-size:1em; width:95%;}

	#achieveules {display:table;}
	#achieveules #upgrades {max-width:none;}
	#achieveules #missions_hud {max-width:initial; display:table-footer-group;}
	#scoreboard {max-width:400px;}
		#scoreboard .online_player_count {text-align:center; margin:10px;}

	#scoreboard #killfeed {position:static; text-align:center;}

	#health-fuel-container {position:absolute; top:75px; bottom:initial;/*background-color:rgba(0, 0, 0, 0.75);*/ height:70px; zoom:0.65;}
	.vwarning {right:initial !important; left:initial !important; top:38px !important;}

	span.ship_bubble {bottom:0;}
	span.ship_bubble img {width:25%;}

	.chat_wrapper {width:auto;}
	.chat_input {width:100%;/* width:calc(100% - 10px);*/}

	#upgrades .upgrades {background-color:rgb(58, 58, 58);}
	#upgrade_available {float:none !important; margin:0 !important;}
	.available_moon_token {position:static !important; margin-left:9px;}
	#locate_track {left:initial !important; right:0 !important;}

	.nwrapper .music-creds {bottom:5px; right:initial; width:100%; text-align:center; line-height:initial;}
		.nwrapper .music-creds:hover {top:auto !important;}
	.nwrapper .options {bottom:0; display:none !important;}

	.perks_list .perks_box {min-width:100%;}

	.support_button {padding:20px 30px;}

	.ddonations {width:100%;}

	.login_help {right:15vw;}

	/* Mobile Game Controls */

	.mobile_hudbutton {display:block;}

	#mobile_controls {display:block; position:absolute; bottom:10px; z-index:3; width:100%; height:40px; line-height:40px; padding:0 10px;
		-webkit-touch-callout:none;
		-webkit-user-select:none;
		-khtml-user-select:none;
		-moz-user-select:none;
		-ms-user-select:none;
		user-select:none;
		-webkit-tap-highlight-color:rgba(0,0,0,0);
	}
		#mobile_controls .bbutton {display:inline-block; width:100%; height:100%; text-align:center; background-color:rgba(77, 186, 231, 0.75); color:#FFF;}
				#mobile_controls .bbutton .fas {pointer-events:none;}
			#mobile_controls .bbutton:active {opacity:1;}
		#mobile_controls .boost_button {float:left; width:40%;}
		#mobile_controls .rotate_button {float:left; width:30%; background-color:rgba(63, 132, 160, 0.75);}
		#mobile_controls .view_button {float:right; z-index:1; width:30%; background-color:rgba(50, 86, 101, 0.75);}
		#mobile_controls .zoom_button {display:none; position:absolute; top:-50px; right:10px; z-index:0; width:29%; background-color:rgba(33, 53, 62, 0.75); height:35px; line-height:35px;}
			#mobile_controls .zoom_button .far {font-size:1.3em; position:relative; vertical-align:middle; padding: 15px; margin: -15px;}

	#mobile_menu, #mobile_menu_right {display:block; position:absolute; top:15px; /*top - iOS only hack*/ z-index:15; width:50px;}
		#mobile_menu_right {display:none; right:0;}
	.mobile_menu_button {position:relative; width:100%; height:50px; font-size:16px; text-align:center; color:#FFF; opacity:0.8;}
		.mobile_menu_button .fas, .mobile_menu_button .far {position:relative; top:50%; transform:translateY(-50%);}

	#score {top:25px;} /*top - iOS only hack*/
}

@supports (-ms-ime-align:auto) {
	/* IE Edge 16+ CSS */ 
	html {font-size:0.85em;}
}
/* Landscape (iPhone <= 6+ etc.) */
@media only screen and (max-height: 414px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 1){


}