/*
 *
 * CSS com estilos específicos do tema azul
 *
 * @Autores
 *
 * - Simples Consultoria - www.simplesconsultoria.com.br
 * - DESERTO Digital - www.desertodigital.com.br
 *
 * @Referencias
 *
 * Lista de padrões, convenções e boas praticas CSS que devem ser seguidas.
 * https: //github.com/necolas/idiomatic-css/tree/master/translations/pt-BR
 *
 * Plugins para ordenar os atributos de CSS.
 * http://csscomb.com/
 *
 * Validador de CSS do W3C.
 * http://jigsaw.w3.org/css-validator/
 */

/*MEUS PADROES*/
/*dl.portlet {margin: 0 0 1em;font-size: 70%;}*/

.faq-plone {
  margin-top: 20px;
}

.faq-plone .faq-titulo {
  color: #002b4f;
  font-size: 28px;
  margin-bottom: 10px;
}

.faq-plone .faq-subtitulo {
  font-size: 18px;
  margin-bottom: 24px;
  color: #333;
}

.faq-plone .faq-item {
  border: 1px solid #d6d6d6;
  border-radius: 6px;
  margin-bottom: 10px;
  background: #fff;
  overflow: hidden;
}

.faq-plone .faq-question {
  display: block;
  padding: 14px 18px;
  background: #f7f7f7;
  color: #002b4f;
  font-weight: bold;
  text-decoration: none;
  cursor: pointer;
}

.faq-plone .faq-question:hover {
  background: #eef3f7;
  color: #002b4f;
  text-decoration: none;
}

.faq-plone .faq-question::before {
  content: "+ ";
  font-weight: bold;
}

.faq-plone .faq-answer {
  display: none;
  padding: 16px 18px;
  border-top: 1px solid #e5e5e5;
  color: #333;
  line-height: 1.6;
}

.faq-plone .faq-answer p {
  margin-top: 0;
}

.faq-plone .faq-answer ul,
.faq-plone .faq-answer ol {
  margin-top: 10px;
  padding-left: 24px;
}

.faq-plone .faq-answer li {
  margin-bottom: 8px;
}

.faq-plone .faq-item:focus-within .faq-answer {
  display: block;
}

.faq-plone .faq-item:focus-within .faq-question::before {
  content: "- ";
}

/* ==========================================================================
   Cabeçalho do portal
   ========================================================================== */

#header {
    padding: 14px 0 0 0;
    position: relative;
    color: #fff;
    background-color: #0d2c5a;
    background-image: -webkit-linear-gradient(135deg, #0d2c5a 0%, #1565c0 100%);
    background-image: -moz-linear-gradient(135deg, #0d2c5a 0%, #1565c0 100%);
    background-image: -o-linear-gradient(135deg, #0d2c5a 0%, #1565c0 100%);
    background-image: linear-gradient(135deg, #0d2c5a 0%, #1565c0 100%);
}

/* Logo alinhado à esquerda
   ========================================================================== */

#logo,
#portal-logo {
    display: block !important;
    float: left !important;
    clear: both;
    margin-left: 0 !important;
    text-align: left;
}

/* Menu de Acessibilidade
   ========================================================================== */

#accessibility a {
    color: #e3f2fd;
}

#accessibility span {
    background: url("../img/bg-acess-key.gif") center center no-repeat;
    color: #0a1857;
}

/* Titulo do portal
   ========================================================================== */

#portal-logo,
#portal-title { color: #fff !important; }

/* Menu site actions - Acessibilidade, Alto Contraste, Mapa do site
   ========================================================================== */

#portal-language { border-bottom: 1px dotted #4a90d9; }

#portal-siteactions a,
#portal-siteactions a:hover,
#portal-language a,
#portal-language a:hover { color: #e3f2fd !important; }

/* Botões A+, A-, Alto Contraste dentro do #portal-siteactions
   ========================================================================== */

/* Ícone ♿ de acessibilidade na barra de navegação */
#siteaction-acessibilidade {
    color: #cfe4ff;
    font-size: 17px;
    padding: 0 6px 0 4px;
    vertical-align: middle;
    opacity: 0.9;
    cursor: default;
}

/* Portal-siteactions dentro da barra de navegação (#sobre) */
#sobre #portal-siteactions {
    float: right;
    border-bottom: none;
    padding: 10px 10px 0 0;
    margin: 0;
    line-height: normal;
}

