/* FONTS */

/* /FONTS */

a.external, a.x { cursor:alias; }

div {
    margin:0;
    padding:0;
}
body {
    font-size:100%;
    background-color:#000;
    padding:0;
    margin:0;
}

div#coffin {
    background-color:#fff;
    padding:0;
    margin:0;
    border:1px solid black;
}

div#head {
    padding:0px;
    background-color:#9ba;
    color:#000;
    border-bottom:1px solid #000;
    text-align:center;
    padding-top:48px;
}
#head div.header {
    padding:8px;
    margin:0px;
}
#head div.header p {
    margin:0px;
}
#head div.header .title {
    font-size:150%;
    font-weight:bold; 
    opacity:0.8;
}
#head div.header .title p a {
    color:#000;
    opacity:0.8;
    text-decoration:none;
}
#head div.header .title p a:hover {
    color:#000;
    text-decoration:none;
}
#head div.header .subtitle {
    opacity:0.9;
    margin:0px;
    font-variant:small-caps;
    text-align:center;
    text-shadow:1px 1px 4px #000;
    font-size:100%;
    color:#fff;
}
#head div.header .subtitle p {
    border-top:1px solid #000;
    display:inline-block;
    padding:2px 32px;
}
#head div.header .subtitle p a {
    color:#fff;
    text-decoration:none;
}
#head div.header .subtitle p a:hover {
    color:#fff;
    text-decoration:none;
}

div#neck {
    font-size:90%;
    background-color:#044;
    color:#ddd;
    padding-top:8px;
    padding-bottom:0px;
    border-bottom:1px solid #000;
    padding-bottom:0px;
    text-align:center;
}

#neck a { text-decoration:none; color:#000;}
#neck ul {
    padding:0;
    margin:0;
    list-style:none;
    display:block;
}
#neck ul li {
    display:inline;
    padding:0px 1ex;
    border-radius:4px 4px 0px 0px;
    border-bottom:1px solid black;
    background-color:#9db;
    color:#444;
}
#neck ul li:hover { background-color:#ced; }
#neck ul li.selected {
    padding-top:4px;
    border:1px solid #eee;
    border-radius:4px 4px 0px 0px;
    background-color:#eee;
}
#neck ul li.selected a:hover { color:#000; }
#neck .occasional a:before { content:"("; }
#neck .occasional a:after { content:")"; }

div#necklace {
    background-color:#eee;
    padding:4px;
    font-size:0.8em;
    color:#444;
}
#necklace #path         { width:40%; }
#necklace #browser      { width:19%; }
#necklace #connection   { width:40%; }
#necklace a { text-decoration:none; }
#necklace #path { text-align:left; }
#necklace #path a { color:#804; }
#necklace #path a:hover  { color:#d06; }
#necklace #path .nolink { font-weight:bold; }
#necklace #connection {
    text-align:right;
    font-size:90%;
    padding:0;
    margin:0;
}
#necklace #browser { text-align:center; }
#necklace #browser .inactive { color:#aaa; }
#necklace #browser a { text-decoration:none; }
#necklace #browser a         { color:#08b; }
#necklace #browser a:visited { color:#80b; }
#necklace #browser a:hover   { text-decoration:underline; }
#necklace #path a:last-child { font-weight:bold; }
#necklace #connection .ip { color:#288; font-family:monospace; }
#necklace #connection .clock { white-space:nowrap; }

.loginout {
    font-weight:bold;
    background-color:#044;
    padding:4px 1em;
    margin-right:1em;
    margin-top:2px;
    margin-bottom:2px;
    border-radius:0 0 20px 20px;
}
#loginout { vertical-align:top; }
#loginout a.loginout { color:#ff0; }


div#body {
    margin:0;
    padding:0;
}

div#anklet {
    border-top:1px solid #000;
    padding:8px;
    background-color:#9ba;
    color:#000;
    text-align:center;
    font-size:80%;
}

div#anklet a        { color:#804; }
div#anklet a:hover  { color:#d06; }

div#footakia {
    border-top:1px solid #000;
    border-bottom:2px solid #000;
    padding:4px 24px;
    background-color:#044;
    color:#fff;
    font-size:80%;
    text-align:center;
}
#footakia a {
    color:#f80;
}


table.columner {
    width:100%;
    empty-cells:show;
    margin:0;
    padding:0;
}
table.columner td.columnoid { padding:0; }
table.top-columner td.columnoid { vertical-align:top; }
table.middle-columner td.columnoid { vertical-align:middle; }


abbr {
    cursor:help;
}

.readmore {
    text-align:right;
} 

.mono { font-family:"Andale Mono",monospace; }
.flushleft  { text-align:left;          }
.center     { text-align:center;        }
.flushright { text-align:right;         }

table.central {
    margin:auto;
}

table td.nat {
    text-align:right;
}
table.fields tr td { vertical-align:top; }
table.fields tr th {
    vertical-align:top;
    text-align:right;
    font-weight:normal;
}
table.fields tr th {
    text-align:right;
    padding-right:8px;
}
table.fields tr td > ul:first-child {
    margin-top:0;
    margin-bottom:0;
    padding-top:0;
    padding-bottom:0;
    padding-left:0;
}
table.fields tr td > ul:first-child {
    list-style:inside;
}

