* {
	font-family: 'Open Sans', sans-serif;
}

#logo {
	max-height: 50px;
	width: auto;
}

#loginModal .modal-header {
	background: url(https://infodrive-web-assets.s3.eu-central-1.amazonaws.com/images/custom_bg/5.jpg) center center;
	background-size: cover;
	height: 200px;
}

label.error {
	text-transform: uppercase;
	font-weight: bold;
	color: var(--bs-danger);
	font-size: 13px;
	display: block;
}

input[aria-invalid="true"], select[aria-invalid="true"], textarea[aria-invalid="true"] {
	border-color: var(--bs-danger) !important;
	box-shadow: 0 0 0 0.25rem rgb(220 53 69 / 25%) !important;
}

table.vertical-align-middle td {
	vertical-align: middle;
}

.badge {
	text-transform: uppercase;
}

.clickable {
	cursor: pointer !important;
}

.card-body.p-0 .nav-link {
	border-radius: 0 !important;
}

.card-header {
	padding: .8rem 1rem
}

.card-header.alert {
	min-height: 55px;
	padding: 0 1rem !important;
}

.card-title {
	margin-bottom: 0 !important;
}

.chart {
	max-height: 300px;
	width: 100%;
}

.fa-equal-width {
	width: 20px;
	text-align: center;
}

.login-modal-open>#app-router, .login-modal-open>div>nav.navbar {
	filter: blur(10px);
	-webkit-filter: blur(10px);
	-ms-filter: blur(10px);
	position: absolute;
}

.modal-login {
	top: 0;
	height: 100% !important;
	z-index: 999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999;
}

.placeholder-icon {
	font-family: "Open Sans", "Font Awesome 5 Free", serif;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	font-weight: 600;
}

.sticky-top {
	top: 81px;
}

@media (min-width: 1400px) {
	.sticky-xxl-top {
		top: 81px;
	}
}

@media (min-width: 1200px) {
	.sticky-xl-top {
		top: 81px;
	}
}

@media (min-width: 992px) {
	.sticky-lg-top {
		top: 81px;
	}
}

@media (min-width: 768px) {
	.sticky-md-top {
		top: 81px;
	}
}

@media (min-width: 576px) {
	.sticky-sm-top {
		top: 81px;
	}
}

/* SELECT 2 */

.select2 {
	width: 100% !important;
}

.select2-selection__rendered {
	line-height: 36px !important;
}

.select2-container .select2-selection--single {
	height: 38px !important;
}

.select2-selection__arrow {
	height: 36px !important;
}

.modal .select2-container {
	position: relative;
	z-index: 2;
	float: left;
	width: 100% !important;
	margin-bottom: 0;
	display: table;
	table-layout: fixed;
}

/* SEARCH */

#offcanvasSearch {
	width: calc(100vw - 400px);
}

/* DATATABLES */

/* fix for regular bootstrap 5 striped tables losing stripeness due to datatable css */

.table-striped:not(.dataTable)>tbody>tr:nth-of-type(odd) {
	--bs-table-accent-bg: var(--bs-table-striped-bg) !important;
	color: var(--bs-table-striped-color);
}

.dtsp-panesContainer {
	border: solid 1px #e5e5e5;
	background-color: var(--bs-light);
	border-radius: 5px;
	padding: 10px 20px !important;
}

.dt-button-collection .dtsp-panesContainer {
	box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, .35) !important;
	position: fixed !important;
	width: calc(100% - 80px) !important;
	min-width: calc(100% - 80px) !important;
}

.dataTables_filter {
	float: right;
}

/* SIDEBAR */

#sidebar .accordion-button.bg-dark:focus {
	border-color: transparent !important;
	box-shadow: none !important;
}

#sidebar .accordion-button.bg-dark::after {
	background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !important;
}

#sidebar .accordion-button, #sidebar .list-group-item {
	transition: all ease .3s;
	border: none;
}

#sidebar .accordion-button:hover, #sidebar .list-group-item:hover {
	color: var(--bs-info) !important;
}

#sidebar input[type="search"] {
	background-color: transparent;
	color: white;
	border: 0;
	border-bottom: solid 1px white !important;
	border-radius: 0;
}

#sidebar input[type="search"]:focus {
	box-shadow: none;
}

#sidebar input[type="search"]::placeholder {
	color: rgba(255, 255, 255, .7);
}

/* LOADERS */

#preloader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.9);
	z-index: 999999;
}

#loader {
	display: block;
	position: relative;
	left: 50%;
	top: 50%;
	width: 150px;
	height: 150px;
	margin: -75px 0 0 -75px;
	border-radius: 50%;
	border: 3px solid transparent;
	border-top-color: #acacac;
	-webkit-animation: spin 2s linear infinite;
	animation: spin 2s linear infinite;
}

#loader:before {
	content: "";
	position: absolute;
	top: 5px;
	left: 5px;
	right: 5px;
	bottom: 5px;
	border-radius: 50%;
	border: 3px solid transparent;
	border-top-color: #1f8cc7;
	-webkit-animation: spin 3s linear infinite;
	animation: spin 3s linear infinite;
}

#loader:after {
	content: "";
	position: absolute;
	top: 15px;
	left: 15px;
	right: 15px;
	bottom: 15px;
	border-radius: 50%;
	border: 3px solid transparent;
	border-top-color: #E31E25;
	-webkit-animation: spin 1.5s linear infinite;
	animation: spin 1.5s linear infinite;
}

/* BS CALLOUTS */

.callout {
	border: solid 1px #e5e5e5;
	border-left: solid 5px;
	border-radius: 5px;
	display: flex;
	flex-direction: column;
	padding: 10px;
}

.callout-secondary {
	border-left-color: var(--bs-secondary);
}

.callout-secondary h5 {
	color: var(--bs-secondary);
}

.callout-light {
	border-left-color: var(--bs-light);
}

.callout-light h5 {
	color: var(--bs-light);
}

.callout-dark {
	border-left-color: var(--bs-dark);
}

.callout-dark h5 {
	color: var(--bs-dark);
}

.callout-primary {
	border-left-color: var(--bs-primary);
}

.callout-primary h5 {
	color: var(--bs-primary);
}

.callout-warning {
	border-left-color: var(--bs-warning);
}

.callout-warning h5 {
	color: var(--bs-warning);
}

.callout-info {
	border-left-color: var(--bs-info);
}

.callout-info h5 {
	color: var(--bs-info);
}

.callout-danger {
	border-left-color: var(--bs-danger);
}

.callout-danger h5 {
	color: var(--bs-danger);
}

.callout-success {
	border-left-color: var(--bs-success);
}

.callout-success h5 {
	color: var(--bs-success);
}

@-webkit-keyframes spin {
	0% {
		-ms-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-ms-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@keyframes spin {
	0% {
		-ms-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-ms-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}