table.zptabledata {
    width: 100%;
    border-collapse: collapse;
}
table.zptabledata th,
table.zptabledata td,
table.zpfixed-column th,
table.zpfixed-column td{
    padding: 5px 10px;
    text-align: left;
    vertical-align: top;
}
table.zptabledata.sortable th{
	position: relative;
	cursor: pointer;
	padding-right: 30px;
}
table.zptabledata.sortable th:last-child{
	padding-right: 10px;
}
table.zptabledata.sortable th:after{
	/*content: "⇵";*/
	content: "";
	position: absolute;
	top: 5px;
	right: 15px;
	width: 10px;
	font-weight: normal;
}
table.zptabledata.sortable th.sorted.asc:after{
	content: "↓";
}
table.zptabledata.sortable th.sorted.desc:after{
	content: "↑";
}

table.zptabledata h1:first-child,
table.zptabledata h2:first-child,
table.zptabledata h3:first-child,
table.zptabledata p:first-child,
table.zpfixed-column h1:first-child,
table.zpfixed-column h2:first-child,
table.zpfixed-column h3:first-child,
table.zpfixed-column p:first-child
{
	margin-top: 0;
}
/* zp autowraps content in <p> but margins caused by <p> might not be desired */
table.zptabledata p:last-child,
table.zptabledata p:last-of-type,
table.zpfixed-column p:last-child,
table.zpfixed-column p:last-of-type{
	margin-bottom: 0 !important;
}

@media screen and (min-width: 641px) {
	/* scroll if wide table with many cols exceeds container */
	.zpwTabellarische_Daten{
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}
@media screen and (max-width: 640px) {
	table.zptabledata {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
	}
    table.zptabledata th,
    table.zptabledata td {
        white-space: nowrap;
    }
}