@font-face {
  font-family: "Roboto";
  src: local(Roboto Thin), url("../font/roboto/Roboto-Thin.woff2") format("woff2"), url("../font/roboto/Roboto-Thin.woff") format("woff"), url("../font/roboto/Roboto-Thin.ttf") format("truetype");
  font-weight: 200; }
@font-face {
  font-family: "Roboto";
  src: local(Roboto Light), url("../font/roboto/Roboto-Light.woff2") format("woff2"), url("../font/roboto/Roboto-Light.woff") format("woff"), url("../font/roboto/Roboto-Light.ttf") format("truetype");
  font-weight: 300; }
@font-face {
  font-family: "Roboto";
  src: local(Roboto Regular), url("../font/roboto/Roboto-Regular.woff2") format("woff2"), url("../font/roboto/Roboto-Regular.woff") format("woff"), url("../font/roboto/Roboto-Regular.ttf") format("truetype");
  font-weight: 400; }
@font-face {
  font-family: "Roboto";
  src: url("../font/roboto/Roboto-Medium.woff2") format("woff2"), url("../font/roboto/Roboto-Medium.woff") format("woff"), url("../font/roboto/Roboto-Medium.ttf") format("truetype");
  font-weight: 500; }
@font-face {
  font-family: "Roboto";
  src: url("../font/roboto/Roboto-Bold.woff2") format("woff2"), url("../font/roboto/Roboto-Bold.woff") format("woff"), url("../font/roboto/Roboto-Bold.ttf") format("truetype");
  font-weight: 700; }
*:focus {
    outline: none;
}

html {
  line-height: 1.5;
  font-family: "Roboto", sans-serif;
  font-weight: normal;
  color: rgba(0, 0, 0, 0.87); }
  @media only screen and (min-width: 0) {
    html {
      font-size: 14px; } }
  @media only screen and (min-width: 992px) {
    html {
      font-size: 14.5px; } }
  @media only screen and (min-width: 1200px) {
    html {
      font-size: 15px; } }

h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
  line-height: 1.1; }

h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
  line-height: 1.1; }

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  font-weight: inherit; }

h1 {
  font-size: 4rem;
  line-height: 110%;
  margin: 2.1rem 0 1.68rem 0; }

h2 {
  font-size: 3rem;
  line-height: 110%;
  margin: 1.78rem 0 1.424rem 0; }

h3 {
  font-size: 2rem;
  line-height: 110%;
  margin: 1.46rem 0 1.168rem 0; }

h4 {
  font-size: 1.5rem;
  line-height: 110%;
  margin: 1.14rem 0 0.912rem 0; }

h5 {
  font-size: 1.25rem;
  line-height: 110%;
  margin: 0.82rem 0 0.656rem 0; }

h6 {
  font-size: 1rem;
  line-height: 110%;
  margin: 0.5rem 0 0.4rem 0; }

em {
  font-style: italic; }

strong {
  font-weight: 500; }

small {
  font-size: 75%; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 15px 5px;
  display: table-cell;
  text-align: left;
  vertical-align: middle;
  border-radius: 2px;
}

html {
  box-sizing: border-box; }

*, *:before, *:after {
  box-sizing: inherit; }

ul {
  list-style-type: none; }

a {
  color: #039be5;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent; }

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }
button,
select {
  text-transform: none; }
html input[type="button"],
button,
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }
input[type="datetime-local"] {
  border: 1px solid #f2f2f2;
  /* 3 */ }
select:disabled {
  color: rgba(0, 0, 0, 0.3); }
select {
  background-color: rgba(255, 255, 255, 0.9);
  width: 100%;
  padding: 5px;
  border: 1px solid #f2f2f2;
  border-radius: 2px;
  height: 3rem; }

label {
  color: #656565;
}

