﻿body {
    margin: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    padding-bottom: 0;
    padding-top: 0;
    background-color: #fff;
}

/* CABECERA */

.logoPrin {
    margin: 0;
}

#logoPrin {
    max-height: 100px;
    height: 100px;
}

#logoPrinMov {
    max-height: 70px;
    height: 70px;
}

.menuHeader .hamburguesa {
    position: absolute;
    top: 100%;
    left: 0px;
    z-index: 1000;
    min-width: 100%;
}

/* footer */
footer .main {
    padding: 15px 0;
}

/* INICIO AJAX LOADER */
.overlay {
    position: fixed;
    z-index: 9999999999999;
    top: 0px;
    left: 0px;
    background-color: #FFF;
    width: 100%;
    height: 100%;
    filter: Alpha(Opacity=70);
    opacity: 0.70;
    -moz-opacity: 0.70;
    cursor: wait;
    align-items: center;
    display: flex;
    justify-content: center;
}

.loader {
    animation: rotate 1s infinite;
    height: 50px;
    width: 50px;
}

    .loader:before,
    .loader:after {
        border-radius: 50%;
        content: '';
        display: block;
        height: 20px;
        width: 20px;
    }

    .loader:before {
        animation: ball1 1s infinite;
        background-color: #cb2025;
        box-shadow: 30px 0 0 #f8b334;
        margin-bottom: 10px;
    }

    .loader:after {
        animation: ball2 1s infinite;
        background-color: #00a096;
        box-shadow: 30px 0 0 #97bf0d;
    }

@keyframes rotate {
    0% {
        -webkit-transform: rotate(0deg) scale(0.8);
        -moz-transform: rotate(0deg) scale(0.8);
    }

    50% {
        -webkit-transform: rotate(360deg) scale(1.2);
        -moz-transform: rotate(360deg) scale(1.2);
    }

    100% {
        -webkit-transform: rotate(720deg) scale(0.8);
        -moz-transform: rotate(720deg) scale(0.8);
    }
}

@keyframes ball1 {
    0% {
        box-shadow: 30px 0 0 #f8b334;
    }

    50% {
        box-shadow: 0 0 0 #f8b334;
        margin-bottom: 0;
        -webkit-transform: translate(15px,15px);
        -moz-transform: translate(15px, 15px);
    }

    100% {
        box-shadow: 30px 0 0 #f8b334;
        margin-bottom: 10px;
    }
}

@keyframes ball2 {
    0% {
        box-shadow: 30px 0 0 #97bf0d;
    }

    50% {
        box-shadow: 0 0 0 #97bf0d;
        margin-top: -20px;
        -webkit-transform: translate(15px,15px);
        -moz-transform: translate(15px, 15px);
    }

    100% {
        box-shadow: 30px 0 0 #97bf0d;
        margin-top: 0;
    }
}
/* FIN AJAX LOADER */

/*Para que el scroll de los modales este en su body  */
.modal-body {
    max-height: calc(100vh - 200px);
    overflow-y: auto;
}

/*Botones 100% ancho en tamaño movil */
@media screen and (max-width: 425px) {
    .btn {
        width: 100%;
    }
}


/*Fixes varios datatables  */
.page-link {
    border-radius: 0 !important;
    color: #197FC7;
}

.page-item.active .page-link {
    background-color: #197FC7;
    border-color: #197FC7;
    color: #fff;
}

div.dt-container div.dt-length select {
    vertical-align: inherit;
    height: inherit;
}

div.dt-container div.dt-info {
    white-space: inherit;
}

/*div.dataTables_wrapper div.dataTables_filter {
  float: right;
}

div.dataTables_wrapper div.dataTables_info {
  float: left;
}

div.dataTables_wrapper div.dataTables_paginate {
  float: right;
}*/

/*div.dt-buttons > .btn {
  float: none;
  width: auto;
}*/

/*@media screen and (max-width: 767px) {
  div.dt-buttons {
    width: auto;
  }

  div.dataTables_wrapper div.dataTables_length, div.dataTables_wrapper div.dataTables_info,
  div.dataTables_wrapper div.dataTables_paginate {
    float: none;
  }
}*/

/*@media screen and (max-width: 425px) {
  div.dt-buttons {
    width: 100%;
  }

  div.dataTables_wrapper div.dataTables_filter {
    float: none;
  }
}*/

/*  Pasos   */
.numberCircle {
    border-radius: 50%;
    width: 2em;
    height: 2em;
    padding: 8px;
    border: 2px solid #eee;
    text-align: center;
    font-size: 2em;
    font-weight: bold;
    display: inline-block;
}

.tdPaso {
    color: #555;
}

    .tdPaso .numberCircle {
        background-color: #fff;
    }

