/* MENU-TOP */

.icona-precompilato {
	color: #eb641f;
}
.icona-modificato {
	color: #004080;
}
.icona-vuoto {
	color: #666;
}
main {
	min-height: 30rem;
}

/* HOME */
.wizard-step > .progress {
	margin: 2.75rem 0;
}
.wizard-dot {
	height: 5rem;
	margin-left: -2.5rem;
	text-align: center;
	text-decoration: none !important;
	width: 5rem;
}
.wizard-dot:after {
	height: 4rem;
	width: 4rem;
}
.wizard-dot > .fas {
	color: #fff;
	font-size: 2rem;
}
.wizard-step:first-child.wizard-step-doing > .progress > .progress-bar {
	width: 0%;
}
.wizard-step:last-child.wizard-step-doing > .progress > .progress-bar {
	width: 100%;
}

/* COMMON */
.numero-sezione {
	margin-right: 1rem;
}
.numero-sezione:before {
	background-color: #eb641f;
	border-radius: .25rem;
    color: #fff;
	content: '\f30b';
	font-family: 'Font Awesome 5 Free';
    font-size: .8em;
    font-weight: 900;
	margin-right: .5rem;
    padding: 0 .25rem;
}

/* INPUT */
.form-control {
	display: inline-block;
	width: auto;
}
.assistita-modal .form-control:not(.campo-fake) {
	display: block;
	width: 100%;
}

.smallbox {
	max-width: 4.5rem;
}
.smallbox-f24 {
	max-width: 3.2rem;
}
.mediumbox {
	max-width: 17em;
}
.form-control-100 {
	width: 100%;
}
.form-control-disabled {
    background-color: #eee;
}
.campo-fake {
	min-width: 50px;
}
.table .form-control.ng-invalid,
.rigo-container .form-control.ng-invalid {
	background-color: #f2dede;
	border-color: #a94442;
}
.table .form-control.ng-invalid:focus,
.rigo-container .form-control.ng-invalid:focus {
	box-shadow: 0 0 8px rgba(169,68,66,.6);
}
input[type=checkbox].form-control {
	background-color: transparent;
	border-color: transparent;
} 
.rigo-container input[type=checkbox] {
	float: left;
	height: calc(2rem + 2px);
	margin: 0 .5rem;
}
.table input[type=checkbox] {
	height: auto;
}
.form-horizontal > .form-group {
	margin-bottom: 10px;
	margin-left: 0;
	margin-right: 0;
}
.form-horizontal > .form-group > .btn,
.form-inline > .form-group > .btn {
	margin-left: .4em;
}

/* BUTTON */
.quadro-buttons .btn {
	margin: 0 .5rem .5rem 0;
}

/* MESSAGES */
tr.warning-move:hover td,
.warning-move {
	background-color: #fffcbb !important;
}
.alert-help {
	border-color: #eb641f;
}
.msg-hide:before,
.msg-show:before,
.msg-send:before {
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	margin-right: .4em;
}
.alert-help > li::before,
div.alert-help::before {
	color: #eb641f;
	content: '\f05a';
}

span.alert-table{
	display: block;
}

.msg-hide:before {
	content: '\f077';
}
.msg-show:before {
	content: '\f078';
}
.msg-send:before {
	content: '\f14d';
}
#avvisi-home > .avviso,
#messaggi-home > .avviso {
	border-bottom: 1px solid #ddd;
	margin: .5rem 0 1rem;
	padding: .5rem 0 1rem 1rem;
}
#avvisi-home > .avviso {
	border-left: .25rem solid #06c;
}
#messaggi-home > .avviso {
	border-left: .25rem solid #eb641f;
}
#messaggi-home p {
	margin-bottom: 0;
}
#messaggi-home .link-more {
    margin-left: .5rem;
}
#messaggi-home .link-more.collapsed:before {
    content: 'Leggi';
}
#messaggi-home .link-more:before {
    content: 'Chiudi';
}

/* CARD */
.card-orange {
	border: 2px solid #eb641f;
}

/* PAGINATION */
.pagination {
	margin: 0;
}

.table-white{
	background-color: #fff;
}

/* VISUALIZZA */
.visualizza-list > .card-body {
	padding: 0;
}
.visualizza-list table th,
.visualizza-list table td {
	padding: .5rem .75rem;
}
.visualizza-list table > thead th {
	border-bottom: 1px solid #ddd;
	border-top: 1px solid #ddd;
	color: #004080;
}
.visualizza-list table > tbody th {
	font-weight: 400;
}
.visualizza-list-item:before {
	color: #777;
	content: '\f068';
	float: left;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	margin-right: .8em;
}
.visualizza-list-item.icon-SI:before, .fa-utilizzato-si:before {
	color: #3c763d;
	content: '\f00c';
}
.visualizza-list-item.icon-NO:before, .fa-utilizzato-no:before {
	color: #a94442;
	content: '\f00d';
}
.visualizza-list-util {
	font-weight: 600;
	text-transform: uppercase;
}
.visualizza-list-error {
	font-style: italic;
	font-weight: normal;
}
.azioni-elenco > .btn, .azioni-elenco > div > .btn {
	margin: 0 0 1rem .5rem;
}

