#spacesystem {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
}

#universe {
  z-index: 1;
  position: absolute;
  overflow: hidden;
  width: 100%;
  height: 100%;
  background-position: center 40%;
  background-repeat: no-repeat;
  background-size: cover; 
	transition: all 200ms;
}

#galaxy {
  position: relative;
  width: 100%;
  height: 100%;
  /*perspective: 4000;*/ }

#galaxy.global {
	perspective: 500px;
}
	
#galaxy #mapspace {
  position: relative;
  display: block;
	transition-duration: 0s;
	transition-timing-function: ease-in-out;
	/*background: rgba(0, 0, 0, 0) linear-gradient(to top, rgba(12, 39, 7, 0.61), rgba(48, 90, 30, 0.23)) repeat scroll 0 0;*/
}

#galaxy.global #mapspace {
	opacity: 0;
}

#galaxy.global #mapspace #mapgrid {
	opacity: 0;
	transform: translate(0, 100%);
}

#galaxy.global #mapspace.active {
	transition-duration: .8s;
	transition-timing-function: ease-in-out;
	opacity: 1;
}

#galaxy.global #mapspace #mapgrid.active {
	opacity: 0.3;
	transform: translate(0, 0);
}

#mapspace img, #mapspace svg {
  transition: all 200ms;
  max-width: 100%;
  width: 100%;
  display: block;
  position: relative;
}

#mapspace #mapgrid {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	left: 0;
	right: 0;
	top: 0;
	background-size: 15px 15px;
	background-repeat: repeat;
	opacity: 0.2;
	transition-duration: .8s;
	transition-timing-function: ease-in-out;
}

#linksbox {
	opacity:0;
	transition-duration: .0s;
}

#linksbox.active {
	opacity:1;
	transition-duration: .8s;
	transition-timing-function: ease-in-out;
}

#linkshub {
	position: absolute;
	display: none;
}

.line {
  width: 100%;
  color: white;
  height: 1px;
  background-color: white;
}

.line.p-active {
	height:4px !important;
	color: white;
	background-color: white;
	box-shadow: 0 0 5px 1px white;
	z-index: 1;
}

.line.flushed {
	height:4px !important;
	color: yellow;
	background-color: yellow;
	box-shadow: 0 0 5px 1px yellow;
	z-index: 1;
}

.line.p-active:before, .line.p-active:after {
  box-shadow: 1px 1px 6px 4px rgb(255, 255, 255);
}

.line.flushed:before, .line.flushed:after {
  box-shadow: 1px 1px 6px 4px yellow;
}

.line:before, .line:after {
	content:"";
	position: absolute;
	left:50%;
	top:0;
	width:0;
	height:100%;
	transition-duration: .8s;
	transition-timing-function: ease-in-out;
}

.line:before {
	animation: passages 6s infinite;
}

.line:after {
	animation: counterpassages 6s infinite;
}

@keyframes passages
{
  0%
  {
    left:0%;
  }
  50%
  {
    left:100%;
  }
  100%
  {
    left:0%;
  }
}

@keyframes counterpassages
{
  0%
  {
    left:100%;
  }
  50%
  {
    left:0%;
  }
  100%
  {
    left:100%;
  }
}

.power-0 {
  color: #fff;
  background-color: #fff;
  box-shadow: 0 0 5px 1px rgb(255, 255, 255);
  height: 1px;
}

.power-0:before, .power-0:after {
	box-shadow: 1px 1px 6px 4px rgb(255, 255, 255);
}

.power-1 {
  color: #f00;
	background-color: #f00;
	box-shadow: 0 0 5px 1px rgb(251, 0, 0);
	height: 1px;
}

.power-1:before, .power-1:after {
	box-shadow: 1px 1px 6px 4px rgb(251, 0, 0);
}

.power-2 {
  	color: #ffe300;
	background-color: #ffe300;
	box-shadow: 0 0 5px 1px rgb(251, 224, 0);
	height: 1px;
}

.power-2:before, .power-2:after {
	box-shadow: 1px 1px 6px 4px rgb(251, 224, 0);
}

.power-3 {
  	color: rgb(22, 213, 79);
	background-color: rgb(22, 213, 79);
	box-shadow: 0 0 5px 1px rgb(22, 213, 79);
	height: 1px;
}

.power-3:before, .power-3:after {
	box-shadow: 1px 1px 6px 4px rgb(22, 213, 79);
}

.spheres-box {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	transition-duration: 3s;
	transition-timing-function: ease-in-out;
}

#galaxy.global #mapspace .spheres-box {
	transform: translate(-50%,-50%) scale(0);
}

#galaxy.global #mapspace.active .spheres-box {
	transform: translate(-50%,-50%) scale(1);
}

.points {
  display: block;
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
  right: 0;
  height: 100%;
}

#mapspace .mapscale {
  position: absolute;
  top: 0;
  left: 0;
}

#solar-system {
  position: absolute;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d; }


