@import url("grid.css");

/* =========================================================
   STYLE.CSS - Portal Modelo / Plone 4.3.6
   Câmara Municipal de Novo Horizonte do Oeste
   Compatível com index.html novo
   ========================================================= */

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
}

body {
    background: #f5f7fa;
    color: #333;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    line-height: 1.6;
}

#visual-portal-wrapper {
    background: #f5f7fa;
    min-height: 100vh;
}

img,
object,
embed,
iframe {
    max-width: 100%;
}

img {
    height: auto;
    border: none;
}

.visualClear,
.clear {
    clear: both;
}

/* LINKS */
a:link,
a:visited,
#content a:link,
#content a:visited,
dl.portlet a:link,
dl.portlet a:visited {
    color: #005ca9;
    text-decoration: none;
}

a:hover,
#content a:hover,
dl.portlet a:hover {
    color: #003d73 !important;
    text-decoration: underline;
}

/* ACESSIBILIDADE */
#accessibility {
    background: #002f59;
    color: #fff;
    padding: 7px 2%;
    font-size: 13px;
}

#accessibility a {
    color: #fff !important;
    margin-right: 15px;
    font-weight: bold;
}

#accessibility a:hover {
    color: #f2c94c !important;
}

/* CABEÇALHO */
#portal-header {
    background: linear-gradient(135deg, #005ca9, #003d73);
    color: #fff;
    box-shadow: 0 4px 18px rgba(0,0,0,.18);
    position: relative;
    z-index: 10;
}

#portal-header a {
    color: #fff !important;
}

#portal-header a:hover {
    color: #f2c94c !important;
}

/* TOPO */
#top-bar {
    background: rgba(0,0,0,.20);
    padding: 8px 2%;
    font-size: 13px;
    min-height: 34px;
}

#top-bar::after,
#header-banner::after {
    content: "";
    display: table;
    clear: both;
}

#siteactions,
#portal-siteactions {
    list-style: none;
    margin: 0;
    padding: 0;
    float: left;
}

#siteactions li,
#portal-siteactions li {
    display: inline-block;
    margin-right: 16px;
}

#siteactions a,
#portal-siteactions a {
    font-weight: bold;
}

/* USUÁRIO */
#user {
    float: right;
    position: relative;
}

#user ul,
#user dl,
#portal-personaltools {
    margin: 0;
    padding: 0;
    list-style: none;
}

#user .actionMenuContent,
#portal-personaltools .actionMenuContent {
    background: #fff;
    color: #333;
    position: absolute;
    right: 0;
    top: 100%;
    min-width: 210px;
    padding: 8px 0;
    border-radius: 8px;
    box-shadow: 0 6px 18px rgba(0,0,0,.18);
    z-index: 9999;
}

#user .actionMenuContent a,
#portal-personaltools .actionMenuContent a {
    color: #003d73 !important;
    display: block;
    padding: 8px 14px;
}

#user .actionMenuContent a:hover,
#portal-personaltools .actionMenuContent a:hover {
    background: #e8f2fb;
}

/* BANNER */
#header-banner {
    padding: 26px 2%;
    display: flex;
    align-items: center;
    gap: 22px;
    flex-wrap: wrap;
}

#portal-logo {
    display: block;
    flex: 0 0 auto;
}

#portal-logo img {
    max-height: 110px;
    max-width: 165px;
    display: block;
}

#portal-title {
    flex: 1 1 auto;
    min-width: 260px;
}

#portal-title h1 {
    color: #fff;
    font-size: 2.05rem;
    line-height: 1.2;
    margin: 0;
    font-weight: 700;
}

#portal-title p {
    color: rgba(255,255,255,.92);
    margin: 6px 0 0;
    font-size: 1rem;
}

/* BUSCA */
#search,
#portal-searchbox {
    flex: 0 1 340px;
    min-width: 260px;
}

#search form,
#portal-searchbox form {
    margin: 0;
}

#search .LSBox,
#portal-searchbox .LSBox {
    display: flex;
    background: #fff;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 3px 10px rgba(0,0,0,.12);
}

#search label,
#portal-searchbox label.hiddenStructure {
    display: none;
}

#search input[type="text"],
#portal-searchbox input.searchField,
#portal-searchbox input[type="text"] {
    border: none;
    padding: 11px 14px;
    flex: 1;
    outline: none;
    color: #333;
    width: 100%;
    background: #fff;
}

