:root {
    --color-primary: #1a4480;
    --color-primary-light: #2563eb;
    --color-primary-dark: #0d2240;
    --color-primary-foreground: #ffffff;
    --color-secondary: #c9971e;
    --color-secondary-light: #daa520;
    --color-secondary-dark: #8b6914;
    --color-secondary-foreground: #ffffff;
    --color-accent: #2e7d32;
    --color-accent-light: #4caf50;
    --color-accent-dark: #1b5e20;
    --color-background: #f5f7fa;
    --color-foreground: #1e293b;
    --color-card: #ffffff;
    --color-card-foreground: #1e293b;
    --color-muted: #e8edf3;
    --color-muted-foreground: #64748b;
    --color-border: #d1d9e6;
    --color-success: #22c55e;
    --color-info: #3b82f6;
    --color-warning: #f59e0b;
    --color-destructive: #ef4444;
    --font-display: "Montserrat", system-ui, sans-serif;
    --font-body: "Open Sans", system-ui, sans-serif;
    --spacing-xs: .25rem;
    --spacing-sm: .5rem;
    --spacing-md: 1rem;
    --spacing-lg: 1.5rem;
    --spacing-xl: 2rem;
    --spacing-2xl: 3rem;
    --spacing-3xl: 4rem;
    --radius-sm: .375rem;
    --radius-md: .5rem;
    --radius-lg: .75rem;
    --radius-xl: 1rem;
    --radius-2xl: 1.5rem;
    --radius-full: 9999px;
    --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / .07), 0 2px 4px -1px rgb(0 0 0 / .05);
    --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -2px rgb(0 0 0 / .04);
    --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 10px 10px -5px rgb(0 0 0 / .04);
    --shadow-gold: 0 4px 14px 0 rgba(184, 134, 11, .5);
    --transition-fast: 150ms ease;
    --transition-base: 200ms ease;
    --transition-slow: 300ms ease;
    --z-dropdown: 100;
    --z-sticky: 200;
    --z-modal: 300
}

a,
button {
    transition: var(--transicao-padrao)
}

*::-moz-selection {
    background: var(--cor-primaria);
    color: var(--cor-texto-claro);
    text-shadow: none
}

::-moz-selection {
    background: var(--cor-primaria);
    color: var(--cor-texto-claro);
    text-shadow: none
}

::selection {
    background: var(--cor-primaria);
    color: var(--cor-texto-claro);
    text-shadow: none
}

*::-moz-placeholder {
    color: var(--cor-texto-placeholder);
    font-size: var(--tamanho-fonte-pequena);
    opacity: 1
}

*::placeholder {
    color: var(--cor-texto-placeholder);
    font-size: var(--tamanho-fonte-pequena);
    opacity: 1
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin: 0;
    padding: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: var(--peso-fonte-bold);
    color: var(--cor-texto-titulos)
}

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

a {
    text-decoration: none;
    -webkit-transition: var(--transicao-link);
    transition: var(--transicao-link)
}

a:hover {
    text-decoration: none;
    color: var(--cor-primaria)
}

button:focus {
    outline: none
}

input:focus {
    outline: none
}

textarea:focus {
    outline: none
}

p {
    color: var(--cor-texto-base)
}

strong {
    font-weight: var(--peso-fonte-bold)
}

img {
    max-width: 100%
}

.bg-primaria {
    background-color: var(--cor-primaria)
}

.bg-secundaria {
    background-color: var(--cor-secundaria)
}

.bg-alerta {
    background-color: var(--cor-alerta)
}

.bg-warning {
    color: var(--cor-texto-base)
}

.modal-backdrop.show {
    opacity: .8
}

.header {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: linear-gradient(180deg, #1e5090 0%, #1c4a86 100%) !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    transition: all .3s ease;
    box-shadow: none;
    border-bottom: none
}

.header.scrolled {
    background: rgba(30, 80, 144, .85) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 2px 20px rgba(0, 0, 0, .15)
}

.top-bar {
    display: none !important
}

.main-header {
    background: transparent !important;
    transition: all .3s ease;
    padding: 5px 0 !important
}

.header.scrolled .main-header {
    padding: 5px 0 !important
}

.logo .logo-text h2,
.logo .logo-text p {
    color: white !important;
    text-shadow: none
}

.logo .logo-text h2 {
    font-size: .95rem !important;
    margin: 0 !important;
    line-height: 1.2 !important
}

.logo .logo-text p {
    font-size: .85rem !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    font-weight: 500 !important
}

.logo {
    transition: transform .3s ease !important
}

.logo:hover {
    transform: scale(1.05)
}

.logo-icon {
    width: 35px !important;
    height: 35px !important;
    font-size: .9rem !important;
    transition: all .3s ease !important
}

.nav-link {
    color: rgba(255, 255, 255, .9) !important;
    text-shadow: none;
    font-weight: 600 !important;
    font-size: .85rem !important;
    position: relative;
    transition: all .3s ease !important
}

.nav-link::before {
    content: "";
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%) scaleX(0);
    width: 70%;
    height: 2px;
    background: #daa520;
    transition: transform .3s ease
}

.nav-link:hover::before,
.nav-link.active::before {
    transform: translateX(-50%) scaleX(1)
}

.header.scrolled .nav-link {
    color: rgba(255, 255, 255, .9) !important
}

.nav-link:hover,
.nav-link.active {
    color: white !important
}

.btn-icon {
    color: white !important;
    background: rgba(255, 255, 255, .1) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    width: 32px !important;
    height: 32px !important;
    padding: 6px !important;
    border-radius: 8px !important;
    transition: all .3s ease !important;
    cursor: pointer
}

.btn-icon:hover {
    background: rgba(255, 255, 255, .2) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, .15)
}

.btn-icon:active {
    transform: translateY(0)
}

* {
    scroll-behavior: smooth;
    font-display: swap
}

body {
    margin: 0;
    padding: 0;
    overflow-x: hidden
}

.hero {
    margin-top: 0 !important;
    padding-top: 100px !important
}

.hero-overlay {
    background: linear-gradient(180deg, rgba(30, 58, 95, .75) 0%, rgba(30, 58, 95, .85) 50%, rgba(30, 58, 95, .9) 100%) !important
}

.hero-badge {
    background: rgba(255, 255, 255, .98) !important;
    color: #1a4480 !important;
    font-weight: 600 !important;
    padding: 10px 24px !important;
    border-radius: 50px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, .15);
    transition: transform .3s ease;
    font-size: .9rem !important;
    letter-spacing: .5px
}

.hero-badge:hover {
    transform: scale(1.05)
}

.hero-title {
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, .3), 0 4px 12px rgba(0, 0, 0, .2) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: -.5px
}

.hero-title .text-gold {
    background: linear-gradient(135deg, #f4d03f 0%, #daa520 50%, #f4d03f 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .3))
}

.hero-description {
    color: #ffffff !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .3) !important;
    font-weight: 500 !important;
    font-size: 1.15rem !important;
    line-height: 1.7 !important;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto
}

.hero-buttons .btn-secondary {
    background: linear-gradient(135deg, #f4d03f 0%, #daa520 100%) !important;
    color: #1a4480 !important;
    font-weight: 700 !important;
    padding: 14px 28px !important;
    font-size: .95rem !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(218, 165, 32, .4) !important
}

.hero-buttons .btn-secondary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(218, 165, 32, .5) !important
}

.hero-buttons .btn-outline-light {
    background: rgba(255, 255, 255, .15) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    padding: 14px 28px !important;
    font-size: .95rem !important;
    border: 2px solid rgba(255, 255, 255, .6) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px)
}

.hero-buttons .btn-outline-light:hover {
    background: rgba(255, 255, 255, .25) !important;
    border-color: #ffffff !important;
    transform: translateY(-2px)
}

.hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin: 0;
    padding: 0
}

.hero-background {
    position: absolute;
    inset: 0;
    z-index: 0
}

.hero-bg-image {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(30, 58, 95, .85) 0%, rgba(30, 58, 95, .7) 50%, rgba(44, 82, 130, .8) 100%)
}

.animated-shapes {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none
}

.shape {
    position: absolute;
    border-radius: 50%;
    opacity: .1;
    background: linear-gradient(135deg, #daa520 0%, #f4d03f 100%)
}

.shape-1 {
    width: 400px;
    height: 400px;
    top: -100px;
    right: -100px;
    animation: float1 20s ease-in-out infinite
}

.shape-2 {
    width: 300px;
    height: 300px;
    bottom: -50px;
    left: -50px;
    animation: float2 25s ease-in-out infinite
}

.shape-3 {
    width: 200px;
    height: 200px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: float3 15s ease-in-out infinite
}

@keyframes float1 {

    0%,
    100% {
        transform: translate(0, 0) rotate(0deg)
    }

    25% {
        transform: translate(-30px, 30px) rotate(90deg)
    }

    50% {
        transform: translate(-20px, -20px) rotate(180deg)
    }

    75% {
        transform: translate(30px, 20px) rotate(270deg)
    }
}

@keyframes float2 {

    0%,
    100% {
        transform: translate(0, 0) scale(1)
    }

    33% {
        transform: translate(40px, -30px) scale(1.1)
    }

    66% {
        transform: translate(-20px, 40px) scale(.9)
    }
}

@keyframes float3 {

    0%,
    100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: .1
    }

    50% {
        transform: translate(-50%, -50%) scale(1.3);
        opacity: .15
    }
}

.hero-container {
    position: relative;
    z-index: 1;
    padding: 120px 0 80px 0
}

.hero-content {
    text-align: center;
    max-width: 800px;
    margin: 0 auto
}

.hero-title {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 24px
}

.hero-title .title-line {
    display: block;
    font-size: 2.5rem;
    font-weight: 700;
    color: #ffffff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, .3)
}

.hero-title .title-line.highlight {
    font-size: 3rem;
    font-weight: 800;
    background: linear-gradient(135deg, #f4d03f 0%, #daa520 50%, #f4d03f 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .3))
}

.live-alert {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 32px;
    padding: 12px 24px;
    background: rgba(239, 68, 68, .9);
    border-radius: 50px;
    color: #ffffff;
    font-weight: 600;
    font-size: .9rem;
    animation: pulse-alert 2s ease-in-out infinite
}

.pulse-dot {
    width: 10px;
    height: 10px;
    background: #ffffff;
    border-radius: 50%;
    animation: pulse-dot 1.5s ease-in-out infinite
}

@keyframes pulse-dot {

    0%,
    100% {
        opacity: 1;
        transform: scale(1)
    }

    50% {
        opacity: .5;
        transform: scale(1.2)
    }
}

@keyframes pulse-alert {

    0%,
    100% {
        box-shadow: 0 0 0 0 rgba(239, 68, 68, .4)
    }

    50% {
        box-shadow: 0 0 0 15px rgba(239, 68, 68, 0)
    }
}

.live-link {
    color: #ffffff;
    text-decoration: underline;
    margin-left: 8px;
    display: inline-flex;
    align-items: center;
    gap: 4px
}

.live-link:hover {
    opacity: .9
}

.live-link i {
    width: 14px;
    height: 14px
}

.scroll-indicator {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, .7);
    z-index: 2
}

.mouse {
    width: 26px;
    height: 40px;
    border: 2px solid rgba(255, 255, 255, .5);
    border-radius: 20px;
    position: relative
}

.wheel {
    width: 4px;
    height: 8px;
    background: rgba(255, 255, 255, .7);
    border-radius: 2px;
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    animation: scroll-wheel 2s ease-in-out infinite
}

@keyframes scroll-wheel {

    0%,
    100% {
        opacity: 1;
        transform: translateX(-50%) translateY(0)
    }

    50% {
        opacity: .3;
        transform: translateX(-50%) translateY(12px)
    }
}

.scroll-indicator p {
    font-size: .75rem;
    font-weight: 500;
    letter-spacing: .5px;
    text-transform: uppercase
}

@media (max-width:1024px) {
    .hero-title .title-line {
        font-size: 2rem
    }

    .hero-title .title-line.highlight {
        font-size: 2.5rem
    }

    .shape-1 {
        width: 300px;
        height: 300px
    }

    .shape-2 {
        width: 200px;
        height: 200px
    }

    .shape-3 {
        width: 150px;
        height: 150px
    }
}

@media (max-width:768px) {
    .hero {
        min-height: auto;
        padding: 0
    }

    .hero-container {
        padding: 100px 0 60px 0
    }

    .hero-title .title-line {
        font-size: 1.5rem
    }

    .hero-title .title-line.highlight {
        font-size: 1.75rem
    }

    .hero-description {
        font-size: .95rem !important;
        padding: 0 16px
    }

    .hero-buttons {
        flex-direction: column !important;
        gap: 12px !important;
        padding: 0 16px
    }

    .hero-buttons .btn {
        width: 100%;
        justify-content: center
    }

    .scroll-indicator {
        bottom: 20px
    }

    .scroll-indicator p {
        display: none
    }

    .shape-1,
    .shape-2,
    .shape-3 {
        opacity: .05
    }
}

@media (max-width:480px) {
    .hero-container {
        padding: 90px 0 50px 0
    }

    .hero-title .title-line {
        font-size: 1.3rem
    }

    .hero-title .title-line.highlight {
        font-size: 1.5rem
    }

    .hero-badge {
        font-size: .75rem !important;
        padding: 8px 16px !important
    }

    .hero-description {
        font-size: .85rem !important
    }

    .hero-buttons .btn {
        padding: 12px 20px !important;
        font-size: .85rem !important
    }

    .live-alert {
        font-size: .8rem;
        padding: 10px 18px
    }
}

.quick-access,
.news-section,
.about-section {
    padding: 50px 0 !important
}

.quick-access-card,
.news-card,
.transparency-card {
    transition: all .3s ease !important
}

.quick-access-card:hover,
.news-card:hover,
.transparency-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .15) !important
}

.btn,
.parl-main-btn,
.parl-card-actions a {
    transition: all .3s ease !important;
    position: relative;
    overflow: hidden
}

.btn::before,
.parl-main-btn::before,
.parl-card-actions a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .2);
    transform: translate(-50%, -50%);
    transition: width .6s, height .6s
}

.btn:hover::before,
.parl-main-btn:hover::before,
.parl-card-actions a:hover::before {
    width: 300px;
    height: 300px
}

.btn:hover,
.parl-main-btn:hover,
.parl-card-actions a:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, .2)
}

.btn:active,
.parl-main-btn:active,
.parl-card-actions a:active {
    transform: translateY(-1px)
}

.section-header,
.section-header-row {
    margin-bottom: 30px !important
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.section-title,
.section-subtitle {
    animation: fadeInUp .8s ease-out
}

a,
button,
.nav-link {
    cursor: pointer
}

img {
    transition: opacity .3s ease
}

img:not([src]) {
    opacity: 0
}

.vereadores-section {
    background: linear-gradient(135deg, #1a4480 0%, #2563eb 100%);
    padding: 50px 0
}

.vereadores-subtitle {
    color: white;
    font-size: 1.25rem;
    font-weight: 600;
    margin-top: 30px;
    margin-bottom: 20px;
    text-align: center;
    opacity: .9
}

.vereadores-grid-fixa {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto
}

.vereadores-carousel {
    position: relative;
    display: flex;
    align-items: center;
    gap: 15px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto
}

.vereadores-carousel-track {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    overflow-y: hidden;
    flex: 1;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 10px 0
}

.vereadores-carousel-track::-webkit-scrollbar {
    display: none
}

.vereadores-grid-fixa .vereador-card,
.vereadores-carousel-track .vereador-card {
    flex: 0 0 calc(25% - 15px);
    min-width: calc(25% - 15px);
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0, 0, 0, .2);
    transition: all .3s ease;
    text-align: center
}

.vereadores-grid-fixa .vereador-card {
    flex: none;
    min-width: auto
}

.vereador-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 45px rgba(0, 0, 0, .3)
}

.carousel-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: white;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(0, 0, 0, .2);
    transition: all .3s ease;
    flex-shrink: 0;
    color: #1a4480
}

.carousel-btn:hover {
    background: #f0f0f0;
    transform: scale(1.1)
}

.carousel-btn:disabled {
    opacity: .5;
    cursor: not-allowed;
    transform: none
}

.carousel-btn i {
    font-size: 16px
}

.carousel-indicators {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 25px
}

.carousel-indicator {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .4);
    border: none;
    cursor: pointer;
    transition: all .3s ease
}

.carousel-indicator.active {
    background: white;
    transform: scale(1.2)
}

.vereador-image {
    width: 100%;
    height: 300px;
    object-fit: cover;
    background: #f5f5f5
}

.vereador-info {
    padding: 10px
}

.vereador-cargo {
    font-size: .85rem;
    font-weight: 700;
    color: #1a4480;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px
}

.vereador-nome {
    font-size: 1.1rem;
    font-weight: 600;
    color: #333;
    margin: 0
}

.vereadores-section .section-title {
    color: white !important
}

.vereadores-section .section-subtitle {
    color: rgba(255, 255, 255, .9) !important
}

@media (max-width:1024px) {
    .vereadores-grid-fixa {
        grid-template-columns: repeat(2, 1fr)
    }

    .vereador-card {
        flex: 0 0 calc(50% - 10px);
        min-width: calc(50% - 10px)
    }
}

@media (max-width:768px) {
    .vereadores-section {
        padding: 30px 0
    }

    .vereadores-grid-fixa {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px
    }

    .vereadores-subtitle {
        font-size: 1rem;
        margin-top: 20px;
        margin-bottom: 15px
    }

    .vereadores-carousel {
        gap: 10px;
        margin-top: 15px
    }

    .vereadores-grid-fixa .vereador-card {
        flex: none;
        min-width: auto
    }

    .vereadores-carousel-track .vereador-card {
        flex: 0 0 100%;
        min-width: 100%;
        border-radius: 10px
    }

    .carousel-btn {
        width: 28px;
        height: 28px
    }

    .carousel-btn i {
        font-size: 14px
    }

    .vereador-image {
        height: 220px;
        object-fit: cover;
        object-position: top
    }

    .vereador-info {
        padding: 8px
    }

    .vereador-cargo {
        font-size: .65rem;
        margin-bottom: 2px;
        letter-spacing: .5px
    }

    .vereador-nome {
        font-size: .8rem
    }
}

@media (max-width:480px) {
    .vereadores-grid {
        gap: 10px
    }

    .vereador-card,
    .vereador-card:nth-child(n + 5) {
        flex: 0 0 calc(50% - 5px)
    }

    .vereador-image {
        height: 140px
    }

    .vereador-info {
        padding: 10px
    }

    .vereador-cargo {
        font-size: .65rem
    }

    .vereador-nome {
        font-size: .85rem
    }
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid #daa520 !important;
    outline-offset: 2px !important
}

body.high-contrast .header,
body.high-contrast main,
body.high-contrast footer,
body.high-contrast .skip-links {
    filter: contrast(1.2)
}

.agenda-section {
    padding: 60px 0
}

.agenda-box {
    width: 100%;
    height: 100%
}

.agenda-box h1 {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100% !important;
    border: dashed 2px var(--color-primary);
    border-radius: 10px;
    font-size: 21px;
    opacity: .5
}

.agenda-box .eventos-lista {
    padding: 0;
    border-top-right-radius: var(--border-radius-padrao);
    border-bottom-right-radius: var(--border-radius-padrao);
    background-color: var(--cor-fundo-progresso);
    overflow-x: hidden;
    overflow-y: scroll
}

.agenda-box .eventos-lista .list-group {
    display: grid;
    grid-template-columns: 1fr 1fr
}

.agenda-box .eventos-lista .list-group-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    border-radius: 0;
    border: 0;
    padding: 0 10px;
    border-radius: var(--radius-lg);
    background-color: transparent;
    border-bottom: solid 1px var(--cor-secundaria)
}

.agenda-box .eventos-lista .list-group-item:hover {
    background-color: var(--color-muted)
}

.agenda-box::-webkit-scrollbar {
    width: 5px
}

.agenda-box::-webkit-scrollbar-track {
    border-radius: 10px
}

.agenda-box::-webkit-scrollbar-thumb {
    background: var(--color-primary);
    border-radius: var(--radius-sm)
}

.agenda-box::-webkit-scrollbar-thumb:hover {
    background: var(--color-primary-dark)
}

.agenda-box .text-muted {
    padding: 30px;
    font-size: 1rem
}

.agenda-box h4 {
    font-size: 2.25rem
}

.agenda-box .eventos-lista h5 {
    display: inline-block;
    padding: 0;
    width: 100%;
    color: var(--color-primary);
    font-size: 1.5rem;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.agenda-box .eventos-lista h6 {
    font-size: 1.2rem
}

.agenda-box h4::before {
    content: "\f133";
    font-family: 'Font Awesome 7 Free';
    font-weight: 400;
    padding-right: 10px
}

.agenda-box .agenda-botoes-mes {
    display: flex;
    justify-content: end;
    gap: 15px
}

.agenda-box .agenda-botoes-controle i {
    margin: 0
}

.agenda-box .evento-item .evento-item-data {
    width: 20%;
    height: 100%;
    background-color: var(--cor-branco);
    flex: 1;
    padding: 10px 0
}

.agenda-box .evento-item .evento-item-dados {
    border-left: solid 1px var(--cor-secundaria);
    width: 80%;
    height: 100%;
    padding: 12px
}

.agenda-box .evento-item .evento-item-data .eventos-lista-data {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: var(--radius-lg);
    background: linear-gradient(135deg, var(--color-primary), var(--color-primary-light)) !important;
    height: 100%
}

.agenda-box .eventos-lista-data-dia {
    font-size: 1.1rem;
    line-height: 1.2rem;
    color: #FFF
}

.agenda-box .eventos-lista-data-mes {
    font-size: 1.1rem;
    line-height: 1.2rem;
    color: #FFF
}

.agenda-box .eventos-lista-data-ano {
    font-size: 1.1rem;
    line-height: 1.2rem;
    color: #FFF
}

.agenda-box .eventos-lista-data-horario {
    background-color: #FFF;
    color: var(--color-primary);
    font-size: 1rem;
    line-height: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    padding: 4px 8px;
    margin-top: 2px
}

.agenda-box .evento-desc {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    text-overflow: ellipsis
}

.watermark-icon {
    position: relative;
    overflow: hidden
}

.watermark-icon::before {
    content: attr(data-watermark);
    position: absolute;
    right: 16px;
    bottom: 16px;
    font-size: 48px;
    font-weight: 800;
    color: rgba(0, 0, 0, .08);
    pointer-events: none;
    z-index: 0;
    white-space: nowrap;
    text-transform: uppercase
}

.watermark-icon>* {
    position: relative;
    z-index: 1
}

@media (max-width:1024px) and (min-width:769px) {
    .main-header {
        padding: 8px 0 !important
    }

    .logo-img {
        width: 48px !important;
        height: 48px !important
    }

    .logo .logo-text h2 {
        font-size: .9rem !important
    }

    .logo .logo-text p {
        font-size: .8rem !important
    }

    .hero {
        min-height: 45vh !important;
        padding: 100px 0 50px 0 !important
    }

    .hero-title {
        font-size: 2.2rem !important
    }

    .hero-description {
        font-size: 1rem !important
    }

    .quick-access,
    .news-section,
    .about-section,
    .transparency-banner,
    .agenda-section {
        padding: 40px 0 !important
    }

    .section-title {
        font-size: 1.75rem !important
    }

    .quick-access-grid {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 12px !important
    }

    .quick-access-card {
        padding: 16px 12px !important
    }

    .quick-access-icon {
        width: 44px !important;
        height: 44px !important
    }

    .quick-access-card h3 {
        font-size: .8rem !important
    }

    .quick-access-card p {
        font-size: .7rem !important
    }

    .news-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important
    }

    .transparency-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important
    }
}

