/*******************************/
/********* General CSS *********/
/*******************************/
body {
    color: #797979;
    background: #ffffff;
    font-family: 'Lato', sans-serif;
}

h1,
h2, 
h3, 
h4,
h5, 
h6 {
    color: #092a49;
    font-family: 'Oswald', sans-serif;
}

a {
    color: #454545;
    transition: .3s;
}

a:hover,
a:active,
a:focus {
    color: #092a49;
    outline: none;
    text-decoration: none;
}

.btn:focus,
.form-control:focus {
    box-shadow: none;
}

.container-fluid {
    max-width: 1366px;
}

.back-to-top {
    position: fixed;
    display: none;
    background: #fad907;
    width: 44px;
    height: 44px;
    text-align: center;
    line-height: 1;
    font-size: 22px;
    right: 15px;
    bottom: 15px;
    transition: background 0.5s;
    z-index: 9;
}

.back-to-top i {
    color: #0d7168;
    padding-top: 10px;
}

.back-to-top:hover {
    background: #0d7168;
}

.back-to-top:hover i {
    color: #fad907;
}

@media (min-width: 992px) {
    .mt-125 {
        margin-top: 125px;
    }
}


/**********************************/
/********** Top Bar CSS ***********/
/**********************************/
 /**********************************/
/*********** TOP BAR **************/
/**********************************/

.top-bar {
    position: relative;
    height: 45px;

   background: rgba(245, 245, 245, 0.32);

    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);

    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);

    overflow: hidden;
    z-index: 999;
    border-bottom:1px solid rgba(0,0,0,.08);
}

.event-items span{
    color:#555;
    font-weight:500;
}
/* Espaçamento lateral */
@media (min-width: 992px) {
    .top-bar {
        padding: 0 60px;
    }
}

/* Altura da linha */
.top-bar .row {
    height: 45px;
}

/**********************************/
/*********** NEWS AREA ************/
/**********************************/

.news-ticker {
    display: flex;
    align-items: center;
    height: 45px;
    overflow: hidden;
}

.news-label {
    display: flex;
    align-items: center;

    color: #0d7168;
    font-weight: 700;
    font-size: 14px;

    margin-right: 15px;
    white-space: nowrap;
}

.news-label i {
    margin-right: 8px;
}

/* Container das notícias */
.news-scroll {
    position: relative;
    height: 24px;
    overflow: hidden;
}

/* Lista animada */
.news-items {
    display: flex;
    flex-direction: column;
    animation: scrollNews 16s infinite;
}

/* Cada notícia */
.news-items span {
    height: 24px;
    line-height: 24px;

    color: #0d7168;
    font-size: 14px;
    font-weight: 400;

    white-space: nowrap;
}

/**********************************/
/******** ANIMAÇÃO NEWS ***********/
/**********************************/

@keyframes scrollNews {

    0%, 20% {
        transform: translateY(0);
    }

    25%, 45% {
        transform: translateY(-24px);
    }

    50%, 70% {
        transform: translateY(-48px);
    }

    75%, 95% {
        transform: translateY(-72px);
    }

    100% {
        transform: translateY(0);
    }
}

/**********************************/
/*********** SOCIAL AREA **********/
/**********************************/

.top-bar .top-bar-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 45px;
}

.top-bar .social {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 45px;
}

/* Ícones sociais */
.top-bar .social a{
    color: #333333;
    font-size: 15px;
    margin-left: 15px;
    transition: .3s;
}

.top-bar .social a:hover{
    color: #000000;
    transform: translateY(-2px);
}

.event-ticker{
    display:flex;
    align-items:center;
    overflow:hidden;
}

.event-label{
    flex-shrink:0;
    font-weight:700;
    color:#000;
    font-size:14px;
    text-transform:uppercase;
    margin-right:20px;
    position:relative;
    z-index:2;
    background:#fff;
    padding-right:15px;
}

.event-label i{
    margin-right:6px;
}

.event-scroll{
    flex:1;
    overflow:hidden;
    position:relative;
}

.event-items{
    display:flex;
    width:max-content;
    animation:eventTicker 35s linear infinite;
}

.event-items span{
    white-space:nowrap;
    margin-right:80px;
    color:#444;
    font-size:14px;
}

@keyframes eventTicker{

    0%{
        transform:translateX(100%);
    }

    100%{
        transform:translateX(-100%);
    }

}
/**********************************/
/*********** Nav Bar CSS **********/
/**********************************/
.navbar {
    position: relative;
    transition: .5s;
    z-index: 999;
}

.navbar.nav-sticky {
    position: fixed;
    top: 0;
    width: 100%;
    box-shadow: 0 2px 5px rgba(0, 0, 0, .3);
    transition: .5s;
}

.navbar .navbar-brand {
    margin: 0;
    color: #ffffff;
    font-size: 45px;
    line-height: 0px;
    font-weight: 200;
    text-transform: uppercase;
}

.navbar .navbar-brand img {
    max-width: 100%;
    max-height: 40px;
}

.navbar-dark .navbar-nav .nav-link,
.navbar-dark .navbar-nav .nav-link:focus,
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active {
    padding: 10px 10px 8px 10px;
    color: #ffffff;
    font-weight: 500; 
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active {
    color: #0d7168;
    transition: none;
}

.navbar .dropdown-menu {
    margin-top: 0;
    border: 0;
    border-radius: 0;
    background: #f8f9fa;
}

@media (min-width: 992px) {
    .navbar {
        position: relative;
        width: 100%;
        padding: 20px 60px;
        background: rgba(9, 42, 73, .2)!important;
        z-index: 9;
    }
    
    .navbar.nav-sticky {
        padding: 10px 60px;
        background: #000000 !important;
    }
    
    .page .navbar {
        background: #000000 !important;
    }
    
    .navbar a.nav-link {
        padding: 8px 10px;
        font-size: 14px;
        letter-spacing: 1px;
        text-transform: uppercase;
    }
}

@media (max-width: 991.98px) {   
    .navbar {
        padding: 15px;
        background: #092a49 !important;
    }
    
    .navbar a.nav-link {
        padding: 5px;
    }
    
    .navbar .dropdown-menu {
        box-shadow: none;
    }
}


/*******************************/
/********** Hero CSS ***********/
/*******************************/
.carousel {
    position: relative;
    width: 100%;
    height: 100vh;
    min-height: 400px;
    background: #092a49;
    margin-bottom: 45px;
}

.carousel .container-fluid {
    padding: 0;
}

.carousel .carousel-item {
    position: relative;
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.carousel .carousel-img {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: right;
    overflow: hidden;
}

.carousel .carousel-img::after {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(9, 42, 73, .7);
    z-index: 1;
}

.carousel .carousel-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.carousel .carousel-text {
    position: absolute;
    max-width: 700px;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    z-index: 2;
}

.carousel .carousel-text h1 {
    text-align: center;
    color: #ffffff;
    font-size: 60px;
    font-weight: 200;
    margin-bottom: 20px;
}

.carousel .carousel-text p {
    color: #ffffff;
    text-align: center;
    font-size: 20px;
    margin-bottom: 25px;
}

.carousel .carousel-text .btn {
    padding: 15px 30px;
    font-size: 16px;
    letter-spacing: 1px;
    color: #ffffff;
    background: none;
    border: 2px solid #ffffff;
    border-radius: 0;
    transition: .3s;
}

.carousel .carousel-text .btn i {
    margin-right: 5px;
}

.carousel .carousel-text .btn:hover {
    color: #0796fe;
    background: #ffffff;
}

.carousel .carousel-btn .btn:first-child {
    margin-right: 15px;
}

.carousel .owl-nav {
    position: absolute;
    width: 122px;
    right: 2px;
    bottom: 2px;
    display: flex;
    z-index: 9;
}

.carousel .owl-nav .owl-prev,
.carousel .owl-nav .owl-next {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0796fe;
    background: #092a49;
    font-size: 22px;
    transition: .3s;
}

.carousel .owl-nav .owl-prev:hover,
.carousel .owl-nav .owl-next:hover {
    color: #ffffff;
    background: #0796fe;
}

.carousel .owl-nav .owl-prev {
    margin-right: 2px;
}

.carousel .animated {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
}

#videoModal .modal-dialog {
    position: relative;
    max-width: 800px;
    margin: 60px auto 0 auto;
}

#videoModal .modal-body {
    position: relative;
    padding: 0px;
}

#videoModal .close {
    position: absolute;
    width: 30px;
    height: 30px;
    right: 0px;
    top: -30px;
    z-index: 999;
    font-size: 30px;
    font-weight: normal;
    color: #ffffff;
    background: #000000;
    opacity: 1;
}

@media (max-width: 991.98px) {
    .carousel,
    .carousel .carousel-item,
    .carousel .carousel-text {
        height: calc(100vh - 105px);
    }
    
    .carousel .carousel-text h1 {
        font-size: 35px;
    }
    
    .carousel .carousel-text p {
        font-size: 16px;
    }
    
    .carousel .carousel-text .btn {
        padding: 12px 30px;
        font-size: 15px;
        letter-spacing: 0;
    }
}

@media (max-width: 767.98px) {
    .carousel,
    .carousel .carousel-item,
    .carousel .carousel-text {
        height: calc(100vh - 70px);
    }
    
    .carousel .carousel-text h1 {
        font-size: 30px;
    }
    
    .carousel .carousel-text .btn {
        padding: 10px 25px;
        font-size: 15px;
        letter-spacing: 0;
    }
}

@media (max-width: 575.98px) {
    .carousel .carousel-text h1 {
        font-size: 25px;
    }
    
    .carousel .carousel-text .btn {
        padding: 8px 20px;
        font-size: 14px;
        letter-spacing: 0;
    }
}


/*******************************/
/******* Section Header ********/
/*******************************/
.section-header {
    position: relative;
    text-align: left;
    margin-bottom: 45px;
}

.section-header p {
    margin-bottom: 5px;
    position: relative;
    font-size: 16px;
}

.section-header h2 {
    margin: 0 0 0 40px;
    position: relative;
    font-size: 50px;
    font-weight: 200;
}

.section-header h2::after {
    content: "";
    position: absolute;
    width: 200px;
    height: 0;
    top: 23px;
    left: -40px;
    border-bottom: 30px solid;
    border-image: repeating-linear-gradient( 60deg, rgba(0,0,0,.05), rgba(0,0,0,.05) 1.5%, rgba(0,0,0,.1) 1.5%, rgba(0,0,0,.1) 3%) 30;
}

.section-header h2:hover::after {
    border-image: repeating-linear-gradient( 60deg, rgba(0,0,0,.1), rgba(0,0,0,.1) 1.5%, rgba(0,0,0,.05) 1.5%, rgba(0,0,0,.05) 3%) 30;
}

@media (max-width: 991.98px) {
    .section-header h2 {
        font-size: 45px;
    }
}

@media (max-width: 767.98px) {
    .section-header h2 {
        font-size: 40px;
    }
}

@media (max-width: 575.98px) {
    .section-header h2 {
        font-size: 35px;
    }
}


/*******************************/
/********** Fact CSS ***********/
/*******************************/
.fact {
    position: relative;
    width: 100%;
    padding: 45px 0 15px 0;
}

.fact .fact-item {
    position: relative;
    width: 100%;
    margin-bottom: 30px;
    padding: 30px 0 25px 0;
    text-align: center;
    background: #ffffff;
    border: 1px solid transparent;
    box-shadow: 0 0 30px rgba(0, 0, 0, .1);
    transition: .3s;
}

.fact .fact-item:hover {
    border-color: rgba(0, 0, 0, .1);
    box-shadow: none;
}

.fact .fact-item img {
    max-height: 50px;
    margin-bottom: 15px;
}

.fact .fact-item h2 {
    font-size: 22px;
    font-weight: 300;
    letter-spacing: 1px;
}


/*******************************/
/********** About CSS **********/
/*******************************/
.about {
    position: relative;
    width: 100%;
    padding: 45px 0;
}

.about .section-header {
    margin-bottom: 30px;
    margin-left: 0;
}

.about .about-img {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    transition: .5s;
}

.about .about-img::after {
    position: absolute;
    content: "";
    top: 60px;
    right: 60px;
    bottom: 60px;
    left: 60px;
    background: transparent;
    border: 30px solid;
    border-image: repeating-linear-gradient( 45deg, rgba(0,0,0,.05), rgba(0,0,0,.05) .5%, rgba(0,0,0,.1) .5%, rgba(0,0,0,.1) 1%) 30;
    z-index: 1;
}

.about .about-img:hover::after {
    border-image: repeating-linear-gradient( 45deg, rgba(0,0,0,.1), rgba(0,0,0,.1) .5%, rgba(0,0,0,.05) .5%, rgba(0,0,0,.05) 1%) 30;
}

.about .about-img-1 {
    position: relative;
    height: 100%;
    height: 100%;
    margin: 0 150px 150px 0;
}

.about .about-img-2 {
    position: absolute;
    height: 100%;
    height: 100%;
    top: 150px;
    left: 150px;
    z-index: 1;
}

.about .about-img-1 img,
.about .about-img-2 img {
    position: relative;
    width: 100%;
}

.about .about-text p {
    font-size: 16px;
}

.about .about-text a.btn {
    position: relative;
    margin-top: 15px;
    padding: 12px 25px;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 1px;
    color: #092a49;
    border: 2px solid #092a49;
    border-radius: 0;
    background: none;
    transition: .3s;
}

.about .about-text a.btn:hover {
    color: #0796fe;
    background: #092a49;
}

@media (max-width: 767.98px) {
    .about .about-img {
        margin-bottom: 30px;
        height: auto;
    }
}


/*******************************/
/********* Service CSS *********/
/*******************************/
.service {
    position: relative;
    width: 100%;
    padding: 45px 0 15px 0;
}

.service .service-item {
    position: relative;
    width: 100%;
    margin-bottom: 30px;
    padding: 30px;
    text-align: center;
    border: 1px solid rgba(0, 0, 0, .1);
    transition: .3s;
}