.sr0{opacity:1;fill:transparent;stroke:transparent;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;transition: all 500ms;}
.st0{opacity:0.4;fill: #AF9E45;stroke: #E58C00;stroke-width:1.1221;stroke-linecap:round;stroke-linejoin:round;transition: all 500ms;}
.stm0{opacity:0.5;fill: #41732B;stroke: #C8E500;stroke-width:1.1221;stroke-linecap:round;stroke-linejoin:round;transition: all 500ms;}
	.st1{opacity:0.5;fill:#3A6B4E;stroke:#358E5B;stroke-width:1.1221;stroke-linecap:round;stroke-linejoin:round;transition: all 500ms;}
	.st2{opacity: 0.6;fill: #222B15;stroke: #D4FF04;stroke-width:1.1221;stroke-linecap:round;stroke-linejoin:round;transition: all 500ms;}


.st2 {
  fill: url(#diagonalHatch);
}

.region.p-active {
  fill: #CB4C74;
  transform: translate(0,-0.3px);
  stroke-width: 0.8;
  filter: url(#glow);
  stroke: #621444;
}

.sphere.p-active {
	border-color: #CB4C74C7 !important;
	box-shadow: 1px 1px 60px 10px #CB4C74C7 inset !important;
}

.sphere.flushed {
	border-color: #D5C32F !important;
	box-shadow: 1px 1px 60px 10px #D5C32F inset !important;
}

/*.region:hover {
	
}*/

.st2:hover {
	cursor:hand;
	cursor:pointer;
}

.region.active {
	fill:#1B4E9E;
  transform: translate(0,-0.3px);
  stroke-width: 0.8;
  filter: url(#glow);
	stroke: royalblue;
}

.region.active.p-active {
	fill: #2F70D5;
	transform: translate(0,-0.3px);
	stroke-width: 0.8;
	filter: url(#glow);
	stroke: #40b4e2;
}

.region.flushed {
  fill: #D5C32F;
  transform: translate(0,-1px);
  stroke-width: 0.8;
  filter: url(#glow);
  stroke: #dde240;
}

.point {
  	position: absolute;
	width: 0;
	height: 0;
	padding: 0;
	box-shadow: 1px 1px 5px 1px #030d3c;
	margin: 0;
	flex: 1 0 3px;	
	justify-content: space-between;
	display: flex;
	border-radius: 50%;
	background-color: #fff;
	transition: all 100ms;
	z-index: 1;
	color: transparent;
}

.point:before {
  content: "";
  background: #000;
  display: block;
  position: absolute;
  bottom: 0;
  width: 0;
  height: 0;
  left: 50%;
  transform: translate(-50%, 0);
  border-radius: 50%;
  opacity: 0;
  transition: all 500ms;
  box-shadow: 0px 0px 1px 1px rgb(0, 0, 0);
}

.point.active:before {
  width: 2px;
  height: 1px;
  opacity: 0.2;
}

.point h6 {
  position: absolute;
  bottom: -10px;
  font-size: 6px;
  transform: translate(-50%,0);
  left: 50%;
  text-shadow: 1px 1px 2px black;
  background-color: #011f3c94;
  padding: 0 0.5px 0;
  white-space: nowrap;
  transition: all 500ms;
  font-weight: 500;
}

.point .shield {
  position: absolute;
  display: block;
  width: 15px;
  height: 15px;
  /*border-radius: 50%;*/
	transform: translate(-50%, -10000%);
  left: 50%;
  bottom: 1px;
	transition: all 500ms;
  /*background: linear-gradient(0deg, rgb(213, 213, 213) 0%, rgb(108, 108, 108) 48%, rgb(193, 207, 215) 49%, rgb(198, 198, 198) 100%);*/
	
	font-size: 12px;
	
	background: #000;
  border-radius: 50%;
  border: 1px solid #fff;
}

.point.active .shield {
	transform: translate(-50%,0);
}

.blank .shield {
  width: 15px;
  height: 15px;
}

a.blank:hover {
	color: transparent;
}

.point .shield:before {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  line-height: 0;
  border-radius: 50%;
}

.point.blank {
	color:rgba(255, 255, 255,0.6);
}

.blank .shield:before {
	box-shadow: 1px 1px 10px 8px rgba(255, 255, 255,0.6);
}

.point.unique {
	color: rgba(0, 175, 242,0.8);
}

.unique .shield:before {
	box-shadow: 1px 1px 10px 8px rgba(8, 242, 0, 0.8);
}

.point.gate {
	color: rgba(0, 242, 72, 0.8);
}

.gate .shield:before {
	box-shadow: 1px 1px 10px 8px rgba(0, 242, 72, 0.8);
}

.point.gatered {
	color: rgba(242, 0, 0, 0.8);
}

.gatered .shield:before {
	box-shadow: 1px 1px 10px 8px rgba(242, 0, 0, 0.8);
}

.point.gateyellow {
	color: rgba(242, 181, 0, 0.8);
}

.gateyellow .shield:before {
	box-shadow: 1px 1px 10px 8px rgba(242, 181, 0, 0.8);
}

.point.gateb {
	color: rgba(0, 0, 242, 0.8);
}

.gateb .shield:before {
	box-shadow: 1px 1px 10px 8px rgba(0, 0, 242, 0.8);
}

.point.gateo {
	color: rgba(242, 113, 0, 0.8);
}

.gateo .shield:before {
	box-shadow: 1px 1px 10px 8px rgba(242, 113, 0, 0.8);
}

.point .shield:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.7px 1.5px 0 1.5px;
  border-color: #d5d5d5 transparent transparent transparent;
  position: absolute;
  bottom: -3.31px;
  left: 50%;
  transform: translate(-50%,0);
}

.point .ball img {
  left: 0.47px;
  top: 0.47px;
  width: 100%;
  height: 100%;
}

.point.active:hover {
	/*animation: heartbeat 1s infinite;*/
	transform: scale(1.1) translate(0, -1.5px);
	image-rendering: -webkit-optimize-contrast;
	z-index: 100;
	opacity: 1;
}

.point.active:hover h6 {
	display: block;
	font-size: 9px;	
  	bottom: -10px;
}

.point.p-active {
	transform: scale(1.1) translate(0, -1.5px);
	image-rendering: -webkit-optimize-contrast;
	z-index: 100;
	opacity: 1;
	color: yellow;
}

.point.flushed {
	transform: scale(1.3) translate(0, -1.5px);
	color: yellow;
}

.point.p-active h6 {
	color: yellow;
}

.point.p-active .shield:before {
	box-shadow: 1px 1px 12px 6px yellow;
}


.shield .ico {
  color: #fff;
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-70%);
}




.orbit {
  position: absolute;
  top: 50%;
  left: 50%;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  transform-style: preserve-3d;
  animation-name: orbit;
  animation-iteration-count: infinite;
  animation-timing-function: linear; 
}

.orbit .orbit {
  animation-name: suborbit; 
}

.pos {
  position: absolute;
  top: 50%;
  width: 2em;
  height: 2em;
  margin-top: -1em;
  margin-left: -1em;
  transform-style: preserve-3d;
  animation-name: invert;
  animation-iteration-count: infinite;
  animation-timing-function: linear; 
}

#sun, .planet, .moon {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1em;
  height: 1em;
  margin-top: -0.5em;
  margin-left: -0.5em;
  border-radius: 50%;
  transform-style: preserve-3d; 
	background-size: 100% auto;
	background-position: center center;
	background-repeat: no-repeat;
}

#sun {
  background-color: #FB7209;
  background-repeat: no-repeat;
  background-size: 100% auto;
  box-shadow: 0 0 20px rgb(255, 154, 45);
}

.star-yellow {
  background-color: #FB7209 !important;
  box-shadow: 0 0 20px rgb(255, 154, 45) !important;
}

.star-red {
  background-color: #FB0909 !important;
  box-shadow: 0 0 20px rgb(255, 45, 104) !important;
}

.star-blue {
  background-color: #09A0FB !important;
  box-shadow: 0 0 20px rgb(45, 166, 255) !important;
}

.star-green {
	background-color: #09FB0D !important;
  box-shadow: 0 0 20px rgb(136, 255, 55) !important;
	opacity:0.8;
}

.scale-stretched #sun {
	box-shadow: none;
}

#sun.star-yellow:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  left: 0;
  top: 0;
  background-image: url("https://frontier-rpg.online/img/stars/flare-y.png");
  background-position: center center;
  background-size: 100% auto;
  animation: starbeat 10s infinite;
}

#sun.star-yellow:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  left: 0;
  top: 0;
  background-image: url("https://frontier-rpg.online/img/stars/flare-y.png");
  background-position: center center;
  background-size: 100% auto;
  animation: starinnerbeat 15s infinite;
}

#sun.star-red:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  left: 0;
  top: 0;
  background-image: url("https://frontier-rpg.online/img/stars/flare-r.png");
  background-position: center center;
  background-size: 100% auto;
  animation: starbeat 10s infinite;
}

#sun.star-red:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  left: 0;
  top: 0;
  background-image: url("https://frontier-rpg.online/img/stars/flare-r.png");
  background-position: center center;
  background-size: 100% auto;
  animation: starinnerbeat 15s infinite;
}

