  .hide { display:none;}

b { font-weight:bold; }
.rt { float:right; }
.b1 { border:1px solid #DDD; }
.mx1 { margin:0 1rem; }
.my1 { margin:1rem 0; }
.mb1 { margin:1rem; }
.mr1 { margin-right:1rem !important}
.pr1 { padding-right:1rem !important; }
.pl1 { padding-left:1rem !important; }
.px1 { padding:0 1rem; }
.py1 { padding:1rem 0; }
.pb1 { padding:1rem; }
.flex { display:flex; }
.wrap { flex-wrap:wrap; }
.flex-thirds { flex:1 0 30%; }
.bd-r { border-right:1px solid #DDD; }
.row { display:flex; margin:1rem auto; padding:1rem 0; justify-content: space-between;align-items:flex-start;}
@media only screen and (max-width: 800px) {
	.row {flex-direction:column;}
}

div#mid_2 > div
{
	margin-bottom: 2rem;
}

.row div.contentBlock
{
	padding-right:1rem;
	flex:2;
}
.row > .special
{
	flex:1;
}

.row:not(:last-child)
{
	border-bottom:1px #DDD solid;
}

.row h4
{
	padding:0 !important;
}

div.content > p.button
{
	margin:1rem auto;
}
div.content > p.button > a
{
	padding:1rem;
	background:#639;
	color:#FFF !important;
	text-decoration:none;
	font-weight:bold;
}

div.row > div.content-image
{
	flex:1;
}
div.row > div.content
{
	flex:2;
}

div#body
{
	display:flex;
	margin-top:1em;
}

div#body > div#middle
{
	display:flex;
}

img.article_image
{
	float:left;
	margin:0 1em 1em 0;
}

@media only screen and (max-width: 640px) {
	div#body, div#body > div#middle
	{
		flex-direction:column;
	}
}

@media only screen and (min-width: 640px) {
	div#body > div#middle
	{
		flex-wrap:wrap;
	}
	
	div#body > div#middle, div#body > div#event_text
	{
		flex:2;
	}

	div#body > div#left
	{
		flex:1;
		min-width:280px;
		margin-right:5em;
	}

}

@media only screen and (min-width: 1024px) {
	div#body, div#body > div#middle, div#body > div#middle_full
	{
		flex-wrap:nowrap;
	}
	div#body > div#middle > div#mid_1
	{
		flex:2;
		margin-right:5em;
	}
	div#body > div#middle > div#mid_2
	{
		flex:1;
	}
	div#body > div#middle_full
	{
		flex:2;
	}
}