
* {
	margin: 0px;
	padding: 0px;
}

@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 100;
  src: url(fontes/Lato-Thin.ttf) format('truetype');
}

@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 100;
  src: url(fontes/Lato-ThinItalic.ttf) format('truetype');
}

@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 200;
  src: url(fontes/Lato-Light.ttf) format('truetype');
}

@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 200;
  src: url(fontes/Lato-LightItalic.ttf) format('truetype');
}

@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: url(fontes/Lato-Regular.ttf) format('truetype');
}

@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 400;
  src: url(fontes/Lato-Italic.ttf) format('truetype');
}

@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 600;
  src: url(fontes/Lato-Bold.ttf) format('truetype');
}

@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 600;
  src: url(fontes/Lato-BoldItalic.ttf) format('truetype');
}

@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 900;
  src: url(fontes/Lato-Black.ttf) format('truetype');
}

@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 900;
  src: url(fontes/Lato-BlackItalic.ttf) format('truetype');
}

body {
	font-family: 'Lato', sans-serif;
	font-size: 16px;
	font-weight: 400;
	color: #000;
	line-height: 1.6;
	background-color: #333;
	scroll-behavior: smooth; 
}

header {
	background-color: #fff; 
	color: #000;
	position: fixed; 
	width: 100%;
	top: 0;
	z-index: 1000;
	border-bottom: 1px solid #ccc;
}

header container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1000px;
	margin: 0px auto;
}

header logo {
	height: 100px;
}

header logo img {
	margin-top: 10px;
	margin-left: -17px;
	height: 80px;
}

header nav {
	display: flex;
}

header nav a {
	color: #666;
	text-decoration: none;
	margin-left: 15px;
}

header nav a:hover {
	color: #000; 
}

header nav a.active {
	color: #000; 
}

div.bodier {
	background-color: #fff;
	width: 100%;
	padding: 80px 0px;
}

section {
	max-width: 1000px;
	width: 100%;
	margin: 0px auto;
}

section h1 {
	font-size: 36px;
	font-weight: 600;
	color: #333;
	margin: 80px 0px 0px 0px;
	text-align: center;
	letter-spacing: -1px;
	line-height: 60px;
}

section h2 {
	font-size: 18px;
	font-weight: 400;
	color: #666;
	margin: 0px 0px 80px 0px;
	text-align: center;
	letter-spacing: 0px;
	line-height: 26px;
}

section h3 {
	font-size: 16px;
	font-weight: 600;
}

section li {
	margin-bottom: 10px;
}

section a {
	color: #004aad;
	text-decoration: none;
}

section a:hover {
	color: #004aff;
}
	
section .main-content {
	display: flex;
	gap: 40px;
	justify-content: space-between;
	flex-wrap: wrap;
}

section .text-section {
	flex: 1; 
	max-width: 50%;
}

section .text-section p {
	margin-bottom: 20px;
}

section .image-section {
	flex: 1;
	max-width: 50%;
}

section .image-section img {
	width: 100%;
	height: auto;
	border: 1px solid #ccc;
}

section .icon-container {
	display: flex;
	align-items: center;
}

section ul {
	list-style: none;
}

section description {
	display: block;
	color: #004aad;
}

footer {
	background-color: #333; 
	color: #f0f0f0;
	width: 100%;
	padding: 70px 0px;
	font-size: 14px;
}

footer container {
	display: flex;
	max-width: 1000px;
	margin: 0px auto;
	gap: 40px;
	justify-content: space-between;
}

footer div {
	border: 0px solid #fff;
	line-height: 25px;
}

footer div > div:first-child {
	padding: 3px 0px;
	font-weight: 600;
	letter-spacing: 0px;
}

footer a {
	color: #fff;
	text-decoration: none;
}

footer a:hover {
	color: #ccc;
}

