@CHARSET "UTF-8";

html {
    font-family: 'Spartan';
	font-size: 0.9em;
}

html, body {
	margin: 0;
	padding: 0;
	height: 100%;
	
	scroll-behavior: smooth;
}

body {
	display: flex;
	flex-direction: column;
}

* {
	box-sizing: border-box;
}

/* ============ LOADER ============ */
.loader {
	position: fixed;
	top: 50%;
	left: 50%;
	
	margin: 0;
	margin-right: -50%;
	
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    
	width: 100px;
	height: 100px;

	z-index: 9999;
	display: none;
	
	border: solid 2px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-khtml-border-radius: 10px;
	border-radius: 10px;
}

/* ============ LOGIN ============ */
.login_body {
	position: relative;
	width: 100%;
	height: 100%;
}

.login_body .login_bubble,
.login_body .login_bubble .bubble_logo {
	position: absolute;
}

.login_body .login_bubble {
	top: 50%;
	left: 50%;
	
	margin: 0;
	margin-right: -50%;
	
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
	
	width: 500px;
	height: 350px;

	border: solid 1px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	-khtml-border-radius: 20px;
	border-radius: 20px;
}

.login_body .login_bubble .bubble_logo {
	top: -50%;
	left: 50%;
	
	margin: 0;
	margin-right: -50%;
	
	-webkit-transform: translate(-50%, 50%);
	-moz-transform: translate(-50%, 50%);
	-o-transform: translate(-50%, 50%);
	-ms-transform: translate(-50%, 50%);
    transform: translate(-50%, 50%);
	
	width: 160px;
	height: 160px;
	
	border: solid 10px;
	-webkit-border-radius: 80px;
	-moz-border-radius: 80px;
	-khtml-border-radius: 80px;
	border-radius: 80px;
	
	z-index: 10;
}

.login_body .login_bubble #login_form {
	position: relative;
	margin: 100px 20px 0 20px;
	height: 200px;
}

.login_body .login_bubble #login_form form fieldset input {
	margin: 10px 0 0 0;
	height: 50px;
}

.login_body .login_bubble #login_form form .form_buttons_row {
	left: 0;
	width: 100%;
	height: 50px;
}

.login_body .login_bubble #login_form form .form_buttons_row button {
	width: 100%;
	padding: 0;
	text-align:center;
	border: none;
	font-size: 1.2em;
}

.login_body .login_bubble #login_form form .form_buttons_row button img {
	top: 50%;
	left: 40%;
	
	margin: 0;
	margin-right: -50%;
	
	-webkit-transform: translate(-40%, -50%);
	-moz-transform: translate(-40%, -50%);
	-o-transform: translate(-40%, -50%);
	-ms-transform: translate(-40%, -50%);
    transform: translate(-40%, -50%);
}

.login_body .login_bubble .version {
	position: relative;
	margin: 10px 20px;
	height: 20px;
	
	text-align: right;
	line-height: 20px;
	
	font-size: 0.8em;
}

.login_body .login_bubble .login_check {
	position: relative;
	margin: 0;
}

.login_body .copyright {
	position: absolute;
	right: 20px;
	bottom: 10px;
}

/* ============================ MAIN BODY ================================ */
.main_body_area {
	position: relative;
	width: 100%;
	height: 100%;
	
	display: flex;
	flex-flow: column;
}

/* ============================= HEADER ================================== */
.main_body_area header {
	position: relative;
	margin: 0 1px;
	height: 50px;
	
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
	
	flex-grow: 0;
	
	z-index: 1000;
}

.main_body_area header div {
	position: relative;
}

.main_body_area header div:nth-child(1) {
	width: 50px;
	
	flex-grow: 0;
}

.main_body_area header div:nth-child(2) {
	line-height: 50px;
	font-size: 1.1em;
	font-weight: bold;
	
	padding-left: 20px;
	
	flex-grow: 1;
}

.main_body_area header div:nth-child(3) {
	line-height: 50px;
	font-size: 1.1em;
	font-weight: bold;
	text-align: right;
	
	flex-grow: 0;
}

.main_body_area header div:nth-child(4) {
	width: 60px;
	
	flex-grow: 0;
}

.main_body_area header div:nth-child(5) {
	width: 250px;
	flex-grow: 0;
	
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
}

.main_body_area header div:nth-child(3),
.main_body_area header div:nth-child(4),
.main_body_area header div:nth-child(5) div {
	cursor: pointer;
}


