/* ================================================================================================================== */
/* */
/* ================================================================================================================== */

* { box-sizing: border-box; font-size: 0; }

/* ================================================================================================================== */
/* fontes */
/* ================================================================================================================== */

h1, h2, h3, h4, h5, h6, p, div.text, a, input, label, textarea, span, select, table, tr, th, td, ::placeholder { font-family: 'Source Sans Pro', sans-serif; font-size: 14px; color: #663333; padding: 0; margin: 0; font-weight: 400; line-height: 24px; }

.font-title { font-family: 'Oswald', sans-serif; font-size: 30px; line-height: 45px; }
.font-title.banner { font-size: 43px; line-height: 65px; }
.font-title.light { font-weight: 300; }

.light { font-weight: 300; }
.regular { font-weight: 400; }
.bold { font-weight: 700; }

@media all and (max-width: 1199px) {
	h1, h2, h3, h4, h5, h6, p, div.text, a, input, label, textarea, span, select, table, tr, th, td, ::placeholder { font-size: 12px; }

	.font-title { font-size: 18px; line-height: 25px; }
}

/* ================================================================================================================== */
/* principal e animacoes de defeito */
/* ================================================================================================================== */

html, body	{ position: relative; margin: 0; padding: 0; width: 100%; height: 100%; font-size: 0; }
*		{ transition-property: all; -webkit-transition-property: all; -moz-transition-property: all; transition-duration: 400ms; -webkit-transition-duration: 400ms; -moz-transition-duration: 400ms; }
.animation-long { transition-property: all; -webkit-transition-property: all; -moz-transition-property: all; transition-duration: 800ms; -webkit-transition-duration: 800ms; -moz-transition-duration: 800ms; }
.animation-none,
.animation-none	* { transition-property: none; -webkit-transition-property: none; -moz-transition-property: none; transition-duration: 0ms; -webkit-transition-duration: 0ms; -moz-transition-duration: 0ms; }

/* ================================================================================================================== */
/* limpador e truque para inline-block alinhamento */
/* ================================================================================================================== */

div.clear { clear: both; }
.trick_align_middle { display: inline-block; position: relative; width: 0; height: 100%; vertical-align: middle; background-color: transparent; }
.trick_align_top { display: inline-block; position: relative; width: 0; height: 100%; vertical-align: top; background-color: transparent; }
.trick_align_bottom { display: inline-block; position: relative; width: 0; height: 100%; vertical-align: bottom; background-color: transparent; }

/* ================================================================================================================== */
/* estrutura principal */
/* ================================================================================================================== */

div#principal_container { display: table; position: relative; width: 100%; min-height: 100%; margin: 0 auto; overflow: hidden; }
	div#principal_container div#principal_header { display: table-row; position: relative; width: 100%; }
	div#principal_container div#principal_body { display: table-row; position: relative; width: 100%; height: 100%; z-index: 10; }
	div#principal_container div#principal_footer { display: table-row; position: relative; width: 100%; }

@media all and (max-width: 1199px)
{
	div#principal_container { display: block; min-height: auto; }
		div#principal_container div#principal_header { display: block; }
		div#principal_container div#principal_body { display: block; }
		div#principal_container div#principal_footer { display: block; margin: 15px 0 0 0; }
}

/* ================================================================================================================== */
/* ficheiros */
/* ================================================================================================================== */

div.attachments { display: block; position: relative; width: auto; text-align: left; }
	div.attachments a { display: inline-block; position: relative; width: auto; height: 23px; line-height: 23px; background: transparent url(../images/attachment_icon.png) no-repeat; overflow: hidden; padding: 0 0 0 35px; text-decoration: none; color: #37b34a; margin: 5px 0 0 0; }
	div.attachments a:first-child { margin: 0; }
	div.attachments a:hover { background-position-y: -23px; color: #404041; }

/* ================================================================================================================== */
/* corpo */
/* ================================================================================================================== */

div#body { display: block; position: relative; width: 100%; height: auto; padding: 0; }

@media all and (max-width: 1199px) {
	div#body { padding: 15px 0 0 0; }
}