html {overflow: -o-paged-x} /* Opera (v 12.00 Labs) experiment */

/* Protect images from being too big */
img {max-width: 100%}

/* Progress meter on left instead of top */
/*
p.progress {top: 5.5em; left: 0; width: 1em; z-index: 2;
  font-size: 40%;
  padding: 0.5em 0.5em 0.5em 0; border-radius: 0 0.6em 0.6em 0;
  text-align: left; line-height: 1.1; 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%}
*/

/* Floating images with size limits */
.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}

/* The children of an .incomplete elements are shown with decreasing size */
.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}

/* A table with three columns, with the middle one containing an arrow */
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}

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

/* Check marks to indicate success or failure */
[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%)}

/* SUB element do not increase the line height. And TeX is special */
sub {line-height: 0}
sub.TeX {vertical-align: -0.5ex; font-size: 100%}

/* Figures with captions */
.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}

/* Toggle two elements on hover */
.toggle > *:first-child + * {display: none}
.toggle:hover > *:first-child {display: none}
.toggle:hover > *:first-child + * {display: inline}

/* 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%}}

/* Make the screen & print styles look a bit more like the projection */
@media screen, tv, print {
h1:first-child {background: #005A9C; padding: 0.3em;
   color: white; text-shadow: none; border-radius: 0.3em}
h1::before {margin-top: -0.4em}
}