@media (max-width:768px) {
    .header {
        padding: 0 !important
    }

    .top-bar {
        display: none !important
    }

    .main-header {
        padding: 10px 0 !important
    }

    .header-content {
        padding: 0 !important
    }

    .logo-img {
        width: 44px !important;
        height: 44px !important
    }

    .logo {
        gap: 8px !important
    }

    .btn-icon {
        width: 44px !important;
        height: 44px !important;
        padding: 8px !important
    }

    .header-actions {
        gap: 4px !important
    }

    .mobile-menu-toggle {
        display: none !important
    }

    .nav-mobile {
        display: none !important
    }

    .nav-mobile.active {
        display: block !important
    }

    .hero {
        padding: 80px 0 40px 0 !important;
        min-height: auto !important
    }

    .hero-content {
        padding: 24px 0 !important
    }

    .hero-badge {
        font-size: .7rem !important;
        padding: 8px 16px !important;
        margin-bottom: 16px !important
    }

    .hero-title {
        font-size: 1.6rem !important;
        margin-bottom: 16px !important;
        line-height: 1.3 !important
    }

    .hero-title span {
        display: block
    }

    .hero-description {
        font-size: .95rem !important;
        line-height: 1.6 !important;
        margin-bottom: 24px !important;
        padding: 0 8px
    }

    .hero-buttons {
        flex-direction: column !important;
        gap: 12px !important;
        padding: 0 16px
    }

    .hero-buttons .btn {
        width: 100% !important;
        justify-content: center !important;
        padding: 14px 24px !important;
        font-size: .9rem !important
    }

    .quick-access,
    .news-section,
    .about-section,
    .transparency-banner,
    .agenda-section {
        padding: 20px 0 !important
    }

    .section-header {
        margin-bottom: 20px !important;
        padding: 0 8px
    }

    .section-title {
        font-size: 1.35rem !important;
        line-height: 1.3 !important
    }

    .section-subtitle {
        font-size: .9rem !important;
        line-height: 1.5 !important
    }

    .section-header-row {
        gap: 16px !important;
        margin-bottom: 24px !important
    }

    .section-header-row .btn-outline {
        padding: 10px 16px !important;
        font-size: .8rem !important
    }

    .quick-access-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important
    }

    .quick-access-card {
        padding: 12px 10px !important;
        border-radius: 12px !important;
        min-height: 90px !important;
        gap: 8px !important
    }

    .quick-access-icon {
        width: 40px !important;
        height: 40px !important;
        margin-bottom: 4px !important
    }

    .quick-access-icon i {
        width: 18px !important;
        height: 18px !important
    }

    .quick-access-card h3 {
        font-size: .72rem !important;
        line-height: 1.25 !important
    }

    .quick-access-card p {
        display: none !important
    }

    .news-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important
    }

    .news-card {
        border-radius: 12px !important
    }

    .news-card-image {
        aspect-ratio: 16/10 !important
    }

    .news-card-content {
        padding: 16px !important
    }

    .news-card-meta {
        gap: 8px !important;
        margin-bottom: 10px !important
    }

    .badge {
        font-size: .7rem !important;
        padding: 4px 10px !important
    }

    .news-date {
        font-size: .7rem !important
    }

    .news-card h3 {
        font-size: 1rem !important;
        line-height: 1.4 !important;
        margin-bottom: 8px !important
    }

    .news-card p {
        font-size: .85rem !important;
        margin-bottom: 12px !important
    }

    .news-link {
        font-size: .85rem !important
    }

    .about-grid {
        gap: 24px !important
    }

    .about-image {
        border-radius: 16px !important
    }

    .about-content {
        padding: 0 !important
    }

    .about-label {
        font-size: .8rem !important
    }

    .about-content .section-title {
        font-size: 1.3rem !important
    }

    .about-content p {
        font-size: .9rem !important;
        line-height: 1.6 !important
    }

    .stats-card {
        padding: 16px !important;
        gap: 20px !important;
        border-radius: 12px !important;
        flex-wrap: wrap;
        justify-content: center !important
    }

    .stat {
        min-width: 70px
    }

    .stat-value {
        font-size: 1.4rem !important
    }

    .stat-label {
        font-size: .7rem !important
    }

    .highlights-list {
        grid-template-columns: 1fr !important;
        gap: 12px !important
    }

    .highlights-list li {
        gap: 10px !important
    }

    .highlights-list i {
        width: 18px !important;
        height: 18px !important
    }

    .highlights-list span {
        font-size: .85rem !important
    }

    .about-content .btn-primary {
        width: 100% !important;
        justify-content: center !important
    }

    .transparency-banner {
        padding: 32px 0 !important
    }

    .transparency-content h2 {
        font-size: 1.3rem !important;
        margin-bottom: 12px !important
    }

    .transparency-content>p {
        font-size: .9rem !important;
        margin-bottom: 24px !important;
        padding: 0 8px
    }

    .transparency-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important
    }

    .transparency-card {
        padding: 14px 16px !important;
        border-radius: 12px !important
    }

    .transparency-icon {
        width: 44px !important;
        height: 44px !important;
        border-radius: 10px !important
    }

    .transparency-icon i {
        width: 22px !important;
        height: 22px !important
    }

    .transparency-text h3 {
        font-size: .85rem !important
    }

    .transparency-card>i {
        width: 18px !important;
        height: 18px !important
    }

    .agenda-section {
        padding: 32px 0 !important
    }

    .agenda-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important
    }

    .agenda-title {
        font-size: 1.25rem !important;
        gap: 10px !important
    }

    .agenda-title i {
        width: 24px !important;
        height: 24px !important
    }

    .agenda-controls {
        width: 100% !important;
        justify-content: space-between !important
    }

    .agenda-btn-primary {
        padding: 12px 20px !important;
        font-size: .8rem !important;
        flex: 1;
        text-align: center
    }

    .agenda-nav-btn {
        width: 44px !important;
        height: 44px !important
    }

    .agenda-content {
        min-height: 180px !important;
        border-radius: 10px !important
    }

    .agenda-empty {
        font-size: .9rem !important;
        padding: 40px 20px !important
    }

    .agenda-list {
        padding: 16px !important
    }

    .agenda-item {
        flex-direction: column !important;
        gap: 12px !important;
        padding: 16px !important;
        border-radius: 10px !important
    }

    .agenda-item-date {
        flex-direction: row !important;
        min-width: auto !important;
        gap: 8px !important;
        padding: 8px 16px !important;
        border-radius: 6px !important;
        align-self: flex-start
    }

    .agenda-item-day {
        font-size: 1.2rem !important
    }

    .agenda-item-month {
        font-size: .7rem !important;
        margin-top: 0 !important
    }

    .agenda-item-title {
        font-size: 1rem !important
    }

    .agenda-item-details {
        flex-direction: column !important;
        gap: 8px !important;
        font-size: .8rem !important
    }

    .agenda-item-type {
        font-size: .7rem !important;
        margin-top: 8px !important
    }
}

@media (max-width:480px) {
    .container {
        padding: 0 12px !important
    }

    .hero {
        padding: 70px 0 32px 0 !important
    }

    .hero-content {
        padding: 20px 0 !important
    }

    .hero-badge {
        font-size: .65rem !important;
        padding: 6px 12px !important
    }

    .hero-title {
        font-size: 1.4rem !important
    }

    .hero-description {
        font-size: .85rem !important
    }

    .hero-buttons .btn {
        padding: 12px 20px !important;
        font-size: .85rem !important
    }

    .quick-access,
    .news-section,
    .about-section,
    .transparency-banner,
    .agenda-section {
        padding: 24px 0 !important
    }

    .section-title {
        font-size: 1.2rem !important
    }

    .section-subtitle {
        font-size: .85rem !important
    }

    .quick-access-grid {
        gap: 8px !important
    }

    .quick-access-card {
        padding: 14px 10px !important;
        min-height: 90px;
        gap: 6px !important
    }

    .quick-access-icon {
        width: 38px !important;
        height: 38px !important
    }

    .quick-access-icon i {
        width: 18px !important;
        height: 18px !important
    }

    .quick-access-card h3 {
        font-size: .7rem !important
    }

    .news-card-content {
        padding: 14px !important
    }

    .news-card h3 {
        font-size: .95rem !important
    }

    .news-card p {
        font-size: .8rem !important;
        -webkit-line-clamp: 2
    }

    .stats-card {
        padding: 14px 12px !important;
        gap: 16px !important
    }

    .stat-value {
        font-size: 1.2rem !important
    }

    .stat-label {
        font-size: .65rem !important
    }

    .transparency-content h2 {
        font-size: 1.2rem !important
    }

    .transparency-content>p {
        font-size: .85rem !important
    }

    .transparency-card {
        padding: 12px 14px !important
    }

    .transparency-icon {
        width: 40px !important;
        height: 40px !important
    }

    .transparency-text h3 {
        font-size: .8rem !important
    }

    .agenda-title {
        font-size: 1.15rem !important
    }

    .agenda-btn-primary {
        padding: 10px 16px !important;
        font-size: .75rem !important
    }

    .agenda-nav-btn {
        width: 40px !important;
        height: 40px !important
    }

    .about-content .section-title {
        font-size: 1.15rem !important
    }

    .about-content p {
        font-size: .85rem !important
    }
}

@media (max-width:768px) {

    a,
    button {
        min-height: 44px;
        min-width: 44px
    }

    p a,
    span a,
    .news-link,
    .footer-column ul a {
        min-height: auto;
        min-width: auto
    }

    .quick-access-card:active,
    .news-card:active,
    .transparency-card:active,
    .btn:active {
        transform: scale(.98) !important;
        opacity: .9
    }

    @media (hover:none) {

        .quick-access-card:hover,
        .news-card:hover,
        .transparency-card:hover {
            transform: none !important
        }
    }

    body {
        font-size: 16px;
        text-size-adjust: 100%;
        -webkit-text-size-adjust: 100%
    }

    .nav-mobile,
    .quick-access-sidebar {
        -webkit-overflow-scrolling: touch
    }
}

.quick-access-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    background: white;
    border: 1.5px solid white;
    color: #1a4480;
    padding: 8px 16px;
    border-radius: 25px;
    font-size: .8rem;
    font-weight: 600;
    cursor: pointer;
    transition: all .3s ease;
    font-family: var(--font-body)
}

.quick-access-btn:hover {
    background: rgba(255, 255, 255, .9);
    color: #1a4480;
    box-shadow: 0 4px 15px rgba(0, 0, 0, .15)
}

.quick-access-btn i {
    width: 16px;
    height: 16px
}

.quick-access-btn .shortcut-key {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background: rgba(26, 68, 128, .15);
    border-radius: 4px;
    font-size: .7rem;
    font-weight: 700
}

.quick-access-btn:hover .shortcut-key {
    background: rgba(26, 68, 128, .2)
}

.sidebar-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, .5);
    z-index: 1999;
    opacity: 0;
    visibility: hidden;
    transition: all .3s ease
}

.sidebar-overlay.active {
    opacity: 1;
    visibility: visible
}

.quick-access-sidebar {
    position: fixed;
    top: 0;
    right: -400px;
    width: 380px;
    max-width: 90vw;
    height: 100vh;
    background: #1a1a2e;
    z-index: 2000;
    transition: right .3s ease;
    overflow-y: auto;
    display: flex;
    flex-direction: column
}

.quick-access-sidebar.active {
    right: 0
}

.sidebar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid rgba(255, 255, 255, .1)
}

.sidebar-title {
    color: #ffffff;
    font-size: 1.25rem;
    font-weight: 700;
    font-family: var(--font-display)
}

.sidebar-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, .1);
    border: none;
    border-radius: 8px;
    color: #ffffff;
    cursor: pointer;
    transition: all .2s ease
}

.sidebar-close:hover {
    background: rgba(255, 255, 255, .2)
}

.sidebar-close i {
    width: 20px;
    height: 20px
}

.sidebar-content {
    flex: 1;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.sidebar-section {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.sidebar-section-title {
    color: #a0a0a0;
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px
}

.contrast-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
    background: rgba(255, 255, 255, .05);
    border-radius: 12px;
    cursor: pointer;
    transition: all .2s ease;
    border: none;
    width: 100%
}

.contrast-toggle:hover {
    background: rgba(255, 255, 255, .1)
}

.contrast-toggle-info {
    display: flex;
    align-items: center;
    gap: 12px
}

.contrast-toggle-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 10px;
    color: #ffffff
}

.contrast-toggle-icon i {
    width: 22px;
    height: 22px
}

.contrast-toggle-text {
    text-align: left
}

.contrast-toggle-label {
    color: #ffffff;
    font-size: .95rem;
    font-weight: 600
}

.contrast-toggle-status {
    color: #a0a0a0;
    font-size: .8rem
}

.sidebar-main-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 24px;
    background: linear-gradient(135deg, #daa520 0%, #f4d03f 100%);
    color: #1a4480;
    font-size: .95rem;
    font-weight: 700;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    transition: all .3s ease;
    text-decoration: none
}

.sidebar-main-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(218, 165, 32, .4)
}

.sidebar-main-btn i {
    width: 20px;
    height: 20px
}

.sidebar-nav-links {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.sidebar-nav-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: rgba(255, 255, 255, .05);
    border-radius: 10px;
    color: #ffffff;
    text-decoration: none;
    transition: all .2s ease
}

.sidebar-nav-link:hover {
    background: rgba(255, 255, 255, .1);
    transform: translateX(5px)
}

.sidebar-nav-link-info {
    display: flex;
    align-items: center;
    gap: 12px
}

.sidebar-nav-link i {
    width: 18px;
    height: 18px;
    color: #daa520
}

.sidebar-nav-link span {
    font-size: .9rem;
    font-weight: 500
}

.sidebar-nav-link .nav-shortcut {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    padding: 0 6px;
    background: rgba(255, 255, 255, .1);
    border-radius: 6px;
    font-size: .7rem;
    font-weight: 700;
    color: #a0a0a0
}

.sidebar-social {
    display: flex;
    gap: 12px
}

.sidebar-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: rgba(255, 255, 255, .05);
    border-radius: 10px;
    color: #ffffff;
    transition: all .2s ease
}

.sidebar-social a:hover {
    background: #1a4480;
    transform: translateY(-3px)
}

.sidebar-social a i {
    width: 20px;
    height: 20px
}

.sidebar-shortcuts-tip {
    background: rgba(255, 255, 255, .03);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 12px;
    padding: 16px
}

.shortcuts-tip-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    color: #ffffff;
    font-weight: 600;
    font-size: .9rem
}

.shortcuts-tip-header i {
    width: 18px;
    height: 18px;
    color: #daa520
}

.shortcuts-tip-text {
    color: #a0a0a0;
    font-size: .8rem;
    line-height: 1.5;
    margin-bottom: 12px
}

.shortcuts-list {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.shortcut-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #c0c0c0;
    font-size: .8rem
}

.shortcut-item kbd {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    padding: 0 8px;
    background: rgba(255, 255, 255, .1);
    border-radius: 6px;
    font-size: .7rem;
    font-weight: 700;
    font-family: monospace
}

.sidebar-menu-section {
    display: none
}

.sidebar-shortcuts-section {
    display: block
}

.quick-access-btn .icon-desktop {
    display: block
}

.quick-access-btn .icon-mobile {
    display: none
}

@media (max-width:768px) {
    .sidebar-menu-section {
        display: block
    }

    .sidebar-shortcuts-section {
        display: none
    }

    .sidebar-shortcuts-tip {
        display: none
    }

    .quick-access-btn .icon-desktop {
        display: none
    }

    .quick-access-btn .icon-mobile {
        display: block
    }

    .quick-access-btn span {
        display: none
    }

    .quick-access-btn {
        padding: 10px;
        border-radius: 10px;
        width: 44px;
        height: 44px;
        justify-content: center
    }

    .quick-access-btn .shortcut-key {
        display: none
    }

    .quick-access-sidebar {
        width: 100%;
        max-width: 100%;
        right: -100%
    }

    .quick-access-sidebar.active {
        right: 0
    }

    .sidebar-header {
        padding: 16px 20px
    }

    .sidebar-title {
        font-size: 1.1rem
    }

    .sidebar-close {
        width: 44px;
        height: 44px
    }

    .sidebar-content {
        padding: 20px;
        gap: 20px
    }

    .contrast-toggle {
        padding: 14px
    }

    .contrast-toggle-icon {
        width: 40px;
        height: 40px
    }

    .contrast-toggle-icon i {
        width: 20px;
        height: 20px
    }

    .contrast-toggle-label {
        font-size: .9rem
    }

    .contrast-toggle-status {
        font-size: .75rem
    }

    .sidebar-main-btn {
        padding: 14px 20px;
        font-size: .9rem
    }

    .sidebar-nav-link {
        padding: 14px
    }

    .sidebar-nav-link span {
        font-size: .85rem
    }

    .sidebar-social a {
        width: 48px;
        height: 48px
    }

    .sidebar-shortcuts-tip {
        padding: 14px
    }

    .shortcuts-tip-header {
        font-size: .85rem
    }

    .shortcuts-tip-text {
        font-size: .75rem
    }

    .shortcut-item {
        font-size: .75rem
    }
}

@media (max-width:768px) {
    .footer .container {
        padding: 24px 16px 16px !important
    }

    .footer-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important
    }

    .footer-quick-links,
    .footer-institutional {
        display: none !important
    }

    .footer-column:first-child {
        text-align: center !important
    }

    .footer-logo {
        justify-content: center !important;
        margin-bottom: 12px !important
    }

    .footer-logo .logo-img {
        width: 44px !important;
        height: 44px !important
    }

    .footer-logo .logo-text h3 {
        font-size: .95rem !important
    }

    .footer-logo .logo-text p {
        font-size: .8rem !important
    }

    .footer-description {
        display: none !important
    }

    .footer-social {
        justify-content: center !important;
        gap: 16px !important
    }

    .footer-social a {
        width: 40px !important;
        height: 40px !important
    }

    .footer-column:last-child {
        text-align: center !important
    }

    .footer-column:last-child h4 {
        font-size: .95rem !important;
        margin-bottom: 12px !important
    }

    .contact-list {
        align-items: center !important;
        gap: 10px !important
    }

    .contact-list li {
        justify-content: center !important
    }

    .contact-list span {
        font-size: .85rem !important
    }

    .footer-bottom .container {
        padding: 14px 16px !important
    }

    .footer-bottom-content {
        flex-direction: column !important;
        gap: 10px !important
    }

    .footer-bottom p {
        font-size: .7rem !important;
        text-align: center !important
    }

    .back-to-top {
        font-size: .8rem !important;
        padding: 8px 16px !important
    }
}

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

html {
    scroll-behavior: smooth
}

body {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.6;
    color: var(--color-foreground);
    background-color: var(--color-background);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-display);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.02em
}

.bi {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    line-height: 1
}

[class*="-icon"] .bi,
[class*="-icon"] i {
    display: flex;
    align-items: center;
    justify-content: center
}

a {
    text-decoration: none;
    color: inherit
}

img {
    max-width: 100%;
    height: auto;
    display: block
}

button {
    font-family: inherit;
    cursor: pointer;
    border: none;
    background: none
}

ul,
ol {
    list-style: none
}

.container {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 var(--spacing-md)
}

@media (min-width:640px) {
    .container {
        padding: 0 var(--spacing-lg)
    }
}

@media (min-width:1024px) {
    .container {
        padding: 0 var(--spacing-xl)
    }
}

.text-gold {
    background: linear-gradient(135deg, var(--color-secondary) 0%, var(--color-secondary-light) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.text-primary {
    color: var(--color-primary)
}

@keyframes fadeIn {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(20px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.animate-fade-in {
    animation: fadeIn .6s ease-out forwards
}

.animate-slide-up {
    animation: slideUp .6s ease-out forwards
}

.scroll-indicator {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    z-index: 10;
    animation: fadeIn 1s ease-out .5s forwards;
    opacity: 0
}

.scroll-mouse {
    width: 26px;
    height: 40px;
    border: 2px solid rgba(255, 255, 255, .7);
    border-radius: 15px;
    position: relative
}

.scroll-mouse::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    width: 4px;
    height: 8px;
    background-color: rgba(255, 255, 255, .9);
    border-radius: 2px;
    animation: scrollWheel 1.5s ease-in-out infinite
}

.scroll-text {
    font-size: .7rem;
    color: rgba(255, 255, 255, .7);
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 500
}

.scroll-arrow {
    display: flex;
    flex-direction: column;
    align-items: center
}

.scroll-arrow i {
    font-size: 16px;
    color: rgba(255, 255, 255, .7);
    animation: bounceArrow 1.5s ease-in-out infinite
}

@keyframes scrollWheel {
    0% {
        opacity: 1;
        transform: translateX(-50%) translateY(0)
    }

    100% {
        opacity: 0;
        transform: translateX(-50%) translateY(12px)
    }
}

@keyframes bounceArrow {

    0%,
    100% {
        transform: translateY(0);
        opacity: .7
    }

    50% {
        transform: translateY(5px);
        opacity: 1
    }
}

@media (max-width:768px) {
    .scroll-indicator {
        display: none
    }
}

.delay-100 {
    animation-delay: 100ms
}

.delay-200 {
    animation-delay: 200ms
}

.delay-300 {
    animation-delay: 300ms
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-sm);
    padding: .75rem 1.5rem;
    font-family: var(--font-display);
    font-size: .875rem;
    font-weight: 600;
    border-radius: var(--radius-lg);
    transition: all var(--transition-base);
    cursor: pointer
}

.btn i {
    font-size: 16px
}

.btn-primary {
    background-color: var(--color-primary);
    color: var(--color-primary-foreground);
    box-shadow: var(--shadow-md)
}

.btn-primary:hover {
    background-color: var(--color-primary-light);
    transform: translateY(-1px)
}

.btn-secondary {
    background-color: var(--color-secondary);
    color: var(--color-secondary-foreground);
    box-shadow: var(--shadow-gold)
}

.btn-secondary:hover {
    background-color: var(--color-secondary-light);
    transform: translateY(-1px)
}

.btn-outline {
    background-color: transparent;
    color: var(--color-primary);
    border: 2px solid var(--color-primary)
}

.btn-outline:hover {
    background-color: var(--color-primary);
    color: var(--color-primary-foreground)
}

.btn-outline-light {
    background-color: transparent;
    color: var(--color-primary-foreground);
    border: 2px solid rgba(255, 255, 255, .3)
}

.btn-outline-light:hover {
    background-color: rgba(255, 255, 255, .1)
}

.btn-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--radius-md);
    color: rgba(255, 255, 255, .8);
    transition: all var(--transition-fast)
}

