/* General */

body {
    font-size: 0.8rem;
    font-family: 'Roboto', Roboto, "Helvetica Neue", Arial, sans-serif;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: 'Open Sans', Roboto, "Helvetica Neue", Arial, sans-serif;
}

h1, .h1 {
    font-size: 1.25rem;
}

h5, .h5 {
    font-size: 1rem;
}

.btn {
    font-size: 0.875rem;
}

.lh-btn {
    line-height: 35px;
}

.td-blue {
    color: #72A2F6 !important;
}

table th a,
table td a {
    text-decoration: underline;
}

/* Boostrap */

.row-no-padding {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.row-no-padding > [class*="col-"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.dropdown-menu {
    font-size: 0.875rem;
}

.dropdown-menu-triangle::before {
    position: absolute;
    top: -7px;
    left: 9px;
    display: inline-block;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #CCC;
    border-left: 7px solid transparent;
    border-bottom-color: rgba(0, 0, 0, 0.2);
    content: '';
}

.dropdown-menu-triangle::after {
    position: absolute;
    top: -6px;
    left: 10px;
    display: inline-block;
    border-right: 6px solid transparent;
    border-bottom: 6px solid white;
    border-left: 6px solid transparent;
    content: '';
}

.dropdown-menu-triangle.dropdown-menu-right::before {
    left: auto;
    right: 9px;
}

.dropdown-menu-triangle.dropdown-menu-right::after {
    left: auto;
    right: 10px;
}

.btn-primary {
    background-color: #BC212C;
    border-color: #BC212C;
}

.btn-secondary {
    background-color: #fff;
    border-color: #CED4DA;
    color: #CED4DA;
}

.page-link {
    font-family: 'Roboto', sans-serif;
    font-size: 0.875em; /*14px*/
    font-weight: 500;
    color: #3E3E3E;
    background-color: #fff;
    border: 1px solid #DEE2E6;
}

.page-item.active .page-link {
    color: #3E3E3E;
    background-color: #D3D3D3;
    border-color: #D3D3D3;
}

.page-link:hover,
.page-link:focus {
    color: #000;
}

.page-link:focus {
    box-shadow: 0 0 0 0.15rem rgba(0, 0, 0, 0.25);
}

/* Body */
.web-body {
    /*display: flex;
     flex-direction: column;
     min-height: 100vh;
     overflow: hidden;*/
    width: 100%;
    height: 100%;
    margin: 0 auto;
    padding: 0;
}

/** Header **/
.web-header {
    width: 100%;
    height: 56px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fff;
}

.web-header__left,
.web-header__right {
    height: 100%;
}

.web-header .header-left {
    flex: 0 0 230px;
    transition: all 300ms ease;
    overflow-x: hidden;
    background: #DA291C;
}

.web-header .header-content {
    width: 100%;
    box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.1);
    padding: 10px 20px;
}

/*.web-header > *{
    margin-right: 1rem;
}*/

/* Logo */
.web-header .header-brand {
    width: 230px;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 300ms ease;
    text-align: center;
    background: #EDEDED;
}

.web-header .header-brand .header-brand-full {
    max-width: 100%;
    height: auto;
    display: block;
    margin-left: 56px;
}

.web-header .header-brand .header-brand-minimized {
    display: none;
}

.red-square {
    width: 56px;
    height: 56px;
    background-color: #BC212C;
    position: absolute;
    top: 0;
    left: 0;
}

.sidebar-minimized .red-square {
    visibility: hidden;
    display: none;
}

.header-minimized .web-header .header-brand {
    width: 56px;
    min-width: 56px;
    background-color: #BC212C;
}

.header-minimized .web-header .header-brand .header-brand-full {
    display: none;
}

.header-minimized .web-header .header-brand .header-brand-minimized {
    display: inline-block;
}

.header-hidden .web-header .header-brand {
    width: 0;
}

.header-hidden .web-header .header-brand .header-brand-full {
    display: none;
}

.header-hidden .web-header .header-brand .header-brand-minimized {
    display: none;
}

/* parte derecha */
.web-header__right {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 1rem;
}

.web-header__right__end {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.web-header__right div {
    margin-right: 1rem;
}

.web-header__right div:last-child {
    margin-right: 0;
}

/* Minimizar menu */
.web-header .header-minimizer {
    transition: all 300ms ease;
    background: transparent;
    border: 0;
    cursor: pointer;
    color: #A7A7A7;
}

.web-header .header-minimizer .fa {
    font-size: 2rem;
    margin-right: 5px;
    color: #EDEDED;
}

.web-header .header-minimizer:hover {
    color: #2D3B41;
    text-decoration: none;
}

/* botón crear nuevo */
.header-new {
    /*width: 128px;*/
    width: auto;
    height: 36px;
    position: relative;
    font-size: 1rem;
}

.header-new .btn {
    width: 100%;
    height: 100%;
    display: block;
    padding: 0;
    font-family: 'Roboto', sans-serif;
    font-size: 0.750em; /*12px*/
    font-weight: 500;
    line-height: 36px; /*mismo valor que altura de header-new*/
}

/* Alertas */
.web-header .header-alerts.dropdown {
    margin-right: calc(1rem + 5px);
}

.web-header .header-alerts .alerts-dropdown {
    position: relative;
    padding: 0;
    color: #707070;
}

.web-header .header-alerts .alerts-dropdown .badge {
    position: absolute;
    bottom: -5px;
    right: -5px;
    font-family: 'Roboto', sans-serif;
    font-size: 0.650rem;
    font-weight: 700;
    color: #fff;
    background-color: #DC3545;
}

/* Buscador */
.header-search {
    max-width: 350px;
}

.header-search select,
.header-search select:focus {
    background: #2D3B41;
    color: #fff;
    border: 0;
    border-right: 1px solid #D3D6D7;
}

.header-search .select2-container .select2-selection--single {
    background: #2D3B41;
    border: 0;
    border-right: 1px solid #D3D6D7;
    width: 200px;
}

.header-search .select2-container .select2-selection--single .select2-selection__rendered {
    color: #fff;
}

.header-search .select2-selection--single .select2-selection__arrow b {
    border-color: #fff transparent transparent transparent;
}

.header-search .select2-container--open .select2-selection .select2-selection__arrow b {
    border-color: transparent transparent #fff transparent;
}

.header-search input {
    background: #F6F6F6;
    border: 0;
}

.header-search .btn {
    background: #F6F6F6;
    color: #6C757D;
    border: 0;
}

/* Usuario */
.header-user .user-dropdown {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}

.header-user .user-dropdown:hover {
    text-decoration: none;
}

.header-user .user-avatar {
    width: 35px;
    height: 35px;
    background: #2D3B41;
    border-radius: 50%;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 5px;
}

.header-user .user-info {
    min-width: 0;
    max-width: 150px;
    display: flex;
    flex-direction: column;
    margin-right: 1.5rem;
    font-size: 1rem;
    line-height: 1rem;
}

.header-user .user-name,
.header-user .user-job {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: 'Roboto', sans-serif;
    font-size: 0.750em; /*12px*/
    font-weight: 400;
}

.header-user .user-name {
    color: #3E3E3E;
}

.header-user .user-job {
    color: #707070;
}

.header-user .user-dropdown > .fa {
    color: #3E3E3E;
}

.header-user .fa-cogs {
    display: inline-block;
    margin-right: -1rem;
    padding: 0.625rem;
    font-size: 1rem;
    color: #fff;
    border-radius: 1.875rem 0 0 1.875rem;
    background-color: #2D3B41;
}

.header-user .fa-cogs:hover {
    transform: scale(1.05);
    opacity: 0.9;
}

/* Dropdown */

.dropdown-menu {
    padding: 0;
}

.dropdown-header {
    padding: 8px 20px;
    background: #F6F6F6;
    border-bottom: 1px solid #c8ced3;
}

.dropdown-item {
    display: block;
    width: 100%;
    padding: 10px 20px;
    clear: both;
    font-weight: 400;
    color: #23282c;
    text-align: inherit;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
    position: relative;
    border-bottom: 1px solid #c8ced3;
    min-width: 180px;
}

.dropdown-item i {
    display: inline-block;
    width: 20px;
    margin-right: 10px;
    margin-left: -10px;
    color: #73818f;
    text-align: center;
}

.dropdown-item .badge {
    position: absolute;
    right: 10px;
    margin-top: 2px;
}

.dropdown-item:last-child {
    border-bottom: 0;
}

/*ocultamos contenidos de header*/
.header-search {
    visibility: hidden;
    display: none;
}

@media (max-width: 767px) {
    .header-search {
        display: none;
    }
}

/** Título de sección **/
.title-section {
    margin-bottom: 0.938rem; /*15px*/
    font-size: 1rem;
}

h1.title,
.title,
h2.subtitle,
.subtitle {
    display: block;
    margin: 0.3em;
    padding: 0;
    font-weight: 400;
    text-transform: capitalize;
}

h1.title,
.title {
    margin-right: 0;
    font-size: 1.250em; /*20px*/
    color: #3E3E3E;
}

h1.title--inline,
.title--inline,
.title--inline::after {
    display: inline-block;
    vertical-align: middle;
}

.title--inline::after {
    content: url(../img/caret-right.svg);
    margin-left: 0.2em;
}

h2.subtitle,
.subtitle {
    margin-left: 0.2em;
    font-size: 0.875em; /*14px*/
    color: #707070;
}

.title-section .text-right .btn-primary {
    width: 98%;
    max-width: 245px;
    font-family: 'Roboto', sans-serif;
    font-size: 0.875em; /*14px*/
    font-weight: 500;
    color: #fff;
}

.title-section .text-right .btn-primary .fa,
.title-section .text-right .btn-primary .fas {
    display: inline-block;
    margin-right: 4px;
}

/* Footer */
.web-footer {
    height: 1.875rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    /* flex: 0 0 44px;*/
    background: #6E757D;
    color: #2D3B41;
}

.web-footer .footer-poweredby {
    width: 230px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow-x: hidden;
    transition: all 300ms ease;
    background: transparent;
}

.web-footer .footer-poweredby img {
    max-height: 25px;
    margin-left: 5px;
}

/* Ocultar */
.web-footer .header-toggler,
.web-footer .sidebar-toggler {
    display: inline-flex;
    align-items: center;
    background: transparent;
    border: 0;
    color: #fff;
    margin: 0 1rem;
    cursor: pointer;
}

/* Menu */
.web-footer .footer-nav {
    display: inline-flex;
    align-items: center;
}

.web-footer .footer-nav ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
}

.web-footer .footer-nav ul li {
    margin: 0 0.5rem;
    font-size: 0.875rem;
}

.web-footer .footer-nav ul li a {
    font-size: 0.75rem;
    color: #2D3B41;
}

/* Main */
.web-main {
    min-height: calc(100vh - 5.4rem);
    display: flex;
    flex: 0 0 auto;
    background: #EDEDED;
    /* overflow: hidden;*/
}

.main {
    width: calc(100% - 230px);
    /* min-height: calc(100vh - 86px);*/
    height: 100%;
    padding: 15px 0;
}

.sidebar-minimized .main {
    width: calc(100% - 56px);
}

.sidebar-hidden .main {
    width: 100%;
}

/* Sidebar */
.sidebar {
    /*display: inline-flex;
     flex: 0 0 230px;*/
    padding: 0;
    transition: all 300ms linear;
    background-color: #2D3B41;
}

.sidebar .sidebar-nav {
    width: 230px;
    background-color: transparent;
    transition: all 300ms ease;
}

.sidebar .nav {
    width: 100%;
    flex-direction: column;
    transition: all 300ms ease;
    font-size: 1rem;
}

.sidebar .nav-item {
    width: 100%;
    /*height: 3.250rem;*/
    height: auto;
    position: relative;
    z-index: 99;
    margin: 0;
    transition: all 300ms ease;
    /*border-bottom: 1px solid #D3D3D3;*/
    white-space: nowrap;
}

/*.sidebar .nav-item:first-child{
    border-top: 1px solid #D3D3D3;
}*/

.sidebar .nav-item .fa-angle-up,
.sidebar .nav-item .fa-angle-left {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -0.25rem;
    font-size: inherit;
}

.sidebar .nav-link {
    width: 100%;
    height: 3.250rem;
    display: block;
    position: relative;
    padding: 0 1.571em; /*22px*/
    font-family: 'Roboto', sans-serif;
    font-size: 0.875em; /*14px*/
    font-weight: 400;
    line-height: 3.250rem;
    color: #fff;
    text-decoration: none;
    transition: all 300ms ease;
    /* border-left: 5px solid transparent;*/
    background-color: #2D3B41;
    cursor: pointer;
}

.sidebar .nav-link--border {
    position: relative;
    z-index: 100;
    border-bottom: 2px solid #fff;
}

.sidebar .nav-link:hover,
.sidebar .nav-link.active,
.sidebar .nav-link:hover .fa,
.sidebar .nav-link:hover .fas {
    color: #E1A23F;
}

.sidebar .nav-link:hover,
.sidebar .nav-link.active,
.sidebar .nav-link.active,
.sidebar .nav-link.hover-color {
    background-color: #6C757D;
    color: #E1A23F;
}

.sidebar .nav-link.active {
    text-shadow: 1px 1px #2D3B41;
}

.sidebar .nav-link .fa,
.sidebar .nav-link .fas {
    width: 0.714em; /*10px*/
    height: 1em; /*14px*/
    display: inline-block;
    margin-right: 1.643em; /*23px*/
    font-size: 1em; /*14px*/
    color: #D3D3D3;
}

.sidebar .nav-link.active .fa,
.sidebar .nav-link.active .fas,
.sidebar .nav-link.active .far {
    color: inherit;
}

.sidebar .nav-link .badge {
    display: inline-block;
    position: absolute;
    top: calc(50% - 1px);
    transform: translateY(-50%);
    right: 0.75rem;
    font-size: 0.65rem;
    color: #fff;
    transition: all 300ms ease;
    background-color: #BC212C;
}

.sidebar .nav-title {
    padding: .75rem 1rem;
    font-size: 80%;
    font-weight: 700;
    color: #e4e7ea;
    text-transform: uppercase;
    border-left: 5px solid transparent;
    border-bottom: 1px solid #5C5C5C;
}

.sidebar .nav-dropdown-toggle::before {
    font-family: "Font Awesome 5 Free";
    content: "\f104";
    display: inline-block;
    vertical-align: middle;
    font-weight: 900;
    position: absolute;
    top: .75rem;
    right: 1rem;
    transition: all 300ms ease;
}

.sidebar .nav-dropdown-items {
    max-height: 0;
    padding: 0;
    margin: 0;
    overflow-y: hidden;
    transition: all 300ms ease;
}

.sidebar .nav-dropdown-items .nav-item {
    border-bottom: 0;
}

.sidebar .nav-dropdown-items .nav-link:before {
    content: "";
    display: inline-block;
    margin-right: 0.8rem;
    width: 1.125rem;
}

.sidebar .nav-dropdown.open {
    background: rgba(0, 0, 0, .2);
}

.sidebar .nav-dropdown.open > .nav-dropdown-toggle::before {
    transform: rotate(90deg);
}

.sidebar .nav-dropdown.open > .nav-dropdown-items {
    max-height: 1500px;
    border-top: 1px solid #5C5C5C;
}

.sidebar .nav-divider {
    height: 10px;
}

/*sidebar cuando está dentro de main, es decir, que no es el sidebar de navegación general*/
.main .card .sidebar {
    flex-basis: 100%;
}

.main .card .sidebar .sidebar-nav,
.sidebar-minimized .main .card .sidebar .nav {
    width: 100%;
}

.sidebar-minimized .main .card .sidebar .nav-link {
    padding-left: 0.8rem;
    padding-right: 0.8rem;
}




/*sublista dentro de nav-item*/
.nav-item--dropdown {
    width: 100%;
    margin: 0;
    padding: 0;
    list-style-type: none;
}

/*.nav-item--dropdown__item{
    margin-bottom: 1px;
}*/
.nav-item--dropdown__item a {
    width: 100%;
    height: 100%;
    display: block;
    padding: 0.469rem 1.15rem 0.469rem 3.3rem;
    font-family: 'Roboto', sans-serif;
    font-size: 0.875em; /*14px*/
    font-weight: 400;
    white-space: normal;
    color: #fff;
    background-color: #465760;
    transition: all 0.2s ease;
}

.nav-item--dropdown__item a.active {
    background-color: #465760;
    color: #E1A23F;
}

.nav-item--dropdown__item a:hover {
    text-decoration: none;
    background-color: #4C5861;
}

/*.nav-item--dropdown__item a::before{
    content: url('../img/circle-item.png');
    width: 3px;
    position: relative;
    bottom: 0.2rem;
    display: inline-block;
    vertical-align: middle;
    margin-right: 0.35rem;
}*/
/* sidebar-minimized */
.sidebar-minimized .sidebar {
    flex-basis: 56px;
}

.sidebar-minimized .sidebar .nav,
.sidebar-minimized .sidebar .sidebar-nav {
    width: 56px;
}

.sidebar-minimized .sidebar .nav-title {
    display: none;
}

.sidebar-minimized .sidebar .nav-item {
    width: 100%;
    /* overflow: hidden;*/
}

.sidebar-minimized .sidebar .nav-item:hover > .nav-link {
    background: #6C757D;
}

.sidebar-minimized .sidebar .nav-link {
    position: relative;
    z-index: 100;
    margin: 0;
    padding: 0;
    white-space: nowrap;
}

/*para que no se vea lista grande al hacer slide left to right*/
.sidebar-minimized .sidebar::after {
    content: '';
    width: 56px;
    height: 100%;
    position: fixed;
    top: 56px;
    left: 0;
    z-index: 89;
    background-color: inherit;
}

.sidebar-minimized .sidebar .nav-link .badge {
    top: 0;
    right: 0;
    transform: translate(0, 0);
    border-radius: 0.25rem 0 0 0.25rem;
}

.sidebar-minimized .sidebar .nav-dropdown-toggle::before {
    display: none;
}

.sidebar-minimized .sidebar .nav > .nav-dropdown > .nav-dropdown-items {
    display: none;
    max-height: 1000px;
    background: #2f353a;
}

.sidebar-minimized .sidebar .nav > .nav-dropdown:hover > .nav-dropdown-items {
    position: absolute;
    left: 56px;
    display: inline;
}

.sidebar-minimized .sidebar .nav-dropdown-items .nav-item {
    width: 174px;
}

.sidebar-minimized .sidebar .nav-dropdown-items .nav-link:before {
    width: 0;
    display: none;
}

.sidebar-minimized .sidebar .nav-link .fa:not(.fa-angle-up),
.sidebar-minimized .sidebar .nav-link .fas:not(.fa-angle-up) {
    width: 100%;
    height: auto;
    /* margin-right: 0; */
    text-align: center;
}

/* sidebar-hidden */
.sidebar-hidden .sidebar,
.sidebar-hidden .sidebar .nav,
.sidebar-hidden .sidebar .sidebar-nav,
.sidebar-hidden .sidebar .nav-item {
    flex-basis: 0;
    width: 0;
    overflow: hidden;
}

/*elementos que hacen slide cuando el sidebar está plegado*/
.sidebar .nav-link--slide,
.sidebar-minimized .nav-item__name {
    visibility: hidden;
    display: none;
}

.sidebar-minimized .nav-link--slide,
.sidebar-minimized a.nav-link--slide {
    visibility: visible;
    display: block;
    height: 3.250rem;
    line-height: 3.250rem;
    position: absolute;
    top: 0;
    transform: translateX(-76px);
    left: 0;
    z-index: 20;
    padding: 0 0.6rem;
    font-family: 'Roboto', sans-serif;
    font-size: 0.875em; /*14px*/
    font-weight: 400;
    white-space: nowrap;
    color: #fff;
    background-color: #6C757D;
    transition: all 0.25s linear;
    opacity: 0;
}

.sidebar-minimized .nav-link:hover + .nav-link--slide,
.sidebar-minimized .nav-link--slide:hover,
.sidebar-minimized a.nav-link--slide:hover {
    transform: translateX(0);
    opacity: 1;
}

.sidebar-minimized .nav-link--slide:hover,
.sidebar-minimized a.nav-link--slide:hover {
    color: #E1A23F;
    text-shadow: 1px 1px #2D3B41;
}

.sidebar-minimized .nav-link--slide .nav-item__name {
    visibility: visible;
    display: block;
    width: 100%;
    height: 100%;
    font-family: inherit;
    font-size: inherit;
    color: inherit;
}

.sidebar-minimized .nav-link--slide:hover .nav-item__name,
.sidebar-minimized a.nav-link--slide:hover .nav-item__name {
    color: #E1A23F;
}

.sidebar-minimized .nav-item--dropdown
    /*.dropdown--slide*/
{
    visibility: hidden;
    display: none;
}

/*.sidebar-minimized .nav-link:hover ~ div.dropdown--slide,*/
.sidebar-minimized .dropdown--slide .nav-item--dropdown {
    overflow-y: auto;
    visibility: visible;
    display: block;
    transition: none;
    background-color: #6C757D;
}

.sidebar-minimized .dropdown--slide .nav-item--dropdown .nav-item--dropdown__item a {
    background-color: transparent;
}

.sidebar-minimized .dropdown--slide .nav-item--dropdown .nav-item--dropdown__item a:hover {
    background-color: #2D3B41
}

.sidebar-minimized .dropdown--slide {
    position: absolute;
    top: -3.250rem; /*altura de li en negativo*/
    left: 0;
    z-index: 10;
    transform: translateX(-100%);
    transition: all 0.25s linear;
}

.sidebar-minimized .nav-link:hover + div + .dropdown--slide {
    transform: translateX(100%);
}

/*sidebar flotante en maestros*/
.sidebar--float{
    position: relative;
    z-index: 3;
    background-color: #fff;
}
.sidebar--float .sidebar-nav{
    background-color: transparent;
}
.sidebar--float .sidebar-nav .nav{
    background-color: transparent;
}
.sidebar--float .sidebar-nav .nav .nav-link{
    height: auto;
    background-color: transparent;
    border-bottom: 0;
    font-family: 'Roboto', sans-serif;
    font-size: 0.8rem;
    font-weight: 400;
    line-height: 150%;
    color: #000;
}
.sidebar--float .sidebar-nav .nav .nav-link .nav-link{
    width: 100%;
    height: 100%;
    display: block;
    padding: 1rem 0.5rem;
    background-color: #fff;
    border-bottom: 1px solid #dee2e6;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
}
.sidebar--float .sidebar-nav .nav .nav-link .nav-link:hover,
.sidebar--float .sidebar-nav .nav .nav-link .nav-link.active{
    background-color: #2D3B41;
    font-weight: 600;
    color: #fff;
}
.sidebar--float .sidebar-nav .nav .nav-link .nav-link.active::after{
    font-family: 'Font Awesome 5 Free';
    content: '\f0da';
    font-size: 0.8rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0.5rem;
}


/***** FORMULARIOS *****/
/**** checkboxes ****/
input[type="checkbox"] {
    width: 12px;
    height: 12px;
    vertical-align: middle;
}

/***** TABLAS *****/
.generic-table,
.schedule-table {
    width: 100%;
    margin: 1em auto;
    padding: 0;
    font-size: 1rem;
}

.generic-table table thead,
.schedule-table table thead {
    height: 2.250rem; /*36px*/
}

.generic-table table thead th,
.generic-table table tbody th,
.generic-table table tbody td,
.generic-table table thead th,
.generic-table table tbody th,
.generic-table table tbody td {
    font-family: 'Roboto', sans-serif;
}

/**** tabla genérica ****/
th.cell-checkbox,
td.cell-checkbox,
.cell-checkbox {
    width: 12px;
}

.generic-table {
}

.generic-table .table thead {
    background: transparent;
}

.generic-table .table thead th {
    color: #2D3B41;
    border-top: 1px solid #6C757D;
    border-bottom: 1px solid #6C757D;
    background: transparent;
}

.generic-table th,
.generic-table td {
    vertical-align: middle;
    font-size: 0.875em; /*14px*/
    font-weight: 500;
}

/**** tabla horarios técnicos ****/
.schedule-table {
    box-shadow: 0 3px 5px rgba(0, 0, 0, .2);
}

.schedule-table .table-responsive {
    max-height: 750px;
}

.schedule-table .table-responsive::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    border-radius: 10px;
    background-color: #fff;
}