#sobre #portal-siteactions li {
    display: inline-block;
    vertical-align: middle;
}

#portal-siteactions button {
    background: transparent;
    border: 1px solid rgba(227, 242, 253, 0.45);
    border-radius: 3px;
    color: #e3f2fd;
    cursor: pointer;
    font-size: 11px;
    font-weight: bold;
    letter-spacing: 0.03em;
    line-height: 18px;
    padding: 1px 6px;
    text-transform: uppercase;
    vertical-align: middle;
}

#portal-siteactions button:hover,
#portal-siteactions button:focus {
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    border-color: rgba(227, 242, 253, 0.9);
    outline: none;
}

#portal-siteactions button.ativo {
    background: rgba(255, 255, 255, 0.25);
    color: #fff;
    border-color: #fff;
}

/* Diferencia visualmente A- e A+ */
#btn-fonte-menor { font-size: 10px; }
#btn-fonte-maior { font-size: 13px; }

/* Alto contraste: botões dentro do siteactions */
body.contraste #portal-siteactions button {
    border-color: #fff;
    color: #fff !important;
    background: #000;
}

body.contraste #portal-siteactions button:hover,
body.contraste #portal-siteactions button:focus,
body.contraste #portal-siteactions button.ativo {
    background: #fff !important;
    color: #000 !important;
    border-color: #fff;
}

/* Menu sobre o portal
   ========================================================================== */

/* Menu sobre o portal
   ========================================================================== */

#sobre {
    background: #0a2351;
    border-top: 3px solid #1976d2;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

#sobre ul {
    text-align: left;
}

#sobre ul li {
    display: inline-block;
}

#sobre ul li a {
    display: inline-block;
    padding: 11px 18px;
    color: #cfe4ff !important;
    font-size: 1.0em;
    font-family: 'Montserrat', 'open_sanssemibold', Arial, sans-serif;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-decoration: none;
    text-transform: uppercase;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 3px solid transparent;
    -webkit-transition: background 0.2s, color 0.2s, border-bottom-color 0.2s;
    -moz-transition: background 0.2s, color 0.2s, border-bottom-color 0.2s;
    transition: background 0.2s, color 0.2s, border-bottom-color 0.2s;
}

#sobre ul li a:hover,
#sobre ul li a:focus {
    background: rgba(255, 255, 255, 0.1);
    color: #fff !important;
    border-bottom-color: #64b5f6;
    outline: none;
}

#sobre ul li.selected a,
#sobre ul li.navTreeCurrentNode a {
    background: rgba(255, 255, 255, 0.12);
    color: #fff !important;
    border-bottom-color: #64b5f6;
}

#sobre .last-item a {
    border-right: none;
}

#sobre .portalservicos-item a {
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}

/* Formulário de busca
   ========================================================================== */

#portal-searchbox { border: 1px solid #CCCCCC; }

/* ==========================================================================
   Sprinte Icons
   ========================================================================== */

/* icones de redes sociais */
#social-icons a,
/* central de conteudo */
.item-central .link-videos,
.item-central .link-audios,
.item-central .link-infograficos,
.item-central .link-publicacoes,
.item-central .link-fotos,
.item-central .link-aplicativos,
.item-central .link-dadosabertos,
/* icone do botão de busca */
#header input.searchButton { background-image: url("../img/sprite.png"); }
/* icone do botão de relatar erros */
#content .relatar-erros a { background: url("../img/icon-reportar-erros.png") no-repeat; }

/* Summary view */
#content .summary-view-icon [class*="icon"] {
    background-image: url("../img/summary-view-icons-sprite.png");
}


/* ==========================================================================
   Portles
   ========================================================================== */

/* Portlet de navegação
   ========================================================================== */

/* Primeiro item de relevância */
#portal-column-one > .nav-menu-de-relevancia .first-item-nav a,
#portal-column-one > .nav-menu-de-relevancia .first-item-nav a span {
    color: #1565c0 !important;
}

/* Padding interno da coluna de conteúdo para respiração lateral */
#portal-column-content {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 2%;
}

/* ==========================================================================
   Menu de Navegação Lateral (portletNavigationTree)
   ========================================================================== */

