.contraste {
	--cor-primaria: #000;
	--cor-secundaria: #ffeb00;
	--cor-fundo: #000;
	--cor-fonte: #fff;
	--cor-contraste: #ffeb00;
	--cor-fundo-sessao-escuro: #000;
	--cor-fundo-contraste: #000;
	--cor-borda-contraste: #fff;
	--cor-foco-contraste: #ffeb00;

	background: var(--cor-fundo) !important;
	color: var(--cor-fonte) !important;
}

.contraste *,
.contraste *::before,
.contraste *::after {
	border-color: var(--cor-borda-contraste) !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

.contraste *:not(img):not(video):not(canvas):not(svg):not(path) {
	background-color: var(--cor-fundo) !important;
	color: var(--cor-fonte) !important;
}

.contraste #elementoBlur,
.contraste .elemento-grafico-filtro-hover,
.contraste .elemento-grafico-filtro-selecionado,
.contraste .filtro-de-cor,
.contraste .tarja,
.contraste #bannerMais::before {
	display: none !important;
}

.contraste img,
.contraste video,
.contraste canvas {
	background: transparent !important;
	filter: contrast(1.15) saturate(0.9) !important;
}

.contraste h1,
.contraste h2,
.contraste h3,
.contraste h4,
.contraste h5,
.contraste h6,
.contraste strong,
.contraste b,
.contraste .nota-escolar span,
.contraste .ano-selecionado {
	color: var(--cor-fonte) !important;
}

.contraste p,
.contraste span,
.contraste li,
.contraste label,
.contraste small,
.contraste td,
.contraste th,
.contraste blockquote {
	color: var(--cor-fonte) !important;
}

.contraste a {
	color: var(--cor-fonte) !important;
	text-decoration: underline !important;
	text-decoration-color: var(--cor-secundaria) !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 3px !important;
}

.contraste a:hover,
.contraste a:active,
.contraste a:focus-visible {
	background: transparent !important;
	color: var(--cor-secundaria) !important;
	outline: 3px solid var(--cor-foco-contraste) !important;
	outline-offset: 3px !important;
	text-decoration-color: var(--cor-secundaria) !important;
}

.contraste a:hover,
.contraste a:active {
	outline: none !important;
}

.contraste a:focus-visible {
	outline: 3px solid var(--cor-foco-contraste) !important;
}

.contraste button,
.contraste .button,
.contraste input[type='button'],
.contraste input[type='reset'],
.contraste input[type='submit'],
.contraste .botao-ler-mais,
.contraste #anoAnterior,
.contraste #anoProximo {
	background: var(--cor-fundo) !important;
	border: 2px solid var(--cor-fonte) !important;
	color: var(--cor-fonte) !important;
	cursor: pointer;
	font-weight: 700;
}

.contraste button *,
.contraste .button *,
.contraste input[type='button'] *,
.contraste input[type='reset'] *,
.contraste input[type='submit'] * {
	background: transparent !important;
	color: var(--cor-fonte) !important;
}

.contraste button:hover,
.contraste button:focus-visible,
.contraste .button:hover,
.contraste .button:focus-visible,
.contraste input[type='button']:hover,
.contraste input[type='button']:focus-visible,
.contraste input[type='reset']:hover,
.contraste input[type='reset']:focus-visible,
.contraste input[type='submit']:hover,
.contraste input[type='submit']:focus-visible {
	background: var(--cor-fundo) !important;
	border-color: var(--cor-fonte) !important;
	color: var(--cor-secundaria) !important;
	outline: 3px solid var(--cor-fonte) !important;
	outline-offset: 3px !important;
}

.contraste button:hover *,
.contraste button:focus-visible *,
.contraste .button:hover *,
.contraste .button:focus-visible *,
.contraste input[type='button']:hover *,
.contraste input[type='button']:focus-visible *,
.contraste input[type='reset']:hover *,
.contraste input[type='reset']:focus-visible *,
.contraste input[type='submit']:hover *,
.contraste input[type='submit']:focus-visible * {
	background: transparent !important;
	color: var(--cor-secundaria) !important;
}

.contraste button:disabled,
.contraste button[disabled],
.contraste input:disabled,
.contraste select:disabled,
.contraste textarea:disabled {
	background: var(--cor-fundo) !important;
	border-color: var(--cor-fonte) !important;
	color: var(--cor-fonte) !important;
	opacity: 1 !important;
	cursor: not-allowed;
}

.contraste input,
.contraste textarea,
.contraste select,
.contraste .indicador {
	background: var(--cor-fundo) !important;
	border: 2px solid var(--cor-fonte) !important;
	color: var(--cor-fonte) !important;
}

.contraste input::placeholder,
.contraste textarea::placeholder {
	color: var(--cor-fonte) !important;
	opacity: 1 !important;
}

.contraste input:focus,
.contraste input:focus-visible,
.contraste textarea:focus,
.contraste textarea:focus-visible,
.contraste select:focus,
.contraste select:focus-visible {
	border-color: var(--cor-secundaria) !important;
	outline: 3px solid var(--cor-secundaria) !important;
	outline-offset: 3px !important;
}

.contraste .material-symbols-outlined,
.contraste i,
.contraste svg {
	background-color: transparent !important;
	color: var(--cor-fonte) !important;
	fill: currentColor !important;
}

.contraste #acessibilidade {
	background: var(--cor-fundo) !important;
	border: 2px solid var(--cor-fonte) !important;
}

