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

*:focus { 
    border:none;
	outline:0;
}

::placeholder {
	color: #888;
	opacity: 1; /* Firefox */
	font-size:1em;
	font-family: "Montserrat", sans-serif;
}
  
:-ms-input-placeholder { /* Internet Explorer 10-11 */
   color: #888;
   font-size:1em;
   font-family: "Montserrat", sans-serif;
}
  
::-ms-input-placeholder { /* Microsoft Edge */
   color: #888;
   font-size:1em;
   font-family: "Montserrat", sans-serif;
}

html {
	height:100%;
}

body {
    font-size: 62.5%;
    line-height: 1.3;
    font-family: "Montserrat", sans-serif;
    color: #333;
	background-color:#FFF;
	height:100%;
	text-align:justify;
	overflow-x: hidden;
	-webkit-tap-highlight-color: transparent;
	
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

a {
    color: #333;
    text-decoration: underline;
    font-size: 1em;
}

a:hover {
    text-decoration: none;
}

p {
    margin-top:0;
	padding:0;
    padding-bottom:10px;
}

p, li, span {
    font-size: 1.6em;
	line-height:1.2em;	
}

p span {
    font-size: 1em;
}


li {
	text-align:left;
}


.holder ul { margin-left:0; margin-bottom:10px; }
.holder ul li { padding:0 0 7px 20px; background-image: url(../img/marcador.png); background-repeat: no-repeat; list-style-type:none; background-position:0 6px; text-align:justify; }

h1  {
	margin-top:0;
    font-size: 3em;
	color:#333;
	font-weight:bold;
	line-height:1em;
	text-align:left;
	padding-bottom:30px;
}


h2 {	
	margin-top:0;
	margin-bottom:1em;
	color:#333;
	font-size: 2em;
	line-height: 1em;
	text-align:left;
	font-weight:BOLD;
}


h3 {
    margin-top:30px;
	margin-bottom:0;
	padding-bottom:0;
	font-size: 1.7em;
	line-height: 1em;
	text-align:left;
	text-decoration: underline;
}

h4 {
    margin-top:50px;
	margin-bottom:20px;
	font-size: 1.5em;
	line-height: 0.5em;
	text-align:left;
}

#menTop {
	width:40px;
	height:40px;
	background:#333;
	border:2px solid #FFF;
	position:fixed;
	bottom:19px;
	right:19px;
	z-index:90;
	cursor:pointer;
}

#menTop i {
  margin:14px 12px;
  border: solid #FFF;
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 5px;
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}


.sidenav {
  height: 100%;
  width: 350px;
  position: fixed;
  z-index: 99;
  top: 0;
  right: -350px;
  overflow-x: hidden;
  transition: 0.5s;
  padding-top: 50px;
}

.sidenav_opened {
	width:350px;
	right: 0;
}

.sidenav a {
  text-decoration:none;
  
  display: block;
  transition: 0.3s;
}

.sidenav a:hover {
  
}

.menu_conteudo {
	background-color:#333;
	padding:10px 20px 10px 10px;
	float: left;
	width:100%;
	margin-top:50px;
}

.menu_conteudo_menor {
	margin-top:10px;
}


.menu_side {
	list-style:none;
    width:100%;
	float: left;
	margin:0;
	padding:0;
}

.menu_side li {
	text-align:right;
}

.menu_side li a {
	font-size:1em;
	color:#FFF;
	display:block;
	padding:8px 0 8px 5px;
	
	border-bottom:1px solid #666;
}



.menu_side li:last-child a {
	border-bottom:0;
}

.menu_side .subs {
list-style-type:none;

margin-top:5px;
padding-bottom:5px;
padding-left:0;
margin-left:0;

}

.menu_side .subs li a, .menu_side .subs li:last-child a {
	font-size:0.6em;
	padding:0 20px 0 2px;
	color:#FFF;
	border-bottom:none;
	line-height: 1.1em;
}

.menu_side .subs li a{
background-image: url(../img/marcador.png?); background-repeat: no-repeat;
background-position:right center;
margin:5px auto;
}


.sidenav .closebtn {
  position: absolute;
  top: 15px;
  right: 20px;
  font-size: 5em;
  color: #FFF;
  cursor:pointer;
  padding:0;
}

.sidenav_menor .closebtn {
  top: -5px;
}

.opaque {
    height: 100%;
  width: 0;
  position: fixed;
  z-index: 92;
  top: 0;
  left: 0;
  background-color: rgba(0,0,0,0.9);
  
  overflow-x: hidden; 
  cursor:no-drop;
}

.opaque_opened {
	width:100%;
}

#aviso_cookies {position: fixed; z-index:1000; bottom:10px; right:10px; max-width: 300px; width:auto; background-color:#FFF; border:1px solid #CCC; box-shadow: 0 0 15px rgba(0,0,0,0.5);}
.aviso_cookies_interno {padding:15px;}
.aviso_cookies_titulo { font-size:15px; font-weight:bold; }
.aviso_cookies_texto {margin-top:5px; font-size:14px;}
.aviso_cookies_botao {margin:20px auto 10px auto;}
#aceitar_cookies {cursor:pointer; background-color:#CCC; padding:10px; font-size:14px; text-decoration:none; font-weight:bold; }

img,
picture,
video,
embed {
    max-width: 100%;
}

