@import url(https://fonts.googleapis.com/css?family=Fira+Sans:400,500,700,300);
body{
    font-family: 'Fira Sans', sans-serif;
    background-color: #FFFFFF;
}

a{
    text-decoration: none;
}

    a:hover{
        text-decoration: none;
    }

    a:focus {
        outline: none;
    }

    

/*******************/
/*      Logo       */
/*******************/
#logo{

}

    #logo img{
        max-height: 95px;
        margin: 0px auto;
    }

/******************/
/*     Gerais     */
/******************/
.titulo_geral{
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    text-transform: uppercase;
}

.breadcrumb, .breadcrumb a{
    background-color: transparent;
    font-size: 13px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 0px;
    color: #000000;
}

.button_back, .button_back a{
    font-size: 14px;
    letter-spacing: 1.5px;
    text-align: right;
    color: #000000;
}

    .button_back img{
        height: 10px;
        margin-right: 3px;
        margin-top: -2px;
    }

    #content{
        padding-top: 40px;
        min-height: 70vh;
    }

@-moz-keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        -moz-transform: translateY(0);
        transform: translateY(0);
    }
    40% {
        -moz-transform: translateY(-15px);
        transform: translateY(-15px);
    }
    60% {
        -moz-transform: translateY(-5px);
        transform: translateY(-5px);
    }
}
@-webkit-keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
    40% {
        -webkit-transform: translateY(-15px);
        transform: translateY(-15px);
    }
    60% {
        -webkit-transform: translateY(-5px);
        transform: translateY(-5px);
    }
}
@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
    40% {
        -moz-transform: translateY(-15px);
        -ms-transform: translateY(-15px);
        -webkit-transform: translateY(-15px);
        transform: translateY(-15px);
    }
    60% {
        -moz-transform: translateY(-5px);
        -ms-transform: translateY(-5px);
        -webkit-transform: translateY(-5px);
        transform: translateY(-5px);
    }
}

/*******************/
/* Parallax Inicio */
/*******************/

    #parallax_menu .overlay{
        background: url("../img/padrao.png");
        min-height: 500px;
    }

    #menu{
        text-align: center;
    }

    #parallax_texto{
        font-size: 20px;
        color: #FFFFFF;
        text-align: center;
        padding: 0px 100px;
        margin-top: 80px;
    }

        #parallax_texto_autor{
            font-size: 15px;
            color: #FFFFFF;
            margin-top: 20px;
            text-align: center;
        }

            #parallax_texto_autor_cargo{
                text-transform: uppercase;
                font-size: 13px;
            }

@media (max-width: 767px) {
    #parallax_texto{
        padding: 0px 0px;
    }
}
/*******************/
/* Ultimos Designs */
/*******************/
#ultimos_designs{
    margin-top: 40px;
}

    .ultimo_design{
        padding: 20px;
        border: 2px solid #000000;
        margin-top: 40px;
        height: 330px;
        display: flex;
        align-items: center;
    }

.ultimo_design_titulo{
    color: #000000;
    font-size: 20px;
    font-weight: 500;
    border: 2px solid #000000;
    border-top: none;
    padding: 20px 20px 18px 20px;
    transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -webkit-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
}

.ultimo_design_titulo:hover{
    background-color: #000000;
    color: #FFFFFF;
}

.ultimo_design_plus{
    float: right;
    font-weight: 300;
    font-size: 35px;
    line-height: 35px;
}

/********************/
/* Ultimas Noticias */
/********************/
#last_news{
    margin-top: 40px;
}

    #last_news a:focus {
        text-decoration: none;
    }

    .last_new_img_box{
        padding: 20px;
        border: 2px solid #000000;
        margin-top: 40px;
    }

    .last_new_img{
        max-height: 180px;
        overflow: hidden;
    }

    .last_new_text{
        color: #000000;
        height: 150px;
        border: 2px solid #000000;
        border-top: none;
        padding: 20px;
        transition: all 0.2s linear;
        -moz-transition: all 0.2s linear;
        -webkit-transition: all 0.2s linear;
        -o-transition: all 0.2s linear;
        overflow: hidden;
    }

        .last_new_text:hover {
            color: #FFFFFF;
            background-color: #000000;
        }

        .last_new_date{
            font-weight: 500;
        }

        .last_new_title{
            font-size: 20px;
            font-weight: 500;
            margin-top: 10px;
        }


    .last_new_text_full{
        color: #000000;
        height: 375px;
        border: 2px solid #000000;
        padding: 20px;
        margin-top: 40px;
        transition: all 0.2s linear;
        -moz-transition: all 0.2s linear;
        -webkit-transition: all 0.2s linear;
        -o-transition: all 0.2s linear;
    }

    .last_new_text_full:hover{
        color: #FFFFFF;
        background-color: #000000;
    }