.tdPasoActual {
    color: #393939;
}

    .tdPasoActual .numberCircle {
        background-color: #eee;
    }

.tdPaso label {
    color: #555;
}

.tdPasoActual label {
    color: #000000;
}

.tdPaso strong, .tdPasoActual strong {
    color: #FFFFFF;
}

/* Fin Pasos */


/* Control horas de reserva */
.tdHoraSI {
    padding: 2px;
    background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
    background-repeat: repeat-x;
    border-color: #b2dba1;
    background-color: #dff0d8;
    color: #3c763d;
    text-align: center;
    float: left;
    padding: 5px 0px;
}

    .tdHoraSI a {
        color: #3c763d;
        text-decoration: none;
        padding: 7px 20px;
    }

        .tdHoraSI a:hover, .tdHoraSI a:active, .tdHoraSI:hover {
            color: #c8e5bc;
            background-color: #3c763d;
            text-decoration: none;
        }

.tdHoraNO {
    padding: 2px;
    background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
    background-repeat: repeat-x;
    border-color: #dca7a7;
    background-color: #f2dede;
    color: #a94442;
    text-align: center;
    float: left;
    padding: 5px 0px;
}

    .tdHoraNO a {
        color: #a94442;
        text-decoration: none;
        padding: 7px 20px;
    }

        .tdHoraNO a:hover, .tdHoraNO a:active, .tdHoraNO:hover {
            color: #e7c3c3;
            background-color: #a94442;
            text-decoration: none;
        }

.tdHoraAforo {
    padding: 2px;
    background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
    background-repeat: repeat-x;
    border-color: #9acfea;
    background-color: #d9edf7;
    color: #31708f;
    text-align: center;
    float: left;
    padding: 5px 0px;
}

    .tdHoraAforo a {
        color: #31708f;
        text-decoration: none;
        padding: 7px 20px;
    }

        .tdHoraAforo a:hover, .tdHoraAforo a:active, .tdHoraAforo:hover {
            color: #b9def0;
            background-color: #31708f;
            text-decoration: none;
        }