.header {
	z-index:2;
	top:0;
    width: 100%;
    height: 75px;
	box-shadow: 0 2px 4px 0px rgba(0,0,0,0.2);
	-webkit-box-shadow: 0 2px 4px 0px rgba(0,0,0,0.2);
	-moz-box-shadow: 0 2px 4px 0px rgba(0,0,0,0.2);
	background-color: rgba(255,255,255,0.9);
}

.header_fixa {
	position:fixed;	
}

.header_livre {
	position:absolute;
}

.header50 {
	height: 55px;
}

#logo {
	position: relative;	
}

.logo_normal {
	float: left;
	width: 100px; 
	margin: 12px 0 0 0;
}

.logo_menor {
	width:80px;
	margin: 7px 0 0 0;
}

.logo_menor img{
	position:absolute;
	
}

.ico_menu {
	display:none;
	position:relative;
	float:right;
}

.drop_normal {
	margin-top: 5px;
}

.drop_menor {
	margin-top: 5px;
}

.nav-toggle {
	display: none;
	text-align:left;
	width:30px;
	cursor:pointer;	
}

.nav {
    width: 70%;
    float: right;
}

.nav_normal {
	margin:16px 0 0 0;
}

.nav_menor {
	margin:6px 0 0 0;	
}

.nav ul {
    float: right;
	padding:0;
	margin:0;
}

.listaNav,.listaNav ul {
    list-style:none;
    margin:0;
}

.listaNav {
    position:relative;
}

.listaNav ul {
    height:0;
    left:0;
    z-index:2;
    position:absolute;
    overflow:hidden;
	padding-top:5px;
}

.listaNav li {
    float:left;
    position:relative;
	font-size:1.6em;
    margin:0;
	padding:0;
	background-image:none;
	margin-left:1px;
}


.listaNav li a {
    color:#333;
    display:block;
    padding:8px 8px 10px 8px;
	margin-left:0;
    text-decoration:none;
	line-height:1em;
	cursor:pointer;
}


.listaNav li:hover > a {
	color:#FFF;
	background-color:#333;
}

.listaNav li:last-child a {
	border-right:none;
}

.listaNav ul {
	margin-top:0;
}

.listaNav li:hover ul.subs {
    height:auto;
    width:auto;
	white-space: nowrap;
}

.listaNav ul li {
    opacity:0;
    width:100%;
}

.listaNav li ul li {   
	padding:0;
	font-size:1.67em;
	margin-bottom:2px;
}

.listaNav li:hover ul li {
    opacity:1;
	border-bottom:1px solid #CCC;
}

.listaNav ul li a {
	background-color:#333;
    color:#FFF;
    line-height:1px;
	font-size:0.6em;
	padding:10px 10px 12px 10px;
	text-align:center;
}

.listaNav li:hover ul li a {
    line-height:1.2em;
	display:block;
}

.listaNav ul li a:hover {
	color:#E7DFEA;
	
}


/* Alinha o item principal e garante que a seta fique ao lado do texto */
.listaNav .has-submenu > a {
  display: flex;
  align-items: left;
  gap: 6px; /* EspaÃ§o entre o texto e a seta */
}

/* Adiciona a seta para baixo usando Unicode */
.listaNav .has-submenu > a::after {
  content: "\25BC"; /* CÃ³digo Unicode da seta para baixo â–¼ */
  font-size: 0.6em; /* Ajusta o tamanho da seta para ficar proporcional ao texto */
  transform: scaleY(0.7);
  color: inherit; /* MantÃ©m a mesma cor do texto */
  transition: transform 0.3s ease; /* AnimaÃ§Ã£o suave caso queira girar ao abrir */
}

/* Opcional: Gira a seta para cima quando o submenu estiver aberto */
.listaNav .has-submenu:hover > a::after {
  transform: rotate(180deg) scaleY(0.7);
}

.listaNav .sub {
	display:none;
	
}

.listaNav  li .ativo {
	background-color:#333;
	color:#E7DFEA;
}

.listaNav .subs .sub_ativo{	
	color:#E7DFEA;
}



.holder {
    float:left;
	width:100%;
    margin: 0 auto 0 auto;
}
	
.container {
    max-width: 1120px;
    margin: 0 auto;
	padding:0;
}


.holder_conteudo h2 {
	font-size:2.7em;
}


.container_equipe h2 {
	padding-bottom:4px;
	border-bottom:1px solid #333;
}


.holder_cabecalho {
	padding-top:30px;
	margin-top:75px;
	margin-bottom:30px;
	background-color: #666;
}

.holder_cabecalho_fotos {
	margin-bottom:0;
}

.holder_cabecalho_evento {
	margin-bottom:0;
}

.holder_cabecalho h1 {
	color:#FFF;
	padding:0;
	font-weight: normal;
	padding-bottom:30px;
	font-size:3em;
}

.oculta {
	display:none;
}


.separador {
	clear:both;
	margin-top:20px;
}

.centralizar {
	margin-top:30px;
}

.centralizar, .centralizar h1, .centralizar h2, .centralizar h3 {
	text-align:center;
}

.div_foto {
	margin-bottom:30px;
}

.div_foto img {
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
}

.p_botao {
	border:2px solid #333;
	color:#333;
	display:inline-block;
	width:auto;
	font-size:1.5em;
	font-weight:100;
	line-height:1.2em;
	text-align:center;
	margin-top:15px;
	cursor:pointer;
	position:relative;
	overflow:hidden;
	background-color:#E7DFEA;
}

.p_botao_maior {
	font-size:2.7em;
}

.p_botao a {
	width:100%;
	height:100%;
	display:block;
	padding:15px 25px;
	text-decoration:none;
	color:#333;
	z-index:2;
	font-weight:400;
	position:relative;
}



