/* ------------------------------------------------------------------------------------------------------------------ */
/* fontes */

h1, h2, h3, h4, h5, h6, p, a, input, label, textarea, span, select, table, tr, th, td { font-family: 'Arial', sans-serif; font-size: 16px; color: #292023; padding: 0; margin: 0; }


/* ------------------------------------------------------------------------------------------------------------------ */
/* principal e animacoes de defeito */

html, body { position: relative; margin: 0; padding: 0; width: 100%; height: 100%; background-color: #ffffff; }
*
{
	transition-property: all;
	-webkit-transition-property: all;
	-moz-transition-property: all;

	transition-duration: 400ms;
	-webkit-transition-duration: 400ms;
	-moz-transition-duration: 400ms;
}
.no-animation
{
	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; }


/* ------------------------------------------------------------------------------------------------------------------ */
/* cabecalho */

div#header { display: block; position: fixed; top: 0; left: 0; width: 100%; height: 165px; z-index: 100; margin: 0; background-color: #ffffff; }
	div#header div.container { display: block; position: relative; width: 1200px; height: 100%; margin: 0 auto; }

		div#header div.container a.logo { display: block; position: absolute; top: 15px; left: 50%; width: 652px; height: 62px; margin: 0 0 0 -326px; background: transparent url(../src/img/logo.jpg) no-repeat center center; background-size: contain; }
		div#header div.container span.responsive { display: none; }

		div#header div.container div.menu { display: block; position: absolute; bottom: 0; left: 50%; width: 900px; height: 50px; text-align: center; margin: 0 0 0 -450px; font-size: 0; }
			div#header div.container div.menu span.item,
			div#header div.container div.menu a.item { display: inline-block; position: relative; font-size: 14px; text-decoration: none; line-height: 50px; margin: 0 15px; vertical-align: top; padding: 0; font-weight: bold; cursor: pointer; }
			div#header div.container div.menu span.item:hover,
			div#header div.container div.menu a.item:hover { color: #8f9194; }
			div#header div.container div.menu span.item.selected,
			div#header div.container div.menu a.item.selected { color: #8f9194; }
				div#header div.container div.menu a.item span { display: block; position: absolute; width: 0; height: 2px; left: 50%; bottom: 0; margin: 0 0 0 0; background-color: #00b7de; }
				div#header div.container div.menu a.item:hover span,
				div#header div.container div.menu a.item.selected span { width: 80%; margin: 0 0 0 -40%; }
				div#header div.container div.menu span.item div.submenu { display: none; position: absolute; top: 50px; left: -10px; background-color: #ffffff; border-bottom: 4px solid #231f20; padding: 15px 20px; z-index: 200; text-align: left; min-width: 100%; }
				div#header div.container div.menu span.item:hover div.submenu { display: block; }
					div#header div.container div.menu span.item div.submenu a { display: block; position: relative; font-size: 12px; text-decoration: none; line-height: 25px; margin: 0; vertical-align: top; font-weight: normal; white-space: nowrap; }
					div#header div.container div.menu span.item div.submenu a:hover { color: #8f9194; }

		div#header div.container div.languages { display: block; position: absolute; bottom: 0; right: 0; width: 100px; height: 50px; text-align: right; margin: 0; font-size: 0; }
				div#header div.container div.languages a,
				div#header div.container div.languages p { display: inline-block; position: relative; line-height: 50px; font-size: 14px; color: #8f9194; text-decoration: none; vertical-align: top; }
				div#header div.container div.languages p { margin: 0 5px; }
				div#header div.container div.languages a:hover,
				div#header div.container div.languages a.selected { color: #292023; }

@media all and ( max-width: 1199px ) {
	div#header { height: 50px; }
		div#header div.container { width: 100%; }
		div#header div.container a.logo { display: block; position: absolute; top: 5px; left: 5px; width: 210px; height: 40px; margin: 0; }
		div#header div.container span.responsive_icon { display: block; position: absolute; top: 7px; right: 7px; width: 49px; height: 36px; cursor: pointer; background: transparent url(../src/img/responsive.png) no-repeat; }

		div#header[data-responsive="closed"] div.container div.responsive { display: none; }
		div#header[data-responsive="opened"] div.container div.responsive { display: block; }
		div#header div.container div.responsive { position: absolute; top: 50px; left: 0; width: 100%; background-color: #ffffff; overflow: auto; }
		div#header div.container div.responsive {
			height: 100%;
			height: -webkit-calc(100vh - 50px);
			height:    -moz-calc(100vh - 50px);
			height:         calc(100vh - 50px);
		}
			div#header div.container div.menu { position: relative; bottom: auto; left: auto; width: auto; height: auto; margin: 0; }
				div#header div.container div.menu span.item,
				div#header div.container div.menu a.item { display: block; line-height: 35px; }
					div#header div.container div.menu span.item div.submenu { display: block; position: relative; top: auto; left: auto; text-align: center; border: none; min-width: auto; padding: 0 0 15px 0; }
						div#header div.container div.menu span.item div.submenu a { color: #8f9194; font-size: 11px; }

			div#header div.container div.languages { position: relative; bottom: auto; right: auto; width: auto; height: auto; text-align: center; margin: 35px 0 0 0; }
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* rodape */

div#footer { display: block; position: absolute; bottom: 0; left: 0; width: 100%; height: 100px; margin: 0; }
	div#footer div.top { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 40px; padding: 0; background-color: #eeeeef; text-align: center; font-size: 0; }
		div#footer div.top div.container { display: block; position: relative; width: 1200px; height: 100%; margin: 0 auto; }
		div#footer div.top p { display: inline-block; position: relative; height: 40px; line-height: 40px; padding: 0; font-size: 12px; vertical-align: middle; }
		div#footer div.top a { display: inline-block; position: relative; width: 20px; height: 21px; vertical-align: middle; background: transparent url(../src/img/facebook.png) no-repeat; margin: 0 0 0 15px; }
		div#footer div.top a:hover { background-position: 0 -21px; }
	div#footer div.bottom { display: block; position: absolute; bottom: 0; left: 0; width: 100%; height: 50px; background-color: #58595b; }
		div#footer div.bottom div.container { display: block; position: relative; width: 600px; height: 100%; margin: 0 auto; }
		div#footer div.bottom p { display: block; position: absolute; top: 0; left: 0; width: auto; line-height: 50px; font-size: 12px; color: #ffffff; }
		div#footer div.bottom a.IDStudies { display: block; position: absolute; top: 18px; right: 0; width: 64px; height: 14px; background: transparent url(../src/img/idstudies.png) no-repeat center center; background-size: contain; }

@media all and ( max-width: 1199px ) {
	div#footer { position: relative; bottom: auto; left: auto; height: auto; }
		div#footer div.top { position: relative; top: auto; left: auto; height: auto; }
			div#footer div.top div.container { width: 100%; height: auto; padding: 10px 0; }
			div#footer div.top p { height: auto; line-height: 25px; }
			div#footer div.top a { height: auto; }
		div#footer div.bottom { position: relative; bottom: auto; left: auto; height: auto; text-align: center; }
			div#footer div.bottom div.container { width: 100%; }
			div#footer div.bottom p { position: relative; top: auto; left: auto; line-height: 25px; }
			div#footer div.bottom a.IDStudies { display: inline-block; position: relative; top: auto; right: auto; }
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* corpo */

div#container { display: block; position: relative; width: 100%; min-height: 100%; padding: 0; }
div#body { display: block; position: relative; width: 100%; padding: 165px 0 100px 0; }

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


/* ------------------------------------------------------------------------------------------------------------------ */
/* voltar ao topo */

span#back_to_top { position: fixed; bottom: 100px; right: 12px; width: 50px; height: 50px; z-index: 85; margin: 0; background: transparent url(../src/img/back_to_top.png) no-repeat center center; background-size: cover; cursor: pointer; }
span#back_to_top[data-status="visible"] { opacity: 1; }
span#back_to_top[data-status="hidden"] { opacity: 0; }


/* ------------------------------------------------------------------------------------------------------------------ */
/* orcamento */

div#budget { display: block; position: fixed; bottom: -550px; width: 460px; z-index: 90; margin: 0; }
div#budget[data-status="closed"] { right: -460px; }
div#budget[data-status="open"] { right: 0; margin: 0; bottom: 0; }
	div#budget div.open { display: block; position: relative; width: 100%; left: 0; height: 75px; font-size: 0; cursor: default; background-color: #231f20; }
		div#budget div.open span.icon { display: block; position: absolute; top: 0; left: -75px; width: 75px; height: 75px; background-color: #e81c24; }
		div#budget div.open span.icon:hover { background-color: #8f9194; }
			div#budget div.open span.icon span { display: block; position: relative; width: 30px; height: 30px; background: transparent url(../src/img/budget_icon.png) no-repeat center center; background-size: cover; margin: 10px auto 0 auto; }
			div#budget div.open span.icon p { display: block; position: relative; width: 65px; font-size: 8px; font-weight: bold; text-align: center; margin: 5px auto 0 auto; color: #ffffff; }
		div#budget[data-status="closed"] div.open span.icon { background-position: 0 0; cursor: pointer; }
		div#budget[data-status="open"] div.open span.icon { left: 0; cursor: default; background-color: #231f20; }
		div#budget[data-status="open"] div.open span.icon:hover { background-color: #231f20; }
		div#budget div.open span.close { display: block; position: absolute; top: 50%; right: 25px; width: 21px; height: 22px; margin: -11px 0 0 0; background: transparent url(../src/img/budget_close.png) no-repeat 0 0; cursor: pointer; }
		div#budget div.open span.close
		{
			transition-property: none;
			-webkit-transition-property: none;
			-moz-transition-property: none;
		}
		div#budget div.open span.close:hover { background-position: 0 -22px; }

	div#budget form { display: block; position: relative; width: 100%; height: 500px; padding: 25px 0; font-size: 0; cursor: default; background-color: #ededee; border: none; margin: 0 auto; }
		div#budget form label { display: block; position: relative; width: 420px; margin: 0 auto 6px auto; text-decoration: none; vertical-align: top; font-size: 12px; text-align: left; padding: 0; }
		div#budget form input[type="file"],
		div#budget form input[type="text"] { display: block; width: 419px; position: relative; border: none; background-color: #ffffff; margin: 2px 0 0 0; padding: 0 10px; height: 25px; line-height: 25px; }
		div#budget form input[type="file"],
		div#budget form input[type="text"]
		{
			width: 100%;
			width: -webkit-calc( 100% - 20px );
			width:    -moz-calc( 100% - 20px );
			width:         calc( 100% - 20px );
		}

		div#budget form input[type="text"].small { display: inline-block; width: 320px; vertical-align: top; }
		div#budget form img.captcha { display: inline-block; position: relative; margin: 0 0 0 10px; padding: 0; text-decoration: none; vertical-align: bottom; }

		div#budget form div.file { display: block; position: relative; border: none; margin: 2px 0 0 0; padding: 0; height: 25px; line-height: 25px; background-color: #ffffff; }
			div#budget form div.file input[type="button"] { display: block; position: absolute; bottom: 0; left: 0; width: 125px; background: #231f20 url(../src/img/search_icon.png) no-repeat center center; border: none; height: 25px; cursor: pointer; }
			div#budget form div.file input[type="button"]:hover { background-color: #8f9194; }
			div#budget form div.file p { display: block; position: absolute; top: 0; left: 135px; width: 275px; border: none; height: 24px; font-size: 14px; line-height: 24px; overflow: hidden; }

		div#budget form textarea { border: none; background-color: #ffffff; margin: 2px 0 0 0; padding: 0 10px; height: 50px; line-height: 25px; resize: none; }
		div#budget form textarea
		{
			width: 100%;
			width: -webkit-calc( 100% - 20px );
			width:    -moz-calc( 100% - 20px );
			width:         calc( 100% - 20px );
		}

		div#budget form input[type="submit"] { display: block; position: relative; padding: 10px 0; font-weight: bold;border: none; background-color: #231f20; color: #ffffff; margin: 15px auto 0 auto; cursor: pointer; width: 419px; font-size: 18px; }
		div#budget form input[type="submit"]:hover { background-color: #8f9194; }

@media all and ( max-width: 1199px ) {
	div#budget { display: none; }
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* slide */

div#slide { display: block; position: relative; width: 100%; margin: 0 auto; padding: 0; }
div#slide.normal { height: 500px; }
div#slide.small { height: 175px; }
div#slide *
{
	transition-duration: 1000ms;
	-webkit-transition-duration: 1000ms;
	-moz-transition-duration: 1000ms;
}
	div#slide div.slides { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; overflow: hidden; }
		div#slide div.slides span { display: block; position: absolute; width: 32px; height: 33px; background: transparent url(../src/img/banner_arrows.png) no-repeat; z-index: 3; cursor: pointer; }
		div#slide div.slides span.prev { top: 50%; margin: -16px 0 0 0; left: 0; background-position: 0 0; }
		div#slide div.slides span.next { top: 50%; margin: -16px 0 0 0; right: 0; background-position: -32px 0; }
		div#slide div.slides div.banner { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; font-size: 0; text-align: center; }
		div#slide div.slides div.banner[data-actual="true"] { opacity: 1; z-index: 2; }
		div#slide div.slides div.banner[data-actual="false"] { opacity: 0; z-index: 1; }
		div#slide div.slides div.banner[data-animation="false"] { transform: scale(1) }
		div#slide div.slides div.banner[data-animation="true"] { transform: scale(1.15) }
		div#slide div.slides div.banner[data-animation="true"]
		{
			transition: transform 6000ms linear, opacity 500ms linear;
			-webkit-transition: transform 6000ms linear, opacity 500ms linear;
			-moz-transition: transform 6000ms linear, opacity 500ms linear;
		}
			div#slide div.slides div.banner div.text { display: block; position: absolute; bottom: 100px; left: 50%; width: 650px; margin: 0 0 0 -325px; }
			div#slide.small div.slides div.banner div.text { display: none; }
				div#slide div.slides div.banner div.text h1 { display: block; position: relative; font-size: 80px; line-height: 100px; font-family: 'bold2', sans-serif; color: #ffffff; }
				div#slide div.slides div.banner div.text h2 { display: block; position: relative; font-size: 46px; line-height: 50px; color: #ffffff; width: 90%; margin: 0 auto; }

@media all and ( max-width: 1199px ) {
	div#slide.normal { height: 250px; }
	div#slide.small { display: none; }
}