/* Container do portlet de navegação */
#portal-column-one .portletNavigationTree {
    border: none;
    border-radius: 4px;
    overflow: hidden;
    -webkit-box-shadow: 0 2px 8px rgba(0,0,0,0.10);
    box-shadow: 0 2px 8px rgba(0,0,0,0.10);
    margin-bottom: 1.5em;
}

/* Cabeçalho do portlet (ex: "A CÂMARA", "PROCESSO LEGISLATIVO") */
.portlet-static-contents-central .portletHeader,
.portlet-static-centrales-del-contenido .portletHeader,
.portlet-static-centrais-de-conteudos .portletHeader,
.portletNavigationTree .portletHeader {
    background: #0d47a1 !important;
    background: -webkit-linear-gradient(135deg, #0d2c5a 0%, #0d47a1 100%) !important;
    background: linear-gradient(135deg, #0d2c5a 0%, #0d47a1 100%) !important;
    color: #fff !important;
    border-top: none !important;
    border-bottom: 2px solid #1976d2 !important;
    padding: 10px 14px !important;
    font-family: 'Montserrat', 'open_sansbold', Arial, sans-serif !important;
    font-size: 1em !important;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

/* Link dentro do header */
.portletNavigationTree .portletHeader a,
.portletNavigationTree .portletHeader > a:link,
.portletNavigationTree .portletHeader > a:visited {
    color: #fff !important;
}

.portletNavigationTree .portletHeader > a:hover,
.portletNavigationTree .portletHeader > a:focus {
    background-color: rgba(255,255,255,0.1) !important;
    color: #fff !important;
}

/* Itens de nível 0 */
dl.portlet ul.navTreeLevel0 > .navTreeItem {
    border-top: 1px solid #e3eaf5 !important;
    border-bottom: none !important;
    background: #fff;
}

dl.portlet ul.navTreeLevel0 > .last-item {
    border-bottom: 1px solid #e3eaf5 !important;
}

/* Links de todos os níveis */
dl.portlet ul.navTree li a {
    color: #1a3a6b !important;
    font-family: 'Open Sans', 'open_sansregular', Arial, sans-serif !important;
    font-size: 1.05em !important;
    -webkit-transition: background 0.15s, color 0.15s, border-left 0.15s;
    -moz-transition: background 0.15s, color 0.15s, border-left 0.15s;
    transition: background 0.15s, color 0.15s, border-left 0.15s;
    border-left: 3px solid transparent;
}

/* Hover nos links */
dl.portlet ul.navTree li a:hover,
dl.portlet ul.navTree li a:focus {
    background: #e8f0fb !important;
    color: #0d47a1 !important;
    border-left-color: #1976d2 !important;
    text-decoration: none;
}

/* Item ativo / selecionado */
a.navTreeItemInPath,
a.navTreeCurrentNode {
    background: #ddeafc !important;
    color: #0d2c5a !important;
    font-weight: bold;
    border-left: 3px solid #0d47a1 !important;
}

/* Fundo dos níveis de profundidade */
.navTreeLevel0 > li.navTreeItemInPath,
.navTreeLevel0 > li.navTreeCurrentNode {
    background-color: #ddeafc !important;
}

.navTreeLevel1 { background: #f0f5fd !important; }
.navTreeLevel2 { background: #eaf1fc !important; }
.navTreeLevel3 { background: #e3ecfb !important; }
.navTreeLevel4 { background: #dce7fa !important; }
.navTreeLevel5 { background: #d5e2f9 !important; }

/* ==========================================================================
   Collective Cover
   ========================================================================== */

/* Tile Banner Rotativo
   ========================================================================== */

/* Cores dos botões */

#tile_banner_rotativo li .button-nav,
.orderTiles .button-nav {
    border-right: 1px solid #0d3b6e;
    background-color: #1565c0;
}

#tile_banner_rotativo .activeSlide .button-nav,
#tile_banner_rotativo li .button-nav:hover,
#tile_banner_rotativo li .button-nav:focus {
    background-color: #e3f2fd;
}

/* ícone do botão */

#content  #tile_banner_rotativo li .button-nav,
.orderTiles .button-nav {
    background-image: url("../img/bullet-banner-rotativo.gif");
}

/* Tiles
   ========================================================================== */

.tile a { color: #162937 !important; }


/* ==========================================================================
   Footer
   ========================================================================== */

#footer {
    background: #0d2c5a;
    color: #fff;
}

#footer a { color: #fff; }

/* Remove limitação de 960px do container interno do footer */
#footer > div {
    max-width: 100% !important;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding-left: 1.5%;
    padding-right: 1.5%;
}

#footer .footer-logos { background: #0a1a2e; }

#footer th {
    color: #fff;
}

#footer ul {
    border-left: 1px dotted rgba(255,255,255,0.3);
}

#footer tr td p {
    border-left: 1px dotted rgba(255,255,255,0.3);
    color: #fff;
}
#linksfooter {
    background: #0d47a1;
}
/* Doormat
   ========================================================================== */

#doormat-container { background: #0d2c5a; }

#doormat-container dl { border-left: 1px dotted rgba(255,255,255,0.3); }

#doormat-container dt { color: #90caf9; }


/* ==========================================================================
   Media Queries
   ========================================================================== */


/* Screen
   ========================================================================== */

@media only screen and (min-width : 769px) {

    .portlet-static-contents-central .portletHeader,
    .portlet-static-centrales-del-contenido .portletHeader,
    .portlet-static-centrais-de-conteudos .portletHeader,
    .portletNavigationTree .portletHeader {
        background: #e8f0fb url("../img/portlet-header.gif") no-repeat right 5px bottom 4px;
        background-size: 15px;
    }

    .portletNavigationTree .portletHeader.ativo {
        background: #e8f0fb url("../img/portlet-header-expanded.gif") no-repeat right 5px bottom 4px;
        background-size: 15px;
    }

}



/* Smartphone
   ========================================================================== */

@media only screen and (min-width : 320px) and (max-width : 768px) {

    .menuTrigger {
        background: #0d47a1 url("../img/bg-menu-mobile.png") top right no-repeat;
    }

    /* Menu de topo: itens em bloco empilhado */
    #sobre {
        border-top: none;
    }

    #sobre ul {
        text-align: left;
    }

    #sobre ul li {
        display: block;
        width: 100%;
    }

    #sobre ul li a {
        display: block;
        padding: 9px 14px;
        font-size: 1em;
        border-right: none;
        border-bottom: 1px solid rgba(255,255,255,0.08);
        letter-spacing: 0;
    }

    #sobre .last-item a {
        border-bottom: none;
        padding: 9px 14px;
    }

    /* Footer responsivo */
    #footer > div {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    /* Tabela do footer vira lista empilhada */
    #footer table,
    #footer tbody,
    #footer tr {
        display: block;
        width: 100% !important;
    }

    #footer td,
    #footer th {
        display: block;
        width: 100% !important;
        padding-left: 0;
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }

    #footer th {
        font-size: 1.2em;
        padding: 0.5em 0;
        margin-top: 1em;
    }

    #footer ul {
        border-left: none;
        padding-left: 0;
    }

    #footer tr td p {
        border-left: none;
        padding-left: 0;
    }

    /* Linksfooter: colunas empilhadas */
    #footer #linksfooter > div {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 1.5em 0;
    }

    /* Extra footer centralizado */
    #extra-footer p {
        text-align: center;
        padding: 0 14px;
    }

    /* #main não pode ser 90% — tem que ser 100% com box-sizing */
    #main {
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

