@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;700&display=swap');

* {
    padding: 0;
    margin: 0;
    list-style: none;
    box-sizing: border-box;
}

body {
    background-color: #aaa;
}

section {
    font-family: 'Noto Sans', sans-serif;
    display: flex;
    justify-content: center;
    align-items: flex-end; /* center */
    /*min-height: 100vh;*/
    width: 100%;
}

/* Começo da Navbar */
.logo img {
    height: auto;
    width: 180px;
    margin: 10px;
    margin-top: 12px;
    margin-left: 35px;
    line-height: 80px;
}

/* Subnav */
.subnav {
    display: flex;
    justify-content: space-between; /* Alinha o conteúdo da .subnav-ad à esquerda e o da .subnav-items à direita */
    align-items: center;
    padding: 27px;
    height: 40px;
    width: 100%;
    background-color: #fcaa3e;
}

/* Alinha o conteúdo à esquerda */
.subnav-ad {
    display: flex;
    gap: 10px; /* Espaçamento entre os itens de anúncio */
}

/* Alinha o conteúdo à direita */
.subnav-items {
    display: flex;
    gap: 3px; /* Espaçamento entre os ícones */
}

.subnav-items a {
    background: #ffff;
    color: #fcaa3e;
    border-radius: 50%;
    width: 35px; /* Largura do círculo */
    height: 35px; /* Altura do círculo */
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    text-decoration: none; /* Remove o sublinhado dos links */
    margin: 0 5px;
    line-height: 35px; /* Centraliza verticalmente o texto/ícone */                
    position: relative; /* Ajuste de posição vertical */
    top: -1px; /* Ajuste conforme necessário */
}

.subnav-ad a {
    color: #ffff;
    text-decoration: none;
}

nav {
    background: #934000;
    height: 130px;
    width: 100%;
    display: flex;
    align-items: center;
    font-family: 'Noto Sans', sans-serif;
    top: 0;
    box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.5);
}

nav ul {
    list-style: none;
    display: flex;
}

nav ul li {
    margin: 0 40px;
}

nav ul li a {
    color: rgb(255, 255, 255);
    font-size: 17px;
    text-decoration: none;
    position: relative;
    top: 5px;
}

nav ul li a::after {
    content: " ";
    position: absolute;
    background-color: rgb(255, 255, 255);
    height: 3px;
    width: 0;
    left: 0;
    bottom: -10px;
    transition: 0.3s;
}

nav ul li a:hover::after {
    width: 100%;
}




/* Drop Down*/

nav ul li.dropdown:hover .dropdown-menu {
    display: block; /* Mostra o dropdown quando o item é hover */
}

.dropdown-menu {
    display: none; /* Esconde o dropdown por padrão */
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #934000;
    padding: 25px 0;
    box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2);
}

.dropdown-menu li {
    width: 210px; /* Largura dos itens do dropdown */
}

.dropdown-menu li a {
    color: white;
    padding: 10px 20px;
    text-decoration: none;
    display: block;
    font-size: 15px;
}

.dropdown-menu li a:hover {
    background-color: #7a3200; /* Cor de fundo quando hover nos itens do dropdown */
}

/* Fim Navbar */


/* Inicio Animação Arrow Navbar */

.rotate-icon {
    transition: transform 0.3s ease;
}

.nav-item.dropdown:hover .rotate-icon,
.nav-item.dropdown.show .rotate-icon {
    transform: rotate(180deg);
}

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



/* Fim Animação Arrow Navbar */


/* Inicio de Slider - Página Inicial */

.container {
	padding: 5rem;
    margin-bottom: 200px; 
}

.slider-wrapper {
	position: relative;
	max-width: 48rem;
	margin: 0 auto;
}

.slider {
	display: flex;
	aspect-ratio: 16 / 9;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	box-shadow: 0 1.5rem 3rem -0.75rem hsla(0, 0%, 0%, 0.25);
	border-radius: 0.5rem;
	-ms-overflow-style: none; /* Hide scrollbar IE and Edge */
	scrollbar-width: none; /* Hide scrollbar Firefox */
}

/* Hide scrollbar for Chrome, Safari and Opera */
.slider::-webkit-scrollbar {
	display: none;
}

.slider img {
	flex: 1 0 100%;
	scroll-snap-align: start;
	object-fit: cover;
}

.slider-nav {
	display: flex;
	justify-content: center;
	gap: 1rem;
	margin-top: 1rem;
}

.slider-nav a {
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background-color: #fff;
	opacity: 0.75;
	transition: opacity ease 250ms;
}

