
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	padding: 40px 0px 10px 0px;
}

/*body senza padding per le nuove versioni navbar */
.body0 {
	padding: 0;
}
.body0 :fullscreen {
	overflow: scroll !important;
}
.body0 :-ms-fullscreen {
	overflow: scroll !important;
}
.body0 :-webkit-full-screen {
	overflow: scroll !important;
}
.body0 :-moz-full-screen {
	overflow: scroll !important;
}

/*container senza padding per le nuove versioni navbar */
.container_intestazione {
	margin: 8px;
	margin-right: 8px;
	width: 100%;
	max-width: none;
}

@media (max-width: 767px) and (orientation: portrait) {
	/* stesse regole scritte sopra ma con un selettore che vada bene a FIREFOX */
	body[firefox-mobile-browser] .container_intestazione {
		margin-left: 0.5rem;
		width: calc(100% - 1rem);
	}
}

.datepicker {
	background-color: white !important;
	border: solid !important;
	border-color: #d6d6d6 !important;
	border-width: 1px !important;
}
table.super tr td {
	padding-top: 0px;
	padding-bottom: 0px;
}
.bd-highlight {
	color: #007bff !important;
}
h1,
h2,
h3,
h4 {
	color: #333333;
}
h5,
h6 {
	color: #777777 !important;
	line-height: 1.5;
	margin: 0;
}
strong,
b {
	color: #333333;
	line-height: 1.5;
	margin: 0;
	font-weight: 600;
}

th,
.th-inner,
.card-title {
	color: #333333;
	font-weight: 600;
	font-size: 16px;
}

.list-group-item,
.card-header {
	padding: 0.75rem 1.25rem !important;
	border: 1px solid #e1e8ee;
}

p,
span,
td,
.counter-title {
	color: #777777;
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0.2px;
}

label,
.form-select {
	color: #777777;
}

#sel_all_day,
#sel_ness_day,
#sel_all,
#sel_ness {
	font-size: 14px;
}

dd {
	margin-bottom: 0 !important;
	margin-left: 0;
}


/*login-style*/

.col-md-5 {
	position: relative;
}
.login-user {
	max-width: 1140px;
}
.card,
.card.r-3 {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	word-wrap: break-word;
	background-color: #fff;
	background-clip: border-box;
	border: 1px solid #e1e8ee;
}

.brand-wrapper {
	margin-bottom: 19px;
}
.brand-wrapper.logo {
	height: 37px;
}
.login-card {
	border: 0;
	/* border-radius: 5px; */
	/* box-shadow: 0 10px 30px 0 rgba(172, 168, 168, 0.43); */
	overflow: hidden;
	border: 1px solid var(--border-nr-navbar);
}

