.reset { color:rgb(209, 91, 71); }

.admin-title {
	float: left;
}
.admin-reset-button {
	float: right;
}
.user-list li {
	display: flex;
	border: none;
	margin-bottom: 0;
}
.user-list li .user-info {
	flex-grow: 1;
}
.user-list li .reset {
	display: flex;
	align-items: center;
	text-decoration: none;
}
.user-list li .other {
	display: flex;
	align-items: center;
	text-decoration: none;
}
.sp-admin {
	padding: 20px 0;
}
.sp-admin .btn {
  height: 34px;
}
.admin-alert {
  position: fixed;
  margin-right: 15px;
  z-index: 100;
	padding: 15px;
}
.admin-detail-container {
	margin: 10px 20px 40px;
	background: #F0F0F0;
	padding: 10px;
	border-radius: 5px;
}
.help-block {
	margin-left: 15px;
  font-style: italic;
  color: #999;
}

html {
  overflow-x: hidden;
}

.has-advanced {
  background-color: rgb(190, 245, 190);
}

body {
  font-family: 'Lato', sans-serif;
  font-weight: 400;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
}

.browserupgrade {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0;
}

/* Fix for Bootstrap 4 definition change of the 'in' class */
.fade.in {
  opacity: 1;
}
.modal.in .modal-dialog {
  -webkit-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}
.modal-backdrop.in {
  opacity: 0.5;
}

.alert {
  position: absolute;
  margin-right: 15px;
  z-index: 100;
}
.popover-inner {
  padding: 10px;
}
.popover-title {
  font-size: 1.1rem;
}

.refresh-cover {
  z-index: 99;
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  left: calc(50% - 60px);
  width: 120px;
  height: 90px;
  opacity: 0.9;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  background: #f4f4f4;
}
.refresh-cover h5 {
  margin-bottom: 20px;
}
.refresh-spinner {
  animation: spin 1s linear infinite,
             spin-color 6s linear infinite;
  margin: auto;
  border: 6px solid rgba(0,0,0, 0.05);
  border-top: 6px solid;
  border-radius: 50%;
  height: 25px;
  width: 25px;
}

.uib-right {
  width: 35px;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 12px solid #666;
  border-radius: 0;
  padding: 0;
}
.uib-left {
  width: 35px;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-right: 12px solid #666;
  border-radius: 0;
  padding: 0;
}

.btn {
  white-space: normal;
  cursor: pointer;
}

.loading-cover {
  z-index: 1000;
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  left: 0;
  top: 0;
  background: #fff;
}

.resp-container {
  width: 60%;
  margin: auto;
  padding: 3rem 2rem;
  border-radius: .3rem;
  background: #e9ecef;
}

.resp-bar {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 10px 0;
  padding: 10px;
}
.resp-bar .btn {
  margin: 10px;
}

.main-container {
  display: flex;
  height: 100vh;
  overflow: hidden;
}

.body-container {
  flex: 3 0;
  overflow-y: auto;
}

.text-link {
  text-decoration: underline;
  cursor: pointer;
  color: #007bfe;
}

@media (max-width:767px) {
  .resp-container {
    margin: 5% auto;
    width: 90%;
    padding: 1rem 0.5rem;
  }
  .resp-bar {
    flex-direction: column;
  }
}

.job_assignment {
  height: 100vh;
  padding-top: 30px;
  padding-bottom: 30px;
}
.job_assignment_title {
  float: left;
}
.job_assignment_menu {
  float: right;
  margin-left: 10px;
}
.job_assignment .alert {
  position: fixed;
  z-index: 1;
}
.job_assignment .alert_body {
  width: calc(100% - 20px);
  cursor: default;
}
.job_assignment .filter-container {
  display: flex;
  justify-content: center;
  align-items: center;
}
.job_assignment .filter-container .input-group {
  max-width: 500px;
  margin: auto;
}
.job_assignment .filter-container .fa {
  margin-right: 5px;
}
.job_assignment .pagination-container {
  display: flex;
  justify-content: center;
  margin: 15px 0;
}
.job_assignment th, .job_assignment td {
  vertical-align: middle;
}
.job_assignment .job_status {
  font-weight: bold;
}
.job_assignment .dropdown-menu {
  max-height: calc(100vh - 220px);
  overflow-y: auto;
}
.job_assignment .dropdown-item {
  cursor: default;
}

.assign-modal {
  padding-top: 30px;
}
.assign-modal h3 {
  padding-left: 30px;
}
.assign-loading {
  padding-left: 30px;
}

.calendar {
  position: absolute;
  top: 0px;
  height: 100vh;
  width: 100vw;
  max-width: 100vw;
  overflow-x: hidden;
}
.calendar .alert {
  position: fixed;
  margin: 10%;
}
.calendar-container {
  width: 100%;
}
.calendar-header {
  z-index: 4;
  /* position: fixed; */
  position: sticky;
  top: 0;
  width: 100%;
  background: #fff;
}
.calendar-nav-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px;
}
.calendar-nav-row h5 {
  margin-bottom: 0;
}
.calendar-datepicker-wrapper {
  z-index: 5;
  position: absolute;
  top: 48px;
  left: calc(50% - 146px);
  background: #fff;
  box-shadow: 0px 1px 2px 2px #ddd;
}
.calendar-button {
  font-size: 0.9em;
}
.calendar-body {
  /* margin-top: 93px; */
  display: flex;
  flex-direction: column;
  /* height: calc(100vh - 93px); */
}
.calendar-header-row {
  display: flex;
  flex: 1 0;
  min-height: 3em;
  width: 100%;
}
.calendar-row {
  position: relative;
  width: 100%;
}
.calendar-row-fg {
  position: relative;
  width: 100%;
}
.calendar-row-bg {
  position: absolute;
  display: flex;
  width: 100%;
  height: 100%;
}
.calendar-photographer-label {
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  align-items: center;
  min-width: 20%;
  max-width: 20%;
  min-height: 100%;
  line-height: 0.5em;
  border: 1px solid #eee;
  background: #fff;
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}
.calendar-hour-wrapper {
  z-index: 2;
  min-height: 100%;
  width: 6.67%;
}
.calendar-hour-cell {
  height: 100%;
  width: calc(100% + 1px);
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}

.calendar-hour-tick {
  height: 100%;
  display: flex;
  align-items: flex-end;
  padding-left: 5px;
  white-space: nowrap;
  font-size: 0.8em;
  color: #888;
  border-left: 1px solid #ddd;
}
.calendar-item-wrapper {
  position: absolute;
  margin-left: 20%;
  width: 80%;
}
.calendar-item-row {
  width: 100%;
  height: 23px;
}
.calendar-item {
  z-index: 2;
  position: absolute;
  height: 22px;
  font-size: 0.8em;
  opacity: 0.7;
  padding-left: 3px;
  overflow: hidden;
  cursor: pointer;
  color: #fff;
  border: 1px solid #777;
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  transition: opacity 0.5s ease;
}
.calendar-item:hover {
  opacity: 1.0;
}

.calendar-modal .form-control {
  padding: 0 .325rem;
  font-size: 0.9em;
}
.calendar-modal .form-control:disabled {
  background: #f7f7f7;
  color: #999;
  border: none;
  cursor: auto;
}
.btn:disabled {
  cursor: auto;
}
.calendar-modal .form-group {
  margin-bottom: 0.5rem;
}
.calendar-modal label {
  margin-bottom: 0;
  font-size: 0.9em;
  font-style: italic;
}
.calendar-modal .modal-dialog {
  max-width: none;
  margin: 30px 15%;
}
.calendar-modal .btn {
  cursor: pointer;
}
.calendar-modal-title {
  display: flex;
  justify-content: space-between;
  text-align: center;
  margin: 1em 0;
}
.calendar-modal-title-spacer {
  width: 72px;
}
.calendar-modal-title span {
  text-decoration: underline;
}
.calendar-modal-section {
  background: #fff;
  padding: 10px;
  box-shadow: 0px 1px 2px 2px #ddd;
}
.calendar-modal .dropdown-menu {
  max-height: 80vh;
  overflow: scroll;
  font-size: 0.9em;
}
.calendar-modal .uib-datepicker-popup {
  display: flex;
  justify-content: center;
  max-width: 330px;
}
.calendar-modal-button-container {
  display: flex;
  justify-content: flex-end;
  margin: 1em 0;
}
.calendar-datetime-container {
  display: flex;
  align-items: center;
  justify-content: center;
}
.calendar-datetime-container .btn {
  padding: 0px 5px;
  font-size: 0.9em;
  border: solid 1px #ccc;
}
.calendar-datetime-container .hyphen {
  margin: 0 5px;
}

