/* .sidebar-wrapper .menu .submenu .submenu-item a,
body.theme-dark .sidebar-wrapper .menu .submenu .submenu-item a {
  padding: 0.7rem 1rem;
} */

/*
COLORE VECCHIO = COLORE NUOVO
#435ebe = rgb(204,0,0)
#25396f = rgb(158,0,0)
#f0f1f5 = rgba(204,0,0,0.1)
#7c8db5 = rgb(173,28,28)
*/
:root {
	--primario: rgb(13, 7, 7);
	--secondario: rgb(66, 59, 59);
	--terziario: rgb(118, 114, 114);
	--primario-01: rgba(13, 7, 7, 0.1);
	--primario-03: rgba(13, 7, 7, 0.3);
	--primario-05: rgba(13, 7, 7, 0.5);
	--bs-link-color: #474747;
	--bs-link-hover-color: #636363;
	--grigio: #6c757d;
	--grigio-chiaro: #bec8d0;
	--quasi-bianco: #fcfcfc;
	--danger: rgb(204, 0, 0);
	--warning: rgb(238, 237, 117);
	--danger-05: rgba(204, 0, 0, 0.3);
	--warning-05: rgba(238, 237, 117, 0.5);
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--primario);
}

.sidebar-wrapper .menu .sidebar-link,
.sidebar-wrapper .menu .sidebar-title,
.sidebar-wrapper .menu .submenu .submenu-item a {
	color: var(--secondario);
}
.sidebar-wrapper .menu .submenu .submenu-item a {
	border-radius: 0.5rem;
}
.sidebar-wrapper .menu .sidebar-link:hover {
	background-color: var(--primario-01);
}
.sidebar-wrapper .menu .sidebar-item.active > .sidebar-link,
body.theme-dark .sidebar-wrapper .menu .sidebar-item.active > .sidebar-link {
	background-color: var(--primario);
}
.sidebar-wrapper .menu .sidebar-link i,
.sidebar-wrapper .menu .sidebar-link svg {
	color: var(--terziario);
}
.sidebar-wrapper .menu .submenu .submenu-item a:hover,
.sidebar-wrapper .menu .submenu .submenu-item.active a {
	color: var(--secondario);
	background: var(--primario-01);
	margin-left: 0.3rem;
}

.text-muted {
	color: var(--grigio) !important;
}
body.theme-dark .sidebar-wrapper .menu .sidebar-title,
body.theme-dark .sidebar-wrapper .menu .sidebar-link,
body.theme-dark .sidebar-wrapper .menu .sidebar-link i {
	color: var(--quasi-bianco);
}
body.theme-dark .sidebar-wrapper .menu .submenu .submenu-item a:hover,
body.theme-dark .sidebar-wrapper .menu .submenu .submenu-item.active > a {
	background: #282839;
	color: var(--quasi-bianco);
}
body.theme-dark .sidebar-wrapper .menu .sidebar-title {
	border-top: 1px solid var(--quasi-bianco);
	text-transform: uppercase;
	padding-top: 1.5rem;
}
body.theme-dark .btn-primary {
	--bs-btn-color: #fff;
	--bs-btn-bg: var(--primario);
	--bs-btn-border-color: var(--primario);
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: var(--primario-01);
	--bs-btn-hover-border-color: var(--primario-01);
	--bs-btn-focus-shadow-rgb: 95, 118, 200;
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: var(--primario);
	--bs-btn-active-border-color: var(--primario);
	--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
	--bs-btn-disabled-color: #fff;
	--bs-btn-disabled-bg: #435ebe;
	--bs-btn-disabled-border-color: #435ebe;
}

header {
	background: var(--bs-white);
	padding-bottom: 1.5rem;
	-webkit-box-shadow: 1px 5px 10px 1px #dee2e6;
	-moz-box-shadow: 1px 5px 10px 1px #dee2e6;
	-o-box-shadow: 1px 5px 10px 1px #dee2e6;
	box-shadow: 1px 5px 10px 1px #dee2e6;
}

body.theme-dark header {
	background: var(--bs-card-bg);
	padding-bottom: 1.5rem;
	-webkit-box-shadow: 1px 5px 10px 1px #000;
	-moz-box-shadow: 1px 5px 10px 1px #000;
	-o-box-shadow: 1px 5px 10px 1px #000;
	box-shadow: 1px 5px 10px 1px #000;
}

.btn-primary {
	--bs-btn-color: #fff;
	--bs-btn-bg: var(--primario);
	--bs-btn-border-color: var(--primario);
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: var(--secondario);
	--bs-btn-hover-border-color: var(--terziario);
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: var(--terziario);
	--bs-btn-active-border-color: #32478f;
	--bs-btn-active-shadow: inset 0 3px 5px var(--primario-01);
	--bs-btn-disabled-color: #fff;
	--bs-btn-disabled-bg: var(--primario);
	--bs-btn-disabled-border-color: var(--primario);
}