#search input.searchButton,
#portal-searchbox .searchButton {
    border: none;
    padding: 11px 16px;
    background: #f2c94c;
    color: #003d73 !important;
    cursor: pointer;
    font-weight: bold;
}

#search input.searchButton:hover,
#portal-searchbox .searchButton:hover {
    background: #ffd84f;
}

.searchSection,
#portal-advanced-search {
    display: none !important;
}

/* MENU PRINCIPAL */
#main-navigation,
#portal-globalnav {
    margin: 0;
    padding: 0;
    clear: both;
    background: linear-gradient(90deg, #003d73, #005ca9);
    list-style: none;
    text-align: center;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}

#main-navigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

#main-navigation li,
#portal-globalnav li {
    display: inline-block;
    margin: 0;
    padding: 0;
    position: relative;
}

#main-navigation li a,
#portal-globalnav li a {
    display: block;
    padding: 15px 15px;
    color: #fff !important;
    font-size: 14px;
    font-weight: bold;
    text-decoration: none;
    border: none;
    transition: all .25s ease;
}

#main-navigation li a:hover,
#main-navigation li.selected a,
#portal-globalnav li a:hover,
#portal-globalnav li.selected a {
    background: rgba(255,255,255,.16);
    color: #f2c94c !important;
    text-decoration: none;
}

/* BREADCRUMB */
#portal-breadcrumbs {
    width: 96%;
    max-width: 1400px;
    margin: 16px auto;
    font-size: 13px;
    color: #666;
    clear: both;
    background: #fff;
    padding: 10px 15px;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,.05);
}

#portal-breadcrumbs a {
    color: #005ca9 !important;
    font-weight: bold;
}

.section-front-page #portal-breadcrumbs {
    display: none;
}

/* LAYOUT PRINCIPAL */
#portal-columns {
    width: 96% !important;
    max-width: 1400px !important;
    margin: 24px auto !important;
    display: flex !important;
    gap: 24px !important;
    align-items: flex-start !important;
    float: none !important;
    overflow: visible !important;
}

#portal-column-content,
#portal-column-one,
#portal-column-two {
    float: none !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    margin: 0 !important;
}

#portal-column-content {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    background: #fff;
    padding: 24px;
    border-radius: 14px;
    box-shadow: 0 3px 12px rgba(0,0,0,.07);
}

#portal-column-one,
#portal-column-two {
    width: 260px !important;
    flex: 0 0 260px !important;
}

/* CONTEÚDO */
#content {
    line-height: 1.6;
}

#content h1,
#content h2,
#content h3,
h1,
h2,
h3 {
    color: #003d73;
}

h1 {
    font-size: 2.1em;
    margin-top: 0;
}

h2 {
    font-size: 1.6em;
}

h3 {
    font-size: 1.25em;
}

.documentDescription {
    color: #555;
    font-size: 1.05em;
}

.documentByLine {
    color: #777;
    font-size: 13px;
    margin-bottom: 15px;
}

/* CAPA / COLLECTIVE COVER */
#content .row,
.row {
    max-width: 100%;
}

.tile,
.tile-default,
.tile-edge {
    max-width: 100%;
}

.tile img,
.portlet img,
.image-inline {
    max-width: 100%;
    height: auto;
}

/* CARDS / NOTÍCIAS */
.news-item,
.tileItem,
.template-summary_view .tileItem,
.template-folder_summary_view .tileItem {
    background: #fff;
    border-radius: 12px;
    padding: 15px;
    margin-bottom: 18px;
    border: 1px solid #e0e7ef;
    box-shadow: 0 2px 10px rgba(0,0,0,.06);
    transition: all .25s ease;
}

.news-item:hover,
.tileItem:hover,
.template-summary_view .tileItem:hover,
.template-folder_summary_view .tileItem:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 16px rgba(0,0,0,.10);
}

.tileHeadline,
.tileHeadline a,
.tileItem h2,
.tileItem h2 a {
    color: #003d73 !important;
    font-weight: bold;
}

.tileBody {
    color: #444;
}

/* ATALHOS */
.shortcut-card,
.portal-shortcut,
.card-atalho {
    background: #fff;
    border-radius: 14px;
    padding: 18px;
    border: 1px solid #e0e7ef;
    box-shadow: 0 3px 12px rgba(0,0,0,.07);
    text-align: center;
    transition: all .25s ease;
}