.last_new_plus{
    position: absolute;
    right: 20px;
    bottom: 0px;
    font-weight: 300;
    font-size: 35px;
}

/* styles for '...' */
.block-with-text {
    /* hide text if it more than N lines  */
    overflow: hidden;
    /* for set '...' in absolute position */
    position: relative;
    /* use this value to count block height */
    line-height: 1.2em;
    /* max-height = line-height (1.2) * lines max number (3) */
    max-height: 13.6em;
    /* fix problem when last visible word doesn't adjoin right side  */
    /* place for '...' */
    margin-right: -1em;
    padding-right: 1em;
}

/* hide ... if we have text, which is less than or equal to max lines */
.block-with-text:after {
    /* points in the end */
    content: '';
    /* absolute position */
    position: absolute;
    /* set position to right bottom corner of text */
    right: 0;
    /* set width and height */
    width: 1em;
    height: 1em;
    margin-top: 0.2em;
    /* bg color = bg color under block */
    background: white;
}

/*****************/
/* Redes Sociais */
/*****************/
#redes_sociais{
    text-align: center;
    margin-top: 60px;
}

#redes_sociais img{
    height: 65px;
}

@-webkit-keyframes pulse {
    0% { -webkit-transform: scale(1); }
    50% { -webkit-transform: scale(1.1); }
    100% { -webkit-transform: scale(1); }
}
@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

.social{
    -webkit-animation-name: bounceIn;
    -webkit-animation-duration: 3s;
    -webkit-animation-iteration-count: 10;
    -webkit-animation-timing-function: ease-out;
    -webkit-animation-fill-mode: forwards;

    animation-name: bounceIn;
    animation-duration: 3s;
    animation-iteration-count: 10;
    animation-timing-function: ease-out;
    animation-fill-mode: forwards;
}

.social:hover{
    -webkit-animation-name: pulse;
    animation-name: pulse;
}

/***********/
/* Message */
/***********/
#message{
    font-size: 23px;
    text-align: center;
    margin-top: 60px;
}

    #message_autor{
        text-align: center;
        font-size: 18px;
        margin-top: 20px;
        margin-bottom: 65px;
    }

        #message_autor_cargo{
            text-transform: uppercase;
            font-size: 16px;
        }

/***********************/
/* Company Information */
/***********************/

#company_info{
    margin-top: 60px;
}

    .company_info_title{
        font-size: 18px;
        text-transform: uppercase;
        margin-bottom: 25px;
    }

    .company_info_text{
        font-size: 18px;
        font-weight: bold;
        margin-bottom: 25px;
        text-align: justify;
    }

@media (max-width: 767px) {
    .company_info_title{
        margin-bottom: 5px;
    }
}

/************/
/* Contacts */
/************/
#map {
    height: 650px;
    width: 100%;
    position: absolute;
}

#contacts_info{
    background-color: #FFFFFF;
    margin-top: 50px;
    margin-bottom: 220px;
    padding: 30px;
    text-transform: uppercase;
}

#contacts_form{
    border-top: 1px solid #000000;
    margin-top: 20px;
    padding-top: 20px;
}

    .label_input{
        position: absolute;
        left: 0;
        top:35px;
        font-size: 17px;
    }

    #contacts_form input[type="text"] {
        display: block;
        width: 88%;
        font-size: 14px;
        padding: 8px;
        margin: 25px auto 0px auto;
        border: 1px solid #000000;
        color: #000000;
        background: transparent;
        transition: all 0.2s linear;
        -moz-transition: all 0.2s linear;
        -webkit-transition: all 0.2s linear;
        -o-transition: all 0.2s linear;
    }

    #contacts_form input[type="email"] {
        display: block;
        width: 88%;
        font-size: 14px;
        padding: 8px;
        margin: 25px auto 0px auto;
        border: 1px solid #000000;
        color: #000000;
        background: transparent;
        transition: all 0.2s linear;
        -moz-transition: all 0.2s linear;
        -webkit-transition: all 0.2s linear;
        -o-transition: all 0.2s linear;
    }

    #contacts_form textarea {
        display: block;
        width: 88%;
        height: 200px;
        font-size: 14px;
        padding: 8px;
        margin: 25px auto 0px auto;
        border: 1px solid #000000;
        color: #000000;
        background: transparent;
        transition: all 0.2s linear;
        -moz-transition: all 0.2s linear;
        -webkit-transition: all 0.2s linear;
        -o-transition: all 0.2s linear;
        resize: vertical;
    }

    #contacts_form input[type="submit"] {
        padding: 15px 0px;
        width: 350px;
        margin-top: 25px;
        background-color: transparent;
        text-align: center;
        color: #000000;
        text-transform: uppercase;
        font-size: 16px;
        border: 1px solid #000000;
        -webkit-transition: all .3s ease-in-out;
        -moz-transition: all .3s ease-in-out;
        -o-transition: all .3s ease-in-out;
        transition: all .3s ease-in-out;
    }

        #contacts_form input[type="submit"]:hover {
            color: #FFFFFF;
            background-color: #000000;
        }

