MediaWiki:Common.css
Aparência
Nota: Após publicar, você pode ter que limpar o "cache" do seu navegador para ver as alterações.
- Firefox / Safari: Pressione Shift enquanto clica Recarregar, ou pressione Ctrl-F5 ou Ctrl-R (⌘-R no Mac)
- Google Chrome: Pressione Ctrl-Shift-R (⌘-Shift-R no Mac)
- Edge: Pressione Ctrl enquanto clica Recarregar, ou pressione Ctrl-F5.
- Opera: Pressione Ctrl-F5.
/* ========================================== Container do Card ========================================== */
/* Container do Card com Sombra Sutil e Borda Escura */
.norma-container {
display: block;
clear: both;
width: 100%;
margin-bottom: 16px;
box-sizing: border-box;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05), 0 1px 3px rgba(0, 0, 0, 0.1);
border: 1px solid #bbb !important;
border-radius: 6px;
overflow: hidden;
}
/* Cores Unificadas por Classe (Cabeçalho e Conteúdo) */
.norma-box-Geral th, .norma-box-Geral td {
background-color: #e3f2fd !important;
}
.norma-box-Especial th, .norma-box-Especial td {
background-color: #fff3e0 !important;
}
.norma-box-Setorial th, .norma-box-Setorial td {
background-color: #e8f5e9 !important;
}
.norma-box-Revogada th, .norma-box-Revogada td {
background-color: #ffebee !important;
}
/* Container Principal: Divide em duas colunas (70% para o texto, 30% para a barra lateral) */
.norma-page-layout {
display: flex;
gap: 5px;
width: 100%;
box-sizing: border-box;
}
/* Coluna da Esquerda (Texto Principal) */
.norma-main-column {
flex: 70%;
}
/* Coluna da Direita (Painéis Laterais) */
.norma-sidebar-column {
flex: 30%;
display: flex;
flex-direction: column;
gap: 15px; /* Espaço vertical entre as caixas da direita */
}
/* Estilo padrão de cada caixa/bloco desenhado */
.norma-block-box {
background: #ffffff;
border: 3px solid #000000; /* Borda grossa preta do desenho */
border-radius: 4px;
padding: 5px;
box-sizing: border-box;
}
/* Títulos internos de cada caixa */
.norma-block-box h4 {
margin-top: 0;
font-size: 1.3em;
font-weight: bold;
border-bottom: 2px solid #000000;
padding-bottom: 8px;
}
/* ========================================== Container infográfico ========================================== */
/* Container principal do infográfico */
.info-historico-infografico {
display: flex;
flex-direction: column;
width: 100%;
max-width: 220px;
margin: 5px auto;
gap: 10px; /* Espaço entre as grandes caixas unificadas */
font-family: sans-serif;
}
/* Título "Vigências" no topo do Bloco Verde */
.titulo-bloco-vigencias {
display: block;
width: 100%;
text-align: center;
font-size: 13px;
font-weight: bold;
color: #7f8c8d; /* Cinza sutil corporativo */
text-transform: uppercase;
letter-spacing: 1px;
margin-bottom: 6px; /* Espaço sutil entre o título e a caixa verde */
font-family: sans-serif;
}
/* A grande caixa mãe que envolve o R e seus A */
.bloco-grupo {
display: flex;
flex-direction: column;
width: 100%;
border-radius: 8px; /* Cantos arredondados na caixa maior */
padding: 1px;
box-sizing: border-box;
gap: 1px; /* Espaçamento fino entre as linhas internas */
}
/* Base de cada item/ano empilhado internamente */
.timeline-item {
display: flex;
align-items: center;
justify-content: center;
padding: 5px 12px;
font-size: 16px;
font-weight: bold;
box-sizing: border-box;
width: 50% !important; /* Mantém a divisão das duas colunas */
}
/* --- POSICIONAMENTO LATERAL INTERNO --- */
.timeline-item.tipo-R {
align-self: flex-start !important;
margin-right: auto !important;
margin-left: 0 !important;
}
.timeline-item.tipo-A {
align-self: flex-end !important;
margin-left: auto !important;
margin-right: 0 !important;
}
/* Remove fundos individuais e define cor do texto padrão interna */
.timeline-item .timeline-text {
color: inherit;
}
/* --- CORES APLICADAS DIRETAMENTE NAS CAIXAS MAIORES --- */
/* Bloco 1: Verde Vigente (Texto Branco) */
.bloco-grupo.bloco-1 {
background-color: #2ecc71 !important;
color: #ffffff !important;
}
/* Bloco 2: Cinza Claro (Texto Escuro para Contraste) */
.bloco-grupo.bloco-2 {
background-color: #00C4BB !important;
color: #1f2937 !important;
}
/* Bloco 3: Cinza Médio (Texto Branco) */
.bloco-grupo.bloco-3 {
background-color: #C9C9CA !important;
color: #ffffff !important;
}
/* Bloco 4: Cinza Escuro (Texto Branco) */
.bloco-grupo.bloco-4 {
background-color: #9D9D9E !important;
color: #ffffff !important;
}
/* Bloco 5 em diante: Tons escuros profundos (Texto Branco) */
.bloco-grupo.bloco-5 {
background-color: #737474 !important;
color: #ffffff !important;
/* Bloco 6 em diante: Tons escuros profundos (Texto Branco) */
.bloco-grupo.bloco-6 {
background-color: #4C4D4D !important;
color: #ffffff !important;
/* Bloco 5 em diante: Tons escuros profundos (Texto Branco) */
.bloco-grupo.bloco-7 {
background-color: #28292A !important;
color: #ffffff !important;
}
/* Garante que o link nativo herde as cores corretas do infográfico e ocupe o espaço correto */
.timeline-item .timeline-text a {
color: inherit !important;
text-decoration: none !important;
display: inline-block;
width: 100%;
text-align: center;
}
/* Efeito visual ao passar o mouse sobre o ano com link */
.timeline-item .timeline-text a:hover {
text-decoration: underline !important;
opacity: 0.85;
}
/* Remove o ícone padrão de link externo do MediaWiki apenas dentro do infográfico */
.timeline-item .timeline-text a.external {
background: none !important;
padding-right: 0 !important;
}
/* ========================================== Container Preview Histórico ========================================== */
/* Container do Preview Histórico */
.container-preview-historico {
display: flex;
justify-content: center;
align-items: center;
padding: 0;
background: #fdfbf7;
border-radius: 4px;
border: 1px dashed #bba887;
margin-top: 10px;
}
/* O Envelopador que centraliza e aplica os efeitos de inclinação */
.preview-velho-wrapper {
display: block;
margin: 0 auto;
transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
transform: rotate(3deg); /* Mantém a inclinação de lauda */
}
/* A Imagem Real */
.preview-velho-wrapper img {
max-width: 130px !important; /* Limita o tamanho na barra lateral */
height: auto !important;
border: 1px solid #c2b49a;
box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.2);
background-color: #ffffff;
padding: 5px;
display: block;
filter: sepia(0.1);
}
/* Interação ao passar o mouse */
.preview-velho-wrapper:hover {
transform: rotate(0deg) scale(1.12); /* Alinha e aplica o zoom */
cursor: default;
}
.preview-velho-wrapper:hover img {
box-shadow: 0 12px 24px rgba(65, 50, 30, 0.25);
filter: sepia(0); /* Revela a cor real do Diário Oficial */
}
/* ========================================== Container do Caixa Orbital ========================================== */
/* Container Geral da Caixa */
.caixa-orbital-container {
overflow: hidden;
}
/* O Espaço onde os anexos orbitam */
.espaco-orbital {
position: relative;
width: 240px;
height: 240px;
margin: 25px auto;
background: #fcfcfc;
border-radius: 50% !important;
border: 1px dashed #dcdcdc !important;
}
/* Garante o Sol perfeitamente estático e centralizado no meio do sistema solar */
.bolha-centro {
position: absolute !important;
width: 76px !important;
height: 76px !important;
background-color: #34495e !important;
background: #34495e !important;
border-radius: 50% !important;
/* Centralização matemática estável */
top: 50% !important;
left: 50% !important;
/* O REMÉDIO TÉCNICO: Sem o !important aqui, a animação consegue rodar o eixo livremente */
transform: translate(-50%, -50%);
animation: rotacionarEsquerdaSol 160s linear infinite !important;
display: flex !important;
justify-content: center !important;
align-items: center !important;
box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
z-index: 10 !important;
border: 3px solid #ffffff !important;
padding: 0 !important;
margin: 0 !important;
overflow: hidden !important;
box-sizing: border-box !important;
}
/* Pausa a rotação do Sol também ao passar o mouse */
.caixa-orbital-container:hover .bolha-centro {
animation-play-state: paused !important;
}
/* Regra matemática exclusiva para girar o Sol ao contrário sem perder a centralização */
@keyframes rotacionarEsquerdaSol {
from { transform: translate(-50%, -50%) rotate(0deg); }
to { transform: translate(-50%, -50%) rotate(-360deg); }
}
/* Destrói qualquer caixa, parágrafo ou link cinza que o MediaWiki crie lá dentro */
.bolha-centro *,
.bolha-centro p,
.bolha-centro span,
.bolha-centro a {
background: transparent !important;
background-color: transparent !important;
color: #ffffff !important;
font-family: sans-serif !important;
font-weight: bold !important;
font-size: 18px !important;
border: none !important;
box-shadow: none !important;
padding: 0 !important;
margin: 0 !important;
display: block !important;
text-align: center !important;
text-decoration: none !important;
}
.nome-norma-centro {
display: block !important;
width: 100% !important;
white-space: nowrap !important; /* Impede o NR-1 de quebrar linha */
}
/* Garante que o link ocupe 100% da bolha e herde o formato do planeta */
.planeta-satelite a.link-orbital {
display: flex !important;
width: 100% !important;
height: 100% !important;
justify-content: center !important;
align-items: center !important;
text-decoration: none !important;
color: inherit !important;
background: transparent !important;
border-radius: 50% !important;
}
.planeta-satelite a.link-orbital:hover {
color: #ffffff !important;
}
}
/* Alinha o texto interno "Anexo X" em linhas equilibradas e centralizadas */
.planeta-satelite span {
display: block !important;
width: 100% !important;
text-align: center !important;
line-height: 1.2 !important;
font-family: sans-serif !important;
font-size: 9px !important;
font-weight: bold !important;
padding: 0 2px !important;
margin: 0 !important;
background: transparent !important; /* Remove qualquer caixa branca ou cinza do texto */
color: inherit !important; /* Herda a cor do texto do elemento pai */
}
/* INTERAÇÃO AO PASSAR O MOUSE (Seu efeito verde mantido e corrigido) */
.planeta-satelite:hover {
transform: scale(1.18) !important;
background-color: #27ae60 !important; /* Força o fundo a ficar verde */
background: #27ae60 !important;
color: #ffffff !important; /* Força o texto interno a ficar branco para contraste */
border-radius: 50% !important; /* Mantém o efeito estritamente redondo */
}
/* Esconde o link "Mais..." do Cargo */
.caixa-orbital-container a,
.container-satelites a,
.cargoMoreLinks,
.cargo-more-links {
display: none !important;
}
/* Esconde mensagens automáticas de busca vazia do Cargo dentro do sistema solar */
.caixa-orbital-container .cargoNoResults,
.caixa-orbital-container .cargo-no-results,
.container-satelites:empty {
display: none !important;
}
/* --- MOTOR DE ROTAÇÃO INFINITA DO SISTEMA SOLAR --- */
/* Faz o espaço sideral inteiro girar suavemente para a direita */
.espaco-orbital {
animation: rotacionarDireita 160s linear infinite !important;
}
/* Faz as luas girarem para a esquerda para o texto ficar sempre de pé */
.planeta-satelite {
animation: rotacionarEsquerda 160s linear infinite !important;
}
/* Pausa a rotação se o usuário colocar o mouse em cima de qualquer anexo */
.caixa-orbital-container:hover .espaco-orbital,
.caixa-orbital-container:hover .planeta-satelite {
animation-play-state: paused !important;
}
/* --- REGRAS MATEMÁTICAS DOS MOVIMENTOS (keyframes) --- */
@keyframes rotacionarDireita {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
@keyframes rotacionarEsquerda {
from { transform: rotate(0deg); }
to { transform: rotate(-360deg); }
}
/* ========================================== Container itens da norma ========================================== */
/* Layout base dos itens da norma */
.conteudo-itens-norma { font-family: sans-serif; line-height: 1.6; text-align: justify; color: #2d3748; }
.item-nr { margin-bottom: 3px; }
/* Indentação baseada no Nível */
.item-nr.nv-2 { padding-left: 0px; }
.item-nr.nv-3 { padding-left: 5px; }
.item-nr.nv-4 { padding-left: 10px; }
.item-nr.nv-5 { padding-left: 15px; }
.item-nr.nv-6 { padding-left: 20px; }
.item-nr.nv-7 { padding-left: 25px; }
.item-nr.nv-8 { padding-left: 30px; }
.item-nr.nv-9 { padding-left: 35px; }
.item-nr.nv-10 { padding-left: 40px; }
/* Formatação baseada no campo Forma */
.item-nr.f-1 span { font-weight: bold; }
.item-nr.f-2 span { text-decoration: line-through; color: #a0aec0; }
.item-nr.f-3 span { font-style: italic; }
.item-nr.f-4 span { vertical-align: super; font-size: 80%; }
.item-nr.f-5 { text-align: center; }
.item-nr.f-6 span { font-variant: small-caps; }
.item-nr.f-7 span { text-transform: uppercase; }
.item-nr.f-8 { margin-left: 30px; }
/* Notas sobrescritas */
.nota-sup { font-size: 75%; color: #3182ce; font-weight: bold; margin-left: 2px; }
/* Oculta completamente o bloco do gráfico se o valor vier nulo/vazio do banco */
.elemento-grafico.grafico-val- {
display: none !important;
}
/* Oculta completamente o bloco do gráfico se o valor vier nulo/vazio do banco */
.elemento-grafico.grafico-val- {
display: none !important;
}
/* Quando o campo [grafico] possuir um valor (ex: 5), esta regra entra em ação */
.elemento-grafico:not(.grafico-val-) {
display: block;
margin: 15px auto;
padding: 10px;
text-align: center;
font-weight: bold;
color: #2b6cb0; /* Azul institucional */
background-color: #ebf8ff; /* Fundo azul bem sutil para destacar o elemento */
border: 1px dashed #bee3f8;
border-radius: 4px;
max-width: 400px;
}
/* Injeta dinamicamente o texto padrão sem precisar de código de programação */
.elemento-grafico:not(.grafico-val-)::before {
content: "ELEMENTO GRÁFICO Nº " attr(class);
}
/* Ajuste fino para limpar o nome da classe do texto visível */
.elemento-grafico {
font-size: 0px; /* Esconde o texto bruto das classes */
}
.elemento-grafico:not(.grafico-val-)::before {
font-size: 14px; /* Devolve o tamanho correto apenas para a mensagem */
}
/* Estilo geral do bloco de infração no fim da linha */
.infracao-nr28 {
font-size: 75%;
font-weight: bold;
color: #FF0000; /* Vermelho padrão para alertas/multas */
margin-left: 8px;
white-space: nowrap; /* Evita que quebre em várias linhas se houver espaço */
}
/* 🌟 Oculta o bloco INTEIRO de infração se o campo [infra] vier vazio ou nulo */
.infracao-nr28.status-infra- {
display: none !important;
}
/* 🌟 Oculta especificamente o texto do Código se o campo [code] vier nulo */
.status-code- {
display: none !important;
}
/* Esconde o fragmento da Infração se o valor estiver vazio */
.status-infra-val- {
display: none !important;
}
/* 🌟 Oculta especificamente o texto do Tipo se o campo [classe] vier nulo */
.status-classe- {
display: none !important;
}
/* Pequeno ajuste de espaçamento interno entre os elementos da infração */
.infracao-nr28 span {
margin-right: 3px;
}