main content {
    z-index: 2;
    overflow: visible;
    /*position: absolute;*/
    height: 100%;
}

.barraDerecha main content {
    position: inherit;
}

#scheduleContainer {
    position: relative;
    z-index: 1;
    height: 100%;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.schedule {
    overflow-x: hidden;
    overflow-y: auto;
    width: 100%;
    font-family: Arial, sans-serif;
    table-layout: fixed;
}

applabel {
    margin: 0 2px;
    display: inline;
    vertical-align: middle;
    align-items: center;
    white-space: pre-wrap;
}

    applabel.white {
        display: inline-block;
        width: calc(100% - 35px);
    }

.sch-header-div {
    position: absolute;
    text-align: center;
    top: 0;
    line-height: 18px;
    font-weight: normal;
    margin-left: 1px;
    cursor: pointer;
    overflow: hidden;
    height: 45px;
    text-transform: uppercase;
    word-spacing: 5px;
}

    .sch-header-div.hoy {
        text-transform: uppercase;
        font-size: 15px;
        line-height: 25px;
    }

        .sch-header-div.hoy:hover {
            background-color: #2E807C !important;
            color: #fff !important;
        }

.sch-header-resource {
    position: absolute;
    top: 25px;
    font-weight: normal;
    text-shadow: none;
    min-height: 20px;
}

.schedule .has-comment {
    float: left;
    margin: 0;
}

.schedule [schType=schHours] {
    width: 50px;
}

.sch-hours-v {
    width: 50px;
}

.sch-header-background {
    height: 45px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.sch-fixed-table-container {
    height: calc(100% - 45px);
    position: relative;
    padding-top: 45px;
    overflow-x: hidden;
    overflow-y: auto;
}

.sch-fixed-table-container-inner {
    height: 100%;
    overflow-x: hidden;
    overflow-y: scroll;
}

.sch-spanning-wrapper {
    position: relative;
    padding: 0 !important;
}

.sch-hour-markers {
    position: absolute;
    width: 100%
}

.schedule td.tl,
td.bl,
td.tr,
td.br {
    padding-left: 4px;
    width: 4px
}

.schedule td.tl {
    background-position: -46px -82px
}

.schedule td.bl {
    background-position: -46px -84px
}

.schedule td.tr {
    background-position: -48px -82px
}

.schedule td.br {
    background-position: -48px -84px
}

.sch-times-pri {
    text-align: right;
    vertical-align: top;
    padding: 0 !important;
}

.sch-time-pri {
    padding-right: 2px;
    margin-top: 10px;
    font-size: 2em;
    overflow: hidden;
    width: 32px;
    line-height: initial;
    font-family: 'Open Sans', sans-serif;
    letter-spacing: -2px;
}

.schedule [schType=schDay] {
    position: relative;
}

.schedule [schType=schResCol] {
    position: absolute;
    top: 0;
}

.sch-time-slot {
    width: 100%;
    opacity: .25;
}

.sch-closed-hour {
    font-size: small;
    margin-top: 0;
    letter-spacing: normal;
}

.sch-closed-slot {
    opacity: 1 !important;
}

.schedule [schType=appointment] {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .95;
    overflow: hidden;
    float: left;
    cursor: pointer;
    background-size: 100% !important;
    border-radius: 4px;
}

    .schedule [schType=appointment].new {
        pointer-events: none;
    }

    .schedule [schType=appointment].null-covid {
        border: 2px solid #dc3545;
    }

        .schedule [schType=appointment].null-covid:before {
            position: absolute;
            content: '';
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            background: repeating-linear-gradient( -45deg, rgba(0, 0, 0, 0) 6px, rgba(0, 0, 0, 0) 10px, rgba(220, 53, 69, 0.7) 10px, rgba(48, 50, 51, 0.7) 15px);
            border: 2px solid #dc3545;
        }

        .schedule [schType=appointment].null-covid:after {
            position: absolute;
            content: '';
            background-image: url(../../img/icon-appointment-null-covid19.svg);
            width: 17px;
            height: 20px;
            right: 6px;
            bottom: 4px;
            background-repeat: no-repeat;
            background-size: contain;
            z-index: 4;
        }

.blockApp {
    padding: 10px;
}

.schTooltip {
    position: fixed;
    max-width: 400px;
    width: 100px;
    height: 50px;
    top: 0;
    left: 0;
    z-index: 100;
    padding: 20px;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
}

.sch-resize-app {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 50%;
    max-height: 15px;
    cursor: ns-resize;
    z-index: 2;
}

.reloadagenda {
    position: absolute;
    top: 0;
    left: 0;
    height: 45px;
    cursor: pointer;
    font: normal normal normal 20px/1.4em FontAwesome;
    padding: 5px 17px;
    border: none;
    width: 52px;
    margin: 0;
}

    .reloadagenda:hover {
        border: none;
        z-index: 6;
    }

    .reloadagenda:before {
        content: "\f021";
    }

.contentConfigAgenda {
    width: 200px;
    float: left;
    z-index: 2;
    position: relative;
    height: 100%;
    overflow: scroll;
    font-family: sans-serif;
    padding: 0 10px
}

    .contentConfigAgenda input {
        width: 100%
    }

    .contentConfigAgenda label,
    .contentConfigAgenda strong {
        display: block;
        margin: 5px 0px;
    }

.pruebaAgenda {
    margin: 5px 0
}

input#color {
    width: 30px !important;
    height: 30px;
    padding: 2px !important;
}


