/************CMS-Administrador*************/


/************Tipografia*************/

@font-face {
    font-family: 'roboto';
    src: url('../font/roboto-black-webfont.eot');
    src: url('../font/roboto-black-webfont.eot?#iefix') format('embedded-opentype'), url('../font/roboto-black-webfont.woff2') format('woff2'), url('../font/roboto-black-webfont.woff') format('woff'), url('../font/roboto-black-webfont.ttf') format('truetype'), url('../font/roboto-black-webfont.svg#robotoblack') format('svg');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'roboto';
    src: url('../font/roboto-regular_0-webfont.eot');
    src: url('../font/roboto-regular_0-webfont.eot?#iefix') format('embedded-opentype'), url('../font/roboto-regular_0-webfont.woff2') format('woff2'), url('../font/roboto-regular_0-webfont.woff') format('woff'), url('../font/roboto-regular_0-webfont.ttf') format('truetype'), url('../font/roboto-regular_0-webfont.svg#robotoregular') format('svg');
    font-weight: normal;
    font-style: normal;
}


/************General*************/

* {
    margin: 0;
    border: 0;
    box-sizing: border-box;
    font-family: 'roboto';
}

html {
    height: 100%;
}

body {
    width: 100%;
    height: 100%;
}

a {
    cursor: pointer;
    text-decoration: none;
}

.fl {
    float: left;
}

.fr {
    float: right;
}


/*list*/

ul {
    list-style: none;
    padding: 0;
}


/************Anchos*************/

.w16 {
    position: relative;
    width: 16.666666%;
    float: left;
}

.w20 {
    position: relative;
    width: 20%;
    float: left;
}

.w25 {
    position: relative;
    width: 25%;
    float: left;
}

.w30 {
    position: relative;
    width: 30%;
    float: left;
}

.w33 {
    position: relative;
    width: 33.3333333%;
    float: left;
}

.w40 {
    position: relative;
    width: 40%;
    float: left;
}

.w60 {
    position: relative;
    width: 60%;
    float: left;
}

.w66 {
    position: relative;
    width: 66.666666%;
    float: left;
}

.w50 {
    position: relative;
    width: 50%;
    float: left;
}

.w80 {
    position: relative;
    width: 80%;
    float: left;
}

.w95 {
    position: relative;
    width: 95%;
    float: left;
}

.w100 {
    position: relative;
    width: 100%;
    float: left;
}


/************Capas*************/


/**2 columnas**/

#col-izq {
    width: 20%;
    float: left;
    height: 100%;
    background: #BDCCD4;
}

#headerLogo {
    background: #2F3C42;
    height: 60px;
    padding: 15px;
    border-bottom: 1px solid #1A1A1A;
}

#navPanelAdmin {
    height: calc(100% - 60px);
    overflow: auto;
}

#col-izq header h1 {
    color: #fff;
    font-size: 1.6rem;
    font-weight: 100;
}

#col-izq nav li {
    padding: 25px 20px;
    border-bottom: 1px solid #2F3C42;
    color: #2F3C42;
}

#col-izq nav li.active,
#col-izq nav li:hover {
    background: #2f3c4226;
}

#col-izq nav li i {
    padding-right: 15px;
}

#col-dch {
    width: 80%;
    float: left;
    height: 100%;
    background: #F0F5F7;
}

#col-dch header {
    background: #808A8E;
    height: 60px;
    border-bottom: 1px solid #1A1A1A;
}

#user {
    padding: 5px 15px;
}

#user .logout {
    color: #fff;
    font-size: 0.8rem;
}

#menuDest a {
    width: auto;
    padding: 10px;
    font-size: 1rem;
}

.activeMenuLi {
    background: #2f3c4226;
}

.open {
    background: #2f3c4226;
}


/*botones*/

.btn-txt.btn-clr {
    text-align: center;
    width: auto;
    height: 60px;
    background: #5D676B;
    color: #fff;
    padding: 10px;
}


/*Botones*/

.btn-footer {
    padding: 8px 30px;
    font-size: 1rem;
    display: inline-block;
}

.btn-footer.fr {
    margin-left: 10px;
}

.btn-table {
    padding: 7px 20px;
    margin-left: 10px;
}

.icon-table {
    padding: 7px 3px;
}

.btn-cnt {
    padding: 7px 20px;
    margin-left: 10px;
    font-size: .8rem;
}

.btn-clientes {
    color: #4CAF50;
    padding: 0 10px;
}

.btn-incidencias {
    margin-top: 20px;
    padding: 15px 0;
    width: 100%;
    display: inline-block;
    text-align: center;
}

