/**
 * Copyright (c) 2017 Ad Hoc 3D Solutions s.r.l. All rights reserved.
 */

* {
	margin:0;
	padding:0;
}

/* General Style Info */
body {
	background: #ffffff;
	color: #000000;
	font-family:'lucida grande',verdana,helvetica,arial,sans-serif;
	font-size: 13px;
	margin: 0;
	padding: 0;
}

input, textarea
{
	padding: 0.5% 1% 0.5% 1%;
}

input[type="checkbox"]
{
	margin: 3px 5px 7px 2px;
}

a {
	color: #003d4c;
	text-decoration: underline;
	font-weight: bold;
}
a:hover {
	color: #335566;
}
a img {
	border:none;
}
h1, h2, h3, h4 {
	font-weight: bold;
	color: #00394d;
}
h1 {
	background:#fff;
	font-size: 180%;
	margin: 0.1em 0;
}
h2 {
	background:#fff;
	font-family:'Gill Sans','lucida grande',helvetica, arial, sans-serif;
	font-size: 160%;
	margin: 0.3em 0;
	padding-top: 0.8em;
}
h3 {
	font-family:'Gill Sans','lucida grande',helvetica, arial, sans-serif;
	font-size: 150%;
	padding-top: 1.5em;
}
h4 {
	font-weight: bold;
	padding-top: 0.5em;
}
ul, li {
	margin: 10px 12px;
}

dt {
	width: 15em;
}

dd {
	margin-left: 15em;
	padding-left: 1em;
}

dl.txtlong  dt
{
	width: 20em;
}

dl.txtlong  dd
{
	margin-left: 20em;
}

/* Layout */
#container {
	text-align: left;
}

#header{
	/*padding: 10px 20px 0px 20px;*/
	padding: 0;
	font-size: 13px;
}

#header img
{
	margin-right: 20px;
}

#content{
	background: #fff;
	clear: both;
	color: #333;
	padding: 10px 10px 10px 10px;
	/*overflow: auto;*/
}

#footer {
	clear: both;
	/*padding: 6px 10px;*/
	margin-top: 5px;
	margin-left: 0px;
	margin-right: 0px;
	text-align: right;
	font-size: 10px;
	background-color: #b3ecff;
}

#footer p
{
	margin: 0;
	padding: 0;
}

#footer a
{
	font-size: 10px;
	text-decoration: none;
	font-weight: normal;
	color: #003d4c;
}

#footer img
{
	vertical-align: middle;
}

div#menu
{
	position: relative;
	margin-top: 10px;
	padding-left: 6px;
	background-color: #b3ecff;
	/*height: 36px;*/
	margin-bottom: 0px;
}

div#menu ul
{
	display: inline;
	margin: 0px;
	font-size: 0;
}

div#menu ul li
{
	font-size: 13px;
}

#header a
{
	color: #005555;
}

div#menu_button
{
	display: none;
}

.menu-item
{
	display: inline-block;
	/*float: left;*/
	margin: 0;
	background-color: #b3ecff;
	padding: 0;
	/*position: relative;*/
}

li.menu-item a
{
	height: 28px;
	color: #005555;
	text-decoration: none;
	display: inline-block;
	line-height: 200%;
	padding: 0px 6px 0px 6px;
	margin: 0;
	/*background-color: #b3ecff;*/
}

li.menu-item a:hover
{
	background-color: #1ac6ff;
}

.current_menu
{
	background-color: #2fd6ff;
}

select#current_ditta_select
{
	height: auto;
}

td.actions {
	text-align: left;
	/*white-space: normal;*/
}

table td.actions a {
	margin: 1px 1px;
	padding:2px 3px;
	display: inline-block;
}

table td.actions img {
	vertical-align: middle;
}

div.actions {
	padding: 5px;
}


.actions li
{
	white-space: normal;
}


div#logoutBox
{
	float: right;
	/*position: absolute;
	top: 0px;
	right: 0px;*/
	margin-right: 10px;
	margin-top: 4px;
}