/********************************
AGENDA
********************************/

sidebar#agenda label {
    width: 84px !important;
    display: inline-block;
    vertical-align: top;
    padding-left: 10px;
}

#agenda h6 {
    padding: 3px 10%;
}

#agenda button[type="submenu"] {
    height: 25px;
}

#agenda select {
    padding: 2px 17px 2px 5%;
}

.calendario,
.calendario.negro,
ul[datepicker-popup-wrap] {
    width: 239px;
    font-size: 1.15em;
    padding: 0;
}

[schtype="appointment"] icon.centered {
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

stateenvelop {
    white-space: nowrap;
    display: inline-flex;
    vertical-align: top;
}

statelabel {
    font-size: 11px;
    margin-left: -2px;
    font-weight: bold;
    display: inline-block;
    overflow: hidden;
  /*  margin-right: 2px;*/
}

stateenvelop icon.cita,
grouping icon.cita {
    margin-right: 0;
    border-radius: 3px 0 0 3px;
}

stateenvelop statelabel,
grouping statelabel {
    margin-left: 0
}

ul[datepicker-popup-wrap] {
    width: 220px !important;
    padding: 3px;
}

    ul[datepicker-popup-wrap] table {
        display: inline-table;
    }

ul.dropdown-menu.down.ng-valid.ng-valid-date-disabled[datepicker-popup-wrap] {
    min-width: 280px !important;
    box-shadow: 1px 1px 5px #ddd;
}

    ul.dropdown-menu.down.ng-valid.ng-valid-date-disabled[datepicker-popup-wrap] table tr td button {
        height: 30px;
    }

        ul.dropdown-menu.down.ng-valid.ng-valid-date-disabled[datepicker-popup-wrap] table tr td button.btn.btn-default.btn-sm.btn-info.active {
            background-color: #2E807C !important;
            color: #fff;
        }

    ul.dropdown-menu.down.ng-valid.ng-valid-date-disabled[datepicker-popup-wrap] li:last-child button {
        padding: 3px 10px;
    }

.calendario {
    position: relative;
    z-index: 0;
    width: auto;
    height: 240px;
    overflow: hidden;
}

[schType=appointment] icon {
    border-radius: 3px;
    overflow: hidden;
    clear: both;
    margin-right: 1px;
}

.sch-header-div.inactive {
    width: 20px;
}

[schType=inactiveHeaderText] {
    -moz-writing-mode: vertical-rl;
    -moz-text-orientation: upright;
    -webkit-text-orientation: upright;
    white-space: nowrap;
    position: fixed;
    top: 70%;
    left: inherit;
    transform: translateX(2px) rotate(-90deg);
    transform-origin: left top;
    z-index: 5;
    height: 18px;
    letter-spacing: 12px;
}

th.inactive div icon {
    margin: 0;
}

.now {
    height: 1px;
    position: absolute;
    width: 100%;
    pointer-events: none;
}

#agenda .multiSelect > button {
    width: 140px;
    border-radius: 0;
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 26px !important;
    padding-right: 15px;
    font-size: .8em;
    text-align: left;
}

    #agenda .multiSelect > button:hover {
        text-shadow: none;
    }

