/******************************************************************/
/*** base                                                         */
/******************************************************************/

@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,700;1,300;1,400;1,700&display=swap');


html, body {
    font-family: "Roboto", helvetica, arial, sans-serif;
    font-weight: 400;
    background: #f1f2f6 repeat fixed;
    height: 100%;
}

body {
    display: table;
    width: 100%;
}

/******************************************************************/
/*** reemplazar estilos por defecto de primefaces                 */
/******************************************************************/

/**
* reemplaza la clase por defecto de primefaces para el cuadro de búsqueda
* dentro de un combobox, el cambio permite ocupar el 100% del ancho del campo
*/
.ui-selectonemenu-panel .ui-selectonemenu-filter-container{
    position:relative;
    margin:0;
    padding:0.4em;
    display:inline-block;
    width: 100%; /*<--- cambio*/
}

/**
* Agrega las personalizaciones de color de texto a componentes internos de
* botones (texto e iconos).
*/
.btn,
.ui-icon,
.ui-button-text {
    color: var(--btn-text-color) !important;
}

/**
* Agrega las personalizaciones de color de fondo a casillas de seleccion.
*/
.ui-icon-check {
    background-color: var(--btn-checkbox-color) !important;
}

/**
* agrega un margen para que los cuadros de dialogos no aparezcan muy pegados
* a los bordes de pantalla en pantallas pequeñas
*/
.ui-dialog {
    position: fixed;
    padding: 0;
    overflow: hidden;
    display: none;
    margin: 10px; /* <--- cambio */
}

/**
* permite resaltar el texto en las cabeceras de cada columna siempre y cuando
* la tabla sea establecida como responsive (reflow = true).
*/
.ui-datatable-reflow .ui-datatable-data td .ui-column-title {
    display: none;
    font-weight: 700 !important; /* <--- cambio */
}

/**
* permite que los datos en una fila correspondiente a una tabla resposive se
* ubiquen debajo del texto de cabecera correpsondiente en lugar de aparecer
* al lado de las mismas.
*/
@media (max-width: 640px) {
    .ui-datatable-reflow .ui-datatable-data td .ui-column-title {
        display: block !important;
    }
}

/**
* permite que el icono de dropdown de un combobox se ajuste a su tamaño dentro del input
*/
.ui-selectonemenu .ui-selectonemenu-trigger .ui-icon {
    width: 12px;
}

/**
* permite establecer un color fijo para los iconos dentro de un boton.
*/
.ui-button, button.ui-button.ui-state-default, .ui-button.ui-state-default {
    color: #fff !important;
}

/**
* permite que un combobox no este demasiado pegado a su label o algun otro control.
*/
.ui-chkbox {
    margin-top: 4px;
    margin-left: 8px;
}

.form-control-static {
    margin: 0px !important;
}

/**
* permite modificar el borde redondeado de los paneles de bootstrap.
*/
.panel,
.panel-heading,
.panel-body {
    border-radius: 0px !important;
}

/**
* permite modificar el color de fondo de las areas de titulo de los paneles de bootstrap.
*/
.panel-heading {
    color: var(--panel-text-color) !important;
    background-color: var(--panel-color) !important;
    border-color: var(--panel-color) !important;
}

/*
* agrega un pequeño margen superior al primer elemento de la lista.
*/
.list-group-item:first-child {
    margin-top: 5px !important;
}

/******************************************************************/
/*** estilos del sistema                                          */
/******************************************************************/

.page-row {
    display: table-row;
    height: 1px;
}

.page-row-expanded {
    height: 100%;
}

/* pantallas pequeñas. */
@media (max-width: 768px) {
    .app_content_wrapper {
        padding: 2em;
    }
}

/* pantallas medias en adelante. */
@media (min-width: 769px) {
    .app_content_wrapper {
        padding: 2rem 4rem 2rem 4rem;
    }
}

.app_block {
    display: block !important;
}

.app_h_divider {
    margin: 0px;
    border-top: 1px solid var(--primary-navbar-color-ligthen);
}

.app_padded_10 {
    padding: 10px !important;
}

