/********** Content **********/
div.main-layout div.content {
	margin: 0 auto;
    position: relative;
    z-index: 0;
    padding-right: 2%;
	padding-left: 2%;
    color: #454545;
	padding-bottom: 2em;
}

div.content h1 {
	color: #301d6f;
	margin: 10px 0 10px 20px;
	font-size: 2em;
}

div.content h1.subtit {
	color: #301d6f;	;
	margin: 10px 0 10px 20px;
	font-size: 1.8em;
}

div.content h2 {
	color: #301d6f;;
	text-align: center;
}

div.content p {
	margin: 10px 0 0 0;
}

/*** Forms ***/
/*
form  {
    display: table;
    width: 80%;
    margin: auto auto;
}

form.filter {
    border: solid 1px #301d6f;;
}

form div.row  {
    display: table-row;
	margin: 5px auto 5px auto;
}

form input.mandatory, form select.mandatory, form textarea.mandatory {
    width: 66%;
    margin: 5px auto auto 10px;
    display: table-cell;
    text-align: left;
    background-color: #abcdff;
	color: White;
	font-weight: bolder;
	padding: 0.5em 0.5em;
}

form input, form select, form textarea {
    width: 66%;
    margin: 5px auto auto 10px;
    display: table-cell;
    text-align: left;
	padding: 0.5em 0.5em;
}

form table.sin_maqueta{
    width: 100%;
    margin: 5px auto auto 10px;
    display: block;

}

form div.celda {
	display: block;
    width: 66%;
    margin: 5px auto auto 10px;
    text-align: left;
	vertical-align: middle;
}

form input.radio {
    margin: auto;
	width: 10%;
}

form label.descripcion {
    width: 45%;
    margin: auto 10px auto auto;
    display: table-cell;
	text-align: right;
    vertical-align: middle;
}
form label.valor {
    width: 45%;
    margin: auto auto auto 20px;
    display: table-cell;
	text-align: left;
    vertical-align: middle;
}

form input.bluebutton  {
    width: 150px;
	margin-bottom: 10px;
	background-color: white;
	color: #1e3265;
	font-weight: bolder;
	text-align: center;
	border-radius: 1em;
	margin-top: 2em;
}

button.bluebutton {
	width: 150px;
	margin-bottom: 10px;
	background-color: white;
	color: #1e3265;
	font-weight: bolder;
	text-align: center;
	border-radius: 1em;
}
*/
/*** Modern Form Styling with CSS Grid ***/
form {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); /* Ajuste automático de columnas */
    gap: 1.5em; /* Espacio entre filas y columnas */
    width: 96%;
    max-width: 1200px;
    margin: 2em auto;
    padding: 2% 2em;
    background-color: #f8f9fa;
    border-radius: 8px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
    font-family: Arial, sans-serif;
}

form.filter {
    border: none;
}

form .row {
    display: flex;
    flex-direction: column;
}

form label.descripcion {
    font-weight: bold;
    color: #333;
    margin-bottom: 0.5em;
}

form select, form input[type="text"] {
    padding: 0.6em;
    border: 1px solid #ced4da;
    border-radius: 4px;
    font-size: 0.9em;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    width: 95%; /* Asegura que el input ocupe el ancho completo */
}

form select:hover, form input[type="text"]:hover {
    border-color: #1e3265;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
}

form select:focus, form input[type="text"]:focus {
    border-color: #1e3265;
    outline: none;
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.15);
}

/* Botón */
form input.bluebutton {
    width: 100%;
    max-width: 200px;
    padding: 0.7em;
    background-color: #1e3265;
    color: #fff;
    font-weight: bold;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    grid-column: span 2; /* Botones ocupan dos columnas */
    align-self: center;
}

form input.bluebutton:hover {
    background-color: #163052;
}


.bluebutton{
	padding: 0.7em;
    background-color: #1e3265;
    color: #fff;
    font-weight: bold;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.3s ease;
	text-decoration: none;
}

.bluebutton:hover {
    color: #fff;
}

.bluebutton:visited{
	color: #fff;
}