.main_body_area header div:nth-child(5) div {
	position: relative;
	margin: 0;
	padding: 0;
	
	width: calc(100% / 3);
	
	border-right: solid 2px;
	
	overflow: hidden;
}

.main_body_area header div:nth-child(5) div:nth-child(2) #menu_preferenze_utente_img_1,
.main_body_area header div:nth-child(5) div:nth-child(2) #menu_preferenze_utente_img_2 {
	position: absolute;
	top: calc(50% - 12px);
	left: calc(50% - 12px);;
	
	margin: 0;
	
	-webkit-transform: translate(0, 0);
	-moz-transform: translate(0, 0);
	-o-transform: translate(0, 0);
	-ms-transform: translate(0, 0);
    transform: translate(0, 0);
}

.main_body_area header div:nth-child(5) div:nth-child(2) #menu_preferenze_utente_img_2 {
	top: -100%
}

.main_body_area header div:nth-child(5) div:nth-child(3) {
	border: none;
}

.main_body_area #div_selezione_azienda {
	position: absolute;
	top: 0;
	right: 257px;
	left: 1px;
	
	height: 50px;
	
	border: solid 2px;
	border-top: none;
	border-right: none;
	border-left: none;
	
	z-index: 900;
	
	overflow: hidden;
}

.main_body_area #div_selezione_azienda #scrolling_tcontainer_header {
	margin: 52px 1px 0 1px;
	height: calc(100% - 53px);
	
	border-bottom: none;
}

.main_body_area #div_selezione_azienda #scrolling_tcontainer_header .scrolling_trow .td_boxer {
	cursor: pointer;
}

.main_body_area #div_selezione_azienda #scrolling_tcontainer_header .scrolling_trow .td_boxer .td_1 {
	padding: 0 0 0 20px;
	width: calc(60% - 55px);
	text-align: left;
}

.main_body_area #div_selezione_azienda #scrolling_tcontainer_header .scrolling_trow .td_boxer .td_2 {
	width: 30%;
}

.main_body_area #div_selezione_azienda #scrolling_tcontainer_header .scrolling_trow .td_boxer .td_3 {
	width: 10%;
}

.main_body_area #div_selezione_azienda #scrolling_tcontainer_header .scrolling_trow .td_boxer .td_4 {
	width: 55px;
}

.main_body_area #div_selezione_azienda #scrolling_tcontainer_header .scrolling_trow .td_boxer .td_2,
.main_body_area #div_selezione_azienda #scrolling_tcontainer_header .scrolling_trow .td_boxer .td_3 {
	text-align: right;
	font-weight: bold;
}

.main_body_area #div_preferenze_utente {
	position: absolute;
	top: 94px;
	right: 1px;
	
	width: 250px;
	height: 0;
	
	z-index: 900;
	
	overflow: hidden;
}

.main_body_area #div_preferenze_utente .riga_opzione {
	position: relative;
	
	width: 100%;
	height: 40px;
	
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
	
	border: solid 1px;
	border-top: none;
	border-right: none;
	border-left: none;
	
	cursor: pointer;
}

.main_body_area #div_preferenze_utente .riga_opzione .box_1 {
	position: relative;
	width: 50px
}

.main_body_area #div_preferenze_utente .riga_opzione .box_2 {
	position: relative;
	padding: 0 0 0 20px;
	
	line-height: 40px;
	font-weight: bold;
	
	flex-grow: 1;
}

/* ============================== NAV ================================== */
nav.main_nav,
nav.section_nav {
	position: relative;
	
	height: 40px;
	
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
}

nav.main_nav {
	margin: 2px 1px 0 1px;
}

nav.section_nav {
	margin: 0 1px;
	z-index: 500;
}

.nav_label {
	position: relative;
	margin: 0;
	padding: 0;
	
	height: inherit;
	line-height: 40px;

	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
	
	flex-grow: 0;
}

.nav_label .menu {
	position: relative;
	margin: 0;
	padding: 0;
	
	width: 300px;
	height: 40px;
	
	border: solid 1px;
}

.nav_label .menu .overflow {
	position: absolute;
	margin: 0;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	
	overflow: hidden;
}

.nav_label .menu .overflow div {
	position: relative;
	margin: 0 40px 0 10px;
	padding: 0 0 0 10px;
	height: 41px;
	
	line-height: 41px;
	font-weight: bold;
	
	cursor: pointer;
	border-top: solid 1px;
}

.nav_label .menu .overflow div:nth-child(1) {
	border: none;
}

.nav_label .menu .arrow {
	position: absolute;
	margin: 0;
	padding: 0;
	top: 0;
	right: 0;
	
	width: 40px;
	height: 40px;
	
	z-index: 10;
	cursor: pointer;
}

