.footer-voci-navigazione {
  margin-left: 20px;
  margin-right: 20px;
}

.btn-si {
  color: #ffffff;
  background-color: #003A60;
  border-color: #003A60;
}

.btn-no {
  color: #003A60;
  background-color: #FFFFFF;
  border-color: #F2F2F2;
}

.btn-si:hover {
  color: #ffffff;
  background-color: #004d80;
}

.btn-no:hover {
  background-color: #F2F2F2;
}

.badge-light {
    color: #FFFFFF;
    background-color: red;
}
.badge {
    display: inline-block;
    font-size: 75%;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
}

.toggle-confirm-container-left {
	width: 316px;
    height: 120px;
    margin-top: -50px;
    margin-left: -316px;
    float: left;
    position: absolute;
    display: none;
}

.toggle-confirm-container-top {
	position: absolute;
	width: 276px;
    height: 145px;
    margin-top: -145px;
    margin-left: -118px;
    display: none;
}

.toggle-arrow-container-right {
	float: left;
    width: 20px;
    height: 120px;
    margin-top: 45px;
    z-index: 1060;
    position: relative;
    opacity: 1;
}

.toggle-arrow-container-down {
	width: 276px;
	height: 20px;
}

.toggle-arrow-down {
	width: 30px;
	height: 20px;
	margin: 0 auto;
	border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-top: 20px solid #FFFFFF;
}

.toggle-arrow-right {    
    width: 20px; 
  	height: 30px; 
  	margin: 0 auto;
  	border-top: 20px solid transparent;
  	border-bottom: 20px solid transparent;
 	border-left: 20px solid #003354;
}


.position-toggle-confirm {
	position: relative;
	opacity: 1;
}

.toggle-confirm-float {
	float: left;
}

.toggle-confirm-right {
	border-right: 0px solid #cccccc !important;
    border-right: 0px solid rgba(0, 0, 0, 0.2) !important;
    border-bottom: 1px solid #cccccc !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.2) !important;
    background-color: #003354 !important;
    color: #FFFFFF !important;
    width: 296px !important;
    -webkit-box-shadow: 0 0px 10px rgb(0 0 0 / 20%) !important;
    box-shadow: 0 0px 10px rgb(0 0 0 / 20%) !important;
}

.toggle-confirm {
    top: 0;
    left: 0;
    z-index: 1060;
    width: 276px;
    height: 120px;
    padding: 1px;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.42857143;
    text-align: left;
    background-color: #FFFFFF;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    border-top: 1px solid #cccccc;
    border-top: 1px solid rgba(0, 0, 0, 0.2);
    border-left: 1px solid #cccccc;
    border-left: 1px solid rgba(0, 0, 0, 0.2);
    border-right: 1px solid #cccccc;
    border-right: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 6px;
    -webkit-box-shadow: 0 -5px 10px rgb(0 0 0 / 20%);
    box-shadow: 0 -5px 10px rgb(0 0 0 / 20%);
    white-space: normal;
}

.custom-file-input-container {
	width: 80%;
	margin: 0% 2% 0% 2%;
	float: left;
}

.custom-file-delete-container {
    float: right;
}

.btn-position {
	float: right; 
	margin: 0px 10px 10px 0px;
}

.custom-file-progress {
	margin-top: 5px;
	display: none;
}

.file-progress {
  width: 100%;
  background-color: #ddd;
  border-radius: 4px;
}

.file-bar {
  width: 0%;
  height: 20px;
  /* background-color: #348D45; */
  background-color: #FFFFF;
  border-radius: 4px;
}

.label-progress {
  float: left;
  text-align: center;
  width: 100%;
  color: #003A60;
}

.form-check-container {
	width: 100%;
	height: 34px;
}

.form-check {
    display: block;
    min-height: 1.5rem;
    padding-left: 1.5em;
    margin-bottom: .125rem;
    width: 50%;
    float: left;
    height: 34px;
    padding-top: 6px;
}

.form-check-input[type=radio] {
    border-radius: 50%;
}

.form-check .form-check-input {
    float: left;
    margin-left: -1.5em;
}

.form-check-input {
    width: 1em;
    height: 1em;
    margin-top: .25em;
    vertical-align: top;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 1px solid rgba(0,0,0,.25);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
}

.form-check-input:checked {
    background-color: #0d6efd;
    border-color: #FFFFFF;
}