header {
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.bottone_menu_mobile {
	padding: 10px 20px 10px 10px;
}

.logo_mobile {
	padding: 7px 10px 7px 20px;
}

.logo_mobile img {
	max-width: 100px;
}

.btn {
	color: var(--bs-gray-dark);
}

.sticky {
	position: fixed;
}

.bg-light {
	background-color: var(--bs-body-bg) !important;
}

.btn.remove_file {
	border: 0;
}

#auth #auth-left .auth-logo img {
	height: 5rem;
}

#auth #auth-left .auth-title {
	font-size: 2rem;
	margin-bottom: 1rem;
}

#auth #auth-left .auth-subtitle {
	color: #a8aebb;
	font-size: 1.3rem;
	line-height: 2rem;
}

.form-control,
.form-select,
.form-control.datepicker {
	border: 1px solid var(--grigio-chiaro);
	color: var(--grigio);
	padding: 0.6rem 0.75rem;
}

.form-select.form-select-xl {
	padding: 0.85rem 0.75rem;
	font-size: 1.2rem;
	padding-left: 3rem;
}

.form-control:focus,
.form-select:focus,
.form-control.datepicker:focus {
	border-color: var(--grigio-chiaro);
	color: var(--grigio);
	box-shadow: 0 0 0 0.25rem var(--grigio-chiaro);
}
form .form-check .checkbox .form-check-input {
	width: 0 !important;
	height: 0 !important;
	border: 0 !important;
	position: absolute !important;
}
form .form-check .checkbox .form-check-input + label {
	position: relative;
	cursor: pointer;
}
form .form-check .checkbox .form-check-input + label::before {
	content: "";
	position: absolute;
	left: -1.7em;
	top: calc(0.3rem / 2);
	height: 1.2rem;
	width: 1.2rem;
	border: 2px solid var(--primario-03);
	border-radius: 0.3em;
	appearance: none;
	background-color: #fff;
	background-position: 50%;
	background-repeat: no-repeat;
	background-size: contain;
	-webkit-print-color-adjust: exact;
	print-color-adjust: exact;
	transition: all 0.15s ease-in-out;
	vertical-align: top;
}
form label:focus::before,
form .form-check .checkbox .form-check-input:focus + label::before {
	border: 2px solid var(--primario-05);
}
form .form-check .checkbox .form-check-input:checked + label::before {
	background: var(--primario);
}

form .form-check.form-switch {
	margin-top: 3rem;
}

form .form-check.form-switch .form-check-input:checked {
	background-color: var(--primario);
	border-color: var(--primario);
}

.form-group .small,
.form-group small {
	font-size: var(--bs-body-font-size);
	font-weight: var(--bs-body-font-weight);
}

.errore_campo {
	border: 1px solid var(--danger);
	animation: shake 0.2s ease-in-out;
}

/* Mantieni il bordo rosso anche quando il campo è in focus */
.errore_campo:focus {
	border: 1px solid var(--danger) !important; /* Forza il bordo rosso */
	outline: none; /* Rimuove l'outline predefinito del browser */
}

.label_errore_campo {
	color: var(--danger);
}

/* Animazione "shake" per attirare l'attenzione */
@keyframes shake {
	0% {
		transform: translateX(-2px);
	}
	50% {
		transform: translateX(2px);
	}
	100% {
		transform: translateX(0);
	}
}

.avatar {
	width: 39px;
	height: 39px;
	justify-content: center;
	background: var(--primario);
	align-items: center;
}
.avatar h5,
.avatar h6 {
	color: var(--quasi-bianco);
	margin-bottom: 0;
	font-weight: 400;
}
.dropdown-item.active,
.dropdown-item:active {
	background-color: var(--secondario);
}
.dropdown-item:focus,
.dropdown-item:hover {
	background-color: var(--primario-03);
}
.sidebar-wrapper .menu .sidebar-title {
	border-top: 1px solid var(--primario-05);
	text-transform: uppercase;
	padding-top: 1.5rem;
}

.sidebar-wrapper .sidebar-header .logo a {
	display: flex;
	font-size: 1.2rem;
	font-weight: 700;
	padding: 0;
	align-items: end;
}

.sidebar-wrapper .sidebar-header .logo a img {
	height: 4rem !important;
	width: auto !important;
	margin-right: 1.2rem;
}

/*TABELLE*/

/*ricerca*/

.dataTables_filter {
	margin-bottom: 20px;
}