.schedule-table .table-responsive::-webkit-scrollbar {
    width: 8px;
    height: 4px;
}

.schedule-table .table-responsive::-webkit-scrollbar-thumb {
    border-radius: 10px;
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
    background-color: #B3B3B3;
}

.schedule-table .table {
    min-width: 1000px;
    margin-bottom: 0;
}

/** caption **/
caption,
.caption {
    caption-side: top;
    position: relative;
    padding: 0.625rem; /*10px*/
    font-family: 'Roboto', sans-serif;
    font-size: 1em; /*14px*/
    font-weight: 700;
    line-height: 100%;
    border-bottom: 3px solid #2D3B41;
    color: #2D3B41;
}

caption::before,
.caption::before {
    font-family: "Font Awesome 5 Free";
    content: '\f073';
    font-size: 1.15em;
    margin-right: 0.75em;
    margin-left: 0.125rem;
}

.caption .right{
    float: right;
}

.caption .expandButton{
    float: right;
    cursor: pointer;
    margin-left: 10px;
}

/*caption.caption--nobg,
.caption.caption--nobg{
    margin-bottom: 0.4rem;
    font-family: "Roboto", sans-serif;
    font-size: 1em;
    font-weight: 500;
    color: #2D3B41;
    background-color: #fff;
}*/
/** genéricos **/
.schedule-table table thead th,
.schedule-table table tbody th,
.schedule-table table tbody td {
    padding: 0;
    font-size: 0.750em; /*12px*/
    font-weight: 500;
    text-align: center;
    color: #576267;
}