.bluebutton_derecha{
	float: right;
	margin-left: 1em;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    form {
        grid-template-columns: 1fr; /* Pasa a una sola columna en pantallas pequeñas */
        padding: 1em;
    }

    form input.bluebutton {
        width: 100%;
    }
}



.anadir {
background-image: url('../images/icon-add.png');
background-repeat: no-repeat;
background-position: center;
width: 32px;
height: 32px;
display:block;
text-align: center;
font-size: 0px;
}

td input.bluebutton {
    margin: 5px 5px 10px 10px;
	background-color: red;
	color: White;
	font-weight: bolder;
	text-align: center;
}

form a {
	margin: 5px auto auto 10px;
}

form .stats {
    padding: 0px 0px 0px 10px;
    display: table-cell;
    text-align: left;
}

form.tipo_informe  {
    width: 100%;
    margin: 20px auto;
}

form.tipo_informe input {
	width: auto;
}

/*** Tables ***/
table {
    width: 100%;
    margin: 15px auto;
    border: solid 1px #301d6f;
	border-collapse: collapse;
}

tr {
    height: 20px;
}

tr.par {
    background-color: #f5f9ff;
}

tr.impar {
    background-color: White;
}

tr.selected {
    background-color: #99ff00;
}

tr.old {
    background-color: #ecd9d9;
}

tr.new {
    background-color: #e2f3d3;
}

tr.invisible{
	display: none;
}

th {
    background-color: white;
    color: black;
    font-weight: bold;
    text-align: center;
}

th.descr {
    width: 30%;
}

td {
    text-align: center;    
}

td.selected {
    background-color: #99ff00;
}

td.clase_defcon_4 {
    background-color: #FF0066;
    color: #FFFFFF;
    -moz-border-radius: 20px;
    -webkit-border-radius: 20px;
    -khtml-border-radius: 20px;
    border-radius: 20px;
    font-weight: bold;
}

td.clase_defcon_3 {
    background-color: #FFAA00;
    -moz-border-radius: 20px;
    -webkit-border-radius: 20px;
    -khtml-border-radius: 20px;
    border-radius: 20px;
    font-weight: bold;
}

td.clase_defcon_2 {
    background-color: #FFFF00;
    -moz-border-radius: 20px;
    -webkit-border-radius: 20px;
    -khtml-border-radius: 20px;
    border-radius: 20px;
    font-weight: bold;
}

td.clase_defcon_1 {
    background-color: #00FF00;
    -moz-border-radius: 20px;
    -webkit-border-radius: 20px;
    -khtml-border-radius: 20px;
    border-radius: 20px;
    font-weight: bold;
}

td.clase_defcon_0 {
    background-color: #FFFFFF;
    -moz-border-radius: 20px;
    -webkit-border-radius: 20px;
    -khtml-border-radius: 20px;
    border-radius: 20px;
    font-weight: bold;
}

td.inc_creada{
	color: #FF0000;
    font-weight: bold;
}

td.inc_creada_aprobada{
	color: #FFAA00;
    font-weight: bold;	
}

td.inc_solucionada{
	color: #00FF00;
    font-weight: bold;
}

td.inc_solucion_aprobada{
	color: #00FF00;
    font-weight: bold;
}

td.pend_solucion {
    color: #FF0066;
    font-weight: bold;
}

td.pend_aprobacion_solucion {

}

td.aprobada_solucion {

}

td.fecha_incidencia_solucionada {
	color: #00FF00;
}

td.fecha_objetivo_caducada {
	color: #FF0000;
}

td.fecha_objetivo_vigor {
	color: #000000;
}

td.aligned_izda{
	text-align: left;
}

td select{
	width: 100%;
}

table.formtable {
    width: 66%;
    margin: 10px auto auto 10px;
}

table.menu {
    width: 85%;
    margin: 0px auto;
    border: none;	
}

table.menu tr{
	
}
	

table.menu td {
	text-align: right;
	width: 33%;
	vertical-align: top;
	padding-bottom: 20px;
	text-align: center;
}


table.menu td:hover{
    background-color: #fff; /* Fondo blanco al pasar el ratón */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); /* Sombra suave al hacer hover */
    cursor: pointer; /* Indica que es clicable */
	border-radius: 15px;
}