.login-card-img {
	border-radius: 0;
	position: absolute;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.login-card .card-body {
	padding: 85px 60px 60px;
}

.form-control {
	display: block;
	width: 100%;
	height: calc(1.5em + 0.75rem + 2px);
	padding: 0.375rem 0.75rem;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: #495057;
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid #ced4da;
	border-radius: 0.25rem;
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.login-card-description {
	font-size: 25px;
	color: #333;
	font-weight: normal;
	margin-bottom: 23px;
}

.login-card form {
	max-width: 326px;
}

.login-card .form-control {
	border: 1px solid #d5dae2;
	min-height: 45px;
	font-size: 13px;
	line-height: 1.5;
	font-weight: normal;
}

.login-card .form-control::-webkit-input-placeholder {
	color: #919aa3;
}
.login-card .form-control::-moz-placeholder {
	color: #919aa3;
}
.login-card .form-control:-ms-input-placeholder {
	color: #919aa3;
}
.login-card .form-control::-ms-input-placeholder {
	color: #919aa3;
}
.login-card .form-control::placeholder {
	color: #919aa3;
}

.login-card .login-btn,
.login-password {
	padding: 13px 20px;
	font-size: 17px;
	line-height: 20px;
	margin-bottom: 24px;
}
.login-card .login-btn {
	width: 100%;
}

.login-card .forgot-password-link,
.login-card-footer-nav {
	font-size: 14px;
	color: #919aa3;
	margin-bottom: 12px;
	line-height: 23px;
}

.login-card-footer-nav {
	margin-top: 23px;
}

.forgot-password-link:hover {
	color: #333;
}

.slimScrollDiv,
.slimScroll {
	overflow: hidden;
	width: auto;
	height: 300px !important;
	border-radius: 0px 0px 4px 4px;
}

/*utilizzo i popover con grandezza maggiore*/
.popover {
	max-width: 100%;
}
.popover-title {
	background: #a099ff;
}
.popover-header {
	background: #448aff;
	color: #ffffff;
}
.popover-content {
	background: #99ffaf;
}

.important-add {
	background-color: #cfe2ff !important;
	border-color: #b8daff;
}
.important-modify {
	background-color: #fff3cd !important;
	/*border-color: #ffeeba;*/
}

.alert-danger,
.alert-danger td {
	color: #842029 !important;
}

/* TEST E BG (sovrascrivo quelle di bootstrap che usa l'RGB mentre noi usiamo l'HSL) */
.text-primary {
	color: var(--bs-primary) !important;
}

.text-secondary {
	color: var(--bs-secondary) !important;
}

.text-success {
	color: var(--bs-success) !important;
}

.text-danger {
	color: var(--bs-danger) !important;
}

.text-warning {
	color: var(--bs-warning) !important;
}

.text-info {
	color: var(--bs-info) !important;
}

.text-light {
	color: var(--bs-secondary-rgb) !important;
}

.text-pink {
	color: var(--bs-pink) !important;
}

.bg-success {
	background-color: var(--bs-success) !important;
}

.bg-danger {
	background-color: var(--bs-danger) !important;
}

.text-warning2 {
	color: #ffc107 !important;
}

#edit {
	background-color: #fdf5d4 !important;
}

/* Variante 1: Blu più chiaro */
.btn-primary-1,
.bg-primary-1 {
	background-color: #85a9ff !important; /* Tonalità più chiara */
	border-color: #85a9ff !important;
}
.btn-primary-1:hover {
	background-color: #709aff !important; /* Tonalità leggermente più chiara per hover */
	border-color: #709aff !important;
}

/* Variante 2: Blu ancora più chiaro */
.btn-primary-2,
.bg-primary-2 {
	background-color: #a5c2ff !important; /* Tonalità ancora più chiara */
	border-color: #a5c2ff !important;
}
.btn-primary-2:hover {
	background-color: #92b4ff !important; /* Tonalità leggermente più chiara per hover */
	border-color: #92b4ff !important;
}

/* Variante 3: Blu più scuro */
.btn-primary-3,
.bg-primary-3 {
	background-color: #325fd1 !important; /* Tonalità più scura */
	border-color: #325fd1 !important;
	color: white !important;
}
.btn-primary-3:hover {
	background-color: #2c54ba !important; /* Tonalità leggermente più scura per hover */
	border-color: #2c54ba !important;
	color: white !important;
}

/* Variante 4: Blu ancora più scuro */
.btn-primary-4,
.bg-primary-4 {
	background-color: #1e4196 !important; /* Tonalità ancora più scura */
	border-color: #1e4196 !important;
	color: white !important;
}
.btn-primary-4:hover {
	background-color: #1a3b86 !important; /* Tonalità leggermente più scura per hover */
	border-color: #1a3b86 !important;
	color: white !important;
}

input.border-success {
	--focus-h: var(--bs-success-h);
	--focus-s: var(--bs-success-s);
	--focus-l: var(--bs-success-l);
}

input.border-danger {
	--focus-h: var(--bs-danger-h);
	--focus-s: var(--bs-danger-s);
	--focus-l: var(--bs-danger-l);
}

input.border-primary {
	--focus-h: var(--bs-primary-h);
	--focus-s: var(--bs-primary-s);
	--focus-l: var(--bs-primary-l);
}

input.border-secondary {
	--focus-h: var(--bs-secondary-h);
	--focus-s: var(--bs-secondary-s);
	--focus-l: var(--bs-secondary-l);
}

input.border-orange {
	--focus-h: var(--bs-orange-h);
	--focus-s: var(--bs-orange-s);
	--focus-l: var(--bs-orange-l);
}

input.border-purple {
	--focus-h: var(--bs-purple-h);
	--focus-s: var(--bs-purple-s);
	--focus-l: var(--bs-purple-l);
}

.form-control {
	--focus-h: var(--bs-primary-h);
	--focus-s: var(--bs-primary-s);
	--focus-l: var(--bs-primary-l);
}

.form-control:focus {
	outline: none;
	box-shadow: 0 0 0 .25rem hsl(var(--focus-h), var(--focus-s), var(--focus-l), 0.28);
}

/* .btn-info,
.bg-info {
	background-color: #539bff !important;
	border-color: #539bff !important;
}
.btn-info:hover {
	background-color: #3a8cff !important;
	border-color: #3a8cff !important;
}

.border-info {
	border-color: #0dcaf0 !important;
}

.btn-modals .text-primary:hover {
	color: #0062cc !important;
}
.btn-modals .text-info:hover {
	color: #007bff !important;
}
.btn-modals .text-warning:hover {
	color: #e0a800 !important;
}
.btn-modals .text-danger:hover {
	color: #c82333 !important;
}

.btn-modals .text-success:hover {
	color: #198754 !important;
}

.btn-modals .text-orange:hover {
	color: #c44e00 !important;
} */

/* .btn-primary [class^="bi-"]::before,
[class*=" bi-"]::before {
	display: inline-block;
	font-family: bootstrap-icons !important;
	font-style: normal;
	font-weight: normal !important;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	vertical-align: -0.125em;
	-webkit-font-smoothing: antialiased;
} */

.btn-modals:active,
.btn-modals:focus,
.btn-modals:active:focus,
.show > .btn-modals.dropdown-toggle:focus {
	box-shadow: none !important;
}

/*dashboard-icons*/
.s-24 {
	font-size: 24px !important;
}
.s-32 {
	font-size: 32px !important;
}
.s-48 {
	font-size: 48px !important;
}
.s-60 {
	font-size: 60px !important;
}
.white {
	background-color: #fff;
	background-clip: border-box;
	border: 1px solid #e1e8ee;
	border-radius: 0.25rem;
}
.float-right {
	float: right !important;
}

.table-multifilter {
	background-color: #ececec;
}

#myalert {
	margin: 0 10px 10px 10px;
	border-radius: 5px;
}

.modal-label {
	text-transform: uppercase;
	letter-spacing: 0.2px;
	font-size: 11px;
	color: #666;
	font-weight: 700;
}
.modal_fieldset {
	border: 1px solid #ced4da;
	padding-top: 5px;
	padding-right: 8px;
	padding-bottom: 5px;
	padding-left: 8px;
	border-radius: 0.25rem;
}
/*Per l'input di ricerca nelle pagine*/
.no-data {
	display: none;
	text-align: center;
}
/*Per gestire i collapse*/
.scrollable-menu {
	height: auto;
	max-height: 300px;
	overflow-x: hidden;
}
.scroll_modal {
	height: auto;
	max-height: 750px;
	overflow-x: hidden;
}

.navbar {
	padding-top: 0rem !important;
	padding-bottom: 0rem !important;
}

.nav-link {
	padding-top: 1rem !important;
	padding-bottom: 1rem !important;
}