.p_botao::before {
	content: '';
	position:absolute;
	top:0;
	left:-50px;
	width:0;
	height:100%;
	transform:skewX(35deg);
	z-index:1;
	transition: width 1s;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#003666+0,1f91a9+57 */
	background: #E7DFEA; /* Old browsers */
	background: -moz-linear-gradient(top,  #E7DFEA 0%, #333 57%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  #E7DFEA 0%,#333 57%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  #E7DFEA 0%,#333 57%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#E7DFEA', endColorstr='#333',GradientType=0 ); /* IE6-9 */

}

.p_botao:hover::before {
	width:250%;	
}

.p_botao:hover a {
	color:#FFF;
}


.div_areas {
	float:left;
	width:100%;
	margin-top:30px;
}

.div_areas a, .div_areas .lista li {
	color:#CCC;
}

.div_areas p {
	color:#CCC;
}

.p_botao_livre {
	display:block;
	margin:40px auto;
	width:360px;
	font-size:2.5em;
}

	
.holder_animacao {
	margin-top:100px;
	margin-bottom:0;
}

.container_animacao {
	width: 100%;
	max-width: 1120px;
	margin:0 auto;

	display: grid;
	/* Cria duas colunas com os tamanhos máximos exatos */
	/*grid-template-columns: minmax(0, 800px) minmax(0, 300px);*/
	/* Define o espaçamento exato entre as colunas */

	/* Define a proporção de tamanho entre elas (8 para 3) */
  	grid-template-columns: 8fr 3fr; 
	column-gap: 20px;
	/* Centraliza o bloco inteiro na tela se sobrar espaço */
	justify-content: center; 
}


/* container geral */

.swiper {
    width: 100%;
    max-width: 800px;
    aspect-ratio: 800 / 533;
    margin: 0;
    --scale: 1;
	background-color:#CCC;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 0 4px 0px rgba(0,0,0,0.2);
	-webkit-box-shadow: 0 0 4px 0px rgba(0,0,0,0.2);
	-moz-box-shadow: 0 0 4px 0px rgba(0,0,0,0.2);
}

.swiper-slide {
    position: relative;
    overflow: hidden;

    display: flex;
    align-items: center;
}

/* slide ativo */
.swiper-slide-active .caption {
    opacity: 1;
    transform: translateY(0);
}

/* mídia do slide */
.slide-media {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.slide-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* layout não escalado */
.slide-layout {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    position: relative;
    z-index: 2;
}

/* bloco escalado */
.slide-scale {
    transform-origin: left center;
    transform: scale(var(--scale)) translateZ(0);
    backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
}

/* alinhamento horizontal */
.content {
    margin-left: 150px;
    width: 800px;
}

/* texto */
.caption {
    color: #fff;
    background: rgba(0,0,0,0.55);
    padding: 20px 24px;
    border-radius: 6px;
    font-size: 2.5em;
    opacity: 0;
    transition: opacity 2s ease;
}

.caption h2 {
    margin: 0 0 8px;
    font-size: 2em;
}

.caption a {
    color: #ffcc00;
    font-weight: bold;
    text-decoration: none;
}

/* slide clicável */
.slide-link {
    position: absolute;
    inset: 0;
    z-index: 1;
}

/* setas */
.swiper-button-prev,
.swiper-button-next {
    color: #fff;
    opacity: 0.5;
    transition: opacity 0.2s ease;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
}

.swiper-button-prev:hover,
.swiper-button-next:hover {
    opacity: 1;
}

/* bullets */
.swiper-pagination-bullet {
    width: 16px;
    height: 16px;
    background: #fff;
    opacity: 0.6;
}

.swiper-pagination-bullet-active {
    opacity: 1;
}

.animacao_lateral {
	width: 100%;
    max-width: 300px;
    
    margin: 0 auto;
    --scale: 1;
	background-color:#CCC;

	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	overflow: hidden;
}


.animacao_lateral img {
  width: 100%;       /* Ocupa toda a largura da div pai */
  max-width: 100%;   /* Não deixa a imagem passar do tamanho da div */
  height: auto;      /* Mantém a proporção de altura original (não distorce) */
  
}

.banner_horizonal {
	display: none;
	padding-top:20px;
	width: 100%; 
	text-align: center;
}

.banner_horizonal img {
	width: 712px;       /* Ocupa toda a largura da div pai */
	max-width: 100%;   /* Não deixa a imagem passar do tamanho da div */
	height: auto;
	display:block;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	
}

.grade-fotos0 {
  display: grid;
  grid-template-columns: repeat(4, 265px);
  gap: 20px;
}

.grade-fotos {
  display: grid;
  /* MUDANÇA: Usa frações (fr) em vez de px para encolherem juntas */
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  width: 100%;
  /* Define o tamanho máximo total da grade (4 colunas de 265px + 3 gaps de 20px) */
  max-width: 1120px; 
}

.grade-fotos a {
	text-decoration: none;
}

.item-foto0 {
  width: 265px;
  height: 265px;
  position: relative; /* Base para o posicionamento das camadas de texto */
  overflow: hidden; 
}

.item-foto {
  /* MUDANÇA: Removemos width e height fixos */
  width: 100%;
  /* MÁGICA: Mantém a div perfeitamente quadrada (proporção 1:1) ao encolher */
  aspect-ratio: 1 / 1; 
  position: relative; 
  overflow: hidden; 
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  
  background-color: #F5F5F5;
  background-image: url(../img/loading.gif);
  background-repeat: no-repeat;
  background-position: center;
}

.item-foto .foto-fundo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.4s ease; 
}

.item-foto:hover .foto-fundo {
  /* MUDANÇA: Aumenta a imagem em 10% (1.1) do seu tamanho original */
  transform: scale(1.1); 
}

/* Camada do Topo (Título) */
.camada-topo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  box-sizing: border-box;
  padding: 12px 12px 100px 12px;
  /* Degradê de cima para baixo: Preto 60% para Transparente */
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%);
  color: #fff;
}

