/*

.seletor {
    [fonte e propriedades de texto]
    [plano de fundo]
    [tamanho]
    [bordas]
    [espaçamentos]
    [posicionamento]
}

@keyframes
Global (reset, corpo da pagina, estilo padrão para ancoras, parágrafos, listas, etc.)
Cabeçalho da página
Estrutura da página
Rodapé
Estilos de títulos
Estilos de texto
Navegação
Formulários
Extras ou Miscelâneas


*/

/* Keyframes */
	@keyframes carregando {
		0% {
			animation-timing-function: cubic-bezier(0.5856,0.0703,0.4143,0.9297);
	   		transform: rotate(0);
	   	}
	   	100% {
	   		transform: rotate(360deg);
	   	}
	}

/* Global */

	*, *::before, *::after {
	    -webkit-appearance: none;
	    -webkit-box-sizing: border-box;
	    -webkit-text-size-adjust: none;
	    -moz-box-sizing: border-box;
	    -moz-appearance: none;
	    appearance: none;
	    box-sizing: border-box;
	    text-size-adjust: none;
	    font-family: Arial;	    
	}

	html.fonteMenor {
		font-size: 11.4px;
	}

	html.fontePadrao {
		font-size: 13.4px;
	}

	html.fonteMaior {
		font-size: 15.4px;
	}

	@media screen and (max-width: 768px) {
		html.fonteMenor {
			font-size: 13.2px;
		}

		html.fontePadrao {
			font-size: 15.2px;
		}

		html.fonteMaior {
			font-size: 17.2px;
		}
	}

	body {
	    line-height: 1.5;	    
	    margin: 0;
	    padding: 0;
	}

	body.clara {
		background-color: #EBEDEF;
	}

	body.escura {
		background-color: #0A0B18;
	}

	@media screen and (max-width: 768px) {
		body.login {
			background-color: #FFFFFF;
			height: 100%;
			min-height: 500px;
			position: absolute;
			width: 100%;
		}
	}

	@media screen and (max-width: 768px) {
	   	body.scrollMobileDisable {
	   		height: 100%;
	   		max-height: 100vh;
			overflow: hidden;
		}
	}

	body.scrollDisable {
   		height: 100%;
   		max-height: 100vh;
		overflow: hidden;
	}

	a {
		text-decoration: none;
	}

	ul.input-info {
		background-color: #F0F8FF;
		border: 1px solid #C8D9E7;
		display: inline-block;
		font-size: 0.9rem;
		list-style: none;
		margin: 0.5rem 0 2rem;
		padding: 8px;
	}

	ul.select-info {
		display: inline-block;
		font-size: 0.9rem;
		list-style: none;
		margin: 0.5rem 0 2rem;
		padding: 0;
	}

	.clearfix::before, .clearfix::after {
	    content: " ";
	    display: table;
	}
	.clearfix::after {
	    clear: both;
	}

	.clicavel {
		cursor: pointer;
	}

	div#carregamento {
		display: block;
		font-size: 36px;
		height: 100vh;
		left: 0;
		position: fixed;
		top: 0;
		width: 100vw;
		z-index: 9;
	}

	body.clara div#carregamento {
		background: rgba(0, 0, 0, 0.2);
	}

	body.escura div#carregamento {
		background: rgba(0, 0, 0, 0.6);
	}

	@media screen and (max-width: 768px) {
		div#carregamento {
			font-size: 24px;
		}
	}

	div#carregamento-icone {
		animation: carregando 1s infinite linear;		
		border-radius: 50%;
	    color: #00A7F0;
	    display: block;
	    left: 50%;
	    height: 1em;
	    margin: -0.8em 0 0 -0.8em;
	    padding: 0.8em;
	    position: relative;
	    top: 50%;
	    width: 1em;
	}

	body.clara div#carregamento-icone {
		background-color: #FFFFFF;
	}

	body.escura div#carregamento-icone {
		background-color: #2C2C34;
	}

	@media screen and (max-width: 768px) {
		div#carregamento-icone {
			top: 45px;
		}
	}

	div#carregamento-icone::after {
		backface-visibility: hidden;
		border: .5em solid currentColor;
    	border-left-color: transparent;
		border-radius: 50%;
		content: " ";
	    display: block;
	    height: 2em;	    
	    transform-origin: -1em -1em;
	    transform: translateZ(0) scale(0.5);
	    width: 2em;    
	}