table {
  width: 100%;
  display: table; }
  table.bordered > thead > tr, table.bordered > tbody > tr {
    border-bottom: 1px solid #d0d0d0; }
  table.striped > tbody > tr:nth-child(odd) {
    background-color: #f2f2f2; }
  table.striped > tbody > tr > td {
    border-radius: 0px; }
  table.highlight > tbody > tr {
    -webkit-transition: background-color 0.25s ease;
    -moz-transition: background-color 0.25s ease;
    -o-transition: background-color 0.25s ease;
    -ms-transition: background-color 0.25s ease;
    transition: background-color 0.25s ease; }
    table.highlight > tbody > tr:hover {
      background-color: #f2f2f2; }
  table.centered thead tr th, table.centered tbody tr td {
    text-align: center; }
table.bordered td.bold {
  font-weight: 700;
}
.container {
  margin: 0 auto;
  max-width: 1920px;
  width: 98%; 
  margin-top: 16px;
}

g.container .row {
  margin-left: -0.75rem;
  margin-right: -0.75rem; }

.section {
  padding-top: 1rem;
  padding-bottom: 1rem; }
  .section.no-pad {
    padding: 0; }
  .section.no-pad-bot {
    padding-bottom: 0; }
  .section.no-pad-top {
    padding-top: 0; }

.row {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 10px; }
  .row:after {
    content: "";
    display: table;
    clear: both; }
  .row .col {
    float: left;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 5px; }
    .row .col.s1 {
      width: 8.33333%;
      margin-left: 0; }
    .row .col.s2 {
      width: 16.66667%;
      margin-left: 0; }
    .row .col.s3 {
      width: 25%;
      margin-left: 0; }
    .row .col.s4 {
      width: 33.33333%;
      margin-left: 0; }
    .row .col.s5 {
      width: 41.66667%;
      margin-left: 0; }
    .row .col.s6 {
      width: 50%;
      margin-left: 0; }
    .row .col.s7 {
      width: 58.33333%;
      margin-left: 0; }
    .row .col.s8 {
      width: 66.66667%;
      margin-left: 0; }
    .row .col.s9 {
      width: 75%;
      margin-left: 0; }
    .row .col.s10 {
      width: 83.33333%;
      margin-left: 0; }
    .row .col.s11 {
      width: 91.66667%;
      margin-left: 0; }
    .row .col.s12 {
      width: 100%;
      margin-left: 0; }
    .row .col.offset-s1 {
      margin-left: 8.33333%; }
    .row .col.offset-s2 {
      margin-left: 16.66667%; }
    .row .col.offset-s3 {
      margin-left: 25%; }
    .row .col.offset-s4 {
      margin-left: 33.33333%; }
    .row .col.offset-s5 {
      margin-left: 41.66667%; }
    .row .col.offset-s6 {
      margin-left: 50%; }
    .row .col.offset-s7 {
      margin-left: 58.33333%; }
    .row .col.offset-s8 {
      margin-left: 66.66667%; }
    .row .col.offset-s9 {
      margin-left: 75%; }
    .row .col.offset-s10 {
      margin-left: 83.33333%; }
    .row .col.offset-s11 {
      margin-left: 91.66667%; }
    .row .col.offset-s12 {
      margin-left: 100%; }
    @media only screen and (min-width: 601px) {
      .row .col.m1 {
        width: 8.33333%;
        margin-left: 0; }
      .row .col.m2 {
        width: 16.66667%;
        margin-left: 0; }
      .row .col.m3 {
        width: 25%;
        margin-left: 0; }
      .row .col.m4 {
        width: 33.33333%;
        margin-left: 0; }
      .row .col.m5 {
        width: 41.66667%;
        margin-left: 0; }
      .row .col.m6 {
        width: 50%;
        margin-left: 0; }
      .row .col.m7 {
        width: 58.33333%;
        margin-left: 0; }
      .row .col.m8 {
        width: 66.66667%;
        margin-left: 0; }
      .row .col.m9 {
        width: 75%;
        margin-left: 0; }
      .row .col.m10 {
        width: 83.33333%;
        margin-left: 0; }
      .row .col.m11 {
        width: 91.66667%;
        margin-left: 0; }
      .row .col.m12 {
        width: 100%;
        margin-left: 0; }
      .row .col.offset-m1 {
        margin-left: 8.33333%; }
      .row .col.offset-m2 {
        margin-left: 16.66667%; }
      .row .col.offset-m3 {
        margin-left: 25%; }
      .row .col.offset-m4 {
        margin-left: 33.33333%; }
      .row .col.offset-m5 {
        margin-left: 41.66667%; }
      .row .col.offset-m6 {
        margin-left: 50%; }
      .row .col.offset-m7 {
        margin-left: 58.33333%; }
      .row .col.offset-m8 {
        margin-left: 66.66667%; }
      .row .col.offset-m9 {
        margin-left: 75%; }
      .row .col.offset-m10 {
        margin-left: 83.33333%; }
      .row .col.offset-m11 {
        margin-left: 91.66667%; }
      .row .col.offset-m12 {
        margin-left: 100%; } }
    @media only screen and (min-width: 993px) {
      .row .col.l1 {
        width: 8.33333%;
        margin-left: 0; }
      .row .col.l2 {
        width: 16.66667%;
        margin-left: 0; }
      .row .col.l3 {
        width: 25%;
        margin-left: 0; }
      .row .col.l4 {
        width: 33.33333%;
        margin-left: 0; }
      .row .col.l5 {
        width: 41.66667%;
        margin-left: 0; }
      .row .col.l6 {
        width: 50%;
        margin-left: 0; }
      .row .col.l7 {
        width: 58.33333%;
        margin-left: 0; }
      .row .col.l8 {
        width: 66.66667%;
        margin-left: 0; }
      .row .col.l9 {
        width: 75%;
        margin-left: 0; }
      .row .col.l10 {
        width: 83.33333%;
        margin-left: 0; }
      .row .col.l11 {
        width: 91.66667%;
        margin-left: 0; }
      .row .col.l12 {
        width: 100%;
        margin-left: 0; }
      .row .col.offset-l1 {
        margin-left: 8.33333%; }
      .row .col.offset-l2 {
        margin-left: 16.66667%; }
      .row .col.offset-l3 {
        margin-left: 25%; }
      .row .col.offset-l4 {
        margin-left: 33.33333%; }
      .row .col.offset-l5 {
        margin-left: 41.66667%; }
      .row .col.offset-l6 {
        margin-left: 50%; }
      .row .col.offset-l7 {
        margin-left: 58.33333%; }
      .row .col.offset-l8 {
        margin-left: 66.66667%; }
      .row .col.offset-l9 {
        margin-left: 75%; }
      .row .col.offset-l10 {
        margin-left: 83.33333%; }
      .row .col.offset-l11 {
        margin-left: 91.66667%; }
      .row .col.offset-l12 {
        margin-left: 100%; } }


body {
  background-color: #fafafa; margin: 0; padding-bottom: 32px;}
a {
  cursor: pointer;
}

a[disabled] {
    pointer-events: none;
    color: #cfcfcf;
}

p.box {
  padding: 20px; }

p {
  color: rgba(0, 0, 0, 0.71);
  padding: 0;
  -webkit-font-smoothing: antialiased; }

h1, h2, h3, h4, h5, h6 {
  -webkit-font-smoothing: antialiased; }

nav a {
  -webkit-font-smoothing: antialiased; }

#nav-mobile {
	display: none;
}

@media only screen and (max-width : 1024px) {
  .hide-medium {
    display: none;
  }
	header, main, footer {
		padding-left: 0;
	}
	.pad-menu-left {
		padding-left: 0;
	}
}

@media only screen and (max-width : 460px) {
  .hide-phone {
    display: none;
  }
  h1, h2, h3, h4 {
    font-size: 19px;
  }
  .row .col {
    padding: 0 0.25rem;
  }
}

.billing-view .hide-billing {
  display: none;
}
.show-billing {
  display: none;
}
.billing-view .show-billing {
  display: inherit;
}
.billing-view th.show-billing, .billing-view td.show-billing {
  display: table-cell;
}

@media only screen and (min-width : 601px) {
  .phone-only {
    display: none;
  }
}

.highlight {
	background-color: #faff9c !important;
  font-weight: bold;
  border-color: #383838;
  border-width: 2px;
  border-style: solid;
}
.highlight i {
  font-weight: normal;
}

.page-title {
	font-size: 2em;
}
.logo {
	height: 200px;
	margin-left: -10px;
}
.monospace {
	font-family: monospace; 
	text-transform: uppercase; 
	font-size: .5cm;
}
#repair_locations_canvas {
	background-image: url('../images/Windshield.png');
	width: 566px;
	height: 285px;
}
.billing-vieww .status_AC, .billing-view .status_PD {
	border-left: 3px solid #318500;
}
.billing-vieww .status_NS, .billing-view .status_IC  {
	border-left: 3px solid #d2d012;
}
.billing-vieww .status_IN {
	border-left: 3px solid #c16215;
}
.billing-vieww .status_SE {
	border-left: 3px solid #334664;
}
.billing-vieww .status_RJ {
	border-left: 3px solid #a21300;
}
.vehicle_chips_no {
	display: none;
}
.odd {
	background-color: #e8eaf6;
}
.hidden {
	display: none;
}

#invoices .upload {
	display: none;
}
#local_invoices .send {
	display: none;
}
.td1 {
	float: left;
	width: 35%;
	margin-right: 3em;
}
.td2 {
	float: left;
	width: 35%;
	margin-right: 10px;
}
.td3 {
	margin: 0;
	vertical-align: bottom;
	float: right;
}
td.tools {
	padding-left: 0;
}
.invoice_details label {
    float: left;
    font-weight: bold;
    text-transform: none;
    margin: 0;
}
.invoice_details td {
    text-align: right;
    font-weight: normal;
    line-height: 18px;
	vertical-align: top;
}
.invoice_details td hr {
	display: none;
}
.invoice_details {
    padding-bottom: 1em;
    line-height: 1.5;
}
.invoice_details a {
	display: block;
	text-transform: uppercase;
	margin-right: 20px;
	font-size: 15px;
	cursor: pointer;
	padding: 10px;
	-webkit-transition: color 0.3s ease;
	-moz-transition: color 0.3s ease;
	-o-transition: color 0.3s ease;
	-ms-transition: color 0.3s ease;
	transition: color 0.3s ease;
}
.invoice_details a:hover {
	color: #bbdefb; 
}