.dropdown-item {
	font-size: 14px;
}

/* .nav-link:hover, .nav-link:focus, .nav-link:active{
  background-color: #090909;
  color: #ffffff;
} */

.dropdown-menu[data-bs-popper] {
	left: 0;
	margin-top: 0rem;
}

.height_max {
	height: 100%;
}

/* Large devices (nest hub, 1024px and up) */
@media (min-width: 1400px) {
	.nav-hidden-word {
		display: none;
		color: rgba(255, 255, 255, 0.55) !important;
	}
}

@media (max-width: 1399px) {
	.scroll {
		overflow: auto;
		width: auto;
		height: 100vh !important;
		border-radius: 0px 0px 4px 4px;
		margin: 15px 0px;
	}
	.navbar-nav .nav-link {
		text-transform: uppercase;
		padding-top: 0.5rem !important;
		padding-bottom: 0.5rem !important;
	}
	
	.navbar-nav.setting {
		border: 1px solid #666;
		border-left: none;
		border-right: none;
		padding: 20px 0;
		margin: 10px 0;
	}
	.navbar-toggler {
		float: right;
	}
	.navbar {
		padding: 10px 0px !important;
	}
	.nav-link {
		padding: 10px 15px !important;
	}
	span.nav-hidden-word {
		color: rgba(255, 255, 255, 0.55) !important;
	}
}

@media (max-width: 1350px) {
	/* Mostro l'oggetto solo da cell/tablet*/
	.hidden-element-lg {
		display: none;
	}
}

@media screen and (((min-width: 767px) and (orientation:portrait)) or ((min-width:1200px) and (orientation:landscape))) {
	.view-cells-phone {
		display: none;
	}
}

@media screen and (((max-width: 767px) and (orientation:portrait)) or ((max-width:1200px) and (orientation:landscape))) {
	.login-card-footer-text {
		margin-bottom: 24px;
	}

	.responsive-mobile,
	ul.pagination {
		text-align: center !important;
		justify-content: center !important;
	}
	.hidden-cells {
		display: none;
	}
	.container,
	.container-fluid,
	.container-lg,
	.container-md,
	.container-sm,
	.container-xl,
	.container-xxl {
		padding-right: var(--bs-gutter-x, 0.3rem);
		padding-left: var(--bs-gutter-x, 0.3rem);
	}
	.modal-body {
		padding: 0.5rem;
	}
}

/* Extra small devices (phones, 600px and down) */
@media (max-width: 422px) {
	.login-card .card-body {
		padding: 35px 24px !important;
	}
}

.message.sent {
	background: lightgreen;
	border-radius: 5px;
	display: inline-block;
	position: relative;
}

.message.received {
	background: #fff;
	border-radius: 5px;
	display: inline-block;
	position: relative;
}

.message.received .metadata {
	padding: 0 0 0 16px;
}

.message.received:after {
	border-width: 0px 10px 10px 0;
	border-color: transparent #fff transparent transparent;
	top: 0;
	left: -10px;
}

.poH {
	cursor: pointer;
}

.triangle.left-top::after {
	content: " ";
	position: absolute;
	width: 0;
	height: 0;
	left: -20px;
	right: auto;
	top: 43px;
	bottom: auto;
	border: 22px solid;
	border-color: transparent transparent lightgreen transparent;
	border-radius: 5px;
}

.triangle.right-top::after {
	content: " ";
	position: absolute;
	width: 0;
	height: 0;
	right: -20px;
	left: auto;
	top: 43px;
	bottom: auto;
	border: 22px solid;
	border-color: transparent transparent lightblue transparent;
	border-radius: 5px;
}

@media (min-width: 1400px) {
	span.nav-hidden-word {
		display: none;
	}
	.modal-xl {
		max-width: 1500px;
	}
}

/*Menu interno al modale per gestire le sezioni*/
.sidebar .nav_list {
	font-family: Open Sans, sans-serif;
	clear: none;
	line-height: 15px;
	font-size: 12px;
	font-weight: 500 !important;
	font-style: normal;
	color: black;
	text-decoration: none;
	border: none;
	text-transform: uppercase;
	display: block;
	border-bottom: 1px solid #eee;
	box-shadow: none;
	text-decoration: none;
	outline: none;
	padding: 10px 20px;
	box-shadow: none;
	position: relative;
}

.sidebar .flex-nowrap .nav_list {
	display: flex;
	justify-content: center;
}

/*file nuovo*/

/*Icona dei tooltip*/
.bi-question-circle-fill {
	font-size: 11px;
}

/*Icona Ordinamento Tabella*/
.reorder {
	transition: transform 0.7s ease-in-out;
}
.reorder:hover {
	transform: rotate(180deg);
}

.reorder:hover ~ button {
	background-color: lightblue;
}

/*Puntatore manina*/
.c-pointer {
	cursor: pointer;
}
.c-divieto {
	cursor: not-allowed !important;
}
.c-auto {
	cursor: auto !important;
}
.c-wait {
	cursor: wait !important;
}
.c-help {
	cursor: help !important;
}

.c-pencil{
	cursor: url('cursori/pencil.cur'), auto;
}

.table-filtri {
	overflow-y: visible !important;
}

/*Aggiunte di colori*/
.hover-danger:hover {
	color: red;
}

/*Modifiche sugli input*/
.disable {
	pointer-events: none !important;
	background-color: rgb(230, 230, 230) !important;
}

select[readonly="true"] {
	pointer-events: none;
	background-color: #e9ecef;
	opacity: 1;
}


.box {
	align-self: flex-end;
	animation-duration: 2s;
	animation-iteration-count: infinite;
	background-color: #f44336;

	margin: 0 auto 0 auto;
	transform-origin: bottom;
}
/*FINE far saltare una notifica*/