/*icone abilita disabilita si/no*/
.icone_table span {
	font-size: 1.5rem;
}

.icone_table span em {
	display: none;
}
.icone_table span.abilita_1 {
	color: var(--bs-green);
}

.icone_table span.abilita_0 {
	color: var(--bs-red);
}

.icone_table span.cancellato_0 {
	color: var(--bs-green);
}

.icone_table span.cancellato_1 {
	color: var(--bs-red);
}

table.dataTable > tbody > tr.bg-row-danger {
	background-color: var(--danger-05);
}

table.dataTable > tbody > tr.bg-row-warning {
	background-color: var(--warning-05);
}

table.dataTable thead th,
table.dataTable tfoot th {
	position: sticky;
	background: var(--bianco); /* Colore di sfondo */
	z-index: 1;
}

table.dataTable thead th {
	top: 0;
	padding-bottom: 10px;
}

table.dataTable tfoot th {
	bottom: 0;
	padding-top: 15px;
	padding-bottom: 15px;
	border-top: 1px solid var(--grigio-chiaro);
}

/*FORM*/

[class*=" bi-"]:before,
[class^="bi-"]:before,
body .bi:before {
	vertical-align: inherit;
}

.form-group label {
	margin: 25px 0 10px 0;
}
.form-group label.control-label,
.form-check label.form-check-label {
	margin-top: 0;
}

.form h4 {
	margin-top: 2.5rem;
}

.form-check.parent input {
	opacity: 0;
}

/*FILTRA AZIENDA*/
.filtra_azienda {
	padding: 0 1.5rem 0 1.5rem !important;
}

.form-check-input:checked {
    background-color: var(--primario);
    border-color: var(--primario);
}

.opacity {
	opacity: 0.5;
}

#pdf_lista {
	padding: 0;
	list-style: none;
}
#pdf_lista li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 15px;
}
#pdf_lista li:last-of-type {
	margin-bottom: 0;
}
#pdf_lista li i {
	margin: 0 auto;
	font-size: 1.5rem;
	height: 2rem;
	width: 2rem;
}
#pdf_lista .pdf {
	margin-right: 10px;
}

.hidden {
	height: 0;
	width: 0;
	opacity: 0;
	pointer-events: none;
	display: none;
}

.pagination {
	--bs-pagination-color: var(--secondario);
	--bs-pagination-active-bg: var(--secondario);
	--bs-pagination-focus-color: var(--secondario);
	--bs-pagination-active-border-color: var(--secondario);
}

table.dataTable {
	max-width: 100% !important;
	overflow-x: scroll !important;
}

.dataTables_wrapper {
	position: relative;
	display: block;
	max-width: 100% !important;
	overflow-x: scroll;
}

.dataTables_wrapper .row {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/*AUTHENTICATOR*/

#qrcode img {
	margin: 20px 0;
	display: block;
}

#mainheader #main-content {
	height: 75vh;
}

/*Select*/

.choices__list--dropdown {
	z-index: 9999 !important;
}

/*SIDEBAR*/

.sidebar-wrapper .sidebar-bottoni {
	font-weight: 600;
	margin-top: 2rem;
	padding: 0 2rem;
}

/*Image upload ANTEPRIMA AZIENDA*/

.list-orizzontale {
	list-style: none;
	display: block;
	width: 100%;
}

.list-orizzontale li {
	display: inline-block;
	margin: 0 15px;
}

.anteprima-container .header {
	width: 100%;
	height: 80px;
	padding: 0;
	background-color: #fff;
	border: 0;
}

.anteprima-container .wrapper {
	width: calc(100% - 60px);
	max-width: 1200px;
	margin: 0 auto;
}

