
* {
	pointer-events: inherit;
	position: relative;
	vertical-align: top;
	direction: inherit;

	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;

	padding: 0px;
	border: none;
	margin: 0px auto 0px auto;
	outline: none;
	
	font-size: inherit;
	line-height: inherit;
	
	font-family: inherit;
	font-weight: inherit;
	font-style: inherit;
	color: inherit;
	text-align: inherit;

	background-repeat: no-repeat;
	background-position: top center;	
}
/*-------------------------------------------------------------*/
html {
	height: 100%;
}

html, 
body {
	font-size: 14px;
	line-height: 1.6em;
}

body {
	direction: ltr;
	height: 100%;
	overflow-x: hidden;
	
	font-weight: normal;
	font-style: normal;	
	font-family: 'Roboto', 'Arial', 'Verdana';
	color: #333;
	text-align: left;

	pointer-events: auto;
	background-color: #FAFAFA;
}
@media print {
	body {
		font-family: 'Georgia', 'Times New Roman';
	}
}

/*-------------------------------------------------------------*/

img {
	display: inline-block;
}

img[style*="float:left"], 
img[style*="float: left"] {
	margin-right: 20px;
	margin-bottom: 5px;
}
img[style*="float:right"], 
img[style*="float: right"] {
	margin-left: 20px;
	margin-bottom: 5px;
}

/*-------------------------------------------------------------*/

a {
	cursor: pointer;
	text-decoration: none;
}
a {
	color: #093;
}

/*-------------------------------------------------------------*/

h1, 
h2, 
h3, 
h4, 
h5, 
h6 {
	display: block;
	line-height: 1.2em;
}

h1, 
h2, 
h3 {
	margin-top: 20px;
	margin-bottom: 20px;
}

h1 {
	font-size: 2rem;
	line-height: 1.6em;
}

h2 {
	font-size: 1.5rem;
	line-height: 1.6em;
}

h3 {
	font-size: 1.3rem;
	line-height: 1.6em;
}

h4 {
	margin-bottom: 10px;
	font-size: 1rem;
	line-height: 1.6em;
}

h5 {
	margin-bottom: 10px;
	font-size: 0.8rem;
	line-height: 1.6em;
}

h6 {
	margin-bottom: 10px;
	font-size: 0.7rem;
	line-height: 1.6em;
}

/*-------------------------------------------------------------*/

strong, 
b {
	font-weight: bold;
}

s, 
strike, 
del {
	text-decoration: line-through;
}

ins {
	text-decoration: underline;
}

i, 
em {
	font-style: italic;
}

/*-------------------------------------------------------------*/

code {
	font-family: Consolas, Courier;
}

q {
	display: inline;
	quotes: '"' '"';
	font-weight: bold;
}

sub, 
sup {
	display: inline-block;
	font-size: 0.8em;
}

sub {
	margin-top: 0.3em;
}
sup {
	margin-top: -0.3em;
}

/*-------------------------------------------------------------*/

.ellipsis {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.unselectable {
	-moz-user-select: none;
	-webkit-user-select: none;
}

.intangible {
	pointer-events: none;
}

/*-------------------------------------------------------------*/

address {
	display: inline-block;
	vertical-align: top;
}

/*-------------------------------------------------------------*/

div, 
header, 
footer, 
fieldset, 
table, 
nav, 
hr {
	width: 100%;
}

header, 
footer, 
article {
	display: block;
	width: 100%;
}

div, 
article, 
header, 
footer, 
td, 
th, 
p {
	word-wrap: break-word; /*long words break to next line*/
}

/*-------------------------------------------------------------*/

p, 
pre, 
blockquote {
	display: block;
	margin-top: 20px;
	margin-bottom: 20px;
}

blockquote {
	padding: 10px;
	border: 1px solid #e5e5e5;
	background-color: #FAFAFA;
}
blockquote[cite]:after {
	display: block;
	content: "~ " attr(cite) " ~";
	font-size: 0.8em;
	line-height: 1.6em;
	font-weight: bold;
}

/*-------------------------------------------------------------*/

hr {
	display: block;
	width: 100%;
	margin-top: 20px;
	margin-bottom: 20px;
	border-top: solid 1px #9a9999;
}

/*-------------------------------------------------------------*/

object, 
embed, 
iframe {
	display: block;
}
object embed {
	width: inherit;
	height: inherit;
}

/*-------------------------------------------------------------*/

table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 20px;
	margin-bottom: 20px;
	caption-side: top;
}
	th, 
	td {
		padding: 5px;
	}

	th {
		font-weight: normal;
		color: #ffffff;
		background-color: #005bcc;
	}
	
	td[rowspan], 
	.middle-aligned td, 
	.middle-aligned th {
		vertical-align: middle;
	}

	caption {
		padding: 5px;
		text-align: center;
		background-color: #e1e1e1;
	}

