/* mobile first */

main {
	width:100%;
	overflow:hidden;
}

details > summary::after {
	content:'read more \25BC';
	display:block;
	text-align:right;
	font-style:italic;
	font-size:.9rem;
	cursor:pointer;
}

	details[open] > summary::after {
		content:'read less \25C0';
	}

section {
	position:relative;
}
section.padded {
	padding:35px 0;
}
section.padded-top {
	padding:35px 0 0 0;
}
section.padded-bottom {
	padding:0 0 35px 0;
}
section.border-top div.inner {
	border-top:1px dashed #999;
	padding-top:35px;
}
section.centred {
	text-align:center;
}
	section>div.inner {
		box-sizing:border-box;
		margin:0 auto;
		padding-left:10px;
		padding-right:10px;
		position:relative;
	}
		section>div.inner.padded {
			padding:35px 10px;
		}


	/*
	clearfix
	causes problems is div.inner is display:grid;
	*/
	section>div.inner:after {
		content: "";
		display: table;
		clear: both;
	}
		section#menu>div.inner:after {
			content: "";
			display: none;
			clear: both;
		}



section.spacebelow + section.spaceabove {
	margin-top:48px;
}

.box {
	margin:2%;
	box-sizing:border-box;
	position:relative;
	display:block;
}

	.box img {
		max-width:100%;
	}

.cards {
	display:grid;
	grid-gap:1rem;
	padding:1rem;
}

	.card {
		display:grid;
		grid-gap:0;
		grid-template-rows:210px auto auto auto;
		background-color:#fff;
	}

		.card.aspect-4-3 {
			grid-template-rows:auto auto auto;
		}
			.card.aspect-4-3>*:first-child {
				padding-top:75%;
			}

		.card>span {
			background-size:cover;
			background-position:center center;
			background-image: url(/userfiles/image/Initial/p2500369c.jpg);
		}
			.card>span.card_logo {
				background-size:contain;
				background-repeat:no-repeat;
				background-color:#fff;
				border:3rem solid #fff;
			}
		.card>p {
			color:#000;
			padding:19px;
			margin:0 !important;
			font-size:22px;
		}
		.card:hover {
			text-decoration:none;
			background-color:#eee;
		}

	.card *:nth-child(3),
	.card *:nth-child(4) {
		display:block;
		font-size:.95rem;
		color:#333;
		padding-top:0;
	}

	.card .blockdate {
		padding:19px 0 19px 64px;
		background-image: url(/userfiles/design/date.png);
		background-position:left 20px center;
		background-repeat:no-repeat;
		align-self:end;
	}
	.cards.events .card .blockdate {
		background-image: url(/userfiles/design/time.png);
	}

	.cards+h2 {
		margin-top:1em;
	}

.block_link {
	display:block;
	padding:1rem;
	background:#eaeaea;
}
	.block_link:nth-child(odd) {
		background:#e6e6e6;
	}
	.block_link>span {
		display:block;
		padding-left:2rem;
		font-size:.9em;
	}


#sitemap>div.inner {

}
	#sitemap>div.inner>ul {
		-webkit-column-break-inside: avoid;
		page-break-inside: avoid;
		break-inside: avoid;
	}
		#sitemap>div.inner>ul>li:first-child {
			list-style-type:none;
		}



.avoidbreaking, .avoidbreaking > * {
    -webkit-column-break-inside: avoid; /* Chrome, Safari */
    page-break-inside: avoid;           /* Theoretically FF 20+ */
    break-inside: avoid-column;         /* IE 11 */
    display:table;
}

@media (min-width: 768px) {



	.box {
		margin:0;
	}

	.box.one-half,
	.box.one-third,
	.box.one-quarter {
		float:left;
		width:49%;
		margin-right:2%;
		margin-top:1%;
		margin-bottom:1%;
	}
		.box.one-half:nth-of-type(even),
		.box.one-third:nth-of-type(even),
		.box.one-quarter:nth-of-type(even) {
			margin-right:0;
		}

	.cards {
		grid-template-columns:1fr 1fr;
		padding:0;
	}

	.grid-1-1 {
		display:grid;
		grid-gap:1rem;
		grid-template-columns:1fr 1fr;
	}
	.grid-1-1-1 {
		display:grid;
		grid-gap:1rem;
		grid-template-columns:1fr 1fr 1fr;
	}
	.grid-1-1-1-1 {
		display:grid;
		grid-gap:1rem;
		grid-template-columns:1fr 1fr 1fr 1fr;
	}
	.grid-3-1 {
		display:grid;
		grid-gap:1rem;
		grid-template-columns:3fr 1fr;
	}

}



@media (min-width: 1202px) {

	section>div.inner {
		max-width:1202px;
		padding-left:0;
		padding-right:0;
	}
		section>div.inner.padded {
			padding:35px 0;
		}

	.box.one-half {
		float:left;
		width:48.5%;
		margin-right:3%;
		margin-top:1.5%;
		margin-bottom:1.5%;
	}
		.box.one-half:nth-of-type(even) {
			margin-right:0;
		}

	.box.one-third {
		float:left;
		width:32%;
		margin-right:2%;
		margin-top:1%;
		margin-bottom:1%;
	}

		/* overwrite tablet rule */
		.box.one-third:nth-of-type(even) {
			margin-right:2%;
		}
		.box.one-third:nth-of-type(3n) {
			margin-right:0;
		}

	.box.two-thirds {
		float:left;
		width:66%;
		margin-right:3%;
	}
		.box.two-thirds + .box.one-third {
			margin-right:0;
		}

		.box.one-third + .box.two-thirds {
			margin-right:0;
		}

	.box.one-quarter {
		float:left;
		width:22%;
		margin-right:4%;
		margin-top:2%;
		margin-bottom:2%;
	}
		.box.one-quarter:nth-of-type(even) {
			margin-right:4%;
		}
		.box.one-quarter:nth-of-type(4n) {
			margin-right:0;
		}

	.box.three-quarters {
		float:left;
		width:75%;
		margin-right:3%;
	}
		.box.three-quarters + .box.one-quarter {
			margin-right:0;
		}

		.box.one-quarter + .box.three-quarters {
			margin-right:0;
			width:74%;
		}

	.cards {
		grid-template-columns:1fr 1fr 1fr;
	}
		.cards.people {
			grid-template-columns:1fr 1fr 1fr 1fr 1fr;
		}
		.cards-1-1 {
			grid-template-columns:1fr 1fr;
		}


	.grid {
		display:grid;
		grid-gap:1rem;
	}
		.grid-2-1 {
			grid-template-columns:3fr 1fr;
		}
		.grid-3-1 {
			grid-template-columns:3fr 1fr;
			grid-gap:2rem;
		}
		.grid-4-1 {
			grid-template-columns:4fr 1fr;
		}


	#sitemap>div.inner {
		column-count: 2;
		column-gap: 1rem;
	}

}