.slider-nav a:hover {
	opacity: 1;
}

.slider-description {
    text-align: left;
    color: #000;
    border-radius: 0.5rem;
    font-size: 1rem;
    line-height: 1.5;
    max-width: 40%; /* Ajuste conforme necessário */
    padding: 1rem;
    align-self: flex-start; /* Alinha a descrição ao topo */
    margin-top: -2rem; /* Ajuste fino para subir */
    margin-left: 1.5rem; /* Move a descrição para a direita */
}

.slider-description .description-item {
    display: none;
    text-align: left; /* Alinha os itens de descrição à esquerda */
    margin-top: 1rem;
}

.slider-description .description-item.active {
    display: block;
}

.slider-description .description-item h4{
    font-size: 20px;
}

/* Fim de Slider - Página Inicial */













/* Inicio Page2 */

.page2 {
    max-width: 1200px;
    margin: 20px auto;
    padding: 20px;
    background-color: #ffffff;
    margin: 50px auto 50px; /* Espaçamento superior, centraliza horizontalmente e adiciona margem inferior */
}

.newsBox {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 35px; /* 20px */
    padding: 20px;
}

.newsCard h3 a {
    text-decoration: none; /* Remove o sublinhado */
    color: #020202;
    font-size: 18px;
}

.buttons_news1 {
    display: flex;
    justify-content: flex-start;
    margin-top: 10px;
    margin-bottom: 10px;
    margin-left: 20px;
}

.title {
    text-align: left;
    margin-bottom: 16px;
    margin-left: 18px;
}



.img img {
    width: 350px;
    height: 250px;
    
}

.content {
    padding: 10px 0;
}

.content h3 {
    font-size: 1.2rem;
    margin-bottom: 10px;
}

.descricao {
    font-size: 0.9rem;
    color: #555;
}

.leia {
    display: inline-block;
    margin-top: 10px;
    color: #ffa837;
    font-weight: bold;
    text-decoration: none;
}

.leia:hover {
    text-decoration: underline;
}

/* Fim Page2 */


/* Noticia Detalhe Inicio */

.noticia_datalhe {
    display: flex;
    flex-direction: column;
    /* align-items: center; */
    background-color: #ffffff; /* Fundo branco */
    padding: 50px; /* Espaçamento interno */
    border-radius: 0; /* Bordas arredondadas para um estilo mais moderno */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra suave para destacar o conteúdo */
    max-width: 800px; /* Limite de largura para se parecer com um blog */
    margin: 50px auto 50px; /* Espaçamento superior, centraliza horizontalmente e remove margem inferior */
}

.noticia_datalhe img {
    width: 700px; /* Largura das imagens */
    height: 500px; /* Altura das imagens */
    object-fit: cover; /* Para garantir que a imagem ocupe todo o espaço sem distorcer */
    margin-bottom: 20px; /* Espaçamento entre a imagem e o próximo elemento */
}

.noticia_datalhe h1 {
    font-size: 2em;
    color: #fcaa3e;
    margin: 10px 0;
    text-align: center; 
}

.noticia_datalhe p {
    font-size: 1.2em;
    text-align: justify; /* Justificar o texto */
    line-height: 1.6;
}

.buttons_edit {
    display: flex;
    justify-content: flex-start;
    margin-top: 10px;
    margin-bottom: 10px;
    gap: 3px; /* Adiciona espaço entre os botões */
    /* margin-left: 20px; */
}



/* Noticia Detalhe Fim */



/* Carrossel Imagem - Home Inicio */

.carousel-caption {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    padding: 10px;
    width: 100%;
    text-align: left; /* Alinha o título à esquerda */
    display: flex;
    flex-direction: column;
    justify-content: flex-end; /* Alinha verticalmente o conteúdo */
}

.carousel-caption h5 {
    margin: 0;
    padding: 5px 10px; /* Espaço interno para melhor visibilidade */
    background-color: rgba(239, 239, 239, 0.39); /* Fundo preto/branco: rgba(239, 239, 239, 0.39); */
    color: rgb(0, 0, 0); /* Texto branco para contraste */
    display: inline-block; /* Fundo ajustado ao tamanho do texto */
    text-align: left; /* Alinhamento do texto à esquerda */
    max-width: 100%; /* Garante que o texto não ultrapasse o contêiner */
    word-wrap: break-word; /* Quebra o texto em palavras maiores */
    line-height: 1.2; /* Espaçamento entre linhas */
    max-width: 250px; /* Define a largura máxima da caixa para controlar a quebra de linha */
}

