.org_tree,
.org_tree ul {
  margin:0 0 0 1em; /* indentation */
  padding:0;
  list-style:none;
  color: #C814FC !important;
  position:relative;
}

.org_tree ul {margin-left:.5em} /* (indentation/2) */

.org_tree:before,
.org_tree ul:before {
  content:"";
  display:block;
  width:0;
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  border-left:1px dotted;
}

.org_tree li {
  margin:0;
  padding:0 1.5em; /* indentation + .5em */
  line-height:2.2em; /* default list item's `line-height` */
  font-weight:bold;
  position:relative;
}

.org_tree li:before {
  content:"";
  display:block;
  width:10px; /* same with indentation */
  height:0;
  border-top:1px dotted;
  margin-top:-1px; /* border top width */
  position:absolute;
  top:1em; /* (line-height/2) */
  left:0;
}

.org_tree li:last-child:before {
  background:white; /* same with body background */
  height:auto;
  top:1em; /* (line-height/2) */
  bottom:0;
}

.org_tree li a{
    color: #C814FC;
}

.org_unidad_abierta{
    background: url(../images/org_unidad_abierta.png) 1em 0 no-repeat;
    padding-left: 3.5em !important;
    font-style: italic;
}

.org_unidad_cerrada{
    background: url(../images/org_unidad_cerrada.png) 1em 0 no-repeat;
    padding-left: 3.5em !important;
    font-style: normal;
}

.org_unidad_vacia{
    background: url(../images/org_unidad_abierta.png) 1em 0 no-repeat;
    padding-left: 4em !important;
    padding-bottom: 0.5em;
    padding-top: 0.5em;
    font-style: italic;
}

.org_hijos_abierta{
    /*height: auto !important;*/
    /*width: auto !important;*/
    /*visibility: visible !important;*/
    display: block;
}

.org_hijos_cerrada{
    /*height: 0px !important;*/
    /*width: 0px !important;*/
    /*visibility: hidden !important;*/
    display: none;
}

.org_empleados_abierta{
    /*height: auto !important;*/
    /*width: auto !important;*/
    /*visibility: visible !important;*/
    display: block;
}

.org_empleados_cerrada{
    /*height: 0px !important;*/
    /*width: 0px !important;*/
    /*visibility: hidden !important;*/
    display: none;
}

.org_enlace_unidad{
    /*color: #006785 !important;*/
    border-bottom: none;
    text-decoration: none;
    padding: 0.5em;
    border-radius: 20px;
}

.org_enlace_unidad:hover{
    /*color: #006785;*/
    border-bottom: none;
    text-decoration: none;
    background-color: #E9E9E9; 
}

.org_unidad_abierta > .org_enlace_unidad{
    text-decoration: underline #C814FC !important;
}

.org_empleado{
    color: #C19948 !important;
    /*list-style-image: url(../img/org_empleado.png);*/
    background: url(../images/org_empleado.png) 1em 0 no-repeat;
    padding-left: 3.5em !important;
}

.org_empleado a{
    color: #1DB9B0 !important;
}


.calendario{
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    max-width: 112em;
}

table.calendario_mes{
    flex: 1;
    flex-basis: auto;
    background-color: #F6F6F6;
    border-collapse: collapse;
    width: 21em;
    height: 21em;
    margin: 0.8em;
    font-size: 1em;
    border-top: 1px solid #b9b9b9;
    border-bottom: 1px solid #b9b9b9;
    border-left: 1px solid #b9b9b9;
    border-right: 1px solid #b9b9b9;
}

@media only screen and (min-resolution: 2dppx){
table.calendario_mes{
    flex: 1;
    flex-basis: auto;
    background-color: #F6F6F6;
    border-collapse: collapse;
    width: 21em;
    height: 21em;
    margin: 0.5em;
    font-size: 0.5em;
}
}

table.calendario_mes td.nombre_mes{
    text-transform: uppercase;
    text-align: center;
    font-weight: bold;
    padding: 0.5em;
    font-size: 0.9em;
    color: #51A5C2;
}



table.calendario_mes td.nombre_mes{
    text-transform: uppercase;
    text-align: center;
    font-weight: bold;
    padding: 0.5em;
    font-size: 0.9em;
    color: #51A5C2;
}

table.calendario_mes td.nombre_dia{
    text-align: center;
    font-style: italic;
    color: #B9B9B9;
    font-size: 0.8em;
}