#sun.star-blue:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  left: 0;
  top: 0;
  background-image: url("https://frontier-rpg.online/img/stars/flare-b.png");
  background-position: center center;
  background-size: 100% auto;
  animation: starbeat 10s infinite;
}

#sun.star-blue:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  left: 0;
  top: 0;
  background-image: url("https://frontier-rpg.online/img/stars/flare-b.png");
  background-position: center center;
  background-size: 100% auto;
  animation: starinnerbeat 15s infinite;
}

.system-center-green:before {
	content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  left: 0;
  top: 0;
  background-image: url("../img/stars/flare-g2.png");
  background-position: center center;
  background-size: 100% auto;
  animation: starsystembeat 10s infinite;
}

@keyframes starbeat
{
  0%
  {
    transform: scale( 3.5 ) translateZ(1px);
	  opacity: 0.7;
  }
  25%
  {
    transform: scale( 2.5 ) translateZ(1px);
  }
  50%
  {
    transform: scale( 3.5 ) translateZ(1px);
	  opacity: 0.7;
  }
  75%
  {
    transform: scale( 2.5 ) translateZ(1px);
  }  
  100%
  {
    transform: scale( 3.5 ) translateZ(1px);
	  opacity: 0.7;
  }
}

@keyframes starinnerbeat
{
  0%
  {
    transform: scale( 3 ) translateZ(1px);
	  opacity: 0.9;
  }
  25%
  {
    transform: scale( 2 ) translateZ(1px);
  }
  50%
  {
    transform: scale( 3.5 ) translateZ(1px);
	  opacity: 0.9;
  }
  75%
  {
    transform: scale( 2 ) translateZ(1px);
  }  
  100%
  {
    transform: scale( 3 ) translateZ(1px);
	  opacity: 0.9;
  }
}

@keyframes starsystembeat
{
  0%
  {
    transform: scale( 1.5 ) translateZ(1px) rotateX(-90deg);
	  opacity: 0.9;
  }
  25%
  {
    transform: scale( 0.8 ) translateZ(1px) rotateX(-90deg);
  }
  50%
  {
    transform: scale( 1 ) translateZ(1px) rotateX(-90deg);
	  opacity: 0.9;
  }
  75%
  {
    transform: scale( 0.8 ) translateZ(1px) rotateX(-90deg);
  }  
  100%
  {
    transform: scale( 1.5 ) translateZ(1px) rotateX(-90deg);
	  opacity: 0.9;
  }
}


.planet {
  /*background-color: #202020;*/
  background-repeat: no-repeat;
  background-size: cover;
  animation-iteration-count: infinite;
  animation-timing-function: linear; 
	
	background-color: transparent;
	background-position: center center;
	background-size: 100% auto;
}

.ring {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%; 
}

#saturn .ring {
  animation-timing-function: linear; }

/* --------------------------------------------------------------------------- animations */
@keyframes orbit {
  0% {
    transform: rotateZ(0deg); }

  100% {
    transform: rotateZ(-360deg); } }

@keyframes orbit-stretched {
  0% {
    transform: rotateZ(0deg) scale(0.06); }

  100% {
    transform: rotateZ(-360deg) scale(0.06); } 
}

@keyframes suborbit {
  0% {
    transform: rotateX(90deg) rotateZ(0deg); }

  100% {
    transform: rotateX(90deg) rotateZ(-360deg); } }

@keyframes invert {
  0% {
    transform: rotateX(-90deg) rotateY(360deg) rotateZ(0deg); }

  100% {
    transform: rotateX(-90deg) rotateY(0deg) rotateZ(0deg); } }

/* --------------------------------------------------------------------------- opening */
.view-3D .opening #sun,
.view-3D .opening .orbit,
.view-3D .opening .pos,
.view-3D .opening .planet,
.view-3D .opening .satelite,
.view-3D .opening .ring {
  transition-duration: 4s; }

#universe.opening #sun {
  box-shadow: 0 0 0 rgba(255, 160, 60, 0); }

/* --------------------------------------------------------------------------- 2D view */
.view-2D.zoom-large #sun {
  transform-style: flat; }

.view-2D.zoom-large .orbit {
  /*transform-style: flat;*/ }

.view-2D #sun,
.view-2D .ring {
  transform: rotateX(0deg); }

.view-2D .planet,
.view-2D .moon {
  transform: rotateX(90deg); }

/* --------------------------------------------------------------------------- 3D view */
.view-3D.zoom-large #sun {
  transform-style: preserve-3d; }

.view-3D.zoom-large .orbit {
  transform-style: preserve-3d; }

.view-3D #solar-system {
  transform: rotateX(75deg); }

.view-3D #sun {
  transform: rotateX(-90deg); }

.view-3D .ring {
  transform: rotateX(90deg); }

.view-3D .planet,
.view-3D .moon {
  transform: rotateX(0deg); }

/* --------------------------------------------------------------------------- large zoom */
.zoom-large #solar-system {
  width: 100%; }

.zoom-large.view-2D .scale-stretched #solar-system {
  font-size: 26%; }

.zoom-large.view-3D .scale-stretched #solar-system {
/*  font-size: 62%;*/
	font-size: 80%;
}