.icon-primary:hover {
	color: #0252ca !important;
}

.icon-secondary:hover {
	color: #060707 !important;
}


.loading {
	text-align: center;
	/* margin: 100px 0 0 0; */
}

.loading span {
	/* line-height: 0; */
	font-size: inherit;
	color: inherit;
	-webkit-animation-name: opacity;
	-webkit-animation-duration: 1s;
	-webkit-animation-iteration-count: infinite;

	-moz-animation-name: opacity;
	-moz-animation-duration: 1s;
	-moz-animation-iteration-count: infinite;
}

.loading span:nth-child(2) {
	-webkit-animation-delay: 100ms;
	-moz-animation-delay: 100ms;
}

.loading span:nth-child(3) {
	-webkit-animation-delay: 300ms;
	-moz-animation-delay: 300ms;
}
/*FINE In corco... con punti che lampeggiano pagina attivita.php e timbra_attivita.php*/

/*Modifica modali*/
.modal-backdrop {
	z-index: -1;
}

.modal-open .modal {
	background-color: rgba(0, 0, 0, 0.4);
}
/*Fine modifica modali*/

.table > :not(:last-child) > :last-child > * {
	border-bottom-color: #ddd;
}

.rotate0 {
	display: inline-block;
	-webkit-transform: rotate(0deg);
}
.rotate90 {
	display: inline-block;
	-webkit-transform: rotate(90deg);
}
.rotate180 {
	display: inline-block;
	-webkit-transform: rotate(180deg);
}
.rotate270 {
	display: inline-block;
	-webkit-transform: rotate(270deg);
}

/*Select multipla con cerca*/
option[select="select"] {
	background-color: #1e90ff !important;
	color: white !important;

	&[select-highlight] {
		background-color: rgb(253, 126, 20) !important;
		color: black !important;
	}
}

/* .modal-header {
  cursor: move;
  border-top-right-radius: 13px;
  border-top-left-radius: 13px;
}

.modal-content{
  border-radius: 13px;
  border:0px
} */

/*Viene utilizzato principalemente per inserire gli orari che vanno oltre le 24 ore */
input[data-np-ora][type="text"] {
	/* background: white url("../img/time.png") no-repeat right; */
	background-image: url("../img/time.png");
	background-repeat: no-repeat;
	background-size: 16px;
	/*background-position: right 8% bottom 45%;*/
	background-position: right 10% bottom 50%;
	/*max-width: 110px;*/
}

input[data-np-ora][type="text"][disabled] {
	background-color: #e9ecef;
}

.text-warning-en {
	color: #b1943e !important;
}


.text-orange {
	color: #fd7e14 !important;
}

.alert-orange {
	color: #c44e00 !important;
	background-color: #fddabd !important;
	border-color: #fccda7 !important;
}


.text-purple {
	color: #59359a !important;
}

.alert-purple {
	color: #3a1c72 !important;
	background-color: #d6c1fc !important;
	border-color: #c6a8fd !important;
}


@media (min-width: 1400px) {
	span.nav-hidden-word {
		display: none;
	}
	.modal-xl {
		max-width: 1500px;
	}
}

.modal-2lg {
	max-width: 1200px;
}

.navbar-device {
	background-color: var(--bg-sfondo-nr) !important;
}

.navbar-device.fixed-bottom {
	border-top: 1px solid var(--border-nr-navbar);
}

.navbar-device.fixed-top {
	border-bottom: 1px solid var(--border-nr-navbar);
}

.navbar-device .nav-link:hover {
	background-color: var(--bg-sfondo-nr) !important;
	color: var(--color-hover-nr-button);
}

@media (min-width: 768px) or (orientation: landscape) {
	.navbar-device {
		display: none !important;
	}
}

.dropdown-nr-overlay {
	position: fixed;
	left: 0;
	top: 0;
	width: 100vh;
	height: 100vh;
	z-index: 1032;
	background-color: rgba(0, 0, 0, 0.5);
	visibility: hidden;
	transition: visibility 0.2s;
}

.dropdown-nr-overlay.active {
	visibility: visible;
}

.dropdown-nr-device {
	position: fixed;
	bottom: 5px;
	left: 5px;
	width: calc(100% - 10px);
	max-height: calc(100% - 100px);
	border-radius: var(--border-radius-nr);
	background-color: var(--bg-sfondo-nr);
	padding: 10px;
	border: 1px solid var(--border-nr-navbar);
	overflow: auto;
	transform: translate(0, 100dvh);
	transform-origin: bottom;
	transition: transform 0.2s;
}

.dropdown-nr-overlay.active .dropdown-nr-device {
	transform: translate(0, 0);
}

