/**
 * TablePress Responsive Tables CSS
 *
 * @package TablePress
 * @subpackage Responsive Tables Extension
 * @author Tobias Bäthge
 * @since 1.0
 */

/* scroll mode */

.tablepress-scroll-wrapper {
	overflow-x: auto;
	overflow-y: hidden;
}

/* stack mode */

@media (max-width: 767px) {
	.tablepress-responsive-stack-phone thead {
		display: none;
	}
	.tablepress-responsive-stack-phone tbody td {
		display: block;
		text-align: center;
		border-top: none;
	}
	.tablepress-responsive-stack-phone tbody td:first-child {
		border-top: 1px solid #dddddd;
	}
}

@media (max-width: 979px) {
	.tablepress-responsive-stack-tablet thead {
		display: none;
	}
	.tablepress-responsive-stack-tablet tbody td {
		display: block;
		text-align: center;
		border-top: none;
	}
	.tablepress-responsive-stack-tablet tbody td:first-child {
		border-top: 1px solid #dddddd;
	}
}

@media (max-width: 1199px) {
	.tablepress-responsive-stack-desktop thead {
		display: none;
	}
	.tablepress-responsive-stack-desktop tbody td {
		display: block;
		text-align: center;
		border-top: none;
	}
	.tablepress-responsive-stack-desktop tbody td:first-child {
		border-top: 1px solid #dddddd;
	}
}

.tablepress-responsive-stack-all thead {
	display: none;
}
.tablepress-responsive-stack-all tbody td {
	display: block;
	text-align: center;
	border-top: none;
}
.tablepress-responsive-stack-all tbody td:first-child {
	border-top: 1px solid #dddddd;
}

/* flip mode */