.vendor_invoice_item_details label {
  float: left;
  font-weight: bold;
  /*text-transform: none;*/
  margin: 0;
}
.vendor_invoice_item_details td {
  text-align: right;
  font-weight: normal;
  line-height: 18px;
  vertical-align: top;
}
.vendor_invoice_item_details td div .Select{
  text-align: left;
}
.vendor_invoice_item_details {
  padding-bottom: 1em;
  line-height: 1.5;
}

.filter-red{
  filter: invert(25%) sepia(100%) saturate(7500%) hue-rotate(359deg) brightness(106%) contrast(118%);
}

#local_invoices a.send {
	display: none;
}
#local_invoices a.show_invoice {
	display: none;
}
#local_invoices a.dispatch_invoice {
	display: none;
}
#local_invoices a.void {
	display: none;
}
a.dispatch_invoice {
	display: none;
}
#invoices a.delete {
	display: none;
}
#invoices .tools_status_VO a.delete {
	display: block;
}
#invoices .tools_status_IC a.delete {
	display: block;
}
#invoices a.upload {
	display: none;
}
#local_invoices a.send {
	display: none;
}
#instructions > .card-image {
	height: 450px;
	overflow: hidden;
}
.account_company_logo {
	line-height: 450px;
}
td.account_company {
  text-transform: capitalize;
}
a i {
	cursor: pointer;
}
.materialboxed {
	width: 100%;
}
.side-nav li:hover i, .side-nav li.active i {
	color: #039be5;
	-webkit-transition: color 0.3s ease;
	-moz-transition: color 0.3s ease;
	-o-transition: color 0.3s ease;
	-ms-transition: color 0.3s ease;
	transition: color 0.3s ease;
}
.side-anv a:active {
	background-color: #f0f0f0;
}
.modal.bottom-sheet {
	max-height: 100% !important;

}
.nav-wrapper a, .nav-wrapper i {
	display: inline !important;
}
.currency:before {
	content: "$";
}
.total {
	font-weight: bold;
}
.item_id {
	min-width: 110px;
}
#NagsDialog {
	padding: 10px 12% 10px 12%;
	height: 70%;
}
.collapsible-body {
	padding: 4%;
}
td, th {
	padding: 6px 5px;
}
tr.skinny td, tr.skinny th {
  padding: 3px;
}
th.primary, td.primary {
	font-weight: 500;
	color: rgba(0,0,0,0.87);
	cursor: pointer;
}
td.primary {
  color: #039be5;
}
.fluid {
    position: relative;
    padding-bottom: 100%; /* proportion value to aspect ratio 16:9 (9 / 16 = 0.5625 or 56.25%) */
    padding-top: 30px !important;
    height: 0;
    overflow: hidden;
}