.zoom-large.view-2D .scale-d #solar-system {
  font-size: 22%; }

.zoom-large.view-3D .scale-d #solar-system {
  font-size: 48%; }

.zoom-large.view-2D .scale-s #solar-system {
  font-size: 7%; }

.zoom-large.view-3D .scale-s #solar-system {
  font-size: 14%; }


.zoom-large.view-3D #galaxy #mapspace {
  transform: scaleX(1) scaleY(1) scaleZ(1) rotateX(15deg) rotateY(0deg) rotateZ(0deg) translateX(0px) translateY(-10%) translateZ(0px) skewX(0deg) skewY(0deg);
	max-width: 900px;
	margin: 0 auto;
}

/* --------------------------------------------------------------------------- close zoom */
.zoom-close #solar-system {
  width: 200%;
  font-size: 100%; }

.zoom-close .scale-stretched #solar-system {
  margin-left: -100%; }

.zoom-close .scale-d #solar-system {
  margin-left: -106%; }

.zoom-close.view-2D .scale-d #solar-system {
  font-size: 84%; }

.zoom-close.view-3D .scale-d #solar-system {
  font-size: 84%; }

.zoom-close .scale-s #solar-system {
  margin-left: -145%; }

.zoom-close.view-2D .scale-s #solar-system {
  font-size: 40%; }

.zoom-close.view-3D .scale-s #solar-system {
  font-size: 40%; }

.zoom-close .orbit:not(.suborbit), .zoom-close .pos:not(.subpos), .zoom-close .planet, .zoom-close .ring {
  animation-play-state: paused!important;
  animation-duration: 0s!important;
  animation: none!important; }

.zoom-close.view-2D .planet,
.zoom-close.view-2D .moon {
  /*transform: rotateX(0deg); */
	transform: rotateX(-90deg) translateZ(1px);
}

.zoom-close.view-3D .planet {
  /*transform: rotateX(-90deg);*/ 
	transform: rotateX(180deg);
}

.zoom-close.view-3D .moon {
  /*transform: rotateX(90deg);*/
	transform: rotateX(0deg);

}

.zoom-close .pos:not(.subpos) {
  left: 100%!important;
  top: 50%!important; 

	transform: rotateX(90deg) !important;
}

.view-3D .scale-stretched #sun {
	transform: rotateX(-90deg) scale(0.05);
}

.view-2D .scale-stretched #sun {
  transform: rotateX(0deg) scale(0.06);
}

.view-3D .scale-d #sun {
	transform: rotateX(-90deg) scale(0.1);
}

.view-2D .scale-d #sun {
  transform: rotateX(0deg) scale(0.1);
}

.view-3D .scale-stretched .planet, .view-3D .scale-stretched .moon {
	transform: rotateX(0deg) scale(0.35);
}

.view-2D .scale-stretched .planet, .view-2D .scale-stretched .moon {  
	transform: rotateX(90deg) scale(0.03);
}

.zoom-close.view-2D .scale-stretched .planet, .zoom-close.view-2D .scale-stretched .moon {
  transform: rotateX(0deg) scale(0.3);
}

.zoom-close.view-3D .scale-stretched .planet, .zoom-close.view-3D .scale-stretched .moon {
  transform: rotateX(-90deg) scale(0.3);
}

.view-3D .scale-d #sun {
	transform: rotateX(-90deg) scale(0.1);
}

.view-2D .scale-d #sun {
  transform: rotateX(0deg) scale(0.1);
}

.view-3D .scale-stretched .ring {
  transform: rotateX(110deg);
}


/* --------------------------------------------------------------------------- stretched orbits */

.scale-stretched .orbit {	
	animation-name: orbit-stretched;
}

/* --------------------------------------------------------------------------- scaled orbits */
/* --------------------------------------------------------------------------- distance scale orbits */

.scale-d .orbit {
	transform: scale(0.1);
}

/* --------------------------------------------------------------------------- size scale orbits */

/* --------------------------------------------------------------------------- planets starting position and lighting effect */
/* --------------------------------------------------------------------------- mercury ; pos: Top */

@keyframes shadow-mercury {
  0% {
    box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.5);
    /* TOP */ }

  25% {
    box-shadow: inset 4px 0 2px rgba(0, 0, 0, 0.5);
    /* LEFT */ }

  50% {
    box-shadow: inset 13px -5px 4px rgba(0, 0, 0, 0.5);
    /* BOTTOM */ }

  50.01% {
    box-shadow: inset -13px -5px 4px rgba(0, 0, 0, 0.5);
    /* BOTTOM */ }

  75% {
    box-shadow: inset -4px 0 2px rgba(0, 0, 0, 0.5);
    /* RIGHT */ }

  100% {
    box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.5);
    /* TOP */ } }

/* --------------------------------------------------------------------------- venus ; pos: Left */

@keyframes shadow-venus {
  0% {
    box-shadow: inset 4px 0 2px rgba(0, 0, 0, 0.5);
    /* LEFT */ }

  25% {
    box-shadow: inset 22px -20px 10px rgba(0, 0, 0, 0.5);
    /* BOTTOM */ }

  25.5% {
    box-shadow: inset -22px -20px 10px rgba(0, 0, 0, 0.5);
    /* BOTTOM */ }

  50% {
    box-shadow: inset -4px 0 2px rgba(0, 0, 0, 0.5);
    /* RIGHT */ }

  75% {
    box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.5);
    /* TOP */ }

  100% {
    box-shadow: inset 4px 0 2px rgba(0, 0, 0, 0.5);
    /* LEFT */ } }

/* --------------------------------------------------------------------------- earth ; pos: Right */

@keyframes shadow-earth {
  0% {
    box-shadow: inset -4px 0 2px rgba(0, 0, 0, 0.5);
    /* RIGHT */ }

  25% {
    box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.5);
    /* TOP */ }

  50% {
    box-shadow: inset 4px 0 2px rgba(0, 0, 0, 0.5);
    /* LEFT */ }

  75% {
    box-shadow: inset 24px -20px 15px rgba(0, 0, 0, 0.5);
    /* BOTTOM */ }

  75.01% {
    box-shadow: inset -24px -20px 15px rgba(0, 0, 0, 0.5);
    /* BOTTOM */ }

  100% {
    box-shadow: inset -4px 0 2px rgba(0, 0, 0, 0.5);
    /* RIGHT */ } }

/* --------------------------------------------------------------------------- mars ; pos: Bottom */

