*{resize:none; box-sizing:border-box; outline:none; font-family: inherit;}

body{margin:0; padding:0; font-family: 'Archivo Narrow', sans-serif; font-weight: normal;}

h1, h2, h3, h4, h5, h6{font-family: 'Oswald', sans-serif; font-weight: 300;}
a{text-decoration: none; font-family: inherit;}
button{font-family: inherit;}

button, a, .img, .menu li{transition: all 300ms; -webkit-transition:all 300ms;}

.largura-site{width: 98%; max-width: 1000px; margin: 0 auto; }
.flex{display: flex;}
.wrap{flex-wrap: wrap;}
.between{justify-content: space-between;}
.vert{align-items: center;}
.horiz{justify-content: center;}
.around{justify-content: space-around;}

.topo { position:fixed; bottom:0; right:10px; z-index:998; width:50px; height:50px; cursor:pointer; display:none; font:20px/50px 'FontAwesome'; color:#aaaaaa; background-image: linear-gradient( to TOP, #003404, #1E824C); text-align:center; border-top-left-radius: 10px; border-top-right-radius: 10px; }

.banner{width: 100%; position: relative; z-index: -1;}

.frase-banner{text-align: center; text-shadow: 2px 2px 2px #000000; padding: 40px 0; width: 100%; position: relative; font-family: 'Noto Sans', sans-serif;}
.corfrasecinza{color: #aaaaaa;}
.corfraseverde{color: #018230; position: relative; top: 40px; left: -60px;}

.img-sustentavel{right: 10%; position: absolute; align-items: center; width: 130px;}
.ct-frase{height: 400px;}
.espaco{padding: 25px 0;}

.bt-rest{background:  #1E824C; color: #ccc; padding: 15px; border-radius: 5px; margin: 25px 0; display: inline-block;}

.faixa-topo{background: #aaaaaa; display: flex; align-items: center; }

.juntos{margin-right: 15px; width: 200px;}

.logo{margin-right: 15px; padding: 8px 0;}
.logo img{max-width: 192px;}
/*.iso{max-width: 140px; position: absolute; right: 2%;}*/

.fixed{position: fixed; z-index: 998; width: 100%; top:0; left: 0;}
.tamanho{margin-top: 192px;}

/* Menu responsivo */
.responsivo { display: none;}
#responsivo_fundo { display: none; position: fixed; z-index: 10; width: 100%; height: 100%; top: 0; left: 0; background: rgba(0, 0, 0, .8);}
#responsivo_abre { width: 100%; padding: 20px 10px; font-size: 17px; background: #003404; color: #aaaaaa; border: none; cursor: pointer;}
#responsivo_abre i { margin-right: 10px;}

@keyframes anima_janela { from { top: -300px; opacity: 0;} to { top: 0; opacity: 1;} }
#modal { display: none; justify-content: center; align-items: center; width: 100%; height: 100%; position: fixed; z-index: 999; top: 0; left: 0; background: rgba(0, 0, 0, .8);}
#modal .janela_modal { position: relative; z-index: 999; background: whitesmoke; display: block; padding: 10px 10px; margin: 10px; border-radius: 10px; animation: anima_janela 1s;}
#modal .janela_modal > div { padding: 10px 25px; min-width: 300px; min-height: 120px;  max-height: 400px; overflow: auto; }
#modal .close { position: absolute; top: 20px; right: 20px; color: #aaaaaa; background: #003404; font-size: 16px; cursor:pointer; padding: 20px; border-radius: 10px; border:none; z-index: 9999;}

.home{background: #ffffff; padding: 20px 0; text-align: center; }
.tit-home{color: #046427; font-size: 32px; text-transform: uppercase; text-align: center; padding: 20px 0;}
.tit-home-modal{color: #046427; font-size: 32px; text-transform: uppercase; text-align: center; padding: 10px 0; margin: 0;}
.home p{text-align: justify; color: #666666;}
.home p span{color: #666666;}
.textos p{text-align: justify; color: #666666;}
.textos ul{color: #666666;}
.solidario{width: 50%; text-align: center; margin: 0 auto; }

.redes{width: 50%; margin: 0 auto; justify-content: center;}
.redes a{font-size: 30px; color: #003404; padding: 10px; border-radius: 5px; margin: 15px; background: #aaaaaa;}

.blocos-home {margin: 50px auto;}
.blocos-home .blocos {position: relative; color:#aaaaaa; width: 24%; height: 350px; margin: 5px 0; text-decoration: none; background: #ffffff; border-radius: 10px; }
.blocos-home .blocos .img { position: absolute; width: 100%; height: 100%; bottom: 0; z-index: 1; background-repeat: no-repeat; background-size: auto; background-position: center; border-radius: 10px;}
.blocos-home .blocos .img:before { position: absolute; z-index: 3; top: 0; right: 20px; content: ""; border-top: 17px solid #003404; border-left: 12px solid transparent; border-right: 12px solid transparent; border-radius: 10px; }
.blocos-home .blocos .img:after { position: absolute; width: 100%; height: 100%; content: ""; background: rgba(0,0,0,.5); z-index: 2; border-top: 5px solid #003404; border-radius: 10px;}
.blocos-home .blocos .titulo-bh { margin: 20px; text-transform: uppercase; position: relative; z-index: 2; }
.blocos-home .blocos .descricao { position: absolute; z-index: 0;width: 100%; height: 100%; top: 0; background: #003404; overflow: hidden; border-radius: 10px;}
.blocos-home .blocos .descricao p { margin: 20px; }
.blocos-home .blocos:hover .img { height: 30%; }

.faixa-site{background-image: linear-gradient( to right, #003404, #034f0a, #003404); padding: 80px 0;}
.metade-faixa{width: 46%;}
.pqec {max-width: 150px; margin-right:  15px; float: left;}
.metade-faixa .tit{color: #aaaaaa; font-size: 28px; margin: 5px 0;}
.metade-faixa .tit span{font-size: 16px; text-align: justify; display: block;}
.metade-faixa form{width: 100% !important; }
.metade-faixa input{padding: 10px; flex:1; margin: 2px;}
.metade-faixa button{padding: 10px; color: #003404; cursor: pointer; margin: 2px;}

.especializados{width: 100%; padding: 80px 0; position: relative; }
.especializados:before{background: rgba(0,0,0,.6); content: ""; width: 100%; height: 100%; top: 0; left: 0; position: absolute; }
.especializados .tit{color: #aaaaaa; text-align: center; font-size: 30px; text-transform: uppercase;}
.especializados p{color: #aaaaaa; }
.bot-acordeon{display: block; color: #aaaaaa; font-size: 20px; background: rgba(255,255,255,.1); padding: 10px; margin: 5px 0;}
.bot-acordeon .icon{width: 30px; margin-right: 15px;}
.click-bt-acordeon{display: none;}
.cont-acordeon{overflow: hidden; padding: 10px; background: rgba(255,255,255,.1);}
.bt-cont-acordeon{padding: 15px; text-align: center; color: #aaaaaa; background: #003404; float: right; margin-bottom: 15px; }
.cont-acordeon-orc{overflow: hidden; padding: 10px; background: rgb(255,255,255);}

.linksuteis{column-count: 4; margin: 50px 0; }
.linksuteis a{border-bottom: 1px dotted #aaaaaa; display: block; page-break-inside: avoid; break-inside: avoid-column; margin-right: 30px; line-height: 38px; font-family: inherit; padding: 0 10px; color: #003404}
.linksuteis a:hover{background: #003404; color: #aaaaaa;}

.emp{display: block; color: #aaaaaa; background: #003404; font-size: 16px; cursor:pointer; width: 300px; padding: 20px; border-radius: 10px; margin: 20px auto; text-align: center;}
.orc{width: 100%; text-align: left; font-size: 18px; text-transform: uppercase;}
.menor{width: 50px; float: right;}
.serv{display: block; color: #aaaaaa; font-size: 18px; font-family: 'Oswald', sans-serif; font-weight: 300; padding: 20px; border-radius: 10px; margin: 20px auto; text-align: center; border: 1px solid #ffffff; flex:1; margin: 20px 20px 40px 20px; text-transform: uppercase;}
.serv:hover{background: rgba(255,255,255,.2);}
.not-bt{background: #326c3A; color: #aaaaaa; border-radius: 10px; padding: 10px; text-align: center; margin-top: 20px; width: 100%; font-size: 20px;}

.endereco{margin-bottom: 50px;}

.online input{ width: 100%; resize: none; padding: 10px; margin: 2px; border-radius: 10px; border: 1px solid #ddd; color: #999; }
.online button { background: #EBEBEB; padding: 10px; margin: 2px; color: #666; border: 1px solid #ccc; border-radius: 10px; cursor: pointer; }

.divformulario { font-family: sans-serif;}
.divformulario *:not(.fa) { font-family: inherit; }

#formcontato { width: 100%;}
#formcontato input, #formcontato textarea { width: 100%; resize: none; padding: 10px; margin: 2px; border-radius: 10px; border: 1px solid #ddd; color: #999; }
#formcontato input:focus, #formcontato textarea:focus { color: #333; }
#formcontato button { background: #EBEBEB; padding: 10px; margin: 2px; color: #666; border: 1px solid #ccc; border-radius: 10px; cursor: pointer; }
#formcontato button:hover { background: #f5f5f5; }

#result { padding: 15px; margin: 20px 0; display: none; border-radius: 10px; }
#result.error { color: #a94442; background-color: #f2dede; border: 2px solid #ebccd1; }
#result.success { color: #3c763d; background-color: #dff0d8; border: 2px solid #d6e9c6; }

.orcamento{background: #f4f4f4; padding: 30px 0; }
.orcamento p{color: #666666;}

.rodape{background: #003404; padding: 30px 0;}
.rodape .txt{color: #aaaaaa; text-align: center;}
.rodape .txt a{color: #aaaaaa; }
.rodape .txt a img{margin-right: 5px;}

#popup {display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; position: fixed; z-index: 9999; top: 0; left: 0; background: rgba(0, 0, 0, .6);}
#popup .popup {position: relative; z-index: 998;}
#popup .popup img {display: block; width: 90%; height: auto; max-width: 700px; margin: 0 auto;}

@media screen and (min-width:1000px){
    .menu{list-style: none; padding: 0; margin: 0; flex:1; }
    .menu li{flex: 1; position: relative;}
    .menu li a{color: #003404; text-align: center; display: block; line-height: 192px; font-family: 'Oswald', sans-serif; font-weight: 300; font-size: 22px; margin: 0;}
    .menu li:hover{background: #003404;}
    .menu li:hover a{color: #aaaaaa;}
    .arearestrita{background: #003404; color: #aaaaaa !important;}
    .arearestrita:hover{background: #555555 !important; }
    .menu li:hover .submenu{display:block;}
    .submenu {width: 100%; display:none; position:absolute; z-index:998; padding:0; left: 0; background: #003404; }
    .submenu li{display:block;}
    .submenu li a{font-size: 16px !important; line-height: 50px !important; }
    .submenu li a:hover{background: #aaaaaa; color: #003404; }
}

@media screen and (max-width:999px){
    .solidario{width: 100%;}
    .fixed{position: relative;}
    .tamanho{margin-top: 0;}
    
    .img-sustentavel{right: 0;}
    .menu{flex:1 100%;}
    .juntos{width: 90%; justify-content: center; margin: 0 auto;}
    
    .metade-faixa{width: 100%;}
    .metade-faixa:first-child{ padding-bottom: 20px;}
    
    .linksuteis{column-count: 3; }
    
    
    /* MENU RESPONSIVO */
        /* Menu responsivo fundo e botao */
        .responsivo { display: block;}
        #responsivo_fecha { width: 100%; padding: 15px 0; background: rgba(255, 255, 255, .3); color: #cccccc; margin: 10px 0; border: none;cursor: pointer;}
        /* Estilo menu */
        .menu { display: list-item; list-style: none; margin: 0; padding: 0; position: fixed; z-index: 999; top: 0; right: -100%; width: 30%; max-width: 500px; min-width: 300px; height: 100%; background: #003404; overflow-y: auto;}
        .menu li a { display: block; padding: 10px; font: 300 16px 'Oswald', sans-serif; color: #aaaaaa; position: relative;}
        .menu .submenu { display: none; /**/ width: 100% !important; /**/ list-style: none;}
        .menu .submenu a { color: #aaaaaa !important; font-size: 14px;}
    /* Fim menu */
}

@media screen and (max-width:767px){
    .img-sustentavel{display: none;}
    .frase-banner {font-size: 28px;}
    .frase-banner span{ top: 0; left: 0; display: block; font-size: 25px;}
    .espaco{padding: 15px 0;}
    .blocos-home .blocos { width: 48%;}
    .linksuteis{column-count: 2; }
}

@media screen and (max-width:479px){
    .blocos-home .blocos { width: 80%; margin: 10px auto;}
    .metade-faixa:first-child{ flex-wrap: wrap; text-align: center;  border-bottom: 1px dotted #f4f4f4;}
    .pqec {max-width: 150px; margin-right: none; float: none; width: 100%; margin: 0 auto 25px;}
    .metade-faixa input, .metade-faixa button{flex:1 48%; margin: 2px;}
    .linksuteis{column-count: 1; }
}