* {
	font-family:"Open Sans", sans-serif;	
}

html, body {
	/*height:100%;*/
}

body {
	background:#F1F1F1;
}

.load-overlay {
	animation: fade-in 0.25s linear;
	opacity:0.75;
	background:#eee;
}

.load-overlay-text {
	color:#C40000;
	font-size:30px;
	font-weight:bold;
}

#main-container {
	height:100%;	
}

#top-bar {
	/*background:#c40000;*/
	position:fixed;
	top:0px;
	width:100%;
	height:50px;
	/*z-index:120;*/
	/*z-index:90;*/
	/*display:none;*/
	background:#FFF;
	border-bottom:2px solid #ccc;
	padding-top:10px;
	padding-left:10px;
	padding-left:175px;
	font-size:20px;
	color:#AAA;
}

#side-panel {
	background:#212121;
	/*background:#c40000;*/
	position:fixed;
	top:0px;
	left:0px;
	width:160px;
	height:100%;
	/*z-index:130;*/
	/*padding-top:10px;*/
	/*border-right:8px solid #c40000;*/
	
	/*background-image:url(/images/1cs-butterfly.png);
	background-repeat:no-repeat;
	background-position:49px 10px;*/
}

#current-page {
	top:0px;
	left:0px;
	margin-left:160px;
	/*padding:65px 15px 15px 15px;*/
	padding:15px;
}
	
	
#side-panel .nav {
	margin:0px;
	padding:0px;	
}

#side-panel .nav li {
	margin:0px;
	display:block;
	width:100%;
}

#side-panel .nav li a {
	color:#FFF;
	margin:0px;
	padding:15px;
	display:block;
	color:#E6E6E6;
	transition:padding-left 0.05s linear;
}

#side-panel .nav li a:hover,
#side-panel .nav li.active a {
	text-decoration:none;
	background-color:#c40000;
	color:#ffcccc;
	padding-left:20px;
}

#side-panel .nav li a:hover .fa,
#side-panel .nav li.active a .fa,
#side-panel .nav li a:hover .fas,
#side-panel .nav li.active a .fas {
	color:#ff7c7c;
	/*margin-right:10px;*/
}

#side-panel .nav .fa,
#side-panel .nav .fas {
	color:#999999;
	margin-right:5px;
	width:20px;
}

#login-panel {
	margin-top:50px;	
}

.control-label {
	font-weight:bold;	
}

@keyframes fade-in {
	0% { opacity: 0 },
	100% { opacity: 0.75 }
}

.global-search {
	border:1px solid #ccc;
	outline:none;
	padding:10px;
	font-size:20px;
	width:calc(100% - 40px);
}

.search-panel {
/*	position:absolute;
	left:160px;
	top:50px;
	background:white;
	padding-top:15px;
	padding-bottom:0px;
	border-bottom:2px solid #808080;
	border-right:2px solid #808080;
	width:1000px;
	color:#808080*/
	margin-top:15px;
}

.search-result {
	cursor:pointer;
	padding:15px;
	display:block;
	overflow:auto;
	/*margin-bottom:15px;*/
}

.search-no-results {
	text-align:center;
	padding:30px 30px 15px 30px;
	font-style:italic;
}

.search-result:hover {
	background:#c40000;
	color:#fff;
}

.search-result:hover .search-result-name {
	color:#fff;
}

.search-column-header {
	border-bottom:1px solid #ccc;
	padding-bottom:15px;
	/*margin-bottom:15px;*/
	color:#c40000;
	font-weight:bold;
	text-align:center;
}

.search-result-icon {
	/*background:red;*/
	width:40px;
	float:left;
	margin-top:4px;
}

.search-result-body {
	/*background:blue;*/
	float:left;
	/*max-width:298px;*/
}

.search-result-name {
	font-size:20px;
	font-weight:bold;
	color:#212121;
}

.search-result-detail {
	font-size:15px;
}

.page-header {
	margin-top:-15px;
	margin-left:-15px;
	margin-right:-15px;
	/*margin-bottom:-15px;*/
	margin-bottom:15px;
	padding-top:25px;
	padding-left:15px;
	padding-right:15px;
	background-color:#fff;
	min-height:95px;
}

.tabbed-header {
	margin-bottom:15px;
}