table.menu td a{
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none; /* Elimina el subrayado */
    color: inherit; /* Mantiene el color original del texto */
    padding: 10px; /* Añade algo de espacio dentro del enlace */
}

table.menu td label{
    cursor: pointer;
	font-weight: bold;
}

table.menu td p{
	margin: 0;
    border-top: 1px solid;
    width: 80%;
    margin-left: 10%;
	margin-top: 1em;
	padding-top: 1em;
}

table.menu img {
	vertical-align: middle;
	width: 32px;
	height: auto;
	margin-left: 1em;
	filter: invert(0) brightness(0) contrast(100); /*Para poner en negro las imagenes svg */
}

table.calendar {
    width: 100%;
    margin: 0px auto;
    border: none;
}

table.calendar td {
	width: 33%;
	vertical-align: top;
	maargin-bottom: 10px;
}

table.month td {
	width: 14.29%;
}

table.month td a  {
	text-decoration: none;
}

table.month td.sesion {
	background-color: #a6d0ff;
}

table.tipo_informe {
    width: 100%;
    margin: 15px auto;
    border: solid 1px red;
}

table.tipo_informe td.tipo_informe_i {
	text-align: right;
}
table.tipo_informe td.tipo_informe_d {
	text-align: left;
}

table tr td a{
	display: block; 
	width: 100%; 
	height: 100%;
	text-decoration: none;
	padding: 10px 0;
}


/*** Other ****/
p.continue {
	display: block;
	width: 90%;
	text-align: right;
}

label.note {
	font-size: xx-small;
	font-weight: bolder;
}

input.fecha {
	display: inline;
	width: 5.5em;
}
input.fecham {
	display: inline;
	width: 5.5em;
	background-color: #abcdff;
	color: White;
	font-weight: bolder;
}

input.time {
	display: inline;
	width: 2em;
}
input.timem {
	display: inline;
	width: 2em;
	background-color: #abcdff;
	color: White;
	font-weight: bolder;
}

/** Protocolo */
.showprotocolo{
	grid-column: 1 / -1;
    width: 90%;
}
.showprotocoloedit{
	width: 65%;
}
.row .showprotocolo{
	width: 40%;
	display: table-cell;
}
.protocoloizquierda
{
    background-color: #ededed;
	width: 50%;
	text-align:left;
}

.protocoloderecha
{
    background-color: red;
	width: 50%
}

.protocoloderechatext, .protocoloderecha select
{
    width: 90%;
	margin-left: 0;
	margin-top: 2px;
	margin-bottom:2px;
}


.contenidoprotocolo
{
    padding-bottom: 2px;
    padding-top: 2px;

}

.protocolocentro
{
    background-color: #ededed;
	color:black;

}
.protocolocentro h3, .protocolocentro h4
{
   margin-bottom: 0;
   margin-top: 0;
   text-align:center;
}


.protocolotitulo
{
	color:black;

}

.botonprotocolo{
	text-align: center;

}

.checkprot{
	width:10%;
	margin:auto;

}

.comentarioaprobacion textarea{
    margin-bottom: 1.5em;
	margin-left: 0.4em;
    width: 40%;
}

.comentarioaprobacion label
{
	vertical-align: top;

}
.rowprotocoloedit
{
	grid-column: 1 / -1;
    text-align: center;
    width: 100%;
    margin-bottom: 1em;
}

.registroProtocoloNuevoSelect
{
	width: 30%;
}
.registroProtocoloNuevoSelectMandatory
{
	background-color: #ABCDFF;
    color: White;
    display: table-cell;
    font-weight: bolder;
    margin: 5px auto auto 10px;
    text-align: left;
    width: 30%;
}

.protocoloderechatextarea
{
    margin: 2%;
    overflow-y: scroll;
    width: 96%;
}

.protocoloderechaFirma
{
    margin: 2%;
    width: 96%;
}

.dibujoProtocolo
{
	border: 1px solid;
    margin-bottom: 0.3em;
    margin-top: 0.3em;
    padding: 2px;
    width: 50%;
}


.mandatoryProtocolo{
	background-color: #ABCDFF;
    color: White;
    display: table-cell;
    font-weight: bolder;

}

