a img {
	border: none;
}

.hidden {
	display: none;
}

.wide {
	width: 100%;
}

.b {
	font-weight: bold;
}

.i {
	font-style: italic;
}

.c {
	text-align: center;
}

.l {
	text-align: left;
}

.r {
	text-align: right;
}

.vt,
.vt td {
	vertical-align: top;
}

.vm,
.vm td {
	vertical-align: middle;
}

.vb,
.vb td {
	vertical-align: bottom;
}

.ma {
	margin: 0 auto;
}

.edit {
	float: right;
	position: relative;
	top: 4px;
	opacity: 0.25;
	z-index: 100;
}

.edit:hover {
	opacity: 1;
}

/* Clearfix */

.cfx::after {
	content: '';
	display: table;
	clear: both;
}

/* Anti-clear fix */

.act {
	display: table;
	width: 100%;
}

/* Notice */

div.notice {
	margin-top: 16px;
	padding: 6px;
}

/* Content */

h1,
h2,
h3,
h4,
.clear {
	clear: both;
}

.article table {
	margin: 0 auto;
}

.article td,
.article th {
	padding: 0 2px;
}

.article table.xp td,
.article table.xp th {
	padding: 2px 4px;
}

.article div.hr,
.article div.dl {
	margin: 8px 0;
	font-size: 1px;
	clear: both;
}

div.thr {
	margin: 2px 0px;
	padding-top: 0px;
}

div.toc {
	margin: 1em 0;
	padding: 6px;
	border: 1px solid #CCCCCC;
}

/* Content: Aux */

.article img {
	max-width: 100%;
	height: auto;
	margin: 3px 6px;
}

.article img.bc {
	display: block;
	margin: 1em auto;
}

.article img.fl {
	float: left;
	margin-left: 0;
}

.article img.fr {
	float: right;
	margin-right: 0;
}

.article img.fx {
	margin: 0;
}

.article ul.lic,
.article ul.lic li,
.article ul.lix,
.article ul.lix li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.article ul.lic {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.article ul.lic li {
	display: table;
}

.article ul.lic li em {
	display: table-caption;
	caption-side: bottom;
	margin-top: -3px;
	padding: 0 6px 10px;
	font-size: 13px;
	line-height: 17px;
	text-align: center;
}

.article ul.lic li::before,
.article ul.lix li::before {
	display: none;
}

div.of-wrap {
	overflow-x: auto;
}

.pbs,
div.pbfl,
div.pbfr {
	margin: 3px 0;
	font-size: 12px;
	font-style: italic;
	text-align: center;
}

.pbs img,
div.pbfl img,
div.pbfr img {
	margin: 0;
}

div.pbfl {
	float: left;
	margin-right: 7px;
}

div.pbfr {
	float: right;
	margin-left: 7px;
}

table.sb,
table.sb td,
table.sb th {
	border-collapse: collapse;
}

table.sb td,
table.sb th {
	padding: 1px 5px 3px;
}

div.thr {
	border-top: 1px dashed #CCCCCC;
}

div.toc {
	background: #F8F8F8;
}

.article .lxm li {
	margin: 6px 0;
}

/* Content: Hint */

.hint > div {
	display: none;
}

/* Content: Sitemap */

.article .sitemap img {
	margin: 0;
	vertical-align: middle;
}

/* Content: Files */

.article ul.files,
.article ul.files li {
	margin: 0;
	padding: 0;
	list-style: none;
	background: none;
}

.article ul.files li {
	margin-top: 4px;
}

.article ul.files li::before {
	display: none;
}

.article td.files {
	padding-top: 4px;
}

.article .files img {
	vertical-align: middle;
}

.article .files .fdate {
	padding-left: 29px;
	position: relative;
	top: -2px;
	font-style: italic;
}

/* Columns */

.cg3x {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	margin: 0 -6px;
}

.cg3x > * {
	width: 320px;
	margin: 6px;
}

.cg3x > .filler {
	margin: 0 6px;
}

@media (max-width:1009px) and (min-width:770px), (max-width:679px) and (min-width:520px) {

	.cg3x {
		justify-content: space-around;
	}

	.cg3x > *,
	.cg3x > * > a > img {
		width: 240px;
		background-size: 240px auto !important;
	}

}

@media (max-width:519px) {

	.cg3x {
		justify-content: center;
	}

}

/* Misc */

.viwi {
	border-radius: 10px;
}

#fader {
	background: #808080;
	opacity: 0.95;
	filter: alpha(opacity=95);
}