.service .service-item:hover {
    border-color: transparent;
    box-shadow: 0 0 30px rgba(0, 0, 0, .1);
}

.service .service-item img {
    max-height: 50px;
    margin-bottom: 20px;
}

.service .service-item h3 {
    margin-bottom: 10px;
    font-size: 22px;
    font-weight: 300;
    letter-spacing: 1px;
}

.service .service-item p {
    margin-bottom: 10px;
    font-size: 16px;
}

.service .service-item a {
    position: relative;
    font-size: 16px;
    color: #0796fe;
    transition: .3s;
}

.service .service-item a::after {
    content: "";
    position: absolute;
    width: 80%;
    height: 2px;
    bottom: -3px;
    left: 10%;
    background: #0796fe;
}

.service .service-item:hover a.btn {
    color: #092a49;
    background: #1d2434;
    border-color: #1d2434;
}


/*******************************/
/********* Feature CSS *********/
/*******************************/
.feature {
    position: relative;
    width: 100%;
    padding: 45px 0;
}

.feature .col-md-6 {
    height: 100%;
}

.feature .feature-img {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
}

.feature .feature-img::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 70%;
    top: 30%;
    left: 0;
    border: 30px solid;
    border-image: repeating-linear-gradient( 45deg, rgba(0,0,0,.05), rgba(0,0,0,.05) .5%, rgba(0,0,0,.1) .5%, rgba(0,0,0,.1) 1%) 30;
    z-index: 1;
}

.feature .feature-img:hover::after {
    border-image: repeating-linear-gradient( 45deg, rgba(0,0,0,.1), rgba(0,0,0,.1) .5%, rgba(0,0,0,.05) .5%, rgba(0,0,0,.05) 1%) 30;
}

.feature .feature-img img {
    position: relative;
    max-width: 100%;
    max-height: 100%;
    margin: 0 30px 30px 30px;
    z-index: 2;
}

@media (max-width: 767.98px) {
    .feature .feature-img {
        margin-bottom: 45px;
    }
}

.feature .counters .col-6 {
    padding-top: 25px;
    display: flex;
    flex-direction: row;
}

.feature .counters i {
    padding: 5px 15px 0 0;
    font-size: 28px;
    color: #0796fe;
}

.feature .counters h2 {
    position: relative;
    display: inline-block;
    color: #0796fe;
    font-size: 30px;
    font-weight: 300;
}

.feature .counters h2::after {
    position: absolute;
    content: "+";
    top: -15px;
    right: -15px;
}

.feature .counters p {
    color: #092a49;
    font-size: 20px;
    margin: 0;
}


/*******************************/
/*********** Team CSS **********/
/*******************************/
.team {
    position: relative;
    width: 100%;
    padding: 45px 0 15px 0;
}

.team .team-item {
    position: relative;
    margin-bottom: 75px;
}

.team .team-img {
    position: relative;
}

.team .team-img img {
    width: 100%;
}

.team .team-text {
    position: absolute;
    width: calc(100% - 30px);
    height: 96px;
    bottom: -46px;
    left: 15px;
    padding: 25px 15px;
    text-align: center;
    background: rgba(256, 256, 256, .9);
    box-shadow: 0 0 30px rgba(0, 0, 0, .1);
    transition: .3s;
    overflow: hidden;
}

.team .team-text h2 {
    color: #0796fe;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.team .team-text p {
    margin-bottom: 20px;
    color: #092a49;
}

.team .team-social {
    position: relative;
    font-size: 0;
}

.team .team-social a {
    display: inline-block;
    width: 35px;
    height: 35px;
    margin: 0 3px;
    padding: 5px 0;
    text-align: center;
    font-size: 14px;
    color: #092a49;
    border: 2px solid #092a49;
    transition: .3s;
}

.team .team-social a:hover {
    color: #0796fe;
    border-color: #0796fe;
}

.team .team-item:hover .team-text {
    height: 160px;
}


/*******************************/
/******* Testimonial CSS *******/
/*******************************/
.testimonial {
    position: relative;
    width: 100%;
    padding: 45px 0;
}

.testimonial .testimonials-carousel {
    position: relative;
    width: calc(100% + 30px);
    margin: 0 -15px;
}

.testimonial .testimonial-item {
    position: relative;
    width: 100%;
    padding: 0 15px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    overflow: hidden;
}

.testimonial .testimonial-item img {
    position: relative;
    width: 80px;
    border-radius: 80px;
    margin-bottom: 15px;
}

.testimonial .testimonial-item p {
    margin-bottom: 15px;
}

.testimonial .testimonial-item h2 {
    position: relative;
    color: #092a49;
    font-size: 16px;
    letter-spacing: 1px;
    margin-bottom: 5px;
    padding-bottom: 3px;
}

.testimonial .testimonial-item h2::before {
    position: absolute;
    content: "";
    width: 30px;
    height: 2px;
    bottom: 0;
    left: 0;
    background: #0796fe;
    transition: .3s;
}

.testimonial .testimonial-item:hover h2::before {
    width: 60px;
}

.testimonial .testimonial-item h3 {
    color: #999999;
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 2px;
    margin: 0;
}

.testimonial .owl-nav {
    position: relative;
    width: 100%;
    margin-top: 30px;
    display: flex;
    justify-content: center;
}

.testimonial .owl-nav .owl-prev,
.testimonial .owl-nav .owl-next {
    position: relative;
    width: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0796fe;
    font-size: 25px;
    transition: .3s;
}

.testimonial .owl-nav .owl-prev {
    padding-right: 80px;
}

.testimonial .owl-nav .owl-next {
    padding-left: 80px;
}

.testimonial .owl-nav .owl-prev:hover,
.testimonial .owl-nav .owl-next:hover {
    color: #092a49;
}

.testimonial .owl-nav .owl-prev::after,
.testimonial .owl-nav .owl-next::after {
    position: absolute;
    content: "";
    width: 80px;
    height: 3px;
    top: 11px;
    background: #0796fe;
    transition: .3s;
}

.testimonial .owl-nav .owl-prev::after {
    left: 9px;
}

.testimonial .owl-nav .owl-next::after {
    right: 9px;
}

.testimonial .owl-nav .owl-prev:hover::after {
    background: #092a49;
}

.testimonial .owl-nav .owl-next:hover::after {
    background: #092a49;
}


/*******************************/
/*********** Blog CSS **********/
/*******************************/
.blog {
    position: relative;
    width: 100%;
    padding: 45px 0;
}

.blog .section-header {
    margin-bottom: 75px;
}

.blog .blog-carousel {
    position: relative;
    width: calc(100% + 30px);
    left: -15px;
    right: -15px;
}

.blog .blog-item {
    position: relative;
    margin: 0 15px;
}

.blog.blog-page .blog-item {
    margin: -30px 0 0 0;
}

.blog .blog-img {
    position: relative;
    width: 100%;
    z-index: 1;
}

.blog .blog-img img {
    width: 100%;
}

.blog .blog-content {
    position: relative;
    width: calc(100% - 60px);
    top: -60px;
    left: 30px;
    padding: 25px 30px;
    background: #ffffff;
    box-shadow: 0 0 30px rgba(0, 0, 0, .1);
    z-index: 2;
}

.blog .blog-content h2.blog-title {
    font-size: 25px;
    font-weight: 400;
    letter-spacing: 1px;
}

.blog .blog-meta {
    position: relative;
    margin-bottom: 15px;
}

.blog .blog-meta * {
    display: inline-block;
    margin: 0;
    padding: 0;
    font-size: 14px;
    font-weight: 300;
    color: #797979;
}

.blog .blog-meta i {
    color: #0796fe;
    margin: 0 2px 0 10px;
}

.blog .blog-meta i:first-child {
    margin-left: 0;
}

.blog .blog-text {
    position: relative;
}

.blog .blog-text p {
    margin-bottom: 10px;
}

.blog .blog-item a.btn {
    position: relative;
    padding: 0 0 0 35px;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 1px;
    color: #0796fe;
    transition: .3s;
}

.blog .blog-item a.btn:hover {
    color: #092a49;
}

.blog .blog-item a.btn::before {
    position: absolute;
    content: "";
    width: 30px;
    height: 2px;
    top: 10px;
    left: 0;
    background: #0796fe;
}

.blog .owl-nav {
    position: relative;
    width: 100%;
    margin-top: -30px;
    display: flex;
    justify-content: center;
}

.blog .owl-nav .owl-prev,
.blog .owl-nav .owl-next {
    position: relative;
    width: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0796fe;
    font-size: 25px;
    transition: .3s;
}

.blog .owl-nav .owl-prev {
    padding-right: 80px;
}

.blog .owl-nav .owl-next {
    padding-left: 80px;
}

.blog .owl-nav .owl-prev:hover,
.blog .owl-nav .owl-next:hover {
    color: #092a49;
}

.blog .owl-nav .owl-prev::after,
.blog .owl-nav .owl-next::after {
    position: absolute;
    content: "";
    width: 80px;
    height: 3px;
    top: 11px;
    background: #0796fe;
    transition: .3s;
}

.blog .owl-nav .owl-prev::after {
    left: 9px;
}

.blog .owl-nav .owl-next::after {
    right: 9px;
}

.blog .owl-nav .owl-prev:hover::after {
    background: #092a49;
}

.blog .owl-nav .owl-next:hover::after {
    background: #092a49;
}

.blog .pagination {
    margin-bottom: 0;
}

.blog .pagination .page-link {
    margin-top: -30px;
    color: #092a49;
    border-radius: 0;
    border-color: #092a49;
}

.blog .pagination .page-link:hover,
.blog .pagination .page-item.active .page-link {
    color: #0796fe;
    background: #092a49;
}

.blog .pagination .disabled .page-link {
    color: #999999;
}


/*******************************/
/********* Contact CSS *********/
/*******************************/
.contact {
    position: relative;
    width: 100%;
    padding: 45px 0 15px 0;
}

.contact .contact-info {
    position: relative;
    display: flex;
    padding: 30px;
    border: 1px solid rgba(0, 0, 0, .1);
    margin-bottom: 30px;
    transition: .3s;
}

.contact .contact-info:hover {
    border-color: transparent;
    box-shadow: 0 0 30px rgba(0, 0, 0, .1);
}

.contact .contact-icon {
    position: relative;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(0, 0, 0, .1);
}

.contact .contact-icon i {
    font-size: 18px;
    color: #0796fe;
}

.contact .contact-text {
    position: relative;
    display: flex;
    flex-direction: column;
    padding-left: 15px;
}

.contact .contact-text h3 {
    font-size: 16px;
    font-weight: 400;
    color: #092a49;
    letter-spacing: 1px;
}

.contact .contact-text p {
    margin: 0;
    font-size: 16px;
}

.contact .contact-form {
    position: relative;
    padding: 30px;
    border: 1px solid rgba(0, 0, 0, .1);
    margin-bottom: 30px;
    transition: .3s;
}

.contact .contact-form:hover {
    border-color: transparent;
    box-shadow: 0 0 30px rgba(0, 0, 0, .1);
}

.contact .contact-form input {
    padding: 15px;
    background: none;
    border-radius: 0;
    border: 1px solid rgba(0, 0, 0, .1);
}

.contact .contact-form textarea {
    height: 100px;
    padding: 8px 15px;
    background: none;
    border-radius: 0;
    border: 1px solid rgba(0, 0, 0, .1);
}

.contact .contact-form .btn {
    padding: 15px 30px;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 1px;
    color: #092a49;
    background: none;
    border: 2px solid #092a49;
    border-radius: 0;
    transition: .3s;
}

.contact .contact-form .btn:hover {
    color: #0796fe;
    background: #092a49;
}

.contact .help-block ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}


/*******************************/
/******* Single Page CSS *******/
/*******************************/
.single {
    position: relative;
    width: 100%;
    padding: 45px 0 15px 0;
}

.single img {
    width: 100%;
    margin: 0 0 25px 0;
}

.single .table,
.single .list-group {
    margin-bottom: 30px;
}

.single .ul-group {
    padding: 0;
    list-style: none;
}

.single .ul-group li {
    margin-left: 2px;
}

.single .ul-group li::before {
    position: relative;
    content: "\f0da";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 10px;
}

.single .ol-group {
    padding-left: 18px;
}

.atalhos-artistas{
padding:50px 0;
background:#fff;
}

.atalhos-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:30px;
}

.atalho-card{
display:flex;
align-items:center;
padding:40px;
border-radius:25px;
background:#fff;
text-decoration:none;
box-shadow:0 15px 40px rgba(0,0,0,.08);
border:1px solid rgba(0,0,0,.05);
transition:.35s;
}

.atalho-card:hover{
transform:translateY(-8px);
box-shadow:0 25px 50px rgba(0,0,0,.12);
}

.atalho-icon{
width:95px;
height:95px;
min-width:95px;
border-radius:50%;
background:#111;
color:#c9a86a;
display:flex;
align-items:center;
justify-content:center;
font-size:34px;
margin-right:25px;
}

.atalho-label{
color:#c9a86a;
text-transform:uppercase;
font-size:12px;
letter-spacing:2px;
font-weight:700;
}

.atalho-content h3{
color:#111;
margin:10px 0;
font-size:34px;
}

.atalho-content p{
color:#666;
margin-bottom:20px;
}

.atalho-footer{
display:flex;
justify-content:space-between;
align-items:center;
}

.artistas-total{
background:#f5f5f5;
color:#111;
padding:8px 14px;
border-radius:30px;
font-size:13px;
font-weight:600;
}

.atalho-link{
color:#c9a86a;
font-weight:700;
}

.atalho-link i{
margin-left:8px;
}

@media(max-width:991px){


.atalhos-grid{
    grid-template-columns:1fr;
}

.atalho-card{
    flex-direction:column;
    text-align:center;
}

.atalho-icon{
    margin-right:0;
    margin-bottom:25px;
}

.atalho-footer{
    flex-direction:column;
    gap:15px;
}


}

.ultimas-noticias{
padding:110px 0;
background:#f8f8f8;
}