/* Formulários */

	div.label {
		display: block;
		position: relative;
		width: 100%;
	}

	div.label::before {
		content: attr(data-label);		
		font-size: 0.9rem;	
		left: 0;
		max-width: 100%;
		overflow: hidden;
		padding: 0;
		position: absolute;
		text-overflow: ellipsis;
		top: 0.2rem;
		white-space: nowrap;
	}

	body.clara div.label::before {
		color: #999999;
	}

	body.escura div.label::before {
		color: #768192;
	}

	div.label.input::before {
		font-size: 1rem;
		top: 1.85rem;
		transition: all 0.2s;
	}

	div.label.recolher::before {
		font-size: 0.9rem;
		top: 0.2rem;
		transition: all 0.2s;
	}

	div.label + div.label {
		margin-top: 2rem;
	}

	div.label[data-erro="true"]::before {		
		background: url("data:image/svg+xml;base64,PHN2ZyBpZD0iQ2FwYV8xIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MjQuMjM1IDUyNC4yMzUiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgNTI0LjIzNSA1MjQuMjM1IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im0yNjIuMTE4IDBjLTE0NC41MyAwLTI2Mi4xMTggMTE3LjU4OC0yNjIuMTE4IDI2Mi4xMThzMTE3LjU4OCAyNjIuMTE4IDI2Mi4xMTggMjYyLjExOCAyNjIuMTE4LTExNy41ODggMjYyLjExOC0yNjIuMTE4LTExNy41ODktMjYyLjExOC0yNjIuMTE4LTI2Mi4xMTh6bTE3LjA1IDQxNy42MzljLTEyLjQ1MyAyLjA3Ni0zNy4yMzIgNy4yNjEtNDkuODE1IDguMzAzLTEwLjY1MS44ODItMjAuNzAyLTUuMjE1LTI2LjgyOS0xMy45NjctNi4xNDMtOC43NTEtNy42MTUtMTkuOTUtMy45NjgtMjkuOTk3bDQ5LjU0Ny0xMzYuMjQyaC01MS41MTVjLS4wNDQtMjguMzg5IDIxLjI1LTQ5LjI2MyA0OC40ODUtNTcuMjc0IDEyLjk5Ny0zLjgyNCAzNy4yMTItOS4wNTcgNDkuODA5LTguMjU1IDcuNTQ3LjQ4IDIwLjcwMiA1LjIxNSAyNi44MjkgMTMuOTY3IDYuMTQzIDguNzUxIDcuNjE1IDE5Ljk1IDMuOTY4IDI5Ljk5N2wtNDkuNTQ3IDEzNi4yNDJoNTEuNDk5Yy4wMSAyOC4zNTYtMjAuNDkgNTIuNTY0LTQ4LjQ2MyA1Ny4yMjZ6bTE1LjcxNC0yNTMuODE1Yy0xOC4wOTYgMC0zMi43NjUtMTQuNjcxLTMyLjc2NS0zMi43NjUgMC0xOC4wOTYgMTQuNjY5LTMyLjc2NSAzMi43NjUtMzIuNzY1czMyLjc2NSAxNC42NjkgMzIuNzY1IDMyLjc2NWMwIDE4LjA5NS0xNC42NjggMzIuNzY1LTMyLjc2NSAzMi43NjV6IiBmaWxsPSIjZmYwMDAwIi8+PC9zdmc+") no-repeat;
	    background-size: 14px;
	    background-position: 0 2px;
	    color: red;
	    padding-left: 20px;
	}

	input[type="text"],
	input[type="password"] {
		background-color: transparent;
		border: 0;
		border-bottom: 1px solid #CCCCCC;
		border-radius: 0;		
		display: inline-block;
		font-size: 1.04rem;
		height: 4rem;
		outline: 0;
		padding: 1.2rem 0 0 0;
		position: relative;
		width: 100%;
	}

	body.clara input[type="text"],
	body.clara input[type="password"] {
		color: #000000;
	}

	body.escura input[type="text"],
	body.escura input[type="password"] {
		color: #FFFFFF;
	}

	input[type="text"]:read-only,
	input[type="text"]:disabled,
	input[type="password"]:read-only {
		border-bottom: 1px dashed #CCCCCC;
	}

	input[type="text"]:focus,
	input[type="password"]:focus {
		border-bottom: 2px solid #3483FA;
	}

	input[type="text"]:read-only:focus,
	input[type="password"]:read-only:focus {
		border-bottom: 1px dashed #CCCCCC;
	}

	input[type="text"][data-valido="false"],
	input[type="password"][data-valido="false"] {
		border-bottom-color: #FF5A5F;
	}

	input[type="checkbox"] {
		background: linear-gradient(to left, #FFFFFF 0%, #FFFFFF 50%, #CCCCCC 51%, #CCCCCC 100%);
		border: 1px solid #CCCCCC;
		border-radius: 0;
		height: 1.5rem;
		margin: 0 0 0 10px;
		outline: none;
		width: 3rem;
	}

	@media screen and (max-width: 768px) {
		input[type="checkbox"] {
			height: 2rem;
			width: 4rem;
		}
	}

	@media screen and (min-width: 769px) {
		input[type="checkbox"]:focus {
			outline: 1px solid #FFFF00;
		}
	}

	input[type="checkbox"]:checked {
		background: linear-gradient(to right, #FFFFFF 0%, #FFFFFF 50%, #3483FA 51%, #3483FA 100%);
	}

	input[type="checkbox"]:disabled {
		background: linear-gradient(to right, #FFFFFF 0%, #FFFFFF 50%, #CCCCCC 51%, #CCCCCC 100%);
	}

	div.label-input-checkbox {
		align-items: center;
		border-bottom: 1px solid #E4E4E4;
		display: flex;
    	justify-content: space-between;
		padding: 15px 0;		
	}

	div.label-input-checkbox:last-of-type {
		border-bottom: none;
	}

	span.checkbox {
		font-size: 1rem;
		line-height: 1.3rem;
		width: 100%;
	}

	select {
		background-color: transparent;
		background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E');
	    background-position: right bottom 1.1rem;
	    background-repeat: no-repeat, repeat;
	    background-size: .65rem auto, 100%;		
		border: 0;
		border-bottom: 1px solid #CCCCCC;
		border-radius: 0;
	    display: inline-block;
	    font-size: 1.04rem;
		height: 4rem;
		max-width: 100%;
		outline: 0;
		padding: 1.2rem 2rem 0 0;
	}

	body.clara select {
		color: #000000;
	}

	body.escura select {
		color: #FFFFFF;
	}

	select + select {
		margin-left: 15px;
	}

	select:focus {
		border-bottom: 2px solid #3483FA;
	}

	select[data-valido="false"] {
		border-bottom-color: #FF5A5F;
	}

	select#hora,
	select#minuto {
		background-image: none;
		padding: 1.2rem 1em 0 1em;
	}

	select#hora + select#minuto {
		margin-left: 0;
	}

	textarea {
		background-color: transparent;
		border: 1px solid #CCCCCC;
		border-radius: 0;
		display: inline-block;
		font-size: 1.04rem;
		height: auto;
		margin: 2rem 0 0 0;
		min-height: 10rem;
		outline: 0;
		padding: 7px;
		resize: none;
		width: 100%;
	}

	body.clara textarea {
		color: #000000;
	}

	body.escura textarea {
		color: #FFFFFF;
	}

	textarea:focus {
		border: 2px solid #3483FA;
	}

	textarea[data-valido="false"] {
		border-color: #FF5A5F;
	}


/*@media print {
	* {		
		color: #000 !important;
		font-size: 12px !important;
	}
	body {
		position: static !important;
		visibility: hidden !important;
	}
	h1 {
		font-size: 1.4rem !important;
	}
	h2 {
		font-size: 1.1rem !important;
	}
	#expandir {
		height: auto !important;
		padding: 0 !important;
		top: 0 !important;
	}
	#expandir .expandir_box .barra {
		display: none !important;
	}
	#expandir_conteudo {
		padding: 0 !important;
		visibility: visible !important;    
	}
	#expandir .expandir_box #expandir_conteudo .caixaBotoes {
		visibility: hidden;
	}            
}*/

/* Página de Login */

	@media screen and (max-width: 768px) {
		div.login-body-container {
			display: block;
			margin: 0;
			padding: 7px;
			width: 100%;
		}
	}

	@media screen and (min-width: 769px) {
		div.login-body-container {
			align-items: center;
			display: flex;
			height: 100vh;
		    justify-content: center;
			margin: 0;
			min-height: 500px;
			padding: 20px;
			width: 100vw;
		}
	}

	div.login-logo-container {
		align-items: center;		
		display: flex;
		justify-content: center;
	}

	@media screen and (max-width: 768px) {
		div.login-logo-container {
			background-color: #FFFFFF;
			margin: 2rem 0 0.5rem 0;
			width: 100%;
		}
	}

	@media screen and (min-width: 769px) {
		div.login-logo-container {
			background-color: #303C50;
			border-bottom-left-radius: 5px;
			border-top-left-radius: 5px;		    
		    box-shadow: 0 1px 1px 0 rgba(60,75,100,.14),
		    			0 2px 1px -1px rgba(60,75,100,.12),
		    			0 1px 3px 0 rgba(60,75,100,.2);
			height: 350px;
			max-width: 300px;
			width: 50%;
		}
	}

	@media screen and (max-width: 768px) {
		div.login-logo-img::after {
			background: url("../galeria/logo/meucfcnominativa-registrada-300x63.png") no-repeat;
			background-position: center center;
			background-size: 149px 31px;
			content: " ";
			display: block;
			height: 50px;
			width: 160px;
		}
	}

	@media screen and (min-width: 769px) {
		div.login-logo-img::after {
			background: url("../galeria/logo/meucfcregistrada-white-500x297.png") no-repeat;
			background-position: center center;
			background-size: 200px 118.8px;
			content: " ";
			display: block;
			height: 128.8px;
			width: 210px;  
		}
	}

	div.login-container {
		align-items: center;
		background-color: #FFFFFF;
		display: flex;		
		justify-content: center;		
	}

	@media screen and (max-width: 768px) {
		div.login-container {
			padding: 0 calc(10px + 5%);
			width: 100%;
		}
	}

	@media screen and (min-width: 769px) {
		div.login-container {
			border-bottom-right-radius: 5px;
			border-top-right-radius: 5px;    		
			box-shadow: 0 1px 1px 0 rgba(60,75,100,.14),
						0 2px 1px -1px rgba(60,75,100,.12),
						0 1px 3px 0 rgba(60,75,100,.2);
			height: 350px;
			max-width: 450px;
			width: 50%;
		}
	}

	form.login-form {
		width: 70%;
	}

	@media screen and (max-width: 768px) {
		form.login-form {
			width: 100%;
		}
	}

	div.login-bemvindo-container {
		font-weight: bold;
		margin-bottom: 2rem;
		width: 100%;
	}

	h1.login-bemvindo {
		font-size: 1.4rem;
		line-height: 1.5rem;
		margin: 0;
	}

	@media screen and (max-width: 768px) {
		h1.login-bemvindo {
			font-weight: normal;
			text-align: center;
		}
	}

	div.login-avisotermosprivacidade {
		display: none;
		font-size: 0.8rem;
		margin: 2rem 0;
		text-align: center;
	}

	@media screen and (max-width: 768px) {
		div.login-avisotermosprivacidade {
			display: block;
		}
	}

	div.login-avisotermosprivacidade a {
		color: #1A73E8;
		outline: none;
	}

	div.login-esqueceuasenha {
		padding: 1rem 0;
	}

	div.login-esqueceuasenha a {
		color: #1A73E8;
		cursor: pointer;
		font-size: 0.9rem;
		outline: none;
	}

	@media screen and (min-width: 769px) {
		div.login-esqueceuasenha a:hover,
		div.login-esqueceuasenha a:focus {
			outline: 2px solid #FFFF00;
		}
	}

	div.login-rodape-container {
	    font-size: 1rem;
		padding: 2rem 0;
	    text-align: center;
	    width: 100%;
	}

	@media screen and (max-width: 768px) {
		div.login-rodape-container {
			display: none;
		}
	}

	@media screen and (min-width: 769px) {
		div.login-rodape-container {
			bottom: 0;
		    left: 0;
		    padding: 20px;
		    position: absolute;
		}
	}

	@media screen and (min-width: 769px) and (max-height: 500px) {
		div.login-rodape-container {
			display: none;
		}
	}

	div.login-rodape-container a {
		color: #000000;
		font-size: 0.8rem;
		outline: none;
		padding: 0 10px;
	}

	@media screen and (max-width: 768px) {
		div.login-rodape-container a {
			display: block;
			padding: 0.5rem;
		}
	}

	@media screen and (min-width: 769px) {
		div.login-rodape-container a:last-of-type {
			border-left: 1px solid #CCCCCC;
		}

		div.login-rodape-container a:hover,
		div.login-rodape-container a:focus {
			text-decoration: underline;
		}
	}

/* Barra Superior */

	div.barra-topo {
		align-items: flex-start;		
		box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.1);
		display: flex;
		height: 60px;
		left: 0;
		position: fixed;
		top: 0;
		transition: margin-left 0.3s;
		width: 100%;
		z-index: 4;
	}

	body.clara div.barra-topo {
		background-color: #FFFFFF;
		border-bottom: 1px solid #DADADA;
	}

	body.escura div.barra-topo {
		background-color: #2C2C34;
		border-bottom: 1px solid #181924;
	}

	@media screen and (max-width: 768px) {
		div.barra-topo {
			margin-left: 0;
		}
		div.barra-topo-acompanha {
			margin-left: 300px;
		}
	}

	@media screen and (min-width: 769px) {
		div.barra-topo {
			margin-left: 260px;
		}
		div.barra-topo-acompanha {
			margin-left: 0;
		}
	}

	div.barra-topo-esq {
		align-items: center;
		display: flex;
		flex-direction: row;
		height: 60px;		
		justify-content: center;
	}

	div.barra-topo-esq a.barra-topo-botao-menu {
		align-items: center;
		cursor: pointer;
		display: flex;
		justify-content: center;
		height: 60px;
		outline: none;
		text-align: center;
		width: 60px;
	}

	@media screen and (min-width: 769px) {
		body.clara div.barra-topo-esq a.barra-topo-botao-menu:focus {
			background-color: #E4F7FF;
		}

		body.escura div.barra-topo-esq a.barra-topo-botao-menu:focus {
			border: 2px solid #321FDB;
		}
	}

	div.barra-topo-esq a.barra-topo-botao-menu svg {
		fill: currentColor;
		height: 20px;
		width: auto;
	}

	body.clara div.barra-topo-esq a.barra-topo-botao-menu svg {
		color: rgba(0, 0, 21, 0.5);
	}

	body.escura div.barra-topo-esq a.barra-topo-botao-menu svg {
		color: #FFFFFF;
	}

	div.barra-topo-esq div.barra-topo-logo {
		align-items: center;
		display: flex;
		justify-content: center;
		height: 60px;
		text-align: center;
		width: auto;
	}

	div.barra-topo-esq div.barra-topo-logo a.barra-topo-logo-img {
		outline: none;
	}

	@media screen and (min-width: 769px) {
		div.barra-topo-esq div.barra-topo-logo a.barra-topo-logo-img {
			cursor: pointer;
		}
	}

	div.barra-topo-esq div.barra-topo-logo a.barra-topo-logo-img::after {
	    background-position: center 18px;
	    background-repeat: no-repeat;
	    background-size: 81.2px 18.4px;
		content: " ";
		display: block;
		height: 60px;
		width: 90px;
	}

	body.clara div.barra-topo-esq div.barra-topo-logo a.barra-topo-logo-img::after {
		background-image: url("../galeria/logo/meucfcnominativa-300x68.png");
	}

	body.escura div.barra-topo-esq div.barra-topo-logo a.barra-topo-logo-img::after {
		background-image: url("../galeria/logo/meucfcnominativa-perola-300x68.png");
	}

	div.barra-topo-dir {
		align-items: center;
		display: flex;
		flex-direction: row;
		height: 60px;		
		justify-content: center;
		position: fixed;
		right: 0;
		white-space: nowrap;
		text-align: right;
	}

	@media screen and (max-width: 768px) {
		div.barra-topo-dir {		
			position: absolute;
		}
	}

	div.barra-topo-dir div.barra-topo-usuario-container {
		display: flex;
		flex-direction: column;
	}

	body.clara div.barra-topo-dir div.barra-topo-usuario-container {
		color: #000000;
	}

	body.escura div.barra-topo-dir div.barra-topo-usuario-container {
		color: #FFFFFF;
	}

	div.barra-topo-dir div.barra-topo-usuario-legenda {
		display: block;	 
		font-size: 0.7rem;   
	    line-height: 0.8rem;	    
	    width: 100%;
	}

	div.barra-topo-dir div.barra-topo-usuario-nome {
		display: block;
		font-size: 1rem;
		font-weight: bold;
	    line-height: 1rem;
	    width: 100%;    
	}

	div.barra-topo-dir a.barra-topo-usuario-icone {			
		background-position: center center;
		background-repeat: no-repeat;
		background-size: 20px auto;
		border-radius: 50%;	
		cursor: pointer;	
		display: flex;
		height: 40px;
		margin: 0 10px;
		outline: none;
		width: 40px;
	}

	body.clara div.barra-topo-dir a.barra-topo-usuario-icone {
		background-color: #F9F9F9;	
		background-image: url("../galeria/icones/svg/usuario-menu-flutuante-clara.svg");
	}

	body.escura div.barra-topo-dir a.barra-topo-usuario-icone {
		background-color: #0A0B18;	
		background-image: url("../galeria/icones/svg/usuario-menu-flutuante-escura.svg");
	}

	@media screen and (min-width: 769px) {
		body.clara div.barra-topo-dir a.barra-topo-usuario-icone:hover,
		body.clara div.barra-topo-dir a.barra-topo-usuario-icone:focus {
			background-color: #E4F7FF;
		}

		body.escura div.barra-topo-dir a.barra-topo-usuario-icone:hover,
		body.escura div.barra-topo-dir a.barra-topo-usuario-icone:focus {
			border: 2px solid #321FDB;
		}
	}

	div.barra-topo-dir div.barra-topo-usuario-menuflutuante {
		background-color: #FFFFFF;
		border-radius: 4px;
		box-shadow: 0px 0px 2px 0px rgba(102,102,102,0.9);
		display: none;
		min-width: 280px;
		position: absolute;
		right: 10px;
		top: 55px;
		user-select: none;
	}

	div.barra-topo-dir div.barra-topo-usuario-menuflutuante-show {
		display: block;		
	}

	div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-fonte {
		display: block;
		padding: 10px 0;
		width: 100%;
	}

	div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-fonte-titulo {
		display: block;
		font-size: 1rem;
		line-height: 25px;
		text-align: center;
		width: 100%;
	}

	div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-fonte-container {
		display: flex;
		flex-direction: row;
		justify-content: center;
		margin: 10px 0;
		width: 100%;
	}

	div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-fonte-container-esq {
		display: flex;
		flex-direction: row;
    	justify-content: flex-end;
	}

	div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-fonte-container-centro {
		align-items: center;
		display: flex;
		flex-direction: row;
		font-size: 0.8rem;
    	justify-content: center;
    	line-height: 1.1rem;
        padding: 0 10px;
        text-align: center;
        user-select: none;
	}

	div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-fonte-container-dir {
		display: flex;
		flex-direction: row;
    	justify-content: flex-start;
	}

	div.barra-topo-dir div.barra-topo-usuario-menuflutuante a.menuflutuante-fonte-aumenta,
	div.barra-topo-dir div.barra-topo-usuario-menuflutuante a.menuflutuante-fonte-diminui {
		background-color: #F9F9F9;
		border: 1px solid #EEEEEE;
		border-radius: 50%;		
		display: flex;
		outline: none;
		padding: 10px;
	}

	@media screen and (min-width: 769px) {
		div.barra-topo-dir div.barra-topo-usuario-menuflutuante a.menuflutuante-fonte-aumenta,
		div.barra-topo-dir div.barra-topo-usuario-menuflutuante a.menuflutuante-fonte-diminui {
			cursor: pointer;
		}
	}

	div.barra-topo-dir div.barra-topo-usuario-menuflutuante a.menuflutuante-fonte-aumenta:hover,
	div.barra-topo-dir div.barra-topo-usuario-menuflutuante a.menuflutuante-fonte-aumenta:focus,
	div.barra-topo-dir div.barra-topo-usuario-menuflutuante a.menuflutuante-fonte-diminui:hover,
	div.barra-topo-dir div.barra-topo-usuario-menuflutuante a.menuflutuante-fonte-diminui:focus {
		background-color: #E1E1E1;
		border-color: #E1E1E1;
	}

	div.barra-topo-dir div.barra-topo-usuario-menuflutuante a.menuflutuante-fonte-aumenta svg,
	div.barra-topo-dir div.barra-topo-usuario-menuflutuante a.menuflutuante-fonte-diminui svg {
		height: 9px;
		width: auto;
	}

	div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-aparencia {
		border-top: 1px solid #DDDDDD;
		display: block;
		padding: 10px 0;
		width: 100%;
	}

	div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-aparencia-titulo {
		display: block;
		font-size: 1rem;
		line-height: 25px;
		text-align: center;
		width: 100%;
	}

	div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-aparencia-container {
		display: flex;
		flex-direction: row;
		justify-content: space-evenly;
		margin: 10px 0;
		width: 100%;
	}

	div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-aparencia-clara,
	div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-aparencia-escura {
		display: flex;
		flex-direction: row;
    	justify-content: flex-end;
	}

	div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-aparencia-clara a,
	div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-aparencia-escura a {
		align-items: center;
		border-radius: 5px;
		display: flex;
		flex-direction: column;
		font-size: 0.9rem;
		padding: 10px 20px;
		outline: none;
	}

	div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-aparencia-clara a input[type="radio"],
	div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-aparencia-escura a input[type="radio"] {
		border: 1px solid #AEAEAE;
		border-radius: 50%;
		height: 20px;
		outline: none;
		width: 20px;
	}

	@media screen and (min-width: 769px) {
		div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-aparencia-clara a input[type="radio"],
		div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-aparencia-escura a input[type="radio"] {
			cursor: pointer;
		}
	}

	div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-aparencia-clara a input[type="radio"]:checked,
	div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-aparencia-escura a input[type="radio"]:checked {
		background-color: #0075FF;
		background-image: url("../galeria/icones/svg/input-radio-checked.svg");
		background-position: 2px 3px;
		background-repeat: no-repeat;
		background-size: 13px auto;
    	border-color: #0075FF;
	}

	@media screen and (min-width: 769px) {
		div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-aparencia-clara a,
		div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-aparencia-escura a {
			cursor: pointer;
		}
	}

	div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-aparencia-clara a:hover,
	div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-aparencia-clara a:focus,
	div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-aparencia-escura a:hover,
	div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-aparencia-escura a:focus {
		background-color: #E1E1E1;
	}

	div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-aparencia-clara a svg,
	div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-aparencia-escura a svg {
		height: 50px;
		width: auto;
	}

	div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-opcoes {
		border-top: 1px solid #DDDDDD;
		display: block;		
		padding: 5px 0;
		width: 100%;
	}

	div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-opcoes a {
		align-items: center;		
		color: #000000;
		display: flex;
		flex-direction: row;
		font-size: 1rem;
		line-height: 35px;
		outline: none;
		padding: 0 15px;
	}

	@media screen and (min-width: 769px) {
		div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-opcoes a:hover,
		div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-opcoes a:focus {
			background-color: #E1E1E1; 
		}
	}

	div.barra-topo-dir div.barra-topo-usuario-menuflutuante div.menuflutuante-opcoes a svg {
		fill: #777777;
		height: 15px;
		margin-right: 10px;
		width: auto;
	}

