.oojsplus-data-gridWidget {
	background-color: white;
	position: relative;
	.grid-container {
		padding-bottom: 10px;
		width: 100%;
		overflow-x: auto;
		&.sticky-container {
			.oojsplus-data-gridWidget-header {
				position: relative;
				z-index: 10;
			}
		}
		.oojsplus-data-gridWidget-table {
			min-width: 100%;
			border-collapse: collapse;
			border-spacing: 0;
			.oojsplus-data-gridWidget-row {
				.oojsplus-data-gridWidget-cell {
					padding: 8px 5px;
					.boolean-cell {
						min-width: 20px;
					}
					&.sticky-col {
						background-color: white;
						position: -webkit-sticky;
						position: sticky;
						/* Needed to accommodate the border, padding below increased as to not change the layout */
						left: -2px;
						padding: 10px 5px;
						z-index: 3;
						background-clip: padding-box; /* fix for cell border */
					}
					.oojsplus-data-gridWidget-url-button {
						a { white-space: break-spaces; }
					}
				}
				&.row-selected td {
					background-color: #e3e3e3 !important;
				}
			}

			.oojsplus-data-gridWidget-header {
				tr th {
					.oo-ui-labelElement-label {
						font-weight: normal;
					}
					position: relative;
					border-bottom: 1px solid #e3e3e3;
					border-right: 1px solid #e3e3e3 !important;
					&:last-of-type {
						border-right: none !important;
					}
					.header-button {
						font-size: 1em;
						margin-right: 4px;
						white-space: break-spaces;
						&.filterable {
							margin-right: 23px;
						}
						a {
							white-space: break-spaces;
						}
					}
					.filter-button {
						position: absolute;
						top: 0px;
						height: 100%;
						right: 0;
						a {
							height: 100%;
							vertical-align: middle;
						}
					}
					.ui-resizable-handle {
						right: 0px !important;
					}
				}
			}
			&.style-differentiate-rows {
				.oojsplus-data-gridWidget-row {
					&:nth-child(odd) td {
						background-color: #F0F0F0;
					}
					&.row-selected td {
						background-color: #e3e3e3 !important;
					}
				}
			}
			&.border-all {
				border: 1px solid #e3e3e3 !important;
				th, td {
					border: 1px solid #e3e3e3 !important;
				}
			}
			&.border-vertical {
				th, td {
					border-left: 1px solid #e3e3e3 !important;
					border-right: 1px solid #e3e3e3 !important;
				}
			}
			&.border-horizontal {
				td {
					border-top: 1px solid #e3e3e3 !important;
					border-bottom: 1px solid #e3e3e3 !important;
				}
			}
			.oo-ui-buttonElement.oo-ui-widget-enabled .oo-ui-iconElement-icon {
				opacity: 0.8;
				&.oo-ui-image-progressive {
					opacity: 1;
				}
			}
			> a.oo-ui-buttonElement-button:hover {
				background-color: transparent;
			}
			.oo-ui-buttonElement-frameless a:hover {
				background-color: transparent;
			}
			.oojsplus-data-gridWidget-group-header {
				background-color: #f0f0f0;
				font-weight: bold;
				.oo-ui-horizontalLayout {
					margin-left: 10px;
				}
			}

			.oo-ui-popupWidget-body-padded {
				.oo-ui-checkboxInputWidget .oo-ui-iconElement-icon {
					opacity: 1;
				}
			}
		}
	}

	.grid-loading-overlay {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: #ffffffa3;
		.oo-ui-progressBarWidget {
			margin: auto;
		}
	}
}

.grid-filter-popup-head {
	padding-top: 5px;
	label {
		margin-top: 5px;
	}
	.oo-ui-buttonWidget {
		float: right;
		&.grid-filter-popup-clear {
			margin-right: 10px;
		}
		&.grid-filter-popup-close {
			margin-right: 0;
		}
	}
}

.oojsplus-data-gridWidget-popup-list {
	list-style-type: none;
	margin-left: 0;
}

.grid-col-resizable-helper {
	border-right: 2px solid grey;
	z-index: 10000 !important;
	background-color: rgba(255, 255, 255, 0.55);
}
