.obscured {
  background: #f0f3ff;
  color: transparent;
  transition: color 0.18s ease-out, background 0.2s ease-out;
  border-radius:100px;
}
.obscured:hover {
  background:transparent;
  color:inherit;
}

.increase {
  color:#38c8b7;
}
.decrease {
  color:#f8407b;
}
.strike {
  text-decoration:line-through;
}



table th.checkbox-header, table td.checkbox-line {
  height:0;
  padding:0;
  vertical-align:middle;
  padding-left:8px;
  padding-right:8px;
}
table .checkbox label {
  margin-top:-2px;
}





/* Generic message popups/toasts */
.message-modal {
  position: fixed;
  top: 71px;
  left: 250px;
  text-align: center;
  width: calc(100% - 250px);
  z-index:100;
}
.message-modal span {
  display: inline-block;
  background: #63a0ff;
  width: 90%;
  border-radius: 4px;
  color: white;
  padding: 12px;
  font-size: 14px;
  position:relative;
}
.message-modal.error span {
  background:#fd397c;
}
.message-modal.warning span {
  background:#f2b01f;
}
.message-modal.info span {
  position: relative;
}
.message-modal .close-modal {
  color: white;
  position: absolute;
  top: 0;
  height: 100%;
  right: 0;
  background: rgba(0,0,0,0.08);
  padding: 0px 22px;
  display: flex;
  align-items: center;
  cursor:pointer;
  transition:background 0.18s ease-out;
}
.message-modal .close-modal:hover {
  background: rgba(0,0,0,0.15);
}









/* Buttons */
button {
  -webkit-appearance:none;
  outline:none;
  border:none;
  background-color: #0679c1;
  border-color: #0679c1;
  color: #ffffff;
  padding: 8.5px 13px;
  font-size: 13px;
  border-radius:4px;
  cursor:pointer;
  user-select:none;
  transition: color 0.18s ease-out, background-color 0.18s ease-out, opacity 0.2s ease, border-color 0.18s ease-out;
  line-height:21px;
}
button:hover {
  background-color:#0789da;
}
button.light {
  background:transparent;
  color:#74788d;
  border:1px solid #e8ecfa;
}
button.light:hover {
  border: 1px solid #0679c1;
  color: #0679c1;
}
button.light.active {
  background-color:#0789da;
  color:white;
}
button.disabled {
  pointer-events: none;
  cursor: default;
  opacity: 0.2;
}
button.light.disabled {
  opacity:0.7;
}
button.warning {
  background:#f2b01f;
  color:white;
}


/* Dropdown buttons */
button.dropdown {
  position:relative;
}
button.dropdown.active .dr-menu {
  display:block;
}
button.dropdown.active {
  border-bottom-left-radius:0;
  border-bottom-right-radius:0;
}
button .dr-menu {
  display:none;
  position: absolute;
  color: black;
  background: white;
  box-shadow: 0px 1px 3px #d0d0d0;
  border-bottom-left-radius:4px;
  border-bottom-right-radius:4px;
  top: calc(1px + 100%);
  right: 0;
  min-width:100%;
  width: auto;
  z-index:1;
}
button.multiple .dr-menu span {
  opacity:0.5;
  padding-right: 40px;
  padding-left: 10px;
  text-align:left;
}
button.multiple .dr-menu .done {
  padding-left:10px;
  padding-right:10px;
  text-align:center;
}
button.multiple .dr-menu .done {
  background: #5b77fd;
  color: white;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  text-decoration: none;
  opacity:1;
}

