/* -- GERALZÃO -- */
html, body {font-family: 'Open Sans', sans-serif; font-size: 14px; line-height: 1; font-weight: 400; color: #000000;}
p {line-height: 22px;}
strong, .strong {font-weight: 600;}
.bold {font-weight: 700;}
a.dpb {color: inherit;}

img {max-width: 100%;}

hr.cz {background-color: #e8e8e8; width: 100%; height: 1px;}

input {width: 100%; color: #8c8c8c; border-bottom: 1px solid #c7dad9; margin-bottom: 20px; font-size: 14px; padding: 15px 0;}
textarea {width: 100%; color: #8c8c8c; border-bottom: 1px solid #c7dad9; margin-bottom: 40px; font-size: 14px; line-height: 20px; padding: 15px 0 0; min-height: 50px; height: 50px; resize: none; overflow-y: hidden;}

/*::-webkit-input-placeholder {color: #FFFFFF;} !* WebKit, Blink, Edge *!*/
/*:-moz-placeholder {color: #FFFFFF; opacity: 1;} !* Mozilla Firefox 4 to 18 *!*/
/*::-moz-placeholder {color: #FFFFFF; opacity: 1;} !* Mozilla Firefox 19+ *!*/
/*:-ms-input-placeholder {color: #FFFFFF;} !* Internet Explorer 10-11 *!*/
/*::-ms-input-placeholder {color: #FFFFFF; opacity: 1;} !* Microsoft Edge *!*/


/* -- CLASSES ÚTEIS -- */
.center {width: 100%; max-width: 1840px; margin: auto; padding: 0 20px;}
.center-md {width: 100%; max-width: 1740px; margin: auto; padding: 0 20px;}
.center-sm {width: 100%; max-width: 1320px; margin: auto; padding: 0 20px;}
.clearfix:after {content:""; display: block; clear: both;}

.w-100 {width: 100%;}

.flex {display: flex;}
.justify-between {justify-content: space-between;}
.justify-center {justify-content: center;}
.justify-start {justify-content: flex-start;}
.justify-end {justify-content: flex-end;}
.align-center {align-items: center;}
.align-start {align-items: flex-start;}
.align-end {align-items: flex-end;}

.bg-img {background: transparent no-repeat center center; background-size: cover;}
.bg-cinza {background-color: #f3f3f3;}

.btn-branco {border: 1px solid #ffffff; font-family: 'Nunito', sans-serif; font-size: 15px; color: #ffffff; padding: 10px 30px; display: inline-block; border-radius: 20px;}
.btn-branco:hover {background-color: #ffffff; color: #000000;}

.btn-laranja {border: 1px solid #db7b3f; background-color: #db7b3f; font-size: 14px; font-weight: 600; color: #ffffff; padding: 10px 50px; display: inline-block;}
.btn-laranja:hover {background-color: transparent; color: #db7b3f;}

.txt-up {text-transform: uppercase;}
.txt-ct {text-align: center;}
.txt-rt {text-align: right;}

.txt-branco {color: #FFFFFF;}
.txt-cinza {color: #999999;}
.txt-cinza-esc {color: #393939;}
.txt-sombra {text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);}

.dpb {display: block;}

.font-12, .font-12 p {font-size: 12px; line-height: 18px;}
.font-13, .font-13 p {font-size: 13px; line-height: 1;}
.font-14, .font-14 p {font-size: 14px; line-height: 1;}
.font-15, .font-15 p {font-size: 15px;}
.font-16, .font-16 p {font-size: 16px; line-height: 24px;}
.font-17, .font-17 p {font-size: 17px;}
.font-18, .font-18 p {font-size: 18px; line-height: 30px;}
.font-19, .font-19 p {font-size: 19px;}
.font-20, .font-20 p {font-size: 20px; line-height: 26px;}
.font-22, .font-22 p {font-size: 22px; line-height: 32px;}
.font-24, .font-24 p {font-size: 24px; line-height: 38px;}
.font-26, .font-26 p {font-size: 26px;}
.font-28, .font-28 p {font-size: 28px;}
.font-30, .font-30 p {font-size: 30px;}
.font-35, .font-35 p {font-size: 35px; line-height: 48px;}
.font-40, .font-40 p {font-size: 40px; line-height: 60px;}
.font-44, .font-44 p {font-size: 44px; line-height: 50px;}
.font-48, .font-48 p {font-size: 48px;}
.font-50, .font-50 p {font-size: 50px; line-height: 62px; font-weight: 600;}

.filtro-preto {width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.7); position: absolute; top: 0; left: 0; z-index: 2;}

/* HOME */
.banner-principal .banner {height: calc(100vh - 200px); min-height: 450px; display: flex; align-items: center; position: relative;}
.banner-principal .banner .txt-branco {position: relative; z-index: 9; text-align: center; text-shadow: 1px 1px #000; margin-bottom: 200px;}
.banner-principal .banner h1 {font-size: 80px; font-weight: 600; margin-bottom: 15px;}
.banner-principal .banner p {margin-bottom: 20px;}
.banner-principal .banner .btn-branco {text-shadow: none;}

.sobre {padding: 110px 0; display: flex;}
.sobre .sobre-txt {width: 40%; display: flex; justify-content: center; align-items: center;}
.sobre .sobre-txt .txt-box {width: 100%; max-width: 370px; padding: 0 20px;}
.sobre .sobre-txt h2 {margin-bottom: 20px; line-height: 1;}
.sobre .sobre-txt p {margin-bottom: 15px;}
.sobre .sobre-img {width: 60%; min-height: 520px; padding: 180px 90px; display: flex; flex-direction: column; justify-content: flex-end; position: relative;}
.sobre .sobre-img h3 {margin-bottom: 30px;}
.sobre .sobre-img p {width: 100%; max-width: 500px; font-size: 30px; line-height: 34px;}
.sobre .sobre-img .btn-laranja {position: absolute; bottom: 70px; left: 0; transform: translateX(-50%);}
.sobre .sobre-img h3,
.sobre .sobre-img p,
.sobre .sobre-img .btn-laranja {z-index: 9;}

.segmentos {padding: 110px 0;}
.segmentos ul {display: flex; justify-content: space-around;}
.segmentos ul li {width: 100%; max-width: 400px;}
.segmentos ul li img {margin-bottom: 25px;}
.segmentos ul li h3 {margin-bottom: 10px;}

.mosaico {display: flex; margin: 120px 0 0;}
.mosaico img.mobile {display: none;}
.mosaico .esq {width: 50%; position: relative; display: flex; justify-content: flex-start; align-items: center;}
.mosaico .dir {width: 50%; position: relative; display: flex; justify-content: flex-end; align-items: center;}
.mosaico .txt {position: absolute; width: 55%; max-width: 600px; padding: 0 0 60px;}
.mosaico .esq .txt {right: 0; bottom: 30px; z-index: 999;}
.mosaico .dir .txt {left: -44%; top: 30px; transform: translateX(50%);}
.mosaico .txt h2 {margin-bottom: 10px; line-height: 1;}
.mosaico .txt p.sub {font-size: 16px; margin-bottom: 10px;}
.mosaico .txt .btn-laranja {position: absolute; bottom: 0; /*left: -25%; transform: translateX(50%);*/}



/* INTERNAS */
.txt-fundo {color: #f1f1f1; font-size: 180px; font-weight: 700; position: absolute; left: 3%; top: 120px; z-index: 1;}
.txt-traco-esq {position: relative; padding-left: 100px;}
.txt-traco-esq:before {content: ''; width: 80px; height: 1px; position: absolute; top: 15px; left: 0; background-color: #393939;}

.txt-traco-dir {position: relative; padding-right: 100px; text-align: right;}
.txt-traco-dir:before {content: ''; width: 80px; height: 1px; position: absolute; top: 15px; right: 0; background-color: #393939;}

.intro {padding: 260px 0 80px; position: relative; overflow: hidden;}
.intro .center-sm {position: relative; z-index: 2;}
.intro .txt {letter-spacing: 1px;}
.intro h1 {margin-bottom: 40px;}
.intro h2 {margin-bottom: 20px;}
.intro p:not(:last-child) {margin-bottom: 20px;}

.img-txt {display: flex; margin-bottom: 60px;}
.img-txt .txt {width: 45%; padding: 180px 20px 180px 60px;}
.img-txt .txt p {width: 100%; max-width: 650px;}
.img-txt .img {width: 55%;}
.img-txt .img img {width: 100%; display: none;}

.galeria ul {display: flex;}
.galeria ul li {width: 20%;}
.galeria ul li img {width: 100%; display: block;}

.banner-full {width: 100%;}
.banner-full img {width: 100%; display: block;}
.banner-full img.mobile {display: none;}

.txt-destaque {padding: 90px 0;}
.txt-destaque p {width: 100%; max-width: 1080px; margin: 0 auto;}

.intro-2 {padding: 120px 0;}
.intro-2 h1 {margin-bottom: 40px;}
.intro-2 h2 {margin-bottom: 20px;}
.intro-2 p:not(:last-child) {margin-bottom: 20px;}

.produtos ul {display: flex; flex-direction: column;}
.produtos ul li {background-color: #f7f7f7; padding: 50px 0;}

.produtos ul li .center-sm {display: flex; flex-direction: row;}
.produtos ul li .info {width: 50%; position: relative; display: flex; flex-direction: column; justify-content: center;}
.produtos ul li .info .txt-fundo {font-size: 150px; position: absolute; left: -150px; top: 0; transform: none;}
.produtos ul li .info * {position: relative; z-index: 2;}
.produtos ul li .info h2 {font-weight: 300; margin-bottom: 10px; line-height: 1;}
.produtos ul li .info h3 {font-weight: 300; margin-bottom: 30px;}
.produtos ul li .info p:not(:last-child) {margin-bottom: 20px;}
.produtos ul li .img {width: 50%; padding: 30px 0 0; text-align: right;}
.produtos ul li .img img {max-width: 380px; width: 100%;}

.produtos ul li:nth-child(2n) {background-color: #FFFFFF;}
.produtos ul li:nth-child(2n) .center-sm {flex-direction: row-reverse;}
.produtos ul li:nth-child(2n) .info {text-align: right;}
.produtos ul li:nth-child(2n) .info .txt-fundo {left: 0; right: -150px; top: 0;}
.produtos ul li:nth-child(2n) .img {padding: 30px 0 0 0; text-align: left;}


.segmento {display: flex; margin: 60px 0;}
.segmento .info {width: 55%; position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; overflow: hidden;}
.segmento .info .txt-box {width: 100%; max-width: 600px; padding: 0 10% 0 20px;}
.segmento .info .txt-fundo {font-size: 120px; position: absolute; left: -90px; top: -50px; transform: none;}
.segmento .info * {position: relative; z-index: 2;}
.segmento .info h2 {font-weight: 300; margin-bottom: 15px}
.segmento .info p:not(:last-child) {margin-bottom: 20px;}
.segmento .img {width: 45%;}
.segmento .img img {visibility: hidden;}

.segmento.reverse {flex-direction: row-reverse}
.segmento.reverse .info {text-align: right;}
.segmento.reverse .info .txt-box {padding: 0 20px 0 10%;}
.segmento.reverse .info .txt-fundo {left: 0; right: -90px;}

.banner-txt {padding: 100px 0;}

.contato {padding: 80px 0 60px;}
.contato h1 {margin-bottom: 15px; line-height: 1;}
.contato p {width: 100%; max-width: 600px; margin: 0 auto;}
.contato form {width: 100%; max-width: 800px; margin: 20px auto 0;}
.contato form .btn-laranja {margin: 0;}
.mapa #custom-map {height: 450px;}

@media all and (max-width: 1400px){
	.segmento .info .txt-fundo {font-size: 100px; left: -50px;}
	.segmento.reverse .info .txt-fundo {right: -50px;}
}

@media all and (max-width: 1366px){
	.banner-principal .banner .txt-branco {margin-bottom: 150px;}
	.txt-fundo {top: 80px;}

	.intro {padding: 160px 0 80px;}
	.img-txt .txt {padding: 150px 20px 150px 40px;}

	.produtos ul li .info .txt-fundo {left: 0;}
	.produtos ul li:nth-child(2n) .info .txt-fundo {right: 0;}
}

@media all and (max-width: 1280px){
	.segmento .info .txt-fundo {font-size: 70px; left: 0; top: -20px;}
	.segmento.reverse .info .txt-fundo {right: 0;}
}

@media all and (max-width: 1024px){
	.segmento .info .txt-fundo, .segmento.reverse .info .txt-fundo {top: 0;}
}

@media all and (max-width: 980px){
	.font-40, .font-40 p {font-size: 26px; line-height: 32px;}

	.txt-fundo {font-size: 130px;}

	.segmento {margin: 30px 0;}

	.galeria ul {flex-wrap: wrap; justify-content: center;}
	.galeria ul li {width: 33.3333%;}
}

@media all and (max-width: 860px){
	.font-50, .font-50 p {font-size: 40px; line-height: 52px;}
	.font-44, .font-44 p {font-size: 34px; line-height: 38px;}
	.font-35, .font-35 p {font-size: 28px; line-height: 34px;}

	.sobre {padding: 55px 0; flex-direction: column;}
	.sobre .sobre-txt {width: 100%;}
	.sobre .sobre-txt .txt-box {max-width: 100%;}
	.sobre .sobre-img {width: 100%; padding: 120px 45px 45px; align-items: flex-start; min-height: 0;}
	.sobre .sobre-img .btn-laranja {position: static; transform: none; margin-top: 30px;}

	.segmentos {padding: 50px 0;}
	.segmentos ul {flex-direction: column; align-items: center;}
	.segmentos ul li {max-width: 500px; margin-bottom: 50px;}
	.segmentos ul li:last-child {margin-bottom: 0;}
}

@media all and (max-width: 800px) {
	.segmento, .segmento.reverse {flex-direction: column-reverse;}
	.segmento .info, .segmento.reverse .info {width: 100%; text-align: left; padding: 20px 0 0;}
	.segmento .info .txt-box, .segmento.reverse .info .txt-box {max-width: 100%; padding: 0 20px;}
	.segmento .info .txt-fundo, .segmento.reverse .info .txt-fundo {top: -20px;}
	.segmento .img {width: 100%; margin-bottom: 20px;}
	.segmento .img img {width: 100%; visibility: visible;}

	.banner-txt {padding: 80px 0;}
}

@media all and (max-width: 767px){
	.txt-fundo {font-size: 100px;}

	.pg-frota .img-txt {flex-direction: column-reverse; margin-bottom: 0;}
	.pg-frota .img-txt .img {width: 100%;}
	.pg-frota .img-txt .img img {display: block;}
	.pg-frota .img-txt .txt {width: 100%; padding: 40px 20px;}

	.produtos ul li {padding: 50px 0;}
	.produtos ul li .info .txt-fundo {font-size: 80px;}
	.produtos ul li .center-sm, .produtos ul li:nth-child(2n) .center-sm {flex-direction: column-reverse;}
	.produtos ul li .info {width: 100%;}
	.produtos ul li .img, .produtos ul li:nth-child(2n) .img {width: 100%; padding: 0 50px 50px; text-align: center;}
	.produtos ul li:nth-child(2n) .info {text-align: left;}

	.contato {padding: 80px 0 50px;}
	.contato form {margin: 25px auto 0;}
	.contato form .btn-laranja {margin: 10px 0 0;}
}

@media all and (max-width: 620px){
	.txt-fundo {display: none;}
	.intro {padding: 60px 0 40px;}

	.banner-principal .banner {padding: 100px 0; text-align: center;}
	.banner-principal .banner h1 {font-size: 50px; margin-bottom: 20px;}
	.banner-principal .banner p {margin-bottom: 20px;}

	.sobre .sobre-txt h2 {font-size: 36px; margin-bottom: 25px;}
	.sobre .sobre-img {padding: 120px 20px 45px;}
	.sobre .sobre-img h3 {font-size: 36px;}
	.sobre .sobre-img p {font-size: 24px; line-height: 28px;}

	.banner-full img {display: none;}
	.banner-full img.mobile {display: block;}
}

@media all and (max-width: 540px){
	.font-50, .font-50 p {font-size: 34px; line-height: 40px;}

	.txt-fundo {top: 80px; transform: none;}
	.txt-traco-esq {padding-left: 0;}
	.txt-traco-esq:before {display: none;}
	.txt-traco-dir {padding-right: 0;}
	.txt-traco-dir:before {display: none;}

	.intro {padding: 60px 0 40px;}
	.intro-2 {padding: 60px 0;}

	.galeria ul li {width: 50%;}
	.galeria ul li:last-child {display: none;}
}


/* QUERIES MOSAICO */
@media all and (max-width: 1640px){
	.mosaico .txt {width: 70%;}
	.mosaico .esq .txt {right: -12%;}
	.mosaico .dir .txt {left: -55%;}
}

@media all and (max-width: 1420px){
	.mosaico .txt {width: 82%; padding: 0 0 50px;}
	.mosaico .esq .txt {width: 75%; right: -17%; bottom: 2px;}
	.mosaico .dir .txt {left: -62%; top: 15px;}
	.mosaico .txt h2 {font-size: 24px; line-height: 1;}
	.mosaico .txt p.sub {font-size: 14px; margin-bottom: 5px;}
	.mosaico .txt p {font-size: 13px;}
}

@media all and (max-width: 1200px){
	.mosaico .esq .txt {width: 72%; right: -12%;}
}

@media all and (max-width: 1120px){
	.mosaico {flex-direction: column;}
	.mosaico .esq {width: 100%;}
	.mosaico .dir {width: 100%;}

	.mosaico .esq .txt {width: 55%; max-width: 100%; right: 20px; bottom: 30px; transform: none;}
	.mosaico .dir .txt {width: 55%; max-width: 100%; left: 20px; top: 30px; transform: none;}
}

@media all and (max-width: 720px){
	.mosaico img.desktop {display: none;}
	.mosaico img.mobile{display: block;}

	.mosaico .txt {position: static;}
	.mosaico .esq {display: flex; flex-direction: column; justify-content: center; align-items: center;}
	.mosaico .esq .txt {width: 100%; margin: 20px 0; padding: 0 20px;}
	.mosaico .dir {display: flex; flex-direction: column; justify-content: center; align-items: center;}
	.mosaico .dir .txt {width: 100%; margin: 20px 0; padding: 0 20px;}

	.mosaico .txt .btn-laranja {position: static; margin-top: 15px;}
}