BODY, HTML {
	margin: 0;
    padding: 0;
	height: calc(100% - 16px);
	width: calc(100% - 16px);
}
BODY {
	background-color: #7f88a9;
	color: white;
	font-family: arial;
    font-size: 20px;
	text-align: left;
	padding: 8px;
    position: relative;
}

BODY.ppm_red {
	background-color: #8c2d2d;
}
BODY.ppm_yellow {
	background-color: #bda750;
}
BODY.ppm_green {
	background-color: #3d7944;
}

BODY * {
    box-sizing: border-box;
}
VAR {
	font-style: normal;
}
A IMG {
	border: none;
}
HR {
    border: none;
	border-bottom: dotted 2px #ffffff52;
	margin: 5px auto;
	width: calc(100% + 8px);
}

.center {
	text-align: center;
}
.right {
	text-align: right;
}

.disabled {
	opacity: .25;
	filter: grayscale(1);
	cursor: default;
}

.red {
    color: red;
}
.green {
    color: green;
}
.orange {
    color: orange;
}
.current {
    background: #ff04;	
}

DIV.commessa.no_lav SMALL.articolo {
	color: red;
}

DIV.scroll {
    overflow-y: scroll;
    height: 300px;
    border: inset 1px;
    background: #f8f8f8;
}

DIV.commessa A.pausa_button {
    position: absolute;
    text-decoration: none;
    right: 7px;
    top: 7px;    
    color: black;
    width: 44px;
    height: 44px;
    border: solid 1px silver;
    background: url('../img/pause.png') white no-repeat center center;
    background-size: 25px
}
DIV.commessa A.pausa_button.paused {
    background-color: #ffa500;    
    animation: blink 2s infinite;
}

#alive_warn {
	position: fixed;
	top: 21px;
	left: 110px;
	animation: blink2 1s infinite;
}
#outside_alerts {
	position: fixed;
	bottom: .5em;
	width: 48%;
	text-align: center;
}
#do_man,
#do_cp {    
    bottom: 1em ;
    padding: .5em 1em;
    margin: 0 1em;
    font-size: 1em;
    animation: blink 2s infinite;
}
#do_man {    
    animation: blink3 2s infinite;
}

#info_manutenzione H4 {
    margin: 0;
}

@keyframes blink {
    0% { color: #000; background-color: #00a5ff; }
    50% { color: #000; background-color: #00a5ff; }
    51% { color: #000; background-color: #00a5ff40; }
    100% { color: #000; background-color: #00a5ff40; }
}
@keyframes blink3 {
    0% { color: #000; background-color: #f00; }
    50% { color: #000; background-color: #f00; }
    51% { color: #000; background-color: #f004; }
    100% { color: #000; background-color: #f004; }
}


@keyframes blink2 {
    0% { opacity: 0 }
    50% { opacity: 0 }
    51% { opacity: 1 }
    100% { opacity: 1 }
}

.bg_hl {
    background-color: yellow !important;	
}
.bg_red {
    background-color: red !important;	
}


/* --- */


DIV.msg {
    position: fixed;
    background: white;
    color: black;
    font-size: 18px;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    padding: 10px 20px;
    box-shadow: 3px 3px 5px #00000080;
    z-index: 6;
    border: solid 1px gray;
	width: 90%;
	max-width: 800px;
}

DIV.box {
    color: black;
    background: white;
    border: solid 1px black;    
}

DIV#macchina {
    display: inline-block;
    font-size: 40px;
    font-weight: bold;
    margin-bottom: 5px;
    padding-top: 5px;
}

#input {
    position: fixed;
    right: 1em;
    bottom: 20px;
    background: transparent;
    border: none;
    text-align: right;
    width: 4em;
    color: white;
    font-size: 8px;
}

DIV#div_commesse, DIV#div_risorse, DIV#div_stato {
    margin-bottom: 5px;
    position: relative;
}
DIV#div_commesse ,
DIV#div_risorse,
DIV#div_stato,
DIV#div_info_commessa {
	width: 49.5%;
	font-size: 14px;    
}

#risorse, #commesse, #info_commessa {
    border: solid 1px black;
    overflow-y: auto;
    overflow-x: hidden;
    font-size: 32px;
}
#commesse {
    height: 180px;    
}
#risorse {
    height: 80px;
}
#info_commessa {
	height: 150px;
	font-size: 1.25em;
	padding: .25em;
}
#info_commessa DIV {	
	display: inline-block;
	width: 49%;
	margin-left: .1em;
	margin-bottom: .25em;
}
#info_commessa LABEL {
	font-size: 12px;
	display: block;
	overflow: hidden;
	vertical-align: bottom;
}

