.fade-off {
    z-index: 1;
    opacity: 0;
    -moz-transition-property: opacity; 
    -webkit-transition-property: opacity;
    -o-transition-property: opacity;
    
    -moz-transition-duration: 1s;
    -webkit-transition-duration: 1s;
    -o-transition-duration: 1s;
}

.fade-on {
    z-index: 10;
    opacity: 1 !important;
    -moz-transition-property: opacity; 
    -webkit-transition-property: opacity;
    -o-transition-property: opacity;
    
    -moz-transition-duration: 1s;
    -webkit-transition-duration: 1s;
    -o-transition-duration: 1s;
}

.text-right {
    text-align: right;
}

.text-left {
    text-align: left;
}

.text-center {
    text-align: center;
}

/*----------------------------*/

.clear {
    clear: both;
}

/*----------------------------*/

.cem-porcento {
    width: 100%;
}

/*----------------------------*/

.justify-columns {
    text-align: justify;
    font-size: 0px;
    line-height: 0px;
}
.justify-columns:after {
    display: inline-block;
    width: 100%;
    content: '';
}

/*----------------------------*/

.overflow-hide {
    overflow: hidden;
}

/*----------------------------*/

.telefone {
    display: inline-block;
    vertical-align: top;
    width: auto;
}

    .telefone * {
        display: inline-block;
        font-size: inherit;
        line-height: inherit;
    }

    .telefone .calling-code {
        display: none;
    }

    .telefone .area-code:before {
        content: '(';
    }

    .telefone .area-code:after {
        content: ')';
    }

.telefone.whatsapp:after {
    display: inline-block;
    width: 1em;
    height: 1em;
    content: '';
    background-image: url(../images/whatsapp.png);
    background-size: 100%;
    background-repeat: no-repeat;
}

.telefone.whatsapp:hover .subscriber-number {
    text-decoration: underline;
}

/*----------------------------*/

.fancybox-container, 
.fancybox-container * {
    position: static;
}

.fancybox-button, 
.fancybox-arrow {
    min-width: 0px;
}

.fancybox-bg {
    background-color: #363233 !important; 
}
.fancybox-is-open .fancybox-bg {
    opacity: 1 !important;
}

.fancybox-arrow--left, 
.fancybox-arrow--right {
    box-shadow: none;
}

/*----------------------------*/

.rich-text {
    margin-bottom: 20px;
    line-height: 1.5em;
}

    .rich-text a {
        color: #0e5f88;
    }
    
    .rich-text a:hover {
        text-decoration: underline;
    }

    .rich-text img {
        max-width: auto;
        height: auto !important
    }

    .rich-text ul {
        padding-left: 15px;
    }

        .rich-text ul li {
            list-style-position: outside;
        }

    .rich-text img {
        z-index: 50;
    }

/*--------------------------------------------*/

.galeria {}

    .galeria li {
        margin-top: 0px;
        margin-bottom: 30px;
    }

    .galeria a {}

        .galeria .photo {
            width: 100%;
            height: auto;
        }

        .galeria .legenda {
            width: 100%;
            text-align: center;
        }

            .galeria .legenda span {
                display: block;
                padding: 0px 10px;
                font-size: 18px;
                line-height: 1.3em;
            }

            .galeria .legenda span::first-letter {
                text-transform: uppercase;
            }

/*--------------------------------------------*/

p.erro, 
p.sucesso {
    padding: 5px;
    padding-left: 10px;
    font-size: 14px;
    line-height: 1.3em;
}

p.erro {    
    border: solid 1px #ebccd1;
    color: #a94442;
    background-color: #f2dede;  
}

p.sucesso {
    border: solid 1px #D0EBCC;
    color: #6EA942;
    background-color: #DFF2DE;      
}

/*------------------------------------*/

.formulario {
    width: 960px;
    max-width: 100%;
}
    
    .formulario input, 
    .formulario textarea, 
    .formulario select, 
    .formulario label, 
    .formulario button {
        width: 100%;
        margin-right: 0px;
    }

    .formulario label + input, 
    .formulario label + textarea, 
    .formulario label + select, 
    .formulario label + label, 
    .formulario label + button, 
    .formulario label + textarea + .cke {
        margin-top: -14px;
    }

    .formulario input.ddd {
        width: 50px;
        min-width: 0px;
        margin-right: 10px;
    }

    .formulario .ddd + input {
        width: calc(100% - 60px);
        margin-top: -14px;
    }

    .formulario input[type=checkbox], 
    .formulario input[type=radio] {
        width: 20px;
        margin-right: 5px;
    }

    .formulario label + input[type=checkbox], 
    .formulario label + input[type=radio] {
        margin-top: 8px;
    }

    .formulario input[type=checkbox] + label, 
    .formulario input[type=radio] + label {
        width: calc(100% - 25px);
    }

    .formulario input[type=checkbox] + label + label, 
    .formulario input[type=radio] + label + label {
        margin-top: 0px;
    }

/*------------------------------------*/

.fb-like {
    margin-bottom: 20px;
}

/*------------------------------------*/

.compartilhar {
    margin-bottom: 20px;
}

/*------------------------------------*/

.social-icon {
    width: 30px;
    height: 30px;
    font-size: 0px;
    line-height: 0px;
    background-image: url(../images/social-networks-sprite.png);
    background-size: auto 100%;
    background-position: top left;
    background-position: 0px 0px;
}

