.modal-dialog {
	min-height: 101vh;
}

.recommendedappointments {
	max-height: 400px;
	overflow: auto;
}

@keyframes animation-blink {
	0% {
		opacity: 1;
	}

	25% {
		opacity: 0.5;
	}

	50% {
		opacity: 0.3;
	}

	75% {
		opacity: 0.5;
	}

	100% {
		opacity: 1;
	}
}

.blinkMe {
	animation: animation-blink 1s linear infinite;
}


.modal::-webkit-scrollbar {
	width: 5px;
}

/* Track */
.modal::-webkit-scrollbar-track {
	background: #F4F4F4;
	border: 1px solid #E4e4e4;
}

/* Handle */
.modal::-webkit-scrollbar-thumb {
	background: #C4C4C4;
	border: #C2C2C2;
	border-radius: 2px;
}

/* Handle on hover */
.modal::-webkit-scrollbar-thumb:hover {
	background: #9F9F9F;
}

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

.autocompleteSuggestions {
	max-height: 200px;
	overflow: auto;
	width: 90%;
	position: absolute;
	background: #FFF;
	z-index: 5001;
}

.autocompleteSuggestions-suggestion {
	display: block;
	padding: 3px;
	font-size: 0.9em;
	color: #006FE2;
	border: 1px solid #f4f4f4;
	margin: 0;
	border-collapse: collapse;
}

.autocompleteSuggestions-suggestion:hover {
	background: #F4F4F4;
	cursor: pointer;
}

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

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

.tag-whatever-whatever {
	background: #BD0000;
	color: #fff;
}

.tag-note {
	background: #869454;
	color: #fff;
}

.tag-jobtype-appt_hold {
	background: #AA5201;
	color: #fff;
}

.tag-jobtype-install,
.tag-jobtype-install_2,
.tag-jobtype-install_3 {
	background: #A4C9E7;
	color: #505050;
}

.tag-jobtype-removal,
.tag-jobtype-removal_2,
.tag-jobtype-removal_3 {
	background: #EBEEA2;
	color: #505050;
}

.tag-jobtype-DE_RE,
.tag-jobtype-DE_RE_2,
.tag-jobtype-DE_RE_3 {
	background: #A2E7AF;
	color: #505050;
}

.tag-jobtype-install_with_removal,
.tag-jobtype-install_with_removal_2,
.tag-jobtype-install_with_removal_3 {
	background: #D5B0EE;
	color: #505050;
}

.tag-jobtype-service,
.tag-jobtype-service_2,
.tag-jobtype-service_3 {
	background: #FED3AB;
	color: #505050;
}

.tag-jobtype-warranty,
.tag-jobtype-warranty_2,
.tag-jobtype-warranty_3 {
	background: #F9AAAA;
	color: #505050;
}

.tag-jobtype-day_rate,
.tag-jobtype-day_rate_2,
.tag-jobtype-day_rate_3 {
	background: #af7878;
	color: #ffffff;
}

.tag-jobtype-hourly,
.tag-jobtype-hourly_2,
.tag-jobtype-hourly_3 {
	background: #d8b493;
	color: #505050;
}

.tag-status-workorder-active {
	background: #007101;
	color: #fff;
}

.tag-status-workorder-scheduled {
	background: #E48608;
	color: #fff;
}

.tag-status-workorder-verizon_updated {
	background: #770800;
	color: #ff8888;
}

.tag-status-workorder-not_scheduled {
	background: #C25100;
	color: #fff;
}

.tag-status-workorder-confirmed {
	background: #AD6401;
	color: #fff;
}

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

.tag-status-workorder-incomplete {
	background: #930B02;
	color: #fff;
}

.tag-status-workorder-no_show {
	background: #9F9614;
	color: #fff;
}

.tag-status-workorder-submitted {
	background: #768504;
	color: #fff;
}

.tag-status-workorder-completed {
	background: #009C10;
	color: #fff;
}

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

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

.tag-status-dispatch-open {
	background: #E48608;
	color: #fff;
}

.tag-status-dispatch-complete {
	background: #04B414;
	color: #fff;
}


