@import "tables.css?v=99";
@import "menu.css?v=99";
@import "estilo.css?v=99";

:root{
	--verde-claro: #e0f1eb;
	--bs-primary: #009cdd;
	--bs-secondary: #069;
	--bs-primary-rgb: 0,156,221;
}

@font-face {
	font-family: 'Material Icons';
	font-style: normal;
	font-weight: 400;
	src: url(font/MaterialIcons-Regular.eot); /* For IE6-8 */
	src: local('Material Icons'),
	  local('MaterialIcons-Regular'),
	  url(font/MaterialIcons-Regular.woff2) format('woff2'),
	  url(font/MaterialIcons-Regular.woff) format('woff'),
	  url(font/MaterialIcons-Regular.ttf) format('truetype');
  }

  span.material-icons,
  i.material-icons{
	font-family: 'Material Icons';
	font-weight: normal;
	font-style: normal;
	display: inline-block;
	line-height: 1;
	text-transform: none;
	letter-spacing: normal;
	word-wrap: normal;
	white-space: nowrap;
	direction: ltr;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: 'liga';
	font-size:24px;
}

i.material-icons{
	font-size:2rem;
	color:var(--bs-primary);
	vertical-align:middle;
	cursor: default;
}

a > i.material-icons,
i.material-icons[onClick]{
	cursor: pointer;
}

i.material-icons.danger,
i.material-icons.delete{
	color: var(--bs-danger) !important;
}

i.help{
	font-size: 1.75rem;
	color: #CCC;
	cursor: help;
}  

.blur{
	-webkit-filter: blur(2px);
	-moz-filter: blur(2px);
	-ms-filter: blur(2px);
	-o-filter: blur(2px);
	filter: blur(2px); 
	background: rgba(0, 90, 158);
	opacity: .60;
}

body{
	background-color: #eeeeee;
}

body#ijanela{
	/*min-width: 480px;*/
	min-width: none;
}

main{
	clear:both;
	margin:0 auto;
	min-height: 720px;
}

/* Substituir por BS Container */
main:has(form.ficha){
	max-width: 1200px;	
}

form input:is(.animal,[name='animal']){
	width: 22rem !important;
}

iframe#ijanela {
	width:100%;
	height:auto;
	border:0;
	margin:0 auto;
	padding:0;
	overflow:visible;
	min-height: 260px;
}

/* Retira Padding do conteudo dos Tabs*/
.ui-tabs, .ui-tabs .ui-tabs-panel{padding:0 !important;}

/* Opções com Icone  */

a.options{
	background-color:#f9f9f9;
	border-radius:2px;
	font-size:1rem;
	color:#666;
	padding:5px;
	margin:5px;
	margin-left: auto;
	text-align:left;
	margin-top:0;
	line-height: 3;
	box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 2px 1px -1px rgba(0, 0, 0, 0.12);
	float:right;
}

a.options i{
	margin-right:5px;
}

a.options:hover{
	text-decoration:none;
	background-color:var(--bs-primary);
}

a.options.active{
	border: 2px solid var(--bs-primary);
}

a.options:hover,
a.options:hover i.material-icons{
	color:whitesmoke;
}

/* Opções com Icone  */

fieldset.opcoes {
	clear:right;
	float:right;
	box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);
	border-radius:4px;
	border:1px solid #d0d1d5;
	background-color:#f9f9f9;
}

fieldset.opcoes legend {
	font-weight:bold;
	font-size:16px;
	text-transform:capitalize;
	color:#FFFFFF;
	background-color:var(--bs-primary);
	box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);
	border-radius:4px;
	border:1px solid #d0d1d5;
	padding:2px;
}

/* LOADING */

div#loading {
	text-align:center;
	vertical-align:middle;
	z-index:105;
	animation: w10bk 4s infinite;
}

div#loading .lds-ripple {
	margin:160px;
	display: inline-block;
	position: relative;
	width: 4rem;
	height: 4rem;
}

div#loading .lds-ripple div {
  position: absolute;
  border: 0.25rem solid #fff;
  opacity: 1;
  border-radius: 50%;
  animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}

div#loading .lds-ripple div:nth-child(2) {
  animation-delay: -0.5s;
}

div#loading p {
	font-size: 1rem;
	color:whitesmoke;
}

/** FIM LOADING **/

footer{
	clear:both;
	font-size:14px;
	margin:5px auto;
	padding:5px;
	border-top:1px solid #CCC;
 	width:auto;
	background-color:#FFF;
	margin-top: 3rem;
}