.news-layout{
display:grid;
grid-template-columns:2fr 1fr;
gap:30px;
margin-top:60px;
}

.news-featured{
position:relative;
height:600px;
border-radius:25px;
overflow:hidden;
}

.news-featured img{
width:100%;
height:100%;
object-fit:cover;
}

.news-overlay{
position:absolute;
inset:0;
display:flex;
flex-direction:column;
justify-content:flex-end;
padding:50px;
background:
linear-gradient(
to top,
rgba(0,0,0,.92),
rgba(0,0,0,.20)
);
}

.news-category{
color:#c9a86a;
text-transform:uppercase;
letter-spacing:2px;
font-size:12px;
font-weight:700;
}

.news-overlay h3{
color:#fff;
font-size:42px;
margin:15px 0;
}

.news-overlay p{
color:rgba(255,255,255,.90);
}

.news-overlay a{
width:max-content;
margin-top:20px;
color:#c9a86a;
font-weight:700;
}

.news-side{
display:flex;
flex-direction:column;
gap:30px;
}

.news-small{
background:#fff;
border-radius:20px;
overflow:hidden;
box-shadow:0 15px 35px rgba(0,0,0,.06);
}

.news-small img{
width:100%;
height:220px;
object-fit:cover;
}

.news-small-content{
padding:25px;
}

.news-small-content span{
color:#c9a86a;
font-size:12px;
text-transform:uppercase;
font-weight:700;
}

.news-small-content h4{
margin-top:10px;
color:#111;
line-height:1.5;
}

.news-bottom{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:25px;
margin-top:30px;
}

.mini-news{
background:#fff;
border-radius:20px;
overflow:hidden;
box-shadow:0 12px 30px rgba(0,0,0,.05);
transition:.3s;
}

.mini-news:hover{
transform:translateY(-8px);
}

.mini-news img{
width:100%;
height:220px;
object-fit:cover;
}

.mini-news h5{
padding:25px;
color:#111;
line-height:1.6;
}

.news-more{
text-align:center;
margin-top:60px;
}

.btn-news-all{
display:inline-block;
padding:15px 40px;
background:#111;
color:#fff;
border-radius:50px;
transition:.3s;
}

.btn-news-all:hover

@media(max-width:991px){


.news-layout{
    grid-template-columns:1fr;
}

.news-bottom{
    grid-template-columns:1fr;
}

.news-featured{
    height:450px;
}

.news-overlay h3{
    font-size:30px;
}


}













/*******************************/
/********* Footer CSS **********/
/*******************************/
.footer {
    position: relative;
    margin-top: 45px;
    padding-top: 90px;
    background: #092a49;
}

.footer .footer-contact,
.footer .footer-link,
.footer .footer-newsletter {
    position: relative;
    margin-bottom: 45px;
    color: #ffffff;
}

.footer .footer-contact h2,
.footer .footer-link h2,
.footer .footer-newsletter h2 {
    position: relative;
    margin-bottom: 30px;
    padding-bottom: 10px;
    font-size: 22px;
    font-weight: 300;
    letter-spacing: 1px;
    color: #ffffff;
}

.footer .footer-contact h2::after,
.footer .footer-link h2::after,
.footer .footer-newsletter h2::after {
    position: absolute;
    content: "";
    width: 45px;
    height: 2px;
    bottom: 0;
    left: 0;
    background: #0796fe;
}

.footer .footer-link a {
    display: block;
    margin-bottom: 10px;
    color: #ffffff;
    transition: .3s;
}

.footer .footer-link a::before {
    position: relative;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 10px;
}

.footer .footer-link a:hover {
    color: #0796fe;
    letter-spacing: 1px;
}

.footer .footer-contact p i {
    width: 25px;
}

.footer .footer-social {
    position: relative;
    margin-top: 20px;
}

.footer .footer-social a {
    display: inline-block;
}

.footer .footer-social a i {
    margin-right: 15px;
    font-size: 18px;
    color: #092a49;
}

.footer .footer-social a:last-child i {
    margin: 0;
}

.footer .footer-social a:hover i {
    color: #999999;
}

.footer .footer-newsletter .form {
    position: relative;
    width: 100%;
}

.footer .footer-newsletter input {
    height: 60px;
    border: 2px solid #1d2434;
    border-radius: 0;
}

.footer .footer-newsletter .btn {
    position: absolute;
    top: 8px;
    right: 8px;
    height: 44px;
    padding: 8px 20px;
    font-size: 14px;
    font-weight: 600;
    color: #092a49;
    background: none;
    border-radius: 0;
    border: 2px solid #092a49;
    transition: .3s;
}

.footer .footer-newsletter .btn:hover {
    color: #0796fe;
    background: #092a49;
}

.footer .copyright {
    padding: 0 30px;
}

.footer .copyright .row {
    padding-top: 25px;
    padding-bottom: 25px;
    border-top: 1px solid rgba(256, 256, 256, .1);
}

.footer .copyright p {
    margin: 0;
    color: #999999;
}

.footer .copyright .col-md-6:last-child p {
    text-align: right;
}

.footer .copyright p a {
    color: #ffffff;
}

.footer .copyright p a:hover {
    color: #0796fe;
}

@media (max-width: 767.98px) {
    .footer .copyright p,
    .footer .copyright .col-md-6:last-child p {
        margin: 5px 0;
        text-align: center;
    }
}

/* HEADER SUPERIOR */
.header-top {
    background: #ffffff;
    padding: 15px 40px;
    border-bottom: 1px solid #eaeaea;
}


.header-content{
    display:flex;
    justify-content:center;
    align-items:center;
    min-height:180px;
}

.header-left,
.header-buttons{
    display:none;
}

.header-logo{
    position:relative;
    left:auto;
    transform:none;
}

.header-logo img{
    height:140px;
    width:auto;
} 
/* BOTÃO DOAÇÃO OUTLINE */ 
.btn-doacao-outline{
    display:inline-flex;
    align-items:center;
    justify-content:center; 
    gap:8px;

    padding:10px 18px;

    background:rgba(245, 245, 245, 0.32);;
    color:rgb(213, 31, 55);
 
    border:2px solid transparent;

    border-radius:30px;

    font-size:16px !important;
    font-weight:700;

    text-decoration:none;

    transition:.3s ease;
}

.btn-doacao-outline:hover{
    background:#0d7168;
    color:#ffffff;
    transform:translateY(-2px);

    box-shadow:0 5px 15px rgba(13,113,104,.25);
}
/* BOTÕES */
.header-buttons {
    display: flex;
    align-items: center;
    gap: 12px;
}

.btn-header {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    padding: 10px 18px;

border-radius: 30px;  

    font-size: 13px;
    font-weight: 600;

    text-decoration: none;

    transition: .3s ease;

    white-space: nowrap;
}

/* força icone e texto na mesma linha */
.btn-header i {
    display: inline-block;
    font-size: 15px;
    line-height: 1;
}



/* Hover */
.btn-header:hover {
    transform: translateY(-2px);
    opacity: .92;
}



/* Botão Doação */
.btn-doacao {
    
	border: 2px solid #0d7168;
    color: #fad907;
}

.btn-doacao:hover {
    background: #092a49;
    color: #ffffff;
}

/* Botão Portal */
.btn-portal {
    background: 
        #0d7168;

    color: #ffffff;

    border: none;

    box-shadow: 0 4px 12px rgba(13, 113, 104, 0.25);
}

.btn-portal:hover {
    background: #fad40a;
    color: #ffffff;
}

/* MENU */
.menu-bar{
    background:#000000 !important;
    padding:12px 0;
    box-shadow:0 4px 20px rgba(0,0,0,.15);
}

.menu-bar .nav-link{
    color:#ffffff !important;
    font-size:15px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:1px;
    margin:0 12px;
}

.menu-bar .nav-link:hover,
.menu-bar .nav-link.active{
    color:#c9a86a !important;
}

/* MOBILE */
@media (max-width: 991px) {

    .header-content {
        flex-direction: column;
        gap: 20px;
    }

    .header-left {
        display: none;
    }

    .header-buttons {
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
    }

    .header-logo img {
        height: 70px;
    }

    .menu-bar {
        padding: 10px;
    }
}

/* DROPDOWN MENU */
.menu-bar .dropdown-menu {
    border: none;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    margin-top: 10px;
    background: rgba(255, 255, 255, .95);
    box-shadow: 0 5px 20px rgba(0,0,0,.1);
}

.menu-bar .dropdown-item {
    padding: 10px 20px;
    color: #0d7168;
    font-size: 14px;
    transition: .3s;
}

.menu-bar .dropdown-item:hover {
    background: #0d7168;
    color: #ffffff;
}

/* Hover Desktop */
@media (min-width: 992px) {

    .menu-bar .dropdown:hover .dropdown-menu {
        display: block;
    }

    .menu-bar .dropdown-menu {
        margin-top: 0;
    }
}

/* HERO VIDEO */
.hero-video {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background: #000;
}

/* VIDEO */
.video-background {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    overflow: hidden;
    transform: translate(-50%, -50%);
    z-index: 1;
}

.video-background iframe {
    position: absolute;
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    width: 177.77vh;
    height: 56.25vw;
    min-width: 100%;
    min-height: 100%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}


/**********************************/
/******** HERO CAROUSEL ***********/
/**********************************/

.hero-carousel{
    position:relative;
    width:100%;
    height:85vh;
    overflow:hidden;
}

.hero-carousel .carousel-item{
    height:85vh;
}

.hero-carousel .carousel-item img{
    width:100%;
    height:85vh;
    object-fit:cover;
}

.carousel-overlay{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:
        linear-gradient(
            rgba(0,0,0,.55),
            rgba(0,0,0,.45)
        );
}

.hero-carousel .carousel-caption{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:90%;
    max-width:900px;
    text-align:center;
    z-index:10;
}

.hero-carousel h1{
    font-size:55px;
    font-weight:700;
    margin-bottom:20px;
}

.hero-carousel h1{
    color: rgba(255, 255, 255, .8);
    text-shadow:
        0 2px 8px rgba(0,0,0,.35),
        0 4px 20px rgba(0,0,0,.25);
}

.hero-carousel p{
    color: rgba(255, 255, 255, .9);
    font-size:18px;
    margin-bottom:30px;
    text-shadow:
        0 2px 6px rgba(0,0,0,.25);
}

.hero-carousel .carousel-indicators li{ 
    width:12px;
    height:12px;
    border-radius:50%;
}

.hero-carousel .carousel-control-prev,
.hero-carousel .carousel-control-next{
    width:60px;
}

@media(max-width:991px){

    .hero-carousel,
    .hero-carousel .carousel-item,
    .hero-carousel .carousel-item img{
        height:65vh;
    }

    .hero-carousel h1{
        font-size:38px;
    }

    .hero-carousel p{
        font-size:18px;
    }

}

/* CAMADA PRETA */
.video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.65);
 
    z-index: 3;
}

/* CONTEÚDO */
.hero-content {
    position: relative;
    z-index: 4;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    text-align: center;
    color: #ffffff;

    padding: 20px;
}

/* TÍTULO */
.hero-content h1 {
    font-size: 72px;
    font-weight: 700;
    margin-bottom: 20px;
    text-transform: uppercase;
    color: rgba(250, 217, 7, .7);
}

/* TEXTO */
.hero-content p {
    max-width: 850px;
    font-size: 22px;
    line-height: 1.6;
    margin-bottom: 35px;
}

/* BOTÕES */
.hero-buttons {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    justify-content: center;
} 

.btn-hero,
.btn-hero-outline {
    padding: 14px 32px;
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: .3s;
    text-decoration: none;
    border-radius: 30px;
}

/* BOTÃO PRINCIPAL */
.btn-hero{
    background:#1f1f1f;
    color:#fff;
    border:2px solid #c9a86a;
}

.btn-hero:hover{
    background:#b89556;
    color:#fff;
    transform:translateY(-3px);
}

/* BOTÃO SECUNDÁRIO */
.btn-hero-outline {
    border: 2px solid #ffffff;
    color: #ffffff;
}

.btn-hero-outline:hover {
    background: #ffffff;
    color: #fad907;
}

/* MOBILE */
@media (max-width: 991px) {

    .hero-content h1 {
        font-size: 42px;
    }

    .hero-content p {
        font-size: 18px;
    }
}

@media (max-width: 575px) {

    .hero-content h1 {
        font-size: 30px;
    }

    .hero-content p {
        font-size: 16px;
    }
}

.agenda-cultural{
padding:100px 0;
background:#f8f8f8;
}

.section-header{
text-align:center;
max-width:800px;
margin:0 auto 70px;
}

.section-subtitle{
display:inline-block;
color:#c9a86a;
text-transform:uppercase;
letter-spacing:3px;
font-size:13px;
font-weight:700;
}

.section-header h2{
color:#111;
font-size:48px;
margin:15px 0;
}

.section-header p{
color:#666;
font-size:18px;
}

.agenda-grid{
display:grid;
grid-template-columns:2fr 1fr;
gap:35px;
}

.evento-destaque{
background:#fff;
border-radius:25px;
overflow:hidden;
box-shadow:0 20px 50px rgba(0,0,0,.08);
}

.evento-imagem img{
width:100%;
height:450px;
object-fit:cover;
}

.evento-info{
display:flex;
padding:35px;
}

.evento-data{
min-width:90px;
text-align:center;
margin-right:25px;
}

.evento-data .dia{
display:block;
font-size:48px;
font-weight:700;
color:#000;
}

.evento-data .mes{
display:block;
color:#c9a86a;
font-weight:700;
}

.categoria{
display:inline-block;
background:#111;
color:#fff;
padding:8px 16px;
border-radius:30px;
font-size:12px;
letter-spacing:1px;
text-transform:uppercase;
}

.evento-conteudo h3{
margin:15px 0;
color:#111;
}

.btn-evento{
display:inline-block;
margin-top:15px;
background:#111;
color:#fff;
padding:12px 28px;
border-radius:50px;
transition:.3s;
}

.btn-evento:hover

