*.left { text-align: left }
*.center { text-align: center }
*.right { text-align: right }

*.vtop { vertical-align: top }
*.vcenter { vertical-align: middle }
*.vbottom { vertical-align: bottom }

*.fullwidth { width: 100% }

*.nobreak { white-space: nowrap }

*.smallerpadding { padding-top: 0.25em }
*.smallpadding { padding-top: 0.5em }
*.medpadding { padding-top: 1em }
*.bigpadding { padding-top: 2em }

*.smallmargin { margin-top: 0.5em }
*.medmargin { margin-top: 1em }
*.bigmargin { margin-top: 2em }

*.huge { font-size: 200%; line-height: 1.2; }
*.bigger { font-size: 160%; line-height: 1.2; }
*.big { font-size: 125%; line-height: 1.2; }
*.small { font-size: 80%; line-height: 1.2; }
*.smaller { font-size: 64%; line-height: 1.2; }
*.tiny { font-size: 50%; line-height: 1.2; }

*.bold { font-weight: bold; }
*.italics { font-style: italic; }

*.darkened { background-color: #f0f0f0; }

*.error { font-weight: bold; color: #c00000; }

*.floatright { float: right; margin-left: 1em; margin-bottom: 1em; }
*.floatleft { float: left; margin-right: 1em; margin-bottom: 1em; }

*.nomargin { margin-top: 0; }
*.innermargin > * { margin-top: 1em; }
*.innermargin > *:first-child { margin-top: 0em; }

table.innerpadding > tbody > tr+tr > td { padding-top: 1em }

hr { margin-top: 1.5em; margin-bottom: 1.5em }
hr.medbreak { margin-top: 1em; margin-bottom: 1em }
hr.smallbreak { margin-top: 0.5em; margin-bottom: 0.5em }

td { vertical-align: top; }

table.edittable tr td:first-child { width: 12em; }
table.edittable tr td+td, table.edittable tr th+th { padding-left: 1em; }
table.listtable tr td+td, table.listtable tr th+th { padding-left: 1em; }
table.simpletable tr td+td, table.hourstable tr th+th { padding-left: 0.25em; }
table.timetable tr td+td+td+td, table.timetable tr th+th+th+th { padding-left: 1em; }
table.selectiontable tr td, table.selectiontable tr th { width: 2em; }
table.selectiontable tr td+td, table.selectiontable tr th+th { width: 11em; }
table.selectiontable tr td+td+td, table.selectiontable tr th+th+th { width: 50em; }
table.selectiontable tr td+td+td+td, table.selectiontable tr th+th+th+th { width: 0em; padding-left: 1em; }

span.contact:after { content: "@" attr(sld) "." attr(tld); }

*:disabled { background-color: #f0f0f0; }

*.minimal > *.articletitle,
*.journalarticle > *.articletitle,
*.singlearticle > *.articletitle,
*.bookarticle > *.articletitle,
*.bookasauthor > *.booktitle,
*.bookaseditor > *.booktitle { font-style: italic; }

*.journalarticle > *.journalidentifier > *.journalissue,
*.singlearticle > *.platformidentifier > *.platformissue { font-weight: bold; }