.radioObligatorioProtocolo input, .radioCheckSiNo input{
	clear: left;
    float: left;
    margin-left: 1em;
    margin-right: 1em;
    margin-top: 10px;
    width: 1em;
}


.botonCentrado{
	margin: 0 auto;
    width: 30%;
}


/*   Deteccion asistencias a calendarios    */
.centrado p{
	text-align:center;
}



/* Fecha para la impresion */
.fecha_imprimir{
	display:none;
}

.imprimir{
	display:none;
}


/* Imagenes de editar y borrar del formulario de editar protocolo*/

.icono_edit_protocolo {
margin: 0;

}



/* fotos del protocolo*/

.fotoprotocolo{
	margin: 0 auto;
    width: 80%;

}

.contenidofotoprotocolo{
	border: 1px solid;
	padding: 2px;
	margin: 1em auto;
    width: 90%;
}

.foto_protocolo_btn_borrar {
	margin-bottom:1em;
}


/**********************/
.tituloCentrado{
	text-align: center;
}

.imagen_centrada{
	display: block;
	margin: auto;
}




/****************************************/
/*******       Diapositivas     *********/
/****************************************/

.rowDiapositiva{
	border: 1px solid;
    margin: 1em auto;
    width: 75%;
	background:black;
	float: left;
	clear: left;
	clear: right;
}


.rowDiapositivaBoton{
	margin: 1em auto;
    width: 40%;
	clear: both;
}


.limpiar{
	clear:both;
}

.DiapositivaImagen{
	margin: 0 auto;
	width:99%;
	display:block
}


.rowDiapositiva p{
	color: white;
    font-size: larger;
}

.rowDiapositiva a{
	margin:0;
}

.Diapositiva{
	width:60%
}

.rowDiapositivaOpciones{
	clear: right;
    float: right;
    margin-left: 2em;
    margin-top: 2em;
    width: 10%;
}

.rowDiapositivaBotonesMover{
	float:right;
	clear: right;
	margin-top:1em;
	margin-left:2em;
}

.rowDiapositivaBotonesMover a{
	margin: 0;
}

.rowDiapositivaBotonesMover img{
	width: 1.2em;
}

.rowDiapositivaBotonesChange{
	float:right;
	clear: right;
	margin-top:1em;
	margin-left:2em;
}

.rowDiapositivaBotonesChange a{
	margin: 0;
}

.rowDiapositivaBotonesChange img{
	width: 1.2em;
}

.DiapositivaImagenTextoDer{
	margin-left:3%;
	margin-right:3%;
	margin-top:3%;
	float: right;
	width: 50%;
}

.DiapositivaTextoIzq {
	margin-left:3%;
	margin-right:3%;
	margin-top:3%;

	width: 50%;
}

/****************************************/
/*******   Programaciones       *********/
/****************************************/
.checkboxDiaProgramaciones{
	width:5%;
	float: left;
	margin-top: 10px;
}

.DiaProgramaciones{
	float: left;
	width: 5%;
	text-align: center;
}

.DiaProgramacionesDiv{
	clear: both;
}


.DiaProgramacionesPrimero{
	clear: left;
}

.rowDias{
	display: table-row;
    margin: 5px auto;
}

.mi_tabla{
	
	
}


/***********************************/
/***** 		Presencias  ************/
/***********************************/
.rowSesion{
	background-color: skyblue;
	color:	white;
}

.rowPresenciaFisica{
	background-color: palegreen;
}

.rowPresenciaAprobada{
	background-color: aquamarine;
}

.rowPresenciaPendiente{
	background-color: #FFF866;
}

.rowPresenciaIncidencia{
	background-color: red;
	color: white;
}

.rowPresenciaObviada{
	background-color: grey;
}

.rowPresencia a, .rowPresenciaFisica a, .rowPresenciaAprobada a, .rowPresenciaIncidencia a{
	color: white;
    text-decoration: none;
}

.rowPresenciaPendiente a, .deteccionPresenciaPendiente a {
	color: black;
    text-decoration: none;
}

.deteccionPresenciaFisica{
	background-color: palegreen;
}

