@charset "UTF-8";
/* Body */
html {
    font-family: sans-serif;
    font-size: 16px;
    line-height: 1.5;
}

body {
    width: auto;
    margin: 0 auto;
    background: white;
}

h1, h2, h3, h4, h5, h6 {
    color: #1f2e60;
    margin: .3em 0;
}

p {
    margin: .5em 0;
}

a {
    color: #595959;
    vertical-align: bottom;
}

a.pointer {
    text-decoration: underline;
    cursor: pointer;
}

hr {
    border: 1px solid #ddd;
    width: 100%;
    margin: 2em 0;
}

br.clear {
    clear: both;
}

em.info {
    font-size: smaller;
    color: gray;
}

div.help {
    font-size: smaller;
    font-style: italic;
    color: gray;
    margin-top: .2em;
}

span.note,
em.note {
    color: #e67300;
}

.float-right {
    float: right;
}

.float-left {
    float: left;
}

.clear {
    clear: both;
}

.small-text {
    font-size: 12px;
}

.hidden,
div.text p span.hidden,
section.content label.hidden {
    display: none;
}

a.comment {
    vertical-align: top;
}

.result-label {
    background-color: #ddd;
    text-align: center;
}

.nowrap {
    white-space: nowrap;
}

/* Content */
section.content {
    padding: 1em 2em .5em 2em;
    clear: both;
    min-height: calc(85vh - 55px);
    margin-left: 200px;
    margin-top: 60px;
}

section.content header h1 {
    margin: .5em 0 1em 0;
}

section.content header h1.mrg-b0 {
    margin-bottom: 0;
}

section.content header h1 a.icon {
    font-weight: normal;
    text-decoration: none;
}

section.content header h1 a.icon span.icon {
    margin-right: .2em;
}

section.content section.center {
    width: 50%;
    /*margin: 0 auto;
    margin-top: 5%;*/
}

section.content:last-child {
    margin-bottom: 0;
}

section.content label {
  font-weight: bold;
  margin-bottom: .3em;
  display: flex;
}

section.content label.inline {
  display: inline-block;
  margin-right: .5em;
}

section.content label.mrg-r1em {
  margin-right: 1em;
}

section.content label.mrg-b0 {
  margin-bottom: 0;
}

section.content label span {
  font-weight: normal;
}

section.content label.checkbox {
    display: inline;
}

section.content label.small {
    font-size: 14px;
    font-weight: normal;
}

section.content textarea {
    min-height: 7em;
    resize: vertical;
    box-sizing: border-box;
}

section.content textarea.comments {
    border-top: 0;
    border-left: 0;
    width: 300px;
    min-height: 0;
    height: 80px;
    resize: both;
    margin-left: 150px;
}

section.content textarea.comments-edit {
    border-top: 1px solid;
    border-left: 1px solid;
}

section.content.full {
    margin-left: 0;
}

div#name {
    float: right;
    padding: .3em .5em;
}

div.link {
    margin-bottom: .5em;
}

div.inline,
em.inline {
    display: inline-block;
}

span.block {
    display: block;
}

div.input span.inline {
    display: inline-block;
}

div.text {
    width: 100%;
}

div.text p {
    border-bottom: 1px solid #dddddd;
}

div.text p strong {
    display: inline-block;
    min-width: 150px;
    vertical-align: top;
}

div.text p span {
    display: inline-block;
    min-width: 150px;
    margin-right: 2em;
    vertical-align: top;
}

div.text p span.icon,
td span.icon,
a span.icon {
    min-width: 23px;
    margin-right: 0;
    vertical-align: baseline;
}

a.link {
    cursor: pointer;
    color: #00529B;
    text-decoration: underline;
}

a.link:hover,
section.content a.link:hover {
    color: #595959;
}

div#instruments, div#reagents {
    border: 1px dashed gray;
    border-top: 0;
    padding-left: .5em;
}

div.resource-div {
    font-size: 14px;
    padding: .3em 0 .2em 0;
}

div span.resource-delete {
    cursor: pointer;
    color: red;
    margin-right: .5em;
}

textarea#metadata {
    min-width: 600px;
    min-height: 250px;
    margin-bottom: 8px;
    margin-top: 4px;
}

strong.minwidth {
    display: inline-block;
    min-width: 150px;
}

/* Tab */
.tab {
    overflow: hidden;
    border: 1px solid #333;
    border-bottom: none;
    background-color: #333;
}

.tab button,
.tab a.tab-link {
    color: white;
    background-color: inherit;
    float: left;
    border: none;
    outline: none;
    cursor: pointer;
    padding: 14px 16px;
    transition: 0.1s;
    margin: 0;
    text-decoration: none;
}

