
/* ------------------------ */
/* Cuadro de dialogo modal. */
/* ------------------------ */
.modalMainContainer {
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    transition: all 0.35s ease-in;
    visibility: hidden;
    opacity: 0;
}

.modalFlexContainer {
    position: relative;
    width: 100%;
    height: 100%;
    background-color: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px;
}

.modalContent {
    position: relative;
    max-width: 800px;
    max-height: 80vh;
    background: #fff;
    transition: all 0.5s cubic-bezier(0.51, 0.92, 0.24, 1.15);
    transform: translateX(-100%);
    background-color: transparent;
}

/* -------------- */
/* Dialog Confirm */
/* -------------- */
.dialogConfirm {
	z-index: 50;
}

.dialogConfirmContent {
	max-width: 85vw;
	max-height: 60vh;
	background-color: #fff;
	border-radius: 5px;
}

.dialogConfirmHeader {
	background-color: steelblue;
	border-radius: 5px 5px 0px 0px;
	padding: 10px 10px;
}

.dialogConfirmHeader div {
	white-space: nowrap;
	overflow-x: hidden;
	text-overflow: ellipsis;
}

.dialogConfirmHeader span {
	color: #fff;
	padding: 0px 5px;
	font-size: 18px;
}

.dialogConfirmBody {
	max-height: 45vh;
	overflow-y: auto;
	padding: 15px;
}

.dialogConfirmFooter {
	padding: 15px;
	background-color: #D9D7D7;
	border-radius: 0px 0px 5px 5px;
}

.dialogConfirmFooter button {
	width: 100px;
}

/* -------------- */
/* Dialog Loading */
/* -------------- */
.dialogLoadingMainContainer {
	background-color: #fff;
	padding: 15px;
	border-radius: 5px;
}

.dialog-loading-img {
	width: 25px;
	height: 25px;
}

/* ------------ */
/* Dialog Error */
/* ------------ */
/* .dialogErrorMainContainer {
	background-color: #fff;
} */

.dialog-error-img > img {
	width: 100px;
	height: 100px;
}

.dialog-error-detail {
	width: 400px;
}

.dialogErrorBtnOk {
	width: 80px;
}

/* ------------------- */
/* Mensajes al Usuario */
/* ------------------- */
#user-message {
    display: none;
    position: fixed;
    right: 10px;
    top: 60px;
    z-index: 100;
    border-radius: 4px;
    padding: 10px 12px;
}

#user-message-controls {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

#user-message-content {
    display: flex;
}

#user-message-text {
	color: #fff;
    font-size: 13px;
}

#user-message-close-btn {
    font-size: 10px;
    background: #1F3C52;
    padding: 5px;
    margin-left: 10px;
    color: #fff;
}

#user-message-close-btn:hover {
    cursor: pointer;
}

/* ------------------ */
/* Slider Checkbox    */
/* ------------------ */

/* The switch - the box around the slider */
.switch {
	position: relative;
	display: inline-block;
	width: 60px;
	height: 34px;
  }
  
  /* Hide default HTML checkbox */
  .switch input {
	opacity: 0;
	width: 0;
	height: 0;
  }
  
  /* The slider */
  .slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #ccc;
	transition: .4s;
  }
  
  .slider:before {
	position: absolute;
	content: "";
	height: 26px;
	width: 26px;
	left: 4px;
	bottom: 4px;
	background-color: white;
	transition: .4s;
  }
  
  input:checked + .slider {
	background-color: #2196F3;
  }
  
  input:focus + .slider {
	box-shadow: 0 0 1px #2196F3;
  }
  
  input:checked + .slider:before {
	transform: translateX(26px);
  }
  
  /* Rounded sliders */
  .slider.round {
	border-radius: 34px;
  }
  
  .slider.round:before {
	border-radius: 50%;
  }

/* ------------------ */
/* Manejador de Grids */
/* ------------------ */
.gridControlContainer {
	display: inline-block;
}

.gridControlTableTitle {
	padding: 2px 5px;
	border-radius: 5px 5px 0px 0px;
	background-color: steelblue;
	width: 100%;
}

.gridControlTableTitle > span {
	color: #fff;
	font-size: 13px;
}

.gridControlTableContainer {
	overflow-y: hidden;
	overflow-x: hidden;
}

.gridControlTable {
	border-collapse: collapse;
}

.gridControlHeaderTr {
	background-color: #64676B;
	height: 22px;
}

.gridControlHeaderTd {
	padding: 0px 5px;
	border: 1px solid #fff;
}

.gridControlHeaderTd > div {
	white-space: nowrap;
	overflow-x: hidden;
	text-overflow: ellipsis;
}

.gridControlHeaderTd > div > span {
	color: #fff;
	font-size: 13px;
}

.gridControlTable thead,
.gridControlTable tbody {
	display: block;
}

.gridControlTable tbody {
	overflow-x: hidden;
	overflow-y: scroll;
	height: 100px;
}

.gridControlBodyTr {
	background-color: #fff;
	height: 24px;
}

.gridControlBodyTd {
	padding: 0px 5px;
	border: 1px solid #ddd;
}

.gridControlBodyTd > div {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-height: 23px;
}

.gridControlBodyTd > div > span {
	color: #666;
	font-size: 14px;
}

