/*Body da aplicação*/
body {
    background-color: rgb(245, 245, 245);
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
}

/*Navbar*/
.navbar-custom {
    background-color: #00264e;
    padding: 20px;
}

.navbar-custom .navbar-brand,
.navbar-custom .nav-link {
    color: white;
}

.navbar-custom .dropdown-toggle {
    color: white !important;
}

.navbar-custom .nav-link:hover {
    color: rgb(0, 110, 255);
    text-decoration: none;
}


.navbar-custom .dropdown-menu {
    background-color: #ffffff;
}

.navbar-custom .dropdown-item {
    color: rgb(0, 0, 0);
}

.navbar-custom .dropdown-item:hover {
    background-color: #0056b3;
    color: #FFF;
}

.navbar-toggler-visible {
    display: block !important;
    color: white;
    background-color: transparent;
    border: 1px solid white;
    border-radius: 6px;
}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=UTF8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

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

.dropdown-menu {
    display: none;
    position: absolute;
    will-change: transform;
    transform: translate3d(0, 0, 0);
}

/*Carousel*/
.carousel-section {
    margin-top: 20px;
}

.carousel-inner img {
    width: 100%;
    height: 400px;
    /* Altura fixa */
    object-fit: cover;
    /* Garante que a imagem fique ajustada */
}

.carousel-indicators button {
    width: 14px !important;
    height: 14px !important;
    border-radius: 50% !important;
    background-color: #ccc !important;
    border: none !important;
}

.carousel-indicators .active {
    background-color: #007bff !important;
}

.carousel-indicators-cards {
    position: absolute;
    bottom: 5px;
    left: 50%;
    transform: translateX(-50%);
    /* Centraliza os controles horizontalmente */
    display: flex;
    gap: 5px;
    /* Ajusta o espaço entre os indicadores */
}

.carousel-indicators-cards button {
    width: 14px !important;
    height: 14px !important;
    border-radius: 50% !important;
    background-color: rgb(255, 255, 255, 0.4) !important;
    border: none !important;
    transition: background-color 0.3s ease;
    /* Adiciona transição suave */
}

.carousel-indicators-cards .active {
    background-color: #ffffff !important;
    /* Azul dinâmico para o indicador ativo */
}

/* Contêiner das bolinhas (indicadores) */
.esportes .owl-dots {
    text-align: center;
    margin-top: 15px;
    display: flex;
    justify-content: center;
}

/* Estilo das bolinhas */
.esportes .owl-dot {
    width: 12px;
    height: 12px;
    margin: 0 5px;
    /* Ajusta o espaço entre as bolinhas */
    border-radius: 50%;
    background-color: #ccc;
    transition: background-color 0.3s ease;
    border: 2px solid transparent;
}


.carousel-inner img {
    border-radius: 0px;
}

img {
    border-radius: 10px;
}

/*Imagem maior*/
.image-real-container {
    position: relative;
    width: 100%;
}

.image-real-container img {
    display: block;
    width: 100%;
    filter: brightness(0.5);
    transition: filter 0.3s ease;
}

.image-real-container:hover img {
    filter: brightness(0.85);
}

.img1 {
    display: block;
    width: 100%;
    height: auto;
}

.text-overlay {
    position: absolute;
    color: white;
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
    /* Inclui padding dentro do tamanho total */
    overflow: hidden;
    /* Impede que o texto ultrapasse os limites do container */
}

.text-overlay.top-left {
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: start;
}

.text-overlay.bottom {
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 17px;
    text-align: center;
}

/* Estilo base para texto */
.text-overlay.bottom .responsive-text {
    color: white;
}

/*Imagem maior*/
.image-real-container-new {
    position: relative;
    width: 100%;
}

.image-real-container-new img {
    display: block;
    width: 100%;
    filter: brightness(0.5);
    transition: filter 0.3s ease;
}

.image-real-container-new:hover img {
    filter: brightness(0.85);
}

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

.text-overlay-new {
    position: absolute;
    color: white;
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
    overflow: hidden;
}

.text-overlay-new.top-left-new {
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: start;
}

.text-overlay-new-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 20px;
    text-align: center;
    background: rgba(0, 0, 0, 0.5);
    /* Fundo preto semi-transparente */
}

/* Estilo para o texto em dispositivos móveis */
.responsive-text-new {
    color: white;
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
}