.carousel-caption a.btn-leia-mais {
    background-color: #ffa837;
    color: #fff;
    padding: 5px 10px;
    text-decoration: none;
    font-weight: bold;
    align-self: flex-start; /* Alinha o botão à esquerda se necessário */
}

.carousel-caption a.btn-leia-mais:hover {
    background-color: #e6912e;
}

.carousel-inner img {
    width: 500px; /* Largura padrão */
    height: 1000px; /* Altura padrão */
    
}

/* Carrossel Imagem - Home Fim */

.buttons {
    position: relative;
    margin: 15px;
    /* left: -275px; -317px */
}

.buttons_news {
    position: relative;
    margin: 15px;
    left: -6px; /* -317px */
}

.img-reduzida {
    max-width: 100%; /* Adapta a imagem ao contêiner */
    height: auto; /* Mantém a proporção da imagem */
    width: 1000px; /* Ajuste o tamanho conforme necessário */
}




/* Estilos para a barra de rolagem */

/* Largura da barra de rolagem */
::-webkit-scrollbar {
    width: 10px;
}
  
/* Cor de fundo da barra de rolagem */
::-webkit-scrollbar-track {
    background: #7a3200;
  }
  
/* Cor do "thumb" (o indicador de posição da barra de rolagem) */
::-webkit-scrollbar-thumb {
    background: #fcaa3e;
    border-radius: 4px; /* Altere este valor para ajustar o arredondamento */
}
  
/* Arredondamento dos cantos do "thumb" */
::-webkit-scrollbar-thumb:hover {
    background: #fcaa3e;
}

/* Fim Estilos para a barra de rolagem */


/* Tela de Login */

.login, .email, .check-email, .nova_senha, .senha_definida {
    min-height: 60vh;
}

.container-login {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #ffffff;
    padding: 32px;
    border-radius: 16px;
    box-shadow: 0 4px 10px 0 #00000020;
    
}

.headline {
    font-size: 30px;
    font-weight: 600;
    color: #333333;
}

.subheadline {
    font-size: 14px;
    font-weight: 400;
    color: #666;
}

.form {
    width: 330px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    margin-top: 16px;
}

/* Estilos para os inputs */
.inputbox {
    position: relative;
    width: 100%;
    margin-bottom: 16px;
}

/* Labels em negrito acima dos inputs */
.label {
    display: block;
    margin-bottom: 8px;
    font-weight: bold;  /* Negrito */
    color: #333333;
}

/* Inputs de email e senha */
.input-email, .input-password {
    width: 100%;
    padding: 8px 8px 8px 32px;
    border: 1px solid #dddddd;
    border-radius: 4px;
    font-size: 14px;
}

/* Ícones dentro dos inputs */
.inputbox ion-icon {
    position: absolute;
    top: 50%;
    left: 8px;
    transform: translateY(-50%);
    color: #999999;
    font-size: 20px;
}

/* Placeholder dentro dos inputs */
.input-email::placeholder, .input-password::placeholder {
    font-size: 12px;
    color: #999999;
}

/* Efeito ao focar nos inputs */
.input-email:focus, .input-password:focus {
    border: 1px solid #7a3200;
}

/* Estilo específico para o ícone de mostrar senha */
.input-password + i {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    color: #999999;
    cursor: pointer;
}

.forgot {
    color: #2676EF;
    margin: 16px 0 16px 0;
    cursor: pointer;
}

.forgot:hover {
    color: #1757B9;
}

