@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Lato:300,400,700,900');

/* CSS Document */
/*------------------------------------------------------
CSS Created:	10/12/2018
CSS Author:		Alessandro Avallone
---------------------------------------------* GENERAL */

html, body {
	padding:0;
	margin:0;
	font-family: 'Lato', sans-serif;
	font-weight:400;
	font-style:normal;
	font-size: 16px;
}

body.noScroll {
	overflow: hidden;
}

a {
	text-decoration:none;
}

 svg {
	fill: currentColor;
}

input[type="button"],
input[type="submit"] {
	background-color:#03a9f4;
	color: white;
	font-size: 0.8rem;
	font-weight: 700;
	padding: 20px;
	text-align: center;
	border: none;
	border-radius: 60px;
	margin: 20px auto;
	width: 200px;
	display: block;
}

.clearfix::before,
.clearfix::after {
	content:"";
	display:table;
	clear:both;	
}

.wrapper {
	margin:0 auto;
	position:relative;
	width:100%;
}

.desktop {
	display:none;
}

.mobile {
	display:none;
}

.wrapper {
	margin: 0 auto;
	position: relative;
	width: 90%;
}

.fas {
	opacity: 0.2;
	font-size: 60px;
}

/*------------------------------------------------------
	ALERT
-------------------------------------------------------*/

.alert {
	position: fixed;
	width: 100vw;
	height: 100vh;
	background-color:white;
	left: 0;
	top: 0;
	z-index: 100;
	padding: 20px;
	box-sizing: border-box;
	visibility: hidden;
	opacity: 0;
	transition: all 0.5s linear;	
}

.alert > div {
	display: flex;
	flex-flow: column wrap;
	align-items: center;
	justify-content: center;
	font-size: 21px;
	text-align: center;
}

.alert.visible {
	visibility: visible;
	opacity: 1;
}

.alert p {
	margin: 10vh 0;
}

.alert p .fas {
    font-size: 60px;
}

.alert p input[type="button"] {
	width: 36vw;
	margin: 0 3vw; 
	display: inline-block;
}

.alert p input[type="button"].alertOK {
	background-color: green;	
}

.alert p input[type="button"].alertKO {
	background-color: red;	
}

/*------------------------------------------------------
	LOADING
-------------------------------------------------------*/

.loading {
	position: fixed;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0,0,0,0.8);
	left: 0;
	top: 0;
	z-index: 10;
	visibility: hidden;
	opacity: 0;
	transition: all 0.5s linear;
	/*display: none;*/
}

.loading.visible {
	visibility: visible;
	opacity: 1;
}

.loading svg {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);		
}

.loading svg .path {
  animation: draw 5s linear infinite;
}
 
 @keyframes draw {
  from {
    stroke-dashoffset: 0;
  }
}

/*------------------------------------------------------
	HEADER
-------------------------------------------------------*/

header {
	position: fixed;
	display: flex;
	align-items: center;
	z-index: 8;
	left: 0;
	top: 0;
	width: 100%;
	height: 80px;
	background-color: white;
}

header .wrapper {
	padding: 12px;
}

header .wrapper .user {
	text-align: right;
    color: rgba(140,140,140,1.00);
}

header .wrapper .user a {
	font-weight: 700;
	color: #03a9f4;
}

header .wrapper .title {
	text-align: center;
}

header .wrapper .title h1 {
	font-weight: 700;
	font-size: 1.4rem;
	margin: 0;	
}

/*------------------------------------------------------
	CONTENT
-------------------------------------------------------*/

.content {
	min-height: calc(100vh - 160px);
	margin-top: 80px;
	background-color:rgba(240,240,240,1.00);
}

.content input[type="text"],
.content input[type="date"],
.content input[type="password"],
.content select,
.content textarea {
	font-family: 'Roboto', sans-serif;
	font-weight:400;
	font-style:normal;
	font-size: 1rem;
	padding: 10px;
	box-sizing: border-box;
	background-color:white;
	border: 1px solid rgba(230,230,230,1.00);
	width: 100%;
}

.content input[type="radio"] {
	width: 40px;
	height: 40px;
	border: 1px solid rgba(230,230,230,1.00);
	background-color:white;
	margin-left: 40px;
}

