body,
.ui-widget,
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
  font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
  color: #222;
}

h1,
h2,
h3 {
  margin: 8px 0;
  padding: 0 8px;
  font-weight: normal;
}

h1:first-child {
  border-bottom: 3px solid #222;
}

pre {
  margin: 1em 40px;
  padding: .25em;
}

/* when code blocks are embedded in a table, we don't need giant whitespace */
table pre {
  margin: 0;
}

/* applies to inline code only */
code {
  padding: 2px 4px;
  font-size: 1.1em;
  background-color: #ededed;
  border-radius: 4px;
}

pre code {
  display: block;
  padding: unset;
  border-radius: unset;
  overflow: hidden;
}

@media screen {
  /* explicitly size parent elements so the screen blanker works */
  html, body{
    height:100%;
    margin:0;
    padding:0;
    overflow: hidden;
  }
    html.floatingNotes {
      overflow: scroll;
    }

    body.busy {
      cursor: progress;
    }

  body#download,
  body#stats {
    overflow: auto;
  }

  #preso,
  .slide {
    background: #fff;
    width: 1024px;
    height: 768px;
    margin-left:auto;
    margin-right:auto;
    overflow:hidden;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
  }

  .slide {
    font-size: 1.5em;
  }

  #preso, .slide.background-fit {
      background-size: contain;
  }

  #footer {
    background-color: #f2f2f2;
    -webkit-box-shadow:0 0 25px rgba(0,0,0,0.35);
    -moz-box-shadow:0 0 25px rgba(0,0,0,0.35);
    box-shadow:0 0 25px rgba(0,0,0,0.35);
    padding: 4px 8px;
    width: 100%;
    position:fixed;
    bottom: 0;
    z-index: 2147483647; /* max, see http://www.puidokas.com/max-z-index/ */
    display: none;
  }
    #footer .container {
      border: 1px solid #ccc;
      padding: 2px 6px;
      margin: 0 3px;
      border-radius: 3px;
    }
  #followMode {
    font-weight: bold;
  }
  #pauseScreen {
      background: rgba(0, 0, 0, 0.85);
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0px;
      left: 0px;
      display: none;
      margin: auto;
      color: white;
      padding: 1em;
      z-index: 2147483647; /* max, see http://www.puidokas.com/max-z-index/ */
      text-align: center;
  }
  #buttonNav {
    display: none;
  }

  /* prevent large images from getting too out of hand */
  .content img {
    max-width: 100%;
    max-height: 100%;
  }

  /* set up annotation overlays */
  .slide canvas.annotations {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
  }
}

.ui-button:active {
  border-color: #263238;
  background-color: #263238;
}

/* plain (non-bullet) text */
.content > p,
.content > form > p {
  margin: 1em;
}

.content > blockquote,
.content > form > blockquote {
  margin: 2em;
}

.content img,
.content svg {
  display:block;
  margin-left:auto;
  margin-right:auto;
}

.cover h1 {
  border: none;
}

.slide .center,
#slides.supplemental .slide .center {
  position: relative;
  /* for some reason, setting top to 50% is pushing the content too far down, no idea why */
  top: 42%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.center h1,
.center h2,
.center h3,
.center h4,
.center h5,
.center h6,
#slides.supplemental .slide .center h1,
#slides.supplemental .slide .center h2,
#slides.supplemental .slide .center h3,
#slides.supplemental .slide .center h4,
#slides.supplemental .slide .center h5,
#slides.supplemental .slide .center h6
{
  text-align: center;
}

.small {
    font-size: 80%;
}

.smaller {
    font-size: 70%;
}

/* inverse slide style */
.slide.inverse {
  color: #efefef;
  background-color: #262626;
}
  .slide.inverse code {
    color: black;
  }
  .slide.inverse h1:first-child {
    border-bottom: 3px solid #efefef;
  }

/**********************************
 ***       List styling         ***
 **********************************/

.content > ol,
.content > ul {
  margin-left: 2em;
}

.content ol > li,
.content > ul li,
.content > form > ul li {
  margin: .5em;
}

/* ironically, normal lists have bullets and 'bullets' lists don't */
.bullets ul {
  list-style: none;
  padding-left: 0px;
}
.bullets > ul > li {
  text-align: center;
  padding: 25px;
}

.smbullets > ul > li {
  text-align: center;
  padding: 10px;
}

