#everything {
    width: 100vw;
    padding-top: 104px;
}

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

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

#header {
    position: fixed;
    top: 0px;
    left: 0px;
    margin-bottom: 20px;
    text-align: right;
    background-color: rgba(0, 0, 0, 0.62);
}

    #logo {
        z-index: 10;
        width: 208px;
        max-width: 100%;
        height: auto;
        text-align: center;
    }

    #header .redes-sociais {
        position: absolute;
        right: 0px;
        top: 10px;
        z-index: 15;
        width: 150px;
        text-align: right;
    }

        #header .redes-sociais .social-icon {
            width: 18px;
            height: 18px;
            margin: 0px 0px 0px 10px;
            background-image: url(../images/social-networks-sprite2.png);
        }

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

    #menu {
        z-index: 1;
        width: calc(100% - 228px);
        margin: 0px 0px 0px 20px;
        font-size: 0px;
        line-height: 0px;
        text-align: right;
    }

        #menu ul {
            display: flex;
            justify-content: space-between;
        }

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

                #menu li a {
                    display: block;
                    padding: 50px 0px 16px 0px;
                    font-size: 18px;
                    line-height: 1em;
                    text-align: center;
                    font-weight: 300;
                    font-family: 'gotham-light-condensed';
                    color: #fff;
                }

                #menu li a:after {
                    display: block;
                    position: absolute;
                    left: 0px;
                    right: 0px;
                    bottom: 11px;
                    width: 0px;
                    height: 2px;
                    margin: 0px auto;
                    content: '';
                    background: #e87717;

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

                #menu li a:hover:after {
                    width: 100%;
                }

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

    #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: #44546B;
    }

    #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 {
        display: block;
        padding: 10px 10px 10px 15px;
        color: #bbb;
        font-size: 16px;
        line-height: 1em;
    }

    #menu_mobile .fechar {
        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: 3px 7px 0px 0px;
        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;
        width: 100%;
        height: calc(100% - 34px);
        margin: 0px;
        overflow-x: hidden;
        overflow-y: auto;
        background-color: #000;
    }
    
        #menu_mobile li {
            border-bottom: solid 1px #535353;
            margin: 0px;
        }

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

        #menu_mobile a {
            font-family: 'Roboto';
            font-weight: 300;
        }

        #menu_mobile li a:hover {
            color: #fff;
            background-color: #e5782f;
        }
        
        #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 {
    padding: 20px 0px 0px 0px;
    color: #000;
    background-color: #fff;
}

    #footer .justify-columns > .column {
        width: auto;
        font-size: 14px;
        line-height: 1.3em;
        text-align: left;
    }

        #footer .endereco {
            margin-bottom: 10px;
        }

            #footer .cidade {
                display: block;
            }

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

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

        #footer .telefones {
            margin-bottom: 10px;
        }

            #footer .telefone + .telefone {
                margin-left: 20px;
            }

            #footer .telefone.whatsapp:after {
                display: inline-block;
                vertical-align: top;
                width: 14px;
                height: 14px;
                content: '';
                background-image: url(../images/whatsapp3.png);
                background-size: 100%;
            }

            #footer a.telefone:hover {
                text-decoration: underline;
            }

            #footer .redes-sociais {
                margin: 10px 0px;
            }

                #footer .social-icon {
                    margin-right: 0px;
                    margin-left: 10px;
                }

            #footer .menu {
                text-transform: uppercase;
            }

    #creditos {
        padding: 10px 5px;
        margin-top: 20px;
        color: #fff;
        font-size: 14px;
        line-height: 1em;
        text-align: center;
        background-color: #252525;
    }

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

#slider {
    margin: -104px auto 0px auto;
}

    #slider_content {
        /*height: 530px;*/
        height: 100vh;
    }

        #slider .slide {
            position: absolute;
            left: 0px;
            right: 0px;
            bottom: 0px;

            width: 100%;
            height: 100%;
            text-align: center;
        }

            #slider .slide .photo {
                width: 100%;
                height: 100%;
            }

                #slider .slide .photo img {
                    width: auto;
                    height: 100%;
                }

            #slider .texto {
                display: flex;
                flex-direction: column;
                justify-content: center;

                position: absolute;
                top: 0px;
                left: 0px;
                width: 100%;
                height: 100%;
                text-align: center;
            }

                #slider .texto .titulo {
                    width: auto;
                    max-width: 520px;
                    padding: 40px;
                    border: solid 3px #fff;
                    font-size: 25px;
                    line-height: 1.3em;
                    color: #fff;
                    background-color: rgba(0, 0, 0, 0.5);
                }                

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

    #slider .botoes {
        position: absolute;
        bottom: 10px;
        right: 50px;
        z-index: 100;

        width: 15px;

        text-align: center;
    }

        #slider .botoes a {
            width: 15px;
            height: 15px;
            border: solid 3px #fff;
            border-radius: 50px;
            margin-right: 10px;
            margin-top: 15px;
            background-color: transparent;
            box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.5);
        }

         #slider .botoes a.atual {
            background-color: #fff;
         }
         