.btn-icon:hover {
    background-color: rgba(255, 255, 255, .1);
    color: white
}

.btn-icon i {
    font-size: 20px
}

.badge.bg-primaria {
    background-color: var(--color-primary);
    color: var(--color-primary-foreground)
}

.badge.bg-warning {
    color: var(--color-primary)
}

.badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: .25rem .75rem;
    font-family: var(--font-display);
    font-size: .75rem;
    font-weight: 500;
    border-radius: var(--radius-full)
}

.badge-primary {
    background-color: rgba(30, 58, 95, .1);
    color: var(--color-primary)
}

.badge-secondary {
    background-color: rgba(184, 134, 11, .2);
    color: var(--color-secondary-foreground)
}

.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: var(--z-sticky);
    width: 100%;
    background-color: var(--color-primary)
}

.top-bar {
    background-color: var(--color-primary);
    color: var(--color-primary-foreground);
    padding: var(--spacing-sm) 0;
    display: block
}

.header.scrolled .top-bar {
    background-color: transparent;
    display: none
}

.top-bar-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: .875rem
}

.contact-info {
    display: none;
    align-items: center;
    gap: var(--spacing-lg)
}

@media (min-width:768px) {
    .contact-info {
        display: flex
    }
}

.contact-link {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    opacity: .9;
    transition: opacity var(--transition-fast)
}

.contact-link:hover {
    opacity: 1
}

.contact-link i {
    font-size: 16px
}

.social-links {
    display: flex;
    align-items: center;
    gap: var(--spacing-md)
}

.social-label {
    display: none;
    font-size: .75rem;
    opacity: .75
}

@media (min-width:640px) {
    .social-label {
        display: inline
    }
}

.social-links a {
    opacity: .8;
    transition: opacity var(--transition-fast)
}

.social-links a:hover {
    opacity: 1
}

.social-links a i {
    font-size: 16px
}

.main-header {
    background: transparent;
    transition: all var(--transition-base)
}

.header.scrolled .main-header {
    background: transparent;
    box-shadow: none
}

.header-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--spacing-sm) 0
}

.logo {
    display: flex;
    align-items: center;
    gap: var(--spacing-md)
}

.logo-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    background-color: var(--color-primary);
    color: var(--color-primary-foreground);
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 700;
    border-radius: var(--radius-full)
}

.logo-img {
    width: 72px;
    height: 72px;
    object-fit: contain;
    border-radius: var(--radius-lg);
    margin: -8px 0
}

.footer-logo .logo-img {
    width: 64px;
    height: 64px
}

@media (min-width:640px) {
    .logo-text {
        display: block
    }
}

.logo-text h2 {
    font-size: 1.125rem;
    font-weight: 700;
    color: white;
    line-height: 1.3
}

.logo-text p {
    font-size: .875rem;
    color: rgba(255, 255, 255, .8);
    font-weight: 500
}

.header.scrolled .logo-text h2 {
    color: white;
    text-shadow: 0 2px 4px rgba(0, 0, 0, .2)
}

.header.scrolled .logo-text p {
    color: rgba(255, 255, 255, .8)
}

.nav-desktop {
    display: none;
    align-items: center;
    gap: .25rem
}

.nav-desktop .btn-close {
    display: none !important
}

@media (max-width:991px) {
    .agenda-box .eventos-lista .list-group {
        display: grid;
        grid-template-columns: 1fr
    }

    .nav-desktop .btn-close {
        display: block !important
    }
}

@media (min-width:1024px) {
    .nav-desktop {
        display: flex
    }
}

.nav-link {
    position: relative;
    display: flex;
    align-items: center;
    gap: .25rem;
    padding: .5rem 1rem;
    font-family: var(--font-display);
    font-size: .875rem;
    font-weight: 500;
    color: rgba(255, 255, 255, .8);
    transition: color var(--transition-fast)
}

.nav-link i {
    font-size: 12px
}

.nav-link::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 2px;
    background-color: var(--color-secondary);
    transition: width var(--transition-base)
}

.nav-link:hover,
.nav-link.active {
    color: white
}

.header.scrolled .nav-link {
    color: rgba(255, 255, 255, .7)
}

.header.scrolled .nav-link:hover,
.header.scrolled .nav-link.active {
    color: white
}

.nav-link:hover::before,
.nav-link.active::before {
    width: 75%
}

.nav-item.dropdown {
    position: relative
}

.dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 200px;
    padding: var(--spacing-sm);
    background-color: var(--color-card);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    animation: slideDown .2s ease-out
}

.nav-item.dropdown:hover .dropdown-menu {
    display: block
}

.dropdown-menu a {
    display: block;
    padding: .5rem 1rem;
    font-size: .875rem;
    color: var(--color-muted-foreground);
    border-radius: var(--radius-md);
    transition: all var(--transition-fast)
}

.dropdown-menu a:hover {
    background-color: var(--color-muted);
    color: var(--color-foreground)
}

.header-actions {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm)
}

.mobile-menu-toggle {
    display: flex
}

@media (min-width:1024px) {
    .mobile-menu-toggle {
        display: none
    }
}

.nav-mobile {
    display: none;
    padding: var(--spacing-md) 0;
    border-top: 1px solid var(--color-border)
}

.nav-mobile.active {
    display: block
}

.nav-mobile a {
    display: block;
    padding: .75rem 0;
    font-family: var(--font-display);
    font-size: .875rem;
    font-weight: 500;
    color: var(--color-muted-foreground);
    transition: color var(--transition-fast)
}

.nav-mobile a:hover {
    color: var(--color-foreground)
}

.hero {
    position: relative;
    min-height: 600px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: url("https://images.unsplash.com/photo-1578496479914-7ef3b0193be3?w=1920&h=1080&fit=crop") center/cover no-repeat;
    overflow: hidden
}

@media (min-width:1024px) {
    .hero {
        min-height: 700px
    }
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(30, 58, 95, .85) 0%, rgba(30, 58, 95, .7) 50%, rgba(30, 58, 95, .85) 100%)
}

.hero .container {
    position: relative;
    z-index: 1
}

.hero-content {
    text-align: center;
    padding: var(--spacing-3xl) 0
}

.hero-badge {
    display: inline-block;
    padding: .5rem 1rem;
    background-color: rgba(184, 134, 11, .2);
    color: var(--color-secondary);
    font-family: var(--font-display);
    font-size: .875rem;
    font-weight: 500;
    border-radius: var(--radius-full);
    margin-bottom: var(--spacing-md)
}

.hero-title {
    font-size: 2.25rem;
    margin-bottom: var(--spacing-lg);
    max-width: 900px;
    margin-left: auto;
    margin-right: auto
}

@media (min-width:768px) {
    .hero-title {
        font-size: 3rem
    }
}

@media (min-width:1024px) {
    .hero-title {
        font-size: 3.75rem
    }
}

.hero-description {
    font-size: 1.125rem;
    color: rgba(253, 246, 227, .8);
    max-width: 640px;
    margin: 0 auto var(--spacing-xl)
}

.hero-buttons {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
    justify-content: center
}

@media (min-width:640px) {
    .hero-buttons {
        flex-direction: row
    }
}

.hero-wave {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0
}

.hero-wave svg {
    width: 100%;
    height: auto;
    display: block
}

.quick-access {
    padding: var(--spacing-3xl) 0
}

.section-header {
    text-align: center;
    margin-bottom: var(--spacing-2xl)
}

.section-title {
    font-size: 1.875rem;
    color: var(--color-foreground);
    margin-bottom: var(--spacing-md)
}

@media (min-width:768px) {
    .section-title {
        font-size: 2.25rem
    }
}

.section-subtitle {
    font-size: 1.125rem;
    color: var(--color-muted-foreground);
    max-width: 640px;
    margin: 0 auto
}

.quick-access-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-md)
}

@media (min-width:640px) {
    .quick-access-grid {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media (min-width:768px) {
    .quick-access-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: var(--spacing-lg)
    }
}

.quick-access-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-md);
    padding: var(--spacing-lg);
    background-color: var(--color-card);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-sm);
    text-align: center;
    transition: all var(--transition-base)
}

.quick-access-card:hover {
    box-shadow: var(--shadow-lg);
    transform: translateY(-2px);
    background-color: var(--color-primary);
    color: var(--color-primary-foreground)
}

.quick-access-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    background-color: rgba(30, 58, 95, .1);
    color: var(--color-primary);
    border-radius: var(--radius-full);
    transition: all var(--transition-base)
}

.quick-access-card:hover .quick-access-icon {
    background-color: var(--color-secondary);
    color: var(--color-secondary-foreground);
    transform: scale(1.1)
}

.quick-access-icon i {
    font-size: 24px
}

.quick-access-card h3 {
    font-size: .875rem;
    font-weight: 600
}

.quick-access-card p {
    font-size: .75rem;
    color: var(--color-muted-foreground);
    margin-top: .25rem
}

.quick-access-card:hover p {
    color: rgba(253, 246, 227, .7)
}

.news-section {
    padding: var(--spacing-3xl) 0;
    background-color: var(--color-muted)
}

.section-header-row {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-2xl)
}

@media (min-width:640px) {
    .section-header-row {
        flex-direction: row;
        align-items: center;
        justify-content: space-between
    }
}

.news-grid {
    display: grid;
    gap: var(--spacing-xl)
}

@media (min-width:768px) {
    .news-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (min-width:1024px) {
    .news-grid {
        grid-template-columns: repeat(3, 1fr)
    }
}

.news-card {
    background-color: var(--color-card);
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    transition: all var(--transition-base)
}

.news-card:hover {
    box-shadow: var(--shadow-xl);
    transform: translateY(-4px)
}

.news-card-image-wrapper {
    display: block;
    overflow: hidden
}

.news-card-image {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    transition: transform .5s ease
}

.news-card:hover .news-card-image {
    transform: scale(1.05)
}

.news-card-content {
    padding: var(--spacing-lg)
}

.news-card-meta {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-md)
}

.news-date {
    display: flex;
    align-items: center;
    gap: .25rem;
    font-size: .75rem;
    color: var(--color-muted-foreground)
}

.news-date i {
    font-size: 12px
}

.news-card h3 {
    font-size: 1.125rem;
    line-height: 1.4;
    margin-bottom: var(--spacing-sm)
}

.news-card h3 a {
    color: var(--color-foreground);
    transition: color var(--transition-fast)
}

.news-card h3 a:hover {
    color: var(--color-primary)
}

.news-card p {
    font-size: .875rem;
    color: var(--color-muted-foreground);
    margin-bottom: var(--spacing-md);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.news-link {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-sm);
    font-family: var(--font-display);
    font-size: .875rem;
    font-weight: 600;
    color: var(--color-primary);
    transition: color var(--transition-fast)
}

.news-link:hover {
    color: var(--color-secondary)
}

.news-link i {
    font-size: 16px
}

.news-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-xl);
    align-items: stretch
}

.news-featured {
    grid-column: 1;
    display: flex;
    flex-direction: column
}

.news-featured .materia-box-slide-carousel {
    display: flex;
    flex-direction: column;
    flex: 1;
    background: var(--color-card);
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
    transition: all var(--transition-base);
    text-decoration: none;
    color: inherit
}

.news-featured-link:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-xl)
}

.news-featured .embla {
    padding: 0
}

.news-featured .materia-box-static-image {
    width: 100%;
    flex: 1;
    max-height: 360px;
    object-fit: cover;
    transition: transform .4s ease
}

.news-featured .materia-box-static-image img {
    object-fit: cover;
    object-position: center
}

.news-featured-link:hover .news-featured .materia-box-static-image {
    transform: scale(1.05)
}

.news-featured-content {
    padding: var(--spacing-xl)
}

.news-featured-content .badge {
    margin-bottom: var(--spacing-md)
}

.news-featured .materia-box-static-title h4 {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
    color: var(--color-foreground);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word
}

.news-featured p.materia-box-headline {
    font-size: .95rem;
    color: var(--color-muted-foreground);
    line-height: 1.6;
    margin-bottom: 30px !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word
}

.news-featured-meta {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    font-size: .875rem;
    color: var(--color-muted-foreground)
}

.news-featured .materia-box-static-caption {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm)
}

.news-featured .materia-box-static-caption .data {
    border-radius: var(--radius-full);
    background: var(--color-muted);
    padding: var(--spacing-sm);
    color: var(--color-primary);
    font-size: .9rem;
    line-height: .9rem;
    margin-top: 30px
}

.news-featured-meta i {
    font-size: 16px
}

.news-featured .materia-box-static-title,
.news-featured p.materia-box-headline,
.news-featured .materia-box-static-caption {
    padding: 5px 30px 0 30px !important;
    margin: 0 !important
}

.news-featured .embla__dots {
    background-color: rgb(247, 247, 247);
    margin: 0 !important;
    padding: 0 0 10px 0
}

.news-featured .embla__dots .embla__dot::after {
    background-color: var(--color-muted)
}

.news-featured .embla__dots .embla__dot.is-selected::after {
    background-color: var(--color-secondary) !important
}

.news-feed {
    grid-column: 2;
    display: flex;
    flex-direction: column;
    gap: 0;
    background: var(--color-card);
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-md)
}

.news-feed .list-group-item {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: var(--spacing-lg);
    row-gap: 0;
    padding: var(--spacing-lg);
    border-bottom: 1px solid var(--color-border);
    transition: all var(--transition-base)
}

.news-feed .list-group-item:last-child {
    border-bottom: none
}

.news-feed .list-group-item:hover {
    background: var(--color-muted)
}

.news-feed .materia-box-static-caption {
    grid-column: 1;
    grid-row: 1 / span 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--color-primary), var(--color-primary-light));
    color: white;
    border-radius: var(--radius-lg);
    padding: var(--spacing-sm);
    min-height: 70px;
    height: 100%;
    text-align: center
}

.news-feed .materia-box-static-caption .data i {
    display: none !important
}

.news-feed-date .day {
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1
}

.news-feed-date .month {
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-top: var(--spacing-xs)
}

.news-feed .materia-box-static-title h4 {
    grid-column: 2;
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 var(--spacing-sm) 0;
    line-height: 1.4;
    color: var(--color-foreground);
    text-decoration: none;
    transition: color var(--transition-fast)
}

.news-feed .materia-box-static-title h4:hover {
    color: var(--color-primary)
}

.news-feed p.materia-box-headline {
    grid-column: 2;
    font-size: .875rem;
    color: var(--color-muted-foreground);
    line-height: 1.5;
    margin: 0 0 var(--spacing-md) 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.news-feed-link {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-sm);
    font-family: var(--font-display);
    font-size: .825rem;
    font-weight: 600;
    color: var(--color-primary);
    text-decoration: none;
    transition: all var(--transition-fast)
}

.news-feed-link:hover {
    color: var(--color-secondary);
    gap: var(--spacing-md)
}

.news-feed-link i {
    font-size: 14px
}

.news-section[data-variant="masonry"] .news-container {
    display: none
}

.news-masonry {
    display: none;
    column-count: 4;
    column-gap: var(--spacing-lg)
}

.news-section[data-variant="masonry"] .news-masonry {
    display: block
}

.news-masonry-card {
    break-inside: avoid;
    margin-bottom: var(--spacing-lg);
    background: var(--color-card);
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    transition: all var(--transition-base)
}

.news-masonry-card:hover {
    box-shadow: var(--shadow-xl);
    transform: translateY(-4px)
}

.news-masonry-card a {
    display: block;
    text-decoration: none;
    color: inherit
}

.news-masonry-card-image {
    width: 100%;
    display: block;
    object-fit: cover;
    transition: transform .4s ease
}

.news-masonry-card:hover .news-masonry-card-image {
    transform: scale(1.05)
}

.news-masonry-card[data-size="small"] .news-masonry-card-image {
    height: 120px
}

.news-masonry-card[data-size="medium"] .news-masonry-card-image {
    height: 180px
}

.news-masonry-card[data-size="large"] .news-masonry-card-image {
    height: 280px
}

.news-masonry-card-content {
    padding: var(--spacing-lg)
}

.news-masonry-card-content .badge {
    margin-bottom: var(--spacing-sm)
}

.news-masonry-card-content h3 {
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 var(--spacing-sm) 0;
    color: var(--color-foreground);
    transition: color var(--transition-fast)
}

.news-masonry-card:hover .news-masonry-card-content h3 {
    color: var(--color-primary)
}

.news-masonry-card[data-size="large"] .news-masonry-card-content h3 {
    font-size: 1.25rem
}

.news-masonry-card-content p {
    font-size: .875rem;
    color: var(--color-muted-foreground);
    line-height: 1.5;
    margin: 0 0 var(--spacing-md) 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.news-masonry-card[data-size="small"] .news-masonry-card-content p {
    -webkit-line-clamp: 2
}

.news-masonry-card-meta {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    font-size: .75rem;
    color: var(--color-muted-foreground)
}

.news-masonry-card-meta i {
    font-size: 12px
}

@media (max-width:1200px) {
    .news-masonry {
        column-count: 3
    }
}

@media (max-width:768px) {
    .news-masonry {
        column-count: 2
    }

    .news-masonry-card[data-size="large"] .news-masonry-card-image {
        height: 200px
    }

    .news-masonry-card[data-size="large"] .news-masonry-card-content h3 {
        font-size: 1.1rem
    }
}

@media (max-width:480px) {
    .news-masonry {
        column-count: 1
    }

    .news-masonry-card-content {
        padding: var(--spacing-md)
    }

    .news-masonry-card[data-size="small"] .news-masonry-card-image,
    .news-masonry-card[data-size="medium"] .news-masonry-card-image,
    .news-masonry-card[data-size="large"] .news-masonry-card-image {
        height: 180px
    }
}

.about-section {
    padding: var(--spacing-3xl) 0
}

.about-grid {
    display: grid;
    gap: var(--spacing-2xl);
    align-items: center
}

@media (min-width:1024px) {
    .about-grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--spacing-3xl)
    }
}

.about-image-wrapper {
    position: relative
}

.about-image {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: var(--radius-2xl);
    box-shadow: var(--shadow-xl)
}

.stats-card {
    position: absolute;
    bottom: -24px;
    right: -24px;
    display: flex;
    gap: var(--spacing-lg);
    padding: var(--spacing-lg);
    background-color: var(--color-primary);
    color: var(--color-primary-foreground);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-lg)
}

@media (max-width:1023px) {
    .stats-card {
        position: relative;
        bottom: auto;
        right: auto;
        margin-top: var(--spacing-md);
        justify-content: center
    }
}

.stat {
    text-align: center
}

.stat-value {
    display: block;
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--color-secondary)
}

.stat-label {
    font-size: .75rem;
    opacity: .8
}

.about-content {
    padding: var(--spacing-lg) 0
}

.about-label {
    display: inline-block;
    font-family: var(--font-display);
    font-size: .875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--color-secondary);
    margin-bottom: var(--spacing-md)
}

.about-content .section-title {
    margin-bottom: var(--spacing-lg)
}

.about-content p {
    color: var(--color-muted-foreground);
    margin-bottom: var(--spacing-md)
}

.highlights-list {
    display: grid;
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-xl)
}

@media (min-width:640px) {
    .highlights-list {
        grid-template-columns: repeat(2, 1fr)
    }
}

.highlights-list li {
    display: flex;
    align-items: center;
    gap: var(--spacing-md)
}

.highlights-list i {
    font-size: 20px;
    color: var(--color-success);
    flex-shrink: 0
}

.highlights-list span {
    font-size: .875rem;
    font-weight: 500
}

.transparency-banner {
    position: relative;
    padding: var(--spacing-3xl) 0;
    background-color: var(--color-primary);
    overflow: hidden
}

.transparency-bg {
    position: absolute;
    inset: 0;
    opacity: .1
}

.transparency-bg::before,
.transparency-bg::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background-color: var(--color-secondary)
}

.transparency-bg::before {
    width: 320px;
    height: 320px;
    top: -80px;
    left: -80px
}

.transparency-bg::after {
    width: 384px;
    height: 384px;
    bottom: -80px;
    right: -80px
}

.transparency-content {
    position: relative;
    z-index: 1;
    text-align: center
}

.transparency-content h2 {
    font-size: 1.875rem;
    color: var(--color-primary-foreground);
    margin-bottom: var(--spacing-md)
}

@media (min-width:768px) {
    .transparency-content h2 {
        font-size: 2.25rem
    }
}

.transparency-content>p {
    font-size: 1.125rem;
    max-width: 640px;
    margin: 0 auto var(--spacing-xl);
    color: var(--color-primary-foreground);
    opacity: 1
}

.transparency-grid {
    display: grid;
    gap: var(--spacing-md)
}

@media (min-width:640px) {
    .transparency-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (min-width:1024px) {
    .transparency-grid {
        grid-template-columns: repeat(4, 1fr)
    }
}

.transparency-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing-md);
    padding: var(--spacing-lg);
    background-color: rgba(255, 255, 255, .1);
    border-radius: var(--radius-xl);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: all var(--transition-base)
}

.transparency-card:hover {
    background-color: rgba(255, 255, 255, .2)
}

.transparency-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background-color: var(--color-secondary);
    color: var(--color-secondary-foreground);
    border-radius: var(--radius-lg);
    flex-shrink: 0
}

.transparency-icon i {
    font-size: 24px
}

.transparency-text p {
    flex: 1;
    text-align: left
}

.transparency-text {
    width: 100%
}

.transparency-text h3 {
    width: 100%;
    margin: 0;
    text-align: left;
    font-size: .875rem;
    font-weight: 600;
    color: var(--color-primary-foreground);
    padding: 0
}