@keyframes shadow-mars {
  0% {
    box-shadow: inset -18px -10px 10px rgba(0, 0, 0, 0.5);
    /* BOTTOM */ }

  25% {
    box-shadow: inset -4px 0 2px rgba(0, 0, 0, 0.5);
    /* RIGHT */ }

  50% {
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.5);
    /* TOP */ }

  75% {
    box-shadow: inset 4px 0 2px rgba(0, 0, 0, 0.5);
    /* LEFT */ }

  99.99% {
    box-shadow: inset 18px -10px 10px rgba(0, 0, 0, 0.5);
    /* BOTTOM */ }

  100% {
    box-shadow: inset -18px -10px 10px rgba(0, 0, 0, 0.5);
    /* BOTTOM */ } }

/* --------------------------------------------------------------------------- jupiter ; pos: Right */

@keyframes shadow-jupiter {
  0% {
    box-shadow: inset -16px 0 5px rgba(0, 0, 0, 0.5);
    /* RIGHT */ }

  25% {
    box-shadow: inset 0 3px 2px rgba(0, 0, 0, 0.5);
    /* TOP */ }

  50% {
    box-shadow: inset 16px 0 5px rgba(0, 0, 0, 0.5);
    /* LEFT */ }

  75% {
    box-shadow: inset 94px -30px 40px rgba(0, 0, 0, 0.5);
    /* BOTTOM */ }

  75.01% {
    box-shadow: inset -94px -30px 40px rgba(0, 0, 0, 0.5);
    /* BOTTOM */ }

  100% {
    box-shadow: inset -16px 0 5px rgba(0, 0, 0, 0.5);
    /* RIGHT */ } }

/* --------------------------------------------------------------------------- saturn ; pos: Left */

@keyframes shadow-saturn {
  0% {
    box-shadow: inset 16px 0 5px rgba(0, 0, 0, 0.5);
    /* LEFT */ }

  25% {
    box-shadow: inset 80px -30px 50px rgba(0, 0, 0, 0.5);
    /* BOTTOM */ }

  25.01% {
    box-shadow: inset -94px -30px 40px rgba(0, 0, 0, 0.5);
    /* BOTTOM */ }

  50% {
    box-shadow: inset -16px 0 5px rgba(0, 0, 0, 0.5);
    /* RIGHT */ }

  75% {
    box-shadow: inset -2px 3px 2px rgba(0, 0, 0, 0.5);
    /* TOP */ }

  100% {
    box-shadow: inset 16px 0 5px rgba(0, 0, 0, 0.5);
    /* LEFT */ } }

/* --------------------------------------------------------------------------- uranus ; pos: Left */

@keyframes shadow-uranus {
  0% {
    box-shadow: inset 8px 0 5px rgba(0, 0, 0, 0.5);
    /* LEFT */ }

  25% {
    box-shadow: inset 40px -15px 40px rgba(0, 0, 0, 0.5);
    /* BOTTOM */ }

  25.01% {
    box-shadow: inset -40px -15px 40px rgba(0, 0, 0, 0.5);
    /* BOTTOM */ }

  50% {
    box-shadow: inset -8px 0 5px rgba(0, 0, 0, 0.5);
    /* RIGHT */ }

  75% {
    box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.5);
    /* TOP */ }

  100% {
    box-shadow: inset 8px 0 5px rgba(0, 0, 0, 0.5);
    /* LEFT */ } }

/* --------------------------------------------------------------------------- neptune ; pos: Top */

@keyframes shadow-neptune {
  0% {
    box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.5);
    /* TOP */ }

  25% {
    box-shadow: inset 12px 0 5px rgba(0, 0, 0, 0.5);
    /* LEFT */ }

  50% {
    box-shadow: inset 50px -15px 40px rgba(0, 0, 0, 0.5);
    /* BOTTOM */ }

  50.01% {
    box-shadow: inset -50px -15px 40px rgba(0, 0, 0, 0.5);
    /* BOTTOM */ }

  75% {
    box-shadow: inset -12px 0 5px rgba(0, 0, 0, 0.5);
    /* RIGHT */ }

  100% {
    box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.5);
    /* TOP */ } }

/* --------------------------------------------------------------------------- navigation styles */
dl.infos {
  position: absolute;
  display: block;
  opacity: 0;
  width: 100%;
  height: 100%;
  margin-top: -90%;
  margin-left: 90%;
  padding-left: 100%;
  transform-origin: 100% 100%;
  transform-style: preserve-3d;
  transform: rotateX(90deg); }

dl.infos:before {
  position: absolute;
  content: '';
  width: 15px;
  height: 30px;
  left: 15px;
  bottom: 0;
  border-top: 1px solid white;
  border-left: 1px solid white;
  transform-style: preserve-3d;
  transform: skew(-45deg, 0deg);
  box-shadow: inset 1px 1px black; }

dl.infos dt {
  position: absolute;
  left: 50px;
  margin-bottom: 26px;
  bottom: 24px;
  color: #FFF;
  font-size: 22px;
  text-shadow: 1px 1px 2px black;
}

dl.infos dd {
	display:none;
}

.set-size dl.infos dd.equator {
	display: block;
}

.set-speed dl.infos dd.speedroll {
	display: block;
}

/*dl.infos dd:after {*/
dl.infos dd p {
  position: absolute;
  left: 50px;
  bottom: 0;
  width: 300px;
  color: #FFF;
  text-shadow: 1px 1px 2px black;
  font-size: 16px;
	line-height: 1;
}

dl.infos dd span:after {
  position: absolute;
  left: 50px;
  bottom: 14px;
  width: 300px;
  color: #FFF;
  font-size: 11px;
  text-shadow: 1px 1px 2px black; }

.p-active .infos {
  display: block;
  opacity: 1;
  transform: rotateX(0deg) translateZ(1px);
}

.view-2D .p-active .infos {
  transform: rotateX(90deg) translateZ(1px);
}

.view-2D .p-active .planet .infos, .view-2D .p-active .moon .infos, .view-2D .p-active #sun .infos {
  transform: rotateX(0deg) translateZ(1px);
}


.zoom-close .infos {
  transform: rotateX(180deg) translateZ(1px);
}

.zoom-close.view-2D .infos {
  transform: rotateX(-90deg) translateZ(4px);
}

.zoom-close .p-active .planet .infos, .zoom-close .p-active .moon .infos, .zoom-close .p-active #sun .infos,
.zoom-close.view-2D .p-active .planet .infos, .zoom-close.view-2D .p-active .moon .infos, .zoom-close.view-2D .p-active #sun .infos{
  transform: rotateX(0deg) translateZ(1px);
}

