/* Fonts */
@font-face {
    font-family: "Computer Modern";
    src: url('cmunss.otf') format('opentype');
}
@font-face {
    font-family: "Computer Modern";
    src: url('cmunsx.otf') format('opentype');
    font-weight: bold;
}
@font-face {
    font-family: "Computer Modern";
    src: url('cmunsi.otf') format('opentype');
    font-style: italic;
}
@font-face {
    font-family: "Computer Modern";
    src: url('cmunbxo.otf') format('opentype');
    font-weight: bold;
    font-style: italic;
}

body { font-family: "Computer Modern", sans-serif; font-size: large; }

h1 { font-size: 2.25em; }
h2 { font-size: 1.837em; }
h3 { font-size: 1.5em; }


/* Links and Forms */

a:link, a:visited { text-decoration: none; color: #00c; }
a:hover { text-decoration: underline; color: #00a; }

input.search { width:10em; }
form.search { white-space: nowrap; }

/* Page formatting */

body { margin: 0px; }

/* Header */

div.header { width: 100%; display:flex; flex-direction: row; }
div.header > div { line-height: 1; display: flex; align-items: center; }
div.header > div:not(.headersep) { padding: 0.4em; }
div.fill { flex-grow: 1; }

div.logo * { white-space: nowrap; text-decoration: none; color: black; font-weight: bold; font-variant: small-caps; font-size: x-large;}
img.logo { height: 1em; vertical-align: bottom; }

/* Mimic tables */
.table { display: table; }
.table-head { display: table-header-group; }
.table-body { display: table-row-group; }
.table-row { display: table-row; }
.table-cell { display: table-cell; }

.table { border-collapse:collapse; }

/* Make the magic happen */
.hover-control:not(:hover) .hover-reveal { visibility: hidden; }
.hover-control:hover input.hover-enable { border: 1px solid black; }
.hover-control:not(:hover) input.hover-enable {
  background: none;
  border: none;
  font-family: inherit;
  font-size: inherit;
}

.message.error      { color: #c30; }
.message.warning    { color: #f96; }
.message.suggestion { color: #fc0; }
.message.valid      { color: #390; }
.message.success    { color: #390; }

.error      { border-color: #c30; }
.warning    { border-color: #f96; }
.suggestion { border-color: #fc0; }
.valid      { border-color: #390; }
.success    { border-color: #390; }


/* Borderless greyscale theme
div.header { background: #eee; }
div.headersep:before { content:'\2223'; }
div.headersep.sub:before { content:'-'; }
div.headersep.crumb:before { content:'\203a'; }
div.active:hover { background: #ddd; }
/* */

/* Bordered monochrome theme */
div.header { border-bottom: 1px solid black; }
div.headersep:not(.sub) { border-left: 1px solid black; }
div.headersep.sub:before { content:'\2223'; }
div.headersep.sub.crumb:before { content:'\203a'; }
div.active:hover { background: #eee; }
/* */

div.content { margin: 1em; }
div.footer { border-top: 1px solid black; width: 100%; }
