form {
	display: block;
	width: 100%;
}
form > *:not(:last-child) {
	margin-bottom: 20px;
}
form > div {
	position: relative;
}
form select, 
form input[type=text], 
form input[type=password], 
form input[type=tel], 
form input[type=number], 
form input[type=date], 
form textarea {
	font-size: 12pt;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
	font-size: 18px;
	color: #555555;
	line-height: 1.2;
}
form textarea {
	font-weight: normal;
}
form textarea:read-only {
	border: 0;
	padding: 0;
	background-color: unset;
}
form input[type=text], 
form input[type=password], 
form input[type=number], 
form input[type=tel] {
	border: 0;
	background-color: transparent;
	border-bottom: 2px solid #d9d9d9;
}
form input:disabled {
	border-bottom: 0;
}
form select, 
form input[type=text], 
form input[type=password], 
form input[type=tel], 
form input[type=number], 
form input[type=date], 
form input[type=file], 
form textarea {
	width: 100%;
}
form input[type=file] {
	border: 2px #57b846 solid;
	border-radius: 10px;
	padding: 5px;
}
div.hourholder select {
	width: unset !important;
}
form input + label.placeholder,
form textarea + label.placeholder,
form select + label.placeholder {
	display: none;
	position: absolute; 
	left: 0; 
	font-weight: bold;
	color: silver;
	transition: 0.5s ease;
}
form input[type=date] + label.placeholder {
	display: block;
	top: 5px; 
	left: 5px; 
}
form label + label.placeholder {
	position: absolute; 
	top: -15px; 
	left: 5px; 
	font-weight: bold;
	color: silver;
}
/* :not(:placeholder-shown) nao compativel com input[type=date], usando tambem a classe hasvalue controlada pela api-form */
form input:not([type=date]):not(:placeholder-shown) + label.placeholder,
form select.hasvalue + label.placeholder,
form textarea.hasvalue + label.placeholder,
form input.hasvalue + label.placeholder, 
div.hourholder label.placeholder {
	display: block;
	top: -15px !important;
	left: 5px; 
}
form textarea {
	padding: 5px;
}
form label input[type=radio], form label input[type=checkbox] {
	margin: 0 5px;
}
form div.warning {
	position: relative;
}
form div.warning textarea {
	border: 1px solid red;
}
form div.warning:before, li.warning:before {
	/* Nao usar background-color, no app o unicode renderiza com volume */
	content: "\26A0";
	position: absolute;
	top: 10px;
	right: 10px;
	width: 20px;
	height: 20px;
	display: inline-block;
	margin: -10px;
	text-align: center;
	font-size: 13pt;
}
li.warning:before {
	display: inline-block;
	top: 0;
}
form div.warning:after {
	content: attr(title);
	position: relative;
	font-size: 9pt;
	color: gray;
	white-space: break-spaces;
}
form input[type=button], .btn {
	font-family: Arial, Helvetica, sans-serif;
	/* font-weight: bold; */
	font-size: 12pt;
	letter-spacing: 3px;
	color: #fff;
	line-height: 1.2;
	text-transform: uppercase;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 20px;
	width: 100%;
	height: 50px;
	background-color: #57b846;
	border-radius: 15px;
	box-shadow: 0 5px 10px 0px rgba(87, 184, 70, 0.5);
	transition: all 0.4s;
	border: 0;
}
form input[type=button]:active, .btn:active, form input[type=button].pressed, .btn.pressed {
	box-shadow: 0 5px 5px 0px rgba(0, 0, 0, 0.4) inset !important;
	padding-top: 2px !important;
}
form input[type=button].aprovado {
	background-color: #57b846;
	box-shadow: 0 5px 10px 0px rgba(87, 184, 70, 0.5);
}
form input[type=button].reprovado {
	background-color: red;
	box-shadow: 0 5px 10px 0px rgba(255, 0, 0, 0.5);
}
form.formpeq input[type=button], .btngroup.formpeq input[type=button] {
	font-size: 11pt;
	height: 40px;
	padding: 0 10px;
}
/*form input[type=button]:hover {
	background-color: #333333;
	box-shadow: 0 0 5px 0px rgba(51, 51, 51, 0.7);
}*/
form input[type=button][disabled] {
	background-color: #eee;
	box-shadow: unset;
}
.fieldgroup {
	white-space: nowrap;
}
.fieldgroup > * {
	display: inline-block;
	position: relative;
}
.fieldgroup > *:not(:last-child) {
	padding-right: 10px;
}
.btngroup {
	display: flex;
}
.btngroup input[type=button] {
	margin-bottom: 0;
}
.btngroup input[type=button]:not(:first-of-type) {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	margin-left: 2px;
}
.btngroup input[type=button]:not(:last-of-type) {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	margin-right: 2px;
}
.fieldFilter div {
	vertical-align: bottom;
}
.fieldFilter input[type=text], .fieldFilter select {
	width: 100%;
	position: relative;
}
.fieldFilter input[type=button] {
	height: 25px;
	font-size: 10pt;
	margin-left: 10px;
	border-radius: 10px;
	letter-spacing: 1px;
	text-transform: none;
}
.btn_increment {
    font-size: 15pt;
	color: silver;
    border: 1px solid silver;
    border-radius: 13px;
    display: inline-block;
    text-align: center;
    width: 25px;
    height: 25px;
    vertical-align: middle;
    line-height: 20px;
    margin: 0 2px;
}
.btn_increment:hover {
	color: black;
    border-color: black;
}
form .ckFocus {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
}

form .ckFocus::before {
	content: "";
	display: block;
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 0;
	height: 2px;
	transition: all 0.4s;
	background: #57b846;
}

form input[type=text]:focus + .ckFocus::before {
	width: 100%;
}

/* Placeholder
form .ckFocus::after {
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
	font-size: 18px;
	color: #999999;
	line-height: 1.2;
	content: attr(data-placeholder);
	display: block;
	width: 100%;
	position: absolute;
	top: 15px;
	left: 0px;
	padding-left: 5px;
	transition: all 0.4s;
}
form input[type=text]:focus + .ckFocus::after {
	top: -20px;
	font-size: 15px;
}
*/