.camada-topo h3 {
  margin: 0;
  font-size: 1.5em;
  font-weight:normal;
  text-align: center;
  text-decoration: none;
}

/* Container da Base (Segura as duas divs de 50%) */
.container-base {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  display: flex; /* Alinha as duas divs internas lado a lado */
  box-sizing: border-box;
  padding: 12px;
  /* Degradê de baixo para cima: Preto 60% para Transparente */
  background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%);
  color: #fff;
}

/* Divs de 50% */
.base-esquerda, .base-direita {
  width: 50%;
  display: flex;
  align-items: center; /* Alinhamento padrão pelo centro */
  font-size: 0.7em;
}

/* Alinhamento específico da direita */
.base-direita {
  justify-content: flex-end; /* Empurra o conteúdo para a extrema direita */
}

/* Regras gerais para os dois SVGs */
.container-base img {
  width: 16px;
  height: 16px;
}

/* AJUSTE EXCLUSIVO DO CALENDÁRIO */
.icone-calendario {
  /* Diminui o espaço lateral apenas para este ícone */
  
  margin-right: 5px; 
  /* Move o ícone levemente para baixo (mude o número se precisar de mais) */
  transform: translateY(-2px);
}

/* AJUSTE EXCLUSIVO DA CÂMERA */
.icone-camera {
  /* Como o texto vem ANTES da câmera, usamos margin-left para o espaço */
  margin-left: 6px;
  margin-right: 0; 
  /* Caso a câmera precise de um ajuste de altura diferente do calendário */
  transform: translateY(-1px);
}


.holder_conteudo {
	padding-bottom:40px;
}


.holder_conteudo_5 p a {
	color:#333;
	line-height:1.5em;
	font-weight:bold;
	text-decoration:none;
	
}


#arrow_down {
	position:relative;
	float:left;
	width:100%;
	height:50px;
}	

#arrow_down a { 
	position:relative;
	display:inline-block;
	margin:0 auto;
	width:40px;
	height:50px;
	cursor:pointer;
}

#arrow_down_link {
	opacity:1;
	position:relative;
	z-index:500;
	margin:40px auto;
	width:33px;
	height:20px;
	background-image:url(../img/arrow_down.png);
}








.holder_equipe .container {
	padding-top:50px;
	padding-bottom:30px;
	text-align:center;
}



.holder_equipe h2 {
	margin-top:0;
	text-align:center;
	font-size:5em;
	
	font-weight:bold;

}


.grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 50px;
}

.box {
  margin-top:20px;
  margin-bottom:40px;
  display: flex;
  gap: 20px;
  align-items: flex-start;
}

/* Coluna da imagem */
.box-imagem {
  width: 130px;
  height: 130px;
  flex-shrink: 0; /* impede de encolher */
  border-radius: 50%;
  overflow: hidden;

  display: flex;
  align-items: center;
  justify-content: center;
}

/* Imagem em si */
.box-imagem img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* corta certinho */
}

.box-imagem-2 {
  width: 130px;
  height: auto;
  flex-shrink: 0; /* impede de encolher */
  display: flex;
  align-items: center;
  justify-content: center;
}

.box-imagem-2 img {
	border:1px solid #CCC;
}

/* Texto ocupa o resto */
.box-conteudo {
  flex: 1;
  text-align: left;
}

.box_titulo {
	font-size:2em;
	line-height: 1.2em;
	font-weight:bold;
}

.box_subtitulo {
	font-size:1.7em;
	font-style: italic;
	opacity:0.7;
}

.box_texto {
	margin-top:20px;
	font-size:1.5em;
}

.box_texto span {
	font-size:1.1em;
	font-weight:bold;
}

.box_link, .box_link2 {
	margin-top:20px;
	font-size:1.5em;
}

.box_link a {
	float:left;
	clear:both;
	margin:5px auto;
	margin-left:0;
}

.box_link a:hover {
	margin-left:5px;
	transition: 1s;
}

.box_link2 a {
	padding:5px 10px 8px 10px;
	color:#FFF;
	border-radius: 5px;
	background-color: #333;
	text-decoration: none;
}

.box_link2 a:hover {
	background-color: #52327C;
}



.lista { margin-left:-40px; }

.lista li {
	padding:0 0 5px 15px;
	list-style-type:none;
	background-image: url(../img/marcador.png);
	background-repeat: no-repeat;
	background-position:0 4px;
	text-align:justify;
	color:#000;
}

.data_lista {
	font-size:1em;
	color:#666;
	font-style:italic;
}

.holder_secao .container {
	text-align:center;
}



.holder_parceiros {
	height:auto;
	padding:80px 0 50px 0;
	text-align:center;
}

.holder_parceiros h2 {
	text-align:center;
	color:#666;
	font-size:3em;
	padding-bottom:0;
}





.container_esquerda {
	float:left;
	width:100%;
	margin-right:-320px;
	z-index:2;
}

.container_esquerda_inner {
	margin-right:320px;
}