.fluid iframe {
    position: absolute;
    top: 0; 
    left: 0;
    width: 80%;
    height: 100%;
}
.jsignature {
	margin-left: auto;
	margin-right: auto;
}
table {
	font-size: 13px;
	font-weight: 400;
	color: rgba(0,0,0,0.71);
}
.oe_icon {
	padding: 3px 4px 2px 2px;
	font-size: 12px;
	border-radius: 50%;
	border-style: solid;
	border-width: 1px;
	letter-spacing: -1px;
}
.side-nav .collapsible-header {
	margin: 0;
	line-height: 64px;
}
.side-nav i {
	margin-right: 0;
}
.side-nav li {
	padding: 0;
}
.side-nav .collapsible-body {
	padding: 0;
}
.side-nav .collapsible-body a {
	margin-left: 3rem !important;
}
td.expand {
  padding: 0px 5px;
  width: 28px;
}
td.check, th.check {
  width: 14px;
  padding-right: 0;
  overflow: hidden;
  margin-right: -12px;
}


.event_badge {
	color: #fff;
	background-color: #2ea5d4;
	border-radius: 2px;
	position: absolute;
	left: 16px;
  margin-top: -2px;
	width: 4.5rem;
	padding: 2px 6px;
	text-align: center;
	font-size: .8em;
	text-transform: capitalize;
  max-height: 1.5em;
  overflow: hidden;
}
.event_green {
  background-color: #63cc6e;
}
.event_black {
  background-color: #000000;
}
.event_red {
  background-color: #c52020;
}
.event_orange {
  background-color: #e28412;
}
.event_collection {
	color: rgba(0,0,0,0.71);
}
.event_collection .collection-item {
	padding-left: 5rem;
}
select {
	display: inherit;
}
/**
 * React Select
 * ============
 * Created by Jed Watson and Joss Mackison for KeystoneJS, http://www.keystonejs.com/
 * https://twitter.com/jedwatson https://twitter.com/jossmackison https://twitter.com/keystonejs
 * MIT License: https://github.com/JedWatson/react-select
*/
.Select {
  position: relative;
}
.Select,
.Select div,
.Select input,
.Select span {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.Select.is-disabled > .Select-control {
  background-color: #f9f9f9;
}
.Select.is-disabled > .Select-control:hover {
  box-shadow: none;
}
.Select.is-disabled .Select-arrow-zone {
  cursor: default;
  pointer-events: none;
}
.Select-control {
  background-color: #fff;
  border-color: #d9d9d9 #ccc #b3b3b3;
  border-radius: 2px;
  border: 1px solid #f2f2f2;
  cursor: default;
  display: table;
  border-spacing: 0;
  border-collapse: separate;
  height: 44px;
  outline: none;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.Select-control .Select-input:focus {
  outline: none;
}
.is-searchable.is-open > .Select-control {
  cursor: text;
}
.is-open > .Select-control {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  background: #fff;
  border-color: #b3b3b3 #ccc #d9d9d9;
}
.is-open > .Select-control > .Select-arrow {
  border-color: transparent transparent #999;
  border-width: 0 5px 5px;
}
.is-searchable.is-focused:not(.is-open) > .Select-control {
  cursor: text;
}
.is-focused:not(.is-open) > .Select-control {
  border-color: #007eff;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px rgba(0, 126, 255, 0.1);
}
select:focus {
  border-color: #007eff;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px rgba(0, 126, 255, 0.1);
}
.Select-placeholder,
.Select--single > .Select-control .Select-value {
  bottom: 0;
  left: 0;
  line-height: 44px;
  padding-left: 10px;
  padding-right: 10px;
  position: absolute;
  right: 0;
  top: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.has-value.Select--single > .Select-control .Select-value .Select-value-label,
.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label {
  color: #333;
}
.has-value.Select--single > .Select-control .Select-value a.Select-value-label,
.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label {
  cursor: pointer;
  text-decoration: none;
}
.has-value.Select--single > .Select-control .Select-value a.Select-value-label:hover,
.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:hover,
.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus,
.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus {
  color: #007eff;
  outline: none;
  text-decoration: underline;
}
.Select-input {
  height: 44px;
  padding-left: 10px;
  padding-right: 10px;
  vertical-align: middle;
}
.Select-input > input {
  width: 100%;
  background: none transparent;
  border: 0 none;
  box-shadow: none;
  cursor: default;
  display: inline-block;
  font-family: inherit;
  font-size: inherit;
  margin: 0;
  outline: none;
  line-height: 44px;
  /* For IE 8 compatibility */
  /* For IE 8 compatibility */
  -webkit-appearance: none;
}
.is-focused .Select-input > input {
  cursor: text;
}
.has-value.is-pseudo-focused .Select-input {
  opacity: 0;
}
.Select-control:not(.is-searchable) > .Select-input {
  outline: none;
}
.Select-loading-zone {
  cursor: pointer;
  display: table-cell;
  position: relative;
  text-align: center;
  vertical-align: middle;
  width: 16px;
}
.Select-loading {
  -webkit-animation: Select-animation-spin 400ms infinite linear;
  -o-animation: Select-animation-spin 400ms infinite linear;
  animation: Select-animation-spin 400ms infinite linear;
  width: 16px;
  height: 16px;
  box-sizing: border-box;
  border-radius: 50%;
  border: 2px solid #ccc;
  border-right-color: #333;
  display: inline-block;
  position: relative;
  vertical-align: middle;
}
.Select-clear-zone {
  -webkit-animation: Select-animation-fadeIn 200ms;
  -o-animation: Select-animation-fadeIn 200ms;
  animation: Select-animation-fadeIn 200ms;
  color: #999;
  cursor: pointer;
  display: table-cell;
  position: relative;
  text-align: center;
  vertical-align: middle;
  width: 17px;
}
.Select-clear-zone:hover {
  color: #D0021B;
}
.Select-clear {
  display: inline-block;
  font-size: 20px;
  line-height: 1;
  margin-top: 2px;
}
.Select--multi .Select-clear-zone {
  width: 17px;
}
.Select-arrow-zone {
  cursor: pointer;
  display: table-cell;
  position: relative;
  text-align: center;
  vertical-align: middle;
  width: 25px;
  padding-right: 5px;
}
.Select-arrow {
  border-color: #999 transparent transparent;
  border-style: solid;
  border-width: 8px 6px 1px;
  display: inline-block;
  height: 0;
  width: 0;
}
.is-open .Select-arrow,
.Select-arrow-zone:hover > .Select-arrow {
  border-top-color: #666;
}
.Select--multi .Select-multi-value-wrapper {
  display: inline-block;
}
.Select .Select-aria-only {
  display: inline-block;
  height: 1px;
  width: 1px;
  margin: -1px;
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
}
@-webkit-keyframes Select-animation-fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes Select-animation-fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.col {
  vertical-align: bottom;
}
.push {
  margin-top: 20px;
}
.Select-menu-outer {
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-top-color: #e6e6e6;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
  box-sizing: border-box;
  margin-top: -1px;
  max-height: 200px;
  position: absolute;
  top: 100%;
  width: 100%;
  z-index: 10;
  -webkit-overflow-scrolling: touch;
}
.Select-menu {
  max-height: 198px;
  overflow-y: auto;
}
.Select-option {
  box-sizing: border-box;
  background-color: #fff;
  color: #666666;
  cursor: pointer;
  display: block;
  padding: 8px 10px;
}
.Select-option:last-child {
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
}
.Select-option.is-selected {
  background-color: #f5faff;
  /* Fallback color for IE 8 */
  background-color: rgba(0, 126, 255, 0.04);
  color: #333;
}
.Select-option.is-focused {
  background-color: #ebf5ff;
  /* Fallback color for IE 8 */
  background-color: rgba(0, 126, 255, 0.08);
  color: #333;
}
.Select-option.is-disabled {
  color: #cccccc;
  cursor: default;
}
.Select-noresults {
  box-sizing: border-box;
  color: #999999;
  cursor: default;
  display: block;
  padding: 8px 10px;
}
.Select--multi .Select-input {
  vertical-align: middle;
  margin-left: 10px;
  padding: 0;
}
.Select--multi.has-value .Select-input {
  margin-left: 5px;
}
.Select--multi .Select-value {
  background-color: #ebf5ff;
  /* Fallback color for IE 8 */
  background-color: rgba(0, 126, 255, 0.08);
  border-radius: 2px;
  border: 1px solid #c2e0ff;
  /* Fallback color for IE 8 */
  border: 1px solid rgba(0, 126, 255, 0.24);
  color: #007eff;
  display: inline-block;
  font-size: 0.9em;
  margin-left: 9px;
  margin-top: 10px;
  vertical-align: top;
}
.Select--multi .Select-value-icon,
.Select--multi .Select-value-label {
  display: inline-block;
  vertical-align: middle;
  height: 22px;
  max-width: 126px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.Select--multi .Select-value-label {
  border-bottom-right-radius: 2px;
  border-top-right-radius: 2px;
  cursor: default;
  padding: 0 5px 0 5px;
}
.Select--multi a.Select-value-label {
  color: #007eff;
  cursor: pointer;
  text-decoration: none;
}
.Select--multi a.Select-value-label:hover {
  text-decoration: underline;
}
.Select--multi .Select-value-icon {
  cursor: pointer;
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
  border-right: 1px solid #c2e0ff;
  /* Fallback color for IE 8 */
  border-right: 1px solid rgba(0, 126, 255, 0.24);
  padding: 0px 5px 1px 5px;
}
.Select--multi .Select-value-icon:hover,
.Select--multi .Select-value-icon:focus {
  background-color: #d8eafd;
  /* Fallback color for IE 8 */
  background-color: rgba(0, 113, 230, 0.08);
  color: #0071e6;
}
.Select--multi .Select-value-icon:active {
  background-color: #c2e0ff;
  /* Fallback color for IE 8 */
  background-color: rgba(0, 126, 255, 0.24);
}
.Select--multi.is-disabled .Select-value {
  background-color: #fcfcfc;
  border: 1px solid #e3e3e3;
  color: #333;
}
.Select--multi.is-disabled .Select-value-icon {
  cursor: not-allowed;
  border-right: 1px solid #e3e3e3;
}
.Select--multi.is-disabled .Select-value-icon:hover,
.Select--multi.is-disabled .Select-value-icon:focus,
.Select--multi.is-disabled .Select-value-icon:active {
  background-color: #fcfcfc;
}
@keyframes Select-animation-spin {
  to {
    transform: rotate(1turn);
  }
}
@-webkit-keyframes Select-animation-spin {
  to {
    -webkit-transform: rotate(1turn);
  }
}

.checkbox-list {
  margin-top: .5em;
  overflow: hidden;
}
.checkbox-list > .checkbox {
  clear: left;
  float: left;
  margin-top: .5em;
}
.checkbox-control {
  margin-right: .5em;
  position: relative;
  top: -1px;
}
.switcher {
  color: #999;
  cursor: default;
  font-size: 12px;
  margin: 10px 0;
  text-transform: uppercase;
}
.switcher .link {
  color: #007eff;
  cursor: pointer;
  font-weight: bold;
  margin-left: 10px;
}
.switcher .link:hover {
  text-decoration: underline;
}
.switcher .active {
  color: #666;
  font-weight: bold;
  margin-left: 10px;
}
.hint {
  font-size: .85em;
  margin: 15px 0;
  color: #666;
}
.virtual-scroll {
  z-index: 1;
}
span.error {
  color: red;
  font-size: .85em;
}

input.warning {
  outline: 1px solid orange;
}

div.error, select.error, input.error {
  outline: 1px solid red;
}



input[type="date"] {
  padding: 5px;
  border: 1px solid #f2f2f2;
  border-radius: 2px;
  height: 3rem;
  width: 100%;
}
input[type="color"] {
  height: 44px;
}

.geosuggest {
  position: relative;
}

.geosuggest__input {
  width: 100%;
  border: 2px solid transparent;
  box-shadow: 0 0 1px #3d464d;
  padding: .5em 1em;
  -webkit-transition: border 0.2s, box-shadow 0.2s;
          transition: border 0.2s, box-shadow 0.2s;
}
.geosuggest__input:focus {
  border-color: #267dc0;
  box-shadow: 0 0 0 transparent;
}

.geosuggest__suggests {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  max-height: 25em;
  padding: 0;
  margin-top: -1px;
  background: #fff;
  overflow-x: hidden;
  overflow-y: auto;
  list-style: none;
  z-index: 5;
  -webkit-transition: max-height 0.2s, border 0.2s;
          transition: max-height 0.2s, border 0.2s;
  box-shadow: rgba(0, 0, 0, 0.117647) 0px 1px 6px, rgba(0, 0, 0, 0.117647) 0px 1px 4px;
  border-radius: 2px;

}
.geosuggest__suggests--hidden {
  max-height: 0;
  overflow: hidden;
  border-width: 0;
}

/**
 * A geosuggest item
 */
.geosuggest__item {
  padding: 7px 18px;
  cursor: pointer;
}
.geosuggest__item:hover,
.geosuggest__item:focus {
  background: #e8e8e8;
}
.geosuggest__item--active {
  background: #B8D8D8;
}
.geosuggest__item--active:hover,
.geosuggest__item--active:focus {
  background: #66615B;
}
.m-signature-pad {
  font-size: 10px;
  width: 600px;
  height: 240px;
  border: 1px solid #e8e8e8;
  background-color: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.08) inset;
  border-radius: 4px;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}

.m-signature-pad--body {
  left: 20px;
  right: 20px;
  top: 20px;
  bottom: 60px;
  border: 1px solid #f4f4f4;
}

.m-signature-pad--body
  canvas {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 4px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.02) inset;
  }

.m-signature-pad--footer {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 20px;
  height: 40px;
}

.m-signature-pad--footer
  .description {
    color: #C3C3C3;
    text-align: center;
    font-size: 1.2em;
    margin-top: 1.8em;
  }

.m-signature-pad--footer
  .button {
    position: absolute;
    bottom: 0;
  }

.m-signature-pad--footer
  .button.clear {
    margin-top: -30px;
    margin-bottom: 36px;
    left: 0;
  }

.m-signature-pad--footer
  .button.save {
    right: 0;
  }

@media screen and (max-width: 1024px) {
  .m-signature-pad {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    height: auto;
    min-width: 250px;
    min-height: 140px;
    margin: 5%;
  }
  #github {
    display: none;
  }
}

@media screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  .m-signature-pad {
    margin: 10%;
  }
}

