/**********************ESTILOS CONTROLES/FILTROS************************/
#cont-general-calendar .cont-controls{
    display: flex;
    justify-content: flex-end;
}

#cont-general-calendar .cont-controls > div{
    padding: .25rem;
}

#cont-general-calendar .pagination li{
    padding: 0 !important;
}

#cont-general-calendar ul.pagination{
    margin-bottom: 0 !important;
}

#cont-general-calendar .pagination li a.page-link{
    padding: .37rem .75rem !important;
}

#cont-general-calendar #cont-filtros {
     display: none; 
    padding-bottom: 0.5rem;
}

#cont-general-calendar #cont-filtros .slider {
    width: 100%;
    display: flex;
    align-items: stretch;
    overflow-x: scroll;
    -ms-overflow-x: scroll;
    -webkid-overflow-x: scroll;
    overflow-y: hidden;
    padding: 0px!important;
    scroll-snap-type: x mandatory;
    scroll-snap-type: mandatory;
    -ms-scroll-snap-type: mandatory;
    -webkit-scroll-snap-type: mandatory;
    -webkit-scroll-snap-destination: 0% 0%;
    -webkit-overflow-scrolling: touch;
}

#cont-general-calendar #cont-filtros .section {
    padding-top: .5rem;
    padding-left: 3rem;
    width: 25%;
    flex-shrink: 0;
    scroll-snap-align: start;
    scroll-snap-coordinate: 0% 0%;
    -webkit-scroll-snap-coordinate: 0% 0%;
    position: relative;
}

#cont-general-calendar #cont-filtros div.opciones {
    padding-bottom: 0.5rem; 
    font-size: 12px!important;
}

#cont-general-calendar #cont-filtros div.opciones button[data-for] {
    display: none;
}

#cont-general-calendar #cont-filtros div.opciones button {
    font-size: 12px!important;
}

#cont-general-calendar #cont-filtros .bs-placeholder {
    border: 1px solid #ced4da;
}

#cont-general-calendar #cont-filtros .bootstrap-select > .dropdown-toggle {
    max-width: 95%;
}

#cont-general-calendar .cont-clearBtn{
    display: none
}
/**********************FIN ESTILOS CONTROLES/FILTROS************************/

/***************************ESTILOS FECHAS/ HORAS**************************/
#cont-general-calendar .cont-day,#cont-general-calendar .cont-date{
    font-size: 12px;
    font-weight: 500;
    display: flex;
    letter-spacing: .8px;
    color: #70757a;
    text-align: center;
    font-family: Roboto,Helvetica,Arial,sans-serif;
    border-left: 1px solid #ccc;
}
#cont-general-calendar .cont-date{
    border-top: 1px solid #ccc;
}

#cont-general-calendar .cont-date > div,#cont-general-calendar .cont-day > div{
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
}

#cont-general-calendar .contHoras,#cont-general-calendar .cont-date > div:first-child,
#cont-general-calendar .cont-day > div:first-child{
    position: sticky;
    left: 0;
    background: white;
    z-index: 30;
}

#cont-general-calendar .cont-date > div:first-child,#cont-general-calendar .cont-day > div:first-child {
    border-left: none;
    z-index: 40 !important;
}

#cont-general-calendar .cont-date > div:first-child {
    border-left: none;
    border-bottom: none;
}

#cont-general-calendar .cont-date{
    position: sticky;
    top: 0;
    z-index: 40;
    background: white;
}

#cont-general-calendar .cont-day{
    position: sticky;
    top: 20px;
    z-index: 40;
    background: white;
}

#cont-general-calendar .contHoras{
    border-right: 1px solid #dadce0;
}

#cont-general-calendar .contHoras .time-item {
    height: 40px;
    min-height: 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

#cont-general-calendar .contHoras .time-item {
    position: relative;
    height: 48px;
    background: white;
    text-align: center;
}