/*zebra----*/

table.zebra-striped tr {
	background-color: #fff;
}

table.zebra-striped tbody tr:nth-child(2n+1) {
	background-color: #f2f2f2;
}

/*-------------------------------------------------------------*/

ul, 
ol {
	list-style-position: inside;
}

ul, 
ol, 
dl {
	margin-top: 20px;
	margin-bottom: 20px;
}

ul ul, 
ol ol, 
ul ol, 
ol ul {
	margin-bottom: 0px;
}

li ul, 
li ol, 
dl dd {
	margin-left: 20px;
}

li, 
dd, 
dt {
	margin-top: 10px;
	margin-bottom: 10px;
}

li ol:first-child, 
li ul:first-child, 
li dl:first-child {
	margin-top: 20px;
}

/*-------------------------------------------------------------*/

h1:first-child,  
h2:first-child,  
h3:first-child,  
h4:first-child,  
h5:first-child, 
table:first-child, 
p:first-child, 
p.column, 
blockquote:first-child, 
blockquote.column, 
ol:first-child, 
ol.column, 
ul:first-child, 
ul.column, 
dl:first-child, 
dl.column, 
li:first-child, 
fieldset:first-child {
	margin-top: 0px;
}

p:last-child, 
ol:last-child, 
ul:last-child, 
dl:last-child, 
hr:last-child {
	margin-bottom: 0px;
}

/*-------------------------------------------------------------*/

form {
	display: block;
}

fieldset {
	padding: 10px;
	border: solid 1px #bababa;
	border-radius: 2px;
	margin-top: 20px;
	margin-bottom: 20px;
	background-color: #fbfbfb;
}
	legend {
		min-width: 100px;
		padding: 5px;
		margin: 0px;
		margin-bottom: 10px;
		border: solid 1px #9a9999;
		border-radius: 2px;
		background-color: #ffffff;
		color: #000;
	}

/*-------------------------------------------------------------*/

label,
input, 
button, 
.button-like, 
textarea, 
select, 
label + fieldset, 
fieldset a, 
fieldset p, 
fieldset div.column {
	display: inline-block;
	min-width: 200px;
	
	padding: 5px;
	border: 1px solid #b6b6b6;

	border-radius: 2px;
	margin: 0px;
	margin-bottom: 10px;
	margin-right: 5px;

	font-size: 1em;
	line-height: 1.6em;
}

input:focus, 
textarea:focus, 
select:focus {
	border-color: #51a7e8;
	box-shadow:0 0 5px rgba(81,167,232,0.5)
}

/*-----------------*/

input[disabled], 
textarea[disabled], 
select[disabled] {
	background-color: #ebebe4;
}

input[readonly], 
textarea[readonly] {
	background-color: #f2f2f2;
}

/*-----------------*/

textarea {
	min-height: 100px;
}

/*-----------------*/

input[type='color'] {
	padding: 0px;
}

/*-----------------*/

input[type='range']:focus {
	box-shadow: none;
}

