.tooltip-inner{
	max-width: 400px !important;
}

#gps-logs-map {
	width: 100%;
	border: 1px solid #ececec;
	box-shadow: 2px 2px 2px #cecece;
}

#sms-messages-table {
	border: 1px solid #f0eeee;
}
#sms-messages-table td, #sms-messages-table tr, #sms-messages-table th {
	padding: 15px;
}
.sms-messages-message-outgoing {
	border-radius: 10px;
	padding: 10px;
	background: #00a3ff;
	color: #fff;
}
.sms-messages-message-incoming {
	border-radius: 10px;
	padding: 10px;
	background: #d3efff;
	color: #444444;
}
.sms-messages-message-outgoing a {
	color: #b6e8ff;
}
.sms-messages-unread-messages {
	display: inline-block;
	color: white;
	background-color: #c36868;
	border-radius: 10px;
	box-shadow: 2px 2px 2px #ececec;
	padding: 10px;
	transition: opacity 0.5s;
	-webkit-transition: opacity 0.5s;
}
.sms-messages-unread-messages:hover {
	color: white;
	opacity: 0.7;
}
.sms-messages-unread-messages-badge {
	background: white;
	color: #792d2d;
	padding: 3px;
	border-radius: 3px;
}

.altrow {
	background: #fafafa;
}

.filter-sortable-item {
	margin: 2px;
	padding-left: 5px;
	font-size: 0.9em;
	border: 1px solid #F4F4F4;
}
.filter-sortable-item .checkbox {
	padding-top: 0px !important;
	margin: 5px !important;
}

.filter-sortable-item:hover {
	background: #f4f4f4;
}

#sms-popup {
  position: fixed;
  bottom: -204px;
  left: 275px;
  height: 250px;
  transition: transform 0.75s ease-in-out;
	z-index: 5000;
}
#sms-popup .panel-body {
  position: relative;
  height: 204px;
  max-height: 204px;
  overflow: auto;
  z-index: 2000;
}
#sms-popup:hover {
  transform: translateY(-204px);
}
#calls-incoming-popup {
	display: inline-block;
	width: 250px;
	position: fixed;
	bottom: -20px;
	right: 20px;
	transform: translateX(270px);
	transition: transform 1s;
	-webkit-transition: transform 1s;
	z-index: 2000;
}

.calls-incoming-popup-active {
	transform: translateX(0) !important;
}

#calls-incoming-popup-info {
	height: 200px;
	max-height: 200px;
	overflow: scroll;
}

.customers-sub-customer-row {
	opacity: 0.8;
}

.customers-sub-customer-name {
	padding: 0px 10px;
}

.lineitem-categories {
	width: 100%;
	height: 100px;
	background-color: #F4F4F4 !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: contain !important;
	display: grid;
	grid-template-columns: 1fr;
	justify-items: center;
	align-items: center
}

.lineitems-categories-itemcontainer {
	max-width: 100%;
	overflow: auto;
}
.lineitems-categories-itemcontainer a {
	display: block;
}

audio {
	max-width: 95%;
}

.reporting-chart {
	width: 100%;
}

.tag {
	display: inline-block;
	padding: 5px;
	border-radius: 5px;
	font-size: 0.8em;
	font-weight: bold;
	margin: 1px;
}

.tag-status-estimate-pending {
	background: #FAFFBB;
	color: #707070;
}
.tag-status-estimate-sent {
	background: #039CE7;
	color: #fff;
}
.tag-status-estimate-accepted {
	background: #89C493;
	color: #fff;
}
.tag-status-estimate-converted {
	background: #11BF2F;
	color: #fff;
}
.tag-status-estimate-rejected {
	background: #C94646;
	color: #fff;
}
.tag-status-estimate-closed {
	background: #707070;
	color: #fff;
}
.tag-status-estimate-changes_requested {
	background: #e7ae03;
	color: #fff;
}

.tag-status-po-open {
	background: #E7AE03;
	color: #fff;
}
.tag-status-po-closed {
	background: #008321;
	color: #fff;
}

.tag-status-payment-awaiting_verification {
	background: #E7AE03;
	color: #fff;
}
.tag-status-payment-verified {
	background: #008321;
	color: #fff;
}