table.calendario_mes td.celda_dia{
    /*height: 30px;*/
    /*width: 30px;*/
    text-align: center;
    font-size: 0.8em;
    font-weight: bold;
}

.dia_finde{
    color: red;
}

.dia_festivo{
    color: #008aff;
    font-weight: bold;
    background-color: #baffcc;
}

.dia_festivo:hover{
    color: white;
    font-weight: bold;
    background-color: black;
}

.dia_vacacion{
    color: #a48d2b;
    font-weight: bold;
    background-color: #fdffba;
}

.dia_vacacion:hover{
    color: white;
    font-weight: bold;
    background-color: black;
}

.dia_finde_vacacion{
    color: red;
    font-weight: bold;
    background-color: #baffcc;
}

.dia_finde_vacacion:hover{
    color: white;
    font-weight: bold;
    background-color: black;
}

.dia_absentismo{
    color: #a42b51;
    font-weight: bold;
    background-color: #efbaff;
}

.dia_absentismo:hover{
    color: white;
    font-weight: bold;
    background-color: black;
}

.dia_dup_vacacion{
    color: #9b0000;
    font-weight: bold;
    background-color: orangered;
}

.dia_dup_vacacion:hover{
    color: white;
    font-weight: bold;
    background-color: black;
}

.dia_finde_dup_vacacion{
    color: darkred;
    font-weight: bold;
    background-color: orange;
}

.dia_finde_dup_vacacion:hover{
    color: white;
    font-weight: bold;
    background-color: black;
}

table.listado_vacas {
  margin-top: 1em;
  /*margin-left: auto;*/
  /*margin-right: auto;*/
  border: 1px solid #51A5C2;
  
}

table.listado_vacas tr.cabecera_listado{
  border-bottom: 1px solid #F6F6F6;
}

table.listado_vacas tbody td {
  padding: 0.3em;
}

table.listado_vacas tr.par {
  background-color: #F6F6F6;
}

table.listado_vacas tr.impar {
  background-color: #FFFFFF;
}


form {
display: inline;
}

input.boton {
  margin: 1em;
  border: 1px solid black;
}

table.ficha {
  margin-top: 1em;
  margin-left: auto;
  margin-right: auto;
  border: 1px solid #669900;
}

table.ficha th {
  font-weight: bold;
  background-color: #AEC3EC;
  text-align: left;
  padding: 2px;
  color: #3461B9;
}

table.ficha td {
  padding: 2px;
}

table.ficha td.especial {
  background-color: #041368;
  color:white;
}

table.ficha caption {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  font-weight: bold;
  color: #425814;
  padding: 0;
  margin-bottom: 0;
  margin-top: 1em;
}

table.formulario {
  margin-top: 1em;
  margin-left: auto;
  margin-right: auto;
  border: 1px solid #669900;
}

table.formulario th {
  font-weight: bold;
  background-color: #AEC3EC;
  text-align: left;
  padding: 2px;
}

table.formulario td {
  padding: 2px;
}

table.listado {
  margin-top: 1em;
  margin-left: auto;
  margin-right: auto;
  border: 1px solid #5283E3;
  border-collapse: collapse;
}

table.listado th {
  font-weight: bold;
  background-color: #5283E3;
  text-align: left;
  font-weight: bold;
  color: #ffffff;
  padding: 3px;
  text-align: center;
}

table.listado td {
  padding: 0.4em;
}

table.listado caption {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  font-weight: bold;
  color: #425814;
  padding: 0;
  margin-bottom: 0;
  margin-top: 1em;
}

table.listado tr.par {
  background-color: #AEC3EC;
}

table.listado tr.par a{
  color: #000000;
}

table.listado tr.par a:hover{
  color: #9F2145;
}

.error {
  width: 65%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 5px;
  margin-bottom: 5px;
  border: 2px solid #ff6666;
  padding: 20px;
  font-weight: bold;
  text-align: center;
  background: url(../images/error.png) no-repeat 5px 5px;
}

.info {
  width: 65%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 5px;
  margin-bottom: 5px;
  border: 4px solid #6666ff;
  padding: 20px;
  font-weight: bold;
  text-align: center;
  background: url(../images/info_24.png) no-repeat 5px 5px;
}

@media only screen and (max-resolution: 1dppx){
.info {
  width: 65%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 5px;
  margin-bottom: 5px;
  border: 2px solid #6666ff;
  padding: 20px;
  font-weight: bold;
  text-align: center;
  background: url(../images/info_16.png) no-repeat 5px 5px;
}
}

