.reveal figure > img {
  margin-bottom: 0;
}
.reveal figure > figcaption {
  font-size: 80%;
}
.references ul {
  font-size: 35%;
}

/* PennApps talk: multi-column name lists (DOM methods, events) */
.reveal .cols { display: flex; justify-content: center; gap: 1.5em; }
.reveal .cols .col { text-align: left; }

/* PennApps talk: browser logos row */
.reveal .browsers { display: flex; justify-content: center; align-items: center; gap: 16px; margin-top: 20px; }
.reveal .browsers img { height: 80px; margin: 0; border: none; box-shadow: none; background: none; }

/* PennApps talk: ElectNext answer-question demo mockup (originally a live jQuery/Ajax demo) */
.reveal .electnext-demo {
  width: 820px; margin: 0 auto; padding: 12px;
  background: white; color: black; border: solid #444444 1px;
  font-family: Arial, Verdana, sans-serif; font-size: 18px; text-align: left;
}
.reveal .electnext-demo img { margin: 0; border: none; box-shadow: none; background: none; }
.reveal .electnext-demo h3 { color: #444444; font-size: 100%; margin: 0; padding: 0; text-transform: none; }
.reveal .electnext-demo a, .reveal .electnext-demo a:visited { color: inherit; text-decoration: none; }
.reveal .electnext-demo .electnext-header img { height: 40px; }
.reveal .electnext-demo .candidate-header {
  background-color: #444444; color: white; padding: 5px 10px;
  text-align: left; font-size: 150%; margin: 0 0 5px 0;
}
.reveal .electnext-demo .candidate-column { float: left; width: 150px; text-align: center; }
.reveal .electnext-demo .candidate-column .block { background-color: #dddddd; margin-bottom: 3px; }
.reveal .electnext-demo .candidate-column .block.padded { padding: 10px 5px; }
.reveal .electnext-demo .candidate-photo { width: 100px; margin: 10px 0; }
.reveal .electnext-demo .office-sought {
  background-color: white; color: #d45447; padding: 5px; margin: 10px 10px 5px 10px; font-size: 120%;
}
.reveal .electnext-demo .election-day { color: #444444; }
.reveal .electnext-demo .alignment .overall { text-align: center; margin-top: 0; }
.reveal .electnext-demo .alignment .overall .score { font-size: 350%; }
.reveal .electnext-demo .alignment .overall .percent-sign { font-size: 120%; }
.reveal .electnext-demo .alignment .other-questions { font-size: 80%; color: #444444; }
.reveal .electnext-demo .candidate-main { float: left; width: 600px; margin-left: 10px; }
.reveal .electnext-demo .question-text { border: solid #444444 1px; padding: 20px; font-size: 120%; }
.reveal .electnext-demo .answer-buttons { margin-top: 10px; padding-left: 10px; }
.reveal .electnext-demo .answer-button {
  float: left; width: 80px; height: 39px; color: white; margin: 2px 2px 0 5px;
  padding: 16px 0 0 0; font-size: 100%; text-align: center; box-sizing: content-box;
}
.reveal .electnext-demo .answer-button.strongly-disagree,
.reveal .electnext-demo .answer-button.strongly-agree { padding: 7px 0 0 0; height: 48px; }
.reveal .electnext-demo .strongly-disagree { background-color: #d45447; }
.reveal .electnext-demo .disagree { background-color: #e08a81; }
.reveal .electnext-demo .neutral { background-color: #ffaa23; }
.reveal .electnext-demo .agree { background-color: #bcd5ae; }
.reveal .electnext-demo .strongly-agree { background-color: #92d270; }
.reveal .electnext-demo .clear { clear: both; }
