/**
 * @package		Portale nsr per PA
 * @subpackage	tpl_nsrpa
 *
 * @author		Aldo Zaza <a.zaza@nsr.it>
 * @copyright	Copyright (C) 2023 NSR. All Rights Reserved
 * @license		http://www.gnu.org/licenses/gpl-3.0.html GNU/GPL v3
 */

/* ##### */
html, body {
	font-size: 16px;
	line-height: 1.2;
}

main * {
	-webkit-box-sizing: border-box;
	-mz-box-sizing: border-box;
	box-sizing: border-box;
}

.moduletable { padding: 0; }
.clearfix { *zoom: 1; }
.nowrap { white-space: nowrap; }
.control-hidden { display: none; }
.uppercase { text-transform: uppercase; }

/*.control-group.required > label::after,
label.required::after {
    content: " *";
    color: red;
}*/

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

label.required span.star { display: none; color: red; }
.control-label > label.required > span.star{ display: none; }

/* ##### */
@media (min-width: 992px) {
	.container, .container-lg, .container-md, .container-sm, .container-xl { max-width: 100%; width: 100%s }
}

/* ##### */
.master-brand { color: #fff; font-weight: 600; }

.master-brand .icon {
	width: 35px !important;
	height: 35px !important;
	margin-right: .5rem;
}

/* ##### */
.flag_container {
    background: #06c;
    padding-top: 15px;
	position: relative;
	left: 0;
	width: 100%;
	clear: both;
	font-weight: 200;
}

.flag_container div {
	width: 33.33333%;
	height: 8px;
	float: left;
}

.flag_container div.green { background: #009246; }
.flag_container div.white { background: #ffffff; }
.flag_container div.red { background: #ce2b37; }

/* ##### */
.breadcrumb-section {
	padding: 0;
	background-color: #cadada;
}

.breadcrumb-section .breadcrumb .breadcrumb-user {
	padding-right: .75rem;
	color: #333;
	font-size: 1.2rem;
	font-weight: bold;
	margin-top: -.15rem;
}

/* ##### */
.back-to-top {
	border: 2px solid #fff;
	box-shadow: 1px 1px 2px #aaa;
	bottom: 3rem;
	right: 2rem;
}

/* ##### */
.it-header-navbar-wrapper { min-height: 1rem; }
.link-list-wrapper .link-list-heading { padding: 0; }

ul.dropdown-menu { padding-bottom: 0 !important; }

/*.link-list-heading > span,*/
.navbar .dropdown-menu .navbar-label {
	display: inline-block;
	width: 100%;
	margin-top: -8px;
	padding: .5rem .8rem;
	background: #eee;
	color: #333 !important;
	font-size: 1rem;
	font-weight: 600;
	white-space: nowrap;
}

.navbar .dropdown-menu .dropdown-separator {
	border-top: 3px solid #ccc;
	height: 6px;
}

.dropdown-item:hover, .dropdown-item:hover:focus { background-color: #faffea; color: #024c95; }
.dropdown-item.active, .dropdown-item:active { background-color: #fff; color: #024c95; }

.link-list li:last-child { margin-bottom: 10px; }

.navbar .nav-item .nav-link { font-weight: 600 !important; }
.navbar .nav-item .nav-link i.fa { margin-right: 5px; }

.nav-link:hover > .item-user-icon::before { text-decoration: none; }

/* ##### */
.Admin-menu {
	position: absolute;
	float: left;
	height: calc(100% - 240px);
	width: 15rem;
	background-color: #f4f4f4;
	border-right: 1px solid #c6c6c6;
	box-shadow: 0px 0px 3px #ccc;
	overflow-x: auto;
	z-index: 999;
}

.mainBody {
	position: absolute;
	left: 15rem;
	padding-left: 1rem;
	width: calc(100% - 15.2rem);
}

.Admin-menu .link-list {
	list-style: none;
	border-bottom: .1rem solid #ddd;
}

.Admin-menu .link-list .nav-item {
	display: block;
	border-top: .1rem solid #ddd;
	cursor: pointer;
	overflow: hidden;
}

.Admin-menu .link-list .nav-item:last-child {
	margin-bottom: 0;
}

.Admin-menu .link-list .list-item {
	font-size: 1rem;
	padding: 0 24px;
	text-decoration: none;
}

.Admin-menu .link-list .list-item.active {
	background-color: #fbfbe0;
}

.Admin-menu .link-list .list-item:hover {
	background-color: #d9e6f2;
}

.Admin-menu .link-list .list-item span {
	line-height: 1.5;
	color: #333;
	margin: .6rem auto;
}

.Admin-menu .link-sublist .list-item {
	font-size: .82rem;
}
/* */

/* ##### */
.it-footer {
	position: fixed;
	bottom: 0;
	width: 100%;
	z-index: 1000;
}

/* ##### pagination ##### */
.pagination-toolbar { margin: 0; }

.pagination .pagination-list {
    display: inline-block;
    font-size: inherit;
	list-style: none;
    *display: inline;
    *zoom: 1;
    padding: 0;
    margin: 0 auto;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.05);
    -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.05);
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

.pagination-list > li { display: inline; }
.pagination-list > li.disabled {
	cursor: default;
	background-image: none;
	opacity: 0.65;
	filter: alpha(opacity=65);
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

.pagination-list > li:first-child > a, .pagination-list > li:first-child > span {
	border-left-width: 1px;
	-webkit-border-top-left-radius: 3px;
	-moz-border-radius-topleft: 3px;
	border-top-left-radius: 3px;
	-webkit-border-bottom-left-radius: 3px;
	-moz-border-radius-bottomleft: 3px;
	border-bottom-left-radius: 3px;
}
.pagination-list > .disabled > span, .pagination-list > .disabled > a,
.pagination-list > .disabled > a:hover, .pagination-list > .disabled > a:focus {
	color: #999;
	background-color: transparent;
	cursor: default;
}
.pagination-list > li > a, .pagination-list > li > span {
	float: left;
	padding: 4px 12px;
	line-height: 18px;
	text-decoration: none;
	background-color: #fff;
	border: 1px solid #ddd;
	border-left-width: 0;
	color: #3071a9;
	cursor: pointer;
}

.pagination-list > .active > a, .pagination-list > .active > span {
	color: #999;
	cursor: default;
}

.pagination-list > li > a:hover, .pagination-list > li > a:focus,
.pagination-list > .active > a, .pagination-list > .active > span {
	background-color: #F0F0F0;
}
/* */

/* #####  ##### */
.Login-container::before { content: ''; display: table; }

.Login-container {
	margin: auto;
	padding: 1rem .5rem;
}

.Login-container .Login-form {
	margin: 0 auto;
	padding: .5rem;
	max-width: 28rem;
}

.Login-form .Login-panel {
	box-shadow: 0px 0px 25px #6e6e6e;
    border: 1px solid #337AB7;
    border-radius: 4px;
	margin-bottom: 20px;
	background-color: white;
}

.Login-panel .Login-panel-heading {
	display: inline-flex;
	background-color: #dee3e7;
	text-align: center;
	padding: 5px;
	color: #333;
	width: 100%;
}

.Login-panel .Login-panel-heading h2 {
	margin: auto;
	font-size: 1.5rem;
}

.Login-panel .Login-panel-body {
	padding: 12px;
}

.Login-form-row {
	margin-bottom: 10px;
}

.Login-form-row label {
	font-weight: 600;
	font-size: 1.05rem;
	line-height: 1.2;
}

.Login-form-row .Login-form-input {
	height: 2rem;
	padding: 5px;
	display: block;
	width: 100%;
	font-weight: 400;
	/*font-size: 1.2rem;*/
	/*line-height: 1.5;*/
	border: 1px solid #ccc;
}

.Login-form-row .Login-submit-btn {
	display: block;
	width: 100%;
	overflow: hidden;
	padding: 10px 16px;
	font-size: 1.2rem;
	line-height: 1.2;
	border-radius: 6px;
	color: #fff;
	background-color: #337ab7;
	border-color: #2e6da4;
}

.Login-form-row .Login-submit-btn:hover {
	background-color: #286090;
	border-color: #204d74;
}

.Login-form-row .Login-submit--btn {
	width: 100%;
	overflow: hidden;
}

.Login-panel--logo {
	height: 75px;
	margin-right: 20px;
	vertical-align: middle;
}

/* ##### */
.loginFields .control-group, .control-group {
	display: inline-flex;
	margin: .25rem 0;
	width: 100%;
}

.loginFields .control-group:first-child, .control-group:first-child,
.loginFields .control-group:last-child, .control-group:last-child { margin-top: .5rem; }

.control-group .control-label { text-align: right; padding-right: .5rem; margin: auto 0; }
.loginFields .control-group .control-label { padding-left: 0; width: 30%; }

.control-group .control { margin: auto 0; }

.control-group .controls { width: inherit; }
.loginFields .control-group .controls { padding-right: 0; width: 70%; }

.control-group.hidden { display: none; }

.form-control-feedback { display: block; font-size:0.777rem }
.invalid { color: var(--bs-danger); border-color: var(--bs-danger) !important; }

/* #####  ##### */
.text-h1 { font-size: 2.5rem; font-weight: 700; }
.text-h2 { font-size: 2rem; font-weight: 700; }
.text-h3 { font-size: 1.75rem; font-weight: 700; }
.text-h4 { font-size: 1.5rem; font-weight: 600; }
.text-h5 { font-size: 1.25rem; font-weight: 600; }
.text-h6 { font-size: 1.25rem; font-weight: 500; }

/* ##### ##### */
.width-1  { width: 1% !important; }
.width-2  { width: 2% !important; }
.width-3  { width: 3% !important; }
.width-4  { width: 4% !important; }
.width-5  { width: 5% !important; }
.width-6  { width: 6% !important; }
.width-7  { width: 7% !important; }
.width-8  { width: 8% !important; }
.width-9  { width: 9% !important; }
.width-10 { width: 10% !important; }
.width-11 { width: 11% !important; }
.width-12 { width: 12% !important; }
.width-13 { width: 13% !important; }
.width-14 { width: 14% !important; }
.width-15 { width: 15% !important; }
.width-18 { width: 18% !important; }
.width-20 { width: 20% !important; }
.width-21 { width: 21% !important; }
.width-22 { width: 22% !important; }
.width-23 { width: 23% !important; }
.width-24 { width: 24.25% !important; }
.width-25 { width: 25% !important; }
.width-28 { width: 28% !important; }
.width-30 { width: 30% !important; }
.width-35 { width: 35% !important; }
.width-40 { width: 40% !important; }
.width-45 { width: 45% !important; }
.width-50 { width: 50% !important; }
.width-55 { width: 55% !important; }
.width-60 { width: 60% !important; }
.width-65 { width: 65% !important; }
.width-70 { width: 70% !important; }
.width-75 { width: 75% !important; }
.width-80 { width: 80% !important; }
.width-90 { width: 90% !important; }
.width-95 { width: 95% !important; }
.width-100 { width: 100% !important }

/* ##### ##### */
.offline {
	border: 1px solid #cccccc;
	background-color: #fff;
	margin: 20px auto;
	max-width: 600px;
	padding: 20px;
	text-align: center;
}

.offline img {
	border: 0 none;
	max-width: 100%;
	height: auto;
	margin-left: auto;
	margin-right: auto;
}

/* #####  ##### */
#system-message-container { width: 100%; }
.tmpl #system-message-container { margin-top: 20px; }
#system-message > dt { display: none; }

.alert {
	padding: 8px 35px 8px 14px;
	margin-bottom: 20px;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
	background-color: #fcf8e3;
	border: 1px solid #fbeed5;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

.alert, .alert h4 { color: #c09853; }
.alert h4 { margin: 0; margin-bottom: .5rem; }

.alert .close {
	float: right;
	font-size: 20px;
	font-weight: bold;
	line-height: 20px;
	color: #000000;
	text-shadow: 0 1px 0 #ffffff;
	opacity: 0.2;
	filter: alpha(opacity=20);
	position: relative;
	top: -2px;
	right: -21px;
}

.alert .alert-message pre { font-size: 1.4rem; }

.alert-success { color: #468847; background-color: #dff0d8; border-color: #d6e9c6; background-image: none; }
.alert-success h4 { color: #468847; }

.alert-danger, .alert-error { color: #b94a48; background-color: #f2dede; border-color: #eed3d7; background-image: none; }
.red, .alert-danger h4, .alert-error h4 { color: #b94a48; }

.alert-info { color: #3a87ad; background-color: #d9edf7; border-color: #bce8f1; background-image: none; }
.alert-info h4 { color: #3a87ad; }

.alert-block { padding-top: 14px; padding-bottom: 14px; }
.alert-block > p, .alert-block > ul { margin-bottom: 0; }
.alert-block p + p { margin-top: 5px; }

.mt-4a, .my-4a { margin-top: 32px !important; }
.mb-4a, .my-4a { margin-bottom: 32px !important; }
/* */
.responseErr {
	border: 2px solid red;
	background-color: #fce3e3;
	color: red;
	text-align: center;
	padding: 1rem;
	font-weight: bold;
	display: none;
}

.responseMsg {
	border: 2px solid green;
	background-color: #e3fce3;
	color: #333;
	text-align: center;
	padding: 1rem;
	font-weight: bold;
	display: none;
}

.modal .modal-dialog .modal-content .modal-body.responseErr,
.modal .modal-dialog .modal-content .modal-body.responseMsg { margin: 1rem; padding: 1rem; }

.modal-popup {
	border: 2px solid #343a40;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    -webkit-box-shadow: 10px 10px 10px rgba(0,0,0,0.5);
    -moz-box-shadow: 10px 10px 10px rgba(0,0,0,0.5);
    box-shadow: 10px 10px 10px rgba(0,0,0,0.5);
}

.modal-popup .spinner {
	text-align: center;
	color: red;
	padding: 1rem;
}

.progress-spinner.size-lg { width: 64px; height: 64px }
.progress-spinner.progress-spinner-double.size-lg {width: 64px; height:64px }
.progress-spinner.progress-spinner-double.size-lg .progress-spinner-inner { width: 64px; height: 32px }
/* */

/* #####  ##### */
.subform-repeatable .table th span.icon-info-circle { display: none }

.subform-repeatable .table th [role="tooltip"]:not(.show) {
	z-index: 1070;
	display: none;
	padding: 0.5em;
	margin: 0.25em;
	color: #fff;
	text-align: start;
	background: #000;
	border-radius: 0.2rem !important;
}