@media (max-width:767px) {
  .calendar-modal .modal-dialog {
    max-width: none;
    margin: 5px;
    max-width: calc(100vw - 10px);
  }
}

.sp-chat {
  font-size: 14px;
}
.sp-chat .btn {
  border-color: #CED4DA;
}
.sp-phone {
  float: left;
  height: 35px;
}
.sp-phone .input-group-addon {
  font-size: 14px;
  border-radius: 0px;
}
.sp-phone .form-control {
  font-size: 14px;
  border-radius: 0px;
}
.sp-phone .btn {
  border-radius: 0px;
}
.sp-chat .input-group-addon {
  width: 70px;
  border-radius: 0px;
  font-size: 14px;
}
.sp-left-panel {
  position: fixed;
  left: 0;
  overflow: hidden;
  width: 260px;
  border-right: 1px solid #444444;
  background-color: #39454D;
  height: 100vh;
  padding: 0px;
  color: #fff;
  font-size: 16px;
  will-change: transform;
  transform: translate(0px);
  transition: transform 0.5s ease;
}
.sp-left-panel-closed {
  transform: translate(-215px);
}
.sp-logo-wrapper {
  height: 87px;
  width: 100%;
  padding-top: 23px;
  text-align: center;
  font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif;
}
.sp-logo-wrapper img {
  height: auto;
  display: block;
  width: 234px;
  margin: auto;
}
.sp-view-header {
  padding: 10px 10px 5px 25px;
}
.sp-left-panel .view-list {
  padding-left: 15px;
  cursor: pointer;
}
.me-user-container {
  margin-left: 25px;
  margin-top: 5px;
}
.me-user-text {
  display: inline-block;
  color: #8c9194;
  font-size: 0.9em;
  cursor: pointer;
}
.me-user-text:hover {
  color: #fff;
}
.device-badge {
  display: inline-block;
  margin-bottom: 1px;
  margin-left: 2px;
  margin-right: 1px;
  width: 8px;
  height: 8px;
  border-radius: 4px;
}
.device-on {
  background: #5fb760;
}
.device-off {
  background: #C73232;
}
.device-toggling {
  background: #EA9632;
}
.sp-view-views {
  max-height: calc(100% - 459px);
  overflow-y: scroll;
  margin-bottom: 20px;
}
.sp-left-panel .view-list-item {
  border: none;
  background-color: transparent;
  font-size: inherit;
  padding: 3px 0 3px 25px;
}
.sp-left-panel .view-list-item:hover {
  background-color: #20292F;
}
.sp-left-panel .sp-inactive {
  opacity: 0.5;
}
.sp-left-panel .sp-view-views .sp-active {
  font-weight: 600;
  background-color: #78615A;
}
.sp-view-text {
  float: left;
}
.sp-view-button-right {
  display: none;
}
.sp-view-dropdown {
  z-index: 1;
  margin-left: -75px;
  color: #000;
  font-size: 0.9em;
  cursor: pointer;
}
.sp-view-dropdown .list-group-item {
  padding: 2px 15px;
}
.sp-view-dropdown .list-group-item:hover {
  background: #f0f0f0;
}
.sp-left-panel .view-list-item:hover .sp-view-button-right {
  display: inline-block;
  float: right;
  width: 21px;
  height: 21px;
  padding-left: 2px;
  margin-right: 2px;
  margin-top: 1px;
  font-size: 12px;
  border-radius: 11px;
  border: 2px solid #9ca2a5;
}
.sp-left-panel .view-list-item:hover .sp-view-button-right:hover {
  color: #ffffff;
  border: 2px solid #ffffff;
  background: #6e787d;
}
.sp-view-button-new {
  width: 21px;
  height: 21px;
  padding-left: 3px;
  font-size: 12px;
  border-radius: 11px;
  color: #9ca2a5;
  border: 2px solid #9ca2a5;
}
.widget-container {
  position: relative;
  height: 298px;
  width: 260px;
  bottom: 5px;
}
.sp-widget-header {
  float: left;
  padding-left: 25px;
  cursor: pointer;
}
.widget-user-container {
  padding-left: 25px;
  overflow-y: scroll;
  height: 280px;
}
.widget-user {
  display: inline-block;
  width: calc(100% - 16px);
  font-size: 0.95em;
  cursor: pointer;
}
.widget-user:hover {
  background: #20292F;
}
.widget-user.online {
  opacity: 1;
}
.widget-user.idle {
  opacity: 0.5;
}
.widget-user.offline {
  opacity: 0.25;
}
.widget-group {
  cursor: pointer;
}
.widget-group-user {
  margin-left: 10px;
  cursor: pointer;
}

.sp-group-modal-combo {
  position: absolute;
  z-index: 3;
  width: calc(100% - 30px);
  max-height: 400px;
  overflow-y: scroll;
}
.sp-client-search .list-group-item {
  padding: 5px;
}

.keypad-delete-row {
  height: 25px;
}
.keypad-backspace {
  float: right;
  background: #39454d;
  border: 2px solid #d2c8c8;
  height: 25px;
  width: 38px;
  padding-top: 0px;
  padding-left: 11px;
  color: #d2c8c8;
  margin-right: 5px;
}
.keypad-backspace:hover {
  color: #d2c8c8;
  background: #576a75;
}
.keypad-delete {
  float: right;
  background: #d6bcbc;
  height: 25px;
  width: 38px;
  padding-top: 1px;
  color: #39454d;
  margin-right: 5px;
}
.keypad-delete:hover {
  background: #f4d7d7;
}
.number-key-container {
  font-weight: bold;
}
.number-key {
  margin-left: 5px;
  margin-top: 5px;
  width: 80px;
  height: 55px;
  color: #39454d;
  background-color: #c9cfd3;
  font-size: 1.4em;
}
.number-key:hover {
  background-color: #FFFFFF;
}
.keypad-viewer-row {
  margin: 5px 5px 0 5px;
  padding-left: 5px;
  width: 250px;
  overflow-x: scroll;
  white-space: nowrap;
  height: 28px;
  border: 2px solid #c9cfd3;
  border-radius: 5px;
  color: #c9cfd3;
}
.keypad-viewer-row::-webkit-scrollbar {
  height: 0px;
  background: transparent;
}
.keypad-viewer-text {
  float: left;
}
.keypad-viewer-btn {
  float: right;
  height: 24px;
  padding-top: 0px;
  border-left: 2px solid;
  border-radius: 0;
  background: none;
}
.keypad-viewer-btn:hover {
  color: #c9cfd3;
  background: #576a75;
}

.sp-min-left-panel {
  position: absolute;
  top: 0px;
  overflow: hidden;
  width: 45px;
  border-right: 1px solid #444444;
  background-color: #39454D;
  height: 100vh;
  padding: 0px;
  color: #fff;
  font-size: 16px;
  opacity: 1;
  transition: opacity 0.5s ease;
}
.sp-min-left-panel.sp-hidden {
  opacity: 0;
}
.sp-min-button {
  width: 35px;
  height: 35px;
  font-size: 21px;
  padding-top: 2px;
  text-align: center;
  margin: 5px 0px 0px 5px;
  border-radius: 18px;
  border: 1px solid #fff;
  background: #39454d;
  cursor: pointer;
}
.sp-min-button .fa {
  color: #c9cfd3;
}
.sp-min-button:hover {
  background: #20292F;
}
.sp-min-phone-container {
  position: absolute;
  bottom: 5px;
}
.sp-min-button.sp-inactive {
  opacity: 0.5;
}
.sp-min-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.sp-min-button.sp-active {
  background-color: #78615A;
}