.transparency-card>i {
    font-size: 16px;
    color: rgba(253, 246, 227, .6);
    transition: transform var(--transition-fast)
}

.transparency-card:hover>i {
    transform: translateX(4px)
}

#cookieConsent {
    background-color: rgba(20, 20, 20, .9);
    min-height: 26px;
    font-size: 14px;
    color: #FFF;
    padding: 12px 0 20px 0;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999
}

#cookieConsent .btn {
    margin-right: 5px
}

#cookieConsent h4,
#cookieConsent p {
    color: #FFF
}

#cookieConfig .container {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
    cursor: pointer;
    font-size: 15px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    font-weight: normal
}

#cookieConfig .container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0
}

#cookieConfig .checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    background-color: #a0a0a0
}

#cookieConfig .container:hover input~.checkmark {
    background-color: #a0a0a0
}

#cookieConfig .container input:checked~.checkmark {
    background-color: #1a4480
}

#cookieConfig .checkmark:after {
    content: "";
    position: absolute;
    display: none
}

#cookieConfig .container input:checked~.checkmark:after {
    display: block
}

#cookieConfig .container .checkmark:after {
    left: 9px;
    top: 5px;
    width: 7px;
    height: 12px;
    border: solid #FFF;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg)
}

#cookieConsent a {
    color: #FFF;
    text-decoration: underline
}

label.container.disable {
    opacity: 50%
}

#cookieConfig .container p {
    font-size: 13px
}

.btn-gerenciar-cookies {
    display: flex !important;
    visibility: visible !important;
    text-indent: -5000px;
    justify-content: center;
    align-items: center;
    position: fixed;
    bottom: 20px;
    left: 20px;
    width: 50px;
    height: 50px;
    border-radius: 50px;
    background-color: #FFF;
    border: 0;
    z-index: 100;
    -webkit-box-shadow: 0 0 5px 0 rgba(0, 0, 0, .2);
    -moz-box-shadow: 0 0 5px 0 rgba(0, 0, 0, .2);
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, .2)
}

.btn-gerenciar-cookies svg {
    display: block;
    margin: 0 !important;
    height: 20px;
    color: #1a4480
}

.btn-gerenciar-cookies:hover {
    background-color: #1a4480
}

.btn-gerenciar-cookies:hover svg {
    color: #FFF
}

#cookieConfig {
    margin: 0;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

#cookieConfig .modal-header .btn-close {
    position: absolute;
    top: 20px;
    right: 20px
}

#cookieConfig .alert-info {
    color: #000;
    background-color: #a0a0a0;
    border-color: #777;
    margin: 15px 0;
    padding: 15px
}

#cookieConfig .alert-info h4 {
    font-size: 1.2rem
}

#cookieConfig .alert-info p {
    font-size: 1.1rem
}

#cookieConfig .container {
    display: block;
    position: relative;
    margin-bottom: 12px !important;
    cursor: pointer;
    font-size: 15px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    font-weight: normal
}

#cookieConfig .modal-body .container {
    padding-left: 35px !important
}

#cookieConfig .container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0
}

#cookieConfig .container p {
    font-size: .9rem
}

#cookieConfig .checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    background-color: #a0a0a0
}

#cookieConfig .container:hover input~.checkmark {
    background-color: #a0a0a0
}

#cookieConfig .container input:checked~.checkmark {
    background-color: #1a4480
}

#cookieConfig .checkmark:after {
    content: "";
    position: absolute;
    display: none
}

#cookieConfig .container input:checked~.checkmark:after {
    display: block
}

#cookieConfig .container .checkmark:after {
    left: 9px;
    top: 5px;
    width: 7px;
    height: 12px;
    border: solid #FFF;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg)
}

.banner-box-modal {
    height: 100%;
    display: flex !important;
    justify-content: center;
    align-items: center
}

.banner-box-modal .modal-header,
.banner-box-modal .modal-body {
    padding: 0
}

.banner-box-modal .btn-close {
    position: absolute;
    top: -15px;
    right: -15px;
    border-radius: 50px;
    background-color: #FFF;
    opacity: .8;
    padding: 15px !important;
    z-index: 10
}

.banner-box-modal .btn-close:hover {
    opacity: 1
}

.banner-box-modal .modal-body {
    overflow: hidden;
    border-radius: 10px
}

.banner-box-modal img {
    height: 70vh !important
}

.footer {
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);
    color: var(--color-primary-foreground)
}

.footer .container {
    padding-top: var(--spacing-3xl);
    padding-bottom: var(--spacing-3xl)
}

.footer-grid {
    display: grid;
    gap: var(--spacing-2xl)
}

@media (min-width:768px) {
    .footer-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (min-width:1024px) {
    .footer-grid {
        grid-template-columns: 1.5fr 1fr 1fr 1.5fr
    }
}

.footer-column h4 {
    font-size: 1.125rem;
    margin-bottom: var(--spacing-lg)
}

.footer-logo {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-lg)
}

.footer-logo .logo-icon {
    width: 48px;
    height: 48px;
    background-color: var(--color-secondary);
    color: var(--color-secondary-foreground);
    font-size: 1rem
}

.footer-logo .logo-text h3 {
    font-size: 1rem;
    margin-bottom: 0
}

.footer-logo .logo-text p {
    font-size: .875rem;
    color: var(--color-secondary-light)
}

.footer-description {
    font-size: .875rem;
    opacity: 1;
    margin-bottom: var(--spacing-lg);
    line-height: 1.7
}

.footer-social {
    display: flex;
    gap: var(--spacing-sm)
}

.footer-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background-color: rgba(255, 255, 255, .1);
    border-radius: var(--radius-lg);
    transition: all var(--transition-fast)
}

.footer-social a:hover {
    background-color: var(--color-secondary);
    color: var(--color-secondary-foreground)
}

.footer-social a i {
    font-size: 20px
}

.footer-column ul {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
    padding: 0
}

.footer-column ul a {
    font-size: .875rem;
    opacity: 1;
    transition: all var(--transition-fast)
}

.footer-column ul a:hover {
    opacity: 1;
    color: var(--color-secondary)
}

.contact-list li {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-md)
}

.contact-list i {
    font-size: 20px;
    color: var(--color-secondary);
    flex-shrink: 0;
    margin-top: 2px
}

.contact-list span {
    font-size: .875rem;
    opacity: 1;
    line-height: 1.6
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, .1)
}

.footer-bottom .container {
    padding-top: var(--spacing-lg);
    padding-bottom: var(--spacing-lg)
}

.footer-bottom-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-md);
    text-align: center
}

@media (min-width:640px) {
    .footer-bottom-content {
        flex-direction: row;
        justify-content: space-between
    }
}

.footer-bottom p {
    font-size: .875rem;
    opacity: .6
}

.back-to-top {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    font-size: .875rem;
    color: var(--color-primary-foreground);
    transition: color var(--transition-fast)
}

.back-to-top:hover {
    color: var(--color-secondary)
}

.back-to-top i {
    font-size: 16px
}

@media (max-width:767px) {
    .section-title {
        font-size: 1.5rem
    }

    .section-subtitle {
        font-size: 1rem
    }

    .hero-title {
        font-size: 1.75rem
    }

    .hero-description {
        font-size: 1rem
    }

    .footer .container {
        padding-top: var(--spacing-2xl);
        padding-bottom: var(--spacing-xl)
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: var(--spacing-xl)
    }

    .footer-column:first-child {
        text-align: center;
        padding-bottom: var(--spacing-lg);
        border-bottom: 1px solid rgba(255, 255, 255, .15)
    }

    .footer-column:first-child .footer-logo {
        justify-content: center;
        margin-bottom: var(--spacing-md)
    }

    .footer-column:first-child .footer-logo .logo-img {
        width: 50px;
        height: 50px
    }

    .footer-column:first-child .footer-description {
        max-width: 320px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: var(--spacing-lg);
        font-size: .9rem;
        line-height: 1.6
    }

    .footer-column:first-child .footer-social {
        justify-content: center;
        gap: var(--spacing-md)
    }

    .footer-column:first-child .footer-social a {
        width: 48px;
        height: 48px
    }

    .footer-column:first-child .footer-social a i {
        font-size: 22px
    }

    .footer-quick-links {
        display: none
    }

    .footer-institutional {
        text-align: center;
        padding-bottom: var(--spacing-lg);
        border-bottom: 1px solid rgba(255, 255, 255, .15)
    }

    .footer-column h4 {
        font-size: 1.1rem;
        margin-bottom: var(--spacing-lg);
        font-weight: 600
    }

    .footer-column ul {
        gap: var(--spacing-md);
        align-items: center
    }

    .footer-column ul a {
        font-size: .95rem;
        padding: var(--spacing-xs) 0;
        display: inline-block
    }

    .footer-column:last-child {
        text-align: center
    }

    .footer-column:last-child h4 {
        text-align: center;
        margin-bottom: var(--spacing-md)
    }

    .contact-list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--spacing-sm)
    }

    .contact-list li {
        display: flex;
        align-items: center;
        gap: var(--spacing-xs);
        text-align: left;
        font-size: .8rem
    }

    .contact-list li:first-child {
        grid-column: 1 / -1;
        justify-content: center;
        text-align: center
    }

    .contact-list i {
        font-size: 16px;
        flex-shrink: 0
    }

    .contact-list span {
        font-size: .8rem;
        line-height: 1.3
    }

    .footer-bottom .container {
        padding-top: var(--spacing-lg);
        padding-bottom: var(--spacing-lg)
    }

    .footer-bottom-content {
        flex-direction: column;
        gap: var(--spacing-md)
    }

    .footer-bottom p {
        font-size: .8rem;
        text-align: center
    }

    .back-to-top {
        font-size: .9rem;
        padding: var(--spacing-sm) var(--spacing-md);
        background: rgba(255, 255, 255, .1);
        border-radius: var(--radius-md)
    }
}

@media (max-width:480px) {
    .footer .container {
        padding-top: var(--spacing-xl);
        padding-bottom: var(--spacing-lg)
    }

    .footer-grid {
        gap: var(--spacing-lg)
    }

    .footer-column:first-child .footer-description {
        font-size: .85rem
    }

    .footer-column:first-child .footer-social a {
        width: 44px;
        height: 44px
    }

    .footer-column h4 {
        font-size: 1rem
    }

    .footer-column ul a {
        font-size: .9rem
    }

    .contact-list {
        grid-template-columns: 1fr;
        gap: var(--spacing-xs)
    }

    .contact-list li {
        justify-content: center
    }

    .contact-list li:first-child {
        grid-column: 1
    }

    .contact-list i {
        font-size: 16px
    }

    .contact-list span {
        font-size: .8rem
    }

    .footer-bottom p {
        font-size: .75rem
    }
}

@media (min-width:481px) and (max-width:767px) {
    .footer .container {
        padding-top: var(--spacing-2xl);
        padding-bottom: var(--spacing-xl)
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--spacing-xl) var(--spacing-lg)
    }

    .footer-column:first-child {
        grid-column: 1 / -1;
        text-align: center;
        padding-bottom: var(--spacing-lg);
        border-bottom: 1px solid rgba(255, 255, 255, .15)
    }

    .footer-column:first-child .footer-logo {
        justify-content: center
    }

    .footer-column:first-child .footer-description {
        max-width: 400px;
        margin: 0 auto var(--spacing-lg)
    }

    .footer-column:first-child .footer-social {
        justify-content: center;
        gap: var(--spacing-md)
    }

    .footer-column:first-child .footer-social a {
        width: 44px;
        height: 44px
    }

    .footer-quick-links {
        display: none
    }

    .footer-institutional,
    .footer-column:last-child {
        text-align: left
    }

    .footer-column h4 {
        font-size: 1rem;
        margin-bottom: var(--spacing-md)
    }

    .footer-column ul {
        gap: var(--spacing-sm)
    }

    .footer-column ul a {
        font-size: .9rem
    }

    .contact-list {
        gap: var(--spacing-md)
    }

    .contact-list li {
        gap: var(--spacing-sm)
    }

    .contact-list i {
        font-size: 18px
    }

    .contact-list span {
        font-size: .85rem
    }

    .footer-bottom-content {
        flex-direction: row;
        justify-content: space-between;
        align-items: center
    }

    .footer-bottom p {
        font-size: .8rem
    }

    .back-to-top {
        font-size: .85rem
    }
}

@media (min-width:768px) and (max-width:1023px) {
    .footer .container {
        padding-top: var(--spacing-2xl);
        padding-bottom: var(--spacing-2xl)
    }

    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--spacing-2xl) var(--spacing-xl)
    }

    .footer-column:first-child {
        grid-column: 1 / -1;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding-bottom: var(--spacing-xl);
        border-bottom: 1px solid rgba(255, 255, 255, .15)
    }

    .footer-column:first-child .footer-logo {
        justify-content: center
    }

    .footer-column:first-child .footer-description {
        max-width: 500px;
        text-align: center
    }

    .footer-column:first-child .footer-social {
        justify-content: center;
        gap: var(--spacing-md)
    }

    .footer-column:first-child .footer-social a {
        width: 44px;
        height: 44px
    }

    .footer-quick-links {
        display: block
    }

    .footer-column h4 {
        font-size: 1.05rem;
        margin-bottom: var(--spacing-lg)
    }

    .footer-column ul {
        gap: var(--spacing-sm)
    }

    .footer-column ul a {
        font-size: .9rem
    }

    .footer-column:last-child {
        grid-column: 1 / -1;
        padding-top: var(--spacing-xl);
        border-top: 1px solid rgba(255, 255, 255, .15)
    }

    .footer-column:last-child h4 {
        text-align: center;
        margin-bottom: var(--spacing-lg)
    }

    .contact-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: var(--spacing-lg) var(--spacing-xl);
        max-width: 600px;
        margin: 0 auto
    }

    .contact-list li {
        gap: var(--spacing-sm)
    }

    .contact-list i {
        font-size: 20px
    }

    .contact-list span {
        font-size: .9rem
    }

    .footer-bottom-content {
        flex-direction: row;
        justify-content: space-between
    }
}

.blue-wrapper {
    background: linear-gradient(180deg, #1e5090 0%, #0d2240 100%)
}

.search-bar-section {
    background: transparent;
    padding: var(--spacing-sm);
    margin-top: 0;
    padding-top: 60px;
    padding-bottom: var(--spacing-lg);
    position: relative
}

.pnl_buscar {
    display: flex;
    align-items: center;
    padding-top: var(--spacing-lg);
    gap: var(--spacing-lg);
    flex-wrap: wrap;
    width: 100%
}

.pnl_buscar form {
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
    background: white;
    border-radius: var(--radius-full);
    padding: var(--spacing-xs);
    box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
    transition: all var(--transition-base);
    border: 2px solid transparent
}

.pnl_buscar form:focus-within {
    border-color: var(--color-secondary);
    box-shadow: 0 4px 16px rgba(184, 134, 11, .15)
}

#busca-avancada-box-button {
    border: none;
    width: 48px;
    height: 48px;
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--color-primary);
    flex-shrink: 0;
    transition: all var(--transition-base)
}

#busca-avancada-box-button:hover {
    background: var(--color-secondary-light)
}

#busca-avancada-box-button i {
    font-size: 20px;
    color: #000
}

#busca-avancada-box-button:hover i {
    color: #FFF
}

#busca-avancada-box-input {
    flex: 1;
    border: none;
    padding: 0 var(--spacing-lg);
    font-size: 1rem;
    font-family: var(--font-body);
    color: var(--color-foreground);
    background: transparent;
    outline: none !important
}

#busca-avancada-box-input::placeholder {
    color: var(--color-muted-foreground);
    outline: none !important
}

.search-bar-actions {
    display: flex;
    align-items: center;
    gap: var(--spacing-md)
}

.social-icons-bar {
    display: flex;
    gap: var(--spacing-sm)
}

.social-icons-bar a {
    width: 40px;
    height: 40px;
    border-radius: var(--radius-full);
    background: var(--color-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-primary);
    transition: all var(--transition-base);
    border: 2px solid transparent
}

.social-icons-bar a:hover {
    background: white;
    border-color: var(--color-secondary);
    box-shadow: var(--shadow-md)
}

.social-icons-bar i {
    font-size: 18px
}

.accessibility-btn {
    background: white;
    border: 2px solid white;
    color: var(--color-primary);
    padding: var(--spacing-sm) var(--spacing-lg);
    border-radius: var(--radius-full);
    font-size: .875rem;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    transition: all var(--transition-base);
    white-space: nowrap
}

.accessibility-btn:hover {
    background: rgba(255, 255, 255, .9);
    color: var(--color-primary);
    box-shadow: var(--shadow-lg)
}

.header.scrolled .accessibility-btn {
    background: white;
    border-color: white;
    color: var(--color-primary)
}

.header.scrolled .accessibility-btn:hover {
    background: white;
    color: var(--color-primary)
}

.accessibility-btn i {
    font-size: 18px;
    line-height: 1;
    display: flex;
    align-items: center
}

.accessibility-btn span {
    line-height: 1
}

.home-destaque {
    padding: var(--spacing-lg) 0 var(--spacing-2xl);
    background: transparent
}

.destaque-grid {
    display: grid;
    grid-template-columns: 2.5fr .5fr;
    gap: var(--spacing-xl);
    align-items: stretch
}

.destaque-noticias {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
    justify-content: stretch
}

.destaque-noticias .noticia-principal {
    flex: none
}

.noticia-principal {
    display: block;
    border-radius: var(--radius-xl);
    overflow: hidden;
    position: relative;
    box-shadow: var(--shadow-lg);
    transition: all var(--transition-base);
    min-height: 300px;
    height: 100%
}

.noticia-principal:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-xl)
}

.noticia-principal .embla {
    background: transparent;
    padding: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    max-width: 100%
}

.noticia-principal .embla__dots {
    position: absolute;
    width: 100%;
    bottom: 10px
}

.noticia-principal .banner-box-slider-item a {
    display: block
}

.banner-box-slider-item img {
    object-fit: cover;
    object-position: 100%
}

.noticia-principal .banner-box-slider,
.noticia-principal .embla__viewport,
.noticia-principal .embla__container,
.noticia-principal .embla__slide,
.noticia-principal .embla__slide__inner,
.noticia-principal .banner-box-slider-item,
.noticia-principal .banner-box-slider-item a,
.noticia-principal .banner-box-slider-item img {
    height: 100% !important
}

.noticia-principal .embla__slide {
    opacity: 0;
    overflow: hidden;
    border-radius: var(--radius-xl);
    transition: opacity var(--transition-base)
}

.noticia-principal .embla__slide.is-selected {
    opacity: 1
}

.noticia-principal .embla__dot.is-selected::after {
    background-color: var(--color-secondary-light)
}

.noticias-secundarias .list-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-lg)
}

.noticias-secundarias .materia-box-static-item {
    display: block;
    background: var(--color-card);
    border-radius: var(--radius-lg);
    border: 0;
    padding: 0;
    overflow: hidden;
    box-shadow: var(--shadow-md);
    transition: all var(--transition-base)
}

.noticias-secundarias .materia-box-static-item:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg)
}

.noticias-secundarias .materia-box-static-item img {
    width: 100%;
    height: 155px !important;
    object-fit: cover;
    transition: transform .4s ease
}

.noticias-secundarias .materia-box-static-item .materia-box-static-title {
    padding: var(--spacing-lg)
}

.noticias-secundarias .materia-box-static-item h4 {
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
    color: var(--color-foreground);
    margin: 0
}

.destaque-servicos {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
    justify-content: stretch
}

.destaque-servicos>* {
    flex: 1
}

.servicos-rapidos {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-md);
    background: var(--color-card);
    padding: var(--spacing-lg);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-lg);
    align-content: center
}

.servico-rapido-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-md);
    border-radius: var(--radius-lg);
    text-align: center;
    text-decoration: none;
    color: var(--color-foreground);
    transition: all var(--transition-base)
}

.servico-rapido-item:hover {
    background: var(--color-muted);
    transform: translateY(-2px)
}

.servico-rapido-icon {
    width: 48px;
    height: 48px;
    border-radius: var(--radius-lg);
    background: linear-gradient(135deg, var(--color-primary), var(--color-primary-light));
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    box-shadow: var(--shadow-md)
}

.servico-rapido-icon i {
    font-size: 24px
}

.servico-rapido-item span {
    font-size: .875rem;
    font-weight: 600;
    line-height: 1.3
}

.proxima-sessao-card {
    background: var(--color-card);
    color: var(--color-foreground);
    padding: var(--spacing-xl);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-lg);
    border: 1px solid var(--color-border);
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

.sessao-header {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-lg);
    padding-bottom: var(--spacing-md)
}

.sessao-header i {
    font-size: 24px;
    color: var(--color-primary)
}

.sessao-header h3 {
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0;
    color: var(--color-primary)
}

.sessao-info {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
    margin-bottom: var(--spacing-lg)
}

.sessao-data {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--color-primary);
    padding: var(--spacing-md);
    border-radius: var(--radius-lg);
    flex: 1;
    color: white
}

.sessao-dia {
    font-size: 2rem;
    font-weight: 800;
    line-height: 1;
    color: white
}

.sessao-mes {
    font-size: .875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px
}

.sessao-detalhes {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    align-items: left
}

.sessao-tipo {
    font-size: 1rem;
    font-weight: 700;
    margin: 0;
    color: var(--color-foreground)
}

.sessao-horario,
.sessao-local {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    font-size: .875rem;
    margin: 0;
    color: var(--color-muted-foreground)
}

.sessao-horario i,
.sessao-local i {
    font-size: 16px
}

.sessao-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-sm);
    width: 100%;
    background: var(--color-primary);
    color: white;
    padding: var(--spacing-md);
    border-radius: var(--radius-lg);
    font-weight: 700;
    text-decoration: none;
    transition: all var(--transition-base);
    box-shadow: var(--shadow-md)
}

.sessao-btn:hover {
    background: var(--color-secondary);
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg)
}

.sessao-btn i {
    font-size: 18px
}

.sessao-btn.ao-vivo {
    background: linear-gradient(135deg, #dc2626, #b91c1c);
    animation: pulse-ao-vivo 2s infinite
}

.sessao-btn.ao-vivo:hover {
    background: linear-gradient(135deg, #ef4444, #dc2626)
}

@keyframes pulse-ao-vivo {
    0% {
        box-shadow: 0 0 0 0 rgba(220, 38, 38, .7)
    }

    70% {
        box-shadow: 0 0 0 10px rgba(220, 38, 38, 0)
    }

    100% {
        box-shadow: 0 0 0 0 rgba(220, 38, 38, 0)
    }
}

.vereadores-section .parl-section-highlight {
    background: transparent;
    border-radius: 0;
    padding: 0
}

.vereadores-section .parl-top-header,
.vereadores-section .parl-view-toggle {
    display: none !important
}

.vereadores-section .parl-wrapper {
    padding: 0;
    margin: 0;
    max-width: 100%
}

.vereadores-section .parl-card-avatar-small {
    width: 64px;
    height: 64px
}

.vereadores-section .parl-card-large-main {
    background: var(--color-card);
    border: 0;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-lg);
    transition: all var(--transition-base)
}

.vereadores-section .parl-card-large-main:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-xl)
}