/* Menu Lateral */

	nav.menu-lateral {
		box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.1);
		color: #666;
		font-size: 1rem;
		height: 100%;		
		min-height: 100vh;
		overflow: hidden;
		position: fixed;
		top: 0;		
		z-index: 5;
	}

	body.clara nav.menu-lateral {
		background-color: #3C4B64;
	}

	body.escura nav.menu-lateral {
		background-color: #2C2C34;
	}

	@media screen and (max-width: 768px) {
		nav.menu-lateral {
			left: 0;
			margin-left: -300px;		
			transition: margin-left 0.3s;
		}

		nav.menu-lateral-visivel {			
			margin-left: 0;
		}
	}

	@media screen and (min-width: 769px) {
		nav.menu-lateral {
			left: 0;
			margin-left: 0;			
			transition: margin-left 0.3s;
		}

		nav.menu-lateral-visivel {
			margin-left: -260px;
		}
	}	

	nav.menu-lateral .menu-lateral-logo {
		align-items: center;		
		box-shadow: 0px 0px 1px 0px rgba(0, 0, 0, 0.8);
		display: flex;
		justify-content: center;
		height: 60px;
		position: sticky;
		text-align: center;
		top: 0;
		width: 100%;
		z-index: 6;
	}

	body.clara nav.menu-lateral .menu-lateral-logo {
		background-color: #303C50;
	}

	body.escura nav.menu-lateral .menu-lateral-logo {
		background-color: #0A0B18;
	}

	nav.menu-lateral .menu-lateral-logo svg {
		height: 25px;
		margin-left: -20px;
		width: auto;
	}

	nav.menu-lateral a {
		color: rgba(255, 255, 255, 0.7);
		user-select: none;
	}

	div.menu-lateral-container {		
	    max-height: 100vh;
	    overflow-y: scroll;	    
	}

	@media screen and (max-width: 768px) {
		div.menu-lateral-container {
			width: 300px;
		}
	}

	@media screen and (min-width: 769px) {
		div.menu-lateral-container {
			margin-right: -20px;
			width: 280px;
		}
	}

	section.menu-lateral-conjunto {
		width: 100%;
	}

	@media screen and (max-width: 768px) {
		section.menu-lateral-conjunto:last-of-type {
			margin-bottom: 102px;
		}
	}

	@media screen and (min-width: 769px) {
		section.menu-lateral-conjunto:last-of-type {
			margin-bottom: 51px;
		}
	}

	a.menu-lateral-opcoes {
		align-items: center;
		cursor: pointer;	
		display: flex;
		outline: none;			
		transition: background .3s;
		width: 100%;
	}

	@media screen and (min-width: 769px) {
		a.menu-lateral-opcoes:hover,
		a.menu-lateral-opcoes:focus {
			background-color: #321FDB;						
			transition: background .3s;
		}
	}

	span.menu-lateral-opcoes-icone {
		display: flex;
		height: 51px;
		justify-content: center;
		text-align: center;
		width: 60px;
	}

	@media screen and (max-width: 768px) {
		span.menu-lateral-opcoes-icone {
			height: 61px;
			width: 64px;
		}
	}

	span.menu-lateral-opcoes-icone > svg {
		color: rgba(255, 255, 255, 0.7);
		fill: currentColor;
		height: auto;
		width: 20px;
	}

	p.menu-lateral-opcoes-texto,
	p.menu-lateral-opcoes-meucfc {								
		display: flex;
		margin: 0;
	}

	p.menu-lateral-opcoes-meucfc::after {
		content: " ";
		background: url("../galeria/logo/meucfcnominativa-white-300x68.png"), no-repeat;
	    background-position: left center;
	    background-repeat: no-repeat;
	    background-size: 57.4px 13px;
	    content: "";
	    height: 15px;
	    opacity: 0.8;
	    width: 66.2px;
	}

	@media screen and (max-width: 768px) {
		p.menu-lateral-opcoes-meucfc::after {
			background-size: 68px 15.4px;
			height: 17.4px;
	   		width: 76.8px;
		}
	}

	a.menu-lateral-lista {
		position: relative;
	}

	a.menu-lateral-lista::before,
	a.menu-lateral-lista::after {
		content: '';
		display: block;
		width: 10px;
		height: 2px;
		background: #999999;
		position: absolute;
		cursor: pointer;
		-webkit-transition: -webkit-transform .2s ease-out;
		-o-transition: transform .2s ease-out;
		transition: transform .2s ease-out;
		transition: transform .2s ease-out,-webkit-transform .2s ease-out;
		pointer-events: none;
	}

	a.menu-lateral-lista::before {
		transform: rotate(45deg); 
		top: 50%; 
		right: 32px;
		margin-top: -1px;
	}

	a.menu-lateral-lista::after {
		transform: rotate(-45deg);
		top: 50%;
		right: 26px;
		margin-top: -1px;
	}			

	div.menu-lateral-subopcoes {
		background: rgba(0,0,0,.2);
		box-shadow: 0px 0px 1px 0px rgba(0, 0, 0, 0.8);
		max-height: 0;
		overflow: hidden;
		transition: max-height .6s ease-in-out;
	}

	div.menu-lateral-subopcoes-show {
		max-height: 1500px;
		transition: max-height .6s ease-in-out;
	}

	a.menu-lateral-subopcoes-itens {
		display: flex;
		line-height: 51px;
		padding-left: 60px;
		outline: none;
		transition: background .3s;
	}

	@media screen and (max-width: 768px) {
		a.menu-lateral-subopcoes-itens {
			padding-left: 65px;
		}
	}

	@media screen and (min-width: 769px) {
		a.menu-lateral-subopcoes-itens:hover,
		a.menu-lateral-subopcoes-itens:focus {
			background-color: #321FDB;
			cursor: pointer;			
			transition: background .3s;
		}
	}

