.form-horizontal .control-label {
	text-align: right;
}

.form-horizontal .control-label-l {
	text-align: left;
}

.form-horizontal .control-label-c {
	text-align: center;
}

.control-label.required:after {
	content: " *";
	color: red;
}

.dropdown-menu>li>div>span {
	background-color: var(--background);
	color: var(--text-color) !important;
}

.dropdown-menu>li>div>span:hover {
	background-color: #007bff !important;
	color: var(--primary) !important;
}

.ui-select-bootstrap span.btn-default:hover {
	background-color: var(--background);
}

.ui-select-bootstrap .ui-select-choices-row.active>span {
	background-color: #fff;
}

.panel {
	border-radius: 0;
}

.panel-heading {
	border-radius: 0;
	padding: 10px;
}

.panel-heading h1,
.panel-heading h3,
.panel-heading h4,
.panel-heading h5 {
	margin: 0;
}

.intestazione {
	margin: 0;
}

.loginBox .panel-body {
	padding: 10px;
}

.panel-body {
	padding: 5px;
}

.panel-body.intestazione {
	border-bottom: 1px solid var(--border-color);
	padding: 10px 5px 5px;
}

.panel-small {
	padding: 5px 20px 5px 5px;
}

.page-header {
	margin: 12px 0;
	border-bottom: 1px solid var(--border-color);
	color: var(--text-primary);
}

.page-header.title {
	margin: 12px 0 0;
	border-color: var(--border-color);
}

.page-header.intestazione {
	background-color: var(--surface-hover);
	border-color: var(--border-color);
	margin: 0 0 12px;
}

h1>a:hover,
h1>a:focus {
	text-decoration: none;
}

h1 .svg-inline--fa,
h1>span {
	font-size: 18px;
}

h1>a>span {
	cursor: pointer;
	padding: 6px;
}

.outputTable {
	height: 300px;
	overflow-y: scroll;
}

.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

.clearfix {
	display: inline-block;
}

/* start commented backslash hack \*/
* html .clearfix {
	height: 1%;
}

.clearfix {
	display: block;
}

/* close commented backslash hack */

.layout_region {
	position: relative;
}

/* GEOS */
/* PAGINA IMPORTA */

.geos-page {
	margin-top: 30px;
	max-width: 100%;
	width: 70%;
}

/* GEOS ELABORAZIONI */

.spinner-geos {
	width: 18px;
	height: 18px;
	border: 2px solid transparent;
	border-top-color: var(--thirdary);
	border-right-color: var(--thirdary);
	border-radius: 50%;
	display: inline-block;
	animation: spinner-rotate .9s ease-in-out infinite;
	vertical-align: middle;
	margin-left: 8px;
	position: relative;
	top: 2px;
}

@keyframes spinner-rotate {
	to {
		transform: rotate(360deg);
	}
}

.modal-xl .modal-dialog {
	width: 90%;
	max-width: 1400px;
}

@media (max-width: 991px) {
	.modal-xl .modal-dialog {
		width: 95%;
	}
}

.elab-details-container {
	margin-top: 30px;
	margin-bottom: 50px;
}

.section-title {
	margin-top: 50px;
	margin-bottom: 30px;
}

.status-icon {
	font-weight: bold;
	margin-left: 10px;
	font-size: 18px;
}

.status-success {
	color: var(--success);
}



.page-header.title {
	margin: 12px 0 0;
	border-color: var(--border-color);
}

.page-header.intestazione {
	background-color: var(--surface-hover);
	border-color: var(--border-color);
	margin: 0 0 12px;
}

h1>a:hover,
h1>a:focus {
	text-decoration: none;
}

h1 .svg-inline--fa,
h1>span {
	font-size: 18px;
}

h1>a>span {
	cursor: pointer;
	padding: 6px;
}

.outputTable {
	height: 300px;
	overflow-y: scroll;
}

.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

.clearfix {
	display: inline-block;
}

/* start commented backslash hack \*/
* html .clearfix {
	height: 1%;
}

.clearfix {
	display: block;
}

/* close commented backslash hack */

.layout_region {
	position: relative;
}

.geos-label {
	text-align: left;
	line-height: 34px;
	padding-top: 0;
}

.btn-bottom-right {
	margin-top: auto;
	display: flex;
	justify-content: flex-end;
}

.split-divider {
	position: relative;
	width: 1px;
	margin: 0 10px;
}

.split-divider::before {
	content: "";
	position: absolute;
	top: 20px;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	width: 1px;
	background: var(--border-color);
}

.btn-group-right {
	display: flex;
	justify-content: flex-end;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 50px;
}

/* =========================================================
   RADIO BUTTON 
   ========================================================= */

