*{ margin: 0; padding: 0; box-sizing: border-box; border: 0; outline: 0; font-size: 100%; text-decoration: none; list-style: none; font-family: 'Montserrat', sans-serif; }

header, footer, article, aside, nav, section{ display: block; }

html,body{ font-family: 'Montserrat', sans-serif; -webkit-text-size-adjust: 100%; }

.container{ position: relative; width: 100%; max-width: 1150px; margin: 0 auto; padding: 0 20px; }

p{ font-family: 'Source Sans Pro', sans-serif; font-size: 16px; font-weight: 400; color: #717171; }

/* Title Default */
.title{ position: relative; font-size: 40px; color: #464646; margin-bottom: 94px; text-align: center; }
.title::before{ content: ""; display: block; position: absolute; left: 50%; margin-left: -90px; bottom: -30px; width: 180px; height: 1px; background: #dadada; }

/* MENU */
.menu-principal{ position: fixed; left: 0px; top: 0px; width: 100%; height: 60px; background: rgba(255,255,255,.9); border-bottom: 1px solid #cbcbcb; box-shadow: 0 0 14px rgba(0,0,0,.2); overflow-y: hidden; z-index: 9000; }
	.menu-principal ul{ display: flex; justify-content: center; align-items: stretch; height: 100%; }
		.menu-principal li{ height: 100%; }
			.menu-principal li a{ display: flex; align-items: center; position: relative; height: 100%; font-size: 14px; font-weight: 600; color: #717171; text-decoration: none; padding: 0 38px; }

		.active a{ color: #978c44 !important; }
			.active a::before{ content: ""; display: block; position: absolute; left: 50%; top: -6px; margin-left: -6px; width: 12px; height: 12px; background: #978c44; transform: rotate(45deg); }


	@media screen and (max-width: 700px) {
		.menu-burger{ display: block; }
		.menu-principal{ width: 90%; height: 100%; right: -100%; left: auto; transition: all .3s; }
		.menu-principal.open{ right: 0px; }
		.menu-principal ul{ display: block; justify-content: flex-start; align-items: stretch; height: 100%; padding: 20px; padding-top: 60px; }
		.menu-principal ul li{ height: auto; }
		.menu-principal li a{ display: block; padding: 14px 0; font-size: 24px; font-weight: 400; text-align: right; align-items: stretch; }
		.active a::before{ left: auto; right: -26px; top: 50%; margin-top: -6px; }
	}

	@media screen and (min-width: 700px) {
		.menu-burger{ display: none; }
	}

	.menu-burger { position: fixed; width: 42px; height: 33px; top: 10px; right: 10px; cursor: pointer; z-index: 9999; padding: 4px; background: #fff; }
	.menu-burger.open div { background: none; }

	.menu-burger.open div:before, .menu-burger.open div:after { top: 0; }
	.menu-burger.open div:before { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }

	.menu-burger.open div:after { -webkit-transform: rotate(45deg); transform: rotate(45deg); }
	.menu-burger.open:hover div:before { -webkit-transform: rotate(-35deg); transform: rotate(-35deg); }

	.menu-burger.open:hover div:after { -webkit-transform: rotate(35deg); transform: rotate(35deg); }

	.menu-burger:hover:not(.open) div:before { top: -12px; }

	.menu-burger:hover:not(.open) div:after { top: 12px; }

	.menu-burger div,
	.menu-burger div:before,
	.menu-burger div:after { width: 100%; height: 5px; background: #998e46; -webkit-transition: all 0.4s ease; -moz-transition: all 0.4s ease; -o-transition: all 0.4s ease; transition: all 0.4s ease; }

	.menu-burger div { position: relative; margin: 10px auto 0; }

	.menu-burger div:before, div:after { content: ""; position: absolute;}
	.menu-burger div:before { top: -10px; }
	.menu-burger div:after { top: 10px; }


/* Página Inicial */
.home{ background: url('../imagem/background_home.jpg') no-repeat center top; background-size: cover; padding-top: 220px; }

@media screen and (min-width: 1160px) {
	.home .container{ padding: 0 90px; }
}

.logo-container{ text-align: center; margin-bottom: 160px; }
	.logo{ display: inline-block; margin: 0 auto; text-align: right; }
	.logo h1{ font-size: 84px; font-weight: 700; color: #978c44; }
	.logo span{ display: block; font-size: 22px; font-weight: 300; letter-spacing: 2.6px; color: #978c44; margin-top: -12px; }

	@media screen and (max-width: 1006px) {
		.logo h1{ font-size: 8.2vw; }
		.logo span{ font-size: 2.1vw; }
	}

	@media screen and (max-width: 682px) {
		.logo h1{ font-size: 8vw; }
		.logo span{ font-size: 1.8vw; margin-top: -8px; }
	}

	@media screen and (max-width: 540px) {
		.logo h1{ font-size: 7.5vw; }
		.logo span{ font-size: 1.5vw; margin-top: -4px; }
	}

	@media screen and (max-width: 360px) {
		.logo h1{ font-size: 7.2vw; }
		.logo span{ font-size: 0.9vw; margin-top: -4px; }
	}

.box-home{ width: 90%; padding-bottom: 220px; }
.box-home-container{ position: relative; z-index: 5000; }
	.title-box-home{ position: relative; font-size: 24px; font-weight: 400; color: #464646; margin-bottom: 48px; }
	.title-box-home::before{ content: ""; display: block; position: absolute; left: 0px; bottom: -20px; width: 180px; height: 1px; background: #dadada; }
		.title-box-home b{ font-weight: 600; }
	.box-home p{ margin-bottom: 20px; }

	.saibamais{ margin-top: 40px; font-size: 20px; color: #a1a1a1; }
	.saibamais i{ position: relative; color: #7f7218; margin-right: 10px; animation: arrow 1s linear infinite; }

	@keyframes arrow {
	    0% { top: 3px; }
	    50% { top: -6px; }
	    100% { top: 3px; }
	}

	@media screen and (max-width: 600px) {
		.home{ padding-top: 140px; }
		.logo-container{ margin-bottom: 100px; }
		.box-home{ width: 100%; }
	}


/* SOBRE */
.sobre{ position: relative; margin-top: -344px; padding-top: 220px; padding-bottom: 284px; background: url('../imagem/background_sobre.png') no-repeat center top; }
	
	.sobre .title{ color: #fff; }
	.sobre .title::before{ background: #fff; }

	.sobre h3{ font-size: 20px; font-weight: 700; color: #978c44; margin-bottom: 20px; }
	.sobre p{ color: #dfdfdf; margin-bottom: 20px; }

	@media screen and (max-width: 600px) {
		.sobre{ margin-top: -384px; padding-top: 250px; }
	}

/* SERVIÇOS */
.servicos{ position: relative; margin-top: -344px; padding-top: 230px; padding-bottom: 350px; background-image: url('../imagem/background_servico.png'), url('../imagem/background_servico2.jpg'); background-repeat: no-repeat, no-repeat; background-position: center top, right 20px bottom; }
	.descricao-box-servico{ font-size: 18px; text-align: center; padding: 0 90px; margin-bottom: 30px; }

	.lista-servicos{ display: flex; flex-wrap: wrap; align-items: flex-start; }
	.lista-servicos li{ position: relative; width: 50%; padding-left: 64px; margin-bottom: 20px; }
		.lista-servicos li::before{ content: ""; display: block; position: absolute; left: 24px; top: 0px; width: 2px; height: 100%; background: #978c44; }
			.icon{ position: absolute; left: 0; top: 0px; width: 50px; height: 50px; border-radius: 50%; background: #978c44; display: flex; justify-content: center; align-items: center; font-size: 24px; color: #fff; }
			.titulo{ font-size: 20px; font-weight: 700; color: #464646; margin: 14px 0; }
			.titulo span{ display: none; font-size: 24px; color: #acacac; }

	@media screen and (max-width: 1200px) {
		.servicos{ background-position: center top, right -120px bottom; }
	}

	@media screen and (max-width: 980px) {
		.servicos{ background-size: auto, 100%; padding-bottom: 250px; background-position: center top, right -120px bottom; }
	}

	@media screen and (max-width: 700px) {
		.servicos{ background-size: auto, 120%; padding-bottom: 260px; background-position: center top, right -80px bottom; }
	}

	@media screen and (max-width: 500px) {
		.servicos{ background-size: auto, 150%; padding-bottom: 220px; background-position: center top, right -120px bottom; }
	}

	@media screen and (max-width: 700px) {
		.descricao-box-servico{ padding: 0; }
		.lista-servicos li{ width: 100%; border-bottom: 1px solid #e5e5e5; padding-bottom: 10px; }
		.lista-servicos li::before{ opacity: 0; }
		.titulo{ cursor: pointer; }
		.titulo span{ display: inline-block; float: right; transition: all .3s; position: relative; }
		.titulo:hover span{ color: #000; animation: arrow_s .8s linear infinite; }
		.descricao{ display: none; }

		.opens .descricao{ display: block; }
		.opens::before{ opacity: 1 !important; }

		@keyframes arrow_s {
		    0% { top: 2px; }
		    50% { top: -4px; }
		    100% { top: 2px; }
		}
	}

/* EQUIPE */
.equipe{ padding-top: 40px; margin-bottom: 40px; }
.lista-equipe li:not(:last-child){ padding-bottom: 50px; margin-bottom: 40px; border-bottom: 1px solid #dadada; }
.lista-equipe h3{ font-size: 40px; color: #464646; margin-bottom: 20px; }
	.lista-equipe h3 span{ color: #978c44; }


/* CONTATO */
.title-contato{ background: #978c44; padding: 80px 0; color: #fff; text-align: center; }
	.title-contato h2{ font-size: 48px; }
	.title-contato p{ font-size: 24px; color: #fff; }

	.addressform{ display: flex; flex-wrap: wrap; }
		.address{ position: relative; display: flex; align-items: flex-end; width: 50%; background: url('../imagem/background_address.jpg') no-repeat center; background-size: cover; padding: 48px; }
			.endereco{ width: 100%; }
				.endereco .logo{ margin-bottom: 20px; }
				.endereco .logo h1{ font-size: 40px; color: #fff; }
				.endereco .logo span{ font-size: 11px; color: #fff; letter-spacing: 1px; margin-top: -6px; }
				.endereco p{ font-size: 16px; color: #fff; }
				.endereco a{ color: #fff; }
				.endereco p.phone{ font-size: 22px; margin-top: 12px; }
					.endereco p i{ font-size: 26px; color: #978c44; margin-right: 6px; }
					.endereco p.phone i{ font-size: 20px; }
					
				.endereco p.whats{ font-size: 22px; margin-top: 12px; }
					.endereco p.whats i{ font-size: 20px; }
					.endereco p.whats a{ font-family: 'Source Sans Pro', sans-serif; }

					.icon-whats{ display: inline-block; width: 24px; margin-right: 6px; }

		@media screen and (max-width: 900px) {
			.addressform{ display: block; }
			.address{ width: 100%; }
		}

		@media screen and (max-width: 560px) {
			.address{ padding: 20px; padding-top: 60px; }
			.endereco .logo h1{ font-size: 4.2vh; }
			.endereco .logo span{ font-size: 1.1vh; margin-top: -2px; }
		}

		.form{ position: relative; width: 50%; padding: 60px; background: #f1f1f1; }
		.form::after{ content: ""; display: table; width: 100%; height: 0; clear: both; }

			.form .loading{ display: none; position: absolute; left: 0px; top: 0px; width: 100%; height: 100%; background: rgba(241,241,241,.8); }
			.loading-container{ display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; }
			/* Loading */
			.lds-roller {
			  display: inline-block;
			  position: relative;
			  width: 64px;
			  height: 64px;
			}
			.lds-roller div {
			  animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
			  transform-origin: 32px 32px;
			}
			.lds-roller div:after {
			  content: " ";
			  display: block;
			  position: absolute;
			  width: 6px;
			  height: 6px;
			  border-radius: 50%;
			  background: #978c44;
			  margin: -3px 0 0 -3px;
			}
			.lds-roller div:nth-child(1) {
			  animation-delay: -0.036s;
			}
			.lds-roller div:nth-child(1):after {
			  top: 50px;
			  left: 50px;
			}
			.lds-roller div:nth-child(2) {
			  animation-delay: -0.072s;
			}
			.lds-roller div:nth-child(2):after {
			  top: 54px;
			  left: 45px;
			}
			.lds-roller div:nth-child(3) {
			  animation-delay: -0.108s;
			}
			.lds-roller div:nth-child(3):after {
			  top: 57px;
			  left: 39px;
			}
			.lds-roller div:nth-child(4) {
			  animation-delay: -0.144s;
			}
			.lds-roller div:nth-child(4):after {
			  top: 58px;
			  left: 32px;
			}
			.lds-roller div:nth-child(5) {
			  animation-delay: -0.18s;
			}
			.lds-roller div:nth-child(5):after {
			  top: 57px;
			  left: 25px;
			}
			.lds-roller div:nth-child(6) {
			  animation-delay: -0.216s;
			}
			.lds-roller div:nth-child(6):after {
			  top: 54px;
			  left: 19px;
			}
			.lds-roller div:nth-child(7) {
			  animation-delay: -0.252s;
			}
			.lds-roller div:nth-child(7):after {
			  top: 50px;
			  left: 14px;
			}
			.lds-roller div:nth-child(8) {
			  animation-delay: -0.288s;
			}
			.lds-roller div:nth-child(8):after {
			  top: 45px;
			  left: 10px;
			}
			@keyframes lds-roller {
			  0% {
			    transform: rotate(0deg);
			  }
			  100% {
			    transform: rotate(360deg);
			  }
			}

			.form .msgform{ display: none; position: absolute; left: 0px; top: 0px; width: 100%; height: 100%; background: rgba(241,241,241,1); }
			.msgform-container{ display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; }
			.msgform-container div{ text-align: center; }
			.msgform div > i{ font-size: 60px; color: #978c44; margin-bottom: 10px; }
			.msgform h4{ display: block; font-size: 20px; color: #717171; margin-bottom: 12px; }
			.msgform a{ font-size: 14px; color: #978c44; text-decoration: none; }
			.msgform a:hover{ text-decoration: underline; }

			.form p{ margin-bottom: 40px; }
			.form input, .form textarea{ display: block; width: 100%; background: #fff; padding: 14px; margin-bottom: 14px; resize: none; font-size: 16px; transition: all .3s; border: 1px solid #fff; -webkit-appearance: none; }
			.form input:focus, .form textarea:focus{ box-shadow: 0 0 10px rgba(0,0,0,.2); }
			.form input.error, .form textarea.error{ box-shadow: 0 0 10px rgba(255,0,0,.6); border: 1px solid red; }
			.form textarea{ height: 200px; }

			.form input::-webkit-input-placeholder, .form textarea::-webkit-input-placeholder {
				font-style: italic;
				color: #989898;
			}
			.form input::-moz-placeholder, .form textarea::-moz-placeholder {
				font-style: italic;
				color: #989898;
			}
			.form input:-ms-input-placeholder, .form textarea:-ms-input-placeholder {
				font-style: italic;
				color: #989898;
			}
			.form input:-moz-placeholder, .form textarea:-moz-placeholder {
				font-style: italic;
				color: #989898;
			}
			.form button{ float: right; background: #978c44; font-size: 24px; font-weight: 600; color: #fff; padding: 14px 30px; cursor: pointer; transition: all .3s; }
			.form button:hover{ background: #857b38; }

		@media screen and (max-width: 900px) {
			.form{ width: 100%; }
		}

		@media screen and (max-width: 600px) {
			.form{ padding: 20px; }
			.form button{ float: none; width: 100%; }
		}

	.mapa{}
		#map{ height: 430px; }

	.direitos{ padding: 30px 10px; text-align: center; }
		.direitos p{ font-size: 14px; color: #8f8e8e; }
		.direitos p:first-child{ margin-bottom: 10px; }
			.direitos p span{ font-family: 'Source Sans Pro', sans-serif; color: #978c44; }
			.direitos p a{ font-family: 'Source Sans Pro', sans-serif; color: #978c44; text-decoration: underline; }
			.direitos p a:hover{ text-decoration: none; }