.bullets ul ul > li {
  font-size: 80%;
}

.content .incremental.hidden {
  visibility: hidden;
}

.commandline code.command {
    color: #000;
}

.commandline code.result {
    color: #444;
}

.command h1 {
    white-space: pre;
}

.code {
    white-space: pre;
}

#notes, .notes-section, .instructor, .solguide { display: none }

.offscreen { position:absolute; top:0; left:-9999px; overflow:hidden; }

body.presenter #debugInfo {
  margin-left: 30px;
}

#notesInfo {
  margin-left: 30px;
  display: none;
}

img#disconnected {
  float: right;
  margin: 5px;
  display: none;
}

#preshow { display: none; }
/* define the screen blocking view */
/* we define it as invisible because we use jQuery to animate its presentation */
#screenblanker {
  height: 100%;
  display: none;
}

/**********************************
 ***       Table styling        ***
 **********************************/

.content table {
  margin-left: auto;
  margin-right: auto;
  border-collapse:collapse;
  width: 90%;
  font-size: .9em;
}

.content thead {
  border-bottom: 2px solid #ccc;
}

.content tr:not(:last-child) {
  border-bottom: 1px solid #ccc;
}

.content tbody tr:nth-child(2n+1) {
  background-color: #f9f9f9;
}

.content td {
  padding: .25em .5em;
}

.content td:first-child {
  border-right: 2px solid #ccc;
}

/**********************************
 ***      Sidebar styling       ***
 **********************************/
#hamburger {
  position: fixed;
  padding: 4px 8px;
  opacity: .05;
  border-radius: .1em;
  transition: all .2s;
  z-index: 2147483647;
  float: left;
}

#hamburger:hover,
#hamburger.highlight {
  opacity: 1;
  background-color: #337ab7;
  color: #ffffff;
}

#sidebarExit {
  position: absolute;
  height: 100%;
  width: 100%;
  left: 240px;
  z-index: 2147483647;
}

#feedbackSidebar,
#sidebarExit,
.submenu {
  display: none;
}

.sideMenu {
  position: absolute;
  height: 100%;
  width: 240px;
  background-color: #ffffff;
  box-shadow:0 0 25px rgba(0,0,0,0.35);
  overflow: auto;
  z-index: 2147483647;
}

.sideMenu textarea {
  min-height: 80px;
  width: 90%;
  margin: 8px;
  border-color: #dddddd;
  border-radius: .3em;
}

.sideMenu p {
  text-align: center;
  margin: 0;
}

.sideMenu i {
  margin-right: 8px;
}

.sideMenu hr {
  clear: both;
}

.optionWrapper,
.buttonWrapper {
  line-height: 48px;
  padding: 0 16px;
  font-weight: bold;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.buttonWrapper:hover,
.submenu a:hover,
.submenu .highlighted a {
  background-color:#337ab7;
  color: #ffffff;
  cursor: pointer;
}

.buttonWrapper.disabled {
  opacity: 0.25;
  filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
  background-color: initial !important;
  color: initial !important;
}
.buttonWrapper.disabled:hover {
  background-color: initial !important;
  color: initial !important;
}

#paceWrapper {
  display: flex;
}

#paceWrapper div {
  flex: 1;
  line-height: 30px;
  margin: 12px 0;
  padding: 0;
  text-align: center;}

#paceWrapper i {
  margin-right: 0;
}

.submenu .buttonWrapper{
  display: inline-block;
  width: 90%;
  margin: 0 5%;
  padding: 0;
  background-color: #337ab7;
  border: 1px solid #2e6da4;
  color: #ffffff;
  border-radius: 4px;
  text-align: center;
  line-height: 36px;
}

.submenu .buttonWrapper:hover {
  background-color: #286090;
  border-color: #204d74;
}

.submenu ul {
  font-size: .9em;
  list-style: none;
  margin: 0;
  padding: 0;
}

.submenu a {
  display: block;
  color: #000;
  text-decoration: none;
}

.submenu a i {
  float: right;
}

.navSection {
  border-top: 1px solid #ccc;
  padding: .8em;
}

.navItem {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: .5em 1.5em;
}

#navigationHover {
  display: none;
  position: absolute;
  overflow: hidden;
  width: 640px;
  height: 500px;
  z-index: 99999;
  background-color: inherit;
  margin: 0px;
  box-shadow:0 0 25px rgba(0,0,0,0.35);
  transform: scale(0.3);
  transform-origin: 0 0;
}