.deteccionPresenciaAprobada{
	background-color: aquamarine;
}

.deteccionPresenciaPendiente{
	background-color: #FFF866;
}

.deteccionPresenciaIncidencia{
	background-color: red;
}

.deteccionPresenciaFisica a, .deteccionPresenciaAprobada a{
	color: white;
    text-decoration: none;
}

.checkboxPresencia{
	margin-right:2%;
	width: 5%;
}

.imagenPresencias{
	width:1.2em;
}

.leyenda{
	float: right;
    margin-top: 1em;
}

th.cabeceraNomina {

}

td.IzquierdaNomina{
	text-align: left;
}

td.DerechaNomina{
	text-align: right;
}

.tableNomina{
	font-size: 0.8em;
}

.exclamacion a{
	color:red !important;
}

.tableNomina a{
	text-decoration: none;
	color:#454545;
}

#tabla_resultados thead tr .header {
	background-image: url(../images/bg.gif);
	background-repeat: no-repeat;
	background-position: center right;
	cursor: pointer;
	padding: 10px;
	padding-right: 25px;
}

#tabla_resultados thead tr .headerSortUp {
	background-image: url(../images/asc.gif);
}

#tabla_resultados thead tr .headerSortDown {
	background-image: url(../images/desc.gif);
}

#tabla_resultados thead tr .headerSortDown, #tabla_resultados thead tr .headerSortUp {
	background-color: #8dbdd8;
}

#tabla_resultados tr{
	display: none;
}


table:not(.menu) tr th, table:not(.menu) tr td{
	border: 2px double #dee2e6;
}

table:not(.menu) tr th{
	padding: 10px;
}

.style_is{
	    filter: invert(0) brightness(0) contrast(100);
}



/* Tabla resumen */

.graficasResumen{
	/*
	margin: 0 auto;
	width:90%;
	border: 1px solid #ecebeb; 
	*/
}

.graficasResumen h3, .graficasResumen h3 a, .graficasResumen h2, .graficasResumen h2 a{
	color: #301d6f;
}

.graficasResumen{
	width: 90%;
    margin: 0 auto;
}

.graficaResumen{
	border: 1px solid #ecebeb; 
	width: 49%;
	background-color: white;
	float: left;
	padding-bottom: 2em;
	margin-bottom: 2em;
}

.graficaResumenLeft{
	margin-right:1%;
}

.graficaResumenAll{
	width: 99%;
}

.graficaResumenTitle {
    text-align: center;
	border-bottom: 2px solid #E6E9ED;
	width: 90%;
    margin: 0 auto 2em auto;
	padding-top: 1em;
    padding-bottom: 1em;
}

.graficaResumenTitle a{
	color: #301d6f;
	text-decoration: none;
}

.graficaResumenChart{
	width: 40%;
    float: left;
	margin-left: 5%;
}

.graficaResumenChart canvas{
	width:100%;
}

.graficaResumenChartAll{
	width: 100%;
}

.graficaResumenAll .graficaResumenChart{
	width: 20%;
}

.graficaResumenAll table{
	width: 70%;
}

.graficaResumenDatos{
	width: 40%;
	float: right;
	margin-right: 5%;
}


.graficaResumenDato{

}


.graficaResumenDatoTitle{

}

.graficaResumenDatoValue{

}


.resumenLine{
	display: table;
    clear: both;
    width: 90%;
    margin: 0 auto;   
	margin-top: 2em;
}

.resumenLineElement{
	width: 15%;
    float: left;
	border-right: 2px solid #ADB2B5;
	padding-left: 0.5%;
    padding-right: 0.5%;
}

.resumenLineElement label{
	display:block;
	text-align: center;
}

.resumenLineElementTitle {
    font-size: 12px;
    white-space: nowrap;         /* Evita que el texto se envuelva en múltiples líneas */
    overflow: hidden;            /* Oculta el contenido que exceda el ancho */
    text-overflow: ellipsis;     /* Añade los puntos suspensivos (...) */
    cursor: pointer;             /* Cambia el cursor al pasar el ratón */
}

.resumenLineElementContent{
	font-size: 40px;
	color: #301d6f;
}