.shortcut-card:hover,
.portal-shortcut:hover,
.card-atalho:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 18px rgba(0,0,0,.12);
}

.shortcut-card a,
.portal-shortcut a,
.card-atalho a {
    color: #003d73 !important;
    font-weight: bold;
}

/* PORTLETS */
.portlet,
dl.portlet,
.portletStaticText,
.votePortlet {
    margin-bottom: 22px;
    padding: 15px;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 3px 12px rgba(0,0,0,.07);
    border: 1px solid #e0e7ef;
    transition: all .25s ease;
}

.portlet:hover,
dl.portlet:hover,
.portletStaticText:hover,
.votePortlet:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 16px rgba(0,0,0,.10);
}

.portletHeader,
dl.portlet dt.portletHeader {
    border-bottom: 1px solid #d9e2ec;
    font-weight: bold;
    background: transparent;
    color: #003d73;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.portletHeader a,
dl.portlet dt.portletHeader a {
    color: #003d73 !important;
}

.portlet ul,
dl.portlet ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.portlet li,
dl.portlet li {
    border-bottom: 1px solid #e7edf3;
}

.portlet li:last-child,
dl.portlet li:last-child {
    border-bottom: none;
}

.portlet li a,
dl.portlet li a,
.portletNavigationTree a {
    display: block;
    padding: 9px 6px;
    border-radius: 6px;
}

.portlet li a:hover,
dl.portlet li a:hover,
.portletNavigationTree a:hover {
    background: #e8f2fb;
    text-decoration: none;
}

/* TABELAS / SAPL */
table {
    width: 100%;
    border-collapse: collapse;
    margin: 15px 0;
    background: #fff;
}

table th {
    background: #005ca9;
    color: #fff;
    padding: 10px;
    border: 1px solid #004b8a;
    text-align: left;
}

table td {
    border: 1px solid #d9e2ec;
    padding: 10px;
    vertical-align: top;
}

table tr:nth-child(even) {
    background: #f8fbff;
}

table tr:hover {
    background: #eef6ff;
}

/* FORMULÁRIOS */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="search"],
input[type="number"],
input[type="date"],
select,
textarea {
    max-width: 100%;
    padding: 10px;
    border: 1px solid #d0d7e2;
    border-radius: 8px;
    background: #fff;
    color: #333;
    font-family: Arial, Helvetica, sans-serif;
}

textarea {
    min-height: 120px;
}

input:focus,
select:focus,
textarea:focus {
    border-color: #005ca9;
    outline: none;
    box-shadow: 0 0 0 2px rgba(0,92,169,.15);
}

/* BOTÕES */
button,
.btn,
.context,
input[type="submit"],
input[type="button"],
input[type="reset"] {
    border-radius: 8px;
    border: none;
    background: #005ca9;
    color: #fff !important;
    padding: 9px 15px;
    cursor: pointer;
    font-weight: bold;
    transition: all .25s ease;
}

button:hover,
.btn:hover,
.context:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover {
    background: #003d73;
    color: #fff !important;
}

/* MENSAGENS */
.portalMessage {
    border-radius: 10px;
    padding: 15px;
    margin-bottom: 15px;
    border: 1px solid #d9e2ec;
    background: #eef6ff;
    color: #003d73;
}

.portalMessage dt {
    font-weight: bold;
}

.portalMessage dd {
    margin: 5px 0 0;
}

/* ADMIN */
#edit-bar,
.contentViews,
.contentActions {
    max-width: 100%;
}

.contentViews,
.contentActions {
    border-radius: 8px;
}

#contentActionMenus {
    z-index: 9999;
}

/* MESA DIRETORA / PARLAMENTARES */
.mesa-diretora,
.cards-pessoas,
.lista-vereadores {
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
    margin: 25px 0;
}

.mesa-card,
.pessoa-card,
.vereador-card {
    background: #fff;
    border-radius: 16px;
    padding: 18px;
    border: 1px solid #e0e7ef;
    box-shadow: 0 3px 12px rgba(0,0,0,.08);
    text-align: center;
    flex: 1 1 220px;
    transition: all .25s ease;
}

