body {
  background-color: white;
  box-sizing: border-box;
  color: black;
  margin: 0;
  padding: 1.5em;
}
body,table,th,td,div,p,span,input,select,textarea,header,article,section,footer,h1,h2,h3,h4,h5,h6,nav,ul,ol,li { font-family:'Droid Sans', Trebuchet MS,Arial,Helvetica,sans-serif;font-size:1em;line-height:1.2em;box-sizing: border-box; }
h1,h2,h3,h4,h5,h6 { margin:0;padding:0;font-weight:normal; }
h1 { font-size:3em; }
h2 { font-size:2.5em; }
h3 { font-size:2em;padding: 0 0 0.7em; }
h4 { font-size:1.5em; }
h5 { font-size:1em; }
h6 { font-size:0.5em; }
p { margin:0;padding:0.5em 0 0 0; }
a:link,a:visited,a:hover,a:active { color: #59a2c8; text-decoration: none; border-bottom: 1px dotted #59a2c8; }
a:hover { font-weight: 600; }
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* header */

header {
  background-color: black;
  color: white;
  height: 3em;
  line-height: 3em;
  padding: 0 1.5em;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 10000;
}
header > h3 {
	background-color: black;
	line-height: 48px;
	padding: 0;
	position: relative;
	z-index: 10;
}
header a {
	border-bottom: 0 none !important;
	color: inherit !important;
	font-weight: normal !important;
}
header > i.fa {
	cursor: pointer;
	font-size: 2em;
	position: absolute;
	right: 1em;
	top: 0.3em;
	z-index: 10;
}

/* navigation */

header nav {
	background-color: black;
	box-sizing: border-box;
	display: block;
	left: 0;
	line-height: 2.2em;
	padding: 2em;
	position: absolute;
	text-align: right;
	top: -400%;
	transition: 0.7s all;
	width: 100%;
}
header nav.open {
	top: 100%;
}
header nav > a {
	clear: right;
	float: right;
}
header > i.fa {
	cursor: pointer;
	font-size: 2em;
	position: absolute;
	right: 1em;
	top: 0.3em;
	z-index: 10;
}

/* forms */

form > label, form > div {
	display: block;
	line-height: 35px;
	margin: 8px 0;
	position: relative;
}
form > div.submit {
 clear:both;
 margin: 0;
 padding: 20px;
 text-align: center;
}
form > label .fa {
	position: absolute;
	right: 8px;
}
form > label > input[type="text"], form > label > select, form > label > textarea {
	float: right;
	height: 35px;
	width: calc( 100% - 100px );
}
form > label > textarea {
	height: 250px;
}
form span.date {
	display: inline-block;
	margin-right: 8px;
}
form span.date::before {
	color: black;
	content: "\f073";
	font-family: "fontawesome";
	font-size: 20px;
	line-height: 35px;
	margin-left: 5px;
	position: absolute;
	z-index: 10;
}
form span.date > input {
	padding-left: 25px;
}

/* search form */

form.search {
	background-color: black;
	box-sizing: border-box;
	color: white;
	display: block;
	height: 270px;
	left: -24px;
	line-height: 2.2em;
	margin-bottom: 0;
	margin-top: -270px;
	padding: 2em 1em;
	position: relative;
	transition: 0.7s all;
	width: calc( 100% + 48px );
}
form.search.open {
	margin-top: 0;
}
form.search > input, form.search > select {
	height: 35px;
	margin: 8px 0;
	width: 100%;
}
form.search > div > span {
	width: 25%;
}
form.search > div > span > input {
	height: 35px;
	margin-right: 8px;
	width: 100%;
}
form.search > div > select {
	float: right;
	height: 35px;
	width: calc( 50% - 50px );
}

/* date inputs */

input[type="date"] {
	position: relative;
	-webkit-touch-callout: none; /* iOS Safari */
	-webkit-user-select: none; /* Safari */
	-khtml-user-select: none; /* Konqueror HTML */
	-moz-user-select: none; /* Firefox */
	-ms-user-select: none; /* Internet Explorer/Edge */
	user-select: none; /* Non-prefixed version, currently
												supported by Chrome and Opera */
}
input[type="date"]::-webkit-calendar-picker-indicator {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	color: transparent;
	background: transparent;
}
input[type="date"]::-webkit-clear-button {
	opacity: 0;
}
input[type="date"]::-moz-selection { background: transparent; }
input[type="date"]::selection { background: transparent; }
input[type="date"]::-webkit-datetime-edit-day-field:focus, input[type="date"]::-webkit-datetime-edit-month-field:focus, input[type="date"]::-webkit-datetime-edit-year-field:focus {
	background-color: transparent;
}
input[type="date"]::-webkit-datetime-edit-month-field::selection { background: transparent; }

/* info bubbles */

span.info {
	cursor: pointer;
	margin-left: 0.5em;
	position: absolute;
	top: 0.5em;
}
span.info > span {
	background-color: aliceblue;
	border: 1px solid;
	top: -2.5em;
	display: none;
	font-size: 80%;
	right: calc( 100% + 1.5em );
	padding: 0.3em 0.6em;
	position: absolute;
	text-align: center;
	z-index: 100;
	width: 300px;
}
span.info > span span.info > span {
 width: 240px;
}
span.info:hover > span, span.info.open > span {
	display: block;
}
span.info > span::before {
	border: 15px solid;
	border-bottom-color: transparent;
	border-right-color: transparent;
	border-top-color: transparent;
	bottom: -31px;
	content: " ";
	height: 0;
	position: absolute;
	width: 0;
	right: -30px;
	top: 2em;
}
span.info > span::after {
	border: 15px solid aliceblue;
	border-bottom-color: transparent;
	border-right-color: transparent;
	border-top-color: transparent;
	top: 2em;
	content: " ";
	height: 0;
	right: -29px;
	position: absolute;
	width: 0;
}
span.info table {
	margin: 1em;
	width: calc( 100% - 2em );
}
span.info table th.available, span.info table td.available {
	text-align: right;
}
span.info table tfoot tr.subtotal td {
	padding-left: 0;
}
span.info table tfoot td.total {
	padding-right: 0.5em;
}

/* job status editing */

.statusholder {
  display: none;
}
.statusholder > a {
  margin-left: 10px;
  font-size: 80%;
}

/* footnotes */

p.footnote {
  clear: both;
  font-size: 90%;
  font-style: italic;
  opacity: 0.7;
  padding-top: 0.8em;
  position: relative;
}

/* tables */

table th, table td {
  text-align: left;
  padding: 0.3em 0.7em 0.3em 0;
}

/* section tables */

section > table {
  margin-left: -1.5em;
  margin-top: 2.5em;
  padding: 1.5em;
  width: calc( 100% + 3em );
}
section > table:first-of-type, section > table.active {
  margin-top: 0;
}
section > table > thead > tr:first-child > th {
  font-size: 1.2em;
}

/* jobresults */

tbody#jobresults > tr > td {
  font-size: 90%;
  padding: 10px 0;
  vertical-align: top;
}