.azioni-elenco > div  {
	display: inline;
}

.flag {
	margin-right: .5rem;
}

/* FIELDSET LAYOUT */
.rigo-container {
	background-color: #f0f0f0;
	border: 1px solid #ddd;
}
.rigo-container .info-link {
	float: left;
	margin-top: .5em;
}
.fieldset-inside {
	float: left;
	margin-right: 1rem;
}
.rigo-container legend .rigo {
	margin-right: .5rem;
}
.fieldset-inside legend {
	margin-bottom: 0;
}
.campo-container {
	float: left;
	margin: 0 1rem .75rem 0;
}
.campo-inside {
	margin: 0 .5rem .75rem 1.5rem;
}
.campo-container label,
.campo-inside label {
	display: block;
}
.campo-container-radio {
	margin-bottom: .5rem;
}
.campo-container-radio label {
	display: inline;
	font-weight: normal;
	margin-left: .5rem;
	vertical-align: top;
}
.campo-container .input-group .input-group-addon,
.campo-container .input-group .input-group-btn {
	width: auto;
}
.campo-container .input-group-addon {
	color: #1c2024;
	padding: .25rem;
}
.assistita-modal .input-group-btn:first-child > .btn {
	margin-right: 0;
}
.numero-campo {
	border: 0;
	color: #5a6772;
	font-size: .9em;
	font-weight: 600;
	vertical-align: top;
}
.input-group-addon.numero-campo {
	color: #5a6772;
	padding-left: 0;
}
.rigo {
	background-color: #004080;
	color: #fff !important;
	font-weight: 600 !important;
	padding: .25rem .5rem !important;
	text-align: center !important;
}
.rigo > .numero-campo {
	color: #fff;
}
.new-line {
	clear: left;
}

/* TABLE LAYOUT */
caption {
    background-color: #fff;
}
.table-responsive {
	background-color: #f0f0f0;
	border: 0;
	margin-bottom: 1rem;
}
.table:not(.table-bordered),
.table:not(.table-bordered) > thead > tr > th {
	border-color: #ddd;
}
.table:not(.table-condensed) > tbody > tr > td,
.table:not(.table-condensed) > tbody > tr > th,
.table:not(.table-condensed) > thead > tr > th {
	padding: .25rem .375rem;
}
li.table-responsive {
	background-color: transparent;
	margin-bottom: 0;
}
.table {
	border: 1px solid #ddd;
	margin-bottom: 0;
}
.table > thead > tr > th,
.table > tfoot > tr > th {
	border-bottom-width: 1px;
	border-left: 1px solid #ddd;
	text-align: center;
	vertical-align: middle;
}
.table > thead > tr > th.text-center,
.table > tbody > tr > td.text-center,
.table > tbody > tr > th.text-center {
	text-align: center;
}
.table > thead > tr > th.text-left,
.table > tbody > tr > td.text-left,
.table > tbody > tr > th.text-left {
	text-align: left;
}
.table > thead > tr > th.text-right,
.table > tbody > tr > td.text-right,
.table > tbody > tr > th.text-right {
	text-align: right;
}
.table > thead > tr > th[scope="col"] {
	position: relative;
	padding-top: 1.25rem;
}
.table > thead > tr > th[scope="col"] .numero-campo {
	position: absolute;
	top: 2px;
	left: 2px;
}
.table > tbody > tr > td {
	border-left: 1px solid #ddd;
	text-align: center;
	white-space: nowrap;
}
.table > tbody > tr > th {
	border-left: 1px solid #ddd;
    color: #004080;
    text-align: left;
    font-weight: normal;
}
.table-striped > tbody > tr:nth-of-type(odd),
.row-odd {
	background-color: #fff;
}
.table-730-pl .table-inside {
	border-left: 0;
	padding: 0 !important;
}
.table-inside > .table {
	background-color: transparent;
	border: 0;
}
.table-unico-ra > tbody > tr > th:not([scope="row"]),
.table-unico-rp-2 > tbody > tr > th:not([scope="row"]),
.table-unico-rnrv > tbody > tr > th:not([scope="row"]) {
    padding-bottom: 0 !important;
    text-align: center;
	vertical-align: bottom;
}
.table-unico-rp-2 > tbody > tr > th,
.table-unico-rnrv > tbody > tr > th,
.table-unico-ra > tbody > tr > td,
.table-unico-rp-2 > tbody > tr > td,
.table-unico-rnrv > tbody > tr > td {
	border-top: 0;
	padding-bottom: .5rem !important;
}
.table-unico-rt td > label,
.table-unico-rp-1 td > label {
	display: block;
	margin-bottom: .375rem;
}
.table label {
	margin-bottom: 0;
	font-weight: normal;
}
.table-assist > tbody {
    background-color: #fff;
}
.table-assist > tbody .fa {
    margin-right: 0;
}
.border-top {
	border-top: 1px solid #ddd;
}
.colonna-small {
	width: 1%;
}
.table .text-long {
	white-space: normal;
}

