﻿@import url('satoshi.css');
:root { --color-main: #0075C9; --color-main-light: #CCE3F4; --color-secondary: #034879; --color-secondary-light: #a7ffea; --color-white: #FFFFFF; --color-grey: #F5F5F5; --color-button: #469EF5; --color-button-text: #E9F0FE; --color-texto: #222B45; --color-error: #CD203C; --color-error-light: #F8DDE1; --color-avisos-home: #ffe5df; --color-avisos-home-soft: #ffb09e91; --color-emphasis: #EFF4FA; --color-grey-light: #E6E6E6; --color-grey-dark: #777777; --color-focus: #FFC400; --color-info: #0089c1; --color-info-light: #abe7ff; --color-success-light: #E7F4E1; --color-success: #5BA13A; --color-version: #B7B5B5; --color-scrollbar-thumb: #ffb400; --color-selector: #E2E2E2; --color-avisos: #FFEFC7; --color-white-soft: #ffffff91; --color-focus-light: #f6dd89; --color-grey-transparent: #8080801a }

* { font-family: 'Satoshi-Regular', sans-serif; font-size: 16px; padding: 0px; margin: 0px; color: var(--color-texto); }
a { text-decoration: none; }
button, a { cursor: pointer; }
i, svg { margin: 0px 5px; }
ul { list-style: none; }
/*Establece el minimos de pixels de la vista*/
body { margin: 0px; /*min-width: 464px;*/ }

.oculto, div:empty { display: none; }
#iconMenuUsuario { font-size: 26px; padding: 5px; }
h1 { font-size: 50px; }
h2 { font-size: 40px; }
h3 { font-size: 30px; }
h6 { font-size: 18px; }
i.linkExterno { font-size: 12px; color: var(--color-button); }
hr { margin: 5px; color: var(--color-grey); border-color: var(--color-grey); border-style: solid; }

div.linea { display: flex; justify-content: space-between; align-items: center; padding: 10px; }
    div.linea:has(div[id^=avisos]) { align-items: flex-end !important; }
    div.linea.derecha { justify-content: right; }
    div.linea.centrado { justify-content: space-around; }
    div.linea.derecha { justify-content: flex-end; }
    div.linea.izquierda { justify-content: flex-start; }

    div.linea > * { margin: 0px 10px; }
.linea.botonesTipoDocumento { justify-content: space-evenly; }

.denegar, .error, .error * { color: var(--color-error) !important; }
.aceptar { color: var(--color-success); }
.notaVersion { text-align: center; font-size: 12px; padding: 8px 0px; color: var(--color-version); }
.dz-preview { /* z-index: 7; */ }
    .dropzone .dz-preview .dz-image, .dropzone .dz-preview .dz-details, .dropzone .dz-preview .dz-success-mark, .dz-preview.dz-processing.dz-success.dz-complete.dz-image-preview *, .dropzone .dz-preview:hover { z-index: 0 !important; }
/**SCROLL**/
/*::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--color-grey-light); border-radius: 10px; }
::-webkit-scrollbar-thumb { background: var(--color-scrollbar-thumb); border-radius: 10px; }
    ::-webkit-scrollbar-thumb:hover { background: var(--color-main); }*/

/**HEADER**/
body > header { background: var(--color-grey); display: none; padding: 5px 10px; }
    body > header #menuMovil { background: var(--color-grey-light); padding: 5px; border-radius: 7px; display: none; position: fixed; top: 15px; z-index: 1000000; box-shadow: grey 0px 1px 5px; }
#menuMovil > i { font-size: 29px; }
#divMigas { position: absolute; /*width: 100%;*/ background: var(--color-grey); z-index: 7; margin: 3px 15px; }
    #divMigas * { color: var(--color-button); font-size: 20px; }

@media screen and (max-width: 964px) {
    body > header { height: 50px; display: block; }
        body > header #menuMovil { display: inline-block; }
    #divMigas { display: none; }
    body { min-width: 320px; }
}

/**INPUTS**/
input[type=text], input[type=time], input[type=email], input[type=tel], input[type=password], input[type=number], input[type=decimal], input[type=color], input[type=datetime-local] { width: 274px; height: 34px; padding: 0px 5px; }
input:focus, textarea:focus { border: var(--color-focus) solid 2px; outline: none; border-radius: 3px; }

input[type=checkbox], input[type=radio] { height: 34px; width: 34px; }
/*input[type=checkbox] { margin: auto; }
*/
textarea { width: 100%; height: 38px; resize: vertical; }
.selectize-input input[type=text] { height: auto; }
.selectize-dropdown .selected { background-color: var(--color-button) !important; }
div:not(.input-active) input[id$='-selectized'] { width: 4px; opacity: 0; position: absolute; left: -10000px }
/*MENU NAV*/
nav { width: 20%; height: 100vh; /*background: var(--color-white);*/ background: linear-gradient(270deg, var(--color-grey), var(--color-white)); position: fixed; box-shadow: grey 1px 0px 6px; z-index: 8; overflow: hidden; transition: width 0.25s ease-out; }
    nav header { display: flex; width: 100%; justify-content: space-evenly; }
    nav.cerrado { width: 66px; transition: width 0.25s ease-in-out; }
        /*    nav:not(.cerrado) { min-width: 316px; }
*/ nav.cerrado #linkLogo { visibility: hidden; display: none; }
    nav:not(.cerrado) #logoAbrir { visibility: hidden; display: none; }
    nav.cerrado #logoAbrir { visibility: visible; }
#logoAbrir img { height: 66px; }
nav.cerrado ul { overflow: hidden; }
    nav.cerrado ul li a { font-size: 0px; }
#logoEntidad { height: 65px; }
nav.ocultoMovil:not(.cerrado) { width: 277px; }
/*nav ul { padding: 15px; }
*/ nav > ul { overflow: scroll; max-height: 90%; overflow-x: auto; overflow-y: auto; }

nav ul li a { display: flex; align-items: center; }
nav li a i { font-size: 25px; margin: 10px 20px; }
nav ul.visible { display: inherit; }
nav ul ul { padding: 5px 14px; background: var(--color-grey); border-radius: 5px; }
    nav ul ul li a i { margin: 0px 10px; }
    nav ul ul li { margin: 10px 0px; }
    nav ul ul i { font-size: 15px; }
nav li a.padreMenu:not(.active)::after { content: "\2BC8"; margin: 0px 11px; }
nav li a.padreMenu.active::after { content: "\2BC6"; margin: 0px 11px; }
nav a:hover, nav a:hover > i /*, nav a.active, nav a.active i */ { color: var(--color-main); }

/*nav{background:linear-gradient(270deg, var(--color-grey), var(--color-white))}
*/ /*FIN MENU NAV*/
@media screen and (max-width:964px) {
    nav.ocultoMovil { width: 0%; display: none; }
    body nav:not(.ocultoMovil) + main * { display: none !important; }
    nav > ul { overflow-x: hidden; overflow-y: auto; }
    nav { width: 100% !important; top: 0; animation-name: abrirMenuMovil; animation-duration: 0.25s; animation-timing-function: ease-in-out; animation-iteration-count: 1; }
        nav img { visibility: visible !important; }
    #logoAbrir { visibility: hidden !important; display: none !important; }
    #linkLogo { visibility: visible !important; display: initial !important; }
    nav.cerrado ul li a { font-size: 16px !important; }
}

/*MAIN*/
main { position: absolute; top: 0px; left: 66px; width: calc(100% - 66px); background: var(--color-white); background-size: cover; min-height: 100vh; }
    main #mainContain { padding: 15px; height: 100%; }


#menuUsuario { /*position: fixed; right: 0px; top: 0px*/ }
/*#divUsuario > * { background: transparent; backdrop-filter: blur(12px); }
*/ #divUsuario { display: flex; align-items: center; justify-content: flex-end; /* background: var(--color-white); border-radius: 15px 0px 0px 15px; */ }
    #divUsuario img { height: 54px; width: 54px; cursor: pointer; margin: 0px 12px; border: #d6c9c9 solid; border-radius: 32px; background: var(--color-white); box-shadow: var(--color-version) 0px 0px 4px 2px; }
    #divUsuario #infoUsuario { cursor: pointer; background: #ffffffb8; padding: 6px; border-radius: 5px; box-shadow: var(--color-version) 2px 3px 3px 0px; }

#divMenuUsuario ul li { padding: 5px 17px; }

#infoUsuario > .rol { font-size: 14px; }
#divMenuUsuario.mostrar { animation: slide-down-menuusuario 0.5s linear both; }
#divMenuUsuario.ocultar { animation: slide-up-menuusuario 0.3s linear both; /* opacity: 0 !important; height: 0px !important; padding: 0px !important; */ /*visibility:hidden;*/ }
    #divMenuUsuario.ocultar ul { height: 0; overflow: hidden; visibility: hidden; }

#divMenuUsuario { padding: 15px; position: absolute; width: max-content; right: 0px; border: #dfd8d8 solid 1px; border-radius: 0px 0px 15px 15px; box-shadow: grey 4px 4px 4px 0px; z-index: 10; background: var(--color-white); margin-top: 10px; }

main #mainContain:not(.public) div#tituloPagina { margin-top: -59px; max-width: 75%; }

#mainContain.public { }
    #mainContain.public div#tituloPagina { max-width: none; }

main div#tituloPagina > * { padding: 10px 0px; }
main div#tituloPagina h1 { color: var(--color-secondary); }

div#contenidoPagina { /*background: var(--color-grey);*/ border-radius: 10px; /*box-shadow: var(--color-version) 3px 3px 6px;*/ }
    div#contenidoPagina > div:not(.validation-summary-valid):not(.botoneraFicha), div#contenidoPagina form > div:not(.validation-summary-valid):not(.botoneraFicha) { margin: 15px 0px; padding: 15px; width: auto; }

/*.tabs > div[id^=tab] { border: var(--color-grey-light) inset 2px; }
*/ /**FILTROS**/
#divFiltros { background: var(--color-white); }
    #divFiltros .formulario { box-shadow: none; border-color: var(--color-grey-light); }

/**AVISOS HOME**/
div#avisosHome, .avisos { background: var(--color-avisos-home-soft) !important; border-radius: 6px; width: fit-content; }
    div#avisosHome h6, .avisos h6 { padding: 5px 20px; }
    div#avisosHome div, .avisos div { padding: 5px; max-width: fit-content; }
    div#avisosHome i, .avisos i { color: var(--color-error); }
    div#avisosHome span { font-weight: bold; }
/*   div#avisosHome hr { animation: intermitentecaja infinite 5s; color: var(--color-error); }*/
span.aviso { color: var(--color-info); font-size: 17px; }
    span.aviso:not(:empty)::before { content: "\1F6C8" }

/*CONFIRMACION DE SOLICITUD*/
#cantidadPago { font-weight: bolder; font-size: 29px; }
#infoPago, #instruccionesPago { text-align: center; }
/**AVISOS VALIDACION**/
.validation-summary-errors { background: var(--color-error-light); border-radius: 5px; border: var(--color-error) solid 2px; box-shadow: var(--color-grey-light) 2px 3px 1px; }
    .validation-summary-errors ul li:before { content: "\2716"; color: var(--color-error); margin: 0px 5px; }

/*TIPO DOCUMENTO VISTA*/
.tipoDocumento { border: #e4e4e4 solid 2px; display: flex; margin: 5px; padding: 10px; width: fit-content; border-radius: 5px; box-shadow: #edecec 5px 5px 8px; /* min-height: 166px;*/ }
    .tipoDocumento hr { border-color: var(--color-texto); }
    .tipoDocumento[data-cargado="true"] { background: var(--color-success-light); border-color: var(--color-success); }
    .tipoDocumento[data-cargado="false"] { background: var(--color-error-light); border-color: var(--color-error); }

    .tipoDocumento a#decargarDocumento.descargar { margin: auto; text-align: center; display: block; }
    .tipoDocumento #decargarDocumento.descargar i { font-size: 50px; margin: 10px; }
    .tipoDocumento .imagenDocumento { width: 180px; }
    .tipoDocumento .accionesDocumento { display: flex; flex-direction: column; }
        .tipoDocumento .accionesDocumento .registroDocumento { display: flex; justify-content: flex-start; /*justify-content: space-between;*/ width: 100%; }
    .tipoDocumento .accionesRegistro a { padding: 0px; }
    .tipoDocumento .accionesDocumento .registroDocumento .infoRegistro * { font-size: 12px; }
    .tipoDocumento .accionesDocumento .registroDocumento .infoRegistro span:first-of-type { font-weight: bold; }

    .tipoDocumento .contenidoDocumento { width: 100%; }
        .tipoDocumento .contenidoDocumento .tituloformulario { }
    .tipoDocumento .accionesDocumento .registroDocumento .accionesRegistro { margin: 0px 10px; }
    .tipoDocumento .infoDocumento { color: var(--color-info); }

    .tipoDocumento .tituloformulario { max-width: 200px; }

div.documentosSolicitante, div.documentosParticipante, div.documentosInscripcion { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; }
/* Fondo lightyellow para el contenedor */
.avisos-lightyellow { background-color: lightyellow; padding: 15px; border-radius: 5px; border: 1px solid #f0e68c; /* Borde opcional */ }

/* Color amarillento para los iconos */
.icon-yellow { color: #ffd700; /* Color amarillo dorado */ }

/* Opcional: Estilo para los enlaces */
.avisos-lightyellow a { color: #555; /* Color del texto de los enlaces */ text-decoration: none; }
    .avisos-lightyellow a:hover { text-decoration: underline; }
.input-validation-error { background: var(--color-error-light); border: var(--color-error) solid 1px; border-radius: 3px; outline: none; }

/**DIV DE ESTADO**/
div.mensajeEstado { border-radius: 3px; text-align: center; border: solid 2px; font-weight: bolder; padding: 5px; display: flex; flex-wrap: wrap; flex-direction: column; }
    div.mensajeEstado.excluida { background: var(--color-error-light); border-color: var(--color-error); color: var(--color-secondary) }
    div.mensajeEstado.aceptada { background: var(--color-success-light); border-color: var(--color-success); color: var(--color-secondary) }
    div.mensajeEstado.pendiente { background: var(--color-focus-light); border-color: var(--color-focus); color: var(--color-secondary) }

/*Colores estado en tabla*/
a.estado.excluida { color: var(--color-error); }
a.estado.aceptada { color: var(--color-success); }
a.estado.pendiente { color: var(--color-focus); }
tbody tr[role="row"][data-estadosorteo]:hover, tr[role="row"][data-estadoinscripcion]:hover { opacity: 0.8; transition: opacity; }
tr[role="row"][data-estadosorteo="excluido"], tr[role="row"][data-estadoinscripcion="excluida"] { background-color: var(--color-error-light) !important; }
tr[role="row"][data-estadosorteo="plazaadjudicada"], tr[role="row"][data-estadoinscripcion="aceptada"] { background-color: var(--color-success-light) !important; }
tr[role="row"][data-estadosorteo="reserva"], tr[role="row"][data-estadoinscripcion="pendiente"] { background-color: var(--color-avisos) !important; }
tr[role="row"][data-estadodivision="sinplaza"] a, div.estado[data-estadodivision="sinplaza"] span { color: var(--color-error); }

/* Estados al pasar el mouse */
.estado-excluida:hover { background-color: #e6bec1 !important; }
.estado-pendiente:hover { background-color: #f0e68c !important; }
.estado-aceptada:hover { background-color: #c3e0c8 !important; }

/**ACCESOS RAPIDOS**/
div#accesosRapidos { background: var(--color-white-soft); border-radius: 6px; box-shadow: #e1dbdb 2px 3px 3px; }
    div#accesosRapidos h6 { padding: 5px 20px; width: 100%; }
    div#accesosRapidos hr { width: 100%; }
div#botonesAdministrador, div#botonesUsuario { display: flex; flex-wrap: wrap; width: 100%; }
div#botonesAccesoHome { display: flex; flex-wrap: wrap; flex-direction: row; }
div#botonesAdministrador div, div#botonesUsuario div { width: 248.744px; height: 154px; background: var(--color-emphasis); margin: 5px; border-radius: 14px; display: flex; flex-direction: column; justify-content: space-around; }
    div#botonesAdministrador div:hover, div#botonesUsuario div:hover { background: var(--color-main-light); }
    div#botonesAdministrador div > *, div#botonesUsuario div > * { padding: 15px; color: #464e5f; transition: color 1s linear; }
div#botonesAdministrador i, div#botonesUsuario i { font-size: 37px; }
div#botonesAdministrador a:hover *, div#botonesUsuario a:hover * { font-weight: bolder; text-shadow: var(--color-secondary-light) 0px 0px 14px; color: var(--color-secondary); transition: color 0.5s linear; }
div#botonesUsuario img.logoAcreditaMain { margin: auto 2% auto auto; /*opacity:0.6;*/ }

/**FORMULARIOS**/
div.formulario { background: var(--color-white-soft); /*border-radius: 4px;*/ /*box-shadow: var(--color-grey-light) 2px 3px 1px;*/ border: var(--color-grey-light) solid 1px; margin: 10px 0px; border-left: 3px solid var(--color-secondary); }
    div.formulario:empty { border: none; }
    div.formulario .tituloformulario { font-size: 17px; padding: 8px; }
        /*DIV FORMULARIOS VISTA DE LA PARTE PUBLICA DEL ACCESO DE SOLICITANTE*/
        div.formulario .tituloformulario.serviciosAdicionales, div.formulario .tituloformulario.participante { font-weight: bold; }
    div.formulario div.item.participante { width: 100%; }
    div.formulario div.item span[data-estado] { font-weight: bold; }

    div.formulario .fila[data-estado] { border-radius: 5px; }
    div.formulario .fila[data-estado="excluido"], div.formulario .fila[data-estado="nosorteado"] { color: var(--color-error); background: var(--color-error-light); font-weight: bold; }
        /*div.formulario .fila[data-estado="excluido"]:after { content: "\1F5D9"; color: var(--color-error); font-weight: bold; margin: 15px; }*/

    div.formulario .fila[data-estado="plazaadjudicada"] { color: var(--color-success); background: var(--color-success-light); font-weight: bold; }
        /*div.formulario .fila[data-estado="plazaadjudicada"]:after { content: "\1F5F8"; color: var(--color-success); font-weight: bold; margin: 15px; }*/

    div.formulario .fila[data-estado="reserva"] { background: var(--color-focus-light); font-weight: bold; }

    div.datos-salud.formulario, div.formulario.divisionesInscripcion, div.formulario div.formulario { margin: 12px; }
/*FORMULARIO VALIDACIONES*/
#tabValidacion #fechaComprobacionPuntuacion:not(:empty), #tabValidacion label:has(~#fechaComprobacionPuntuacion:not(:empty)), #tabValidacion span.fechaComprobacion:not(:empty), #tabValidacion span.fechaComprobacionEmpadronado:not(:empty), #tabValidacion label:has(~span.fechaComprobacion:not(:empty)), #tabValidacion label:has(~span.fechaComprobacionEmpadronado:not(:empty)), #tabValidacion span.fechaComprobacionEmpadronamientoSolicitante:not(:empty), #tabValidacion label:has(~span.fechaComprobacionEmpadronamientoSolicitante:not(:empty)) { color: var(--color-success); font-weight: bolder; }

#tabValidacion label:has(~ span.fechaComprobacion:empty), #tabValidacion label:has(~ span.fechaComprobacionEmpadronado:empty), #tabValidacion label:has(~ span.fechaComprobacionEmpadronamientoSolicitante:empty), #tabValidacion label:has(~ span#fechaComprobacionPuntuacion:empty) { color: var(--color-error); }

#tabValidacion div.formulario:has(#fechaComprobacionPuntuacion:empty), #tabValidacion div.formulario:has(span.fechaComprobacion:empty, span.fechaComprobacionEmpadronamientoSolicitante:empty), #tabValidacion div.formulario:has(span.fechaComprobacionEmpadronado:empty) { background: var(--color-error-light); }
#tabValidacion div.formulario:has(#fechaComprobacionPuntuacion:not(:empty)), #tabValidacion div.formulario:has(span.fechaComprobacion:not(:empty)):has(span.fechaComprobacionEmpadronamientoSolicitante:not(:empty)), #tabValidacion div.formulario:has(span.fechaComprobacionEmpadronado:not(:empty)) { background: var(--color-success-light); }

/**BOTONES impresion**/
div.botonesImpresion { display: flex; margin: 10px; }
    div.botonesImpresion .lineaBotones { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-around; line-height: 50px; width: 100%; }
        div.botonesImpresion .lineaBotones .botonImpresion { padding: 5px; }
/*DESPLEGABLE DE FORMULARIOS*/
.tituloformulario::after { font-size: 12px; color: var(--color-grey-dark); margin: 0px 11px; cursor: pointer; }
.tituloformulario:not(.cerrado)[data-action="true"]::after { content: "[Ocultar]"; }
.tituloformulario[data-action="true"]::after { content: "[Mostrar]"; }
.formulario:has(.tituloformulario.cerrado) hr, .formulario:has(.tituloformulario.cerrado) div.linea { display: none; }
.tituloformulario[data-action="true"] section.fila:not(.ocultar) { animation: slide-down-menuusuario 0.5s linear both; }
.tituloformulario:has(div) { display: flex; align-items: center; }
.tituloformulario .boton { padding: 5px; }
/*LEYENDA ESTADO*/
#leyendaEstado { border: double var(--color-grey-light) 1px; border-radius: 6px; box-shadow: inset 1px 1px 20px 0px var(--color-grey); }
    #leyendaEstado .estado { padding: 12px; }
        #leyendaEstado .estado[data-estadosorteo], #leyendaEstado .estado[data-estadoinscripcion] { border-radius: 5px; margin: 5px; }
        #leyendaEstado .estado[data-estadosorteo="reserva"], #leyendaEstado .estado[data-estadoinscripcion="pendiente"] { background: var(--color-avisos); border: solid var(--color-focus) 1px; }
        #leyendaEstado .estado[data-estadosorteo="plazaadjudicada"], #leyendaEstado .estado[data-estadoinscripcion="aceptada"] { background: var(--color-success-light); border: solid var(--color-success) 1px; }
        #leyendaEstado .estado[data-estadosorteo="excluido"], #leyendaEstado .estado[data-estadosorteo="nosorteado"], #leyendaEstado .estado[data-estadoinscripcion="excluida"] { background: var(--color-error-light); border: solid var(--color-error) 1px; }
/*FIN LEYENDA ESTADO*/
/*CUIDADO CON EL EL SELECTIZE*/
/*section.fila.ocultar  { animation: slide-up-menuusuario 0.9s linear both; }
*/
.formulario.login { max-width: fit-content; margin: 20px auto !important; }
div.formulario .fila { display: flex; align-items: flex-start; margin: 5px; flex-wrap: wrap; }
    div.formulario .fila:not(:has(.item)) { padding: 5px; }
    div.formulario .fila > .item { display: inline-flex; margin: 1px 10px; line-height: 30px; flex-direction: column; align-items: flex-start; min-width: 298px; }
div.formulario:has(div.formulario) div.formulario { border-left-color: var(--color-focus); }
div .formulario:has(.error) .tituloformulario { background: var(--color-error-light); }

div.formulario .item.linea { flex-direction: row; align-items: center; }
div.formulario .fila label, .item span:first-child { font-weight: bold; line-height: normal; }
div.formulario .item .fila { align-items: center; padding: 0px; margin: 0px; }
    div.formulario .item .fila > * { margin-right: 5px; }
.item .selectize-control.single { margin-right: 10px; display: inline-flex; min-height: 34px; }
.item .selectize-control.multi { width: 100%; min-width: 274px; max-width: 400px; min-height: 34px; }
.item .selectize-control.single .selectize-input { min-width: 274px; width: calc(274px + 15px ); }
div.selectize-input.items { min-height: 34px; }
.fila.oculto, .item.oculto { display: none !important; }
#serviciosAdicionales .boton, #gruposHorarios .boton, #centros .boton, #tiposDocumentos .boton, #actividadDivisiones .boton { padding: 7px; }
.formulario.servicioAdicionalPrecio { border: none; box-shadow: none; }
/**TABLAS**/
/**TABLA DE PRECIOS - GRUPOHORARIO**/
table.precios, table.centroGrupoHorario, table.centroServicioAdicional { text-align: center; border-collapse: collapse; }
    table.precios thead tr :first-child, table.centroGrupoHorario thead tr :first-child, table.centroServicioAdicional thead tr :first-child { border-radius: 5px 0px 0px 0px; }
    table.precios thead tr :last-child, table.centroGrupoHorario thead tr :last-child, table.centroServicioAdicional thead tr :last-child { border-radius: 0px 5px 0px 0px; }
    table.precios tbody tr:last-child td:first-of-type, table.centroGrupoHorario tbody tr:last-child td:first-of-type, table.centroServicioAdicional tbody tr:last-child td:first-of-type { border-radius: 0px 0px 0px 5px; }
    table.precios tbody tr:last-child td:last-child, table.centroGrupoHorario tbody tr:last-child td:last-child, table.centroServicioAdicional tbody tr:last-child td:last-child { border-radius: 0px 0px 5px 0px; }
    table.precios, table.centroGrupoHorario, table.centroServicioAdicional, table.centroGrupoHorario th, table.precios th, table.centroServicioAdicional th, table.centroGrupoHorario td, table.precios td, table.centroServicioAdicional td { /*border: 1px solid;*/ padding: 5px; min-width: 100%; margin: auto; }
        table.precios thead, table.centroGrupoHorario thead, table.centroServicioAdicional thead { /*background: var(--color-main-light);*/ background: var(--color-main); }
            table.precios thead tr th, table.centroGrupoHorario thead tr th, table.centroServicioAdicional thead tr th { color: var(--color-main-light); border-color: var(--color-info); }
        table.precios tr td, table.precios tr th, table.centroServicioAdicional tr th { white-space: normal; }
        table.precios input, table.centroGrupoHorario input, table.centroServicioAdicional input { width: 100%; height: auto; padding: 0px 0px; text-align: center; border: 1px transparent solid; background: transparent; }
            table.precios input:focus, table.centroGrupoHorario input:focus, table.centroServicioAdicional input:focus { border-bottom-color: var(--color-focus) }
        table.precios .boton, table.centroGrupoHorario .boton, table.centroServicioAdicional .boton { padding: 0px !important; }
#formActividad .selectize-control.multi .selectize-input.disabled [data-value] { color: var(--color-texto); font-weight: bold; }
table.precios tbody tr:hover, table.centroGrupoHorario tbody tr:hover, table.centroServicioAdicional tbody tr:hover { background: var(--color-selector); }
tr.error { background: var(--color-error-light); }
/**FIN TABLA DE PRECIOS**/
/*VENTANA FIRMA DOCUMENTOS*/
#dialogFirmaDocumento #divCanvas { border: outset #f1f1f1; border-radius: 10px; display: flex; justify-content: space-evenly; width: fit-content; margin: auto; height: 400px; max-width: 100%; max-height: 500px; overflow: hidden; box-sizing: border-box; position: relative; }
/* Estilo para pantallas más pequeñas */
@media screen and (max-width: 500px) {
    #dialogFirmaDocumento #divCanvas { width: 90%; height: 250px; }
}

table.tabladataPaginated { padding: 22px 0px; }
    table.tabladataPaginated thead * { font-size: small; }
.dataTables_wrapper { overflow: auto; /*width: 100%;*/ /*overflow-y: visible;*/ /*height: 815px;*/ /*height: calc(100vh - 300px);*/ }
.formulario .dataTables_wrapper { width: 100%; }
thead tr.encabezado_tabla { background: var(--color-button); color: var(--color-button-text); }
    thead tr.encabezado_tabla th { color: var(--color-button-text); }
table tr.odd:not(:hover), table tr.even:not(:hover) { background-color: var(--color-white) /*!important;*/ }
table tr.odd:hover, table tr.even:hover { background-color: var(--color-grey-light) /*!important;*/ }
tr td, tr th { white-space: nowrap; }
table.tabladataPaginated a { /*margin: 0px 8px; font-size: 15px;*/ }
div .dt-button-collection { width: max-content; position: sticky; left: 50%; display: flex; flex-wrap: wrap; flex-direction: row; max-width: 1222px; }
    div .dt-button-collection button { max-width: 160px; }
table.tabladataPaginated td[class*='sorting_'] { background-color: transparent !important; font-weight: 600; }
table.dataTable.no-footer { border-bottom: none; }
td.centrado, td.asistencia { text-align: center; }
.accionesTabla { text-align: center; margin: auto; }
    .accionesTabla i { /*margin: auto;*/ margin: 0px 5px 0px; }
    .accionesTabla .fa-trash-alt { color: var(--color-error); }
div.dt-button-collection-title { display: none !important; }
.ui-tabs-panel { height: calc(100vh - 355px); overflow: auto; }
#tabsInscripcion .ui-tabs-panel { height: calc(100vh - 357px); overflow: auto; }
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover { background: var(--color-button) !important; }
/**MENSAJES VISTA ERROR**/
.mensajeError { background: var(--color-error-light); border-radius: 4px; /*width: fit-content;*/ border: var(--color-error) solid 2px; padding: 10px; font-weight: bold; }
    .mensajeError .tituloError, .mensajeError .tituloError * { font-size: 25px; color: var(--color-error); margin: 10px; }
    .mensajeError .textoError { margin: 20px; font-weight: 700; }
/**MENSAJE VISTA EXITO**/
.mensajeExito { border: solid var(--color-success) 1px; background: var(--color-success-light); font-weight: bold; border-radius: 4px; }
/*MENSAJE CONFIRMACION*/
.mensajeConfirmacion { border: solid var(--color-success) 2px; background: var(--color-success-light); font-weight: bold; border-radius: 4px; border-radius: 4px; margin: 10px 0px; padding: 10px; }
    .mensajeConfirmacion span:first-child:before { content: "\2713"; color: var(--color-success); margin: 0px 10px 0px 10px; font-size: 24px; }
/**VENTANAS EMERGENTES **/
div[role=dialog] .ui-widget-header { background: var(--color-emphasis) !important; }
.ui-dialog-buttonset > button { background: var(--color-button); color: var(--color-button-text); }
    .ui-dialog-buttonset > button:hover, .ui-dialog-buttonset > button:active { background: var(--color-button-text); color: var(--color-button); }
/**VISTA EDICION INSCRIPCIONES**/
/*#tabSorteo .item { min-width: none; }*/
#tabSorteo .item { min-width: 170px;/* max-width: 312px;*/ }
    #tabSorteo .item:has(a) { min-width: 0; }
#tabSorteo .boton { padding: 5px; }

@media screen and (max-width:964px) {
    main { width: 100%; left: 0px; /* position: relative;*/ /* top: -60px; */ }
        main #menuUsuario { position: relative; top: 60px; }
    div#avisosHome { width: auto; }
    main div.linea { flex-wrap: nowrap; flex-direction: column; }
        main div.linea a, main div.linea button { margin: 10px 0px; width: 100%; text-align: center; }
    main div#tituloPagina { margin-top: -5px; top: 60px; position: relative; }
    main div#contenidoPagina { position: relative; top: 60px; }
    #modeloFicha { margin-top: -30px !important; }
        #modeloFicha h1 { max-width: none; }

    div.tabs, div.ui-widget-content { padding: 3px !important; }

    div.divMes { width: 100%; }

    .botoneraFicha { margin-top: 0px; }
    #divUsuario { margin-top: -60px; }

    div#logos { flex-direction: column; padding-top: 60px; }
    /*        canvas#newSignature { width: 100%; height: 100%; }
*/
}
/*/**FOOTER**/
footer { text-align: center; background: var(--color-grey); /* position: fixed; bottom: 0px; display: flex; width: 100%; background: transparent; justify-content: space-around; height:120px*/ }
    footer img { height: 120px; }
/*botones*/
button { border: none; }
.boton, .boton.inverso:active { background: var(--color-button); color: var(--color-button-text); padding: 15px; border-radius: 3px; box-shadow: var(--color-grey-light) 0px 1px 6px; }
    .boton:not(.inverso):hover { text-shadow: var(--color-white) 0px 0px 14px; /*font-weight: bold; */ }
    .boton.inverso:hover { text-shadow: var(--color-button) 0px 0px 14px; /*font-weight: bold;*/ }
    .ui-widget-content a.boton.inverso, .boton.inverso, .boton:not(.inverso):active { color: var(--color-button); background: var(--color-button-text); border: var(--color-button) solid 1px; }
        .boton.inverso i, .boton:not(.inverso):active > i { color: var(--color-button); }
        .boton i, .boton.inverso:active > i { color: var(--color-button-text); }
    .boton.borrar { background: var(--color-error); color: var(--color-button-text); }
    .boton.aviso { background: var(--color-focus); color: var(--color-secondary-light) !important; font-weight: bold }
        .boton.aviso i { color: var(--color-secondary-light); }
    .boton.rojo { background: var(--color-error-light); color: var(--color-error); border: var(--color-error) solid 1px; }
        .boton.rojo, .boton.rojo i { color: var(--color-error); }
    .boton.verde { background: var(--color-success-light); border: var(--color-success) solid 1px; }
        .boton.verde, .boton.verde i { color: var(--color-success); }
    .boton.amarillo { background: var(--color-focus-light); border: var(--color-focus) solid 1px; }
        .boton.amarillo, .boton.amarillo i { color: var(--color-grey-dark); }
    .boton.reiniciar { border-radius: 39%; padding: 5px; background: var(--color-secondary-light); }
        .boton.reiniciar i { font-size: 13px; }
    .boton[disabled] { background: var(--color-grey-light); color: var(--color-grey-dark); pointer-events: none; }
.botonesTipoDocumento .boton { padding: 5px 5px; text-align: center; }
.ui-widget-content a.boton:not(.verde):not(.rojo):not(.inverso):not(.amarillo) { color: var(--color-button-text); }
/*.ui-widget-content a.borrar, .ui-widget-content a.borrar i { color: var(--color-error); }
*/ .paginate_button.next.disabled, .paginate_button.previous.disabled { display: none !important; }
#btnGuardarDialog.ui-button.ui-corner-all.ui-widget { background: var(--color-button); color: var(--color-button-text); }

@media screen and (max-width: 964px) {
    .boton { padding: 15px 0px; }
}
/**DataTables**/
.dataTable { width: 100% !important; }
/***MENSAJES EMERGENTES***/
#divAlert { position: fixed; border-radius: 5px; top: 0; width: 100%; font-size: 14px; color: #fff; z-index: 10001; text-align: left; padding: 25px 25px 25px 70px; background-position: 20px center; background-repeat: no-repeat; text-shadow: 0 0 5px rgba(0,0,0,.2); z-index: 50000000; }
    #divAlert.divMargen { -moz-border-radius: 6px; -webkit-border-radius: 6px; border-radius: 6px; }
    #divAlert.error { background-color: var(--color-error-light); color: var(--color-error); border: var(--color-error) solid 2px; }
    #divAlert.warn { background-color: var(--color-info-light); color: var(--color-info); }
    #divAlert.info { background-color: var(--color-emphasis); color: var(--main-color); }
    #divAlert.success { background-color: var(--color-success-light); color: var(--color-success); }
i.cerrarAlert { position: fixed; top: 0; right: 0; padding: 20px; font-size: 25px; }
    i.cerrarAlert:hover { cursor: pointer; }
/**CARGANDO**/
#divCargando { position: fixed; width: 100%; height: 100%; background: rgba(255, 255, 255, 0.8); left: 0; top: 0; z-index: 10000; }
    #divCargando > div { padding: 30px 0; width: 260px; text-align: center; top: 50%; left: 50%; margin-left: -130px; margin-top: -75px; height: 140px; position: absolute; }
    #divCargando .fa { color: #0065e3; font-size: 70px; margin-bottom: 10px; }
/**Efectos***/
/**Animaciones**/
.intermitente { animation-name: intermitente; animation-duration: 3s; animation-timing-function: linear; animation-iteration-count: infinite; }
/**/ /**DESPLEGABLE**/
@keyframes slide-down-menuusuario {
    0% { visibility: hidden; height: 0; opacity: 0; }
    50% { visibility: visible; height: 50px; opacity: 0.50; }
    /* Set height to 'auto' after animation for spacing showing form-invalid feedback message */
    100% { visibility: visible; height: auto; opacity: 1; }
}

@keyframes slide-up-menuusuario {
    0% { visibility: visible; padding: 15px 15px; height: auto; opacity: 1; }
    50% { visibility: visible; opacity: 0.90; }
    100% { visibility: hidden; padding: 0px 15px; height: 0; opacity: 0; }
}
/** INTERMITENTE **/
@keyframes intermitente {
    0% { opacity: 1.0; }
    50% { opacity: 0.0; }
    100% { opacity: 1.0; }
}
/*Intermitente para borde de cajas*/
@keyframes intermitentecaja {
    0% { border-color: inherit; }
    50% { border-color: var(--color-white); }
    100% { border-color: inherit; }
}
/*DESPLEGAR MENU**/
@keyframes abrirMenuMovil {
    0% { width: 0%; }
    100% { width: 100%; }
}

@keyframes cerrarMenuMovil {
    0% { width: 100%; }
    100% { width: 0%; display: none; }
}
/*Estado sorteo participantes**/
/* Colores según EstadoInscripcion (antes del sorteo) */
.estado-inscripcion-excluido { background-color: var(--color-error-light); }
.estado-inscripcion-pendiente { background-color: var(--color-focus-light); }
.estado-inscripcion-aceptada { background-color: var(--color-success-light); }
/* Colores según EstadoSorteo (después del sorteo) */
.estado-sorteo-nosorteado { background-color: var(--color-error-light); }
/* Rojo */
.estado-sorteo-pendiente { background-color: var(--color-focus-light); }
/* Amarillo */
.estado-sorteo-confirmado { background-color: var(--color-success-light); }
/* Verde */
.estado-sorteo-excluido { background-color: var(--color-error-light); }
/* Rojo */

