main
{
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;

	padding-top: 7em;
}

.main_wrap
{
	width: 80vw;

	box-shadow: 1px 1px 10px rgb(53, 60, 74);
}

.main_wrap h1
{
	margin:0;
	padding: 0.7em;
	padding-left: 1em;

	background-color: #383e51;

	color: white;
	font-weight: bold;
	font-size:1em;

	width: auto;

	border-top-left-radius: 5px;
	border-top-right-radius: 5px;

	transition: all 0.3s;
}

.main_wrap h1:hover
{
	cursor:default;
	color: #b0942e;
}

.main_wrap_content
{
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
}

#available, #stock
{
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;

	padding-left: 1em;
}

#available
{
	margin-top: 1em;
}

#stock b
{
	margin-right: 0.5em;
}

#available svg
{
	margin-left: 0.5rem;
	margin-right: 0.2rem;
}

#error
{
	width: 100%;
	text-align: center;
	margin-top: 0.5rem;
	color: red;
	font-weight: bold;
}

h2
{
	margin: 0;
	font-size: 1.5em;
	padding-left: 1rem;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

h3
{
	margin: 0;
	margin-bottom: 0.5rem;
}

.category
{
	color: white;
	text-shadow: 1px 1px 5px black;
	margin-top: 1em;
}

.tech
{
	padding-left: 2rem;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;

	margin-top: 0.1rem;

	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: stretch;
}

.tech .logo
{
	width: 10%;

	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.tech .logo > img
{
	display: block;
	width: 100%;
	border: solid 1px white;
}

.tech .infos
{
	padding-left: 1rem;

	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;

	width: 25%;
}

.tech .progress
{
	width: 40%;
	padding-left: 1rem;
}

.level
{
	font-weight: bold;
	margin-bottom: 0.5rem;
	margin-top: 0.5em;
}

.achieved
{
	margin-bottom: 0.5rem;
}

.progress_bar
{
	background-color: #1c1c1c;
	border: solid 1px white;
	height: 1rem;

	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;

	width: 95%;
}

.progress_bar > div
{
	background-color: lightblue;
	height: 100%;
}

.assets
{
	width: 25%;
	padding-left: 1rem;
	padding-right: 1rem;

	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	align-items: center;
}

input[type="number"]
{
	border-radius: 0;
	border: 0;
	padding-top: 0.2rem;
	padding-bottom: 0.4rem;
	padding-left: 0.5rem;
	margin-left: 0.5rem;
	width: 5rem;
	background-color: #1c1c1c;

	transition: all 0.5s;

	color: white;
}

input[type="text"]
{
	border-radius: 0;
	border: 0;
	padding-top: 0.2rem;
	padding-bottom: 0.4rem;
	padding-left: 0.5rem;
	margin-left: 0.5rem;
	width: 5rem;
	background-color: #1c1c1c;

	transition: all 0.5s;

	color: white;
}

input:focus
{
	background-color: #2b2b2b;
}

.assets input[type="submit"]
{
	margin-left: 0.5rem;
}

a.invest
{
	margin-left: 0.5rem;
	transition: all 0.5s;
}

a.invest:hover
{
	transform: scale(1.2);
	fill: white;
}

a.invest svg
{
	width: 2rem;
}

.tech .prerequisites
{
	font-size: 0.9em;
}

.prerequisite
{
	padding-left: 0.5rem;
}

.prerequisite.met
{
	color: #53b8fc;
}

.prerequisite.notmet
{
	color: #ff5959;
}

.effect
{
	font-size: 0.9rem;
	margin-bottom: 0.5rem;
}

.icon
{
	width: 1.5rem;
	fill: #0035b3;
}

#cat1 h2
{
	background-color: #a17a05;
}

#cat1 .tech
{
	background-color: #baa029;
	background-image: linear-gradient(255deg, rgba(100, 100, 100, 0.5), transparent);
}

#cat2 h2
{
	background-color: #064f08;
}

#cat2 .tech
{
	background-color: #1f7022;
	background-image: linear-gradient(255deg, rgba(100, 100, 100, 0.5), transparent);
}

#cat3 h2
{
	background-color: #082b8a;
}

#cat3 .tech
{
	background-color: #2b4282;
	background-image: linear-gradient(255deg, rgba(100, 100, 100, 0.5), transparent);
}

#cat4 h2
{
	background-color: #4d5169;
}

#cat4 .tech
{
	background-color: #8186a3;
	background-image: linear-gradient(255deg, rgba(100, 100, 100, 0.5), transparent);
}

input[type="submit"]
{
	border-radius: 0;
	border: 0;
	padding-top: 0.2rem;
	padding-bottom: 0.4rem;
	padding-left: 0.5rem;
	margin-left: 0.5rem;
	width: 5rem;
	background-color: #1c1c1c;

	transition: all 0.5s;

	color: white;

	cursor: pointer;
}

input[type="submit"]:hover
{
	background-color: #2b2b2b;
}