footer div.redes_sociais {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

footer div.redes_sociais > a {
    display: flex;
    align-items: center;
    gap: 10px;
}

footer div.redes_sociais > a > svg {
    flex-shrink: 0;
}

section table.tesauros {
	border-bottom: 1px solid gray;
	border-right: 1px solid gray;
}
	
section table.tesauros td {
	padding: 10px 15px;
	border-top: 1px solid gray;
	border-left: 1px solid gray;
}

section p.justificado {
	text-align: justify;
	text-justify: inter-word;
	word-break: normal;
	word-wrap: break-word;
	hyphens: auto;
}

section p.dropcaps:first-child::first-letter {
	initial-letter: 3;
	-webkit-initial-letter: 3;
	padding-right: 8px;
	font-weight: 600;
	color: #333;
}


ul.dashed {
  margin: 0;
  list-style-type: "-";
}
ul.dashed > li {
  padding-left: 9px;
  text-indent: 0px;
  margin-bottom: 6px;
}


/*************************************/
/*              Eventos              */
/*************************************/

section table.agenda {
	text-align: center;
	vertical-align: middle;
	border-bottom: 1px solid gray;
	border-right: 1px solid gray;
	width: 100%;
	margin-top: 15px;
	background-color: #fff;
}

section table.agenda tr:first-child {
	background-color: #eee;
}
	
section table.agenda td {
	width: 142px;
	padding: 4px 4px 4px 4px;
	border-top: 1px solid gray;
	border-left: 1px solid gray;
	font-size: 14px;
}

section.memoria img {
	width: 100%; 
	height: auto; 
	border-radius: 0px;
	border: 1px solid #ccc;
	margin-bottom: 15px;
}

section.memoria .atividades {
	background-color: #E6F5DF;
}

section.memoria .aulas {
	background-color: #EEE;
}


/*************************************/
/*         Busca de padrões          */
/*************************************/

section #busca_padroes {
	font-family: 'Lato', sans-serif;
	font-size: 14px;
	width: calc(100% - 80px);
	background-color: #fff;
	padding: 30px 40px 30px 40px;
	margin: -10px 0px 40px 0px;
	border: 1px solid #bbb;
	column-count: 2;
	column-gap: 40px;
}

section #busca_padroes input[type=text] {
	font-family: 'Lato', sans-serif;
	font-size: 14px;
	padding: 8px 8px;
	width: calc(100% - 16px);
	border: 1px solid gray;
	margin-top: 5px;
}

section #busca_padroes button {
	font-family: 'Lato', sans-serif;
	font-size: 14px;
	padding: 6px 8px;
	border: 1px solid gray;
	margin: 10px 0px 0px 0px;
	
}

section #busca_padroes_mensagem {
	font-family: 'Lato', sans-serif;
	font-size: 14px;
	font-weight: 400;
    color: #666;
	margin: 10px 0px 0px 0px;
	padding-top: 2px;
	float: right;
}


/*************************************/
/*          Filtra padrões          */
/*************************************/

section #filtra_padroes_bases {
	font-family: 'Lato', sans-serif;
	font-size: 14px;
	padding: 8px 8px 7px 8px;
	width: 100%;
	border: 1px solid gray;
	margin: 4px 0px;
}


/*************************************/
/*               Padrão              */
/*************************************/

section table.padrao {
	width: 100%;
	background-color: #fff;
	padding: 30px 40px 0px 40px;
	margin-bottom: 80px;
	border: 1px solid #bbb;
	display: none;
}

section table.padrao td {
	padding: 10px 0px;
	vertical-align: top;
}

section table.padrao div.cabecalho {
	float: left;
	width: calc(100% - 100px);
}

section table.padrao div.secao {
	color: #aaa;
	text-transform: uppercase;
	font-size: 12px;
}

section table.padrao div.titulo {
	font-size: 26px; 
	font-weight: 600;
	line-height: 36px;
	color: #333;
}

section table.padrao div.identificador {
	padding: 17px 5px 17px 5px; 
	background-color: #666; 
	text-align: center;
	width: 70px; 
	height: 55px;
	float: right;
	*border-radius: 5px;
	font-family: arial;
}

section table.padrao div.identificador div:first-child {
	color: #fff; 
	font-size: 10px;
	text-transform: uppercase;
}

section table.padrao div.identificador div:nth-child(2) {
	color: #fff;
	font-size: 40px;
	font-weight: 600;
	line-height: 36px;
	padding-top: 5px;
}