.nav_label .img {
	position: relative;
	width: 50px;
	height: 40px;
	
	flex-grow: 0;
}

.nav_label .caption {
	position: relative;
	margin: 0;
	padding: 4px 0;
	height: 40px;
	
	line-height: 16px;	
	font-weight: bold;
	font-size: 0.9em;
	
	flex-grow: 1;
}

nav .filler {
	flex-grow: 2;
}

nav.main_nav .nav_label:nth-child(4) {
	font-weight: bold;
}

nav.main_nav .nav_label:nth-child(2),
nav.main_nav .nav_label:nth-child(3),
nav.main_nav .nav_label:nth-child(4) {
	padding: 0 20px;
}

nav.main_nav .nav_label:nth-child(1) {
	width: 50px;
	
	cursor: pointer;
}

nav.main_nav .nav_label:nth-child(2) {
	font-weight: bold;
	font-size: 1.1em;
	
	flex-grow: 2;
}

nav.main_nav .nav_label:nth-child(5) {
	width: 4px;
}

nav.main_nav .nav_label:nth-child(6) {
	width: 250px;
}

nav.main_nav .nav_label:nth-child(1) img {
	position: absolute;
	top: 12px;
	left: 17px;
	
	margin: 0;
	
	-webkit-transform: translate(0, 0);
	-moz-transform: translate(0, 0);
	-o-transform: translate(0, 0);
	-ms-transform: translate(0, 0);
    transform: translate(0, 0);
}

nav.section_nav #paginator {
	margin: 0 10px 0 0;
}

nav.section_nav #paginator form {
	position: relative;
	height: inherit;
	line-height: inherit;
}

nav.section_nav #paginator form label,
nav.section_nav #paginator form select {
	height: 40px;
}

nav.section_nav #paginator form label {
	margin: 0;
	width: initial;
}

nav.section_nav #paginator form select {
	margin: 0 10px;
	width: 70px;
	
	border: none;
}

nav.side_nav {
	position: relative;
	
	width: 50px;
	min-width: 50px;
	height: 100%;
	
	overflow: hidden;
}

nav.side_nav .side_nav_label {
	position: relative;
	margin: 0;
	padding: 0;
	
	width: 200px;
	height: 50px;

	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
	
	cursor: pointer;
}

nav.side_nav .side_nav_label .sub_1 {
	position: relative;
	width: 50px;
}

nav.side_nav .side_nav_label .sub_2 {
	position: relative;
	padding: 0 0 0 10px;
	width: 150px;
	
	line-height: 50px;	
	font-weight: bold;
	font-size: 0.9em;
}

#section_nav_companion_div {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	
	height: 0;
	
	overflow: hidden;
	z-index: 400;
}

/* ========================= MAIN CONTAINER ============================ */
.main_body_area .container_area {
	position: relative;
	margin: 0 1px;
	
	flex-grow: 2;
}

.main_body_area .container_area .container_flex_wrapper {
	position: absolute;
	top: 2px;
	right: 0;
	bottom: 2px;
	left: 0;
	
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
}

.main_body_area .container_area .container_flex_wrapper .detail_container {
	position: relative;
	margin: 0;
	flex-grow: 1;
	
	border-right: solid 2px;
	overflow: auto;
}

.main_body_area .container_area .container_flex_wrapper .detail_container .workspace_area {
	position: relative;
	width: 100%;
	height: 100%;
	
	border: solid 1px;
	border-top: none;
}

.main_body_area .container_area .container_flex_wrapper .menu_container {
	position: relative;
	width: 250px;
	min-width: 250px;
	
	flex-grow: 0;
	
	display: flex;
	flex-flow: column nowrap;
	align-content: flex-start;
}

.main_body_area .container_area .container_flex_wrapper .menu_container .big_button {
	position: relative;
	width: 100%;
	height: 70px;
	
	border: solid 2px;
	border-top: none;
	border-right: none;
	border-left: none;
	
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
	
	cursor: pointer;
}

.main_body_area .container_area .container_flex_wrapper .menu_container .big_button .step {
	position: relative;
	width: 70px;
}

.main_body_area .container_area .container_flex_wrapper .menu_container .big_button .step .tondo {
	position: absolute;
	top: calc((70px - 30px) / 2);
	left: calc((70px - 30px) / 2);
	
	width: 30px;
	height: 30px;
	
	text-align: center;
	font-weight: bold;
	
	border: solid 2px;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	-khtml-border-radius: 15px;
	border-radius: 15px;
}

