/*
                        DISCLAIMER
  I am not a web developer! Most of this is a mix of things I've found on the web.
*/

body,head {
  color: rgb(192, 192, 192);

  word-wrap: break-word;
  text-shadow: 1px 1px 10px rgb(0, 213, 255),
  -1px -1px 10px rgb(8, 0, 255);
}
body{
  background: url("/background_fallback.jpeg");
  background-size: 100% 100%;
  background-attachment: fixed;
}
html,body {
  text-align: center;
  height: 100%;
  margin: 0;
  font-family: "Singlet-Regular";
  scrollbar-color: rgb(46, 0, 38) black;
}


code{
  text-shadow: none;/*0px 0px 6px red*/
}

#background{
  position: fixed;
  z-index: -1;
  width:100%;
  height:100%;
  padding-left: 0;
  padding-right: 0;
  margin-left: auto;
  margin-right: auto;
  display: block;
}


@keyframes trippy{
  from{
      filter: hue-rotate(0);
  }

  to{
      filter: hue-rotate(360deg);
  }
}

.scrolling-bg{
  animation-name: anim;
  animation-duration: 10000s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

#entire-thing-container{
  max-width: 2000px;
  min-width: 900px;
  height: 100%;
  margin-left: auto;
  margin-right:auto;
}



@font-face {
  font-family: "Singlet-Regular";
  src: url('/fonts/Sniglet-Regular.ttf');
}

.generic-flex-container{

  align-items: center;
  margin-left: auto;
  margin-right: auto;
}

.centered-thing{
  margin-left:auto;margin-right:auto;
}

@keyframes anim {
  0% {
      background-position: 0, 0;
  }

  100% {
      background-position: 66000% 77000%;
  }
}

a{
  color: rgb(161, 247, 255);
}

a:hover {
  color: rgb(0, 255, 21);
  font-weight: bold;
}

p {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50%;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  /* left:-100px; */
  /* margin-top:120px; */
}

#text-wrapper {
  width:55%;
  line-height: 1.75;
  margin-left: auto;
  margin-right: auto;
  background-color: rgb(0, 73, 182);
  min-height: 200px;
  display: grid;
  grid-template-rows: 1fr 20px;
}

.blog-entry {
  margin: 0;
  max-width: 740px;
  min-width: 100px;
  padding: 10px;
}

.textbox-normal{
  border-color: rgba(122, 0, 131, 0);
  border-width: 25px;
  border-style:ridge;
  background: rgba(160, 0, 192, 0);
}

.game-entry{
  float: left;
  min-width: 265px;
  max-width: 265px;
  min-height: 265px;
  max-height: 265px;
  margin: 20px;
  position: relative;
  margin-left: 20px;
  margin-right: 20px;
  /* right:250px; */
  font-weight: bold;
  display: block;
  border-width: 7px;
  transition: all 0.5s;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);

  text-shadow: none;
  color:transparent;
  /*font-weight: none;*/
}
.game-entry *{
  transition: all 0.5s;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.game-entry:hover{
  z-index: 3;
  /*border-width: 25px;*/
  transition: all 0.4s;
  border-color: rgb(255, 255, 255);
  text-shadow: none;
  color:rgb(255, 255, 255);
  /*box-shadow: 0px 0px 100px mediumpurple;*/
  font-weight: none;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.game-entry:hover #dim{
  transition: all 0.5s;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  background-color: rgba(0, 0, 0, 0.575);
}

.game-entry #show-on-hover *{
  text-shadow: none;
  transition: all 0.5s;
  color:transparent;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.game-entry:hover #show-on-hover *{
  visibility: visible;
  
  color: inherit;
  text-shadow: inherit;

  transition: all 0.5s;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.game-entry:hover #bg{
  filter:blur(6px);
  transition: all 0.5s;
}

header{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding-top: 6px;
  padding-bottom: 6px;
  border-bottom: 2px dashed rgba(255,255,255,0.4);
}
header > a{
  margin-left: 12px;
  margin-right: 12px;
  text-decoration: none;
  font-size: 125%;
}

