@import url('https://fonts.googleapis.com/css2?family=Anton&family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&display=swap');
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
a{
    text-decoration: none;
}
li{
    list-style: none;
}
body{
font-family: "Roboto Condensed", sans-serif;
}

.bg_gradiente_azul{
    background-image: linear-gradient(90deg, #56CBF0 0%, #2879D8 100%);
}
.bg_gradiente_azul_escuro{
    background: linear-gradient(90deg, #f3f3f3 0.04%, #ffffff 66.39%);
}
.card.post-card {
    box-shadow: 0px 0px 7px 2px #00000030;
    border-radius: 30px;
}
.conheca_categorias{
    margin-top:-100px;
}
.card-image {
    height: 200px;
    overflow: hidden;
}
.bt_azul_gradiente {
    padding: 10px 30px;
    flex-shrink: 0;
    color: #fff;
    border-radius: 50px;
    background-image: linear-gradient(90deg, #56CBF0 0%, #2879D8 100%);
    background-size: 200% 100%;
    background-position: left;
    box-shadow: 0px 2px 8px -3px rgba(0, 0, 0, 0.25);
    transition: background-position 0.5s ease;
}

.bt_azul_gradiente:hover {
    background-position: right;
}

.bt_amarelo_gradiente {
    padding: 10px 30px;
    color: #fff;
    border-radius: 50px;
    background-image: linear-gradient(90deg, #F59630 0%, #B16A1D 100%);
    background-size: 200% 100%;
    background-position: left;
    box-shadow: 0px 2px 8px -3px rgba(0, 0, 0, 0.25);
    transition: background-position 500ms linear;
    margin: 10px;
}

.bt_amarelo_gradiente:hover {
    background-position: right;
}


nav{
    height: 110px;
    padding: 0 20px;
    line-height: 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
ul.menu {
  list-style: none;
  padding: 0;
  display: flex;
  align-items: center;
}

ul.menu li {
  margin: 0 15px;
  position: relative;
}

ul.menu li a {
  text-decoration: none;
  color: #333;
  display: inline-block;
  position: relative;
  padding: 0px 0;
}

ul.menu li a::after {
  content: '';
  display: block;
  height: 3px;
  background-color: #ef151594;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  transition: width 0.3s ease-out;
}
ul.menu li a:hover{
     background: initial;
}
ul.menu li a:hover::after {
  width: 100%;
 
}

/* EstilizaÃ§Ã£o da lista do submenu */
ul.menu li .submenu {
  list-style: none;
  padding: 0;
  margin: 0;
  position: absolute;
  top: 100%; /* Posiciona abaixo do item principal */
  left: 0;
  background-color: #f3f3f3; /* Cor de fundo do submenu */
  display: none; /* Esconde o submenu inicialmente */
  z-index: 99;
}
.menu-ensino i{
    font-size: 12px;
    margin: 0;
    padding: 0;
    display: contents;
}
ul.menu li .submenu li {
  margin: 0;
  display: contents;
}

ul.menu li .submenu li a {
  color: #333;
  padding: 10px 15px;
  display: block;
  text-decoration: none;
}

ul.menu li .submenu li a:hover {
  background-color: #ffffff; /* Cor de fundo ao passar o mouse no submenu */
}

.logo{
    width: 92px;
    height: 92px;
}
.logo img{
    /* width: 92px; */
}
.menu {
    display: flex;
    justify-content: space-between;
}
.menu a{
    color: #fff;
    font-size: 16px;
}

.z-depth-1-half, .btn:hover, .btn-large:hover, .btn-small:hover, .btn-floating:hover{
    box-shadow: initial;
}
#banner-principal{
   height: 600px;
}
.banner-principal {
        height: 500px;
}
.banner-principal .grid{
    display: flex;
    justify-content: left;
    position: relative;
    top: 50px;
}
.banner-principal h2{
    color: #fff;
    position: relative;
    top:100px;
    font-weight: 200;
}
.banner-principal b{
    font-weight: bold;
    font-size: 60px;
}
.title-section{/* color: #184258; *//* font-family: Poppins; */font-size: 24px;/* font-style: normal; *//* font-weight: 600; *//* line-height: normal; *//* text-transform: uppercase; */}


.projetos .imagem-projeto{
    min-height: 338px;
    overflow: hidden;
    border-radius: 20px;
    position: relative;
}
.titulo-acervoprincipal{
    left: 12px;
    position: relative;
    bottom: 20px;
    width: 100%;
}
.titulo-acervoprincipal img{
    position: absolute;
    bottom: 10px;
}
.titulo-acervoprincipal h6{
    position: absolute;
    left: 55px !important;
    bottom: 0px;
}
.projetos h6{
    color: #ffffff;
    font-weight: 600;
    line-height: 20px;
    font-size: 27px;
    width: 85%;
}
.projetos h6 span{
        font-size: 16px !important;
}

.section-ensino a{
    color: #fff;
}
.section-ensino a:hover .img-wrapper img{
    opacity: 1;
}
.section-ensino a:hover .img-wrapper h6{
    opacity: 1;
    display: none;
}
.section-ensino .img-wrapper{
    position: relative;
}
.section-ensino .img-wrapper img{
     opacity: 0.4;
      transition: opacity 0.8s ease;
}
.section-ensino  .img-wrapper h6{
    position: absolute;
    font-size: 38px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    padding: 22px;
}

.paginas{
    
    
}
.paginas .banner{
    height: 340px;
    position: relative;
}
.paginas .filtro-banner{
    height: 340px;
    position: absolute;
    width: 100%;
    text-align: center;
    color: #fff;
}
.paginas .filtro-banner h2{
    display:inline-block;
}
.paginas .titulo-pagina{
    height: 150px;
    background: #fff;
    border-radius: 50px;
    padding: 20px;
    position: relative;
    top: -120px;
}
.paginas .titulo-pagina h2{
    color: #133159;
    /* text-align: center; */
    font-family: Poppins;
    /*font-size: 50px;*/
    font-size: clamp(1.5rem, 2.5vw, 3rem);
    font-style: normal;
    font-weight: 800;
    line-height: normal;
}
.compromisso h2{
        font-size: 4rem;
        letter-spacing: 2px;
}
.paginas .container{
    padding: 10px;
}
.paginas .img_destaque img{
    border-radius: 20px;
    width: 100%;
}
.valores{
    padding: 20px;
}
.valores h5{
    color: #F59630;
    text-align: center;
    font-size: 30px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}
.valores p{
    color: #4D4D4D;
    text-align: center;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}
.valores {
    border-bottom: 4px solid #F59630;
    height: 300px;
}

.noticias .titulo-pagina .pesquisar form{
   
    float: right;
    position: relative;
    top: 34px;
}
.noticias .titulo-pagina .pesquisar input{
    width: 200px;
    float: right;
    position: absolute;
    top: 0;
    right: 0;
}
.noticias .titulo-pagina .pesquisar button{
    position: absolute;
    top: 20px;
    right: 0;
    background: initial;
    border: initial;
    
}
.noticias .single h2{
    color: #F59630;
text-align: left;
font-family: Poppins;
/*font-size: 44px;*/
 font-size: clamp(1.5rem, 2.5vw, 3rem);
font-style: normal;
font-weight: 500;
line-height: normal;

}
.noticias .single h2:before{
    content: "";
    width: 300px;
    display: block;
    border-top: 5px solid #F59630;
    position: relative;
}

.single .img_destaque img{
    width: 100%;
}
.galeria{
    display: flex;
    justify-content: start;
    flex-wrap: wrap;
}
 .galeria-item{
    width: 200px;
    height: 200px;
    overflow: hidden;
    border: 3px solid #cccccc10;
    margin: 10px;
}
 .galeria-item img{
    width: 100%;
    border-radius: 10px;
}
.noticias .single .img_destaque{
    width: 300px;
    float: left;
    margin: 0 20px 20px 0;
}
.carousel{
    height: 84vh !important;
}
.carousel-item div a{
    margin-left:10px;
}
.carousel-item div h2{
    color: #FFF;
    /*font-size: 55px !important;*/
     font-size: clamp(1.5rem, 2.5vw, 3rem) !important;
    font-weight: 600 !important;
    line-height: 55px !important;
    margin-bottom: 45px;

}
.carousel-item div{
    position: absolute;
    padding: 50px;
    width: 900px;
    top: 15vh;
  
}

h3{
     font-size: clamp(1.5rem, 2.5vw, 3rem);
}



@media (max-width: 400px){
    body{
        x-overflow: hidden;
    }
    
}

.bloco{
    padding: 25px 0!important;
}


.foto .imagem {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; /* Faz o contÃªiner `.imagem` ocupar toda a `.foto` */
    overflow: hidden; /* Oculta excesso das imagens */
}

.foto .imagem img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; /* Faz a imagem ocupar todo o espaÃ§o disponÃ­vel */
    object-fit: cover; /* Ajusta a imagem para cobrir toda a Ã¡rea mantendo a proporÃ§Ã£o */
    object-position: center; /* Centraliza a imagem */
}



 /* Estilo para centralizar e estilizar a miniatura */
        .thumbnail {
              cursor: pointer;
              display: inline-block;
              /* border: 2px solid #ddd; */
              border-radius: 5px;
              /* box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); */
              width: 100%; /* Largura da miniatura */
              height: auto; /* MantÃ©m a proporÃ§Ã£o */
              overflow: hidden;
        }
        .thumbnail img{
            width: 100%;
        }

        /* Estilo para o modal (popup) */
        .modal {
            display: none; /* Inicialmente escondido */
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.8); /* Fundo escuro */
            z-index: 1000;
            justify-content: center;
            align-items: center;
        }

        .modal-content {
            position: relative;
            width: 80%;
            max-width: 700px;
            background: #fff;
            padding: 10px;
            border-radius: 8px;
            box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
        }

        /* BotÃ£o para fechar */
        .close {
            position: absolute;
            top: 10px;
            right: 15px;
            font-size: 24px;
            color: #333;
            cursor: pointer;
        }
        
        .pagina-estrutura{
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            
        }
        .pagina-estrutura img{
            width: 200px;
        }
      .search input{
    border: none !important;
    border-radius: 40px !important;
    width: 150px !important;
    box-shadow: 0px 0px 7px 0px #00000020 !important;
    padding: 10px !important;
    height: 15px !important;
    margin: 10px !important;
}
.search{
    position: relative;
}
.search i{
    color: #ccc;
    font-size: 15px;
    position: absolute;
    top: 20px;
    right: 20px;
}
.categorias_home .col .categorias_img img{
    border-radius: 30px;
    box-shadow: 0 0 10px 1px #00000030;
    width: 100%;
}
.categorias_home .col h3{
    text-align: center;
    font-size:16px;
    margin-top: 10px;
}
.bt_veja_mais{
    display:flex;
    justify-content: center;
}
.bt_veja_mais a{
  display: inline-block;
  padding: 10px 25px;
  border: 2px solid #003366; /* azul escuro */
  border-radius: 50px; /* deixa o botão bem oval */
  color: #003366;
  text-decoration: none;
  font-weight: bold;
  font-family: sans-serif;
  transition: background-color 0.3s, color 0.3s;
}

.bt_veja_mais a:hover {
  background-color: #003366;
  color: white;
}
.bg_sobre_home{
    background: url("../images/background_sobre.png") no-repeat;
    background-size: 100%;
    background: cover cover;
}
footer{
    background: #0E3C79 !important;
}
footer h4{
    color: #FFCC00;
    font-weight: bold;
    font-size: 30px;
}
footer span{
    font-weight: bold;
}

.img_destaque img{
    max-width: 100%;
}
p {
    font-size: 18px;
}
.bt_azul_gradiente {
    padding: 10px 30px;
    margin: 15px;
}
.blog .card.post-card {
    padding-bottom: 25px;
}
span.right.data_noticias {
    display: none;
}
footer iframe {
    width: 100%;
}
.img_destaque img{
    max-width: 100%;
}
img.responsive-img {
    border-radius: 30px;
}
/* Deixe o panorama ocupar 100% da largura e uma altura proporcional à tela */
    #panorama {
      width: 100%;
      aspect-ratio: 2 / 1; /* Mantém a proporção da imagem 2:1 */
      max-height: 90vh;    /* Não deixa ultrapassar a altura da tela */
    }

    /* Para navegadores que não suportam aspect-ratio */
    @supports not (aspect-ratio: 2 / 1) {
      #panorama {
        height: auto;
        padding-top: 50%; /* Altura 2:1 baseada na largura */
        position: relative;
      }
    }