.container_direita {
	float:right;
	width:250px;
	z-index:1;
}

.container_direita  h4 {
	color:#000;
	margin-top:5px;
	font-size:1.9em;
	font-weight:bold;
	padding-bottom:10px;
}


.holder_fotos {
	height:auto;
	padding:60px 0 60px 0;	
	text-align:center;
	background-color:#FFF;
	
}

.holder_fotos_margem {
	margin-top:60px;
}

.holder_fotos_sem_margem {
	margin-top:0;
}



.holder_fotos h2 {
	text-align:center;
	font-weight:bold;
	margin-bottom:30px;
}

.holder_fotos .container {
	
}


.holder_fotos .p_botaox {
	margin-top:50px;
}

.holder_fotos .p_botaox a {
	color:#333;
}


.botaox2 {
	display:none;
}




.logo_home {
	width:100%;
	text-align:center;
}


.esquerda {
	float:left;
}

.direita {
	float:right;
}

.principal {
	float:left;
	width:100%;
}

.holder_secao .principal {
	margin-left:-20px;
	width:103.8%;
}


table { border-collapse: collapse;   border-spacing: 0; overflow:hidden; }
td, th { padding: 10px;   font-size:1.4em;   text-align:center; color:#000;}
th { padding:15px; font-size:1.4em; background-color: #333; color:#FFF }

table { width:auto; margin-top:10px; border-top:1px solid #333; border-right:1px solid #333; margin-bottom:10px; }
table td, table th { border-left:1px solid #333; line-height:1.4em;  }

table,
table th,
table td { border-bottom:1px solid #333; }
table td { width:auto; background-color:#FFF;}

table .td_left {
	text-align: left;
}

.tabela_scroll { overflow-x:auto; padding-bottom:20px;}


table .p_botao {
	margin-top:5px;
	font-size:1.1em;
}

table .p_botao a {
	padding:10px;
}




.holder_contato {

	padding:80px 0 70px 0;
}

.holder_contato h2 {
	color:#333;
	font-size:3em;
}


.div_contatox {
	height:105px;
}


.div_contatox p {
	font-size:0.8em;
	font-weight:normal;
	vertical-align:top;
	display:inline-block;
}

.div_contatos a {
	text-decoration:none;
	line-height:2em;
}


.div_contato p {
	
	margin-top:0;
}

.div_contato p a {
	
	
}

.div_contato p .link_fone {
	font-size:1.3em;
	font-weight:normal;
	margin-top:0;
	line-height:1.2em;
}


.h_secao {
	display:none;
}


.quebra {
	clear:both;
	float:left;
	width:100%;
	margin:40px auto;
}


.saiba {
	font-size:1.5em;
}

.botao {
	text-align:center;
	width:100%;
	margin-top:80px;
	float:left;
	clear:both;
}


.iframe_video {
	clear:both;	
	text-align:center;
	width:600px;
	max-width:100%;
	margin:40px auto 20px auto;
	border:1px solid #000;
}

.iframe_video div {
	position: relative;
    overflow: hidden;
    padding-top: 56.25%;
}

.iframe_video iframe {
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}


#mensagemok {
	text-align:center;
	padding:2em;
	
	background-color:#43AC34;
	color:#FFF;
	margin:0 0 50px 0;
	font-size:2em;
}


#mensagemerro {
	text-align:center;
	padding:20px;
	font-weight:bold;
	background-color:#990000;
	color:#FFF;
	margin:20px 0 30px 0;
	font-size:1.7em;
}

.imagem_post2 {
	margin:30px auto 60px auto;
	width:100%;
	text-align:center;
}


.imagem_post2_final {
	margin-top:50px; 
}

.imagem_post2 .classe_foto {
	max-height:500px;
	max-width:700px;
	max-width:100%;
	background-color:#FFF;
}

.imagem_post2 p {
	font-size: 1.4em;
}

.imagem_post_5 {
	text-align:left;
	margin:10px auto 30px auto;
}



.duas_colunas {
 float:left;
 width:100%;
 margin-bottom:30px;
}

.duas_colunas_formulario {
	width:48%;
	float:left;
}

.duas_colunas_contato {
	width:48%;
	float:right;
}


.mapa, .duas_colunas_contato iframe {
	width:100%;
	height:280px;
	border:1px solid #CCC;
}


.formulario_padrao {
		float:left;
		margin-top:10px;
		padding:0;
		width:100%;
		display:table;
	}


	.form_padrao .campo {
		float:left;
		padding:0 0 20px 0;
		width:100%;
		position:relative;
	}
	

	.form_padrao .campo input, .form_padrao .campo textarea, .form_padrao .campo select {
		width:100%;
		font-size:1.5em;
		padding:15px 8px 8px 8px;
		border:1px solid #CCC;
		font-family: "Montserrat", sans-serif;
	}

	.form_contato_padrao .campo input, .form_contato_padrao .campo textarea {
		border:none;
		
		font-size:1.5em;
		border:1px solid #CCC
	}

	.campo_check {
		float:left;
		width:100%;
		font-size:1.6em;
	}


	.form_padrao .campo textarea {
		height:90px;
		
		
	}

	.form_padrao .campo_botao {
		clear:both;
		
		width:100%;
		padding-top:20px;
		
	}
	

	.form_padrao .campo_botao input {
		cursor:pointer;
		border:0;
		width:auto;
	}

	.form_padrao .form_padrao_botao input {
		color:#FFF;
		background-color:#333;
		height:40px;
		padding:8px 20px;
		font-size:1.6em;
		
	}

	
	.form_contato_padrao .form_padrao_botao input:hover {
		background-color:#000;
		color:#FFF;
	}
	
	.legenda {
		position:relative;
		font-size:1.4em;
		padding:5px 0 5px 0;
	}

	.obrigatorio .div_label {
		top:6px;
		position:relative;
		display:block;
		float:right;
		background-color: #FFF;
		text-align: right;
		color:#FF0000;
		margin:0 5px 0 0;
		padding:0 5px 0 5px;
	}

	.form_padrao p {
		text-align:center;
	}
	
	.oculta, .ocultar {
		display:none;
	}

	.div_label { 
		display:none;
	}
	
	.obrigatorio .div_label2 {
	float:left;
	}
	
	.aviso_form {
		clear:both;
		float:left;
		margin-top:10px;
		padding:10px;
		width:100%;
	}
	
	#aviso_form {
		background-color:#FFFF00;
		color:#000;
	}
	
	#aviso_form2 {
		background-color:#009900;
		color:#FFF;
	}
	
	#aviso_form_erro {
		background-color:#FF0000;
		color:#FFF;
	}

	.campo_separador {
		clear:both;
	}

	.input_label {
		position: absolute;
		top: -10px;
		left: 8px;
		font-size:1.3em;
		color:#333;
		font-weight: 600;
		padding:2px 5px;
		background-color: #FFF;
	}


	#regra_senha {
		display:none;
		margin-top:5px;
        font-size:1.5em;
        font-weight: bold;
	}
	
	#regra_senha span {
		font-size:1em;
		color:#FF0000;
		font-weight: normal;
	}
	
	#regra_senha .span_ok {
		color:#009900;
	}

	.erro { color:#c00; font-size:1.3em; display:block; }
    .erro-borda { border:1px solid #c00 !important;  }

	#toggler, #toggler_login {  
        position: absolute;  
        right: 20px;  
        top: 0;  
        transform: translateY(-50%);  
        cursor: pointer;  
    }
    
    .far {
        width:20px;
        height:20px;
        margin-top:22px;
        background-size: contain;
        background-position:center center;
        background-color:rgba(255,255,255,1);
	 }

     .form_escuro .far {
        margin-top:28px;
     }
	 
	 .fa-eye {
		background-image:url(../img/icon-eye-opened.png);
	 }
	 
	 .fa-eye:hover {
		background-image:url(../img/icon-eye-opened-hover.png);
	 }
	 
	 .fa-eye-slash {
		background-image:url(../img/icon-eye-closed.png);
	 }
	 
	 .fa-eye-slash:hover {
		background-image:url(../img/icon-eye-closed-hover.png);
	 }

     .msg {
        margin-top: 8px;
        font-size: 1.2em;
        color: #b00;
        text-align:center;
        
    }
    .msg.ok { color: #060; }

	.form_opcao {
		padding-top:10px;
		padding-bottom:10px;
		font-size:1em;
	}
	
	.form_opcao a {
		text-decoration:none;
		border-bottom:1px dotted #666;
		color:#666;
		cursor:pointer;
	}
	
	.form_opcao #msg {
		color:#666;
		font-size:1em;
	}

	.captcha-container {
		margin-top: 15px;
		margin-bottom: 15px;
	}

	.label-captcha {
		display:block;
		margin-bottom:8px;
		font-weight:bold;
		font-size:1.3em
	}

	.div-captcha {
		display: flex;
		align-items: center;
		gap: 10px;
		margin-bottom: 10px;
	}

	#captcha-img {
		border: 1px solid #ccc; border-radius: 4px;
	}

	.botao-recarregar {
		cursor: pointer; padding: 5px 10px;
	}

	#captcha-opcoes {
		margin-top: 10px;
		display: flex;
		flex-direction: row; /* Garante que fiquem lado a lado */
		gap: 20px; 
	}

	.linha-radio {
		display: flex;
		align-items: center;
		gap: 8px;
		cursor:pointer;
		color:#000;
	}

	.linha-radio label,  .linha-radio input {
		cursor:pointer;
	}

	.sucesso_form {
		clear: both;
		text-align: center;
	}
	.sucesso_form p {
		font-size:2.5em;
		font-weight: bold;
	}