/* table actions */

th.actions, td.actions {
	min-width: 50px;
	width: 10%;
}
td.actions {
  line-height: 135%;
}
td.actions a {
  box-sizing: border-box;
  display: block;
  margin: 0 0 4px;
  padding-left: 10px;
}

/* table details */

td.details > ul {
  list-style: none outside none;
  margin: 0;
  padding: 0;
}
td.details > ul > li {
  line-height: 135%;
}
td.details > ul > li > output {
  color: lightsteelblue;
  font-weight: bold;
}

/* table dates */

table th.date, table td.date {
  position: relative;
  width: 90px;
}

/* sections */

section {
	clear: both;
	padding-top: 2em;
  position: relative;
	text-align: left;
}
section::before, section::after {
	content: " ";
	clear: both;
	display: block;
}
section > a {
	position: relative;
	top: 50px;
}
section > h2 {
  clear: both;
  padding: 20px 0 30px;
  position: relative;
}
section h2 > a, .status > a {
  border-bottom: 0 none !important;
  font-size: 60%;
  margin-left: 5px;
  position: relative;
  top: -5px;
}
section > a > .fa, td > a > .fa {
	background-color: white;
	display: inline-block;
	height: 20px;
	position: relative;
	width: 18px;
}

/* section.view (view a job) */

section.view > ul {
  list-style: none outside none;
  margin: 0;
  padding: 0;
}
section.view > ul > li {
  clear: both;
  line-height: 135%;
  margin: 0;
  padding: 0;
}
section.view > ul > li > span {
  float: left;
  padding: 8px 0;
  width: 100px;
}
section.view > ul > li > output, section.view > ul > li > .statusholder {
  float: right;
  padding: 8px 0;
  width: calc( 100% - 120px );
}
section.view > ul > li > output.details {
  white-space: pre-wrap;
}
section.view form input[type="date"], section.view form select {
  height: 35px;
  line-height: 35px;
  margin-bottom: 8px;
  width: 200px;
}
section.view form div.submit {
  padding: 0;
  text-align: left;
}

/* login form */

section[data-widget="login"] {
  height: auto;
  left: 0;
  position: absolute;
  text-align: center;
  top: calc( 50% - 100px );
  width: 100%;
}

/* responsive styles */

@media screen and (max-width: 600px) {
  section > h2 {
    padding: 20px 0 0;
  }
  section > table {
    background: transparent;
    margin: 0;
    padding: 0;
    width: 100%;
  }
  form.search {
    height: 300px;
    margin-top: -300px;
  }
	form.search > div > span {
	 margin-bottom: 16px;
	 margin-right: 0;
	 position: absolute;
	 right: 0;
		width: calc( 50% - 20px );
	}
	form.search > div > span:first-child {
	 margin-right: 8px;
	 position: static;
	}
	form.search > div > select {
		width: 100%;
		margin: 0;
	}
}


/* print styles */

@media print {
  body.main {
    padding-bottom: 1.5em;
  }
  header {
    display: none;
  }
  section:first-of-type {
    padding-top: 0;
  }
  section:first-of-type > h3 {
    margin: 0;
    padding:0;
    position: fixed;
  }
  section {
    page-break-inside: avoid;
  }
  section > table {
    background: transparent;
    margin: 0;
    padding: 0;
    width: 100%;
  }
}