.tab a.tab-link.default {
    cursor: default;
}

.tab button:hover,
.tab a.tab-link:hover {
    color: black;
    background-color: #ddd;
}

.tab button.active,
.tab a.active {
    color: black;
    background-color: lightgray;
}

.tab-content {
    padding: 6px 14px 6px 14px;
    border: 1px solid #333;
    border-top: none;
}

/* Form */
form .input {
    margin-bottom: 1em;
}

fieldset {
    padding-bottom: 0;
}

input, button, textarea, select {
    font: inherit;
    vertical-align: top;
}

input, textarea, select {
    border: 1px solid #808080;
}

input, textarea {
    border-radius: 2px;
}

input[type=submit], input[type=button], select {
    border-radius: 4px;
}

select[multiple] {
    min-width: 200px;
    min-height: 100px;
    border-radius: 2px;
}

.input input[type=text],
.input input[type=password],
.input input[type=email],
.input input[type=number],
.input textarea {
    width: 100%;
    padding: 5px 10px;
    box-sizing: border-box;
}

.input input[type=text].ninety,
.input input[type=password].ninety,
.input input[type=email].ninety,
.input textarea.ninety {
    width: 90%;
}

.input input[type=text].third-width,
.input select.third-width {
    width: 33%;
}

.input input[type=text].third-width,
.input select.third-width,
.input p input[type=text].third-width {
    width: 33%;
}

.input input[type=checkbox] {
    height: 16px;
    width: 16px;
    margin-left: 0;
}

input[type=text].p50 {
    width: 50px;
}

input[type=text].p70 {
    width: 70px;
}

.input select {
    width: 100%;
}

.input select.ninety {
    width: 90%;
}

.input.third-width,
.input input[type=text].third-width {
    width: 33%;
}

.input.half-width {
    width: 50%;
    float: left;
}

.input input[type=text].half-width {
    width: 50%;
}

.input .quarter-width,
.input input[type=text].quarter-width {
    width: 25%;
}

.input .auto-width,
.input input[type=text].auto-width,
.input select.auto-width {
    width: auto;
}

.input input[readonly] {
    border: 0;
}

.input input[readonly]:focus {
    outline: none;
}

.input input[type=text].revert-padding {
    padding: revert;
}

#accept-div {
    display: none;
}

.button {
    font-weight: bold;
    padding: 10px 30px;
    font-size: 16px;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    background-color: #F2F2F2;
    color: #00529B;
    border: 1px solid #808080;
    border-radius: 4px;
}

.button:hover {
    background-color: #D3D3D3;
}

.button:active {
    background-color: #A9A9A9;
}

.button.delete {
    color: #D8000C;
}

.block-button {
    display: block;
    width: 100%;
    padding: 10px 0;
}

.button-sm {
    padding: 5px 10px;
    font-size: 14px;
}

.input #login {
    margin-top: 1em;
}

.input .link {
    text-align: right;
    font-size: smaller;
}

.valign-baseline {
    vertical-align: baseline;
}

.valign-middle {
    vertical-align: middle;
}

.search-div {
    display: inline-block;
    margin-right: 1em;
    margin-bottom: 1em;
}

div.row-div {
    border-bottom: 1px solid black;
}

div.row-div.odd {
    background-color: #e8f3fc;
}

div.row-div:hover,
div.row-div.odd:hover {
    background-color: #d1e6fa;
}

div.control-div {
    float: left;
    width: 400px;
    padding: .5em;
    margin-right: 1em;
}

div.control-div table {
    width: 100%;
    font-size: 12px;
}

.input .condition-acceptable {
    background-color: #b3ffb3;
}

.input .condition-unacceptable {
    background-color: #ffcc99;
}

.input .condition-exception {
    background-color: #FFBABA;
}

/* footer */
footer {
    height: 55px;
    font-size: smaller;
    margin: 2em 2em 0 0;
}

footer div#footer {
    float: right;
}

footer div p {
    margin: 0;
    padding: 0;
}

/* Message */
div.flash {
    margin: 1em 0;
    padding: .5em 1em;
    background-color: #BDE5F8;
    border: 1px solid #00529B;
    clear: both;
}

div.flash.error {
    border-color: #D8000C;
    background-color: #FFBABA;
}

div.flash.warning {
    border-color: #e67300;
    background-color: #ffcc99;
}

span.warning,
td.warning {
    color: #e67300;
}

span.okay,
td.okay {
    color: #008000;
}

span.used,
td.used {
    color: #707070;
}

.input input.error,
.input select.error,
.input textarea.error,
#bulkbarcode.error {
    outline: none;
    border: 1px solid red;
}