div#logoutBox a
{
	text-decoration: none;
	color: #003d4c;
}

h2.gestionale_title
{
	margin-top: 6px;
	padding-top: 2px;
	margin-left: 10px;
}

div#submenu
{
	background-color: #d3fcff;
	padding: 2px 10px 2px 10px;
	font-size: 13px;
}

div#submenu form
{
	display: inline;
}

div#submenu select
{
	font-size: 12px;
}

.bilancioOK
{
	color: #00DD00;
}

.bilancioKO
{
	color: #FF0000;
	font-weight: bold;
}

.inScadenza
{
	color: #FF9900;
}

.scaduto
{
	color: #FF0000;
	font-weight: bold;
}

table
{
	border-collapse: collapse;
}

td, th
{
	border-right: solid 1px #DDDDFF;
	border-left: solid 1px #DDDDFF;
	border-top: solid 1px #DDDDFF;
}

th
{
	border-right: solid 1px #AAA;
	border-left: solid 1px #AAA;
	border-top: solid 1px #AAA;
}

table.filters input
{
	font-size: 100%;
}

table.filters td
{
	vertical-align: middle;
}

table.filters label
{
	display: inline;
}

table.rotate {
	width: auto;
}


table.table-header-rotated {
	width: auto;
}


th.rotate {
  /* Something you can count on */
  height: 140px;
  white-space: nowrap;
}

th.rotate > div {
  transform: 
    /* Magic Numbers */
    translate(25px, 51px)
    /* 45 is really 360 - 45 */
    rotate(315deg);
  width: 30px;
}
th.rotate > div > span {
  border-bottom: 1px solid #ccc;
  padding: 5px 10px;
}







.table-header-rotated th.row-header{
  width: auto;
}

.table-header-rotated td{
  width: 40px;
  border-top: 1px solid #dddddd;
  border-left: 1px solid #dddddd;
  border-right: 1px solid #dddddd;
  vertical-align: middle;
  text-align: center;
}

.table-header-rotated th.rotate-45{
  height: 80px;
  width: 40px;
  min-width: 40px;
  max-width: 40px;
  position: relative;
  vertical-align: bottom;
  padding: 0;
  font-size: 14px;
  line-height: 0.8;
  border-bottom: 1px solid #dddddd;
}

.table-header-rotated th.rotate-45 > div{
  position: relative;
  top: 0px;
  left: 40px; /* 80 * tan(45) / 2 = 40 where 80 is the height on the cell and 45 is the transform angle*/
  height: 100%;
  
  -ms-transform:skew(-45deg,0deg);
  -moz-transform:skew(-45deg,0deg);
  -webkit-transform:skew(-45deg,0deg);
  -o-transform:skew(-45deg,0deg);
  transform:skew(-45deg,0deg);
  /*overflow: hidden;*/
  border-left: 1px solid #dddddd;
  border-right: 1px solid #dddddd;
  border-top: 1px solid #dddddd;
}

.table-header-rotated th.rotate-45 span {
	
  -ms-transform:skew(45deg,0deg) rotate(315deg);
  -moz-transform:skew(45deg,0deg) rotate(315deg);
  -webkit-transform:skew(45deg,0deg) rotate(315deg);
  -o-transform:skew(45deg,0deg) rotate(315deg);
  transform:skew(45deg,0deg) rotate(315deg);
  position: absolute;
  bottom: 30px; /* 40 cos(45) = 28 with an additional 2px margin*/
  left: -25px; /*Because it looked good, but there is probably a mathematical link here as well*/
  display: inline-block;
  /*width: 100%;*/
  /*width: 85px;*/ /* 80 / cos(45) - 40 cos (45) = 85 where 80 is the height of the cell, 40 the width of the cell and 45 the transform angle*/
  text-align: left;
  white-space: nowrap; /*whether to display in one line or not*/
  /*border: solid 1px #FF0000;*/
}

input.withButton
{
	width: 100%;
	padding-right: 56px;
	box-sizing: border-box;
}