.main_body_area .container_area .container_flex_wrapper .menu_container .big_button .caption_container {
	position: relative;
	width: calc(100% - 80px);
	
	overflow: hidden
}

.main_body_area .container_area .container_flex_wrapper .menu_container .big_button .caption_container .caption {
	position: absolute;
	top: 50%;
	right: 0;
	left: 0;
	
	-webkit-transform: translate(0%, -50%);
	-moz-transform: translate(0%, -50%);
	-o-transform: translate(0%, -50%);
	-ms-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    
    font-weight: bold;
}

.main_body_area .container_area .container_flex_wrapper .menu_container .filler {
	position: relative;
	width: 100%;
	
	flex-grow: 1;
	border: none;
}

.main_body_area .container_area .container_flex_wrapper .form_container {
	position: relative;
	width: 2px;
	
	overflow: hidden;
	flex-grow: 0;
}

/* ========= DASHBOARD ========= */
.dashboard {
	position: relative;
	margin: 5px 1px 0 1px;
	padding: 0;
	
	height: calc(100% - 45px);
	
	display: flex;
	flex-flow: column wrap;
}

.dashboard .dashboard_subcontainer {
	position: relative;
	margin: 0;
	padding: 0;
	
	width: 100%;
}

.dashboard .one,
.dashboard .two  {
	height: 25%;
}

.dashboard .three {
	height: 50%;
}

.dashboard .dashboard_subcontainer .summary {
	position: absolute;
	top: 1px;
	right: 1px;
	bottom: 1px;
	left: 1px;
	
	border: solid 1px;
	border-top: none;
	border-right: none;
	border-left: none;
}

.dashboard .one .summary,
.dashboard .two .summary {
	border-bottom: none;
}

.dashboard .dashboard_subcontainer .summary .title {
	position: relative;
	margin: 0;
	padding: 0;
	
	height: 30px;
	width: 100%;
	
	border-top: solid 1px;
	border-bottom: solid 1px;
	
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
}

.dashboard .dashboard_subcontainer .summary .title .img {
	position: relative;
	width: 100px;
	
	flex-grow: 0;
}

.dashboard .dashboard_subcontainer .summary .title .caption {
	position: relative;
	padding: 0 0 0 20px;
	
	line-height: 30px;
	font-weight: bold;
	font-size: 0.9em;
	
	flex-grow: 1;
}

.dashboard .dashboard_subcontainer .summary .content {
	position: relative;
	width: 100%;
	height: calc(100% - 30px);
}

.dashboard .dashboard_subcontainer .scrolling_tcontainer {
	height: 100%;
	border: none;
}

.dashboard .dashboard_subcontainer .scrolling_tcontainer .scrolling_tbody .scrolling_trow_wrapper .scrolling_trow {
	border: none;
	font-size: initial;
}

.dashboard .dashboard_subcontainer .scrolling_tcontainer .scrolling_tbody .scrolling_trow_wrapper .scrolling_trow .td_boxer .td_1 {
	width: 100px;
}

.dashboard .dashboard_subcontainer .scrolling_tcontainer .scrolling_tbody .scrolling_trow_wrapper .scrolling_trow .td_boxer .td_2 {
	width: 300px;
	text-align: left;
}

.dashboard .dashboard_subcontainer .scrolling_tcontainer .scrolling_tbody .scrolling_trow_wrapper .scrolling_trow .td_boxer .td_3 {
	font-weight: bold;
	text-align: left;
	
	flex-grow: 1;
}

/* ========= DOCUMENTI ========= */
#scrolling_tcontainer_1 {
	margin: 5px 1px 0 1px;
	height: calc(100% - 45px);
}

#scrolling_tcontainer_1 .scrolling_trow .td_boxer {
	cursor: pointer;
}

#scrolling_tcontainer_1 .empty_resultset .td_boxer {
	cursor: initial;
}

#scrolling_tcontainer_1 .scrolling_trow .td_boxer .td_1 {
	width: 50px;
}

#scrolling_tcontainer_1 .scrolling_trow .td_boxer .td_2 {
	width: 150px;
}

#scrolling_tcontainer_1 .scrolling_trow .td_boxer .td_3 {
	padding: 0 0 0 20px;
	text-align: left;
	flex-grow: 1;
}

#scrolling_tcontainer_1 .scrolling_trow_wrapper .scrolling_td_detail_container .dt_line .dt_filler {
	width: 20px;
	
	border: solid 1px;
	border-bottom: none;
	border-left: none;
}