footer {
  margin-top: 32px;
  padding-top: 12px;
  border-top: 2px dashed rgba(255,255,255,0.4);
  width: 100%;
  bottom: 0;
  left: 0;
  bottom: 0;
}

#pancake-stack {
  display: grid;
  grid-template-rows: auto 1fr auto;
  height: 100%;
}

.footer-part{
  position: relative; min-height: 60px; display: block;min-width: 33.3%;
}
.footer-part-content{
  text-align: center;
  display: inline;
  vertical-align: 50%;
  /*position:absolute;bottom: 0;*/
}

.highlight{
  line-height: normal;  text-align: left;display: inline-block;
}
.highlight pre{
  padding: 15px;
}

li::marker {
  content:"\2B50";
}

.spicyGlowingTitle{
  text-shadow: 0px 0px 1.5em magenta,
  0px 0px 0.5em cyan;
}

/* @import url("font/font.css"); */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap');
/* @import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,700;1,400;1,700&display=swap'); */

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

:root {
    --body-font: "Open Sans", sans-serif;
    --body-font-spacing: -0.2px;
    --header-font: "Open Sans", sans-serif;
    --header-font-spacing: -2px;
    --subheader-font-spacing: 0px;
    --background-color: rgba(0, 0, 0, 0.75);
}

hr {
	border-color: rgba(255, 255, 255, 0.05);
}

h1, h2, h3, h4, h5, h6 {
	margin: 0;
	color: white;
	font-family: var(--header-font);
}

h1, h2 {
    letter-spacing: var(--header-font-spacing);
}

h3, h4, h5, h6 {
    letter-spacing: var(--subheader-font-spacing);
}

h1 {
	font-size: 60px;
	font-weight: 700;
}

h2 {
	font-size: 50px;
	font-weight: 700;
}

h3 {
	font-size: 40px;
	font-weight: 700;
}

h4 {
	font-size: 32px;
	font-weight: 700;
}

h5 {
	font-size: 28px;
	font-weight: 700;
}

h6 {
	font-size: 20px;
	font-weight: 700;
  margin-top:85px;
  
}

.collapsable {
    position: relative;
}

.collapsable-box {
    background: rgba(20, 20, 20, 0.5);
    border: 1px solid rgba(20, 20, 20, 0.8);

    padding: 0px 20px;
    width: 100%;
    
    position: absolute;
    visibility: hidden;
}

.collapsable.active .collapsable-box {
    position: static;
    visibility: visible;
}

.collapsable-button {
    color: white;
    width: 100%;

    background: rgba(20, 20, 20, 0.5);
    border: 1px solid rgba(20, 20, 20, 0.8);
    transition: 250ms all ease-out;
    
    padding: 10px 20px;
    cursor: pointer;
}

.collapsable.active .collapsable-button {
    background: rgba(25, 25, 25, 0.5);
    border: 1px solid rgba(25, 25, 25, 0.8);
}

.collapsable-button:hover {
    background: rgba(30, 30, 30, 0.5);
    border: 1px solid rgba(30, 30, 30, 0.8);
}

.collapsable-button:active {
    background: rgba(40, 40, 40, 0.5);
    border: 1px solid rgba(40, 40, 40, 0.8);
    transition: 0ms background, 0ms border ease-out;
}


.std-table {
    border-collapse: collapse;
}

.std-table th,
.std-table td {
    border: 1px solid rgba(255, 255, 255, 0.25);
    padding: 5px 10px;
}

.wrapper {
	display: flex;
	justify-content: space-evenly;
  margin: auto;
	width: 55%;
}

.main {
	min-width: 850px;
	width: 1100px;
	flex-grow: 20;
}

#toc-balancer {
	flex-shrink: 250;
	width: 300px;
}

#toc-placeholder {
	width: 290px;
	min-width: 290px;
	margin: 20px;
	flex-grow: 1;
}

.visible {
	visibility: visible !important;
}