.sp-outbound-call {
  position: absolute;
  z-index: 3;
  margin: 0px 15px;
  padding: 10px;
}
.sp-outbound-call p {
  font-size: 95%;
}
.sp-outbound-call .btn-group {
  width: 100%;
}
.sp-outbound-call .btn {
  width: 50%;
}
#sp-outbound-call-toggle {
  width: initial;
  float: right;
}

.left-collapse-button {
  float: left;
  font-size: 1.5em;
  padding: 2px 5px;
}
.left-collapse-button:hover {
  color: #444;
}
.right-phone-button {
  float: right;
  font-size: 1.5em;
  margin-right: 15px;
  padding: 2px 5px;
}
.right-phone-button:hover {
  color: #444;
}
.right-phone-calling {
  position: absolute;
  right: 15px;
  width: 36px;
  height: 35px;
  font-size: 1.5em;
  padding: 2px 5px;
  opacity: 1;
  transition: opacity 0.5s ease;
}
.right-phone-calling.hidden {
  opacity: 0;
  transition: opacity 5s ease;
}
.sp-filter-crumbs-row {
  margin: 0px;
  position: relative;
  height: 34px;
  padding-bottom: 10px;
}
.sp-filter-crumbs {
  float: left;
  height: 24px;
  border: 1px solid #cccccc;
  font-size: 13px;
  cursor: default;
}
.sp-filter-crumbs-label {
  float: left;
  padding-top: 1px;
  height: 22px;
  color: #555555;
  background-color: #eeeeee;
  border-right: 1px solid #cccccc;
  padding-left: 16px;
  padding-right: 13px;
}
.sp-filter-crumbs-body {
  float: left;
  width: calc(100% - 70px);
  white-space: nowrap;
  overflow-x: scroll;
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
}
.sp-filter-crumbs-body::-webkit-scrollbar {
  height: 0px;
  background: transparent;
}
.sp-filter-crumbs-label-text {
  position: relative;
}
.sp-filter-crumbs-item {
  display: inline-block;
  height: 22px;
  color: #aaaaaa;
  margin-left: -2px;
  padding: 1px 4px 0px 10px;
  border-right: 1px solid #ccc;
}
.sp-filter-crumbs-item:hover {
  background-color: #f9f9f9;
  color: #555555;
}
.sp-filter-crumbs-text {
  float: left;
}
.sp-filter-crumbs-item-active {
  display: inline-block;
  height: 22px;
  color: #555555;
  background-color: #eeeeee;
  margin-left: -2px;
  padding: 1px 4px 0px 10px;
  border-right: 1px solid #ccc;
}
.sp-filter-crumbs-item-active:hover {
  background-color: #dddddd;
  color: #000000;
}
.sp-filter-crumbs-dropdown {
  z-index: 4;
  min-width: 110px;
  cursor: default;
}
.sp-filter-crumbs-dropdown .list-group-item {
  padding: 2px 5px;
}
.sp-filter-crumbs-dropdown .list-group-item:hover {
  background-color: #f8f8f8;
}
.sp-filter-crumbs-body .sp-dropdown-bg {
  float: left;
  height: 20px;
  padding: 0px 3px;
}
.sp-filter-crumbs-item-active .sp-filter-crumbs-remove {
  display: inline-block;
  width: 17px;
  height: 17px;
  margin-right: 2px;
  border: 1px solid transparent;
  border-radius: 10px;
}
.sp-filter-crumbs-item .sp-filter-crumbs-remove {
  display: inline-block;
  visibility: hidden;
  width: 0px;
  height: 17px;
  margin-right: 2px;
  border: 1px solid transparent;
  border-radius: 10px;
}
.sp-filter-crumbs-remove .fa {
  position: relative;
  top: -1px;
  left: 3px;
}
.sp-filter-crumbs-remove:hover {
  background-color: #444444;
  border: 1px solid #cccccc;
}
.sp-filter-crumbs-remove:hover .fa {
  color: #ffffff;
}

.sp-main-panel {
  position: relative;
  top: -6px;
  min-height: calc(100vh - 99px - 192px);
  max-height: calc(100vh - 99px);
  width: 100%;
  margin-bottom: 0;
  overflow: hidden;
}
.sp-loading {
  position: absolute;
  padding: 15px;
  width: 100%;
  height: 100%;
  z-index: 3;
  background-color: #fff;
  text-align: center;
}
.sp-loading p {
  margin-bottom: 30px;
}
.loading-spinner {
  animation: spin 1s linear infinite,
             spin-color 6s linear infinite;
  border: 8px solid rgba(0,0,0, 0.05);
  border-top: 8px solid;
  border-radius: 50%;
  height: 50px;
  width: 50px;
  margin: auto;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}