/* Posiciona o conteúdo do include */

	div.conteudo {
		display: block;
		margin-top: 60px;		
		transition: margin-left 0.3s;
	}

	@media screen and (max-width: 768px) {
		div.conteudo {
			margin-left: 0;
			padding: 7px;
		}
	}

	@media screen and (min-width: 769px) {
		div.conteudo {
			margin-left: 260px;
			padding: 24px;
		}
	}

	div.conteudo-acompanha {
		margin-left: 0;
	}

	div.conteudo-container {
		max-width: 1000px;
	}

	@media screen and (max-width: 768px) {
		div.conteudo-container {
			max-width: 100%;
			width: 100%;				
		}
	}

/* Blocos de conteudo */

	div.c-linha {		
		width: 100%;
	}

	@media screen and (max-width: 768px) {
		div.c-linha {
			display: block;
		}
	}

	@media screen and (min-width: 769px) {
		div.c-linha {
			align-items: flex-start;
			display: flex;
		}
	}

	div.c-linha + div.c-linha {
		margin-top: 2rem;
	}

	div.c-bloco {
		border-radius: 3px;
		box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.1);
		display: block;
	    padding: 0;
	    width: 100%;
	}

	body.clara div.c-bloco {
		background-color: #FFFFFF;
	}

	body.escura div.c-bloco {
		background-color: #23242D;
	}

	@media screen and (max-width: 768px) {
		div.c-bloco + div.c-bloco {
			margin-top: 2rem; 
		}
	}

	@media screen and (min-width: 769px) {
		div.c-bloco + div.c-bloco {
			margin-left: 2rem;
		}
		div.c-bloco-meio {
			max-width: calc(50% - 1rem);
		}
	}

	div.c-bloco .c-bloco-titulo {
		border-bottom: 1px solid #DDDDDD;
		display: block;
		font-size: 1.1rem;
		font-weight: bold;
	}

	body.clara div.c-bloco .c-bloco-titulo {
		background-color: #FFFFFF;
		color: #3C4B64;
	}

	body.escura div.c-bloco .c-bloco-titulo {
		background-color: #20202A;
		border-color: #0A0B18;
		color: #768192;
	}


	@media screen and (max-width: 768px) {
		div.c-bloco .c-bloco-titulo {
			padding: 13px; 
		}
		div.c-bloco .c-bloco-conteudo {
			padding: 13px; 
		}
		div.c-bloco .c-bloco-botao-box {
			padding: 13px;
		}
	}

	@media screen and (min-width: 769px) {
		div.c-bloco .c-bloco-titulo {
			padding: 12px 24px;
		}
		div.c-bloco .c-bloco-conteudo {
			padding: 24px; 
		}
		div.c-bloco .c-bloco-botao-box {
			padding: 0 24px 24px 24px;
		}
	}

	div.c-bloco a.c-bloco-botao-extendido {
		align-items: center;
		color: #3483FA;
	    border: 1px solid #DDDDDD;
	    border-radius: 3px;
	    cursor: pointer;
	    display: flex;
	    font-size: 1rem;
	    height: 40px;
	    justify-content: space-between;
	    outline: none;
	    padding: 0 10px;
	}

	@media screen and (min-width: 769px) {
		div.c-bloco a.c-bloco-botao-extendido:focus,
		div.c-bloco a.c-bloco-botao-extendido:hover {
			border-radius: 0;
	    	outline: 2px solid #FFFF00;
		}
	}

	div.c-bloco a.c-bloco-botao-extendido div.c-bloco-botao-extendido-texto {
		overflow: hidden;
		white-space: nowrap;    
	}

	div.c-bloco a.c-bloco-botao-extendido div.c-bloco-botao-extendido-svgcontainer {
		margin-left: 10px;
	}

	div.c-bloco a.c-bloco-botao-extendido div.c-bloco-botao-extendido-svgcontainer svg {
		fill: none;
		height: auto;
		stroke: #3483FA;
		transform: rotate(270deg);
		width: 16px;
	}

	div.c-bloco span.c-bloco-conteudo-label::before {
		content: attr(data-label) ":";
		
		font-size: 0.9rem;
		display: block;
		width: 100%;
	}

	body.clara div.c-bloco span.c-bloco-conteudo-label::before {
		color: #999999;
	}

	body.escura div.c-bloco span.c-bloco-conteudo-label::before {
		color: #768192;
	}

	div.c-bloco span.c-bloco-conteudo-label {
		display: block;
		font-size: 1rem;
		margin-top: 10px;
		width: 100%;
	}

	body.clara div.c-bloco span.c-bloco-conteudo-label {
		color: #000000;
	}

	body.escura div.c-bloco span.c-bloco-conteudo-label {
		color: #E1E1E1;
	}

