@charset "utf-8";
/* CSS Document */

/* Formatações padrão de layout
/* ............................ */

body {
	margin: 0;
	padding: 0;
}

	header, main, footer { 
		width: 100%;
		padding: 0;
	}

		section {
			--tamSection: 980px;
			max-width: var(--tamSection);
			padding: var(--espacoBloco) 0;
			margin-left: auto;
			margin-right: auto;
			position: relative;
			z-index: 1;
		}

			section::before {
				content: "";
				position: absolute;
				top: 0;
				left: calc((var(--tamSection) / 2) - 50vw);
				width: 100vw;
				height: 100%;
				z-index: -1;
			}

		:is(header, main, footer) > .pd-0 { padding: 0; }
		:is(header, main, footer) > .pd-30 { padding: 30px 0; }
		:is(header, main, footer) > .pd-50 { padding: 50px 0; }

/* Cabeçalho
/* ......... */

header {
	position: relative;
	top: 0px;
	background: var(--backBranco);
}

	header > .sec-info-cab > div {
		display: inline-flex;
		align-items: start;
		padding: 0;
		margin: 0 10px;
	}

	/* cabeçalho com icone de matriculas */
	/* ................................. */
	header > .sec-info-cab.cab-matriculas {
		padding: 35px 0 40px !important;
		position: relative;
		top: 0px;
	}

		header > .sec-info-cab.cab-matriculas > div {
			width: unset !important;
			justify-content: right;
			display: flex;
		}

		header > .sec-info-cab.cab-matriculas .bt-mais {
			margin: 0 5px;
			padding: 8px 15px;
			text-transform: uppercase;
		}

		header > .sec-info-cab.cab-matriculas img {
			margin: 0 0 0 15px;
			width: 110px;
			margin-top: -25px;
		}
	/* ................................. */

		header > .sec-info-cab > div:nth-of-type(1) {
			width: 290px;
		}

		header > .sec-info-cab > div:nth-of-type(2) > .bt-mais {
			margin: 0 7px;
			padding: 8px 15px;
			text-transform: uppercase;
		}

	header > .sec-corpo-cab {
		z-index: 3;
	}
	
		header > .sec-corpo-cab .logotipo {
			filter: drop-shadow(-4px 3px 3px rgba(0,0,0,0.2));
			float: left;
			margin: -80px 0 0 0;
			width: 270px;
			position: absolute;
		}

			header > .sec-corpo-cab > .sociais {
				float: right;
				position: relative;
				top: -90px;
			}

				header > .sec-corpo-cab > .sociais a {
					display: inline-block;
					margin: 0 3px;
				}

				header > .sec-corpo-cab > .sociais img {
					width: 20px;
				}

/* Rodapé
/* ....... */

footer {
	background: var(--corPadrao5);
}

	footer * {
		color: var(--backBranco);
	}

	footer > .contato { padding-bottom: 30px; }

	footer > .contato > div {
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		flex-wrap: wrap;
		gap: 60px;
	}

		footer > .contato > div > div:nth-of-type(1) {
			flex: 1 400px;
		}

		footer > .contato > div > div:not(:nth-of-type(1)) {
			flex: 1 230px;
			align-self: center;
		}

			footer > .contato > div > div:nth-of-type(2) li {
				list-style: none;
				margin: 10px 0;
			}

				footer > .contato > div > div:nth-of-type(2) img {
					width: 15px;
					position: relative;
					top: 3px;
					margin-right: 10px;
				}

	footer > .copyright div {
		border-top: 1px solid var(--backCorpo);
		text-align: center;
		padding: 45px 0 0 0;
		font-size: 0.8rem;
	}

		footer > .copyright a {
			float: right;
			margin-top: -9px;
		}
		
			footer > .copyright img {
				filter: grayscale(1) brightness(10);
				width: 20px;
			}

/* Menu Interno
/* ........ */

aside {
	padding: 0 0 0 30px;
	border-left: 2px solid var(--corPadrao3);
	width: 220px;
}

	aside > div {
		display: inline-block;
		width: 100%;
		margin: 0 0 30px 0;
	}

		aside > div > a > img {
			border-radius: 10px;
			height: 80px;
			width: 30%;
			object-fit: cover;
			float: left;
			margin: 0px 20px 10px 0;
		}

		aside > div > a > p:nth-of-type(1) {
			color: var(--corPadrao3);
			font-weight: bold;
		}

/* Seta de retorno
/* ............... */

#setaAncora {
	position: fixed;
	cursor: pointer;
	top: 42vh;
	right: 3vw;
	padding: 20px 12px;
	font-size: 2.5rem;
	border-radius: 10px;
	color: var(--backBranco);
	background-color: var(--corPadrao3);
	box-shadow: inset 0 0 0 1px var(--backCorpo);
	transition: all 0.3s ease-out;
	opacity: 0;
	z-index: 99;
}

	#setaAncora:hover {
		background-color: var(--corPadrao4);
	}

/* Página Interna
/* .............. */
.cab-int {
	text-align: center;
	padding: 50px 0;
	margin-bottom: -50px;
	z-index: 2;
}

	.cab-int * {
		color: var(--backBranco);
		font-weight: bold;
	}

	.cab-int .mapa-pgn { margin-top: 20px; }
	.cab-int .mapa-pgn > div { display: inline-block; }

	.cab-int .mapa-pgn > div::before {
		content: "";
		position: relative;
		display: block;
		top: -2px;
		width: 7px;
		height: 7px;
		margin: 0 15px;
		border-radius: 50%;
		background: var(--backBranco);
	}