.correcto {
  width: 65%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 5px;
  margin-bottom: 5px;
  border: 2px solid #32CD32;
  padding: 20px;
  font-weight: bold;
  text-align: center;
  background: url(../images/tick.gif) no-repeat 5px 5px;
}

a.item {
  padding:0 ;
  padding-left: 20px;
  background: url(../images/item.gif) no-repeat 0px 0px;
}

a.pdf {
  padding: 0;
  padding-left: 20px;
  background: url(../images/file_acrobat_mini.gif) no-repeat 0 0;
}


a.solicitud {
  padding: 0;
  padding-left: 40px;
  background: url(../images/document_32.png) no-repeat 0 0;
}

@media only screen and (max-resolution: 1dppx){
    a.solicitud {
      padding: 0;
      padding-left: 20px;
      background: url(../images/document_16.png) no-repeat 0 0;
    }
}

/* Estilos para pantallas sin zoom (normal) */
@media only screen and (min-resolution: 1dppx) and (max-resolution: 1.5dppx) {
    a.solicitud {
      padding: 0;
      padding-left: 20px;
      background: url(../images/document_16.png) no-repeat 0 0;
    }
}

/* Estilos para pantallas con zoom moderado */
@media only screen and (min-resolution: 1.5dppx) and (max-resolution: 2dppx) {
    a.solicitud {
      padding: 0;
      padding-left: 20px;
      background: url(../images/document_16.png) no-repeat 0 0;
    }
}

/* Estilos para pantallas con alto nivel de zoom */
@media only screen and (min-resolution: 2dppx) {
    a.solicitud {
      padding: 0;
      padding-left: 40px;
      background: url(../images/document_32.png) no-repeat 0 0;
    }
}


a.salir {
  padding-left: 20px;
  background: url(../images/salir.gif) no-repeat 0 0;
  background-position-y: center;
  border: none;
}

a.datos {
  padding: 0;
  padding-left: 20px;
  background: url(../images/datos.gif) no-repeat 0 0;
}

a.nomina {
  padding: 0;
  padding-left: 20px;
  background: url(../images/nomina.gif) no-repeat 0 0;
}

a.tabla {
  padding: 0;
  padding-left: 20px;
  background: url(../images/tabla.gif) no-repeat 0 0;
}

a.solic_admin {
  padding: 0;
  padding-left: 20px;
  background: url(../images/page_adm.gif) no-repeat 0 0;
}

a.password{
  padding: 0;
  padding-left: 20px;
  background: url(../images/keepass_password.png) no-repeat 0 0;
  background-position-y: center;
  border: none;
}

input.pdf {
  padding-left: 19px;
  background: url(../images/file_acrobat.gif) no-repeat 1px 1px;
  margin-left: 1em;
  margin-right: 1em;
}

a.persistencia{
  padding: 0;
  padding-left: 20px;
  background: url(../images/full-time.png) no-repeat 0 0;
}

.conceptoS {
  text-align: right;
}

.conceptoR {
  text-align: right;
  color: red;
}

.conceptoSubtotal {
  background-color: lightyellow;
}

.conceptoTotal {
  background-color: lightblue;
  font-weight: bold;
}

th.mes a {
  color: white;
  text-decoration: none;
  border-bottom: 0;
}

th.mes a:visited {
  color: white;
  text-decoration: none;
  border-bottom: 0;
}

th.mes a:hover {
  color: yellow;
  border-bottom: none;
}

ul.listado_opciones {
  margin-top: 0;
  margin-bottom: 0;
}

ul.listado_opciones li{
  list-style: none;
}

span.tick {
  display: block;
  background: url(../images/tick_24.png) no-repeat top left;
  width: 24px;
  height: 24px;
}

@media only screen and (max-resolution: 1dppx){
span.tick {
  display: block;
  background: url(../images/tick_16.png) no-repeat top left;
  width: 16px;
  height: 16px;
}
}


span.tick b {
  display: none;
}

.info_window {
  display: none;
  position: fixed;
  z-index: 100; 
  top: 50%;
  left: 50%; 
  /*width: 30em;*/
  /*height: 30em;*/
  /*margin-top: -9em;*/
  /*margin-left: -15em;*/
  transform: translate(-50%, -50%);
  background-color: white;
  padding: 0.5em;
  border: 1px solid #000;
  /*border-right: 2px solid #333;*/
  /*border-bottom: 2px solid #333;*/
}