.input input.error:valid,
.input select.error:valid,
.input textarea.error:valid {
    border-style: solid;
    border-color: inherit;
}

span#not-found {
    display: none;
    font-size: 14px;
    color: red;
}

span#not-found strong {
    font-style: italic;
}

.bold {
    font-weight: bold;
}

/* Table */
table {
    background-color: white;
}

table#login-history {
    width: 50%;
    margin: 0;
}

table thead th {
    text-align: left;
}

table.plate {
    font-size: 14px;
    border: 1px solid darkgray;
    background-color: #e8f3fc;
}

table.plate caption,
table.history caption {
    font-weight: bold;
    font-style: italic;
    font-size: 16px;
}

caption span.caption-info,
table.plate caption span {
    font-weight: normal;
}

caption.bold {
    font-weight: bold;
    font-style: italic;
}

table.plate td.well {
    min-width: 80px;
}

table.plate td.well input {
    width: 90%;
    border: 1px solid #808080;
    border-radius: 2px;
}

table.plate td input[readonly] {
    border-color: #ffffff;
    border-style: solid;
}

table.plate td input.control {
    text-align: center;
    background-color: #d1e6fa;
}

table.plate td input[readonly]:focus {
    outline: none;
}

table.plate td.row-label {
    vertical-align: top;
}

table.plate td span.sample {
    font-size: 10px;
}

table.plate td.display {
    border: 1px solid darkgray;
    padding: 0 4px;
    background-color: #ffffff;
}

input[type=text].saved {
    border: 2px solid #07c507;
}

th.null-col,
td.null-col {
    width: 0;
    padding-right: 0 !important;
}

td.result-positive,
td.mismatch {
    background-color: #FFBABA;
    font-weight: bold;
}

td.result-invalid {
    background-color: #ffcc99;
    font-weight: bold;
}

td.result-invalid em {
    font-size: 14px;
    font-weight: normal;
}

td.result-inconclusive {
    background-color: #ffffb3;
    font-weight: bold;
}

td.important {
    background: rgba(255,204,153,0.3);
    font-weight: bold;
}

td.hover {
    background-color: #d1e6fa;
}

td.right {
    text-align: right;
    padding-right: 30px !important;
}

table tbody.loading {
    display: none;
}

section.content table tbody td textarea {
    min-height: 3em;
}

div.dashboard {
    float: left;
    min-width: 400px;
    margin-right: 2em;
    margin-bottom: 2em;
}

div.dashboard table caption {
    min-width: 400px;
}

table caption small {
    font-weight: normal;
}

/* Misc */
.mrg-b5em {
    margin-bottom: .5em;
}

.mrg-t5em {
    margin-top: .5em;
}

.mrg-t1em {
    margin-top: 1em;
}

.mrg-t15em {
    margin-top: 1.5em;
}

.mrg-r1em {
    margin-right: 1em;
}

.mrg-r2em {
    margin-right: 2em;
}

.mrg-r0 {
    margin-right: 0;
}

.mrg-l1em {
    margin-left: 1em;
}

.mwidth100 {
    min-width: 100px;
}

.width10 {
    width: 10px;
}

.width50 {
    width: 50px;
}

.no-border {
    border: none;
}

.no-focus {
    outline: none;
}

.valign-baseline {
    vertical-align: baseline;
}

.right {
    text-align: right;
}

.pad-l8px {
    padding-left: 8px;
}

.pointer {
    cursor: pointer;
}

div.role-users {
    display: inline-block;
    height: 100px;
    overflow-y: scroll;
    padding: 0 .3em;
    margin-left: 1em;
    border: 1px solid lightgray;
    min-width: 200px;
}

img.file_icon {
    width: 20px;
    height: 20px;
    padding: .5em;
    vertical-align: middle;
}

div.processing {
    display: none;
    text-align: center;
}

div.processing img {
    height: 16px;
    margin-right: .5em;
}

#barcodedetails {
    background-color: #e8f3fc;
    padding: .5em;
    margin: 0;
}

#barcodedetails strong {
    display: inline-block;
    width: 132px;
}

.loader {
    display: inline-block;
    border: 8px solid #d1e6fa;
    border-radius: 50%;
    border-top: 8px solid #333;
    width: 16px;
    height: 16px;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
    margin-top: 4px;
    margin-left: 4px;
    margin-right: 4px;
}

.loader-small {
    border-width: 4px;
    border-top-width: 4px;
    margin-top: 0;
    margin-left: 0;
    width: 8px;
    height: 8px;
}

@-webkit-keyframes spin {
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Report */
iframe.preview {
    width: 8.5in;
    height: 11in;
    padding: 1em;
}
