/* Progress meter on left instead of top */
p.progress {top: 5.5em; left: 0; width: 1em; z-index: 2;
  padding: 0.5em 0.5em 0.5em 0; border-radius: 0 0.6em 0.6em 0;
  text-align: left; line-height: 1.2; color: #468}
p.progress a {display: block}
p.progress .cur ~ * {color: #ACF}

/* On hover, also show the titles */
p.progress:hover {width: auto; right: auto; max-width: 90%; overflow: hidden;
  box-shadow: 0.2em 0.2em 0.5em; background: rgba(70,40,0,0.7)}
p.progress:hover a:after {content: " " attr(title) "\A0";
  white-space: nowrap; color: white; vertical-align: baseline;
  font-size: 100%}

.illustration, .illustration2 {width: 30%; padding: 0}
.illustration {float: right; margin: 0 0 0.2em 1em; text-align: right}
.illustration2 {float: left; margin: 0 1em 0.2em 0}

.figure {text-align: center; margin: 1.2em 1em; font-style: italic}
.figure img, .figure object {max-width: 100%; max-height: 11em}
.figure em {font-style: normal}
.figure p {margin: 0}

table {border-collapse: collapse; font-size: smaller}
td, th {border: 2px solid silver; text-align: center; padding: 0 0.2em}
th:empty {border: none}
/* tr {vertical-align: baseline} */

table.description {font-size; inherit; border: hidden}
table.description td, table.description th {text-align: left; border: none;
  vertical-align: baseline; padding: 0.25em 0 0.25em 1em}
table.description td:first-child,
table.description th:first-child {padding-left: 0}
table.description tr {border-bottom: 2px solid silver}
table.description thead {display: none}

table.comparison td, table.comparison th {border: none; padding: 0.3em 0;
  text-align: right}
table.comparison td + td, table.comparison th + th {text-align: left}
table.comparison td:nth-child(2),
table.comparison th:nth-child(2) {color: #005A9C; text-align: center;
  padding: 0.3em 1em}

table.extensive {font-size: 70%}

table.bare td, table.bare th {border: none; padding: 0; text-align: left}

.me {font-family: "Handwriting - Dakota", Brush Script Std,
  Brush Script MT, cursive;
  background: url(highlighter.png) 100% 50% repeat-x}

.incomplete {margin-left: 0}
.incomplete li {display: inline; margin: 0; padding: 0}
.incomplete li:before {content: " • "}
.incomplete > *:nth-child(1) {font-size: 1em}
.incomplete > *:nth-child(2) {font-size: .9em}
.incomplete > *:nth-child(3) {font-size: .81em}
.incomplete > *:nth-child(4) {font-size: .729em}
.incomplete > *:nth-child(5) {font-size: .6561em}
.incomplete > *:nth-child(6) {font-size: .59049em}
.incomplete > *:nth-child(7) {font-size: .531441em}
.incomplete > *:nth-child(8),
.incomplete > *:nth-child(8) ~ * {font-size: .4782969em}
.incomplete > *:nth-child(9) {opacity: .9}
.incomplete > *:nth-child(10) {opacity: .81}
.incomplete > *:nth-child(11) {opacity: .729}
.incomplete > *:nth-child(12) {opacity: .6561}
.incomplete > *:nth-child(13) {opacity: .59049}
.incomplete > *:nth-child(14) {opacity: .531441}
.incomplete > *:nth-child(15) {opacity: .4782969}
.incomplete > *:nth-child(16) {opacity: .43046721}
.incomplete > *:nth-child(17) {opacity: .387420489}
.incomplete > *:nth-child(18) {opacity: .3486784401}
.incomplete > *:nth-child(19) {opacity: .3138105960}
.incomplete > *:nth-child(20) {opacity: .2824295364}
.incomplete > *:nth-child(21) {opacity: .2541865827}
.incomplete > *:nth-child(22),
.incomplete > *:nth-child(22) ~ * {opacity: .2287679244}

.toggle > *:first-child + * {display: none}
.toggle:hover > *:first-child {display: none}
.toggle:hover > *:first-child + * {display: inline}

img.genie {vertical-align: middle; max-width: 4em; max-height: 4em}
img.icon {vertical-align: bottom; height: 1.2em}
img {max-width: 100%}

img.deco {height: 4em; position: absolute; bottom: 1.5em; right: 1.5em}

ul.container, ul.container ul {display: table; border-spacing: 0.2em;
  background: rgba(114,164,200,0.2); border-radius: 0.4em}
ul.container {margin: 0.5em auto 0 auto}
ul.container ul {table-layout: fixed; width: 100%;
  margin: 0; font-size: 90%}
ul.container li {display: table-cell; padding: 0.3em;
  border: 0.15em #005A9C solid; border-radius: 0.4em}

.absent {background: hsl(0,70%,90%)}
.bad {background: hsl(30,70%,90%)}
.medium {background: hsl(60,70%,90%)}
.good {background: hsl(120,70%,90%)}
.neutral {background: hsl(0,0%,90%)}

.venn, .venn div {border: 0.15em #005A9C solid;
  border-radius: 2em; border-radius: 50%;
  text-align: center; padding: 0 1em 0.5em 1em;
  background: rgba(114,164,200,0.2)}
.venn {margin: 1em 0 0 0}
.venn div {margin: 1em}
.venn h2 {margin: 0 0 0 -1em; width: 75%;
  text-shadow: -1px -1px white, 1px 1px white}
.venn li {display: inline; margin: 0; padding: 0}
.venn li:before {content: " • "}
.venn li:first-child:before {content: ""; content: none}

.geo {font-size: 50%; display: inline-block; vertical-align: middle}
.geo span:first-child:after {content: "\A"; white-space: pre}

code {font-family: Caflisch Script Pro, cursive; margin-right: 0.2ex; line-height: 0.7}
/* pre {font-family: Caflisch Script Pro, cursive} */
/* pre {font-family: "1942 report", Prestige Elite Std, Courier,
  Courier New, monospace; letter-spacing: -0.15em} */
pre b, code b {background: url(highlighter.png) 100% 50% repeat-x;
  background-size: 100% 100%}

/* Text in a different language */
[lang] {font-style: italic}
html[lang] {font-style: normal}
[lang] [lang] {font-style: normal}

/* Language switch */
.langswitch {border: thin solid; color: inherit; border-radius: 0.3em;
  padding: 0 0.1em; display: inline-block; min-width: 1.5em; text-align: center;
  font-style: inherit}

/* For advertisement on last slide */
.join {position: relative; height: 0;
   color: #005A9C; text-align: center; line-height: 1.5;
   -o-transform: rotate(-3deg); transform: rotate(-3deg)}
.join > div {display: table; margin: 0 auto;
   background: rgba(243,249,251,0.8);
   border: solid 1px; border-radius: 1em; padding: 0.5em;
   box-shadow: 0.12em 0.12em 0.36em rgba(0,0,0,0.7)}
.join img {float: left; height: 9em; margin-right: 0.5em}
.join p {margin: 0}
@media projection {.join {font-size: 80%}}

a:link:after, a:visited:after {content: "\2191"; font-size: 50%;
  vertical-align: 0.5em; line-height: 0.5}

/* Some demos reguire an experimental viewer */
a.o:after, a.moz:after, a.webkit:after, a.pdf:after {border-radius: 50%;
  background: #ADC4D5; color: #005A9C; line-height: 1; font-size: 40%;
  padding: 0.2em; vertical-align: top; margin-left: 0.3em; height: 0.9em}
a.o:after {content: "o"; font-size: 50%; height: 0.8em}
a.moz:after {content: "moz"}
a.webkit:after {content: "webkit"; font-size: 30%}
a.pdf:after {content: "pdf"}

.skip {color: silver}

sub {line-height: 0}
sub.TeX {vertical-align: -0.5ex; font-size: 100%}

.note {white-space: normal; font-family: Gill Sans, sans-serif;
  float: right; clear: right; color: hsl(0,100%,40%); font-style: italic}

[title="OK"], [title="fail"] {border-radius: 0.3em; color: white;
  padding: 0.05em 0.15em; border: thin solid;
  x-box-shadow: 0.17em 0.17em 0.25em rgba(0,0,0,0.7)}
[title="OK"] {background: hsl(120,100%,40%); border-color: hsl(120,100%,20%)}
[title="fail"] {background: hsl(0,100%,50%); border-color: hsl(0,100%,20%)}
