/* COLORES PRINCIPALES
*
#efefef azul claro
#219ebc azul medio
#023047 azul oscuro
#ffb703 amarillo 
#fb8500 naranja
*
*#e0e0e0 gris claro
*#d4edda // verde success
#f8d7da // rojo alert

#efefef #efefef // verde oserma
#efefef gris *

#00ae00 verde oficial
rgba(0,173,0,0.08)  verde claro
#000058 azul oficial

*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@200;300;500&family=Raleway:wght@400;700&family=Ubuntu:wght@400;700&display=swap');

/************ ETIQUETAS *************/

a , .btn-link{ color: #000058; text-align: left; }
a:hover { color: #00ae00; text-decoration: none;transition: 0.3s }
.anek-devanagari-<uniquifier> {
  font-family: "Anek Devanagari", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

header {padding:16px 0;}

.logo {height:50px}



p { color:#333f48 }
.bg-verde { background: #00ae00;}
.bg-verde-claro { background: rgba(0,173,0,0.08);}

.f-mini { font-size: 11px; color: #8c8c8c }
.container { max-width: 960px; }
body {
    background: #f8f7fa; 
    padding-top: 90px;
     -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 13px!important;
    font-weight: 400;
    font-family: Inter,Helvetica,sans-serif
   
}

.bartop {  color: #fff; font-size: 16px; font-weight:500 }
.bartop > div > div { height: 41px;}
.bartop ul {  list-style-type: none; /* Elimina los puntos de la lista */
  padding: 0;
  margin: 0;
  display: flex;
}
.ulend {justify-content: flex-end;}

.bartop li{ padding-right:25px;}
.bartop ul.ulend li{ padding-left:25px; padding-right:0px;}

  .bartop a { color: #fff; transition: 0.5s }
  .bartop a:hover { color: #191970; text-decoration:none }
.logologin { max-width: 140px ;}

.form-control:focus {
    border-color: rgba(0, 173, 0, 0.09); 
    box-shadow: none !important; 
}

.btn-info {
    color: #fff;
    background-color: #000058;
    border-color: #000058;
}
.btn-info:hover {
    color: #fff;
    background-color: #00ae00;
    border-color: #00ae00;
}
.btn-outline-info {
    color: #000058;
    border-color: #000058;
}
.btn-outline-info:hover {
    color: #fff;
    background-color: #000058;
    border-color: #000058;
}

.enterpage button:hover { background: #000058 !important; border: 0 !important}
.enterpage button { background:#00ae00 !important; border: 0 !important}

table { background: #fff; }
.fixedbar {  position: fixed; width: 100%; top:0; z-index: 23}
.relative { position: relative; }
.w50 { width: 50%; }

.modal-header { border-top-left-radius: 10px;  border-top-right-radius: 10px;}
.modal-content {border-radius: 10px; }
.modal-header {background:#efefef ;}

::placeholder {
    color: #ccc !important; 
  
}

.overflow-auto {
    overflow-y: scroll !important ;
   
}


  .overflow-auto::-webkit-scrollbar {
      width: 6px; /* Ancho de la barra de desplazamiento */
 
    }

    .overflow-auto::-webkit-scrollbar-thumb {
      background-color: #efefef; /* Color del "pulgarcito" de la barra de desplazamiento */
      border-radius: 4px; /* Bordes redondeados del "pulgarcito" */
      
    }

    .overflow-auto::-webkit-scrollbar-track {
      background-color: #f8f9fa; /* Color de fondo de la barra de desplazamiento */
      border-radius: 10px; /* Bordes redondeados de la barra de desplazamiento */
    }

/************ CABECERA *************/
.avisologin {
    max-width: 450px;
    margin: auto;
    margin-bottom: 24px;
    color: #ababab;
}
/************ MENÚ *************/
.cta {padding:9px 14px;  display: inline-block; border: 1px solid; border-radius: 5px}
.cta:hover {   text-decoration:none; }

.cta-mini { border: 1px solid; color: #333f48;  }
.cta-mini:hover {  }


.cta-verde-o { color: #039349;  border-color:  #039349; }
.cta-verde-o:hover { color:#fff; border-color:  #039349; background: #039349; }

nav.navbar.navbar-expand-lg.navbar-light.bg-light {
    z-index: 15;
}

/************ LISTADOS *************/
#sortable-list { cursor: pointer; }
.list-group-item { cursor: grab;}

.card { background-clip: padding-box; box-shadow: 0 0.25rem 1.125rem rgba(75,70,92,.1); margin-bottom:30px; border-radius: 10px;}
.card h2 { font-size: 20px;}

.cabecera { padding: 10px 10px 10px 30px; background: #efefef; color: #023047 }
.cabecera h2 { color: #023047; margin: 0;}

.cabecera .fas { color: #ccc; cursor: pointer;  transition: 0.3s}
.masinfobox:hover .fas { color: #000; }
.cabecera .fas:hover { color: #219ebc;}


.radius-top { border-radius : 10px 10px 0 0 }
.padd20 { padding : 20px }
.padd30 { padding : 30px 30px 16px 30px;}


.datos h3 { font-size: 16px;} 

.card2 { border: 2px solid #ccc; border-top: 0;  border-radius: 0 0 10px 10px;   }
.fotocard h3 { font-size:18px;    position: absolute; bottom:23px; color: #fff; text-transform: uppercase; font-weight: 500}
.fotocard h5 { font-size:15px;    position: absolute; bottom:3px; color: #fff; text-transform: uppercase; font-weight: 300}

.card2  { padding: 15px 20px 20px 20px; }
.card2  h4 {font-size: 16px;font-weight: 600;}
.fotocard {
    padding: 0 0 0 20px;
    background-size: cover !important;   
    background-color: rgba(0, 0, 0, 0.5); /* Color negro con opacidad (0.5 para 50%) */
    background-blend-mode: overlay; /* Modo de mezcla para superponer la imagen y el color */
    background-size: cover; /* Ajusta el tamaño de la imagen al contenedor */
    background-repeat: no-repeat; /* Evita la repetición de la imagen */
    height: 120px; /* Altura del contenedor, puedes ajustarla según tus necesidades */
    
     border-radius : 10px 10px 0 0;
     position: relative;
  }

.fecha { color: #ccc; font-size: 12px;}


.card3 { border: 1px solid #efefef; border-radius: 10px; padding: 14px; margin-bottom: 20px}

.card3 .fas.prin , .cabeceraproyecto .fas.prin{ color: #ccc; cursor: pointer;  transition: 0.3s}
.card3:hover .fas.prin , .cabeceraproyecto:hover .fas.prin { color: #000; }
.card3 .fas.prin:hover , .cabeceraproyecto .fas.prin:hover{ color: #00ae00;}

.cardwithoverflow {padding-right: 0; height: 291px;}
.cardwithoverflow .d-flex {padding-right: 14px; }
.cardwithoverflow .table { width: calc(100% - 8px); }
.table { margin-bottom: 0;}

.fasecons .fas.secons { color: #ccc; cursor: pointer;  transition: 0.3s}
.fasecons:hover .fas.secons { color: #000; }
.fasecons .fas.secons:hover { color: #00ae00;}


.progress { width: 100%; height: 30px;}
.progress-bar { overflow: visible; padding-left: 8px; background: #00ae00}

.cert .quetexto { display:none; }
.informe .queeuros { display:none; }
.acta .queeuros { display:none; }
.modal { padding: 0 !important;}
/* FORMULARIOS */

.dropzone {
    min-height: 10px !important; 
    border: 2px dotted rgba(0,0,0,.3) !important;
    border-radius: 10px;
    margin-bottom: 20px;
}


.mas { background: #e0e0e0; min-width:80px;  width:80px; height:80px; border-radius:10px; padding-left:30px; color: #969696; cursor: pointer; overflow: hidden}
.mas > .fa { margin-right: 28px; }
.texto-mas { font-size:20px; font-weight: 600; }
.nowrap { white-space: nowrap;}

.datepicker-days td, .datepicker-days th { font-size: 12px ; }

.masinfo { border: 3px dashed #e0e0e0; color: #e0e0e0; padding: 30px; font-size: 22px; text-align: center; cursor: pointer;} 
.masinfoform {display: none;}

.absoluteimgedit { position: absolute; bottom: -30px; right: 5px;}


.bg-imgedit { background: #fff; padding-top: 5px; border-radius: 4px;     height: 24px; width: 24px;}
.fotos .bg-imgedit { display:none; cursor:pointer }
.fotos:hover .bg-imgedit { display:block; color: #000; transition: 500ms; }
.fotos:hover  .bg-imgedit:hover .fas { display:block; color: #219ebc; transition: 500ms; }


/* Estilos para que el modal ocupe todo el alto */
.modal-dialog-pdf {
    max-width: 80%; /* O el ancho que prefieras, pero no el 100% */
    margin: 30px auto; /* Centra el modal y añade margen arriba y abajo */
    height: calc(100vh - 60px); /* 100% del alto de la vista menos 60px de margen total */
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.modal-content-pdf {
    height: 100%; /* Asegura que el contenido use todo el alto disponible */
    display: flex;
    flex-direction: column;
}

.modal-body-pdf {
    overflow-y: hidden; /* Añade scroll si el contenido excede el alto del modal */
}

/* Ajuste del iframe dentro del modal */
#pdfViewer {
    height: 100%; /* Ajusta esto según sea necesario */
    flex-grow: 1; /* Permite que el iframe crezca para ocupar el espacio disponible */
}

.piemodal { font-size: 16px; }

button:disabled {
    display: none;
}
.but105 { width: 105px;}

.IMG-link { cursor:pointer;}
.resumen td { padding-top: 5px; padding-bottom: 5px}

.icon-container {
    position: relative;
    display: inline-block;
}

.envelope-icon {
    font-size: 24px;
}

.check-icon {
    position: absolute;
    bottom: 0;
    right: 0;
    font-size: 12px;
    color: green;
}
.menu a , .c-color{ color: #17a2b8; }
.dblock { display: block;}

ul.menu {
    list-style-type: none; /* Elimina los bullets */
    padding: 0; /* Elimina el padding por defecto del ul */
    
    display: flex; /* Hace que los elementos se alineen en fila */
    gap: 10px; /* Espaciado entre elementos */
}

ul.menu li {
    display: inline; /* Hace que los elementos se muestren en línea */
}

.tablares { width: 100%; }

.tablares img { max-width: 120px}

.tablares .col1 { width: 140px }
.tablares .col2 { width:auto}
.tablares .col3 {  width: 240px }
.tablares .col4 { width: 140px }
.tit { font-size: 18px }
.toggle-off { width: 86px; padding-left: 1.2rem;}

/************ FOOTER *************/




/************ FONDOS *************/


/************ GENERALES *************/
.w30 { width: 30px;}  .wpdf { width: 78px;}
.w100 { width: 100%}

.padd1 { padding: 30px; }

.mt0  {margin-top:0px;}     .pt0 {padding-top:0px;}
.mt10 {margin-top:10px;}	.pt10 {padding-top:10px;} .pt16 {padding-top: 16px !important;}
.mt20 {margin-top:20px;}	.pt20 {padding-top:20px;}
.mt30 {margin-top:30px;}	.pt30 {padding-top:30px;}
.mt40 {margin-top:40px;}	.pt40 {padding-top:40px;}
.mt50 {margin-top:50px;}	.pt50 {padding-top:50px;}
.mt60 {margin-top:60px;}	.pt60 {padding-top:60px;}
.mt70 {margin-top:70px;}	.pt70 {padding-top:70px;}


.mb0  {margin-bottom:0px;}      .pb0 {padding-bottom:0px;}
.mb10 {margin-bottom:10px;}		.pb10 {padding-bottom:10px;}
.mb20 {margin-bottom:20px;}		.pb20 {padding-bottom:20px;}
.mb30 {margin-bottom:30px;}		.pb30 {padding-bottom:30px;}
.mb40 {margin-bottom:40px;}		.pb40 {padding-bottom:40px;}
.mb50 {margin-bottom:50px;}		.pb50 {padding-bottom:50px;}
.mb60 {margin-bottom:60px;}		.pb60 {padding-bottom:60px;}
.mb70 {margin-bottom:70px;}		.pb70 {padding-bottom:70px;}

.mr20 {margin-right:20px;}     .pr20 {padding-right:20px;}
    .pr0 {padding-right:0px !important;}

.t-table {display: table}
.t-row {display: table-row}
.t-col {display: table-cell}


        .form-signin {
            width: 100%;
            max-width: 430px;
            padding: 15px;
            margin: auto;
        }
        .centered {
            height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
        }



@media (max-width: 767px) {
    .text-xs-left { text-align: left; }
    .text-xs-right { text-align: right; }
    .text-xs-center { text-align: center; }
    .text-xs-justify { text-align: justify; }
}

@media (min-width: 768px) and (max-width: 991px) {
    .text-sm-left { text-align: left; }
    .text-sm-right { text-align: right; }
    .text-sm-center { text-align: center; }
    .text-sm-justify { text-align: justify; }
}

@media (min-width: 992px)  and (max-width: 1199px) {
    .text-md-left { text-align: left; }
    .text-md-right { text-align: right; }
    .text-md-center { text-align: center; }
    .text-md-justify { text-align: justify; }
}

@media (min-width: 1200px) {
    .text-lg-left { text-align: left; }
    .text-lg-right { text-align: right; }
    .text-lg-center { text-align: center; }
    .text-lg-justify { text-align: justify; }
}