.tag-status-order-not_ordered{
	background: #C94646;
	color: #FFF;
}
.tag-status-order-ordered {
	background: #E7AE03;
	color: #fff;
}
.tag-status-order-received {
	background: #008321;
	color: #fff;
}

.tag-status-task-open {
	background: #E7AE03;
	color: #fff;
}
.tag-status-task-closed {
	background: #008321;
	color: #fff;
}

.tag-jobtype-residential_service {
	background: #05b60c;
	color: #fff;
}
.tag-jobtype-residential_install {
	background: #0F7E14;
	color: #fff;
}
.tag-jobtype-residential_estimate {
	background: #149BAD;
	color: #fff;
}
.tag-jobtype-commercial_service {
	background: #E3AA00;
	color: #fff;
}
.tag-jobtype-commercial_install {
	background: #DE690A;
	color: #fff;
}
.tag-jobtype-commercial_estimate {
	background: #0CA4DD;
	color: #fff;
}

.tag-status-workorder-ingredion {
	background: #00983d;
	color: #fff;
}
.tag-status-workorder-tom {
	background: #a37000;
	color: #fff;
}
.tag-status-workorder-needs_scheduling {
	background: #E3AA00;
	color: #fff;
}
.tag-status-workorder-scheduled {
	background: #F6FF8B;
	color: #535353;
}
.tag-status-workorder-en_route {
	background: #9AE1FF;
	color: #535353;
}
.tag-status-workorder-on_site {
	background: #0A87FA;
	color: #fff;
}
.tag-status-workorder-quote_needed {
	background: #FFDC82;
	color: #535353;
}
.tag-status-workorder-awaiting_approval {
	background: #FFDC82;
	color: #535353;
}
.tag-status-workorder-parts_needed {
	background: #FFDC82;
	color: #535353;
}
.tag-status-workorder-parts_ordered {
	background: #FFDC82;
	color: #535353;
}
.tag-status-workorder-return_trip_needed {
	background: #DF0202;
	color: #fff;
}
.tag-status-workorder-complete {
	background: #00A329;
	color: #fff;
}
.tag-status-workorder-needs_invoicing {
	background: #91A300;
	color: #FFF;
}
.tag-status-workorder-invoiced {
	background: #98FAB1;
	color: #535353;
}
.tag-status-workorder-cancelled {
	background: #535353;
	color: #fff;
}
.tag-status-workorder-closed {
	background: #717171;
	color: #fff;
}

.tag-status-invoice-not_paid {
	background: #BD0000;
	color: #fff;
}
.tag-status-invoice-partially_paid {
	background: #D4AB00;
	color: #fff;
}
.tag-status-invoice-paid {
	background: #0DB605;
	color: #fff;
}

.tag-username {
	background: #ebebeb;
}


.tag-users {
	background: #F2F2F2;
	color: #707070;
}

@keyframes animate-blinker {
	0% {opacity: 1;}
	10% {opacity: 1;}
	50% {opacity: 0.5;}
	90% {opacity: 1;}
	100% {opacity: 1;}
}

.tag-users-me {
	color: #F60404;
	border: 1px dashed #C94646;
	animation: animate-blinker 1s linear infinite;
}

#calendar-picker {
	font-size: 0.75em;
	display: none;
}
#calendar-picker td {
	padding: 0;
	margin: 0;
}


/* SCHEDULE ONES */
.tag-time, .tag-task {
	padding: 2px !important;
}
.appointment-card-jobtype-residential_service {
	border-left: 5px solid #05b60c !important;
}
.appointment-card-jobtype-residential_install {
	border-left: 5px solid #0F7E14 !important;
}
.appointment-card-jobtype-residential_estimate {
	border-left: 5px solid #149BAD !important;
}
.appointment-card-jobtype-commercial_service {
	border-left: 5px solid #E3AA00 !important;
}
.appointment-card-jobtype-commercial_install {
	border-left: 5px solid #DE690A !important;
}
.appointment-card-jobtype-commercial_estimate {
	border-left: 5px solid #0CA4DD !important;
}

.appointment-card-jobtype-task {
	background: #F4FAFF !important;
	border-left: 5px solid #9AD8FF !important;
}

.appointment-card-jobtype-note {
	background: #FBFBD7 !important;
	border-left: 5px solid #CFD729 !important;
	width: 200px !important;
	display: inline-block !important;
}

