/**
 * For the correct positioning of the placeholder element, the dnd-list and
 * it's children must have position: relative
 */
.panelDnD ul[dnd-list],
.panelDnD ul[dnd-list] > li {
    position: relative;
}

/**
 * The dnd-list should always have a min-height,
 * otherwise you can't drop to it once it's empty
 */
.panelDnD ul[dnd-list] {
    min-height: 42px;
    max-height: 500px;
    overflow: auto;
    padding-left: 0px;
}

.panelDnD ul[dnd-list].boxSeleccionTrabajador{
    min-height: 42px;
    max-height: 560px;
    overflow: auto;
    padding-left: 0px;
}
/**
 * The dndDraggingSource class will be applied to
 * the source element of a drag operation. It makes
 * sense to hide it to give the user the feeling
 * that he's actually moving it.
 */
.panelDnD ul[dnd-list] .dndDraggingSource {
    display: none;
}

/**
 * An element with .dndPlaceholder class will be
 * added to the dnd-list while the user is dragging
 * over it.
 */
.panelDnD ul[dnd-list] .dndPlaceholder {
    display: block;
    background-color: #ddd;
    min-height: 42px;
}

.panelDnD ul[dnd-list].seleccionado .dndPlaceholder {
    background-color: #7DBC9B;
}
/**
 * The dnd-lists's child elements currently MUST have
 * position: relative. Otherwise we can not determine
 * whether the mouse pointer is in the upper or lower
 * half of the element we are dragging over. In other
 * browsers we can use event.offsetY for this.
 */
.panelDnD ul[dnd-list] li {
    background-color: #fff;
    border: 1px solid #ddd;
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
    display: block;
    padding: 10px 15px;
    margin-bottom: -1px;
}

/* Clase 'seleccionDnD' recomendable para hacer estilos basicos para los drag and drop */
.seleccionDnD ul[dnd-list] {
    min-height: 24px;
    padding-left: 0px;
}

/* Define la opacidad del elemento en arrastre ('on dragging') */
.seleccionDnD ul[dnd-list] .dndDragging {
    opacity: .7;
}

/* Define la opacidad del elemento de origen del cual se está arrastrando */
.seleccionDnD ul[dnd-list] .dndDraggingSource {
    opacity: .5;
}

/* Resalta el bloque en la cual será depositado el elemento mientras esté en arrastre ('on dragging') */
.seleccionDnD ul[dnd-list] .dndPlaceholder {
    display: block;
    border: 4px dashed rgb(214, 219, 223);
    min-height: 24px;
}

.seleccionDnD ul[dnd-list] li {
    background-color: #fff;
    border: 1px solid #ddd;
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
    display: block;
    padding: 10px 15px;
    margin-bottom: -1px;
}

/* Oferta de turnos, panel 'Ausencias': la lista ocupa todo el alto que sobra bajo
   el formulario de consulta, en vez de quedar recortada y dejar un hueco al final */
.panelAusencias {
    display: flex;
    flex-direction: column;
    height: 65vh;
}

/* El formulario de consulta mantiene su alto natural; sólo la lista se estira */
.panelAusencias > .form-group {
    flex: 0 0 auto;
}

/* 'min-height: 0' es lo que permite que el scroll quede dentro de la lista y no
   estire el panel: sin eso, un ítem flex nunca se encoge bajo su contenido */
.panelAusencias > .panelAusencias-lista {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
}

/* La lista llena el contenedor aunque tenga pocos ítems, así el espacio en blanco
   sigue siendo zona de drop para devolver un turno desde 'Turnos ofrecidos' */
.panelAusencias > .panelAusencias-lista > ul[dnd-list] {
    min-height: 100%;
}