.computeButton {
	background-image: url('../img/kcalc.png');
	background-repeat: no-repeat;
	background-position: center center;
	float: right;
	position: relative;
	top: -37px;
	width: 52px;
}

.calc_black_overlay
{
    display: none;
    position: fixed;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    background-color: black;
    z-index:1001;
    -moz-opacity: 0.8;
    opacity:.80;
    filter: alpha(opacity=80);
}
 
.calc_content {
    display: none;
    position: fixed;
    top: 20%;
    left: 20%;
    width: 60%;
    height: 60%;
    padding: 10px;
    border: 10px solid #606060;
    background-color: white;
    z-index: 1002;
    overflow: visible;
    box-shadow: 3px 5px 10px rgba(0, 0, 0, 0.3);
    white-space: nowrap;
}

.calc_content th
{
	border: none;
}

.calc_content td
{
	vertical-align: middle;
	background-color: white;
	border: none;
}


.sublist li a
{
	font-weight: normal;
}

.dropdown
{
	display: none;
	position: absolute;
	background-color: #f9f9f9;
	min-width: 160px;
	box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
	padding: 0;
	z-index: 1;
	margin-top: 0px;
}

#menu li:hover .dropdown
{
	display: block;
}

div.dropdown a:hover
{
	background-color: #f0f0f9;
}

div.dropdown ul
{
	margin: 0;
	padding: 0;
}

div.dropdown li
{
	height: auto;
	display: block;
	float: none;
	margin: 0;
	background-color: #f9f9f9;
	padding: 0;
}

div.dropdown li a
{
	height: auto;
	text-decoration: none;
	display: block;
	float: none;
	line-height: 200%;
	padding: 4px 16px;
	background-color: #f9f9f9;
	font-weight: normal;
}

.scrollable
{
	max-height: 150px;
	overflow: auto;
	border: 1px solid #111111;
	margin-left: 0.5em;
}

.label_cont
{
	padding-left: 0.5em;
	padding-bottom: 0px;
	margin-bottom: 1px;
}


.icon-bar
{
	display: block;
	width: 18px;
	height: 2px;
	margin:5px;
	background-color: #f5f5f5;
	-webkit-border-radius: 1px;
	-moz-border-radius: 1px;
	border-radius: 1px;
	-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
	-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
}

div#menu_button
{
	display: none;
	float: right;
	padding: 5px;
	cursor:pointer;
	margin: 0px 10px 0 0;
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background: #AAAAAA;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;border-radius: 4px;
}

div#content
{
	display: flex;
	flex-direction: column;
	padding: 0;
	width: 100%;
	max-width: 100%;
}

div.actions
{
	float: none;
	order: 1;
	width: auto;
	background-color: #DDFFDD;
}

div.actions ul li
{
	display: inline;
}

div.actions ul li a
{
	clear: none;
	display: inline-block;
	background: none;
	border: none;
	box-shadow: none;
	color: #117011;
	padding-left: 4px;
	padding-right: 4px;
}

div.actions ul li a:hover
{
	background-color: #88EE88;
}

div.actions h3
{
	display: none;
}
	
div.index,
div.form,
div.view
{
	float: none;
	order: 2;
	border: none;
	width: auto;
	padding-left: 16px;
	padding-right: 16px;
}

div.index table
{
	display: block;
	overflow-x: auto;
}

select
{
	width:100%;
	overflow:hidden; 
	/*white-space:nowrap;*/
	text-overflow:ellipsis;
	height: 30px;
	padding-left: 4px;
}

div.date select,
div.time select
{
	width: auto;
}

div#submenu select
{
	width: auto;
}

div.related
{
	padding: 16px;
	order: 3;
}


.ip_black_overlay
{
    display: none;
    position: fixed;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    background-color: black;
    z-index:1001;
    -moz-opacity: 0.8;
    opacity:.80;
    filter: alpha(opacity=80);
}
 
.ip_content {
    display: none;
    position: fixed;
    top: 20%;
    left: 20%;
    width: 60%;
    height: 60%;
    padding: 10px;
    border: 10px solid #606060;
    background-color: white;
    z-index: 1002;
    overflow: visible;
    box-shadow: 3px 5px 10px rgba(0, 0, 0, 0.3);
    white-space: nowrap;
    text-align: center;
}