/* NAVBAR PER DIPENDENTI DA CELLULARE (DEVICE) */
@media (max-width: 767px) and (orientation: portrait) {
	.sidebar-nr:not(.sidebar-nr-amministratore) {
		/* la navbar la nascondo solo se l'utente non è amministratore perchè ATTUALMENTE si limita alle funzionalità del dipendente/caporeparto */
		display: none !important;
	}

	/*     body:has(.navbar-device:not([hidden])) .row {
      margin-right: auto !important;
      margin-left: auto !important;
    } */

	/* stesse regole scritte sopra ma con un selettore che vada bene a FIREFOX */
	body[firefox-mobile-browser] .row {
		margin-right: auto !important;
		margin-left: auto !important;
	}

	.navbar-device i {
		/* font-size: calc(1.325rem + .9vw) !important; /* fs-2 */
		font-size: 22px !important; /* fs-2 */
	}

	.navbar-device .icon-tabler {
		color: var(--color-nr-sidebar);
		width: 30px;
		height: 30px;
		stroke-width: 1;
	}

	.icon-tabler.active {
		color: var(--color-hover-nr-button);
	}

	.nav-link:has(.icon-tabler.active) {
		position: relative;
	}

	.nav-link:has(.icon-tabler.active):after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 3px;
		background-color: var(--color-hover-nr-button);
	}

	.navbar-device .nav-link {
		padding: 10px 10px !important;
	}

	.navbar-device-subtext {
		font-size: 8px;
		color: var(--color-nr-sidebar);
		font-weight: 700;
	}

	.icon-tabler.active + .navbar-device-subtext {
		color: var(--color-hover-nr-button);
	}

	/* body:has(.navbar-device:not([hidden])) {
        padding-top: 50px;
        padding-bottom: calc(50px + 30px) !important; /* il padding bottom del body sarà circa l'altezza della navbar del telefono + 30px di margine 
        height: auto !important;
        display: block !important;
    } */

	/* stesse regole scritte sopra ma con un selettore che vada bene a FIREFOX */
	body[firefox-mobile-browser] {
		padding-top: 50px;
		padding-bottom: calc(50px + 30px) !important; /* il padding bottom del body sarà circa l'altezza della navbar del telefono + 30px di margine */
		height: auto !important;
		display: block !important;
	}

	body[firefox-mobile-browser] .nr-navbar-menu,
	body[firefox-mobile-browser] .nr-container-menu {
		display: none;
	}
}

.modal-fullscreen .modal-body {
	overflow-y: auto;
	height: 83vh;
}

/*STILE PER GESTIRE LA TRADUZIONE AUTOMATICA DELLE PAGINE LATO DIPENDENTE*/
.skiptranslate > span {
	display: none;
}

.skiptranslate {
	font-size: 0px !important;
}

.VIpgJd-ZVi9od-ORHb-OEVmcd {
	visibility: hidden !important;
}

.VIpgJd-ZVi9od-aZ2wEe-wOHMyf {
	visibility: hidden !important;
}

.text_format {
	display: inline-block;

	text-transform: lowercase;
}

.text_format::first-letter {
	text-transform: uppercase;
}
/*FINE STILE PER GESTIRE LA TRADUZIONE AUTOMATICA DELLE PAGINE LATO DIPENDENTE*/

/*TABELLA FIXHEAD per gestire la nuova schermata*/
.tableFixHead {
	overflow-y: auto;
	flex-grow: 1;
	display: flex;
	margin-bottom: 10px;
}

.tableFixHead td {
	border-left: 1px solid lightgrey;
}

.tableFixHead table {
	border-collapse: separate;
	max-width: 100%;
}

.tableFixHead thead {
	position: sticky;
	top: 0;
	background: white;
	z-index: 4;
}

.tableFixHead thead th {
	border-top: 1px solid lightgrey;
	border-left: 1px solid lightgrey;
}
/*FINE TABELLA FIXHEAD*/

.container-fluid.principale {
	height: 100vh;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.spinner-border2 {
	width: 1rem;
	height: 1rem;
	margin-bottom: 0.25rem !important;
	margin-top: 0.25rem !important;
}


/* lista_filtra_per_div -> contenitore di tutta la lista */
.lista_filtra_per_div {
	transform: scale(0, 0);
	position: absolute;
	background-color: white;
	min-width: 160px;
	box-shadow: var(--box-shadow-nr-true);
	z-index: 6;
	border-radius: 5px 5px 5px 5px;
	border-color: #6c757d !important;
	border: 1px solid #dee2e6 !important;
	font-size: 14px;
	/* box-shadow: 5px 5px 5px 0px #0000004d, 5px 5px 15px 5px rgba(255,255,255,0); */
	/* box-shadow: 0px 5px 15px -3px rgba(0,0,0,0.1); */
}

/* lista_filtra_per_div -> decorazione del contanitore totale */
.lista_filtra_per_div .lista_filtra_per_li {
	padding: 5px 5px;
	text-decoration: none;
}

.lista_filtra_per_div .lista_filtra_per_li:first-child {
	border-radius: 5px 5px 0px 0px;
}

.lista_filtra_per_div .lista_filtra_per_li:last-child {
	border-radius: 0px 0px 5px 5px;
}

.lista_filtra_per_li {
	cursor: pointer;
	display: flex;
	justify-content: space-between;
}

.lista_filtra_per_li.active {
	background-color: #0dcaf07a !important;
}

.lista_filtra_per_i {
	display: none;
}

.lista_filtra_per_li:hover {
	background-color: #0dcaf029;
	color: dark;
	/* transition: all .1s;
  transition-timing-function: ease-in-out;  */
}

.lista_filtra_per_li:hover > .lista_filtra_per_a {
	/* transition: all .1s;
  transition-timing-function: ease-in-out;   */
}

.lista_filtra_per_li.active .lista_filtra_per_i {
	display: block;
}

.lista_filtra_per_a {
	color: black;
	text-decoration: none;
	display: flex;
	/* justify-content: space-between;  */
	width: 100%;
	font-size: 12px;
}

.lista_filtra_per_a:hover {
	color: black;
}

.lista_filtra_per_i {
	position: absolute;
	right: 10px;
}

.tooltip-arrow {
	visibility: hidden;
}

.tooltip-inner {
	background-color: #3d3d3d;
}

/* .lista_filtra_per_div:hover > i {
  transform: rotate(90deg);
} */

/* Show the dropdown menu (use JS to add this class to the .lista_filtra_per_div container when the user clicks on the dropdown button) */
.show_filtra_per {
	transform: scale(1, 1);
	display: block !important;
	margin-top: 4px;
}

.lista_filtra_per_select_ul {
	color: black;
	position: absolute;
	inset: 0px auto auto 0px;
	margin: 0px;
	transform: translate3d(165px, 0px, 0px);
	/*  transform: translate3d(-256px, 0px, 0px); */
	border-radius: 5px 5px 5px 5px;
	background-color: #e5e3e3;
	padding: 9px;
	min-width: 250px;
	display: none;
	box-shadow: 5px 5px 5px 0px #0000004d, 5px 5px 15px 5px rgba(255, 255, 255, 0);
}

.lista_filtra_per_select_sottomenu {
	list-style-type: none;
}

.lista_filtra_per_btn_menu {
	cursor: pointer;
	display: flex;
	border-top: 1px solid #cbcbcb;
}

/*GESTIONE TEXT ELLIPSIS*/
.text-ellipsis {
	display: block;
	position: relative;
	max-width: 50px;
}

.text-ellipsis:hover .suggest-text-ellipsis {
	display: inline-block;
	position: absolute;
	background-color: white;
	top: 0;
	left: 0;
	color: black;
}

.text-ellipsis:hover .text-span-ellipsis {
	color: transparent;
}

.text-span-ellipsis {
	display: inline-block;
	max-width: 95%;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: clip;
	color: inherit;
	font-size: inherit;
}

.suggest-text-ellipsis {
	display: none;
	font-size: inherit;
	text-align: inherit;
	box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.28);
	border-radius: 8px;
	z-index: 3;
	padding: 0 0.3rem;
	border: 1px solid #eaebec;
	transition: all 0.2s linear;
	white-space: nowrap;
	cursor: help;
}

