table {
	margin-top: 1rem;
	border-spacing: 0;
}

table.bottom-caption {
	caption-side: bottom;
}

table.bottom-caption caption {
	padding: 1.5rem 0 0;
}

table caption {
	max-width: 80vw;
	padding-bottom: 1.5rem;
	font: 400 1rem "Lato",sans-serif;
	text-align: left;
}

table h2,table h3,table h4 {
	margin: 0;
}

table td {
	padding: 1rem 1rem 1rem 0.75rem;
	vertical-align: top;
}

table td,table th {
	min-width: 4.5rem;
	border-bottom: 1px solid #ddd;
	font: 400 1rem "Lato",sans-serif;
	line-height: 1.66;
	text-align: left;
}

table td :first-child,table th :first-child {
	margin-top: 0;
}

table td.center,table th.center {
	text-align: center;
}

table td.left,table th.left {
	text-align: left;
}

table td.right,table th.right {
	text-align: right;
}

table td ul:last-child,table th ul:last-child,table td ol:last-child,table th ol:last-child {
	margin-bottom: 0;
}

table th {
	padding: 0.75rem 1rem 0.75rem 0.75rem;
	background: #eee;
}

table tr:last-of-type td {
	border: none;
}

.table-container {
	width: 100%;
    max-width: 85vw;
    overflow-x: auto;
	margin-bottom: 1.5rem;
	padding-bottom: 2rem;
}

.table-container.scroll-right {
	background: url(../img/svg/table-scroll-arrow.svg) no-repeat right bottom;
}

@media (min-width: 450px) {
	.table-container {
    	max-width: 90vw;
		margin: 0;
		padding: 0;
	}
	
	table td,table th {
		padding-right: 1.5rem;
	}
}

@media (min-width: 900px) {
	table {
		margin: 2rem 0;
	}
	
	.table-container {
		max-width: none;
		padding: 0;
		margin: 0;
	}
		
	table td,table th {
		padding-right: 2rem;
	}
}

@media (min-width: 1300px) {
	.table-container {
		max-width: none;
		overflow: visible;
	}	
}