.ip_vCenter_helper
{
	display: inline-block;
    height: 100%;
    vertical-align: middle;
}

.ip_content img
{
	vertical-align: middle;
	max-height: 95%;
	max-width: 95%;
}

.ip_close
{
	position: absolute;
	top: -24px;
	right: -24px;
	cursor: pointer;
}

.ppbutton
{
	width: auto;
}

span.export_csv
{
	border: 0;
	margin-left: 8px;
}

input.ore
{
	max-width: 60px;
}

input.inline_in,
select.inline_in
{
	width: auto;
	clear: none;
}

select.inline_in
{
	height: 39px;
	vertical-align: baseline;
}

span.actions a
{
	margin: 1px 1px;
	padding: 2px 3px;
	display: inline-block;
}


.popup_black_overlay
{
	display: none;
	position: fixed;
	top: 0%;
	left: 0%;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.8);
	z-index:1001;
}
 
.popup_content {
	display: none;
	position: fixed;
	top: 20%;
	left: 20%;
	width: 60%;
	height: 60%;
	padding: 10px;
	border: 10px solid #606060;
	background-color: white;
	z-index: 1002;
	overflow: auto;
	box-shadow: 3px 5px 10px rgba(0, 0, 0, 0.3);
	white-space: nowrap;
	-moz-opacity: 1;
	opacity:1;
}

.confirm_message
{
	text-align: center;
	display:flex;
	align-items:center;
	flex-wrap: wrap;
	font-size: 150%;
}

.confirm_message div
{
	width: 100%;
}

.confirm_message a
{
	font-size: 80%;
}

/*
.ip_vCenter_helper
{
	display: inline-block;
    height: 100%;
    vertical-align: middle;
}

.ip_content img
{
	vertical-align: middle;
	max-height: 95%;
	max-width: 95%;
}

.ip_close
{
	position: absolute;
	top: -24px;
	right: -24px;
	cursor: pointer;
}
*/

tr.saturday,
td.saturday
{
	background-color: #88FF88 !important;
}

tr.sunday,
td.sunday
{
	background-color: #55FF55 !important;
}

table.report
{
	font-size: 100%;
	border-spacing: 0px;
	border-collapse: collapse;
	text-align: center;
}

table.report tr
{
	background-color: #FFFFFF;
}

table.report td
{
	/*white-space: nowrap;*/
	vertical-align: middle;
	border: 1px solid #999999;
	text-align: center;
}

table.report th
{
	vertical-align: middle;
	border: 2px solid #999999;
	background-color: #AAAAAA;
	text-align: center;
}


table.report_g3 tr:nth-of-type(3n + 4) td
{
	border-top: 2px solid #999999;
}

table.report_g2 tr:nth-of-type(2n + 2) td
{
	border-top: 2px solid #999999;
}

input[type="submit"]:disabled
{
	background: #eeeeee;
	color: #888888;
}

table.simple_table
{
	width: auto;
}

table.simple_table td
{
	padding: 0;
	border: 0;
}

div.simple_table
{
	margin: 0px;
	padding: 1px 5px 1px 2px;
}

table.simple_table tr
{
	background-color: #FFFFFF;
}

div.input_with_button
{
	margin-right:42px;
	height: 0px;
}

div.input_with_button_no_label
{
	margin-right:42px;
	height: 0px;
	padding: 0;
	margin-top: 0px;
	margin-bottom: 0px;
}

div.input_with_button input,
div.input_with_button select,
div.input_with_button div.selectize-input,
div.input_with_button_no_label input,
div.input_with_button_no_label select
{
	float: left;
	width: 100%;
	-ms-box-sizing: border-box; /* ie8 */
	-khtml-box-sizing: border-box; /* konqueror */
	-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
	-moz-box-sizing: border-box;    /* Firefox, other Gecko */
	box-sizing: border-box;         /* Opera/IE 8+  css3 rec*/
}