/*------------------------------------*/

#servicos {
    padding-bottom: 40px;
    margin: 40px auto;
    background-color: #44546b
}

    #servicos .cabecalho {
        text-align: center;
        font-size: 30px;
        line-height: 1.3em;
    }

        #servicos .cabecalho span {
            padding: 10px 20px;
            background-color: #f8f6f5
        }

    #servicos .button-like {
        margin: auto;
    }

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

#bem_vindo {
    padding: 110px 0px 70px 0px;
    margin-bottom: 40px;
    color: #fff;
    background-color: #0f0f0f;
}

    #bem_vindo h1, 
    #bem_vindo h2,
    #bem_vindo h3,
    #bem_vindo h4 {
        color: inherit;
    }

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

#buscar_modelo_home {
    margin-bottom: 20px;
}

#buscar_modelo_home .pesquisar {
    width: 360px;
    max-width: 100%;
    float: left;
}

#buscar_modelo_home .foto-modelo {
    width: 550px;
    max-width: calc(100% - 380px);
    float: right;
}

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

#pre_selecao_form > label {
    width: 110px;
    min-width: 0px;
    margin: 0px 10px 10px 0px;
}

#pre_selecao_form > input, 
#pre_selecao_form > select {
    width: 100%;
    min-width: 0px;
}

#pre_selecao_form > label + input, 
#pre_selecao_form > label + select, 
#pre_selecao_form > label + div {
    width: calc(100% - 120px);
    margin: 0px 0px 10px 0px;
}

#pre_selecao_form > input.ddd {
    width: 50px;
}

#pre_selecao_form > input.ddd + .telefone {
    width: calc(100% - 180px);
    margin: 0px 0px 0px 10px;
}


#pre_selecao_form > label + input[type=checkbox] {
    width: 20px;
    margin-right: 10px;
    margin-top: 8px;
    margin-bottom: 0px;
}

#pre_selecao_form > label + input[type=checkbox] + label {
    width: calc(100% - 150px);
    margin-right: 0px;
}

#pre_selecao_form .positivo {
    width: 100%;
}

#pre_selecao_form label a {
    color: green;
    text-decoration: underline;
}

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

#testes_home {
    padding: 20px 0px;
    margin-bottom: 20px;
    background-image: url(../images/teste-background.jpg);
    background-repeat: repeat;
}

    #testes_home h2 {
        text-align: center;
    }

    #testes_home .testes {
        width: calc(100% - 40px);
    }

    #testes_home .slick-prev:before, 
    #testes_home .slick-next:before {
        color: #000;
    }

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

#eventos_home {
    margin: 20px 0px;
}

    #eventos_home h2 {
        text-align: center;
    }

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

#dicas_home h2 {
    text-align: center;
}

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

#albuns_home {
    padding: 20px 0px;
    margin-bottom: 20px;
    text-align: center;
    background-color: #d8d8d8;
}

    #albuns_home h2 {
        text-align: center;
    }

    #albuns_home .column {
        width: auto;
    }

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

#eventos_home .button-like,
#dicas_home .button-like, 
#albuns_home .button-like {
    width: 365px;
    max-width: 100%;
    font-size: 30px;
    line-height: 1em;
    font-weight: 100;
    text-transform: uppercase;
}

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

#detalha_modelo {
    display: grid;
    width: 100%;
    grid-template-columns: 50% 50%;
    grid-template-rows: auto;
    grid-template-areas: 
    "apresentacao apresentacao" 
    "cabecalho cabecalho"
    "detalhes capa"
    "fotos fotos"
    "videos videos" 
    "requisicao requisicao";
}

/*----*/

    #detalha_modelo .apresentacao {
        grid-area: apresentacao;
        margin-top: -20px;
        margin-bottom: 20px;
        text-align: center;
    }

        #detalha_modelo .apresentacao img {
            width: auto;
            max-width: 100%;
            height: auto;
        }

/*----*/

    #detalha_modelo h1 {
        grid-area: cabecalho;
        text-align: center;
    }

/*----*/

    #detalha_modelo .detalhes {
        grid-area: detalhes;
        padding: 20px 0px;
        background-color: #fff;
    }

        #detalha_modelo table {
            width: 370px;
            max-width: 100%;
            margin-right: 10px;
        }

            #detalha_modelo table th {
                text-align: right;
            }

/*----*/

    #detalha_modelo .capa {
        grid-area: capa;
        width: 100%;
        padding: 20px 0px;
        text-align: left;
        background-color: #fff;
    }

        #detalha_modelo .capa img {
            max-width: 100%;
            max-height: 70vh;
        }