@media screen and (max-height: 320px) {
  .m-signature-pad--body {
    left: 0;
    right: 0;
    top: 0;
    bottom: 32px;
  }
  .m-signature-pad--footer {
    left: 20px;
    right: 20px;
    bottom: 4px;
    height: 28px;
  }
  .m-signature-pad--footer
    .description {
      font-size: 1em;
      margin-top: 1em;
    }
}
.pagination {
  display: block;
  max-width: 240px;
  margin: 16px auto 16px auto;
  -webkit-padding-start: 0;
}
.pagination li {
  font-weight: 300;
  display: inline-block;
  margin: auto;
  padding: 6px;
  font-size: 18px;
}

.pagination li.active {
  font-weight: 800;
}

.cluster-marker {
    position:relative;
    background-color: var(--marker-color);
    height: var(--marker-radius) !important;
    width: var(--marker-radius) !important;
    text-align: center;
    border-radius: 50%;
    color: #fff;
    box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
    cursor: pointer;
    padding-top: 4px;
    line-height: var(--marker-line-height);
}

.time-marker {
    position:relative;
    background-color: var(--marker-color);
    height:22px !important;
    width:24px !important;
    text-align: center;
    border-radius: 2px;
    color: #fff;
    box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
    cursor: pointer;
    padding-top: 4px;
    line-height: 13px;
}

