
.hidden {
	display: none;
}

.printlogo {
	display: none;
}

.logo {
	line-height: 0px !important;
	position: initial !important;
}

.text-strikethrough {
	text-decoration: line-through;
}

.enlarged .side-nav .side-nav-item {
	white-space: normal !important;
}

.left-side-menu {
	padding-top: 0px !important;
}

.grabbable {
    cursor: move; /* fallback if grab cursor is unsupported */
    cursor: grab;
    cursor: -moz-grab;
    cursor: -webkit-grab;
}

 /* (Optional) Apply a "closed-hand" cursor during drag operation. */
.grabbable:active {
    cursor: grabbing;
    cursor: -moz-grabbing;
    cursor: -webkit-grabbing;
}

.treeview, .treeview ul {
	list-style-type: none;
	overflow: hidden;
	padding-inline-start: 5px;
}

.treeview li {
	padding: 0.15em 0 0.15em 1.6em;
	background-repeat: no-repeat;
	background-size: 24px 24px;
}

.treeview li.contains-items {
	background-image: url('icons/arrow-left.png');
} 

.treeview li.items-expanded {
	background-image: url('icons/arrow-down.png');
}

.treeview > li:hover {
	cursor: pointer;
	background-size: 24px 24px;
}

.treeview span.has-node-icon {
	padding: 0.15em 0 0.15em 2.0em;
	background-repeat: no-repeat;
	background-size: 24px 24px;
}

.treeview span:not(span.has-node-icon):hover {
	background-color: rgba(246, 246, 246, 0.7);
}

/*.nav-user {
	padding: 15px 30px 15px 30px !important;
}*/

.level0 {
	padding-left: 0px;
}

.level1 {
	padding-left: 25px;
}

.level2 {
	padding-left: 50px;
}

.level3 {
	padding-left: 75px;
}

.level4 {
	padding-left: 100px;
}

.daterangepicker, .select2-container {
    /*z-index: 99999 !important;*/
}

.daterangepicker select.ampmselect, .daterangepicker select.hourselect, .daterangepicker select.minuteselect, .daterangepicker select.secondselect {
    color: #000000 !important;
}

.rounded {
	border-radius: .25rem;
}

.text-black {
	color: #313a46;
}

.print-header {
	display: none;
}

.select2-selection--multiple { 
	max-height: 10rem;
	overflow: auto;
}

.select2-results__option[aria-selected=true] {
	color: #c30778 !important;
}

.apex-charts text.apexcharts-datalabel {
	fill: #ffffff !important;
	
}

.pointer {
	cursor: pointer;
}

.custom-accordion .card-header {
    background-color: #f1f3fa;
}

.strong { font-weight: bold; }

table.table-fill td, table.table-fill th { 
	padding: .5rem; text-align: center; vertical-align: top !important; 
}

