body.loading {
	overflow: hidden;
}

body.loading .loading {
	display: block;
}

.dropdown-menu {
	max-height: 90vh;
    overflow-y: auto;
}

.loading {
	display: none;
	position: fixed;
	z-index: 9999999;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: rgba(255, 255, 255, .7) url('../img/loading_bar.gif') 50% 50% no-repeat;
}

.modal:not([uib-modal-window]) {
	z-index: 1049; /* Plain JS modals must go below AngularJS modals */
}

.table-responsive {
	width: 100%;
	margin-bottom: 15px;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: -ms-autohiding-scrollbar;
	border: 1px solid 000000;
}

table.table thead .sorting,
table.table thead .sorting_asc,
table.table thead .sorting_desc,
table.table thead .sorting_asc_disabled,
table.table thead .sorting_desc_disabled {
	cursor: pointer;
	*cursor: hand;
}

table.table thead .sorting {
	background: url('../img/sort_both.png') no-repeat center right;
}
table.table thead .sorting_asc {
	background: url('../img/sort_asc.png') no-repeat center right;
}
table.table thead .sorting_desc {
	background: url('../img/sort_desc.png') no-repeat center right;
}

table.table thead .sorting_asc_disabled {
	background: url('../img/sort_asc_disabled.png') no-repeat center right;
}
table.table thead .sorting_desc_disabled {
	background: url('../img/sort_desc_disabled.png') no-repeat center right;
}

.qrCode {
	vertical-align: bottom;
}

.selectedRow {
	background: lightblue;
}

.mobileDownloadDescription {
	text-align: center;
}

.mobileDownloadLink {
	text-align: center;
	padding-top: 2em;
}

.clickable {
	cursor: pointer;
	/*Prevent selection*/
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.help-element {
	cursor: help;
}

.draggable {
	cursor: move;
}

.control-label-right {
	float: right;
	font-style: italic;
}

.scrollable {
	overflow: auto;
}

.center-contents-horizontally {
	text-align: center;
}

.align-contents-to-the-right {
	text-align: right;
}

.maximized {
	position: absolute;
    top: 100px; /* Helps making the element not cover the navigation bars */
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
}

/* Encabezados de tablas sticky */
table.sticky-header,
table.sticky-left-col {
	position: relative;
	border-collapse: collapse;
}

table.sticky-header thead td,
table.sticky-header thead th {
    background: white;
    text-align: center;
    vertical-align: middle;
    position: sticky;
    z-index: 10;
    top: 37px;
    box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.4);
}

.scrollable table.sticky-header thead td,
.scrollable table.sticky-header thead th {
	top: 0;
}

.scrollable.table-report-container { /* Allow sticky headers to keep working */
	height: 100%;
	max-height: 650px;
}

table.sticky-left-col thead tr:nth-child(1) td:nth-child(1),
table.sticky-left-col thead tr:nth-child(1) th:nth-child(1) {
    z-index: 11;
    box-shadow: 1px 2px 2px -1px rgba(0, 0, 0, 0.4);
}

table.sticky-left-col td:nth-child(1),
table.sticky-left-col th:nth-child(1) {
    background: white;
    text-align: center;
    vertical-align: middle;
    position: sticky;
    z-index: 5;
    left: 0;
    box-shadow: 1px 2px 2px -1px rgba(0, 0, 0, 0.4);
}

/* Otras herramientas de tablas */
td.centered-cell {
	text-align: center;
}

/* Parent/child rows (Expandible rows) */
table.table-striped tbody tr[data-parent-row-id] td,
table.table-striped tbody tr[data-parent-row-id] th {
    background-color: #f1f1f1;
}

tr[data-children-row-id] td:first-child {
    padding-left: 2rem;
}

tr[data-parent-row-id] th:nth-child(n+2),
tr[data-children-row-id] td:nth-child(n+2) {
    text-align: center;
}

/* Sortable tables */
table .sorter {
	cursor: pointer;	
}

/* Multi select inputs */
.report-multi-select-label .control-label {
    width: 80%;
}

.report-multi-select-label .multiple-choice-toggle {
    float: right;
    text-align: right;
    margin-left: 1rem;
}

.report-multi-select-label .multiple-choice-toggle * {
    display: inline;
    margin: 0;
}

/* UIBootstrap modals */
.uibootstrap-modal-lg { /* Fix for size prop not working */
	width: 900px;
	margin-left: -450px;
}
.uibootstrap-modal-sm { /* Fix for size prop not working */
	width: 400px;
	margin-left: -200px;
}
.uibootstrap-modal-fs { /* Fix for size prop not working */
	width: 100vw;
    margin-left: -50vw;
    height: 100vh;
    margin-top: -50vh;
}

/* UIBootrstrap tooltips */
.tooltip-button[disabled],
.tooltip-button button[disabled] { /* Fix tooltips not showing on disabled buttons */
    pointer-events: none;
}

/* UIBootstrap datepicker */
.sr-only { /* Remove "previous" and "next" labels */
	display: none;
}

.dndDraggingSource {
	opacity: 0.5;
	display: none;
}


[dnd-list] [dnd-draggable].ng-enter
{ 
	-webkit-transition: 500ms cubic-bezier(0.250, 0.250, 0.750, 0.750) all;
	-moz-transition: 500ms cubic-bezier(0.250, 0.250, 0.750, 0.750) all;
	-ms-transition: 500ms cubic-bezier(0.250, 0.250, 0.750, 0.750) all;
	-o-transition: 500ms cubic-bezier(0.250, 0.250, 0.750, 0.750) all;
	transition: 500ms cubic-bezier(0.250, 0.250, 0.750, 0.750) all;
} 

[dnd-list] [dnd-draggable].ng-leave.animate.ng-leave-active {
	display: none !important;
}
[dnd-list] [dnd-draggable].ng-enter {
	opacity: 0;
}

[dnd-list] [dnd-draggable].ng-enter.ng-enter-active, 
[dnd-list] [dnd-draggable].ng-leave {
	opacity: 1;
}

[dnd-handle]:hover {
	cursor: move;	
}

app-report-filters-form .main-form.standard-validated-form .form-field-error-message-container {
	color: maroon;
}

app-report-filters-form .main-form.standard-validated-form input:focus:not([class*="ng-pristine"]).ng-invalid {
    border-color: yellow;
    outline-color: yellow;
}
app-report-filters-form .main-form.standard-validated-form :not([class*="ng-untouched"]):not([class*="ng-pristine"]).ng-invalid {
    border-color: red;
    outline-color: red;
}

app-report-filters-form .main-form.standard-validated-form :not([class*="ng-untouched"]).ng-valid {
    border-color: green;
    outline-color: green;
}

app-report-filters-form .main-form.standard-validated-form .required-label-container {
	color: red;
	font-weight: bold;
}


tr.selected,
.table-striped tbody tr.selected:nth-child(odd) td, /* Bootstrap override */
.table-striped tbody tr.selected:nth-child(odd) th /* Bootstrap override */ {
	background-color: lightgray;
}
.table-hover tbody tr.selected:hover td,
.table-hover tbody tr.selected:hover th { /* Bootstrap override */
  	background-color: #f5f5f5;
}
table.sticky-left-col tr.selected td:nth-child(1),
table.sticky-left-col tr.selected th:nth-child(1) { /* common.css override */
	background-color: lightgray;
}