/* Menu lista rem bloco  */
	
	div.ml-bloco {
		background-color: transparent;
		border-radius: 3px;
		display: block; 
	}

	@media screen and (max-width: 768px) {
		div.ml-bloco {			
			width: 100%;
		}
		div.c-bloco + div.ml-bloco {
			margin-top: 2rem;
		}
	}

	@media screen and (min-width: 769px) {
		div.ml-bloco {			
			width: 400px;
		}
		div.c-bloco + div.ml-bloco {
			margin-left: 2rem;
		}
	}

	a.ml-links {
		align-items: center;
		background-color: #FFFFFF;    
	    border: 1px solid #E5E5E5;
	    border-radius: 3px;
	    box-shadow: 0 1px 1px rgba(0,0,0,.04);
	    color: #23282D;
	    cursor: pointer;
	    display: flex;
	    font-size: 1rem;
	    font-weight: bold;
	    height: 51px;
	    justify-content: space-between;
	    letter-spacing: 0.4px;
	    outline: none;
	    padding: 0 16px;  
	    width: 100%;
	}

	a.ml-links + a.ml-links {
		margin-top: 0.5rem;
	}

	@media screen and (min-width: 769px) {
		a.ml-links:hover,
		a.ml-links:focus {
			border-radius: 0;
			outline: 2px solid #FFFF00;
		}
	}

	a.ml-links div.ml-links-texto {
		overflow: hidden;
		white-space: nowrap;
	}

	a.ml-links svg {
		fill: #72777C;
		height: 18px;
		margin-left: 16px;
		width: auto;
	}