.vereadores-section .parl-card {
    background-color: #FFF;
    overflow: hidden
}

.vereadores-section .parl-card:hover {
    background: var(--color-muted)
}

.vereadores-section .parl-card-actions a {
    border-radius: 5px !important;
    width: 100% !important
}

.vereadores-section .parl-main-footer a {
    border-radius: 5px !important
}

.vereadores-section .parl-main-footer a:hover,
.vereadores-section .parl-card-actions a:hover,
.vereadores-section .parl-card:hover .parl-main-footer a,
.vereadores-section .parl-card:hover .parl-card-actions a {
    color: inherit !important
}

.vereadores-section .parl-box h2 {
    color: #FFF !important
}

.vereadores-section .parl-box .parl-card h2 {
    color: #000 !important
}

.vereadores-section .parl-bottom-header h4 {
    margin-top: 30px !important;
    font-size: 21px;
    color: #FFF !important
}

.vereadores-section .parl-card-small:hover p.parl-card-name,
.vereadores-section .parl-card:hover span.parl-card-role-chip,
.vereadores-section .parl-card:hover p.parl-card-name {
    color: initial !important
}

.vereadores-section .parl-card-small:hover span.parl-card-party {
    background-color: var(--color-primary) !important;
    color: #FFF !important
}

.vereadores-section .parl-card:hover .parl-card-avatar {
    border-color: var(--cor-primaria) !important
}

.vereadores-section .parl-main-btn:hover {
    background: var(--color-secondary)
}

.vereadores-section .parl-bottom-scroll .parl-card-body {
    display: flex;
    width: 100%;
    flex-direction: column
}

.vereadores-section .parl-card-small-pill .parl-card-actions {
    width: 100%;
    margin-top: 10px !important
}

.vereadores-section .parl-card-small-pill .parl-card-name {
    color: #000 !important
}

.vereadores-section .parl-card-small-pill {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    align-items: center;
    border: 0 !important
}

.vereadores-section .parl-card-small-pill:hover {
    box-shadow: none !important
}

.vereadores-section .parl-card:hover .parl-card-actions a,
.vereadores-section .parl-card:hover .parl-main-footer a {
    color: #FFF !important
}

.vereadores-section .parl-card-actions a {
    text-align: center !important;
    background: rgb(11, 83, 182) !important;
    color: #FFF !important;
    padding: 5px 10px !important;
    text-decoration: none !important
}

.vereadores-section .parl-card:hover .parl-card-actions a:hover,
.vereadores-section .parl-card:hover .parl-main-footer a:hover {
    background: var(--color-secondary) !important;
    color: var(--color-primary) !important;
    text-decoration: none !important
}

.servicos-perfil {
    background: var(--color-card);
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-md)
}

.perfil-tabs {
    display: flex;
    background: var(--color-muted);
    border-bottom: 2px solid var(--color-border)
}

.perfil-tab {
    flex: 1;
    padding: var(--spacing-md);
    background: transparent;
    border: none;
    font-family: var(--font-display);
    font-size: .875rem;
    font-weight: 600;
    color: var(--color-muted-foreground);
    cursor: pointer;
    transition: all var(--transition-base);
    position: relative
}

.perfil-tab:hover {
    background: rgba(30, 58, 95, .05);
    color: var(--color-primary)
}

.perfil-tab.active {
    background: var(--color-card);
    color: var(--color-primary)
}

.perfil-tab.active::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--color-secondary)
}

.perfil-content {
    display: none;
    padding: var(--spacing-lg);
    flex-direction: column;
    gap: var(--spacing-xs)
}

.perfil-content.active {
    display: flex
}

.perfil-servico {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    padding: var(--spacing-md);
    border-radius: var(--radius-md);
    text-decoration: none;
    color: var(--color-foreground);
    font-size: .875rem;
    font-weight: 500;
    transition: all var(--transition-base)
}

.perfil-servico:hover {
    background: var(--color-muted);
    color: var(--color-primary);
    transform: translateX(4px)
}

.perfil-servico i {
    font-size: 18px;
    color: var(--color-primary)
}

.home-destaque[data-variant="carousel"] .destaque-noticias {
    display: none
}

.destaque-carousel {
    display: none;
    position: relative;
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-xl)
}

.home-destaque[data-variant="carousel"] .destaque-carousel {
    display: block
}

.carousel-wrapper {
    position: relative;
    width: 100%;
    height: 450px;
    overflow: hidden
}

.carousel-slides {
    display: flex;
    height: 100%;
    transition: transform .5s cubic-bezier(.4, 0, .2, 1)
}

.carousel-slide {
    flex: 0 0 100%;
    position: relative;
    width: 100%;
    height: 100%
}

.carousel-slide-image {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.carousel-slide-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, .9) 0%, rgba(0, 0, 0, .5) 40%, rgba(0, 0, 0, .2) 70%, transparent 100%)
}

.carousel-slide-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: var(--spacing-2xl);
    color: white;
    z-index: 2
}

.carousel-slide-badge {
    display: inline-block;
    background: var(--color-secondary);
    color: var(--color-primary);
    padding: var(--spacing-xs) var(--spacing-md);
    border-radius: var(--radius-full);
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: var(--spacing-md)
}

.carousel-slide-title {
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 var(--spacing-md) 0;
    max-width: 80%
}

.carousel-slide-description {
    font-size: 1rem;
    line-height: 1.6;
    opacity: .9;
    max-width: 70%;
    margin: 0 0 var(--spacing-lg) 0
}

.carousel-slide-link {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-sm);
    color: var(--color-secondary);
    font-weight: 600;
    text-decoration: none;
    transition: all var(--transition-fast);
    padding-bottom: 1rem
}

.carousel-slide-link:hover {
    gap: var(--spacing-md);
    color: white
}

.carousel-slide-link i {
    font-size: 18px
}

.carousel-controls {
    position: absolute;
    bottom: var(--spacing-xl);
    right: var(--spacing-xl);
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    z-index: 10
}

.carousel-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .2);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, .3);
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--transition-fast)
}

.carousel-btn:hover {
    background: rgba(255, 255, 255, .3);
    transform: scale(1.1)
}

.carousel-btn:active {
    transform: scale(.95)
}

.carousel-btn i {
    font-size: 20px
}

.carousel-indicators {
    position: absolute;
    bottom: var(--spacing-xl);
    left: var(--spacing-2xl);
    display: flex;
    gap: var(--spacing-sm);
    z-index: 10
}

.carousel-indicator {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .4);
    border: none;
    cursor: pointer;
    transition: all var(--transition-fast);
    padding: 0
}

.carousel-indicator:hover {
    background: rgba(255, 255, 255, .6)
}

.carousel-indicator.active {
    background: var(--color-secondary);
    width: 32px;
    border-radius: var(--radius-full)
}

.carousel-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: rgba(255, 255, 255, .2);
    z-index: 10
}

.carousel-progress-bar {
    height: 100%;
    background: var(--color-secondary);
    width: 0;
    transition: width .1s linear
}

@media (max-width:1024px) {
    .carousel-wrapper {
        height: 400px
    }

    .carousel-slide-title {
        font-size: 1.75rem;
        max-width: 90%
    }

    .carousel-slide-description {
        max-width: 85%
    }
}

@media (max-width:768px) {
    .carousel-wrapper {
        height: 350px
    }

    .carousel-slide-content {
        padding: var(--spacing-xl)
    }

    .carousel-slide-title {
        font-size: 1.5rem;
        max-width: 100%
    }

    .carousel-slide-description {
        display: none
    }

    .carousel-controls {
        bottom: var(--spacing-lg);
        right: var(--spacing-lg)
    }

    .carousel-indicators {
        bottom: var(--spacing-lg);
        left: var(--spacing-xl)
    }

    .carousel-btn {
        width: 40px;
        height: 40px
    }
}

@media (max-width:480px) {
    .carousel-wrapper {
        height: 280px
    }

    .carousel-slide-content {
        padding: var(--spacing-lg)
    }

    .carousel-slide-badge {
        font-size: .65rem;
        padding: 4px 10px
    }

    .carousel-slide-title {
        font-size: 1.2rem;
        margin-bottom: var(--spacing-sm)
    }

    .carousel-controls {
        bottom: var(--spacing-md);
        right: var(--spacing-md);
        gap: var(--spacing-sm)
    }

    .carousel-indicators {
        bottom: var(--spacing-md);
        left: var(--spacing-lg)
    }

    .carousel-btn {
        width: 36px;
        height: 36px
    }

    .carousel-btn i {
        font-size: 16px
    }

    .carousel-indicator {
        width: 10px;
        height: 10px
    }

    .carousel-indicator.active {
        width: 24px
    }
}

@media (max-width:1200px) {
    .destaque-grid {
        grid-template-columns: 1fr
    }

    .destaque-servicos {
        order: -1
    }

    .news-container {
        grid-template-columns: 1fr
    }

    .news-featured {
        grid-column: 1
    }

    .news-feed {
        grid-column: 1
    }
}

@media (max-width:768px) {
    .destaque-servicos {
        order: 1
    }

    .destaque-noticias {
        order: 0
    }

    .search-bar-section {
        padding: 8px 0
    }

    .pnl_buscar {
        flex-direction: column;
        gap: var(--spacing-md)
    }

    .pnl_buscar form {
        width: 100%;
        min-width: unset
    }

    .news-container {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr))
    }

    .news-featured {
        grid-column: 1
    }

    .news-feed {
        grid-column: 1
    }

    .news-featured-image {
        height: 300px
    }

    .news-featured-content h3 {
        font-size: 1.25rem
    }

    .news-feed .list-group-item {
        grid-template-columns: 70px 1fr;
        gap: var(--spacing-md);
        padding: var(--spacing-md)
    }

    .news-feed-date {
        min-height: 60px
    }

    .news-feed-date .day {
        font-size: 1.25rem
    }

    .news-feed-content h4 {
        font-size: .95rem
    }

    .search-bar-actions {
        width: 100%;
        justify-content: space-between
    }

    .accessibility-btn span {
        display: none
    }

    .home-destaque {
        padding: var(--spacing-xl) 0 var(--spacing-2xl)
    }

    .noticia-principal-titulo {
        font-size: 1.5rem
    }

    .noticias-secundarias {
        grid-template-columns: 1fr
    }

    .servicos-rapidos {
        display: none
    }

    .servico-rapido-item {
        padding: var(--spacing-sm)
    }

    .servico-rapido-icon {
        width: 40px;
        height: 40px
    }

    .servico-rapido-icon i {
        font-size: 20px
    }

    .servico-rapido-item span {
        font-size: .75rem
    }

    .proxima-sessao-card {
        padding: var(--spacing-lg)
    }

    .perfil-tabs {
        flex-wrap: wrap
    }

    .perfil-tab {
        flex: 1 1 auto;
        min-width: 100px;
        font-size: .8rem;
        padding: var(--spacing-sm) var(--spacing-md)
    }
}

@media (max-width:480px) {
    #busca-avancada-box-button {
        width: 40px;
        height: 40px
    }

    #busca-avancada-box-input {
        font-size: .875rem;
        padding: 0 var(--spacing-md)
    }

    .social-icons-bar a {
        width: 36px;
        height: 36px
    }

    .accessibility-btn {
        padding: var(--spacing-sm) var(--spacing-md)
    }

    .noticia-principal-overlay {
        padding: var(--spacing-lg)
    }

    .noticia-principal-titulo {
        font-size: 1.25rem
    }

    .noticia-secundaria-img {
        height: 150px
    }

    .noticias-secundarias .materia-box-static-item .materia-box-static-title {
        padding: var(--spacing-md)
    }

    .noticias-secundarias .materia-box-static-item .materia-box-static-title h3 {
        font-size: .9rem
    }

    .servicos-rapidos {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--spacing-sm)
    }

    .sessao-info {
        flex-direction: column;
        gap: var(--spacing-md)
    }

    .sessao-data {
        width: 100%;
        flex-direction: row;
        justify-content: center;
        gap: var(--spacing-sm)
    }

    .sessao-dia {
        font-size: 1.75rem
    }

    .perfil-tabs {
        flex-direction: column
    }

    .perfil-tab {
        width: 100%
    }

    .news-featured-image {
        height: 250px
    }

    .news-featured-content h3 {
        font-size: 1.1rem
    }

    .news-featured-content p {
        font-size: .85rem
    }

    .news-feed .list-group-item {
        grid-template-columns: 60px 1fr;
        gap: var(--spacing-sm);
        padding: var(--spacing-sm) var(--spacing-md)
    }

    .news-feed-date {
        min-height: 55px
    }

    .news-feed-date .day {
        font-size: 1rem
    }

    .news-feed-date .month {
        font-size: .7rem
    }

    .news-feed-content h4 {
        font-size: .85rem
    }

    .news-feed-content p {
        font-size: .8rem
    }

    .news-feed-link {
        font-size: .75rem
    }
}

@media (max-width:768px) {
    .proxima-sessao-card {
        margin-top: 20px
    }

    .header {
        position: fixed
    }

    .top-bar {
        padding: var(--spacing-xs) 0
    }

    .top-bar-content {
        justify-content: center
    }

    .contact-info {
        display: none
    }

    .social-links {
        gap: var(--spacing-sm)
    }

    .header-content {
        padding: var(--spacing-xs) 0
    }

    .logo-img {
        width: 44px;
        height: 44px
    }

    .logo-text h2 {
        font-size: .95rem
    }

    .logo-text p {
        font-size: .75rem
    }

    .btn-icon {
        width: 36px;
        height: 36px
    }

    .btn-icon i {
        font-size: 18px
    }
}

@media (max-width:768px) {
    .search-bar-section {
        padding-top: calc(var(--spacing-md) + 60px);
        padding-bottom: var(--spacing-md)
    }

    .pnl_buscar form {
        padding: var(--spacing-xs)
    }

    #busca-avancada-box-button {
        width: 42px;
        height: 42px
    }

    #busca-avancada-box-input {
        padding: 0 var(--spacing-md)
    }

    .social-icons-bar a {
        width: 36px;
        height: 36px
    }
}

@media (max-width:768px) {
    html {
        width: 100%;
        overflow-x: hidden
    }

    .home-destaque {
        padding: var(--spacing-md) 0 var(--spacing-xl)
    }

    .destaque-grid {
        gap: var(--spacing-md)
    }

    .noticia-principal {
        min-height: 100px
    }

    .noticia-principal .embla__dots {
        bottom: 0
    }

    .noticia-principal-overlay {
        padding: var(--spacing-md)
    }

    .noticia-badge {
        font-size: .65rem;
        padding: var(--spacing-xs) var(--spacing-sm)
    }

    .noticia-principal-titulo {
        font-size: 1.25rem
    }

    .noticias-secundarias {
        gap: var(--spacing-md)
    }

    .noticia-secundaria-img {
        height: 140px
    }

    .noticias-secundarias .materia-box-static-item .materia-box-static-title {
        padding: var(--spacing-md)
    }

    .noticias-secundarias .materia-box-static-item .materia-box-static-title h3 {
        font-size: .9rem
    }
}

@media (max-width:768px) {
    .proxima-sessao-card {
        padding: var(--spacing-md)
    }

    .sessao-header {
        margin-bottom: var(--spacing-md);
        padding-bottom: var(--spacing-sm)
    }

    .sessao-header h3 {
        font-size: 1rem
    }

    .sessao-info {
        flex-direction: row;
        gap: var(--spacing-md)
    }

    .sessao-data {
        flex: .5;
        padding: var(--spacing-sm)
    }

    .sessao-dia {
        font-size: 1.5rem
    }

    .sessao-mes {
        font-size: .75rem
    }

    .sessao-tipo {
        font-size: .9rem
    }

    .sessao-horario,
    .sessao-local {
        font-size: .8rem
    }

    .sessao-btn {
        padding: var(--spacing-sm) var(--spacing-md);
        font-size: .875rem
    }
}

@media (max-width:768px) {
    .news-section {
        padding: var(--spacing-xl) 0
    }

    .section-header-row {
        margin-bottom: var(--spacing-lg)
    }

    .section-title {
        font-size: 1.5rem
    }

    .section-subtitle {
        font-size: .9rem
    }

    .news-featured-content {
        padding: var(--spacing-md)
    }

    .news-featured-content h3 {
        font-size: 1.1rem;
        margin: var(--spacing-sm) 0
    }

    .news-featured-content p {
        font-size: .85rem;
        margin-bottom: var(--spacing-md)
    }
}

@media (max-width:768px) {
    .about-section {
        padding: var(--spacing-xl) 0
    }

    .about-content {
        padding: var(--spacing-md) 0
    }

    .about-label {
        font-size: .75rem
    }

    .about-content .section-title {
        font-size: 1.5rem
    }

    .about-content p {
        font-size: .9rem
    }

    .highlights-list {
        grid-template-columns: 1fr;
        gap: var(--spacing-sm)
    }

    .highlights-list span {
        font-size: .85rem
    }

    .stats-card {
        padding: var(--spacing-md);
        gap: var(--spacing-md)
    }

    .stat-value {
        font-size: 1.25rem
    }

    .stat-label {
        font-size: .7rem
    }
}

@media (max-width:768px) {
    .transparency-banner {
        padding: var(--spacing-xl) 0
    }

    .transparency-content h2 {
        font-size: 1.5rem
    }

    .transparency-content>p {
        font-size: .9rem
    }

    .transparency-card {
        padding: var(--spacing-md)
    }

    .transparency-icon {
        width: 40px;
        height: 40px
    }

    .transparency-icon i {
        font-size: 20px
    }

    .transparency-text h3 {
        font-size: .8rem
    }
}

@media (max-width:768px) {
    .quick-access {
        padding: var(--spacing-xl) 0
    }

    .quick-access-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--spacing-sm)
    }

    .quick-access-card {
        padding: var(--spacing-md);
        gap: var(--spacing-sm)
    }

    .quick-access-icon {
        width: 44px;
        height: 44px
    }

    .quick-access-icon i {
        font-size: 20px
    }

    .quick-access-card h3 {
        font-size: .8rem
    }

    .quick-access-card p {
        font-size: .7rem
    }
}

@media (max-width:768px) {
    .container {
        padding: 0 var(--spacing-md)
    }

    .btn {
        padding: .625rem 1.25rem;
        font-size: .8rem
    }

    .btn-secondary {
        width: 100%;
        justify-content: center
    }
}

@media (max-width:480px) {
    .news-feed-content p {
        display: none
    }

    .news-featured-content p {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden
    }
}

@media (max-width:375px) {
    .container {
        padding: 0 var(--spacing-sm)
    }

    .logo-img {
        width: 36px;
        height: 36px
    }

    .logo-text h2 {
        font-size: .85rem
    }

    .logo-text p {
        font-size: .7rem
    }

    .btn-icon {
        width: 32px;
        height: 32px
    }

    .btn-icon i {
        font-size: 16px
    }

    .search-bar-section {
        padding-top: calc(var(--spacing-sm) + 55px);
        padding-bottom: var(--spacing-sm)
    }

    .pnl_buscar {
        padding-top: var(--spacing-md)
    }

    #busca-avancada-box-button {
        width: 36px;
        height: 36px
    }

    #busca-avancada-box-button i {
        font-size: 16px
    }

    #busca-avancada-box-input {
        font-size: .8rem;
        padding: 0 var(--spacing-sm)
    }

    .home-destaque {
        padding: var(--spacing-sm) 0 var(--spacing-lg)
    }

    .destaque-grid {
        gap: var(--spacing-sm)
    }

    .noticia-principal {
        min-height: 200px
    }

    .noticia-principal-overlay {
        padding: var(--spacing-sm)
    }

    .noticia-badge {
        font-size: .6rem;
        padding: 2px 6px
    }

    .noticia-principal-titulo {
        font-size: 1rem
    }

    .noticia-secundaria-img {
        height: 120px
    }

    .noticias-secundarias .materia-box-static-item .materia-box-static-title {
        padding: var(--spacing-sm)
    }

    .noticias-secundarias .materia-box-static-item .materia-box-static-title h3 {
        font-size: .8rem
    }

    .proxima-sessao-card {
        padding: var(--spacing-sm)
    }

    .sessao-header {
        margin-bottom: var(--spacing-sm);
        padding-bottom: var(--spacing-xs)
    }

    .sessao-header h3 {
        font-size: .9rem
    }

    .sessao-header i {
        font-size: 20px
    }

    .sessao-data {
        flex: .5;
        padding: var(--spacing-xs)
    }

    .sessao-dia {
        font-size: 1.25rem
    }

    .sessao-mes {
        font-size: .65rem
    }

    .sessao-tipo {
        font-size: .8rem
    }

    .sessao-horario,
    .sessao-local {
        font-size: .75rem
    }

    .sessao-btn {
        padding: var(--spacing-xs) var(--spacing-sm);
        font-size: .8rem
    }

    .news-section {
        padding: var(--spacing-lg) 0
    }

    .section-title {
        font-size: 1.25rem
    }

    .section-subtitle {
        font-size: .85rem
    }

    .news-featured-image {
        min-height: 180px;
        height: 180px
    }

    .news-featured-content {
        padding: var(--spacing-sm)
    }

    .news-featured-content h3 {
        font-size: 1rem;
        margin: var(--spacing-xs) 0
    }

    .news-featured-content p {
        font-size: .8rem;
        margin-bottom: var(--spacing-sm)
    }

    .news-feed .list-group-item {
        grid-template-columns: 50px 1fr;
        gap: var(--spacing-xs);
        padding: var(--spacing-xs) var(--spacing-sm)
    }

    .news-feed-date {
        min-height: 45px;
        padding: var(--spacing-xs)
    }

    .news-feed-date .day {
        font-size: .9rem
    }

    .news-feed-date .month {
        font-size: .6rem
    }

    .news-feed-content h4 {
        font-size: .8rem
    }

    .about-section {
        padding: var(--spacing-lg) 0
    }

    .about-label {
        font-size: .7rem
    }

    .about-content .section-title {
        font-size: 1.25rem
    }

    .about-content p {
        font-size: .85rem
    }

    .highlights-list span {
        font-size: .8rem
    }

    .stats-card {
        padding: var(--spacing-sm);
        gap: var(--spacing-sm)
    }

    .stat-value {
        font-size: 1rem
    }

    .stat-label {
        font-size: .65rem
    }

    .transparency-banner {
        padding: var(--spacing-lg) 0
    }

    .transparency-content h2 {
        font-size: 1.25rem
    }

    .transparency-content>p {
        font-size: .85rem
    }

    .transparency-card {
        padding: var(--spacing-sm)
    }

    .transparency-icon {
        width: 36px;
        height: 36px
    }

    .transparency-icon i {
        font-size: 18px
    }

    .transparency-text h3 {
        font-size: .75rem
    }

    .quick-access {
        padding: var(--spacing-lg) 0
    }

    .quick-access-grid {
        gap: var(--spacing-xs)
    }

    .quick-access-card {
        padding: var(--spacing-sm);
        gap: var(--spacing-xs)
    }

    .quick-access-icon {
        width: 36px;
        height: 36px
    }

    .quick-access-icon i {
        font-size: 16px
    }

    .quick-access-card h3 {
        font-size: .7rem
    }

    .quick-access-card p {
        display: none
    }

    .footer .container {
        padding-top: var(--spacing-xl);
        padding-bottom: var(--spacing-lg)
    }

    .footer-column:first-child .footer-description {
        font-size: .8rem;
        max-width: 280px
    }

    .footer-column:first-child .footer-social a {
        width: 40px;
        height: 40px
    }

    .footer-column h4 {
        font-size: .95rem
    }

    .footer-column ul a {
        font-size: .85rem
    }

    .contact-list i {
        font-size: 20px
    }

    .contact-list span {
        font-size: .8rem
    }

    .footer-bottom p {
        font-size: .7rem
    }

    .btn {
        padding: .5rem 1rem;
        font-size: .75rem
    }

    .btn-outline {
        padding: .5rem .75rem
    }
}

