@media print{
   .noPrint{
       display:none;
   }

   h1, h2 { color: #000; }
}

@media screen {
   .onlyPrint {
       display: none;
   }
}

html {
	background-color: #FFF;

	/*font-size: calc(0.5em + 1vw);*/
}


/*
:root {
  font-size: calc(1vw + 1vh + .5vmin);
}*/


body {
	margin: 0;

	text-align: center;
	
        margin-bottom: 3em; /* per lo spazio del menu */

	//padding: 1%;
	background-color: #FFF;
	font-family: open sans, courier, helvetica, arial, verdana, sans-serif;
	color: #000;
	font-size: 1em;

	/*font-size: calc(1vw + 1vh + .5vmin);*/
	
	
}

.navbar {
  /* font-size: 1.1em; */ 
  position: fixed; 
  text-align: center; 
  bottom: 0; left: 0; z-index: 9999; 
  width: 100%; 
  height: 3em; 
  background-color: #fff;

  box-shadow: 0 -6px 6px -4px lightblue;


  border-top: solid 0.1em;
  border-color: #8d8aeb;
}



select {

  background-color: white;
  border: thin solid blue;
  border-radius: 4px;
  display: inline-block;
  font: inherit;
  line-height: 1.5em;
  padding: 0.5em 3.5em 0.5em 1em;



  margin: 0;      
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
}

select.classic {
  background-image:
    linear-gradient(45deg, transparent 50%, blue 50%),
    linear-gradient(135deg, blue 50%, transparent 50%),
    linear-gradient(to right, lightblue, lightblue);
  background-position:
    calc(100% - 20px) calc(1em + 2px),
    calc(100% - 15px) calc(1em + 2px),
    100% 0;
  background-size:
    5px 5px,
    5px 5px,
    2.5em 2.5em;
  background-repeat: no-repeat;
}

select.classic:focus {
  background-image:
    linear-gradient(45deg, white 50%, transparent 50%),
    linear-gradient(135deg, transparent 50%, white 50%),
    linear-gradient(to right, gray, gray);
  background-position:
    calc(100% - 15px) 1em,
    calc(100% - 20px) 1em,
    100% 0;
  background-size:
    5px 5px,
    5px 5px,
    2.5em 2.5em;
  background-repeat: no-repeat;
  border-color: grey;
  outline: 0;
}

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

.main {
  margin-bottom: 3em; /* spazio per menu */
}


table {
    	margin-left: auto;
    	margin-right: auto;
	
	line-height: 1em;
	
	border: none;

	//border-left: solid 0.15em;
	//border-left-color: #4d5aeb;
	//border-left: none;
	
	//border-right: solid 0.15em;
	//border-right-color: #4d5aeb;
	//border-right: none;
	
    	//border-top: solid 0.05em;
    	//border-top-color: #4d5aeb;

	//border-bottom: solid 0.15em;
   	//border-bottom-color: #4d5aeb; 
	/* width: 100%; */
}


table.lista {
	font-size: 0.7em;

}



.table_orizzontale {
    	margin-left: auto;
    	margin-right: auto;
	width: 100%;
        max-width: 500px;
	
	font-size: 0.6em;
	line-height: 1em;
	font-family:  open sans, courier, arial, helvetica;

	//table-layout: fixed;
	
	border: none;
	//border-color: #4d5aeb;

	//border-left: solid 0.15em;
	//border-left-color: #4d5aeb;
	//border-left: none;
	
	//border-right: solid 0.15em;
	//border-right-color: #4d5aeb;
	//border-right: none;
	
    	//border-top: solid 0.05em;
    	//border-top-color: #4d5aeb;

	//border-bottom: solid 0.15em;
   	//border-bottom-color: #4d5aeb; 
	/* width: 100%; */
}

.table_orizzontale th[scope=col]{
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 2;
}

.table_orizzontale th[scope=row] {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  z-index: 1;
}



.table_lista_carico {
    	margin-left: auto;
    	margin-right: auto;
	width: 100%;
        max-width: 400px

}

.inline  {
display:inline-table;
vertical-align:top;
}

/*
td:not(:first-child) {
  	text-align: center;
  	vertical-align: middle;

  	border-bottom: solid 0.05em;
  	border-bottom-color: #4d5aeb;
}
*/

td {
  	text-align: center;
  	vertical-align: middle;

  	border-bottom: solid 0.05em;
  	border-bottom-color: #4d5aeb;
	border-radius: 3px;
}



td.orizzontale {
  	text-align: center;
  	vertical-align: middle;

  	border: solid 0.05em;
  	border-color: #888;
	//border-radius: 3px;
}

td.vuoto {

  	border: solid 0.05em;
  	border-color: #dcdcdc;
	//border-radius: 3px;
}

td.nessuno {
  	border: none;
}





td.piccolo(:first-child) {
  	text-align: center;
  	vertical-align: middle;

  	border-bottom: solid 0.05em;
  	border-bottom-color: #4d5aeb;
  	/* min-width: 4em; */
}


/*
td:last-child {
  	text-align: center;
  	vertical-align: middle;

  	border-bottom: solid 0.05em;
  	border-bottom-color: #4d5aeb;

} */



h1 {
	border-bottom: solid 0.1em;
	/* margin-bottom: 1em;
	padding-bottom: 0.2em; */
	border-color: #8d8aeb;
	color: #fff;
	background-color: #4d5aeb;
	//padding-left: 0.25em;
	//max-width: 30rem;
	text-align: center;
	//border-radius: 8px;

	box-shadow: 0 8px 8px -4px lightblue;
}

h2 {
	border-bottom: solid 0.1em;
	
	margin-bottom: 0.5em;
	
	border-color: #8d8aeb;
	color: #fff;
	background-color: #4d5aeb;
	//padding-left: 0.5em;
	//max-width: 30rem;
	text-align: center;

	//border-radius: 6px;

	box-shadow: 0 6px 6px -4px lightblue;
}







.ora {
    line-height: 1em;
    font-weight: bold;
    //color: #4d5aeb;
    color: #fff;
    background-color: #4d5aeb;
    border-radius: 2px;
    padding: 2px; 
    //padding-right: 2px;
}

.ora_inserita {
    line-height: 1em;
    font-weight: bold;
    //color: #4d5aeb;
    color: #000;
    background-color: #fff;
    border-radius: 2px;
    padding: 2px;
    border: 2px solid black;
    border-color: #4d5aeb; 
    //padding-right: 2px;
}

.giorno {
    //padding-top: 0.5em;
    padding-left: 0.5em;
    text-align: left;
    font-weight: bold;
    color: #fff;
    background-color: #4d5aeb; 
    //color: #4d5aeb;
    //background-color: #fff; 

    /* margin-bottom: 1em; */
    /* padding-bottom: 1em; */
	/*
     line-height: 1.5em;
     border-bottom: solid 0.2em;

     border-bottom-color: #8d8aeb;*/	
     border-radius: 4px;
}

.titolo_lista {

    padding-left: 0.5em;
    text-align: center;
    font-weight: bold;
    color: #fff;
    background-color: #4d5aeb; 
    //color: #4d5aeb;
    //background-color: #fff; 

    /* margin-bottom: 1em; */
    /* padding-bottom: 1em; */
	/*
     line-height: 1.5em;
     border-bottom: solid 0.2em;

     border-bottom-color: #8d8aeb;*/	
     border-radius: 4px;
}


.prof {
     font-size: 1.5em;
     text-align: center;
     font-weight: bold;
     color: #4d5aeb;
     line-height: 2em;
	
	/*background-color: #4d5aeb; */
    /* : 1em; */
    /* padding-bottom: 1em; */
	/*
     line-height: 1.5em;
     border-bottom: solid 0.15em;

     border-bottom-color: #8d8aeb;*/	

}

.posizione {
    font-weight: none;
    line-height: 1em;
    font-size: 0.8em;
    /*white-space: nowrap;*/
}

.ora_inizio {
    font-weight: bold;
    line-height: 1em;
    font-size: 0.75em;
	color: #4d5aeb;
    /*white-space: nowrap;*/
}


p {
	line-height: 1.5em;
	/* border-left: solid 0.15em; */
	padding-left: 1em;
	padding-right: 1em;
	/* border-left-color: #4d5aeb; */

}

p.piccolo {
	font-size: 0.5em;
	border-left: solid 0.15em;
	padding-left: 1em;
	border-left-color: #eee;

}

.supplenza {
	//line-height: 0.8em;
	font-size: 0.8em;
	color: #fff;
	background-color: #ff6347;
	font-weight: bold;
	border: solid 0.1em;
	border-color: #000;	
        border-radius: 2px;
}

.assente {
	//line-height: 0.8em;
	font-size: 0.8em;
	color: #fff;
	background-color: #ff6347;
	font-weight: bold;
	border: solid 0.1em;
	border-color: #000;
        border-radius: 2px;
}


.titolo_date {
	//line-height: 1em;
	font-size: 1em;
	//padding-bottom: 1em;
	//padding-bottom: 0.5em;
}



p.linea {
	line-height: 1.5em;
	border-left: solid 0.15em;
	padding-left: 1em;
	border-left-color: #4d5aeb;

}

p.zap {
	font-size: 1em;
	text-align: right;
	color: #999;

}




p.home { color: #AAA; }


a {
    padding: 0.5em 0.8em;
    background: #ff9933;
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    border: solid 0.1em #cc6600;
    line-height: 3em;
    border-radius: 4px;

    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    box-sizing: border-box;
}


input[type=button], input[type=submit], input[type=reset] {
    font-family: open sans, courier, helvetica, arial, verdana, sans-serif;
    padding: 0.5em 0.8em;
    background: #ff9933;
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    border: solid 0.1em #cc6600;
    line-height: 3em;
    border-radius: 4px;

    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    box-sizing: border-box;
}


a.zap {
    color: lightblue;
    text-decoration: none;
    font-weight: none;
    border: none;
}


li {
	list-style-type: square;
	margin-bottom: 1em;
	color: #4d5aeb;
}


.dot_sx {
  height: 8px;
  width: 8px;
  background-color: #bbb;
  border-radius: 50%;
  float: left;
}

.dot_dx {
  height: 8px;
  width: 8px;
  background-color: #bbb;
  border-radius: 50%;
  float: right;
}