/* Para celdas tipo boolean. */
.gridControlBodyTdBoolean {
	padding: 0px 5px;
	border: 1px solid #ddd;
}

.gridControlBodyTdBoolean > div {
	white-space: nowrap;
	text-overflow: ellipsis;
}

.gridControlBodyTdBoolean > div > span {
	color: #666;
	font-size: 14px;
}

.gridControlDataRow:hover {
	cursor: pointer;
	background-color: rgba(0, 0, 0, 0.2);
}

.gridControlDataRow:hover > td > div > span {
	color: #fff;
}

.gridControlSelectedRow {
	background-color: steelblue;
}

.gridControlSelectedRow:hover {
	background-color: steelblue;
}

.gridControlSelectedRow > td > div > span {
	color: #fff;
}

.gridControlSelectedRow:hover .gridControlSelectedRow > td > div > span {
	color: #fff;
}

/* --------------------- */
/* Manejador de Pestañas */
/* --------------------- */

/* Contenedor primario del sistema de pestañas. */
.__tab-main-cnt {
	width: 100%;
	height: 100%;
}

/* Contenedor de todas las pestañas. */
.__tab-header-cnt {
	width: 100%;
	display: flex;
	overflow-x: auto;
	overflow-y: hidden;
}

/* Contenedor de todos los cuerpos (areas de trabajo) de las pestañas. */
.__tab-body-cnt {
	position: relative;
	width: 100%;
	height: calc(100% - 30px);
	background-color: #F4F4F4;
}

/* Pestaña */
.__tab-header {
	background: #eee;
	border-top: 1px solid #ddd;
	border-right: 1px solid #ddd;
	border-left: 1px solid #ddd;
	border-radius: 10px 10px 0px 0px;
	display: flex;
	align-items: center;
}

/* Contenedor del titulo de la pestaña. */
.__tab-header-title-cnt {
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	padding: 5px 15px;
}

.__tab-header-title-closable-cnt {
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	padding: 5px 8px 5px 15px;
}

/* Titulo de la pestaña. */
.__tab-header-title {
	color: #777;
	font-size: 13px;
}

/* Contenedor del boton cerrar de la pestaña. */
.__tab-header-close-btn-cnt {
	padding: 5px;
	border-radius: 4px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: 10px;
}

/* Boton cerrar de la pestaña. */
.__tab-header-close-btn {
	font-size: 9px;
	color: #777;
}

/* Evento hover de la pestaña. */
.__tab-header:hover {
	cursor: pointer;
	background: rgba(0, 0, 0, 0.2);
}

/* Evento hover de la pestaña seleccionando al contenedor del boton cerrar. */
.__tab-header:hover .__tab-header-close-btn-cnt {
	cursor: pointer;
	background: rgb(51, 49, 49);
}

/* Evento hover de la pestaña seleccionando al texto (imagen) del boton cerrar. */
.__tab-header:hover .__tab-header-close-btn {
	color: #fff;
}

/* Cuerpo de trabajo de una pestaña. */
.__tab-body {
	width: 100%;
	height: 100%;
	overflow-x: hidden;
	overflow-y: hidden;
}

/* Caracteristicas de la pestaña que se encuentra activa. */
.__tab-active {
	background-color: #2A5D84;
}

/* Caracteristicas del texto de la pestaña que se encuentra activa. */
.__tab-active span {
	color: #fff;
}

/* Evento hover de la pestaña cuando esta seleccionada. */
.__tab-active:hover {
	background-color: #2A5D84;
}

/* --------------------------------- */
/* Dialogo de busqueda de registros. */
/* --------------------------------- */
.dialogSearchMainContainer {
	background-color: #fff;
}

.dialogSearchTitleBox {
	background-color: steelblue;
	padding: 5px 10px;
}

.dialogSearchTitleText {
	color: #fff;
}

.dialog-search-txb-search {
	width: 420px;
}

.dialogSearchBtnOk, .dialogSearchBtnCancel {
	width: 80px;
}

/* ------------------------------- */
/* Dialogo de seleccion de iconos. */
/* ------------------------------- */
.iconFilterMainCnt {
	display: flex;
	justify-content: space-between;
}

.txbIconFilter {
	width: 300px;
}

.dialogSelectIconPanel {
	display: flex;
	flex-wrap: wrap;
	width: 571px;
	height: 300px;
	border: 1px solid #ddd;
	overflow-y: scroll;
}

.dialogSelectIconBox {
	width: 50px;
	height: 50px;
	padding: 10px;
}

.dialogSelectIconBox > span {
	font-size: 28px;
}

.dialogSelectIconBox:hover {
	cursor: pointer;
	background-color: rgba(0, 0, 0, 0.2);
}

/* .dialogSelectIconBox:hover > span {
	color: #fff;
} */

.dialogSelectIconButtons {
	margin-top: 10px;
	display: flex;
	justify-content: flex-end;
}

.dialogSelectIconButtons > button {
	width: 80px;
}

.dialogSelectIconBoxSelected {
	background-color: dodgerblue;
}

.dialogSelectIconBoxSelected > span {
	color: #fff;
}

.dialogSelectIconBoxSelected:hover {
	background-color: dodgerblue;
}

.dialogSelectIconBoxSelected:hover > span {
	color: #fff;
}