#scrolling_tcontainer_1 .scrolling_trow_wrapper .scrolling_td_detail_container .dt_line:first-of-type .dt_filler {
	border-top: none;
}

#scrolling_tcontainer_1 .scrolling_trow_wrapper .scrolling_td_detail_container .dt_line .dt_value {
	padding-left: 20px;
}

/* ========= AMMINISTRAZIONE ========= */
#scrolling_tcontainer_a_1 {
	margin: 5px 1px 0 1px;
	height: calc(100% - 45px);
}

#scrolling_tcontainer_a_1 .scrolling_trow .td_boxer .td_1 {
	width: 40px;
}

#scrolling_tcontainer_a_1 .scrolling_trow .td_boxer .td_2,
#scrolling_tcontainer_a_1 .scrolling_trow .td_boxer .td_3 {
	width: 24%;
}

#scrolling_tcontainer_a_1 .scrolling_trow .td_boxer .td_4,
#scrolling_tcontainer_a_1 .scrolling_trow .td_boxer .td_5,
#scrolling_tcontainer_a_1 .scrolling_trow .td_boxer .td_6{
	width: 10%;
}

#scrolling_tcontainer_a_1 .scrolling_trow .td_boxer .td_7,
#scrolling_tcontainer_a_1 .scrolling_trow .td_boxer .td_8 {
	width: 8%;
}

.ad_panel_dettaglio {
	position: relative;
	
	width: 100%;
	height:100%;
	
	display: flex;
	flex-flow: row wrap;
}

.ad_panel_dettaglio .ad_panel_item {
	width: 50%;
}

.ad_panel_dettaglio .ad_panel_item:nth-child(1),
.ad_panel_dettaglio .ad_panel_item:nth-child(2) {
	padding: 0 12px;
	height: 30px;
	
	font-weight: bold;
	line-height: 30px;
	font-size: 0.9em;
}

.ad_panel_dettaglio .ad_panel_item:nth-child(3),
.ad_panel_dettaglio .ad_panel_item:nth-child(4) {
	height: calc(100% - 30px);
}

.ad_panel_dettaglio .ad_panel_item:nth-child(3) {
	border-right: solid 1px;
}

#scrolling_tcontainer_a_2,
#scrolling_tcontainer_a_3 {
	margin: 0;
	width: 100%;
	height: 100%;
	
	border-bottom: none;
}

#scrolling_tcontainer_a_2 .scrolling_trow .td_boxer .scrolling_td {
	width: calc((100% - 40px) / 4);
}

#scrolling_tcontainer_a_3 .scrolling_trow .td_boxer .td_1,
#scrolling_tcontainer_a_3 .scrolling_trow .td_boxer .td_2 {
	width: 20%;
}

#scrolling_tcontainer_a_3 .scrolling_trow .td_boxer .td_3 {
	width: 45%;
}

#scrolling_tcontainer_a_3 .scrolling_trow .td_boxer .td_4 {
	width: 10%;
}

/* ========= ANIMAZIONI ========= */
.scrolling_trow_wrapper,
.scrolling_trow,
.scrolling_trow .td_boxer,
.scrolling_trow .row_menu,
.scrolling_trow .row_menu span,
.scrolling_icon_area,
.scrolling_td_detail,
.main_body_area header #div_selezione_azienda_arrow,
.main_body_area header div:nth-child(5) div:nth-child(2) #menu_preferenze_utente_img_1,
.main_body_area header div:nth-child(5) div:nth-child(2) #menu_preferenze_utente_img_2,
.main_body_area #div_selezione_azienda,
.main_body_area #div_preferenze_utente,
.main_body_area .content_area,
.main_body_area .container_area .container_flex_wrapper .detail_container,
.main_body_area .container_area .container_flex_wrapper .form_container,
/*.main_body_area .container_area .container_flex_wrapper .menu_container .big_button .step .tondo,*/
nav .nav_label .menu,
nav .nav_label .menu .overflow div,
nav .nav_label .menu .arrow,
nav.side_nav,
#side_nav_icon,
#side_nav_icon_1,
#section_nav_companion_div {
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	
	-webkit-transform: translate3d(0, 0, 0);
	-webkit-backface-visibility: hidden;
	-moz-transform: translate3d(0, 0, 0);
	-moz-backface-visibility: hidden;
	-o-transform: translate3d(0, 0, 0);
	-o-backface-visibility: hidden;
	-ms-transform: translate3d(0, 0, 0);
	-ms-backface-visibility: hidden;
	transform: translate3d(0, 0, 0);
	backface-visibility: hidden;
}