#askedQuestions {
  margin: 0;
}
#askedQuestions li {
  cursor: default;
}
#askedQuestions li:hover {
  background-color: #dedede;
}
#askedQuestions li:hover:after {
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: normal;
  text-decoration: inherit;
  padding: 0 8px;
  float: right;
  content: "\f057"; /* fa-times-circle */
  font-weight: 600;
}
#askedQuestions li.closed {
  text-decoration: line-through;
  color: #ccc;
}
#languageMenu {
  line-height: 2em;
}


/* End Sidebar styling */

/* questions HUD indicator */
#questionsIndicator {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 1em;
  height: 1em;
  font-size: 2em;
  background-color: #fb8d8d;
  border: 1px solid #900e0e;
  border-radius: 5px;
  padding: 0 0 0.25em 0.25em;
  opacity: 0.5;
  z-index: 999999999;
  display: none;
}
/* end questions HUD indicator */

.results {
  background-color:#002200;
  color:#00AA00;
  border:2px solid black;
  position: fixed;
  top:0px;
  width:100%;
  padding:15px;
  margin:0px;
  z-index: 2147483647; /* max, see http://www.puidokas.com/max-z-index/ */
}

.results pre {
  margin: 0;
  padding: 0;
}

/* Add Console "code highlighting" styles to resemble the look of a terminal window. */
pre.highlight code.language-console,
pre.highlight code.console {
  background: #222;
  background: url(titlebar/left.png) left top no-repeat, url(titlebar/right.png) right top no-repeat, url(titlebar/center.png) center top repeat-x #222;
  color: #fff;
  padding: 30px 0.5em 0.5em;
  border: 1px solid #acacac;
  border-radius: 6px;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  box-shadow: 0px 0px 10px #acacac;
  overflow: hidden;
}

pre.highlight code.language-powershellconsole,
pre.highlight code.powershellconsole {
  background: rgb(1, 36, 86);
  background: url(titlebar/powershell-controls.png) right top no-repeat, url(titlebar/powershell.png) left top repeat-x rgb(1, 36, 86);
  color: rgb(238, 237, 240);
  padding: 32px 0.5em 0.5em;
  border: 6px solid rgb(102, 202, 234);
  border-top: 2px solid rgb(102, 202, 234);
  border-radius: 4px;
  overflow: hidden;
}

pre.highlight code.language-console.nochrome,
pre.highlight code.language-powershellconsole.nochrome {
  background-image: none;
  border-width: 1px;
  padding: 0.5em;
  border-radius: 4px;
}

pre.highlight code .highlightedLine {
  background-color: #f5e2e2;
  color: #000;
  display: inline-block;
  width: 100%;
}

/* to avoid breaking changes */
.highlight .language-shell {
  display: block;
  background-color: #222;
  color: #00ff40;
  border: 2px solid #ddd;
  padding: 0.5em;
  overflow: hidden;
}

/* Fix spaces in line numbered code blocks */
pre.highlight td.hljs-ln-numbers {
    width: 1.5em;
    text-align: right;
    padding-right: 0.5em;
    background-color: white;
}

pre.highlight td.hljs-ln-code {
    padding-left: 0.5em;
}

pre.highlight tr:hover {
    background-color: yellow;
    cursor: pointer;
}

/* Do not add borders to line-numbered lines */
pre.highlight tr:not(:last-child) {
    border-bottom: none;
}

/* Diagram styling: overriding mermaid.css as needed */
.language-render-diagram,
.language-render-diagram .noteText,
.language-render-diagram .node text,
.language-render-diagram div.mermaidTooltip {
  font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
}


/**********************************
 ***       code execution       ***
 **********************************/
 .execute {
  position: relative;
  cursor: pointer;
}

.execute:after {
  font-family: "Font Awesome 5 Free";
  content: "\F144";
  position: absolute;
  right: .5em;
  font-weight: 600;
}

.executing:after {
  content: "\f1ce";
  color: #e74c3c;
  -webkit-animation: spin 1.5s linear infinite;
  animation: spin 1.5s linear infinite;
}

.executing:hover { cursor: wait; }

.execute.numbers {
  padding-bottom: 1.5em;
}
/* End code execution */