.footer {
	float:left;
    width: 100%;
	box-shadow: 0 -2px 4px 0px rgba(0,0,0,0.2);
	-webkit-box-shadow: 0 -2px 4px 0px rgba(0,0,0,0.2);
	-moz-box-shadow: 0 -2px 4px 0px rgba(0,0,0,0.2);
		
}

.footer_center {
	max-width: 1120px;
	height:auto;
	margin:50px auto 30px auto;
	text-align:center;
	display:table;
	width:100%;
}

.coluna_apoio {
	display:inline-block;
	text-align: left;
	vertical-align: top;
	width:40%;
}

.coluna_apoio_titulo {
	font-size:1.8em;
	padding-bottom:20px;
}

.coluna_apoio_titulo_margem {
	padding-bottom:40px;
}

.coluna_rodape {
	width:33%;
	float:left;
	
}

.coluna_rodape p {
	font-size:1em;
	color:#333;
}

.coluna_rodape1 {
	text-align:left;
	margin-top:40px;
}

.coluna_rodape1 a {
	text-decoration:none;
	font-size:1em;
}

.coluna_rodape1 a:hover {
	text-decoration:none;
}




.coluna_rodape1 .div_telefone_rodape {
	font-size:2.2em;
}

.coluna_rodape2 div {
	font-size:1.3em;
	margin:20px;
}