/* SCHEDULE CLASSES */
#schedule-container {
	max-width: 100%;
}

.schedule-needs-scheduling {
	height: 390px;
	overflow-y: auto;
	font-size: 0.9em;
}

.schedule-container-day {
	overflow-x: auto;
}

.appointment-block:not(.appointment-block-unscheduled){
	pointer-events: none;
	height: 50px;
	transition: background 0.5s;
	-webkit-transition: background 0.5s;
}

.appointment-block:hover {
	background: #f4f4f4;
}

.schedule-table {
	width: 100%;
	table-layout: fixed;
	border: 1px solid #cdcccc;
	font-size: 0.9em;
}

.schedule-table th {
	background: #F2F2F2;
	text-align: center;
}

.schedule-table th, .schedule-table td {
	border-collapse: collapse;
	border: 1px solid #E0E0E0;
	box-sizing: border-box;
}

.schedule-table-header th {
	padding: 5px;
}

.schedule-table-today {
	background: #FAFFEE;
}
.schedule-table-month-day-muted {
	opacity: 0.4;
}
.schedule-table-month td {
	height: 150px;
	vertical-align: top;
}

.schedule-table-week-hour-column {
	width: 75px !important;
	color: #BBBBBB;
	font-size: 0.8em;
	font-weight: normal;
}
.schedule-table-week-row {
	height: 40px;
}
.schedule-table-week-halfhour {
	color: #B6B1B1;
	font-weight: normal;
}
.schedule-table-week td, .schedule-table-day td {
	vertical-align: top;
	position: relative;
}

.schedule-table-day td {
overflow-x: visible;
}

.schedule-table-day-minutes {
	color: #BBBBBB;
	font-size: 0.8em;
	font-weight: normal;
	text-align: left !important;
}
.schedule-table-day-users-header {
	width: 150px !important;
}
.schedule-table-day {
	width: 1500px !important;
}
.schedule-table-day-hour-blocks {
	width: 100px !important;
	overflow-y: visible;
	z-index: 1700;
}
.schedule-table-day-minutes {
	z-index: 1700;
}
.schedule-table-day-users-column {
	position: absolute;
	width: 150px;
	border-top: 0 !important;
	border-bottom: 0 !important;
	margin-left: -1px;
	padding-top: 30px !important;
	z-index: 1500;
	vertical-align: top;
}

.appointment-card {
	background: #fff;
	border: 1px solid #bbbbbb;
	box-shadow: 0px 0px 8px #C9C9C9;
	font-size: 0.9em;
	padding: 5px;
	box-sizing: border-box;
	z-index: 1000;
	overflow: hidden;
	transition: transform 0.5s ease-in-out;
	-webkit-transition: transform 0.5s ease-in-out;
	pointer-events: auto;
}

.appointment-card:hover{
	z-index: 1500;
}


.schedule-table-day .appointment-card {
 	/*position: absolute;*/
	min-width: 100px;
}

/*.schedule-table-day .appointment-card:hover {
}*/

.schedule-table-week .appointment-card {
	position: absolute;
	width: 100%;
}

.schedule-needs-scheduling .appointment-card {
	position: relative;
	width: 100% !important;
	max-width: 300px !important;
	display: inline-block !important;
	z-index: 1000;
}

.schedule-needs-scheduling .ui-resizable-e, .schedule-needs-scheduling .ui-resizable-s {
	display: none !important;
}

.schedule-table-day .ui-resizable-e {
	display: inline-block !important;
}


.ui-resizable-e {
	border: 2px dashed #c9c9c9;
	width: 10px;
}
.ui-resizable-s {
	border: 2px dashed #c9c9c9;
	height: 10px;
}

/* END SCHEDULE CLASSES */








@media screen and (max-width: 1025px){
	#sms-messages-table td, #sms-messages-table tr, #sms-messages-table th {
		display: block !important;
		width: 100% !important;
		padding: 3px;
	}
	#calls-incoming-popup {
		display: none;
	}
	#sms-popup {
		left: 10px !important;
	}
	.ui-resizable-e {
		width: 30px;
	}
	td:not(.appointment-block) {
		max-width: 200px;
		word-wrap: break-word;
	}

}
@media screen (max-width: 700px){
	td:not(.appointment-block){
		max-width: 100px;
		word-wrap: break-word;
	}
}
