* {
	position: relative;
	margin: 0;
	padding: 0;
	border: 0;
	color: inherit;
	text-decoration: none;
	font-family: 'Open Sans', sans-serif;
}

body {
	min-height: 100vh;
	width: 100%;
	overflow-x: hidden;
}

	input:not([type="checkbox"]),
	select,
	textarea {
		float: left;
		width: 100%;
		font-weight: 700;
		font-style: italic;
		font-size: 16px;
		padding: 10px 15px;
		border: solid 1px;
		resize: none;
		margin-bottom: 10px;
		box-sizing: border-box;
	}

	button {
		float: left;
		width: 100%;
		border: solid 1px;
		background: none;
		text-transform: uppercase;
		font-size: 16px;
		line-height: 40px;
		transition: 0.4s;
		-webkit-transition: 0.4s;
	}

	button:hover {
		background-color: #e9e9e9;
		cursor: pointer;
		border-radius: 25px;
	}

	/* TOPO */
	.topo {
		padding: 5px 35px 15px;
		position: fixed;
		top: -2px;
		width: 100%;
		height: 85px;
		background-color: #f0f0f0;
		border: 2px solid #e0e0e0;
		opacity: 0.85;
		transition: 0.4s;
		-webkit-transition: 0.4s;
		z-index: 9000;
	}

	.topo:hover {
		opacity: 1;
	}

		.topo-logo {
			float: left;
			height: 69px;
			width: 200px;
			clear: both;
		}

		.topo-apresenta {
			float: left;
			font-size: 10px;
			margin-bottom: 5px;
			width: 200px;
			text-align: center;
			clear: both;
		}

			.topo-apresenta span {
				font-weight: 800;
			}

		.topo-nav {
			float: right;
			margin-top: -10px;
			margin-right: 45px;
		}

			.noticias {
				color: #c50f2b;
				border-color: #c50f2b;
			}
			
			.atracoes {
				color: #09a74b;
				border-color: #09a74b;
			}
			
			.programacao {
				color: #242424;
				border-color: #242424;
			}
			
			.parceiros {
				color: #00669a;
				border-color: #00669a;
			}
			
			.historia {
				color: #f49e1d;
				border-color: #f49e1d;
			}
			
			.contato {
				color: #983298;
				border-color: #983298;
			}

			.topo-nav-link:hover { border-color: inherit; }

			.topo-nav-link {
				display: block;
				float: left;
				margin: 0 15px;
				text-align: center;
				transition: 0.2s;
				-webkit-transition: 0.2s;
				border-bottom: 3px solid transparent;
			}

				.topo-nav-link-ico {
					display: inline;
					width: 50px;
					height: 50px;
					margin: 0 auto;
				}

				.topo-nav-link p {
					clear: both;
					font-weight: 800;
				}
				
		.banners {
			float: left;
			margin-top: 105px;
			width: 100%;
			height: 35vw;
			background-color: #242424;
			overflow: hidden;
		}

			.banners-seta {
				position: absolute;
				z-index: 10;
				top: 16vw;
				opacity: 0.3;
				transition: 0.4s;
				-webkit-transition: 0.4s;
			}

			.banners-seta:hover {
				opacity: 1;
				cursor: pointer;
			}

				.banners-seta.esquerda { left: 25px; display: none; }
				.banners-seta.direita { right: 25px; display: block; }

			.banners-item {
				float: left;
				width: 100%;
				height: 100%;
				background-position: center center;
				background-repeat: no-repeat;
				background-size: 100%;
			}

		.box {
			float: left;
			width: 100vw;
		}

			.centro {
				margin: 0 auto;
				width: 960px;
			}

			.box-centro {
				margin: 50px 0;
				float: left;
				width: 100%;
				padding-left: 20px;
				border-left: solid 5px;
				box-sizing: border-box;
			}

			.box-header {
				float: left;
				width: 100%;
				margin-bottom: 25px;
			}

				.box-header img {
					float: left;
					width: 40px;
					height: 40px;
					margin-right: 10px;
				}
				
				.box-header h1 {
					float: left;
					font-size: 28px;
					line-height: 40px;
					font-weight: 800;
				}

			.box-content {
				float: left;
				width: 100%;
			}

				.atracoes-item {
					float: left;
					width: 310px;
					margin-bottom: 25px;
					color: #242424;
				}

					.atracoes-item img {
						float: left;
						width: 75px;
						height: 75px;
						margin-right: 15px;
						border: solid 2px;
						border-radius: 100%;
					}

					.atracoes-item h2 {
						float: left;
						font-size: 20px;
						font-weight: 700;
						width: 200px;
						text-transform: uppercase;
					}

					.atracoes-item p {
						float: left;
						font-size: 14px;
						font-style: italic;
						width: 200px;
					}

				.inscricoes-item {
					float: left;
					width: 210px;
					padding: 25px 13px;
					background-color: #f8f8f8;
					border: #a0a0a0 solid 1px;
					box-sizing: border-box;
					margin-top: 50px;
					margin-bottom: 50px;
					margin-right: 40px;
				}

				.inscricoes-item:last-child { margin-right: 0; }

					.inscricoes-item h2 {
						float: left;
						text-align: center;
						font-weight: 800;
						font-size: 22px;
						line-height: 20px;
						margin-bottom: 25px;
					}

					.inscricoes-item p {
						float: left;
						text-align: center;
						font-size: 14px;
						font-style: italic;
						color: #666;
						margin-bottom: 25px;
					}

				.programacao-nav {
					float: left;
					width: 100%;
				}

					.programacao-nav-item {
						float: left;
						width: 85px;
						padding: 13px 0;
						color: #666;
					}

					.programacao-nav-item.ativo {
						color: #333;
						outline: #000 solid 1px;
						background-color: #f0f0f0;
					}

					.programacao-nav-item:hover:not(.ativo) {
						outline: #a0a0a0 solid 1px;
						background-color: #f8f8f8;
						cursor: pointer;
					}

						.programacao-nav-item div {
							float: left;
							width: 100%;
							text-align: center;
							font-size: 14px;
						}

						.programacao-nav-item-data {
							font-weight: 800;
							font-size: 30px !important;
							line-height: 30px;
						}

				.programacao-tabela {
					float: left;
					margin: 25px 0;
					width: 100%;
				}

					.programacao-tabela table {
						float: left;
						width: 100%;
						border-collapse: collapse;
					}

						.programacao-tabela th,
						.programacao-tabela td {
							height: 55px;
							padding: 0 5px;
							box-sizing: border-box;
							vertical-align: middle;
						}

						.programacao-tabela th {
							text-align: right;
							width: 150px;
							padding-left: 0;
							font-weight: 800;
							font-size: 20px;
						}

						.programacao-tabela td {
							font-size: 14px;
							line-height: 18px;
							padding-left: 15px;
						}

						.programacao-tabela td:not(:last-child) {
							width: 650px;
						}

						.programacao-tabela td:last-child:not(.inscricao):before {
							display: inline;
							position: relative;
							content: url('../img/ico-mapa-programacao.png');
							vertical-align: middle;
							width: 15px;
							height: 15px;
							top: -2px;
							margin-right: 5px;
						}

						.programacao-tabela td b {
							font-weight: 800;
						}	

						.programacao-tabela td:last-child {
							font-size: 20px;
							line-height: 55px;
							width: 250px;
						}

				.parceiros-lei {
					display: block;
					margin: 0 auto 50px;
					width: 170px;
					height: 200px;
				}

					.parceiros h2 {
						float: left;
						width: 100%;
						clear: both;
						margin-bottom: 25px;
						font-weight: 400;
						color: #242424;
					}

					.parceiros-realizacao,
					.parceiros-patrocinio {
						height: 200px;
						width: 100%;
						margin-bottom: 75px;
						text-align: center;

					}

					.parceiros-realizacao { float: right; }
					.parceiros-patrocinio { float: left; }

						.parceiros-realizacao img,
						.parceiros-patrocinio img {
							display: inline;
							padding: 0 25px;
							vertical-align: middle;
						}

					.parceiros-apoio,
					.parceiros-apoio-itens {
						float: left;
						width: 100%;
						text-align: center;
					}

						.parceiros-apoio img {
							display: inline;
							padding: 10px;
							vertical-align: middle;
						}

				.contato-esquerda {
					float: left;
					width: 500px;
				}

					.contato-esquerda-botao {
						margin: 0 auto;
						width: 250px;
					}

					.contato-esquerda-item {
						float: left;
						width: 100%;
						margin-top: 25px;
					}

					.contato-esquerda-item:first-child {
						margin-top: 50px;
					}

						.contato-esquerda-item img {
							float: left;
							height: 50px;
							width: 50px;
							margin-right: 15px;
						}

						.contato-esquerda-item p {
							float: left;
							font-size: 22px;
							margin-top: 8px;
							color: #606060;
						}

				.contato-facebook {
					display: block;
					float: right;
					width: 400px;
					height: 560px;
					border: solid 1px;
				}

		.lightbox {
			display: none;
			position: fixed;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background-color: rgba(24, 24, 24, 0.8);
			z-index: 9999;
			overflow: auto;
		}

			.lightbox::-webkit-scrollbar {
				width: 10px;
			}

			.lightbox::-webkit-scrollbar-track {
				-webkit-box-shadow: inset 0 0 6px rgba(100, 100, 100, 0.3); 
				-webkit-border-radius: 10px;
				border-radius: 15px;
			}

			.lightbox::-webkit-scrollbar-thumb {
				-webkit-border-radius: 10px;
				border-radius: 15px;
				background: rgba(150, 150, 150, 0.8); 
				-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); 
			}

		.lightbox.parceiros .lightbox-centro {
			width: 60%;
			margin-left: 20%;
		}

		.lightbox.contato .lightbox-centro {
			width: 76%;
			margin-left: 12%;
		}

			.lightbox-fechar {
				position: fixed;
				top: 25px;
				right: 25px;
				font-weight: 800;
				font-size: 20px;
				line-height: 14px;
				color: #fff;
				padding: 10px;
				border: #fff solid 2px;
				border-radius: 25px;
				-webkit-transition: 0.4s;
				transition: 0.4s;
			}

			.lightbox-fechar:before {
				content: 'FECHAR';
			}

			.lightbox-fechar:hover {
				background-color: #000;
				cursor: pointer;
			}

			.lightbox-centro {
				float: left;
				width: 100%;
				padding: 25px;
				margin: 25px 0;
				background-color: #f8f8f8;
				-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.9);
				-moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.9);
				box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.9);
				box-sizing: border-box;
			}

				.lightbox-centro h1 {
					border: solid 1px;
					padding: 15px;
					text-align: center;
				}

				.lightbox-content {
					float: left;
					margin-top: 25px;
				}

					.lightbox-content-esquerda {
						float: left;
						font-weight: 400;
						font-size: 18px;
						margin-bottom: 15px;
					}

						.lightbox-content-esquerda p {
							float: left;
							width: 100%;
							margin: 8px 0;
						}

						.lightbox-content-esquerda table {
							float: left;
							width: 100%;
							margin: 15px 0;
							border-collapse: collapse;
							border: solid 1px;
							font-size: 14px;
							box-sizing: border-box;
						}

							.lightbox-content-esquerda table .borda {
								border-bottom: solid 1px;
							}

							.lightbox-content-esquerda table th {
								background-color: #983298;
								font-weight: 000;
								color: #fff;
								/*text-align: center;*/
								font-size: 20px;
								padding: 7px 15px;
							}

							.lightbox-content-esquerda table td {
								padding: 5px 15px;
							}

							.lightbox-content-esquerda-autor {
								font-weight: 700;
								text-align: right;
							}

					.lightbox-content-direita {
						float: left;
						margin-top: 25px;
					}

					.noticias table {
						table-layout: fixed;
					}

						.noticias table th {
							background-color: #c50f2b;
							line-height: 16px;
							vertical-align: middle;
						}

							.noticias table th span {
								font-weight: 400;
								font-size: 12px;
								line-height: 16px
							}

						.noticias table td {
							font-size: 12px;
							vertical-align: top;
							border: solid 1px;
							padding: 10px 5px;
						}

						.lightbox-opcao {
							float: left;
							font-size: 16px;
							line-height: 14px;
							text-indent: 5px;
							width: 49%;
							margin: 10px 0;
							vertical-align: middle;
							height: 30px;
						}
							
							.lightbox-opcao input {
								display: inline;
								float: left;
							}

		.rodape {
			float: left;
			padding: 25px 0;
			width: 100vw;
			background-color: #242424;
			color: #f8f8f8;
			text-align: center;
			font-weight: 700;
		}

			.rodape a {
				text-decoration: underline;
			}

		.carregando {
			display: inline;
			vertical-align: middle;
		}

		.alerta {
			position: fixed;
			left: 5px;
			bottom: -200px;
			padding: 10px 15px;
			border: solid 1px;
			opacity: 0.9;
			-webkit-box-shadow: inset 0 0 6px rgba(100, 100, 100, 0.3);
			font-weight: 700;
			z-index: 9999;

		}

			.alerta.sucesso {
				background-color: #bcffab;
				border-color: #0f754f;
				color: #0f754f;
			}

			.alerta.fracasso {
				background-color: #f0ceba;
				border-color: #e61c11;
				color: #e61c11;
			}