.eventos-lista{
display:flex;
flex-direction:column;
gap:20px;
}

.evento-item{
background:#fff;
border-radius:20px;
padding:25px;
display:flex;
align-items:center;
box-shadow:0 10px 30px rgba(0,0,0,.06);
transition:.3s;
}

.evento-item:hover{
transform:translateY(-5px);
}

.evento-mini-data{
min-width:80px;
font-weight:700;
color:#c9a86a;
}

.evento-mini-info h4{
color:#111;
margin-bottom:5px;
}

.evento-mini-info span{
color:#666;
}

@media(max-width:991px){


.agenda-grid{
    grid-template-columns:1fr;
}

.evento-info{
    flex-direction:column;
}

.evento-data{
    margin-bottom:20px;
}

.section-header h2{
    font-size:34px;
}


}


/* IMAGEM INICIAL */
.video-poster {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('../img/hero-bg.jpg') center center/cover no-repeat;
    z-index: 1;
}

/**********************************/
/******** QUICK ACCESS ************/
/**********************************/

.quick-access {
    position: relative;

    margin-top: -1px;

    /*background: #0d7168;*/
    background: rgba(245, 245, 245, 1); 

    padding: 20px 60px;

    z-index: 20;

    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

/* item */
.quick-item {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    text-align: center;

    background: rgba(255, 255, 255, .80);

    backdrop-filter: blur(6px);

    border-radius: 18px;

    padding: 20px 20px;

    height: 170px;

    transition: .3s ease;

    text-decoration: none;
}

/* hover */
.quick-item:hover {
    transform: translateY(-6px);

    background: rgba(255,255,255,0.28);

    box-shadow: 0 10px 25px rgba(0,0,0,0.12);
}

/* icone */
.quick-icon {
    width: 85px;
    height: 85px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #fad907;

    margin-bottom: 12px;

    box-shadow: 0 8px 25px rgba(13, 113, 104, 0.35); 
}

/* icone fontawesome */
.quick-icon i {
    font-size: 34px;
    color: #ffffff;
}

/* titulo */
.quick-item h3 {
    font-size: 18px;
    font-weight: 700;

    color: #d51f37;

    line-height: 1.4;

    margin: 0;
}

/**********************************/
/*********** OWL NAV **************/
/**********************************/

.quick-slider .owl-nav {
    position: absolute;
    top: 50%;
    left: -25px;
    right: -25px;

    transform: translateY(-50%);

    display: flex;
    justify-content: space-between;
    align-items: center;

    z-index: 10;

    pointer-events: none;
}

.quick-slider .owl-nav button {
    width: 50px;
    height: 50px;

    border-radius: 50% !important;

    background: #0d7168 !important;

    color: #ffffff !important;

    font-size: 18px !important;

    display: flex !important;
    align-items: center;
    justify-content: center;

    transition: .3s;

    pointer-events: all;
}

.quick-slider .owl-nav .owl-prev {
    margin-left: -10px;
}

.quick-slider .owl-nav .owl-next {
    margin-right: -10px;
}

.quick-slider .owl-nav button:hover {
    background: #ffffff !important;
    color: #0d7168 !important;
}

/**********************************/
/*********** RESPONSIVO ***********/
/**********************************/

@media (max-width: 991px) {

    .quick-access {
        padding: 25px 20px;
    }

    .quick-item {
        height: 200px;
    }

    .quick-icon {
        width: 70px;
        height: 70px;
    }

    .quick-icon i {
        font-size: 28px;
    }

    .quick-item h3 {
        font-size: 16px;
    }
}

/* =========================================
   NEWS HOME
========================================= */

.news-home{
    position: relative;
    padding: 40px 40px;
    background: #f7f8fa;
}

.section-news-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 45px;
    flex-wrap: wrap;
    gap: 20px;
}

.section-news-header h2{
    font-size: 42px;
    font-weight: 700;
    color: #0d7168;
    margin: 10px 0 0;
}

.section-tag{
    display: inline-block;
    background: #fad907;
    color: #092a49;
    padding: 7px 18px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
}

.btn-all-news{
    background: #0d7168;
    color: #fff;
    padding: 10px 20px;
    border-radius: 50px;
    font-weight: 600;
    transition: .3s;
}

.btn-all-news:hover{
    background: #fad907;
    color: #092a49;
    text-decoration: none;
}

/* FEATURED */

.featured-news{
    position: relative;
    overflow: hidden;
    border-radius: 30px;
    height: 100%;
    min-height: 550px;
}

.featured-news img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .6s;
}

.featured-news:hover img{
    transform: scale(1.08);
}

.featured-overlay{
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0,0,0,.85),
        rgba(0,0,0,.15)
    );
}

.featured-content{
    position: absolute;
    left: 0;
    bottom: 0;
    padding: 45px;
    color: #fff;
    z-index: 2;
}

.news-category{
    display: inline-block;
    background: #fad907;
    color: #092a49;
    padding: 7px 16px;
    border-radius: 30px;
    font-weight: 700;
    margin-bottom: 18px;
    font-size: 13px;
}

.featured-content h2{
    font-size: 38px;
    line-height: 1.2;
    font-weight: 800;
    margin-bottom: 20px;
    color: rgba(255, 255, 255, .9);
}

.featured-content p{
    font-size: 17px;
    opacity: .95;
    margin-bottom: 25px;
}

.btn-read-news{
    display: inline-block;
    background: #fad907;
    color: #092a49;
    padding: 14px 28px;
    border-radius: 50px;
    font-weight: 700;
    transition: .3s;
}

.btn-read-news:hover{
    background: #fff;
    color: #092a49;
    text-decoration: none;
}

/* SIDE NEWS */

.side-news{
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.side-news-item{
    background: #fff;
    border-radius: 25px;
    overflow: hidden;
    display: flex;
    align-items: center;
    box-shadow: 0 8px 25px rgba(0,0,0,.06);
    transition: .3s;
}

.side-news-item:hover{
    transform: translateY(-5px);
}

.side-news-img{
    width: 180px;
    min-width: 180px;
    height: 180px;
}

.side-news-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.side-news-content{
    padding: 25px;
}

.side-news-content span{
    color: #f0b400;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
}

.side-news-content h3{
    font-size: 18px;
    line-height: 1.4;
    margin: 12px 0 15px;
    color: #0d7168;
    font-weight: 700;
}

.side-news-content a{
    color: #092a49;
    font-weight: 700;
    font-size: 14px;
}

/* GRID */

.news-grid{
    margin-top: 50px;
}

.news-card{
    background: #fff;
    border-radius: 25px;
    overflow: hidden;
    height: 100%;
    box-shadow: 0 8px 25px rgba(0,0,0,.05);
    transition: .3s;
}

.news-card:hover{
    transform: translateY(-8px);
}

.news-card-img{
    height: 250px;
    overflow: hidden;
}

.news-card-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .5s;
}

.news-card:hover img{
    transform: scale(1.08);
}

.news-card-body{
    padding: 28px;
}

.news-card-body span{
    color: #f0b400;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.news-card-body h3{
    font-size: 25px;
    line-height: 1.4;
    color: #0d7168;
    margin: 15px 0;
    font-weight: 800;
}

.news-card-body p{
    color: #666;
    margin-bottom: 20px;
}

.news-card-body a{
    color: #092a49;
    font-weight: 700;
}

/* RESPONSIVO */

@media(max-width:991px){

    .news-home{
        padding: 70px 20px;
    }

    .featured-news{
        margin-bottom: 30px;
        min-height: 450px;
    }

    .featured-content h2{
        font-size: 28px;
    }

    .side-news-item{
        flex-direction: column;
    }

    .side-news-img{
        width: 100%;
        height: 230px;
    }
}

@media(max-width:768px){

    .section-news-header h2{
        font-size: 30px;
    }

    .featured-content{
        padding: 25px;
    }

    .featured-content h2{
        font-size: 24px;
    }

    .featured-content p{
        font-size: 15px;
    }

    .news-card-body h3{
        font-size: 22px;
    }
}

/* ========================================= */
/* DOAÇÃO */
/* ========================================= */

.donation-section{
    position: relative;
    padding: 100px 0;

    background: url('../img/podemosdoacao.png') center center no-repeat;
    background-size: cover;
    background-attachment: fixed;

    overflow: hidden;
}

.donation-section::before{
    content: "";
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            rgba(13,113,104,.88),
            rgba(9,42,73,.82)
        );

    z-index: 1;
}

.donation-section .container{
    position: relative;
    z-index: 2;
}

.donation-box{
    text-align:center;
    color:#fff;
    max-width:900px;
    margin:auto;
}

.donation-tag{
    display:inline-block;
    background:#fad907;
    color:#000;
    padding:10px 22px;
    border-radius:50px;
    font-weight:700;
    margin-bottom:25px;
}

.donation-box h2{
    font-size:48px;
    font-weight:800;
    line-height:1.4;
    margin-bottom:25px;
color: rgba(255, 255, 255, 1);
}

.donation-box p{
    font-size:18px;
    opacity:.9;
    margin-bottom:40px;
}