.btn-firmas {
    background: #ddec3f;
    padding: 7px 0;
    text-align: center;
    color: #000;
    margin: 5px 0;
}

.btn-grande {
    padding: 40px 20px;
    text-align: center;
    font-size: 1.5rem;
    margin-top: 30px;
}

.btn-rj {
    color: white;
    background: #F44336;
}

.btn-vd {
    color: white;
    background: #4CAF50;
}

.btn-nj {
    color: white;
    background: #FF9800;
}

.btn-az {
    color: white;
    background: #2196F3;
}

.btn-az-o {
    color: #2196F3;
}

.btn-rj-o {
    color: #F44336;
}

.btn-mr-o {
    color: #9c27b0;
}

.btn-vd-o {
    color: #4CAF50;
}


/*contenido inputs*/

.item-contenido.w20 {
    margin-left: 20px;
    width: calc(20% - 20px);
}

.item-contenido.w25 {
    margin-left: 20px;
    width: calc(25% - 20px);
}

.item-contenido.w30 {
    margin-left: 20px;
    width: calc(30% - 20px);
}

.item-contenido.w33 {
    margin-left: 20px;
    width: calc(33.3333333% - 20px);
}

.item-contenido.w40 {
    margin-left: 20px;
    width: calc(40% - 20px);
}

.item-contenido.w50 {
    margin-left: 20px;
    width: calc(50% - 20px);
}

.item-contenido.w66 {
    margin-left: 20px;
    width: calc(66.6666666% - 20px);
}

.item-contenido.w20:first-child {
    width: 20%;
}

.item-contenido.w25:first-child {
    width: 25%;
}

.item-contenido.w30:first-child {
    width: 30%;
}

.item-contenido.w33:first-child {
    width: 33.3333333%;
}

.item-contenido.w40:first-child {
    width: 40%;
}

.item-contenido.w50:first-child {
    width: 50%;
}

.item-contenido.w66:first-child {
    width: 66.6666666%;
}

.item-contenido.w20:first-child,
.item-contenido.w25:first-child,
.item-contenido.w50:first-child,
.item-contenido.w30:first-child,
.item-contenido.w40:first-child,
.item-contenido.w33:first-child,
.item-contenido.w66:first-child {
    margin-left: 0px;
    margin-right: 0px;
}

.item-contenido h3.title {
    font-size: 1.7rem;
    color: #252e42;
    border-bottom: 2px solid;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.item-contenido.small h3.title {
    font-size: 1rem;
}

.cnt-item {
    padding: 0 20px;
}

.cnt-item:first-child {
    padding-left: 0px;
}

.cnt-item:last-child {
    padding-right: 0px;
}

.item-contenido {
    position: relative;
    width: 100%;
    display: inline-block;
}

.item-contenido label {
    line-height: 40px;
    color: #606060;
}

.item-contenido input,
.item-contenido select {
    width: 100%;
    float: right;
    border: 1px solid #606060;
    padding: 5px;
    background: transparent;
    margin: 5px 0px;
    color: #a0a0a0;
    font-style: italic;
}

.item-contenido.w20 input,
.item-contenido.w20 select {
    width: 55%;
}

.item-contenido.w30 input,
.item-contenido.w30 select {
    width: 60%;
}

.item-contenido textarea {
    width: 100%;
    height: 75px;
    float: right;
    border: 1px solid #606060;
    padding: 5px;
    background: transparent;
    margin: 5px 0px;
    color: #a0a0a0;
    font-style: italic;
}

.item-contenido input:focus,
.item-contenido select:focus,
.item-contenido textarea:focus {
    background: #252e421f;
    color: #252e42;
    font-style: normal;
}

.item-contenido input[type=date],
.item-contenido input[type=time] {}

.item-contenido input[type=date]:before {
    content: '\f073';
    font: normal normal normal 14px/1 FontAwesome;
    padding: 0 5px;
    color: #606060;
    font-size: 0.8rem;
}

.item-contenido input[type=time]:before {
    content: '\f017';
    font: normal normal normal 14px/1 FontAwesome;
    padding: 0 5px;
    color: #606060;
    font-size: 0.8rem;
}

.item-contenido .cld-cnt,
.item-contenido .cld-cnt-2,
.item-contenido .cld-cnt-scl {
    width: 70%;
    float: right;
}

.item-contenido .cld-cnt input[type=date] {
    width: 60%;
    float: none;
}

.item-contenido .cld-cnt input[type=time] {
    width: 30%;
    float: none;
}

.item-contenido .cld-cnt a {
    width: 8%;
    text-align: center;
    margin: 5px 0;
    padding: 7px 0;
}

.item-contenido .cld-cnt-2 input[type=date] {
    width: 90%;
    float: none;
}

.item-contenido .cld-cnt-2 a {
    width: 8%;
    text-align: center;
    margin: 5px 0;
    padding: 7px 0;
}

.item-contenido .cld-cnt-scl input[type=date] {
    width: 64%;
    float: none;
}

.item-contenido .cld-cnt-scl input[type=time] {
    width: 34%;
    float: none;
}


/**********contenedor**********/

#contenido {
    width: 100%;
    height: calc(100% - 60px);
    overflow: auto;
    padding: 25px;
}