table tr.captionoid {
    text-align:center;
    font-weight:bold;
    background-color:#bbb;
    color:#000;
}

address {
    font-style:italic;
    white-space:pre-wrap;
}

.smaller {
    font-size:smaller;
}

.truncate {
    /* width should be specified elsehow */
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

p.count {
    text-align:right;
    font-size:90%;
}

#head div.holidays {
   background-color:#000;
   padding:4px;
   margin:0px;
   opacity:0.5;
   color:#fff;
}
#head .holidays .holiday {
   padding:0px;
   margin:0px;
}
#head .holidays .when {
   padding:0px;
   margin:0px;
   font-size:90%;
}
#head .holidays .no-classes {
   padding:0px;
   margin:0px;
   font-size:90%;
}
#head .holidays .wish {
   padding:0px;
   margin-top:10px;
   font-size:90%;
}


div#kerchief {
    border-bottom:8px solid #000;
    background-color:#044;
    color:#fff;
    box-shadow:0px 2px 8px 4px #fff;

    width:100%;
    font-size:14px;

    margin:0px;

    position:fixed;
    z-index:1000;
    top:0;
    left:0;
    margin-bottom:64px;

    opacity:0.4;
}

#snapshot {     font-size:1.1em; padding:1ex; }
#homer {        width:15%; }
#controller {   width:35%; text-align:center; }
#themer {       width:35%; text-align:right; }
#mocha {        text-align:right; }

#controller .control { cursor:default; }
#controller { text-shadow:2px 2px 2px #000;}
#controller #font-resizer { white-space:nowrap; }
#controller td { white-space:nowrap; }
#controller #biggerFont { font-size:14px; }
#controller #defaultFont { font-size:12px; }
#controller #smallerFont { font-size:10px; }

#kerchief form { display:inline; }
#kerchief input[type="image"] {
    border:none;
    color:#f84;
    cursor:pointer;
    text-decoration:underline;
}
#kerchief input[type="image"]:hover {
    border:none;
    color:#fc8;
    cursor:pointer;
}

#kerchief a {
    color:#ff0;
    text-decoration:none;
}
#kerchief table td {
    padding:4px 12px;
}
#mocha-menu form { display:inline; }

#mocha-menu form input[type=image] {
    border:1px solid black;
}
#mocha-menu form input[type=image]:hover {
    border:1px solid black;
}

#mocha-menu img {
    border:1px solid black;
    box-shadow:0px 0px 4px #fc0;
}
#mocha-menu img:hover {
    border:1px solid black;
}

/* Body */

div#body {
    background-color:#eee;
    color:#222;
}



/* make navigator / main / reporter sided */
#body { overflow: hidden; }
#navigator, #reporter, #main { float:left; }
#navigator { width:22%; }
#reporter  { width:22%; }
#main      { width:55%; }
#anklet    { clear:both; }
.gadgetspace { padding-bottom:128px; }


/* decorate */
#main { font-family:serif; }
#main h2 { font-family:sans-serif; font-weight:normal;}
.gadgetspace { font-family:sans-serif; }
#neck, #necklace { font-family:sans-serif; }
#main form { font-family:sans-serif; }
#main .card { font-family:sans-serif; }
#main .filters { font-family:sans-serif; }
#anklet { font-family:sans-serif; }

#main .pub-info , 
#main .published-by ,
#main .published-at { font-family:sans-serif; }
th { font-family:sans-serif; }

#comments { font-family:sans-serif; }

#navigator, #reporter  { font-size:0.8em; }

#navigator .gadget ,
#reporter .gadget {
    margin:10px 0px;
}


/* h1 of side-parts */
#navigator h1,
#reporter  h1 {
    cursor:default;
    font-size:90%;
    text-align:center;
    font-weight:normal;
    width:60%;
    margin:auto;
    margin-top:0px;
    margin-bottom:4px;
    padding:4px;
    border:1px solid #ddd;
    background-color:#eee;
    color:#bbb;
    border-radius:32px 32px 0 0;
}
#navigator:hover h1 ,
#reporter:hover  h1 {
    color:#666;
    background-color:#e5e5e5;
    border-color:#bbb;
}


/* h2s */
.gadget h2 {
    font-size:110%;
    position:relative;
    padding:8px;
    color:#666;
}

/* standalone h2s */
.standalone-gadget h2 {
    border:none;
    border-bottom:2px solid #aaa;
    background-color:transparent;
    padding-bottom:2px;
}
#navigator .standalone-gadget h2 { text-align:left; }
#reporter  .standalone-gadget h2 { text-align:right; }

/* related h2s */
.related-gadget h2 {
    background-color:#ccc;
    border:2px solid #aaa;
    padding:0;
}
#navigator .related-gadget h2 {
    margin-left:8px;
    border-right-width:2px;
    text-align:left;
    margin-right:-2px;
    border-radius:12px 0px 0px 12px;
}
#reporter .related-gadget h2 {
    margin-right:8px;
    border-left-width:2px;
    text-align:right;
    margin-left:-2px;
    border-radius:0px 12px 12px 0px;
}