/* Links */

a, a:visited {
	text-decoration:none;
	color: var(--bs-primary);
}

a:hover {
	text-decoration:underline;
}

/* Paragrafos */

p {
	margin:1px;
	padding:1px;
	line-height:1.7;
}

p.center{
	text-align: center;
}

/* Mensagens - Sucesso, Insucesso, Informação */

div.sucess,
div.sucess_f {
	background: var(--bs-green);
	background-image:  url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAQAAAD9CzEMAAAAhklEQVRYhe2VwQmAMBAE8/ZtHenO91VmEdaRIlYRkQRzD8mtIOz8bwaSC0lJCCG+BRkLV18AGFcPUqLSMwLSSy/92+EZKzJTvx1jxU+M6adTDz8xfPawe7yTCLlaPxG2Of1E6GI+E+F73yYoz6pJcF5tlWDoOwnKZ25UfZVg6a8EUy+E+AE7LA2Z4EmeSggAAAAASUVORK5CYII=');
}

div.no_sucess {
	background: var(--bs-danger);
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAQAAAD9CzEMAAABMUlEQVRYw+2VrbHCQBRGM8zEYHBILJoCKIAK0kAqoAEqSANUQANpgALQsUgcBoGAg3kvk4T9u5u7gpkcueI7M3fFybKJH4Mdu5TzOQ0NeTrBHoB9qvkldwDuLNMIjvxzTDG/4dUKXmz0BWe6nLXnC4YUmvNzrl+CK3M9wQETB635FQ+j4MFKR3DCxkljfsvbKnizHTs/44KLC7NxghIf5Zj5BTev4MYiXlD1t9r3PlXs/JpnkODJOk5QD69hEUAdF0eCBYhDSk4jEkhD+hfHcIEspG0cJQJJSDtxDBeEh7QXRwmhIR3EUUJISA1xlFDExFGCL6SWOIZ9sj+k1jhKBK6QOuIYLrCH1BlHicAcUm8cJZhCGhBHCWVMHCUMQzqMowKVM44KdEP6HUcV6mxiQoUP30NX6978M/UAAAAASUVORK5CYII=');
}

div.alert{
	background: var(--bs-yellow);
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAQAAAD9CzEMAAABDUlEQVRYw+2XwQ3CIBSG1XjxqkcHYZO6ChPUCdopuOkk7QaaeGkH4PZ5MzFICxSeMfE7t/9XoMB7q9WfH4A1Co2h4wHAgw6DRrFeHn7kzB0fd84c08P3NFjmsDTsU+IrRkIZqeLCt7TE0rINjd9xIYULu7Cvv5LKNWAUCZPzNlFz8SeWcpqKPzAsFgwc/IJm+t3Xc9M0/l1rswisZ3dTz40+UAD1p/gNt2yCGxtXoObXL1gAyhXorALtCkxWgXEFfVZB7wqGrILBFdisAvsFQfEp6slJn/SbRmCSNloEOumoiEDJH3bFj2uBC6f4lSlw6RcvWwQKL4HSsXjxK1C+CzQgIi2UQBMo0sb+EeAJYOGJmKGu0+IAAAAASUVORK5CYII=');
}

div.info{
	background: var(--bs-cyan);
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAQAAAD9CzEMAAABD0lEQVRYw+2XwQ2CMBSG1XjxqkcH6Sa4SifACWCK3nQS2EATLzBAb583E1MLbWmfMfE7w/9B4bXvrVZ/fgDWKDSGjgcADzoMGsV6efiRM3d83DlzTA/f02CZw9KwT4mvGAllpIoL39ISS8s2NH7HhRQu7MKe/koq14C3SFict4Waiz+xlNNU/IFhsWDg4Bc00/e+rpum8VetzSKwnuqmnnv7QAHUn+I33LIJbmxcgSInyhXorALtCkxWgXEFfVZB7woCSiz4I8PgCmxWgf2CoPgS9VkFfdJvGiEwSYUWIdBJW0WEQMlvdsW3a4EDp/iRKXDoF29bBBovgdaxePMr0L4LDCAiI5TAECgyxv4R4AkFkImYwc2fsgAAAABJRU5ErkJggg==');
}

div.sucess,
div.alert,
div.sucess_f,
div.no_sucess,
div.info {
	padding:1.5rem 1.5rem 1.5rem 3rem;
	margin:0.5rem;
	max-width:480px;
	border-radius: 5px;
	-moz-border-radius: 5px;
	box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);
	color:#FFFFFF;
	background-size: 2rem;
	background-position: 0.5rem;
	background-repeat: no-repeat;
}