@keyframes spin-color {
  0%   {border-top-color: #d00;}
  20%  {border-top-color: #dd0;}
  40%  {border-top-color: #0d0;}
  60%  {border-top-color: #0dd;}
  80%  {border-top-color: #00d;}
  100% {border-top-color: #d0d;}
}
.sp-filter-dropdown {
  z-index: 3;
  min-width: 110px;
  cursor: default;
}
.sp-filter-dropdown .list-group-item {
  padding: 2px 5px;
}
.sp-filter-dropdown .list-group-item:hover {
  background-color: #f8f8f8;
}
.input-group-btn .fa {
  width: 14px;
}
.sp-no-messages {
  text-align: center;
  padding-top: 20px;
}
.sp-btm-bar {
  width: 100%;
  padding: 0px 15px;
  position: absolute;
  z-index: 2;
  background: #fff;
  top: 9px;
}
.sp-btm-bar .form-control {
  border-radius: 0px;
}
.sp-search-toggle-show {
  margin-left: calc(50% - 12px);
  position: relative;
  height: 27px;
  border-radius: 13px;
  padding-top: 15px;
  padding-left: 4px;
  z-index: 3;
  top: -14px;
  cursor: pointer;
  background-color: #CCC;
}
.sp-search-toggle-hide {
  margin-left: calc(50% - 12px);
  position: relative;
  height: 27px;
  border-radius: 13px;
  padding-top: 15px;
  padding-left: 4px;
  z-index: 3;
  top: 30px;
  cursor: pointer;
  background-color: #ccc;
}
.sp-search {
  float:left;
  width: calc(100% - 50px);
}
.sp-panel-menu {
  float: left;
  margin-left: 12px;
}
.sp-panel-menu .btn {
  border: none;
}
.sp-chat .dropdown-menu {
  width: 220px;
  left: -450%;
  z-index: 1;
}
.sp-right-panel {
  width: calc(100% - 45px);
  position: fixed;
  will-change: transform;
  transition: transform .5s ease;
  transform: translate(45px);
}
.sp-right-panel.sp-right-panel-shrunk {
  transform: translate(260px);
}
.sp-person-inputs {
  width: 100%;
}
.sp-date-panel {
  position: absolute;
  width: 310px;
  z-index: 3;
}
.sp-date-panel .well-sm {
  margin-bottom: 0px;
}
.sp-date-panel .btn-group {
  width: 100%;
}
.sp-date-panel .btn-date-bottom {
  width: 50%;
}
.sp-date-wrapper {
  width: 310px;
  margin: 0 auto;
}

.sp-add-person {
  position: absolute;
  top: 59px;
  margin: 0 15px;
  border-radius: 0px;
  z-index: 4;
}
.sp-add-person .input-group-addon {
  text-align: left;
  width: 114px;
  font-size: 14px;
}
.sp-add-person .input-group {
  width: 100%;
}
.sp-add-person .form-control {
  font-size: 14px;
}
.sp-add-person .btn {
  font-size: 14px;
}
.sp-add-person-header {
  float: left;
  font-size: 20px;
  padding-top: 3px;
}
.sp-add-person-button {
  float: right;
}
.sp-client-search {
  position: absolute;
  z-index: 4;
  margin: 33px 0px 0px 44px;
  width: calc(50% - 64px);
  max-height: calc(100vh - 55px);
  overflow: scroll;
}
.sp-twinum-search {
  position: absolute;
  z-index: 4;
  margin-top: 33px;
  margin-left: calc(50% - 10px);
  width: calc(50% - 65px);
  max-height: calc(100vh - 55px);
  overflow: scroll;
}
.sp-client-search .list-group-item {
  padding: 5px;
}
.sp-btm-bar-container {
  position: absolute;
  top: -9px;
  z-index: 3;
  width: 100%;
  background: #fff;
  border-bottom: 1px solid #ccc;
  height: 55px;
}
.sp-btm-bar-container-empty {
  border-bottom: 1px solid #cccccc;
  top: 0px;
  height: 0px;
}
.sp-chat-item-container {
  position: relative;
  top: -31px;
  padding-top: 10px;
  padding-bottom: 10px;
  overflow-y: scroll;
  overflow-x: hidden;
}
.sp-main-title {
  display: inline;
  color: #000000;
  padding: 1px 5px;
  border-radius: 10px;
  border: 1px solid #444444;
  font-size: 14px;
}
.sp-tkt-no-focus {
  opacity: 0.5;
}
.sp-tkt-marker {
  width: 100%;
  text-align: center;
  cursor: pointer;
  background-color: #444;
  margin-top: 5px;
}
.sp-tkt-text {
  float: left;
  margin-top: 4px;
  min-height: 24px;
  color: #fff;
  position: relative;
  font-weight: normal;
  text-align: left;
}
.sp-tkt-text .fa {
  margin-right: 5px;
}
.ticket-red {
  background: #ffbcb2;
}
.ticket-yellow {
  background: #F0C231;
}
.ticket-yellow:hover {
  background: #d6a819;
}
.ticket-blue {
  background: #2F81B7;
}
.ticket-blue:hover {
  background: #246591;
}
.ticket-green {
  background: #30AC63;
}
.ticket-green:hover {
  background: #279153;
}
.ticket-grey {
  background: #7F8C8D;
}
.sp-tkt-header-tags {
  float: right;
  font-size: .9em;
  margin-top: 1px;
}
.sp-tkt-header-tags .sp-dropdown-bg {
  border: 1px solid #fff;
}
.sp-tkt-assigned-symbol {
  z-index: 1;
  font-size: 0.8em;
  position: absolute;
  margin-top: 21px;
  margin-left: 5px;
  color: #fff;
  font-weight: bold;
  text-shadow: 0px 1px 1px #000;
}
.sp-tkt-header-portraits {
  padding: 5px 15px;
  cursor: pointer;
}
.sp-tkt-header-portraits:hover {
  background: #f9f9f9;
}
.sp-tkt-header-portrait-caption {
  font-style: italic;
  margin-left: 3px;
  font-weight: bold;
  color: #444;
}
.sp-tkt-header-portrait-timestamp {
  font-style: italic;
  margin-left: 15px;
  color: #666;
}
.sp-tiny-portrait-wrapper {
  display: inline-block;
  margin: 5px 0px 5px 5px;
  width: 30px;
  height: 30px;
  background: #444;
  border-radius: 5px;
}
.tiny-sender-abbr {
  cursor: default;
  font-weight: 700;
  color: #fff;
  text-align: center;
  font-size: 12px;
  padding-top: 7px;
}
.tiny-sender-portrait {
  position: absolute;
  margin-top: -25px;
  height: 30px;
  width: 30px;
  border-radius: 5px;
}
.sp-tag {
  position: absolute;
  opacity: 1;
  top: 2px;
  left: 2px;
}
.sp-tag .badge {
  padding: 4px 6px;
}
.sp-tag-label {
  color: #444444;
  font-size: 10px;
}
.sp-ticket-select {
  position: absolute;
  left: 1px;
  top: 6px;
  font-size: 200%;
  z-index: 1;
}

.sp-ticket-detail {
  width: 100%;
  margin-bottom: 0px;
  padding: 5px 0 5px 20px;
}
.ticket-detail-header {
  margin-bottom: 5px;
}
.ticket-detail-title {
  float: left;
  font-size: 20px;
}
.ticket-detail-menu {
  float: right;
}
.sp-ticket-detail .input-group-addon {
  width: 85px;
  font-size: 12px;
}
.sp-ticket-detail .form-control {
  font-size: 12px;
}
.sp-ticket-detail .btn {
  font-size: 12px;
}
#btn-history-add {
  font-size: 12px;
}
#ticket-detail-tag-btn {
  height: 28px;
}
.sp-ticket-detail .row {
  margin-bottom: 5px;
}
.sp-ticket-dropdown {
  width: 162px;
  margin-top: -1px;
  margin-left: 86px;
  z-index: 10;
  position: absolute;
  max-height: 50vh;
  overflow: auto;
}
.sp-ticket-date-dropdown {
  width: 295px;
  margin-top: -5px;
  margin-left: 15px;
  z-index: 10;
  position: absolute;
  max-height: 400px;
  overflow: scroll;
}
.sp-ticket-date-dropdown .well-sm {
  padding: 3px;
}
.form-control[readonly] {
  background: #ffffff;
  color: #000000;
}
.sp-ticket-dropdown .list-group-item {
  padding: 5px;
  font-size: 12px;
  color: #000;
}
.sp-ticket-dropdown .list-group-item:hover {
  background: #F9F9F9
}
.sp-ticket-notes {
  padding-top: 6px;
  margin-top: 2px;
  border-top: #DDD solid 1px;
}
.outline-red {
  border: solid 1px #ffbcb2;
}
.outline-yellow {
  border: solid 1px #F0C231;
}
.outline-blue {
  border: solid 1px #2F81B7;
}
.outline-green {
  border: solid 1px #30AC63;
}
.outline-grey {
  border: solid 1px #7F8C8D;
}
.glyphicon-tag {
  border-width: 1px;
  color: #444444;
}
.sp-message-collapse-btn {
  width: 100%;
  padding-left: calc(50% - 10px);
  border-bottom: 1px solid #DDDDDD;
  height: 21px;
  cursor: pointer;
}
.sp-message-collapse-btn:hover {
  background-color: #f9f9f9;
}
.sp-message-collapse-btn .fa {
  margin: auto;
}
.sp-message-item {
  position: relative;
  padding: 5px 20px;
  border-color: #fff;
  min-height: 40px;
  margin: 1px 0;
}
.sp-message-item:hover {
  background-color: #f9f9f9;
}
.inbound {

}
.outbound {

}
.comment {
  background-color: #FFF;
  border: #DDDDDD dashed 2px;
  margin: -1px 0;
}
.sp-portrait-wrapper {
  position: absolute;
  width: 45px;
  height: 45px;
  background: #444;
  top: 11px;
  border-radius: 5px;
}
.sender-abbr {
  cursor: default;
  font-weight: 700;
  color: #fff;
  text-align: center;
  font-size: 19px;
  padding-top: 9px;
}
.sender-portrait {
  position: absolute;
  top: 0px;
  height: 45px;
  width: 45px;
  border-radius: 5px;
}
.sp-label-wrapper {
  margin-left: 60px;
  width: 100%;
  overflow-x: scroll;
}
.sp-label-wrapper::-webkit-scrollbar {
  height: 0px;
  background: transparent;
}
.sp-label-from {
  font-weight: bold;
  cursor: pointer;
}
.sp-label-from:hover {
  text-decoration: underline;
}
.sp-play-badge {
  padding-top: 3px;
  width: 19px;
  height: 19px;
  margin-left: 5px;
  background-color: #fff;
  border: 1px solid #444;
  border-radius: 15px;
}
.sp-play-badge:hover {
  background-color: #e8e8e8;
}
.sp-play-icon {
  color: #444444;
}
.sp-middle-text {
  margin-left: 15px;
  font-size: 12px;
}
.sp-chat-text {
  float: left;
  margin: 5px 0 5px 60px;
  width: calc(100% - 114px);
}
.sp-chat-type-label {
  font-style: italic;
  color: #bbbbbb;
}
.sp-chat-datetime {
  position: relative;
  float: right;
  font-size: .8em;
  color: #848484;
}
.sp-chat-datetime-clickable {
  position: relative;
  float: right;
  top: 1px;
  left: 6px;
  font-size: .8em;
  color: #848484;
  background-color: #ffffff;
  border-radius: 10px;
  padding: 2px 4px;
}
.sp-chat-datetime-clickable:hover {
  text-decoration: none;
  background-color: #e8e8e8;
  color: #848484;
}
.sp-chat-datetime-clickable:link {
  text-decoration: none;
  color: #848484;
}
.sp-chat-datetime-clickable:active {
  text-decoration: none;
  color: #848484;
}
.sp-chat-datetime-clickable:visited {
  text-decoration: none;
  color: #848484;
}
.sp-log-container {
  padding-left: 20px;
}
.sp-log-day {
  font-weight: bold;
}
.sp-log-item {
  margin: 0px 0px 15px 10px;
  font-style: italic;
}
.sp-log-change {
  color: #AAAAAA;
}
.sp-log-change-value {
  color: #000000;
}

#sp-chat-entry {
  position: sticky;
  height: 100%;
}
#SMS-input {
  font-size: 14px;
}
.btn-send {
  height: 100%;
  font-size: 14px;
}

@media (min-width:768px) {
  .sp-person-inputs {
    margin-top: 15px;
  }
  .sp-top-bar {
    padding-left: 15px;
    height: 45px;
  }
  .left-collapse-button {
    margin-right: 10px;
    height: 35px;
    width: 34px;
  }
  .right-phone-button {
    height: 35px;
    width: 34px;
  }
  .sp-right-panel-shrunk {
    width: calc(100% - 260px);
  }
  .sp-phone {
    margin: 0px 10px 15px 0px;
    width: calc(50% - 57px);
  }
  .sp-filter-crumbs-row {
    top: -6px;
  }
  .sp-filter-crumbs {
    margin: 0px 15px;
    width: calc(100% - 30px);
  }
  .sp-tkt-text {
    padding: 0px 20px;
  }
  .sp-tkt-header-tags {
    padding: 5px 20px;
  }
  .sp-chat-item-container {
    height: calc(calc(100vh - 144px) - 78px);
  }
  #sp-chat-entry {
    bottom: 7px;
    margin-left: 15px;
    width: calc(100% - 30px);
  }
}

@media (max-width:767px) {
  .sp-person-inputs {
    margin-top: 5px;
  }
  .sp-top-bar {
    padding-left: 5px;
    height: 45px;
  }
  .left-collapse-button {
    margin-right: 4px;
    padding-top: 22px;
    height: 75px;
  }
  .left-collapse-button .fa {
    top: 21px;
  }
  .right-phone-button {
    display: none;
  }
  .right-phone-calling {
    display: none;
  }
  .sp-right-panel-shrunk {
    width: calc(100% - 260px);
  }
  .sp-phone {
    margin: 0 0 5px 0;
    width: calc(100% - 42px);
  }
  .sp-filter-crumbs-row {
    top: -1px;
  }
  .sp-filter-crumbs {
    margin: 0px 5px;
    width: calc(100% - 10px);
  }
  .sp-tkt-text {
    padding: 0px 5px;
  }
  .sp-tkt-header-tags {
    padding: 5px;
  }
  .sp-chat-item-container {
    height: calc(calc(100vh - 154px) - 78px);
  }
  #sp-chat-entry {
    bottom: 18px;
    margin-left: 5px;
    width: calc(100% - 10px);
  }
}
.cloudview {
  max-width: none;
  min-height: 100vh;
  padding: 20px 10px;
  background: #f4f4f4;
}