DIV.commessa, DIV.risorsa {
    margin: 0 0 1px;
    position: relative;
    padding-left: 10px;    
}
DIV.risorsa {
    padding-left: 50px;
}

#ip_address {
    position: absolute;
    font-size: 8px;
    bottom: -10px;
    right: -6px;
}


DIV#div_stato {
    position: absolute;
    right: 0;
}
#stato {        
    text-align: right;
}

#div_gauges {
    margin: 2em 0;
    text-align: center;
}
#div_gauges DIV {
    display: inline-block;
    position: relative;
    width: 33%;
    overflow: hidden;    
}
#div_gauges CANVAS {
    width:100%
}
#div_gauges SPAN {
    position: absolute;
    top: 75%;        
    left: 50%;
    transform: translate(-50%,-50%);    
    font-size: 1.3em;
}
#div_gauges SPAN::after {
    content: '%';
}

DIV.stats {    
    font-size: 30px;    
    color: black;    
}
DIV.stats SPAN {
    height: 60px;
	display: inline-block;
    border: solid 1px black;    
	text-align: center;
	margin: 0 0 -8px -1px;    
	padding-top: 3px;	
    width: 33.3%;    
    background: white;    
    overflow: hidden;
}
DIV.stats SPAN.spacer {
    /* background: transparent; */
}
DIV.stats SUP {
    font-size: 12px;
}

DIV.stats SPAN.ppm_red {
	color: red;
}
DIV.stats SPAN.ppm_yellow {
	color: orange;
}
DIV.stats SPAN.ppm_green {
	color: green;
}

DIV.stats SPAN.no_bg {
    background-color: transparent;
}
DIV.stats INPUT[type=button] {
    font-size: 30px;
    margin-top: 4px;
}

DIV.stats SPAN.smaller {    
    font-size: 23px;
}
DIV.stats SPAN.smaller I {
    margin-bottom: 3px;
}
DIV.stats I {
	font-size: 16px;
	display: block;
    white-space: nowrap;
    font-style: normal;
}
DIV.stats U {
    text-decoration: none;
    color: silver;
}

DIV.time {
    text-align: right;
    margin: 2px 14px  0 0;
    font-size: 16px;
}
DIV.small_time {     
	position: absolute;
	margin-top: -1.1em;
	right: 2px;
}
DIV.big_time {    
    font-size: 5em;    
    height: 300px;
    padding-top: 120px;
    text-align: center; 
    background: white;
    color: black;
    border: solid 1px black;            
}
DIV.big_time I {	
	display: none;    
}
DIV.stats SPAN.set {
	cursor: pointer;
    position: relative;
}
DIV.stats SPAN.set:after {
    content: '';
    background: url('../img/edit.png') transparent no-repeat center center;
    background-size: contain;
    width: 16px;
    height: 16px;
    position: absolute;
    right: 3px;
    bottom: 3px;  
    opacity: .5;
}

#add_commessa {
    background: white;
    color: black;
    position: absolute;
    top: -8px;
    right: 3px;
    width: 32px;
    height: 32px;
    font-size: 32px;
    text-align: center;
    line-height: 1;
}

SMALL.time {
    color: black;    
    padding: 1px 4px;    
    font-size: 16px;
    display: inline-block;
    vertical-align: 11px;
    margin-left: -45px;
}

#icons {
    position: absolute;
    top: 8px;
    right: 0;    
    z-index: 1;
}

#icons IMG {
    width: 55px;
    background: white;
    border: solid 1px black;
    margin-left: .5em;
    background: url('../img/blank.png') white no-repeat center center;
    background-size: contain;
}


#icons IMG#manutenzione {
    background-image: url('../img/manutenzione.png');
}
#icons IMG#guasto {
    background-image: url('../img/guasto.png');
}

IMG#preset {
    background-image: url('../img/folder_gears.png');
}
IMG#numpad {
    background-image: url('../img/numpad.png');
}
IMG#drawings {
    background-image: url('../img/drawings.png');
}
IMG#indirette {
    background-image: url('../img/broom.png');
}
IMG#note {
    background-image: url('../img/note.png');
}
IMG#browser {
    background-image: url('../img/folder.png');
}
#icons .selected {
    background-color: yellow;
}
IMG#browser_close {
    background-image: url('../img/close.png');
    display: none;
}