.related-gadget h2:hover { background-color:#ffb; }

#navigator .related-gadget h2:hover { border-right-style:dotted; }
#reporter  .related-gadget h2:hover { border-left-style:dotted; }

.gadgetspace .related-gadget .selected h2 { background-color:#fff; }
.gadgetspace .related-gadget .selected h2:hover { background-color:#ffb; }
#navigator .related-gadget .selected h2 { border-right-color:transparent; text-align:center; }
#reporter  .related-gadget .selected h2 { border-left-color:transparent; text-align:center; }

.related-gadget h2 a { padding:8px; }

.gadget .selected h2 a { color:#066;}

.gadget a {
    color:#066;
    text-decoration:none;
}
.gadget a:hover {
    color:#000;
    text-decoration:underline;
}

.related-gadget ul a {
    color:#555;
    text-decoration:none;
    display:block;
}
.related-gadget ul a:hover {
    color:#000;
    text-decoration:none;
}
.related-gadget h2 a { display:block; }


.gadget ul.menu {
    padding-top:0px;
    padding-bottom:0px;
    padding-left:20px;
    padding-right:16px;
    margin-left:0px;
}
.gadget ul.menu li {
    padding-top:4px;
    padding-bottom:4px;
    list-style:none;
    border-left:4px solid transparent;
    padding-left:4px;
}
.gadget ul.menu li:hover {
    background-color:#ddd;
    border-left:4px solid #bbb;
}
.gadget ul.menu ul {
    padding-left:8px;
    font-size:0.95em;
}
.gadget ul.menu ul li {
    margin-left:0px;
    margin-top:2px;
    padding-left:10px;
    border:none;
}
.gadget ul.menu ul li:hover {
    border:none;
}

.gadget ul.menu li.selected { border-left:4px solid #eac; }
.gadget ul.menu li.selected:hover { border-left-color:#c7a; }

.related-gadget ul.menu li.cross-gadget:hover { border-left-color:#7c7; }

.gadget ul.menu li.selected a.selected {
    text-decoration:underline;
    font-style:oblique;
}


.gadgetspace input[type="text"] {
    padding:4px;
    border:1px solid black;
    box-shadow:inset 0px 0px 2px 0px #444;
}
.gadgetspace input[type="text"]:hover { box-shadow:inset 0px 0px 2px 0px #044; }
.gadgetspace input[type="text"]:hover { box-shadow:inset 0px 0px 2px 1px #044; }

.gadgetspace input[type="submit"] {
    padding:2px;
    border:1px solid black;
    box-shadow:0px 0px 1px #000;
}

.gadget .container {
    padding-left:8px;
    padding-right:8px;
}
.related-gadget .container td a { display:block; }
.gadget .container a.selected { text-decoration:underline; }
.related-gadget .container {  }



#gadget-search .container {
    text-align:center;
}



/* Reporter specific */ 

#gadget-seminars .speakers { font-weight:bold; }

#reporter .feeds table.fields tr td:first-child {
    padding-right:12px;
    padding-left:12px;
}

#gadget-feeds table.feedlist tr td { vertical-align:middle; }
#gadget-feeds table.feedlist tr td a { font-size:0.9em; }

.gadget .popup {
    width:96%;
    margin-bottom:1em;
    box-shadow:1px 1px 6px #888;
    margin:auto;
    padding:0;
    background-color:#f8f8f8;
    border:1px solid #888;
}
.gadget .popup:hover { box-shadow:2px 2px 6px 1px #888; }
.gadget .popup h3 {
    font-weight:normal;
    font-size:1.2em;
    text-align:left;
    margin-bottom:0;
    margin-top:0;
    background-color:#444;
    color:#ffc;
    padding:3px 6px;
}

#reporter h4 {
    font-weight:bold;
    margin:0;
    padding:0;
}

.gadget .popup .list {
}

.gadget .popup .list .item a { color:#08b; }
.gadget .popup .list .item a:hover {
    color:#a50;
    text-decoration:underline;
}
.gadget .popup .list div.item  { padding:6px; }
.gadget .popup .list div.row-0 { background-color:#ddd; }
.gadget .popup .list div.row-1 { background-color:#ccc; }

.gadget .popup .readmore {
    margin:0;
    padding:0;
}

.gadget .popup .list .item .readmore a {
    display:inline;
    font-style:oblique;
    white-space:nowrap;
}

.gadget .popup .list .item .readmore a:hover {
    display:inline;
    font-style:oblique;
}

.gadget table.list .row-0 { background-color:#eeeeee; }
.gadget table.list .row-1 { background-color:#ffffff; }
.gadget table.list tr:hover td { background-color:#fff7bb; }
.gadget table.list tr th ,
.gadget table.list tr td {
    vertical-align:middle;
    padding:0.25em;
}
.gadget table.list thead th {
    border-bottom:1px solid #888;
    background-color:#ccc;
}
.gadget table.list tr th:first-child ,
.gadget table.list tr td:first-child { padding-left:0.5em; }
.gadget table.list tr th { text-align:left; text-decoration:underline; }
.gadget table.list {
    border-collapse:collapse;
    width:100%;
    background-color:#f8f8f8;
}
.gadget table.plainlist {
    border-collapse:collapse;
    width:100%;
}
.gadget table.plainlist tr td { vertical-align:middle; padding:0.25em; }
.gadget table.plainlist tr td:first-child { padding-left:0.5em; }


/* Content */

div#main {
    color:#666;
    background-color:#fff;
    padding:0;
    float:left;
    border-top:2px solid #bbb;
    border-left:2px solid #bbb;
    border-right:2px solid #bbb;
    padding-bottom:2000px;
    margin-bottom:-2000px;
    border-radius:16px 16px 0px 0px;
}
#main .container {
    padding:32px 6%;
}

#main #downloader {
    border-bottom:1px dotted #bbb;
    padding:8px;
    text-align:center;
    font-size:90%;
    opacity:0.5;
}
#main #downloader:hover {
    opacity:1;
}

#main .filters {
    margin:auto;
    text-align:center;
}
#main .filters a {
    padding:8px 16px;
    border-bottom-width:4px;
    border-bottom-style:solid;
    color:#222;
    box-shadow:0px 0px 4px #ddd;
}
#main .filters .on {
    background-color:#eee;
    border-bottom-color:#ccc;
}
#main .filters .off {
    background-color:transparent;
    border-bottom-color:transparent;
}
#main .filters a:hover {
    border-bottom:4px solid #ccc;
}

#main table.full {
    width:95%;
    margin:auto;
}
#main .list { font-size: 90%; }
#main .plainlist { font-size: 90%; }
#main .widelist { width:100%; }
#main table.list caption {
    border-bottom:4px solid #ec8;
    color:#000;
    padding:0.5em;
    font-size:1.2em;
    border-radius:20px 20px 0 0;
    text-align:center;
    font-family:sans-serif;
}
#main table.list caption.header {
    background-color:#ec8;
    color:#444;
    padding:0.5em;
    font-size:1.2em;
    border-radius:20px 20px 0 0;
    text-align:center;
    font-family:sans-serif;
}

#main .teacher-profile table.list td { vertical-align:middle; }
#main .teacher-profile table.list td.link a { padding:0; }
#main table.list tfoot tr td {
    background-color:#f6e8bb;
    color:#000;
    padding:2px;
    border-radius:0 0 20px 20px;
    border-top:2px solid #588;
    text-align:center;
    vertical-align:middle;
}
#main table.list tfoot.count tr td { font-size:0.9em; }
#main table.list tfoot.gpa tr td { font-size:1em; font-weight:bold; }
#main table.list , 
#main table.plainlist {
    border-collapse:collapse;
    margin:auto;
}
#main table.list tbody { border:1px solid #ddd; }
#main table.list tbody td:first { border-left:none }
#main table.list tbody td { border-left:1px solid #ddd; }
#main table.list td,
#main table.list thead th,
#main table.plainlist td,
#main table.plainlist thead th {
    vertical-align:top;
}
#main .list thead th ,
#main .plainlist thead th {
    background-color:#044;
    color:#dee;
    border:2px solid #fff;
    font-weight:normal;
    font-size:1.1em;
    padding-left:8px;
    padding-right:8px;
}
#main table.list .datefield { text-align:center; }