@media only screen {
	.fill { min-height: 100%; height: 100%; margin-top: 20px; }
	table.table-fill { position: relative; display: block; width: 100%; overflow: hidden; border-collapse: collapse; margin-bottom: 0px; }
	table.table-fill thead { position: relative; display: block; width: 100%; overflow: visible; }
	table.table-fill thead th { min-width: 120px; max-width: 120px; height: 32px; }
	table.table-fill tbody td { min-width: 120px; max-width: 120px; }
	table.table-fill thead th:nth-child(1) { position: relative; }
	table.table-fill tbody { position: relative; display: block; width: 100%; height: 60vh; overflow: scroll; }
	table.table-fill tbody tr td:nth-child(1) { position: relative; background-color: #ffffff; z-index: 2; }
}

@media (max-width: 768px) {
	.nav-user {
		padding: 17px 5px 17px 48px !important;
	}
	.responsive-container .responsive-large {
		display: none;
	}
	.responsive-container .responsive-small {
		display: inline;
	}
	.responsive-text span {
		display: none;
	}
	li.paginate_button.next, li.paginate_button.previous {
		font-size: .9rem !important;
	}
}

@media (min-width: 767px) {
	.responsive-container .responsive-large {
		display: inline;
	}
	.responsive-container .responsive-small {
		display: none;
	}
	.responsive-text span {
		display: inline;
	}
}

.guage {
	position: relative;
	margin: 4px;
	float:left;
	text-align: center;
}

.guage-overflow { /* Wraps the rotating .bar */
	position: relative;
	overflow: hidden; /* Comment this line to understand the trick */
	width: 120px; height: 60px; /* Half circle (overflow) */
	margin-bottom: -14px; /* bring the numbers up */
}

.guage-bar {
	position: absolute;
	top: 0; left: 0;
	width: 120px; height: 120px; /* full circle! */
	border-radius: 50%;
	box-sizing: border-box;
	border: 12px solid #eee;     /* half gray, */
	border-bottom-color: #0bf;  /* half azure */
	border-right-color: #0bf;
}

*:focus{
	outline:0px;
}

.printdoc .doclogo {
	padding-left: 20px;
	padding-bottom: 20px;
	height: 160px;
}

.printdoc .header {
	font-size: 0.9rem;
	line-height: 1.1;
}

.bg-green {
	background-color: var(--accent-colour) !important;
	color: #ffffff;
}

.printdoc .quoteSection {
	background-color: var(--accent-colour) !important;
	color: #ffffff;
	padding: 10px !important;
}

.printdoc td, .printdoc dd {
	line-height: 0.9;
	margin-bottom: 1rem !important;
}

#assumptions {
	page-break-before: always;
	font-size: 10px;
}
#assumptions ol {
	padding-inline-start: 25px;
	list-style-type: disc;
}
#assumptions ol ol {
	padding-inline-start: 20px;
	list-style-type: decimal;
}
#assumptions ol ol li {
	margin-bottom: 0px;
}
#terms {
	font-size: 10px;
}
#terms ol {
	padding-inline-start: 20px;
	list-style-type: decimal;
}
#terms ol ol {
	padding-inline-start: 20px;
	list-style-type: lower-alpha;
}
#terms ol ol ol {
	padding-inline-start: 20px;
	list-style-type: lower-roman;
}
#terms ol ol ol ol {
	padding-inline-start: 20px;
	list-style-type: decimal;
}
#terms p {
	padding-inline-start: 20px;
	margin-bottom: 0px;
}
#terms li, #terms p {
}

.quote-signature  {
	border: 1px solid #eef2f7;
}
.quote-signature div.row  {
	margin-left: 0px;
	margin-right: 0px;
}

.quote-signature .dotted-border {
	border: 1px dotted #eef2f7;
}

div.rootnest > div.item > div.row > div.col {
	padding-left: 0px;
}
div.rootnest > div.item > div.nested > div.item > div.row > div.col {
	padding-left: 30px;
}
div.rootnest > div.item > div.nested > div.item > div.nested > div.item > div.row > div.col {
	padding-left: 60px;
}

div.nested {
	min-height: 20px;
}

div.quote-borders div.nested {
	border: 1px dashed #eef2f7;
}

div.subtext {
	margin-top: -0.5rem;
}

div.quote-table-head {
	font-weight: bold;
	font-size: 0.8rem;
	padding-bottom: 10px;
	margin-left: 0px;
	margin-right: 0px;
}


@media (min-width: 767px) {
	div.printdoc {
		width: 60%;
	}
}

div.printdoc {
	margin: auto;
	margin-top: 20px;
}

.price-discounted {
	text-decoration: line-through;
}

.action-icon {
    color: inherit;
    font-size: 18px;
    display: inline-block;
    line-height: 1;
}

.input-signature {
	height: 250px;
	border: 1px solid #dee2e6;
	border-radius: 0.25rem;
}

[data-toggle="reset-signature"]:hover {
	cursor: pointer;
}

.bulk-selected {
	background-color: #f1f3fa;
}

@media only screen and (max-width: 768px) {
	.modal .modal-body {
		max-height: 80vh;
		overflow-y: auto;
	}
}

@media (max-width: 768px) {
	.fc-toolbar {
		display: inline-block !important;
		text-align: center;
	}
	.fc-toolbar .fc-toolbar-chunk {
		padding: 6px;
	}
	.is-position-fixed {
		position: inherit !important;
	}
}

@media (min-width: 769px) {
	.is-position-fixed {
		top: 8vh !important;
	}
}

.was-validated .form-control:invalid + .select2 .select2-selection {
    border-color: #fa5c7c !important;
}

.was-validated .form-control:valid + .select2 .select2-selection {
    border-color: #0acf97 !important;
}

.was-validated .custom-file-input:invalid ~ .custom-file-label {
	border-color: #fa5c7c;
}

.was-validated .custom-file-input:invalid {
	border-color: #fa5c7c;
}

.was-validated .custom-file-input:valid ~ .custom-file-label {
	border-color: #0acf97;
}