#cab-cont {
    display: inline-block;
    width: 100%;
    border-bottom: 1px solid;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

#cab-cont h2 {
    float: left;
}


/**/


/*************botones*************/

.btn-clr-2 {
    background: #808a8e;
    color: #f0f5f7;
}

.btn-ico {
    width: 50px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    font-size: 2rem;
}

.btn-ico.fr {
    margin-left: 5px;
}

.btn-ico.fl {
    margin-right: 5px;
}


/* select */

.select2-container--default .select2-selection--single {
    background-color: transparent;
    border: 1px solid #000;
    border-radius: 0;
    height: auto;
}


/************Tablas*************/

table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}

th,
td {
    border: 1px solid #606060;
    padding: 10px 15px;
}

th {
    background: #bdccd4;
    color: #2f3c42;
}

th.sorting:after {
    font: normal normal normal 14px/1 FontAwesome;
    content: "\f0dc";
    float: right;
    font-size: 1.5rem;
    cursor: pointer;
}

th.sorting_asc:after {
    font: normal normal normal 14px/1 FontAwesome;
    content: "\f0de";
    float: right;
    font-size: 1.5rem;
    cursor: pointer;
}

th.sorting_desc:after {
    font: normal normal normal 14px/1 FontAwesome;
    content: "\f0dd";
    float: right;
    font-size: 1.5rem;
    cursor: pointer;
}

td {
    color: #808a8e;
}

.dataTables_wrapper {
    display: inline-block;
    padding: 15px 0;
}

.dataTables_length {
    float: left;
    padding-bottom: 15px;
}

.dataTables_filter {
    float: right;
    padding-bottom: 15px;
}

.dataTables_info {
    float: left;
    padding-top: 15px;
}

.dataTables_paginate {
    float: right;
    padding-top: 15px;
}


/*btn tables*/

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    color: #fafbfc !important;
    border: none;
    background: #2f3c42;
    border-radius: 0;
    font-weight: bold;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    color: white !important;
    border: none;
    border-radius: 0;
    background: #4caf50;
}


/************Tinput*************/

input,
select {
    padding: 5px 10px;
    border: 1px solid #2f3c42;
}

.item-PU {
    margin: 10px 0;
    padding-right: 15px;
}

.item-PU.np {
    padding-right: 0px;
}

.item-PU label {
    color: #606060;
    line-height: 30px;
}

.item-PU>input,
.item-PU>textarea,
.item-PU select,
.item-PU .select2 {
    width: 60%!important;
    float: right;
    border: 1px solid #606060;
    background: transparent;
    color: #a0a0a0;
    font-style: italic;
}

.item-PU input:focus,
.item-PU textarea:focus,
.item-PU select:focus {
    background: #585e651c;
    color: #2b2c2d;
    font-style: normal;
}

.item-PU input[type=date]:before {
    content: '\f073';
    font: normal normal normal 14px/1 FontAwesome;
    padding: 0 5px;
    color: #606060;
    font-size: 0.8rem;
}

.item-PU input[type=time]:before {
    content: '\f017';
    font: normal normal normal 14px/1 FontAwesome;
    padding: 0 5px;
    color: #606060;
    font-size: 0.8rem;
}

.item-PU .cld-cnt-scl input[type=date] {
    width: 64%;
    float: none;
}

.item-PU .cld-cnt-scl input[type=time] {
    width: 34%;
    float: none;
}

.item-PU .cld-cnt-scl {
    width: 70%;
    float: right;
}


/*popup*/

.fancybox-slide>div {
    max-width: 1000px;
}

.footerPU {
    padding: 10px 0px;
    display: inline-block;
    width: 100%;
}

.cabPU {
    padding: 16px 0;
}

.item-PU.w50:nth-child(2n) {
    padding-right: 0;
}


/* Ensure that the demo table scrolls */

th,
td {
    /*white-space: nowrap;*/
}

div.dataTables_wrapper {
    width: 100%;
    margin: 0 auto;
}

th input {
    width: 90%;
}


/* borde rojo cuando un input es obligatorio y está vacío*/