.anteprima-container .header .header-content {
	width: 100%;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.anteprima-container .header .header-content .logo-header,
.anteprima-container .header .header-content .logo-header img {
	height: 30px;
	display: block;
	position: relative;
}

.anteprima-container .header .header-content .link,
.header-content .link:visited,
.header-content .link:focus {
	color: rgba(100, 100, 100);
	text-decoration: none;
}

.anteprima-container .header .link {
	width: fit-content;
	transition: var(--transition);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.anteprima-container .hero {
	width: 100%;
	height: auto;
	position: relative;
	padding: 30px 0;
	margin: 0;
}

.anteprima-container .hero .hero-background {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.anteprima-container .hero .cont-hero,
.anteprima-container .hero .cont-hero h1 {
	width: 100%;
	position: relative;
	z-index: 2;
	color: #fff;
}

.grecaptcha-badge {
	display: none !important;
}

/*autenticazione 2f*/

.sidebar-wrapper .sidebar-header img {
	height: 100% !important;
	width: 100% !important;
}

/* Upload file */

.file-container {
	width: fit-content !important;
	position: relative;
}

.file-container input[type="file"] {
	width: 100%;
	height: 40px;
	position: absolute;
	bottom: 0;
	left: 0;
	cursor: pointer;
	opacity: 0;
}

.file-container .file-buttons {
	display: flex;
	align-items: center;
	position: relative;
	pointer-events: none !important;
}

.file-container input[type="file"]:hover + div.file-buttons > button.add_file,
.file-container input[type="file"]:focus + div.file-buttons > button.add_file {
	background-color: var(--nero);
}

.file-container
	input[type="file"]:hover
	+ div.file-buttons
	> button.add_file
	[class*="icon-"],
.file-container
	input[type="file"]:focus
	+ div.file-buttons
	> button.add_file
	[class*="icon-"] {
	background-color: var(--bianco);
}
.file-container
	input[type="file"]:hover
	+ div.file-buttons
	> button.add_file
	span,
.file-container
	input[type="file"]:focus
	+ div.file-buttons
	> button.add_file
	span {
	color: var(--bianco);
}

.file-container button.remove_file {
	margin-left: calc(var(--distance-half) / 2);
	pointer-events: all !important;
	opacity: 0;
	transform: scale(0);
	pointer-events: none;
}

.file-container.has-allegato button.remove_file {
	opacity: 1;
	transform: scale(1);
	pointer-events: all;
}

.info-box {
	box-shadow: 0 0 1px rgba(0, 0, 0, 0.125), 0 1px 3px rgba(0, 0, 0, 0.2);
	border-radius: 0.25rem;
	background-color: #fff;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 1rem;
	min-height: 80px;
	padding: 0.5rem;
	position: relative;
	width: 100%;
}

.info-box .info-box-content {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	flex-direction: column;
	-ms-flex-pack: center;
	justify-content: center;
	line-height: 1.8;
	-ms-flex: 1;
	flex: 1;
	padding: 0 10px;
}

.info-box .info-box-text,
.info-box .progress-description {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.info-box .info-box-number {
	display: block;
	margin-top: 0.25rem;
	font-weight: 700;
}

/*tab*/

.nav-tabs .nav-item .nav-link {
	font-size: large;
	font-weight: 600;
}

.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
	background-color: var(--primario-01);
	color: var(--primario);
}

.nav-tabs .nav-link.active:after {
	background-color: transparent;
	bottom: 0;
	box-shadow: 0;
	content: "";
	height: 0px;
	left: 0;
	position: absolute;
	width: 100%;
}

.tab-content {
	padding: 40px 30px;
	background-color: var(--primario-01);
}

/* table.dataTable tfoot th {
	position: sticky;
	bottom: 0;
	background: #f1f1f1; 
	z-index: 1;
} */

/*mobile*/
@media (max-width: 1199px) {
	#main.layout-navbar {
		padding: 10px;
		transition: margin-left 0.5s ease-out;
	}

	#app {
		max-width: 100%;
		overflow-x: hidden;
	}

	#sidebar {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		max-width: 100%;
		z-index: 9999;
		padding: 0 15px;
	}

	.sidebar-wrapper {
		width: 100%;
		left: -100%;
	}
	.sidebar-wrapper .sidebar-toggler.x {
		position: absolute;
		left: 10px;
		text-align: right;
		top: 0px;
	}
	.sidebar-wrapper .sidebar-header {
		font-size: 2rem;
		font-weight: 700;
		max-width: 90%;
	}

	.sidebar-wrapper .menu {
		font-weight: 600;
		margin-top: 0.5rem;
		padding: 0 15px 4rem 15px;
		overflow-y: auto;
		overflow-x: hidden;
		min-height: 100%;
	}

	#sidebar:not(.active) .sidebar-wrapper {
		left: -100vw;
	}

	header {
		padding-bottom: 0;
	}

	#main #main-content {
		padding: 10px;
		max-width: 100%;
	}

	.card .card-body {
		padding: 15px;
		max-width: 100%;
	}
}

@media screen and (max-width: 767px) {
	div.dataTables_wrapper div.dataTables_length,
	div.dataTables_wrapper div.dataTables_filter,
	div.dataTables_wrapper div.dataTables_info,
	div.dataTables_wrapper div.dataTables_paginate {
		text-align: right;
		margin-top: 20px;
	}
}

/**LOADER*/

#overlay-loader {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #fff; /* Sfondo bianco pieno */
	z-index: 9999;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: 1.2rem;
	font-family: "Segoe UI", "Roboto", sans-serif;
	color: var(--primario);
}

#overlay-loader .spinner-border {
	width: 3rem;
	height: 3rem;
	margin-bottom: 1rem;
	color: var(--primario); /* colore bootstrap primario */
}