#browser_box {
    position: absolute;
	top: 60px;
	left: 0;
    width: 100%;
    height: 100%;    
    z-index: 10;    
	background-color: #606b93;	
    overflow: auto;
	display: none; 
}
#browser_box H3 {
    padding-left: 1em;
}
#browser_box IFRAME {
	width: 100%;
	height: 100%;	    
    border: none;
    display: none;
	margin: 0;
}
#div_tree {
    padding: 5px;
}

#popup {
	position: absolute;
	z-index: 20;
	display: none;
}

DIV#close_commessa {
	display: none;
}
DIV.bg {
	background: #0008;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 5;
}

FORM#commessa_end > DIV {
	white-space: nowrap;
	margin: 10px 0;
}
FORM#commessa_end LABEL {
	min-width: 160px;
	display: inline-block;
}
FORM#commessa_end DIV.buttons {
	text-align: center;
	margin-top: 30px;
}
FORM#commessa_end DIV.buttons INPUT {
	margin: 0 20px;
}
FORM#commessa_end INPUT[type=number],
FORM#commessa_end INPUT.small {
	width: 100px;
	text-align: right;
}
FORM#commessa_end TABLE TD {
    vertical-align: top;
    border: none;
    min-width: 310px;
}
FORM#commessa_end DIV.field {
    margin: 5px 0;
}
FORM#commessa_end SELECT {
    width: 100%;
    font-size: 20px;
}

.show {
    animation: show 3s forwards;
}
@keyframes show {
    0% { opacity: 0 }
    5% { opacity: 1 }
    95% { opacity: 1 }
    100% { opacity: 0 }
}

.bg_blink_red {
    animation: bg_blink_red 2s infinite;
}
@keyframes bg_blink_red {
    0% { color:white; background-color: red }
    50% { color:white; background-color: red }
    51% { color: red; background-color:  white }
}

INPUT[type=button], INPUT[type=submit], .button, BUTTON {
	display: inline-block;
	text-align: center;
	border: solid 1px #8c8c8c;
	color: black;
	background: #e6e6e6;
	min-width: 7em;
	padding: .25em 1em;
	text-decoration: none;
	margin: 1em;
	font-size: 20px;
}

.button.selected {
    background-color: yellow;
}
.button.todo {
    border-color: red;
    color: red;
}

.large {
    display: block;
}

.div_form H3 {
	text-align: center;
}

DIV#in_fermo {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000c;
    z-index: 0;
}

FORM.feedback {
	max-width: 800px;
	margin: auto;
	padding: 1em;
}
FORM.feedback LABEL {
	display: block;
	margin-top: 1em;
	font-size: .5em;	
}
FORM.feedback INPUT[type=text], 
FORM.feedback SELECT, 
FORM.feedback TEXTAREA {
	width: 100%;
}
FORM.feedback TEXTAREA {
	height: 6em;
}
FORM.feedback DIV.buttons {
	text-align: right;
}
#feedback_rc {
	text-align: center;
}
#feedback_rc SPAN.error {
	background: red;
	color: white;
	padding: .5em 2em;
}
#feedback_rc SPAN.ok {
	background: green;
	color: white;
	padding: .5em 2em;
}
DIV.simple-keyboard {
	color: black;
	position: fixed;
	bottom: 0;
	z-index: 10;
	left: 0;	
	display: none;
}

#popup_media {
	text-align: center;
}
#popup_media .wait_done {
	color: green;
	font-size: .8em;
	animation: blink2 1s infinite;
}
#popup_media .wait_not_done {
	color: red;
	font-size: .8em;
}
#popup_media.wait_close .wait_done {
	display: none;
}
#popup_media:not(.wait_close) .wait_not_done {
	display: none;
}

#svuotare_benne {
    width: 50%;
    text-align: center;
    position: absolute;
    top: 600px
    left: 50%;
    background: white;
    border: solid 1px black;
    padding: 1em;
    font-size: 1.2em;
    transform: translateX(-50%);
}

@media screen and (max-width: 600px) {
    DIV#div_commesse,
    DIV#div_risorse,
    DIV#div_stato {
        display: block;
        position: relative;
        width: 100%;
    }
    #icons {
        position: static;
        margin-bottom: 1em;
    }
    #outside_alerts {
        max-width: unset;        
    }
    #div_gauges SPAN {    
        font-size: 1.2em;
        top: 70%;
    }
}