.tdHoraInfoAnul {
    padding: 2px;
    background-image: linear-gradient(to bottom, #ffe0b3 0%, #ffc066 100%);
    background-repeat: repeat-x;
    border-color: #ffb64d;
    background-color: #ffe0b3;
    color: #ce5a16;
    text-align: center;
    float: left;
    padding: 5px 0px;
}

    .tdHoraInfoAnul a {
        color: #ce5a16;
        text-decoration: none;
        padding: 7px 20px;
    }

        .tdHoraInfoAnul a:hover, .tdHoraInfoAnul a:active, .tdHoraInfoAnul:hover {
            color: #ffc066;
            background-color: #ce5a16;
            text-decoration: none;
        }

.tdHoraGris {
    padding: 2px;
    background-image: linear-gradient(to bottom, #e0e0e0 0%, d0d0d0 100%);
    background-repeat: repeat-x;
    border-color: silver;
    background-color: #e0e0e0;
    color: #777777;
    text-align: center;
    display: inline;
    float: left;
    padding: 5px 0px;
}

    .tdHoraGris a {
        color: #777777;
        text-decoration: none;
        padding: 7px 20px;
    }

        .tdHoraGris a:hover, .tdHoraGris a:active, .tdHoraGris:hover {
            color: #d0d0d0;
            background-color: #777777;
            text-decoration: none;
        }

.tdHoraSeleccionada {
    padding: 2px;
    background-image: linear-gradient(to bottom, #d4eef6 0%, #a3dbec 100%);
    background-repeat: repeat-x;
    border-color: blue;
    background-color: #d4eef6;
    color: #286090;
    text-align: center;
    float: left;
    padding: 5px 0px;
}

    .tdHoraSeleccionada a {
        color: #286090;
        text-decoration: none;
        padding: 7px 20px;
    }

        .tdHoraSeleccionada a:hover, .tdHoraSeleccionada a:active, .tdHoraSeleccionada:hover {
            color: #a3dbec;
            background-color: #286090;
            text-decoration: none;
        }

/* Control horas de reserva */

/* TABLA*/

table.ADOSresponsive {
    border-collapse: collapse;
    text-rendering: optimizeLegibility;
}

    table.ADOSresponsive thead th {
        color: #495057;
        background-color: #e9ecef;
        border-color: #dee2e6;
    }

    table.ADOSresponsive thead th, table.ADOSresponsive tbody td {
        padding: .8rem;
        vertical-align: middle;
    }

    table.ADOSresponsive tbody td {
        padding: .8rem;
        color: #444;
    }

    table.ADOSresponsive tbody tr:not(:last-child) {
        border-top: 1px solid #ddd;
        border-bottom: 1px solid #ddd;
    }

@media screen and (max-width: 991px) {
    table.ADOSresponsive tbody td.text-center {
        text-align: left !important;
    }

    table.ADOSresponsive thead {
        display: none;
    }

    table.ADOSresponsive tbody td {
        display: block;
        padding: .6rem;
    }

    table.ADOSresponsive tbody tr td:first-child {
        color: #495057;
        background-color: #e9ecef;
    }

    table.ADOSresponsive tbody td:before {
        content: attr(data-th);
        font-weight: bold;
        display: block;
        /*Para mostrar en la misma linea todo descomentar las de abajo*/
        display: inline-block;
        width: 10rem;
    }
}

@media screen and (max-width: 575px) {
    table.ADOSresponsive tbody td:before {
        /*Para mostrar en la misma linea todo descomentar las de abajo*/
        display: block;
        width: inherit;
    }
}

table.ADOSresponsiveInv thead th, table.ADOSresponsiveInv tbody td, table.ADOSresponsiveInv {
    border: 0;
}

table.ADOSresponsiveInv {
    margin: 0px auto;
    border-collapse: collapse;
    background: #fff;
    color: #444;
    text-rendering: optimizeLegibility;
    border-radius: 5px;
    width: 100%;
}

/* FIN TABLA */

/* INICIO parrilla */

.parrilla .open-pop-up {
    float: right;
}

.tooltip-print {
    display: inline-block;
}

    .tooltip-print i {
        cursor: pointer;
        font-size: 16px;
        margin: 5px;
    }


.separator {
    clear: both;
}

.separator-line {
    display: block;
    height: 1px;
    width: 100%;
    background: rgba(255,255,255,0.5);
}

.parrilla {
    background-color: #4db6ac;
    min-height: 100px;
    position: relative;
    margin: 0 0 10px 0px;
    cursor: pointer;
}

    .parrilla .hora {
        font-size: 12px;
        float: left;
        margin: 5px;
    }

    .parrilla .sala-monitor .etiqueta {
        opacity: 0.6;
        font-size: 11px;
    }

    .parrilla .sala-monitor .text {
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        overflow-wrap: break-word;
        word-break: break-all;
    }

    .parrilla .nombre {
        font-size: 14px;
        display: flex;
        height: 39px;
        margin: 5px 30px 5px 5px;
        line-height: 20px;
        text-transform: uppercase;
        overflow: hidden;
        font-family: 'RobotoCondBold', sans-serif;
    }

/* FIN parrilla */

/* INICIO parrilla asistentes */
.list-asistentes .list-group-item {
    padding: 0;
    border: 0;
}

@media screen and (min-width: 768px) {
    .list-asistentes .list-group-item {
        max-width: 25% !important;
    }
}

.list-asistentes .card-header {
    padding: .25rem 1rem;
}

.list-asistentes .card-body {
    padding: .25rem 1rem;
}

.text-truncate:hover {
    overflow: visible;
    white-space: normal;
    height: auto; /* just added this line */
}
/* FIN parrilla asistentes */


.indexCard .btn-link {
    border: 0;
}

/*.btn-volver {
    position: fixed;
    z-index: 2147483647;
    bottom: 80px;
    left: 20px;
    width: inherit;
    background-color: #6c757d;
    color: #fff;
    border-radius: 100%;
    border: none;
}*/

.btn-volver {
    /*font-size: 16px; Cambiar el tamaño de la tipografia */
    /*text-transform: uppercase; Texto en mayusculas */
    /*font-weight: bold; Fuente en negrita o bold */
    /*color: #ffffff; Color del texto */
    /*border-radius: 5px; Borde del boton */
    /*letter-spacing: 2px;  Espacio entre letras */
    /*background-color: #E91E63; Color de fondo */
    /*padding: 18px 30px;  Relleno del boton */
    background-color: #6c757d;
    color: #fff;
    position: fixed;
    bottom: 80px;
    left: 40px;
    transition: all 300ms ease 0ms;
    box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.1);
    z-index: 99;
}

    .btn-volver:hover {
        background-color: #2c2fa5; /* Color de fondo al pasar el cursor */
        box-shadow: 0px 15px 20px rgba(0, 0, 0, 0.3);
        transform: translateY(-7px);
    }

@media only screen and (max-width: 600px) {
    .btn-volver {
        /*font-size: 14px;*/
        /*padding: 12px 20px;*/
        bottom: 80px;
        left: 20px;
    }
}

/* Menu Fav e Index */
img.menu_fav {
    width: auto;
    height: 43px;
}

a.menu_fav {
    filter: grayscale(1);
}

    a.menu_fav:hover {
        color: #000;
    }

a.menu_fav_selected {
    filter: none;
    color: #000;
}

img.menu_index {
    width: auto;
    height: 101px;
}

.indexCard .btn-link {
    padding-top: 1rem;
}

.indexCardTop {
    font-size: 7em;
}

.indexCardBody {
}

.indexCard .btn-link:hover {
    text-decoration: none;
    filter: grayscale(75%);
}

@media screen and (max-width: 575px) {
    .indexCard .btn-link {
        padding-top: 0.25rem;
    }

    .indexCardTop {
        font-size: 4em;
    }

    .indexCardBody {
        padding: 0.25rem;
    }

    img.menu_index {
        width: auto;
        height: 57px;
    }
}

@keyframes progress {
    from {
        width: 0;
    }

    to {
        width: 100%;
    }
}

.volverOrigen {
    position: fixed;
    z-index: 2147483647;
    top: 80px;
    left: 20px;
    background: #0C2D57;
    color: #fff;
    border: none;
    height: 35px;
    font-size: 1.2em;
    padding: 0.35em 1em;
    cursor: pointer;
    transition: 800ms ease all;
    outline: none;
}

    .volverOrigen:hover {
        background: #fff;
        color: #0C2D57;
    }

    .volverOrigen:before, .volverOrigen:after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        height: 2px;
        width: 0;
        background: #0C2D57;
        transition: 400ms ease all;
    }

    .volverOrigen:after {
        right: inherit;
        top: 35px;
        left: 0;
        bottom: 0;
    }

    .volverOrigen:hover:before, .volverOrigen:hover:after {
        width: 100%;
        transition: 800ms ease all;
    }

.divVisorAccesos {
    border-radius: 16px;
    height: 340px;
    width: 267px;
    margin: 5px;
    padding: 5px;
    border: double;
}

@media screen and (max-width: 991px) {
    div.solopc {
        display: none;
    }

    div.solomovil {
        display: block;
    }
}

@media screen and (min-width: 991px) {
    div.solopc {
        display: block;
    }

    div.solomovil {
        display: none;
    }
}

.fixed-top {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    /*z-index: $zindex-fixed;*/
}

.fixed-bottom {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    /*z-index: $zindex-fixed;*/
}

#divFixed {
    background: #FFFFFF;
    text-align: center;
    padding: 21px 0;
    margin: 0 auto;
    z-index: 10;
    width: 100%;
    left: 0;
    right: 0;
}