.coluna_rodape3 {
	text-align:right;
	margin-top:40px;
}


.div_imagem_esquerda {
	width:100%;
	clear:both;
	display:block;
	margin:0 0 10px 0;
	padding:2px 0 8px 0;
	background-position:center left;
	background-repeat:no-repeat;
	font-size:1.5em;
}

.div_imagem_esquerda a {
	text-decoration:none;
}

svg {
	display:inline-block;
	vertical-align:middle;
	width:35px;height:35px; margin:-5px 10px 0 0;
	fill:#FFF;
}

.circle_svg {
	fill:#737373;
}

.div_contatos svg {
	width:35px;height:35px;
}


.div_contatos svg, .div_email .circle_svg, .div_local .circle_svg  {
	
}

.div_email svg, .div_local svg {
	fill:#FFF;
}


.coluna_rodape .circle_svg {
	fill:#737373;
}



.div_contato .div_email svg, .div_contato .div_local svg {
	
}

.div_contatos:hover svg, .div_email:hover .circle_svg  {
	
}

.div_email:hover svg {
	
}


.div_local svg {
	position:relative;
	margin-left:-43px;
	top:7px;
}

.div_local:hover svg {
	
}


#redes {
	position:relative;
	text-align:right;
}

.esquerda_conteudo {
	width:30%;
	margin:20px auto;
	text-align:center;
}

.direita_conteudo {
	width:65%;
}

.esquerda_conteudo div {
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
	width:100%;
	height:310px;
	margin:0 auto;
}



.div_contato {
	display:block;
	margin-bottom:2px;

	text-decoration:none;
}




.div_contatos {
	display:block;
	margin-bottom:2px;
	font-size:1.6em;
	text-decoration:none;
}


.div_local {
	padding-left:40px;

}

.div_telefone_contato {
	display:inline-block;
}

.div_telefone_contato2 {
	margin-left:20px;
}




#redes svg {
	width:40px;height:40px; margin:0 0 0 10px;
	fill:#FFF;
	position:relative;
	top:0;
}

#redes .desenho_svg {
	fill:#FFF;
}


#redes .circle_svg {
	fill:#737373;	
}

#redes a {
	padding-bottom: 10px;
	display:inline-block;
	vertical-align: top;
}

		      

#div_whatsapp {
	width:50px;
	height:50px;
	position:fixed;
	bottom:10px;
	left:15px;
	z-index:99;
	cursor:pointer;
}
		
#div_whatsapp .whatsapp {
	width:46px;height:46px;
	fill:#FFF;
}

#div_whatsapp:hover  {
	bottom:12px;
	left:12px;
}

#div_whatsapp:hover .whatsapp {
	width:50px;height:50px;
}

#div_whatsapp .logo_green {
	fill:#54CC62;
}

		

#lightSlider {
		margin:0;
	}


#lightSlider li {
	background-image:none;
}



.slide {
	margin:10px 10px 10px 0;
	width:90%;
	height: 170px;
	display:table;
	text-align:center;
	overflow:hidden;
	}



.slide div {
	display:table-cell;
	vertical-align:middle;
}
	
.slide img {
	max-height:100%;
	max-width:100%;
}
	
.link_slide {
		float:left;
		width:5%;
		height:200px;
		margin-top:10px;
		
	}

.link_slide a {
		position:relative;
		top:30%;
		width:100%;
		height:60px;
		float:left;
		background-repeat: no-repeat;
		background-position:left center;
		background-image: url(../img/arrow_left.png);
		cursor:pointer;
	}

	
	.link_slide:last-child a, .link_slide_dir a {
		background-image: url(../img/arrow_right.png);
		background-position:right center;
	}
	
	.container_slider {
		float:left;
		width:90%;
		height:auto;
	}

		
		
		
	
/* ==========================================================================
   Media Queries
   ========================================================================== */

   
   

@media screen and (max-width: 1180px) {
	
	
	.container, .container_animacao {
		padding:0 20px;
	}
	
	
}


@media screen and (max-width: 950px) {

	#logo {
		position: absolute;	
		z-index:20;
	}


	.holder_secao .principal {
		width:104.2%;
	}



.wrap {
		 max-width: 100%;
		 margin: 0;		 
	}
	
	.drop {
     height: 40px;
     position: relative;
	 z-index: 10;
	 margin-top:0;
  }
  
  .ico_menu {
	  display:block;
	}
	
	.nav-toggle {
			display: block;
			position:absolute;
			padding: 0;
			margin: 25px 0 0 0;
			right:0;
			z-index:10;
	   }
  
	.nav {
		display:none;
	}
	
	.drop_menor {
	margin-top: -12px;
	}
	
	
	


}






@media screen and (max-width: 920px) {
	
	.holder_secao .principal {
		width:104.8%;
	}
	
	
	
	.container_esquerda, .container_esquerda_inner, .container_direita {
		width:100%;
		margin:0;
	}
	
	.container_direita {
		margin-top:50px;
	}
	
	

	
	.esquerda {
		width:100%;
	}
	
	.esquerda_conteudo div {
		width:500px;
	}
	
	.direita {
		clear:both;
		width:100%;
	}
	
	#texto_frase {
		width:60%;
	}
	

	

		
	.duas_colunas_formulario, .duas_colunas_contato {
		width:100%;
	}
	
	

	.duas_colunas_contato {
		margin-top:80px;
	}
	
	.div_contatox {
		min-height:auto;
		padding-bottom:10px;
	}
	
	
}