#cont-general-calendar .contHoras .time-item {
    /*padding-right: 8px;*/
    text-align: center;
    border-bottom: 1px solid #dadce0;
}

#cont-general-calendar .contHoras .item {
    display: block;
    position: absolute;
    top: -2px;
}

#cont-general-calendar .contHoras .t-item {
    /*font-size: 10px;*/
    color: #3c4043;
}

#cont-general-calendar .contHoras .t-item {
    color: #70757a;
    -webkit-font-smoothing: subpixel-antialiased;
}

#cont-general-calendar .contHoras .time {
    color: #70757a;
    font-size: 12px;
    width: 100%;
    position: relative;
    border-right: #dadce0 1px solid;
    background-color: #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-left: auto;
    border-right: none;
}

/**********************FIN ESTILOS FECHAS/HORAS******************************/

/***************************ESTILOS DETALLES**************************/

#cont-general-calendar .details{
    width: 20%;
    min-width: 170px;
    display: none;
    border: 1px solid rgb(218, 220, 224);
    border-radius: 4px;
    padding: 0 5px 5px 5px;
    display: none;
    margin-left: 5px;
    /*max-height: 520px;*/
    height: 100%;
}

#cont-general-calendar #details .cont-det {
    overflow: auto;
    height: calc(100% - 55px);
    padding: 0.5rem 0.2rem;
    margin-top: 5px;
}

#cont-general-calendar #details .detail {
    border-radius: 5px;
    border: 1px solid #ccc;
    position: static;
    margin-top: 3px;
}

#cont-general-calendar .detail .titleD, #cont-general-calendar .detail .dateD {
    font-size: 12px;
    font-weight: bold;
    line-height: 1;
    align-items: center;
    display: flex;
    padding-left: 6px;
}

#cont-general-calendar .detail .titleD {
    padding-bottom: 3px;
    box-shadow: 0px 1px 1px 0px #dadce0;
}

#cont-general-calendar .detail .delD {
    color: #6c757d;
}

#cont-general-calendar .detail .delD:hover {
    color: #000;
}

#cont-general-calendar .detail .fas, #cont-general-calendar .detail .far {
    cursor: pointer;
}

#cont-general-calendar .detail .modalC-body {
    position: relative;
    right: 2px;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding: 0.5rem 11px;
    margin-bottom: 0.5rem;
    font-size: 12px;
    max-height: 160px;
    overflow: auto;
}

#cont-general-calendar .gotoEvD:hover {
    color: #17a2b8;
}

/**********************FIN ESTILOS DETALLES******************************/

/***************************ESTILOS CONTENEDOR EVENTOS**************************/
#cont-general-calendar .cont-data-day .rule::after {
    content: '';
    border-bottom: #dadce0 1px solid;
    position: absolute;
    width: 100%;
    margin-top: -1px;
    z-index: 3;
    pointer-events: none;
}

#cont-general-calendar .cont-presentation{
    display: flex;
    border-left: 1px solid #ccc;
}

#cont-general-calendar .cont-data-day .presentation .event, 
#cont-general-calendar .cont-data-day .presentation .event2{
    position: absolute;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    background-color: #fff;
    outline: none;
    font-size: 12px;
    min-height: 3px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;    
    width: 90%;
    left: 5%;
    z-index: 10;
    color: white;
    padding: 0 4px;
    /*font-weight: 1; */
    /*box-shadow: inset 0px -1px 3px 1px #000000a1, inset 0px -1px 3px 1px #ffff0042;*/
}

#cont-general-calendar .cont-data-day .presentation .event{
    cursor: pointer;
}

#cont-general-calendar .cont-data-day .presentation {
    position: relative;
    height: 100%;
    width: 100%;
    overflow: hidden;
}