#agenda .multiSelect .buttonLabel {
    width: 105px
}

.notMove .sch-resize-app {
    cursor: pointer;
}

.outOfRange {
    position: relative;
}

    .outOfRange:after {
        position: absolute;
        content: '';
        bottom: 3px;
        right: 5px;
        width: 0;
        height: 0;
        border-right: 7px solid transparent;
        border-left: 7px solid transparent;
        display: inline;
    }

    .outOfRange:before {
        position: absolute;
        content: '...';
        font-size: 30px;
        text-align: center;
        bottom: 0;
        width: 100%;
        height: 14px;
        display: inline;
        vertical-align: sub;
        line-height: 0px;
        font-family: monospace;
        opacity: 0.7;
    }


/* ALBER! */

tooltipappointment {
    overflow: hidden;
    cursor: pointer;
}

    tooltipappointment grouping {
        display: block;
        overflow: hidden;
        clear: left;
        margin: 0 0 15px 5px;
    }

        tooltipappointment grouping img {
            display: inline-block;
            overflow: hidden;
            max-width: 130px
        }

        tooltipappointment grouping icon {
            margin-right: 40px;
        }

    tooltipappointment subgrouping {
        display: inline-block;
        overflow: hidden;
        margin-left: 10px;
    }

    tooltipappointment applabel {
        margin-right: 10px;
        max-width: calc(100% - 25px);
    }

    tooltipappointment traceabilityappointment {
        display: block;
        overflow: hidden;
        clear: both;
    }

        tooltipappointment traceabilityappointment h3 {
            text-decoration: underline;
            padding-bottom: 10px;
            font-style: italic;
        }

    tooltipappointment traceabilityline {
        display: block;
        overflow: hidden;
        line-height: 13px;
        font-size: 10px;
        margin-bottom: 5px;
    }

    tooltipappointment traceabilitydate {
        display: inline-block;
        overflow: hidden;
        width: 100px;
    }

    tooltipappointment traceabilityprof {
        float: left;
        overflow: hidden;
        width: 150px;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    tooltipappointment traceabilitytext {
        display: inline-block;
        overflow: hidden;
        width: 100%;
    }


/*
* ALBER
* */

.popuptextocentro {
    width: 100%;
    float: left;
    text-align: center;
    margin-top: 50px;
}

.nuevacitaurgencia {
    padding-right: 70px;
}

[schType=appointment] grouping {
    width: 100%;
    font-size: 0.7em;
    display: flex;
    overflow: hidden;
    white-space: nowrap;
    clear: both;
    padding: 3px 0 0 3px;
    line-height: 12px;
    position: relative;
    z-index: 1;
}

    [schType=appointment] grouping subgrouping {
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        flex-wrap: wrap;
        align-items: flex-start;
        overflow: hidden;
        margin: 0;
        padding: 0;
        line-height: normal;
        width: 100%;
        word-wrap: break-word;
    }

[schType=appointment] subgrouping separator {
    display: inline-block;
    overflow: hidden;
    clear: both;
    vertical-align: middle;
    font-size: 14px;
    font-weight: lighter;
}

[schType=appointment] newline {
    width: 100%;
    display: block;
    overflow: hidden;
    clear: both;
}

[schType=appointment] tooltipappointment icon {
    float: left;
    margin: 0;
}

sidebar resourceicon,
sidebar professionalicon {
    top: 0;
    margin: 0 2px 0 0;
}

[schType=appointment] appoinmentHeader {
    width: 100%;
    display: flex;
    align-items: center;
    overflow: hidden;
    white-space: nowrap;
    z-index: 2;
    position: relative;
}

    [schType=appointment] appoinmentHeader applabel {
        display: inline-block;
        /*text-overflow:ellipsis;  overflow: hidden */
        white-space: nowrap;
        height: 19px;
        z-index: 1;
        position: relative;
    }

    [schType=appointment] appoinmentHeader resourceicon,
    [schType=appointment] appoinmentHeader professionalicon {
        top: 0;
        margin: 0
    }

[schType=appointment] statelabel {
    float: left;
    margin-right: 0px;
    min-width: 16px;
    padding-left: 2px;
}

[schType=appointment] applabel.startTime {
    display: inline-block;
    font-size: 14px;
}

[schType=appointment] i {
    float: left;
    margin: 0;
    width: 12px;
}

[schType=appointment] statebackground {
    height: 100%;
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    z-index: -1;
}

[schType=appointment] familyicon {
    display: inline-block;
    height: 13px !important;
    width: 13px !important;
    margin-left: 1px;
    margin-bottom: 3px;
}

maxnotifications {
    float: left;
    width: 100%;
    height: 15px;
    text-align: center;
}

.popover-velo {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 998;
}

.popover-content {
    position: relative;
    display: inline-block;
    cursor: pointer;
}

    .popover-content i {
        font-size: 14px;
        color: #b0b0b0;
    }

#popover,
#popoverCostes,
#popoverConsentimiento {
    display: none;
    border: 1px solid rgba(0, 0, 0, .2);
    padding: 5px;
    max-width: 276px;
    min-width: 276px;
    font-size: 12px;
    top: 23px;
    left: -16px;
    position: absolute;
    line-height: 17px;
    background-color: #fbfbfb;
    border-radius: 5px;
    padding: 15px;
    color: #000;
    box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
    z-index: 999;
}

    #popover:after,
    #popoverCostes:after,
    #popoverConsentimiento:after {
        position: absolute;
        display: block;
        content: " ";
        top: -11px;
        left: 20px;
        margin-left: -10px;
        width: 0;
        height: 0;
        border-bottom: 11px solid #fbfbfb;
        border-left: 11px solid transparent;
        border-right: 11px solid transparent;
    }

    #popover:before,
    #popoverCostes:before,
    #popoverConsentimiento:before {
        position: absolute;
        display: block;
        content: " ";
        top: -13px;
        left: 19px;
        margin-left: -10px;
        width: 0;
        height: 0;
        border-bottom: 12px solid #c9c9c9;
        border-left: 12px solid transparent;
        border-right: 12px solid transparent;
    }

    #popover.right {
        right: -25px;
        left: auto;
    }

        #popover.right:after {
            right: 22px;
            left: auto;
        }

        #popover.right:before {
            right: 21px;
            left: auto;
        }

    #popover.top {
        bottom: 15px;
        top: auto;
    }

        #popover.top:before {
            border-top: 12px solid #c9c9c9;
            bottom: -11px;
            top: auto;
            border-bottom: 0;
        }

        #popover.top:after {
            border-top: 10px solid #ffffff;
            bottom: -9px;
            top: auto;
            border-bottom: 0;
        }