/* Janela expansível */

	div#expandir {	
		height: 100%;		
		overflow: hidden;
		right: 0;
		position: fixed;
		top: 0;
		z-index: 7;
	}

	body.clara div#expandir {
		background-color: #FFFFFF;
		color: #000000;
	}

	body.escura div#expandir {
		background-color: #0A0B18;	
		color: #E1E1E1;
	}

	@media screen and (min-width: 769px) {
		div#expandir {
			box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.1);
		}
	}

	div#expandir .expandir-botao-fechar {
		background-color: transparent;
		position: absolute;
		right: 0;
		top: 0;
	}

	div#expandir .expandir-botao-fechar a {
	    display: block;
	    height: 45px;				    
	    padding: 15px;
	    outline: none;
	    width: 45px;
	}

	@media screen and (min-width: 769px) {
		body.clara div#expandir .expandir-botao-fechar a:focus {
			background-color: #E4F7FF;
		}

		body.escura div#expandir .expandir-botao-fechar a:focus {
			background-color: #2E2F38;
		}

		div#expandir .expandir-botao-fechar a:focus svg {
			fill: #3483FA;
		}
	}

	div#expandir .expandir-botao-fechar a svg {
		fill: #999999;
	}	

	div#expandir-conteudo {
		display: block;
		height: 100%;
		max-height: 100vh;
		overflow-y: scroll;
		white-space: nowrap;
		width: 0;
		transition: all 0.3s;
		-webkit-overflow-scrolling: touch;
	}

	@media screen and (min-width: 769px) {
		div#expandir-conteudo {			
			margin-right: -20px;
		}

		body.clara div#expandir-conteudo {
			border-left: 1px solid #DDDDDD;
		}

		body.escura div#expandir-conteudo {
			border-left: 1px solid #2C2C34;
		}
	}

	div#expandir-conteudo.expandirsubir {
		padding: 20px 20px 70px 20px;
		width: 450px;
		transition: all 0.3s;
	}

	@media screen and (max-width: 768px) {
		div#expandir-conteudo.expandirsubir {
			width: calc(100vw);
		}
	}

	div#expandir-conteudo h2 {
		color: #000000;
		display: inline-block;
		font-size: 1.4rem;
		font-weight: bold;
		letter-spacing: 0.1px;
		line-height: 1.4rem;
		margin: 0 0 30px 0;
		padding-right: 50px;
		text-align: left;
		white-space: normal;
	}

/* Tabela que exibe os dados dentro da janela expansível */

	table.tabela-janela-expandir {
		display: block;
		font-size: 1rem;
		white-space: normal;
		width: 100%;
	}

	table.tabela-janela-expandir tbody {
		display: block;
		text-align: left;
	}

	@media screen and (max-width: 768px) {
		table.tabela-janela-expandir tbody {
			text-align: left;
		}
	}

	table.tabela-janela-expandir tr {
		display: inline-block;
		padding: 10px 20px;
	}

	@media screen and (max-width: 768px) {
		table.tabela-janela-expandir tr {
			display: block;
			padding: 10px 0;
			width: 100%;
		}
	}

	table.tabela-janela-expandir tr.quebralinha {
		display: block;
		padding: 0;
	}

	table.tabela-janela-expandir tr td {
		text-align: left;
	}
	@media screen and (max-width: 768px) {
		table.tabela-janela-expandir tr td {
			display: block;
			width: 100%;
		}
	}

	@media screen and (min-width: 769px) {
		table.tabela-janela-expandir td:first-of-type {
			float: left;
			font-size: 0.9rem;
		}
	}

	@media screen and (max-width: 768px) {
		table.tabela-janela-expandir td:first-of-type {
			color: #9A9A99;
			font-size: 0.9rem;
		}
	}

	@media screen and (min-width: 769px) {
		table.tabela-janela-expandir td:last-of-type {
			clear: both;
			float: left;
		}
	}

	table.tabela-janela-expandir a {
		color: #1A73E8;
		cursor: pointer;
		font-size: 0.9rem;
		outline: none;
	}

	@media screen and (min-width: 769px) {
		table.tabela-janela-expandir a:hover,
		table.tabela-janela-expandir a:focus {
			outline: 2px solid #FFFF00;
		}
	}

/* Barra inferior e botões da janela expansível */

	div.expandir-barra-inferior {
		align-items: center;			
		box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.1);
		bottom: 0;
		display: flex;
		font-size: 1rem;
		justify-content: space-evenly;
		left: 0;
		position: absolute;
		text-align: center;
		width: 100%;
	}

	body.clara div.expandir-barra-inferior {
		background-color: #FFFFFF;
		border-top: 1px solid #DDDDDD;
	}

	body.escura div.expandir-barra-inferior {
		background-color: #20202A;
		border-top: 1px solid #2C2C34;
	}

	@media screen and (min-width: 769px) {
		body.clara div.expandir-barra-inferior {
			border-left: 1px solid #DDDDDD;
		}

		body.escura div.expandir-barra-inferior {
			border-left: 1px solid #2C2C34;
		}
	}

	a.expandir-barra-inferior-botoes {		
		cursor: pointer;
		display: inline-block;
		outline: none;
		padding: 15px;
		white-space: nowrap;
	}

	body.clara a.expandir-barra-inferior-botoes {
		color: #777777;
	}

	body.escura a.expandir-barra-inferior-botoes {
		color: #768192;
	}

	body.clara a.expandir-barra-inferior-botoes svg {
		fill: #999999;
	}

	body.escura a.expandir-barra-inferior-botoes svg {
		fill: #768192;
	}

	@media screen and (min-width: 769px) {
		body.clara a.expandir-barra-inferior-botoes:focus {
			background-color: #E4F7FF;
		}

		body.escura a.expandir-barra-inferior-botoes:focus,
		body.escura a.expandir-barra-inferior-botoes:hover {
			background-color: #2E2F38;
		}

		body.clara a.expandir-barra-inferior-botoes:focus svg,
		body.clara a.expandir-barra-inferior-botoes:hover svg {
			fill: #000000;
		}
	}

	span.expandir-barra-inferior-botoes-icone {
		float: left;
		margin: 2px 5px 0 0;
		width: 15px;
	}

/* Caixa de diálogo - Exibe mensagem e botão OK */

	div#caixadialogo-ok {
		background: rgba(0, 0, 0, 0.5);
		display: none;
		font-size: 1rem;
		height: 100%;
		left: 0;
		position: fixed;
		top: 0;
		width: 100%;
		z-index: 8;
	}

	div#caixadialogo-ok div.caixadialogo-ok-container {
		background-color: #FFFFFF;
		border-radius: 10px;
		box-shadow: 0px 0px 2px 0px rgba(102,102,102,0.9);
		height: auto;
		left: 50%;
		margin-left: -125px;
		margin-top: -50px;
		position: fixed;
		top: 50%;
		width: 250px;
	}

	div#caixadialogo-ok div.caixadialogo-ok-container div#caixadialogo-ok-mensagem {
		display: block;		
		line-height: 1.1rem;
		overflow: hidden;
		padding: 30px 20px;	
		text-align: center;			
		white-space: normal;
		width: 100%;
	}

	div#caixadialogo-ok div.caixadialogo-ok-container button#caixadialogo-ok-botao,
	div#caixadialogo-ok div.caixadialogo-ok-container button#caixadialogo-ok-cancelar {
		background-color: #FFFFFF;
		border: 0;
	    border-top: 1px solid #DDDDDD;
	    border-top-left-radius: 0;
	    border-top-right-radius: 0;
	    border-bottom-left-radius: 10px;
	    border-bottom-right-radius: 10px;
		color: #000000;
		cursor: pointer;
		display: block;
		font-size: 1em;
		line-height: 40px;	
		outline: none;		
		text-align: center;
		width: 100%;
	}

	div#caixadialogo-ok div.caixadialogo-ok-container button#caixadialogo-ok-cancelar {
		display: none;
	}

	div#caixadialogo-ok div.caixadialogo-ok-container button#caixadialogo-ok-botao:hover,
	div#caixadialogo-ok div.caixadialogo-ok-container button#caixadialogo-ok-botao:focus,
	div#caixadialogo-ok div.caixadialogo-ok-container button#caixadialogo-ok-cancelar:hover,
	div#caixadialogo-ok div.caixadialogo-ok-container button#caixadialogo-ok-cancelar:focus {
		color: #3483FA;
	}