.thin-page-header {
	min-height:63px;
	/*height:63px;*/
	padding-top:15px;
	margin-bottom:15px;
}

.page-header h1 {
	font-size:24px;
	margin-top:0px;
	margin-bottom:30px;
	margin-left:20px;
}

.tabbed-header h1 {
	margin-bottom:20px;
}

h1, h2, h3, h4 {
	font-weight:bold;
	color:#c40000;
}

h3.section-heading {
	font-size:16px;
	border-bottom:1px solid #c40000;
	margin-bottom:10px;
	padding-bottom:10px;
}

.nav-tabs {
	border-bottom:none !important;
	background-color:#fff;
}

.nav-link {
	border-radius:0px !important;
}

.nav-tabs .nav-link {
	margin-right:5px;
	border-width:0px !important;
	border-top:4px solid #FFF !important;
	padding:10px 15px;
	color:#969696;
	background-color:#fff;
}

.nav-tabs .nav-link:hover {
	border-top:4px solid #e6c2c2 !important;
	background:#fafafa;
}

.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
	background-color:#F1F1F1 !important;
	border-top:4px solid #c40000 !important;
	color:#212529;
}

.panel {
	background:#FFF;
  	box-shadow: 2px 2px #E6E6E6;
  	margin-bottom:15px;
}

.panel-heading {
	color:#c40000;
	border-bottom:2px solid #e6c2c2;
	margin-bottom:5px;
	padding-left:15px;	
	padding-right:15px;	
	padding-bottom:10px;	
	padding-top:10px;
	font-weight:bold;
}	

.panel-body {
	padding:15px;
}

.form-control {
	border-radius:0px !important;
}

.form-control:focus {
	border-color: #c40000;
	box-shadow:none !important;
	/*outline:1px solid #e6c2c2;*/
	/*transition:none !important;*/
	/*box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(196, 0, 0, 0.25);*/
	/*box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(196, 0, 0, 0.25);*/
}

.text-uppercase {
	text-transform:uppercase;
}

.header-icon {
	margin-right:10px;
}

.checkbox-row input {
	margin-right:10px;
}

.btn {
	border-radius:0px;
	border:none !important;
}

.btn-secondary {
	background-color:#212121 !important;
	color:#E6E6E6 !important;
}

.btn-secondary:hover {
	background-color:#000;
}

.top-right-panel {
	/*position:fixed;*/
	/*z-index:1000;*/
	position:absolute;
	top:15px;
	right:15px;
}

.inline-block {
	display:inline-block	
}
/*
.row:last-child .form-group {
	margin-bottom:0px;
}
	
	*/
.table:last-child {
	/*margin-bottom:0px;*/
}

.no-bottom-margin {
	margin-bottom:0px !important;
}

.modal-content {
	border-radius:0px;
}

.logo-container {
	text-align:center;
	margin-bottom:15px !important;
}

.logo-container div {
	display:none;
	width:30px;
	height:30px;
	font-size:30px;
	margin:7px 0px;
	/*color:white;*/
}

.logo-container:hover img {
	display:none;
}

.logo-container:hover div {
	display:inline-block;
	/*color:#c40000 !important;*/
}

th {
	background-color:#f1f1f1
}

.text-info {
	color:#7b7b7b !important;
}

.modal-title {
	color:#c40000;
}

.clickable-row {
	cursor:pointer;
}

.clickable-row:hover td:first-child {
	box-shadow: inset 2px 0 0 #c40000;
}
.clickable-row:hover td:last-child {
	box-shadow: inset -2px 0 0 #c40000;
}

.clickable-row:hover td:first-child:last-child {
	box-shadow: inset -2px 0 0 #c40000,
				inset 2px 0 0 #c40000;
}

/**************************************************/
/* Dropzone                                       */
/**************************************************/

.dropzone {
	border:2px dashed #c40000  !important;
	position:relative;
}

.dz-message {
	position: absolute;
    top: 45%;
    margin-top: 0px !important;
    left: 50%;
    margin-left: -110px !important;
	text-align:center !important;
	font-size:20px;
}

.dz-filename {
	margin-top:35px;
}

/**************************************************/

.options-table select {
	border:none !important;
	height:48px;
}