.cloudview-title-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 1em;
}
.cloudview h3 {
  text-align: center;
}
.cloudview .btn-sm {
  height: 1.5em;
  padding: 0em 0.5em;
}
.folder-container {
  border: 1px solid #888;
  margin: 2px;
  padding: 5px 10px;
  border-radius: 5px;
}
.folder-row {
  cursor: pointer;
}

.job_detail {
  padding-top: 30px;
  padding-bottom: 30px;
}
.job_detail .row {
  margin-bottom: 15px;
}
.job_detail .card {
  padding: 10px;
}
.job_detail h5 {
  font-weight: bold;
}
.job_detail_title {
  float: left;
}
.job_detail_menu {
  float: right;
}

.detail-body {
  display: flex;
}
.detail-content {
  min-width: 200px;
  min-height: 120px;
  margin: 20px;
  background-color: #E9ECEF;
}

.invoice {
  padding-top: 30px;
  padding-bottom: 30px;
}
.invoice-title {
  float: left;
}
.invoice-menu {
  float: right;
}
.invoice th, .invoice td {
  vertical-align: middle;
}


.payment {
  display: flex;
  min-height: 100vh;
  padding: 1em 0;
}
.payment .resp-container {
  width: 60%;
  margin: auto;
  padding: 3rem 2rem 2rem 2rem;
  border-radius: .3rem;
  background: #e9ecef;
}
.payment .sp-logo-wrapper {
  height: 5.5em;
  width: 100%;
  padding-top: 1.25em;
  background: #5f656b;
  border-radius: .35em;
  margin-bottom: 2em;
}
.payment .credit-info {
  margin: 10px;
  padding: 10px;
  background: #fff;
  border-radius: 0.25em;
}
.payment .bottom-line {
  text-align: center;
  font-size: 0.8rem;
}

.list {
  max-width: none;
  min-height: 100vh;
  padding: 20px 10px;
  background: #f4f4f4;
}
.list-compact {
  max-width: none;
  min-height: 100vh;
  padding: 20px 5%;
  font-size: 0.85em;
  background: #f4f4f4;
}
.list-compact .btn {
  font-size: 0.9em;
}
.list .row {
  align-items: center;
}
.list .btn {
  cursor: pointer;
}
.list-loading-cover {
  z-index: 100;
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: start;
  padding-top: 80px;
  background: #f4f4f4;
}
.list-loading-cover h4 {
  margin-bottom: 20px;
}
.loading-spinner {
  animation: spin 1s linear infinite,
             spin-color 6s linear infinite;
  border: 8px solid rgba(0,0,0, 0.05);
  border-top: 8px solid;
  border-radius: 50%;
  height: 50px;
  width: 50px;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}