#tips, #preshow_timer {
  display:inline;
  background-color:#000;
  color:#fff;
  border:2px solid black;
  position: fixed;
  padding:25px;
  margin:0px;
  z-index: 2147483647; /* max, see http://www.puidokas.com/max-z-index/ */
}

#tips {
  top: 0px;
  right: 0px;
  text-align:right;
}

#preshow_timer {
  bottom: 0px;
}

/**********************************
 ***     table of contents      ***
 **********************************/
#toc a {
  text-decoration: none;
}
#toc a::after {
  content: leader(".") target-counter(attr(href url), page);
}

/**********************************
 ***       form widgets         ***
 **********************************/
form .element {
  font-size: .8em;
  width: 90%;
  margin: 0 auto;
}

.element input + label,
.element label + input,
.element select {
  margin-left: 0.5em;
}

.element textarea {
  display: block;
  width: 85%;
}

.element ul {
  list-style: none;
  margin-top: 0;
}

.element input[type=checkbox],
.element input[type=radio] {
  font-size: 1em;
  width: 1em;
  height: 1em;
}

.warning {
  background-color: #ff7373;
}
.tools {
  position: absolute;
  bottom: 40px;
  right: 20px;
}

.tools input[type=submit],
.tools input[type=button] {
  height: 24px;
  font-size: .6em;
  border: none;
}
.tools input[type=submit].dirty {
  color: #fff;
  background-color: #2e6da4;
}
.tools input[type=button].display {
  display: none;
}

.rendered {
  border: 1px solid #ccc;
  border-radius: 0.5em;
  padding: .5em;
  min-height: 3em;
}

.rendered label {
  border-bottom: 1px solid #999;
}
.item {
  width: 100%;
  position: relative;
}

.answer {
  position: absolute;
  left: 0;
}
.bar {
  height: 1.25em;
  background-color: #e74c3c;
  border: 1px solid #f45f5f;
  border-left: none;
  border-radius: 0 0.4em 0.4em 0;
}
.correct .bar {
  background-color: #dff0d8;
  border: 1px solid #00AA00;
  border-left: none;
}

.count {
  display: none;
}

/**********************************
 ***     form answer key        ***
 **********************************/

/* no, the option styling will likely not do anything */
.slide.answerkey form option.incorrect,
.slide.answerkey form label.incorrect {
  text-decoration: line-through;
  font-weight: 100;
  opacity: .7;
  color: #e74c3c; /* red */
}
.slide.answerkey form label.correct,
.slide.answerkey form option.correct {
  font-weight: 900;
  color: #00AA00; /* green */
}

.slide.answerkey input::before {
  margin-left: -1em;
  vertical-align: top;
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  text-decoration: none;
  font-weight: 600;
}
  /* Be careful with order here; these rules depend on cascading order */
  .slide.answerkey input::before,
  .slide.answerkey input.correct:checked::before {
    content: "\f14a"; /* square checkmark */
    color: #00AA00;   /* green */
  }
  .slide.answerkey input:checked::before,
  .slide.answerkey input.correct::before {
    content: "\f00d"; /* times */
    color: #e74c3c;   /* red */
  }



/*****************
 ***   modals   ***
 *****************/
.ui-dialog.ui-widget-content {
  border: none;
  box-shadow:0 0 25px rgba(0,0,0,0.35);
}

.ui-dialog .links,
#settings-modal .description,
.ui-dialog select {
  font-size: .75em;
}

.ui-dialog .ui-dialog-buttonpane{
  border: none;
  padding: 0;
  margin-top: 0;
}

.ui-dialog .ui-widget-header {
  border: none;
  background-color: transparent;
}

.ui-dialog .setting {
  margin-bottom: 8px;
}

.ui-dialog .setting input {
  margin-left: 1em;
}

.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
  float: none;
  padding-left: 1em;
}

.ui-dialog .ui-button {
  font-size: .8em;
}

.ui-dialog .links {
  text-align: right;
}

.ui-dialog p,
.ui-dialog select {
  margin-left: 30px;
}

.ui-dialog p {
  margin-top: .5em;
  margin-bottom: .5em;
}

.ui-dialog .right {
  float: right;
}

.ui-dialog .auxillary {
  background: none;
  border: none;
  font-size: small;
}
  .ui-dialog .auxillary:active {
    color: #ccc;
  }

.no-close .ui-dialog-titlebar-close {
  display: none;
}