#main .list .row-0 { background-color:#eee; }
#main .list .row-1 { background-color:#fff; }

#main .list tbody tr       td { border-bottom:1px dotted transparent; }
#main .list tbody tr:hover td { border-bottom-color:#888; background-color:#fff7bb; }
#main .list tbody tr.captionoid:hover td { border-color:transparent; background-color:transparent; }

#main .plainlist tbody tr td { padding:1em 2em; }
#main .plainlist tfoot { border-top:1px solid #044; }
#main .list tbody tr td { padding:4px 8px; }
#main .list tbody tr td.link { padding:0 0; }
#main .list tbody tr td.link a { padding:4px 8px; }

#main .list-onelinks tbody tr td a { display:block; }

.centering-list td { text-align:center; }
.centering-list td.student { text-align:left; }

#main a { text-decoration:none; }
#main a         { color:#068; }
#main a:visited { color:#808; }
#main a:hover   { color:#c42; }

#main h1 {
    text-align:center;
    font-size:140%;
    background-color:#ec8;
    color:#444;
    position:relative;
    padding:4px;
    border-radius:24px 24px 0 0;
    border-bottom:4px solid #ca7;
}
#main h1:first-child { margin-top:1em; }
#main h1 { margin-top:2em; }

#main h2 {
    margin-top:2em;
    color:#444;
    text-align:left;
    font-size:120%;
    border-bottom:4px solid #ec8;
}
#main h3 {
    color:#444;
    font-size:1em;
    display:inline-block;
    border-bottom:2px solid #ec8;
    font-family:sans-serif;
    font-weight:bold;
    font-size:0.92em;
    margin-top:1em;
    margin-bottom:0.2em;
}

#main .extras {
    background-color:#eee;
    border:1px solid #ddd;
    border-left:8px solid #387;
    margin-top:1.5em;
    margin-left:2em;
    margin-right:2em;
    margin-bottom:1.5em;
    padding:1em 2em;
    font-size:0.9em;
}
#main .extras table { width: 100%; }
#main .extras table .filename { font-family:monospace; font-size:1.1em; }
#main .extras table .size { text-align:right; font-family:monospace; font-size:1.1em; }
#main .extras ul li {
    margin-bottom:0;
    margin-top:0;
}
#main .extras h2 ,
#main .extras h4 {
    font-size:1.4em;
    font-family:sans-serif;
    margin-bottom:0.5em;
    border-bottom:4px solid #bbb;
    color:#888;
    text-align:left;
    margin:0;
    padding:0;
}