.item-PU .campoVacio {
    border-color: red;
}


/* filas de registros desactivados (en BBDD)*/

table tr.desactivado td {
    color: #d0cece;
}


/* pongo z-index muy alto al contenedor del select2 porque sino el del fancybox se superponía 
y no se veían las opciones, se quedaban por debajo del contenedor del fancybox */


/*.select2-container{
    z-index: 99999;
}
*/


/*msje error*/

#msjeError {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #FFF;
    z-index: 99998;
    padding: 50px;
    font-size: 1.4rem;
}

#fondoError {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #00000061;
    z-index: 99997;
}

#error #btnAceptarError {
    float: right;
}

#txtError {
    float: left;
}

@keyframes error {
    0% {
        transform: rotate(0deg);
    }
    25% {
        transform: rotate(-30deg);
    }
    50% {
        transform: rotate(0deg);
    }
    75% {
        transform: rotate(30deg);
    }
    100% {
        transform: rotate(0deg);
    }
}

#msjeError i {
    float: left;
    color: #ffa54a;
    margin-right: 50px;
    line-height: 35px;
    animation-name: error;
    animation-duration: 0.5s;
    animation-iteration-count: 4;
    animation-timing-function: ease;
}


/*menus desplegables*/

.menu-desplegable li {
    cursor: pointer;
}

.menu-desplegable .sub-menu {
    display: none;
}

#col-izq nav ul.sub-menu {
    background: #d2dade;
}

#col-izq nav ul.sub-menu ul.sub-menu {
    background: #dde7ec;
}

#col-izq nav ul.sub-menu li {
    padding: 25px 20px 25px 60px;
}

#col-izq nav ul.sub-menu ul.sub-menu li {
    padding: 25px 20px 25px 110px;
}

.select2-dropdown {
    z-index: 99999;
}

.hidden {
    display: none;
}


/*modo lectura*/

#interiorCont.modoLectura {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    background: white;
    width: 100%;
    height: 100%;
}

#salirModoLectura {
    position: fixed;
    bottom: 0;
    right: 0;
    padding: 10px 30px;
    background: red;
    color: white;
    z-index: 9999;
}


/*menu-centrado*/

#interiorCont.menu-centrado {
    text-align: center;
}


/*btn-cons*/

.elipse {
    display: inline-block;
    width: 50px;
    height: 30px;
    background: #F44336;
    border-radius: 50px;
    transition: all ease .5s;
    cursor: pointer;
}

.circulo {
    display: inline-block;
    width: 30px;
    height: 30px;
    border: 1px solid #F44336;
    background: white;
    box-sizing: border-box;
    border-radius: 50%;
    transition: all ease .25s;
    cursor: pointer;
}

.elipse.abierto {
    background: #4CAF50;
}

.circulo.abierto {
    border: 1px solid #4CAF50;
    transform: translateX(20px);
}


/*.checkMaestros{
    max-height: 200px;
    overflow: auto;
}*/

.cont-check-maestros {
    border-left: 1px solid #bdccd4;
    padding: 0 20px;
    height: 240px;
    overflow: auto;
}

.cont-check-maestros:first-child {
    border: none;
}

.cont-check-maestros h3 {
    position: sticky;
    top: 0;
    background: #f0f5f7;
    color: #5d676b;
}

.checkMaestros:nth-child(3n+1) {
    margin-left: 0;
}

.checkMaestros:nth-child(3n) {
    margin-right: 0;
}


/*listas*/

.item-lista .elipse {
    width: 30px;
    height: 20px;
}

.item-lista .circulo {
    width: 20px;
    height: 20px;
}

.item-lista .circulo.abierto {
    transform: translateX(10px);
}

.item-lista ul {
    height: 150px;
    overflow-x: auto;
    list-style: none;
    padding: 0;
    margin-bottom: 20px;
}

.item-lista li {
    font-size: 1rem;
    color: #606060;
    padding: 5px 0;
    border-bottom: 1px solid #e0e0e0;
    display: inline-block;
    width: 100%;
}

.columnasAsig {
    column-count: 2;
    display: inline-block;
    width: 100%;
}

@media (max-width: 1280px) {
    .divFlotante {
        top: 25%;
        left: 25%;
        position: fixed !important;
        width: 50% !important;
        z-index: 99999;
        background: bisque;
        padding: 10px;
    }
    .fondoOscuro {
        position: fixed;
        top: 0;
        left: 0;
        background: #000;
        opacity: 0.8;
        width: 100%;
        height: 100%;
        z-index: 9999;
        text-align: center;
        padding-top: 20vh
    }
}


/* fin div flotante*/