/**
 * Define las variables globales de estilo, utilizadas en la definicion de theme.css
 * generada por el proyecto primefaces-sepsa.
 */
:root {
    --color_branding: #fab300;
    --color_branding_light: #FFCD1A;
    --color_branding_dark: #E19AFFFFFFE7;
}

/**
 * Permite que los textos en botones no superen el ancho asociado a su contenedor.
 */
span.ui-button-text {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

/**
 * Elimina los bordes redondeados por defecto que se aplican a los componentes
 * de tipo p:breadcrumbs.
 */
.ui-breadcrumb {
    box-sizing: border-box !important; 
    height: 40px !important;
    border: none !important;
    border-radius: 0px !important;
    border-bottom: 1px solid #c8c8c8 !important;
}

/**
 * Estilo para barra de navegacion.
 */
.pv-navbar {
    box-sizing: border-box !important;
    width: 100vw;
    height: 64px;
    border: none !important;
    border-bottom: 1px solid #c8c8c8;
    background: #fab400;
}

.pv-navbar-remainder {
    box-sizing: border-box;
    width: 100vw;
    height: calc(100vh - 64px);
}

.pv-navbar ul {
    height: 100%;
    display: flex;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
}

.pv-navbar li {
    font-size: 1rem;
    line-height: 40px;
    text-align: center;
    height: 40px;
    margin-left: 1.5rem;
}

/**
 * Estilo para barra lateral de menu.
 */
.pv-sidebar {
    box-sizing: border-box;
    width: 200px;
    height: 100%;
    overflow-y: auto;
    display: inline-block;
    float: left;
    border-right: 1px solid #c8c8c8;
}

.pv-sidebar-remainder {
    box-sizing: border-box;
    width: calc(100vw - 300px);
    height: 100%;
    overflow-y: auto;
    background: whitesmoke;
}

.pv-container {
    display: block !important;
    margin: 1rem !important;
    padding: 2rem !important;
    background: #fff !important;
    border: 1px solid #c8c8c8 !important;
}

.pv-container-area {
    min-height: calc(100vh - 64px - 54px - 1rem);
}

.pv-container-margins {
    margin-right: 1rem;
    margin-left: 1rem;
    margin-top: 1rem;
}

/**
 * Estilos para input groups. Los estilos de primefaces no se ajustan al layout de
 * vista, por lo cual se crearon estilos especificos para el layout buscado principalmente
 * para el formulario de campos de filtros.
 * Fuente: https://philipwalton.github.io/solved-by-flexbox/demos/input-add-ons/
 */
.pv-filter-group {
    display: flex;
    width: 100%;
    box-sizing: border-box;
}

.pv-filter-modifiers {
    width: 30%;
}

.pv-filter-modifiers select {
    width: 100%;
    line-height: 1.5rem !important;
    outline: 0 none;
    border: 1px solid #999;
    border-radius: 4px;
    border-right: none;
    border-top-left-radius: 4px;
    border-top-right-radius: 0px;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 0px;
    padding-top: calc(0.429rem - 1px);
    padding-bottom: calc(0.429rem - 1px);
}

.pv-filter-input {
    width: 70%;
}

.pv-filter-input .ui-inputfield,
.pv-filter-input .ui-selectonemenu {
    width: 100% !important;
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
}

/**
 * Estilo para eliminar los estilos por defecto para elementos de lista (ol/ul).
 */
.pv-list-unstyled {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

/**
 * Estilo para limitar el ancho de texto y utilizar '...' para indicar que el
 * texto ocupa un ancho superior al disponible.
 */
.pv-text-truncated {
    width: 100%;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

/**
 * Estilo que elimina los bordes por defecto para elementos 'table' que utilicen
 * esta clase.
 */
.pv-table-borderless thead td,
.pv-table-borderless tbody td,
.pv-table-borderless th td,
.pv-table-borderless tr td {
    border: none !important;
}

/**
 * Estilos para cuadros de indicadores.
 */
.info-box {
    display: block;
    width: 100%;
    border-radius: 3px;
    border: 1px solid #c3c3c3;
}

.info-box-icon {
    display: block;
    float: left;
    width: 90px;
    text-align: center;
    margin-top: 10px;
}

.info-box-icon img {
    width: 48px;
}

.info-box-content {
    padding: 10px;
    margin-left: 90px;
}

html, body {margin: 0; height: 100%; overflow: hidden}