* {
	font-family:"Open Sans", sans-serif;	
	font-size:20px;
}

body {
	background:#F1F1F1;
}

.load-overlay-text {
	color:#C40000;
	font-size:30px;
	font-weight:bold;
}

#main-container {
	height:100%;
}

#current-page {
	padding:15px;
}

.navbar {
	background-color:#212121;
}

.navbar, .navbar a {
	color:#E6E6E6 !important;	
}

.navbar img {
	height:30px;
	width:30px;	
}

/*#top-panel {
	background-color:#212121;
}

#top-panel img {
	width:30px;
	height:30px;	
}

.navbar {
	padding:5px;
}
.no-padding {
	padding:0px;
}
	
*/
#login-panel {
	margin-top:50px;	
}

.control-label {
	font-weight:bold;	
}

.load-overlay {
	/*z-index: 10000;*/
	animation: fade-in 0.25s linear;
	opacity:0.75;
}

@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-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 {
	background-color:#fff;
	margin-top:-15px;
	margin-left:-15px;
	margin-right:-15px;
	padding-top:15px;
	padding-left:15px;
	padding-right:15px;
	margin-bottom:15px;
}

.tabbed-header {
	margin-bottom:15px;
}

.thin-page-header {
	min-height:63px;
	height:63px;
	padding-top:15px;
}

.page-header h1 {
	font-size:24px;
	margin-top:0px;
	margin-bottom:30px;
	margin-left:20px;
}

h1, h2, h3 {
	font-weight:bold;
	color:#c40000;
}

h1 {
	font-size:30px;
	margin-bottom:30px;
}
	

.nav-tabs {
	border-bottom:none !important;
}

.nav-tabs .nav-link {
	margin-right:5px;
	border-width:0px !important;
	border-top:4px solid #FFF !important;
	padding:10px 15px;
	color:#969696;
	border-radius:0px !important;
	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;
}

.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;
}

/**************************************************/
/* 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;
}

.option-name-cell {
	padding:12px !important;
	width:200px;
	padding-left:5px;
}

.option-value-cell {
	padding:0px !important;
}

.option-value-cell select {
	border:none;
	padding:10px;
	margin:0px;
	height:100%;
}

.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;	
}

.calendar .fc-right .btn-group button {
	margin-left:15px !important;
}

.fc-highlight {
	background:#FF00FF;	
}

.fc-view-container,
.fc-head-container th {
	background-color:#fff;
}

.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;
}

h2 {
    font-size: 20px;
    font-weight: bold;
    border-bottom: 2px solid #e6c2c2;
    margin-bottom: 15px;
    padding-bottom: 15px;
    text-align: center;
}

.date-header,
.table-header {
	/*background:#eee;*/
	color:#c40000;
	font-weight:bold;
	background:#fefefe;
	text-align:center;
}

.appointment-table-overdue {
	color:#FF0000;
}

.appointment-complete-later {
	font-weight:bold;
	background-color:#fffcd5;
	color:#d08e16;
}

.appointment-overdue {
	
}

.appointment-non-customer {
}
	
.appointment-customer-address {
	margin-top:5px;
}

.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;
	border-bottom-right-radius:0px;
}

.sub-label {
	margin-bottom:10px;
	display:block;
}

.text-info {
	color:#c40000 !important;	
}

.product-info {
	text-decoration:none;
	color:#212529;
	margin-bottom:15px;
	overflow:auto;
	display:block;
	/*border-bottom:1px solid #f1f1f1;*/
	/*padding-bottom:10px;	*/
}

.product-info:hover {
	text-decoration:none;
}

.product-info:not(.non-clickable) {
	cursor:pointer;
}

.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	
}

.product-info-price {
	font-weight:bold;
	/*margin-bottom:10px;*/
	/*float:right;*/
	color:#c40000;
	margin-top:10px;
	font-size:14px;
}

.product-info-field-price {
	color:#aaa;
}

.product-info-name {
	font-weight:bold;
	margin-bottom:10px;
}

.product-info-location {
	margin-bottom:10px;
	margin-top:-10px;
	font-size:13px;
	color:blue;
	font-weight:bold;
}

.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; 
}

.product-info:not(.non-clickable):hover .product-info-image {
	background-image:url(/images/stairlift-icon-sel.png);
}

.product-info-label {
	font-weight:bold;
	width:175px;
	display:inline-block;
}

.thin-padding {
	padding:10px;
}
	
.bottom-button-bar {
	background:white;
	margin:15px -15px -15px -15px;
	padding:15px;
	overflow:auto;
}

.text-grey {
	color:#aaa;
}

.signature-pad {
	background:#fefefe;
	width:100%;
	height:300px;
}

.survey-summary-total-price {
	font-size:30px;
	text-align:center;
}