/* Media query para telas móveis e iPads */
@media (max-width: 1024px) {
    .image-real-container-new {
        position: relative;
    }

    /* Move o texto para baixo, com o fundo preto semi-transparente apenas em telas menores */
    .text-overlay-new-bottom {
        position: relative;
        /* Sai da imagem e vai para baixo */
        bottom: auto;
        background: rgba(0, 0, 0, 0.7);
        /* Fundo mais visível */
        padding: 20px;
        width: 100%;
    }

    /* Ajuste o tamanho do texto em telas pequenas */
    .responsive-text-new {
        font-size: 16px;
        padding: 10px;
    }
}

/* Media query para telas menores que 767px (celulares) */
@media (max-width: 767px) {
    .text-overlay-new-bottom {
        position: relative;
        bottom: auto;
        background: rgba(0, 0, 0, 0.8);
        padding: 20px;
        width: 100%;
        border-radius: 5px;
    }

    .responsive-text-new {
        font-size: 16px;
        padding: 10px;
    }

    a {
        text-decoration: none;
    }
}

/* Aumentar o tamanho do texto em telas menores */
@media (max-width: 768px) {
    .text-overlay.bottom .responsive-text {
        font-size: 14px;
        line-height: 1.4;
    }
}

/* Estilo para telas de tablet (largura entre 768px e 1116px) */
@media (min-width: 768px) and (max-width: 1116px) {
    .text-overlay.bottom {
        background-color: rgba(0, 0, 0, 0.5);
        /* Preto com 50% de opacidade */
        border-radius: 4px;
        /* Borda arredondada opcional */
        font-size: 16px;
    }

    /* Garantir que os elementos ocupem toda a largura */
    .col-md-8,
    .col-md-4 {
        flex: 0 0 100%;
        /* Largura total */
        max-width: 100%;
        /* Garante a largura total */
    }

    /* Ajustes de margem para evitar grandes espaçamentos verticais */
    .col-md-8.mt-4.mb-4,
    .col-md-4.mb-4.mt-4 {
        margin-top: 20px;
        /* Margem superior ajustada */
        margin-bottom: 20px;
        /* Margem inferior ajustada */
    }

    /* Ajustes nos elementos dentro da imagem real-container */
    .image-real-container {
        margin-bottom: 30px;
        /* Espaçamento entre os containers */
    }

}

/*Imagens menores*/
.image-container {
    position: relative;
    display: inline-block;
}

.image-container img {
    display: block;
    width: 100%;
    filter: brightness(0.5);
    transition: filter 0.3s ease;
}

.image-container:hover img {
    filter: brightness(0.85);
}

.text-overlay {
    position: absolute;
    color: white;
    /* Cor do texto */
    font-weight: bold;
    /* Texto em negrito */
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
}

.text-overlay.top-left {
    top: 10px;
    left: 10px;
    font-size: 16px;
    gap: 15px;
}

.fa-circle-play {
    cursor: pointer;
}

@media (max-width: 767px) {
    .fa-circle-play {
        font-size: 1.5rem;
        /* Reduz o tamanho para telas pequenas */
    }
}



.image-container {
    width: 100%;
    height: 200px;
    overflow: hidden;
}

.image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*Cards*/
.card {
    border: none;
}

.card img {
    border-radius: 10px;
}

.cards-noticias .card-title {
    color: rgb(49, 0, 112);
    text-transform: uppercase;
    font-weight: bold;
    font-size: 60%;
}

.responsive-text {
    font-size: calc(1rem + 0.5vw);
    /* Escala o tamanho do texto com base no tamanho da tela */
    line-height: 1.4;
    /* Define espaçamento entre linhas */
    word-wrap: break-word;
    /* Garante que as palavras sejam quebradas, se necessário */
    white-space: normal;
    /* Permite múltiplas linhas de texto */
    overflow-wrap: break-word;
    /* Quebra palavras longas */
}

@media (max-width: 768px) {
    .responsive-text {
        font-size: 0.575rem;
        /* Diminui a fonte em telas menores */
    }
}

.cards-especial-publicitario .card-categoria {
    color: rgb(32, 0, 148);
    text-transform: uppercase;
}

.cards-especial-publicitario .card-title {
    color: black;
}

.anuncio img {
    border-radius: 0;
}

.numero-mais-lida {
    color: rgb(177, 177, 177);
    font-weight: bold;
}

.noticias-lidas .list-group-item {
    color: #1e00a5;
    font-weight: 600;
}

