.btn-group-xxs>.btn,
.btn-xxs {
	padding: .1875rem .3rem;
	font-size: .65625rem;
	line-height: .375;
	border-radius: .15rem;
}

.tag {
	display: inline-block;
	padding: 5px;
	border-radius: 5px;
	font-size: 0.8em;
	font-weight: bold;
	margin: 1px;
}

.tag-users,
.tag-default,
.tag-selectedMonth {
	background: #F2F2F2;
	color: #707070;
}

.tag-selectedMonth {
	border: 2px dashed red;
}



.tag-priority-PM {
	background: #027a86;
	color: #fff;
}

.tag-priority-must_be_today {
	background: #D99E05;
	color: #fff;
}

.tag-priority-today-tomorrow {
	background: #ff9100;
	color: #fff;
}

.tag-priority-1-3_days {
	background: #0079BD;
	color: #fff;
}

.tag-priority-within_a_week {
	background: #00BD02;
	color: #fff;
}

.tag-priority-within_two_weeks {
	background: #02860B;
	color: #fff;
}

.tag-priority-urgent {
	background: #880303;
	color: #fff;
}

.tag-priority-past_due {
	background: #ff0000;
	color: #fff;
	animation: animation-blink 1s linear infinite;
}


.tag-jobtype-installation {
	background: #0586B6;
	color: #fff;
}

.tag-jobtype-service {
	background: #02860B;
	color: #fff;
}

.tag-jobtype-proposal {
	background: #B16C05;
	color: #fff;
}

.tag-jobtype-warranty {
	background: #4c7500;
	color: #fff;
}

.tag-jobtype-preventative_maintenance {
	background: #3d362b;
	color: #fff;
}

.tag-status-customer-active {
	background: #4c7500;
	color: #fff;
}

.tag-status-customer-inactive {
	background: #B16C05;
	color: #fff;
}

.tag-status-workorder-new {
	background: #0586B6;
	color: #fff;
}

.tag-status-workorder-new_PMs {
	background: #004159;
	color: #fff;
}

.tag-status-workorder-past_due {
	background: #FF9E9E;
	color: #505050;
}

.tag-status-workorder-preventative_maintenance {
	background: #004159;
	color: #fff;
}

.tag-status-workorder-assigned {
	background: #05B6A6;
	color: #fff;
}

.tag-status-workorder-job_in_progress {
	background: #02860B;
	color: #fff;
}

.tag-status-workorder-after_hours {
	background: #B16C05;
	color: #fff;
}

.tag-status-workorder-scheduled {
	background: #d6a965;
	color: #000;
}

.tag-status-workorder-parts_ordered {
	background: #4c7500;
	color: #fff;
}

.tag-status-workorder-parts_received {
	background: #3d362b;
	color: #fff;
}

.tag-status-workorder-return_trip_needed {
	background: #FCD405;
	color: #505050;
}

.tag-status-workorder-complete {
	background: #AA0404;
	color: #fff;
}

.tag-status-workorder-ready_to_invoice {
	background: #A31C6D;
	color: #fff;
}

.tag-status-workorder-invoiced {
	background: #5704AA;
	color: #fff;
}

.tag-status-workorder-cancelled {
	background: #505050;
	color: #fff;
}

.tag-status-workorder-on_hold {
	background: #bdbdbd;
	color: #000000;
}

.panel-status-workorder-new>.panel-heading {
	background: #0586B6;
	color: #fff;
}

.panel-status-workorder-new_PMs>.panel-heading {
	background: #004159;
	color: #fff;
}

.panel-status-workorder-preventative_maintenance>.panel-heading {
	background: #004159;
	color: #fff;
}

.panel-status-workorder-assigned>.panel-heading {
	background: #05B6A6;
	color: #fff;
}

.panel-status-workorder-scheduled>.panel-heading {
	background: #d6a965;
	color: #000;
}

.panel-status-workorder-job_in_progress>.panel-heading {
	background: #02860B;
	color: #fff;
}

.panel-status-workorder-after_hours>.panel-heading {
	background: #B16C05;
	color: #fff;
}

.panel-status-workorder-parts_ordered>.panel-heading {
	background: #4c7500;
	color: #fff;
}

.panel-status-workorder-parts_received>.panel-heading {
	background: #3d362b;
	color: #fff;
}

