table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* Tables; used primarily in AdminCP */
.ipsTable {
	width: 100%;
	border-collapse: collapse;
}

.ipsTable th {
	text-align: left;
	background: rgb( var(--theme-area_background) );
	padding: 15px 20px 15px 10px;
	font-size: {fontsize="small"};
}
html[dir="rtl"] .ipsTable th {
	text-align: right;
	padding: 15px 10px 15px 20px;
}
	
	.ipsTable th a {
		color: inherit;
	}
	
.ipsTable th:not( .ipsMatrixHeader ), .ipsTable td {
	vertical-align: middle;
	white-space: nowrap;
}

	.ipsTable td.ipsTable_wrap, .ipsTable td.ipsMatrix_rowTitle {
		white-space: normal;
		word-wrap: break-word;
		max-width: 500px;
	}

	.ipsTable th.ipsPos_top, .ipsTable td.ipsPos_top {
		vertical-align: top;
	}

.ipsTable td {
	padding: 7px;
	border-bottom: 1px solid rgba(0,0,0,0.01);
}

.ipsTable_zebra tbody tr:nth-child( even ):not(.ipsTable_highlight):not(.ipsModerated) {
	background: rgb( var(--theme-area_background_light) );
}

.ipsTable_zebra.ipsTable td {
	border-bottom: 0;
}
	
.ipsTable tr[data-tableClickTarget]:hover {
	background: rgb( var(--theme-area_background_light) ) !important;
	cursor: pointer;
}
.ipsTable code {
	cursor: text !important;
}
	
.ipsTable_highlight {
	background: rgb( var(--theme-selected) );
}

/* Column sizes */
.ipsTable td.ipsTable_icon {
	width: 65px;
	text-align: center;
}

.ipsTable td.ipsTable_controls {
	width: 120px;
}

/* Sortables */
.ipsTable_sortable {
	position: relative;
}

.ipsTable_sortable:hover {
	background: rgba( var(--theme-text_dark), 0.06 );
	cursor: pointer;
}

	.ipsTable_sortable:hover:after {
		opacity: 0.3;
	}

.ipsTable_sortable a {
	display: block;
	position: relative;
}

.ipsTable_sortIcon {
	display: block;
	position: absolute;
	top: 50%;
	margin-top: -8px;
}
html[dir="ltr"] .ipsTable_sortIcon {
	right: -10px;
}
html[dir="rtl"] .ipsTable_sortIcon {
	right: auto;
	left: -10px;
}

.ipsTable_sortable .ipsTable_sortIcon:after {
	font-family: 'FontAwesome';
	display: block;
	color: rgb( var(--theme-text_dark) );
	opacity: 0.15;
}

.ipsTable_sortable.ipsTable_sortableDesc .ipsTable_sortIcon:after {
	content: '\f0d7';
}

.ipsTable_sortable.ipsTable_sortableAsc .ipsTable_sortIcon:after {
	content: '\f0d8';
}

.ipsTable_sortable.ipsTable_sortableActive {
	background: rgb( var(--theme-area_background_dark) );
	color: #fff;
}

	.ipsTable_sortable.ipsTable_sortableActive .ipsTable_sortIcon:after {
		color: inherit;
		opacity: 1;
	}

/* Matrices */
.ipsTable.ipsMatrix thead th {
	background: rgb( var(--theme-area_background_dark) );
	color: #fff;
	text-align: center;
}

.ipsTable.ipsMatrix .ipsMatrix_subHeader {
	background: rgb( var(--theme-area_background) );
	color: rgb( var(--theme-text_dark) );
	padding: 15px;
	font-size: {fontsize="base"};
	font-weight: normal;
}

.ipsTable.ipsMatrix td {
	padding: 15px;
}

.ipsTable.ipsMatrix .ipsMatrix_error {
	background: rgb( var(--theme-moderated) );
}

.ipsTable.ipsMatrix .ipsButton[data-action] {
	line-height: 18px;
	padding: 0 5px;
	font-size: {fontsize="x_small"};
}

.ipsTable.ipsMatrix .ipsMatrix_highlighted {
	background: rgb( var(--theme-selected) );
}