.mwidth-auto {
	width: auto !important;
	max-width: none !important;
}

.mwidth-50 {
	max-width: 50px !important;
}

.mwidth-100 {
	max-width: 100px !important;
}

.mwidth-150 {
	max-width: 150px !important;
}

.mwidth-200 {
	max-width: 200px !important;
}

/*DROP DOWN MENU*/
.nr-dropdown {
	position: relative;
}

.content-nr-dropdown {
	transform: scale(0, 0);
	transform-origin: top right;
	padding: 2px;
	border-radius: 5px;
	position: absolute;
	right: 0;
	transition: transform 0.2s;
	background-color: white;
	border: 1px solid lightgrey;
	z-index: 9999;
}

.content-nr-dropdown.nr-dropdown-active {
	transform: scale(1, 1);
}

.item-nr-dropdown {
	white-space: nowrap;
	padding: 3px;
	border-radius: 5px;
	color: black;
	display: flex;
	gap: 5px;
}

/* IL PRIMO ELEMENTO NON NASCOSTO (CHE NON SIA L'ULTIMO) DENTRO L'INPUT GROUP */
/* .input-group > :not(:nth-last-child(1 of :not([hidden]))):nth-child(1 of :not([hidden])) {
  border-radius: 5px 0 0 5px !important;
} */

/* L'ULTIMO ELEMENTO NON NASCOSTO (CHE NON SIA IL PRIMO) DENTRO L'INPUT GROUP */
/* .input-group > :not(:nth-child(1 of :not([hidden]))):nth-last-child(1 of :not([hidden])) {
  border-radius: 0 5px 5px 0 !important;
} */

/* IL PRIMO ELEMENTO NON NASCOSTO (CHE NON È UN .dropdown-menu) DENTRO L'INPUT GROUP */
.input-group > :not(.dropdown-menu):not(:nth-last-child(1 of :not([hidden]))):nth-child(1 of :not([hidden])) {
	border-radius: 5px 0 0 5px !important;
}

/* L'ULTIMO ELEMENTO NON NASCOSTO (CHE NON È UN .dropdown-menu E NON SIA IL PRIMO) DENTRO L'INPUT GROUP */
.input-group > :not(.dropdown-menu):not(:nth-child(1 of :not([hidden]))):nth-last-child(1 of :not([hidden])) {
	border-radius: 0 5px 5px 0 !important;
}

.form-control.focus {
	color: #212529;
	background-color: #fff;
	border-color: #86b7fe;
	outline: 0;
	box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
	z-index: 3;
}

.nr-input-icon {
	position: relative;
}

.nr-input-icon i {
	position: absolute;
	right: 8px;
	top: 8px;
	cursor: pointer;
	color: grey;
}

.nr-input-icon i:hover {
	color: black;
}

.nr-input-icon input {
	width: 100%;
	padding-right: 10px;
}

.modal-content {
	border: 0;
}

/* .outlined-text {
  text-shadow:
      -.5px -.5px 0 #000,  
      .5px -.5px 0 #000,
      -.5px .5px 0 #000,
      .5px  .5px 0 #000;
    font-weight: 600;
} */

.outlined-text {
	/*   -webkit-text-stroke: 0.3px black; */
	/* font-weight: 600;  */
}

.small-caps {
	text-transform: lowercase !important;
}

.popover-x {
	position: absolute;
}

[class*=" alert-"],
[class^="alert-"] {
	background-color: var(--bs-alert-bg);
}

:is(.form-control, .form-select):not(.no-background)[readonly] {
	background-color: #e9ecef;
}

:is(input, select, textarea):required[data-req] {
	background-color: #fff59d;
}

.big-tooltip .tooltip-inner {
	text-align: left;
	max-width: 1000px;
}

.tr-blue-selected {
	background-color: #b1ffff66;
}

/*Apertura automatica dropdown menu*/
.dropdown[hover]:hover .dropdown-menu {
	display: block;
}
.dropdown-menu {
	margin-top: 0; /* Ensure the dropdown appears right below the button */
}

.form-control-sm {
	height: 30px;
	padding: 5px 10px;
	font-size: 0.875rem; /* Equivalent to 14px */
	border-radius: 0.2rem;
	border: 1px solid #ced4da;
}