@media only screen and (min-width : 320px) and (max-width : 480px) {
  #header #portal-searchbox .searchButton {
    background: url("../img/search-button-30px.png") no-repeat;
  }
}

/* ==========================================================================
   Alto Contraste — versão definitiva
   Esquema: fundo #000 | texto genérico #fff | links/destaques #fff
   ========================================================================== */

/* 1. Textos genéricos com cor preta herdada do navegador
   (main.css já cobre body/header/main/footer com color:#fff, mas não
   cobre p, li, span, td, th, etc.) */
body.contraste p,
body.contraste li,
body.contraste span,
body.contraste td,
body.contraste th,
body.contraste label,
body.contraste dd,
body.contraste strong,
body.contraste em,
body.contraste blockquote,
body.contraste cite,
body.contraste figcaption {
    color: #fff !important;
}

/* 2. #sobre — menu principal de navegação
   Borda superior sólida amarela para delimitar claramente o menu */
body.contraste #sobre {
    border-top-color: #fff !important;
    border-bottom-color: #333 !important;
}

body.contraste #sobre ul li a,
body.contraste #sobre ul li a:link,
body.contraste #sobre ul li a:visited {
    color: #fff !important;
    background: #000 !important;
    border-right-color: #444 !important;
    border-bottom-color: transparent !important;
}