.social-icon + .social-icon {
    margin-left: 10px;
}

.social-icon.facebook {
    background-position-x: 0px;
}

.social-icon.twitter {
    background-position-x: 14.285%;
}

.social-icon.instagram {
    background-position-x: 28.57%;
}

.social-icon.youtube {
    background-position-x: 42.885%;
}

.social-icon.pinterest {
    background-position-x: 57.14%;
}

.social-icon.g-plus {
    background-position-x: 71.425%;
}

.social-icon.whatsapp {
    background-position-x: 85.71%;
}

.social-icon.linkedin {
    background-position-x: 100%;
}

/*------------------------------------*/

.slick-next, 
.slick-prev {
    min-width: 0px;
    border: none;
    margin-right: 0px;
    box-shadow: none;
    background-size: 100% !important;
}

.slick-tile {
    padding: 0px 10px;
}

/*-----------*/

.slick-flex .slick-track {
    display: flex !important;
    align-items: stretch;
}

.slick-flex .slick-slide {
    height: auto !important;
    float: none !important;
}

.slick-flex .slick-dots {
    position: relative;
    bottom: auto;
    padding: 20px;
    margin: 0px;
}

    .slick-flex .slick-dots li button {
        min-width: 0px;
        box-shadow: none;
    }

    .slick-flex .slick-dots li button:before {
        font-size: 16px;
    }

/*------------------------------------*/

.slider {
    margin-bottom: 20px;
}

    .slider-content {
        height: 400px;
    }

        .slider .slide {
            position: absolute;
            left: 0px;
            right: 0px;
            bottom: 0px;

            width: 100%;
            height: 100%;
            text-align: center;
        }

            .slider .slide .photo {
                width: 100%;
                height: 100%;
                text-align: center;
            }

                .slider .slide .photo img {
                    width: auto;
                    height: 100%;
                }

            .slider .texto {
                position: absolute;
                bottom: 60px;
                left: 0px;
                right: 0px;
                text-align: right;
            }

                .slider .texto .conteudo {
                    display: inline-block;
                    width: 400px;
                    max-width: 100%;
                    max-width: 100%;
                    padding: 24px 26px;

                    color: #fff;
                    font-size: 20px;
                    line-height: 1.3em;
                    font-weight: 900;
                    text-align: center;
                    background-color: rgba(0, 0, 0, 0.5);
                }

                    .slide .texto .conteudo .bordas {
                        padding: 10px 45px;
                        border: solid 2px #fff;
                    }

/*------------------------------------*/

    .slider .botoes {
        position: absolute;
        bottom: 0px;
        right: 0px;
        z-index: 100;
        width: 100%;
        padding: 20px 40px 20px 20px;
        text-align: right;
    }

        .slider .botoes a {
            width: 15px;
            height: 15px;
            border-radius: 50px;
            border: solid 3px #fff;
            margin-left: 10px;
        }

         .slider .botoes a.atual {
            background-color: #fff;
         }

/*------------------------------------*/

.servico {
    height: 100%;
    text-align: center;
}

    .servico .photo {
        width: 100%;
        height: auto;
        margin-bottom: 10px;
    }
    
    .servico .titulo {
        font-size: 22px;
        line-height: 1.3em;
    }

/*------------------------------------*/

.video {
    width: 470px;
    max-width: 100%;
    margin-bottom: 40px;
    font-family: 'Roboto', 'Arial';
    font-weight: 300;
}

.flex .video {
    margin-bottom: 0px;
}

    .video iframe {
        z-index: 10;
        width: 100%;
    }

    .video .photo {
        width: 100%;
        height: auto;
    }

    .video .overlay {
        opacity: 0;
        display: flex;
        position: absolute;
        left: 0px;
        top: 0px;
        width: 100%;
        height: 100%;
        align-items: center;
        background: rgba(0, 0, 0, 0.8);
        transition-duration: 0.5s;
        transition-property: opacity;
    }

    .video:hover .overlay {
        opacity: 1;
    }

        .video .overlay a {
            opacity: 0.5;
            display: block;
            width: 100px;
            height: auto;
            padding-top: 110px;
            text-align: center;
            color: #fff;
            background-image: url(../images/play.png);
            background-size: 100%;
            transition-duration: 0.5s;
            transition-property: opacity;
        }

        .video .overlay a:hover {
            opacity: 1;
        }

        .video .overlay a:last-child {
            background-image: url(../images/new-window.png);            
        }

        .video .titulo {
            opacity: 1;
            position: absolute;
            left: 0px;
            bottom: 0px;
            padding: 5px;
            font-size: 18px;
            line-height: 1.3em;
            color: #fff;
            transition-duration: 0.5s;
            transition-property: opacity;
            background-color: rgba(0, 0, 0, 0.7);
        }

        .video:hover .titulo {
            opacity: 0;
        }

/*------------------------------------*/

.home-fotos {
    margin: 40px 0px;
}

    .home-fotos .fotos {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        height: calc((100vw - (5 * 20px)) / 6);
        overflow: hidden;
    }

        .home-fotos .photo {
            width: calc((100vw - (5 * 20px)) / 6);
            height: calc((100vw - (5 * 20px)) / 6);
            height: auto;
        }