body.cke_editable{
	margin: 10px;
}

h1, h2, h3, h4, h5, h6{
	font-weight: bold;
}

main#centrerightcolumn h2,
.cke_editable h2{
	margin-top: 30px
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child
{
	margin-top: 0;
}

p, ul{
}

main strong,
.cke_editable strong{
	font-weight: 600;
}

p:first-child, .media-group p:first-of-type{
	margin-top: 0;
}

figure{
        margin: 0;
        padding: 0;
}

h1{
	color: #ce1010;
}

.intro h1{
	margin-top: 0;
}

ul, ol{
	padding-top: 0;
	padding-bottom: 0;
	overflow: hidden;
}

ol{
	list-style: decimal;
}

main li, .cke_editable li{
	margin-bottom: 0.5em;
}

.media-group{
	display: table;
}

figure,
.media,
.media-left,
.media-right,
.media-overflow{
	display: table-cell;
	text-align: center;
	vertical-align: top;
	max-width: 100%;
}

.media-center{
	float: left;
	width: 100%;	
}

figure > *,
.media > *,
.media-left > *,
.media-right > *{
	max-width: 100%;
}

.media-overflow{
	display: block;
	overflow: auto;	
	width: 100%;
}

main img{
	max-width: 100%;
}

main td img{
	max-width: max-content;
}

main > div > img,
main > img,
p > img,
figure > img,
.media img,
.media-left img,
.media-right img{
	height: auto !important;
	max-width: 100% !important;
}

.media-left{
	float: left;
	margin-right: 15px;
}

.media-right{
	float: right;
	margin-left: 15px;
}

.media-left, .media-right{
	margin-bottom: 15px;
	max-width: 50%;
}

.media-mid{
	margin-top: 15px;
}

.media-group .media, .media-group .media-text{
	padding-bottom: 15px;
	padding-right: 15px;
}

.media-text{
	min-width
}

figcaption{
	margin-top: 0.5em;
	color: #444;
	font-size: 12px;
}

main .news .media{
	text-align: left;
}

main .news .media img,
.media img,
.media-left img,
.media-right img,
figure.media
{
	border: 1px solid #ccc;
	padding: 4px;
}

figure.media img{
	padding: 0;
	border: none;
}

figure.media{
	margin-bottom: 10px;
}

.back-link{
	float: right;
	font-weight: bold;
}

.table-container{
	overflow: auto;
	max-width: 100%;
	border: 1px solid;
	display: inline-block;
}

.table-container.listing{
	border:none;
}

.table-container.noborder{
	border: none;
}

.table-container.fields{
	border: none;
}

.table-container .table > tbody > tr:first-child > td,
.table-container .table > tbody > tr:first-child > th
{
	border-top: none;
}

table{
	border-collapse: collapse;
	max-width: 100%;
}

.table-container table{
	max-width: none;
}

th, td{
	padding: 4px 5px;
	text-align: left;
}
td{
	vertical-align: top;
}

table.info td{
	border: 1px solid #ddd;
}

table.info tr:first-child td{
	border-top: 1px solid #ddd;
}
table.info tr:last-child td{
	border-bottom: 1px solid #ddd;
}
table.info tr td:first-child{
	border-left: 1px solid #ddd;
}
table.info tr td:last-child{
	border-right: 1px solid #ddd;
}
.table-container table.info tr:first-child td{
	border-top: none;
}
.table-container table.info tr:last-child td{
	border-bottom: none;
}
.table-container table.info tr td:first-child{
	border-left: none;
}
.table-container table.info tr td:last-child{
	border-right: none;
}

table.info th, table.listing th, table.standard th{
	background-color: #65af33; /*#ccc #d50000;*/
	color: #fff; /*#000 #fff;*/
	font-weight: 600;
}

table.listing, table.standard{
	width: 100%;
}

.table-container.listing{
	width: 100%;
}

.listing tr:nth-of-type(2n+1),
.listing tr:nth-of-type(2n+1) td
.standard tr:nth-of-type(2n+1),
.standard tr:nth-of-type(2n+1) td
{
	background-color: #ecf1e9; /*#f0f0f0*/
}
.listing tr:nth-of-type(2n),
.listing tr:nth-of-type(2n) td
.standard tr:nth-of-type(2n),
.standard tr:nth-of-type(2n) td
{
	background-color: #fff;
}

table.full{
	width: 100%;
}

table.definitions{
	table-layout: fixed;
}

table.definitions tr.definition-heading td, table.definitions tr.jargonHead td{
	padding-top: 30px;
	color: #ce1010;
}
table.definitions tr:first-of-type.definition-heading td, table.definitions tr:first-of-type.jargonHead td{
	padding-top: 0;
}
table.definitions tr.definition-heading td:last-child, table.definitions tr.jargonHead td:last-child{
	text-align: right;
	font-size: 12px;
}

table.fields th, table.fields td{
	padding-left: 0;
	padding-right: 20px;
}
table.fields th, label{
	color: #666;
	font-weight: normal;
}

table.fields th, table.fields td{
	vertical-align: top;
}

table.fields .section-heading{
	text-transform: uppercase;
	font-weight: bold;
	font-size: 12px;
}

hr{
	height: 1px;
	border: none;
	border-top: 1px dotted #00539b;
}

.form_buttons{
	margin: 10px 0;
}

ul.errors{
	color: #d50000;
	font-weight: bold;
}

.person{
	display: inline-block;
	margin-right: 10px;
	border: 1px solid #eee;
	box-shadow: 3px 3px 1px #999;
	margin-bottom: 10px;
}

.person .media img{
	width: 80px;
	padding: 0;
	border: none;
}

.person .media{
	display: table-cell;
	float: none;
	width: 100px;
	height: 140px;
	vertical-align: middle;
	padding: 7px 7px 7px 14px;
}

.person .details{
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	width: 200px;
}

.person p{
	margin: 0;
}

table.standard th a{
	color: #000;
}

.rss-link{
	display: inline-block;
	line-height: 35px;
	background-image: url(../images/rss.svg.35x.png);
	background-repeat: no-repeat;
	background-size: contain;
	padding-left: 42px;
}
.has-svg .rss-link{
	background-image: url('../images/rss.svg');
}

.back-to-top{
	clear: both;
	float: right;
	font-size: 14px;
	display: block;
	width: auto;
}

#alphabet a{
	margin-right: 20px;
	text-transform: uppercase;
}