#cont-general-calendar .cont-data-day .presentation .group-events {
    background: repeating-linear-gradient(45deg,white,white 5px,#ccc 5px,#ccc 10px);
    /* background: repeating-linear-gradient(45deg,transparent,transparent 10px,#ccc 10px,#ccc 20px), linear-gradient(to bottom,#eee,#999); */
    cursor: default;
    border: 1px solid #ccc;
    /* font-weight: 1; */
    /* box-shadow: inset 0px -1px 3px 1px #000000a1, inset 0px -1px 3px 1px #ffff0042; */
}

#cont-general-calendar .cont-data-day .presentation .arrow-group {
    position: absolute;
    /*left: 3px;*/
    font-size: 11px;
    z-index: 15;
    height: 13px;
}


#cont-general-calendar .cont-data-day .presentation .event>div {
    text-overflow: ellipsis;
    overflow: hidden;
    line-height: 16px;
    text-align: center;
    /* font-weight: bold; */
}

#cont-general-calendar .cont-data-day{
    position: relative;
}

#cont-general-calendar .cont-data-day .pres{
    border-right: 1px solid #dadce0;
    border-bottom: 1px solid #dadce0;
}

#cont-general-calendar .gantt,#cont-general-calendar .cont-data-day .pres,
#cont-general-calendar .cont-events, #cont-general-calendar,#cont-general-calendar #cont-calendar{
    height: 100%;
}

#cont-general-calendar .rules{
    height: 0;
}

#cont-general-calendar .presentation .backdrop{
    position: absolute;
    z-index: 5;
    width: 100%;
    /*background: #dc354594;*/
}

/**********************FIN ESTILOS CONTENEDOR EVENTOS******************************/

/***************************ESTILOS MODAL**************************/

#cont-general-calendar .options-D{
    width: max-content;
    cursor: pointer;
    margin-right: 0;
    margin-left: auto;
}

#cont-general-calendar .cont-calendar .modalC {
    position: fixed;
    z-index: 1050;
    display: none;
    width: 100%;
    height: 100px;
    /* overflow: auto; */
    outline: 0;
    max-width: 177px;
}

#cont-general-calendar #cont-calendar .modalC-header{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-pack: justify;
    justify-content: space-evenly;
    padding: 0.2rem 0.2rem;
    border-bottom: 1px solid #e9ecef;
    border-top-left-radius: .3rem;
    border-top-right-radius: .3rem;
}

#cont-general-calendar .modalC-content {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    pointer-events: auto;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0,0,0,.2);
    border-radius: .3rem;
    outline: 0;
}

#cont-general-calendar .modalC-dialog {
    width: 100%;
    max-width: 500px;
}

#cont-general-calendar .modalC-body {
    position: relative;
     right: 0; 
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding: 0.5rem 1rem;
    margin-bottom: 0.5rem;
    font-size: 12px;
    max-height: 160px;
    overflow: auto;
}

#cont-general-calendar .cont-opt-modal{
    width: 50%;
    display: flex;
    justify-content: flex-end;
}

#cont-general-calendar .cont-opt-modal .options{
    width: max-content;
    cursor: pointer;
    margin-right: 5px;
}

#cont-general-calendar .cont-opt-modal .close-M{
    margin-left: 10px;
}

#cont-general-calendar .cont-opt-modal .close-M:hover{
    color: gray;
}

#cont-general-calendar .cont-opt-modal #append-details:hover{
    color: #ca5353;
}

/***************************FIN ESTILOS MODAL**************************/

/***************************ESTILOS SCROLL**************************/

#cont-general-calendar .eventsModal.modalC .modalC-body::-webkit-scrollbar-thumb,
#cont-general-calendar #cont-filtros .slider::-webkit-scrollbar-thumb,
#cont-general-calendar .cont-det::-webkit-scrollbar-thumb,
#cont-general-calendar .cont-calendar::-webkit-scrollbar-thumb,
#cont-general-calendar .detail .modalC-body::-webkit-scrollbar-thumb,
#cont-general-calendar .pop-over>div::-webkit-scrollbar-thumb {
    background: #999;
    border-radius: 30px;
}