.options-table-readonly td {
	background-color:#e9ecef;
}

.option-name-cell {
	/*padding:7px !important;*/
	width:200px;
	padding-left:5px;
}

.option-value-cell {
	padding:0px !important;
}

.product-image-container {
	overflow:auto;
	margin-right:-15px;
}

.product-image {
	width:150px;
	height:150px;
	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat;
	float:left;
	margin-right:15px;
	cursor:pointer;
}

.subtitle {
	margin-left:40px;
	font-size:14px;
	color:#808080;
	margin-top:10px;
	/*font-weight:normal;*/
}

.total-row {
	font-weight:bold;
}

.row:last-child .form-group {
	/*margin-bottom:0px !important;*/
}

.quote-row-note .quote-line-description {
	color:#C40000;
	/*font-weight:bold;*/
	/*font-style:italic;*/
}


.ui-sortable-helper {
    display: table;
}

.drag-helper-table {
	background:#FFF;
	opacity: 0.75;
	margin:-1px; /* To counteract the border */
}
	
.modal-subtitle {
	margin-bottom:15px;
	font-style:italic;	
	text-align:center;
	clear:left;
	font-size:16px;
	color:#808080;
}

.text-bold {
	font-weight:bold;	
}
 
.thin-padding-cell {
	padding:5px !important;	
}

.row-urgent {
	color:red;
	font-weight:bold;	
}

.row-grey {
	color:#aaa;
}

.text-urgent {
	color:red;
	font-weight:bold;
}	

.row-unselected {
	color:#aaa;
}

.calendar .fc-right .btn-group button {
	margin-left:15px !important;
}

.fc-highlight {
	background:#FF00FF;	
}

.fc-view-container,
.fc-head-container th {
	background-color:#fff;
}

.fc-time,
.fc-title {
    /*background: rgba(255,255,255,.75);	*/
}

.fc-title {
	font-size:11px !important;
}

.map-container * {
    overflow:visible;
}

.thin-gutter .col:not(:last-child),
.thin-gutter [class^="col-"]:not(:last-child) {
	padding-right:7px;
}

.thin-gutter .col:not(:first-child),
.thin-gutter [class^="col-"]:not(:first-child) {
	padding-left:7px;
}

.bottom-margin {
	margin-bottom:15px;
}

.small-bottom-margin {
	margin-bottom:5px;
}

.dark-background {
	background-color:#f1f1f1;
}

.white-background {
	background-color:#ffffff;	
}

.product-info,
.part-info {
	text-decoration:none;
	color:#212529;
	margin-bottom:15px;
	overflow:auto;
	display:block;
	margin-bottom:15px;
	padding-bottom:10px;	
	cursor:pointer;
}

.product-info {
	border-bottom:1px solid #f1f1f1;
}

.product-info-removed {
	color:#808080 !important;
}
.product-info-removed:hover,
.product-info-removed:hover {
	color:#808080 !important;
}

.part-info-quantity {
	border:1px solid #ccc;
	padding:7px 0px;
	width:50px;
	text-align:center;
	float:left;
	display:inline-block;
	font-size:20px;
	font-weight:bold;
}

.product-info:hover,
.part-info:hover {
	text-decoration:none;
}

.product-info:not(.non-clickable) {
	cursor:pointer;
}

.product-info:last-child {
	margin-bottom:0px;
	border-bottom:none;
	padding-bottom:0px;	
}

.product-info-image {
	float:left;
	margin-right:15px;
	width:75px;
	height:75px;
	background-image:url(/images/stairlift-icon.png);
	background-size:cover;
	border-radius:4px	
}

.workshop-product-image {
	width:100px;
	height:100px;
	background-size:cover;
	border-radius:4px	
}

.part-info-image {
	float:left;
	margin-right:15px;
	width:75px;
	height:75px;
	background-color:#aaa;
	/*background-image:url(/images/stairlift-icon.png);*/
	background-size:cover;
	border-radius:4px	
}

.product-info-name {
	font-weight:bold;
	margin-bottom:10px;
}

.product-info-condemned {
	color:#FF0000;
}

.part-info-name {
	font-weight:bold;
	margin-bottom:5px;
}

.product-info-location {
	margin-bottom:10px;
	margin-top:-10px;
	font-size:13px;
}

