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

@import url('https://fonts.googleapis.com/css?family=Lato:400,700|Open+Sans:400,700|Playfair+Display:700');


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

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

.font-title { font-family: 'Playfair Display', serif; }
.font-text { font-family: 'Lato', sans-serif; }
.font-footer { font-family: 'Open Sans', sans-serif; }

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

html, body { position: relative; margin: 0; padding: 0; width: 100%; height: 100%; background-color: #f5f5f5; }
*
{
	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; }
.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; }


/* ================================================================================================================== */
/* cabecalho */
/* ================================================================================================================== */

div#header_responsive { display: none; }

div#header { display: block; position: relative; width: 100%; z-index: 100; margin: 0; }
div#header[data-status="normal"] { height: 100px; }
div#header[data-status="small"] { height: 75px; }
	div#header div.header_responsive { display: block; position: relative; width: 100%; background: transparent url(../images/header_bg.png) repeat; }
	div#header div.header_responsive span.top { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 10px; }
	div#header[data-status="small"] div.header_responsive span.top { height: 3px; }
	div#header div.header_responsive span.top
	{
		background: #669443;
		background: -webkit-linear-gradient( left, #537f38, #84b555 );
		background: -o-linear-gradient( left, #537f38, #84b555 );
		background: -moz-linear-gradient( left, #537f38, #84b555 );
		background: linear-gradient( to right, #537f38, #84b555 );
	}
	div#header[data-status="normal"] div.header_responsive { height: 100px; }
	div#header[data-status="small"] div.header_responsive { position: fixed; top: 0; left: 0; height: 75px; background-color: #ffffff; }
	div#header div.container { display: block; position: relative; width: 1200px; height: 100%; margin: 0 auto; font-size: 0; }

		div#header div.container a.logo { display: inline-block; position: relative; width: 386px; height: 71px; margin: 0; background: transparent url(../images/logo_horizontal.png) no-repeat left center; background-size: contain; vertical-align: middle; }
		div#header[data-status="small"] div.container a.logo { height: 50px; }
		div#header div.container div.content { display: inline-block; position: relative; width: 800px; height: 100%; margin: 0 0 0 14px; vertical-align: middle; text-align: right; }

			div#header div.container div.content div.top { display: block; position: absolute; top: 15px; right: 0; width: 100%; height: 25px; }
			div#header[data-status="small"] div.container div.content div.top { top: 5px; }
				div#header div.container div.content div.top div.phone { display: inline-block; position: relative; margin: 0 5px 0 25px; padding: 3px 15px 3px 15px; vertical-align: top; }
				div#header div.container div.content div.top div.phone
				{
					background: #669443;
					background: -webkit-linear-gradient( left, #558139, #80b153 );
					background: -o-linear-gradient( left, #558139, #80b153 );
					background: -moz-linear-gradient( left, #558139, #80b153 );
					background: linear-gradient( to right, #558139, #80b153 );
				}
					div#header div.container div.content div.top div.phone span { display: inline-block; position: relative; width: 20px; height: 20px; background: transparent url(../images/index_icons.png) no-repeat 0 -20px; vertical-align: top; }
					div#header div.container div.content div.top div.phone p { display: inline-block; position: relative; font-size: 16px; color: #ffffff; line-height: 20px; vertical-align: top; margin: 0 0 0 5px; }
				div#header div.container div.content div.top div.email { display: inline-block; position: relative; margin: 0 0 0 5px; padding: 3px 15px 3px 15px; vertical-align: middle; }
				div#header div.container div.content div.top div.email
				{
					background: #669443;
					background: -webkit-linear-gradient( left, #558139, #80b153 );
					background: -o-linear-gradient( left, #558139, #80b153 );
					background: -moz-linear-gradient( left, #558139, #80b153 );
					background: linear-gradient( to right, #558139, #80b153 );
				}
					div#header div.container div.content div.top div.email span { display: inline-block; position: relative; width: 30px; height: 20px; background: transparent url(../images/index_icons.png) no-repeat -20px -20px; vertical-align: top; }
					div#header div.container div.content div.top div.email p { display: inline-block; position: relative; font-size: 16px; color: #ffffff; line-height: 20px; vertical-align: top; margin: 0 0 0 5px; }

			div#header div.container div.content div.top a.social_networks { display: inline-block; position: relative; width: 19px; height: 19px; background: transparent url(../images/social_networks.png) no-repeat; background-position-y: -19px; margin: 0 0 0 2px; vertical-align: middle; }
			div#header div.container div.content div.top a.social_networks:hover { background-position-y: 0; }
			div#header div.container div.content div.top a.social_networks.facebook { background-position-x: 0; }
			div#header div.container div.content div.top a.social_networks.instagram { background-position-x: -19px; }
			div#header div.container div.content div.top a.social_networks.twitter { background-position-x: -38px; }
			div#header div.container div.content div.top a.social_networks.plus { background-position-x: -57px; }

			div#header div.container div.content div.bottom { display: block; position: absolute; bottom: 10px; right: 0; width: 100%; height: 25px; }
				div#header div.container div.content div.bottom a.menu { display: inline-block; position: relative; width: auto; height: 25px; line-height: 25px; vertical-align: top; margin: 0 0 0 35px; font-size: 16px; color: #537f38; text-decoration: none; }
				div#header div.container div.content div.bottom a.menu.selected { color: #84b555; }
				div#header div.container div.content div.bottom a.menu:hover { color: #84b555; }
					div#header div.container div.content div.bottom a.menu span { display: none; position: absolute; bottom: 0; left: 50%; width: 30px; height: 3px; background-color: #84b555; margin: 0 0 0 -15px; }
					div#header div.container div.content div.bottom a.menu.selected span { display: block; }
				div#header div.container div.content div.bottom div.languages { display: inline-block; position: relative; width: auto; height: 25px; margin: 0 0 0 35px; vertical-align: top; cursor: pointer; }
					div#header div.container div.content div.bottom div.languages h3 { display: inline-block; position: relative; width: auto; height: 25px; margin: 0; line-height: 25px; font-size: 14px; color: #84b555; vertical-align: middle; }
					div#header div.container div.content div.bottom div.languages span.arrow { display: inline-block; position: relative; width: 14px; height: 10px; margin: 0 0 0 5px; background: transparent url(../images/languages_arrow.png) no-repeat center center; background-size: contain; vertical-align: middle; }
					div#header div.container div.content div.bottom div.languages div.list { display: block; position: absolute; right: 0; top: 25px; min-width: 100%; height: 0; opacity: 0; background-color: #ffffff; border: 1px solid #84b555; text-align: right; padding: 0 5px; cursor: default; overflow: hidden; }
					div#header div.container div.content div.bottom div.languages:hover div.list { height: auto; padding: 5px 5px; border: 1px solid #84b555; opacity: 1; }
						div#header div.container div.content div.bottom div.languages div.list a { display: block; position: relative; font-size: 12px; height: 25px; line-height: 25px; text-decoration: none; color: #84b555; }
						div#header div.container div.content div.bottom div.languages div.list a:hover { color: #231f20; }

		div#header div.container div.menu { display: block; position: relative; width: auto; height: 100%; margin: 0; font-size: 0; text-align: center; vertical-align: top; }
			div#header[data-status="normal"] div.container div.menu a.logo { width: 100px; height: 100px; }
			div#header[data-status="small"] div.container div.menu a.logo { width: 50px; height: 50px; }
			div#header div.container div.menu a.menu { display: inline-block; position: relative; width: auto; height: auto; line-height: 50px; margin: 0 20px; color: #a5a5a5; vertical-align: middle; text-decoration: none; }
			div#header[data-status="normal"] div.container div.menu a.menu { font-size: 20px; }
			div#header[data-status="small"] div.container div.menu a.menu { font-size: 16px; }
			div#header div.container div.menu a.menu.selected,
			div#header div.container div.menu a.menu:hover { color: #ffffff; }
				div#header div.container div.menu a.menu span { display: none; position: absolute; bottom: 0; left: 50%; width: 70%; height: 5px; background-color: #ababab; margin: 0 0 0 -35%; }
				div#header div.container div.menu a.menu.selected span { display: block; }

		div#header div.container form.search { display: block; position: absolute; width: auto; top: 5px; right: 175px; padding: 0 5px; height: 20px; font-size: 0; text-align: right; border: 1px solid #a5a5a5; border-radius: 3px; box-sizing: border-box; }
			div#header div.container form.search input[type="text"] { display: inline-block; position: relative; width: 125px; border: none; line-height: 18px; color: #ffffff; background-color: transparent; font-size: 12px; vertical-align: middle; }
			div#header div.container form.search input[type="submit"] { display: inline-block; position: relative; width: 16px; height: 16px; background: transparent url(../images/search_icon.png) no-repeat 0 0; vertical-align: middle; margin: 0 0 0 10px; padding: 0; border: none; cursor: pointer; }
			div#header div.container form.search input[type="submit"]:hover { background-position: 0 -16px; }

@media all and ( max-width: 1199px )
{
	div#header { display: none; }
	div#header_responsive { display: block; position: fixed; top: 0; left: 0; width: 100%; height: auto; background: transparent url(../images/header_bg.png) repeat; z-index: 500; }
		div#header_responsive div.header { display: block; position: relative; width: 100%; height: 60px; }
			div#header_responsive div.header a.logo { display: block; position: absolute; top: 5px; left: 50%; margin: 0 0 0 -25px; width: 50px; height: 50px; background: transparent url(../images/logo.png) no-repeat center center; background-size: contain; }
			div#header_responsive div.header span { display: block; position: absolute; top: 14px; right: 14px; margin: 0; width: 42px; height: 31px; background: transparent url(../images/responsive_icon.png) no-repeat 0 0; }
			div#header_responsive[data-status="closed"] div.header span { background-position: 0 0; }
			div#header_responsive[data-status="open"] div.header span { background-position: 0 -31px; }
		div#header_responsive div.container { display: block; position: relative; width: 100%; overflow: hidden; text-align: center; }
		div#header_responsive[data-status="closed"] div.container { padding: 0; height: 0; border-top: 1px solid transparent; }
		div#header_responsive[data-status="open"] div.container { padding: 10px 0; height: 385px; border-top: 1px solid #d2d1d1; }
			div#header_responsive div.container a.menu { display: inline-block; position: relative; width: auto; height: auto; line-height: 50px; margin: 0 20px; color: #a5a5a5; vertical-align: middle; text-decoration: none; text-align: center; }
			div#header_responsive div.container a.menu.selected,
			div#header_responsive div.container a.menu:hover { color: #ffffff; }
				div#header_responsive div.container a.menu span { display: none; position: absolute; bottom: 3px; left: 50%; width: 70%; height: 2px; background-color: #ababab; margin: 0 0 0 -35%; }
				div#header_responsive div.container a.menu.selected span { display: block; }

		div#header_responsive div.container form.search { display: inline-block; position: relative; width: auto; padding: 0 5px; height: 20px; font-size: 0; text-align: right; border: 1px solid #a5a5a5; border-radius: 3px; box-sizing: border-box; }
			div#header_responsive div.container form.search input[type="text"] { display: inline-block; position: relative; width: 125px; border: none; line-height: 18px; color: #ffffff; background-color: transparent; font-size: 12px; vertical-align: middle; }
			div#header_responsive div.container form.search input[type="submit"] { display: inline-block; position: relative; width: 16px; height: 16px; background: transparent url(../images/search_icon.png) no-repeat 0 0; vertical-align: middle; margin: 0 0 0 10px; cursor: pointer; border: none; }
			div#header_responsive div.container form.search input[type="submit"]:hover { background-position: 0 -16px; }

		div#header_responsive div.container div.languages { display: block; position: relative; width: auto; height: 20px; margin: 25px 0 0 0; }
			div#header_responsive div.container div.languages a { display: inline-block; position: relative; width: auto; height: 20px; font-size: 12px; line-height: 20px; color: #a5a5a5; text-decoration: none; vertical-align: middle; }
			div#header_responsive div.container div.languages a.selected,
			div#header_responsive div.container div.languages a:hover { color: #ffffff; }
			div#header_responsive div.container div.languages p { display: inline-block; position: relative; width: auto; height: 20px; font-size: 12px; line-height: 20px; color: #a5a5a5; text-decoration: none; vertical-align: middle; margin: 0 5px; }
}

/* ================================================================================================================== */
/* rodape */
/* ================================================================================================================== */

div#footer { display: block; position: absolute; bottom: 0; left: 0; width: 100%; height: 24px; margin: 0; border-top: 1px solid #b8bdc0; background-color: #ffffff; z-index: 6; text-align: center; }
	div#footer p { display: block; position: relative; width: 100%; height: 24px; line-height: 24px; font-size: 12px; margin: 0 auto; color: #000000; }
		div#footer p a { text-decoration: none; font-size: 12px; }
		div#footer p a:hover { color: #537f38; }

@media all and ( max-width: 1199px )
{
	div#footer { display: block; position: relative; bottom: auto; left: auto; height: auto; }
		div#footer div.container { width: 100%; }
			div#footer div.container div.top { height: auto; }
				div#footer div.container div.top div.contacts { display: block; width: auto; height: auto; padding: 0 10px; text-align: center; }
					div#footer div.container div.top div.contacts a { margin: 10px 0 0 0; }
				div#footer div.container div.top div.social_networks { display: block; width: auto; height: auto; margin: 25px 0 0 0; text-align: center; padding: 0 10px; }
					div#footer div.container div.top div.social_networks a { margin: 10px 5px; }
				div#footer div.container p.copyright { width: auto; height: auto; line-height: 30px; text-align: center; font-size: 12px; margin: 35px 0 0 0; padding: 0 10px; }
					div#footer div.container p.copyright a { font-size: 12px; }
}

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

div#container { display: block; position: relative; width: 100%; min-height: 100%; padding: 0; z-index: 5; }
div#body { display: block; position: relative; width: 100%; min-height: 100px; margin: -100px auto 0 auto; padding: 0 0 25px 0; z-index: 5; }

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


/* ================================================================================================================== */
/* slide */
/* ================================================================================================================== */

div#slide { display: block; position: relative; width: 100%; margin: 0 auto; padding: 0; }
div#slide.normal { height: 650px; }
div#slide.small { height: 650px; }
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 .banner { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; font-size: 0; text-align: center; }
		div#slide div.slides .banner[data-actual="true"] { /*top: 0;*/ opacity: 1; z-index: 2; transform: scale(1) }
		div#slide div.slides .banner[data-actual="false"] { /*top: -100%;*/ opacity: 0; z-index: 1; transform: scale(0.5) }
			div#slide div.slides .banner div.container { display: block; position: absolute; bottom: 100px; left: 50%; width: 1200px; margin: 0 0 0 -600px; text-align: left; }
			div#slide div.slides .banner div.text { display: inline-block; position: relative; margin: 0; text-align: left; padding: 10px 25px; }
			div#slide div.slides .banner div.text
			{
				background: #669443;
				background: -webkit-linear-gradient( left, #558139, #80b153 );
				background: -o-linear-gradient( left, #558139, #80b153 );
				background: -moz-linear-gradient( left, #558139, #80b153 );
				background: linear-gradient( to right, #558139, #80b153 );
			}
			div#slide.small div.slides .banner div.text { display: none; }
				div#slide div.slides .banner div.text h1 { display: block; position: relative; font-size: 40px; line-height: 50px; color: #ffffff; }
				div#slide div.slides .banner div.text h2 { display: block; position: relative; font-size: 20px; line-height: 25px; color: #ffffff; }

@media all and ( max-width: 649px )
{
	div#slide div.slides div.banner div.text { position: relative; bottom: auto; left: auto; margin: 175px auto 0 auto; width: 90%; }
		div#slide div.slides div.banner div.text h1 { font-size: 22px; line-height: 35px; }
        div#slide div.slides div.banner div.text h2 { font-size: 18px; line-height: 30px; }
}
@media all and ( max-width: 1199px )
{
	div#slide.normal { height: 400px; }
	div#slide.small { height: 225px; }
}


/* ================================================================================================================== */
/* popup */
/* ================================================================================================================== */

div#popup { position: fixed; width: 100%; height: 100%; top: 0; left: 0; background: transparent url(../images/popup_bg.png) repeat; margin: 0 auto; padding: 0; z-index: 10000; text-align: center; }
div#popup[data-status="open"] { display: block; }
div#popup[data-status="closed"] { display: none; }
	div#popup div.content { display: inline-block; position: relative; width: 750px; height: 450px; background-color: #221e20; vertical-align: middle; font-size: 0; }
		div#popup div.content div.banner { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; }
		div#popup div.content div.banner[data-actual="false"] { display: none; }
		div#popup div.content div.banner[data-actual="true"] { display: block; }
			div#popup div.content div.banner div.text { display: inline-block; position: relative; vertical-align: bottom; width: auto; padding: 50px 60px; width: 500px; box-sizing: border-box; text-align: left; }
				div#popup div.content div.banner div.text h1 { display: block; position: relative; font-size: 30px; line-height: 35px; color: #ffffff; }
				div#popup div.content div.banner div.text p { display: block; position: relative; font-size: 20px; line-height: 25px; color: #ffffff; margin: 15px 0 0 0; }
			div#popup div.content div.banner a { display: inline-block; position: relative; vertical-align: bottom; width: auto; margin: 0 60px 50px 0; padding: 5px 30px; background-color: #5a873c; color: #ffffff; width: auto; box-sizing: border-box; text-align: center; text-decoration: none; font-size: 16px; }
			div#popup div.content div.banner a:hover { background-color: #221e20; }

		div#popup div.content span.close { display: block; position: absolute; top: 0; right: -90px; background-position-x: 0; width: 50px; height: 50px; background: transparent url(../images/popup_close.png) no-repeat; cursor: pointer; }
		div#popup div.content span.close:hover { background-position-y: -50px; }
		div#popup div.content span.close {  }
		div#popup div.content span.arrows { display: block; position: absolute; top: 0; color: #ffffff; background-color: #221e20; box-sizing: border-box; height: 450px; width: 30px; border-right: none; cursor: pointer; line-height: 450px; font-size: 20px; opacity: 0.65; }
		div#popup div.content span.arrows:hover { background-color: #537f38; opacity: 0.80; }
		div#popup div.content span.arrows.prev { left: -30px; }
		div#popup div.content span.arrows.next { right: -30px; }