.tag-status-agreement-open {
	background: #E48608;
	color: #fff;
}

.tag-status-agreement-sent {
	background: #0099FF;
	color: #fff;
}

.tag-status-agreement-completed {
	background: #04B414;
	color: #fff;
}

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


.tag-status-servicerequest-open {
	background: #D50D06;
	color: #fff;
}

.tag-status-servicerequest-accepted {
	background: #97099e;
	color: #fff;
}

.tag-status-servicerequest-rejected {
	background: #050505;
	color: #fff;
}

.tag-status-servicerequest-in_progress {
	background: #031d8e;
	color: #fff;
}

.tag-status-servicerequest-return_to_ARI {
	background: #DA7F14;
	color: #fff;
}

.tag-status-servicerequest-on_hold {
	background: #5A665E;
	color: #fff;
}

.tag-status-servicerequest-pending_ARI_approval {
	background: #3C0066;
	color: #fff;
}

.tag-status-servicerequest-closed {
	background: #038E04;
	color: #fff;
}

i {
	opacity: 0;
}

.fontawesome-i2svg-active i {
	opacity: 1 !important;
}

.bg-white {
	background: #fff !important;
}

.color-blue {
	color: #0099ff !important;
}

.padded-sm {
	padding: 10px;
}

.margin-sm {
	margin: 10px;
}

.padded-md {
	padding: 20px;
}

.margin-md {
	margin: 20px;
}

.padded-lg {
	padding: 30px;
}

.margin-lg {
	margin: 30px;
}

.padded-xs {
	padding: 3px;
}

.margin-xs {
	margin: 3px;
}

.btn-muted {
	opacity: 0.5;
}

.req-star::before {
	color: #E49C9C;
	font-size: 0.75em;
	content: "*";
}

.bold {
	font-weight: bolder;
}

.form-header {
	font-weight: bolder;
	color: #3b7dcf !important;
	border-bottom: 1px solid #3b7dcf !important;
	font-size: 1em;
	margin-top: 10px;
	margin-bottom: 5px;
}

@keyframes animation-blink {
	0% {
		opacity: 1;
	}

	25% {
		opacity: 0.5;
	}

	50% {
		opacity: 0.3;
	}

	75% {
		opacity: 0.5;
	}

	100% {
		opacity: 1;
	}
}



.modal .select2 {
	width: 100% !important;
}

.row {
	word-wrap: break-word !important;
}

.modal-backdrop {
	z-index: 10000 !important;
}

.modal {
	z-index: 11000 !important;
}

.menu-subitem {
	font-size: 0.8em;
	padding: 0;
	margin-left: 15px;
	border-left: 1px solid #F0F0F0;
}

.img-circle {
	width: 32px !important;
	height: 32px !important;
}

#notifications-menubutton {
	line-height: 70px;
}

#side-menu svg {
	margin-right: 10px;
}

#side-menu {
	overflow-y: auto;
	overflow-x: hidden;
}

#side-menu li a {
	transition: all 0.5s;
	-webkit-transition: all 0.5s;
}

#side-menu li a:hover {
	opacity: 0.9 !important;
	color: #0099ff;
	background: #f4f4f4;
	padding-left: 30px !important;
}


body.modal-open {
	position: absolute;
	width: 100%;
	height: 100%;
	overflow: hidden !important;
}

.iosmodalfix {
	position: fixed !important;
}

.tooltip {
	z-index: 9999 !important;
}

.drag-dots {
	opacity: 0.3;
}

.drag-dots:before {
	display: none;
	font-family: "Font Awesome 5 Solid";
	content: "\f142";
}

.drag-dots:after {
	display: none;
	font-family: "Font Awesome 5 Solid";
	content: "\f142";
}

.signature-container {
	width: 100%;
	display: block;
	overflow-x: hidden !important;
	border: 1px solid #eee;
	box-shadow: 2px 2px 2px #eee;
}

/*bootstrapfix*/
.footable-filtering-search .btn.dropdown-toggle {
	display: none;
}

.widget-inline-box-last {
	border-right: 0 !important;
}

.swal2-container {
	z-index: 11000 !important;
}