@media (min-width:1024px) {
    :root {
        --spacing-2xl: 2.4rem;
        --spacing-3xl: 3.2rem
    }

    .hero {
        min-height: 500px
    }

    .hero-content {
        padding: var(--spacing-2xl) 0
    }

    .hero-title {
        font-size: 3rem;
        margin-bottom: var(--spacing-md)
    }

    .hero-description {
        margin-bottom: var(--spacing-lg)
    }

    .quick-access,
    .news-section,
    .about-section,
    .transparency-banner {
        padding: var(--spacing-2xl) 0
    }

    .section-header {
        margin-bottom: var(--spacing-xl)
    }

    .section-header-row {
        margin-bottom: var(--spacing-xl)
    }

    .home-destaque {
        padding: var(--spacing-sm) 0 var(--spacing-xl)
    }

    .destaque-grid {
        gap: var(--spacing-md)
    }

    .destaque-noticias {
        gap: var(--spacing-md)
    }

    .noticia-principal {
        min-height: 250px;
        height: 250px
    }

    .noticia-principal-overlay {
        padding: var(--spacing-md)
    }

    .noticia-principal-titulo {
        font-size: 1.25rem
    }

    .noticia-badge {
        font-size: .65rem;
        padding: 4px 10px
    }

    .noticias-secundarias {
        gap: var(--spacing-sm)
    }

    .noticia-secundaria-img {
        height: 120px
    }

    .noticias-secundarias .materia-box-static-item .materia-box-static-title {
        padding: var(--spacing-sm)
    }

    .noticias-secundarias .materia-box-static-item .materia-box-static-title h3 {
        font-size: .85rem
    }

    .proxima-sessao-card {
        padding: var(--spacing-md)
    }

    .sessao-header {
        margin-bottom: var(--spacing-sm);
        padding-bottom: var(--spacing-xs)
    }

    .sessao-header h3 {
        font-size: 1rem
    }

    .sessao-info {
        margin-bottom: var(--spacing-sm);
        gap: var(--spacing-sm)
    }

    .sessao-data {
        flex: .5;
        padding: var(--spacing-sm)
    }

    .sessao-dia {
        font-size: 1.5rem
    }

    .sessao-tipo {
        font-size: .9rem
    }

    .sessao-horario,
    .sessao-local {
        font-size: .8rem
    }

    .sessao-btn {
        padding: var(--spacing-sm);
        font-size: .85rem
    }

    .servicos-rapidos {
        padding: var(--spacing-sm);
        gap: var(--spacing-xs)
    }

    .servico-rapido-item {
        padding: var(--spacing-sm);
        gap: var(--spacing-xs)
    }

    .servico-rapido-icon {
        width: 40px;
        height: 40px
    }

    .servico-rapido-icon i {
        font-size: 20px
    }

    .servico-rapido-item span {
        font-size: .75rem
    }

    .news-container {
        gap: var(--spacing-lg)
    }

    .news-featured-image {
        min-height: 280px
    }

    .news-featured-content {
        padding: var(--spacing-lg)
    }

    .news-featured-content h3 {
        font-size: 1.25rem
    }

    .news-feed .list-group-item {
        padding: var(--spacing-md)
    }

    .about-grid {
        gap: var(--spacing-2xl)
    }

    .about-content {
        padding: var(--spacing-md) 0
    }

    .transparency-grid {
        gap: var(--spacing-sm)
    }

    .transparency-card {
        padding: var(--spacing-md)
    }

    .quick-access-card {
        padding: var(--spacing-md);
        gap: var(--spacing-sm)
    }

    .quick-access-icon {
        width: 48px;
        height: 48px
    }

    .footer .container {
        padding-top: var(--spacing-2xl);
        padding-bottom: var(--spacing-2xl)
    }

    .footer-grid {
        gap: var(--spacing-xl)
    }
}

.content-header {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: solid 1px var(--color-border)
}

.content-header>.container {
    padding: 0
}

.content-header>.container>.row {
    display: flex;
    flex-flow: column
}

.content-header>.container>.row>nav:nth-child(1) {
    order: 1
}

.content-header>.container>.row>div:nth-child(2) {
    order: 2;
    margin-top: 30px
}

.content-header>.container>.row>div:nth-child(3) {
    order: 3
}

.content-header>.container>.row>div:nth-child(4) {
    order: 2
}

.content-header>.container>.row>div:nth-child(5) {
    order: 2
}

.content-header h2 {
    color: var(--color-primary)
}

.content-header h3 {
    color: var(--color-foreground);
    font-size: 21px
}

.content-header .alert {
    padding: 10px;
    color: var(--color-foreground);
    background: none;
    border: none
}

.content-header h2,
.content-header h3 {
    display: -webkit-box;
    max-width: 100%;
    margin: 0 0 5px 0 !important;
    padding: 0 !important;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis
}

.content-header .info-publicacao {
    padding: 0;
    margin: 10px 0 30px 0 !important
}

.content-header .info-publicacao p {
    color: var(--color-foreground) !important;
    font-weight: 500;
    opacity: .8
}

.content-header .navegacao2 {
    border: solid 1px var(--color-primary);
    border-radius: var(--radius-full);
    margin-bottom: 15px;
    padding: 10px 20px
}

.content-header .breadcrumb {
    margin: 0;
    padding-bottom: 0
}

.content-header .breadcrumb a {
    display: block;
    font-weight: 500;
    color: var(--color-primary)
}

.content-header .breadcrumb a:hover {
    color: var(--color-primary);
    scale: 1.03
}

.content-header .breadcrumb .breadcrumb-item {
    display: inline-flex;
    font-weight: 300
}

.content-header .breadcrumb a,
.content-header .breadcrumb li {
    color: var(--color-primary)
}

.content-header .breadcrumb li:before {
    color: var(--color-foreground)
}

.content-header .btn {
    background-color: var(--color-primary);
    color: #ffffff
}

.content-footer {
    clear: both
}

.breadcrumb-area {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    padding: 200px 0;
    position: relative;
    z-index: 1
}

.breadcrumb-area::after {
    content: "";
    clear: both;
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .3);
    top: 0;
    left: 0;
    z-index: -1
}

.breadcrumb-content h2 {
    text-transform: capitalize;
    font-weight: 700;
    color: #ffffff;
    font-size: 50px;
    letter-spacing: 1.2px
}

.breadcrumb {
    align-items: center
}

.breadcrumb::before {
    font-family: "Font Awesome 5 Free";
    padding-right: 10px;
    font-size: 21px;
    font-weight: 600;
    content: "\f015";
    color: var(--color-primary)
}

.divMainFontes,
.redessociais {
    display: flex !important
}

main .corpo-portal,
.main-content {
    padding: 60px 0
}

main .corpo-portal,
.main-content>.row {
    width: 100%;
    margin: 0
}

main .corpo-portal,
.main-content>.row .content.col-12 {
    padding: 0
}

.main>.container-fluid {
    padding: 0
}

main {
    position: relative
}

main.main-interno {
    padding: 60px 0
}

main .corpo-portal h2,
main .corpo-portal h3 {
    margin: 0 0 15px 0
}

main .corpo-portal h2 i,
main .corpo-portal h3 i {
    padding-right: 5px
}

main .corpo-portal h4,
main .corpo-portal h5,
.corpo-portal h6 {
    text-transform: uppercase;
    padding: 0 0 5px 0
}

.btn {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 12px 35px;
    border-radius: 0;
    font-weight: 600;
    text-transform: uppercase;
    font-size: .875rem;
    letter-spacing: .5px
}

.btn i {
    margin-right: 10px
}

.btn-primary {
    position: relative;
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    z-index: 0;
    -webkit-transition: all .3s ease-in-out;
    transition: all .25s ease-in-out
}

.btn-primary:hover {
    color: var(--color-primary-dark);
    background-color: var(--color-secondary);
    border-color: var(--color-secondary)
}

.btn-outline-primary {
    border-color: var(--color-primary);
    color: var(--color-primary)
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary)
}

.form-control,
.form-select {
    display: flex;
    padding: 8px 20px;
    min-height: 42px
}

label {
    margin: 0 0 .2rem 0 !important
}

legend {
    text-transform: uppercase;
    font-weight: 700;
    margin: 30px 0 20px 0;
    border-bottom: solid 1px var(--color-border)
}

fieldset {
    margin: 0;
    padding: 0
}

.UploadDiv {
    margin: 15px 0
}

select {
    background: url("data:image/svg+xml,<svg height='10px' width='10px' viewBox='0 0 16 16' fill='%23000000' xmlns='http://www.w3.org/2000/svg'><path d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/></svg>") no-repeat;
    background-position: calc(100% - .75rem) center !important;
    -moz-appearance: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    padding-right: 2rem !important
}

.resultados-encontrados,
.num_resultados {
    display: block;
    padding: 30px 0
}

.categoria-form {
    margin-bottom: 30px
}

.num_resultados {
    display: inline-block;
    padding: 10px 20px;
    margin: 30px 0 20px 0;
    border-radius: var(--radius-full);
    color: #000000;
    background-color: var(--color-border)
}

input[type="date"] {
    font-family: "Inter", sans-serif;
    font-size: 14px;
    color: #333;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 10px 14px;
    outline: none;
    transition: all .2s ease;
    width: 100%;
    box-sizing: border-box;
    cursor: pointer
}

input[type="date"]::-webkit-calendar-picker-indicator {
    background: url("data:image/svg+xml,%3Csvg fill='none' stroke='%23666' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='18' height='18' x='3' y='4' rx='2' ry='2'/%3E%3Cline x1='16' x2='16' y1='2' y2='6'/%3E%3Cline x1='8' x2='8' y1='2' y2='6'/%3E%3Cline x1='3' x2='21' y1='10' y2='10'/%3E%3C/svg%3E") no-repeat center;
    width: 20px;
    height: 20px;
    cursor: pointer;
    opacity: .7
}

input[type="date"]::-webkit-calendar-picker-indicator:hover {
    opacity: 1
}

input[type="date"]:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, .2)
}

input[type="date"]::-moz-focus-inner {
    border: 0
}

input[type="date"]:invalid::before {
    content: attr(placeholder);
    color: #999;
    margin-right: 8px
}

input[type="date"]:valid::before {
    content: ""
}

.alert {
    padding: 20px
}

.badge.badge-pill {
    display: flex;
    align-items: center;
    border-radius: var(--radius-full);
    background-color: var(--color-destructive);
    padding: 5px 10px;
    color: #ffffff;
    margin-right: 10px
}

.page-link {
    padding: .8rem 1.2rem;
    color: #000000
}

.page-item.active .page-link {
    background-color: var(--color-primary);
    border-color: var(--color-primary)
}

#filtro>.button-filtro,
#filtro>h3>.btn-filter {
    display: none !important
}

#openfilter {
    display: block !important;
    border: solid 3px var(--color-border) !important;
    border-radius: .375rem;
    background-color: #ffffff;
    padding: 30px;
    border: 0
}

#filtro .card-body {
    padding: 0
}

input[type="date"] {
    display: block;
    padding: 8px 8px 8px 15px
}

.card-header {
    padding: 20px;
    font-size: 18px;
    font-weight: 700
}

.card-body {
    padding: 20px
}

.accordion-item {
    border: 2px solid var(--color-border);
    border-bottom: none
}

.accordion-item:last-child {
    border-bottom: 2px solid var(--color-border)
}

.accordion-item .accordion-header {
    line-height: 1;
    margin: 0;
    padding: 0
}

.accordion-item .accordion-header a {
    font-size: 1rem;
    width: 100%;
    display: inline-block;
    color: var(--color-primary);
    padding: 20px 20px;
    font-weight: 500;
    text-transform: capitalize;
    position: relative
}

.accordion-item .accordion-header a::after {
    content: "-";
    clear: both;
    overflow: hidden;
    position: absolute;
    top: 14px;
    right: 10px;
    width: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--color-primary);
    color: #ffffff;
    font-size: 20px;
    height: 30px
}

.accordion-item .accordion-header a.collapsed::after {
    content: "+"
}

.accordion-item .accordion-body {
    border: none;
    padding: 15px 20px;
    border-top: 2px solid var(--color-border)
}

.accordion-item .accordion-body h4 {
    font-size: 1.3rem
}

.accordion-item .accordion-collapse {
    border: none
}

.accordion-item .accordion-body p {
    line-height: 30px;
    color: var(--color-muted-foreground);
    margin-bottom: 10px
}

h2.accordion-header {
    padding: 0 !important;
    margin: 0 !important
}

.accordion-button {
    padding: 20px;
    font-size: 1rem;
    font-weight: 600
}

.accordion-button:hover {
    background-color: var(--color-muted)
}

.accordion-button:not(.collapsed) {
    background-color: var(--color-primary);
    color: #ffffff;
    font-weight: 700
}

.accordion-button:not(.collapsed)::after {
    filter: brightness(100)
}

.nav-tabs.nav-tabs {
    border-bottom: solid 3px var(--color-secondary);
    padding: 0
}

.nav-tabs li a,
.nav-tabs li button {
    padding: 10px 5px;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    color: var(--color-muted-foreground)
}

.nav-tabs li a:hover {
    color: #000000
}

.nav-tabs li a.active,
.nav-tabs .nav-link.active {
    color: #000000;
    border: solid 3px var(--color-secondary);
    background-color: var(--color-secondary);
    border-bottom: solid 3px #ffffff;
    border-bottom-left-radius: 0 !important;
    margin-bottom: -5px
}

.nav-tabs .nav-item {
    display: flex;
    align-items: end
}

.nav-tabs .nav-link.active {
    border-bottom: solid 3px var(--color-secondary)
}

.agendas-lista>div {
    margin-bottom: 20px
}

.agendas-lista .card {
    height: 100% !important
}

.agendas-lista .caption {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 20px
}

.agendas-lista .caption p.tipo {
    width: fit-content;
    border-radius: 4px;
    padding: 5px 10px;
    font-size: 12px;
    background: var(--color-destructive);
    color: #ffffff;
    margin-bottom: 20px
}

.agendas-lista .caption h3 a {
    color: var(--color-primary)
}

.agendas-lista .caption p.data,
.agendas-lista .caption p.horario,
.agendas-lista .caption p.local {
    font-size: 1rem;
    color: var(--color-foreground)
}

.agendas-lista .caption p.data::before,
.prog_data::before {
    content: "\f133";
    font-family: "Font Awesome 5 Free";
    color: var(--color-foreground);
    padding-right: 10px
}

.agendas-lista .caption p.horario::before,
.prog_hora::before {
    content: "\f017";
    font-family: "Font Awesome 5 Free";
    color: var(--color-foreground);
    padding-right: 10px
}

.agendas-lista .caption p.local::before,
.prog_local::before {
    content: "\f279";
    font-family: "Font Awesome 5 Free";
    color: var(--color-foreground);
    padding-right: 10px
}

.agendas-lista .caption p.descricao,
.prog_desc {
    margin-bottom: 20px
}

#desc_evento h3 {
    width: fit-content;
    border-radius: 4px;
    padding: 5px 10px;
    font-size: 12px;
    background: var(--color-destructive);
    color: #ffffff;
    margin-bottom: 20px
}

#programacao {
    margin-top: 25px;
    padding-top: 25px;
    border-top: solid 1px var(--color-border)
}

.busca-avancada #dados .form-group>.form-group {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 10px
}

.busca-avancada #dados .form-group>.form-group>label {
    width: 100%
}

.busca-avancada #dados .form-group>.form-group>.form-check {
    width: 20%
}

.busca-avancada .mat-lis-mais-publicacoes {
    margin-top: 10px
}

.busca-avancada .accordion-body>.list-group>.row>.col-md-12 {
    margin-bottom: 15px
}

.busca-avancada .perguntas-frequentes-lista {
    margin-bottom: 15px
}

.busca-avancada .links-uteis.list-group .list-group-item {
    width: 100% !important
}

.busca-avancada .licitacoes-listagem-lista .list-group-item {
    border: 0
}

.perguntas-frequentes {
    height: 100%
}

.perguntas-frequentes h4 {
    margin-bottom: 20px
}

.perguntas-frequentes li {
    padding: 0
}

.perguntas-frequentes-lista .accordion>div {
    margin-bottom: 30px
}

.perguntas-frequentes-lista .accordion>div:last-child {
    margin-bottom: 0
}

.perguntas-frequentes>.secoes-faq>.list-group-item:first-child a {
    padding: 20px 30px;
    background-color: var(--color-primary);
    color: #ffffff
}

.perguntas-frequentes>.secoes-faq>.list-group-item:first-child a::before {
    color: var(--color-secondary)
}

.perguntas-frequentes>.secoes-faq>.list-group-item:first-child a:hover,
.perguntas-frequentes>.secoes-faq>.list-group-item:first-child a:hover::before {
    color: var(--color-secondary)
}

.secoes-categorias {
    position: sticky;
    top: 20px;
    background-color: var(--color-muted);
    padding: 0 0 15px 0
}

.secoes-categorias li,
.secoes-categorias a {
    background: none;
    font-size: 15px;
    font-weight: 600;
    color: var(--color-foreground);
    border: 0
}

.secoes-categorias li {
    border-bottom: none
}

.secoes-categorias li ul {
    padding-left: 15px
}

.secoes-categorias>li a::before {
    font-family: 'Font Awesome 5 Free';
    content: '\f192';
    padding-right: 10px;
    color: var(--color-primary)
}

.secoes-categorias>li ul li a::before {
    content: '-';
    padding-right: 10px;
    color: var(--color-primary)
}

.secoes-categorias>li h4 a {
    font-weight: 700
}

.secoes-categorias>li h4.populares a::before {
    font-family: 'Font Awesome 5 Free';
    content: '\f005';
    padding-right: 10px;
    color: var(--color-primary)
}

.secoes-categorias>li h4.recentes a::before {
    font-family: 'Font Awesome 5 Free';
    content: '\f00b';
    padding-right: 10px;
    color: var(--color-primary)
}

.secoes-categorias a {
    cursor: pointer;
    display: block;
    width: 100%;
    height: 100%;
    padding: 20px 30px 10px 30px;
    transition: all ease-in-out .5s
}

.secoes-categorias .secoes-categorias a {
    padding: 10px 30px
}

.secoes-categorias a:hover {
    color: var(--color-primary)
}

.mat-lis-mais-publicacoes {
    margin-top: 30px
}

.mat-lis-destaque .card {
    overflow: hidden;
    border-radius: 4px
}

.mat-lis-destaque .card .card-body {
    padding: 2rem
}

.mat-lis-destaque .card .btn {
    margin-top: 10px
}

.mat-lis-destaque img {
    height: 340px;
    object-fit: cover;
    object-position: center top
}

.mat-lis-ultimas-noticias .list-group {
    flex-wrap: wrap;
    flex-direction: row;
    gap: 20px;
    height: calc(100% - 55px)
}

.mat-lis-ultimas-noticias .list-group-item {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    padding: 20px;
    background: var(--color-muted);
    border: solid 2px var(--color-muted);
    border-radius: 4px;
    width: calc((100% - 40px) / 3);
    height: calc((100% - 20px) / 2);
    gap: 10px
}

.mat-lis-ultimas-noticias .list-group-item small {
    width: fit-content;
    border-radius: 4px;
    padding: 5px 10px;
    font-size: 12px;
    background: var(--color-primary);
    color: #ffffff
}

.mat-lis-ultimas-noticias .list-group-item h5 {
    display: -webkit-box;
    max-width: 100%;
    margin: 0 !important;
    padding: 0;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: all ease-in-out .4s
}

.mat-lis-ultimas-noticias .list-group-item:hover {
    background: var(--color-muted);
    border-color: var(--color-secondary)
}

.mat-lis-ultimas-noticias .list-group-item p {
    display: -webkit-box;
    max-width: 100%;
    margin: 0 !important;
    padding: 0;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis
}

.mat-lis-ultimas-noticias .list-group-item:hover h5 {
    color: var(--color-primary)
}

.mat-lis-ultimas-noticias .list-group-item div {
    gap: 10px;
    flex-direction: row-reverse;
    justify-content: left !important
}

.mat-lis-mais-publicacoes .list-group,
.materias-relacionadas .list-group {
    flex-wrap: wrap;
    flex-direction: row;
    gap: 20px
}

.mat-lis-mais-publicacoes .list-group-item,
.materias-relacionadas .list-group-item {
    padding: 20px;
    border: solid 3px rgb(231, 231, 231);
    border-radius: var(--radius-md);
    width: 100%
}

.mat-lis-mais-publicacoes .list-group-item small,
.materias-relacionadas .list-group small {
    width: fit-content;
    height: fit-content;
    border-radius: 4px;
    padding: 5px 10px;
    font-size: 12px;
    background: var(--color-primary);
    color: #ffffff !important
}

.mat-lis-mais-publicacoes .list-group-item h5,
.materias-relacionadas .list-group-item h5 {
    transition: all ease-in-out .4s;
    margin-top: 10px !important
}