.input-group .form-control-sm {
	height: auto;
}

.riga-to-ricalcolo {
	background-color: #ffc10730 !important;
	border-color: #ffc10730 !important;
}

.text-biso {
	color: lightgrey;
}

.bg-biso {
	background-color: lightgrey;
}

span.ripple {
	position: absolute;
	border-radius: 50%;
	transform: scale(0);
	animation: ripple 900ms linear;
	background-color: rgba(255, 255, 255, 0.7);
}

@keyframes ripple {
	to {
		transform: scale(4);
		opacity: 0;
	}
}

.form-control,
.form-select {
	/* height: 100%; */
	border-radius: 0.5rem;
	border: 2px solid #d7dee4ad;
}

.form-control[data-np-ora] {
	height: auto;
}

.border-orange {
	border-color: #fd7e14 !important;
}

.border-purple {
	border-color: var(--bs-purple) !important;
}

.border-success {
	border-color: #7dc855 !important;
}

.border-bottom-primary {
	border-bottom: 4px solid #448aff;
}

.border-left-primary {
	border-left: 4px solid #448aff;
}

.border-left-orange {
	border-left: 4px solid #fd7e14;
}

.border-left-purple {
	border-left: 4px solid #59359a;
}

.border-left-success {
	border-left: 4px solid #22c55e;
}

.border-left-danger {
	border-left: 4px solid #ed5564;
}

.textarea {
	min-height: 80px;
	height: auto;
}

.minHeight-0 {
	min-height: 0;
}

.form-check {
	margin-bottom: 0px;
}

[color-picker-input] {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

[color-picker-input]::selection {
	background-color: transparent;
	color: inherit;
}

.animated-underline {
	position: relative;
	display: inline-block;
	overflow: hidden;
}

.animated-underline::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: linear-gradient(to right, transparent, currentColor, transparent);
	transform-origin: 0 0;
	transform: scaleX(0);
	animation: underlineAnimate 1.5s ease-in-out infinite;
}

@keyframes underlineAnimate {
	0% {
		transform: scaleX(0);
		transform-origin: 0 0;
	}
	50% {
		transform: scaleX(1);
		transform-origin: 0 0;
	}
	50.1% {
		transform-origin: 100% 0;
	}
	100% {
		transform: scaleX(0);
		transform-origin: 100% 0;
	}
}

@keyframes pulse {
	0% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.1);
	}
	100% {
		transform: scale(1);
	}
}

.toast {
	width: 335px;
}

/* Stile per la barra di caricamento */
#barra-caricamento-pagina {
	position: fixed;
	top: 0;
	left: 0;
	width: 35%;
	height: 3px;
	background-color: var(--bs-primary); /* Cambia il colore a piacimento */
	transition: width 0.4s ease;
	z-index: 9999;
	transition: width 0.2s;
}

/* Stile per la barra di scorrimento sottile */
.scrollbar-thin::-webkit-scrollbar {
	height: 5px; /* Altezza della barra di scorrimento */
}

.scrollbar-thin::-webkit-scrollbar-track {
	background: #f1f1f1; /* Colore dello sfondo */
}

.scrollbar-thin::-webkit-scrollbar-thumb {
	background: #888; /* Colore della barra */
	border-radius: 5px; /* Bordi arrotondati */
}

.scrollbar-thin::-webkit-scrollbar-thumb:hover {
	background: #555; /* Colore al passaggio del mouse */
}

/* GESTIONE TEXT-TRUCATE */
.truncate-cell {
	position: relative;
	max-width: 300px;
}

.truncate-text {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
	display: none;
}

.truncate-text.is-truncated {
	cursor: help;
}

.full-text {
	position: absolute;
	visibility: hidden;
	opacity: 0;
	padding: 12px;
	border-radius: 8px;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
	white-space: normal;
	min-width: 300px;
	max-width: 600px;
	font-size: 14px;
	line-height: 1.5;
	border: 1px solid rgba(255, 255, 255, 0.3);
	background: rgb(197 243 255 / 10%);
	backdrop-filter: blur(7.1px);
	-webkit-backdrop-filter: blur(7.1px);
	transition: visibility 0.3s, opacity 0.3s, transform 0.3s;
	transform: translateY(0);
	pointer-events: auto;
	color: #212529;
}

.full-text.full-text-show {
	visibility: visible;
	opacity: 0.9;
	transform: translateY(-10px);
}

.close-button-truncate {
	position: absolute;
	right: 0px;
	top: 2px;
	width: 20px;
	height: 20px;
	background-color: transparent;
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	padding-bottom: 3px;
}

.close-button-truncate:hover {
	background-color: #e5e7eb;
	border-radius: 50%;
}

.truncate-container {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 0;
	pointer-events: none;
	z-index: 9999;
}

body:has(.goog-te-combo) {
	top: 0px !important;
}

.w-10 {
	width: 10% !important;
}
.w-20 {
	width: 20% !important;
}
.w-30 {
	width: 30% !important;
}
.w-40 {
	width: 40% !important;
}
.w-50 {
	width: 50% !important;
}
.w-60 {
	width: 60% !important;
}
.w-70 {
	width: 70% !important;
}
.w-80 {
	width: 80% !important;
}
.w-90 {
	width: 90% !important;
}
.w-100 {
	width: 100% !important;
}

@media (max-width: 767.98px) {
	.btn-responsive {
		padding-top: 0.5rem !important;
		padding-bottom: 0.5rem !important;
		padding-left: 1rem !important;
		padding-right: 1rem !important;
		font-size: 1rem !important;
		/* border-radius: .5rem !important; */
	}
	.form-select-responsive {
		padding-top: 0.5rem !important; /* Più spazio */
		padding-bottom: 0.5rem !important;
		padding-left: 1rem !important;
		font-size: 1rem !important; /* Font più grande */
		/* border-radius: .5rem !important;  */
	}
}