/* Estilo padrão para a seção */
.redes-sociais {
    background-color: #0b003d;
    color: white;
    padding: 40px;
}

.redes-sociais .btn-outline-light {
    border-radius: 50px;
}

.redes-sociais-botoes {
    justify-content: flex-end;
    /* Alinha à direita (desktop) */
}

/* Centralizar os botões em telas menores */
@media (max-width: 768px) {
    .redes-sociais-botoes {
        justify-content: center;
        /* Centraliza no mobile */
    }
}

/*Videos*/
.videos {
    background-color: #2e2e2e;
}

.videos h6,
small {
    color: white;
    font-weight: bold;
    padding-top: 30px;
}

.videos span {
    text-transform: uppercase;
}

.videos p {
    font-weight: 100;
}

/*Brasil e o mundo*/
.brasil-e-o-mundo {
    background-color: #0e0042;
    color: white;
    padding: 20px;
}

.brasil-e-o-mundo .titulo {
    font-weight: bold;
}

.brasil-e-o-mundo .card-categoria {
    text-transform: uppercase;
    color: rgb(32, 0, 148);
    font-weight: bold;
}

.brasil-e-o-mundo h3 {
    color: white;
}

.brasil-e-o-mundo h5 {
    color: black;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    padding: 20px;
    background-color: black;
    border-radius: 50%;
}

.carousel-control-prev-icon:hover,
.carousel-control-next-icon:hover {
    background-color: #25007c;
    /* Cor ao passar o mouse */
}

/*Nossos grupos*/
.nossos-grupos {
    background-color: #0b003d;
    padding: 20px;
    border-radius: 10px;
    text-align: center;
    margin-bottom: 20px;
}

.nossos-grupos h4 {
    color: white;
}

.nossos-grupos .btn-outline-light {
    border-radius: 50px;
    width: 100%;
    /* Garante largura uniforme para os botões */
    max-width: 200px;
    /* Define um limite de largura */
    margin: 0 auto;
    /* Centraliza o botão dentro do pai */
}

.nossos-grupos .row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 0;
}

/* Estilo padrão: botões em pilha (um em cima do outro) */
.nossos-grupos .row>div {
    display: block;
    margin-bottom: 10px;
}

/* Ajuste para telas Android (largura menor ou igual a 480px) */
@media (max-width: 480px) {
    .nossos-grupos .row {
        display: flex;
        justify-content: space-between;
        gap: 10px;
    }

    .nossos-grupos .row>div {
        flex: 1;
        /* Divide igualmente o espaço disponível */
        margin-bottom: 0;
    }
}

/*Saude e beleza*/
.saude-e-beleza h6 {
    color: rgb(32, 0, 148);
    text-transform: uppercase;
    font-weight: bold;
}

.saude-e-beleza .anuncio img {
    height: 100%;
    /* Ocupa toda a altura disponível */
    width: 100%;
    /* Mantém largura responsiva */
    object-fit: cover;
    /* Ajusta a imagem para preencher sem distorcer */
}

.saude-e-beleza .anuncio {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    /* Ajusta a altura do contêiner ao restante da coluna */
}

.saude-e-beleza .col-md-4 {
    display: flex;
    flex-direction: column;
}

.saude-e-beleza .col-md-8>.row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.saude-e-beleza .col-md-8 .card {
    flex: 1 1 calc(50% - 10px);
    margin-bottom: 20px;
}

/*Esportes*/
.esportes {
    background-color: #0e0042;
    color: white;
    padding: 20px;
}

.esportes .card-categoria {
    color: rgb(32, 0, 148);
    text-transform: uppercase;
    font-weight: bold;
}

.esportes .card-title {
    color: rgb(0, 0, 0);
}

/*Ultimas noticias*/
.ultimas-noticias h2 {
    color: black;
}

.ultimas-noticias .img-ultimas-noticias {
    filter: brightness(0.65);
}

.ultimas-noticias .categoria {
    color: rgb(32, 0, 148);
    text-transform: uppercase;
    font-weight: bold;
}

.ultimas-noticias .data {
    color: rgb(117, 117, 117);
    text-transform: uppercase;
    font-weight: bold;
}

.ultimas-noticias .titulo-noticia {
    color: black;
}

.card-ultimas-noticias {
    background-color: #FFF;
    padding: 20px;
}