/** thead **/
.schedule-table table thead th {
    vertical-align: bottom;
    border-bottom: 1px solid #2D3B41;
    background-color: transparent;
}

.schedule-table table thead th.schedule-table__head__name {
    height: auto;
    vertical-align: middle;
    border-left: 0;
    font-size: 0.88em;
    font-weight: 700;
}

.schedule-table table thead th.schedule-table__head__day div {
    border-left: 1px solid #2D3B41;
}

.schedule-table table thead th.schedule-table__head__day .week-day {
    display: inline-block;
    margin-left: 2px;
    font-size: 0.833em; /*10px*/
    text-transform: uppercase;
    color: #B3B3B3;
}

/** tbody **/
.schedule-table table tbody th,
.schedule-table table tbody td {
    height: 2.250rem;
    vertical-align: middle;
}

.schedule-table table tbody th {
    /*background-color: #ededed;*/
}

.schedule-table table tbody td {
    border-left: 1px solid #ededed;
}

.technical-name {
    max-width: 185px;
    display: block;
    margin: 0 auto;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

}

.technical-name::before {
    font-family: "Font Awesome 5 Free";
    content: '\f007';
    font-size: 1.05em;
    font-weight: 700;
    margin-right: 1em;
    color: #61BE76;
}

.technical-name.orange::before {
    color: #E36158;
}