/* Calendário input data */

	div.calendario-botao {
		align-items: center;
		bottom: 0;		
		cursor: pointer;
		display: flex;
		font-size: 1.2rem;
		height: 2.8rem;
		justify-content: center;
		left: 165px;
		position: absolute;
		width: 35px;
		z-index: 1;
	}

	div.calendario-botao svg {
		fill: #999999;
		height: auto;
		width: 1.2rem;		
	}

	div.calendario-botao:hover svg {
		fill: #666666;	
	}

	div.calendario-container {
		background-color: #FFFFFF;
		border: 1px solid #CCCCCC;
		box-shadow: 0 1px 1px 0 rgba(60,75,100,.14),
					0 2px 1px -1px rgba(60,75,100,.12),
					0 1px 3px 0 rgba(60,75,100,.2);
		font-size: 1rem;
		margin-top: 5px;
		padding: 20px;
		position: absolute;
		width: 266px;
		z-index: 3;
	}

	div.calendario-container .calendario-linha {
		display: block;
		margin: 5px 0;
		white-space: nowrap;
	}

	div.calendario-container .calendario-linha * {
		display: inline-block;
	}

	div.calendario-container .calendario-linha .calendario-titulo {
		font-weight: 600;
		height: 32px;
		line-height: 32px;
	}

	div.calendario-container .calendario-linha .calendario-mes,
	div.calendario-container .calendario-linha .calendario-ano {
		color: #000000;
		cursor: pointer;
	}

	div.calendario-container .calendario-linha .calendario-mes:hover,
	div.calendario-container .calendario-linha .calendario-ano:hover {
		color: #E91E63;
	}

	div.calendario-container .calendario-linha .calendario-anterior,
	div.calendario-container .calendario-linha .calendario-proximo {
		border-radius: 50%;
		cursor: pointer;
		float: right;
		height: 32px;
		margin-left: 10px;
		text-align: center;
		width: 32px;
	}

	div.calendario-container .calendario-linha a.calendario-anterior svg,
	div.calendario-container .calendario-linha a.calendario-proximo svg {
		fill: #999999;
		height: auto;
		margin-top: 7px;
		width: 16px;		
	}

	div.calendario-container .calendario-linha a.calendario-anterior:hover svg,
	div.calendario-container .calendario-linha a.calendario-proximo:hover svg {
		fill: #000000;
	}

	div.calendario-container .calendario-linha .calendario-meses {
		color: #999999;
		height: 56px;
		line-height: 56px;
		text-align: center;
		width: 56px;
	}

	div.calendario-container .calendario-linha .calendario-meses a {
		border: 1px solid transparent;
		border-radius: 50%;
		color: #000000;
		cursor: pointer;
		height: 54px;
		line-height: 48px;
		padding: 2px;
		width: 54px;
	}

	div.calendario-container .calendario-linha .calendario-meses a:hover {
		background-color: #EEEEEE;
	}

	div.calendario-container .calendario-linha .calendario-meses a.atual {
		background-color: #E91E63;
		color: #FFFFFF;
	}

	div.calendario-container .calendario-linha .calendario-diadasemana {
		color: #999999;
		height: 32px;
		line-height: 32px;
		text-align: center;
		width: 32px;
	}

	div.calendario-container .calendario-linha .calendario-dia {
		line-height: 32px;
		text-align: center;
		width: 32px;
	}

	div.calendario-container .calendario-linha .calendario-dia a {
		border: 1px solid transparent;
		border-radius: 50%;
		color: #000000;
		cursor: pointer;
		height: 30px;
		line-height: 24px;
		padding: 2px;
		width: 30px;
	}

	div.calendario-container .calendario-linha .calendario-dia a:hover {
		background-color: #EEEEEE;
	}

	div.calendario-container .calendario-linha .calendario-dia a.hoje {
		background-color: #E91E63;
		color: #FFFFFF;
	}

	div.calendario-container .calendario-linha .calendario-dia a.selecionada {
		border-color: #E91E63;
	}

	div.calendario-container .calendario-linha .calendario-vazio {
		line-height: 32px;
		text-align: center;
		width: 32px;
	}

	div.calendario-container .calendario-linha .calendario-vazio::before {
		content: " ";
		border: 1px solid transparent;
		border-radius: 50%;
		color: #000000;
		cursor: pointer;
		height: 30px;
		line-height: 24px;
		padding: 2px;
		width: 30px;
	}

	div.calendario-container .calendario-rodape {
		display: block;
		width: 100%;
	}

	div.calendario-container .calendario-rodape a.calendario-hoje {
		color: #E3165B;
		cursor: pointer;
		float: right;
		font-weight: bold;
		line-height: 30px;
		padding: 0 10px;
	}

	div.calendario-container .calendario-rodape a.calendario-hoje:hover {
		background-color: #E3165B;
		color: #FFFFFF;
	}

/* Caixa input que lista as cidades */

	div.caixalista .caixalista-container {
		background-color: #FFFFFF;
		border: 1px solid #CCCCCC;
		font-size: 1rem;
		list-style: none;	
		margin: 5px 0 0 0;
		min-width: 250px;
		padding: 0;
		position: absolute;
		width: auto;
		z-index: 2;
	}

	div.caixalista .caixalista-container button {
		background-color: #FFFFFF;
		border: none;
		cursor: pointer;
		display: block;
		font-size: 1rem;
		line-height: 35px;
		outline: none;
		padding: 0 1rem;
		text-align: left;
		width: 100%;
	}

	div.caixalista .caixalista-container button:focus,
	div.caixalista .caixalista-container button:hover {
		background-color: #F5F5F5;	
	}

	div.caixalista .caixalista-container button span {
		color: #999999;
		float: right;
		margin-left: 0.5rem;
		width: 2rem;
	}

/* Tabela padrão que lista dados */
	table.listas {
		border-spacing: 0;
		font-size: 1rem;
		line-height: 1.3rem;
		padding: 0;
		text-align: left;
		width: 100%;
	}
	
	table.fixed {
		table-layout: fixed; /* Fixa proporção igual das colunas */
	}
	
	@media screen and (max-width: 768px) {
		table.listas thead {				
			display: none;
		}
	}
	
	table.listas thead tr {		
		white-space: nowrap;								
	}

	table.listas thead tr th {
		font-weight: normal;
		padding: 8px 15px 8px 15px;
	}

	body.clara table.listas thead tr th {
		color: #999999;
	}

	body.escura table.listas thead tr th {
		background-color: #2E2F38;
		color: #768192;
	}
	
	table.listas thead tr th:first-of-type {
		border-top-left-radius: 3px;
	}
	
	table.listas thead tr th:first-of-type {
	    border-top-right-radius: 3px;
	}
	
	table.listas thead tr th:last-of-type {
		border-right: none;
	}
	
	@media screen and (max-width: 768px) {
		table.listas tr {			
			display: block;
			padding: 15px 0;
		}

		body.clara table.listas tr {
			border-top: 1px solid #DDDDDD;
		}

		body.escura table.listas tr {
			border-top: 1px solid rgba(255,255,255,.1);
		}
	
		table.listas tr:first-of-type {
			border-top: none !important;
		}
	}
		
	@media screen and (min-width: 769px) {
		table.listas tr td {		
			display: table-cell;
			overflow: hidden;
			padding: 8px 15px 8px 15px;
			text-overflow: ellipsis;
			white-space: nowrap;
		}

		body.clara table.listas tr td {
			border-top: 1px solid #DDDDDD;
			color: #000000;
		}

		body.escura table.listas tr td {
			border-top: 1px solid rgba(255,255,255,.1);
			color: #E1E1E1;
		}

		table.listas tr:first-of-type td {
			border-top-width: 2px;
		}
	
		table.listas tr td.encolhe {
			max-width: 0;		  	
		  	width: 100%;
		}
	}
	
	@media screen and (max-width: 768px) {	
		table.listas tr td {
			border: 0;
			display: block;
			overflow: hidden;
			padding: 2px 5px 2px 5px;
			text-overflow: ellipsis;
			white-space: normal;
		}
	
		table.listas tr td::before {
			color: #9A9A99;
			content: attr(data-th);
			display: block;
			font-size: 0.9rem;
			padding: 5px 0 2px 0;
			white-space: nowrap;
		}
	
		table.listas tr td::after {
			color: #9A9A99;
			content: attr(data-foot);
			display: block;
			font-size: 0.9rem;
			padding: 0;
		}
	
		table.listas tr td.nomobile {
			display: none;
		}
	}
	
	table.listas tr.desativada td {
		color: #999999;
	}
	
	table.listas tr td.acoes {
		padding: 0 !important;
	}
	
	table.listas tr td:last-child {
		border-right: none;
	}
	
	table.listas tr:last-child td {
		border-bottom: none;
	}
	
	table.listas tbody tr {
		outline: none;		
	}

	@media screen and (min-width: 769px) {
		body.clara table.listas tbody tr:hover,
		body.clara table.listas tbody tr:focus {
			background-color: #E4F7FF;			
		}

		body.escura table.listas tbody tr:hover,
		body.escura table.listas tbody tr:focus {
			background-color: #0A0B18;			
		}
	}