/* messages */

#messages {
    cursor:default;
}

#messages .list {
    border:0;
    box-shadow:inset 0px 0px 6px 1px #000;
    padding:4px 12px;
    margin:12px;
}

#messages .debug    { background-color:#00f; color:#fff; }
#messages .info     { background-color:#fff; color:#000; }
#messages .success  { background-color:#cfe; color:#000; }
#messages .warning  { background-color:#ffa; color:#000; }
#messages .error    { background-color:#d00; color:#fff; }





/* forms */

#main textarea {
    font-family:monospace;
    font-size:1.1em;
    width:90%;
    margin:auto;
    margin-left:0;
    display:block;
    border:1px solid #000;
    height:6em;
}
#main textarea:focus {
    background-color:#ff8;
    box-shadow:0px 0px 4px #d00;
}
#main input[type="submit"],
#main input[type="reset"] {
    background-color:#eee;
    color:#222;
    border:1px solid black;
    box-shadow:0px 0px 2px #888;
    border-radius:4px;
    padding:6px;
}

#main input[type="submit"]:hover { background-color:#dfd; }
#main input[type="reset"]:hover { background-color:#fdd; }

#main input[type="submit"]:hover ,
#main input[type="reset"]:hover { 
    color:#000;
    box-shadow:0px 0px 4px #888;
}

#main input[disabled="disabled"] { opacity:0.25; }

#main .short-input input { width: 4em; }
#main .long-input input { width: 96%; }

#main .finalsubmit {
    margin:auto;
    padding:24px;
    text-align:center;
}
#main .finalsubmit input[type="submit"] ,
#main .finalsubmit input[type="reset"] {
    font-size:0.95em;
}

.smallinput input {
    width:3em;
    text-align:right;
}

fieldset {
    border:4px solid #ec8;
    box-shadow:0px 0px 6px #888 inset;
    font-size:0.95em;
    margin-top:16px;
    margin-bottom:16px;
    padding:16px;
}
fieldset hr {
    color:#ec8;
    background-color:#ec8;
    height:6px;
    border:2px dotted bottom;
    margin-top:1.5em;
    margin-bottom:1.5em;

}
legend {
    background-color:#ec8;
    border-radius:32px;
    color:#444;
    padding:0.5em 1em;
}
legend.header {
    font-size:120%;
    padding:0.5em 1em;
}
fieldset fieldset {
    border-width:2px;
}
fieldset fieldset legend.select {
    background-color:#fff;
    border:1px solid #ec8;
}
legend.select select {
    background-color:#fff;
    border:none;
}

#gadget-feeds table {
    margin:auto;
    border-collapse:collapse;
    background-color:#f8f8f8;
    border:1px solid #888;
    box-shadow:0px 0px 4px #666 inset;
}
#gadget-feeds table td { padding:4px 4px; }
#gadget-feeds table td:first-child { padding:4px 12px; }
#gadget-feeds table tr.captionoid { text-align:center; }
#gadget-feeds table tr.captionoid td { padding:6px; letter-spacing:2px; }
#gadget-feeds table tr.captionoid td { border:1px solid #666; }

/* comments */

#comments {
    font-size:0.8em;
    border:4px solid #465;
    background-color:#465;
    opacity:0.5;
    margin-top:32px;
}
#comments:hover {
    opacity:0.8;
}

#comments h1 {
    margin:0;
    padding:6px 12px;
    background-color:#465;
    color:#fff;
    text-align:left;
    font-size:200%;
    font-weight:normal;
    border:none;
}
#comments table.bb {
    border-spacing:1px;
    background-color:#465;
    margin:auto;
    width:100%;
}
#comments table.bb td {
    background-color:#ddfff6;
    padding:16px;
    vertical-align:top;
}
#comments table.bb textarea {
    font-size:0.95em;
}

/* fortune */

#gadget-fortune .container { opacity:0.66; pointer:default; }

#gadget-fortune blockquote {
    font-family:serif;
    font-size:170%;
    text-align:left;
    font-style:italic;
    opacity:0.66;
    text-shadow:8px 4px 2px #aaa;
}
#gadget-fortune blockquote::first-letter {
    float:left;
    font-size:3em;
    margin-right:.1em;
}
#gadget-fortune blockquote.too-long { font-size:140%; }
#gadget-fortune blockquote.too-short { font-size:200%; }
#gadget-fortune p {
    text-align:right;
    font-size:160%;
}
#gadget-fortune .container .fortune-by {
    font-weight:bold;
    font-variant:small-caps;
    font-family:serif;
}
#gadget-fortune .container .fortune-context {
    font-family:serif;
}


/* calendar */

#calendar {
    background-color:#044;
    box-shadow:0px 0px 4px #888;
    border:2px solid #044;
    margin:auto;
    text-align:right;
    margin-bottom:8px;
    border-spacing:1px;
    font-family:monospace;
}