.part-info-field {
	margin-bottom:5px;
	font-style:italic;	
	float:right;
}

.product-info-fields {
	font-size:13px;
}

.product-info:not(.non-clickable):hover .product-info-name, 
.product-info:not(.non-clickable):hover .product-info-location, 
.product-info:not(.non-clickable):hover .product-info-label,
.product-info:not(.non-clickable):hover .product-info-fields {
	color:#C40000; 
}

.part-info:not(.non-clickable):hover .part-info-name, 
.part-info:not(.non-clickable):hover .part-info-field {
	color:#C40000; 
}


.product-info:not(.non-clickable):hover .product-info-image {
	background-image:url(/images/stairlift-icon-sel.png);
}

.product-info-label {
	font-weight:bold;
	width:100px;
	display:inline-block;
}

.product-info-label-full {
	font-weight:bold;
	display:inline-block;
}

.right-margin {
	margin-right:15px;	
}

.tab-content-padded {
	padding:15px;
}

.email-body {
	width:100%;
	height:100%;	
}

.ck-editor__editable {
    min-height: 500px;
}

.attachment-preview-iframe {
	width:100%;
	height:500px;
	min-height:500px;
	border:1px solid #ccc;
}

.toastr-top {
	top:70px;
	right:15px;
}

.toast {
	box-shadow:none !important;
}

.text-italic {
	font-style:italic;	
}

.checkbox-container {
	display: block;
	position: relative;
	padding-left: 35px;
	margin-bottom: 12px;
	cursor: pointer;
	/*font-size: 22px;*/
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

/* Hide the browser's default checkbox */
.checkbox-container input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
}

/* Create a custom checkbox */
.checkmark {
	position: absolute;
	top: 0;
	left: 0;
	height: 25px;
	width: 25px;
	background-color: #eee;
}

/* On mouse-over, add a grey background color */
.checkbox-container:hover input ~ .checkmark {
	background-color: #ccc;
}

/* When the checkbox is checked, add a blue background */
.checkbox-container input:checked ~ .checkmark {
	background-color: #2196F3;
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
	content: "";
	position: absolute;
	display: none;
}

/* Show the checkmark when checked */
.checkbox-container input:checked ~ .checkmark:after {
	display: block;
}

/* Style the checkmark/indicator */
.checkbox-container .checkmark:after {
	left: 9px;
	top: 5px;
	width: 5px;
	height: 10px;
	border: solid white;
	border-width: 0 3px 3px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.tabulator-row  {
	background:#fff !important;
}

.section-heading {
	font-size:22px;
	text-align:center;
	margin-bottom:15px;
}

.input-group>.input-group-append>.btn, .input-group>.input-group-append>.input-group-text, .input-group>.input-group-prepend:first-child>.btn:not(:first-child), .input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child), .input-group>.input-group-prepend:not(:first-child)>.btn, .input-group>.input-group-prepend:not(:first-child)>.input-group-text {
	border-top-right-radius:0px !important;
	border-bottom-right-radius:0px !important;
}

.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle), .input-group>.input-group-append:last-child>.input-group-text:not(:last-child), .input-group>.input-group-append:not(:last-child)>.btn, .input-group>.input-group-append:not(:last-child)>.input-group-text, .input-group>.input-group-prepend>.btn, .input-group>.input-group-prepend>.input-group-text {
	border-top-left-radius:0px !important;
	border-bottom-left-radius:0px !important;
}
	
.quote-line-info {
	color:#7b7b7b !important;
	margin-bottom:10px;
	font-size:14px;	
}

.table-no-border {
	border:none;
}

.table-no-border th,
.table-no-border td {
	border:none;	
}
	

/*#side-panel .separator {
	border-bottom:1px solid #5d5d5d;
	width:100%;
	height:1px;
	padding-top:5px;
	margin-bottom:5px;
}
*/
.side-panel-btn {
	padding: 5px !important;
    text-align: center;
    border: 1px solid #5f5f5f;
    width: 130px;
    margin: auto !important;
    background: #3a3939;
    color:#bfbfbf !important;
    margin-bottom:15px !important; 
    font-size:14px;
}

.side-panel-btn:hover {
    background-color:#6d6d6d !important;
    color:#fff !important;
}