div.input_with_button div.selectize-input input
{
	float: none;
}

div.multiChoiceCont
{
	max-height: 20em;
	overflow: auto;
	border: 1px solid #DDDDDD;
}

div.multiChoiceCont label
{
	font-weight: normal;
}

div.multiChoiceCont label::after
{
	content: '';
}

#giornaliera_table td
{
	padding: 1px;
}

div.legend_cont table
{
	width: auto;
}

div.legend_cont_popup
{
	position: relative;
	cursor: pointer;
}

div.legend_cont_popup table
{
	display: none;
	position: absolute;
	z-index: 1;
	background-color: #FFFFFF;
	border: 2px solid #AAAAAA;
}

div.scad_circle
{
	display: inline-block;
	clear: none;
	/*padding: 1px 4px 1px 4px;*/
	border-radius: 50%;
	font-weight: bold;
	border: 2px solid #FFFFFF;
	color: #FFFFFF;
	text-align: center;
	width: 1.7em;
	height: 1.7em;
	line-height: 1.7em;
}

div.sc_count_in_scadenza
{
	background-color: #FF9900;
}

div.sc_count_scaduti
{
	background-color: #FF0000;
}


div.sticky_v_headers
{
	all: unset;
	overflow:auto;
	width:100%;
}

table.sticky_v_headers
{
	all: unset;
	table-layout: fixed;
	width:100%;
}

table.sticky_v_headers td:first-child,
table.sticky_v_headers th:first-child
{
	position:sticky;
	left: 0;
	z-index: 1;
	background-color: #F0F0FF;
	font-weight: bold;
	white-space: nowrap;
	width:1%;
}

table.sticky_v_headers td:last-child,
table.sticky_v_headers th:last-child
{
	position:sticky;
	right:0;
	z-index:1;
	background-color: #F0F0FF;
	font-weight: bold;
}

table.sticky_v_headers tr:last-child
{
	font-weight: bold;
}

td.radios input[type="radio"]
{
	float: none;
	margin: 6px 6px 6px 16px;
}

@media (max-width: 767px) {
	
	div#header
	{
		overflow: visible;  
		width: 100%; 
		min-height: 40px;  
		position: fixed;
		z-index: 10;
		top: 0;  
		left: 0;
		/*background-color: #E6E6E6;*/
		box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.3);
		opacity: 0.95;
		-moz-opacity: 0.95;
		filter: alpha(opacity=95);
		text-align: center;
		margin: 0;
	}
	
	div#title_cont
	{
		height: 40px;
		position: relative;
		margin: 0;
		background: #ffffff;
		padding-top: 4px;
		white-space: nowrap;
	}
	
	h2.gestionale_title
	{
		display: inline-block;
		position: relative;
		margin-top: 6px;
		padding: 0;
	}
	
	div#menu_button
	{
		display: block;
	}
	
	div#menu
	{
		margin-top: 0px;
		padding-left: 0px;
		display: none;
	}
	
	div.index
	div.form,
	div.view
	{
		padding-left: 4px;
		padding-right: 2px;
	}
	
	div.actions
	{
		padding-top: 10px;
	}
	
	div.related
	{
		padding-left: 4px;
		padding-right: 2px;
	}
	
	div#content
	{
		margin-top: 40px;
	}
	
	.menu-item
	{
		display: block;
	}
	
	.icon-bar
	{
		display: block;
		width: 18px;
		height: 2px;
		margin:5px;
		background-color: #f5f5f5;
		-webkit-border-radius: 1px;
		-moz-border-radius: 1px;
		border-radius: 1px;
		-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
		-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
		box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
	}
	
	div#logoutBox
	{
		float: none;
		background-color: #b3ecff;
		color: #005555;
		text-decoration: none;
		display: block;
		line-height: 200%;
		padding: 0px 6px 0px 6px;
		margin: 0;
	}
	
	div#submenu
	{
		padding: 4px;
		display: none;
	}
	
	#menu li:hover .dropdown
	{
		display: none;
	}
	
}