.p-active.orbit {
  border: 2px solid rgba(255, 255, 255, 0.8); }

.hide-UI h1,
.hide-UI #data,
.hide-UI dl.infos,
.hide-UI #controls {
  opacity: 0!important;
  margin-top: -30px; }

.hide-UI #data {
  margin-bottom: -30px; }

.hide-UI .orbit {
  border: 1px solid rgba(255, 255, 255, 0.2) !important; }

#spacesystem h1 {
  width: 100%;
  font-weight: 600;
  font-size: 14px;
  text-align: center;
  color: rgba(255, 255, 255, 0.8); }

#spacesystem h1 span, #navbar h1 a {
  display: inline;
  position: relative;
  padding: 0;
  font-weight: 300;
  font-size: 14px;
  text-align: center;
  color: rgba(255, 255, 255, 0.5); 
}

#navbar, #controls, #data {
  background: rgba(0, 0, 0, 0.4); }

#navbar {
  z-index: 99;
  position: absolute;
  top: 0;
  left: 0;
  padding: 16px;
  width: 100%;
  height: 48px; }

#navbar a, #data .data-screen a, #controls label {
  color: rgba(255, 255, 255, 0.6);
  display: block;
  position: relative;
  text-decoration: none; }

#navbar a:hover, #data .data-screen a:hover, #controls label:hover {
  color: #FFF; }

#data .data-screen a.active {
  color: #fff;
  font-weight: 500;
  text-shadow: 0 0 10px rgb(187, 253, 149);
}

#navbar a {
  position: absolute;
  top: 0;
  height: 48px;
  padding: 16px;
  font-size: 14px; }

#toggle-data {
  left: 0; }

#toggle-controls {
  right: 0; }

#data, #controls {
  z-index: 99;
  position: fixed;
  opacity: 1;
  top: 49px;
  padding: 16px; }

.data-close #data {
  left: -100%; }

.data-open #data {
  left: 0px; }

.controls-close #controls {
  right: -100%; }

.controls-open #controls {
  right: 0px; }

#data .data-screen a {
  margin-bottom: 1px;
  padding: 6px 10px;
  font-size: 18px; }

#controls label {
  opacity: .6;
  height: 24px;
  margin-bottom: 28px; }

#controls label:hover {
  opacity: 1; }

#controls input {
  display: block;
  appearance: none;
  text-align: center;
  height: 100%;
  margin: 0;
	border: none !important;
	-webkit-appearance: none;
  	appearance: none;
}

#controls input.set-speed[type="radio"]:after {
	content: '';
	background: url("../img/button-speed.svg") no-repeat center center;
  border-radius: 0;
  width: 32px;
  height: 90%;
  margin: 0 auto;
  display: inline-block;
	top: inherit;
	opacity: 0.5;
}

#controls input.set-size[type="radio"]:after {
	content: '';
	background: url("../img/button-size.svg") no-repeat center center;
  border-radius: 0;
  width: 32px;
  height: 90%;
  margin: 0 auto;
  display: inline-block;
	top: inherit;
	opacity: 0.5;
}

#controls input:checked[type="radio"]:after {
	content: '';
	opacity: 1;
}
	
#controls input[type="checkbox"]:after {
  content: '';
  display: block;
  z-index: 99; }

#controls label.set-view:before {
  font: bold small-caps 11px/20px 'Geometria';
}

.view-2D #controls .set-view input:after {
  background: url("../img/button-3d.svg") no-repeat center center;
  border-radius: 0;
  width: 32px;
  height: 90%;
  margin: 0 auto;
  display: inline-block;
	top: inherit;
}

.view-3D #controls .set-view input:after {
  background: url("../img/button-2d.svg") no-repeat center center;
  border-radius: 0;
  width: 32px;
  height: 90%;
  margin: 0 auto;
  display: inline-block;
	top: inherit;
}

.zoom-large #controls .set-zoom input:after {
  background: url("../img/button-zoomin.svg") no-repeat center center;
  border-radius: 0;
  width: 32px;
  height: 90%;
  margin: 0 auto;
  display: inline-block;
	top: inherit;
	position: relative;
}

.zoom-close #controls .set-zoom input:after {
  background: url("../img/button-zoomout.svg") no-repeat center center;
  border-radius: 0;
  width: 32px;
  height: 90%;
  margin: 0 auto;
  display: inline-block;
	top: inherit;
	position: relative;
}

#data .sidebar {
  position: relative;
  left: 50%;
  transform: translate(-50%, 50%);
  bottom: 0;
  width: 90% !important;
  margin: 0;
  padding: 0;
  border-top: 1px solid #6f9606;
  border-bottom: 1px solid #6f9606;
  display: block !important;
  transition: all 500ms;
  overflow: hidden;
  opacity: 0;
  box-shadow: 10px 0px 100px 10px rgba(41, 77, 20, 0.8) inset;
  /*background: rgba(0, 0, 0, 0) linear-gradient(to top, rgba(12, 39, 7, 0.61), rgba(48, 90, 30, 0.5)) repeat scroll 0 0;*/
  max-width: 1100px;
  height: 0;
    
    background: linear-gradient(rgba(11, 16, 9, 0.95) 50%, rgba(17, 23, 14, 0.95) 50%);
  background-size: 100% 4px;
  background-repeat: repeat-y;
}

.data-screen:before, #data .sidebar:before {
  content: '';
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 12px;
  background: #fff;
  background: linear-gradient(to bottom, rgba(175, 255, 0, 0) 0%,rgb(253, 255, 250) 50%,rgba(209, 254, 111, 0.98) 51%,rgba(116, 255, 0, 0) 100%);
  opacity: .1;
  animation: vline 6.25s linear infinite;
}

.sidebar-arrow {
  margin: 5px 10px;
  position: relative;
  display: inline-block;
  font-size: 12px;
  font-weight: 400;
  padding: 0 5px;
  line-height: 22px;
  float: right;
  letter-spacing: 1px;
  box-shadow: 0px 0px 3px 2px rgba(76, 242, 0, 0.22);
}

.sidebar-arrow:hover {
  box-shadow: 0px 0px 3px 2px rgba(212, 242, 0, 0.35);
}

#data .sidebar.opened {
  display: block;
  opacity: 1;
  transform: translate(-50%, 0);
  height: auto;
  padding: 10px 0 55px;
  margin-bottom: -38px;
}