#help-modal {
  display: none;
  font-size: .9em;
}

  #help-modal .ui-dialog .ui-dialog-title {
    font-size: 1em;
  }

#help div {
  padding: 6px 0;
}

  #help div + div {
    border-top: 1px solid #eee;
  }

  #help .description,
  #help .action,
  #help .hotkeys {
    display: inline-block;
    vertical-align: middle;
  }

  #help .description {
    width: 30%;
  }

  #help .action {
    width: 15%;
    color: gray;
  }

  #help .hotkeys {
    width: 25%;
  }

  #help .hotkeys .key {
    border: 1px solid #ccc;
    background-color: #dfdfdf;
    border-radius: 0.25em;
    padding: 0.15em 0.5em;
    margin: 0.25em;
  }

 /*****************
  *** end modal ***
  *****************/

/******************************
 ***   Tour customization   ***
 ******************************/
.introjs-skipbutton {
  color: red;
}
.introjs-nextbutton {
  font-weight: bold;
}
.introjs-donebutton {
  color: white;
  font-weight: bold;
  background-image: linear-gradient(to bottom, #62c462, #51a351);
  border-color: #51a351 #51a351 #387038;
  text-shadow: none;
}
.introjs-donebutton:focus,
.introjs-donebutton:active {
  background-color: #51a351;
  background-image: none;
}
.tourDark {
  background-color: rgba(183, 183, 183, 0.9);
}
.introjs-tooltip h1,
.introjs-tooltip h2,
.introjs-tooltip h3,
.introjs-tooltip h4,
.introjs-tooltip h5,
.introjs-tooltip h6 {
  border-bottom: 2px solid black;
  margin: 0 0 0.5em 0;
}
.introjs-tooltip h1 { font-size: 1.3em; }
.introjs-tooltip h2 { font-size: 1.2em; }
.introjs-tooltip h3 { font-size: 1.1em; }
.introjs-tooltip h4 { font-size: 1em;   }



/**********************************
 ***   supplemental materials   ***
 **********************************/
#slides.supplemental .slide {
  max-height: none !important;
  height: auto;
  padding: 0.5em;
  width: 8.1in;
}

.supplemental h1,
.supplemental h2,
    .supplemental h3,
    .supplemental h4,
    .supplemental h5,
    .supplemental h6 { text-align: left; }

.supplemental img { max-width: 7in; }

.supplemental ul { list-style: disc; margin-left: 1.25em !important; padding-left: inherit !important; }

/* downloads page */
#download {
  max-width: 90%;
  margin: 0 auto;
}

#download h4 {
  margin-left: .5em;
}

/**********************
 ***   stats page   ***
 **********************/

/* apply some nifty rounding styles to the row */
#stats div.row {
  position: relative;
  margin: 0.25em 1em;
  padding: 0.1em;
  background-color: #dfdfdf;
  color: #222;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -khtml-border-radius: 5px;
  border-radius: 5px;
  cursor: default;
}
/* and to the bar inside the row */
#stats div.bar {
  height: 1.25em;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -khtml-border-radius: 5px;
  border-radius: 5px;
}
/* position the label to the top left and time to the top right */
#stats div.row span.label {
  position: absolute;
  top: 0.15em;
  left: 0.25em;
}
#stats div.time {
  position: absolute;
  top: 0.15em;
  right: 0.25em;
}

/* Add the disclosure triangles */
#stats div.row:before {
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: normal;
  font-size: 1.25em;
  text-decoration: inherit;
  font-weight: 600;
}
  #stats div.row.top:hover:before {
    position: absolute;
    content: "\f0da"; /* fa-caret-right */
    margin-left: -0.5em;
  }
  #stats div.row.top.active:before {
    position: absolute;
    content: "\f0d7"; /* fa-caret-down */
    margin-left: -0.75em;
  }

#stats h2 {
  border-bottom: 1px solid #eee;
}
#stats #viewers,
#stats #elapsed {
  text-align: center;
  min-height: 2em;
}
#stats #viewers.zoomline,
#stats #elapsed.zoomline {
  text-align: left;
}
#stats .zoomline .col.current,
#stats .zoomline .col.current .inner {
  background-color: #ffb105;
  min-width: 5px;
}
#stats .zoomline .col.current:hover {
  min-width: 10px;
  background: #ffb105;
  background: linear-gradient(#efefec, #ffb105);
}
#stats .zoomline .col.current:hover .inner,
#stats .zoomline .col.current .inner:hover {
  background-color: #f3708d;
}


