@font-face {
	font-family: 'OpenSans';
	src: url('/OpenSans-Regular.woff2') format('woff2');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'OpenSans';
	src: url('/OpenSans-Bold.woff2') format('woff2');
	font-weight: bold;
	font-style: normal;
}
@font-face {
	font-family: 'OpenSans';
	src: url('/OpenSans-Light.woff2') format('woff2');
	font-weight: lighter;
	font-style: normal;
}

@font-face {
	font-family: 'OpenSans';
	src: url('/OpenSans-Italic.woff2') format('woff2');
	font-weight: normal;
	font-style: italic;
}
@font-face {
	font-family: 'OpenSans';
	src: url('/OpenSans-BoldItalic.woff2') format('woff2');
	font-weight: bold;
	font-style: italic;
}
@font-face {
	font-family: 'OpenSans';
	src: url('/OpenSans-LightItalic.woff2') format('woff2');
	font-weight: lighter;
	font-style: italic;
}

html {
	width:100%;
 	box-sizing: border-box;
}

*, *:before, *:after {
 	box-sizing: inherit;
}

body {
	width:100%;
 	background-color:#222;
	padding:0px;
	margin:0px;
	font-family:'OpenSans', sans-serif;
	font-size:medium;
}

.flex-parent {
	display: flex;
	align-items: baseline;
 }

.flex-child {
	flex: auto;
}  

.flex-child:first-child {
	margin-right: 20px;
} 

.right-align {
	text-align: right;
} 

ul {
	list-style:none outside none;
	padding:0px;
}

ul.header {
	list-style:none outside none;
	padding:0px;
	margin:0px;
}

li.header {
	display:inline;
	padding:0px;
	margin:0px;
}

