.toggle {
	width: 24px;
	height: 24px;
	display: inline-block;
	vertical-align: middle;
	margin-top: 4px;
	cursor: pointer;
}
.plus {
	background: url('../img/datatable-row-openclose.png') no-repeat 0 0;
}
.minus {
	background: url('../img/datatable-row-openclose.png') no-repeat 0 -23px;
	width: 24px;
	height: 24px;
	display: inline-block;
	vertical-align: middle;
	margin-top: 4px;
}
.loading24 {
	background: url('../img/ajax.gif') no-repeat 0 0;
	display: inline-block;
	width: 24px;
	height: 24px;
	vertical-align: middle;
}
.loading {
	background: url('../img/ajax.gif') no-repeat 0 0;
	display: inline-block;
	width: 16px;
	height: 16px;
	vertical-align: middle;
}

h4.real {
	font-weight: bold!important;
}
h4.estimate {
	color: gray;
}

.activities-group-parent {
	margin: 0px 10px 0px 10px;
	overflow-y: hidden;
	overflow-x: auto;
	white-space: nowrap;
}
.activities-group-parent .activities-group {
	display: inline-block;
	position: relative;
	border: 1px solid lightgrey;
	padding: 5px 25px;
	margin-left: 0px;
}
.activities-group-parent .activities-group:after, .activities-group-parent .activities-group > div:after, .activities-group-parent .activities-group:before, .activities-group-parent .activities-group > div:before {
	left: 100%;
	top: 65px;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
}
.activities-group-parent .activities-group:before, .activities-group-parent .activities-group > div:before {
	left: -2px;
}
.activities-group-parent .activities-group > div:before, .activities-group-parent .activities-group > div:after {
	border-left-color: white;
	border-width: 20px;
	margin-top: -20px;
}
.activities-group-parent .activities-group:before, .activities-group-parent .activities-group:after {
	border-left-color: lightgrey;
	border-width: 22px;
	margin-top: -22px;
}
.activities-group-parent .activities-group:before {
	z-index: 0;
}
.activities-group-parent .activities-group > div:before {
	z-index: 1;
}
.activities-group-parent .activities-group:after {
	z-index: 2;
}
.activities-group-parent .activities-group > div:after {
	z-index: 3;
}
.activities-group-parent .activities-group:first-child:before, .activities-group-parent .activities-group:first-child > div:before {
	display: none;
}
.activities-group-parent .activities-group:last-child:after, .activities-group-parent .activities-group:last-child > div:after {
	display: none;
}
.activities-group-parent .activities-group.current {
	background-color: #1496D7;
	color: white;
}
.activities-group-parent .activities-group.current > div:before, .activities-group-parent .activities-group.current > div:after {
	border-left-color: #1496D7;
}
.activities-group-parent .activities-group.current:after {
	border-left-color: #1496D7;
}
activities-group-parent .activities-group ul.activities li {
	display: block;
	padding: 3px;
	margin: 3px;
	background-color: #FAFAFA;
}
.activities-group-parent .activities-group ul {
	list-style-type: none;
	margin: 0px 0px 5px 0px;
	padding: 0px;
}
.activities-group-parent .activities-group ul li {
	padding: 5px;
}
.activities-group-parent .activities-group ul li span.pull-right {
	margin-left: 25px;
}
.activities-group-parent .activities-group ul li.disabled {
	color: gray;
}
.activities-group-parent .activities-group.current ul li.disabled {
	color: lightgrey;
}
.activities-group-parent .activities-group ul li.current {
	background-color: #3296D7;
}
.activities-group-parent .activities-group ul li.current a {
	color: white;
}
.activities-group-parent .activities-group.current a {
	background-color: #1496D7;
	color: white;
}
.activities-group-parent .activities-group.current ul li.current {
	background-color: white;
}
.activities-group-parent .activities-group.current ul li.current a {
	color: #1496D7;
	background-color: white;
}
.activities-group-parent .activities-group.current span.estimate, .activities-group-parent .activities-group li.current span.estimate {
	color: white;
}
.activities-group-parent .activities-group span.estimate, .activities-group-parent .activities-group.current li.current span.estimate {
	color: gray;
}
.activities-group-parent .activities-group.current span.real, .activities-group-parent .activities-group li.current span.real {
	color: white;
	font-weight: bold;
}
.activities-group-parent .activities-group span.real, .activities-group-parent .activities-group.current li.current span.real {
	color: black;
	font-weight: bold;
}
.activities-group-parent .invisible span.pull-left {
	text-decoration: line-through;
	visibility: visible;
}
.activities-group-parent .invisible span.pull-right {
	visibility: visible;
}
tr.error td {
	background-color: #FFB7B7;
}