input[type="radio"],
input.form-control[type="radio"] {
	appearance: none;
	-webkit-appearance: none;

	display: inline-block;
	width: 18px;
	min-width: 18px;
	height: 18px;
	min-height: 18px;

	margin: 0;
	padding: 0;

	vertical-align: middle;
	flex-shrink: 0;

	background-color: var(--background);
	border: 1px solid var(--border-color);
	border-radius: 50%;

	cursor: pointer;

	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		background-color 0.2s ease;
}

input[type="radio"]:hover:not(:disabled) {
	border-color: var(--input-focus);
}

input[type="radio"]:focus {
	outline: none;
	border-color: var(--input-focus);
	box-shadow: 0 0 0 2px var(--surface-focus);
}

input[type="radio"]:checked {
	border: 5px solid var(--text-active);
	background-color: var(--background);
}

input[type="radio"]:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

/* =================================
   DETTAGLIO RELAZIONE
   ================================= */

.relation-details {
	padding: 20px 15px;
}

.relation-section-title {
	margin-bottom: 22px;
	padding-bottom: 10px;

	font-size: 14px;
	font-weight: 600;
	color: var(--text-primary);

	border-bottom: 1px solid var(--border-color);
}

.relation-column {
	padding-left: 25px;
	padding-right: 25px;
}

.relation-column-child {
	border-left: 1px solid var(--border-color);
}

.relation-details .form-group {
	margin-bottom: 18px;
}

.relation-details .control-label {
	color: var(--text-secondary);
	font-weight: 500;
}

.relation-details .form-control[readonly] {
	cursor: default;
}

.relation-page-header {
	display: flex;
	align-items: center;
	gap: 8px;
}

.relation-back {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 30px;
	height: 30px;

	flex-shrink: 0;

	border-radius: 6px;
	color: var(--text-secondary);

	transition: all .2s ease;
}

.relation-back:hover,
.relation-back:focus {
	background-color: var(--surface-hover);
	color: var(--text-active);
	text-decoration: none;
}

.relation-breadcrumb {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
}

.relation-breadcrumb-separator {
	margin: 0 8px;
	color: var(--scrollbar-hover);
}

.relation-breadcrumb-current {
	color: var(--text-primary);
	font-weight: 600;
}

.relation-actions {
	margin-top: 20px;
	padding-top: 15px;
	border-top: 1px solid var(--border-color);
}


/* MOBILE */

@media (max-width: 991px) {

	.relation-column {
		padding-left: 15px;
		padding-right: 15px;
	}

	.relation-column-child {
		margin-top: 25px;
		padding-top: 25px;

		border-left: none;
		border-top: 1px solid var(--border-color);
	}

}

/* =========================================================
   MODALI DI CONFERMA
   ========================================================= */

.ng-confirm .ng-confirm-box {
	background: var(--surface);
	border: 1px solid var(--border-color);
	border-radius: 10px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
	padding: 0;
	overflow: hidden;
}


/* HEADER */

.ng-confirm .ng-confirm-box div.ng-confirm-title-c {
	display: flex;
	align-items: center;

	margin: 0;
	padding: 16px 20px;

	background: var(--background);
	border-bottom: 1px solid var(--border-color);
}

.ng-confirm .ng-confirm-title {
	font-size: 15px !important;
	font-weight: 600;
	color: var(--text-primary);
}


/* CONTENUTO */

.ng-confirm .ng-confirm-box div.ng-confirm-content-pane {
	margin: 0;
}

.ng-confirm .ng-confirm-content {
	padding: 20px;

	font-size: 13px;
	line-height: 1.5;
	color: var(--text-secondary);
}


/* FOOTER */

.ng-confirm .ng-confirm-box .ng-confirm-buttons {
	float: none !important;

	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;

	width: 100%;
	margin: 0;
	padding: 14px 20px;

	background: var(--surface);
	border-top: 1px solid var(--border-color);
}


/* PULSANTI */

.ng-confirm .ng-confirm-box .ng-confirm-buttons>button {
	margin: 0;
	min-width: 100px;
}


/* Conferma */

.ng-confirm .ng-confirm-box .ng-confirm-buttons button.btn-danger {
	background: var(--surface);
	border: 1px solid var(--danger);
	color: var(--danger);
}

.ng-confirm .ng-confirm-box .ng-confirm-buttons button.btn-danger:hover {
	background: var(--danger);
	border-color: var(--danger);
	color: var(--surface);
}


/* Annulla */

.ng-confirm .ng-confirm-box .ng-confirm-buttons button.btn-neutral {
	background: var(--surface);
	border: 1px solid var(--btn-color);
	color: var(--btn-color);
}

.ng-confirm .ng-confirm-box .ng-confirm-buttons button.btn-neutral:hover {
	background: var(--btn-color);
	border-color: var(--btn-color);
	color: var(--surface);
}