#gadget-events table.calendartab td.arrow {
    vertical-align:top;
}

#calendar caption {
    font-size:120%;
    padding-bottom:6px;
    white-space:nowrap;
}
#calendar caption a {
    display:inline;
}

#calendar th, 
#calendar td {
    padding:4px 4px;
    font-weight:normal;
}
#calendar td.outsider {
    opacity:0.5;
}
#calendar thead {
    background-color:#044;
    color:#ff8;
    font-size:110%;
}
#calendar thead th {
    border:2px solid #044;
}

#calendar tbody {
    font-size:110%;
    background-color:#fff;
}
#calendar tbody td {
    border:2px solid transparent;
}
#calendar tbody td.today {
    border:2px solid #d00;
}
#calendar tbody td.sat, 
#calendar tbody td.sun {
    background-color:#bbb;
}
#calendar tbody td:hover {
    background-color:#eee;
}
#calendar tbody td.event {
    background-color:#ff8;
}
#calendar tbody td.withcancellations {
    -moz-box-shadow:    inset 0px 0px 4px 1px #c44;
    -webkit-box-shadow: inset 0px 0px 4px 1px #c44;
    box-shadow:         inset 0px 0px 4px 1px #c44;
}
#calendar tbody td.event a {
    font-weight:bold;
    color:#b00;
}
#calendar tbody td.event a:hover {
    color:#000;
}

p.error { color:#a00; }
p.warning {
    border-left:8px solid #c88;
    padding:1em;
}

ul.errorlist { }
ul.errorlist li {
    color:#fff;
    background-color:#d00;
    padding:0.5ex;
    margin-bottom:.5ex;
}

.paginator {
    text-align:center;
}

#main .card {
    border: 1px solid #000;
    background-color:#f8f8f8;
    box-shadow:2px 2px 8px #444;
    padding:16px;
    width:75%;
    margin:auto;
    font-size:0.9em;
}
#main .card .name {
    font-size:1.2em;
    font-weight:bold;
    margin:0;
    padding:0;
}
#main .card .roles {
    font-family:serif;
    color:#084;
    border-bottom:1px solid #888;
    text-align:left;
    padding-right:2em;
}
#main .card .affiliations ul { margin-left:0; }
#main .card .fields {
    margin-top:1em;
}

.card img.mugshot ,
.profile img.mugshot {
    box-shadow:0px 0px 2px 0px #000;
    float:right;
    border:1px solid #444;
    margin-left:1em;
}
img.avatar {
    float:right;
    border:1px solid #000;
    box-shadow:0px 0px 4px 0px #888;
}
img.no-mugshot { }
img.reporter-photo {
    float:right;
    border:1px solid #000;
    box-shadow:0px 0px 4px 0px #888;
}
img.popup-icon { float:left; margin-right:1ex; }
img.my-photo {
    float:right;
    opacity:1;
    box-shadow:0px 0px 1px #000;
}

#reporter .graduation-item {
    background-image:url('http://127.0.0.1:8888/_media/schole/icons/graduation.png');
    background-repeat:no-repeat;
    background-position:right;
}

#main .intro {
    font-family:sans-serif;
}
div.minipage {
    width:80%;
    margin:auto;
    margin-top:1em;
    margin-bottom:1em;
    padding:1em 2em;
    border:1px solid black;
    background-color:#ffd;
    color:#000;
    box-shadow:4px 4px 4px #000;
}
div.minipage h1 { font-size: 1.4em; background-color:transparent; color: #000; text-align:center; border-radius:0;}
div.minipage h2 { font-size: 1.2em; border-bottom:2px solid black; }
div.minipage h3 { font-size: 1.0em; text-decoration:underline; }

.help-text , 
.long-help-text {
    font-family:sans-serif;
    font-size:0.9em;
    opacity:0.6;
    cursor:default;
}
.long-help-text { display:block; }

.help-text:hover ,
.long-help-text:hover { opacity:1.0; }

table.fields tr th.required { font-weight:bold; }

div.delete-object { float:right; }
td.delete-object { text-align:center; }

.flushleft { text-align:left; }
.flushright { text-align:right; }
.center { text-align:center; }

.janitor { clear:both; }

span.date { font-weight:bold; }

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

table.list td.students { text-align:center; }
table.list td.count { text-align:center; }

#main .graduation {
    width:80%;
    font-size:0.92em;
    margin:auto;
    border:3px double #fff;
    box-shadow:2px 4px 6px 2px #888;
    color:#444;
    background-color:#fff092;
    padding:16px;
}

#main .graduation table {
    margin:auto;
    padding:12px;
}
#main .graduation td:first-child {
    text-align:right;
    vertical-align:top;
    font-weight:bold;
}
#main .graduation h1,
#main .graduation h2,
#main .graduation h3 {
    font-weight:bold;
    color:#444;
    background-color:transparent;
    border:none;
}
#main .graduation h1 {
    border-bottom:4px solid #444;
}

#main .graduation h2 {
    text-align:center;
}

#main .graduation a:hover {
    color:#000;
    text-decoration:underline;
}

#main .graduation li.best {
    font-style:oblique;
}