.technical-name.yellow::before {
    color: #E8BA72;
}

/*interior de celdas para arrastrar*/
.td-hours {
    width: 100%;
    min-width: 21px;
    height: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    -o-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
    overflow: hidden;
}

.td-hours__item {
    width: 33.333333%;
    min-width: 7px;
    height: 100%;
    position: relative;
    font-size: 0.8em;
    line-height: 2.250rem; /*mismo valor que altura de td: línea 84*/
}

.td-hours__item::before {
    content: url(../img/border-td-hours.jpg);
    position: absolute;
    bottom: -0.95rem;
    left: 50%;
    transform: translateX(-50%);
}

.td-hours__item:first-child::before,
.td-hours__item:last-child::before {
    bottom: -1.1rem;
}

/*tabla interna*/
.table-second table.semana.drop-work-unit tbody td table,
table.label-days{
    /*width: 100%;*/
}
table.semana thead td.day,
table.label-days tr td {
    padding-left: 0;
    padding-right: 0;
    text-align: center;
}


/** botones **/
.btn-table {
    margin-right: 0.750rem; /*12px*/
    padding: 0.688em 1.563em; /*11px y 25px*/
    font-family: 'Roboto', sans-serif;
    font-size: 1em; /*14px*/
    font-weight: 400;
    line-height: 100%;
    color: #707070;
    border: 1px solid #CED4DA;
    border-radius: 4px;
    background-color: transparent;
    cursor: pointer;
}

