html, body {
	position: relative;
	/* width: 100%;
	height: 100%; */
}
body {
  margin: 0;
  padding-top: 48px;
  padding-left: 0px;
	font-family: Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
	font-size: 14px;
	line-height: 1.5;
	color: #333;
	overflow-y: scroll;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 0.5em 0;
	font-weight: 400;
	line-height: 1.2;
}

h1 {
	font-size: 2em;
}

a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  text-decoration: unset;
}

input {
	border: 1px solid #aaa;
	padding: 4px;
	font-size: 16px;
	width: calc(100% - 10px);
	height: 24px;
}
input[type=number] {
	text-align: right;
}
input[type=number]:not(.spin)::-webkit-inner-spin-button, 
input[type=number]:not(.spin)::-webkit-outer-spin-button { 
  -webkit-appearance: none; 
  margin: 0; 
}
input[type=radio] {
	width: unset;
}
input.error,
select.error {
	background: rgb(211, 214, 44);
}
select {
	border: 1px solid #aaa;
	padding: 4px;
	height: 34px;
	margin-top: 2px;
	font-size: 16px;
	background-color: #fff;
	width: 100%;
}

.button {
	background: none;
	border: 1px solid #aaa;
	padding: 6px;
}
.inputError {
	color: #b94343;
	background-color: #fff;
	border-radius: 2px;
	padding: .5em;
	position: absolute;
	box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.4);
	opacity: 0;
	transition: opacity .5s;
}
.errorText {
	color: #b91616;
}

@media (min-width: 400px) {
	body {
		font-size: 16px;
	}
}

@media (orientation: landscape) {
  body {
		padding-top: 0px;
		padding-left: 168px;
  }
}

@media print {
	body {
		margin: 0;
		padding: 0;
	}
	.no-print {
		display: none;
	}
}