/*----*/

    #detalha_modelo .fotos {
        grid-area: fotos;
        margin-bottom: 20px;
    }

        #detalha_modelo .foto {
            width: auto;
            height: calc(100vh - 70vh - 40px);
        }

            #detalha_modelo .foto img {
                height: 100%;
            }

/*----*/

    #detalha_modelo .requisicao {
        grid-area: requisicao;
        text-align: center;
    }

        #detalha_modelo .requisicao h2 {
            text-align: center;
        }

        #detalha_modelo .requisicao.adicionado .adicionar {
            display: none;
        }

        #detalha_modelo .requisicao.carregando .adicionar {
            padding-left: 30px;
            background-image: url(../images/loading.gif);
            background-position: 5px 10px;
            background-repeat: no-repeat;
        }

        #detalha_modelo .requisicao .mensagem-adicionado {
            display: none;
        }

        #detalha_modelo .requisicao.adicionado .mensagem-adicionado {
            display: block;
        }

/*----*/

    #detalha_modelo .modelo-videos {
        grid-area: videos;
    }

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

#instagram {
    padding: 20px 0px 30px 0px;
    text-align: center;
    background-color: #d8d8d8;
}

    #instagram h2 {
        text-transform: uppercase;
        text-align: center;
    }

    #instagram .conteudo {
        display: flex;
        flex-wrap: wrap;
        width: calc(100% + 250px);
        height: 200px;
        overflow: hidden;
    }

        #instagram .conteudo span {
            width: 200px;
            height: 200px;
            margin: 0px;
        }

            #instagram span img {
                width: 100%;
            }

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

#retorno_do_pagseguro, 
#pagamento_pagseguro {
    padding: 35px;
    border: solid 1px #78B800;
    text-align: center;
    background-color: #DFF2DE;
}

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

    #pagamento_pagseguro h2 {
        text-align: inherit;
    }

    #pagamento_pagseguro .clique-abaixo {
        font-weight: bold;
        font-size: 20px;
        line-height: 1em;
    }

    #pagamento_pagseguro .link-pagseguro {
        padding: 20px;
        margin-top: 10px;
    }

    #pagamento_pagseguro .link-pagseguro:hover {
        background-color: #fff;
        box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15)
    }

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

#retorno_do_pagseguro {

}

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

#faro_tv {
    padding-top: 20px;
    margin-top: -20px;
    background-color: #000;
}

    #faro_tv h1 {
        color: #fff;
    }

    #faro_tv .categorias {
        list-style: none;
        padding: 10px 10px 5px 10px;
        margin: 0px;
        text-align: center;
        font-size: 0px;
        line-height: 0px;
        background-color: #505050
    }

        #faro_tv .categorias li {
            display: inline-block;
            vertical-align: bottom;
            width: auto;
            margin: 0px 10px 5px 0px;
        }

        #faro_tv .categorias li a {
            display: block;
            padding: 5px 10px;
            color: #d2d2d2;
            font-size: 16px;
            line-height: 1.3em;
            background-color: #333;
            transition-duration: 0.3s;
            transition-property: background, color;
        }

        #faro_tv .categorias li a:hover {
            color: #fff;
            background-color: #E67817;
        }


    #faro_tv .categoria-de-videos {
        
    }

        #faro_tv .anchora {
            display: block;
            position: absolute;
            top: -84px;
        }

        #faro_tv .categoria-titulo {
            margin-bottom: 20px;
            background-color: #333;
        }

            #faro_tv .categoria-titulo h2 {
                padding-top: 10px;
                padding-bottom: 10px;
                margin: 0px auto;
                color: #fff;
            }


    #faro_tv .mais {
        margin-bottom: 20px;
        display: none;
        color: #fff;
        text-align: center;
    }

        #faro_tv .mais a {
            color: #E67817;
        }

    #faro_tv .fechado .mais {
        display: block;
    }

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

#modelos .modelos > .column {
    margin-right: 20px;
}


@media screen and (min-width: 481px) and (max-width: 640px) {
    #modelos .modelos > .column {
        width: calc((100% - 20px) / 2);
    }
    #modelos .modelos > .column:nth-child(2n+0) {
        margin-right: 0px;
    }
}

@media screen and (min-width: 641px) and (max-width: 800px) {
    #modelos .modelos > .column {
        width: calc((100% - 40px) / 3);
    }
    #modelos .modelos > .column:nth-child(3n+0) {
        margin-right: 0px;
    }
}

@media screen and (min-width: 801px) and (max-width: 960px) {
    #modelos .modelos > .column {
        width: calc((100% - 60px) / 4);
    }
    #modelos .modelos > .column:nth-child(4n+0) {
        margin-right: 0px;
    }
}

@media screen and (min-width: 961px) {
    #modelos .modelos > .column {
        width: calc((100% - 80px) / 5);
    }
    #modelos .modelos > .column:nth-child(5n+0) {
        margin-right: 0px;
    }
}