.form-check-input:disabled,
.form-check-input:disabled~.form-check-label,
.form-check-input[disabled],
.form-check-input[disabled]~.form-check-label,
.form-control:disabled,
.form-control[disabled],
.label-danger:disabled,
.label-danger[disabled] {
	opacity: 0.5;
}

.form-check-label {
	font-weight: 100;
}

.custom-file {
	position: relative;
    display: inline-block;
    width: 100%;
    margin-bottom: 0;
}

.custom-file-input {
    position: relative;
    cursor: pointer;
    z-index: 2;
    width: 85%;
    margin: 0;
    opacity: 0;
}

file-input:invalid ~ .custom-file-label {
    border-color: #dc3545;
}

.custom-file-label {
    position: absolute;
    cursor: pointer;
    top: 0;
    right: 0;
    left: 0;
    width: 85%;
    z-index: 1;
    height: 34px;
    padding: 6px 12px;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    border: 1px solid #ced4da;
    border-radius: .25rem;
}

.custom-file-label::after {
    position: absolute;
    cursor: pointer;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    display: block;
    padding: .375rem .75rem;
    line-height: 1.8;
    color: #495057;
    content: "...";
    background-color: #e9ecef;
    border-left: 1px solid #ced4da;
    border-radius: 0 .25rem .25rem 0;
}

.table-lable {
	margin-top: -15px
}

.nav-tabs-aria{
	width: 50%;
    border-bottom: solid 2px #003A60;
}

.nav-tabs-aria a{
	width: 100%;
	color: #003A60;
    background-color: #FFFFFF;
    
}

.modal-button {
	padding: 3px 10px 3px 10px;  
    border-radius: 5px;
    font-size: large;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}

.plus {
	color: #155724;
    background-color: #d4edda;
    border-color: #c3e6cb;
}

.neg {
	color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
}

.dichiarazione-container {
    height: 120px;
}

.modal-header-danger{
    color: #721c24;
    background-color: #f8d7da;
    padding: 15px;
    border-bottom: 1px solid #e5e5e5;
    min-height: 16.42857143px;
}

.modal-header-success{
    color: #155724;
    background-color: #d4edda;
    padding: 15px;
    border-bottom: 1px solid #e5e5e5;
    min-height: 16.42857143px;
}

.nav-tabs-aria-active{
	color: white;
    background-color: #003A60;
}

._right {
	float: right;
}

.no-margin {
	margin-left: 0px;
	margin-right: 0px
}

.vic-loader {
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index: 9999;
	background: url(../images/spinner.gif) center no-repeat #fff;
	display: none;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
	filter: alpha(opacity = 50);
	opacity: .5;
}

.center {
	text-align: center;
}

#map {
	margin: 0;
	padding: 0;
}

#BasemapToggle {
	position: absolute;
	top: 20px;
	right: 20px;
	z-index: 50;
}

#divNewPoint {
	position: absolute;
	height: 79px;
	width: 79px;
	right: 20px;
	top: 110px;
	z-Index: 99;
	border: 1px solid #57585A;
	background-color: #FFFFFF;
	padding: 0px;
	cursor: pointer;
	border-radius: 5px;
	text-align: -webkit-center;
}

.baseMapTable {
	background-color: #FFFFFF;
	border-color: #FFFFFF;
	margin: 3px -5px -5px;
}

.baseMapTable tr {
	padding: 0px;
	margin-top: 15px;
}

.baseMapTable td {
	padding: 0;
	border-color: #FFFFFF;
}

.baseMapTable tr:hover {
	background-color: #FFFFFF;
}

/* Tre puntini caricamento */
.dots::after {
  content: "...";
  display: inline-block;
  width: 1ch;
  animation: dots 1.5s steps(3, end) infinite;
}

@keyframes dots {
  0% { content: ""; }
  33% { content: "."; }
  66% { content: ".."; }
  100% { content: "..."; }
}

/* Stili gestione moduli - start */

.no-resize {
  resize: none;
}

.accordion {
	width: 100%;
	margin: 20px auto;
	border: 1px solid #ccc;
	border-radius: 4px;
	overflow: hidden;
}

.accordion-header {
	background-color: #f1f1f1;
	padding: 10px 15px;
	cursor: pointer;
	border-bottom: 1px solid #ddd;
	display: flex;
	justify-content: space-between;
	align-items: center;
	user-select: none;
}

.accordion-header:hover {
	background-color: #e2e2e2;
}

.accordion-header .number {
	font-weight: bold;
	margin-right: 5px;
}