/* SPESE SANITARIE */
.table-spese-sanitarie > tbody > tr > th {
	font-weight: 600;
}
.table-spese-sanitarie .detail-link {
	text-decoration: none !important;
}
.table-spese-sanitarie .detail-link:before,
.table-spese-sanitarie .detail-link.collapsed:before {
	font-family: 'Font Awesome 5 Free';
	font-size: 1.2rem;
}
.table-spese-sanitarie .detail-link:before {
	content: '\f146';
}
.table-spese-sanitarie .detail-link.collapsed:before {
	content: '\f0fe';
}

/* SCEGLI MODELLO */
#scelta-modello .modello {
	border: 2px solid transparent;
	margin: 1rem 0;
	width: 100%;
}
#scelta-modello .modello .custom-control {
	padding-left: 0;
}
#scelta-modello .modello .custom-control-label::after,
#scelta-modello .modello .custom-control-label::before {
	left: 1rem;
	top: 1.5rem;
}
#scelta-modello .modello:hover {
	border-color: #eb641f;
	cursor: pointer;
}
#scelta-modello .modello.active {
	border-color: #004080;
}
#scelta-modello .modello-img {
	background-color: #ddd;
	background-image: linear-gradient(#eee 50%, #aaa);
	display: block;
	margin: .5rem auto;
	padding: 1rem 0;
	width: 190px;
}
#scelta-modello .modello-img img {
	display: block;
	margin: 0 auto;
}
#scelta-modello .modello-img .precompilato {
	color: #fff;
	display: block;
	font-size: 1.2em;
}
#scelta-modello .modello-nome {
	display: block;
	font-size: 1.3em;
	margin: 1rem 0 .5rem;
}
#mod-73016,
#mod-73017 {
	color: #eb641f;
}
#mod-UNL16,
#mod-RPL17 {
	color: #1c2024;
}

/* MODAL */
.modal-content {
	border-color: #ddd;
	border-radius: 0;
	box-shadow: none;
    white-space: normal;
}
.modal-content label {
	margin-bottom: .375rem;
	font-weight: bold;
}
#add-spesa-items .link-list {
	border-bottom: 1px solid #ddd;
}
#ricerca-campi ul > li {
	padding-top: 10px;
}
#ricerca-campi ul > li:hover {
	background-color: #f0f0f0;
}
#ricerca-campi hr {
	margin: 10px 0 0;
}

.section-hr {
	border-top: 1px solid #ddd;
}
.scroll-btn {
    background-color: rgba(0,102,204,.7);
    border-color: #fff;
    border-radius: 50%;
    bottom: 1rem;
    height: 3rem;
    padding: .375rem;
    position: fixed;
    right: 1rem;
    width: 3rem;
    z-index: 99;
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
	.rigo-container {
		float: left;
		margin-right: 1rem;
	}
	.form-control-100 {
		width: auto;
	}
}

/* Extra extra large devices (extra large desktops, 1440px and up) */
@media (min-width: 1440px) {
	.table-unico-xxl > tbody > tr > td {
		padding: .5rem .375rem !important;
	}
	.table-unico-xxl .form-control {
		padding: .375rem;
	}
	.table-f24-xxl > tbody > tr > td {
		padding: .5rem .25rem !important;
	}
	.table-f24-xxl .form-control {
		padding: .25rem .125rem;
	}
}

/* Fix tabelle small devices */
@media screen and (max-width: 767px) {
	.table-responsive > .table > tbody > tr > td.text-long,
	.table-responsive > .table > tbody > tr > th,
	.table-responsive > .table > thead > tr > td,
	.table-responsive > .table > thead> tr > th {
		white-space: normal;
	}
}

/* iPhone X display optimization */
@supports(padding: max(0px)) {
	.container-fluid {
		padding-left: max(12px, env(safe-area-inset-left));
		padding-right: max(12px, env(safe-area-inset-right));
	}
}

/* DEBUG */
pre {
	outline: 1px solid #ccc;
	padding: 5px;
	margin: 5px;
}
.string {
	color: green;
}
.number {
	color: darkorange;
}
.boolean {
	color: blue;
}
.null {
	color: magenta;
}
.key {
	color: red;
}
.campo-cf {
	font-weight: normal;
}

.posizioneBottoni {
    float: left;
    margin-left: 15px;
}

.posizioneLeft {
    float: left;
}

.submitted.ng-valid[required], .submitted.ng-valid.required /*,  input:valid */ {
    border-color: rgb(84, 168, 84);
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
}

.submitted.ng-invalid /*, input:valid */ {
    border-color: #a94442;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
}