div.budget {
	padding: 5px;
}
div.budget table {
	border: 1px solid lightgrey!important;
}
div.budget td, div.budget th {
	background-color: white;
}
div.budget th {
	min-width: 15ex;
	background-color: #FAFAFA;
}
div.budget th.total {
	padding-right: 10px;
}
div.budget th.grand-total {
	background-color: lightgrey;
	padding-right: 10px;
	text-decoration: underline;
}
div.budget input {
	margin: 3px;
}
div.budget-static td, div.budget-static th {
	text-align: right;
	padding: 5px 10px 5px 5px;
}

div.resource-edit {
	background: repeating-linear-gradient(-55deg, white, white 10px, #FAFAFA 10px, #FAFAFA 20px);
	margin-bottom: 5px;
}
div.resource-edit div.pull-left {
	padding: 5px;
	font-weight: bold;
}

img.resource {
	width: 50px;
	height: 50px;
	border: 1px solid lightgrey;
}

div.progress {
	 min-height: 18px;
}

.form-horizontal  legend:first-child {
	margin-top: 10px;
}

.mw15 {
	min-width: 15ex;
}
.mw20 {
	min-width: 20ex;
}
.mt0 {
	margin-top: 0px;
}
.mb0 {
	margin-bottom: 0px;
}
.ml5 {
	margin-left: 5px!important;
}
.mr5 {
	margin-right: 5px;
}
.mt5 {
	margin-top: 5px;
}
.mb5 {
	margin-bottom: 5px;
}
.mt10 {
	margin-top: 10px;
}
.mt20 {
	margin-top: 20px;
}
.mt25 {
	margin-top: 25px;
}
.mb10 {
	margin-bottom: 10px;
}
.mb20 {
	margin-bottom: 20px;
}
.mb25 {
	margin-bottom: 25px;
}

.ml15 {
	margin-left: 15px!important;
}
.mr15 {
	margin-right: 15px!important;
}

.soft-border {
	border: 1px solid lightgrey;
}

table.small-font th {
	font-size: 85%;
}
table.small-font td {
	font-size: 80%;
}

.model-edit {
	margin-bottom: 25px;
}
.model-edit .group {
	padding: 10px;
	margin-bottom: 10px;
	background-color: #FAFAFA;
	border: 1px solid lightgrey;
	min-height: 100px;
}
.model-edit .group h3 {
	border-bottom: 1px solid lightgrey;
	margin-top: 0px;
	padding-bottom: 10px;
	cursor: move;
}
.model-edit .model-group {
	min-height: 55ex;
}
.model-edit .model-fields {
	min-height: 25px;
}
.model-edit .model-field {
	padding:2px 0px;
	min-height: 25px;
	cursor: move;
}

@media (max-width: 480px) {
	.ml15 {
		margin-left: 5px!important;
	}
	.mr15 {
		margin-right: 5px!important;
	}
}

.hidden-xs.noblock {
	display: inline !important;
}

@media (max-width: 767px) {
	.modal-wide {
		width: auto!important;
		margin: 10px!important;
	}
	.modal-wide2 {
		width: auto!important;
		margin: 10px!important;
	}
	div.table-scrollable > table input.form-control {
		min-width: 15ex;
	}
	div.table-scrollable > table select.form-control {
		min-width: 15ex;
	}
	.hidden-xs.noblock {
		display: none !important;
	}
}

@media (max-width: 385px) {
	.hidden-xxs {
		display: none !important;
	}
}
.leaflet-static-text {
	background-color: white;
	padding: 10px;
	border: 1px solid lightgrey;
	min-width: 200px;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

input[type=number] {
	-moz-appearance:textfield;
}
.page-bar {
	margin-bottom: 7px!important;
}

.tabbable-custom {
	overflow: visible !important;
}
.user-login-5 .login-content {
	margin-top: 175px!important;
}

@media (max-width: 767px) {
	.user-login-5 .login-content {
		margin-top: 50px!important;
	}
}

.dropdown-submenu > a::after {
	font-family: 'Font Awesome 5 Pro';
}

.page-sidebar .page-sidebar-menu li > a > .arrow::before {
	font-family: 'Font Awesome 5 Pro';
}

.page-sidebar .page-sidebar-menu li > a > .arrow.open::before {
	font-family: 'Font Awesome 5 Pro';
}

.portlet > .portlet-title > .tools > a.fullscreen {
	font-family: 'Font Awesome 5 Pro';
	padding-top: 3px;
}

.input-required::placeholder {
	color: red;
	opacity: 0.7;
	font-size: 80%;
}

.option-required {
	color: red;
	opacity: 0.7;
	font-size: 80%;
}

.btn-nowrap {
	white-space: nowrap;
}

.btn-nowrap .btn-group > .btn, .btn-nowrap .btn-group-vertical > .btn {
	float: unset!important;
}

.table .btn-nowrap .btn {
	margin-right: unset!important;
}

.modal-dialog-option {
	border-radius: 12px!important;
	-webkit-border-radius: 12px!important;
	-moz-border-radius: 12px!important;
	background-color: lightgrey;
	padding: 3px 6px 3px 6px;
	color: #333333;
	background-color: #e5e5e5;
	text-align: center;
	text-decoration: none !important;
	min-width: 15ex;
	outline: none !important;
	display: inline-block;
	text-shadow: none !important;
}
.modal-dialog-option.active {
	background-color: #57b5e3;
	color: white;
}

div.panel-body {
	padding: 10px;
}

div.portlet-title > div.caption-cut {
	display: block!important;
	float: none!important;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.nowrap {
	white-space: nowrap;
}

.icon-btn.selected {
	background-color: #E1F0FF!important;
}
.icon-btn.hidden {
	display: none!important;
}

.dropdown-menu li > a.dropdown-toggle {
	white-space: nowrap!important;
}
.page-header.navbar .hor-menu .navbar-nav > li.classic-menu-dropdown .dropdown-menu {
	min-width: 195px;
	max-width: none;
}

.visible-on-hover-content {
	display: none;
}

.visible-on-hover:hover .visible-on-hover-content {
	display: block;
	margin-bottom: 10px;
}

.blocked-content {
	display: block;
	padding: 10px;
}

.permissionsTree {
	list-style-type: none!important;
	padding: 0;
	border-left: 1px solid lightgrey;
	border-right: 1px solid lightgrey;
	border-bottom: 1px solid lightgrey;
}
.permissionsTree li {
	padding: 0px 0px;
}
.permissionsTree li {
	border-top: 1px solid lightgrey;
}
.permissionsTree ul {
	list-style-type: none!important;
	margin-left: 0px;
	padding-inline-start: 0;
	display: none;
}
.permissionsTree ul.active {
	display: block;
}
.permissionsTree span.space {
	width: 24px;
	display: inline-block;
}
.permissionsTree .title-div:has(a) {
	cursor: pointer;
}
.permissionsTree .highlight {
	background-color: yellow;
}
.permissionsTree div.permissions {
	margin: 5px;
}
.permissionsTree .global-group {
	background-color: #FEF4DA;
}
.permissionsTree .group {
	font-size: 125%;
	font-weight: bold;
}
.permissionsTree .subgroup {
	font-weight: bold;
}
.permissionsTree .permissions-header {
	font-size: 115%;
	font-weight: bold;
	margin: 10px;
}

.table-advance.mb0 {
	margin-bottom: 0px!important;
}

.search-form .search-items {
	padding: 5px;
	display: none;
	background-color: gray;
}
.search-form .search-items a {
	padding: 5px;
	display: inline-block;
	width: 100%;
	color: lightgrey;
}
.search-form .search-items a small:before {
	content: ' ';
	display: block;
	font-size: 50%;
}

.help-important-message {
	border: 1px solid lightgrey;
	padding: 10px 5px 5px 10px;
	background-color: #FEFFDF;
	margin-bottom: 5px;
	border-radius: 5px!important;
	animation: flash 2.0s ease-out forwards;
}
.help-important-message h4 {
	margin-top: 0px;
}
.help-important-message .audio a {
	display: block;
	width: 18px;
	height: 18px;
}
.help-important-message p {
	margin: 0px;
	padding: 0px;
}

.header .hor-menu li.help-highlight > a {
	background-color: gray!important;
	color: white!important;
}

.page-sidebar .page-sidebar-menu > li.help-highlight.open > a,
.page-sidebar .page-sidebar-menu > li.help-highlight > a,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li.help-highlight.open > a,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li.help-highlight > a {
	background-color: gray!important;
	color: white!important;
}

.page-sidebar .page-sidebar-menu .sub-menu > li.help-highlight > a,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu .sub-menu > li.help-highlight > a {
	background-color: gray!important;
	color: white!important;
}

.introjs-tooltip {
	min-width: 400px!important;
	max-width: 450px!important;
}

.introjs-tooltip-header {
	padding-left: 10px!important;
}

div.article-thumbnails div.thumbnail {
	margin: 2px;
	padding: 2px;
}
div.article-thumbnails div.thumbnail img {
	display: block;
	height: 100px;
	width: 100px;
}
div.article-thumbnails div.thumbnail div.caption {
	padding: 3px;
}

div.article-thumbnails div.thumbnail div.caption p {
	margin-bottom: 2px;
}
div.article-thumbnails div.thumbnail div.caption p.article-code {
	font-weight: bold;
	font-size: 80%;
}
div.article-thumbnails div.thumbnail div.caption p.article-code span.pull-left {
	max-width: 120px;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
	display: inline-block;
}
div.article-thumbnails div.thumbnail div.caption p.article-desc {
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 16px;
	min-height: 32px;
	max-height: 32px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	width: 0;
	min-width: 100%;
	font-size: 80%;
}
div.article-thumbnails div.thumbnail p {
	margin: 2px 0px;
}

@keyframes flash {
	0%	{ opacity: 1; }
	25%	{ opacity: 0.5; }
	50%	{ opacity: 1; }
	75%	{ opacity: 0.5; }
	100%	{ opacity: 1; }
}

.driver-popover {
	max-width: 450px!important;
	width: 450px!important;
}
.driver-popover img {
	max-width: 100%;
	height: auto;
}

table.table td.sticky-col {
	background-color: white;
}
table.table .sticky-col--last::after {
	content: '';
	position: absolute;
	inset: 0 0 0 auto;
	width: 6px;
	box-shadow: inset -4px 0 6px -2px rgba(0, 0, 0, 0.1);
	pointer-events: none;
}

.spinner {
	width: 40px;
	height: 40px;
	border-radius: 50%!important;
	border: 3px solid #e0e0e0;
	border-top-color: #333;
	animation: spin 0.8s linear infinite;
	display: block;
	flex-shrink: 0;
}
.spinner-xs {
	width: 14px;
	height: 14px;
	border-width: 1px;
}
.spinner-sm {
	width: 20px;
	height: 20px;
	border-width: 2px;
}
.spinner-lg {
	width: 64px;
	height: 64px;
	border-width: 4px;
}

.spinner-blue {
	border-color: #B5D4F4;
	border-top-color: #185FA5;
}

@keyframes spin {
	to { transform: rotate(360deg); }
}
