#everything {
    width: 100vw;
}

#menu_mobile { z-index: 51;}
#header { z-index: 50;}
    #abrir_menu { z-index: 50;}
#middle { z-index: 40;}
#footer { z-index: 20;}

/*------------------------------------*/

#header {
    padding-top: 10px;
    border-top: solid 11px #8b8b8b;
    margin-bottom: 20px;
    text-align: right;
    background-color: #fff
}

    #logo {
        z-index: 5;
        float: left;
        width: 510px;
        max-width: 100%;
        height: auto;
        margin-top: 20px;
    }

    /*-------*/

    #header address {
        padding: 5px 0px;
        margin-bottom: 10px;
        font-weight: 300;
        color: #7d7d7d;
        font-family: 'Archer';
        font-size: 16px;
        line-height: 1.3em;
        font-weight: 700;
    }

        #header .fale {
            font-size: 18px;
            line-height: 1.3em;
            color: #005826;
        }

        #header address .emails {
            margin-top: 5px;
        }

            #header address .telefone {
                display: inline-block;
            }

            #header address .telefone.whatsapp:after {
                float: left;
                margin-right: 5px;
            }

            #header address .telefone ~ .telefone {
                margin-top: 5px;
            }

    /*-------*/

    #menu {
        z-index: 1;
        margin: 0px;
        font-size: 0px;
        line-height: 0px;
        text-align: center;
        background-color: #8dc63f;
    }

        #menu ul { }

            #menu li {
                position: static;
                display: inline-block;
                vertical-align: top;
                width: auto;
                margin: 0px;
            }

                #menu li a {
                    display: block;
                    padding: 10px 5px;
                    font-family: 'Archer';
                    font-weight: 500;
                    color: #00476b;
                    font-size: 20px;
                    line-height: 1em;
                }

                #menu li:hover a {
                    color: #fff;
                    background-color: #f8981d;
                }

    /*--------------*/

    #abrir_menu {
        display: none;
        position: absolute;
        left: 0px;
        bottom: 0px;
        width: 100%;
        padding: 10px;
        font-size: 20px;
        line-height: 1em;
        color: #fff;
        font-weight: 900;
        text-align: center;
        background-color: #1e517c;
    }

    #abrir_menu:before {
        display: inline-block;
        vertical-align: top;
        width: 31px;
        height: 20px;
        margin-right: 15px;

        content: '';

        background-image: url(../images/menu-mobile.png);
        background-size: 100%;
        background-repeat: no-repeat;
        background-position: center center;
    }

    #abrir_menu.fixo {
        position: fixed;
        top: 0px;
        bottom: auto;
        box-shadow: 0px 2px 19px rgba(0, 0, 0, 0.25);
    }

/*------------------------------------*/

#menu_mobile {
    display: none;
    position: fixed;
    right: 0px;
    top: 0px;

    width: 0px;
    height: 100vh;
    overflow: hidden;
    text-align: left;

    transition-property: width;
    transition-duration: 0.5s;
}

#menu_mobile.aberto {
    width: 200px;
}
    #menu_mobile .conteudo {
        width: 200px;
        height: 100vh;
    }

    #menu_mobile a, 
    #menu_mobile span.inert {
        display: block;
        padding: 10px 10px 10px 15px;
        color: #bbb;
        font-size: 14px;
        line-height: 1em;
    }

    #menu_mobile .fechar {
        border-left: solid 1px #022a40; 
        text-align: center;
        color: #fff;
        font-size: 14px;
        line-height: 20px;
        background-color: #656565;
    }

    #menu_mobile .fechar:before {
        display: inline-block;
        vertical-align: top;
        width: 14px;
        height: 14px;   
        margin-right: 7px;
        margin-top: 3px;

        content: '';

        background-image: url(../images/menu-fechar.png);
        background-repeat: no-repeat;
        background-size: 100%;
        background-position: center center;
    }

    #menu_mobile ul {
        list-style: none;
        
        margin: 0px;
        
        width: 100%;
        height: calc(100% - 34px);
        border-left: solid 1px #232121;
    
        overflow-x: hidden;
        overflow-y: auto;

        background-color: #343434;
    }
    
        #menu_mobile li {
            border-bottom: solid 1px #232121;
            margin: 0px;
        }

        #menu_mobile li:last-child {
            border-bottom: none;
        }

        #menu_mobile a {
            font-family: 'Roboto';
            font-weight: 300;
        }
        
        #menu_mobile li ul li {
            border-bottom: none;
        }

            #menu_mobile li ul a {
                padding-left: 25px;
            }
        
            #menu_mobile li ul a:before {
                content: '- ';
            }

/*------------------------------------*/

#middle {
    min-height: 700px;
    margin-bottom: 20px;
}

/*------------------------------------*/