#main .graduation .graduation-info {
    background-color:#fff8c2;
    border:1px solid black;
}
#main .graduation .graduation-info h1 ,
#main .graduation .graduation-info h2 ,
#main .graduation .graduation-info h3 {
}

#main .handoutlist .passed {
    background-color:#ddd;
    color:#444;
}
#main .handoutlist .not-passed {
    background-color:#fdd;
    color:#b00;
}
.truncate { cursor:default: }
#main .toggler {
    font-weight:bold;
    cursor:pointer;
}
#main h2.toggler:hover { border-bottom-color:#e88; }
#main .togglee .headerlink {
    font-size:1.0em;
    font-family:sans-serif;
    float:right;
    text-align:right;
    padding-top:2px;
    margin-top:2px;
}

#main h2 .side-info {
    text-align:right;
    float:right;
    font-weight:normal;
}

#my .time input { width:6em; }
#my .title input { font-weight:bold; }
#my #main span.countdown {
    color:#a44;
    cursor:default;
}

#my #main div.student-request {
    width:90%;
    padding:16px;
    margin:auto;
    margin-top:16px;
    border:1px solid #888;
    box-shadow:0px 0px 4px #888;
}
#my #main div.student-request h3 {
    text-align:center;
    color:#444;
    margin-top:0px;
    font-size:1.2em;
}
#my #main div.student-request .request {
    font-size:1em;
    font-family:monospace;
    white-space:pre-line;
}

#my .submitoid {
    text-align:center;
    font-family:sans-serif;
}
#my .submitoid a {
    background-color:#eee;
    color:#000;
    padding:0.5em;
    border:1px solid black;
    border-radius:4px;
}
#my .submitoid a:hover {
    background-color:#ec8;
    color:#000;
}

#main h1.error { background-color:#f88; color:#000; border-bottom:4px solid #b66; }

table.course-log td { text-align:center; }