.modal_window {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 100;
}

.modal_window-content {
    background-color: #fff;
    width: 450px;
    margin: 100px auto;
    padding: 20px;
    border: 1px solid #ccc;
    border-radius: 5px;
}

a.b_calendario, a.b_calendario:hover {
  border-bottom: 0;
}

.accion_despl {
  border: 1px solid #999;
  background-color: white;
  padding: 1em;
}

ul.subsection_tabs {
	list-style:none;
	margin:0 0 5px 0;
	padding:0;
	clear:both;
	border-bottom:1px solid #ccc;
	height:20px;
	clear:both;
}

ul.subsection_tabs li.tab {
	float:left;
	margin-right:7px;
	text-align:center;
}

ul.subsection_tabs li.tab a {
	display:block;
	height:20px;
	padding:0 6px 0 6px;
	background-color:#aaaaaa;
	color:#FFFFFF;
	width:125px;
}

ul.subsection_tabs li.tab a:hover {
	color:#666;
}

ul.subsection_tabs li.tab a.active {
        background-color:#0000FF;
}

ul.subsection_tabs li.source_code {
	float:right;
}

a.enlace_externo {
  padding: 0;
  padding-left: 30px;
  background: url(../images/enlace_externo_20.png) no-repeat 0 0;
}

@media only screen and (max-resolution: 1dppx){
a.enlace_externo {
  padding: 0;
  padding-left: 20px;
  background: url(../images/enlace_externo.png) no-repeat 0 0;
}
}



.dataTables_wrapper{
    padding: 1em !important;
}

table.dataTable{ 
    border-bottom: 1px solid #777474 !important;
    border-left: 1px solid #777474 !important;
    border-right: 1px solid #777474 !important;
    margin-top: 2em !important;
}

table.dataTable.no-footer{ 
    border-bottom: 1px solid #777474 !important;
    border-left: 1px solid #777474 !important;
    border-right: 1px solid #777474 !important;
    margin-top: 2em !important;
}

table.dataTable caption {
    font-weight: bold !important;
    color: #425814 !important;
    padding: 0.2em !important;
    border-bottom: 1px solid #777474 !important;
}

table.dataTable thead th{
    font-weight: bold !important;
    text-align: center !important;
    background-color: #5283E3 !important;
    color: #ffffff !important;
    padding: 0.5em !important;
    padding-left: 1.5em !important;
    padding-right: 1.5em !important;
    border: none !important;
    border-bottom: 1px solid #777474 !important;
}

table.dataTable.display tbody tr.odd {
    background-color: #E2EAF9 !important;
}

table.dataTable.display tbody tr.odd > .sorting_1{
    background-color: #F9E8E2 !important;
}

table.dataTable thead .sorting_asc{
    background-color: #D77676 !important;
}

table.dataTable thead .sorting_desc{
    background-color: #D77676 !important;
}

table.dataTable tfoot td{
    border-top: 1px solid #777474 !important;
    background-color: #D8D8D8 !important;
    padding: 0.4em !important;
}





.btn_procesando_ajax{
    background: url(../images/ajax-loader.gif) 0 0 no-repeat;
    min-height: 16px;
    min-width: 16px;
    padding-left: 20px;
}


a.estrella{
  width: 24px;
  height: 24px;
  background: url(../images/estrella_24.png) no-repeat 0 0;
  border: none;
  display: inline-block;
}

@media only screen and (max-resolution: 1dppx){ 
a.estrella{
  width: 16px;
  height: 16px;
  background: url(../images/estrella_16.png) no-repeat 0 0;
  border: none;
  display: inline-block;
}
}

a.estrella_vacia{
  width: 24px;
  height: 24px;
  background: url(../images/estrella_vacia_24.png) no-repeat 0 0;
  border: none;
  display: inline-block;
}

@media only screen and (max-resolution: 1dppx){ 
a.estrella_vacia{
  width: 16px;
  height: 16px;
  background: url(../images/estrella_vacia_16.png) no-repeat 0 0;
  border: none;
  display: inline-block;
}
}

a.estrella_comment{
  width: 24px;
  height: 24px;
  background: url(../images/estrella_comment_24.png) no-repeat 0 0;
  border: none;
  display: inline-block;
}

@media only screen and (max-resolution: 1dppx){ 
a.estrella_comment{
  width: 16px;
  height: 16px;
  background: url(../images/estrella_comment_16.png) no-repeat 0 0;
  border: none;
  display: inline-block;
}
}