.app_shadowed_content {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.app_menu {
    margin-bottom: 0px;
    border-radius: 0px !important;
}

.app_cursor_disabled {
    cursor: not-allowed !important;
}

.app_form_input,
.app_form_input_calendar,
.app_form_input > input
.app_form_input_calendar > input {
    width: 100% !important;
}

.app_form_input_calendar,
.app_form_input_calendar > input {
    text-transform: uppercase !important;
}

.app_form_input_addon_right,
.app_form_input_addon_right > input {
    width: 100% !important;
    border-radius: 3px 0px 0px 3px !important;
}

.app_form_input_required:after {
    content: " *";
    color: #e9573f;
}

input[type="text"][disabled] {
    color: black !important;
    opacity: 1;
}

.app_panel_title {
    font-size: 2rem;
    font-weight: bold;
    /*color: rgb(67, 74, 84);*/
}

.app_text_strong {
    font-weight: bold !important;
}

.app_text_center {
    text-align: center !important;
}

.app_text_left {
    text-align: left !important;
}

.app_text_right {
    text-align: right !important;
}

.app_text_justify {
    text-align: justify !important;
}

.app_text_wrapped {
    table-layout: fixed;
    word-wrap: break-word;
    word-break: break-all;
    white-space: normal;
}

.app_text_truncated {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.app_text_uppercase {
    text-transform: uppercase !important;
}

.app_text_lowecase {
    text-transform: lowercase !important;
}

.app_dialog_content {
    max-height: 500px !important;
    overflow-x: hidden !important;
    overflow-y: scroll !important;
}

.app_ul > li {
    margin: 0 !important;
    list-style-type: disc !important;
}

.app_no_border {
    border: none !important;
}


.app_fit_dialog {
    overflow-y: scroll !important;
    top: 5px !important;
    bottom: 5px !important;
}

.app_fit_dialog > .ui-dialog-content {
    overflow: visible !important;
    padding: .5em 1em !important;
}

/* pantallas pequeñas. */
@media (max-width: 768px) {
    .app_wide_dialog,
    .app_semi_wide_dialog,
    .app_thin_dialog,
    .app_no_wide_dialog {
        width: 95% !important;
        margin: 0 auto;
        margin-top: 2rem !important;
        margin-bottom: 2rem !important;
        /*position: absolute !important;*/
    }
}

/* pantallas medias en adelante. */
@media (min-width: 769px) {
    .app_wide_dialog,
    .app_semi_wide_dialog,
    .app_thin_dialog {
        width: 75% !important;
        margin: 0 auto;
        margin-top: 2rem !important;
        margin-bottom: 2rem !important;
        /*position: absolute !important;*/
    }

    .app_semi_wide_dialog {
        width: 55% !important;
    }

    .app_thin_dialog {
        width: 35% !important;
    }


    .app_no_wide_dialog {
    }
}

.app_historico_event {
    margin-left: 0.4rem;
    margin-bottom: 5px;
}

.app_historico_fecha {
    margin-top: 10px;
}

.app_historico_comentario {
    color: #aab2bd;
    font-style: italic;
    margin-top: 5px;
    text-align: justify;
}

.app_faq_list {
    list-style-type:none;
    padding: 0px;
}

.app_faq_list_item {
    padding: 10px 10px 2rem 10px;
}

.app_faq_list_item p {
    text-align: justify;
    text-justify: inter-word;
}

/* cuadritos del home */

.small-box {
    border-radius: 2px;
    position: relative;
    display: block;
    margin-bottom: 20px;
    box-shadow: 0 1px 1px rgba(0,0,0,0.1);
}

.small-box > .inner {
    padding: 10px;
    color: white;
}

.small-box h3 {
    font-size: 38px;
    font-weight: bold;
    margin: 0 0 10px 0;
    white-space: nowrap;
    padding: 0;
}

.small-box p {
    font-size: 15px;
}

.small-box .icon {
    position: absolute;
    top: -10px;
    right: 10px;
    z-index: 0;
    font-size: 80px;
    color: rgba(0,0,0,0.15);
}

.small-box > .small-box-footer {
    position: relative;
    text-align: center;
    padding: 3px 0;
    color: #fff;
    color: rgba(255,255,255,0.8);
    display: block;
    z-index: 10;
    background: rgba(0,0,0,0.1);
    text-decoration: none;
}

.bg-blue-jean {
    background-color: #5d9cec !important;
}

.bg-blue-jean-dark {
    background-color: #4a89dc !important;
}

.bg-aqua {
    background-color: #4fc1e9 !important;
}

.bg-aqua-dark {
    background-color: #3bafda !important;
}

.bg-mint {
    background-color: #48cfad !important;
}

.bg-mint-dark {
    background-color: #37bc9b !important;
}

.bg-green {
    background-color: #a0d468 !important;
}

.bg-green-dark {
    background-color: #8cc152 !important;
}

.bg-yellow {
    background-color: #ffce54 !important;
}

.bg-yellow-dark {
    background-color: #f6bb42 !important;
}

.bg-red {
    background-color: #fc6e51 !important;
}

.bg-red-dark {
    background-color: #e9573f !important;
}

.bg-purple {
    background-color: #ac92ec !important;
}

.bg-purpe-dark {
    background-color: #967adc !important;
}

/* perfil de usuario */
.profile-header-container{
    margin: 0 auto;
    text-align: center;
}

.profile-header-img {
    padding: 30px;
}

.profile-header-img > img.img-circle {
    width: 25%;
    height: 25%;
    /*border: 2px solid #51d2b7;*/
}

.profile-header {
    margin-top: 43px;
}

/**
* cuadros de informacion
*/
.info-box {
    display: block;
    max-height: 90px;
    background: #fff;
    width: 100%;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
    border-radius: 2px;
    margin-bottom: 15px;
}

.info-box-icon {
    border-top-left-radius: 2px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 2px;
    display: block;
    float: left;
    height: 90px;
    width: 90px;
    text-align: center;
    font-size: 45px;
    line-height: 90px;
    background: rgba(0, 0, 0, 0.2);
    color: white;
}

.info-box-content {
    padding: 5px 10px;
    margin-left: 90px;
    height: 90px;
}

.info-box-text {
    display: block;
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.info-box-text-important {
    display: block;
    font-weight: bold;
    font-size: 20px;
}

/******************************************************************/
/*** estilos para permitir que las columnas de un grid ajusten    */
/*** de manera automatica sus posiciones cuando se redimensiona   */
/*** el viewport del navegador.                                   */
/*** fuente: https://stackoverflow.com/a/33540628                 */
/******************************************************************/
@media (min-width:1200px){
    .auto-clear .col-lg-1:nth-child(12n+1){
        clear:left;
    }
    .auto-clear .col-lg-2:nth-child(6n+1){
        clear:left;
    }
    .auto-clear .col-lg-3:nth-child(4n+1){
        clear:left;
    }
    .auto-clear .col-lg-4:nth-child(3n+1){
        clear:left;
    }
    .auto-clear .col-lg-6:nth-child(odd){
        clear:left;
    }
}
@media (min-width:992px) and (max-width:1199px){
    .auto-clear .col-md-1:nth-child(12n+1){
        clear:left;
    }
    .auto-clear .col-md-2:nth-child(6n+1){
        clear:left;
    }
    .auto-clear .col-md-3:nth-child(4n+1){
        clear:left;
    }
    .auto-clear .col-md-4:nth-child(3n+1){
        clear:left;
    }
    .auto-clear .col-md-6:nth-child(odd){
        clear:left;
    }
}
@media (min-width:768px) and (max-width:991px){
    .auto-clear .col-sm-1:nth-child(12n+1){
        clear:left;
    }
    .auto-clear .col-sm-2:nth-child(6n+1){
        clear:left;
    }
    .auto-clear .col-sm-3:nth-child(4n+1){
        clear:left;
    }
    .auto-clear .col-sm-4:nth-child(3n+1){
        clear:left;
    }
    .auto-clear .col-sm-6:nth-child(odd){
        clear:left;
    }
}
@media (max-width:767px){
    .auto-clear .col-xs-1:nth-child(12n+1){
        clear:left;
    }
    .auto-clear .col-xs-2:nth-child(6n+1){
        clear:left;
    }
    .auto-clear .col-xs-3:nth-child(4n+1){
        clear:left;
    }
    .auto-clear .col-xs-4:nth-child(3n+1){
        clear:left;
    }
    .auto-clear .col-xs-6:nth-child(odd){
        clear:left;
    }
}