/* ============================== FONTES */
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif:ital,wght@0,100..900;1,100..900&display=swap');

/* ============================== CONFIGURAÇÕES PADRÕES */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Poppins", sans-serif;
}

:root {
    --white-color: #fff;
    --blue-color: #4070f4;
    --grey-color: #707070;
    --grey-color-2: #4d4d4d;
    --grey-color-light: #aaa;
    --prussian-blue: #13293D;
    --sepphire-blue: #006494;
    --celadon-blue: #88a7b4;
    --carolina-blue: #c6ddeb;
    --azure: #504973;
    --cor1: #2e2559;
    --cor2: #d8e2fc;
    --cor3: #504973;
    --cor4: #6250FC;
    --cor5: #7CD2A3;
    --cor6: #FEC19F;
    --cor7: #31518d;
    --chateau-green: #3B9E62;
}
body {
    font-size: 0.8rem;
    background-color: var(--cor2);
    transition: all 0.5s ease;
}
.link-tabela{
    text-decoration: none;
}  
.content-wrapper{
    margin-left: 290px;
    margin-right: 50px;
    margin-top: 100px;
}
.painel-cabecalho{
    border-bottom: 1px solid #DADADA;
    padding: 10px 0 10px 0;
}

@media (max-width: 1250px) {
    .container-wrapper {
        width: 1250px;
    }
    .content{
        width: 1000px;
    }
}

/*================================== RODAPÉ */
.main-footer {
    font-weight: 500; 
    background-color: #f8f9fa;
    font-size:15px;
    padding: 4px 10px 4px 0;
    position: fixed;
    width: 100%;
    text-align: center;
    bottom: 0;
    border-top: 1px solid #d2d6de;
    border-left: 1px solid #d2d6de;
}
  
  
/*================================== TEXTOS HOMEPAGE */
.content-homepage{
    margin-right: 400px;
}
.titulo-homepage{
    font-size: 20px;
    font-weight: 600;
    margin: 10px 0 30px 0;
    border-top: 1px solid #DADADA;
    border-bottom: 1px solid #DADADA;
    padding: 10px 0 10px 0;
}
.texto-homepage{
    text-align: justify;
    color: #473d3d;
}
  
span i{
    font-size: 22px;
    color: var(--cor7);
}
  
/*================================== PAINEL PADRÃO */
.box-table{
    padding: 20px;
    margin: 20px;
}
.box-form{
    padding: 20px;
    margin: 20px;
}
.box-item{
    box-shadow: 0 0 10px var(--grey-color-light);
    margin-bottom: 20px;
}
.painel {
    margin-top: 0;
    margin-right: 10px;
}
.painel-defalt {
    margin-bottom: 20px;
    margin-right: 20px;
    box-shadow: 0 0 15px 0 rgba(0,0,0,0.25);
}
.box-header {
    border-left: 7px solid var(--sepphire-blue);
    border-bottom: 1px solid #d2d6de;
    background: #f1f4f6;
    font-size: 25px;
    font-weight: 500;
    padding: 10px 10px 10px 20px;
}
  
.box-header-formulario{
    border-left: 7px solid var(--sepphire-blue);
    border-bottom: 1px solid #d2d6de;
    margin-bottom: 10px;
    background: #f1f4f6;
    font-size: 18px;
    font-weight: 400;
    padding: 5px 5px 5px 10px;
}
.subtitulo {
    border: 1px solid var(--carolina-blue);
    background: #f1f4f6;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    padding: 6px 0 6px 0;
}
.obrigatorio{
    color: #e44e5d;
    user-select: none; 
}
label{
    font-weight: 500;
}
/*==================================NAVBAR */
.navbar {
    position: fixed;
    top: 0;
    width: 100%;
    left: 0;
    background-color: var(--cor7);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 30px;
    z-index: 1000;
    box-shadow: 0 0 2px var(--grey-color-light);
}
.logo a{
    font-family: 'Noto Serif', sans-serif;
    display: flex;
    align-items: center;
    column-gap: 10px;
    text-decoration: none;
    font-size: 28px;
    font-weight: 800;
    color:  var(--cor2);
}
.logo a:hover{
    color: #fff;
}
.navbar img {
    width: 35px;
    height: 35px;
    object-fit: cover;
    border-radius: 50%;
}
.navbar_content {
    display: flex;
    align-items: center;
    column-gap: 25px;
}
.navbar_content i {
    cursor: pointer;
    font-size: 20px;
    color: var(--grey-color);
}
.navbar_content h5{
    text-decoration: none;
    font-size: 1rem;
    margin-top: 5px;
    color: #fff;
    font-weight: 500;
}
  