.contraste #acessibilidade .aba-acessibilidade {
	background: var(--cor-fonte) !important;
	color: var(--cor-primaria) !important;
}

.contraste #acessibilidade .aba-acessibilidade *,
.contraste #acessibilidade .aba-acessibilidade .material-symbols-outlined {
	background: transparent !important;
	color: var(--cor-primaria) !important;
}

.contraste #acessibilidade .link-acessibilidade {
	background: var(--cor-fundo) !important;
	border: 0 !important;
	color: var(--cor-fonte) !important;
	text-decoration: none !important;
}

.contraste #acessibilidade .link-acessibilidade:hover,
.contraste #acessibilidade .link-acessibilidade:focus-visible {
	background: var(--cor-fundo) !important;
	color: var(--cor-secundaria) !important;
	outline: 3px solid var(--cor-fonte) !important;
	outline-offset: -3px !important;
}

.contraste #acessibilidade .link-acessibilidade:hover *,
.contraste #acessibilidade .link-acessibilidade:focus-visible * {
	background: transparent !important;
	color: var(--cor-secundaria) !important;
}

.contraste #containerHeader,
.contraste header,
.contraste nav,
.contraste section,
.contraste main,
.contraste footer,
.contraste dialog,
.contraste .modal,
.contraste .container,
.contraste .row,
.contraste .column {
	background: var(--cor-fundo) !important;
	color: var(--cor-fonte) !important;
}

.contraste #containerHeader,
.contraste #containerHeader *,
.contraste header,
.contraste header *,
.contraste footer,
.contraste footer * {
	border: 0 !important;
}

.contraste .card,
.contraste .caixa-notas,
.contraste .nota-ideb,
.contraste .nota-esperada,
.contraste .item-acessibilidade,
.contraste .tipos-ensinos blockquote,
.contraste .numero-alunos-unidade .numero-turma,
.contraste .topo-tabela,
.contraste .rodape-tabela,
.contraste .wireframe,
.contraste .mensagem-nenhum-aluno,
.contraste .mensagem-erro,
.contraste .alerta-sem-notas,
.contraste .corpo-tabela-notas,
.contraste .cabecalho-tabela-notas {
	background: var(--cor-fundo) !important;
	border: 2px solid var(--cor-fonte) !important;
	color: var(--cor-fonte) !important;
}

.contraste .card:hover,
.contraste .card:focus-visible,
.contraste .numero-turma:hover,
.contraste .item-acessibilidade:hover {
	background: var(--cor-fundo) !important;
	color: var(--cor-secundaria) !important;
	transform: none !important;
}

.contraste .card:hover *,
.contraste .card:focus-visible *,
.contraste .numero-turma:hover *,
.contraste .item-acessibilidade:hover * {
	background: transparent !important;
	color: var(--cor-secundaria) !important;
}

.contraste .card img,
.contraste .imagem-escola,
.contraste .imagem-escola-modal,
.contraste .google-map iframe,
.contraste #mapaPlaceholder {
	border: 3px solid var(--cor-fonte) !important;
}

.contraste #mapaPlaceholder,
.contraste #mapaPlaceholder i,
.contraste #carregarMapa {
	background-color: var(--cor-fundo) !important;
	color: var(--cor-fonte) !important;
}

.contraste #carregarMapa {
	border: 2px solid var(--cor-fonte) !important;
}

.contraste .fechar-modal-escola,
.contraste .pagination li.active a,
.contraste #servicosContainer .card .faixa-novo,
.contraste #servicosContainer .card .faixa-novo p {
	background: var(--cor-secundaria) !important;
	color: var(--cor-primaria) !important;
}

.contraste .corpo-tabela-notas .nota {
	background: var(--cor-fundo) !important;
	border: 1px solid var(--cor-secundaria) !important;
	color: var(--cor-fonte) !important;
}

.contraste table {
	background: var(--cor-fundo) !important;
	border: 2px solid var(--cor-fonte) !important;
	border-collapse: collapse !important;
	width: 100%;
}

.contraste thead,
.contraste tfoot,
.contraste table tr,
.contraste table tr:nth-child(even),
.contraste table tr:nth-child(odd) {
	background: var(--cor-fundo) !important;
	border-color: var(--cor-fonte) !important;
}

.contraste th,
.contraste td {
	background: var(--cor-fundo) !important;
	border: 1px solid var(--cor-fonte) !important;
	color: var(--cor-fonte) !important;
	padding: 10px;
	text-align: left;
}

.contraste th {
	color: var(--cor-fonte) !important;
	font-weight: 700;
}

.contraste .cabecalho-tabela-notas,
.contraste .topo-tabela,
.contraste .rodape-tabela {
	border-color: var(--cor-fonte) !important;
}

.contraste .item-acessibilidade svg {
	background: var(--cor-fundo) !important;
	border-color: var(--cor-fonte) !important;
	color: var(--cor-fonte) !important;
}

.contraste .item-acessibilidade svg.item-presente {
	background: var(--cor-secundaria) !important;
	color: var(--cor-primaria) !important;
}

.contraste .grafico-frequencia-escolar,
.contraste .grafico-numero-servidores,
.contraste #legendaTotalServidoresEfetivos p,
.contraste #legendaTotalServidoresEfetivos span {
	color: var(--cor-fonte) !important;
}

.contraste #servico .filtros-cards-container {
	background: var(--cor-fundo) !important;
	border: 2px solid var(--cor-fonte) !important;
	box-shadow: none !important;
}
