|
|
| Linha 62: |
Linha 62: |
| border-bottom: 2px solid #000000; | | border-bottom: 2px solid #000000; |
| padding-bottom: 8px; | | padding-bottom: 8px; |
| }
| |
| /* Container que agrupa o infográfico */
| |
| .info-historico {
| |
| width: 100%;
| |
| margin-top: 15px;
| |
| box-sizing: border-box;
| |
| }
| |
|
| |
| /* Linha Base: Grid com 2 Colunas Iguais e bordas pretas grossas de 3px */
| |
| .info-bloco-grid {
| |
| display: grid;
| |
| grid-template-columns: 1fr 1fr;
| |
| width: 100%;
| |
| border-left: 3px solid #000000;
| |
| border-right: 3px solid #000000;
| |
| box-sizing: border-box;
| |
| }
| |
|
| |
| /* Coluna da Esquerda (Versões R) */
| |
| .info-bloco-esq {
| |
| display: flex;
| |
| align-items: center;
| |
| justify-content: flex-start;
| |
| padding: 8px 12px;
| |
| font-weight: bold;
| |
| font-size: 1.1em;
| |
| }
| |
|
| |
| /* Coluna da Direita (Alterações A) */
| |
| .info-bloco-dir {
| |
| display: flex;
| |
| align-items: center;
| |
| justify-content: flex-end;
| |
| padding: 8px 12px;
| |
| font-size: 1.0em;
| |
| font-weight: normal;
| |
| }
| |
|
| |
| /* REGRA DE RENDERAÇÃO JURÍDICA: */
| |
|
| |
| /* Sempre que uma linha for do tipo R, ela 'passa a régua' e fecha o bloco com uma borda inferior grossa */
| |
| .info-tipo-R {
| |
| border-bottom: 3px solid #000000;
| |
| background-color: #ffeb3b; /* Fundo amarelo para destacar a cabeça da versão */
| |
| }
| |
|
| |
| /* Cria uma divisória interna de 3px apenas entre o lado esquerdo e direito nas linhas do tipo R */
| |
| .info-tipo-R .info-bloco-esq {
| |
| border-right: 3px solid #000000;
| |
| margin-right: -3px;
| |
| }
| |
|
| |
| /* Linhas do tipo A servem para empilhar conteúdo e não fecham a borda inferior, criando o efeito de 'bloco contínuo' */
| |
| .info-tipo-A {
| |
| border-bottom: none;
| |
| background-color: #ffffff;
| |
| }
| |
|
| |
| /* Garante que a primeiríssima linha do topo (a mais recente do banco devido ao DESC) feche a borda superior do infográfico */
| |
| .info-historico > div:first-child {
| |
| border-top: 3px solid #000000;
| |
| }
| |
|
| |
| /* Destaque visual: Pinta a versão mais recente e ativa do topo de Verde Vigente */
| |
| .info-historico > div.info-tipo-R:first-child,
| |
| .info-historico > div.info-tipo-A:first-child ~ div.info-tipo-R {
| |
| background-color: #2ecc71 !important;
| |
| color: #ffffff;
| |
| }
| |
|
| |
|
| |
| /* **********************************************************************************/
| |
| /* CONTAINER GERAL DO INFOGRÁFICO */
| |
| .info-historico {
| |
| display: flex;
| |
| flex-direction: column-reverse; /* Mantém a menor vigência na base */
| |
| width: 100%;
| |
| margin-top: 15px;
| |
| box-sizing: border-box;
| |
| border-top: 3px solid #000000; /* Tampa superior do infográfico */
| |
| counter-reset: v-seq 0; /* Inicializa o contador */
| |
| }
| |
|
| |
| /* LINHA BASE EM GRID DE DUAS COLUNAS FIXAS */
| |
| .info-bloco-grid {
| |
| display: grid;
| |
| grid-template-columns: 1fr 1fr;
| |
| width: 100%;
| |
| border-left: 3px solid #000000;
| |
| border-right: 3px solid #000000;
| |
| box-sizing: border-box;
| |
| }
| |
|
| |
| /* Alinhamento estrito dos textos das colunas */
| |
| .info-bloco-esq {
| |
| grid-column: 1; /* Força ficar na Esquerda */
| |
| text-align: left;
| |
| font-weight: bold;
| |
| font-size: 1.1em;
| |
| padding: 6px 12px;
| |
| }
| |
|
| |
| .info-bloco-dir {
| |
| grid-column: 2; /* Força ficar na Direita */
| |
| text-align: right;
| |
| font-size: 1.0em;
| |
| font-weight: normal;
| |
| padding: 6px 12px;
| |
| }
| |
|
| |
| /* 1. SEPARAÇÃO REQUISITO: Esconde o texto do lado oposto sem sumir com a coluna */
| |
| .info-tipo-A .info-bloco-esq { visibility: hidden; }
| |
| .info-tipo-R .info-bloco-dir { visibility: hidden; }
| |
|
| |
| /* 2. REQUISITO: REMOÇÃO DE DIVISÕES INTERNAS INTERNAS */
| |
| .info-tipo-A {
| |
| border-bottom: none; /* Sem linha horizontal interna enquanto for alteração */
| |
| }
| |
|
| |
| /* O "R" passa a régua preta de 3px na base e fecha o caixote da versão */
| |
| .info-tipo-R {
| |
| border-bottom: 3px solid #000000;
| |
| }
| |
|
| |
| /* Cria a divisória vertical central de 3px APENAS na linha de fechamento (R) */
| |
| .info-tipo-R .info-bloco-esq {
| |
| border-right: 3px solid #000000;
| |
| }
| |
|
| |
| /* 3. CONTADOR SEQUENCIAL IMPECÁVEL (V1, V2, V3...) */
| |
| .info-tipo-R .info-bloco-esq::before {
| |
| counter-increment: v-seq 1;
| |
| content: "V" counter(v-seq) " - ";
| |
| font-size: 0.9em;
| |
| }
| |
|
| |
| /* 4. ENGENHARIA DE CORES CONTÍNUAS (Baseada na árvore de elementos reversa) */
| |
|
| |
| /* Por padrão, define a cor verde vibrante para TODA a lista do topo */
| |
| .info-bloco-grid {
| |
| background-color: #2ecc71 !important;
| |
| color: #ffffff !important;
| |
| }
| |
|
| |
| /* Assim que o primeiro corte de versão (R) acontece de cima para baixo,
| |
| todas as linhas subsequentes perdem o verde e assumem a cor cinza de histórico */
| |
| .info-tipo-R:last-of-type ~ .info-bloco-grid,
| |
| .info-tipo-R:nth-last-of-type(1) ~ .info-bloco-grid {
| |
| background-color: #f5f5f5 !important;
| |
| color: #333333 !important;
| |
| }
| |
|
| |
| /* Aplica o degradê progressivo de cinzas para as versões mais profundas e antigas */
| |
| .info-tipo-R:nth-last-of-type(2) ~ .info-bloco-grid { background-color: #e0e0e0 !important; }
| |
| .info-tipo-R:nth-last-of-type(3) ~ .info-bloco-grid { background-color: #cccccc !important; }
| |
| .info-tipo-R:nth-last-of-type(4) ~ .info-bloco-grid { background-color: #b3b3b3 !important; }
| |
|
| |
|
| |
| /* ******************************************************************************** */
| |
| /* Estilização Base de cada linha da Norma */
| |
| .linha-nr {
| |
| font-size: 14px;
| |
| color: #2c3e50;
| |
| text-align: justify;
| |
| }
| |
|
| |
| /* Modificadores baseados na coluna 'forma' */
| |
| .estilo-forma-0 { font-weight: normal; }
| |
| .estilo-forma-1 { font-weight: bold; }
| |
| .estilo-forma-2 { text-decoration: line-through; color: #7f8c8d; }
| |
| .estilo-forma-3 { font-style: italic; }
| |
| .estilo-forma-4 { font-size: 11px; vertical-align: super; }
| |
| .estilo-forma-5 { text-align: center; }
| |
| .estilo-forma-6 { font-variant: small-caps; }
| |
| .estilo-forma-7 { text-transform: uppercase; }
| |
| .estilo-forma-8 { margin-left: 60px !important; font-size: 13px; color: #555; text-align: justify; } /* Formato Ementa/Recuo longo */
| |
| /* Oculta os blocos de texto e nota se estiverem vazios no banco */
| |
| .texto-box- {
| |
| display: none !important;
| |
| }
| |
| .nota-box- {
| |
| display: none !important;
| |
| }
| |
|
| |
| /* REGRA DE OURO PARA O GRÁFICO:
| |
| Se o atributo data-grafico estiver vazio, esconde.
| |
| Se tiver qualquer valor, o CSS injeta o texto automaticamente! */
| |
| .grafico-box[data-grafico=""] {
| |
| display: none !important;
| |
| } | | } |