@keyframes spin-color {
  0%   {border-top-color: #d00;}
  20%  {border-top-color: #dd0;}
  40%  {border-top-color: #0d0;}
  60%  {border-top-color: #0dd;}
  80%  {border-top-color: #00d;}
  100% {border-top-color: #d0d;}
}

.list-title-row {
  display: flex;
  justify-content: space-between;
}
.list h3 {
  text-align: center;
}
.list-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.list-filters {
  display: flex;
  flex-wrap: wrap;
}
.list-filters-wrapper {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-width: 180px;
  max-width: 180px;
}
.list-filters .form-control {
  padding: 0 5px;
  max-width: 140px;
}
.list-filters .btn {
  background: #fff;
}
.list-filters .btn:hover {
  background: #868e96;
}
.input-button-group {
  display: flex;
  margin-right: 10px;
  border-radius: none;
}
.input-button-group input:first-child {
  border-radius: 0.2rem 0 0 0.2rem;
}
.input-button-group input {
  border-radius: 0;
}
.input-button-group input:last-child {
  border-radius: 0 0.2rem 0.2rem 0;
}
.input-button-group button:first-child {
  border-radius: 0.2rem 0 0 0.2rem;
}
.input-button-group button {
  border-radius: 0;
}
.input-button-group button:last-child {
  border-radius: 0 0.2rem 0.2rem 0;
}
.input-button-group .dropdown-menu li {
  padding: 0 5px;
}
.input-button-group .dropdown-menu li.active {
  background: #377BB5;
}
.input-button-group .dropdown-menu a {
  color: #000;
}
.input-button-group .dropdown-menu li.active a {
  color: #fff;
}
.input-button-group .dropdown-menu {
  max-height: 40vh;
  width: auto;
  overflow-y: auto;
}
.list-footer {
  display: flex;
  justify-content: space-between;
}
.list-table-section {
  position: relative;
  min-height: 80vh;
  background: #fff;
  overflow-x: scroll;
  margin: 5px 0;
  padding: 10px;
  box-shadow: 0px 1px 2px 2px #ddd;
}
.list-dropdown-menu {
  position: absolute;
  z-index: 1000;
  min-width: 12rem;
  max-height: 80vh;
  overflow-y: auto;
  color: #212529;
  background-color: #fff;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: .25rem;
}
.list-dropdown-menu hr {
  margin: 2px 0;
}
.list-dropdown-menu small {
  padding-left: 7px;
}
.list-dropdown-menu-item {
  display: block;
  width: 100%;
  padding: 2px 6px;
  color: #666;
  cursor: pointer;
}
.list-dropdown-menu-item:hover {
  background: rgba(0,0,0,.05);
}
.list-dropdown-menu-wrapper {
  position: relative;
}
.list-dropdown-menu-spacer {
  width: 85px;
}
.list-pagination {
  display: flex;
  align-items: center;
  font-size: 0.9em;
  margin: 4px 0;
}
.list-pagination .btn {
  padding: 1px 5px;
  font-size: 0.8em;
  margin: 0 5px;
  color: #666;
  cursor: pointer;
}
.list td, .list th {
  vertical-align: middle;
  border-left: 1px solid #e9ecef;
}
.list .btn:disabled,
.list .btn[disabled] {
  cursor: auto;
}
.child-records .list-row-container {
  display: flex;
  align-items: flex-end;
}
.child-records .row {
  flex-grow: 100;
  margin-right: 0px;
}
.add-item-btn {
  font-size: 0.9em;
  padding: 0;
  margin-top: 5px;
}
.list-datepicker-wrapper {
  z-index: 5;
  position: absolute;
  margin-top: 31px;
  background: #fff;
  box-shadow: 0px 1px 2px 2px #ddd;
}
.list-link-button-wrapper {
  display: inline;
}
.list-link-button-wrapper .btn {
  padding: 0 3px;
}
.double-filter {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}
.double-filter .date-btn {
  height: 31px;
  min-width: 85px;
  padding: 0;
}
.double-filter .list-datepicker-wrapper {
  z-index: 5;
  position: absolute;
  margin-top: 50px;
  background: #fff;
  box-shadow: 0px 1px 2px 2px #ddd;
}

.list-modal {
  font-size: 0.9em;
  background: #f4f4f4;
}
.list-modal .form-group {
  margin-bottom: 0.5em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 0.25em;
}
.list-modal-title-element {
  width: 177px;
}
.list-modal .input-button-group {
  display: flex;
}
.list-modal .input-button-group .btn {
  padding: 0 5px;
  font-size: 0.8em;
}
.list-modal .dropdown-menu li {
  padding: 0 5px;
}
.list-modal .dropdown-menu li.active {
  background: #377BB5;
}
.list-modal .dropdown-menu a {
  color: #000;
}
.list-modal .dropdown-menu li.active a {
  color: #fff;
}
.list-modal .dropdown-menu {
  max-height: 40vh;
}
.list-modal .readonly {
  font-size: 0.9em;
}
.list-modal .datetime:disabled {
  height: 38px;
}
.list-modal .data-logs {
  min-height: 30vh;
  padding: 10px 0;
}
.list-modal .data-log-item {
  display: flex;
  justify-content: space-between;
  padding: 5px 10px;
  background: #e8e8e8;
}
.list-modal .lighter {
  background: #fff;
}
.list-modal .data-log-buttons .btn {
  padding: 0 5px;
  font-size: 0.8em;
}
.list-modal .data-log-change {
  font-style: italic;
}
.list-modal .data-log-detail {
  margin-top: 10px;
  font-size: 0.9em;
}
.list-modal .data-log-detail li {
  list-style-type: none;
}
.list-modal .uib-separator {
  vertical-align: top;
}
.list-modal .uib-time .btn {
  padding: 0 5px;
  font-size: 0.9em;
  border: 1px solid #CCC;
  margin-bottom: 2px;
}
.list-modal .linked-table-title {
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  background: rgba(0,0,0,0);
}
.list-modal .linked-table-title:hover {
  background: rgba(0,0,0,.05);
}
.list-modal .recurring-datepicker-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.list-modal .recurring-datepicker {
  border: 1px solid #868e96;
  border-radius: 6px;
}
.list-modal .recurring-datepicker .btn {
  background: #fff;
  color: #000;
}
.list-modal .recurring-datepicker .btn.active {
  background: #eee;
  color: #000;
  border: transparent;
}
.list-modal .recurring-date .btn {
  background: #eee;
}
.list-modal .recurring-date .btn.active {
  background: #fff;
}
.success input {
  background: #28a745;
  color: #fff;
}
.success button {
  background: #28a745;
  color: #fff;
}
.warning input {
  background: #ffc107;
  color: #fff;
}
.warning button {
  background: #ffc107;
  color: #fff;
}
.danger input {
  background: #dc3545;
  color: #fff;
}
.danger button {
  background: #dc3545;
  color: #fff;
}
.list-missing-container {
  position: absolute;
  display: flex;
  height: 100%;
  width: 100%;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.list-missing-buttons {
  display: flex;
  flex-flow: wrap;
  justify-content: center;
}
.list-missing-buttons .btn {
  margin: 5px;
}
.input-note {
  margin: 5px;
  color: #777;
}

@media (max-width:780px) {
  .list {
    padding: 5px;
  }
  .list-dropdown-menu-spacer {
    width: 40px;
  }
  .double-filter .list-datepicker-wrapper {
    z-index: 5;
    position: absolute;
    margin-top: 50px;
    left: 5px;
    background: #fff;
    box-shadow: 0px 1px 2px 2px #ddd;
  }
}

.login {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  min-width: 100vw;
}
.password-reset-link {
  display: block;
  text-align: right;
}

@media (max-width:767px) {
  .login .display-3 {
    font-size: 4rem;
  }
}

.navheader {
  z-index: 10;
  position: fixed;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  width: 100vw;
  height: 23px;
  padding-left: 0.2em;
  font-size: 0.9em;
  background: #E9ECEF;
  color: #666;
  border-bottom: solid 2px #fff;
}
.navheader-tab {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 21px;
  padding: 0 0.4em;
  margin: 0 0.1em;
  background: #E9ECEF;
  cursor: pointer;
  transition: background 0.2s ease-in-out;
  transition: color 0.2s ease-in-out;
}
.navheader-tab:hover {
  background: #F7F8F9;
}
.navheader-tab.active {
  background: #FFF;
  color: #222;
}
.navheader-tab .fa {
  margin-right: 0.2em;
}
.navheader-spacer {
  height: 23px;
  width: 100vw;
}

.order {
  display: flex;
  min-height: 100vh;
  padding: 1em 0;
}
.order .resp-container {
  margin: auto;
}
.order .order-body {
  position: relative;
}
.order .sp-logo-wrapper {
  height: 5.5em;
  width: 100%;
  padding-top: 1.25em;
  background: #5f656b;
  border-radius: .35em;
  margin-bottom: 2em;
}
.order .order-header {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.order .order-header .btn {
  padding: 0 0.5em;
}
.order .order-header .order-notes {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.order .order-header .order-notes div {
  font-size: 0.8em;
}
.progress-marker-container {
  display: flex;
  width: 100%;
  justify-content: center;
}
.progress-marker {
  width: 2.2em;
  margin: 0.5em;
  border-radius: 50%;
}
.progress-marker:disabled,
.progress-marker[disabled] {
  cursor: auto;
}
.order .dropdown-menu li {
  padding: 0 5px;
}
.order .dropdown-menu li.active {
  background: #377BB5;
}
.order .dropdown-menu a {
  color: #000;
}
.order .dropdown-menu li.active a {
  color: #fff;
}
.order .dropdown-menu {
  z-index: 10000;
  max-height: 40vh;
  overflow-y: auto;
}
.order .radio-group {
  display: flex;
  justify-content: space-evenly;
}
.order .radio-item {
  padding: 0.5em;
  border: 1px solid #ced4da;
  border-radius: .25rem;
}

.order-request-buttons {
  display: flex;
  justify-content: space-between;
}
.order-display-buttons {
  display: flex;
  justify-content: space-between;
}
.order .btn {
  cursor: pointer;
}
.order a {
  cursor: pointer;
}
.order iframe {
  width: 100%;
  height: 60vh;
  border: 2px solid #fff;
}
.product-option-container {
  display: flex;
  justify-content: space-evenly;
  flex-wrap: wrap;
  margin-bottom: 1em;
}
.product-option {
  padding: 0 0.5em;
  margin: 0.125em;
  background: #fff;
  border-radius: 0.5em;
}
.product-option span {
  cursor: pointer;
}

.order-loading-cover {
  z-index: 100;
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #f4f4f4;
}
.order-loading-cover h4 {
  margin-bottom: 20px;
}
.loading-spinner {
  animation: spin 1s linear infinite,
             spin-color 6s linear infinite;
  border: 8px solid rgba(0,0,0, 0.05);
  border-top: 8px solid;
  border-radius: 50%;
  height: 50px;
  width: 50px;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}
@keyframes spin-color {
  0%   {border-top-color: #d00;}
  20%  {border-top-color: #dd0;}
  40%  {border-top-color: #0d0;}
  60%  {border-top-color: #0dd;}
  80%  {border-top-color: #00d;}
  100% {border-top-color: #d0d;}
}

.order h3 {
  text-align: center;
}

.order-section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #fff;
  margin: 20px 0;
  padding: 10px;
  box-shadow: 0px 1px 2px 2px #ddd;
}
.order-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.order-section-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: 10px;
}
.order-table-section {
  background: #fff;
  overflow-x: scroll;
  margin: 20px 0;
  padding: 10px;
  box-shadow: 0px 1px 2px 2px #ddd;
}
.order .table td {
  padding: .25rem;
  vertical-align: middle;
}
.order .table .dropdown-toggle {
  background: none;
}
.order .rush-btn {
  padding: 0 0.25em;
  font-size: 0.8em;
}
.order .discount {
  color: #28a745;
}
.order .no-discount {
  color: #000;
}
.strikethrough {
  text-decoration: line-through;
}
#mapquest-map {
  height: 80vh;
  margin: 1em 0;
}
.order .list-group {
  max-height: 50vh;
  overflow: scroll;
}
.order .list-group-item {
  padding: 5px 10px;
}
.order .input-group-addon {
  width: 125px;
}
.order .sp-add-person-header .text-muted {
  font-size: 12px;
}
.dropdown-menu .dropdown-item {
  cursor: pointer;
}
.order-list-header {
  display: flex;
  justify-content: space-between;
}
.order-list-header .form-group {
  display: flex;
  align-items: baseline;
}
.order-list-header label {
  margin-right: .5rem;
}
.order-list-header .dropdown-menu {
  width: unset;
}
.order-list-header .btn {
  margin-left: 10px;
}
.order-dropdown {
  max-height: 50vh;
  overflow-y: scroll;
}
.order-dropdown input {
  width: 100%;
  clear: both;
  font-weight: 400;
  color: #212529;
  text-align: inherit;
  white-space: nowrap;
  padding: 2px 10px;
  background: none;
  border: 0;
  cursor: pointer;
}
.product-item {
  display: flex;
  white-space: unset;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #eee;
}
.order .dropdown-toggle {
  text-align: center;
  cursor: pointer;
}

.questionnaire-question {
  display: flex;
  flex-direction: column;
}

.order .dropdown-toggle .inactive {
  color: #999;
}
.dropdown-menu-block {
  width: 100%;
}
.label-required {
  font-weight: bold;
  color: #ff0000;
}

.order-error {
  color: #ff0000;
}
.order-error-description {
  font-size: 0.8em;
  color: #ff0000;
}

.order-choice {
  margin-bottom: 10px;
}
.order-choice-toggle {
  padding: 5px;
  cursor: pointer;
  background: #fff;
  transition: background 0.5s ease;
}
.order-choice-toggle:hover {
  background: #eee;
}
.order-choice-time-container {
  display: flex;
  align-items: center;
}
.order-choice-half-price {
  margin-left: 5px;
  color: #70d22a;
}
.order .btn-round {
  width: 25px;
  height: 25px;
  padding: 2px 4px;
  margin-left: 5px;
  font-size: 0.8em;
  border-radius: 13px;
}
.uib-time input {
  padding: 0;
}
.order-choice-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 40px;
}
.order-suggestion {
  height: 20px;
  display: inline-block;
  color: #1279C9;
  border-bottom: 1px solid transparent;
  cursor: pointer;
  transition: border 0.5s ease;
}
.order-suggestion:hover {
  border-color: #1279C9;
}
.order-choice-name-container {
  display: flex;
  align-items: baseline;
}
.order-choice-name {
  font-weight: bold;
  margin-right: 10px;
}
.order-choice-date {
  color: #777;
}
.order-choice-body {
  display: flex;
}
.order-choice-right-block {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  padding: 10px 5px;
}
.order-choice-value {
  font-style: italic;
}
.order-choice-debug {
  font-size: 0.8em;
}
.order-choice-link {
  display: inline-block;
  color: #4286f4;
  cursor: pointer;
}
.order-choice-link:hover {
  color: #2c62ba;
  text-decoration: underline;
}
.star-empty {
  font-weight: 500;
}
.schedule-container {
  width: 100%;
}
.schedule-bar {
  display: flex;
  width: 100%;
  height: 30px;
  margin-top: 10px;
  margin-bottom: 10px;
}
.schedule-hour-wrapper {
  width: 5.56%;
  height: 100%;
}
.schedule-hour-cell-muted {
  z-index: 1;
  position: relative;
  height: 20px;
  width: calc(100% + 1px);
  border-top: 1px solid #f7f7f7;
  border-bottom: 1px solid #f7f7f7;
  cursor: pointer;
}
.schedule-hour-cell {
  z-index: 1;
  position: relative;
  height: 20px;
  width: calc(100% + 1px);
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  cursor: pointer;
}
.schedule-hour-tick-muted {
  position: relative;
  top: 10px;
  height: 10px;
  width: calc(100% + 1px);
  border-left: 1px solid #f7f7f7;
}
.schedule-hour-tick {
  position: relative;
  top: 10px;
  height: 10px;
  width: calc(100% + 1px);
  border-left: 1px solid #ddd;
}
.schedule-hour-label {
  position: relative;
  height: 38px;
  top: -19px;
  padding-left: 3px;
  padding-top: 18px;
  white-space: nowrap;
  font-size: 0.8em;
  color: #888;
  border-left: 1px solid #ddd;
}
.schedule-item-wrapper {
  position: absolute;
  height: 20px;
  width: calc(100% - 20px);
}
.schedule-bar-thin {
  display: flex;
  width: 100%;
  height: 15px;
  margin-top: 0;
  margin-bottom: 10px;
}


.schedule-bar-thin .schedule-hour-cell-muted {
  height: 10px;
  cursor: auto;
}
.schedule-bar-thin .schedule-hour-cell {
  height: 10px;
  cursor: auto;
}
.schedule-bar-thin .schedule-hour-tick-muted {
  height: 5px;
}
.schedule-bar-thin .schedule-hour-tick {
  height: 5px;
}
.schedule-bar-thin .schedule-item-wrapper {
  height: 10px;
}


.schedule-item-fill {
  z-index: 2;
  position: absolute;
  height: 100%;
  opacity: 0.6;
  cursor: pointer;
  color: #fff;
  font-size: 0.9em;
  transition: opacity 0.5s ease;
}
.schedule-item-fill:hover {
  opacity: 0.7;
}
.schedule-item-fill-driving {
  z-index: 2;
  position: absolute;
  height: 100%;
  opacity: 0.4;
  cursor: pointer;
  transition: opacity 0.5s ease;
}
.schedule-item-fill-driving:hover {
  opacity: 0.7;
}
.schedule-item-fill-confirmed {
  z-index: 2;
  position: absolute;
  height: 100%;
  opacity: 0.8;
  cursor: pointer;
  transition: opacity 0.5s ease;
}
.schedule-item-fill-confirmed:hover {
  opacity: 1;
}

.ackclient {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ackclient .resp-container {
  margin: 10px auto;
  text-align: center;
}
.ackclient .button-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.ackclient .button-container .btn {
  flex-grow: 2;
  margin: 5px;
}
.inline-dropdown-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.inline-dropdown {
  list-style: none;
  padding: 10px 0;
  background: #fff;
  border: 1px solid #f8f8f8;
  border-radius: 3px;
}
.inline-dropdown li {
  padding: 0 20px;
  background: #fff;
  cursor: pointer;
  transition: background ease-in-out 0.1s;
}
.inline-dropdown li:hover {
  background: #eee;
}
.modal-body-form {
  display: flex;
  flex-direction: column;
}
.modal-body-form textarea {
  margin-bottom: 10px;
}
.marker-pin-wrapper {
  position: relative;
  top: -26px;
  left: -9px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
}
.marker-pin-wrapper.marker-proposed {
  top: -36px;
  left: -16px;
  width: 40px;
  height: 40px;
}
.marker-pin {
  position: absolute;
  transform: perspective(40px) rotateX(20deg) rotateZ(-45deg);
  transform-origin: 50% 50%;
  border-radius: 50% 50% 50% 0;
  padding: 0 3px 3px 0;
  width: 30px;
  height: 30px;
  background: #cc0e0e;
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -2.2em 0 0 -1.3em;
  -webkit-box-shadow: -1px 1px 4px rgba(0, 0, 0, .5);
  -moz-box-shadow: -1px 1px 4px rgba(0, 0, 0, .5);
  box-shadow: -1px 1px 4px rgba(0, 0, 0, .5);
}
.marker-pin.marker-proposed {
  width: 35px;
  height: 35px;
  background: #1e69c5;
}
.marker-pin.marker-event {
  background: #ffd600;
  color: #000;
}
.marker-pin-label {
  z-index: 1;
  position: relative;
  top: -7px;
  color: #fff;
}
.marker-pin-label.marker-proposed {
  left: 2px;
  font-size: 1.3em;
}
.order-button-row {
  display: flex;
}
.order-button-row button {
  border-radius: 0;
}
.order-button-row button:first-child {
  border-radius: .25rem 0 0 .25rem;
}
.order-button-row button:last-child {
  border-radius: 0 .25rem .25rem 0;
}
.order .manual-time {
  display: flex;
  justify-content: space-evenly;
  margin: 1em;
}
.order .card-info-item {
  background: #fff;
  padding: 0.25em 0.5em;
  border-radius: 0.25em;
  margin: 0.5em;
}
.order .card-info-item label {
  margin-bottom: 0;
}
.card-info-button-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 0.5em;
}

#formAuthorizeNet {
  display: none;
}

.jobscreate {
  display: flex;
  min-height: 100vh;
  padding: 1em 0;
}
.jobscreate .radio-container {
  display: flex;
  flex-wrap: wrap;
}
.jobscreate label {
  margin-bottom: 0;
}
.jobscreate .radio-option {
  padding: 0 5px;
  margin: 10px;
  border-radius: 5px;
  background: #fff;
}
.jobscreate .datepicker-wrapper {
  display: flex;
  justify-content: center;
}
.jobscreate .datepicker {
  background: #fff;
  box-shadow: 0px 1px 2px 2px #ddd;
}

@media (max-width:767px) {
  .order {
    padding: 5% 0;
  }
  .resp-container {
    margin: auto;
  }
}

.scheduler {
  width: 100vw;
  height: 100vh;
}

.scheduler-loading-cover {
  z-index: 100;
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #f4f4f4;
}
.scheduler-loading-cover h4 {
  margin-bottom: 20px;
}
.loading-spinner {
  animation: spin 1s linear infinite,
             spin-color 6s linear infinite;
  border: 8px solid rgba(0,0,0, 0.05);
  border-top: 8px solid;
  border-radius: 50%;
  height: 50px;
  width: 50px;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}
@keyframes spin-color {
  0%   {border-top-color: #d00;}
  20%  {border-top-color: #dd0;}
  40%  {border-top-color: #0d0;}
  60%  {border-top-color: #0dd;}
  80%  {border-top-color: #00d;}
  100% {border-top-color: #d0d;}
}

.scheduler-button-container {
  position: fixed;
  display: flex;
  z-index: 4;
  margin-left: 0px;
  margin-top: 14px;
}
.scheduler-button {
  margin-left: 10px;
  font-size: 12px;
  font-weight: bold;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  border-color: #CECECE;
  color: #747473;
}
.scheduler-button:hover {
  color: #ffffff;
}
.scheduler-button:active {
  color: #ffffff;
}
.scheduler_target {
  margin: auto;
}
.scheduler-readonly {
  width: 100%;
  border: none;
  padding: 2px;
  color: #000;
}

.dhx_cal_light {
  max-height: 70vh;
  overflow-y: auto;
}

.settings {
  padding-top: 20px;
  background: #f7f7f7;
}

.settings .icon {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin: 5px;
}

.module-container {
  display: flex;
  justify-content: space-evenly;
  flex-wrap: wrap;
}

.module {
  min-width: 280px;
  flex: 1 1;
  margin: 5px;
  background: #fff;
  border: 1px solid #dfdfdf;
  border-radius: 0.25rem;
}

.module-button {
  display: flex;
  justify-content: center;
  margin: 5px;
  padding: 5px;
  font-size: 1.2em;
  color: #fff;
  background: #4c606e;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: background 0.3s ease;
}
.module-button:hover {
  background: #2c3840;
}

.module-body {
  padding: 10px;
}

.sub-module {
  font-size: 0.9em;
}

.training-container {
  display: flex;
  min-width: 280px;
  flex: 1 1;
  margin: 5px;
  background: #fff;
  border: 1px solid #dfdfdf;
  border-radius: 0.25rem;
}
.training-section {
  display: flex;
  align-items: center;
}
.training-section .module-button {
  font-size: 1em;
  margin-right: 1em;
}

.pin-entry-section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 5px;
}
.pin-entry-section .module-button {
  font-size: 1em;
}

.sidebar {
  flex: 1 0;
  height: 100vh;
  min-width: 275px;
  overflow-y: auto;
  color: #fff;
  background: #39454D;
}

.sidebar .sidebar-item {
  padding-left: 10px;
  opacity: 0.5;
  cursor: pointer;
}
.sidebar .sidebar-item:hover {
  background-color: #20292F;
}
.sidebar .sidebar-item.active {
  font-weight: 600;
  background: #78615A;
  opacity: 1;
}

.sidebar .icon {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 20px;
}

.sidebar .sidebar-subitem {
  padding-left: 20px;
}

.sidebar small {
  margin-left: 10px;
  opacity: 0.5;
}
