:root {
	--bs-body-bg:rgb(30,30,30);
	--bs-body-color:white;
	--bs-blue:#0161FF;
	--blue-dark:#003694;
	--modal-background:rgb(50,50,50);
}
.text-success {
	color:#05f711!important;
}
.text-danger {
	color:#fc4242!important;
}
.btn {
	border:none;
}
.btn-primary {
	background-color: #003fd1 !important;
}
.btn-primary:hover, .btn-primary:active, .btn-primary:focus {
	background-color: #0049f5 !important;
}
.btn-danger {
	background-color: #b00202 !important;
}
.btn-danger:hover, .btn-danger:active, .btn-danger:focus {
	background-color: #c70000 !important;
}
.btn-success {
	background-color: #075900 !important;
}
.btn-success:hover, .btn-success:active, .btn-success:focus {
	background-color: #096e00 !important;
}

.table-primary > * {
	background:#0647b8!important;
	color:white;
	font-weight:bold;
}
.table-inprogress > * {
	background:#003082!important;
}
.table-danger > * {
	background:#c40404!important;
	color:white;
}
.not-allowed {
	cursor:not-allowed;
	filter:brightness(50%);
}
.table-disabled > * {
	cursor:not-allowed;
	filter:contrast(50%);
	background:#373738!important;
	color:white;
}
.clickable-row, .dropdown-menu > li > a:hover {
	cursor: pointer;
}
.link-primary,.link-primary:focus,.link-primary:active {
	color:rgb(45,160,255)!important;
}
@media (max-width: 850px){
	.table-lines thead {
		display: none;
	}

	.table-lines tr{
		display: block;
		margin-bottom: 25px;
	}

	.table-lines td {
		display: block;
		text-align: right;
	}

	.table-lines td:before {
		content: attr(data-label);
		float: left;
		font-weight: bold;
	}
}
table {
	table-layout: fixed;
}
td {
	word-wrap:break-word;
}
th {
	text-transform: uppercase;
	background:var(--blue-dark)!important;
}
.link-primary:hover {
	color:rgb(100,185,255)!important;
}
@media (min-width: 991px) {
	main {
		padding-left: 240px;
	}
}

/* Sidebar */
.sidebar {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	padding: 58px 0 0; /* Height of navbar */
	box-shadow: 0 2px 5px 0 rgb(0 0 0 / 5%), 0 2px 10px 0 rgb(0 0 0 / 5%);
	width: 240px;
	z-index: 600;
	background: var(--bs-body-bg)!important;
}
.link-light {
	color : red!important;
}

@media (max-width: 991.98px) {
	.sidebar {
		width: 100%;
	}
}
.sidebar .active {
	background:var(--bs-blue)!important;
	box-shadow: 0 2px 5px 0 rgb(0 0 0 / 16%), 0 2px 10px 0 rgb(0 0 0 / 12%);
}

.sidebar-sticky {
	position: relative;
	top: 0;
	height: calc(100vh - 48px);
	padding-top: 0.5rem;
	overflow-x: hidden;
	overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
}

#sidebarMenu .list-group-item {
	background:var(--bs-body-bg);
	color:var(--bs-gray-400);
}

.list-group-item {
	transition-property: background color;
	transition-duration: 50ms;
}
#listeSidebar > .list-group-item:focus {
	background:var(--blue-dark)!important;
	color:white!important;
}
#listeSidebar > .list-group-item:hover {
	background:var(--bs-gray-900);
	color:var(--bs-body-color);
}
.modal-dialog {
	top:10%;
}
.modal-content > * {
	border:none!important;
}
.modal-header {
	background: linear-gradient(to right, var(--blue-dark),var(--bs-blue));
}
.offcanvas-header, .offcanvas-body {
	background:var(--modal-background);
}
.modal-content {
	background:var(--modal-background);
}
.alert {
	animation: fadeInAnimation linear 200ms;
	border:none;
	color:white;
}
.alert-success {
	background:linear-gradient(rgb(35,97,49),rgb(45,124,63));
}
.alert-danger {
	background:linear-gradient(rgb(148,27,20),rgb(168,49,40));
}
.alert-warning {
	background:linear-gradient(rgb(119,89,0),rgb(139,109,0));
}
.alert-info {
	background:linear-gradient(rgb(0,100,157),rgb(0,121,193));
}
.list-group-item-primary {
	transition-property: background color;
	transition-duration: 100ms;
	background:var(--bs-body-bg);
	color:var(--bs-gray-300);
}
.list-group-item-primary:hover, .list-group-item-primary:focus {
	background:rgb(34,40,48)!important;
	color:white!important;
}
#iconDial {
	background: -webkit-linear-gradient(rgb(50,200,50), rgb(100,200,100));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.accordion-item {
	background:var(--bs-body-bg)!important;
}
.accordion-header > * {
	color:var(--bs-gray-400);
	background:var(--bs-body-bg)!important;
}