input[type='range'][min]:before, 
input[type='range'][max]:after {
	display: block;
	position: absolute;
	top: -2px;
}

input[type='range'][min]:before {
	left: 0px;
	content: attr(min);
}

input[type='range'][max]:after {
	right: 0px;
	content: attr(max);
}

/*-----------------*/

input[type="radio"], 
input[type="checkbox"] {
	display: inline-block;
	min-width: 20px;
	width: 20px;
	height: 20px !important;
	margin-top: 8px;
	margin-right: 5px;
}

input[type="radio"]:focus, 
input[type="checkbox"]:focus {
	box-shadow: none;
}

/*-----------------*/

select[multiple="multiple"] {
	height: auto;
	min-height: 60px;
}
	optgroup {
		margin-left: 5px;
		font-weight: bold;
	}
		option {
			padding: 5px;
			min-height: 20px;
		}

/*-----------------*/

input[type="submit"], 
input[type="button"], 
input[type="reset"], 
button, 
.button-like {
	cursor: pointer;

	border: solid 1px #838383;
	border-top-color: #a9a9a9;

	color: #000;
	text-align: center;

	background: linear-gradient(#fff, #dadada);
	box-shadow: inset 0 1px 0 0 #fefefe, inset 1px 0 0 #f2f2f2, inset -1px 0 0 #f2f2f2, inset 0 -1px 0 0 #e6e6e6
}

.button-like {
	min-width: 10px;
	width: auto;
	text-decoration: none;
}

input[type="submit"]:active, 
input[type="button"]:active, 
input[type="reset"]:active, 
button:active, 
.button-like:active {
	background: linear-gradient(#dadada, #fff);
}

/*-----------------*/

label {
	padding-left: 0px;
}

label[for] {
	cursor: pointer;
	-moz-user-select: none;
	-webkit-user-select: none;
}

/*-------------------------------------------------------------*/

fieldset fieldset {		
	border: solid 1px #b6b6b6;
	background-color: #fff;
}

label, 
fieldset p, 
fieldset a {
	border: solid 1px transparent;
}

fieldset a {
	text-decoration: underline;
}

fieldset div.column {
	padding: 0px;
	border: none;
}

/*-------------------------------------------------------------*/
/*normalizando os height.
 *everything went well, until those cunts attacked...*/

input[type="color"],
input[type="month"], 
input[type="time"],
input[type="week"], 
input[type="date"], 
input[type="datetime-local"], 
input[type="number"],  
input[type="rance"], 
input[type="range"], 
select {
	height: 34px;
}

/*responsive-------------*/

fieldset input, 
fieldset textarea, 
fieldset select, 
fieldset button, 
fieldset .button-like, 
fieldset fieldset {
	width: 100%;
	margin-right: 0px;
}

fieldset a, 
fieldset p {
	padding-left: 0px;
}

fieldset fieldset input[type="checkbox"] + label, 
fieldset fieldset input[type="radio"] + label {
	width: calc(100% - 25px);
	margin-right: 0px;
}

@media screen and (min-width : 500px) {
	fieldset a, 
	fieldset p {
		padding-left: 5px;
	}

	fieldset label + input, 
	fieldset label + textarea, 
	fieldset label + select, 
	fieldset label + button, 
	fieldset label + .button-like, 
	fieldset label + fieldset, 
	fieldset label + a, 
	fieldset label + p, 
	fieldset label + div.column {
		min-width: 0px;
		width: calc(100% - 205px);
		margin-right: 0px;
	}

	fieldset label + input[type="checkbox"] + label, 
	fieldset label + input[type="radio"] + label {
		width: calc(100% - 230px);
		margin-right: 0px;
	}
}

@media screen and (max-width: 499px) {
	fieldset label {
		width: 100%;
	}

	
}

/*-----------------*/

td input:last-child, 
td select:last-child, 
td textarea:last-child, 
form input:last-child, 
form button:last-child {
	margin-bottom: 0px;
}

/*-------------------------------------------------------------*/

.flex-container {
	display: flex;
	display: -moz-flex;
	display: -webkit-flex;

	flex-flow: row;
	-moz-flex-flow: row;
	-webkit-flex-flow: row;
}

.flex-container.vertical {
	-webkit-flex-flow: column;
	-moz-flex-flow: column;
	flex-flow: column;
}

	.flex-container > * {
		flex: 1;
		-webkit-flex: 1;
	}

/*-------------------------------------------------------------*/

.column {
	display: inline-block;
	vertical-align: top;
}
.block {
	display: block;
}

/*-------------------------------------------------------------*/

.vertical-menu, 
.vertical-menu ul, 
.vertical-menu ol {
	list-style: none;
}

	.vertical-menu li, 
	.drop-down-menu li, 
	.side-drop-down-menu li {
		padding: 5px;
		margin-top: 0px;
		margin-bottom: 0px;
		background-color: #666;
	}

		.vertical-menu li li, 
		.drop-down-menu li li, 
		.side-drop-down-menu li li {
			background-color: #888;
		}


		.vertical-menu li > a, 
		.drop-down-menu li > a, 
		.side-drop-down-menu li > a {
			display: block;
			width: 100%;
			padding: 5px;
			padding-left: 10px;
			padding-right: 10px;
			border: solid 1px transparent;
			color: #fff;
		}
		
		.vertical-menu li input, 
		.drop-down-menu li input, 
		.side-drop-down-menu li input {
			margin-bottom: 0px;
			margin-right: 0px;
		}

		.vertical-menu li input, 
		.side-drop-down-menu li input {
			min-width: 0px;
			width: 100%;
		}

/*-----------------*/

.vertical-menu {
	width: 200px;
	margin-left: 0px;
}

/*-----------------*/

.drop-down-menu {
	text-align: center;
}
	.drop-down-menu li {
		display: inline-block;
		list-style: none;
		min-height: 100%;
	}
		.drop-down-menu li ul {
			position: absolute;
			left: 0px;
			top: 100%;

			visibility: hidden;

			min-width: 200px;

			margin-left: 0px;
			margin-top: 0px;
		}
		.drop-down-menu li:hover > ul {
			visibility: visible;
		}
		.drop-down-menu li ul li {
			display: block;
		}
			.drop-down-menu li ul li ul {
				left: 100%;
				top: 0px;
			}

/*-----------------*/

.side-drop-down-menu {
	width: 200px;
	margin-left: 0px;
}

	.side-drop-down-menu li {
		width: 100%;
		position: relative;
		list-style: none;
	}
		.side-drop-down-menu li ul {
			visibility: hidden;
		}
		.side-drop-down-menu li:hover > ul {
			visibility: visible;
		}

	.side-drop-down-menu li ul {
		position: absolute;
		top: 0px;
		left: 0px;
		width: 100%;
		margin-left: 100%;
		margin-top: 0px;
	}

/*-------------------------------------------------------------*/

.photo {
	display: block;
	width: 150px;
	height: 113px;
	overflow: hidden;
}
.photo.column {
	display: inline-block;
}
	.photo img {
		width: 100%;
	}

/*-------------------------------------------------------------*/

.text-in-columns {
	column-count: 3;
	-moz-column-count: 3;
	-webkit-column-count: 3;

	column-gap: 40px;
	-moz-column-gap: 40px;
	-webkit-column-gap: 40px;

	column-rule: solid 1px #9a9999;
	-moz-column-rule: solid 1px #9a9999;
	-webkit-column-rule: solid 1px #9a9999;

	text-align: justify;
}

/*-------------------------------------------------------------*/

.zoomable-sample {
	z-index: 900;
	display: inline-block;
}
	a.zoomable-sample img {
		display: block;
		position: absolute;
		right: 0px;
		top: 0px;
		width: 0px;
		transition: width, right, 1s;
		-moz-transition: width, right, 1s;
		-webkit-transition: width, right, 1s;
	}
	a.zoomable-sample:hover img {
		right: -150px;
		width: 150px;		
	}

/*-------------------------------------------------------------*/

.absolute-center {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	height: 50%;
	width: 50%;
	margin: auto;
}

/*-------------------------------------------------------------*/
/*
resoluçoes de telas:
240 x 320
295 x 515
320 x 480
320 x 240
480 x 320
515 x 295
600 x 1024
768 x 1024
1024 x 768
1024 x 600
*/

.up-to-5 > .column, 
.up-to-6 > .column, 
.up-to-4 > .column, 
.up-to-3 > .column, 
.up-to-2 > .column {
	margin-right: 20px;
	margin-left: 0px;
}
@media screen and (max-width: 480px) {
	.up-to-5 > .column, 
	.up-to-4 > .column, 
	.up-to-3 > .column, 
	.up-to-2 > .column {
		display: block;
		width: 280px;
		max-width: 100%;
		margin-right: auto;
		margin-left: auto;
	}
}

/*-----------------*/

@media screen and (min-width: 481px) and (max-width: 640px) {
	.up-to-5 > .column {
		width: calc((100% - 20px) / 2);
	}
	.up-to-5 > .column:nth-child(2n+0) {
		margin-right: 0px;
	}
}
@media screen and (min-width: 641px) and (max-width: 800px) {
	.up-to-5 > .column {
		width: calc((100% - 40px) / 3);
	}
	.up-to-5 > .column:nth-child(3n+0) {
		margin-right: 0px;
	}
}
@media screen and (min-width: 801px) and (max-width: 960px) {
	.up-to-5 > .column {
		width: calc((100% - 60px) / 4);
	}
	.up-to-5 > .column:nth-child(4n+0) {
		margin-right: 0px;
	}
}
@media screen and (min-width: 961px) {
	.up-to-5 > .column {
		width: calc((100% - 80px) / 5);
	}
	.up-to-5 > .column:nth-child(5n+0) {
		margin-right: 0px;
	}
}

/*-----------------*/

@media screen and (min-width: 481px) and (max-width: 720px) {
	.up-to-4 > .column {
		width: calc((100% - 20px) / 2);
	}
	.up-to-4 > .column:nth-child(2n+0) {
		margin-right: 0px;
	}
}
@media screen and (min-width: 721px) and (max-width: 960px) {
	.up-to-4 > .column {
		width: calc((100% - 40px) / 3);
	}
	.up-to-4 > .column:nth-child(3n+0) {
		margin-right: 0px;
	}
}
@media screen and (min-width: 961px) {
	.up-to-4 > .column {
		width: calc((100% - 60px) / 4);
	}
	.up-to-4 > .column:nth-child(4n+0) {
		margin-right: 0px;
	}
}

/*-----------------*/

@media screen and (min-width: 481px) and (max-width: 720px) {
	.up-to-3 > .column {
		width: calc((100% - 20px) / 2);
	}
	.up-to-3 > .column:nth-child(2n+0) {
		margin-right: 0px;
	}
}
@media screen and (min-width: 721px) {
	.up-to-3 > .column {
		width: calc((100% - 40px) / 3);
	}
	.up-to-3 > .column:nth-child(3n+0) {
		margin-right: 0px;
	}
}

/*-----------------*/

@media screen and (min-width: 481px) {
	.up-to-2 > .column {
		width: calc((100% - 20px) / 2);
	}
	.up-to-2 > .column:nth-child(2n+0) {
		margin-right: 0px;
	}
}

.up-to-5.flex, 
.up-to-4.flex, 
.up-to-3.flex, 
.up-to-2.flex {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}

.up-to-5.flex > .column, 
.up-to-4.flex > .column, 
.up-to-3.flex > .column, 
.up-to-2.flex > .column {
	margin-bottom: 20px;
}