button.dropdown.drop-left .dr-menu {
  top: 0;
  right: 100%;
  border-top-left-radius: 4px;
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
button .dr-menu span {
  display: block;
  white-space: nowrap;
  opacity:1;
  padding: 6px 15px;
  font-size:13px;
  color:#48465b;
  background-color:white;
}

button .dr-menu span:hover {
  background:#f7f7f7;
}
button .dr-menu span.active {
  background:#5b77fd;
  color:white;
}
button.multiple .dr-menu span.active {
  text-decoration: none;
  opacity:1;
  color:inherit;
  background:inherit;
}
button.multiple .dr-menu span:hover {
  background:#fafafa;
}
button.multiple .dr-menu .done:hover {
  background:#5b77fd;
}
button.multiple .dr-menu span.active:before {
  content: '✓';
  display: block;
  position: absolute;
  right: 16px;
  color: #636c9a;
}
.dr-menu.calendar {
  padding:0;
}
.dr-menu.calendar input {
  margin: 0;
  opacity:0;
  pointer-events:none;
  height: 0;
  padding: 0;
  width: 0;
  border: none;
  float:right;
}
.dr-menu.calendar {
  display:block;
}
button.dropdown.calendar .dr-menu {
  display:block;
}
.module-primary.supertable .inner.table-body {
  overflow:scroll;
  width:100%;
  -webkit-overflow-scrolling: touch;
}




.panel-header .buttons .button {
  background: #e1e6f8;
  color: #5c77fe;
  padding: 12px 14px;
  font-size: 12px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  margin-left:12px;
  transition: background-color 0.2s ease-out;
  font-weight:bold;
}
.panel-header .buttons .button:hover {
  background:#d6ddf9;
}
.panel-header .buttons .button.dark {
  color: white;
  background: #5c77fe;
}





/* Generic input styles */
input {
  border: 1px solid #e2e5ec;
  border-radius: 4px;
  display: block;
  width: 100%;
  -webkit-appearance: none;
  padding: 12px 18px;
  font-size: 14px;
  outline: none;
  margin-bottom: 28px;
  width:100%;
}
input.error {
  border: 1px solid #fd397d;
}
input:focus {
  border-color: #9aabff;
}
input[type="checkbox"]{
  -webkit-appearance:checkbox;
}
input.readonly {
  pointer-events:none;
  user-select:none;
  background:#f9f9f9;
}







/* Checkbox styles */
.checkbox {
  position:relative;
  display:flex;
  align-items:center;
  justify-content: center;
  user-select:none;
}
.checkbox input {
  -webkit-appearance: none;
  position: absolute;
  width: 0;
  height: 0;
  border: none;
  opacity: 0;
  pointer-events: none;
  margin: 0;
  padding: 0;
}
.checkbox label {
  cursor: pointer;
  border: 1px solid #c0c4d2;
  padding: 8px;
  margin-top:-1px;
  margin: 0;
  border-radius: 4px;
}
.checkbox label:before {
  content: '✔';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  height: 13px;
  width: 9px;
  font-size: 11px;
  color:#0679c1;
  opacity:0;
  transform-origin:center center;
  transform:scale(0.1);
  transition: opacity 0.18s ease-out, transform 0.18s ease-out;
}
.checkbox input:checked + label {
  border-color:#0679c1;
}
.checkbox input:checked + label:before {
  opacity:1;
  transform:scale(1.0);
}





/* iOS-style togglers */
.toggler {
  display:flex;
  align-items:center;
  padding:0 12px;
  cursor:pointer;
}
.toggler .label {
  margin-right:8px;
  font-size:14px;
}
.toggler input {
  display:none;
}
.toggler .checkbox {
  background: #e9ecf9;
  width: 50px;
  height: 26px;
  display: flex;
  align-items: center;
  border-radius: 2rem;
  transition: all .3s ease-in-out;
  padding: 0px 3px;
  justify-content: flex-start;
}
.toggler label{
  height: 20px;
  width: 20px;
  border-radius: 1rem;
  background: #fbfbfb;
  position: relative;
  display: inline-block;
  cursor: pointer;
  transition: all .3s cubic-bezier( 0.175, 0.885, 0.320, 1.275 );
  box-shadow: 0 0px 2px rgba(0,0,0,.4);
  margin-bottom: 0px!important;
}

.toggler input:checked ~ .checkbox {
  background: #38c8b7;
}
.toggler input:checked ~ .checkbox label {
  transform: translateX(24px);
  background: #fbfbfb;
}






/* Generic Modals */
.modal {
  position: fixed;
  top: 0;
  right: 0;
  height: 100vh;
  width: calc(100vw - 250px);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity:0;
  pointer-events:none;
  z-index:10;
}
.modal .white-bg {
  background: rgba(255,255,255,0.8);
  width: calc(100vw - 250px);
  height: 100vh;
  position:absolute;
}
.modal .inner {
  padding: 32px;
  background: white;
  display: block;
  border-radius: 4px;
  box-shadow: 0px 0px 50px rgba(83, 106, 125, 0.13);
  border: 1px solid #f3f3f3;
  min-width: 420px;
  position:relative;
  z-index:1;
  max-height:100vh;
  overflow:scroll;
}
.modal.active {
  pointer-events:all;
  opacity:1;
}



/* File dragndrop input */
.dragndrop .success,
.dragndrop .uploading,
.dragndrop .error {
  display: none;
}
.dragndrop input[type="file"]{
  display:none;
}
.dragndrop {
  border: 2px dashed #d8dcec;
  padding: 40px 12px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.dragndrop .drag_input {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content: center;
  width:100%;
}
.dragndrop label {
  width:100%;
  text-align:center;
}
.dragndrop label strong {
  cursor:pointer;
  padding: 12px 0;
  display: inline-block;
}
.dragndrop label:hover strong {
  color:#38c8b7;
}
.dragndrop.is-uploading .drag_input, .dragndrop.is-complete .drag_input {
  display:none;
}
.dragndrop.is-uploading .uploading {
  display:block;
}
.dragndrop.is-error {
  border-color:#f8407b;
}
.dragndrop.is-error .error {
  display:block;
  font-size:14px;
  text-transform:uppercase;
  color:#f8407b;
  margin-top:12px;
}
.dragndrop.is-complete {
  border-color:#38c8b7;
  border-style: solid;
}
.dragndrop.is-complete .success {
  display:block;
}
.dragndrop .success {
  color:#38c8b7;
}
.dragndrop.is-dragover {
  border-color:#0679c1;
}






/* Supersearch Module */
.module-header.supersearch hr {
  margin-top:0;
}
.supersearch .quicksearch {
  padding: 0 25px;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  display:inline-block;
}
.supersearch .quicksearch.disabled {
  display:none;
}
.supersearch .quicksearch::-webkit-scrollbar-corner {
  background: rgba(0,0,0,0);
}
.supersearch .quicksearch span {
  padding: 13px 16px;
  display: inline-block;
  font-size: 13px;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  color: #616776;
  border-top: 2px solid transparent;
  transition: border-color 0.2s ease-out;
}
.supersearch .quicksearch span:hover {
  border-bottom: 2px solid #e1e6f8;
}
.supersearch .quicksearch span.active {
  border-bottom: 2px solid #5c77fe;
}
.supersearch .filters button.dropdown.calendar {
  padding:0;
  display: flex;
  flex-direction:column;
  justify-content: center;
}
.supersearch .filters button.dropdown label {
  margin:0;
  padding:0 22px;
  font-weight:400;
  cursor:pointer;
  height: 100%;
  align-items: center;
  justify-content: center;
  display: flex;
}
.supersearch .last-updated {
  font-size: 12px;
  float: right;
  margin-right: 15px;
  color: #606776;
  line-height: 40px;
}
.supertable .strike {
  font-size: 12px;
  opacity: 0.5;
}
.supertable .no-results {
  text-align: center;
  padding: 32px 0 38px;
}
.supersearch .q {
  margin:0;
  flex: 1;
  border-top-right-radius:0;
  border-bottom-right-radius:0;
  margin-bottom:0;
  align-self:stretch;
  transition: border-color 0.2s ease-out;
}
.supersearch .q.double-round {
  border-radius:4px;
}
.supersearch .q:focus {
  z-index:1;
}
.supersearch .filters {
  display: flex;
  height: auto;
  align-self: stretch;
  background: white;
  align-items:center;
}
.supersearch .filters .filter-list {
  display: flex;
  height: 100%;
  background: white;
  padding: 0 22px;
  align-items: center;
  cursor: pointer;
  border-radius:0;
  border: 1px solid #e2e5ec;
  color:#646c9a;
  margin-left: -1px;
  transition: border-color 0.2s ease-out;
  margin-right:0;
}
.supersearch .filters .filter-list:hover {
  z-index:1;
  border-color:#9aabff;
}
.supersearch .filters .filter-list:last-child {
  border-top-right-radius:4px;
  border-bottom-right-radius:4px;
}

.supersearch .sort {
  align-self: stretch;
  display: flex;
  padding: 0 17px;
  margin-left: 12px;
  align-items: center;
  font-size: 12px;
  border: 1px solid #e2e5ec;
  background:transparent;
  border-radius: 4px;
  color:#646c9a;
  cursor:pointer;
  transition: border-color 0.2s ease-out;
  height:100%;
}
.supersearch .sort:hover {
  border-color:#9aabff;
}

.supertable .paginate {
  display:flex;
  align-items:center;
  justify-content: center;
  padding-top:25px;
  width:100%;
}
.supertable .paginate .button {
  background: #fff;
  padding: 12px;
  color: #646c9a;
  border: 1px solid #e2e5ec;
  cursor: pointer;
  transition: border-color 0.2s ease-out;
}
.supertable .paginate .button:hover {
  border-color:#9aabff;
  z-index:1;
}
.supertable .paginate .button.disabled {
  background: #fbfbfb;
  color: #b8bdda;
  cursor:default;
}
.supertable .paginate .button.disabled:hover {
  border-color:#e2e5ec;
}
.supertable .paginate .page-prev {
  border-top-left-radius:4px;
  border-bottom-left-radius:4px;
}
.supertable .paginate .page-next {
  border-top-right-radius:4px;
  border-bottom-right-radius:4px;
  margin-left:-1px;
}





/* Purchase Order status colors */
.status span {
  border-radius: 20px;
  padding: 4px 12px;
  font-size: 12px;
  display: inline-block;
  text-transform:uppercase;
  width: auto;
  clear: both;
}





/* Chat input/button line */
.chat {
  display:flex;
}
.chat button {
  border-bottom-left-radius:0;
  border-top-left-radius:0;
  padding-right:22px;
  padding-left:22px;
}
.chat input {
  border-top-right-radius:0;
  border-bottom-right-radius:0;
  margin-bottom:0;
}



/*Timeline-looking thing (used for PO history, etc) */
.timeline-item {
  position:relative;
  display:flex;
  padding:22px 18px;
}
.timeline-item:before {
  content: ' ';
  display: block;
  position: absolute;
  height: 100%;
  width: 1px;
  background: #0679c1;
  top: 0;
  left: 0;
}
.timeline-item:after {
  content: ' ';
  display: block;
  position: absolute;
  width: 9px;
  height: 9px;
  background: #0679c1;
  top: calc(50% - 4.5px);
  border-radius: 40px;
  left: -4px;
}
.timeline-item .time {
  font-size: 14px;
  text-transform: uppercase;
  font-weight: 400;
  color: #232838;
  margin-right: 10px;
}
.timeline-item .event {
  flex:1;
}
.timeline-item .event .status {
  vertical-align: middle;
  margin-left:4px;
}
.timeline-item .event .message {
  display: block;
  background: #f2f2f2;
  padding: 12px;
  font-size: 14px;
  line-height: 22px;
  font-style: normal;
  margin-top: 9px;
}





/* Some datepicker override styles */
.datepicker--day-name {
  color:#0079c2;
}
.datepicker--cell.-current- {
  color:#0079c2;
}

.datepicker--cell.-selected-, .datepicker--cell.-selected-.-current- {
  background:#38c8b7;
}
.datepicker--cell.-selected-.-focus- {
  background:#3ACFBE;
}



@media screen and (max-width:768px){
  .supersearch .q {
    flex:none;
    border-top-right-radius:4px;
    border-bottom-right-radius:4px;
  }
  .supersearch .quicksearch {
    float:left;
    width:100%;
  }
  .supersearch .filters {
    margin-top:8px;
    display:block;
    width:100%;
    align-self:auto;
  }
  .supertable .supersearch .inner {
    height:auto;
  }
  .supersearch .filters .filter-list {
    display: inline-block;
    border-radius: 4px;
    width: 100%;
    margin-top: 6px;
    padding: 4px 22px;
  }
  .supersearch .filters button.dropdown.calendar {
    display: block;
    padding: 4px 12px;
  }
  .supersearch .sort {
    display: inline-block;
    border-radius: 4px;
    width: 100%;
    margin-top: 6px;
    margin-left:0;
    padding: 4px 22px;
  }


  .modal {
    width:100%;
  }
  .modal .white-bg {
    width:100%;
  }
}