ul.dropdown-menu {
	max-width: 500px !important;
}

ul.dropdown-menu>li>a {
	color: #656565 !important;
	transition: background 0.5s;
	-webkit-transition: background 0.5s;
	padding: 10px 20px;

}

ul.dropdown-menu>li.dropdown-inline {
	display: inline-block !important;
	padding: 5px !important;
	font-size: 0.8em;
	text-align: center;
	width: 30%;
	word-wrap: break-word !important;
}

ul.dropdown-menu>li.active>a {
	background: white !important;
	color: #3db1ff !important;
}

ul.dropdown-menu>li>a:hover:not(.popup-menu-toggle) {
	background: #f4f4f4 !important;
}

.btn-default {
	box-shadow: 1px 1px 2px #ccc;
	margin: 2px;
}

.panel {
	box-shadow: 2px 2px 2px #f5f5f5;
}

.modal-header {
	border-bottom: 2px solid #f7f7f7 !important;
	padding-bottom: 8px !important;
}

.close {
	font-size: 2em;
	color: red !important;
	opacity: 0.9;
}

.customer-menu-item {
	color: #626773 !important;
}

.customer-menu-item:hover {
	color: #0099ff !important;
}


.footable-empty td {
	font-size: 1em !important;
}

.content-padding {
	padding: 15px;
}

.sidebar-navigation {
	z-index: 1501 !important;
}



@media screen and (min-width: 1025px) {
	.stickynav {
		position: fixed;
		transform: translateY(-70px);
		width: 240px;
	}
}

@media screen and (max-width: 1025px) {
	.content-padding {
		padding: 5px;
	}

	.center-xs {
		text-align: center;
	}
}

@media screen and (max-width: 991px) {
	#side-menu {
		display: block !important;
	}

	#page-right-content {
		margin-left: 0 !important;
		border-left: 0 !important;
	}
}



/* 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;
}

.appointment-block:hover {
	border: 2px solid #94C7E4 !important;
}

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

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

.schedule-table-day .appointment-card {
	height: 125px;
	min-height: 125px;
}

.schedule-table-day .appointment-card:hover {
	height: auto !important;
}

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

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

.appointment-card-note {
	border-left: 5px solid #fffba7;
	background: #fffcb9;
}

.appointment-card-jobtype-appt_hold {
	border-left: 5px solid #AA5201;
	background: #FFF4E9;
}

.appointment-card-jobtype-install,
.appointment-card-jobtype-install_2,
.appointment-card-jobtype-install_3 {
	border-left: 5px solid #A4C9E7;
	background: #FFF;
}

.appointment-card-jobtype-removal,
.appointment-card-jobtype-removal_2,
.appointment-card-jobtype-removal_3 {
	border-left: 5px solid #EBEEA2;
	background: #FFF;
}

.appointment-card-jobtype-DE_RE,
.appointment-card-jobtype-DE_RE_2,
.appointment-card-jobtype-DE_RE_3 {
	border-left: 5px solid #A2E7AF;
	background: #FFF;
}

.appointment-card-jobtype-intall_with_removal,
.appointment-card-jobtype-intall_with_removal_2,
.appointment-card-jobtype-intall_with_removal_3 {
	border-left: 5px solid #D5B0EE;
	background: #FFF;
}

.appointment-card-jobtype-service,
.appointment-card-jobtype-service_2,
.appointment-card-jobtype-service_3 {
	border-left: 5px solid #FED3AB;
	background: #FFF;
}

.appointment-card-jobtype-warranty,
.appointment-card-jobtype-warranty_2,
.appointment-card-jobtype-warranty_3 {
	border-left: 5px solid #F69595;
	background: #FFF;
}

.appointment-card-time_off {
	background: #FFD0D0;
}

.appointment-card-project_block {
	background: #e89797;
}

.appointment-card-travel {
	background: #FFF3CD;
}

.ui-resizable-e {
	border: 2px dashed #c9c9c9;
	width: 10px;
}

.ui-resizable-s {
	border: 2px dashed #c9c9c9;
	height: 10px;
}

/* END SCHEDULE CLASSES */