.mat-lis-mais-publicacoes .list-group-item:hover,
.materias-relacionadas .list-group-item:hover {
    border-color: var(--color-primary)
}

.mat-lis-mais-publicacoes .list-group-item:hover h5,
.materias-relacionadas .list-group-item:hover h5 {
    color: var(--color-primary)
}

.mat-lis-mais-publicacoes .list-group-item div,
.materias-relacionadas .list-group-item div {
    flex-direction: row-reverse;
    gap: 10px;
    justify-content: left !important
}

.mat-lis-mais-publicacoes .list-group-item p,
.materias-relacionadas .list-group-item p {
    padding: 0;
    margin: 0 !important
}

.materia-texto {
    display: block !important
}

.materia-texto .imagem-materia {
    float: left;
    max-width: 40%;
    width: auto;
    max-height: 400px;
    margin: 4px 32px 16px 0;
    box-shadow: var(--shadow-lg);
    transition: all var(--transition-base)
}

.materia-texto .imagem-materia img {
    display: block;
    max-width: 100%;
    max-height: 400px;
    width: auto;
    height: auto;
    object-fit: cover
}

.materia-texto .imagem-materia:hover {
    transform: scale(1.02)
}

.materia-texto .autor {
    clear: both;
    display: block;
    float: right;
    margin-top: 30px
}

.materia-texto::after {
    content: "";
    display: block;
    clear: both
}

@media (max-width:768px) {
    .materia-texto .imagem-materia {
        float: none;
        max-width: 100%;
        width: 100%;
        max-height: none;
        margin: 0 0 16px 0
    }

    .materia-texto .imagem-materia img {
        max-height: none
    }
}

.imagem-materia .caption {
    background-color: #FFF;
    padding: 0;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px
}

.imagem-materia .caption p {
    font-size: 14px;
    margin: 0;
    padding: 5px 10px
}

.materia-texto .alert {
    width: 100%;
    margin: 60px 0
}

.materia-texto p,
.divApresentacao p,
#textos p,
.transparencia-apresentacao-texto p {
    font-family: inherit;
    font-size: calc(1rem + 2px);
    margin-bottom: 10px
}

.materia-texto ul {
    margin: revert;
    padding: revert;
    list-style: initial
}

.divApresentacao span {
    font-size: calc(1rem + 2px) !important
}

.div-enquete>form>.card {
    border-radius: 15px;
    border: solid 3px var(--color-border)
}

.div-enquete>form>.card:hover {
    border-color: var(--color-primary)
}

.div-enquete .legenda_enquete {
    font-size: 1rem
}

.div-enquete .enquete_grafico {
    display: flex;
    flex-direction: row;
    margin: 10px 0
}

.div-enquete .enquete_grafico .grafico_filtros {
    width: 40%
}

.div-enquete .enquete_grafico .area_grafico {
    width: 60%
}

.div-enquete .enquete_grafico .grafico_filtros .idade .mt-5 {
    padding: 0 40px 20px 20px
}

.div-enquete .grafico_filtros .selecao_dados_pessoais {
    margin-bottom: 20px
}

.div-enquete .grafico_filtros .selecao_dados_pessoais input {
    margin-right: 10px
}

.div-enquete .idade,
.div-enquete .tipo_grafico {
    margin-top: 20px
}

.div-enquete .div_filtro_idade_info {
    display: none
}

.downloads-lista small,
.downloads-lista .download-size {
    display: flex;
    align-items: center;
    border-radius: var(--radius-full);
    background-color: var(--color-primary);
    padding: 5px 10px;
    color: #ffffff;
    margin-right: 10px
}

.downloads-lista .download-size {
    background-color: var(--color-muted-foreground)
}

.downloads-lista i {
    color: var(--color-primary);
    font-size: 21px
}

.links-uteis.list-group .list-group-item {
    width: 100%;
    height: max-content
}

.comentarios {
    margin: 30px 0
}

.comentarios .row:first-child .col-md-12 {
    display: flex;
    flex-direction: row;
    justify-content: space-between
}

.comentarios .total-comentarios.badge.badge-pill {
    background-color: var(--color-primary);
    display: inline;
    margin-left: 10px
}

.comentarios .lista {
    margin-top: 30px
}

.comentarios .lista .comentario_lista {
    display: flex;
    flex-direction: column;
    gap: 30px
}

.comentarios .lista .comentario_lista .comentario_item {
    display: flex;
    flex-direction: row;
    gap: 15px
}

.comentarios .lista .comentario_lista .comentario_item .img_internauta {
    width: 64px;
    height: 64px;
    border-radius: var(--radius-full);
    overflow: hidden
}

.comentarios .lista .comentario_lista .comentario_item h5 {
    margin-bottom: 0 !important
}

.comentarios .lista .comentario_lista .comentario_item .data_comentario {
    font-style: italic;
    margin-bottom: 5px;
    font-size: .875rem
}

.comentarios .lista .comentario_lista .comentario_item .comentario_item {
    margin-top: 30px
}

.input-group .react-datepicker-wrapper {
    display: block;
    width: 100%
}

.react-datepicker-wrapper {
    display: inline-block;
    width: 100%
}

.react-datepicker__input-container {
    display: block;
    width: 100%
}

.react-datepicker__input-container .input-group {
    position: relative;
    display: flex;
    align-items: stretch;
    width: 100%
}

.react-datepicker__input-container input.form-control,
.react-datepicker__input-container input[type="text"].form-control {
    width: 100%;
    height: 40px;
    padding: 0 44px 0 12px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background-color: #ffffff;
    color: #111827;
    font-size: 14px;
    line-height: 40px;
    outline: none;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease
}

.react-datepicker__input-container input.form-control::placeholder {
    color: #9ca3af
}

.react-datepicker__input-container input.form-control:hover {
    background-color: #ffffff;
    border-color: #d1d5db
}

.react-datepicker__input-container input.form-control:focus {
    border-color: #9ca3af;
    box-shadow: 0 0 0 3px rgba(156, 163, 175, .25)
}

.react-datepicker__input-container input.form-control:disabled {
    background-color: #f9fafb;
    color: #9ca3af;
    cursor: not-allowed
}

.react-datepicker__input-container .btn.btn-outline-secondary {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #6b7280;
    cursor: pointer;
    border-radius: 8px;
    transition: background-color .15s ease, color .15s ease
}

.react-datepicker__input-container .btn.btn-outline-secondary:hover {
    background-color: #f3f4f6;
    color: #111827
}

.react-datepicker__input-container .btn.btn-outline-secondary:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(156, 163, 175, .25)
}

.react-datepicker__input-container .btn.btn-outline-secondary:active {
    transform: translateY(-50%)
}

.react-datepicker__input-container .btn.btn-outline-secondary i {
    margin: 0;
    height: auto;
    display: flex
}

.react-datepicker__input-container .btn.btn-outline-secondary svg {
    width: 18px;
    height: 18px;
    fill: currentColor
}

.react-datepicker__input-container .btn.btn-outline-secondary:empty::before {
    content: "";
    width: 18px;
    height: 18px;
    display: block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 18px 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24'%3E%3Cpath fill='%236b7280' d='M7 2a1 1 0 0 1 1 1v1h8V3a1 1 0 1 1 2 0v1h1.5A2.5 2.5 0 0 1 22 6.5v14A2.5 2.5 0 0 1 19.5 23h-15A2.5 2.5 0 0 1 2 20.5v-14A2.5 2.5 0 0 1 4.5 4H6V3a1 1 0 0 1 1-1Zm12.5 8H4.5v10.5c0 .276.224.5.5.5h14c.276 0 .5-.224.5-.5V10ZM6 6H4.5a.5.5 0 0 0-.5.5V8h18V6.5a.5.5 0 0 0-.5-.5H18v1a1 1 0 1 1-2 0V6H8v1a1 1 0 1 1-2 0V6Z'/%3E%3C/svg%3E")
}

.react-datepicker {
    font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    font-size: 14px;
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, .08);
    overflow: hidden
}

.react-datepicker__header {
    background-color: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
    padding: 12px 12px 10px
}

.react-datepicker__current-month {
    font-weight: 600;
    color: #111827;
    font-size: 14px
}

.react-datepicker__header__dropdown {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 8px
}

.react-datepicker__header__dropdown--select,
.react-datepicker__header__dropdown--scroll {
    display: flex;
    align-items: center;
    gap: 10px
}

.react-datepicker__month-dropdown-container,
.react-datepicker__year-dropdown-container,
.react-datepicker__month-year-dropdown-container {
    display: inline-flex;
    align-items: center
}

.react-datepicker__month-select,
.react-datepicker__year-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    height: 36px;
    padding: 0 38px 0 12px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background-color: #ffffff;
    color: #111827;
    font-size: 14px;
    font-weight: 600;
    line-height: 36px;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 20 20'%3E%3Cpath d='M5.6 7.4a1 1 0 0 1 1.4 0L10 10.4l3-3a1 1 0 1 1 1.4 1.4l-3.7 3.7a1 1 0 0 1-1.4 0L5.6 8.8a1 1 0 0 1 0-1.4z' fill='%236b7280'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px 12px;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease
}

.react-datepicker__month-select::-ms-expand,
.react-datepicker__year-select::-ms-expand {
    display: none
}

.react-datepicker__month-select:hover,
.react-datepicker__year-select:hover {
    background-color: #f9fafb;
    border-color: #d1d5db
}

.react-datepicker__month-select:focus,
.react-datepicker__year-select:focus {
    outline: none;
    border-color: #9ca3af;
    box-shadow: 0 0 0 3px rgba(156, 163, 175, .25)
}

.react-datepicker__month-select:disabled,
.react-datepicker__year-select:disabled {
    opacity: .55;
    cursor: not-allowed
}

.react-datepicker__month-select option,
.react-datepicker__year-select option {
    font-weight: 500;
    color: #111827
}

.react-datepicker__navigation {
    top: 14px
}

.react-datepicker__navigation-icon::before {
    border-color: #6b7280
}

.react-datepicker__day-name {
    color: #6b7280;
    font-weight: 500;
    width: 2.2rem;
    line-height: 2.2rem
}

.react-datepicker__day {
    width: 2.2rem;
    line-height: 2.2rem;
    margin: .15rem;
    border-radius: 6px;
    color: #111827;
    transition: background-color .15s ease, color .15s ease
}

.react-datepicker__day:hover {
    background-color: #f3f4f6
}

.react-datepicker__day--selected,
.react-datepicker__day--keyboard-selected {
    background-color: #111827;
    color: #ffffff;
    font-weight: 600
}

.react-datepicker__day--today {
    border: 1px solid #d1d5db
}

.react-datepicker__day--disabled {
    color: #d1d5db;
    cursor: not-allowed
}

.react-datepicker__day--outside-month {
    color: #9ca3af
}

.react-datepicker__time-container {
    border-left: 1px solid #e5e7eb
}

.react-datepicker__time-list-item {
    padding: 6px 10px;
    color: #111827
}

.react-datepicker__time-list-item:hover {
    background-color: #f3f4f6
}

.react-datepicker__time-list-item--selected {
    background-color: #111827;
    color: #ffffff;
    font-weight: 600
}

.diario-eletronico-registros .card {
    border: solid 3px var(--color-border);
    border-radius: var(--radius-md)
}

.diario-eletronico-registros .card .card-header strong {
    font-weight: bold
}

.diario-eletronico-registros .card .card-header,
.diario-eletronico-registros .card .card-body,
.diario-eletronico-registros .card .card-footer {
    background: none
}

.diario-eletronico-registros .card .card-footer {
    padding: 20px
}

.diario-eletronico-calendario {
    position: relative
}

.diario-eletronico-calendario>div {
    position: sticky;
    top: 20px
}

.licitacoes-listagem-lista a.list-group-item {
    display: block;
    padding: 30px;
    border: solid 3px var(--color-border) !important;
    border-radius: var(--radius-md)
}

.licitacoes-listagem-lista a.list-group-item:hover {
    border-color: var(--color-primary) !important
}

.licitacoes-listagem-lista a.list-group-item h4 i {
    padding-right: 10px
}

.licitacoes-listagem-lista .list-group-item small {
    width: fit-content;
    border-radius: 4px;
    padding: 5px 10px;
    font-size: 12px;
    background: var(--color-primary);
    color: #ffffff !important;
    margin-right: 10px
}

.licitacao-arquivos h4 a {
    color: var(--color-primary)
}

.guia-servicos-filter>form,
.tab-content {
    border-top-left-radius: 0;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    border: solid 3px var(--color-secondary);
    background-color: var(--color-secondary);
    border-top: 0;
    padding: 20px 20px 20px 20px
}

.guia-servicos-disponiveis p a,
.guia-servicos-disponiveis .rdt_TableRow a {
    display: block;
    color: #000000;
    margin-bottom: 5px;
    padding-left: 35px
}

.guia-servicos-disponiveis p a::before,
.guia-servicos-disponiveis .rdt_TableRow a::before {
    position: absolute;
    font-family: "Font Awesome 5 Free";
    content: "\f0c1";
    color: var(--color-primary);
    font-size: 18px;
    font-weight: 600;
    margin-left: -30px
}

.guia-servicos-disponiveis p a:hover,
.guia-servicos-disponiveis .rdt_TableRow a:hover {
    color: var(--color-primary)
}

.guia-servicos-disponiveis .card {
    border: 0;
    border-bottom: solid 1px var(--color-border)
}

.consultar-servico h5.card-header {
    padding: 10px 20px
}

.galerias-imagens-lista>.row {
    gap: 20px
}

.galerias-imagens-lista-item {
    width: calc((100% - 40px) / 3);
    padding: 0;
    margin: 0
}

.galerias-imagens-lista-item .card {
    height: 100%
}

.galerias-imagens-lista img {
    width: 100%;
    height: 300px !important;
    object-fit: cover;
    object-position: center center
}

.estabelecimentos-lista>.row {
    gap: 20px
}

.estabelecimentos-lista-item {
    width: calc((100% - 40px) / 3);
    padding: 0;
    margin: 0
}

.estabelecimentos-lista-item .card {
    height: 100%
}

.estabelecimentos-lista h3 {
    color: #000000
}

.estabelecimentos-lista .estabelecimentos-link:hover h3 {
    color: var(--color-primary)
}

.estabelecimentos-badge {
    margin-bottom: 10px
}

#dados form {
    border: solid 2px var(--color-border);
    border-radius: var(--radius-md);
    background-color: #ffffff;
    padding: 30px
}

.form-select-item label::before {
    font-family: "Font Awesome 5 Free";
    content: "\f0d7";
    color: #000000;
    padding-right: 10px;
    font-size: 20px;
    line-height: 20px;
    font-weight: 600
}

.form-text-item label::before,
.form-text-item strong::before {
    font-family: "Font Awesome 5 Free";
    content: "\f303";
    color: #000000;
    padding-right: 10px;
    font-size: 12px;
    font-weight: 600
}

.form-date-item label::before {
    font-family: "Font Awesome 5 Free";
    content: "\f133";
    color: #000000;
    padding-right: 10px;
    font-size: 12px;
    font-weight: 600
}

.form-upload-item label::before {
    font-family: "Font Awesome 5 Free";
    content: "\f093";
    color: #000000;
    padding-right: 10px;
    font-size: 12px;
    font-weight: 600
}

#fds_dados_residenciais legend {
    display: none
}

.form-text-item-cep,
.form-text-item-logradouro,
.form-text-item-numero,
.form-text-item-complemento,
.form-text-item-bairro,
.form-text-item-pais {
    display: none
}

.form-text-item-cidade,
.form-text-item-uf,
.form-text-item-ddd-celular,
.form-text-item-numero-celular {
    margin-top: 10px
}

.downloads-lista.list-group {
    flex-wrap: wrap;
    flex-direction: row;
    gap: 20px
}

.downloads-lista.list-group .list-group-item {
    padding: 20px;
    border: solid 3px rgb(231, 231, 231);
    border-radius: var(--radius-md);
    width: 100%
}

.downloads-lista.list-group .list-group-item small {
    width: fit-content;
    border-radius: 4px;
    padding: 5px 10px;
    font-size: 12px;
    background: var(--color-primary);
    color: #ffffff !important
}

.downloads-lista.list-group .list-group-item i {
    height: 20px;
    font-size: 25px
}

.downloads-lista.list-group .list-group-item h5 {
    transition: all ease-in-out .4s
}

.downloads-lista.list-group .list-group-item:hover {
    border-color: var(--color-primary)
}

.downloads-lista.list-group .list-group-item:hover h5 {
    color: var(--color-primary)
}

.downloads-lista.list-group .list-group-item p {
    padding: 0
}

.telefones-filter-form .form-group label {
    margin: 0 !important
}

.telefones-uteis-lista .listagem-filtro a.list-group-item-action {
    cursor: pointer;
    padding: 20px
}

.telefones-uteis-lista .listagem-filtro .list-group-item-heading {
    padding: 20px 0 10px 0
}

.telefones-uteis-lista .listagem-filtro a.list-group-item-action:hover {
    background-color: var(--color-border)
}

.telefones-uteis-lista .listagem-filtro a.list-group-item-action.active {
    background-color: var(--color-primary)
}

.telefones-uteis-lista .listagem-filtro a.list-group-item-action h5,
.telefones-uteis-lista .listagem-filtro a.list-group-item-action p {
    padding: 0 !important;
    margin: 0 !important
}

.telefones-uteis-lista .listagem-filtro a.list-group-item-action.active h5,
.telefones-uteis-lista .listagem-filtro a.list-group-item-action.active p {
    color: #ffffff
}

.telefones-uteis-card .card {
    position: sticky;
    top: 20px
}

.telefones-uteis-card .card-header {
    padding: 20px
}

.car_pos_lis #filtro {
    padding: 0
}

.car-pos-lis-mais-publicacoes .col-6 {
    padding-bottom: 20px
}

.car-pos-lis-mais-publicacoes .card-title {
    color: var(--color-primary)
}

.car-pos-lis-mais-publicacoes a:hover .card-title {
    color: var(--color-primary)
}

.car_pos_lis .card {
    height: 100%;
    padding: 0 !important
}

.car_pos_lis .card-body {
    padding: 10px !important
}

.car_pos_lis .card-body h5 {
    font-size: calc(1rem + 4px);
    margin: 10px 0 0 0;
    padding: 0
}

.cartao-postal-img {
    position: relative !important;
    object-fit: cover;
    object-position: center;
    height: 200px !important
}

.listagem-itens .thumb {
    margin-bottom: 20px
}

#detalhes.ace-lis-destaque .card {
    background-color: #ffffff !important;
    margin: 20px 0 !important;
    padding: 15px !important
}

.ace-lis-destaque img {
    height: fit-content
}

.lista-galerias-images img {
    width: 100%
}

.busca-avancada #dados .form-group>.form-group {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 10px
}

.busca-avancada #dados .form-group>.form-group>label {
    width: 100%
}

.busca-avancada #dados .form-group>.form-group>.form-check {
    width: 20%
}

.busca-avancada .mat-lis-mais-publicacoes {
    margin-top: 10px
}

.busca-avancada .accordion-body>.list-group>.row>.col-md-12 {
    margin-bottom: 15px
}

.busca-avancada .perguntas-frequentes-lista {
    margin-bottom: 15px
}

.busca-avancada .links-uteis.list-group .list-group-item {
    width: 100% !important
}

.busca-avancada .licitacoes-listagem-lista .list-group-item {
    border: 0
}

.busca-lista .mat-lis-mais-publicacoes .list-group-item div {
    flex-direction: column-reverse !important
}

.search-mode-buttons {
    position: relative;
    display: flex;
    border-left: solid 3px var(--color-border);
    border-right: solid 3px var(--color-border);
    border-top: solid 3px var(--color-border);
    margin-bottom: -5px;
    width: fit-content
}

.search-mode-buttons button.btn {
    border: 0;
    background-color: var(--color-border) !important;
    font-size: calc(1rem + 2px);
    font-weight: 600;
    color: var(--color-muted-foreground);
    padding: 10px 20px
}

.search-mode-buttons button.btn-primary,
.search-mode-buttons button.btn:active,
.search-mode-buttons button.btn:focus {
    padding: 10px 20px;
    background-color: #ffffff !important;
    color: #000000;
    line-height: 1.5
}

.search-mode-buttons button.btn:hover {
    padding: 10px 20px;
    background: var(--color-muted) !important;
    color: #000000;
    line-height: 1.5
}

.legislacao-lista.list-group {
    flex-wrap: wrap;
    flex-direction: row;
    gap: 20px
}

.legislacao-lista.list-group .list-group-item {
    padding: 20px;
    border: solid 3px rgb(231, 231, 231);
    border-radius: var(--radius-md);
    width: 100%
}

.legislacao-lista.list-group .list-group-item small {
    width: fit-content;
    border-radius: 4px;
    padding: 5px 10px;
    font-size: 12px;
    background: var(--color-primary);
    color: #ffffff !important;
    margin-right: 10px
}

.legislacao-lista.list-group .list-group-item i {
    height: 20px;
    font-size: 25px
}

.legislacao-lista.list-group .list-group-item small.data-assinada-legislacao a,
.legislacao-lista.list-group .list-group-item small.data-publicado-legislacao a {
    color: #ffffff !important
}

.legislacao-lista.list-group .list-group-item h5 {
    transition: all ease-in-out .4s
}

.legislacao-lista.list-group .list-group-item:hover {
    border-color: var(--color-primary)
}

.legislacao-lista.list-group .list-group-item:hover h5 {
    color: var(--color-primary)
}

.legislacao-lista.list-group .list-group-item p {
    padding: 0
}

.legislacao-normas-relacionadas {
    margin-top: 30px
}

.legislacao-normas-relacionadas .list-group-item {
    display: flex;
    flex-direction: column;
    gap: 0
}

.legislacao-normas-relacionadas .list-group-item a {
    border: solid 1px var(--color-border);
    padding: 10px 15px;
    color: var(--color-primary);
    font-weight: 600;
    transition: var(--transition-base)
}

.legislacao-normas-relacionadas .list-group-item a::before {
    font-family: "Font Awesome 5 Free";
    content: "\f0c1";
    padding-right: 10px
}

.legislacao-normas-relacionadas .list-group-item a:hover {
    color: var(--color-primary-light)
}

.mat-leg-publicacoes a.list-group-item {
    display: block;
    padding: 30px;
    border: solid 3px var(--color-border) !important;
    border-radius: var(--radius-md)
}

.mat-leg-publicacoes a.list-group-item:hover {
    border-color: var(--color-primary) !important
}

.mat-leg-publicacoes a.list-group-item h4 i {
    padding-right: 10px
}