@media screen and (max-width: 800px) {


	.grid {
		grid-template-columns: repeat(1, 1fr);
		gap: 0;
	}


	.coluna_rodape {
		width:100%;
	}
	
	.coluna_rodape1 {
		margin-top:0;
	}

	.coluna_rodape1, .coluna_rodape3 {
		text-align:center;
		padding:0;
	}


	
	.coluna_rodape2 {
		margin-top:40px;
	}
	
	
	.coluna_rodape3, #redes {
		text-align:center;
		margin-top:20px;
	}
	
	#redes svg{
	width:50px;height:50px; margin:0 10px 0 10px;
	}
	
	#redes #whatsapp {
	width:56px;height:56px;
	}
}

@media screen and (max-width: 768px) {
	
	.swiper {
        max-width: 728px;
        aspect-ratio: 728 / 600;
    }

    .slide-scale {
        transform-origin: center center;
    }

    .slide-layout {
        justify-content: center;
    }

    .content {
        margin-top: 800px;
        margin-left: 0;
        width: 1120px;
        font-size: 1.5em;
        text-align: center;
    }

    .swiper-button-prev,
    .swiper-button-next {
        transform: scale(0.6);
    }

    .swiper-pagination {
        /*display: none;*/
    }

	.animacao_lateral {
		display: none;
	}

	.banner_horizonal {
		display: flex;
	}

	.container_animacao {
		/* MUDANÇA: Transforma o layout em 1 coluna única que ocupa 100% da largura */
		grid-template-columns: 1fr;
		/* Opcional: remove o gap lateral já que não há mais uma segunda coluna */
		column-gap: 0; 
	}

	.grade-fotos {
		/* MUDANÇA: Transforma o layout em apenas 2 colunas no celular */
		grid-template-columns: repeat(2, 1fr);
		/* Opcional: reduz o espaço entre as fotos no celular para ganhar área de tela */
		gap: 12px; 
	}


	.col-container {
		display:none;
	}
	
	
	.botaox2 {
		clear:both;
		display:block;
	}
	
	.botaox2 a {
		font-size:1.6em;
		line-height:1em;
	}
	
	.div_areas {
		margin-top:10px;
		margin-bottom:30px;
	}
	

	
	
	.botaox .mostra {
		display:none;
	}
	
	.holder_secao .principal {
		width:106%;
	}
	
	
	
	
	
	.holder_depoimento svg {
		width:50px;height:50px;
	}
	


}



@media screen and (max-width: 650px) {
	
	

	.holder_conteudo {
		min-height:400px;
	}
	
	.holder_secao .principal {
		width:107.4%;
	}
	
	
	
	.holder_cabecalho h1 {
		font-size:3em;
	}
	
	
	
	
	
	

	.iframe_video {
		width:100%;
	}
	
	
	.foto_lista {
		height:120px;
	}


		
	.duas_colunas_formulario, .duas_colunas_contato {
		width:100%;
	}
	
	.duas_colunas_contato2 {
		margin-top:70px;
	}



	.coluna_apoio {
		width:280px;
		margin-bottom:40px;
	}

	.coluna_apoio_titulo_margem {
		padding-bottom:10px;
	}


	
}


@media screen and (max-width: 520px) {
	
	
	#texto_frase {
		width:100%;
	}
	
	.esquerda_conteudo div {
		width:100%;
	}
	
	.holder_conteudo p {
		/*text-align:left;*/
	}
	
	
	.holder_secao .principal {
		margin-left:0;
		width:100%;
	}
	
	
	
	
	.lista li {
		text-align:left;
	}
	
	
	.holder_parceiros {
		padding:100px 0 80px 0;
	}
	
	
	.sidenav_opened {
		width:100%;
	}
	
	.menu_side li a {
		font-size:1.3em;
	}
	
	.menu_side .subs li a, .menu_side .subs li:last-child a {
		font-size:0.7em;
		padding:0 20px 0 2px;
		line-height: 1.3em;
	}
	
	
}


@media screen and (max-width: 450px) {
	
	
	.link_slide {

		height:150px;
		
	}

	.sucesso_form {
		width:100%;
	}

	
	
}

@media screen and (max-width: 420px) {

	.box_titulo {
		font-size:1.8em;
	}

	.box-imagem {
		width: 90px;
		height: 90px;
	}

	.box-imagem-2 {
		width: 90px;
	}
}

@media screen and (max-width: 390px) {

	.grade-fotos {
		grid-template-columns: repeat(1, 1fr);
		gap: 12px; 
	}

}

@media screen and (max-width: 370px) {
	
	.coluna_rodape2 br {
		display:none;
	}
}



.clearfix:before,
.clearfix:after {
    content: " "; 
    display: table; 
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

/* 	PAGINAÇÃO #################################################################
###############################################################################
############################################################################ */

.paginacao-container{

    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
    margin:50px 0;

}

.pag-num,
.pag-btn{

    min-width:42px;
    height:42px;

    display:flex;
    justify-content:center;
    align-items:center;
	font-size:1.4em;
    border-radius:10px;

    background:#666;
    color:#FFF;

    text-decoration:none;

    transition:.25s;

}

.pag-num:hover,
.pag-btn:hover{

    background:#555;

}

.pag-num.active{

    background:#FFF;
    color:#666;

    font-weight:bold;

}

.pag-btn.disabled{

    opacity:.35;
    pointer-events:none;

}


/* 	FIM PAGINAÇÃO ############################################################# */