@media (max-width: 1024px) {

    .col-md-3,
    .col-md-9 {
        flex: 0 0 100%;
        /* Faz a coluna ocupar 100% da largura */
        max-width: 100%;
        /* Garante que ocupe 100% da largura */
    }
}

/*Footer*/
.footer {
    background-color: rgb(24, 24, 24);
    padding: 20px;
}

.footer p {
    color: #FFF;
}

.footer h4 {
    color: #FFF;
    font-weight: bold;
    text-align: center;
}

.footer a {
    color: gray;
    text-align: center;
    text-decoration: none;
}

.footer a:hover {
    text-decoration: underline;
}

.footer .redes-sociais-footer a {
    color: white;
}

.footer .segunda-linha-footer {
    border-top: 1px solid gray;
}

.footer .segunda-linha-footer p {
    color: rgb(187, 187, 187);
}

/*Offcanvas*/
.offcanvas a:hover {
    background-color: #001f83;
    transition: .2s ease;
}

/*Noticia*/

.texto-noticia .texto-categoria {
    color: rgb(32, 0, 148);
    font-weight: bold;
    text-transform: uppercase;
}

.texto-noticia .titulo {
    color: rgb(0, 0, 0);
}

.texto-noticia .paragrafo {
    color: rgb(116, 116, 116);
}

.noticia-redes-sociais {
    background-color: white;
    border-radius: 20px;
    padding: 20px;
}

.noticia-redes-sociais small {
    color: rgb(175, 175, 175);
}

.noticia h6 {
    font-weight: bold;
}

.noticia small {
    color: rgb(119, 119, 119);
    font-weight: 400;
}

.noticia i {
    cursor: pointer;
    color: black;
}

.noticia .links-uteis-botao {
    text-decoration: none;
    border: 1px solid rgb(0, 0, 107);
    color: rgb(0, 0, 107);
    padding: 5px;
    border-radius: 20px;
    font-weight: bold;
    padding-left: 10px;
    padding-right: 10px;
}

.noticia .card-categoria {
    color: rgb(0, 0, 107);
    font-weight: bold;
    text-transform: uppercase;
}

.noticia .card-title {
    color: black;
}

.capinzal {
    border-bottom: 1px solid rgb(18, 0, 83);
}

.pagination-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    /* Espaçamento entre os itens */
    flex-wrap: wrap;
    /* Permite quebra de linha em telas pequenas */
}

.pagination-item {
    padding: 10px 15px;
    border: 1px solid #ddd;
    text-align: center;
    color: #000000;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.3s, color 0.3s;
}

.pagination-item:hover {
    background-color: #cfcfcf;
    color: #000000;
}

.pagination-item.active {
    background-color: #cfcfcf;
    color: #000000;
    font-weight: bold;
    cursor: default;
}

/*Modal de pesquisa*/

.modal-pesquisa {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.modal-pesquisa.active {
    display: flex;
    animation: bounceInDown 0.6s ease-in-out;
    /* Animação ao aparecer */
}

.modal-pesquisa.closing {
    animation: bounceOutUp 0.6s ease-in-out;
    /* Animação ao fechar */
    display: flex;
    /* Garante que o modal fique visível até a animação terminar */
}

.modal-content {
    padding: 20px;
    border-radius: 8px;
    text-align: center;
    width: 90%;
    max-width: 400px;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
}

/* Botão de Fechar */
.btn-close-modal {
    position: fixed;
    top: 10px;
    right: 10px;
    background: none;
    border: none;
    font-size: 1.5rem;
    font-weight: bold;
    cursor: pointer;
    color: white;
    z-index: 1001;
}

.btn-close-modal:hover {
    color: #ff4444;
}

/* Caixa de pesquisa */
.search-box {
    display: flex;
    align-items: center;
    gap: 10px;
}

.search-box input {
    flex: 1;
    padding: 10px 0;
    font-size: 1rem;
    border: none;
    border-bottom: 2px solid #0066ff;
    outline: none;
    color: #333;
    background: transparent;
}

.search-box input::placeholder {
    color: #999;
}

.search-box button {
    background-color: #0066ff;
    border: none;
    padding: 10px 15px;
    border-radius: 4px;
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.search-box button i {
    font-size: 1rem;
}

/*animacoes*/

@keyframes bounceInDown {
    0% {
        opacity: 0;
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes bounceOutUp {
    0% {
        opacity: 1;
        transform: translateY(0);
    }

    100% {
        opacity: 0;
        transform: translateY(-100%);
    }
}