.VerticalAlignTop {
    vertical-align: top !important;
}

/* INICIO PAYTEF LOADER */
.paytef_overlay {
    position: fixed;
    z-index: 9999999;
    top: 0px;
    left: 0px;
    background-color: #FFF;
    width: 100%;
    height: 100%;
    filter: Alpha(Opacity=70);
    opacity: 0.70;
    -moz-opacity: 0.70;
    cursor: wait;
    align-items: center;
    display: flex;
    justify-content: center;
}

.paytef_loader {
    position: absolute;
    left: 50%;
    top: 52%;
    animation: rotate 1s infinite;
    height: 50px;
    width: 50px;
}

    .paytef_loader:before,
    .paytef_loader:after {
        border-radius: 50%;
        content: '';
        display: block;
        height: 20px;
        width: 20px;
    }

    .paytef_loader:before {
        animation: ball1 1s infinite;
        background-color: #cb2025;
        box-shadow: 30px 0 0 #f8b334;
        margin-bottom: 10px;
    }

    .paytef_loader:after {
        animation: ball2 1s infinite;
        background-color: #00a096;
        box-shadow: 30px 0 0 #97bf0d;
    }

@keyframes rotate {
    0% {
        -webkit-transform: rotate(0deg) scale(0.8);
        -moz-transform: rotate(0deg) scale(0.8);
    }

    50% {
        -webkit-transform: rotate(360deg) scale(1.2);
        -moz-transform: rotate(360deg) scale(1.2);
    }

    100% {
        -webkit-transform: rotate(720deg) scale(0.8);
        -moz-transform: rotate(720deg) scale(0.8);
    }
}

@keyframes ball1 {
    0% {
        box-shadow: 30px 0 0 #f8b334;
    }

    50% {
        box-shadow: 0 0 0 #f8b334;
        margin-bottom: 0;
        -webkit-transform: translate(15px,15px);
        -moz-transform: translate(15px, 15px);
    }

    100% {
        box-shadow: 30px 0 0 #f8b334;
        margin-bottom: 10px;
    }
}

@keyframes ball2 {
    0% {
        box-shadow: 30px 0 0 #97bf0d;
    }

    50% {
        box-shadow: 0 0 0 #97bf0d;
        margin-top: -20px;
        -webkit-transform: translate(15px,15px);
        -moz-transform: translate(15px, 15px);
    }

    100% {
        box-shadow: 30px 0 0 #97bf0d;
        margin-top: 0;
    }
}
/* FIN PAYTEF LOADER */