table.crplist td { vertical-align:top; }
table.crplist td.pending  { color: #e90; }
table.crplist td.approved { color: #0a0; }
table.crplist td.denied   { color: #d00; }

table.crplist td.confirmation-icon { text-align:center; }
table.crplist td.confirmation      { text-align:center; }

table.crplist-last-updates {
    margin-left:auto;
    opacity:0.6;
    border-top:1px dotted #666;
    font-size:90%;
}
tr.switch td.on { color: #0a0; }
tr.switch td.on .help-text { color: #666; }
tr.switch td.off { color: #d00; }
tr.switch td.off .help-text { color: #666; }

#main form.my-tilde-edit .title input { font-weight:bold; }
#main form.my-tilde-edit textarea { width:100%; height:32em;}

.checklist .needed { color:#000; }
.checklist .needed strong.credits { font-weight:bold; }
.checklist .penalty { color:#a00; }
.checklist strong.credits {
    color:#000;
    font-weight:normal;
}
.checklist .calculation { white-space:nowrap; }
.checklist .verdict-icon { background-color:#fff;}
.checklist .verdict-true .verdict-icon { color:#0a0; font-size:200%;}
.checklist .verdict-false .verdict-icon { color: #d00; font-size:150%;}
.checklist .verdict { border-left:4px solid black; }
.checklist .verdict-false .verdict { border-left-color:#d00; }
.checklist .verdict-true .verdict { border-left-color:#0a0; }
.checklist { font-size: 0.95em; }
.checklist { border-spacing:4px; margin:auto; }
.checklist .verdict-false .verdict { background-color:#fdd; }
.checklist .verdict-true .verdict { background-color:#dfd; }
.checklist tbody tr td { padding:2px 8px; border-bottom:1px solid #fff; border-top:1px solid #fff;}


td.studentcount { text-align:center; }

p.gpa {
    text-align:center;
}

#main input[type="submit"].approve-submit ,
#main input[type="submit"].letmegraduate {
    background-color:#9f9;
    color:#040;
    font-weight:bold;
}
#main input[type="submit"].approve-submit:hover ,
#main input[type="submit"].letmegraduate:hover {
    background-color:#bfb;
    color:#000;
}
#main input[type="submit"].dontletmegraduate {
    background-color:#f99;
    color:#400;
    font-weight:bold;
}
#main input[type="submit"].dontletmegraduate:hover {
    background-color:#fbb;
    color:#000;
}

#main .letmegraduate tr          td         { vertical-align:middle; text-align:center; }
#main .letmegraduate tr.enlisted td         { background-color:#adf; color:#000; }
#main .letmegraduate tr.enlisted td.best    { background-color:#ff8; color:#000; cursor:help; }

#main .graduation-participate,
#main .graduation-cancel { width:100%; }
#main input[type="submit"].graduation-participate       { background-color:#8bf; color:#000; }
#main input[type="submit"].graduation-participate:hover { background-color:#bdf; color:#000; }
#main input[type="submit"].graduation-cancel { color:#a00; }

.course-details { font-size:0.95em; }

.person-list {
    font-size:0.85em;
}
.person-list {
    width:98%;
    margin:auto;
}
.person-list thead th {
    vertical-align:middle;
    background-color:#ddd;
}
.person-list td, .person-list th {
    padding:2px 6px;
}
.person-list td {
    background-color:#eee;
    text-align:center;
}
.person-list td.name {
    text-align:left;
    white-space:nowrap;
}

p.postcount {
    text-align:right;
    font-size:90%;
}

table.posts-in-year {
    width:98%;
    font-size:0.9em;
}

.posts-in-year th { vertical-align:top; text-align:left; }
.posts-in-year td { vertical-align:top; }

.pub-info, 
.published-by ,
.published-at {
    margin-top:2em;
    border-top:1px dotted #888;
    text-align:right;
    font-size:90%;
    opacity:0.5;
}

.marked-by {
    padding-top:2em;
    padding-bottom:2em;
    text-align:center;
}
.course-filter { margin-top:32px; }
.course-filter td.course { padding-left:0.5em; }

.filter td:first-child {
    text-align:center;
}
.filter tr {
    border-left:4px solid transparent;
}
.filter tr:hover {
    border-left:4px solid #ec8;
}
.filter tr.checked {
    background-color:#feb;
    border-left:4px solid #ec8;
}
.filter tr:hover td {
    background-color:#ffb;
}
.filter table {
    width:98%;
    border-collapse:collapse;
    margin:12px auto;
}
.filter .submit {
    text-align:left;
    margin-left:3%;
}
.filter input[type="submit"] {
    background-color:#eee;
    color:#222;
    border:1px solid black;
    box-shadow:0px 0px 2px #888;
    border-radius:4px;
    padding:6px;
}
.filter input[type="submit"]:hover {
    background-color:#f6f6f6;
    box-shadow:0px 0px 4px #888;
}
#schedule #main p.finalsubmit {
    text-align:center;
    padding:0px;
    margin-bottom:4px;
    margin-top:0.5em;
}

.schedule-note { cursor:help; color:#f22;}

table.schedule {
    width:95%;
    margin:auto;
    border-collapse:collapse;
}
.schedule td        { vertical-align:top; }
.schedule tr.weekday td { 
    padding-top:2em;
    margin-top:2em;
    color:#444;
    text-align:left;
    font-size:120%;
    border-bottom:4px solid #ec8;
    font-weight:bold;
}
td.coursecode { text-align:right; }
td.credits { text-align:center; }
.schedule td.time   { white-space:nowrap;}
.schedule td.code   { text-align:right; }
.schedule td.course { text-align:left;}
.schedule td.room   { text-align:left;}
.schedule td.note   { width:3%; }
.schedule span.schedule-cancellations { cursor:help; }
span.schedule-cancellations { color:red; }

.schedule td {
    background-color:#fff;
    padding:4px 12px;
}

.schedule td {
}
.schedule td.headlike {
    padding-top:32px;
    text-align:left;
    font-weight:bold;
    border-bottom:4px solid #ccc;
}
.download-schedule {
    text-align:center;
    font-size:90%;
}
#necklace #browser { }
td.mark { text-align:right; }
.paginator {
    text-align:center;
}
td.talk-title {
    font-style:italic;
}
ul.requirements span.restrictions {
    color:#000;
    font-style:oblique;
    text-decoration:underline;
}

#main ul { font-size:0.96em; }
td.mark { text-align:right; }


/* Trombinoscope */
#main .trombinoscope {
    margin:auto;
    text-align:center;

}
#main .trombinoscope table {
    background-color:#eee;
    border:1px solid #ccc;
    text-align:center;
    display:inline-block;
    font-size:0.9em;
    font-family:sans-serif;
    margin-bottom:1em;
    border-collapse:collapse;
}
#main .trombinoscope table tr.meta td { border-bottom:2px solid #ccc; color:#888; background-color:#ddd; }
#main .trombinoscope table.phd-student tr.meta td { background-color: #dfd; }
#main .trombinoscope table.msc-student tr.meta td { background-color: #ddf; }
#main .trombinoscope table tr.meta td.year { text-align:left; padding-left:0.5ex; }
#main .trombinoscope table tr.meta td.level { text-align:right; padding-right:0.5ex; }
#main .trombinoscope table tr.mugshot img { border:1px solid #888; }
#main .trombinoscope table tr.mugshot { height:160px; }
#main .trombinoscope table tr.name td { background-color:#ddd; border-top:2px solid #ccc; height:4em; width:12em; overflow:hidden;}


#main td.radioline ul { list-style:none; }
#main td.radioline ul li { display:inline; }

#main div.diary {
    margin-left:3em;
    margin-right:3em;
    padding:0;
    border:1px solid #ddd;
}
#main div.diary h1.date {
    background-color:#ddd;
    font-family:sans-serif;
    padding:0.2em 1em;
    margin:0;
    margin-bottom:0.2em;
    font-size:1em;
    border-radius:0;
    border:none;
    font-weight:normal;
    text-align:left;
}
#main div.diary .delete-object {
    text-align:right;
    float:right;
}
#main div.diary .who {
    text-align:right;
    float:right;
}
#main div.diary .lectureform {
    padding:1em;
}
#main div.diary .diary-minipage {
    padding:1em;
}
#main div.diary .diary-minipage p:first-child {
    margin:0;
}
#main div.diary textarea {
    font-size:0.8em;
    margin:auto;
    height:8em;
}