@media (min-width: 768px) {
	.btn-responsive {
		padding-top: 0.25rem !important;
		padding-bottom: 0.25rem !important;
		padding-left: 0.5rem !important;
		padding-right: 0.5rem !important;
		font-size: 0.875rem !important;
		/* border-radius: .25rem !important; */
	}
	.form-select-responsive {
		padding-top: 0.25rem !important;
		padding-bottom: 0.25rem !important;
		padding-left: 0.5rem !important;
		font-size: 0.875rem !important;
		/* border-radius: .25rem !important; */
	}
}

.shadow-1 {
	box-shadow: 5px 5px 15px 8px rgb(0 0 0 / 8%);
}

.shadow-1-left {
	box-shadow: -15px 17px 21px -6px rgba(0, 0, 0, 0.1);
}

/* Stile per rendere l'offcanvas fullscreen su dispositivi mobili */
@media (max-width: 575.98px) {
	.offcanvas-fullscreen-sm-down {
		width: 100% !important;
		height: 100%; /* Occupare tutta l'altezza */
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		border-radius: 0; /* Rimuove gli angoli arrotondati */
	}
}

.offcanvas-no-transition {
	transition: none !important; /* Disabilita le transizioni solo per questa classe */
}

.overflow-x-hidden {
	overflow-x: hidden;
}

/* Nasconde gli spinner nei browser basati su Webkit (Chrome, Safari, Edge) */
input[type="number"][no-arrows]::-webkit-inner-spin-button,
input[type="number"][no-arrows]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Per Firefox */
input[type="number"][no-arrows] {
	-moz-appearance: textfield;
}

.thead-secondary {
	& tr {
		background-color: var(--bs-secondary-6-bg-rgb) !important;
	}

	& :is(th, td) {
		text-align: center;
		color: #86929e !important;
		text-transform: uppercase;
		font-size: 13px;
		font-weight: 600;
	}
}

.icon-hide-toggle {
	--rotate-deg: 0;
	display: inline-block;
	transform: rotate(var(--rotate-deg));

	&.active:hover {
		--rotate-deg: 0;
	}

	&:is(:hover, .active) {
		--rotate-deg: 90deg;
	}

	&::after {
		content: "\F231";
		font-family: "bootstrap-icons";
		font-style: normal;
		font-weight: normal !important;
		font-variant: normal;
		text-transform: none;
		line-height: 1;
		vertical-align: -0.125em;
		-webkit-font-smoothing: antialiased;
	}
}

.card-fildset {
	/* padding: 1px; */
	/* padding: 10px; */
	margin-top: 10px !important;
	box-shadow: 5px 6px 10px -9px rgba(0, 0, 0, 0.1);
}

.card-fildset-body {
	padding: 10px;
	display: flex;
	border: 1px solid #e9ecef;
	border-radius: 0px 0px 5px 5px;
	flex-wrap: wrap;
}

.card-fildset-title {
	border: 1px solid #e9ecef;
	/* border-radius: 5px; */
	/* display: flex; */
	/* justify-content: center; */
	text-transform: uppercase;
	/* font-size: 14px; */
	padding: 5px 12px 5px 12px;
	font-weight: 600;
	color: black !important;
	/* border-bottom: 1px solid #e9ecef; */
	padding-bottom: 5px;
	display: flex;
	align-items: center;
	gap: 5px;
	/* margin-bottom: 2px; */
	border-radius: 5px 5px 0px 0px;
	background-color: rgba(var(--bs-light-info-rgb), 1);
}

/* Se l'elemento successivo con la classe .prova-prova è nascosto, applica lo stile all'elemento attuale */
.card-fildset-title:has(+ .card-fildset-body[hidden]) {
	border-radius: 5px;
}

.row-sm {
	--bs-gutter-x: 0.5rem !important;
}

.input-group .form-control {
	max-height: 100% !important;
}

.query-builder {
	& [data-add="group"] {
		background-color: var(--bs-info) !important;
		border-color: var(--bs-info) !important;
		color: white !important;
	}

	& .btn-group.group-conditions .btn-primary:not(.active) {
		background-color: #e7e7e7 !important;
		color: var(--bs-primary-text) !important;
	}
}

.underline-hover:hover {
	text-decoration: underline;
	cursor: pointer !important;
}

dialog {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: 1em;
	border: none;
	border-radius: var(--bs-border-radius);
	z-index: 1065;
}

.simple-dialog {
	width: 350px;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}

.card-info-modal {
	padding: 1rem;
	border-radius: 7px;
	margin: 0.5rem;
	background-color: #f3f6f9 !important;
}

/* RADIO BUTTON CON BORDER BUTTON FIGO*/
 .btn-group-bb label {
    border: none;
    background-color: transparent;
    position: relative;
    font-weight: normal;
  }

  .btn-group-bb input:checked + label {
    font-weight: bold;
  }

  .btn-group-bb label::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    height: 3px; 
    background-color: transparent;
    transition: background-color 0.3s;
  }

  .btn-group-bb input:checked + label::after {
	background-color: currentColor; /* Usa il colore del testo della label */
  }

  .btn-group-bb input.btn-check:checked + label {
    color: #007bff ; 
  }

.btn-group-bb input[hidden] + label {
	display: none !important;
}

.fs-7{
	font-size: 0.8rem !important;
}

.fs-8{
	font-size: 0.7rem !important;
}

.fs-9{
	font-size: 0.6rem !important;
}

.fs-10{
	font-size: 0.5rem !important;
}

.fs-11{
	font-size: 0.4rem !important;
}