#data .sidebar .planet {
  position: relative;
  width: 120px;
  transform: translate(0,0) scale(1) rotateX(-60deg);
  display: block;
  left: inherit;
  top: inherit;
  right: inherit;
  height: 120px;
  margin: 0;
	float: left;
	background-color: transparent;
	background-position: center center;
	background-size: 100% auto;
}

#data .sidebar .sun {
  position: relative;
  width: 120px;
  transform: translate(0,0) scale(1);
  display: block;
  left: inherit;
  top: inherit;
  right: inherit;
  height: 120px;
  margin: 0;
  background-size: 100% auto;
  background-position: center center;
  background-repeat: no-repeat;
  border-radius: 50%;
	float: left;
}

#data .sidebar .moon {
  width: 20px;
  height: 20px;
  border-radius: 50%;
	transform: rotateX(60deg) !important;
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: center center;
}

.sidebar-container {
  padding: 5px 30px 0;
  position: relative;
  display: block;
}

.sidebar-container.info-box {
	display: none;
	text-align: left;
}

#data .sidebar-container .sidebar-container-scroll > .pos {
  position: relative;
  width: 120px;
  height: 120px;
  margin: 0 auto;
  top: inherit !important;
	left:inherit !important;
	
	transform: rotateX(60deg) !important;
	float: left;
}

#data .sidebar-container .ring {
  transform: rotateX(60deg) !important;
}

#data .sidebar-container .sidebar-container-scroll > .pos .orbit {
	border: 2px solid rgba(255, 255, 255, 0.7);
}

#data .sidebar-container .sidebar-container-scroll > .pos .orbit.suborbit {
	width:150px;
	height:150px;
	margin-top:-75px;
	margin-left:-75px;
}

.sidebar-container-scroll {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  flex-direction: row;
  width: 100%;
}

.sidebar-container .infos {
  position: relative;
  margin: 0;
  transform: none;
  display: inline-block;
  padding: 0 0 0 20px;
  opacity: 1;
  width: auto;
  height: auto;
	flex: 1 0 0;
	max-height: 140px;
}

.sidebar-container dl.infos:before {
	display: none;
}

.sidebar-container dl.infos dd {
  display: block;
}

.sidebar-container dl.infos dd p {
  position: relative;
  left: inherit;
  bottom: inherit;
  width: auto;
  text-shadow: 0 0 8px rgb(188, 255, 67);
  padding-bottom: 2px;
  font-size: 14px;
  line-height: 19px;
}

.sidebar-container dl.infos dt {
  position: relative;
  left: inherit;
  bottom: inherit;
  margin: 0;
  text-shadow: 0 0 8px rgb(188, 255, 67);
	padding-bottom: 15px;
}

#data .button-hide {
  position: absolute;
  width: 32px;
  height: 32px;
  top: -4px;
  right: 50%;
  background: url("../img/button-hide.svg") no-repeat center center;
  transition: all 0.2s ease-out;
  transform: translate(50%, 0);
}

#data .button-hide:hover {
	transform: translate(50%, 0) scale(1.2);
}

.mCSB_scrollTools .mCSB_buttonUp {
  background-position: top center;
  background-image: url("../img/up.svg");
}

.mCSB_scrollTools .mCSB_buttonDown {
  background-position: bottom center;
  background-image: url("../img/down.svg");
}

/* --------------------------------------------------------------------------- transitions */
.pos {
  transition-property: top, left; }

#solar-system, .orbit,
.planet,
.satelite,
.ring {
  transition-property: width, height, top, left, margin-left, margin-top, webkit-transform; }

#sun, .icon {
  transition-property: width, height, webkit-transform; }

#solar-system,
#sun,
.orbit,
.pos,
.planet,
.satelite,
.ring,
.infos,
.icon {
  transition-duration: .8s;
  transition-timing-function: ease-in-out; }

#solar-system,
#sun,
.planet,
.satelite,
.ring {
  transition-delay: 0s; }

.pos {
  transition-delay: 1s; }

.opening #solar-system,
.opening #sun,
.opening .orbit,
.opening .pos,
.opening .planet,
.opening .satelite,
.opening .ring,
.opening .infos,
.opening h1,
.opening #data,
.opening dl.infos,
.opening #controls {
  transition-duration: 0s;
  transition-delay: 0s; }

.opening .pos {
  transition-delay: 0s; }

h1, #data, #controls {
  transition-property: opacity, margin;
  transition-duration: .8s;
  transition-timing-function: ease-in-out; }

h1 {
  transition-delay: .35s; }

#data {
  transition-delay: .7s; }

#controls {
  transition-delay: 1s; }

#navbar, #controls, #data {
    background: transparent; }

  #navbar a {
    display: none; }

#controls {
    padding-right: 32px;
    top: 12px; }

  #data {
  position: absolute;
  top: inherit;
  bottom: -15px;
  width: 100%;
  text-align: center;
  padding-top: 44px;
	  z-index: 3500;
      
      overflow: hidden;
	}
	
	.data-screen {
  background: linear-gradient(0deg, rgb(35, 83, 10) 0%, rgb(78, 107, 15) 48%, rgb(83, 117, 56) 50%, rgba(47, 59, 34, 0.68) 100%);
display: block;
position: relative;
border-top: 1px solid #6f9606;
  border-bottom: 1px solid #6f9606;
		padding-left: 20px;
		padding-right: 20px;
		max-width: 900px;
		margin: 0 auto;
	}

.data-screen ul.tabs {
  background: transparent;
  margin: 0;
}

.data-screen ul.tabs li {
  padding: 0;
  border: none;
}

#data .data-screen ul.tabs a {
  margin: 0;
  padding: 8px 10px;
	font-size: 17px;
	color: #fff;
}

.data-screen-scroller {
  position: relative;
  width: 100%;
  max-width: 1200px;
  display: block;
	overflow-x: auto;
	height: 38px;
	white-space: nowrap;
}

/*.mCSB_scrollTools.mCSB_scrollTools_horizontal a + .mCSB_draggerContainer {
  margin: 5px 12px 0;
}*/

.data-screen-scroller .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  bottom: -4px;
	margin: 0 12px;
}

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 3px;
  margin: 7px auto;
}