#stats #stray,
#stats #idle {
  display: none;
  width: 75%;
  margin: 1em auto;
  padding: 0.5em;
  border: 1px solid #ccc;
}
  #stats #stray {
    background-color: #8e030a;
  }
  #stats #idle {
    background-color: #3a64c1;
  }

/* style all three boxes */
#stats div#least,
#stats div#most,
#stats div#all {
  width: 45%;
  border: 1px solid black;
  -moz-border-radius: 1em;
  -webkit-border-radius: 1em;
  -khtml-border-radius: 1em;
  border-radius: 1em;
}

/* least box */
#stats div#least {
  float: left;
  margin-left: 3%;}
#stats div#least div.bar {
  background: #f5f56f;
}

/* most box */
#stats div#most {
  float: right;
  margin-right: 3%;
}
#stats div#most div.bar {
  background: #f45f5f;
}

/* listing of all stats */
#stats div#all {
  clear: both;
  position: relative;
  top: 3em;
  margin: 0 3% 5em 3%;
  width: 94%;
}
#stats div#all div.bar {
  background: #66b366;
  border-color: #000;
}

/* detail view */
#stats div#all div.detail {
  margin: 0 5em 0 1em;
}
#stats div#all div.detail div.bar {
  background: #8484dd;
}
/**********************
 *** end stats page ***
 **********************/

 /**********************
 ***    Callouts    ***
 **********************/

.callout {
  padding: 1em;
  position: relative;
  line-height: 1.2em;
  border: 1px solid #222;
  border-radius: 4px;
  background-color: transparent; /* because there's a warning class with a red background */
}

  .callout:before {
    font-family: "Font Awesome 5 Free";
    font-style: normal;
    font-weight: normal;
    font-size: 2em;
    text-decoration: inherit;
    position: absolute;
    left: 0.3em;
    font-weight: 600;
  }
  .callout:after {
    font-family: "Font Awesome 5 Free";
    font-style: normal;
    font-weight: normal;
    font-size: 1.5em;
    text-decoration: inherit;
    position: absolute;
    left: 0.5em;
    top: 0.65em;
    color: #fff;
    font-weight: 600;
  }

  .callout.info,
  .callout.warning,
  .callout.question,
  .callout.exercise,
  .callout.stop,
  .callout.thumbsup,
  .callout.conversation,
  .callout.glossary,
  .callout.terminal {
    padding-left: 3em;
  }

  .callout.info:before         { content: "\f05a"; } /* fa-info-circle */
  .callout.warning:before      { content: "\f071"; } /* fa-exclamation-triangle */
  .callout.question:before     { content: "\f059"; } /* fa-question-circle */
  .callout.exercise:before     { content: "\f41b"; } /* fa-pencil-square */
  .callout.stop:before         { content: "\f05e"; } /* fa-ban */
  .callout.thumbsup:before     { content: "\f164"; } /* fa-thumbs-up */
  .callout.conversation:before { content: "\f075"; } /* fa-comment */
  .callout.glossary:before     { content: "\f02d"; } /* fa-book */

  .callout.terminal:before     { content: "\f0c8"; } /* fa-square */
  .callout.terminal:after      { content: "\f120"; } /* fa-terminal */


/* callouts used on error pages */
.error .callout {
  padding-left: 4em;
  margin: 1em;
  background-color: #ffe0e0;
  padding-bottom: 0;
}
  .error .callout p:first-of-type {
    margin-top: 0;
  }

/**********************
***  end callouts   ***
**********************/
.callout.glossary a.label,
ul.glossary.terms a.label {
  display: block;
  font-weight: 600;
  text-decoration: none;
}
ul.glossary.terms a.return {
  text-decoration: none;
  padding-right: 3em;
}
a.term {
  text-decoration: none;
}
a.term:after {
  font-family: "Font Awesome 5 Free";;
  font-size: 0.8em;
  vertical-align: super;
  content: "\f27b";
  text-decoration: none;/* fa-commenting-o */
  font-weight: 600;
}


/**********************
***  glossary       ***
**********************/

/**************************
*** activity indicators ***
***************************/
.slide.activity .activityToggle {
  position: absolute;
  bottom: 1em;
  right: 1em;
}

#synchronize {
  display: none;
  position: absolute;
  bottom: 1em;
  left: 1em;
  font-size: 0.8em;
}