body.contraste #sobre ul li a:hover,
body.contraste #sobre ul li a:focus {
    background: #1a1a00 !important;
    color: #fff !important;
    border-bottom-color: #fff !important;
    outline: 2px solid #fff !important;
    outline-offset: -2px !important;
}

body.contraste #sobre ul li.selected a,
body.contraste #sobre ul li.navTreeCurrentNode a {
    background: #1a1a00 !important;
    color: #fff !important;
    border-bottom-color: #fff !important;
}

/* 3. Portlet header
   style.css aplica gradiente com !important — precisamos sobrescrever */
body.contraste .portlet-static-contents-central .portletHeader,
body.contraste .portlet-static-centrales-del-contenido .portletHeader,
body.contraste .portlet-static-centrais-de-conteudos .portletHeader,
body.contraste .portletNavigationTree .portletHeader {
    background: #111 !important;
    color: #fff !important;
    border-top: none !important;
    border-bottom: 2px solid #fff !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}

body.contraste .portletNavigationTree .portletHeader a,
body.contraste .portletNavigationTree .portletHeader > a:link,
body.contraste .portletNavigationTree .portletHeader > a:visited {
    color: #fff !important;
}

body.contraste .portletNavigationTree .portletHeader > a:hover,
body.contraste .portletNavigationTree .portletHeader > a:focus {
    background: #222 !important;
    color: #fff !important;
}

/* 4. navTree — links
   style.css tem dl.portlet ul.navTree li a { color:#1a3a6b !important }
   com especificidade (0,0,2,4) → preciso de (0,0,3,5) ou mais */
body.contraste dl.portlet ul.navTree li a,
body.contraste dl.portlet ul.navTree li a:link,
body.contraste dl.portlet ul.navTree li a:visited {
    background: #000 !important;
    color: #fff !important;
    border-left: 3px solid transparent !important;
}

body.contraste dl.portlet ul.navTree li a:hover,
body.contraste dl.portlet ul.navTree li a:focus {
    background: #1a1a00 !important;
    color: #fff !important;
    border-left-color: #fff !important;
}

/* 5. <span> dentro dos links da navtree
   main.css tem .portletNavigationTree > .portletItem a span { color:#172938 !important }
   — texto quase preto que desaparece no fundo preto */
body.contraste .portletNavigationTree > .portletItem a span,
body.contraste dl.portlet ul.navTree li a span {
    color: #fff !important;
}

body.contraste dl.portlet ul.navTree li a:hover span,
body.contraste dl.portlet ul.navTree li a:focus span {
    color: #fff !important;
}

/* 6. Itens ativos/selecionados da navtree */
body.contraste a.navTreeItemInPath,
body.contraste a.navTreeCurrentNode {
    background: #222 !important;
    color: #fff !important;
    border-left-color: #fff !important;
}

body.contraste a.navTreeItemInPath span,
body.contraste a.navTreeCurrentNode span {
    color: #fff !important;
}

/* 7. Fundos dos níveis de profundidade da navtree
   style.css tem .navTreeLevel1 { background:#f0f5fd !important } */
body.contraste dl.portlet ul.navTreeLevel0 > .navTreeItem,
body.contraste .navTreeLevel0 > li.navTreeItemInPath,
body.contraste .navTreeLevel0 > li.navTreeCurrentNode,
body.contraste .navTreeLevel1,
body.contraste .navTreeLevel2,
body.contraste .navTreeLevel3,
body.contraste .navTreeLevel4,
body.contraste .navTreeLevel5 {
    background: #000 !important;
    border-top-color: #333 !important;
    border-bottom-color: #333 !important;
}

/* 8. Portlet geral — fundos brancos viram preto */
body.contraste dl.portlet,
body.contraste dl.portlet dd,
body.contraste .portletItem,
body.contraste .portletFooter {
    background: #000 !important;
    color: #fff !important;
    border-color: #444 !important;
}

body.contraste .portletFooter a,
body.contraste .portletItem a {
    color: #fff !important;
}

/* 9. Item de relevância */
body.contraste #portal-column-one > .nav-menu-de-relevancia .first-item-nav a,
body.contraste #portal-column-one > .nav-menu-de-relevancia .first-item-nav a span {
    color: #fff !important;
}

