@page {margin: 0.4cm}

/* 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: #9BE; 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%}
*/

/* Progress meter on bottom instead of top */
/*
p.progress {top: auto; bottom: 0; color: #468; font-size: 35%}
p.progress a {vertical-align: middle}
p.progress a.part {font-size: 140%}
*/

body {font-size-adjust: 0.45}	/* x-height of Gill Sans */

.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}

img, object {max-width: 100%}

.figure {text-align: center; margin: 1.2em 1em; font-style: italic}
.figure img {max-height: 11em}
.figure object {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} */

/* A table with horizontal rules and the THEAD hidden */
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}

/* A table to compare col 1 with col 3. Col 2 typically contains 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 big table, hence a smaller font */
table.extensive {font-size: 70%}

/* A table without any rules or padding, all cells left-aligned */
table.bare td, table.bare th {border: none; padding: 0; text-align: left}

/* An annotation, typically containing something like "&larr; this is me" */
.me {font-family: "Handwriting - Dakota", Brush Script Std,
  Brush Script MT, cursive;
  background: url(highlighter.png) 100% 50% repeat-x}

/* A long and incomplete list, items progressively smaller and dimmer */
.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}

/* An element with two images as children, toggle between them with hover */
.toggle > *:first-child + * {display: none}
.toggle:hover > *:first-child {display: none}
.toggle:hover > *:first-child + * {display: inline}

/* Little images; genie typically floats, icon typically inline */
img.genie {vertical-align: middle; max-width: 4em; max-height: 4em}
img.icon {vertical-align: bottom; height: 1.2em}

/* A decorative little image in the bottom right corner */
img.deco {height: 4em; position: absolute; bottom: 1.5em; right: 1.5em}

/* Nested boxes */
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}

/* Quality assignments, e.g., in a list of table */
.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%)}

/* Nested boxes in a different way */
.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}

/* For coordinates: <a.geo><span.latitude>...</><span.longitude>...</></> */
.geo {font-size: 50%; display: inline-block; vertical-align: middle}
.geo span:first-child:after {content: "\A"; white-space: pre}

/* Style for code examples */
/* code, pre {font-family: Chalkboard, monospace} */
/* code, pre {font-family: Apple Casual, Casual, monospace} */
code, pre {font-family: "1942 report", monospace; letter-spacing: -0.15em}
/* code, pre {font-family: Marker Felt, Marker Felt Thin, monospace} */
/* code, pre {font-family: Caflisch Script Pro, monospace} */
pre b, code b {background: url(highlighter.png) 100% 50% repeat-x;
  background-size: 100% 100%}
pre .unimportant {font-size: 70%}

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

/* For advertisement on last slide */
.join {background: url(MMI-dotpattern-rl-500.png) no-repeat right;
  background-size: auto 90%; padding: 0.2em 0.4em}
.join > div {position: relative; 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);
  color: #005A9C; text-align: center; line-height: 1.5; font-size: 80%;
  -o-transform: rotate(-3deg); -khtml-transform: rotate(-3deg);
  -moz-transform: rotate(-3deg); transform: rotate(-3deg)}
.join img {float: left; height: 10.59em; height: 9em; margin-right: 0.5em}
.join p {margin: 0}
.join a:link, .join a:visited {text-decoration: none}

/* Show a little red arrow instead of a red asterisk after links */
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"}

/* Agenda */
table.schedule {font-size: 70%}
table.schedule td, table.schedule th {border: none; text-align: left;
  vertical-align: baseline; padding: 0 0.2rem}
table.schedule td:first-child {color: silver; vertical-align: middle;
  /* background: silver; color: white;
  vertical-align: middle; border-bottom: 0.05em solid */}
table.schedule thead {display: none}
table.schedule .\35     td + td {font-size: 85%}  /* class=5 */
table.schedule .\38     td + td {font-size: 94%}  /* class=8 */
table.schedule .\31\30  td + td {font-size: 100%} /* class=10 */
table.schedule .\31\35  td + td {font-size: 115%} /* class=15 */
table.schedule .\32\30  td + td {font-size: 130%} /* class=20 */
table.schedule .\32\35  td + td {font-size: 145%} /* class=25 */
table.schedule .\33\30  td + td {font-size: 160%} /* class=30 */
table.schedule .\33\35  td + td {font-size: 175%} /* class=35 */
table.schedule .\34\30  td + td {font-size: 190%} /* class=40 */
table.schedule .\34\35  td + td {font-size: 205%} /* class=45 */
table.schedule .\36\30  td + td {font-size: 250%} /* class=60 */

/* A subtly blinking background behind div.callout */
@-webkit-keyframes flash {
  from {background-position: -50% 0}
  8% {background-position: 150% 0}
  to {background-position: 150% 0}
}
@keyframes flash {
  from {background-position: -50% 0}
  8% {background-position: 150% 0}
  to {background-position: 150% 0}
}
div.callout {
  -webkit-animation: flash 10s 5s infinite;
  animation: flash 10s 5s infinite;
  background-position: -50% 0;
  background-repeat: no-repeat;
  background-size: 25% 100%;
  background-image: -o-linear-gradient(0deg, hsla(0,0%,100%,0),
    white, hsla(0,0%,100%,0));
  background-image: -moz-linear-gradient(0deg, hsla(0,0%,100%,0),
    white, hsla(0,0%,100%,0));
  background-image: -webkit-linear-gradient(0deg, hsla(0,0%,100%,0),
    white, hsla(0,0%,100%,0));
  background-image: linear-gradient(0deg, hsla(0,0%,100%,0),
    white, hsla(0,0%,100%,0))}

/* List bullets for 2nd, 3rd and 4th level */
ul ul {list-style: square}
ul ul ul {list-style: circle}
ul ul ul ul {list-style: disc}

/* A little wider: 46% instead of 45% */
.col {width: 46%; margin: 1em 3.5% 1em 0}
.col + .col {margin: 1em 0 1em 4%}

/* Use a single element with class=columns instead of two with class=col */
.columns {columns: 2}
.columns li {break-inside: avoid}

/* For slides or topics that are on the slides but won't be presented */
.skip {color: silver}

/* Avoid changes in line height (at the cost of a risk of overlap) */
sub, sup {line-height: 0}

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

/* Red/green text for OK/fail, e.g., in a table of features */
[title="OK"], [title="fail"] {border-radius: 0.3em; color: white;
  padding: 0.05em 0.15em; border: thin solid;
  /* 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%)}