table.discounts td.divImg{
	width: 150px;
}
table.discounts td.divImg img{
	height: auto !important;
	max-width: 100% !important;
	max-height: 100% !important;
}
table.discounts tr td{
	vertical-align: middle;
	padding-bottom: 20px;
}

table.fields td {
	padding-bottom: 15px;
}

@media (max-width: 480px) {

	.media,
	.media-left,
	.media-right{
		display: block;
		width: auto;
		padding-left: 0;
		padding-right: 0;
		margin-left: 0;
		margin-right: 0;
		float: none !important;
		max-width: 100%;
	}

	.media-left *{
		float: none !important;
	}
	
	table.definitions td{
		display: block;
	}

	table.definitions tr.definition-heading td, table.definitions tr.jargonHead td{
		display: inline-block;
		margin-top: 0;
	}
	table.definitions tr.definition-heading td:last-child, table.definitions tr.jargonHead td:last-child{
		float: right;
	}
	table.collapsible th, table.collapsible td{
		display: block;
		width: 100% !important;
	}
	table.info.collapsible tr > *,
	table.info.collapsible tr td:first-child,
	table.info.collapsible tr td:last-child
	{
		border: 1px solid #000;
		border-bottom: 1px solid #aaa;
		border-top: none;
	}
	table.info.collapsible tr:first-child > td:first-child{
		border-top: 1px solid #000;
	}
	table.info.collapsible tr:last-child > td:last-child{
		border-bottom: 1px solid #000;
	}
}