.accordion-header .indicator {
	border: solid black;
	border-width: 0 2px 2px 0;
	display: inline-block;
	padding: 4px;
	transform: rotate(-135deg);
	transition: transform 0.3s ease;
}

.accordion-header .indicator.open {
	transform: rotate(45deg);
}

.accordion-content {
	padding: 10px 15px;
	display: none;
}

.accordion-content.open {
	display: block;
}

.blue-accordion {
	border: 1px solid #e5e5e5;
	border-radius: 4px;
}

.blue-accordion .accordion-header {
	background-color: #003A60;
	border: 1px solid #003A60;
	color: white;
}

.blue-accordion .accordion-header:hover {
	background-color: #0056b3;
}

.blue-accordion .accordion-header .indicator {
	border-color: white;
}

label.required::after {
    content: '*';
    color: red;
    margin-left: 4px;
}

.label-absolute {
	position: absolute;
	margin-top:-17px;
}

.scroll-top-button {
	position: fixed;
	bottom: 20px;
	right: 20px;
	padding: 10px 20px;
	background-color: #007bff;
	color: white;
	border: none;
	border-radius: 5px;
	cursor: pointer;
	display: block;
	z-index: 1000;
}

.scroll-top-button:hover {
	background-color: #0056b3;
}

.sticky-header {
	position: sticky;
	top: 0;
	padding: 10px;
	z-index: 1000;
	background-color: white;
	border: solid 1px #eeeeee;
	margin-left: 0px;
	margin-right: 0px;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.gantt-container {
	display: flex;
	flex-direction: column;
	border: 1px solid #ccc;
	overflow-x: auto;
	margin-top: 20px;
}

.gantt-header {
	display: flex;
	flex-direction: column;
	border-bottom: 1px solid #ccc;
	z-index: 1000;
}

.gantt-header .year-row,
.gantt-header .month-row {
	display: flex;
}

.gantt-header .year,
.gantt-header .month {
	text-align: center;
	font-size: 12px;
	padding: 5px;
	border-left: 1px solid #ddd;
}

.gantt-header .year:first-child,
.gantt-header .month:first-child {
	border-left: none;
}

.gantt-header .year {
	flex: 12;
	background-color: #f4f4f4;
	font-weight: bold;
}

.gantt-header .month {
	flex: 1;
	background-color: #e9e9e9;
}

.gantt-row {
	display: flex;
	align-items: center;
	border-bottom: 1px solid #ccc;
	position: relative;
	height: 40px;
	width: 100%;
}

.gantt-row  {
	min-width: 100px;
	text-align: left;
	padding: 1px;
	background-color: #f9f9f9;
	border-right: 1px solid #ccc;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.phase-label {
	min-width: 100px;
	text-align: left;
	padding: 1px;
	font-variant-caps: small-caps;
	/*
	background-color: #f9f9f9;
	border-right: 1px solid #ccc;
	*/
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.phase-dates {
    color: black;
    z-index: 100;
    position: absolute;
    opacity: 1.0;
    margin-top: 12px;
    font-size: xx-small;
}

.gantt-row .timeline {
	flex: 1;
	display: flex;
	position: relative;
	height: 100%;
}

.gantt-row .timeline .bar {
	position: absolute;
	height: 20px;
	background-color: #4285f4;
	border-radius: 3px;
	top: 50%;
	transform: translateY(-50%);
}

.day-lines-container {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	pointer-events: none;
}

.day-line {
	position: absolute;
	top: 0;
	border-left: 1px solid #ddd; /* Linea sottile */
	height: 100%;
	z-index: 1;
}

.form-container {
	margin-top: 20px;
}

.form-container input,
.form-container button {
	padding: 10px;
	margin-right: 10px;
}

.form-ol-header:hover {
	background-color: #e2e2e2;
}

#quill-editor-container {
	min-height: 150px; 		/* Altezza minima */
	max-height: 800px; 		/* Altezza massima */
	overflow-y: auto;  		/* Mostra scroll solo se necessario */
	resize: vertical;  		/* Permette ridimensionamento manuale, opzionale */
}

#quill-editor-container .ql-editor {
	min-height: 150px; 		/* Altezza minima del contenuto */
	padding: 10px; 			/* Aggiungi spaziatura interna */
	overflow: visible;		/* Assicurati che il contenuto sia visibile */
	box-sizing: border-box;	/* Assicura che padding sia incluso nell'altezza */
}

/* Stili gestione moduli - end */