.button {
    border: 0px;
    width: 100%;
    border-radius: 4px;
    font-weight: 600;
    background: linear-gradient(135deg, #7a3200, #aa5d26);
    color: #ffffff;
    padding: 8px;
    cursor: pointer;
}

/* Fim Tela de Login */


/* Inicio Tela de Cadastro de Usuário */

  /* .register-form-container {
    background-color: #ffffff;
    padding: 40px;
    border-radius: 16px;
    box-shadow: 0 4px 10px 0 #00000020;
    width: 600px;
  } */

  .register-form-container {
    display: flex;
    flex-direction: column; /* Para organizar os elementos verticalmente */
    align-items: center; /* Centraliza horizontalmente */
    justify-content: center; /* Centraliza verticalmente (caso necessário) */
    background-color: #ffffff;
    padding: 40px;
    border-radius: 16px;
    box-shadow: 0 4px 10px 0 #00000020;
}

  .register-form-container h1 {
    font-size: 32px;
    font-weight: 600;
    color: #333333;
    text-align: center;
    margin-bottom: 20px;
  }
  
  .register-form-container .lead {
    font-size: 14px;
    font-weight: 400;
    color: #666;
    text-align: center;
    margin-bottom: 20px;
  }
  
  .register-form-container hr {
    margin-bottom: 30px;
  }
  
  .form-value {
    display: flex;
    flex-direction: column;
  }
  
  .register-form-container .form-group {
    margin-bottom: 16px;
  }
  
  .register-form-container label {
    font-weight: 600;
    color: #333333;
    margin-bottom: 8px;
  }
  
  .register-form-container .form-control {
    width: 100%;
    padding: 10px;
    border: 1px solid #dddddd;
    border-radius: 4px;
  }
  
  .register-form-container .form-control:focus {
    border: 1px solid #2676EF;
  }
  
  .register-form-container button {
    border: 0px;
    width: 100%;
    background: linear-gradient(135deg, #7a3200, #aa5d26);
    color: #ffffff;
    padding: 12px;
    font-weight: 600;
    border-radius: 4px;
    cursor: pointer;
  }

  .form-group {
    position: relative;
}

.position-relative {
    position: relative;
    width: 100%;
}

.btn-password {
    position: absolute;
    top: 50%;
    right: 10px;  /* Ajuste para ficar dentro do input */
    transform: translateY(-50%);
    color: #999999;
    cursor: pointer;
    font-size: 1.2rem;
}

input.form-control {
    padding-right: 35px; /* Dá espaço para o ícone dentro do input */
}
  

/* Fim da Tela de Cadastro de Usuário */


/* Inicio Tela de Email */

.container-reset-pass {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #ffffff;
    padding: 32px;
    border-radius: 16px;
    box-shadow: 0 4px 10px 0 #00000020;
}

.subheadline {
    font-size: 14px;
    font-weight: 400;
    color: #666;
    margin-bottom: 16px;
}

.form {
    width: 330px; /* Ajuste a largura do contêiner para garantir que o botão e os inputs tenham o mesmo tamanho */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    margin-top: 16px;
}

.label {
    display: block;
    margin-bottom: 8px;
    font-weight: bold;
    color: #333333;
}

.inputbox {
    position: relative;
    width: 100%;
    margin-bottom: 16px;
}

.input-email {
    width: 100%; /* Garantindo que o input tenha 100% da largura do contêiner */
    padding: 8px 8px 8px 32px;
    border: 1px solid #dddddd;
    border-radius: 4px;
    font-size: 14px;
}

.inputbox ion-icon {
    position: absolute;
    top: 50%;
    left: 8px;
    transform: translateY(-50%);
    color: #999999;
    font-size: 20px;
}

.input-email::placeholder {
    font-size: 12px;
    color: #999999;
}

.input-email:focus {
    border: 1px solid #7a3200;
}

.button {
    width: 100%; /* Garantindo que o botão tenha a mesma largura do input */
    border: 0px;
    border-radius: 4px;
    font-weight: 600;
    background: linear-gradient(135deg, #7a3200, #aa5d26);
    color: #ffffff;
    padding: 8px;
    cursor: pointer;
}

/* Fim Tela de Email */



/* Inicio Tela de Confirmar Nova Senha */

.container-reset-confirm {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #ffffff;
    padding: 32px;
    border-radius: 16px;
    box-shadow: 0 4px 10px 0 #00000020;
}

.subheadline {
    font-size: 14px;
    font-weight: 400;
    color: #666;
    margin-bottom: 16px;
}

.form {
    width: 330px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    margin-top: 16px;
}

.label {
    display: block;
    margin-bottom: 8px;
    font-weight: bold;
    color: #333333;
}

.inputbox {
    position: relative;
    width: 100%;
    margin-bottom: 16px;
}

.inputbox ion-icon {
    position: absolute;
    top: 50%;
    left: 8px;
    transform: translateY(-50%);
    color: #999999;
    font-size: 20px;
}

input[type="password"] {
    width: 100%;
    padding: 8px 8px 8px 32px;
    border: 1px solid #dddddd;
    border-radius: 4px;
    font-size: 14px;
}

input[type="password"]::placeholder {
    font-size: 12px;
    color: #999999;
}

input[type="password"]:focus {
    border: 1px solid #7a3200;
}

.button {
    width: 100%;
    border: 0px;
    border-radius: 4px;
    font-weight: 600;
    background: linear-gradient(135deg, #7a3200, #aa5d26);
    color: #ffffff;
    padding: 8px;
    cursor: pointer;
}

/* Fim Tela de Confirmar Nova Senha */

/* Inicio Alerta de Boas Vindas */

.alert {
    position: absolute; /* Para fixar no topo da página */
    top: 220px; /* Ajuste a posição conforme necessário */
    left: 50%;
    transform: translateX(-50%); /* Centraliza horizontalmente */
    z-index: 9999; /* Garante que fique acima dos outros elementos */
    background-color: #008000; /* Cor sólida (verde) */
    color: white; /* Cor do texto */
    padding: 10px 20px;  /* Espaçamento interno */
    border-radius: 5px; /* Bordas arredondadas */
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); /* Sombra para destacar */
    font-size: 16px; /* Tamanho da fonte */
}

.mensagem li {
    list-style: none; /* Remove o estilo de lista */
}

/* Fim Alerta de Boas Vindas */



/* Inicio Acesso Rápido */

.conteudo {
    text-align: center;
}

.wrapper-imagens {
    display: flex;
    justify-content: center;
    gap: 30px; /* Espaçamento entre as imagens */
    margin-top: 20px;
}

.wrapper-imagem img {
    width: 300px;
    height: auto;
    transition: transform 0.2s ease-in-out;
    border-radius: 5px;
    margin-bottom: 28px; /* Espaço abaixo das imagens */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Sombra sobre as imagens */
}

.wrapper-imagem img:hover {
    transform: scale(1.03); /* Efeito de zoom ao passar o mouse */
}

.titulo {
    font-size: 24px;
    font-weight: bold;
}

.detalhe {
    margin-bottom: 20px;
}

/* Fim Acesso Rápido */



/* Inicio O Padroeiro */

.page-padroeiro {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #ffffff; /* Fundo branco */
    padding: 60px; /* Espaçamento interno */
    border-radius: 0; /* Bordas retas */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra suave */
    max-width: 1100px; /* Largura máxima */
    margin: 50px auto; /* Centraliza horizontalmente */
}

.title-padroeiro {
    margin-left: 9px; /* Ajuste do título à esquerda */
}

.descricao-padroeiro {
    margin-top: 20px; /* Espaçamento acima da descrição */
    text-align: center; /* Centraliza o texto */
}

img .img-padroeiro {
    width: 200px; /* Largura da imagem */
    height: 600px; /* Altura da imagem */
    object-fit: cover; /* Ajusta a imagem para cobrir o espaço */
    margin-top: 20px; /* Espaçamento acima da imagem */
    border-radius: 8px; /* Bordas levemente arredondadas */
}

/* Fim O Padroeiro */


/* Inicio Horarios */

.page-horarios {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #ffffff; /* Fundo branco */
    padding: 60px; /* Espaçamento interno */
    border-radius: 0; /* Bordas retas */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra suave */
    max-width: 1100px; /* Largura máxima */
    margin: 50px auto; /* Centraliza horizontalmente */
}

.title-horarios {
    margin-left: 9px; /* Ajuste do título à esquerda */
    margin-bottom: 30px;
}

.titulo-horarios {
    text-align: left;  /* Alinha o título do dia da semana à esquerda */
    margin-bottom: 10px;
    font-size: 1.5em;  /* Ajusta o tamanho da fonte, se necessário */
}

.horarios_missas {
    display: flex;
    flex-direction: column;
    align-items: flex-start;  /* Alinha o aviso à esquerda */
    margin-bottom: 50px;
}

.horarios_missas .horario {
    font-size: 1.2em;
    margin-right: 15px;
}

.horarios_missas .aviso {
    margin-top: 5px;
    font-weight: bold;
    color: #333;
}

.horarios_missas .endereco {
    margin-top: 5px;
}

.horarios_missas .btn {
    margin-right: 10px; /* Espaçamento entre os botões */
    margin-bottom: 10px; /* Espaçamento abaixo dos botões */
}

.horario-info {
    text-align: left;
    margin-left: 0;
    padding-left: 0;
}




/* Fim Horarios */


/* Inicio Relatorios Financeiro */

.page-relatorio {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #ffffff; /* Fundo branco */
    padding: 60px; /* Espaçamento interno */
    border-radius: 0; /* Bordas retas */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra suave */
    max-width: 1100px; /* Largura máxima */
    margin: 50px auto; /* Centraliza horizontalmente */
}

.title-relatorio {
    margin-left: 9px; /* Ajuste do título à esquerda */
    margin-bottom: 30px;
}

.relatorios_financeiros {
    display: flex;
    /* flex-direction: column;  Organiza os elementos em uma coluna */
    align-items: flex-start; /* Alinha todos os itens à esquerda */
    margin-bottom: 15px; /* Espaçamento inferior entre os relatórios */
}

.relatorios_financeiros .arquivo_pdf {
    text-align: left; /* Alinha o texto do link à esquerda */
    margin-bottom: 5px; /* Adiciona um pequeno espaço abaixo do link */
    margin-right: 10px;
    color: #333;
    transition: color 0.2s ease, transform 0.2s ease; /* Suaviza a transição ao clicar */
}

.relatorios_financeiros .arquivo_pdf:hover {
    color: #0084ff; /* Cor ligeiramente mais clara ao passar o mouse */
    text-decoration: none; /* Adiciona sublinhado ao passar o mouse */
}

.relatorios_financeiros a {
    text-decoration: none; /* Remove o sublinhado */
}

.relatorios_financeiros .btn {
    margin-right: 10px; /* Espaçamento entre os botões */
    margin-bottom: 10px; /* Espaçamento abaixo dos botões */
}

/* Fim Relatorios Financeiro */


/* Wrapper do select */
.select-wrapper {
    position: relative;
    width: 100%;
}

.select-wrapper select {
    -webkit-appearance: none; /* Remove seta padrão no Safari/Chrome */
    -moz-appearance: none; /* Remove seta padrão no Firefox */
    appearance: none; /* Remove seta padrão no geral */
    width: 100%;
    padding-right: 35px; /* Espaço para o ícone */
    border: 1px solid #ccc;
    border-radius: 4px;
    height: 38px;
    background-color: white;
    font-size: 1rem;
}

/* Adiciona o ícone fa-angle-down */
.select-wrapper::after {
    content: '\f107'; /* Código Unicode do ícone fa-angle-down */
    font-family: 'FontAwesome';
    font-size: 15px;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    pointer-events: none; /* Para evitar que o ícone seja clicável */
    color: #555; /* Cor do ícone */
}

/* Estilo de foco para o campo select */
.select-wrapper select:focus {
    border-color: #007bff;
    outline: none;
}




.btn-abrir-menu i {
    color: #fff;
    font-size: 40px;
}


.menu-mobile {
    background-color: #000000;
    height: 130vh;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 99999;
    width: 0%;
    overflow: hidden;
    transition: .5s;
}

.menu-mobile.abrir-menu {
    width: 100%;
}

.menu-mobile .btn-fechar {
    padding: 20px 5%;
}

.menu-mobile .btn-fechar i {
    color: #fff;
    font-size: 30px;
}

.menu-mobile ul {
    text-align: center;
    padding-left: 0;
}

.menu-mobile ul .nav-item a {
    color: #fff;
    font-size: 20px;
    font-weight: 300;
    padding: 21px 2%;
    text-decoration: 0;
    display: block;
}

.menu-mobile ul li a:hover {
    background-color: #aa5d26;
}

.overlay-menu {
    background-color: #000000b7;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 88888;
    display: none;
    overflow: hidden; /* Garante que nada extrapole a tela */
}





/* Esconde o submenu por padrão */
.menu-mobile .dropdown-menu1 {
    display: none; /* Esconde o dropdown inicialmente */
    list-style: none;
    padding: 0;
    margin: 0;
    background-color: #111; /* Fundo do dropdown */
    position: relative; /* Posição relativa ao item pai */
    width: 100%; /* Ocupa toda a largura do menu */
    text-align: center; /* Centraliza horizontalmente */
}

/* Itens do submenu */
.menu-mobile .dropdown-menu1 li {
    display: flex; /* Permite centralizar com flexbox */
    justify-content: center !important; /* Centraliza horizontalmente */
    align-items: center; /* Centraliza verticalmente */
    height: 50px; /* Define altura para centralização visual */
    margin: 0; /* Remove espaçamento entre os itens */
}

/* Estilo do texto */
.menu-mobile .dropdown-menu1 li a {
    color: #fff; /* Cor do texto */
    font-size: 18px;
    padding: 10px; /* Espaçamento interno */
    display: inline-block; /* Mantém o link como bloco */
    width: 100%; /* Garante que o link ocupe o espaço disponível */
    text-align: center !important; /* Centraliza o texto dentro do link */
    text-decoration: none; /* Remove sublinhado */
}

/* Efeito hover nos links */
.menu-mobile .dropdown-menu1 li a:hover {
    background-color: #aa5d26; /* Cor ao passar o mouse */
}

/* Mostra o dropdown quando o item pai tem a classe "ativo" */
.menu-mobile .nav-item.dropdown.ativo .dropdown-menu1 {
    display: block; /* Exibe o dropdown */
    animation: fadeIn 0.3s ease-in-out; /* Animação de entrada */
}

/* Animação opcional para suavidade */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}




/* Ocultar o botão no desktop */
@media screen and (min-width: 1517px) {
    .menu-mobile {
        display: none; /* Oculta o menu mobile no desktop */
    }
    .menu-desktop {
        display: block; /* Mostra o menu desktop */
    }
    .btn-abrir-menu {
        display: none; /* Oculta o botão no desktop */
    }
}

/* Mostrar o botão apenas no menu mobile */
@media screen and (max-width: 1630px) {
    .logo img {
        width: 140px; /* Reduz a largura da logo para o mobile */
        margin-left: 20px; /* Ajusta a margem esquerda */
    }

    .subnav {
        display: flex;
        gap: 10px; /* Espaçamento entre seções */
        align-items: center; /* Centraliza os itens no mobile */
        padding: 10px; /* Espaçamento interno */
    }

    /* Radio e Liturgia */
    .subnav-ad {
        justify-content: center; /* Centraliza os itens no mobile */
        gap: 14px; /* Reduz o espaçamento para telas menores */
        font-size: 10px;
    }

    /* Icones da Radio e Liturgia */
    .subnav-items a {
        width: 30px; /* Ajusta o tamanho dos ícones para telas menores */
        height: 30px;
        line-height: 30px;
        font-size: 0.9rem; /* Reduz o tamanho da fonte */
        margin: 0 3px; /* Ajusta a margem */
    }


    /* conteudo dp, cnbb, santa-se */
    .wrapper-imagens {
        flex-direction: column; /* Alinha as imagens verticalmente */
        gap: 10px; /* Reduz o espaço entre as imagens */
    }

    .wrapper-imagem img {
        width: 100%; /* Imagens ocupando toda a largura disponível */
        max-width: 300px; /* Limita a largura máxima */
    }

    .titulo {
        font-size: 20px; /* Diminui o tamanho do título */
    }

    .detalhe {
        margin-bottom: 15px; /* Diminui a margem inferior */
    }





    .menu-desktop {
        display: none; /* Oculta o menu desktop */
    }
    .menu-mobile {
        visibility: visible;
        display: block; /* Exibe o menu mobile */
    }
    .btn-abrir-menu {
    position: absolute;
    top: 76px;
    right: 20px;
    cursor: pointer;
    z-index: 1000;
}



    .container {
    padding: 2rem; /* Reduz o padding para telas menores */
    display: flex;
    flex-direction: column; /* Organiza os elementos em coluna */
    align-items: flex-start; /* Alinha os itens à esquerda */
    }

    .slider-wrapper {
        max-width: 100%; /* Ocupa a largura total da tela */
        margin: 0;
    }

    .slider {
        aspect-ratio: 16 / 9; /* Mantém a proporção do slider */
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        box-shadow: 0 1rem 2rem -0.5rem hsla(0, 0%, 0%, 0.25); /* Reduz a sombra para um visual mais leve */
        border-radius: 0.5rem;
        -ms-overflow-style: none; /* Hide scrollbar IE and Edge */
        scrollbar-width: none; /* Hide scrollbar Firefox */
        width: 100%; /* Ocupa a largura total do container */
    }

    /* Hide scrollbar for Chrome, Safari and Opera */
    .slider::-webkit-scrollbar {
        display: none;
    }

    .slider img {
        flex: 1 0 100%;
        scroll-snap-align: start;
        object-fit: cover;
    }

    .slider-nav {
        display: flex;
        justify-content: center; /* Alinha os pontos de navegação à esquerda */
        gap: 0.75rem; /* Reduz o espaçamento entre os pontos de navegação */
        margin-top: 0.75rem; /* Reduz a margem superior */
    }

    .slider-nav a {
        width: 0.5rem;
        height: 0.5rem;
        border-radius: 50%;
        background-color: #fff;
        opacity: 0.75;
        transition: opacity ease 250ms;
    }

    .slider-nav a:hover {
        opacity: 1;
    }

    .slider-description {
        text-align: left; /* Alinha o texto à esquerda */
        color: #000;
        padding: 1rem 0; /* Remove o padding lateral */
        border-radius: 0.5rem;
        font-size: 0.875rem; /* Reduz o tamanho da fonte para telas menores */
        line-height: 1.4;
        max-width: 100%; /* Ocupa a largura total da tela */
        margin: 0; /* Remove qualquer margem */
        transform: none; /* Remove o deslocamento vertical */
    }

    .slider-description .description-item {
        display: none;
        text-align: left; /* Alinha o texto dos itens de descrição à esquerda */
        margin-top: 0.5rem; /* Reduz a margem superior */
    }

    .slider-description .description-item.active {
        display: block;
    }

    .slider-description .description-item h4{
        font-size: 15px;
    }

    /* Noticias Mobile */

    .newsBox {
        grid-template-columns: 1fr; /* Altera para uma única coluna */
    }

    .img img {
        width: 100%; /* Faz a imagem ocupar 100% da largura do container */
        height: 200px; /* Mantém a proporção da imagem */
        max-height: 400px; /* Define uma altura máxima para a imagem */
        object-fit: cover; /* Garante que a imagem cubra o espaço sem distorcer */
    }

    .content {
        text-align: left; /* Centraliza o conteúdo */
    }

    .buttons_news1 {
        justify-content: left; /* Centraliza os botões */
        margin-left: 0; /* Remove a margem esquerda */
    }

    .title {
        text-align: left; /* Centraliza o título */
        margin-left: 0; /* Remove a margem esquerda */
    }

    /* Fim Noticiais Mobile */





    .noticia_datalhe {
        max-width: 1200px;
        margin: 20px auto;
        padding: 20px;
        background-color: #ffffff;
        margin: 50px auto 50px; /* Espaçamento superior, centraliza horizontalmente e adiciona margem inferior */
        text-align: left; /* Centraliza o conteúdo */
    }

    .noticia_datalhe img {
        width: 350px;
        height: 250px;
        object-fit: cover; /* Para garantir que a imagem ocupe todo o espaço sem distorcer */
        margin-bottom: 20px; /* Espaçamento entre a imagem e o próximo elemento */
    }

    .buttons_edit {
        display: flex;
        justify-content: left;
        margin-top: 10px;
        margin-bottom: 10px;
        margin-right: 20px;
        gap: 3px; /* Adiciona espaço entre os botões */
    }

    .noticia_datalhe h1 {
        font-size: 2em;
        color: #fcaa3e;
        margin: 10px 0;
        text-align: center; 
    }
    
    .noticia_datalhe p {
        font-size: 1.2em;
        text-align: center; /* Justificar o texto */
        line-height: 1.6;
    }

    
    
    .container-login, .container-reset-pass {
        margin-top: 40px;
    }

    .alert {
        font-size: 10px;
    }



}

/* Regras adicionais para responsividade em telas menores */
@media screen and (max-width: 1200px) {
    .menu-desktop {
        display: none; /* Oculta o menu desktop em telas menores */
    }
    .menu-mobile {
        visibility: visible;
        display: block; /* Exibe o menu mobile */
    }
    .btn-abrir-menu {
    position: absolute;
    top: 76px;
    right: 20px;
    cursor: pointer;
    z-index: 1000;
}
}







@media (max-width: 1517px) {
    .horarios {
        padding: 15px;
    }

    .page-horarios {
        width: 100%;
        max-width: 90%;
        margin: auto;
    }

    .title-horarios h2 {
        font-size: 1.3rem;
        text-align: center;
    }

    .list-group-item {
        flex-direction: column;
        align-items: center;
        padding: 15px;
        text-align: center;
    }

    .horario-info {
        width: 100%;
        text-align: center;
        margin-bottom: 10px;
    }

    .acoes {
        width: 99%;
        display: flex;
        gap: 10px;
        flex-wrap: nowrap;
    }

    .acoes a {
        min-width: 130px;
        white-space: nowrap; /* Impede quebra de texto */
        text-align: center;
    }
}












/* Botão Ler Mais Slide de Noticias */

.btn-leia-mais {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    background-color: #934000;
    color: white;
    text-decoration: none;
    border-radius: 5px;
    font-weight: bold;
    transition: background-color 0.3s ease;
    position: relative;
    overflow: hidden;
}

.btn-leia-mais span {
    margin-right: 10px;
    transition: transform 0.3s ease;
}

.btn-leia-mais .arrow {
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid white;
    transition: transform 0.3s ease;
}

.btn-leia-mais:hover {
    background-color: #633718;
}

.btn-leia-mais:hover span {
    transform: translateX(5px);
}

.btn-leia-mais:hover .arrow {
    transform: translateX(5px);
}