/* 10. Tiles */
body.contraste .tile a {
    color: #fff !important;
    background: #000 !important;
}

/* 11. Breadcrumbs */
body.contraste #portal-breadcrumbs,
body.contraste #portal-breadcrumbs a,
body.contraste #portal-breadcrumbs span {
    background: #000 !important;
    color: #fff !important;
}

/* 12. Campo de busca */
body.contraste #portal-searchbox {
    background: #000 !important;
    border-color: #fff !important;
}

body.contraste #portal-searchbox input,
body.contraste #portal-searchbox .searchField {
    background: #000 !important;
    color: #fff !important;
    border-color: #fff !important;
}

body.contraste #portal-searchbox .searchButton {
    background-color: #222 !important;
    border-color: #fff !important;
}

/* 13. Menu mobile */
body.contraste .menuTrigger {
    background-color: #000 !important;
    color: #fff !important;
    border-color: #fff !important;
}

/* 14. Footer */
body.contraste #doormat-container dt {
    color: #fff !important;
}

body.contraste #footer td,
body.contraste #footer th,
body.contraste #footer li,
body.contraste #footer p,
body.contraste #footer span {
    color: #fff !important;
    border-color: #444 !important;
}

/* 15. Formulários */
body.contraste input,
body.contraste select,
body.contraste textarea {
    background: #000 !important;
    color: #fff !important;
    border-color: #888 !important;
}

/* 16. Tabelas */
body.contraste table,
body.contraste th,
body.contraste td {
    border-color: #555 !important;
}

/* 17. FIX hover de links ficam pretos
   main.css tem: #content a:hover, dl.portlet a:hover { color:#000 !important }
   É necessário especificidade maior + !important para sobrescrever */
body.contraste a:hover,
body.contraste a:focus,
body.contraste a:active {
    color: #fff !important;
    background: #222 !important;
    outline: 2px solid #fff !important;
    outline-offset: 1px !important;
}

body.contraste #content a:hover,
body.contraste #content a:focus {
    color: #fff !important;
    background: #222 !important;
}

body.contraste dl.portlet a:hover,
body.contraste dl.portlet a:focus {
    color: #fff !important;
    background: #222 !important;
}

/* Navtree hover permanece com seu próprio estilo (é mais específico, ganha) */

/* 18. FIX caixas cinzas — .portletCollection, .lista-horizontal,
   .lista-vertical têm background: #eeeff1 !important e nenhum rule
   de contraste os cobria. Resultado: texto branco em fundo cinza. */
body.contraste .portletCollection,
body.contraste .lista-horizontal,
body.contraste .lista-vertical,
body.contraste #content .newsRelatedItems,
body.contraste #content #newsRelatedItems {
    background: #000 !important;
    border-color: #444 !important;
}

/* Headers das caixas cinzas */
body.contraste .portletCollection .portletHeader,
body.contraste .lista-horizontal .tile-header,
body.contraste .lista-horizontal .tile-title,
body.contraste .lista-horizontal .collection-header,
body.contraste .lista-horizontal .collection-title,
body.contraste .lista-vertical .tile-header,
body.contraste .lista-vertical .tile-title,
body.contraste .lista-vertical .collection-header,
body.contraste .lista-vertical .collection-title {
    background: #111 !important;
    color: #fff !important;
    border-top-color: #fff !important;
    border-bottom-color: #444 !important;
}

/* .tile-title standalone (aparece em diversas tiles)
   Tem border-top: 4px solid #172838 (quase preto) + background: #eeeff1 */
body.contraste .tile-title {
    background: #111 !important;
    color: #fff !important;
    border-top-color: #fff !important;
    border-bottom-color: #444 !important;
}

/* Itens e footers dentro das caixas */
body.contraste .portletCollection .portletItem,
body.contraste .portletCollection .portletFooter,
body.contraste .portletCollection .tile,
body.contraste .lista-horizontal .collection-item,
body.contraste .lista-vertical .collection-item {
    background: #000 !important;
    color: #fff !important;
    border-color: #333 !important;
}