* {
	font-family: Montserrat, "Open Sans", Helvetica, Arial, sans-serif;
}

h1 {
	text-align: center;
	color: black;
	font-size: 3vw;
}

h2 {
	text-align: center;
	color: black;
	font-size: 2vw;
}

.atalho {
	padding: 0 10px 10px 10px;
	margin-bottom: 10px;
	color: #1B233B;
	font-size: 26px;
}

.atalho:hover:not(.active) {
	color: #606064;
	text-decoration: none;
}

a {
	text-decoration:none;
	color: white;
}

a:hover {
	text-decoration: none;
	color: white;
}

.link {
	text-decoration:none;
	color: #1B233B;
}

.link:hover {
	text-decoration: underline;
	color: #606064;
}

.menu {
	width: 100%;
	margin-top: 0.08vw;
	font-size: 1.3vw;
}

.dropdown {
	position: relative;
	color: #fff;
	display: inline-block;
	background: #1B233B;
	border-width: 0 0.08vw 0 0;
	border-color: #fff;
	border-style: solid;
	min-width: 12.1vw;
}

.dropdown:last-child {
	border-width: 0;
}

.dropdown-content {
	display: none;
	position: absolute;
	background-color: #1B233B;
	min-width: 16vw;
}

.dropdown:hover .dropdown-content {
	display: block;
}

.menuHeader {
	padding: 0.4vw;
}

.menuItem {
	padding: 0.4vw;
	border-width: 0.08vw 0 0 0;
	border-style: solid;
}

.menuItem:hover {
	background-color: #606064;
}

form {
	text-align: center;
}

form label, p {
	font-size: 1vw;
	margin-right: 0.4vw;
}

input, select, .file-upload {
	padding: 0.8vw;
	margin: 0.4vw 0;
	display: inline-block;
	border-style: solid;
	border-color: #ccc;
	border-width: 0 0.15vw 0.15vw 0;
	border-radius: 0.4vw;
	box-sizing: border-box;
	max-width: 12vw;
	width: 12vw;
	font-size: 1vw;
	font-weight: normal;
}

.hidden {
	display: none;
}

input.name, input.email {
	max-width: 16vw;
	width: 16vw;
}

input.obs {
	max-width: 32vw;
	width: 32vw;
}

input:focus, select:focus, a:focus{
	outline-color: #ccc;
}

input[type=submit], input[type=button], .file-upload, button {
	width: 100%;
	background-color: #1B233B;
	color: white;
	padding: 0.8vw;
	border: none;
	border-radius: 0.4vw;
	cursor: pointer;
}

input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button, input[type=date]::-webkit-inner-spin-button, input[type=date]::-webkit-outer-spin-button { 
	-webkit-appearance: none; 
}

input[type=checkbox] {
	padding: 0;
	margin: 0;
	border-width: 0;
	width: auto;
}

.required {
	border: solid;
	border-width: 0 0.15vw 0.15vw 0;
	border-color: #1B233B;
}

.required-red {
	border: solid;
	border-width: 0 0.15vw 0.15vw 0;
	border-color: #ff2222;
}

.legenda {
	color: #1B233B;
}

.main {
	float: left;
	text-align: center;
	width: 100%;
}

.topo {
	height: 10vw;
	background-color: #1B233B;
	color: white;
	padding: 0.4vw;
}

.topo a img {
	height: 100%;
}

.login {
	text-align: center;
	float: right;
	font-size: 1.6vw;
	margin: 0.4vw;
}

.login input {
	width: 100%;
	background-color: #606064;
	color: white;
	padding: 0.8vw;
	border: none;
	border-radius: 0.4vw;
	cursor: pointer;
	font-size: 1.6vw;
}

.login input:hover:not(.active) {
	background-color: #CFB48C;
}

.login span {
	width: 100%;
	background-color: #606064;
	color: white;
	padding: 0.8vw;
	border: none;
	border-radius: 0.4vw;
	cursor: pointer;
}

.login span:first-of-type {
	margin-bottom: 0.8vw;
}

.login span:hover:not(.active) {
	background-color: #CFB48C;
}

.login span label {
	font-weight: normal;
	display: inline;
}

.center {
	text-align: center;
}

.center-right {
	width: 60vw;
	text-align: right;
}

table,td,th {
	border-collapse:collapse;
	color: black;
	padding: 0.4vw;
	text-align: left;
	margin: auto;
}

tr:nth-child(even){background-color: #e2e2ee}

th {
	background-color: #1B233B;
	color: white;
}

.tableLast1 tr td:last-child {
	background-color: white;
	cursor: pointer;
}

.tableLast1 tr td:last-child:hover:not(.active) {
	color: #CFB48C;
}

.tableLast2 tr td:nth-last-child(-n+2) {
	background-color: white;
	cursor: pointer;
}

.tableLast2 tr td:nth-last-child(-n+2):hover:not(.active) {
	color: #CFB48C;
}

.tableLast3 tr td:nth-last-child(-n+3) {
	background-color: white;
	cursor: pointer;
}

.tableLast3 tr td:nth-last-child(-n+3):hover:not(.active) {
	color: #CFB48C;
}

.totais td {
	background-color: white;
	text-align: left;
}

.noColors td, .noColors tr td, .noColors tr th { /* remove coloração de fundo e coloca as letras em preto, utilizado em tabelas */
	background-color: white;
	color: black;
}

.noResults, .noResults:hover {
	font-size: 2vw;
	color: black !important;
}

.clear {
	margin: 0;
	padding: 0;
	border-width: 0 0.15vw 0.15vw 0;
	border-radius: 0.2vw;
	max-width: 9.6vw;
	width: 9.6vw;
}

.shortField {
	max-width: 2vw;
	width: 2vw;
}

@media screen and (max-width: 480px) {
	h1 {font-size: 6vw;}

	h2 {font-size: 4vw;}

	form label, p {
		margin-right: 0.8vw;
		font-size: 2.8vw;
	}
	
	input, select, .file-upload {
		padding: 0.8vw;
		margin: 0.8vw 0;
		border-width: 0 0.3vw 0.3vw 0;
		border-radius: 0.8vw;
		max-width: 24vw;
		width: 24vw;
		font-size: 2.8vw;
		font-weight: normal;
	}

	select, input[type=date] {background-color: white;}

	input[type=submit], input[type=button], .file-upload, button {border-radius: 0.8vw;}

	input.name, input.email {
		max-width: 32vw;
		width: 32vw;
	}

	input.obs {
		max-width: 64vw;
		width: 64vw;
	}

	.required, .required-red {border-width: 0 0.3vw 0.3vw 0;}

	.topo {
		height: 20vw;
	}

	.login input {
		border-radius: 0.8vw;
		padding: 2vw 1.2vw;
	}

	.login span {
		border-radius: 0.8vw;
		padding: 2vw 1.2vw;
	}

	.center-right {
		width: 70vw;
		text-align: right;
	}

	.menu {
		margin-top: 0.4vw;
		font-size: 3.2vw;
	}

	.dropdown {
		min-width: 22vw;
	}

	.dropdown-content {
		min-width: 36vw;
	}

	.menuHeader {
		padding: 2vw 1.2vw;
	}

	.menuItem {
		padding: 2vw 1.2vw;
	}

	.login, .login input {
		font-size: 3.9vw;
	}
}