div.alert.fixed,
div.sucess.fixed,
div.sucess_f.fixed,
div.no_sucess.fixed,
div.info.fixed{
	position:fixed;
	bottom:0;
	left:50%;
	margin-left:-300px;
}

/* Headers */

:is(h1,h2,h3,h4,h5) > i.material-icons{
	font-size: inherit;
	vertical-align: bottom;
	margin: 1px;
	color:var(--bs-heading-color);
}

fieldset > legend{
	font-size: 1.25rem;
	text-align: center;
}

fieldset.toptions{
	border:none;
	float: right;
}

fieldset a i.material-icons{
	margin: 2px;
	padding: 2px;
	font-size: 32px;
}

/* Formuláios */

form {
	background-color:#f9f9f9;
	margin:0 auto;
	padding:4px;
	width:auto;
	color:#333;
    box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 2px 1px -1px rgba(0, 0, 0, 0.12);
	border-radius:2px;
    vertical-align: middle;
}

form fieldset{
	border: 1px #CCCCCC solid;
	width: max-content;
	min-width: 480px;
	padding: 0;
	margin-top: 0.25rem;
}

form input:not(.ui-spinner-input,.guardar):hover,
form :is(select,textarea):hover{
	border:1px solid #8dc9e5;
}

form :is(input,select,textarea,button,a.btn){
	border:1px solid #CCC;
	max-width:240px;
	font-size:1em;
	margin:0.35rem;
	margin-left: 2px;
    line-height:1.75rem;
}

form :is(input,textarea,button,a.btn){
	padding: 0.25rem;
}

form select{
	padding:0.75rem;
}

input.ui-spinner-input{
	margin-right: 2rem !important;
}

form input[type='checkbox']{
	margin: 1rem 0.5rem;
	transform: scale(1.25);
}

form input[type='checkbox'] + label:not(.form-label){
	text-align: left;
}

form label:not(.form-label){
	width: 9rem;
	text-align: right;
	font-weight: bold;
	padding: 0.25rem;
	vertical-align: top;
	/*overflow "..." */
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	margin: 0.4rem;
  	line-height: 1.75rem;
}

form label:not(.form-label) + :is(a,div,span,input,select,textarea,button){
	display: inline-block;
}

form label:not(.form-label) + span{
	line-height: 3rem;
}

span.ui-spinner{
	display: inline-block !important;
	margin: 0 !important;
	background:initial !important;
	border: initial !important;
}

form a.options{
	float: none;
	display: inline-block !important;
}

form input[type='checkbox'] + span {
	cursor: pointer;
	font-weight: bold;
	margin-left: 4px;
}

form p,
form > a{
	padding:2px;
	vertical-align:text-top;
}

form input.submit,
form input[type="submit"],
form button:not(.btn), button:not(.btn){
	text-transform:capitalize;
	background-color: var(--bs-primary);
	color: #fff;
	border: 2px solid transparent;
	cursor: pointer;
	display: inline-block;
	box-sizing: border-box;
	padding: 0.5rem;
	vertical-align: middle;
	text-align: center;
	min-width: 10rem;
}

form :is(input,button).guardar{
	background-color: var(--bs-green);
}

form input.error{
	border: var(--bs-danger) 1px solid !important;
}

form :is(input,select,i,a) + a > i.material-icons,
form :is(input,select,i,a) + i.material-icons{
	font-size: 2rem;
	vertical-align: middle;
}

button > i.material-icons{
	color:white;
	margin-right: 0.5rem;
	cursor: pointer;
}

input[type="submit"][disabled] {
	background-color:#CCC;
	color:#999;
	border:1px solid #999;
}

form input.submit:hover,
form input[type="submit"]:hover,
button:hover{
	filter: brightness(85%);
}

form input[type="button"].danger,
form input[type="submit"].danger,
form submit.danger,
button.danger{
	background-color: var(--bs-danger);
}

form br{
	clear: both;
}

form input.data,
form input.mes{
	text-align:center;
}

form input.data {width:7.25rem;}
form input.mes {width:4.5rem;}
form input[type='date']{
	width: 8rem;
	/* desliga datepicker nativo do Safari, pois fica duplicado com o jquery-ui*/
	-webkit-appearance: none;
}

