/* -----------------------
Base styles
------------------------*/

body
{
	margin: 0;
	padding: 0;
	color: #333;
	background-color: #eee;
	font: 1em/1.2 "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif;
	height: 100%;
}

h1,h2,h3,h4,h5,h6
{
	margin: 0 0 .5em;
	font-weight: 500;
	line-height: 1.1;
}

h1 { font-size: 2.25em; } /* 36px */
h2 { font-size: 1.75em; } /* 28px */
h3 { font-size: 1.375em; } /* 22px */
h4 { font-size: 1.125em; } /* 18px */
h5 { font-size: 1em; } /* 16px */
h6 { font-size: .875em; } /* 14px */

p
{
	margin: 0 0 1.5em;
	line-height: 1.5;
}

blockquote
{
	padding: 1em 2em;
	margin: 0 0 2em;
	border-left: 5px solid #eee;
}

hr
{
	height: 0;
	margin-top: 1em;
	margin-bottom: 2em;
	border: 0;
	border-top: 1px solid #ddd;
}

table
{
	background-color: transparent;
	border-spacing: 0;
	border-collapse: collapse;
	border-top: 1px solid #ddd;
}

th, td
{
	padding: .5em 1em;
	vertical-align: top;
	text-align: left;
	border-bottom: 1px solid #ddd;
}

a:link { color: royalblue; }
a:visited { color: purple; }
a:focus { color: black; }
a:hover { color: green; }
a:active { color: red; }

input[type="number"] {
   width:50px;
}

/* -----------------------
Layout styles
------------------------*/

.header
{
	color: #000;
	background: #ddd;
	padding: 0.2em 1.25em;
}

.header-heading { margin: 0; }

.nav-bar
{
	color: #ddd;
	background: #000;
	padding: 0;
}

.container
{
	padding: 1em 1.25em;
	margin: 0 auto;
}

.nav.container {
	display: grid;
	grid-template-rows: auto 15%;
}

.nav.inputs_container_top {
	grid-row: 1 / 2;
	display: grid;
	grid-template-columns: auto auto auto auto auto;
	grid-auto-flow: row;
}

.nav.inputs_container_bottom {
	grid-row: 1 / 2;
	display: grid;
	grid-template-columns: auto auto auto auto;
	grid-auto-flow: row;
}
.nav.input_unit_container {
	padding: 5px;
	align-self: center;
}

.nav.input_label {
	white-space:nowrap;
}

.nav.controls {
	grid-row: 1 / span 3;
	justify-self: center;
	align-self: center;
}

.content
{
	padding: 0em 0em;
	background-color: #fff;
	height: 80vh;
}

.main, .aside
{
	margin-bottom: 1em;
	padding: 0em;
	font: 12px sans-serif;
}

.main
{
	position: absolute;
	left: 0;
	width: 100%;
	height: 80vh;
}

.left_bar
{
	position: absolute;
	left: 0;
	margin-left: 1em;
	max-width: 275px;
}

.right_bar
{
	position: absolute;
	right: 0;
	margin-right: 1em;
	max-width: 275px;
}

.footer
{
	position: absolute;
	bottom: 0;
	width: 100%;
	color: #fff;
	background: #000;
}

/* -----------------------
Nav
------------------------*/

.nav
{
	margin: 0;
	padding: 0;
	list-style: none;
}

.nav li
{
	display: inline;
	margin: 0;
}

.nav a
{
	display: block;
	padding: .7em 1.25em;
	color: #fff;
	text-decoration: none;
	border-bottom: 1px solid gray;
}

.nav a:link { color: white; }
.nav a:visited { color: white; }

.nav a:focus
{
	color: black;
	background-color: white;
}

.nav a:hover
{
	color: white;
	background-color: green;
}

.nav a:active
{
	color: white;
	background-color: red;
}

/* -----------------------
Side styles
------------------------*/
.aside li
{
	padding-left: 0;
	margin-left: -5px;
	list-style: none;	
}
.aside div
{
	margin: 1em 0 1em 0;
}
/* -----------------------
Single styles
------------------------*/

.img-responsive { max-width: 100%; }

.btn
{
	color: #fff !important;
	background-color: royalblue;
	border-color: #222;
	display: inline-block;
	padding: .5em 1em;
	margin-bottom: 0;
	font-weight: 400;
	line-height: 1.2;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	cursor: pointer;
	border: 1px solid transparent;
	border-radius: .2em;
	text-decoration: none;
}

.btn:hover
{
	color: #fff !important;
	background-color: green;
}

.btn:focus
{
	color: #fff !important;
	background-color: black;
}

.btn:active
{
	color: #fff !important;
	background-color: red;
}

.table
{
	width: 100%;
	max-width: 100%;
	margin-bottom: 20px;
}

.list-unstyled
{
	padding-left: 0;
	list-style: none;
}

.list-inline
{
	padding-left: 0;
	margin-left: -5px;
	list-style: none;
}

.list-inline > li
{
	display: inline-block;
	padding-right: 5px;
	padding-left: 5px;
}

/* -----------------------
Wide styles
------------------------*/

@media (min-width: 55em)
{
	.header { padding: 0.2em 3em; }
	.nav-bar { padding: 0.5em 3em; }
	.content { padding: 0em 0em; }

	.main
	{
		margin-right: 0%;
		margin-bottom: 1em;
	}

	.aside
	{
		float: left;
		margin-bottom: 1em;
		margin-top: 1em;
	}
	
	.nav li
	{
		display: inline;
		margin: 0 1em 0 0;
	}
	
	.nav a
	{
		display: inline;
		padding: 0;
		border-bottom: 0;
	}
}