* { border-radius: 0 !important; }
body { font-family: "Montserrat","HelveticaNeue","Helvetica Neue",Helvetica,Arial,sans-serif; }
h1, h2, h3, h4, h5, h6 { color: #333; font-weight: 500; }
ol, ul { list-style: none; padding: 0; margin: 0; }

p { margin: 0 0 20px 0; }

header { margin: 10px 0; }
header .logo { width:300px; text-align: center; display: block; margin: auto; padding: 15px 0; height: auto; }
header .logo img { max-height: 100%; max-width: 100%; }

header .banner { display: none; }

.m0 { margin: 0; }
.p0 { padding: 0; }
.mb0 { margin-bottom: 0 !important; }
.mb10 { margin-bottom: 10px !important; } .mb20 { margin-bottom: 20px !important; }
.mt10 { margin-top: 10px !important; } .mt20 { margin-top: 20px !important; }
.red { color: red; }
.bold { font-weight: bold; }
.nopadding { padding: 0 !important; }

.menu { display: none; list-style: none; font-weight: 700; border: solid 1px #eeeeee; padding: 0 !important; }
.menu li>a {
    text-align: left;
    padding: 15px 0 15px 10px;
    text-transform: uppercase;
    font-size: 0.9em;
    text-decoration: none;
    display: block;
    border-bottom: solid 1px #e0e0e0; background:#fcfcfc;
}
.menu li>a:hover { background: #0c4d0a; color: #fff; }

/* MENU RESPONSIVO */
.mobile-nav {
    position: relative; clear: both; background:#fcfcfc;
    border: 1px solid #e0e0e0; height: 40px;
}
.mobile-nav .menu_responsive:before, .mobile-nav .menu_responsive:after {
    background: none repeat scroll 0 0 #ffffff;
    content: "";
    height: 20%;
    left: 0;
    position: absolute;
    top: 20%;
    transition: all 0.2s ease 0s;
    width: 100%;
}
.mobile-nav .menu_responsive:after { top: 60%; }
.mobile-nav .text_responsive { position: absolute; left: 42px; top: 10px; font-weight: bold; }
.mobile-nav .menu_responsive {
    background: none repeat scroll 0 0 #0c4d0a;
    display: inline-block;
    top: 10px; left: 10px;
    height: 20px;
    position: relative;
    width: 25px;
}
.mobile-nav.open .menu_responsive:before {
    top: 40%;
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.mobile-nav.open .menu_responsive:after {
    top: 40%;
    -moz-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.navbar .access { text-align: center; padding: 0; margin: 18px 0 0 0; }
.access span { font-weight: bold; color: #666; } 
.access a { text-transform: uppercase; letter-spacing: 0.3px; font-weight: 600; font-size: 12px; min-width: 50px; }

.divider { margin: 15px auto; background-color: #0c4d0a; height: 4px; overflow: auto; }

/* ICONES SOCIAIS PURO CSS E FONT AWESOME - USADOS EM VARIOS LOCAIS NO PORTAL */
.social-links { text-align: center; }
.social-links a i { color: #fff; }
.social-links a {
    width: 40px; height: 32px; line-height: 34px; text-align: center;
    color: #fff; font-size: 22px; margin-right:5px; float: left;
}

#sidebar { margin: 20px 0 0 0; clear: left; }
#sidebar.pull-left { margin: 0; }

#sidebar, #content, footer, header, .related { padding: 0 10px; }
#sidebar .social { display: none; }

#sidebar .add .btn { 
    width: 100%; text-transform: uppercase; letter-spacing: 0.3px;
    font-weight: 600; padding: 20px 0; line-height: 15px;
}
#sidebar .add .btn:first-child { margin-bottom: 10px; }
#sidebar .social-links { display: none; }
#sidebar .social-links a, footer .social-links a { margin-right: 4px; }

#content .page-title { margin-top: 0; font-size: 24px; /*letter-spacing: -1px;*/ font-weight: 400; }
body:not(.cv) #content form .btn { padding: 10px 20px; margin-left:8px; }
#content ul:not(.nav-tabs), #content ol { list-style: none; margin-bottom: 15px; }
#content ul:not(.nav-tabs) li, #content ol li { list-style-type:square; margin-left: 30px; margin-bottom: 5px; }
#content ol li { list-style: decimal; }

.social-links a, .social-links a:hover { text-decoration: none; }
.social-links .fa-link { background: #6725bc; }
.social-links .fa-whatsapp { background: #56ba62; }
.social-links .fa-facebook { background: #204385; }
.social-links .fa-instagram { background: #d62976; }
.social-links .fa-twitter { background: #2aa9e0; }
.social-links .fa-google-plus { background: #d3492c; }
.social-links .fa-linkedin { background: #02669a; }
.social-links .fa-rss { background: #f78a23; }
.social-links .fa-envelope { background: #666; }

.widget { margin-bottom:25px; }
.widget h4 { margin: 0 0 20px 0; }
.widget h4 i { width: 22px; text-align: center; }
.widget ul { clear: both; }
.widget ul>li>a>i { float: left; margin: 4px 8px 0 0; }
.widget ul>li>a { padding: 6px 10px; overflow: auto; font-size: 17px; }
.widget ul>li>a>span.txt { float: left; width: 75%; }
.widget ul>li>a>.badge { font-size: 12px; font-weight: normal; padding: 4px 7px; float: right; }
.widget .banner { text-align: center; }
.widget:last-child { margin: 0; }

.list-search { margin-bottom: 24px; }
.list-search input {
    font-size: 16px; padding: 17px 22px; width: 100%; height: 54px !important;
    line-height: 20px; box-sizing: border-box;  position: relative; background:#fbfbfb;
}
.list-search .searchclear { right: 64px; top: 19px; }

.list-search button {
    cursor: pointer; color: #FFF; width: 56px; height: 54px !important; margin-left: 0 !important;
    padding: 0; font-size: 18px; border: medium none; position: relative; z-index: 10;
}

.job-icons { margin: 10px 0; }
.job-icons a {
    margin-bottom: 12px; display: inline-block; color: #666; text-decoration: underline;
    text-overflow: ellipsis; overflow: hidden; white-space: nowrap; width: 50%; float: left;
}
.job-icons i { color: #666; margin-right: 5px; }
.job-icons a:hover { text-decoration: underline; }
.job-icons a[href="#"] { cursor: default; text-decoration: none; }

.job-detail {}
.job-detail .job-header p { margin: 0 0 2px 0; font-size: 12px; }

.job-detail .job-content p { margin: 0 0 15px 0; }
.job-detail .job-content h4 { margin-top: 18px; }

.job-detail .job-apply-share { width: 100%; margin:25px auto; }
.job-detail .job-apply-share .apply { width: 100%; max-width: 300px; margin: auto; }
.job-detail .job-apply-share .apply a {
    text-transform: uppercase; font-weight: 600; width: 100%; padding: 15px 0; font-size:0.9em;
}
.job-detail .job-apply-share .share { text-align: center; margin-top: 25px; width: 100%; }
.job-detail .job-apply-share .share .txt { font-size: 11px; color:#666; display: block; }

.job-detail .job-apply-share .social-links a { float: none; margin-right: 2px; }
.job-detail .job-apply-share .social-links a:last-of-type { margin: 0; }
.social-links a.fa-whatsapp { display: inline-block; }

.job-detail .job-footer { clear: both; display:none; border-top: solid 1px #eeeeee; padding-top:20px; margin-top: 20px; }
.job-detail .job-footer h4 { margin-top: 0; }
.job-detail .job-footer h4 i { font-size: 12px; }

.job-detail .job-related { clear: both; }
.job-detail .job-related .divider { margin: 30px 0; }
.job-detail .job-related h4 { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; font-size: 18px; }

.job-detail .job-ads { margin: 25px 0; }
.job-detail .job-ads .banner { margin:0 auto 15px auto; width: 300px; }
.job-detail .job-ads .banner:first-of-type { margin-right: 25px; }

.job-detail .not-available { }
.job-detail .not-available h1 { font-size: 45px; margin: 0 0 5px 0; color:#8a6d3b; }
.job-detail .not-available h2 { margin: 0 0 5px 0; color:#8a6d3b; }
.job-detail .not-available p { margin-bottom: 25px; }

.job-detail .not-available .list-search { margin-top: 30px; }

.mini-title { text-transform: uppercase; letter-spacing: 0.3px; font-size: 9px; /*font-family: "Helvetica Neue";*/ margin-left: 1px; }

.job-list li { clear: both; border-top: 1px solid #e0e0e0; padding: 15px 0; margin-left: 0 !important; margin-bottom:0 !important; }
.job-list li:nth-child(2n) { background-color: #fbfbfb; }
.job-list li { color: #808080; width: 100%; height: 100%; display: inline-block; }
.job-list a:hover { text-decoration: none; }
.job-list .job-code { font-size: 11px; color: #666; margin: 0; }

.job-list h4 { margin: 0 0 5px 0; font-size: 22px; word-break: break-word; font-weight: 400; }
.job-list li:last-child { border-bottom: 1px solid #e0e0e0; }

.job-list li .social-links .txt { display: none; }
.job-list li .job-list-content { padding: 8px 6px; display: block; position: relative; }
.job-list li .job-list-content p.summary { display: none; }
.job-list li .job-list-content .labels { padding-left: 10px; }
.labels span.label { font-weight: normal; padding:4px 6px; position: relative; font-size: 85%; margin-right: 3px; }
.job-list li .job-list-content .share { margin-top: 20px; padding: 0 10px; }
.job-list li .job-list-content .btn-act { position: absolute; top: 0px; right: 12px; }
.job-list li .job-list-content .btn-act a,
.btn-act button { margin-left: 5px; }

footer { margin:30px 0; }
footer .navbar { border:none; padding-top: 0; }
footer .navbar .mobile-nav { display: none; }
footer .navbar .access { text-align: left; }

footer .social { display: block; }
footer .license { color: #999; clear:both; margin-top:30px; padding-top:30px; border-top: solid 1px #e0e0e0; }
footer .license p { text-align: center; } 
footer .license p { margin: 0 0 5px 0; }
footer .license img { margin:3px 8px 0 0; }
footer .social-links hr { display: none; }

div.pagination a, div.pagination span.current, div.pagination span.disabled {
   padding:8px 15px; border-bottom:none; display:inline-block; color:#888; background-color:#f2f2f2;
   font-weight:700; margin:0 2px; text-align: center; font-size: 14px; display: none;
}
div.pagination a:hover, div.pagination a:active { background-color: #005f8c; color: #FFFFFF; text-decoration: none; }

div.pagination a:last-of-type { display:inline-block; }
div.pagination span.disabled { display:inline-block; color:#ccc }
div.pagination span.current { display:inline-block; background-color: #005f8c; color: #FFFFFF; }
div.pagination .prev, div.pagination .next { display: inline-block; }

form .form-control.error { border: solid 1px #D43F3A; }
form label.error { display: none!important; }
form label i.fa-asterisk { font-size: 10px; color: #b56969; }
form input.form-control, form select.form-control { height:48px; }

#vagas_form { }
#vagas_form .empresa .alert, .alert.error { display: none; }
#vagas_form #cadastro-vaga, #vagas_form #vaga-para { display: none; }

.alert.show { display: block !important; }

/* MENU DO CANDIDATO */
.menu-candidato { margin-top: 20px; }
.menu-candidato p { margin: 0; padding: 0; }
.menu-candidato ul { }
.menu-candidato ul li { display: inline-block; margin-right: 6px; font-size: 16px; }
.menu-candidato .parte1 { float: left; margin-left: 10px; }
.menu-candidato .parte2 { float: left; }

/* ********************************** */
/* SUBSTITUI ALGUNS PADROES BOOTSTRAP */

.container { padding-right: 0; padding-left: 0; margin-right: auto; margin-left: auto; }
.input-group-addon { width: 50px; }
.input-group { width: 100%; }

.form-group.checkbox {}
.form-group.checkbox label { font-weight: normal; margin-bottom: 5px; }

.form-control { font-size: 16px; }
form legend { font-size: 18px; padding-top: 20px; }

form input[type="file"] { height: auto; padding: 15px; }

.row { margin-left: -10px; margin-right: -10px; }

.col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5,
.col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12,
.col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1,
.col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7,
.col-sm-8, .col-sm-9, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3,
.col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 {
    padding-right: 10px; padding-left: 10px;
}

.alert-secondary { color: #464a4e; background-color: #e7e8ea; border-color: #dddfe2; }

/* ********************************** */

/* AUTOCOMPLETE */
.autocomplete-suggestions { border: 1px solid #999; background: #FFF; overflow: auto; }
.autocomplete-suggestion,
.autocomplete-no-suggestion { padding: 10px 8px; white-space: nowrap; overflow: hidden; font-size: 16px; }
.autocomplete-no-suggestion { color: #AC2925; font-weight: bold; }
.autocomplete-selected { cursor:pointer; background: #F0F0F0; }
.autocomplete-suggestions strong { font-weight: normal; color: #3399FF; }
.autocomplete-group { padding: 2px 5px; }
.autocomplete-group strong { display: block; border-bottom: 1px solid #000; }

/* ICONE QUE PERMITE LIMPAR CAMPOS DE PESQUISA - ***** TODO: AINDA EM FASE DE TESTES ***** */
.searchclear {
    position:absolute; right: 5px; top: 14px;
    height:18px; margin:auto; cursor:pointer; color:#848484;
    font-size: 18px !important; z-index: 10; width: 18px; text-align: center; display: none;
}

/********** TABLE STYLES **********/
/*************************************/

.table { margin-bottom: 10px; }
.table-striped > tbody > tr.alert-warning:nth-child(2n+1) > td { background-color: #fcf8e3 !important; }
.table td.act, .table th.act { text-align:center; }
.table td.act a { margin-right: 4px; display: inline-block; }
.table td .label { padding: 6px 6px 4px 6px; }

/*************************************/

/* ESTILOS PARA INDICADOR DE NAVEGACAO LATERAL (RESPONSIVO) */
/* CONTAINER PARA AREAS COM NAVEGACAO RESPONSIVA (TABELAS E ABAS) */
.responsive-container { position: relative; }

/* MELHORA A NAVEGACAO HORIZONTAL NO IOS (TESTADO NO iPhone 6S) */
.responsive-container .table-responsive { -webkit-overflow-scrolling: touch; }

/* MENSAGEM WARNING PARA NAVEGACAO RESPONSIVA (ARRASTAR PARA OS LADOS) */
.responsive-indicator-alert { display: block; }

/* RESPONSIVE INDICATOR: MOSTRA AO USUARIO QUE DETERMINADA AREA PODE SER ARRASTADA HORIZONTALMENTE PARA NAVEGACAO */
.responsive-indicator {
    display:block; position: absolute; text-align:right; opacity:1;
    top: -4px; padding-right:4px; right:0; min-height: 54px; width: 46px; z-index: 1;
    pointer-events: none; visibility: visible;
    background: -webkit-linear-gradient( right , #fff, rgba(248, 247, 238, 0));
    background: linear-gradient(to left, #fff, rgba(248, 247, 238, 0));
    -webkit-transition: opacity .3s 0s, visibility 0s 0s;
    -moz-transition: opacity .3s 0s, visibility 0s 0s;
    transition: opacity .3s 0s, visibility 0s 0s;
}
.responsive-indicator i { color: #666; font-size:28px; }

/* RESPONSIVE INDICATOR PARA TABELAS */
.table-container.responsive-container .responsive-indicator { top:-14px; bottom:1px; right:-4px; }

/* FORÇA O BORDER RADIUS NO swal2 */
.swal2-icon, .swal2-icon .placeholder { border-radius: 50% !important; }

/* AJUSTES MODAL */
.modal-dialog .modal-footer { }
.modal-dialog .modal-footer .btn { padding: 10px 25px; }

/* ALTERACOES ABAS BOOTSTRAP */
.nav-tabs { background: none; border:none; border-bottom: 1px solid #ddd; }
.area-disabled { opacity: 0.4; background: #fff; }
.nav-tabs>li.active>a, .nav-tabs>li.active>a:hover, .nav-tabs>li.active>a:focus { border-top: solid 2px #ccc; }
.nav-tabs>li>a:hover { border-color: transparent; }
.tab-content { padding: 15px 0; border: 0; margin-top: -1px; border-top: solid 1px #e1e1e1; }

/* TEXTAREA MAXLENGHT */
.maxlength { float: right; margin-top: 6px; font-size: 11px; padding: 2px; }

@media screen and (max-width: 1024px) {
    body {  width: 100%; overflow-x: hidden; }
}

@media (max-width: 768px) {
    body { position: relative; }

    footer .access span { font-weight: normal; display: block; color:#999; }

    .social-links a { width:46px; height:38px; line-height: 40px; }

    /* TORNA ABAS NAVEGAVEIS EM MOBILE (ARRASTAR ABAS PARA OS LADOS) */
    .nav-tabs { white-space: nowrap; padding-right: 30px; width: 100%; }
    .nav-tabs>li { display: inline-block; float: none; }
    .nav-tabs-responsive { overflow: auto; -webkit-overflow-scrolling: touch; }
}

/* Extra small devices (phones, less than 768px) */
/* No media query since this is the default in Bootstrap */

/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {
    .widget ul>li>a { font-size: 15px; }

    #content, #sidebar { padding: 0; }

    .job-list li { text-align: left; }
    .job-list li .count { margin: 34px 0 0 20px; position: absolute; }

    .job-list li .social-links { float: right; }

    .job-icons a { font-size: 13px; margin-right:12px; width: auto; max-width:25%; }
    .job-list li .job-list-content p.summary { display: block; }
    .job-list li .job-list-content .labels { margin-top: 5px; }
    .job-list li .job-list-content .share { margin-top: 0px }

    .job-detail .job-apply-share { width: 180px; float: right; }
    .job-detail .job-apply-share .share { text-align: right; padding-right: 0; }

    .job-detail .job-apply-share .social-links a {  }

    .social-links a.fa-whatsapp { display: none; }

    .job-detail .job-ads { float: left; width: 625px; margin: 25px 0; }
    .job-detail .job-ads .banner { margin-bottom: 0; float: left; }
    
    .job-detail .job-related .related.left { padding-left: 0; }
    .job-detail .job-related .related.right { padding-right: 0; }
    .job-detail .job-related a { max-width: 32%; width: 32%; margin-right: 1%; }
    
    .job-detail .job-footer { display:block; }

    footer .social { text-align: right; float: right; }
    
    div.pagination a { display: inline-block; }
    
    .form-group.checkbox { margin-top: 0; }
    .form-group.checkbox.salary { margin-top: 10px; }

    /* EM TELAS GRANDES NAO MOSTRA INDICADOR DE AREA RESPONSIVA */
    .responsive-indicator-alert, .responsive-indicator { display: none; }
}

/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) {
    header, footer { padding: 0; }
    header .logo { width:200px; text-align: center; float: left; }
    header .banner { display:block; float: right; text-align: center; margin-top: 12px; }
    header .banner { width:728px; }
    
    #content { width:640px; }
    
    .navbar { margin-top: 20px; border-top: solid 1px #e0e0e0; padding-top: 16px; }
    .navbar .access { text-align:right; margin-top: 4px; }
    .access { text-align: right; margin: 2px 0 0 0; }
    .access a { font-size: 14px; }

    .menu-candidato { float: right; margin: 0; }
    .menu-candidato p { text-align: right; }
    .menu-candidato ul li { display: inline-block; margin: 0 0 0 6px; font-size: 14px; }
    .menu-candidato .parte1 { float: right; }
    .menu-candidato .parte2 { float: right; margin-left: 10px; }

    .menu { display: block; border:0; }
    .menu li { float: left; }
    .menu li { position: relative; margin-right: 10px; }
    .menu li>a {
        color: #333; font-weight: 600; font-size: 14px; line-height: 18px;
        padding: 0; overflow: hidden; padding: 10px 14px; letter-spacing: 0.3px;
    }
    .menu li a { text-decoration: none; display: block; position: relative; background: #f2f2f2; }
    .menu li i.fa-home { font-size: 18px; }
    
    .mobile-nav { display: none; }
    
    body #content { float: right; padding: 0 0 0 15px; }
    #content .job-header .page-title { font-size: 30px; }

    #sidebar { width:300px; float: left; padding: 0; margin: 0; }
    #sidebar .social-links { display: block; }
    #sidebar .social-links a { float: none; }
    
    footer .col { margin/*-bottom*/: 0px; }
    footer .social { display: none; }
    footer .navbar .access { text-align: right; }
    
    div.pagination { margin: 20px 0 0 0; }

    .job-list h4 { font-size: 24px; }

    .form-control { font-size: 15px; }

    /* EM TELAS GRANDES NAO MOSTRA INDICADOR DE AREA RESPONSIVA */
    .responsive-indicator-alert, .responsive-indicator { display: none; }
}

/* Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
    header .logo { width:300px; }
    header .logo img { max-width: 300px; max-height: 130px; }
    header .banner, #content { width:850px; }
}