#toc-wrapper {
	visibility: hidden;
	overflow: hidden;
	white-space: nowrap;

	position: fixed;
	left: 0;
	top: 50%;
	transform: translateY(-50%);

	width: 290px;
	height: 450px;
	padding: 12px;
	
	background: var(--background-color);
	border-radius: 16px;
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
	font-size: 16px;
	color: white;
}

#toc-wrapper ul {
	padding-left: 1em;
}

#toc-wrapper ul ul {
	padding-left: 1.25em;
}

#toc {
	width: 100%;
	height: 100%;
	overflow-x: auto;
	overflow-y: scroll;
	padding: 10px 15px;
}

.race-table {
	background-color: var(--background-color);
	border-radius: 16px;
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
	padding: 50px 100px;
}

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

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

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

.center-block {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.right-block {
	display: block;
	margin-left: auto;
}

.left-block {
	display: block;
	margin-right: auto;
}

.race-selection {
	text-decoration: none;
	font-weight: 400;
}

.std-header {
    margin: 0 10px;
	font-size: 60px;
	font-weight: 700;
	text-decoration: none;
	color: #FFFFFF;
	transition: color 300ms ease-out;
	font-family: var(--header-font);
    letter-spacing: var(--header-font-spacing);
}

.std-subheader {
    margin: 0 10px;
	font-size: 32px;
	font-weight: 700;
	text-decoration: none;
	color: #FFFFFF;
	transition: color 300ms ease-out;
	font-family: var(--header-font);
    letter-spacing: var(--header-font-spacing);
}

.std-panel a:hover p {
	color: #AAAAAA;
}

.race-table td {
	width: 500px;
}

.race-icon {
	height: 300px;
	width: auto;
	transition: all 200ms;
}

.std-panel b {
	color: #FFFFFF;
}

.std-panel a:hover .race-icon {
	filter: brightness(0.8);
}

ul {
	margin: 0;
}

a {
	color: #FFFFFF;
	transition: color 200ms ease-out;
	font-weight: 700;
}

a:hover {
	color: #AAAAAA;
}

a > img {
	transition: opacity 200ms ease-out;
}

a:hover > img {
	opacity: 0.8;
}

.fl4 {
	width: 25%;
	float: left;
	padding: 10px;
}

.fl {
	width: 50%;
	float: left;
	padding: 10px;
}

.cb {
	clear: both;
}

p img {
	position: relative;
	top: 4.5px;
}

.std-panel {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: flex-start;
	align-content: flex-start;

	padding: 25px 75px;
	background-color: var(--background-color);
	border-radius: 16px;
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
	font-size: 1.0em;
	color: #DDDDDD;
}

.unit-table-wrapper {
	width: 100%;
    margin-bottom: 20px;

	background-color: var(--background-color);
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
	border: 1px solid rgba(255, 255, 255, 0.05);
	border-radius: 10px;
}

.unit-table {
	height: 1px;
	width: 100%;
	border-collapse: collapse;
}

.unit-table td {
	height: 100%;
	padding: 10px;
	border: 1px solid rgba(255, 255, 255, 0.05);
}

.unit-table td:first-child {
    border-left: 0;
}

.unit-table td:last-child {
    border-right: 0;
}

.unit-table tr:first-child td {
    border-top: 0;
}

.unit-table tr:last-child td {
    border-bottom: 0;
}

.unit-table td:first-child,
.unit-table > tbody > tr:nth-child(1) > td {
	text-align: center;
}

.unit-table-tier {
    padding: 20px 10px !important;
    text-align: center;
}

.unit-table-categories {
    padding: 15px 10px !important;
    text-align: center;
}

.order-header {
	text-transform: uppercase;
	font-size: 12px;
	text-align: center;
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.unit-panel-name {
	font-size: 30px;
	font-weight: bold;
	margin-top: 0;
	margin-bottom: 0em;
	color: #FFFFFF;
}

.unit-panel-name-header .unimplemented img {
	border-style: dashed !important;
}

.unit-panel-name-header {
	width: 100%;
	padding: 0 10px;
	margin: 0px;
}

.unit-details {
	margin: 0px;
	padding: 0px;
}

.unit-panel-header {
	text-transform: uppercase;
	font-weight: bold;
	color: #FFFFFF;
	font-family: var(--header-font);
    letter-spacing: var(--subheader-font-spacing);
}

.unit-panel-block {
	width: 50%;
	padding: 0 10px;
}

.unit-panel-block p img {
	height: 1.25em;
	width: auto;	
}

.unit-panel-block p .unit-icon {
	height: 1.5em !important;
	width: auto;	
}

.weapon-name {
	color: #FFFFFF;
}

.ability-name {
	color: #FFFFFF;
}

.units-block {
	width: 100%;
	height: 100%;
}

.units-row {
	text-align: left;
	font-size: 0; /* for no new line gaps */
    padding: 0 10px;

	display: flex;
	flex-wrap: wrap;
}

.unit-cell-root {
	font-size: 9px;
	text-align: center;

	max-width: 45px;
	margin: 6px;
}

.unit-cell-root > p {
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	margin: 0 -6px;
}

.small .unit-cell-root {
	font-size: 8px;
	
	max-width: 40px;
	margin: 5px;
}

.unit-cell {
	display: inline-block;
	position: relative;
}

.unit-cell > a {
	text-decoration: inherit;
	color: inherit;
	font-weight: inherit;
}

.unit-cell > a > img {
	width: 45px;
	padding: 4px;

	opacity: 0.8;
	background-color: var(--background-color);
	border: 1px #999955 solid;
	border-radius: 6px;

	transition: opacity 200ms, transform 200ms, filter 200ms, border 200ms ease-out;
}

.small .unit-cell > a > img {
	width: 40px;
	padding: 3px;
}

.outOfFocus > a > img {
	opacity: 0.6;
	filter: grayscale(75%);
}

.focused > a > img {
	opacity: 1;
	border: 1px #ffffff solid;
	transform: scale(1.25);
}

.enables > a > img {
	opacity: 0.9;
	border: 1px #4060ff solid;
	transform: scale(1.1);
}

.enabled-by > a > img {
	opacity: 0.9;
	border: 1px #ffff40 solid;
	transform: scale(1.1);
}

.creates > a > img {
	opacity: 0.9;
	border: 1px #60ff40 solid;
	transform: scale(1.1);
}

.created-by > a > img {
	opacity: 0.9;
	border: 1px #ff4060 solid;
	transform: scale(1.1);
}

.creates.created-by > a > img {
	border-color: #60ff40 #60ff40 #ff4060 #ff4060 !important;
}

.unit-tooltip {
	position: absolute;
	top: 115%;
    left: 50%; 
	z-index: 1;
	min-width: 225%;

	visibility: hidden;
	opacity: 0;
	transition: visibility 200ms, opacity 200ms, transform 200ms ease-out;
	transform-origin: top;
    transform: translate(-50%, -50%) scale(0.9);
	
	text-align: center;
	font-size: 12px;
	padding: 6px 10px;	
	background-color: rgba(0, 0, 0, 0.9);
	border-radius: 12px;
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
	pointer-events: none;
}

.unit-tooltip p,
.unit-tooltip span {
	margin: 0;
	white-space: nowrap;
}

.unit-cell:hover .unit-tooltip {
	visibility: visible;
	transform: translate(-50%, -50%) scale(1);
	opacity: 1;
}

.unit-name {
	font-size: 1.2em;
	font-weight: 700;
	display: block;
}

.legend {
	padding: 10px;
	width: 100%;
	font-size: 12px;
}

.legend-creates::before {
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	border-radius: 4px;
	background-color: #60ff40;
	margin-right: 0.25em;
}

.legend-enables::before {
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	border-radius: 4px;
	background-color: #4060ff;
	margin-right: 0.25em;
}

.legend-created-by::before {
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	border-radius: 4px;
	background-color: #ff4060;
	margin-right: 0.25em;
}

.legend-enabled-by::before {
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	border-radius: 4px;
	background-color: #ffff40;
	margin-right: 0.25em;
}

.all-units > div {
	display: inline-flex;
	width: 20%;
}

.all-units-container {
	padding: 25px 50px;
	background-color: var(--background-color);
	border-radius: 16px;
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
}

.all-units-container .unimplemented {
	border-style: dashed !important;
}

.unit-link a:hover img {
	filter: brightness(0.75);
}

.unit-cell .unimplemented {
	border-style: dashed !important;
}

.unit-panel-block .unimplemented p {
    filter: grayscale(1) brightness(0.75);
}

.unimplemented-tag {
    letter-spacing: 0.5px;
    font-size: 0.75em;
    font-variant: small-caps;
}

.tooltip-unimplemented {
    letter-spacing: 0.5px;
    font-size: 0.95em;
    font-variant: small-caps;
}

p img,
.icon img {
	margin-right: 0.2em;
}

span[tooltip] {
	position: relative;
    cursor: default;
}

.icon {
	display: inline-flex;
	align-items: baseline;
	margin-right: 10px;
}

span[tooltip]::after {
	position: absolute;
	left: 50%;
	top: 100%;

	text-align: center;
	font-size: 12px;

	content: attr(tooltip);
	display: block;
	white-space: nowrap;
	
	padding: 6px 10px;	
	border-radius: 8px;
	background-color: rgba(0, 0, 0, 1);
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
	pointer-events: none;
	z-index: 1;

	visibility: visible;
	opacity: 0;
	transform: translate(-50%, 0%) scale(0.9);

	transform-origin: top;
	transition: visibility 200ms, opacity 200ms, transform 200ms ease-out
}

span[tooltip]:hover::after {
	visibility: visible;
	opacity: 1;
	transform: translate(-50%, 0%) scale(1);
}

.damage {
	margin-left: 3px;
	padding: 4px;
	border-radius: 6px;
	background-color: rgba(255, 255, 255, 0.05);
}

.w100 {
	width: 100%;
	min-width: 100%;
}

.w75 {
	width: 75%;
	min-width: 75%;
}

.w66 {
	width: 66.66%;
	min-width: 66.66%;
}

.w50 {
	width: 50%;
	min-width: 50%;
}

.w33 {
	width: 33.33%;
	min-width: 33.33%;
}

.w25 {
	width: 25%;
	min-width: 25%;
}

.flex {
	display: flex;
	flex-flow: row wrap;
}

.autofit {
	width: 100%;
	display: flex;
}

.autofit > * {
	flex: 1 1 auto;
	margin-left: 10px;
	margin-right: 10px;
}

.small-text {
    font-size: 0.75em;
}

.code {
	padding: 2px 4px;

	border-radius: 4px;
	font-family: monospace;
	
    background: rgba(20, 20, 20, 0.5);
    border: 1px solid rgba(20, 20, 20, 0.8);
}

.codeblock {
	margin: 10px 0;
	padding: 20px;

	border-radius: 4px;
	font-family: monospace;

    background: rgba(20, 20, 20, 0.5);
    border: 1px solid rgba(20, 20, 20, 0.8);
}

.quote {
	margin: 10px 0;
	padding: 20px;

    background: rgba(20, 20, 20, 0.5);
    border: 1px solid rgba(20, 20, 20, 0.8);
	border-left: 8px solid rgba(20, 20, 20, 0.8);
}

.blackbox {
	margin: 10px 0;
	padding: 20px;

    background: rgba(20, 20, 20, 0.5);
    border: 1px solid rgba(20, 20, 20, 0.8);
}

.mobile-only {
	display: none;
}

@media only screen and (max-width: 1500px) {	
	.w75, .w66, .w50, .w33, .w25 {
		width: 100%;
	}
}

@media only screen and (max-width: 1000px) {	
	
	html {
		zoom: 34%;
	}

	.mobile-only {
		display: block;
	}
}