/* Barra de paginação da tabela padrão que lista dados */
	div.barra-paginacao {
		display: block;
		font-size: 1rem;
		height: 30px;
		margin: 20px 0 0 0;
		text-align: right;
		width: 100%;
	}

	@media screen and (max-width: 768px) {
		div.barra-paginacao {
			text-align: center;
		}
	}

	div.barra-paginacao-contador {
		display: inline-block;
		line-height: 30px;
	}

	div.barra-paginacao-numeros {
		color: #999999;
		display: table-cell;		
	}

	div.barra-paginacao-anterior,
	div.barra-paginacao-proximo {
		display: inline-block;
	}

	@media screen and (max-width: 768px) {
		div.barra-paginacao-anterior {
			float: left;
		}
		div.barra-paginacao-proximo {
			float: right;
		}
	}

	@media screen and (min-width: 769px) {
		div.barra-paginacao-contador + div,
		div.barra-paginacao-anterior + div {
			margin-left: 10px;
		}
	}

	a.barra-paginacao-anterior-botao,
	a.barra-paginacao-proximo-botao {
		border-radius: 50%;
		display: inline-block;
		fill: #666666;
		height: 30px;
		padding: 10px;
	}

	a.barra-paginacao-anterior-botao-ativo,
	a.barra-paginacao-proximo-botao-ativo {
		cursor: pointer;
		fill: #000000;
	}

	body.clara a.barra-paginacao-anterior-botao-ativo,
	body.clara a.barra-paginacao-proximo-botao-ativo {
		background-color: #F4F4F4;
	}

	body.escura a.barra-paginacao-anterior-botao-ativo,
	body.escura a.barra-paginacao-proximo-botao-ativo {
		background-color: #2C2C34;
	}

	@media screen and (min-width: 769px) {
		body.clara a.barra-paginacao-anterior-botao-ativo:focus,
		body.clara a.barra-paginacao-proximo-botao-ativo:focus {
			border-radius: 0;
			outline: 2px solid #FFFF00;
		}

		body.escura a.barra-paginacao-anterior-botao-ativo:focus,
		body.escura a.barra-paginacao-proximo-botao-ativo:focus {
			background-color: #321FDB;
			outline: none;
		}
	}

	a.barra-paginacao-anterior-botao svg {
		display: block;
		height: 10px;
		width: 10px;
	}

	a.barra-paginacao-proximo-botao svg {
		display: block;
		height: 10px;
		width: 10px;
	}

/* Barra dos Botoes e os Botoes */
	div.barra-botoes-padrao {
		display: flex;
		margin-top: 30px;
		overflow-x: auto;
		overflow-y: hidden;
		white-space: nowrap;
		width: 100%;
	}

	@media screen and (max-width: 768px) {
		div.barra-botoes-padrao {
			display: block;
		}
		
		div.barra-botoes-padrao-sobecomteclado {
			bottom: 0;
		    left: 0;
		    margin-top: 2rem;
		    padding: calc(10px + 5%);
		    position: absolute;
		}
	}

	@media screen and (min-width: 769px) {
		div.barra-botoes-padrao {
			padding: 2px;
		}
	}

	div.barra-botoes-padrao a.botao-padrao {
		background-color: #3483FA;
		border-radius: 4px;
		color: #FFFFFF;
		cursor: pointer;
		font-size: 1rem;
		margin-right: 10px;
		outline: none;
		padding: 0.6rem 25px;
		text-align: center;
	}

	@media screen and (min-width: 769px) {
		div.barra-botoes-padrao a.botao-padrao:hover,
		div.barra-botoes-padrao a.botao-padrao:focus {
			border-radius: 0;
			outline: 2px solid #FFFF00;
		}
	}

	@media screen and (max-width: 768px) {
		div.barra-botoes-padrao a.botao-padrao {
			display: block;
			margin-right: 0;
		}
		div.barra-botoes-padrao a.botao-padrao + a.botao-padrao {
			margin-top: 15px;
		}
	}

	div.barra-botoes-padrao a.botao-padrao:hover {
		cursor: pointer;
		text-decoration: none !important;
	}

	div.barra-botoes-padrao a.botao-sotexto {
		border-radius: 0;
		color: #3483FA;
		cursor: pointer;
		font-size: 1.1rem;
		margin-right: 10px;
		outline: none;
		padding: 7px 25px;
		text-align: center;
	}

	@media screen and (min-width: 769px) {
		div.barra-botoes-padrao a.botao-sotexto:focus {
			outline: 2px solid #FFFF00;
		}
	}

	@media screen and (max-width: 768px) {
		div.barra-botoes-padrao a.botao-sotexto {
			display: block;
			margin-right: 0;
		}
		div.barra-botoes-padrao a.botao-padrao + a.botao-sotexto {
			margin-top: 15px;
		}
	}

	div.barra-botoes-padrao a.botao-sotexto:hover {
		cursor: pointer;
		text-decoration: none !important;
	}

/* Mensagem de alerta no início do conteudo-container */

	div.mensagem-informativa {
		align-items: center;		
		border-radius: 5px;
		color: #3A87AD;
		display: flex;
		font-size: 1rem;
		min-height: 45px;
		margin-bottom: 50px;
		padding: 10px;
		width: 100%;
	}

	body.clara div.mensagem-informativa {
		background-color: #E4F2F9;
	}

	body.escura div.mensagem-informativa {
		background-color: #2E2F38;
	}

	div.mensagem-informativa-icone {
		display: flex;
		margin: 0 15px 0 10px;
	}

	div.mensagem-informativa-icone svg {
		height: 25px;	    
	    width: 25px;
	}

	div.mensagem-informativa-texto {
		display: flex;
		line-height: 1.1rem;
	}

	span.mensagem-informativa-texto-negrito {
		display: contents;
		font-weight: bold;
	}

/* Botão para exibir os Logs de cada modulo */
	
	div.log-container {
		clear: both;
		color: #666666;
		display: block;
		font-size: 0.9rem;
		margin-top: 50px;
		text-align: center;
		width: 100%;
	}

	div.log-container a.log-botao {
		cursor: pointer;
		display: inline-block;
		line-height: 20px;
		outline: none;
		padding: 10px;
	}

	@media screen and (min-width: 769px) {
		body.clara div.log-container a.log-botao:hover,
		body.clara div.log-container a.log-botao:focus {
			background-color: #FFFFFF;
	    	outline: 2px solid #FFFF00;
		}

		body.escura div.log-container a.log-botao:hover,
		body.escura div.log-container a.log-botao:focus {
	    	outline: 2px solid #FFFF00;
		}
	}

	div.log-container a.log-botao svg {
		fill: #999999;
		float: left;
		height: 20px;
		margin-right: 10px;
		width: 20px;
	}

/* Exibição dos Logs na janela expansível */

	div.eventos {
		align-items: center;
		display: flex;
		flex-direction: row;
	}

	body.clara div.eventos + div.eventos {
		border-top: 1px solid #DDDDDD;
	}

	body.escura div.eventos + div.eventos {
		border-top: 1px solid #2C2C34;
	}

	div.eventos-icone {
		color: #9A9A9A;
	    display: flex;
	    flex-direction: column;
	    font-size: 0.9rem;
	    justify-content: center;
	    line-height: 1.5rem;
	    text-align: center;
	}

	div.eventos-icone svg {
		fill: #9A9A9A;
		height: 25px;
		width: 25px;
	}

	div.eventos-registro {
		line-height: 1.4rem;
		padding: 1rem;
		width: 100%;
		white-space: normal;
	}

	div.eventos-registro-data {
		color: #768192;
		display: flex;
		font-size: 0.8rem;
		justify-content: space-between;
	}

	div.eventos-registro-evento {
		font-size: 0.9rem;
	}

	div.eventos-registro-usuario {
		color: #4F5D73;
		font-size: 0.8rem;
	}