.mesa-card:hover,
.pessoa-card:hover,
.vereador-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 7px 20px rgba(0,0,0,.12);
}

.mesa-card img,
.pessoa-card img,
.vereador-card img {
    width: 130px;
    height: 130px;
    object-fit: cover;
    border-radius: 100%;
    border: 4px solid #e8f2fb;
    margin-bottom: 12px;
}

.mesa-card h3,
.pessoa-card h3,
.vereador-card h3 {
    margin: 8px 0 4px;
    color: #003d73;
}

.mesa-card .cargo,
.pessoa-card .cargo,
.vereador-card .cargo {
    color: #005ca9;
    font-weight: bold;
}

/* RODAPÉ */
#portal-footer {
    margin-top: 40px;
    padding: 35px 2%;
    background: #003d73;
    color: #fff;
    clear: both;
}

#portal-footer a {
    color: #fff !important;
}

#portal-footer a:hover {
    color: #f2c94c !important;
}

#footer-content,
#footer-colophon {
    width: 96%;
    max-width: 1400px;
    margin: 0 auto;
}

#footer-colophon {
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid rgba(255,255,255,.2);
    text-align: center;
    font-size: 13px;
}

/* VLIBRAS */
[vw-access-button] {
    right: 20px !important;
    bottom: 95px !important;
    z-index: 999999 !important;
}

/* AJUSTES GERAIS */
.hiddenStructure {
    position: absolute !important;
    left: -9999px !important;
}

.no-bullet,
.no-bullet li {
    list-style: none;
}

/* RESPONSIVO TABLET */
@media (max-width: 979px) {
    #portal-columns {
        width: 96% !important;
        gap: 18px !important;
    }

    #portal-column-one,
    #portal-column-two {
        width: 230px !important;
        flex: 0 0 230px !important;
    }

    #portal-title h1 {
        font-size: 1.7rem;
    }
}

/* RESPONSIVO CELULAR */
@media (max-width: 900px) {
    #portal-columns {
        display: block !important;
    }

    #portal-column-content,
    #portal-column-one,
    #portal-column-two {
        width: 100% !important;
        flex: none !important;
        margin-bottom: 22px !important;
    }
}

@media (max-width: 767px) {
    body {
        font-size: 14px;
    }

    #top-bar,
    #header-banner {
        text-align: center;
    }

    #siteactions,
    #portal-siteactions,
    #user {
        float: none;
        display: block;
        margin-bottom: 8px;
    }

    #siteactions li,
    #portal-siteactions li {
        margin: 4px 7px;
    }

    #header-banner {
        display: block;
        padding: 18px 2%;
    }

    #portal-logo img {
        margin: 0 auto 10px;
        max-height: 85px;
    }

    #portal-title {
        min-width: 100%;
    }

    #portal-title h1 {
        font-size: 1.35rem;
    }

    #portal-title p {
        font-size: .95rem;
    }

    #search,
    #portal-searchbox {
        width: 100%;
        min-width: 100%;
        margin-top: 14px;
    }

    #main-navigation li,
    #portal-globalnav li {
        display: block;
        width: 100%;
    }

    #main-navigation li a,
    #portal-globalnav li a {
        border-top: 1px solid rgba(255,255,255,.12);
    }

    #portal-column-content {
        padding: 16px;
        border-radius: 10px;
    }

    table {
        font-size: 13px;
    }

    table th,
    table td {
        padding: 8px;
    }

    .mesa-diretora,
    .cards-pessoas,
    .lista-vereadores {
        display: block;
    }

    .mesa-card,
    .pessoa-card,
    .vereador-card {
        margin-bottom: 18px;
    }
}

/* RESPONSIVO PEQUENO */
@media (max-width: 480px) {
    #portal-columns,
    #portal-breadcrumbs,
    #footer-content,
    #footer-colophon {
        width: 92% !important;
    }

    #portal-title h1 {
        font-size: 1.15rem;
    }

    #search .LSBox,
    #portal-searchbox .LSBox {
        border-radius: 12px;
        display: block;
    }

    #search input[type="text"],
    #portal-searchbox input.searchField,
    #portal-searchbox input[type="text"],
    #search input.searchButton,
    #portal-searchbox .searchButton {
        width: 100%;
        display: block;
        border-radius: 0;
    }

    [vw-access-button] {
        right: 12px !important;
        bottom: 80px !important;
    }
}