@media (max-width: 767px) {
	.tablepress-responsive-phone { display: block; }
	.tablepress-responsive-phone thead { display: block; float: left; }
	.tablepress-rtl.tablepress-responsive-phone thead { float: right; }
	.tablepress-responsive-phone tfoot { display: none; }
	.tablepress-responsive-phone tbody { display: block; width: auto; position: relative; overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; }
	.tablepress-responsive-phone thead tr,
	.tablepress-responsive-phone thead th,
	.tablepress-responsive-phone tbody td { display: block; border: none; }
	.tablepress-responsive-phone tbody td:empty:before { content: "\00a0"; } /* &nbsp; in empty cells, to prevent weird width/height issues */
	.tablepress-responsive-phone tbody tr { display: inline-block; vertical-align: top; }
	.tablepress-responsive-phone thead th { width: auto !important; }
	.tablepress-responsive-phone thead tr th:not(:last-child) { border-bottom: 1px solid transparent; }
	.tablepress-responsive-phone tbody tr td:not(:last-child) { border-bottom: 1px solid #dddddd; }
	.dataTables_wrapper .tablepress-responsive-phone .sorting:after { transform: rotate(90deg); padding: 0; }
	.dataTables_wrapper .tablepress-responsive-phone .sorting_asc:after { content: "\f0d9"; padding: 0 2px 0 0; }
	.dataTables_wrapper .tablepress-responsive-phone .sorting_desc:after { content: "\f0dA"; padding: 0 1px 0 0; }
}

@media (max-width: 979px) {
	.tablepress-responsive-tablet { display: block; }
	.tablepress-responsive-tablet thead { display: block; float: left; }
	.tablepress-rtl.tablepress-responsive-tablet thead { float: right; }
	.tablepress-responsive-tablet tfoot { display: none; }
	.tablepress-responsive-tablet tbody { display: block; width: auto; position: relative; overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; }
	.tablepress-responsive-tablet thead tr,
	.tablepress-responsive-tablet thead th,
	.tablepress-responsive-tablet tbody td { display: block; border: none; }
	.tablepress-responsive-tablet tbody tr { display: inline-block; vertical-align: top; }
	.tablepress-responsive-tablet thead th { width: auto !important; }
	.tablepress-responsive-tablet tbody td:empty:before { content: "\00a0"; } /* &nbsp; in empty cells, to prevent weird width/height issues */
	.tablepress-responsive-tablet thead tr th:not(:last-child) { border-bottom: 1px solid transparent; }
	.tablepress-responsive-tablet tbody tr td:not(:last-child) { border-bottom: 1px solid #dddddd; }
	.dataTables_wrapper .tablepress-responsive-tablet .sorting:after { transform: rotate(90deg); padding: 0; }
	.dataTables_wrapper .tablepress-responsive-tablet .sorting_asc:after { content: "\f0d9"; padding: 0 2px 0 0; }
	.dataTables_wrapper .tablepress-responsive-tablet .sorting_desc:after { content: "\f0dA"; padding: 0 1px 0 0; }
}

@media (max-width: 1199px) {
	.tablepress-responsive-desktop { display: block; }
	.tablepress-responsive-desktop thead { display: block; float: left; }
	.tablepress-rtl.tablepress-responsive-desktop thead { float: right; }
	.tablepress-responsive-desktop tfoot { display: none; }
	.tablepress-responsive-desktop tbody { display: block; width: auto; position: relative; overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; }
	.tablepress-responsive-desktop thead tr,
	.tablepress-responsive-desktop thead th,
	.tablepress-responsive-desktop tbody td { display: block; border: none; }
	.tablepress-responsive-desktop tbody td:empty:before { content: "\00a0"; } /* &nbsp; in empty cells, to prevent weird width/height issues */
	.tablepress-responsive-desktop tbody tr { display: inline-block; vertical-align: top; }
	.tablepress-responsive-desktop thead th { width: auto !important; }
	.tablepress-responsive-desktop thead tr th:not(:last-child) { border-bottom: 1px solid transparent; }
	.tablepress-responsive-desktop tbody tr td:not(:last-child) { border-bottom: 1px solid #dddddd; }
	.dataTables_wrapper .tablepress-responsive-desktop .sorting:after { transform: rotate(90deg); padding: 0; }
	.dataTables_wrapper .tablepress-responsive-desktop .sorting_asc:after { content: "\f0d9"; padding: 0 2px 0 0; }
	.dataTables_wrapper .tablepress-responsive-desktop .sorting_desc:after { content: "\f0dA"; padding: 0 1px 0 0; }
}

.tablepress-responsive-all { display: block; }
.tablepress-responsive-all thead { display: block; float: left; }
.tablepress-rtl.tablepress-responsive-all thead { float: right; }
.tablepress-responsive-all tfoot { display: none; }
.tablepress-responsive-all tbody { display: block; width: auto; position: relative; overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; }
.tablepress-responsive-all thead tr,
.tablepress-responsive-all thead th,
.tablepress-responsive-all tbody td { display: block; border: none; }
.tablepress-responsive-all tbody td:empty:before { content: "\00a0"; } /* &nbsp; in empty cells, to prevent weird width/height issues */
.tablepress-responsive-all tbody tr { display: inline-block; vertical-align: top; }
.tablepress-responsive-all thead th { width: auto !important; }
.tablepress-responsive-all thead tr th:not(:last-child) { border-bottom: 1px solid transparent; }
.tablepress-responsive-all tbody tr td:not(:last-child) { border-bottom: 1px solid #dddddd; }
.dataTables_wrapper .tablepress-responsive-all .sorting:after { transform: rotate(90deg); padding: 0; }
.dataTables_wrapper .tablepress-responsive-all .sorting_asc:after { content: "\f0d9"; padding: 0 2px 0 0; }
.dataTables_wrapper .tablepress-responsive-all .sorting_desc:after { content: "\f0dA"; padding: 0 1px 0 0; }

/* collapse mode */

table.dataTable.dtr-inline.collapsed > tbody > tr > td.child,
table.dataTable.dtr-inline.collapsed > tbody > tr > th.child,
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dataTables_empty {
	cursor: default !important;
}
table.dataTable.dtr-inline.collapsed > tbody > tr > td.child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr > th.child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dataTables_empty:before {
	display: none !important;
}
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control,
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control {
	position: relative;
	padding-left: 30px;
	cursor: pointer;
}
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control:before,
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control:before {
	top: 8px;
	left: 4px;
	height: 16px;
	width: 16px;
	display: block;
	position: absolute;
	color: white;
	border: 2px solid white;
	border-radius: 16px;
	box-shadow: 0 0 3px #444;
	box-sizing: content-box;
	text-align: center;
	text-indent: 0 !important;
	font-family: "Courier New", Courier, monospace;
	line-height: 16px;
	content: "+";
	background-color: #31b131;
}
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td.dtr-control:before,
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th.dtr-control:before {
	content: "-";
	background-color: #d33333;
}
table.dataTable.dtr-column > tbody > tr > td.dtr-control,
table.dataTable.dtr-column > tbody > tr > th.dtr-control,
table.dataTable.dtr-column > tbody > tr > td.control,
table.dataTable.dtr-column > tbody > tr > th.control {
	position: relative;
	cursor: pointer;
}
table.dataTable.dtr-column > tbody > tr > td.dtr-control:before,
table.dataTable.dtr-column > tbody > tr > th.dtr-control:before,
table.dataTable.dtr-column > tbody > tr > td.control:before,
table.dataTable.dtr-column > tbody > tr > th.control:before {
	top: 50%;
	left: 50%;
	height: 16px;
	width: 16px;
	margin-top: -10px;
	margin-left: -10px;
	display: block;
	position: absolute;
	color: white;
	border: 2px solid white;
	border-radius: 16px;
	box-shadow: 0 0 3px #444;
	box-sizing: content-box;
	text-align: center;
	text-indent: 0 !important;
	font-family: "Courier New", Courier, monospace;
	line-height: 16px;
	content: "+";
	background-color: #31b131;
}
table.dataTable.dtr-column > tbody > tr.parent td.dtr-control:before,
table.dataTable.dtr-column > tbody > tr.parent th.dtr-control:before,
table.dataTable.dtr-column > tbody > tr.parent td.control:before,
table.dataTable.dtr-column > tbody > tr.parent th.control:before {
	content: "-";
	background-color: #d33333;
}
table.dataTable > tbody > tr.child {
	padding: 0.5em 1em;
}
table.dataTable > tbody > tr.child:hover {
	background: transparent !important;
}
table.dataTable > tbody > tr.child ul.dtr-details {
	display: inline-block;
	list-style-type: none;
	margin: 0;
	padding: 0;
}
table.dataTable > tbody > tr.child ul.dtr-details > li {
	border-bottom: 1px solid #efefef;
	padding: 0.5em 0;
}
table.dataTable > tbody > tr.child ul.dtr-details > li:first-child {
	padding-top: 0;
}
table.dataTable > tbody > tr.child ul.dtr-details > li:last-child {
	border-bottom: none;
}
table.dataTable > tbody > tr.child span.dtr-title {
	display: inline-block;
	min-width: 75px;
	font-weight: bold;
}

/* for all modes */

/* width fix */
.dataTables_scroll .tablepress {
	width: 100% !important;
}
/* fix word wrapping */
.tablepress-responsive * {
	word-break: normal;
}
