/*
ol { counter-reset:list; }
ol > li { list-style:none; }
ol > li:before {
  content:counter(list, lower-alpha) ") ";
  counter-increment:list;
}
*/
body    { margin:0; font-size:14px; }
a[href] { text-decoration:none; }
a[href]:hover   { text-decoration:underline; }
body > footer  {
    position:fixed;
    bottom:0;
    background:#66C;
    line-height:12px;
    font-size:12px;
    color:#FFF;
    padding:2px 0 1px 0;
    width:100%;
    text-align:center;
}
footer form {
    float:left;
    margin:0 2em 0 0;
    background:#C00;
    padding:3px 1ex 3px;
}
footer a    { display:inline-block; line-height:26px; }
h1, h2, h3, h4, h5, h6  { margin:0 auto; }
h1  { font-size:40px; margin:0 auto .3ex; width:fit-content; }
h3  { font-variant:small-caps; font-size:140%; border-bottom:1px solid #66C; margin-bottom:3px; }
.c p    { text-align:left; width:fit-content; margin:.8ex auto; }
article > blockquote    { position:relative; }
article > blockquote, article > blockquote a    { width:80%; }
article > blockquote img    { max-width:150px; }
article > blockquote p  { color:#000; line-height:125%; }
article > blockquote p a  { color:#00F; }
article > blockquote h1, article > blockquote span, article > blockquote .end-matter { display:none; }
article blockquote blockquote { border-left:1px solid #CCC; padding-left:1ex; margin-left:5ex; position:relative; }
article blockquote blockquote::before   {
    content:"\201C";
    color:#CCC;
    font:86px Garamond bold;
    display:block;
    position:absolute;
    left:-1.1ex;
    top:-.5ex;
}
article blockquote blockquote::after   {
    content:"\201D";
    color:#CCC;
    font:86px Garamond bold;
    display:block;
    position:absolute;
    right:-1.1ex;
    bottom:-1.5ex;
}
article aside   { max-width:70%; min-width:650px; margin:1ex 0 0 7%; border:1px solid #000; border-radius:9px; position:relative; }
article aside:before, article > blockquote:before    {
    display: block;
    top: 45px;
    left: -64px;
    position: absolute;
    rotate: -90deg;
    font-size: 20px;
    color: #667;
    font-family: sans-serif;
    letter-spacing: 1.2pt;
}
article aside:before { content:'Summary'; }
article > blockquote:before { content:'Full Text'; }
article aside > p, article aside > h2    { margin-left:10px; margin-right:10px; }
article aside h2  { margin-top:1ex; }
form h2 { margin:1ex; }
input[disabled] { opacity:.3; }
input[type=checkbox]    { margin:auto 0; vertical-align:-2px; }
input[type=date]    { width:245px; }
input[type=text], input[type=url]   { width:242px; }
label   { display:inline-block; width:140px; font-weight:bold; line-height:21px; vertical-align:top; }
select  { font-size:15px; width:250px; }
textarea   { width:244px; min-width:244px; max-width:244px; min-height:2.4em; max-height:16.8em; }
nav { height:27px; background:#66C; color:#FFF; }
nav a, nav a:active, nav a:link, nav a:visited  { color:#FFF; text-decoration:none; line-height:27px; }
nav form    {
    position:absolute;
    top:2px;
    right:2em;
}
nav form input  {
    font-size:13px;
}
nav form input[name=search] {
    max-width:105px;
}
nav form input[type=submit] {
    border-radius:8px;
    vertical-align:1px;
    margin-left:2px;
}
nav h1  {
    width:460px;
    height:27px;
    font-size:27px;
    line-height:27px;
    font-weight:normal;
    font-variant:small-caps;
    letter-spacing:4pt;
    text-align:center;
}
nav ul  { list-style-type:none; position:absolute; top:0; margin:0; padding:0 0 0 2ex; }
nav ul li   { display:inline-block; margin:0; }
nav ul li:hover, nav .menu:hover    { background:#900; }
nav ul li a,
nav ul li a:active,
nav ul li a:link,
nav ul li a:visited  { display:inline-block; margin:2px 1em; color:#FFF; text-decoration:none; line-height:23px; }
article { margin:0 15px; }
.c  { text-align:center; }
.cl.big { white-space:nowrap; text-align:center; margin:3px auto 0; }
.big, .big br, br.big { clear:both; font-size:40px; }
.big input[type=text]   { font-size:130%; width:65%; }
.big input[type=submit] {
    zoom:3;
    vertical-align:1.8px;
    border-radius:4px;
    margin:0 8px 0 0;
    line-height:18px;
}

.calendar   { border-collapse:collapse; margin:1em auto 0; }
.calendar h2    { margin:1ex 0 .4ex 0; }
.calendar caption   { font-size:50px; }
.calendar caption a { font-size:90%; text-decoration:none; vertical-align:top; }
.calendar tbody tr, .calendar tbody td {
    height:60px;
    width:85px;
    position:relative;
    border:1px solid #000;
    vertical-align:top;
    font-size:9px;
    line-height:2.2ex;
    padding:0 3px 2px;
}
.calendar tbody td div:nth-child(2){
    margin-left:4.5ex;
}
.calendar thead { font-weight:bold; }
.calendar td div    {
    font-family:sans-serif;
    display:inline-block;
    margin:0 4px 0 0;
    line-height:2.7ex;
    white-space:nowrap;
    overflow:hidden;
    max-width:77px;
    background:#669;
    color:#FFF;
    padding:0 2px;
    border-radius:1em;
    margin-top:1px;
}
.calendar td div.current    { background:#966; }
.calendar td div.current:hover    { background:#C36; }
.calendar td div:hover  { background:#63C; }
.calendar td div:nth-child(2)   { max-width:56px; margin-top:2px; }
.calendar td div a  { text-decoration:none; color:#FFF; }
.calendar td em {
    display:block;
    position:absolute;
    z-index:2;
    top:0;
    left:0;
    font-size:14px;
    margin:0 6px 2px 0;
    border:1px solid #000;
    border-radius:0 0 6px 0;
    width:2.4ex;
    padding:0 2px;
    font-style:normal;
    border-width:0 1px 1px 0;
    text-align:center;
    background:#FFF;
    line-height:110%;
    text-indent:0;
}   
h2 { font-size:22px; padding-left:6em; text-indent:-6em; }
ol { list-style-type:lower-alpha; }
li  { margin-top:1ex; }
ol.dec { list-style-type:decimal; }
ol.ua { list-style-type:upper-alpha; }
ol.la { list-style-type:lower-alpha; }
ol.ur { list-style-type:upper-roman; }
ol.lr { list-style-type:lower-roman; }
.signature  { width:fit-content; margin-left:auto; }
.cl { width:fit-content; margin:0 auto; max-width:75%; }
.cl ul, .cl h2  { margin:0; }
ul.cl small    { display:inline-block; margin-right:2px; }
div.cl    { margin:7px auto 8px; }
u   { text-decoration:none; border-bottom:1px dashed #999; cursor:help; }

.cols  {
    width:634px;
    margin:auto;
    position:relative;
    z-index:1;
}
.cols div   {
    display:block;
    float:left;
    width:210px;
    text-align:center;
    border-color:transparent;
    min-height:17px;
}
.cols .head {
    display:block;
    font-size:130%;
    width:631px;
    margin:0;
    background:#DDD;
}
.cols > .OT   { border-right:1px solid #DDD; }
.cols > div { border:0; }
.cols .footer   { font-weight:bold; cursor:default; background:#DDD; border-left:1px solid #000; }
.cols .EO .footer   { border:0; }
.cols > div > div { display:none; }
.cols > div.head > div { display:block; }
.cols > div > div.page1   { display:block; }
.cols > div > div > div { border:1px solid #DDD; border-width:0 0 1px 1px; }

.col    { width:40%; margin:2ex 0 5ex; display:inline-block; vertical-align:top; }
.col.r  { border-right:1px solid #000; padding-right:2ex; margin-right:1ex; }

.announcement, .news_post      { margin:1ex 0; }
.announcement p    { margin:.4ex 4ex 0; }
.announcement h4   { clear:both; }
.announcement .r   { float:right; position:relative; top:-2.5ex; }
.news_post .r   { float:right; position:relative; top:-3.8ex; }
.news_post blockquote   { margin:0 3em 2ex; }
.key    {
    cursor:default;
    color:#666;
    border-bottom:1px dashed #666;
}
.key:hover  { color:#111; border-color:#111; }
.error_container    {
    width: 50%;
    margin: 0 auto;
    min-height: 50px;
    position: relative;
    color: #000;
    z-index:99;
    overflow:hidden;
}
.error_container .error {
    position:relative;
    background: #FEE;
    border: 1px solid #000;
    border-radius: 5px;
    margin:.2ex;
    padding:1ex;
}
.error_container .error span    {
    font-family:sans-serif;
    display:block;
    position:absolute;
    top:-.2ex;
    right:.5ex;
    font-weight:bold;
    cursor:pointer;
}
.error  h1  { white-space:nowrap; width:auto; }
.bar_chart  {
    position: relative;
    top:1ex;
    z-index:0;
    width:289px;
    height: 185px;
    border: 1px solid #CCD;
    margin: 0 auto 1ex;
    clear:both;
}
.bar_chart div  { width:10px; position:absolute; bottom:0; background:#CCD; }
.bar_chart div:hover, .bar_chart div.selected    { background:#99C; }
.bar_chart div.proc  { background:#DCC; display:none; }
.bar_chart div.proc:hover, .bar_chart div.proc.selected  { background:#C99 !important; }
.chart_data { width:300px; margin:0 auto; text-align:center; }
.pseudoheader   { margin:2ex auto;position:relative;top:2ex; }
@media handheld, screen and (max-width:850px) {
    nav h1  { display:none; }
    .cols   { width:81% !important; }
    .cols .head { width:100% !important; }
    .cols div   { width:24% !important; }
}
@media handheld, screen and (max-width:655px) {
    .cols .head div { min-height:48px; }
}