#cont-general-calendar .eventsModal.modalC .modalC-body::-webkit-scrollbar,
#cont-general-calendar #cont-filtros .slider::-webkit-scrollbar,
#cont-general-calendar .cont-det::-webkit-scrollbar,
#cont-general-calendar .cont-calendar::-webkit-scrollbar,
#cont-general-calendar .detail .modalC-body::-webkit-scrollbar,
#cont-general-calendar .pop-over>div::-webkit-scrollbar {
    height: 8px;
    width: 8px;
}

#cont-general-calendar .eventsModal.modalC .modalC-body::-webkit-scrollbar-track,
#cont-general-calendar #cont-filtros .slider::-webkit-scrollbar-track,
#cont-general-calendar .cont-det::-webkit-scrollbar-track,
#cont-general-calendar .cont-calendar::-webkit-scrollbar-track,
#cont-general-calendar .detail .modalC-body::-webkit-scrollbar-track,
#cont-general-calendar .pop-over>div::-webkit-scrollbar-track
{
  background-color: transparent;
}


#cont-general-calendar .cont-calendar::-webkit-scrollbar-track
{
  margin-top: 40px;
  margin-left: 40px;
}
/***************************FIN ESTILOS SCROLL**************************/


#cont-general-calendar .cont-date,#cont-general-calendar .cont-day,
#cont-general-calendar .cont-presentation{
    min-width: 550px;
}

#cont-general-calendar #cont-cal-det{
    height: calc(100% - 47px);
    display: flex;
}

#cont-general-calendar .cont-calendar{
    /*border: 1px solid #ccc;*/
    border-radius: 4px;
    overflow-x: auto;
    /*max-height: 520px;*/
    flex: 1 1 60%;
}

#cont-general-calendar .selectEv {
    /* background: #4dd2ff; */
    /* background-color: red; */
    -webkit-animation-name: shadowSel;
    -webkit-animation-duration: 4s;
    animation-name: shadowSel;
    animation-duration: 4s;
}

#cont-general-calendar {
    text-align: initial;
    -webkit-user-select: none;
    -moz-user-select: none;
    -khtml-user-select: none;
    -ms-user-select:none;
}

#cont-general-calendar .topnav a.icon {
    display: none;
}

#cont-general-calendar{
    position: relative;
}

#cont-general-calendar .pop-over {
    display: none;
    position: fixed;
    top: 50px;
    left: 20px;
    background: white;
    z-index: 23;
    border-radius: 10px;
    padding: 0.5rem;
    border: 1px solid rgba(0,0,0,.2);
    overflow: auto;
    max-width: 200px;
    width: 50%;
    line-height: 16px;
    font-size: 12px;
    text-align: center;
    box-shadow: 0 0 8px 0px #636363;
}

#cont-general-calendar .pop-over>div {
    max-height: 250px;
    overflow: auto;
    color: white;
}

#cont-general-calendar .pop-event {
    cursor: pointer;
    border-radius: 4px;
    position: relative;
    top: 0px;
    margin-bottom: 2px;
    width: 100%;
}


@media (max-width: 768px){
    #cont-general-calendar .topnav a.icon {
        display: block;
        font-size: 1.4rem;
    }

    #cont-general-calendar .topnav #cont-topnav {
        display: none;
    }

    #cont-general-calendar .topnav {
        margin-bottom: 4px;
    }

    #cont-general-calendar .details {
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        z-index: 50;
        background: white;
    }

    #cont-general-calendar .modalC {
        position: fixed;
        top: calc(50vh - 30vh/2);
        left: calc(50vw - 85px);
    }

    #cont-general-calendar .cont-opt-modal .close-M{
        position: absolute;
        top: -32px;
        background: #c73939;
        border-radius: 50%;
        padding: 3px 8px;
        color: white;
        height: max-content;
        margin-left: 28px;
    }
}