/* Footer */

#footer p {
	margin: 0;
}

#social a {
	display: inline-block;
	width: 32px;
	height: 32px;
	background: url(../images/social-b.png?a) no-repeat #D0E1F0;
	background-size: auto 32px;
	border-radius: 4px;
	transition: background-color .15s ease-out 0s;
}

#social a:hover {
	background-color: #FFFFFF;
}

/* ---- Screen View ---- */

@media screen {

	/* Global */

	html,
	body {
		width: 100%;
		height: 100%;
		margin: 0;
		padding: 0;
	}

	body {
		background: #FFFFFF;
		color: #202020;
		font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
	}

	acronym {
		cursor: help;
		text-decoration: none;
		border-bottom: 1px dotted #000000;
	}

	/* Hidden blocks */

	div.hl ul,
	div.hl ol,
	div.hl table,
	div.hl p,
	li.hl ul {
		display: none;
	}

	a.hl {
		font-style: italic;
		text-decoration: none;
	}

	a.hl span {
		text-decoration: underline;
	}

	/* H+C Wrap | S+C Wrap */

	body {
		display: flex;
		flex-direction: column;
	}

	#hcw {
		flex: 1 0 auto;
	}

	#footer {
		flex-shrink: 0;
	}

	.mawi {
		max-width: 1080px;
		min-width: 900px;
		margin: 0 auto;
	}

	/* Header */

	#title {
		display: block;
		height: 120px;
		margin-left: 12px;
		padding-left: 112px;
		background: url(../images/top-logo.png) no-repeat 0 10px;
		background-size: 100px 300px;
		text-decoration: none;
	}

	#title p,
	#hd-right p {
		margin: 0;
	}

	#menu #mx-show #msm {
		display: none;
	}

	/* Footer */

	#footer {
		line-height: 1.4em;
	}

	#ovft-qap > div {
		display: flex;
		flex-wrap: wrap;
	}

	#ovft-qap div div {
		flex: 1 0 180px;
		margin: 0 12px;
	}

	#mpft > ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 4px 6px;
	}

	#mpft > ul > li {
		flex: 0 0 200px;
		padding: 4px 6px;
	}

	#mpft > ul > li:first-child {
		flex-basis: 220px;
	}

	#mpft > ul > li:last-child {
		text-align: right;
	}

	#social {
		height: 42px;
		padding-top: 4px !important;
		font-size: 0;
		line-height: 0;
	}

	#social li {
		display: inline-block;
		padding-left: 6px !important;
	}

	#ofnt {
		text-align: center;
	}

}

/* ---- Print View ---- */

@media print {

	/* Global */

	body {
		background: #FFFFFF;
	}

	a {
		color: #000000;
	}

	.noprint,
	.edit,
	#header,
	#bcn,
	#submenu,
	#social,
	#ofnt {
		display: none;
	}

	/* Misc */

	.news-list,
	.news-list li,
	#home-notices,
	#home-notices li,
	#footer ul,
	#footer ul li {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	div.notice {
		border: 1px solid #808080;
	}

	/* Content */

	h1 {
		font-size: 1.5em;
	}

	h2 {
		font-size: 1.1em;
	}

	h3,
	h4 {
		font-size: 1em;
	}

	.article div.hr,
	.article div.dl {
		height: 1px;
		border: 1px solid #808080;
	}

	table.sb,
	table.sb td,
	table.sb th {
		border: 1px solid #000000;
	}

	/* Bottom */

	#footer {
		padding-top: .2em;
		border-top: 1px solid #808080;
		font-size: .8em;
	}

}
