html {
	height:100%;
	background:#ddd linear-gradient(to bottom, rgba(0,0,0,0.17), rgba(0,0,0,0)) fixed; 
	color:#222; font:400 1em/1.4 opensans,sans-serif;
	}
body {max-width:1600px; min-height:100vh; margin:0 auto; padding:0;}
p {margin:1em 0;}
table {border-collapse:collapse; border:none;}
td {vertical-align:top; border:none;}
sup, sub {vertical-align: baseline; position: relative;}
sup {top:-0.4em;} sub {top:0.4em;}
blockquote {margin:0.25em 0 1.75em 4vw; padding:0 2%; line-height:1.5; font-size:0.95em; border-left:solid 1px #999;}
ul, ol {margin-left:0; padding-left:4vw;}
ol.alpha li {list-style-type:lower-alpha;}
ol.roman li {list-style-type:lower-roman;}
code, pre {font:normal 0.9em consolas,"courier new",monospace !important;}

/*** links */
a {text-decoration:none; transition: color 1s;}
p:hover a, li:hover a, table:hover a, section:hover a {text-decoration:underline;}
a:link {color:#369;} a:visited {color:#699;}
a:hover, a:active, a:focus {color:#c33; text-decoration:underline;}

/*** misc */
.hilight {font-size:1.1em; margin:1em 0; border:solid #999; border-width:1px 0; padding:0.5em 4vw;}
.indt {margin-left:40px;}
.lft {text-align:left !important;}
.ctr {text-align:center !important;}
.rt {text-align:right !important;}
.nwr {white-space:nowrap}

/**** header */
header {
	position:relative; padding:20px 4vw; background-color:#399;
	background-image: linear-gradient(to bottom, rgba(17,119,119,1), rgba(17,119,119,0));
	color:#fff;
	}
header h1 {margin:0.7em 0 0.3em; padding:0; font-weight:600; font-size:2.4em;}
header p {margin:0; color:#ddd; font-weight:100; font-size:0.9em;}
header span {font-weight:100;}
header h1, header p {
	display:flex; flex-direction:row; justify-content:space-between; flex-wrap:wrap;
	}
header span {display:block; flex:0 auto;}
header a {color:#eee !important; text-decoration:none;}

/*** generated toc */
#user {margin:0; padding:1em 4vw; background-color:#eee; font-weight:100; text-align:right;}
#user img {margin:0 5px; vertical-align:middle;}
#generated-toc {min-height:20px; padding:10px 4vw 20px; background-color:#f5f5f5; font-size:0.9rem;}
#generated-toc > ul {margin:30px 0; padding:0;}
#generated-toc li {margin-top:0.5em; margin-bottom:0.5em; list-style-type:none; line-height:normal;}
.hidden, #aftertoc {display:none;}

/**** section */
section {margin:0; padding:0 0 4vw; background-color:#fff; overflow:hidden;}
section h2 {margin:0 0 0.5em; padding:2px 4vw; background:#000; color:#fff; font-weight:600; font-size:1.9em;}

/**** article */
article {margin:3em 4vw 1em; padding:0 2vw;}
article h3 {margin:2em 0 1em -2vw; font-size:1.5em; font-weight:600;}
article h4 {margin:2em 0 1em -2vw; font-size:1.2em; font-weight:600;}
article h3+h4 {margin-top:1em;}
article .dn-src {
	min-height:1em; margin:1em -6vw; padding:10px 8vw; font-style:normal; font-size:0.95em; background-color:#ccc;
	background-image: linear-gradient(to left, rgba(255,255,255,0), rgba(255,255,255,0.5) 20%, rgba(255,255,255,0.9));
	}
article li {margin-top:0.5em; margin-bottom:0.5em;}
article p.in-brief::first-line {font-weight:600;}
figure {margin:1.5em 0; text-align:center;}
figure img, figure object {display:inline-block; margin:0 auto; max-width:100%; height:auto;}
figcaption {margin:0.25em 0 1em; font-weight:600; font-size:1.1rem;}
figcaption b {font-weight:700;}
figcaption p {margin:0.25em 0;}
figcaption .fNote {font-size:0.9rem; font-weight:400;}

/* data tables */
table.data {min-width:50%; margin:1em auto 1.5em; border:solid 1px #fff; line-height:normal;}
table.data th, table.data td {border:solid 1px #fff; padding:3px 6px;}
table.data th {color:#fff; background:#888; font-weight:600;}
table.data th a:link, table.data th a:visited {color:#fc0;}
table.data th a:hover, table.data th a:active {color:#ffc;}
table.data td {color:#000; background:#eee;}
table.data td.tUnit, table.data *.tUnit td {color:#fff; background:#888; font-style:italic; text-align:center;}
table.data td.tNote {background:#eee; text-align:left; font-size:0.9em;}
table.data caption {margin:1em auto; font-weight:600; font-size:1.1rem;}
table.data caption b {font-weight:700;}
table.data td.ind2 {padding-left:2em;}
/* centering */
.s1 td:first-child,
.c1 td, .c2 td+td, .c3 td:not(:nth-child(-n+2)),
.e1 td:last-child, .e2 td:nth-last-child(-n+2), .e3 td:nth-last-child(-n+3), .e4 td:nth-last-child(-n+4), .e5 td:nth-last-child(-n+5), .e6 td:nth-last-child(-n+6), .e7 td:nth-last-child(-n+7) {text-align:center;}
.t1 td:last-child, .t2 td:nth-last-child(-n+2) {text-align:left}
/* width */
.w100 {width:100%;} .w90 {width:90%;} .w80 {width:80%;} .w70 {width:70%;} .w60 {width:60%;} .w50 {width:50%;}

/*** short news */
ul.short-news {margin:3em 4vw 1em; padding:0; list-style-type:none;}
ul.short-news li {margin:2em 0; padding:0;}
ul.short-news li:first-line {font-weight:600;}
ul.short-news .dn-src {margin:0.5em 0 1em 4vw; font-style:normal;}

/*** events */
.events dl {margin:3em 4vw 1em; padding:0;}
.events dl dt {margin-top:1.6em; font-weight:600;}
.events dl dd {margin-left:4vw;}
.events dl img {display:inline-block; max-width:100%; height:auto;}
.events h3 {margin:2em 0 0.5em 4vw; font-weight:600; font-size:1.4em;}
.events h3+dl {margin-top:0.25em;}

/*** aside */
aside {margin:1em 0; padding:5px 2vw; background:#f5f5f5;font-size: 0.9em;}
aside b {font-weight:600;}

/*** references */
cite {color:#666; font-size:0.9em; font-style:normal; line-height:normal; vertical-align:top;}
cite.ref-num {color:#999; font-size:0.85em;}
cite a {text-decoration:none; vertical-align:top;}
div.references {overflow:auto;}
div.references p {margin:0.5em 4vw 0.5em; padding-left:4vw; text-indent:-4vw; font-size:0.9em; line-height:1.33;}
#repop {
   position:fixed; top:45px; left:15px; width:360px; background-color:#fff; padding:15px; 
   border:solid 1px #999; box-shadow:3px 3px 12px #888;
   font-size:0.9em; line-height:1.6; overflow:hidden;
}
#repop h1 {margin:-15px -15px 10px; padding:5px 15px; background:#ddd; font-size:1.2em; font-weight:600;}
#repop h1 a {color:#600; text-decoration:none;}
#repop h1 span {float:right;}
#repop h1:hover, #repop h1:hover a {color:#00a; cursor:pointer;}

/**** footer */
footer {
	min-height:90px; padding:30px 4vw; background-color:#eee; font-weight:100; font-size:0.9em;
	display:flex; flex-direction:row; align-items:stretch; flex-wrap:wrap;
	}
footer div.bLogo {margin-right:4vw; flex:0 100px; align-self:center;}
footer div.bLogo a {display:block; width:100px; height:20px; background:transparent url(img/dnlogo.svg) no-repeat 50% 50%; background-size:contain;}
footer div.copy {flex:1 500px;}

@media print {
	html {background-color:#fff; color:#000; font-size:10pt;}
	body {min-width:0; background:#fff}
	header {padding:10px 40px;}
	header h1 {font-size:2em;}
	header p {font-size:0.9em;}
	header span {right:40px;}
	#generated-toc {padding:20px 40px 10px; background-color:#fff; font-size:0.9em;}
	#toggle-container {display:none;}
	#user {right:40px;}
	section {padding:0 0 40px;}
	section h2 {break-after:avoid; padding:2px 40px;}
	article {margin:3em 40px 1em; padding:0 40px;}
	article h3 {break-after:avoid; margin:2em -20px 1em -40px;}
	article h4 {break-after:avoid; margin:2em -20px 1em 0;}
	article .dn-src {margin:1em -60px 1em -60px; padding:10px 60px;}
	h2+h3, .dn-src {break-before:avoid;}
	}
@font-face {font-family: 'opensans'; src: url('fonts/OpenSans-Regular.woff'); font-weight:400; font-style:normal;}
@font-face {font-family: 'opensans'; src: url('fonts/OpenSans-Italic.woff'); font-weight:400; font-style:italic;}
@font-face {font-family: 'opensans'; src: url('fonts/OpenSans-Semibold.woff'); font-weight:600; font-style:normal;}
@font-face {font-family: 'opensans'; src: url('fonts/OpenSans-SemiboldItalic.woff'); font-weight:600; font-style:italic;}
@font-face {font-family: 'opensans'; src: url('fonts/OpenSans-Bold.woff'); font-weight:700; font-style:normal;}
@font-face {font-family: 'opensans'; src: url('fonts/OpenSans-BoldItalic.woff'); font-weight:700; font-style:italic;}
@font-face {font-family: 'opensans'; src: url('fonts/OpenSans-ExtraBold.woff'); font-weight: 900; font-style: normal;}
@font-face {font-family: 'opensans'; src: url('fonts/OpenSans-ExtraBoldItalic.woff'); font-weight: 900; font-style: italic;}
@font-face {font-family: 'opensans'; src: url('fonts/OpenSans-Light.woff'); font-weight:100; font-style:normal;}
@font-face {font-family: 'opensans'; src: url('fonts/OpenSans-LightItalic.woff'); font-weight:100; font-style:italic;}