.donation-buttons{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

.btn-donate{
    background:#fad907;
    color:#000;
    padding:16px 35px;
    border-radius:50px;
    font-weight:700;
    text-decoration:none;
    transition:.3s;
}

.btn-donate:hover{
    transform:translateY(-4px);
    color:#000;
}

.btn-transparent{
    border:2px solid rgba(255,255,255,.3);
    color:#fff;
    padding:16px 35px;
    border-radius:50px;
    text-decoration:none;
}


/* ========================================= */
/* TÍTULOS */
/* ========================================= */

.section-politic-header{
    text-align:center;
    margin-bottom:60px;
}

.section-politic-header span{
    color:#fad907;
    font-weight:700;
    letter-spacing:2px;
}

.section-politic-header h2{
    font-size:42px;
    font-weight:800;
    color:#0d7168;
    margin-top:10px;
}


/* ========================================= */
/* DISCURSOS */
/* ========================================= */

.assembly-section{
    padding:100px 0;
    background:#f7f9fc;
}

.speech-card{
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 10px 35px rgba(0,0,0,.08);
    margin-bottom:30px;
    transition:.3s;
}

.speech-card:hover{
    transform:translateY(-10px);
}

.speech-video iframe{
    width:100%;
    height:250px;
}

.speech-content{
    padding:30px;
}

.speech-content span{
    color:#fad907;
    font-weight:700;
}

.speech-content h3{
    font-size:24px;
    margin:15px 0;
    color:#092a49;
}


/* ========================================= */
/* PROVÍNCIAS */
/* ========================================= */

.province-section{
    padding:100px 0;
    background:#fff;
}

.province-card{
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.3s;
    margin-bottom:30px;
}

.province-card:hover{
    transform:translateY(-10px);
}

.province-card img{
    width:100%;
    height:250px;
    object-fit:cover;
}

.province-content{
    padding:25px;
}

.province-content span{
    color:#fad907;
    font-weight:700;
}

.province-content h3{
    font-size:22px;
    color:#092a49;
    margin:15px 0;
}

.province-content a{
    color:#d51f37;
    font-weight:700;
    font-size: 14px;
}


/* ========================================= */
/* FOOTER */
/* ========================================= */

.footer-modern{
    background:#0d7168;
    color:#fff;
    padding-top:80px;
}

.footer-brand-logo {
    text-align: center;
}

.footer-brand img{
    width:140px;
    margin-bottom:5px;
    
}

.footer-brand p{
    opacity:.8;
    line-height:1.9;
    color: rgba(255,255,255,.90);
    text-align: justify;
}

.footer-social{
    margin-top:25px;
    text-align: center
}

.footer-social a{
    width:45px;
    height:45px;
    background:rgba(255,255,255,.08);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    margin-right:10px;
    color:#fff;
    transition:.3s;
}

.footer-social a:hover{
    background:#fad907;
    color:#000;
}

.footer-links h3,
.footer-contact-modern h3{
    margin-bottom:25px;
    font-size:22px;
    color: rgba(255,255,255,.95);
}

.footer-links a{
    display:block;
    color:rgba(255,255,255,.85);
    margin-bottom:12px;
    text-decoration:none;
    transition:.3s;
}

.footer-links a:hover{
    color:#fad907;
    padding-left:5px;
}

.footer-contact-modern p{
    margin-bottom:15px;
    opacity:.85; 
    color: rgba(255, 255, 255, .90);
}

.footer-contact-modern i{
    color:#fad907;
    margin-right:10px;
}

.footer-newsletter-modern{
    display:flex;
    margin-top:25px;
}

.footer-newsletter-modern input{
    flex:1;
    height:50px;
    border:none;
    padding:0 20px;
    border-radius:50px 0 0 50px;
}

.footer-newsletter-modern button{
    border:none;
    background:#fad907;
    padding:0 30px;
    font-weight:700;
    border-radius:0 50px 50px 0;
}

.footer-bottom{
    margin-top:70px;
    border-top:1px solid rgba(255,255,255,.08);
    padding:25px 0;
}

.footer-bottom-content{
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:10px;
}

.footer-bottom p{
    margin:0;
    opacity:.7;
}


/* ========================================= */
/* RESPONSIVO */
/* ========================================= */

@media(max-width:768px){

    .donation-box h2{
        font-size:32px;
    }

    .section-politic-header h2{
        font-size:30px;
    }

    .footer-bottom-content{
        text-align:center;
        justify-content:center;
    }

}

/* ========================================= */
/* PRESIDENTE */
/* ========================================= */

.president-section{
    padding:50px 0;
    background:#ffffff;
    position:relative;
    overflow:hidden;
}

.president-image{
    position:relative;
}

.president-image img{
    width:100%;
    border-radius:30px;
    box-shadow:0 15px 50px rgba(0,0,0,.12);
    object-fit:cover;
}

.president-badge{
    position:absolute;
    bottom:30px;
    left:30px;
    background:#fad907;
    color:#000;
    padding:14px 25px;
    border-radius:50px;
    font-weight:700;
    box-shadow:0 10px 30px rgba(0,0,0,.15);
}

.president-content{
    padding-left:40px;
}

.president-tag{
    display:inline-block;
    color:#fad907;
    font-weight:800;
    letter-spacing:2px;
    margin-bottom:20px;
}

.president-content h2{
    font-size:50px;
    font-weight:800;
    color:#0d7168;
    margin-bottom:10px;
}

.president-content h4{
    color:#0d7168;
    font-size:24px;
    margin-bottom:35px;
}

.president-quote{
    font-size:28px;
    line-height:1.7;
    font-style:italic;
    color:#092a49;
    font-weight:600;
    border-left:5px solid #fad907;
    padding-left:25px;
    margin-bottom:35px;
}

.president-content p{
    font-size:17px;
    line-height:1.9;
    color:#555;
}

.president-buttons{
    margin-top:40px;
    display:flex;
    gap:20px;
    flex-wrap:wrap;
}

.btn-president{
    background:#0d7168;
    color:#fff;
    padding:16px 30px;
    border-radius:50px;
    text-decoration:none;
    font-weight:700;
    transition:.3s;
}

.btn-president:hover{
    background:#fad907;
    color:#000;
    transform:translateY(-3px);
}

.btn-president-outline{
    border:2px solid #0d7168;
    color:#0d7168;
    padding:16px 30px;
    border-radius:50px;
    text-decoration:none;
    font-weight:700;
    transition:.3s;
}

.btn-president-outline:hover{
    background:#092a49;
    color:#fff;
}


/* RESPONSIVO */

@media(max-width:991px){

    .president-content{
        padding-left:0;
        margin-top:50px;
    }

    .president-content h2{
        font-size:42px;
    }

    .president-quote{
        font-size:22px;
    }

}

.contact-hero{
    position:relative;
    padding:100px 0;
    text-align:center;

    background:url('../img/mulheres.jpg') center center no-repeat;
    background-size:cover;

    overflow:hidden;
}

/* camada escura */
.contact-hero::before{
    content:"";
    position:absolute;
    inset:0;

    background:linear-gradient(
        rgba(13,113,104,.85),
        rgba(9,42,73,.80)
    );

    z-index:1;
}

.contact-hero .container{
    position:relative;
    z-index:2;
}

.contact-tag{
    display:inline-block;
    background:#fad907;
    color:#092a49;
    padding:10px 22px;
    border-radius:50px;
    font-weight:700;
}


.contact-hero h1{
    font-size:65px;
    color:#ffffff;
    font-weight:800;
    margin:25px 0 15px;
}

.contact-hero p{
    max-width:850px;
    margin:auto;
    color:rgba(255,255,255,.92);
    font-size:20px;
    line-height:1.8;
}

.contact-info-modern{
padding:80px 0;
}

.contact-card{
background:#fff;
border-radius:25px;
padding:35px;
text-align:center;
box-shadow:0 10px 30px rgba(0,0,0,.06);
transition:.3s;
height:100%;
}

.contact-card:hover{
transform:translateY(-8px);
}

.contact-icon{
width:80px;
height:80px;
background:#fad907;
border-radius:50%;
margin:auto auto 20px;
display:flex;
align-items:center;
justify-content:center;
}

.contact-icon i{
color:#fff;
font-size:30px;
}

.contact-form-section{
padding:100px 0;
background:#f7f9fc;
}

.contact-form-modern{
background:#fff;
padding:40px;
border-radius:25px;
box-shadow:0 10px 35px rgba(0,0,0,.06);
}

.contact-form-modern input,
.contact-form-modern textarea{
width:100%;
margin-bottom:20px;
border:none;
background:#f4f6f8;
padding:15px 20px;
border-radius:12px;
}

.btn-contact{
background:#0d7168;
color:#fff;
border:none;
padding:15px 35px;
border-radius:50px;
font-weight:700;
}

.citizen-channel{
padding:100px 0;
}

.channel-box{
background:linear-gradient(
135deg,
#0d7168,
#092a49
);
color:#fff;
padding:60px;
border-radius:35px;
}

.channel-badge{
background:#fad907;
color:#000;
padding:10px 20px;
border-radius:50px;
font-weight:700;
}

.channel-box h2{
color:#fff;
margin:25px 0;
}

.channel-features{
display:flex;
gap:30px;
flex-wrap:wrap;
margin:30px 0;
}

.channel-features div{
display:flex;
align-items:center;
gap:10px;
}

.citizen-form{
margin-top:30px;
}

.citizen-form input,
.citizen-form select,
.citizen-form textarea{
width:100%;
border:none;
margin-bottom:15px;
padding:15px 20px;
border-radius:12px;
}

.citizen-form button{
background:#fad907;
color:#000;
border:none;
padding:15px 35px;
border-radius:50px;
font-weight:700;
}

.contact-map iframe{
width:100%;
height:500px;
border:none;
}

/**********************************/
/******** DOAÇÃO PAGE *************/
/**********************************/

.donation-values{
    display:flex;
    flex-wrap:wrap;
    gap:15px;
}

.donation-option{
    flex:1 1 calc(25% - 15px);
    min-width:120px;
    cursor:pointer;
}

.donation-option input{
    display:none;
}

.donation-option span{
    display:block;
    padding:16px;
    text-align:center;
    border-radius:15px;

    background:#f4f6f8;
    border:2px solid transparent;

    font-weight:700;
    color:#0d7168;

    transition:.3s;
}

.donation-option input:checked + span{
    background:#fad907;
    color:#092a49;
    border-color:#0d7168;

    transform:translateY(-3px);
}

.contact-form-modern h3{
    color:#0d7168;
    font-weight:800;
    margin-bottom:30px;
}

.btn-contact{
    width:100%;
    margin-top:10px;
    font-size:16px;
    transition:.3s;
}

.btn-contact:hover{
    background:#092a49;
    transform:translateY(-3px);
}

@media(max-width:768px){

    .donation-option{
        flex:1 1 calc(50% - 10px);
    }

}

.payment-title{
    font-weight:700;
    color:#0d7168;
    margin:30px 0 20px;
}

.payment-methods{
    display:flex;
    gap:15px;
    flex-wrap:wrap;
    margin-bottom:25px;
}

.payment-card{
    flex:1;
    min-width:180px;
    cursor:pointer;
    padding-right: 50px;
}

.payment-card input{
    display:none;
}

.payment-content{

    background:#f4f6f8;

    border:2px solid transparent;

    border-radius:18px;

    padding:25px 15px;

    text-align:center;

    transition:.3s;
}

.payment-content i{
    display:block;
    font-size:30px;
    margin-bottom:12px;
    color:#0d7168;
}

.payment-content span{
    font-weight:700;
    color:#092a49;
}

.payment-card:hover .payment-content{
    transform:translateY(-4px);
}

.payment-card input:checked + .payment-content{

    background:#fad907;

    border-color:#0d7168;

    box-shadow:0 8px 25px rgba(13,113,104,.20);
}

#payment-info{
    margin-bottom:25px;
}

.leader-hero{
    padding:120px 0;
    color:#fff;
    background:
        linear-gradient(
            135deg,
            rgba(9,42,73,.93),
            rgba(13,113,104,.95)
        ),
        url('../img/prforquilha2.jpg');
    background-size:cover;
    background-position:center center;
    background-attachment:fixed;
}

.leader-badge{
    display:inline-block;
    background:#fad907;
    color:#092a49;
    padding:8px 20px;
    border-radius:50px;
    font-weight:700;
    margin-bottom:20px;
}

.leader-hero h1{
    font-size:60px;
    font-weight:700;
    margin-bottom:15px;
    color:#fff;
}

.leader-hero h3{
    color:#fad907;
    margin-bottom:25px;
}

.leader-photo img{
    width:100%;
    border-radius:20px;
    box-shadow:0 20px 50px rgba(0,0,0,.25);
}

.leader-profile{
    padding:90px 0;
}

.leader-text{
    max-width:900px;
    margin:auto;
    font-size:18px;
    line-height:1.9;
}

.leader-message{
    padding:80px 0;
    background:#f8f9fa;
}

.message-box{
    text-align:center;
    max-width:900px;
    margin:auto;
}

.message-box i{
    font-size:50px;
    color:#fad907;
    margin-bottom:20px;
}

.message-box h2{
    font-size:34px;
    line-height:1.6;
}

.message-box span{
    display:block;
    margin-top:20px;
    color:#0d7168;
    font-weight:700;
}

.leader-priorities{
    padding:90px 0;
}

.priority-card{
    text-align:center;
    padding:40px 25px;
    background:#fff;
    border-radius:20px;
    box-shadow:0 10px 35px rgba(0,0,0,.08);
    transition:.4s;
    height:100%;
}

.priority-card:hover{
    transform:translateY(-8px);
}

.priority-card i{
    font-size:40px;
    color:#fad907;
    margin-bottom:20px;
}

.priority-card h3{
    font-size:20px;
}

.leader-hero{
    min-height:500px;
    display:flex;
    align-items:center;
}

.leader-photo{
    text-align:center;
}

.leader-photo img{
    width:100%;
    max-width:420px;
    height:auto;
    display:block;
    margin:auto;
}

@media (max-width:991px){

    .leader-hero{
        text-align:center;
        padding:70px 0;
    }

    .leader-photo{
        margin-top:40px;
    }

    .leader-hero h1{
        font-size:42px;
    }

}

.council-hero{
    padding:100px 0;
    text-align:center;
    color:#fff;
    background:
        linear-gradient(
            rgba(9,42,73,.90),
            rgba(13,113,104,.85)
        ),
        url('../img/politica-bg.jpg');
    background-size:cover;
    background-position:center;
}

.council-tag{
    display:inline-block;
    background:#fad907;
    color:#092a49;
    padding:8px 20px;
    border-radius:50px;
    font-weight:700;
    margin-bottom:20px;
}

.council-hero h1{
    color:#fff;
    font-size:55px;
    margin-bottom:20px;
}

.council-hero p{
    max-width:800px;
    margin:auto;
    font-size:18px;
}

.council-section{
    padding:90px 0 40px;
}

.leader-main{
    display:flex;
    justify-content:center;
}

.leader-card{
    text-align:center;
}

.leader-card img{
    width:280px;
    height:280px;
    object-fit:cover;
    border-radius:20px;
    box-shadow:0 15px 40px rgba(0,0,0,.15);
}

.leader-card h3{
    margin-top:25px;
    margin-bottom:8px;
}

.leader-card span{
    color:#0d7168;
    font-weight:700;
}

.leader-president img{
    width:330px;
    height:330px;
    border:6px solid #fad907;
}

.leader-secretary img{
    width:280px;
    height:280px;
}

.council-members{
    padding:90px 0;
    background:#f8f9fa;
}

.member-card{
    background:#fff;
    text-align:center;
    border-radius:20px;
    overflow:hidden;
    margin-bottom:30px;
    box-shadow:0 10px 35px rgba(0,0,0,.08);
    transition:.4s;
}

.member-card:hover{
    transform:translateY(-8px);
}

.member-card img{
    width:100%;
    height:280px;
    object-fit:cover;
}

.member-card h4{
    padding:20px;
    margin:0;
    font-size:18px;
}

@media(max-width:768px){

    .council-hero h1{
        font-size:38px;
    }

    .leader-president img{
        width:250px;
        height:250px;
    }

    .leader-secretary img{
        width:220px;
        height:220px;
    }

}

.provincial-section{
    padding:90px 0;
    background:#f8f9fa;
}

.provincial-card{
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    text-align:center;
    margin-bottom:30px;
    box-shadow:0 10px 35px rgba(0,0,0,.08);
    transition:.4s;
    height:100%;
}

.provincial-card:hover{
    transform:translateY(-8px);
}

.provincial-card img{
    width:100%;
    height:300px;
    object-fit:cover;
}

.provincial-card h3{
    font-size:20px;
    margin:20px 15px 10px;
    color:#092a49;
}

.provincial-card span{
    display:block;
    padding:0 20px 25px;
    color:#0d7168;
    font-weight:700;
    font-size:15px;
}

/**********************************/
/******** TRANSPARÊNCIA ***********/
/**********************************/

.transparency-hero{
    padding:100px 0;
    text-align:center;
    color:#fff;
    background:
    linear-gradient(
        135deg,
        rgba(9,42,73,.92),
        rgba(13,113,104,.88)
    );
}

.transparency-tag{
    display:inline-block;
    background:#fad907;
    color:#092a49;
    padding:8px 22px;
    border-radius:50px;
    font-weight:700;
    margin-bottom:20px;
}

.transparency-hero h1{
    color:#fff;
    font-size:52px;
    margin-bottom:20px;
}

.transparency-hero p{
    max-width:800px;
    margin:auto;
    font-size:18px;
}

.documents-section{
    padding:90px 0;
    background:#f8f9fa;
}

.document-card{
    background:#fff;
    border-radius:18px;
    padding:25px 30px;
    margin-bottom:25px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.4s;
}

.document-card:hover{
    transform:translateY(-5px);
}

.document-info{
    display:flex;
    align-items:center;
}

.document-icon{
    width:70px;
    height:70px;
    border-radius:15px;
    background:rgba(250,217,7,.15);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-right:20px;
}

.document-icon i{
    font-size:35px;
    color:#e53935;
}

.document-info h3{
    margin-bottom:5px;
    font-size:22px;
}

.document-info span{
    color:#777;
}

.btn-download{
    background:#0d7168;
    color:#fff;
    padding:12px 25px;
    border-radius:50px;
    font-weight:700;
    text-decoration:none;
    transition:.3s;
}

.btn-download:hover{
    background:#092a49;
    color:#fff;
    text-decoration:none;
}

@media(max-width:768px){

    .document-card{
        flex-direction:column;
        text-align:center;
    }

    .document-info{
        flex-direction:column;
    }

    .document-icon{
        margin-right:0;
        margin-bottom:15px;
    }

    .btn-download{
        margin-top:20px;
    }

}

.member-hero{
    padding:100px 0;
    background:linear-gradient(
        135deg,
        rgba(9,42,73,.95),
        rgba(13,113,104,.92)
    );
    color:#fff;
    text-align:center;
}