.location-marker {
  position:relative;
  background-color: var(--marker-color);
  height:22px !important;
  min-width:24px !important;
  max-width:54px;
  text-align: center;
  border-radius: 10px;
  color: #fff;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
  cursor: pointer;
  padding-top: 4px;
  padding-right: 4px;
  padding-left: 4px;
  line-height: 13px;
}

.time-marker:after, .location-marker:after{
    content:'';
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    width: 0;
    height: 0;
    border-top: solid 7px var(--marker-color);
    border-left: solid 5px transparent;
    border-right: solid 5px transparent;
}

@-webkit-keyframes anim-pulse{
  0% { 
    opacity: 0 ;
    -webkit-transform : scale(.5);
  }
  
  10% {
    opacity: 1 ;
  }

  90% {
    opacity: 0 ;
  }

  100% {
    -webkit-transform : scale(1.25)
  }
}

.overlay_michael {
  z-index: 100000;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("/connect/michael.jpg");
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center; 
  opacity: 0;
  pointer-events: none;
  animation: fadein 300s infinite;
}

@keyframes fadein {
    from { opacity: 0; }
    to   { opacity: .7; }
}

@keyframes spin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } }
.core {
  fill: #42b3f4;
}

.ring {
opacity: 0;
stroke: #42b3f4;
 -webkit-transform-origin: center;
 -webkit-animation: anim-pulse 2s 1s infinite;
 }