#footer {
    display: block;
    width: 100%;
    padding: 10px 0px 0px 0px;
    text-align: center;
    font-family: 'Maitree';
    font-weight: 300;
    color: #fff568;
    background-color: #154783;
}

    #logo3 {
        width: 331px;
        height: auto;
    }

    #footer .telefones {
        margin-top: 20px;
        color: #fff;
        font-size: 22px;
        line-height: 1em;
    }

    #footer .emails {
        margin-bottom: 20px;
        color: #fff;
    }

    #footer .endereco {
        display: block;
        font-size: 16px;
        line-height: 1.3em;
    }

        #footer .bairro:before {
            display: block;
            content: '';
        }

        #footer .bairro:after {
            content: ', '
        }

        #footer .complemento:before {
            content: '(';
        }

        #footer .complemento:after {
            content: ').';
        }

        #footer .estado:before {
            content: ' - ';
        }

        #footer .cep {
            display: block;
        }

        #footer .cep:before {
            content: 'CEP: ';
        }

    #footer .redes-sociais {
        display: block;
        width: 100%;
        padding: 5px;
        margin-top: 10px;
        background-color: #fff;
    }

        #footer .social-icon {
            width: 20px;
            height: 20px;
        }

    #creditos {
        z-index: 1;
        display: block;
        padding: 10px;
        text-align: center;
        font-family: 'Roboto', 'Arial';
        font-size: 11px;
        line-height: 1em;
        color: #fff;
        background-color: #8dc63f;
    }

/*------------------------------------*/

#slider {
    margin: -20px auto 20px auto;
}

/*-----------------------------------*/

#bem_vindo {
    margin-bottom: 40px;
}
    
    #bem_vindo h1:after {
        display: block;
        position: absolute;
        left: -50vw;
        width: 200vw;
        height: 1px;
        content: '';
        background: #005826;
    }

/*-----------------------------------*/

#instagram {
    margin-bottom: 20px;
}

    #instagram h2 {
        text-align: center;
    }

    #instagram .fotos {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        height: calc((100vw - (5 * 20px)) / 6);
        overflow: hidden;
    }

        #instagram .photo {
            width: calc((100vw - (5 * 20px)) / 6);
            height: calc((100vw - (5 * 20px)) / 6);
            height: auto;
        }

/*-----------------------------------*/

#dicas {
    padding-top: 20px;
    margin: 20px 0px;
    background-color: #ebebeb;
}

/*-----------------------------------*/

#destaques {
    padding: 20px 0px;
    background-color: #00476b;
}

    #destaques h2 {
        text-align: center;
        color: #fff;
    }

/*-----------------------------------*/

#produtos {
    margin: 20px 0px;
}

    #produtos .cabecalho {
        padding: 20px 0px;
        background-color: #d7d7d7;
    }

        #produtos .cabecalho h2 {
            text-align: center;
        }

/*-----------------------------------*/

#mapa_home {
    margin: 40px auto;
}

    #mapa_home h2 {
        text-align: center;
    }

    #mapa_home iframe {
        max-width: 100%;
    }

/*-----------------------------------*/

#menu_categorias {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 20px 0px;
}

    #menu_categorias li {
        flex-grow: 1;
        display: block;
        margin: 2px;
        text-align: center;
        color: #fff;
        background-color: #00476b;
    }

    #menu_categorias li:hover {
        color: #8dc63f;
    }

        #menu_categorias li a {
            display: block;
            padding: 10px;
        }

/*-----------------------------------*/

#detalha_produto {

}

    #detalha_produto .itens-em-orcamento {
        padding: 20px 20px 1px 20px;
        border: solid 1px #ccc;
        margin-bottom: 40px;
        text-align: center;
    }

    #detalha_produto .itens-em-orcamento.centralizar {
        justify-content: center;
    }

        #detalha_produto .itens-em-orcamento input[type=number] {
            min-width: 0px;
            width: 100%;
            margin-top: 5px;
        }

/*-----------------------------------*/

#itens_em_orcamento input[type=number] {
    min-width: 0px;
    width: 75px;
    max-width: 100%;
}

/*-----------------------------------*/

#reformas_home {
    padding: 10px 0px 0px 0px;
    margin: 20px 0px;
    color: #2e3f79;
    font-size: 38px;
    line-height: 1.3em;
    font-family: 'Maitree';
    background-color: #8dc63f
}

    #reformas_home .photo {
        float: left;
        width: 277px;
        height: auto;
        border: solid 6px #fff;
        margin-right: 20px;
    }

    #reformas_home .clique {
        font-size: 22px;
        line-height: 1.3em;
        color: #fff;
    }

/*-----------------------------------*/

#continuar {
    z-index: 60;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100vw;
    height: 100vh;
    text-align: center;

    background-color: rgba(0, 0, 0, 0.5);
}
    
    #continuar div {
        display: inline-block;
        width: auto;
        padding: 20px;
        background-color: #fff;
    }

        #continuar div .button-like {
            width: 130px;
            margin: 0px;
        }

        #continuar div h2 + .button-like {
            border-color: #00476b;
            margin-right: 10px;
            color: #fff;
            background-color: #00476b;
        }