/* Render hidden headlines so that when we print with wkhtmltopdf, we can use section
   titles for page headers.  it would make sense to put this in the print section, but
   then you get a weird double headline when previewing a print in the browser. */

/* make this invisible as possible, while still rendering so that wkhtmltopdf doesn't ignore it */
h1.section_title {
  color: transparent !important;
  opacity: 0 !important;
  font-size: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* because the above section headers are h1 elements rendered only in print */
.content:not(.cover) h1:not(.section_title) {
  border-bottom: 2px solid #222;
}

/**** end hidden headlines ****/

/* Tiny mobile devices. Larger devices scale automatically. */
@media screen and (max-width: 320px)
{
  html,body,#footer {
    min-width: 320px !important;
    max-width: 320px !important;
    width: 320px !important;
    margin: 0;
    padding: 0;
  }
  body > #preso {
    transform: scale(.32);
    transform-origin: 0 0;
    width: 2928px;
  }
  #preso .slide {
    width: 100%;
    margin: 0;
    padding: 0;
  }
}
/* show notes, etc. when in portrait mode with plenty of room for it. */
@media screen and (max-width: 1024px) and (orientation:portrait) {
  body { overflow: auto; }

  /* Styling to make the handout notes appear in the printed output. */
  #notes {
    display: block;
    clear: both;
    margin: 1em 1em 4em 1em;
    font-size: 9pt;
    border-top: 2px dashed #999;
  }
}

/* Show button navigation on touch screen devices. */
@media screen and (pointer: coarse) {
  #buttonNav {
    display: block;
    position: fixed;
    bottom: 0;
    width: 100%;
  }

  #buttonNav div {
    display: inline-block;
    width: 50%;
    line-height: 3em;
    background-color: #337ab7;
    color: #fff;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
  }
}

/** Print **/
@media print {
   #preso,
  .slide:not(.center) {
    max-height: inherit !important;
    height: 100% !important; /* because otherwise handout notes are cutoff by the inline height set on the slide */
  }

  /* prevent large images from running off the page */
  .content img {
    max-width: 7in;
    max-height: 9.5in;
  }

  #footer {
    background: #eee;
    padding: 2px;
    width: 590px;
    height: 20  px;
    margin-left:auto;
    margin-right:auto;
  }

  /* keep the activity toggle from showing in printed output */
  .slide.activity .activityToggle {
    display: none;
  }

  /* Styling to make the handout notes appear in the printed output. */
  .notes-section {
    display: block;
    clear: both;
    margin-top: 1em;
    border-top: 2px dashed #999;
  }

  .notes-section .callout {
    margin-right: 1em;
    margin-left: 1em;
  }

  .notes-section.notes .personal {
    float: right;
    border-left: 2px solid #999;
    border-bottom: 2px solid #999;
    border-radius: 0 0 0 0.5em;
    padding: 0.1em 0 0.25em 0.25em;
    margin: 0 0 1em 1em;
    max-width: 35%;
  }

  .notes-section.notes .personal h1 {
    margin-top: 0;
    border-bottom: 1px solid #ccc;
    font-size: 1.5em;
  }

  /* page break styling */
  .pagebreak {
    page-break-after: always;
    font-size: small;
    font-style: italic;
    padding-top: 0.25em;
    padding-bottom: 0.25em;
  }

}

 /***********************
 ***    Animations    ***
 ***********************/

@-webkit-keyframes spin {
    from   {
        -webkit-transform: rotate(0deg);  /* Chrome, Opera 15+, Safari 3.1+ */
        transform: rotate(0deg);  /* Firefox 16+, IE 10+, Opera */
    }
    to {
        -webkit-transform: rotate(360deg);  /* Chrome, Opera 15+, Safari 3.1+ */
        transform: rotate(360deg);  /* Firefox 16+, IE 10+, Opera */
    }
}
@keyframes spin {
    from   {
        -webkit-transform: rotate(0deg);  /* Chrome, Opera 15+, Safari 3.1+ */
        transform: rotate(0deg);  /* Firefox 16+, IE 10+, Opera */
    }
    to {
        -webkit-transform: rotate(360deg);  /* Chrome, Opera 15+, Safari 3.1+ */
        transform: rotate(360deg);  /* Firefox 16+, IE 10+, Opera */
    }
}

/* end animations */
