html.alto-contraste,
html.alto-contraste body,
body.alto-contraste {
  color-scheme: dark;
  filter: none !important;
  background: #000 !important;
  color: #fff !important;
}

html.alto-contraste * {
  box-shadow: none !important;
  text-shadow: none !important;
}

html.alto-contraste body,
html.alto-contraste .topo,
html.alto-contraste .identidade,
html.alto-contraste .navegacao,
html.alto-contraste .menu-principal,
html.alto-contraste .submenu,
html.alto-contraste .busca-geral,
html.alto-contraste main,
html.alto-contraste .pagina-publica,
html.alto-contraste .titulo-publico,
html.alto-contraste .painel,
html.alto-contraste .cartao-publico,
html.alto-contraste .cartao-conteudo,
html.alto-contraste .estado-lista,
html.alto-contraste .estado-vazio,
html.alto-contraste .item-publico,
html.alto-contraste .detalhe-licitacao,
html.alto-contraste .detalhe-cabecalho,
html.alto-contraste .detalhe-conteudo,
html.alto-contraste .detalhe-secao,
html.alto-contraste .detalhe-secao > header,
html.alto-contraste .detalhe-campo,
html.alto-contraste .detalhe-texto,
html.alto-contraste .arquivo-card,
html.alto-contraste .modal-caixa,
html.alto-contraste .modal-topo,
html.alto-contraste .modal-corpo,
html.alto-contraste .janela-recuperacao,
html.alto-contraste .cartao-login,
html.alto-contraste .identidade-texto,
html.alto-contraste .acesso,
html.alto-contraste footer,
html.alto-contraste #rodape,
html.alto-contraste .copyright,
html.alto-contraste table,
html.alto-contraste thead,
html.alto-contraste tbody,
html.alto-contraste tr,
html.alto-contraste th,
html.alto-contraste td {
  background-color: #000 !important;
  background-image: none !important;
  color: #fff !important;
  border-color: #fff !important;
}

html.alto-contraste h1,
html.alto-contraste h2,
html.alto-contraste h3,
html.alto-contraste h4,
html.alto-contraste h5,
html.alto-contraste h6,
html.alto-contraste p,
html.alto-contraste span,
html.alto-contraste strong,
html.alto-contraste small,
html.alto-contraste em,
html.alto-contraste label,
html.alto-contraste legend,
html.alto-contraste time,
html.alto-contraste li,
html.alto-contraste dt,
html.alto-contraste dd {
  color: #fff !important;
}

html.alto-contraste a,
html.alto-contraste .menu-link,
html.alto-contraste .menu-gatilho,
html.alto-contraste .submenu a,
html.alto-contraste .cartao-acoes a,
html.alto-contraste .voltar-lista a {
  color: #ffeb00 !important;
  text-decoration-color: #ffeb00 !important;
}

html.alto-contraste a:hover,
html.alto-contraste a:focus,
html.alto-contraste .menu-link:hover,
html.alto-contraste .menu-link.ativo,
html.alto-contraste .menu-gatilho:hover,
html.alto-contraste .menu-gatilho.ativo,
html.alto-contraste .submenu a:hover {
  background: #ffeb00 !important;
  color: #000 !important;
  outline-color: #fff !important;
}

html.alto-contraste .menu-icone,
html.alto-contraste .submenu a > span,
html.alto-contraste .icone-pagina,
html.alto-contraste .detalhe-secao > header > span,
html.alto-contraste .arquivo-tipo,
html.alto-contraste .arquivo-abrir,
html.alto-contraste .metadados span,
html.alto-contraste .detalhe-metadados span,
html.alto-contraste .detalhe-selo {
  background: #000 !important;
  color: #ffeb00 !important;
  border: 1px solid #fff !important;
}

html.alto-contraste button,
html.alto-contraste input,
html.alto-contraste select,
html.alto-contraste textarea,
html.alto-contraste .controle,
html.alto-contraste .pesquisar-topo,
html.alto-contraste .atalho,
html.alto-contraste .secundario {
  background: #000 !important;
  background-image: none !important;
  color: #fff !important;
  border-color: #fff !important;
}

html.alto-contraste button:hover,
html.alto-contraste button:focus,
html.alto-contraste input:focus,
html.alto-contraste select:focus,
html.alto-contraste textarea:focus,
html.alto-contraste a:focus-visible {
  outline: 3px solid #ffeb00 !important;
  outline-offset: 2px !important;
}

html.alto-contraste button.principal,
html.alto-contraste a.principal,
html.alto-contraste .filtros-publicos button[type='submit'],
html.alto-contraste .busca-geral button,
html.alto-contraste .entrar,
html.alto-contraste .confirmar-recuperacao,
html.alto-contraste .botao-cheio {
  background: #ffeb00 !important;
  color: #000 !important;
  border: 2px solid #fff !important;
}

html.alto-contraste input::placeholder,
html.alto-contraste textarea::placeholder {
  color: #fff !important;
  opacity: 1 !important;
}

html.alto-contraste input[type='checkbox'],
html.alto-contraste input[type='radio'] {
  accent-color: #ffeb00 !important;
}

html.alto-contraste img,
html.alto-contraste video,
html.alto-contraste svg,
html.alto-contraste canvas {
  filter: none !important;
}

html.alto-contraste .hero-overlay {
  background: rgba(0, 0, 0, .82) !important;
}

html.alto-contraste .spinner {
  border-color: #fff !important;
  border-top-color: #ffeb00 !important;
}

html.alto-contraste #contraste,
html.alto-contraste #contraste[data-contraste-ativo='1'] {
  background: #ffeb00 !important;
  color: #000 !important;
  border: 2px solid #fff !important;
  font-weight: 800 !important;
}

html:not(.alto-contraste) #contraste[data-contraste-ativo='0'] {
  cursor: pointer;
}

@media (forced-colors: active) {
  #contraste {
    forced-color-adjust: auto;
  }
}