@media (max-width: 767px) {
    .label_input{
        position: relative;
        top:15px;
        font-size: 17px;
    }

    #contacts_form input[type="email"], #contacts_form textarea, #contacts_form input[type="text"] {
        width: 100%;
    }

    #contacts_form input[type="submit"] {
        width: 100%;
    }
}

@media (min-width: 768px) and (max-width: 991px){
    #contacts_form input[type="email"], #contacts_form textarea, #contacts_form input[type="text"] {
        width: 83%;
    }
}

/***********/
/* Colors */
/***********/

#colors {
    margin-top: 60px;
}

    #colors_header{
        border: 1px solid #000000;
        border-left: none;
        border-right: none;
        padding: 14px 10px 10px 10px;
        font-size: 18px;
        font-weight: bold;
    }

        #download_arrow img{
            height: 20px;
            float: right;
        }

            #download_arrow img:hover{
                -moz-animation: bounce 2s infinite;
                -webkit-animation: bounce 2s infinite;
                animation: bounce 2s infinite;
            }

        #colors_img{
            margin-top: 30px;
        }

        #colors_img img{
            max-height: 600px;
            margin: 0px auto;
            display: block;
        }

/***********/
/* Borders */
/***********/

#borders {
    margin-top: 60px;
}

    .page{
        margin-bottom: 70px;
    }

        .page_title{
            text-align: center;
            background-color: #e5e5e5;
            font-size: 22px;
            font-weight: bold;
            padding: 8px 15px 5px 15px;
        }

            .page_title a{
                color: #000000;
            }

                .page_title a:hover{
                    text-decoration: underline;
                }

        .borders{
            margin-top: 20px;
        }

            .border{
                margin-top: 10px;
            }

            .border a{
                color: #000000;
                font-size: 16px;
                text-transform: uppercase;
                font-weight: 500;
            }

                .border a:hover{
                    text-decoration: underline;
                }

@media (max-width: 767px) {
    .borders{
        margin-top: 0px;
    }
}


/**********************************/
/* Border and Design, Trim Shapes */
/**********************************/

#border_and_design {
    margin-top: 60px;
    min-height: 530px;
}

#page_header{
    border: 1px solid #000000;
    border-bottom: none;
    border-left: none;
    border-right: none;
    padding: 14px 10px 10px 10px;
    font-size: 22px;
    font-weight: 500;
    text-align: center;
}

#border_and_design_header{
    border: 1px solid #000000;
    border-left: none;
    border-right: none;
    padding: 14px 10px 10px 10px;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
}


    .border_and_design_before, .border_and_design_before_disable{
        text-align: left;
    }

        .border_and_design_before img, .border_and_design_before_disable img{
            height: 15px;
            float: left;
            margin-top: 3px;
            margin-right: 15px;
        }

    .border_and_design_after, .border_and_design_after_disable{
        text-align: right;
    }

        .border_and_design_after img, .border_and_design_after_disable img{
            height: 15px;
            float: right;
            margin-top: 3px;
            margin-left: 15px;
        }

        .border_and_design_before_disable, .border_and_design_after_disable{
            color: #aaaaaa;
            cursor: default;
        }

        .border_and_design_before a, .border_and_design_after a{
            color: #000000;
        }

        .border_and_design_before a:hover, .border_and_design_after a:hover{
            text-decoration: underline;
        }

.border_and_design_covers{
    margin-top: 20px;
    text-align: center;
    color: #000000;
    display: flex;
    align-items: center;
}

    .border_and_design_covers img{
        width: 100%;
    }

    .border_and_design_covers a{
        color: #000000;
    }

        .border_and_design_covers a:hover{
            color: #000000;
            text-decoration: underline;
        }

    .border_and_design_cover{
        margin-bottom: 10px;
    }

    .border_and_design_cover img{
        align-self: center;
    }

    .border_and_design_img{
        margin-top: 50px;
    }

    .border_and_design_img img{
        max-width: 400px;
    }

    .resources{
        margin-top: 60px;
    }

        .resources_title{
            font-size: 18px;
            font-weight: 500;
        }

        .resources_link{
            font-size: 16px;
            margin-top: 10px;
        }

/********************/
/* Victorian Insert */
/********************/

.victorian_insert{
    margin-top: 40px;
    text-align: center;
    height: 200px;
}

.victorian_insert_aplications{
    margin-top: 40px;
    text-align: center;
    height: 200px;
    font-size: 18px;
}

    .victorian_insert_aplications a{
        color: #000000;
    }

        .victorian_insert_aplications a:hover{
            color: #000000;
            text-decoration: underline;
        }