appoinmentfooter {
    background-color: rgba(0, 0, 0, 0.40);
    padding: 10px;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 0;
}

[schType=appointment] newline_mb3 {
    width: 100%;
    display: block;
    overflow: hidden;
    clear: both;
    margin-bottom: 3px;
}

[schType=appointment] newline_mb5 {
    width: 100%;
    display: block;
    overflow: hidden;
    clear: both;
    margin-bottom: 5px;
}

.emoji-drawer {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: 100px;
    margin-bottom: 32px;
    transition: opacity 0.2s;
}

.hidden {
   display:none
}

.emoji {
    text-align: center;
    font-size:25px;
    padding: 4px;
}

    .emoji:hover {
        cursor: pointer;
    }

.emojiPannel {
    text-align: center;
    font-size: 14px;
    padding: 4px;
}

    .emojiPannel:hover {
        cursor: pointer;
    }

/* Style the tab */
.tab {
    width: 400px;
    overflow: hidden;
    border: 1px solid #ccc;
    background-color: #f1f1f1;
    padding-left: -4px;
    position: relative;
    left: -164px;
}

    /* Style the buttons inside the tab */
    .tab button {
        transparent !important;
        float: left;
        border: none;
        outline: none;
        cursor: pointer;
        transition: 0.3s;
        font-size: 16px;
    }

        /* Change background color of buttons on hover */
        .tab button:hover {
            background-color: #ddd;
        }

        /* Create an active/current tablink class */
        .tab button.active {
            background-color: #ccc;
        }

/* Style the tab content */
.tabcontent {
    padding: 5px 0px;
    border: 1px solid #ccc;
    border-top: none;
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    width: 400px;
    margin-bottom: 32px;
    transition: opacity 0.2s;
    height: 146px;
    overflow-y: scroll;
    background-color: white;
    z-index: 100 !important;
    position: relative;
    font-size: 16px;
    left: -164px;
}