.wrapper {
  float: left;
  width: 25%;
}

.pin {
  width: 20px;
  height: 30px;
  border-radius: 50% 50% 50% 0;
  background: #00cae9;
  position: absolute;
  transform: rotate(-45deg);
  left: 50%;
  top: 50%;
  margin: -20px 0 0 -20px;
}
.pin:after {
  content: "";
  width: 14px;
  height: 14px;
  margin: 8px 0 0 3px;
  background: #e6e6e6;
  position: absolute;
  border-radius: 50%;
}

.pulse {
  background: #d6d4d4;
  border-radius: 50%;
  height: 14px;
  width: 14px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin: 11px 0px 0px -12px;
  transform: rotateX(55deg);
  z-index: -2;
}
.pulse:after {
  content: "";
  border-radius: 50%;
  height: 40px;
  width: 40px;
  position: absolute;
  margin: -13px 0 0 -13px;
  animation: pulsate 3s ease-out;
  animation-iteration-count: infinite;
  opacity: 0;
  box-shadow: 0 0 1px 2px #00cae9;
  animation-delay: 1.1s;
}

@keyframes pulsate {
  0% {
    transform: scale(0.1, 0.1);
    opacity: 0;
  }

  30% {
    opacity: 1;
  }

  60% {
    transform: scale(1.2, 1.2);
    opacity: 0;
  }

  100% { 
    transform: scale(1.2, 1.2);
    opacity: 0;
  }
}
#invoice_actions {
  text-align: right;
  padding-right: 42px;
}

#invoice_actions a {
  color: #fff;
  font-size: 14px;
  display: inline-block;
  margin: 0 10px 0 10px;
  font-weight: 400;
}

td.dotted::before {
  display: block;
  content: '';
  width: 58px;
  color: transparent;
  border-top: 2px dotted #babec5;
  margin: 10px 10px -10px -20px;
  left: -14px;
  position: relative;
}