.nav-pills .nav-link {
	border-radius:0px !important;
}
/*
.photo-preview {
	width:200px;
	height:200px;
	border:1px solid #ccc;
}
*/
.photo-preview-outer {
	float:left;
	border:1px solid #bbb;
	background-color:#eee;
	padding:10px;
	margin-right:15px;
	margin-bottom:20px;
	cursor:pointer;
}

.photo-preview-inner {
	width:200px;
	height:200px;
	background-size:contain;
	background-color:black;
	background-position:center center;
	background-repeat:no-repeat;
}

.photo-preview-caption {
	font-size:12px;
	text-align:center;
	min-height:30px;
	padding-top:10px;
	padding-bottom:0px;
	max-width:200px;
}

.photo-preview-cover {
	font-weight:bold;
	color:red;
	text-align:center;
	padding-top:10px;
	padding-bottom:0px;
	max-width:200px;
}

.negative-bottom-margin {
	margin-bottom:-15px;	
}

.photo-preview-large-inner {
	width:100%;
	height:100%;
	background-size:contain;
	background-color:black;
	background-position:center center;
	background-repeat:no-repeat;
}

.photo-preview-large-caption {
	/*font-size:12px;
	text-align:center;
	min-height:30px;
	padding-top:10px;
	padding-bottom:0px;
	max-width:200px;*/
}

.full-cell-input {
    padding: 24px 16px;
    border: none !important;
}
	
.extra-info {
	color:#aaa;
}

.blink {
	-webkit-animation: blink .75s linear infinite;
	-moz-animation: blink .75s linear infinite;
	-ms-animation: blink .75s linear infinite;
	-o-animation: blink .75s linear infinite;
	 animation: blink .75s linear infinite;
}
@-webkit-keyframes blink {
	0% { opacity: 1; }
	50% { opacity: 1; }
	50.01% { opacity: 0; }
	100% { opacity: 0; }
}
@-moz-keyframes blink {
	0% { opacity: 1; }
	50% { opacity: 1; }
	50.01% { opacity: 0; }
	100% { opacity: 0; }
}
@-ms-keyframes blink {
	0% { opacity: 1; }
	50% { opacity: 1; }
	50.01% { opacity: 0; }
	100% { opacity: 0; }
}
@-o-keyframes blink {
	0% { opacity: 1; }
	50% { opacity: 1; }
	50.01% { opacity: 0; }
	100% { opacity: 0; }
}
@keyframes blink {
	0% { opacity: 1; }
	50% { opacity: 1; }
	50.01% { opacity: 0; }
	100% { opacity: 0; }
}

body {
	touch-action: manipulation;
}

.errors-table {
	color:red;
	font-weight:bold;
}

@keyframes spin {
    from {
        transform:rotate(0deg);
    }
    to {
        transform:rotate(360deg);
    }
}

.spinning-icon {
  animation-name: spin;
  animation-duration: 750ms;
  animation-iteration-count: infinite;
  animation-timing-function: linear; 
}

.full-screen-modal .modal-dialog {
	position:absolute;
	margin:0px !important;
	top:0px;
	left:0px;
	width:100%;
	height:100%;
}
	
.full-screen-modal .modal-content {
	height:100%;	
}
/*
.signature-pad {
	background-color:#e0dede;
	margin:auto;
	display:block;
}*/
	
#signature-canvas {
	position:absolute;
	width:100%;
	height:100%;
}

#signature-container {
	position:absolute;
	width:100%;
	background:#fff;
}

#signature-background {
	width:100%;
	height:100%;
    background-image:url(/images/sign-here.png);
    background-size:contain;
    background-position:center center;
    background-repeat:no-repeat;
    background-color:#ededed;
}

.fullscreen-modal {
	/*z-index:1000;*/
	position:fixed;
	left:0px;
	top:0px;
	width:100%;
	height:100vh;
	background:white;
	display:none;
}

body.fullscreen-modal-open {
	overflow:hidden;
	position: relative
}

.fullscreen-modal-header {
	background-color:#fff;
	position:relative;
	z-index:1000;
	padding:15px;
}

.fullscreen-modal-header-title {
	font-size:20px;
	font-weight:bold;
	margin-bottom:15px;
	text-align:center;
}

.appointment-provisional {
	color:blue;
	font-weight:bold;
	margin-top:10px;
}

.bottom-border {
	margin-bottom:15px;
	padding-bottom:15px;
	border-bottom:1px solid #ccc;
}

.last-updated,
.last-updated span {
	color:#969696;
	margin-bottom:15px;
	text-align:center;
	font-size:16px;
	height:20px;
}

summary {
	list-style: none;
}

summary::marker {
	display:none;	
}

.plus-vat {
	font-size:14px;
	color:#808080;
}
	