/*** NEW SCHEDULE STYLES ***/
.schedule-loading {
	font-size: 3em;
	opacity: 0.5;
	text-align: center;
	padding: 50px 0;
	position: absolute;
	width: 100%;
}

.schedule-loaded {
	display: none;
	z-index: 500;
}

.schedule-container {
	overflow: auto;
	font-size: 0.8em;
}

.schedule-calendar-picker {
	position: absolute;
	width: auto;
	height: auto;
	z-index: 1000;
	background: #FFF;
	border: 1px solid #505050;
	color: #505050 !important;
	box-shadow: 0 0 8px #505050;
}

.schedule-unscheduled-block-container {
	max-height: 60vh;
	overflow: auto;
	font-size: 0.8em;
	z-index: 990;
}

.schedule-unscheduled-block-container .schedule-block {
	z-index: 1000;
}

.schedule-block {
	min-height: 50px;
	border: 1px solid #F4F4F4;
	transition: box-shadow 0.5s ease-in-out;
	position: relative;
}

.schedule-block:hover {
	box-shadow: inset 0 0 10px #E4F8FF;
}

.schedule-block.schedule-alternate-day {
	background: #FAFAFA;
}

.schedule-header.schedule-alternate-day {
	background: #EDEDED;
}

.schedule-block.schedule-today-day {
	background: #FFFFF1;
}

.schedule-header.schedule-today-day {
	background: #FFFEE0;
}

.schedule-unscheduled-block .ui-resizable-s,
.schedule-unscheduled-block .ui-resizable-e {
	display: none !important;
}

.schedule-unscheduled-block .schedule-item {
	height: auto !important;
	width: 100% !important;
	max-width: 100% !important;
	transform: translateX(0) !important;
}

.schedule-month {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	border: 1px solid #F4F4F4;
	max-width: 100%;
}

.schedule-list {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	border: 1px solid #F4F4F4;
	max-width: 100%;
	margin-bottom: 40px;
}

.schedule-day,
.schedule-week {
	min-width: 100%;
	display: grid;
}

.schedule-header {
	position: relative;
}

.schedule-header,
.schedule-sider {
	background: #F4F4F4;
	text-align: center;
	font-size: 1.1em;
	font-weight: bold;
	display: grid;
	justify-content: center;
	align-content: center;
	z-index: 900;
}

.schedule-sider {
	z-index: 900;
}

.schedule-day-header,
.schedule-day .schedule-block,
.schedule-week-header,
.schedule-week .schedule-block {
	min-width: 150px;
}

.schedule-list-header {
	background: #F4F4F4;
	text-align: center;
	font-size: 1.1em;
	font-weight: bold;
	display: grid;
	justify-content: center;
	align-content: center;
	z-index: 900;
	padding: 20px;
}

.schedule-month-day-square {
	font-size: 0.8em;
	font-weight: bold;
	color: #C3C3C3;
	padding: 2px;
	display: inline-block;
	border: 1px solid #F4F4F4;
	margin: -2px;
}

.schedule-item {
	background: #FFF;
	color: #505050;
	border: 1px solid #D2D2D2;
	box-shadow: 0 0 8px #D2D2D2;
	margin: 2px;
	text-align: center;
	display: inline-block;
	width: 100%;
	box-sizing: border-box;
	vertical-align: top;
	z-index: 500;
	overflow: hidden;
}

.schedule-day .schedule-item,
.schedule-week .schedule-item {
	position: absolute;
	width: 150px;
}

.schedule-day .schedule-item:hover,
.schedule-week .schedule-item:hover {
	z-index: 600;
}

.schedule-list .schedule-item {
	max-width: 24%;
}

.ui-resizable-e {
	border: 2px dashed #c9c9c9;
	width: 10px !important;
}

.ui-resizable-s {
	border: 2px dashed #c9c9c9;
	height: 10px !important;
}

@media screen and (max-width: 1025px) {
	.schedule-list .schedule-item {
		max-width: 49% !important;
	}
}

@media screen and (max-width: 700px) {
	.schedule-list .schedule-item {
		max-width: 100% !important;
	}
}