a {
 	color:#b00;
 	font-family:'OpenSans', sans-serif;
 	text-decoration:none;
}
a:link {color:#b00;}
a:visited {color:#b00;}
a:hover {color:#fff; background-color:#b00;}

a.header {
 	font-family:'OpenSans', sans-serif;
	font-weight: bold;
	color:#fff;
	background-color:#000;
	padding:1px 4px 1px 4px;
	margin:0px;
	border:1px solid #fff;
}
a:link.header {color:#fff;}
a:visited.header {color:#fff;}
a:hover.header {color:#fff; background-color:#b00;}

a.header-active {
 	font-family:'OpenSans', sans-serif;
	font-weight: bold;
	color:#b00;
	background-color:#000;
	padding:1px 4px 1px 4px;
	margin:0px;
	border:1px solid #fff;
}

h1 {
	font-family:'OpenSans', sans-serif;
	font-weight: bold;
	font-size:xx-large;
 	margin:0px 0px 0px 0px;
 	padding:0px;
 	color:#000;
}

h2 {
	font-family:'OpenSans', sans-serif;
	font-size:x-large;
	font-weight:bold;
 	padding:0px;
	color:#000;
}

h3 {
	font-family:'OpenSans', sans-serif;
	font-size:large;
	font-weight:bold;
 	padding:0px;
	color:#000;
}

h4 {
	font-family:'OpenSans', sans-serif;
	font-weight:bold;
 	padding:0px;
	color:#000;
}

p {
	font-family:'OpenSans', sans-serif;
	text-align:justify;
 	padding:0px;
}

p.rightaligned {
	text-align:right;
}

div img {
	max-width: 100%;
}

li img {
	max-height:1.5em;
	vertical-align:middle;
}

.socialA:hover {
 	text-decoration:none;
 	background:#fff;
}

.socialI {
	width:32px;
	vertical-align:top;
}

.hundred {
	width:100%;
}

.seventy {
	width:70%;
}

.fortyfive {
	width:45%;
}

iframe.aspect_ratio {
	border-width:0px;
	position:absolute;
	width:100%;
	height:100%;
	left:0;
	top:0;
}

div.aspect_ratio {
	position:relative;
	width:100%;
	height:0;
}

table {
	margin-top:2ex;
 	border:0px solid #b00;
	border-collapse:collapse;
}

th {
 	padding:0ex 1ex;
 	border:1px solid #bbb;
}

td {
 	padding:0ex 1ex;
 	border:1px solid #bbb;
}

td.dashed {
 	padding:0ex 1ex;
 	border:1px dashed #b00;
}

td.media {
 	padding:0ex 1ex;
 	border:0px dashed #b00;
}

tr {
 	padding:0px 0px 0px 0px;
}

dl {
	width:80%;
	overflow:hidden;
	margin-top:0;
}

dt {
	float:left;
	font-weight:bold;
	width:5%;
}

dd {
	float:left;
	font-style:italic;
	width:95%;
	margin:0;
}

.hideable {
	margin-left:2ex;
	border-bottom:1px solid #bbb;
}

.feedrule {
	border-bottom:1px solid #bbb;
}

.ruled {
	border-top:1px solid #bbb;
	padding-bottom:2ex;
}

.grey {
	color:#999;
}

.osc {
	font-weight:bold;
}

pre {
	background-color:#bbb;
	white-space:pre-wrap;       /* CSS3 */
	white-space:-moz-pre-wrap;  /* Mozilla, since 1999 */
	white-space:-pre-wrap;      /* Opera 4-6 */
	white-space:-o-pre-wrap;    /* Opera 7 */
	word-wrap:break-word;       /* IE 5.5+ */
}

.fixed_small {
	width:300px;
}

/* non-responsive fallbacks for IE8 */
.fixed_large {
	width:auto;
	max-width:600px;
}

.content_title {
	position:relative; /* Position is declared "relative" to gain control of stacking order (z-index). */
	width:640px;
	margin:0px auto 0px auto;
	background-color:#fff;
	padding:5px;
}

.content_menu {
	position:-webkit-sticky;
	position:sticky;
	top: 0;
	z-index:9999;
	width:640px;
	margin:0px auto 0px auto;
	background-color:#fff;
	padding:5px;
	border-bottom:4px solid #222;
}

.content {
	position:relative; /* Position is declared "relative" to gain control of stacking order (z-index). */
	width:640px;
	margin:0px auto 0px auto;
	background-color:#fff;
	padding:5px;
}

.announcement {
	position:relative; /* Position is declared "relative" to gain control of stacking order (z-index). */
	width:640px;
	margin:0px auto 0px auto;
	background-color:#fff;
	padding:5px;
}

.donation {
	position:relative; /* Position is declared "relative" to gain control of stacking order (z-index). */
	width:640px;
	margin:0px auto 0px auto;
	background-color:#fff;
	padding:5px;
}

/* responsive definitions for proper browsers */
@media(max-width:320px) {
	.fixed_large {
		width:300px;
	}

	.content_title {
		position:relative; /* Position is declared "relative" to gain control of stacking order (z-index). */
		width:320px;
		margin:0px auto 0px auto;
		background-color:#fff;
		padding:5px;
	}

	.content_menu {
		position:-webkit-sticky;
		position:sticky;
		top: 0;
		z-index:9999;
		width:320px;
		margin:0px auto 0px auto;
		background-color:#fff;
		padding:5px;
		border-bottom:4px solid #222;
	}

	.content {
		position:relative; /* Position is declared "relative" to gain control of stacking order (z-index). */
		width:320px;
		margin:0px auto 0px auto;
		background-color:#fff;
		padding:5px;
		border-bottom:4px solid #222;
	}

	.announcement {
		position:relative; /* Position is declared "relative" to gain control of stacking order (z-index). */
		width:320px;
		margin:0px auto 0px auto;
		background-color:#fff;
		padding:5px;
	}
	
	.donation {
		position:relative; /* Position is declared "relative" to gain control of stacking order (z-index). */
		width:320px;
		margin:0px auto 0px auto;
		background-color:#fff;
		padding:5px;
	}
}

@media(min-width:321px) and (max-width:640px) {
	.fixed_large {
		width:300px;
	}

	.content_title {
		position:relative; /* Position is declared "relative" to gain control of stacking order (z-index). */
		width:100%;
		margin:0px auto 0px auto;
		background-color:#fff;
		padding:5px;
	}

	.content_menu {
		position:-webkit-sticky;
		position:sticky;
		top: 0;
		z-index:9999;
		width:100%;
		margin:0px auto 0px auto;
		background-color:#fff;
		padding:5px;
		border-bottom:4px solid #222;
	}

	.content {
		position:relative; /* Position is declared "relative" to gain control of stacking order (z-index). */
		width:100%;
		margin:0px auto 0px auto;
		background-color:#fff;
		padding:5px;
		border-bottom:4px solid #222;
	}
	
	.announcement {
		position:relative; /* Position is declared "relative" to gain control of stacking order (z-index). */
		width:100%;
		margin:0px auto 0px auto;
		background-color:#fff;
		padding:5px;
	}
	
	.donation {
		position:relative; /* Position is declared "relative" to gain control of stacking order (z-index). */
		width:100%;
		margin:0px auto 0px auto;
		background-color:#fff;
		padding:5px;
	}
}

@media(min-width:641px) {
	.fixed_large {
		width:auto;
	}

	.content_title {
		position:relative; /* Position is declared "relative" to gain control of stacking order (z-index). */
		width:640px;
		margin:0px auto 0px auto;
		background-color:#fff;
		padding:5px;
	}

	.content_menu {
		position:-webkit-sticky;
		position:sticky;
		top: 0;
		z-index:9999;
		width:640px;
		margin:0px auto 0px auto;
		background-color:#fff;
		padding:5px;
		border-bottom:4px solid #222;
	}

	.content {
		position:relative; /* Position is declared "relative" to gain control of stacking order (z-index). */
		width:640px;
		margin:0px auto 0px auto;
		background-color:#fff;
		padding:5px;
		border-bottom:4px solid #222;
	}
}

@media(min-width:1153px) {
	.announcement {
		position:fixed;
		bottom:0px;
		left:0px;
		width:256px;
		background-color:#fff;
		padding:5px;
	}
	
	.donation {
		position:fixed;
		bottom:0px;
		right:0px;
		width:256px;
		background-color:#fff;
		padding:5px;
	}
}