form input[readonly]:not(.data,.mes),
form select[readonly],
form textarea[readonly],
form input.readonly,
form button[disabled],
form select.readonly{
	border-color:#efeded;
	cursor: not-allowed;
}

form > p{
	line-height: 2.5rem;
}

form button i.material-icons{
	font-size: 1.5rem;
}

/*
Ficha - A descontinuar (utilizar .container)
*/

form.ficha{
	display: grid;
	grid-template-columns: 1fr 400px;
}

form.ficha > div > div.stats{
	grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr));
}

form.ficha > div > div.stats > div.stat > span.numero{
	font-size: 3.5rem;
}

form.ficha > div > div.stats > div.stat > span.numero > a{
	text-align: center;
}

form.ficha > div > div.stats > div.stat > span{
	display: flex;
	color:#212121;
	justify-content: center;
	align-items: flex-start;
}

/* Separadores */

ul.separador {
 	zoom: 1;
	margin:0;
	padding:0;
	text-align:right;
	list-style-type: none;
	margin: 0 0 -1px 0;
	padding: 0;
	position: relative;
	top: 1px;
}

ul.separador li {
	float:right;
}

ul.separador li a {
	border-top-left-radius:8px;
	border-top-right-radius:8px;
	border: 1px solid #66ccff;
	display: block;
	margin-left: 10px;
	padding: 8px 13px;
	background-color:#65cbff;
	color:#FFFFFF;
	font-weight:bold;
}

ul.separador li a:hover, ul.separador li a.actual {
	background-color:#fafbfc;
	border-bottom:#fafbfc;
	text-decoration:none;
	color:#333333;
}

/* BOX */

div.box{
	box-shadow: 0 0 4px 0 rgba(0,0,0,.04);
	border-width: 0;
	padding:2px !important;
	background-color:#FFF;
	margin: 5px auto !important;
}

div.box h3 {
	margin:0 auto;
	margin-bottom:5px;
	padding:0px;
	line-height:2.5;
	font-weight: 400;
	text-indent:10px;
	border-radius:2px;
	width:100%;
	color:#333;
}

div.box :is(h3,h4){
	font-size:1.25rem;
	background-color: #f5f5f5;
}

div.box h4{
	margin-top:10px;
	margin-bottom:0;
}

div.box > h3 > a{
	float: right;
	margin:10px;
}

div.box:hover {
	box-shadow: 0 0 4px 2px rgba(0,0,0,.2);
}

div.box:hover>h3{
	background-color: rgb(230, 230, 230);
	color: black;
}

/* STATS */

div.stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
  	row-gap: 0.25rem;
	width: -moz-available;
}

div.stats > :not(.stat){
	grid-column: 1 / -1;
}

div.stats div.stat {
	border-left:0.125rem solid rgba(0, 0, 0, 0.1);
	padding:0.25rem;
	padding-left:0.5rem;
	margin: 0;
}

div.stats div.stat:hover,
div.stats div.stat.hover{
	border-left:0.250rem solid var(--bs-primary);
	padding-left:0.375rem;
	background-color:white;
}

div.stats div.stat span.numero {
	font-size:2em;
	display: flex;
	align-items: flex-start;
}

div.stats div.stat span.numero a{
	flex: 1 auto;
}

div.stats div.stat span.numero sup{
	font-size:0.5em;
	position: relative;
	line-height:3em;
}

div.stats div.stat span.percent{
	font-size:0.8rem;
	min-width: 1.5rem;
	color: white;
	border-radius:0.2rem;
	padding:0.125rem;
	text-align:center;
	height: fit-content;
}

div.stats div.stat span.percent.green{
	background-color: var(--bs-green);
}

div.stats div.stat span.percent.red{
	background-color: var(--bs-danger);
}

div.stats div.stat span.percent.yellow{
	background-color: var(--bs-yellow);
}

div.stats div.stat span.numero a{display: inline-block;}

div.stats div.stat span.numero,
div.stats div.stat span.numero a,
div.stats div.stat span.numero a:hover {
	color:#333333;
	text-decoration:none;
	text-align: left;
}

div.stats div.stat span.loading {
	color:darkgray;
}

div.stats div.stat:hover span.numero,
div.stats div.stat:hover span.numero a,
div.stats div.stat:hover span.numero a:hover {
	color: var(--bs-primary);
}

div.stats div.stat p{
	text-align: left;
}

div.stats div.stat p a i {
	color:#ececec;
	margin:0.25rem;
	font-size: 1.5rem;
}