/*================================== ESTILO PADRÃO DO STATUS*/
.span-padrao {
    font-size: 0.80rem;
    font-weight: 600;
    padding: 2px 5px;
    border-radius: 5px;
    color: white;
}
  
/*================================== PESQUISA */
.pull-right {
    float: right;
}
/*================================== CORES SPAN */
.span-verde {
    background: var(--chateau-green);
    cursor: default;
}
.span-vermelho {
    background: #f02f2f;
    cursor: default;
}
.span-laranja {
    background: #EAAF3A;
    color: #473d3d;
    cursor: default; 
}
.span-amarelo {
    background: #f0f022;
    color: #473d3d;
    cursor: default; 
}
.span-jade{
    background:#318d81;
    cursor: default; 
}
.span-margeta{
    background:#E00A69;
    cursor: default; 
}
.span-azul{
    background:#5A7FC5;
    cursor: default; 
}
.span-grey{
    font-size: 0.80rem;
    font-weight: 500;
    padding: 0px 5px;
    border-radius: 5px;
    color: rgb(255, 255, 255);
    background:#777676;
    cursor: default;
    display: inline-block;  /* Permite que o span ocupe apenas o espaço necessário */
    margin-bottom: 3px;   /* Adiciona espaço vertical entre os spans */
}
/*================================== NAVEGAÇÃO TABELA */
.pg-total{
    margin:10px 0px 0px 70px;
}
.pg-left{
    float:left;
}
  
/*================================== ALERTA MENSAGEM */
.fade-out {
    transition: opacity 0.5s ease-out;
    opacity: 1;
}
.fade-out.hide {
    opacity: 0;
}
.alerta-success {
    color: #ffffff;
    font-weight: 500;
    background-color: #3b9e63;
}
.alerta-danger {
    color: #ffffff;
    font-weight: 500;
    background-color: #e44e5d;
}
.alerta-warning {
    color: #ffffff;
    font-weight: 500;
    background-color: #d6ac2f;
}
.alerta-info {
    color: #ffffff;
    font-weight: 500;
    background-color: #3c95a5;
}
  
/*================================== INPUT ERRO */
.input-erro{
    border-color: #e44e5d;
}
.input-msg-erro{
    padding:1px 3px 1px 3px;
    font-weight: 500;
    font-size: 0.8rem;
    margin-top:4px;
}
.form-group.has-error .form-control {
    border-color: #dd4b39 !important;
    box-shadow: none;
}
.select2-container--default .select2-selection--single{
    height: calc(1.8125rem + 2px);
    padding: .25rem .5rem;
    font-size: .875rem;
    line-height: 1.5;
    border-radius: .2rem;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
}
.form-group.input-erro .select2-container--default .select2-selection--single{
    border-color: #e44e5d;
}
.form-group.input-erro .select2-container--default .select2-selection--multiple{
    border-color: #e44e5d;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height:20px;
}
.box-item.input-erro{
    border-color: #e44e5d;
}
.form-group.input-erro .panel-default{
    border-color: #e44e5d;
}

/*================================== PAINEL HEADING */
.painel-heading {
    border-bottom: 1px solid #eee;
    border-top: 1px solid #eee;
    font-size: 20px;
    padding: 10px 15px;
    border-bottom: 1px solid transparent;
    border-radius: 5px;
}
.painel-body {
    border: 1px solid #ced4da;
    padding: 10px 15px;
    border-radius: 5px;
}
  
/*================================== ERROS*/
.title_error{
    font-size: 6rem;
    margin: 0;
}
  
.div_error{
    background-color: #fff;
    padding: 70px 30px 70px 30px;
    margin: 10% 30% 0 30%;
    text-align: center;
}
/*================================== LINK TABLE  */
.link_th{
    text-decoration: none;
    color: #000;
}
.link_th:hover{
    text-decoration: none;
    color: #1b3f46;
}

/*=================================== STATUS CONTRATO  */
.status-legenda{
    margin-top: 10px;
    margin-bottom: 2px;
    text-align: center;
}
.status-legenda span{
    margin-right: 10px;
    font-weight: 600;
}


.status-certidoes{
    display: flex;
    margin-top: 5px;
    margin-bottom: -10px;
    flex-direction: column;
    align-items: center;
}
.status-certidoes div {
    display: flex;
    align-items: center;
}
.status-certidoes span{
    margin-left: 15px;
    font-weight: 600;
}
.status-certidoes i{
    margin-left: 5px;
    font-size: 22px;
}

.text-fatura {
    margin-bottom: 5px;
    font-weight: 600;
    margin-right: 8px;
}

.text-fatura-desc {
    font-weight: 400;
    font-size: 0.9rem;
}

.text-fatura-desc a {
    text-decoration: none;
}