.panel-status-workorder-return_trip_needed>.panel-heading {
	background: #FCD405;
	color: #505050;
}

.panel-status-workorder-complete>.panel-heading {
	background: #AA0404;
	color: #fff;
}

.panel-status-workorder-ready_to_invoice>.panel-heading {
	background: #A31C6D;
	color: #fff;
}

.panel-status-workorder-invoiced>.panel-heading {
	background: #5704AA;
	color: #fff;
}

.panel-status-workorder-cancelled>.panel-heading {
	background: #505050;
	color: #fff;
}

.panel-status-workorder-on_hold>.panel-heading {
	background: #bdbdbd;
	color: #000000;
}


.tag-status-contract-inactive {
	background: #AA0404;
	color: #fff;
}

.tag-status-contract-expiring_soon {
	background: #b8b600;
	color: #000;
}

.tag-status-contract-active {
	background: #A31C6D;
	color: #fff;
}

.tag-status-po-closed {
	background: #02860B;
	color: #fff;
}

.tag-status-po-open {
	background: #D99E05;
	color: #fff;
}

.tag-status-po-cancelled {
	background: #505050;
	color: #fff;
}

.tag-status-invoice-not_paid {
	background: #BD0000;
	color: #fff;
}

.tag-status-invoice-partially_paid {
	background: #D99E05;
	color: #fff;
}

.tag-status-invoice-paid {
	background: #02860B;
	color: #fff;
}

.tag-status-estimate-pending {
	background: #D99E05;
	color: #fff;
}

.tag-status-estimate-sent {
	background: #0079BD;
	color: #fff;
}

.tag-status-estimate-accepted {
	background: #00BD02;
	color: #fff;
}

.tag-status-estimate-converted {
	background: #02860B;
	color: #fff;
}

.tag-status-estimate-rejected {
	background: #880303;
	color: #fff;
}

.tag-status-estimate-closed {
	background: #505050;
	color: #fff;
}

.panel-dark .panel-heading {
	background: #6B6B6B;
}

.panel-yellow .panel-heading {
	background: #FCD405;
}

.panel-yellow .panel-heading h4 {
	color: #505050 !important;
}


#schedule-board-container {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-column-gap: 10px;
	margin: 0;
	padding: 0;
}

.schedule-board-appointments-container {
	min-height: 100px;
}

.schedule-board-column {
	margin: 0;
	padding: 0;
	min-width: 200px;
	box-sizing: border-box;
}

.schedule-board-column .panel-body {
	padding: 5px 2px;
	min-height: 60vh;
}

.move-handle {
	cursor: move;
	opacity: 0.8;
}

.appointment-card {
	background: #fff;
	border: 1px solid #F4F4F4;
	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;
	margin: 5px 0;
}

.appointment-card-urgent {
	border: 2px solid #D05C5C;
}

.appointment-card-old {
	background: #EDDF81;
}


.appointment-card:hover {
	z-index: 1500;
}











/* SCHEDULE CLASSES */
#schedule-container {
	max-width: 100%;
}

#schedule-needs-scheduling {
	max-height: 800px;
	overflow-y: auto;
	font-size: 0.9em;
}

.schedule-container-day {
	overflow-x: auto;
}

.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: 150px !important;
	overflow-y: visible;
}

.schedule-table-day-row {
	height: 20px;
}

.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;
}

.appointment-card-time {
	font-size: 0.9em;
}

.schedule-table-day .appointment-card {
	position: absolute;
	min-width: 150px;
}

.schedule-table-week .appointment-card {
	position: absolute;
	width: 100%;
}

.appointment-card-jobtype-maintenance {
	border-left: 5px solid #AEB84B;
}

.appointment-card-jobtype-install {
	border-left: 5px solid #90D499;
}

.appointment-card-jobtype-service {
	border-left: 5px solid #C84040;
}

.appointment-card-jobtype-unclassified {
	border-left: 5px solid #7D7D7D;
}


#schedule-needs-scheduling .appointment-card {
	position: inherit !important;
	max-width: 100%;
	z-index: 1000;
}

#schedule-needs-scheduling .ui-resizable-e,
#schedule-needs-scheduling .ui-resizable-s {
	display: none;
}

.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: 500px) {
	#schedule-board-container {
		grid-template-columns: repeat(1, 1fr) !important;
	}

	.schedule-board-column .panel-body {
		min-height: 150px;
	}
}