.truncate {
  max-width: 150px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.invoice-items {
  table-layout: fixed;
  min-width: 900px;
}

.invoice-items td {
  padding-top: 0;
  padding-bottom: 0;
}

.message-container {
  max-width: 400px;
  height: 100%;
  max-height: 500px;
  border: solid 1px #eee;
  display: flex;
  flex-direction: column;
}
.messages-list {
  height: 340px;
  padding: 10px;
  overflow-y: auto;
}
/*
 *  24px high per 
 */
.message-bubble {
  font-size: 13px;
  border-radius: 20px;
  padding: 8px 15px;
  margin-top: 5px;
  margin-bottom: 4px;
  display: block;
  max-width: 72.5%;
}
.message-bubble.inbound {
  float: left;
  background-color: #e9e9ea;
  color: #000;
}
.message-bubble.outbound {
  float: right;
  background-color: #3d83f5;
  color: #fff;
}

.message-sender {
  width: 100%;
  color: #aaa;
  font-size: 11px;
}
.message-sender.inbound {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  padding-left: 15px;
}
.message-sender.outbound {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  padding-right: 15px;
}

.message-datetime {
  float: left;
  width: 100%;
  color: #aaa;
  font-size: 11px;
  display: block;
  text-align: center;
}
.message-status {
  float: left;
  width: 100%;
  color: #aaa;
  font-size: 11px;
  display: block;
  text-align: right;
  text-transform: capitalize;
}
.message-input {
  border-radius: 10px;
  border-color: #cfcfcf;
  border-width: 1px;
  background-color: transparent;
  padding: 4px 10px 4px 10px;
  outline: none;
  font-size: 13px;
  width: 100%;
}


.fc-timeline-event {
  border-radius: 8px;
  padding: 0;
  margin-top: 6px;
  margin-bottom: -4px;
}

.fc-timeline-event .fc-event-main>div {
  font-size: 13px;
  padding: 0px;
  line-height: 1.7;
  color: rgba(0, 0, 0, 0.87);
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  height: 100%;
}
.fc-time-area {
  background-color: #f9f9f9;
}

.fc-expanded { 
  height: 128px;
}

.fc-collapsed {
  height: 58px;
}

.fc-rows .fc-widget-content {
  min-height: 117px;
}

*[data-tool-tip]{
    position: relative;
    text-decoration: none;
    color: rgba(255,255,255,0.75);
}

*[data-tool-tip]::after{
    font-family: "Roboto";
    content: attr(data-tool-tip);
    display: block;
    position: absolute;
    background-color: dimgrey;
    padding: 6px 12px;
    color: white;
    border-radius: 2.5px;
    font-size: .9em;
    bottom: 0;
    left: 0;
    white-space: nowrap;
    transform: scale(0);
    transition: 
    transform ease-out 150ms,
    bottom ease-out 150ms;
}

*[data-tool-tip]:hover::after{
    transform: scale(1);
    bottom: 200%;
}
.vendor-invoice-exception {
  max-height: 215px;
  margin-top:  16px;
}
.vendor-invoice-exception.exit {
  background-color: 'green';
}
.vendor-invoice-exception.exit-active {
  transform: scaleY(0);
  transform-origin: 100% 0%;
  transition: all 350ms ease-out 50ms;
  max-height:  0;
}

.hoverable {
  display: inline-block;
  position: relative;
  transition: .3s;
}
.onHoverContent {
  transition: visiblity 0s, opacity 0.3s;
  opacity: 0;
  visibility: hidden;
  overflow-y: auto;
  position: absolute;
  background: rgba(20, 20, 20, 0.85);
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 10001;
  border-radius: 5px;
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
}
.hoverable:hover .onHoverContent {
  visibility: visible;
  white-space: nowrap;
  opacity: 1;
  min-height: 28px; /* just a default (won't work without one)--this can be overwritten for different use cases */
  max-height: 120px;
  max-width: 160px; /* just a default--this can be overwritten for different use cases */
  transition: visibility 0s, opacity .3s;
  position: absolute;
}
.hoverable:hover .onHoverContent td {
  color: white;
}
.hoverable:hover .onHoverContent th {
  color: white;
}
@media (hover: none) {
  .onHoverContent{
    display: none;
  }
  .hoverable:hover .onHoverContent {
    display: none;
  }
}

.mapbox-override .mapboxgl-popup-content{
  padding: 0px !important;
  z-index: 4;
}

.mapMarkerUpdate {
  transition: all 0.5s ease-in-out;
}

/* begin vinscan css */
#scanningDiv {
  position: fixed;
  width:100%;
  height:100%;
  top:0px;
  left:0px;
  z-index:10000;
}
#scanningRegion{
  position: absolute;
  border-style: solid;
  border-color: rgba(0, 0, 0, 0.48);
  box-sizing: border-box;
  inset: 0px;
}
#stopScan {
  position: absolute;
  top: .5em;
  right: .5em;
  cursor: pointer;
}
#toggleTorch {
  position: absolute;
  top: .5em;
  left: .5em;
  cursor: pointer;
}
#interactive{
  align-items: center;
}
#interactive.viewport > canvas, #interactive.viewport > video{
  max-width: 100%;
  width: 100%;
}
video{
  object-fit: cover;
  position: fixed;
  right: 0;
  bottom: 0;
  min-width: 100%; 
  min-height: 100%;
}
canvas.drawing, canvas.drawingBuffer{
  object-fit: cover;
  position: fixed;
  right: 0;
  bottom: 0;
  min-width: 100%; 
  min-height: 100%;
}
/* end vinscan css */

.selectableRow{
  transition: .3s;
}
.selectableRow:hover{
  background-color: rgba(0, 0, 0, 0.06);
  transition: .3s;
}
.selectedRow{
  background-color: #C0F8FF;
  transition: .3s;
}

@-webkit-keyframes rotating /* Safari and Chrome */ {
  from {
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotating {
  from {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.rotating {
  -webkit-animation: rotating 2s linear infinite;
  -moz-animation: rotating 2s linear infinite;
  -ms-animation: rotating 2s linear infinite;
  -o-animation: rotating 2s linear infinite;
  animation: rotating 2s linear infinite;
}

@media print {
  body.print-scope * {
    visibility: hidden !important;
  }

  body.print-scope .print-scope,
  body.print-scope .print-scope * {
    visibility: visible !important;
  }

  body.print-scope .print-scope {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }
}
