body {
    padding-top: 80px;
}
/*header {
  background-size: cover;
  height: 600px;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  font-weight: bold;
  text-shadow: 1px 1px 4px black;
}*/
.navbar-brand img {
    height: 100px;
}

/* Efeito hover no menu */
.navbar-nav .nav-link {
    position: relative;
    transition: color 0.3s ease;
}

.navbar-nav .nav-link::after {
    content: "";
    position: absolute;
    width: 0%;
    height: 3px;
    bottom: 0;
    left: 0;
    background-color: #302681;
    transition: width 0.3s ease;
}

.navbar-nav .nav-link:hover {
    color: #302681;
}

.navbar-nav .nav-link:hover::after {
    width: 100%;
}

.galeria-preview img{
    transition:.2s ease;
    cursor:pointer;
}

.galeria-preview:hover img{
    opacity:.9;
    transform:scale(1.02);
}

.card{
    border:0;
    max-width:550px;
}

.card-body{
    padding:1rem;
}

.hero-header{
    position:relative;
    min-height:420px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    overflow:hidden;
    margin-top:76px;
    color:#fff;
    font-size:2rem;
    font-weight:bold;
    text-shadow:1px 1px 4px #000;
}

.hero-header::before{
    content:'';
    position:absolute;
    inset:0;
    background:
    linear-gradient(to bottom, rgba(0,0,0,.65), rgba(0,0,0,.45));
    z-index:1;
}

.hero-header::after{
    content:'';
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:120px;
    background:
    linear-gradient(to top, rgba(255,255,255,1), rgba(255,255,255,0));
    z-index:1;
}

.hero-header h1,
.hero-header p{
    position:relative;
    z-index:2;
    max-width:900px;
    padding:0 20px;
    color:#fff;
    font-size:clamp(2rem,5vw,4rem);
    font-weight:800;
    letter-spacing:-1px;
    text-shadow:0 2px 10px rgba(0,0,0,.8), 0 0 30px rgba(0,0,0,.6);}
@media(max-width:768px){
    .hero-header{
        min-height:200px;
    }
    .hero-header h1, .hero-header p{
        font-size:2rem;
    }
}

#gallery img{
    transition:.2s ease;
}

#gallery a:hover img{
    transform:scale(1.03);
    opacity:.9;
}

.n-exibir {
    position: absolute;
    left: -9999px;
    opacity: 0;
    pointer-events: none;
}

/* notícia */
.galeria-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(90px,1fr));
    gap:10px;
}

.galeria-item img{
    width:100%;
    height:90px;
    object-fit:cover;
    border-radius:8px;
    transition:0.2s;
    box-shadow:0 2px 6px rgba(0,0,0,0.15);
}

.galeria-item img:hover{
    transform:scale(1.04);
}

/* contato  */
label:has(+ :is(input, textarea):required)::after {
    content: '*';
    color: red;
}
label:has(+ :is(input, textarea):optional)::after {
    content: ' (opcional)';
}

.blockquote {
    padding-left: 1.5rem;
    border-left: 5px solid #0d6efd; /* Bootstrap primary color */
    font-style: italic;
    font-size: 1rem;
    margin-left: 20px;
}