div.stats div.stat:hover p a i {
	color:gray;
}

div.stats div.stat p a:hover i {
	color:var(--bs-primary);
}

div.stats div.stat:hover span.legenda, div.stats div.stat:hover span.legenda a, div.stats div.stat:hover span.legenda a:hover {
	color:#000000;
}

div.stats div.stat span.legenda {
    display: block;
	font-size:0.625rem;
	text-align:left;
	text-justify:inter-word;
}

div.stats div.stat span.unidade {
    display: block;
	font-size:0.625rem;
	text-align:left;
	font-style: italic;
	color:gray;
	min-height:1rem;
}

div#menu_lateral,
div#registos{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
	grid-gap: 20px;
	margin: 0 auto;
}

a.registo{
	background-color:whitesmoke;
	border:3px solid var(--bs-primary);
	cursor:pointer;
}

a.registo p i{
	color:#CCCCCC;
	font-size:140px;
	cursor: pointer;
}

a.registo:hover{
	text-decoration:none;
}

a.registo:hover p i{
	color:var(--bs-primary);
}

a.registo p{
	text-align:center;
	margin:0 auto;
	color:#666666;

}

a.registo p.legenda{
	font-style:oblique;
}

a.registo:hover p.titulo{
	color:var(--bs-primary);
}

a.registo p.titulo{
	font-weight:bold;
	font-size:24px;
}

a.registo:hover p.legenda{
	color:#000;
}

button:is(.ui-button){
	min-width: initial !important;
	background-color: initial !important;
}

span.ui-spinner + *:not(.ui-spinner,br){
	margin: 0.5rem;
}

input.ui-spinner-input{
	padding: 0.1rem;
}

/* Resultados de Autocomplete */
ul.ui-menu.ui-widget.ui-widget-content.ui-autocomplete.ui-front{
	font-size: 2em !important;
	/*width: auto !important;*/
}

@media screen and (max-width: 767px) {

	form label:not(.form-label){
		text-align: left;
		min-width: unset;
		width: 100%;
		margin: 0;
		border-top: 1px solid #eeeeee;
		padding-left: 0.5rem;
	}
	
	form :is(textarea,input:visible,select,button,span,i) + :is(textarea,input:visible,select,button),
	form label:not(.form-label) + :is(span,div) > :is(textarea,input:visible,select,button){
		margin-left: 0 !important;
	}

	form input[type='checkbox'] + label:not(.form-label){
		width: auto;
		padding: 0;
		padding-left: 0.5rem;
		line-height: 2.8rem;
		max-width: 12rem;
	}

	form :is(input:not([type='checkbox'],[type='submit'],[type='button'],[type='reset'],input[size],.data,.mes,[type='date']),textarea){
		max-width: 75vw;
		width: 75%;
		padding: 0.5rem;
	}

	.material-icons{text-rendering: optimizeLegibility};
	form#pesquisa_rapida{left:0};
	form#pesquisa_rapida:has(input[name='search']:not([style*="display: none"],[style*="display:none"])){width: 100vw};
	form#pesquisa_rapida input[name="search"]{width: 23.75rem};

	form input.data{width: 8rem};
	form input[type="date"]{width:9rem};

	form fieldset{
		width: auto;
	}
	

}

/* Touch Devices */
@media (hover: none){

}

@media screen and (max-width: 835px) {
	form.ficha{
		grid-template-columns: 1fr;
	}
}

@media print {
	.no_print,
	a.options,
	ul.sm-clean {display: none !important}
	form.ficha{grid-template-columns: 1fr}
}

/* Animações */

@keyframes w10bk {
	0%,100% {background-color: rgb(0, 71, 124)}
	50% {background-color: rgb(54, 162, 235)}
}

@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}

@keyframes bounce {
	0%, 40%, 100% {
		transform: rotateZ(0);
	}
	15% {
	transform: rotateZ(-15deg);
	}
	20% {
	transform: rotateZ(10deg);
	}
	25% {
	transform: rotateZ(-10deg);
	}
	30% {
	transform: rotateZ(6deg);
	}
	35% {
	transform: rotateZ(-4deg);
	}
}

@keyframes lds-ripple {
	0% {
	  top: 28px;
	  left: 28px;
	  width: 0;
	  height: 0;
	  opacity: 1;
	}
	100% {
	  top: -1px;
	  left: -1px;
	  width: 58px;
	  height: 58px;
	  opacity: 0;
	}
  }