.materia-legislativa-lista-documentos a {
    color: var(--color-primary);
    font-weight: 700
}

.materia-legislativa-lista-documentos a::before {
    content: "\f0c1";
    padding-right: 5px;
    font-family: "Font Awesome 5 Free";
    font-size: .875rem;
    color: var(--color-primary)
}

.tramitacao_item {
    border: solid 3px var(--color-border);
    border-radius: var(--radius-md);
    padding: 20px;
    margin-bottom: 20px
}

.tramitacao_item:hover {
    border-color: var(--color-primary)
}

.legislacao_ancora_artigo {
    margin: 0 10px 0 30px;
    padding: 2px 10px;
    background-color: var(--color-destructive);
    color: #ffffff;
    font-weight: 700;
    border-radius: var(--radius-md)
}

.legislacao_ancora_artigo:hover {
    color: #ffffff
}

#cabecalhoDoc {
    margin-bottom: 20px
}

#cabecalhoDoc .navbar-right {
    display: flex;
    flex-direction: row;
    gap: 10px
}

#textos blockquote {
    display: flex;
    position: relative;
    justify-content: center;
    margin: 30px 0;
    padding: 30px;
    text-align: center;
    background-color: var(--color-background);
    color: var(--color-primary)
}

.legislacao_sessao {
    margin: 20px 0
}

.legislacao_titulo {
    margin: 30px 0 10px 0 !important
}

.legislacao_data {
    font-size: calc(1rem)
}

.legislacao_assinatura,
.legislacao_data {
    margin: 30px 0
}

.legislacao_assinatura {
    text-align: center
}

.ouvidoria-apresentacao-texto-botoes .row {
    height: 100%;
    align-items: center
}

.ouvidoria-apresentacao-cards .card {
    height: 100%
}

.ajuda-ouvidoria a {
    display: inline-block;
    padding: 10px;
    color: var(--color-primary);
    font-weight: 700;
    transition: var(--transition-base)
}

.ajuda-ouvidoria a:hover {
    scale: 1.05
}

.parlamentar-foto {
    position: relative
}

.divparlamentar .partido-foto img {
    width: 40px
}

.divparlamentar .caption .media {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin: 10px 0 30px 0
}

.divpartidopolitico .media .well {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center
}

#partido-politico-partido-sigla {
    display: none
}

#partido-politico-genero h4 {
    border-bottom: solid 1px var(--color-border);
    font-size: calc(1rem + 4px);
    padding: 15px;
    margin: 0 0 20px 0
}

#parlamentar-nome {
    padding-top: 0
}

#parlamentar-nome a h5 {
    display: inline;
    margin-bottom: 20px
}

#parlamentar-nome a:hover h5 {
    color: var(--color-primary);
    transition: var(--transition-base)
}

.parlamentar-cargo {
    width: 100%;
    padding: 10px;
    font-size: .875rem;
    font-weight: 600;
    background-color: var(--color-primary) !important;
    color: #ffffff;
    text-transform: uppercase;
    margin-bottom: 20px
}

.parlamentar-cargo::before {
    content: "\f508";
    padding-right: 10px;
    font-family: "Font Awesome 5 Free";
    font-size: 1rem;
    font-weight: 700
}

.divcomissao .media .well h4 {
    text-align: center;
    border-bottom: solid 1px var(--color-border);
    padding-bottom: 10px;
    margin: 20px 0
}

.divparlamentar .divimagem {
    position: relative
}

.divparlamentar img {
    height: auto
}

.divimagem .caption {
    position: absolute;
    top: 10px;
    right: 10px;
    border-radius: var(--radius-md);
    border: solid 3px var(--color-border);
    background-color: #ffffff;
    padding: 10px
}

.divimagem .caption .media {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    gap: 10px
}

.divimagem .caption .media h4 {
    display: block;
    height: 20px;
    padding: 0;
    color: var(--color-primary)
}

.partido-foto img {
    width: 64px;
    height: auto
}

.dadosVereador {
    margin-top: 20px
}

.dadosVereador .list-group-item {
    padding: 15px 20px
}

.dadosVereador .list-group-item i {
    padding-right: 10px
}

.video_player .thumb {
    padding-bottom: 20px
}

.video_player .thumb .img-responsive {
    border-radius: var(--radius-md)
}

.video_player .thumb h4 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--color-primary);
    margin-top: 10px;
    transition: var(--transition-base)
}

.video_player .thumb a h4 {
    color: var(--color-primary)
}

.video_player .thumb a h5 {
    font-size: .875rem;
    font-weight: 500;
    color: var(--color-foreground);
    margin-top: 1px
}

.transparencia-apresentacao h2 {
    text-align: center
}

.transparencia-apresentacao-cards .row {
    gap: 20px;
    padding: 30px 10px
}

.transparencia-apresentacao-cards-buttons {
    padding: 0;
    width: calc((100% - 40px) / 3)
}

.transparencia-apresentacao-cards-buttons .transparencia-apresentacao-cards-buttons-link {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    border: solid 3px var(--color-border);
    border-radius: var(--radius-md);
    padding: 30px;
    transition: var(--transition-base)
}

.transparencia-apresentacao-cards-buttons .transparencia-apresentacao-cards-buttons-link p {
    font-size: calc(1rem + 2px)
}

.transparencia-apresentacao-cards-buttons .transparencia-apresentacao-cards-buttons-link:hover h3 {
    color: var(--color-primary)
}

.transparencia-apresentacao-cards-buttons .transparencia-apresentacao-cards-buttons-link:hover p {
    color: var(--color-foreground)
}

.transparencia-apresentacao-cards-buttons .transparencia-apresentacao-cards-buttons-link:hover {
    border-color: var(--color-primary)
}

.contas-publicas-lista a.list-group-item {
    display: block;
    padding: 30px;
    border: solid 3px var(--color-border) !important;
    border-radius: var(--radius-md)
}

.contas-publicas-lista a.list-group-item:hover {
    border-color: var(--color-primary) !important
}

.contas-publicas-lista a.list-group-item h4 i {
    padding-right: 10px
}

.contas-publicas-lista .list-group-item small {
    width: fit-content;
    border-radius: 4px;
    padding: 5px 10px;
    font-size: 12px;
    background: var(--color-primary);
    color: #ffffff !important;
    margin-right: 10px
}

.receitas-cards {
    width: 100%;
    padding: 0 15px
}

.receitas-cards .row {
    display: flex;
    flex-direction: row;
    justify-content: left;
    gap: 30px
}

.receitas-cards-buttons {
    margin: 0 !important;
    padding: 0 !important;
    width: calc((100% - 60px) / 3)
}

.receitas-cards-buttons a {
    display: flex;
    flex-direction: column;
    padding: 20px;
    border: solid 1px var(--color-border);
    border-radius: var(--radius-md)
}

.receitas-cards-buttons a i {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: calc(1rem * 3);
    width: 100%;
    height: 150px;
    color: var(--color-primary);
    border-radius: var(--radius-md);
    background-color: var(--color-background);
    transition: var(--transition-fast)
}

.receitas-cards-buttons a span {
    display: block;
    font-weight: bold;
    margin-top: 20px;
    color: var(--color-primary);
    font-size: calc(1rem + 2px);
    line-height: 1rem;
    transition: var(--transition-fast)
}

.receitas-cards-buttons a:hover i {
    color: var(--color-secondary);
    background-color: var(--color-primary)
}

.receitas-cards-buttons a:hover span {
    color: var(--color-primary)
}

.despesas-cards {
    width: 100%;
    padding: 0 15px
}

.despesas-cards .row {
    display: flex;
    flex-direction: row;
    justify-content: left;
    gap: 30px
}

.despesas-cards-buttons {
    margin: 0 !important;
    padding: 0 !important;
    width: calc((100% - 60px) / 3)
}

.despesas-cards-buttons a {
    display: flex;
    flex-direction: column;
    padding: 20px;
    border: solid 1px var(--color-border);
    border-radius: var(--radius-md)
}

.despesas-cards-buttons a i {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: calc(1rem * 3);
    width: 100%;
    height: 150px;
    color: var(--color-primary);
    border-radius: var(--radius-md);
    background-color: var(--color-background);
    transition: var(--transition-fast)
}

.despesas-cards-buttons a span {
    display: block;
    font-weight: bold;
    margin-top: 20px;
    color: var(--color-primary);
    font-size: calc(1rem + 2px);
    line-height: 1rem;
    transition: var(--transition-fast)
}

.despesas-cards-buttons a:hover i {
    color: var(--color-secondary);
    background-color: var(--color-primary)
}

.despesas-cards-buttons a:hover span {
    color: var(--color-primary)
}

.servidores-cards {
    width: 100%;
    padding: 0 15px
}

.servidores-cards .row {
    display: flex;
    flex-direction: row;
    justify-content: left;
    gap: 30px
}

.servidores-cards-buttons {
    margin: 0 !important;
    padding: 0 !important;
    width: calc((100% - 60px) / 3)
}

.servidores-cards-buttons a {
    display: flex;
    flex-direction: column;
    padding: 20px;
    border: solid 1px var(--color-border);
    border-radius: var(--radius-md)
}

.servidores-cards-buttons a i {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: calc(1rem * 3);
    width: 100%;
    height: 150px;
    color: var(--color-primary);
    border-radius: var(--radius-md);
    background-color: var(--color-background);
    transition: var(--transition-fast)
}

.servidores-cards-buttons a span {
    display: block;
    font-weight: bold;
    margin-top: 20px;
    color: var(--color-primary);
    font-size: calc(1rem + 2px);
    line-height: 1rem;
    transition: var(--transition-fast)
}

.servidores-cards-buttons a:hover i {
    color: var(--color-secondary);
    background-color: var(--color-primary)
}

.servidores-cards-buttons a:hover span {
    color: var(--color-primary)
}

.act-datatable>div,
.act-datatable>div>div,
.act-datatable header,
.act-datatable .rdt_Table,
.act-datatable .rdt_Pagination,
.act-datatable .rdt_TableRow,
.act-datatable .rdt_TableHeadRow {
    background: transparent !important
}

.act-datatable header {
    padding: 0
}

.act-datatable .rdt_TableCol_Sortable {
    text-transform: uppercase;
    font-weight: 700
}

.act-datatable header #search {
    cursor: text;
    padding: 20px 0;
    border-radius: 0;
    margin-left: 20px;
    text-indent: 10px
}

.act-datatable header>button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 42px;
    height: 42px;
    background-color: var(--color-primary)
}

.act-datatable header>button:last-child {
    background-color: var(--color-foreground)
}

.act-datatable header>button i {
    color: #ffffff
}

.act-datatable header>button:hover {
    background-color: var(--color-secondary)
}

.act-datatable header>button:hover i {
    color: var(--color-primary)
}

.act-datatable .rdt_TableRow a::before {
    content: "\f0c1";
    font-family: "Font Awesome 5 Free";
    padding-right: 5px
}

.act-datatable .rdt_TableRow a {
    font-weight: 700;
    color: var(--color-primary);
    transition: var(--transition-base)
}

.act-datatable .rdt_TableRow a:hover {
    color: var(--color-primary)
}

#graficos text {
    fill: var(--color-primary) !important;
    text-decoration: none !important
}

#fornecedor .panel-heading,
#info .panel-heading {
    margin: 20px 0 10px 0;
    font-size: calc(1rem + 4px);
    color: #000000
}

#calendario thead .fc-day {
    text-transform: uppercase;
    background-color: var(--color-primary) !important
}

#calendario thead .fc-day a {
    color: #ffffff !important
}

#calendario .fc-daygrid-day-number {
    color: var(--color-primary)
}

#calendario .fc-day-today {
    background-color: var(--color-secondary)
}

.footer-secondary-color {
    background: var(--color-destructive)
}

.teixeiras-box {
    display: block !important
}

.teixeiras-box.servicos-teixeiras1 {
    margin-top: -60px;
    background: #E6F2E9 url('data:image/svg+xml,<svg width="42" height="42" viewBox="0 0 42 42" fill="none" opacity=".5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><rect width="41.5" height="41.5" fill="url(%23pattern0_16_497)"/><rect width="41.5" height="41.5" fill="url(%23pattern1_16_497)"/><rect width="41.5" height="41.5" fill="url(%23pattern2_16_497)"/><defs><pattern id="pattern0_16_497" patternContentUnits="objectBoundingBox" width="1" height="1"><use xlink:href="%23image0_16_497" transform="scale(.0120482)"/></pattern><pattern id="pattern1_16_497" patternContentUnits="objectBoundingBox" width="1" height="1"><use xlink:href="%23image0_16_497" transform="scale(.0120482)"/></pattern><pattern id="pattern2_16_497" patternContentUnits="objectBoundingBox" width="1" height="1"><use xlink:href="%23image0_16_497" transform="scale(.0120482)"/></pattern><image id="image0_16_497" width="83" height="83" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFMAAABTCAYAAADjsjsAAAAAAXNSR0IArs4c6QAABNJJREFUeF7tnN9r21YUx79KZNmyrdjJylhDYKGUZrQQVgKFvPWf6L/QPQfGRvd037aw0b73X8i/0Ie8lQ38MljZShmjFLcPSxv/VCw7dnNlq5Ft2ZWlo9JrHUEg4HsPuh99769zz7ka5j33sIo7uzm06hnA0KeK5npdGI6Dp68cHOF8rq0U/KgFtlFCvHW9AKwYoRmYWgc//tMEMAhdZ8kKTsMUd3Mw3hRg9DVINIs8nfIA2WYD4pmzSLVlKTsOU4JEowg0gCKwMEyXiiX/mhDHZ8sCKWw7LmH6QYatPbOcBVRRw+NKN7YphQwMYcox8vY3ZTj94DE0SoOMlQF++vttmsbQIbzDHQurg6z7/6Lj5DzQzZyN3/5sRfkWKtbRXFXeurGe2MuL5ydpUaeGX3cLaJ2ZicGstVt49MpOzP5nZFiD2C4HLsjJXrLvQLyok5n7jA1pEDeuJPt+eh/imZyIlv75BDAvGIrn/y89SQAMk/ArM0y1YKZpzPzlWglneobwA02YStNs/nDLRL1fGHo2qJ90OT3odkBBXibpkvv5j9Tszy/35vZobx5FnJ6op/b1Vhui0o5iUsU6npdIw4M7G8ieRvMaBfo+3YnnXVr25fLj+/yZNw3AXHMdw3Ef6X5zvqpBHPfimlKp/mxPe9RWSJBfFOr4Ll2O4XFlevDu72Ww3VqL5ii+6Nr4sp42RXroZo2RGr7fzaMYxjVnAZ3VAbLnNkRFutr4dHJGr9ZwsJVDKTc6N++tXJaTKnR6wJYDcdxJM8SPKTPqiJnqetGWQqlGNrvxDJNQGAyTYRISIDTFymSYhAQITbEyGSYhAUJTrEyGSUiA0BQrk2ESEiA0xcpkmIQECE2xMhlmAAFxV8daJ4O6MyGQkz7++q/7KZK+1Ffmwb6JUs0ETN8pgIQ9ecqa7wHlsyRTatSFKQ/+Ng0LcCYgeqoNOrKW4TrnEqrMUyI/hlYT5oecJT84CSpIkRNDghswkUwMlHowx0D61TcLpj9mpzjKvPPK0mbSqQXT7doozVXgVNzTZACUV8A7os6TRZ6oBVPsbwzHyDkhPKFhyk9iAfZ6F4dPahQrJHVgzuzeFBg2SRJn1YF5cHMDJX8QBAVEaaMJ2Fe7OKzEVqcaMOWCHI0ySYRe4De4mJBEJXZaohowH+6bqJ8UqLQ4bYcmpVsNmGIvDzTyYxBmRitHRR4/yllNmP5cBrKU7mYbohorZFwNmD/sWMjHiLkPJda0wAzq5qEALVIoNTC3c4Dh69wTW8RFmE2VHW0tCe4UUaObT93WQAlztBNKzdJItld8Wwbao1u/qGGuOxC/x75gQA1lujB9dy65XdUDSpCmWLVIrg1SB+YHda7qKDbobrmxLZKtpHw9xWB628oQTuAwk5LM7Xzx9SmOjkguBVQL5lh3pwC6eUp5fKEeTA9op11A9lyL5PzorAyQpU9HVBPmEKgOWy/AfJkZDqAhJyI5Rv57rUnVtf2jibowvVbIWd5uZGHCd5vDpCdeLsx1B9WeneRlf+rDvJSGhvt7Ojb9UF8D1atdPK7IY93E0xCXCWaY+TvRMgyTEC/DZJiEBAhNsTIZJiEBQlOsTIZJSIDQFCuTYRISIDTFymSYhAQITbEyGSYhAUJTrEyGSUiA0NR7c6tkYxMHJSkAAAAASUVORK5CYII="/></defs></svg>')
}

.teixeiras-box.servicos-teixeiras1 a {
    width: 100%;
    height: 100%;
    padding: 0;
    border-radius: 0
}

.teixeiras-box.servicos-teixeiras1>.container .row:last-child>div:nth-child(2) a,
.teixeiras-box.servicos-teixeiras1>.container .row:last-child>div:nth-child(4) a,
.teixeiras-box.servicos-teixeiras1>.container .row:last-child>div:nth-child(6) a,
.teixeiras-box.servicos-teixeiras1>.container .row:last-child>div:nth-child(7) a,
.teixeiras-box.servicos-teixeiras1>.container .row:last-child>div:nth-child(9) a,
.teixeiras-box.servicos-teixeiras1>.container .row:last-child>div:nth-child(11) a {
    background-color: #156cad;
    border-color: #156cad
}

.teixeiras-box.servicos-teixeiras1>.container .row:last-child>div:nth-child(1) a,
.teixeiras-box.servicos-teixeiras1>.container .row:last-child>div:nth-child(3) a,
.teixeiras-box.servicos-teixeiras1>.container .row:last-child>div:nth-child(5) a,
.teixeiras-box.servicos-teixeiras1>.container .row:last-child>div:nth-child(8) a,
.teixeiras-box.servicos-teixeiras1>.container .row:last-child>div:nth-child(10) a,
.teixeiras-box.servicos-teixeiras1>.container .row:last-child>div:nth-child(12) a {
    background-color: var(--color-primary);
    border-color: var(--color-primary)
}

.teixeiras-box.servicos-teixeiras1>.container .row:last-child>div a:hover {
    border-color: var(--color-secondary) !important;
    background-color: var(--color-secondary) !important
}

.teixeiras-box.servicos-teixeiras1>.container .row:last-child>div a:hover h4 {
    color: var(--color-primary)
}

.teixeiras-box.servicos-teixeiras1 a i {
    margin-right: 0;
    color: var(--color-primary)
}

.teixeiras-box.servicos-teixeiras2 {
    background: var(--color-muted)
}

.teixeiras-box.servicos-teixeiras2 a {
    width: 100%;
    height: 100%;
    padding: 0;
    background: #ffffff;
    border-radius: var(--radius-md);
    border-color: #ffffff
}

.teixeiras-box.servicos-teixeiras2 a:hover {
    border-color: var(--color-primary)
}

.teixeiras-box.servicos-teixeiras2 a i {
    margin-right: 0;
    color: var(--color-primary)
}

.main-org-collapse-container {
    position: relative;
    margin-left: 0 !important;
    padding-left: 22px
}

.org-collapse-name-container {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px;
    border-radius: 6px;
    margin: 6px 0
}

.org-collapse-name-container:hover {
    background: rgba(16, 58, 167, .06)
}

.org-collapse-name-span {
    color: var(--color-primary) !important;
    font-size: 16px;
    line-height: 1.25;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer
}

.org-collapse-name-container:hover .org-collapse-name-span {
    color: var(--color-primary) !important
}

.org-collapse-btn-span {
    width: 18px;
    min-width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative
}

.org-collapse-button {
    width: 18px;
    height: 18px;
    padding: 0;
    border-radius: 4px;
    border: 1px solid #bfc8d4;
    background: #ffffff;
    color: #2c3e50;
    font-size: 14px;
    line-height: 1;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none
}

.org-collapse-button:hover {
    background: #f2f5f9;
    border-color: #b9c3cf
}

.box-height,
.button-height {
    width: 18px;
    height: 18px
}

.org-collapse-nested-div {
    position: relative;
    margin-left: 5px;
    padding-left: 0
}

.org-collapse-nested-div>.main-org-collapse-container {
    position: relative
}

.org-collapse-nested-div>.main-org-collapse-container::before {
    content: "";
    position: absolute;
    left: 9px;
    top: -10px;
    bottom: -10px;
    width: 1px;
    background: #cfd6df
}

.org-collapse-nested-div>.main-org-collapse-container::after {
    content: "";
    position: absolute;
    left: 9px;
    top: 15px;
    width: 14px;
    height: 1px;
    background: #cfd6df
}

.org-collapse-nested-div>.main-org-collapse-container:last-child::before {
    bottom: calc(100% - 15px)
}

.org-collapse-nested-div.collapse:not(.show) {
    display: none
}

.organograma-detalhe-modal .divImgUnidade img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    object-position: center
}

.organograma-detalhe-modal .btn-close {
    position: absolute;
    top: 20px;
    right: 20px
}

.organograma-detalhe-modal .nmUnidadeTipo {
    font-size: .875rem;
    font-weight: 600;
    text-transform: uppercase;
    margin-top: 20px
}

.organograma-detalhe-modal .nmUnidade {
    font-size: calc(1rem + 10px);
    font-weight: 700;
    border-bottom: solid 1px var(--color-border);
    margin-top: 0;
    padding-bottom: 15px;
    margin-bottom: 30px
}

.organograma-detalhe-modal h5 {
    margin-top: 20px
}


/* Sessões Plenárias */

.sessoes-plenarias-listagem > .list-group-item {
    border: 0 !important;
    padding: 0 !important;
}

.sessoes-plenarias-listagem > .list-group-item > a {
    display: block;
    padding: 30px;
    border: solid 5px var(--cor-borda-info-box) !important;
    border-radius: var(--border-radius-padrao);
}

.sessoes-plenarias-listagem > .list-group-item > a:hover {
    border-color: var(--cor-primaria) !important;
}

.sessoes-plenarias-listagem > .list-group-item > a h3 i {
    padding-right: 10px;
}




@font-face {
    font-family: "Font Awesome 7 Free";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7..1/webfonts/fa-regular-400.woff2") format("woff2")
}

@font-face {
    font-family: "Font Awesome 7 Free";
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7..1/webfonts/fa-solid-900.woff2") format("woff2")
}

@font-face {
    font-family: "bootstrap-icons";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6") format("woff2")
}