html
{
	height: 100%;
	/*box-sizing: border-box;*/
	/*overflow-y: scroll;*/
}

*,
*:before,
*:after
{
	box-sizing: inherit;
}

body
{
	position: relative;
	/*padding-bottom: 6rem;*/
	min-height: 100%;
	display: flex;
	flex-direction: column;
	margin: 0;
	background-color: #212121;
	color: white;
}

main
{
	flex: 1 0 auto;
	font-family: 'Inconsolata', monospace;
}

footer
{
	background-color: #121212;
	padding: 10px;
}

a
{
	color: inherit;
} 

input
{
	resize: horizontal;
    /*width: 200px;*/
	/*padding: 12px 20px;
	margin: 8px 0;*/
	color: white;
	font-family: 'Inconsolata', monospace;
	font-size: 20px;
}
/* Hack to hide ugly yellow autofill colour on Chrome. */
/*input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active,
input:-internal-autofill-selected
{
	box-shadow: inset 0 0 0px 9999px #212121 !important;
	-webkit-text-fill-color: rgb(250, 255, 189) !important;
}*/

button,
button:active,
button:focus
{
	/*background-color: #1A1A1A;
	border: none;*/
	
	color: white;
	font-family: 'Inconsolata', monospace;
	font-size: 25px;
	cursor: pointer;
	
	background-color: transparent;
	border-style: solid;
	border-width: 1px;
	border-color: #525252;
	border-radius: 5px;
	
	padding-top: .5rem;
	padding-bottom: .5rem;
	padding-left: 1rem;
	padding-right: 1rem;
	
	/* Micah's previous style:
	font-size: 25px; font-family: 'Inconsolata', monospace; background: #1A1A1A; padding: 10px; */
}

@keyframes FadeIn { 
  0% {
    opacity: 0;
    transform: scale(.1);
  }

  80% {
    opacity: 1;
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes FadeOut { 
  0% {
    opacity: 1;
    transform: scale(1);
  }

  20% {
    opacity: 1;
    transform: scale(1.05);
  }
  100% {
    opacity: 0;
    transform: scale(.1);
  }
}

@keyframes breathe {
  0% {
	 transform: scale(1, 1);
	}
	40% {
	 transform: scale(1, 1);
	}
	50% {
	 transform: scale(1.05, 1.05);
	}
	60% {
	 transform: scale(1, 1);
	}
	100% {
	transform: scale(1, 1);
	}
}

@keyframes glow {
	0% {
		opacity: 0;
	}
	40% {
		opacity: 0;
	}
	50% {
		opacity: 0.5;
	}
	60% {
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}

.highlight {
  opacity: 1;
  background-color: #ffffff;
  width: 100%;
  height: auto;
  top: 0px;
  position: absolute;
}

.cascade_children div {
  animation: FadeIn 0.5s linear;
  animation-fill-mode: both;
}

.empire
{
	background-color: #3d5399; 
	color: #ffffff;
	padding: 5px; 
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); 
	margin-bottom: 5px;
}

.rebel
{
	background-color: #b3364a; 
	color: #ffffff;
	padding: 5px; 
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); 
	margin-bottom: 5px;
}

.abutton
{
	font-size: 25px; 
	line-height: 40px; 
	padding: .5rem;
	color: white;
	cursor: pointer;

	background-color: transparent;
	border-style: solid;
	border-width: 1px;
	border-color: #525252;
	border-radius: 5px;

	padding: .5rem;
}

.error
{
	opacity: 0;
	color: #F44336;
	min-height: 18px;
	margin-left: 3rem;
	float: left;
	font-size: 12px;
	
    transition: opacity .4s ease-out;
	-moz-transition: opacity .4s ease-out;
	-webkit-transition: opacity .4s ease-out;
	-o-transition: opacity .4s ease-out;
}

.shown
{
	opacity: 1 !important;
}

@-webkit-keyframes pulse {
 0% {
 -webkit-transform: scale(1, 1);
}
 50% {
 -webkit-transform: scale(1.1, 1.1);
}
 100% {
 -webkit-transform: scale(1, 1);
}
}

@keyframes pulse
{
	0% {
	 transform: scale(1, 1);
	}
	20% {
	 transform: scale(1.1, 1.1);
	}
	50% {
	 transform: scale(1.3, 1.3);
	}
	80% {
	 transform: scale(1.1, 1.1);
	}
	100% {
	transform: scale(1, 1);
	}
}

.pulseLocation
{
	/*transform-origin: center;
	-webkit-animation: pulse 1s linear infinite;
	animation: pulse 1s linear infinite;*/
}

.loader,
.loader:before,
.loader:after {
	border-radius: 50%;
	width: 2.5em;
	height: 2.5em;
	top: -2.5em;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation: load7 1.8s infinite ease-in-out;
	animation: load7 1.8s infinite ease-in-out;
}
.loader {
	color: #ffffff;
	font-size: 10px;
	margin: 2.5em auto;
	position: relative;
	text-indent: -9999em;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation-delay: -0.16s;
	animation-delay: -0.16s;
}
.loader:before,
.loader:after {
	content: '';
	position: absolute;
	top: 0;
}
.loader:before {
	left: -3.5em;
	-webkit-animation-delay: -0.32s;
	animation-delay: -0.32s;
}
.loader:after {
	left: 3.5em;
}
@-webkit-keyframes load7 {
	0%,
	80%,
	100% {
		box-shadow: 0 2.5em 0 -1.3em;
	}
	40% {
		box-shadow: 0 2.5em 0 0;
	}
}
@keyframes load7 {
	0%,
	80%,
	100% {
		box-shadow: 0 2.5em 0 -1.3em;
	}
	40% {
		box-shadow: 0 2.5em 0 0;
	}
}

.lds-ellipsis {
	display: inline-block;
	position: relative;
	width: 64px;
	height: 64px;
}
.lds-ellipsis div {
	position: absolute;
	top: 27px;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: #fff;
	animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.lds-ellipsis div:nth-child(1) {
	left: 6px;
	animation: lds-ellipsis1 0.6s infinite;
}
.lds-ellipsis div:nth-child(2) {
	left: 6px;
	animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(3) {
	left: 26px;
	animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(4) {
	left: 45px;
	animation: lds-ellipsis3 0.6s infinite;
}
@keyframes lds-ellipsis1 {
	0% {
		transform: scale(0);
	}
	100% {
		transform: scale(1);
	}
}
@keyframes lds-ellipsis3 {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(0);
	}
}
@keyframes lds-ellipsis2 {
	0% {
		transform: translate(0, 0);
	}
	100% {
		transform: translate(19px, 0);
	}
}