.content .box {
	width: 90%;
	margin: 20px auto;
	background-color:white;
	border: 1px solid rgba(230,230,230,1.00);
	box-shadow: 0px 5px 0px 0px rgba(0,0,0,0.1);
	padding: 20px;
	box-sizing: border-box;
}

.content .box.updated {
	border: 1px solid red;
}

/*------------------------------------------------------
	LOGIN
-------------------------------------------------------*/

.content .loginWrapper {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.content .loginWrapper form {
	padding: 10px;
	width: 98vw;
	box-sizing: border-box;
	text-align: center;
}

.content .loginWrapper form .fas {
	font-size: 40px;
}

/*------------------------------------------------------
	SEARCH
-------------------------------------------------------*/

.content .operationsSearch form { 	
	margin: 20px 0 0 0;
	border: 1px solid rgba(0,0,0,0.40);	
	padding: 20px;
}

.content .operationsSearch form .field {
	margin-bottom: 20px;
}

.content .operationsSearch form .field input[type="text"],
.content .operationsSearch form .field input[type="date"],
.content .operationsSearch form .field select {
	width: 100%;
	font-family: 'Lato', sans-serif;
	font-weight:400;
	font-style:normal;
	font-size: 16px;
	background-color: transparent;
	border: none;
	border-bottom: 1px solid rgba(0,0,0,0.20);
	padding: 10px;	
	display: block;
}

/*------------------------------------------------------
	LIST
-------------------------------------------------------*/

.content .operationsList .singleRow h2 {
	font-size: 24px;
	color: #03a9f4;
	margin-top: 0;
}

.content .operationsList .singleRow p {
	height: 30px;
	overflow: hidden;
}

.content .operationsList .singleRow .fas {
	font-size: 30px;
	padding-right: 10px;
}

/*------------------------------------------------------
	SHEET
-------------------------------------------------------*/

.content .operationSheet {
	background-color: rgba(240,240,240,1.00);
	width: 100%;
	overflow-y: scroll;
	/*-webkit-overflow-scrolling: touch;*/
	position: fixed;
	visibility:hidden;
	opacity: 0;	
	left: 0;
	top: 0;
	z-index: 9;
}

.content .operationSheet.visible {
	visibility: visible;
	opacity: 1;	
}

.content .operationSheet #canvas {
	position: absolute;
	left: 0;
	top: 0;
	background-color:rgba(230,230,230,1.00);
}

.content .operationSheet .close {
	position: fixed;
	top: 10px;
	right: 10px;
	z-index: 10;
	color: #03a9f4;	
}

.content .operationSheet .close .fas {
	opacity: 1;
	color: #03a9f4;
	font-size: 40px;
}

.content .operationSheet .erase {
	margin-top: calc(65vw + 35px);
}

.content .operationSheet .box {
	margin-top: 40px;
}

.content .operationSheet .box .field {
    margin-bottom: 40px;
    border-bottom: 1px dotted rgba(0,0,0,0.2);
    padding-bottom: 20px;
}

.content .operationSheet .box .field.image {
	display:none;
}

.content .operationSheet .box .field.sign {
	border:none;
}

.content .operationSheet .box .field.hidden {
	display: none;
}

.content .operationSheet .box .field input,
.content .operationSheet .box .field select,
.content .operationSheet .box .field .enabled {
	border-color: black;
	margin-top: 10px;
}

.content .operationSheet .box .field input.disabled {
	border-color: rgba(0,0,0,0.2);
	background-color: rgba(0,0,0,0.1);
}

.content .operationSheet .box .field.radiobox input[type="radio"] {
	display: inline-block;
}

.content .operationSheet .box .sign img {
	width: 100%;
	padding: 20px;
	box-sizing: border-box;
	border:1px solid rgba(200,200,200,1.00);
	display: block;
}

.content .operationSheet .bottom {
	/*margin-bottom: 60px;*/
}

/*------------------------------------------------------
	FOOTER
-------------------------------------------------------*/

footer {
	display: flex;
	align-items: center;
	width: 100%;
	height: 80px;
	background-color: white;
	font-size: 0.8rem;
	color:rgba(140,140,140,1.00);
	padding: 20px;
	box-sizing: border-box;
	text-align: center;
}

footer a {
	font-weight: 500;
	color: black;
}