.accordion-button:link, .accordion-button:not(.collapsed), .accordion-button:visited, .accordion-button:hover, .accordion-button:active {
	background-color: var(--blue-dark) !important;
	color:var(--bs-body-color)!important;
	text-decoration: none !important;
	border: hidden !important;
	border-color: var(--bs-blue) !important;
	box-shadow: 0px !important;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
	-webkit-text-fill-color: var(--bs-body-color);
	-webkit-box-shadow: 0 0 0 30px var(--bs-body-bg) inset !important;
}
.pagination > li > a {
	background-color: var(--bs-body-bg);
	color: var(--bs-gray-300);
	border:none;
}

.pagination > li > a:focus,
.pagination > li > a:hover,
.pagination > li > span:focus,
.pagination > li > span:hover {
	color: white;
	background-color: var(--blue-dark);
}

.pagination > .active > a {
	color: white;
	background-color: var(--bs-blue) !Important;
	border: solid 1px var(--bs-blue) !Important;
}

.pagination > .active > a:hover {
	background-color: var(--bs-blue) !Important;
	border: solid 1px var(--bs-blue);
}
.pagination > .disabled > a {
	background-color: var(--bs-body-bg) !Important;
	border:none;
}
input[type=file]::file-selector-button {
	background: var(--modal-background);
	color: var(--bs-body-color);
}
input[type=file]:hover::file-selector-button {
	background: var(--bs-gray-800)!important;
}

.loading {
	overflow-x: none;
	overflow-y: none;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgb(0,0,0,0.5);
	z-index: 99999;
	pointer-events: auto;
	animation: fadeInAnimation ease-in 400ms;
	transition: opacity 0.5s;
}
@keyframes fadeInAnimation {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

.loadingSpinner {
	margin: auto;
	position: relative;
	display: flex;
	flex-direction: column;
	text-align: center;
}

.loadingSpinner div{
	margin: auto;
	position: relative;
	width: 120px;
	height: 120px;
	border: 16px solid var(--bs-gray-800);
	border-radius: 50%;
	border-top: 16px solid #3498db;
	animation: spin 1.5s ease-in-out infinite;
}

.loadingSpinner span.description{
	position: relative;
	top: 1em;
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	90% { transform: rotate(360deg); }
	100% { transform: rotate(360deg); }
}
.nav-pills .nav-link {
	color:white!important;
}
.form-switch .form-check-input {
	background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(255,255,255,0.50)'/></svg>");
	background-color:rgb(80,80,80);
	transition: background-color .4s;
}
.form-switch .form-check-input:focus {
	border-color: rgba(0, 0, 0, 0.25);
	outline: 0;
	box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
	background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(255,255,255,0.50)'/></svg>");
}
.form-switch .form-check-input:checked {
	background-color: #206cb3;
	border-color: rgb(50,50,50);
	border: none;
	background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(255,255,255,0.75)'/></svg>");
}
.navbar-custom {
	background: #023fa1;
}

.connected {
	border: 2px solid rgb(91,241,65);
}
.disconnected {
	border: 2px solid gray;
}
img {
	transition: transform .2s;
}
.profil_picture_admin {
	transition: transform .2s;
	width:25px;
}
.profil_picture_admin:hover{
	transform: scale(1.5);
}