.data-screen:after {
  content: "";
  position: absolute;
  display: block;
  background: linear-gradient(90deg, rgba(75, 0, 1, 0) 0%, rgb(62, 90, 28) 100%);
  right: 0;
  top: 0;
  width: 50px;
  height: 100%;
}
	
	.data-screen .sidebar-l, .data-screen .sidebar-r {
  position: absolute;
  display: block;
  height: 100%;
  top: 0;
  width: 5px;
  background: url(../img/cor-l.jpg) repeat-y center center;
    background-size: auto;
  background-size: 100% auto;
}
	
	.data-screen .sidebar-l {
  		left: 0;
	}
	
	.data-screen .sidebar-r {
  		right: 0;
  		transform: rotate(180deg);
		z-index: 1;
	}
	
	.data-screen .sidebar-l:before, .data-screen .sidebar-l:after, .data-screen .sidebar-r:before, .data-screen .sidebar-r:after {
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  background: url(../img/corn-ul3.png) no-repeat center center;
    background-size: auto;
  background-size: 100% auto;
}
	
	.data-screen .sidebar-l:before {
  		left: 0;
  		top: -2px;
	}
	
	.data-screen .sidebar-l:after {
  		left: 0;
  		bottom: -2px;
  		transform: rotate(-90deg);
	}
	
	.data-screen .sidebar-l:after {
  		left: 0;
  		bottom: -2px;
	}
	
	.data-screen .sidebar-r:before {
  		right: -14px;
  		top: -2px;
  		transform: rotate(0deg);
	}
	
	.data-screen .sidebar-r:after {
  		right: -14px;
  		bottom: -2px;
  		transform: rotate(-90deg);
	}

#data .data-screen a {
  display: inline-block;
  text-align: center;
  font-size: 16px;
  padding: 15px 12px;
}

  .data-open #data, .data-close #data {
    left: 0px; }

.controls-open #controls, .controls-close #controls {
  right: inherit;
  position: absolute;
  top: -4px;
  width: 100%;
  padding: 0;
  text-align: center;
  background: url("../img/bottom-trim13.png") no-repeat center bottom;
  max-width: 460px;
  background-size: auto 100%;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 10;
}
	
	#controls label, #controls a {
  opacity: 1;
  margin-bottom: 0;
  display: inline-block;
  width: 10%;
	height: 44px;
  vertical-align: bottom;
    background-size: auto;
  background-size: 100% auto;
  margin: 0 5px;
		transition: all 0.2s ease-out;
}
	
	#controls label:hover, #controls a:hover  {
		transform: scale(1.1);
	}

#controls .set-info {
	background: url("../img/button-info.svg") no-repeat center center;
	background-size: auto 55%;
	height: 46px;
  margin-bottom: 2px;
}

.header-scenebox #spacesystem {
  position: absolute;
  top: 0;
}

.header-scenebox {
  position: absolute;
  width: 100%;
  height: auto;
  left: 0;
  top: 0;
  font-size: 0.3em;
  z-index: 0;
}

.header-scenebox .orbit {
  border: 2px solid rgba(0, 255, 29, 0.3);
  box-shadow: 0px 0px 30px 5px rgba(135, 255, 124, 0.16);
}
	
/* --------------------------------------------------------------------------- responsive styles */
@media screen and (max-width: 299px) {
  #universe {
    font-size: 20%; } }
@media screen and (min-width: 300px) {
  #universe {
    font-size: 24%; } }
@media screen and (min-width: 500px) {
  #universe {
    font-size: 36%; } }
@media screen and (min-width: 600px) {
  #universe {
    font-size: 44%; } }
@media screen and (min-width: 760px) {
  #universe {
    font-size: 58%; } }

@media screen and (min-width: 1000px) {
  #universe {
    font-size: 73%; }
}
@media screen and (min-width: 1300px) {
  #universe {
    font-size: 100%; } }
@media screen and (min-width: 1600px) {
  .zoom-close .scale-d #solar-system {
    margin-left: -120%; } }

@media screen and (max-width: 640px) {
	
	.point h6 {
  		font-size: 4px;
	}
	
}

@media screen and (max-width: 640px) {

	.sidebar-container-scroll {  
  		/*flex-direction: column;*/
  		width: 100%;
  		align-items: center;
  		padding: 20px 0 10px;
	}
	
	.sidebar-container .infos {
  		padding: 0;
  		max-height: 240px;
	}
	
	#data .sidebar-container .sidebar-container-scroll > .pos, #data .sidebar .sun {
  		margin-bottom: 30px;
	}
	
	#data .sidebar {
  		width: 100% !important;
	}
	
	.sidebar-arrow {
  		margin: 10px 0;
  		float: none;
  		width: 100%;
	}
	
}

@media screen and (max-width: 500px) {
	#controls label {
  		width: 60px;
	}
	
	.controls-open #controls, .controls-close #controls {
  		max-width: 90%;
	}
	
	#controls label input:after {
  		width: 26px;
  		height: 100%;
	}
	
	.point .shield {
  		width: 8px;
  		height: 8px;
	}
	
	.point h6 {
  		bottom: -4px;
  		font-size: 2px;
	}
	
	.power-0:before, .power-0:after {
  		box-shadow: 1px 1px 3px 1px rgb(255, 255, 255);
	}
	
	.power-1:before, .power-1:after {
  		box-shadow: 1px 1px 3px 1px rgb(251, 0, 0);
	}
	
	.power-2:before, .power-2:after {
  		box-shadow: 1px 1px 3px 1px rgb(251, 224, 0);
	}
	
	.power-3:before, .power-3:after {
  		box-shadow: 1px 1px 3px 1px rgb(22, 213, 79);
	}
	
	.blank .shield:before {
  		box-shadow: -0.5px 1px 6px 1px rgba(255, 255, 255,0.6);
	}
	
	.gate .shield:before {
  		box-shadow: 1px 1px 6px 1px rgba(0, 242, 72, 0.8);
	}
	
	.gateu .shield:before {
  		box-shadow: 1px 1px 6px 1px rgba(242, 0, 0, 0.8);
	}
	
	.unique .shield:before {
  		box-shadow: 1px 1px 6px 1px rgba(0, 175, 242,0.8);
	}
	
	.sidebar-container .infos {
		flex: auto;
	}
}

@media screen and (max-width: 480px) {
	
	.controls-close #controls {
  		background: transparent none;
	}
	
}

@media screen and (max-width: 460px) {
	
	.controls-close #controls {
  		background: transparent none;
	}
	
	#controls input {
  		border: none;
	}
	
	#data .data-screen a {
 	  font-size: 16px;
  		padding: 10px 12px;
	}
	
}