.btn-table:last-child {
    margin-right: 0;
}

.btn-table:hover,
.btn-table.active {
    background-color: #EDEDED;
    color: #2D3B41;
}

.btn-table.active {
    pointer-events: none;
}

.btn-table:focus {
    outline: 0;
    box-shadow: 0 0 0 0.15rem rgba(0, 0, 0, 0.3);
}

.btn-table.btn--filter,
.btn--filter {
    width: 40px;
    padding-left: 0;
    padding-right: 0;
    font-size: 0.875em; /*14px*/
    font-weight: 400;
    color: #D0D7DB;
}

.btn--filter .fa,
.btn--filter .fas {
    display: inline-block;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}

/**** bloque bajo tablas: resultados,... ****/
.results-block {
    padding-left: 0.5rem;
    font-size: 1rem;
}

.results-block .pagination {
    margin-bottom: 0;
}

.show-results,
p.show-results {
    margin: 0;
    padding: 0;
    font-family: 'Roboto', sans-serif;
    font-size: 0.875em; /*14px*/
    font-weight: 400;
    color: #212529;
}

/* Bloques del dashboard */
h4 span {
    color: #707070;
    font-size: 1rem
}

.card.card-home {
    border: 1px solid #CED4DA;
    margin-bottom: 30px;
}

.card.card-home .icon {
    text-align: center;
    position: relative;
    display: inline-block;
    margin: 0 0 10px 0;
}

.card.card-home .icon .fas {
    color: #b82318;
    font-size: 100px;
}

.card.card-home .icon .badge {
    position: absolute;
    top: -7px;
    right: -7px;
}

.card.card-home .h4 {
    margin: 0 0 10px 0;
}

.card.card-home p {
    color: #777F87;
    font-size: 14px;
    line-height: 1.2em;
}