section table.padrao tr.atributos td {
	column-count: 2;
	column-gap: 40px;
	padding-top: 30px;
}

section table.padrao div.conteudo {
	margin-bottom: 20px;
	text-align: justify;
	text-justify: inter-word;
	word-break: normal;
	word-wrap: break-word;
	hyphens: auto;
}

section table.padrao div.conteudo:last-child {
	margin-bottom: 0px;
}

section table.padrao img {
	margin-left: auto; 
	margin-right: auto;
	display: block;
}

section table.padrao div.separador-1 {
	padding-top: 1px;
}

section table.padrao div.separador-2 {
	padding-top: 2px;
}

section table.padrao div.separador-3 {
	padding-top: 3px;
}

section table.padrao div.separador-4 {
	padding-top: 4px;
}

section table.padrao div.separador--1 {
	margin-top: -1px;
}

section table.padrao div.separador--2 {
	margin-top: -2px;
}

section table.padrao div.separador--3 {
	margin-top: -3px;
}

section table.padrao div.separador--4 {
	margin-top: -4px;
}

section .chart,
section table.padrao div.chart {
	position: relative;
	height: 500px;
	border: 0px solid red;
}

/*************************************/
/*          Bases de dados           */
/*************************************/

.base_dados {
	background-color: #fff;
	border: 1px solid #bbb;
	padding: 20px 30px 20px 30px;
	margin-bottom: 40px;
	width: 100%;
}

.base_dados h3 {
	font-size: 20px;
}

.base_dados p.descricao {
	text-align: justify;
	word-break: normal;
	word-wrap: break-word;
	hyphens: auto;
	break-inside: avoid;
	margin-bottom: 10px;
}

.base_dados .metadados {
	margin: 0px -30px 0px -30px;
	padding: 0px 30px 0px 30px;
	display: none;
}

.base_dados .metadados p:last-child {
	margin-bottom: 10px;
}

.base_dados .label {
	color: #999;
	display: block;
}

.base_dados a {
	color: #385f91;
	cursor: pointer;
}

.base_dados .botoes {
	height: 36px;
	border: 0px solid red;
	margin: 0px 0px 0px 0px;
}

.base_dados .botao-conhecer {
	padding: 8px;
	margin: 0px;
	float: right;
	width: 20px;
	height: 20px;
}

.circle {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
  margin: 0px 0px 0px 10px;
  *float: right;
}

.green {
	background-color: #00BB00;
}

.orange {
	background-color: orange;
}

.red {
	background-color: red;
}


/*************************************/
/*       Dicionário de dados         */
/*************************************/

.dicionario_dados {
	background-color: #fff; 
	border: 1px solid #bbb; 
	padding: 30px 40px 30px 40px;
	margin-bottom: 40px; 
	display: none;
}

.dicionario_dados div.titulo {
	text-align: center;
	margin: 10px 0px 30px 0px;
	font-size: 17px;
	font-weight: 600;
}

.dicionario_dados div.conteudo {
	column-count: 2;
	column-gap: 40px;
}

.dicionario_dados div.conteudo p {
	text-align: justify;
	word-break: normal;
	word-wrap: break-word;
	hyphens: auto;
	break-inside: avoid;
	margin-bottom: 10px;
}

.dicionario_dados div.conteudo p span.descricao {
	color: gray;
}

.dicionario_dados .tag {
	padding: 3px 8px;
	border-radius: 7px;
	font-size: 12px;
	margin-left: 10px;
	white-space: nowrap;
}

.dicionario_dados .codigo {
	background-color: #f0f0f0;
	color: #333;
}

.dicionario_dados .regra_satisfeita {
	background-color: rgb(221, 250, 228);
	color: rgb(41, 88, 49);
}

.dicionario_dados .regra_nao_satisfeita {
	background-color: rgb(249, 216, 216);
	color: rgb(214, 14, 14);
}


/*************************************/
/*             Publicação            */
/*************************************/

.publicacao {
	background-color: #fff; 
	border: 1px solid #bbb; 
	*padding: 30px 26px 10px 26px; 
	padding: 30px 40px 15px 40px;
	margin-bottom: 40px; 
}