.side-panel-btn:hover .fas { 
    color:#fff !important;
}

.extra-info {
	color:#aaa;
	/*margin-top:5px;	*/
	margin-bottom:10px;
}

mark {
    background: yellow;
    color: black;
    padding:0px;
}

.tooltipster-sidetip.tooltipster-libertas .tooltipster-box {
	border:none;
	background:red;
}

.tooltipster-sidetip.tooltipster-libertas .tooltipster-content {
	border:none;
	background:#212121;
}

.tooltipster-sidetip.tooltipster-libertas .tooltipster-content p:last-child {
	margin-bottom:0px !important;	
}

.customer-task-note-grey {
	color:#bababa;
}

.customer-task-overdue {
	color:#ff0000;
}
	
.customer-task-completed {
	color:#bababa;
}

.quote-line-inactive {
	color:#bababa;
}

.call-resolved {
	color:#bababa;
}

.doc-folder-empty {
	color:#bbb;
}

.document-preview-container {
	background:#fefefe;
	padding:15px;
	border:1px solid #ccc;
	border-radius:2px;
	width:230px;
	height:340px;
	float:left;
	margin-right:15px;
	margin-bottom:15px;
	cursor:pointer;
	overflow:hidden;
}

.document-preview-image {
	border:1px solid #ccc;
	border-radius:2px;
}

.document-preview-image img {
	width:100%;
	height:100%;
}

.document-preview-name {
	text-align:center;
	margin-top:15px;
	font-weight:bold;
    overflow-wrap: break-word;
}

.document-preview-subtitle {
	text-align:center;
	margin-top:5px;
	color:#aaa;
	font-size:14px;
}

.btn-light {
	background-color:#f1f1f1;
}

.product-important-note {
	color:#0000FF;
	font-weight:bold;
}

.product-important-note-red {
	color:#FF0000;
	font-weight:bold;
}

.quote-summary-column {
    position: sticky;
    top: 15px;
}

.bootbox .modal-header {
	display: block;
}

.fc-appointment-recurring {
	background:url(/images/recurring-appointment.png) 95% 95% no-repeat;
	background-size:20px 20px;
}

.fc-appointment-provisional {
	opacity:0.5;
}

.fc-appointment-cancelled {
	opacity:0.5;
	outline:3px solid red;
}

.fc-appointment-not-selected {
	/*opacity:0.5;*/
}

/*.fc-appointment-provisional.fc-appointment-not-selected {
	opacity:0.25;	
}
*/
.fc-appointment-selected {
	border-radius:0px !important;
	outline:5px solid cyan;
}

.fc-appointment-completed {
	border-radius:0px !important;
	outline:4px solid lime;
}

.fc-appointment-private {
    border:2px solid magenta !important;        
}

.fc-appointment-dfg {
    border:2px solid blue !important;        
}


.fc-event {
	cursor:pointer;
}

.recently-installed-part-restocked {
	color:green;
	font-weight:bold;
}

.blink {
	animation: blinker 1s step-start infinite;
}

@keyframes blinker {
	50% { opacity: 0; }
}

.upcoming-service-overdue {
	color:#ff0000;
}

.warranty-current {
	color:green;
	font-weight:bold;
}

.product-in-warranty {
	color:green;
	font-weight:bold;
}

.product-not-in-warranty {
	color:red;
	font-weight:bold;
}

.product-service-none {
	color:red;
	text-align:center;
}

.product-service-year {
	text-align:center;	
}

.product-service-date {
}

.product-service-in-warranty {
	color:green;
	text-align:center;
}
	
.product-service-not-in-warranty {
	color:red;
	text-align:center;
}

.block {
	display:block;
}
		
.stock-container {
	border-top: 1px solid rgba(0,0,0,.1);
	margin-top:15px;
	padding-top:15px;
	min-height:200px;
	max-height:500px;
	overflow-y:scroll;
	overflow-x:hidden;
	clear:both;
}

form {
	margin-bottom:0px;	
}

.serial-number-entry {
	display: flex;         
	align-items: center;    
	justify-content: space-between; 
	margin-bottom: 0.5rem;
}

.serialNumberInput {
	flex: 1;          
	margin-right: 1rem; 
	max-width: 400px;
}