/******************/
/* Job References */
/******************/

#job_references {
    margin-top: 60px;
}

    #job_references a{
        color: #000000;
        text-decoration: none;
    }

    .job_reference{
        height: 200px;
        font-size: 20px;
        padding: 15px 50px;
        border: 2px solid #000000;
        margin-bottom: 20px;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        -webkit-transition: all .35s ease;
        -moz-transition: all .35s ease;
        -ms-transition: all .35s ease;
        -o-transition: all .35s ease;
        transition: all .35s ease;
    }

        .job_reference:hover{
            background-color: #000000;
            color: #FFFFFF;
        }


/**************************/
/* Job References Country */
/**************************/

#job_references_country {
    margin-top: 60px;
}

    #job_references_country a{
        color: #000000;
        text-decoration: none;
        text-transform: uppercase;
    }

    .job_reference_country{
        margin-bottom: 25px;
    }


        .job_reference_country:hover .country{
            background-color: #000000;
            color: #FFFFFF;
        }

        .job_reference_country_img{
            height: 230px;
            overflow: hidden;
            position: relative;
        }

            .job_reference_country img{
                min-height: 230px;
                position: absolute;
                bottom: 0;
            }

        .country{
            border: 2px solid #000000;
            border-top:none;
            padding: 10px;
            padding-top: 15px;
            font-size: 14px;
            -webkit-transition: all .35s ease;
            -moz-transition: all .35s ease;
            -ms-transition: all .35s ease;
            -o-transition: all .35s ease;
            transition: all .35s ease;
        }

            .plus{
                font-size: 30px;
                bottom:2px;
                right:20px;
                position: absolute;
            }

/**************************/
/* Job References Details */
/**************************/

#job_references_details {
    margin-top: 60px;
}

    #details{
        font-size: 16px;
        text-transform: uppercase;
        line-height: 20px;
        font-weight: 500;
    }

    #details_thumbnails_line hr{
        border-top: 1px solid #000000;
        margin-top: 30px;
    }

    #details_thumbnails{
        padding: 15px;
        padding-top: 0px;
    }

        .details_thumbnail{
            padding: 10px;
            height: 110px;
            overflow: hidden;
            margin-top: 15px;
        }

        .details_thumbnail img {
            position: absolute;
            bottom: 0;
        }

@media (max-width: 767px) {
    .details_thumbnail{
       margin-top: 20px;
    }
}

/********/
/* News */
/********/
#news{
    margin-top: 30px;
}

    #news a:focus {
        text-decoration: none;
    }

    .new{
        margin-bottom: 30px;
    }

    .new_img_box{
        padding: 20px;
        border: 2px solid #000000;
        margin-top: 30px;
    }

        .new_img{
            max-height: 181px;
            overflow: hidden;
        }

            .new_img img{
               width: 100%;
            }

    .new_text{
        color: #000000;
        height: 150px;
        border: 2px solid #000000;
        border-top: none;
        padding: 20px;
        transition: all 0.2s linear;
        -moz-transition: all 0.2s linear;
        -webkit-transition: all 0.2s linear;
        -o-transition: all 0.2s linear;
        overflow: hidden;
    }

            .new_text:hover {
                color: #FFFFFF;
                background-color: #000000;
            }

            .new_date{
                font-weight: 500;
            }

            .new_title{
                font-size: 20px;
                font-weight: 500;
                margin-top: 10px;
            }

        .new_text_full{
            color: #000000;
            height: 375px;
            border: 2px solid #000000;
            padding: 20px;
            margin-top: 30px;
            transition: all 0.2s linear;
            -moz-transition: all 0.2s linear;
            -webkit-transition: all 0.2s linear;
            -o-transition: all 0.2s linear;
        }

        .new_text_full:hover{
            color: #FFFFFF;
            background-color: #000000;
        }


        .new_plus{
            position: absolute;
            right: 33px;
            bottom: 0px;
            font-weight: 300;
            font-size: 35px;
        }

/*******/
/* New */
/*******/

#new{
    margin-top: 60px;
}

    #new_box{
        border: 2px solid #000000;
        padding: 20px;
        margin-bottom: 20px;
    }

        #new_box .title{
            font-size: 20px;
            font-weight: 500;
        }

        #new_box .text{
            font-size: 17px;
            margin-top: 10px;
            margin-bottom: 10px;
        }

/**********/
/* Footer */
/**********/
footer{
    text-align: center;
    color: #FFFFFF;
    background-color: #666666;
    padding: 30px 0px;
    margin-top: 40px;
    position: relative;
}

    footer img{
        position: absolute;
        right: 15px;
        bottom: 25px; 
        height: 30px;
    }

@media (max-width: 767px) {
     footer img{
        position: relative;
        right: 0px;
        top:10px;
        bottom: 0px; 
        height: 30px;
    }
}