.publicacao .titulo {
	font-size: 22px; 
	margin-bottom: 8px; 
	font-weight: 600; 
	line-height: 32px;
}

.publicacao .tag {
	font-size: 11px; 
	margin-bottom: 5px; 
	padding: 3px 8px 2px 8px; 
	background-color: #004aad; 
	color: white; 
	text-transform: uppercase; 
	font-weight: 600; 
	display: inline-block; 
	border-radius: 5px;
}

.publicacao .label {
	color: #aaa;
	display: block;
}


/*************************************/
/*              Cursos               */
/*************************************/

img.cursos.slideshow {
	width: 400px;
	height: auto;
	padding: 10px;
	border: 10px solid #000;
	display: none;
}

a.cursos.botao {
	color: #333;
	font-weight: 400;
	border-radius: 25px;
	width: fit-content;
}

a.cursos.botao:hover {
	color: #000;
}

a.cursos.botao.inscrever {
	font-size: 18px;
	margin-top: 35px;
	margin-right: 30px;
	background-color: #F6D751;
	padding: 10px 40px;
	display: inline-block;
	box-shadow: 1px 1px 1px #333;
}

a.cursos.botao.inscrever:hover {
	background-color: #F0D14A;
}

a.cursos.botao.conhecer {
	font-size: 18px;
	margin-top: 35px;
	margin-right: 35px;
	background-color: #eee;
	padding: 10px 40px;
	display: inline-block;
	box-shadow: 1px 1px 1px #333;
}

a.cursos.botao.conhecer:hover {
	background-color: #e0e0e0;
}

a.cursos.botao.turma {
	font-size: 16px;
	margin-top: -10px; 
	margin-left: auto;
	background-color: #F6D751;
	padding: 6px 22px;
	display: block;
}

a.cursos.botao.turma:hover {
	background-color: #F0D14A;
}

ul.cursos.lista-travessao {
	list-style-type: none;
	padding-left: 0;
}

ul.cursos.lista-travessao li::before {
	content: "—";
	padding-right: 10px;
}

span.cursos.beneficios {
	padding: 10px;
	margin-top: 15px;
	margin-right: 15px;
	background-color: #F0D14A;
	border-radius: 20px;
	line-height: 10px;
	display: inline-block;
	font-size: 14px;
	width: 10px;
	text-align: center;
}

span.cursos.label.destaque {
	color: rgb(155, 118, 16);
	display: block;
}

span.cursos.label {
	color: #000;
	display: block;
}

input.cursos.texto {
	display: block;
	padding: 10px;
	font-size: 16px;
	margin-top: 5px;
	width: calc(100% - 23px);
	outline: none;
	border: 1px solid #ccc;
}

.publicacao.cursos.aberto {
	cursor: pointer;
}

.publicacao.cursos.aberto:hover {
	border: 3px solid #F0D14A;
	padding: 28px 38px 13px 38px;
}

.publicacao.cursos.fechado {
	cursor: default;
}

.publicacao.cursos.fechado a.cursos.botao.turma {
	background-color: #ccc;
}

select.cursos {
	padding: 10px;
	font-size: 16px;
	width: 400px;
	margin-top: 5px;
	outline: none;
}

span.cursos.mensagem {
	float: left;
	width: 270px;
	height: 50px;
	display: flex;
    align-items: center;
	margin-top: -18px;
	color: red;
	border: 0px solid red;
}

span.cursos.mensagem.loading {
    background-image: url('imagens/loading.gif');
    background-repeat: no-repeat;
    background-position: center;
    background-size: auto 50px;
    color: transparent;
	float: none;
	width: calc(100% - 4px);
	height: 46px;
}

p.justificado.cursos.resultado {
    display: none;
    align-items: top;
    gap: 1.0rem;
}

p.justificado.cursos.resultado .icone {
    width: 25px;
    height: 25px;
    flex-shrink: 0;
}


/*************************************/
/*             Softwares             */
/*************************************/

div.softwares.slideshow.principal {
	height: 290px; 
	padding: 100px 0px 65px 0px; 
	margin-bottom: 0px; 
	border-bottom: 1px solid rgba(108, 75, 9, 0.5); 
	background-color: rgba(138, 95, 9, 0.10);
}

