/* ==========================================================
   GENERAL
========================================================== */
html,
body{
    height:100%;
    margin:0;
    background:#ffffff;
    font-family:Arial, Helvetica, sans-serif;
}
header{
    border-bottom:1px solid #dcdcdc;
}
main{
    min-height:calc(100vh - 245px);
}
footer{
    border-top:1px solid #dcdcdc;
}

/* ==========================================================
   HEADER
========================================================== */
.header-container{
    padding:6px 20px;
}

/* columnas */
.header-left{
    display:flex;
    align-items:center;
}

.header-center{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    position:relative;
    left:20px;
}

.header-right{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    justify-content:center;
}

/* logos */
.logo-gobierno{
    max-height:78px;
    width:auto;
    margin-top:-28px;
}

.logo-fopavi{
    max-height:74px;
    width:auto;
}

/* títulos */
.header-title{
    margin:0;
    font-size:1.6rem;
    font-weight:400;
}

.header-subtitle{
    color:#6c757d;
    font-size:.92rem;
}

/* actualización */
.header-update{
    margin-top:4px;
    text-align:right;
}

.header-update-label{
    font-size:.68rem;
    color:#6c757d;
    line-height:1.2;
}

.header-update-date{
    font-size:.82rem;
    font-weight:600;
    line-height:1.2;
    color:#212529;
}

/* fuente */
.header-source{
    padding:3px 20px;
    border-top:1px solid #dee2e6;
    border-bottom:1px solid #dee2e6;
    background:#fafafa;
    font-size:.82rem;
}

/*==================================================
  TABLA
==================================================*/
#tblEmpresas{
    font-size:.85rem;
}

#tblEmpresas thead th{
    background:#2f6f9f;
    color:#ffffff;
    font-weight:600;
    border:none;
}

#tblEmpresas td{
    padding:.35rem;
    vertical-align:top;
}

#tblEmpresas td:last-child{
    text-align:center;
    vertical-align:middle;
}

#tblEmpresas tbody tr{
    transition:background-color .15s ease;
}

#tblEmpresas tbody tr:hover{
    background:#f7f9fc;
}

.form-control-publico{
    height:30px;
    font-size:.85rem;
}

.label-publico{
    font-size:.85rem;
    font-weight:600;
    margin-bottom:3px;
}

.card-body{
    padding:.60rem;
}

/*==================================================
  DATATABLE
==================================================*/
.dataTables_wrapper{
    font-size:.85rem;
}

.dataTables_info{
    font-size:.85rem;
}

.dataTables_paginate{
    font-size:.85rem;
}

.dataTables_paginate .paginate_button{
    font-size:.85rem !important;
    padding:.25rem .60rem !important;
}

tr.group td{
    background:#285d86;
    color:#fff;
    font-size:1rem;
    font-weight:700;
    text-align:left !important;
    padding:8px 15px;
}

/*==================================================
  TARJETAS
==================================================*/
.campo{
    margin-bottom:6px;
}

.campo:last-child{
    margin-bottom:0;
}

.titulo{
    display:block;
    font-size:.68rem;
    font-weight:700;
    color:#7b8794;
    text-transform:uppercase;
    letter-spacing:.4px;
    margin-bottom:1px;
}

.valor{
    display:block;
    font-size:.85rem;
    color:#212529;
    line-height:1.2;
}

.valor-principal{
    font-weight:600;
    font-size:.90rem;
}

.valor-secundario{
    color:#495057;
}

.constancia-card{
    text-align:center;
}

.constancia-card a{
    display:inline-flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:#0d6efd;
    text-decoration:none;
    cursor:pointer;
}

.constancia-card a:hover{
    color:#0056b3;
    text-decoration:none;
}

.constancia-card i{
    font-size:1.2rem;
    margin-bottom:6px;
}

.constancia-card .valor{
    font-size:.85rem;
    font-weight:600;
}

.estado-card .badge{
    font-size:.65rem;
    padding:.18rem .35rem;
}

.estado-card .valor{
    color:#495057;
}

.empresa-card,
.ubicacion-card,
.contacto-card,
.cobertura-card,
.estado-card,
.constancia-card{
    min-height:100%;
}

/* ============================================================
   Indicador de carga del reporte
============================================================ */

.loading-reporte {
    display: none;
    position: fixed;
    z-index: 9999;

    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    background: rgba(255, 255, 255, 0.85);

    align-items: center;
    justify-content: center;
}

.loading-contenido {
    text-align: center;
}

.spinner-reporte {
    width: 55px;
    height: 55px;

    border: 5px solid #e9ecef;
    border-top: 5px solid #007bff;

    border-radius: 50%;

    animation: girar 0.8s linear infinite;

    margin: 0 auto 15px;
}

.loading-titulo {
    font-size: 18px;
    font-weight: 600;
    color: #343a40;
}

.loading-subtitulo {
    margin-top: 4px;
    font-size: 14px;
    color: #6c757d;
}

@keyframes girar {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }

}