.was-validated canvas.input-signature.is-invalid {
	border-color: #fa5c7c;
}

.was-validated canvas.input-signature.is-valid {
	border-color: #0acf97;
}

.fc-bg-event .fc-event-title {
	display: none;
}

.fc-event {
	background-color: var(--fc-event-bg-color);
}

.fc-direction-ltr .fc-timeline-event.fc-event-end, .fc-direction-ltr .fc-timeline-more-link, .fc-timeline-event {
	margin: 3px !important;
}

.select2 > .selection, .select2-selection, .select2-selection__rendered, .select2-selection__choice__remove {
	padding-right: 0px !important;
}

/*.fc-h-event .fc-event-main {
	color: inherit !important;
}*/

input.no-spin::-webkit-outer-spin-button, input.no-spin::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.select2-no-arrow .select2-selection__arrow {
	display: none;
}

.select2-results__option {
	white-space: nowrap;
}

.select2-dropdown {
	min-width: 200px;
}

.w3w {
	color: #E11F26;
	margin-right: 1px;
}

.qr-code {
	pointer-events: none;
}

.select2-container--default .select2-results__option[aria-disabled=true] {
    display: none;
}

.dt-button.dropdown-item.buttons-columnVisibility.active {
	background-color: #727cf5;
	color: #ffffff;
}

.dt-button.dropdown-item.buttons-columnVisibility:last-of-type {
	display: none;
}

div.ql-editor h1, div.card-body h1 {
	color: #93c73e;
	margin-top: 1em;
	margin-bottom: 0.5em;
	font-size: 22px;
}
div.ql-editor h1:first-child { margin-top: 0px; }

div.ql-editor h2, div.card-body h2 {
	color: #93c73e;
	margin-top: 0.8em;
	margin-bottom: 0.3em;
	font-size: 18px;
}

div.ql-editor p, div.card-body p {
	font-size: 16px;
	top: 6px !important;
	margin-bottom: 0.5em !important;
}

div.ql-editor ul, div.ql-editor ol {
	margin-bottom: 0.5em !important;
}

div.ql-editor li, div.card-body li {
	font-size: 16px;
}

.toc-link::before {
	width: inherit;
}

div.coc {
	color: #000000 !important;
}

div.coc table {
	width: 90%;
	margin: auto;
}

div.coc table td {
	border: 1px solid black;
}

div.coc table.coc-page1 td:nth-child(1) {
	width: 50%;
	padding: 8px;
}

div.coc table.coc-page1 td:nth-child(2) {
	width: 50%;
	padding: 8px;
	text-align: center;
}

div.coc table.coc-signature td {
	width: 33%;
}

div.coc table.coc-page2 td:nth-child(1) {
	width: 70%;
	font-size: 12px;
	padding: 4px;
}

div.coc table.coc-page2 td:nth-child(2) {
	width: 30%;
	font-size: 12px;
	padding: 4px;
	text-align: left;
}

.modal-dialog {
    overflow-y: initial !important
}
.modal-body {
    max-height: calc(100vh - 200px);
    overflow-y: auto;
}

.table-timesheet tbody tr.day-0 {
	background-color: #ffffff;
}

.table-timesheet tbody tr.day-1 {
	background-color: #f1f3fa;
}

.table-timesheet tbody tr.day-2 {
	background-color: #ffffff;
}

.table-timesheet tbody tr.day-3 {
	background-color: #f1f3fa;
}

.table-timesheet tbody tr.day-4 {
	background-color: #ffffff;
}

.table-timesheet tbody tr.day-5 {
	background-color: #f1f3fa;
}

.table-timesheet tbody tr.day-6 {
	background-color: #ffffff;
}

.select2-selection--multiple {
    overflow: hidden !important;
    height: auto !important;
    max-height: initial;
}

.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky>* {
	top: 80px;
}

.bg-gt-silver, .bg-gt-silver .fc-event-main {
	color: #111 !important;
	background-color: #d4d4d4;
}

.bg-gt-blue {
	color: #fff;
	background-color: #398ccb;
}

.bg-gt-orange {
	color: #fff;
	background-color: #ee7203;
}

.bg-gt-green {
	color: #fff;
	background-color: #65b32e;
}

.bg-fc-bankholiday {
    background-color: var(--fc-non-business-color, rgba(215, 215, 215, 0.3)) !important;
    opacity: 1 !important;
}