section.softwares.slideshow {
	height: 100%;
}

div.softwares.slideshow.esquerda {
	float: left; 
	width: 50%;
}

div.softwares.slideshow.direita {
	float: right; 
	width: 50%; 
	height: 605px; 
	margin-top: -250px; 
	display: flex; 
	justify-content: center; 
	align-items: center; 
	overflow: hidden;
}

div.softwares.slideshow.titulo {
	color: rgb(86, 62, 13);
	font-weight: 600;
	font-size: 40px;
	letter-spacing: -1px;
	line-height: 50px;
}

div.softwares.slideshow.subtitulo {
	color: rgb(100, 70, 8); 
	font-weight: 400; 
	font-size: 20px; 
	line-height: 30px; 
	margin-top: 30px;
}

img.softwares.slideshow {
	width: 450px;
	height: auto;
	border: 1px solid rgba(80, 140, 120, 0.5); 
	margin-top: -25px; 
	margin-left: 22px; 
	box-shadow: 0px 0px 10px #cdc;
	display: none;
}

a.softwares.botao {
	color: #333;
	font-weight: 400;
	border-radius: 25px;
	width: fit-content;
}

a.softwares.botao:hover {
	color: #000;
}

a.softwares.botao.inscrever {
	font-size: 18px;
	margin-top: 35px;
	padding: 10px 40px;
	display: inline-block;
	background-color: rgb(138, 95, 9); 
	color: #fff;
}

a.softwares.botao.inscrever:hover {
	background-color: rgb(158, 115, 11);
}

a.softwares.botao.conhecer {
	font-size: 18px;
	margin-top: 35px;
	margin-left: 15px;
	padding: 10px 40px;
	display: inline-block;
	background-color: transparent; 
	color: rgb(138, 95, 9);
	border: 1px solid rgb(138, 95, 9);
}

a.softwares.botao.conhecer:hover {
	background-color: rgb(138, 95, 9);
	color: #fff;
	border: 1px solid rgb(158, 115, 11);
}

div.publicacao.softwares {
	cursor: pointer;
}

div.publicacao.softwares:hover {
	border: 3px solid rgb(138, 95, 9); 
	padding: 28px 38px 13px 38px;
}

a.softwares.botao.tipo {
	font-size: 16px;
	margin-left: auto;
	padding: 6px 22px;
	display: block;
	background-color: rgb(138, 95, 9); 
	color: #fff; 
	margin-top: 55px;
}

a.softwares.botao.tipo:hover {
	background-color: rgb(158, 115, 11);
}

span.softwares.label {
	color: #000;
	display: block;
}

input.softwares.texto {
	display: block;
	padding: 10px;
	font-size: 16px;
	margin-top: 5px;
	width: calc(100% - 23px);
	outline: none;
	border: 1px solid #ccc;
}

select.softwares {
	padding: 10px;
	font-size: 16px;
	width: 400px;
	margin-top: 5px;
	outline: none;
}

span.softwares.mensagem {
	float: left;
	width: 270px;
	height: 50px;
	display: flex;
    align-items: center;
	*margin-top: -18px;
	color: red;
	border: 0px solid red;
}

span.softwares.mensagem.loading {
    background-image: url('imagens/loading.gif');
    background-repeat: no-repeat;
    background-position: center;
    background-size: auto 50px;
    color: transparent;
	float: none;
	width: calc(100% - 4px);
	height: 46px;
}

p.justificado.softwares.resultado {
    display: none;
    align-items: top;
    gap: 1.0rem;
}

p.justificado.softwares.resultado .icone {
    width: 25px;
    height: 25px;
    flex-shrink: 0;
}

span.softwares.beneficios {
	padding: 10px;
	margin-top: 15px;
	margin-right: 15px;
	border-radius: 20px;
	line-height: 10px;
	display: inline-block;
	font-size: 14px;
	width: 10px;
	text-align: center;
	background-color: rgb(138, 95, 9); 
	color: #fff;
}


/*********************************/
/*             Sobre             */
/*********************************/

.sobre .label {
	color: #333;
	font-weight: 600;
	display: block;
}