.member-tag{
    display:inline-block;
    background:#fad907;
    color:#092a49;
    padding:8px 20px;
    border-radius:50px;
    font-weight:700;
    margin-bottom:20px;
}

.member-hero h1{
    color:#fff;
    font-size:55px;
    margin-bottom:20px;
}

.member-hero p{
    max-width:800px;
    margin:auto;
}

.member-form-section{
    padding:90px 0;
    background:#f8f9fa;
}

.form-wrapper{
    background:#fff;
    padding:50px;
    border-radius:25px;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.form-wrapper label{
    font-weight:700;
    color:#092a49;
    margin-bottom:8px;
}

.form-wrapper .form-control{
    height:55px;
    border-radius:12px;
    margin-bottom:20px;
}

.form-wrapper textarea.form-control{
    height:auto;
    resize:none;
}

.form-control-file{
    margin-bottom:25px;
}

.member-declaration{
    margin:30px 0;
    padding:20px;
    background:#f8f9fa;
    border-left:5px solid #fad907;
    border-radius:10px;
}

.member-declaration input{
    margin-right:10px;
}

.btn-member-submit{
    background:#fad907;
    color:#092a49;
    border:none;
    padding:16px 40px;
    border-radius:50px;
    font-weight:700;
    transition:.4s;
}

.btn-member-submit:hover{
    background:#0d7168;
    color:#fff;
}

@media(max-width:768px){

    .member-hero h1{
        font-size:38px;
    }

    .form-wrapper{
        padding:25px;
    }

}

.volunteer-hero{
    padding:100px 0;
    background:linear-gradient(
        135deg,
        rgba(9,42,73,.95),
        rgba(13,113,104,.92)
    );
    text-align:center;
    color:#fff;
}

.volunteer-tag{
    display:inline-block;
    background:#fad907;
    color:#092a49;
    padding:8px 22px;
    border-radius:50px;
    font-weight:700;
    margin-bottom:20px;
}

.volunteer-hero h1{
    color:#fff;
    font-size:56px;
    margin-bottom:20px;
}

.volunteer-hero p{
    max-width:850px;
    margin:auto;
}

.volunteer-benefits{
    padding:90px 0;
    background:#fff;
}

.benefit-card{
    text-align:center;
    padding:40px 25px;
    background:#fff;
    border-radius:20px;
    box-shadow:0 10px 35px rgba(0,0,0,.08);
    transition:.4s;
    height:100%;
}

.benefit-card:hover{
    transform:translateY(-8px);
}

.benefit-card i{
    font-size:45px;
    color:#fad907;
    margin-bottom:20px;
}

.benefit-card h3{
    font-size:20px;
    color:#092a49;
}

.volunteer-form-section{
    padding:90px 0;
    background:#f8f9fa;
}

.volunteer-form-box{
    background:#fff;
    padding:50px;
    border-radius:25px;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.volunteer-form-box label{
    font-weight:700;
    color:#092a49;
    margin-bottom:8px;
}

.volunteer-form-box .form-control{
    height:55px;
    border-radius:12px;
    margin-bottom:20px;
}

.volunteer-form-box textarea.form-control{
    height:auto;
    resize:none;
}

.volunteer-declaration{
    background:#f8f9fa;
    padding:20px;
    border-left:5px solid #fad907;
    border-radius:10px;
    margin:25px 0;
}

.volunteer-declaration input{
    margin-right:10px;
}

.btn-volunteer{
    background:#fad907;
    color:#092a49;
    border:none;
    padding:16px 40px;
    border-radius:50px;
    font-weight:700;
    transition:.4s;
}

.btn-volunteer:hover{
    background:#0d7168;
    color:#fff;
}

.volunteer-call{
    padding:90px 0;
    background:#092a49;
}

.call-box{
    text-align:center;
    max-width:900px;
    margin:auto;
}

.call-box h2{
    color:#fff;
    margin-bottom:20px;
}

.call-box p{
    color:rgba(255,255,255,.85);
    font-size:18px;
}

@media(max-width:768px){

    .volunteer-hero h1{
        font-size:38px;
    }

    .volunteer-form-box{
        padding:25px;
    }

}

.history-hero{
    padding:140px 0;
    background:
    linear-gradient(
    rgba(9,42,73,.85),
    rgba(13,113,104,.85)),
    url('../img/historia-bg.jpg');
    background-size:cover;
    background-position:center;
    text-align:center;
    color:#fff;
}

.history-tag{
    display:inline-block;
    background:#fad907;
    color:#092a49;
    padding:8px 22px;
    border-radius:50px;
    font-weight:700;
    margin-bottom:20px;
}

.history-hero h1{
    color:#fff;
    font-size:65px;
    margin-bottom:25px;
}

.history-hero p{
    max-width:850px;
    margin:auto;
    font-size:20px;
}

.history-intro{
    padding:100px 0;
}

.history-main-image{
    border-radius:20px;
    box-shadow:0 20px 50px rgba(0,0,0,.15);
}

.history-timeline{
    padding:100px 0;
    background:#f8f9fa;
}

.timeline{
    position:relative;
    max-width:1200px;
    margin:auto;
}

.timeline:before{
    content:'';
    position:absolute;
    left:50%;
    top:0;
    width:4px;
    height:100%;
    background:#fad907;
}

.timeline-item{
    width:50%;
    padding:25px 50px;
    position:relative;
}

.timeline-item.left{
    left:0;
}

.timeline-item.right{
    left:50%;
}

.timeline-content{
    background:#fff;
    padding:30px;
    border-radius:20px;
    box-shadow:0 10px 35px rgba(0,0,0,.08);
}

.timeline-content span{
    color:#0d7168;
    font-weight:700;
}

.history-values,
.history-gallery{
    padding:100px 0;
}

.value-card{
    text-align:center;
    padding:40px 20px;
    border-radius:20px;
    background:#fff;
    box-shadow:0 10px 35px rgba(0,0,0,.08);
    transition:.4s;
}

.value-card:hover{
    transform:translateY(-10px);
}

.value-card i{
    font-size:45px;
    color:#fad907;
    margin-bottom:20px;
}

.gallery-img{
    width:100%;
    height:300px;
    object-fit:cover;
    border-radius:20px;
    margin-bottom:25px;
}

.history-quote{
    padding:100px 0;
    background:#092a49;
}

.quote-box{
    text-align:center;
    max-width:900px;
    margin:auto;
}

.quote-box i{
    color:#fad907;
    font-size:50px;
    margin-bottom:25px;
}

.quote-box h2{
    color:#fff;
    line-height:1.7;
}

@media(max-width:991px){

    .timeline:before{
        left:20px;
    }

    .timeline-item,
    .timeline-item.right{
        width:100%;
        left:0;
        padding-left:60px;
        padding-right:0;
    }

    .history-hero h1{
        font-size:42px;
    }

}

/********************************/
/******** IDEOLOGIA *************/
/********************************/

.ideology-hero{
    padding:120px 0;
    text-align:center;
    color:#fff;
    background:
    linear-gradient(
        rgba(9,42,73,.88),
        rgba(13,113,104,.88)
    ),
    url('../img/ideologia-bg.jpg');
    background-size:cover;
    background-position:center;
}

.ideology-badge{
    display:inline-block;
    background:#fad907;
    color:#092a49;
    padding:10px 25px;
    border-radius:50px;
    font-weight:700;
    margin-bottom:25px;
}

.ideology-hero h1{
    color:#fff;
    font-size:60px;
    margin-bottom:20px;
}

.ideology-hero p{
    max-width:900px;
    margin:auto;
    font-size:20px;
}

.ideology-intro{
    padding:90px 0;
}

.ideology-text{
    max-width:950px;
    margin:auto;
    text-align:center;
    font-size:18px;
    line-height:1.9;
}

.ideology-pillars{
    padding:100px 0;
    background:#f8f9fa;
}

.pillar-card{
    background:#fff;
    border-radius:20px;
    padding:40px 30px;
    text-align:center;
    margin-bottom:30px;
    box-shadow:0 10px 35px rgba(0,0,0,.08);
    transition:.4s;
    height:100%;
}

.pillar-card:hover{
    transform:translateY(-10px);
}

.pillar-card i{
    font-size:50px;
    color:#fad907;
    margin-bottom:20px;
}

.pillar-card h3{
    margin-bottom:15px;
}

.ideology-position{
    padding:100px 0;
}

.position-box{
    background:linear-gradient(
        135deg,
        #092a49,
        #0d7168
    );
    color:#fff;
    text-align:center;
    padding:70px;
    border-radius:25px;
}

.position-box span{
    color:#fad907;
    font-weight:700;
    letter-spacing:2px;
}

.position-box h2{
    color:#fff;
    margin:20px 0;
}

.position-box p{
    max-width:900px;
    margin:auto;
    font-size:18px;
    line-height:1.8;
}

.ideology-commitments{
    padding:100px 0;
}

.commitment-card{
    background:#fff;
    text-align:center;
    padding:40px 20px;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.4s;
    height:100%;
}

.commitment-card:hover{
    transform:translateY(-8px);
}

.commitment-card i{
    font-size:45px;
    color:#0d7168;
    margin-bottom:20px;
}

.commitment-card h3{
    font-size:20px;
}

@media(max-width:991px){

    .ideology-hero{
        padding:90px 0;
    }

    .ideology-hero h1{
        font-size:40px;
    }

    .position-box{
        padding:40px 25px;
    }
}

/********************************/
/******** ESTATUTOS *************/
/********************************/

.statutes-hero{
    padding:120px 0;
    text-align:center;
    color:#fff;
    background:
    linear-gradient(
        rgba(9,42,73,.90),
        rgba(13,113,104,.90)
    ),
    url('../img/estatutos-bg.jpg');
    background-size:cover;
    background-position:center;
}

.statutes-badge{
    display:inline-block;
    background:#fad907;
    color:#092a49;
    padding:10px 25px;
    border-radius:50px;
    font-weight:700;
    margin-bottom:25px;
}

.statutes-hero h1{
    color:#fff;
    font-size:58px;
    margin-bottom:20px;
}

.statutes-hero p{
    max-width:900px;
    margin:auto;
    font-size:20px;
}

.statutes-intro{
    padding:90px 0;
}

.statutes-text{
    max-width:950px;
    margin:auto;
    text-align:center;
    font-size:18px;
    line-height:1.9;
}

.statutes-documents{
    padding:100px 0;
    background:#f8f9fa;
}

.document-card{
    background:#fff;
    border-radius:20px;
    padding:30px;
    margin-bottom:25px;
    display:flex;
    align-items:center;
    gap:25px;
    box-shadow:0 10px 35px rgba(0,0,0,.08);
    transition:.4s;
}

.document-card:hover{
    transform:translateY(-6px);
}

.document-icon i{
    font-size:55px;
    color:#d93025;
}

.document-content{
    flex:1;
}

.document-content h3{
    margin-bottom:10px;
    font-size:22px;
}

.document-content p{
    margin:0;
}

.btn-document{
    background:#0d7168;
    color:#fff;
    padding:12px 25px;
    border-radius:50px;
    font-weight:700;
    text-decoration:none;
    transition:.3s;
}

.btn-document:hover{
    background:#092a49;
    color:#fff;
}

.statutes-highlight{
    padding:100px 0;
}

.highlight-box{
    text-align:center;
    background:linear-gradient(
        135deg,
        #092a49,
        #0d7168
    );
    color:#fff;
    padding:70px;
    border-radius:25px;
}

.highlight-box i{
    font-size:60px;
    color:#fad907;
    margin-bottom:25px;
}

.highlight-box h2{
    color:#fff;
    max-width:900px;
    margin:auto;
    line-height:1.6;
}

@media(max-width:991px){

    .statutes-hero{
        padding:90px 0;
    }

    .statutes-hero h1{
        font-size:40px;
    }

    .document-card{
        flex-direction:column;
        text-align:center;
    }

    .highlight-box{
        padding:40px 25px;
    }
}

/********************************/
/******** ESTRUTURA **************/
/********************************/

.structure-hero{
    padding:120px 0;
    text-align:center;
    color:#fff;
    background:
    linear-gradient(
        rgba(9,42,73,.90),
        rgba(13,113,104,.90)
    ),
    url('../img/estrutura-bg.jpg');
    background-size:cover;
    background-position:center;
}

.structure-badge{
    display:inline-block;
    background:#fad907;
    color:#092a49;
    padding:10px 25px;
    border-radius:50px;
    font-weight:700;
    margin-bottom:20px;
}

.structure-hero h1{
    color:#fff;
    font-size:60px;
    margin-bottom:20px;
}

.structure-hero p{
    max-width:850px;
    margin:auto;
    font-size:20px;
}

.structure-section{
    padding:100px 0;
}

.structure-level{
    display:flex;
    justify-content:center;
}

.structure-line{
    width:4px;
    height:60px;
    background:#fad907;
    margin:20px auto;
}

.leader-card{
    background:#fff;
    padding:30px;
    text-align:center;
    border-radius:20px;
    box-shadow:0 10px 35px rgba(0,0,0,.08);
    max-width:350px;
}

.leader-card img{
    width:140px;
    height:140px;
    object-fit:cover;
    border-radius:50%;
    margin-bottom:20px;
}

.president-card{
    border-top:6px solid #fad907;
}

.sg-card{
    border-top:6px solid #0d7168;
}

.leader-card h3{
    margin-bottom:8px;
}

.leader-card span{
    color:#0d7168;
    font-weight:700;
}

.department-card{
    background:#fff;
    text-align:center;
    padding:35px 20px;
    border-radius:20px;
    margin-bottom:30px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.4s;
    height:100%;
}

.department-card:hover{
    transform:translateY(-8px);
}

.department-card i{
    font-size:45px;
    color:#fad907;
    margin-bottom:20px;
}

.department-card h4{
    margin-bottom:10px;
}

.department-card p{
    color:#0d7168;
    font-weight:700;
    margin:0;
}

.provincial-structure{
    padding:100px 0;
    background:#f8f9fa;
}

.provincial-card{
    background:#fff;
    text-align:center;
    padding:25px;
    border-radius:20px;
    margin-bottom:30px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.4s;
}

.provincial-card:hover{
    transform:translateY(-8px);
}

.provincial-card img{
    width:120px;
    height:120px;
    object-fit:cover;
    border-radius:50%;
    margin-bottom:15px;
}

.provincial-card h4{
    font-size:18px;
    margin-bottom:8px;
}

.provincial-card span{
    display:block;
    color:#0d7168;
    font-weight:700;
    margin-bottom:8px;
}

.provincial-card p{
    margin:0;
}

@media(max-width:991px){

    .structure-hero{
        padding:90px 0;
    }

    .structure-hero h1{
        font-size:40px;
    }
}

/********************************/
/******** SECRETARIADO **********/
/********************************/

.secretariat-hero{
    padding:120px 0;
    text-align:center;
    color:#fff;
    background:
    linear-gradient(
        rgba(9,42,73,.90),
        rgba(13,113,104,.90)
    ),
    url('../img/secretariado-bg.jpg');
    background-size:cover;
    background-position:center;
}

.secretariat-badge{
    display:inline-block;
    background:#fad907;
    color:#092a49;
    padding:10px 25px;
    border-radius:50px;
    font-weight:700;
    margin-bottom:20px;
}

.secretariat-hero h1{
    color:#fff;
    font-size:58px;
    margin-bottom:20px;
}

.secretariat-hero p{
    max-width:900px;
    margin:auto;
    font-size:20px;
}

.sg-section{
    padding:100px 0;
}

.sg-card{
    background:#fff;
    border-radius:25px;
    padding:40px;
    display:flex;
    align-items:center;
    gap:40px;
    box-shadow:0 10px 40px rgba(0,0,0,.08);
}

.sg-photo img{
    width:220px;
    height:220px;
    border-radius:50%;
    object-fit:cover;
}

.sg-content h3{
    font-size:34px;
    margin-bottom:10px;
}

.sg-content span{
    display:block;
    color:#0d7168;
    font-weight:700;
    margin-bottom:20px;
}

.national-secretaries{
    padding:100px 0;
    background:#f8f9fa;
}

.secretary-card{
    background:#fff;
    border-radius:20px;
    padding:35px 25px;
    text-align:center;
    margin-bottom:30px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.4s;
    height:100%;
}

.secretary-card:hover{
    transform:translateY(-8px);
}

.secretary-card i{
    font-size:48px;
    color:#fad907;
    margin-bottom:20px;
}

.secretary-card h3{
    font-size:22px;
    margin-bottom:10px;
}

.secretary-card span{
    display:block;
    color:#0d7168;
    font-weight:700;
    min-height:50px;
    margin-bottom:15px;
}

.secretary-card p{
    margin:0;
    font-weight:700;
    color:#092a49;
}

@media(max-width:991px){

    .secretariat-hero{
        padding:90px 0;
    }

    .secretariat-hero h1{
        font-size:40px;
    }

    .sg-card{
        flex-direction:column;
        text-align:center;
    }

    .sg-photo img{
        width:180px;
        height:180px;
    }
}

/**********************************/
/* ORGANIZAÇÕES SOCIAIS */
/**********************************/

.social-orgs-hero{
    padding:100px 0;
    text-align:center;
    background:linear-gradient(
        135deg,
        rgba(9,42,73,.95),
        rgba(13,113,104,.92)
    );
    color:#fff;
}

.social-orgs-hero h1{
    font-size:52px;
    margin:20px 0;
    color:#fff;
}

.social-orgs-hero p{
    max-width:850px;
    margin:auto;
    font-size:18px;
}

.section-badge{
    display:inline-block;
    background:#fad907;
    color:#092a49;
    padding:10px 24px;
    border-radius:50px;
    font-weight:700;
}

.social-orgs-section{
    padding:90px 0;
    background:#f8f9fa;
}

.social-card{
    background:#fff;
    border-radius:25px;
    padding:40px 30px;
    text-align:center;
    box-shadow:0 10px 35px rgba(0,0,0,.08);
    transition:.4s;
    margin-bottom:30px;
    height:100%;
}

.social-card:hover{
    transform:translateY(-10px);
}

.social-icon{
    width:90px;
    height:90px;
    margin:0 auto 20px;
    border-radius:50%;
    background:rgba(250,217,7,.15);
    display:flex;
    align-items:center;
    justify-content:center;
}

.social-icon i{
    font-size:38px;
    color:#fad907;
}

.social-sigla{
    display:inline-block;
    background:#092a49;
    color:#fff;
    padding:6px 18px;
    border-radius:50px;
    margin-bottom:15px;
    font-weight:700;
}

.social-card h2{
    font-size:24px;
    margin-bottom:25px;
}

.social-leader img{
    width:160px;
    height:160px;
    object-fit:cover;
    border-radius:50%;
    border:6px solid #fad907;
    margin-bottom:20px;
}

.social-card h3{
    font-size:24px;
    margin-bottom:8px;
}

.social-card h4{
    font-size:17px;
    color:#0d7168;
    margin-bottom:20px;
}

.social-contact{
    background:#f8f9fa;
    padding:15px;
    border-radius:12px;
    font-weight:700;
    color:#092a49;
}

.social-contact i{
    color:#fad907;
    margin-right:10px;
}

@media(max-width:991px){

    .social-orgs-hero h1{
        font-size:38px;
    }

}

/**********************************/
/* DEPUTADOS */
/**********************************/

.deputados-hero{
    padding:100px 0;
    text-align:center;
    color:#fff;
    background:linear-gradient(
        135deg,
        rgba(9,42,73,.95),
        rgba(13,113,104,.92)
    );
}

.deputados-hero h1{
    color:#fff;
    font-size:54px;
    margin:20px 0;
}

.deputados-hero p{
    max-width:850px;
    margin:auto;
    font-size:18px;
}

.deputados-stats{
    padding:70px 0;
    background:#f8f9fa;
}

.stat-card{
    background:#fff;
    text-align:center;
    padding:35px;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.stat-card h2{
    color:#0d7168;
    font-size:42px;
    margin-bottom:10px;
}

.stat-card span{
    font-weight:600;
}

.deputados-lista{
    padding:90px 0;
}

.search-box{
    max-width:600px;
    margin:0 auto 50px;
}

.search-box input{
    width:100%;
    height:60px;
    border:none;
    border-radius:50px;
    background:#f8f9fa;
    padding:0 25px;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
}

.deputados-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
    gap:25px;
}

.deputado-item{
    background:#fff;
    border-radius:18px;
    padding:20px;
    display:flex;
    align-items:center;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
    transition:.3s;
}

.deputado-item:hover{
    transform:translateY(-5px);
}

.deputado-item span{
    width:55px;
    height:55px;
    background:#fad907;
    color:#092a49;
    font-weight:700;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-right:15px;
    font-size:22px;
}

.deputado-item h3{
    margin:0;
    font-size:18px;
}

@media(max-width:991px){

    .deputados-hero h1{
        font-size:38px;
    }

}

/**********************************/
/* ACÇÕES DOS DEPUTADOS */
/**********************************/

.actions-hero{
    padding:100px 0;
    text-align:center;
    color:#fff;
    background:linear-gradient(
        135deg,
        rgba(9,42,73,.95),
        rgba(13,113,104,.92)
    );
}

.actions-hero h1{
    color:#fff;
    font-size:55px;
    margin:20px 0;
}

.actions-hero p{
    max-width:850px;
    margin:auto;
    font-size:18px;
}

.actions-featured{
    padding:90px 0;
    background:#fff;
}

.featured-action{
    background:#f8f9fa;
    border-radius:25px;
    overflow:hidden;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.featured-action img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.featured-action .col-lg-6:last-child{
    padding:50px;
}

.action-category{
    display:inline-block;
    background:#fad907;
    color:#092a49;
    padding:8px 18px;
    border-radius:50px;
    font-weight:700;
    margin-bottom:20px;
}

.featured-action h2{
    margin-bottom:20px;
    font-size:34px;
}

.btn-action{
    display:inline-block;
    margin-top:20px;
    padding:14px 30px;
    border-radius:50px;
    background:#0d7168;
    color:#fff;
    font-weight:600;
}

.btn-action:hover{
    color:#fff;
    text-decoration:none;
}

.actions-section{
    padding:90px 0;
    background:#f8f9fa;
}

.action-card{
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    margin-bottom:30px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.4s;
    height:100%;
}

.action-card:hover{
    transform:translateY(-8px);
}

.action-card img{
    width:100%;
    height:250px;
    object-fit:cover;
}

.action-content{
    padding:25px;
}

.action-content span{
    color:#0d7168;
    font-weight:700;
    text-transform:uppercase;
    font-size:13px;
}

.action-content h3{
    font-size:22px;
    margin:15px 0;
    line-height:1.5;
}

.action-content p{
    margin-bottom:20px;
}

.action-content a{
    color:#092a49;
    font-weight:700;
}

.action-content a:hover{
    color:#0d7168;
    text-decoration:none;
}

@media(max-width:991px){

    .actions-hero h1{
        font-size:38px;
    }

    .featured-action .col-lg-6:last-child{
        padding:30px;
    }

}

/**********************************/
/* COMUNICADOS */
/**********************************/

.comunicados-hero{
    padding:100px 0;
    text-align:center;
    color:#fff;
    background:linear-gradient(
        135deg,
        rgba(9,42,73,.95),
        rgba(13,113,104,.92)
    );
}

.comunicados-hero h1{
    color:#fff;
    font-size:56px;
    margin:20px 0;
}

.comunicados-hero p{
    max-width:850px;
    margin:auto;
    font-size:18px;
}

.comunicado-destaque{
    padding:80px 0;
    background:#fff;
}

.featured-comunicado{
    background:#f8f9fa;
    border-radius:25px;
    padding:60px;
    text-align:center;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.featured-date{
    display:inline-block;
    background:#fad907;
    color:#092a49;
    padding:8px 18px;
    border-radius:50px;
    font-weight:700;
    margin-bottom:25px;
}

.featured-comunicado h2{
    font-size:38px;
    margin-bottom:25px;
}

.featured-comunicado p{
    max-width:850px;
    margin:auto;
    font-size:18px;
}

.featured-buttons{
    margin-top:35px;
}

.btn-comunicado,
.btn-comunicado-outline{
    display:inline-block;
    padding:14px 28px;
    border-radius:50px;
    margin:8px;
    font-weight:600;
}

.btn-comunicado{
    background:#0d7168;
    color:#fff;
}

.btn-comunicado:hover{
    color:#fff;
    text-decoration:none;
}

.btn-comunicado-outline{
    border:2px solid #0d7168;
    color:#0d7168;
}

.btn-comunicado-outline:hover{
    background:#0d7168;
    color:#fff;
    text-decoration:none;
}

.comunicados-lista{
    padding:90px 0;
    background:#f8f9fa;
}

.comunicados-table{
    margin-top:50px;
}

.comunicado-item{
    display:flex;
    align-items:center;
    background:#fff;
    padding:25px;
    border-radius:18px;
    margin-bottom:20px;
    box-shadow:0 10px 25px rgba(0,0,0,.06);
}

.comunicado-icon{
    width:70px;
    height:70px;
    border-radius:50%;
    background:rgba(250,217,7,.15);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-right:25px;
}

.comunicado-icon i{
    font-size:30px;
    color:#fad907;
}

.comunicado-info{
    flex:1;
}

.comunicado-info h3{
    font-size:21px;
    margin-bottom:8px;
}

.comunicado-info span{
    color:#0d7168;
    font-weight:600;
}

.download-btn{
    background:#092a49;
    color:#fff;
    padding:12px 22px;
    border-radius:50px;
    font-weight:600;
}

.download-btn:hover{
    background:#0d7168;
    color:#fff;
    text-decoration:none;
}

@media(max-width:768px){

    .comunicado-item{
        flex-direction:column;
        text-align:center;
    }

    .comunicado-icon{
        margin-right:0;
        margin-bottom:20px;
    }

    .download-btn{
        margin-top:20px;
    }

    .featured-comunicado{
        padding:35px 25px;
    }

    .featured-comunicado h2{
        font-size:28px;
    }

    .comunicados-hero h1{
        font-size:38px;
    }

}

/**********************************/
/* NOTÍCIAS */
/**********************************/

.news-page-hero{
    padding:100px 0;
    text-align:center;
    color:#fff;
    background:linear-gradient(
        135deg,
        rgba(9,42,73,.95),
        rgba(13,113,104,.92)
    );
}

.news-page-hero h1{
    color:#fff;
    font-size:58px;
    margin:20px 0;
}

.news-page-hero p{
    max-width:850px;
    margin:auto;
    font-size:18px;
}

.news-featured{
    padding:90px 0;
    background:#fff;
}

.featured-news-large{
    position:relative;
    overflow:hidden;
    border-radius:25px;
    height:600px;
}

.featured-news-large img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.featured-news-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        to top,
        rgba(0,0,0,.85),
        rgba(0,0,0,.15)
    );
}

.featured-news-content{
    position:absolute;
    bottom:40px;
    left:40px;
    right:40px;
    color:#fff;
}

.featured-news-content span{
    display:inline-block;
    background:#fad907;
    color:#092a49;
    padding:8px 18px;
    border-radius:50px;
    font-weight:700;
    margin-bottom:15px;
}

.featured-news-content h2{
    color:#fff;
    margin-bottom:15px;
}

.featured-news-content a{
    display:inline-block;
    margin-top:15px;
    color:#fff;
    font-weight:700;
}

.news-side-card{
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    margin-bottom:25px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.news-side-card img{
    width:100%;
    height:220px;
    object-fit:cover;
}

.news-side-content{
    padding:20px;
}

.news-side-content span{
    color:#0d7168;
    font-weight:700;
}

.news-side-content h3{
    margin-top:12px;
    font-size:22px;
}

.all-news-section{
    padding:90px 0;
    background:#f8f9fa;
}

.news-card-page{
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    margin-bottom:30px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.4s;
    height:100%;
}

.news-card-page:hover{
    transform:translateY(-8px);
}

.news-card-page img{
    width:100%;
    height:260px;
    object-fit:cover;
}

.news-card-body{
    padding:25px;
}

.news-card-body span{
    color:#0d7168;
    font-weight:700;
    text-transform:uppercase;
    font-size:13px;
}

.news-card-body h3{
    margin:15px 0;
    font-size:23px;
    line-height:1.5;
}

.news-card-body a{
    color:#092a49;
    font-weight:700;
}

.news-card-body a:hover{
    color:#0d7168;
    text-decoration:none;
}

@media(max-width:991px){

    .news-page-hero h1{
        font-size:40px;
    }

    .featured-news-large{
        height:450px;
        margin-bottom:30px;
    }

    .featured-news-content{
        left:25px;
        right:25px;
        bottom:25px;
    }

}

/********************************/
/******** AGENDA POLÍTICA *******/
/********************************/

.agenda-hero{
    padding:120px 0;
    text-align:center;
    color:#fff;
    background:
    linear-gradient(
    rgba(9,42,73,.85),
    rgba(13,113,104,.85)
    ),
    url('../img/banner-politico.jpg');
    background-size:cover;
    background-position:center;
}

.agenda-badge{
    display:inline-block;
    background:#fad907;
    color:#092a49;
    padding:8px 20px;
    border-radius:40px;
    font-weight:700;
    margin-bottom:20px;
}

.agenda-hero h1{
    color:#fff;
    font-size:58px;
    margin-bottom:20px;
}

.agenda-hero p{
    max-width:850px;
    margin:auto;
    font-size:20px;
}

.agenda-section{
    padding:90px 0;
}

.agenda-list{
    max-width:1000px;
    margin:auto;
}

.agenda-item{
    display:flex;
    gap:30px;
    background:#fff;
    border-radius:20px;
    padding:30px;
    margin-bottom:25px;
    box-shadow:0 10px 35px rgba(0,0,0,.08);
}

.agenda-date{
    width:90px;
    min-width:90px;
    height:90px;
    background:#fad907;
    color:#092a49;
    border-radius:15px;
    text-align:center;
    font-weight:700;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.agenda-date span{
    font-size:32px;
    line-height:1;
}

.agenda-content h3{
    margin-bottom:15px;
}

.agenda-content span{
    color:#0d7168;
    font-weight:600;
}

.agenda-calendar{
    padding:90px 0;
    background:#f8f9fa;
}

.calendar-card{
    background:#fff;
    border-radius:20px;
    padding:40px 30px;
    text-align:center;
    height:100%;
    box-shadow:0 10px 35px rgba(0,0,0,.08);
    transition:.4s;
}

.calendar-card:hover{
    transform:translateY(-8px);
}

.calendar-card i{
    font-size:50px;
    color:#fad907;
    margin-bottom:20px;
}

.agenda-cta{
    padding:90px 0;
}

.agenda-cta-box{
    background:linear-gradient(
    135deg,
    #092a49,
    #0d7168
    );
    border-radius:25px;
    text-align:center;
    color:#fff;
    padding:70px 40px;
}

.agenda-cta-box h2{
    color:#fff;
    margin-bottom:20px;
}

.btn-agenda{
    display:inline-block;
    margin-top:20px;
    background:#fad907;
    color:#092a49;
    padding:14px 35px;
    border-radius:50px;
    font-weight:700;
}

.btn-agenda:hover{
    text-decoration:none;
    color:#092a49;
}

@media(max-width:768px){

    .agenda-hero h1{
        font-size:38px;
    }

    .agenda-item{
        flex-direction:column;
    }

    .agenda-date{
        width:100%;
        height:auto;
        padding:15px;
    }
}

/********************************/
/******** GALERIA ***************/
/********************************/

.gallery-hero{
    padding:120px 0;
    text-align:center;
    color:#fff;
    background:
    linear-gradient(
    rgba(9,42,73,.88),
    rgba(13,113,104,.88)
    ),
    url('../img/banner-politico.jpg');
    background-size:cover;
    background-position:center;
}

.gallery-badge{
    display:inline-block;
    background:#fad907;
    color:#092a49;
    padding:8px 20px;
    border-radius:50px;
    font-weight:700;
    margin-bottom:20px;
}

.gallery-hero h1{
    color:#fff;
    font-size:58px;
    margin-bottom:20px;
}

.gallery-hero p{
    max-width:850px;
    margin:auto;
    font-size:20px;
}

.gallery-filter{
    padding:50px 0 20px;
}

.filter-buttons{
    text-align:center;
}

.filter-buttons button{
    border:none;
    background:#f5f5f5;
    padding:12px 25px;
    margin:5px;
    border-radius:40px;
    font-weight:600;
    transition:.3s;
}

.filter-buttons button.active,
.filter-buttons button:hover{
    background:#fad907;
    color:#092a49;
}

.gallery-section{
    padding:40px 20px 100px;
}

.gallery-card{
    position:relative;
    overflow:hidden;
    border-radius:20px;
    margin-bottom:30px;
    box-shadow:0 10px 35px rgba(0,0,0,.10);
}

.gallery-card img{
    width:100%;
    height:320px;
    object-fit:cover;
    transition:.5s;
}

.gallery-card:hover img{
    transform:scale(1.08);
}

.gallery-overlay{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    padding:25px;
    background:linear-gradient(
    transparent,
    rgba(0,0,0,.85)
    );
}

.gallery-overlay h3{
    color:#fff;
    margin:0;
    font-size:20px;
}

.gallery-cta{
    padding:90px 0;
}

.gallery-cta-box{
    background:linear-gradient(
    135deg,
    #092a49,
    #0d7168
    );
    padding:70px 40px;
    border-radius:25px;
    text-align:center;
}

.gallery-cta-box h2{
    color:#fff;
    margin-bottom:20px;
}

.gallery-cta-box p{
    color:rgba(255,255,255,.9);
    max-width:800px;
    margin:auto;
}

@media(max-width:768px){

    .gallery-hero{
        padding:90px 20px;
    }

    .gallery-hero h1{
        font-size:38px;
    }

    .gallery-card img{
        height:250px;
    }
}

/********************************/
/***** PROGRAMA POLÍTICO ********/
/********************************/

.program-hero{
    padding:120px 0;
    text-align:center;
    color:#fff;
    background:
    linear-gradient(
    rgba(9,42,73,.88),
    rgba(13,113,104,.88)
    ),
    url('../img/banner-politico.jpg');
    background-size:cover;
    background-position:center;
}

.program-badge{
    display:inline-block;
    background:#fad907;
    color:#092a49;
    padding:8px 20px;
    border-radius:50px;
    font-weight:700;
    margin-bottom:20px;
}

.program-hero h1{
    color:#fff;
    font-size:60px;
    margin-bottom:20px;
}

.program-hero p{
    max-width:900px;
    margin:auto;
    font-size:20px;
}

.program-intro{
    padding:90px 0;
}

.program-text{
    max-width:1000px;
    margin:auto;
    text-align:center;
    font-size:18px;
    line-height:1.9;
}

.program-pillars{
    padding:90px 0;
    background:#f8f9fa;
}

.pillar-card{
    background:#fff;
    padding:40px 30px;
    border-radius:20px;
    text-align:center;
    margin-bottom:30px;
    height:100%;
    box-shadow:0 10px 35px rgba(0,0,0,.08);
    transition:.4s;
}

.pillar-card:hover{
    transform:translateY(-8px);
}

.pillar-card i{
    font-size:50px;
    color:#fad907;
    margin-bottom:20px;
}

.pillar-card h3{
    margin-bottom:15px;
}

.program-areas{
    padding:90px 0;
}

.area-item{
    background:#fff;
    padding:30px;
    border-left:5px solid #fad907;
    margin-bottom:25px;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
    border-radius:10px;
}

.area-item h3{
    color:#092a49;
    margin-bottom:15px;
}

.program-download{
    padding:90px 0;
    background:#f8f9fa;
}

.download-box{
    max-width:900px;
    margin:auto;
    text-align:center;
    padding:60px 40px;
    background:linear-gradient(
    135deg,
    #092a49,
    #0d7168
    );
    border-radius:25px;
}

.download-box i{
    font-size:70px;
    color:#fad907;
    margin-bottom:25px;
}

.download-box h2{
    color:#fff;
    margin-bottom:20px;
}

.download-box p{
    color:rgba(255,255,255,.9);
    margin-bottom:30px;
}

.btn-program-download{
    display:inline-block;
    background:#fad907;
    color:#092a49;
    padding:15px 35px;
    border-radius:50px;
    font-weight:700;
}

.btn-program-download:hover{
    text-decoration:none;
    color:#092a49;
}

@media(max-width:768px){

    .program-hero{
        padding:90px 20px;
    }

    .program-hero h1{
        font-size:38px;
    }

    .download-box{
        padding:40px 25px;
    }
}

/********************************/
/****** MANIFESTO POLÍTICO ******/
/********************************/

.manifesto-hero{
    padding:130px 0;
    text-align:center;
    color:#fff;
    background:
    linear-gradient(
    rgba(9,42,73,.88),
    rgba(13,113,104,.88)
    ),
    url('../img/banner-politico.jpg');
    background-size:cover;
    background-position:center;
}

.manifesto-badge{
    display:inline-block;
    background:#fad907;
    color:#092a49;
    padding:8px 22px;
    border-radius:50px;
    font-weight:700;
    margin-bottom:20px;
}

.manifesto-hero h1{
    color:#fff;
    font-size:60px;
    margin-bottom:20px;
}

.manifesto-hero p{
    max-width:850px;
    margin:auto;
    font-size:20px;
}

.manifesto-intro{
    padding:100px 0;
}

.manifesto-intro-box{
    max-width:1000px;
    margin:auto;
    text-align:center;
}

.manifesto-intro-box h2{
    margin-bottom:25px;
}

.manifesto-intro-box p{
    font-size:18px;
    line-height:1.9;
}

.manifesto-principles{
    padding:90px 0;
    background:#f8f9fa;
}

.principle-card{
    background:#fff;
    padding:40px 25px;
    border-radius:20px;
    text-align:center;
    height:100%;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.4s;
}

.principle-card:hover{
    transform:translateY(-8px);
}

.principle-card i{
    font-size:50px;
    color:#fad907;
    margin-bottom:20px;
}

.manifesto-vision{
    padding:90px 0;
}

.vision-item{
    padding:30px;
    margin-bottom:25px;
    background:#fff;
    border-left:5px solid #fad907;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
    border-radius:12px;
}

.manifesto-declaration{
    padding:100px 0;
    background:#f8f9fa;
}

.declaration-box{
    max-width:900px;
    margin:auto;
    text-align:center;
}

.declaration-box i{
    font-size:55px;
    color:#fad907;
    margin-bottom:25px;
}

.declaration-box h2{
    font-size:38px;
    line-height:1.6;
}

.manifesto-download{
    padding:100px 0;
}

.download-manifesto{
    background:linear-gradient(
    135deg,
    #092a49,
    #0d7168
    );
    border-radius:25px;
    text-align:center;
    padding:70px 40px;
}

.download-manifesto i{
    font-size:70px;
    color:#fad907;
    margin-bottom:25px;
}

.download-manifesto h2{
    color:#fff;
}

.download-manifesto p{
    color:rgba(255,255,255,.9);
    margin:20px 0 30px;
}

.btn-manifesto{
    display:inline-block;
    background:#fad907;
    color:#092a49;
    padding:15px 35px;
    border-radius:50px;
    font-weight:700;
}

.btn-manifesto:hover{
    color:#092a49;
    text-decoration:none;
}

@media(max-width:768px){

    .manifesto-hero{
        padding:90px 20px;
    }

    .manifesto-hero h1{
        font-size:38px;
    }

    .declaration-box h2{
        font-size:28px;
    }
}

.vision-hero{
    padding:120px 0;
    text-align:center;
    background:linear-gradient(
        rgba(9,42,73,.90),
        rgba(13,113,104,.85)
    ),
    url('../img/banner-politico.jpg') center/cover;
    color:#fff;
}

.vision-badge{
    display:inline-block;
    background:#fad907;
    color:#092a49;
    padding:10px 25px;
    border-radius:50px;
    font-weight:700;
    margin-bottom:25px;
}

.vision-hero h1{
    color:#fff;
    font-size:60px;
    margin-bottom:25px;
}

.vision-hero p{
    max-width:850px;
    margin:auto;
    font-size:20px;
}

.vision-intro{
    padding:90px 0;
}

.vision-text{
    max-width:950px;
    margin:auto;
    text-align:center;
    line-height:1.9;
    font-size:18px;
}

.vision-pillars{
    padding:90px 0;
    background:#f8f9fa;
}

.pillar-card{
    background:#fff;
    padding:40px 30px;
    text-align:center;
    border-radius:20px;
    margin-bottom:30px;
    height:100%;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.4s;
}

.pillar-card:hover{
    transform:translateY(-8px);
}

.pillar-card i{
    font-size:50px;
    color:#fad907;
    margin-bottom:20px;
}

.pillar-card h3{
    margin-bottom:15px;
}

.vision-future{
    padding:100px 0;
}

.future-box{
    background:linear-gradient(
        135deg,
        #092a49,
        #0d7168
    );
    color:#fff;
    text-align:center;
    padding:70px 50px;
    border-radius:25px;
}

.future-box span{
    color:#fad907;
    font-weight:700;
}

.future-box h2{
    color:#fff;
    margin:20px 0;
}

.vision-goals{
    padding:90px 0;
}

.goal-item{
    background:#fff;
    padding:25px;
    border-radius:15px;
    margin-bottom:20px;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
    font-weight:600;
}

.goal-item i{
    color:#0d7168;
    margin-right:10px;
}

@media(max-width:768px){

    .vision-hero h1{
        font-size:38px;
    }

    .future-box{
        padding:40px 25px;
    }

}