/* Page structure */

body {
  margin: 0;
  color: black;
  background-color: white;
  font: normal normal 19px/27px "Crimson Pro", serif;
}

.container {
  max-width: 920px;
  margin: auto;
  padding: 0;
}

.largeheader {
  background-color: #ffe4e4;
  color: black;
  padding: 1em 1em 0.25em 1em;
}

.innercontent {
  padding: 1.5em;
}

.footer {
  background-color: #eef;
  font-family: "Crimson Pro", Georgia, "Times New Roman", Times, serif;
  padding: 0.75em 1em;
  font-size: .8em;
  font-style: italic;
  text-align: center;
  clear: both;
}

body.coursenotes {
  background-color: white;
}

body.coursenotes .container {
  border: none;
}

#contents {
  background: #c5ebe9;
  font-size: 80%;
  margin-top: 0px;
  padding: 0px;
}

#contents div:first-child {
  font-size: 120%;
  font-weight: bold;
  margin: 0;
  padding: 3px 10px;
  background-color: #46655f;
  color: white;
  text-shadow: 1px 1px 0 #766;
}

#contents div:nth-child(0n+2) {
  padding: 5px 10px;
}

/* Headings */

section.notetitle {
  display: flex;
  flex-wrap: wrap-reverse;
  justify-content: space-between;
  align-items: center;
}


h1, h2, h3, h4, h5, h6 {
  font-family: 'Lato', sans-serif;
  font-weight: bold;
  letter-spacing: .02ex;
  line-height: 100%;
  text-align: left;
}

h1 {
  color: #113;
  padding: 0 0 0.1em 0;
  font-size: 70px;
}

section.notetitle h1 {
  flex: 6 1 0;
}

h2 {
  padding: 28px 0 0.12px 0;
  margin-top: 0.8em;
  font-size: 36px;
  font-weight: bold;
  color: #016;
}

.coursenotes h2 {
  font-size: 48px;
}

h3 {
  padding: 0.3em 0 0.15em 0;
  margin-top: 0.7em;
  font-size: 28px;
  font-weight: bold;
  color: #825;
}

.coursenotes h3 {
  font-size: 33px;
}

h4 {
  font-size: 24px;
  padding: 0.1em 0;
  color: green;
  letter-spacing: .1ex;
}

h5.group {
  font-size: 20px;
  background-image: linear-gradient(90deg,#fdd,#ffd, #dfd, #dff, #ddf, #fdf);
  color: black;
  padding: 2px 0;
  margin: 30px 60px 20px 40px;
  text-transform: uppercase;
  text-align: center;
  font-weight: bold;
}

h5.group:before {
  content: "❖ "
}

h5.group:after {
  content: " ❖"
}

/* Syntax Diagrams */

.syntaxdiagrams > div {
  font: bold 16px monospace;
}
svg.railroad-diagram path {
  stroke-width: 3;
  stroke: black;
  fill: rgba(0,0,0,0);
}
svg.railroad-diagram text {
  font: bold 14px monospace;
  text-anchor: middle;
}
svg.railroad-diagram text.diagram-text {
  font-size: 12px;
}
svg.railroad-diagram text.diagram-arrow {
  font-size: 16px;
}
svg.railroad-diagram text.label {
  text-anchor: start;
}
svg.railroad-diagram text.comment {
  font: italic 12px monospace;
}
svg.railroad-diagram rect {
  stroke-width: 3;
  stroke: black;
  fill: hsl(120,100%,90%);
}
svg.railroad-diagram path.diagram-text {
  stroke-width: 3;
  stroke: black;
  fill: white;
  cursor: help;
}
svg.railroad-diagram g.diagram-text:hover path.diagram-text {
  fill: #eee;
}

/* To show objects */

div.object {
  display: inline-grid;
  grid-template-columns: minmax(0, auto) minmax(0, auto);
  border: 1px solid black;
  background-color: #fffcf5;
  padding: 0;
}
div.object div {
  border: 1px solid black;
  margin: 0;
}
div.object div.label {
  padding: 3px 10px;
  background-color: #f5fffc;
  text-align: right;
  font-family: sans-serif;
}
div.object div.content {
  padding: 3px 20px;
  text-align: center;
  font-family: monospace;
}
div.object div.object {
  padding: 10px;
}

svg.object-diagram {
  border: 1px solid black;
}
svg.object-diagram text.label {
  font: 17px sans-serif;
  text-anchor: end;
  dominant-baseline: middle;
}
svg.object-diagram text.content {
  font: 17px monospace;
  text-anchor: middle;
  dominant-baseline: middle;
}

/* More drawings I like */

.pipeline {
  display: flex;
  align-items: center;
  gap: 0;
  margin: 35px 0;
}

.pipeline .box {
  border: 3px solid black;
  padding: 13px;
  background-color: #efe;
}

.pipeline .oval {
  border: 3px solid black;
  padding: 13px;
  background-color: #fef;
  border-radius: 50%;
}

.pipeline .arrow {
  font-size: 300%;
  transform: translateY(-.2rem);
}

.pipeline .comment {
  font-style: italic;
  padding: 5px;
}

/* Memory views */

.memory-view {
  display: inline-grid;
  grid-template-columns: auto auto;
}
.memory-view div:nth-child(2n) {
  border: 1px solid black;
  padding: 8px 12px;
  text-align: center;
}
.memory-view div:nth-child(2n-1) {
  border: none;
  padding: 8px 10px 0 0;
  text-align: right;
}

/* Nice (generally) block-level semantic styles */

.abstract, header {
  background-color: #f0f0f0;
  padding: 10px;
  font-style: italic;
  margin-top: 10px;
  color: #666;
}

.abstract {
  padding-bottom: 30px;
  margin-bottom: 0;
}

.title {
  font-family: sans-serif;
  line-height: 1em;
  font-size: 250%;
  font-weight: bold;
  padding-top: 0.75em;
  padding-bottom: 0.75em;
}

.subtitle {
  font-family: Avenir, sans-serif;
  font-size: 150%;
  padding-bottom: 0.6em;
  letter-spacing: .2ex;
}

.deco {
  font-family: Avenir, sans-serif;
  font-size: 125%;
  letter-spacing: 1.2ex;
}

.unitgoals, .summary {
  background-color: #efe;
  margin-top: 40px;
  padding: 20px;
  border: 1px solid #171;
}

.box {
  border: 1px solid black;
  padding: 0 0.2em;
  margin: 0 0.1ex;
}

.nicebox {
  border: 1px solid black;
  background-color: #eff;
  padding: 0 0.5em;
  margin: 0 0.1ex;
  border-radius: 3px;
}

.infobox {
  margin: 0;
  padding: 0;
  background-color: #bef1f9;
  border-radius: 5px;
}

.infobox header {
  font-style: normal;
  font-weight: bold;
  font-size: 125%;
  background-color: #384fef;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  margin: 0;
  padding: 10px;
  color: white;
  text-align: center;
}

.infobox p {
  margin: 10px;
}

.infobox p:last-child {
  margin-bottom: 5px;
}

.insetquote {
  margin-left: 2em;
  border-left: 3px solid #cccccc;
  padding-left: 0.75em;
}

.definition {
  margin-left: 2em;
  border-left: 4px solid green;
  padding-left: 0.75em;
}

.hframe {
  border-top: 2px solid #cbb;
  border-bottom: 2px solid #cbb;
  padding: 0;
  margin: 2em 0;
  line-height: 200%;
}

.overbar {
  border-top: 1px solid black;
}

.hide {
  display: none;
}

.description {
  padding-left: 3em;
  line-height: normal;
}

div.answer {
  padding: 0.5em 1em 0 1em;
  margin: 1em 0;
  font-size: 80%;
}

i.question {
  font: italic 18px "Crimson Pro",Georgia, "Times New Roman", serif;
}

div.scream {
  margin: .2em auto;
  padding: .6em;
  width: 60%;
  background-color: #900;
  color: #ee0;
  font-size: 300%;
  line-height: 1.1em;
  text-align: center;
}

div.semantics {
  font-style: italic;
  font-family: serif;
  margin: 1em 40px;
  white-space: pre; !important
}

.semfun, .semantics var {
  font: bold 125% cursive;
  text-decoration: none;
  background-color: transparent;
}

div.equations {
  font-family: "Courier New", monospace;
  font-size: 15	px;
  line-height: 1.4em;
  margin: 1em 40px;
  white-space: pre; !important
}

.grammar {
  border: 1px solid black;
  background-color: #f3ffe8;
  padding: 0.25em;
}

.formal {
  display: flex;
  column-gap: 5em;
  flex-wrap: wrap;
  align-items: flex-end;
  border: 1px solid black;
  background-color: linen;
  padding: 8px;
  overflow-x: scroll;
}

.registers {
  font-family: monospace;
  display: flex;
  flex-direction: row;
  gap: 2px;
  flex-wrap: wrap;
}

.registers div {
  text-align: center;
  background-color: #fef;
  border: 1px solid black;
  padding: 3px;
}

pre {
  font-family: Monaco, Menlo, Consolas, monospace;
  font-size: 15 px;
  line-height: 1.4em;
  margin: 1em 0px;
  white-space: pre; !important
}

pre.box {
  overflow: scroll;
}

pre.prettyprint {
  background: #161616;
  color: #8ca68c;
  font-size: 80%;
  line-height: 1.5em;
  margin: 1em 0;
  border: 1px solid #333;
  padding: 10px;
  position: relative;
  overflow-x: scroll;
}

pre.prettyprint.badcode {
  border: 3px solid red !important;
  background-color: #800;
}

pre.code {
  background-color: rgba(167, 216, 233, 0.35);
  padding: .75em  .75em .75em 1em;
  border: 1px solid rgb(127, 164, 177);
  white-space: pre;
  overflow-x: scroll;
}

pre.big {
  line-height: 1.2em;
  font-size: 1.3em;
}

p.centered, div.centered {
  text-align: center;
}

div.splitafter {
  border-bottom: 6px solid #804040;
  clear: both;
}

div.timeline {
  margin: 0 120px;
}

div.timeline div.box {
  text-align: center;
  padding: 0.3em 1em;
  background-color: #dff;
}

div.joiner {
  clear: both;
}

div.venn_rr {
  border-radius: 10px;
  border: 1px solid black;
  padding: 10px;
  margin-top:5px;
}

div.venn_rr > b {
  display: flex;
  justify-content: space-between;
}

div.venn_rr > b > i:first-child {
  font-style: normal;
  font-size: 120%;
}

div.venn_rr > b > i:nth-child(2) {
  font-style: italic;
  font-size: 80%;
}

canvas {
  position: relative;
}

canvas.centeredAndBordered {
  display: table;
  background-color: white;
  margin: 1px auto;
  border: 1px solid grey;
  -webkit-user-select: none;
}

.console {
  white-space: pre;
  font-family: Menlo, Monaco, Consolas, monospace;
  background-color: #444;
  border: 12px solid black;
  border-radius: 10px;
  color: white;
  font-size: 60%;
  margin: 1em 0px;
  padding: .75em .75em .75em 1em;
  overflow-x: scroll;
  position: relative;
}

.console kbd {
  color: yellow;
  font-weight: 600;
}

.console span.error {
  color: #ff8888;
}

.exercise {
  margin: 1em 0px;
  padding: 0.5em;
  border: thin dotted #999;
  background-color: #efa;
  font-style: italic;
}

.example {
  margin: 1em 0px;
  padding: 0.5em 1em;
  border: 1px dotted #862;
  background-color: #fff7f7;
}

.theme {
  background-color: #379;
  color: white;
  padding: 2px 4px;
  margin: 3px;
  font-size: 105%;
  font-weight: bold;
}

.seal {
  background-image: url('/~ray/images/lmuseal.jpg');
  background-repeat: no-repeat;
  background-position: center 1em
}

div.filename {
  text-align: left;
  margin-bottom: 0;
  padding: 0;
  color: navy;
}

div.filename span {
  font: normal 110% sans-serif;
  margin: 0;
  padding: 2px 16px;
  letter-spacing: 0.12ex;
  border-top: 1px solid #555;
  border-right: 1px solid #555;
  border-left: 1px solid #555;
  border-top-right-radius: 10px;
  border-top-left-radius: 10px;
  background-color: #fef;
}

div.filename + pre.prettyprint {
  margin-top: 0;
  padding-top: 10px;
}

.coursepagesectiontitle {
  font-family: Avenir, 'Lato', sans-serif;
  padding: 0.1em;
  margin-top: 0.8em;
  font-size: 180%;
  font-weight: bold;
}

div.exam {
  font-size: 90%;
  width: 90%;
}

ol.exam-problems > li {
  page-break-before:always;
  padding-top: 1.5em;
}

ol.exam-problems li.no-new-page {
  page-break-before:avoid;
  padding-top: 1em;
}

ol.exam-problems li > ol {
  list-style-type: lower-alpha;
}

ol.problem-group {
  list-style-type: upper-alpha;
}

ol.problem-group > li {
  font-weight: bold;
}

ol.problem-group .problem li:first-child {
  margin-top: 1em;
}

ol.problem {
  list-style-type: decimal;
}

ol.problem li {
  font-weight: normal;
}

ol.problem li > ol {
  list-style-type: lower-alpha;
}

ol.problem-cards {
  padding-left: 0;
}

ol.problem-cards > li {
  display: block;
  list-style-type: none;
  margin-bottom: 2em;
  border: 1.25px solid #008;
  border-radius: 5px;
  padding: 8px;
  background-color: rgba(177, 239, 250, 0.35);
}

ol.problem-cards div.answer {
  margin-bottom: 0;
  border: none;
  background-color: rgba(217, 255, 255, 0.35);
}

p.commentary {
  font: italic 90%/1.4em "Crimson Pro", Georgia, serif;
  border: 1px solid grey;
  background-color: linen;
  padding: 0.5em;
}

/* Nice inline-styles */

sup {
  position: relative;
  left: 0px;
  top: -5px;
  font-size: 70%;
}

tt, code, kbd, var, td.inline-code {
  font-family: Menlo, Monaco, Consolas, monospace;
}

code {
  font-size: 80%;
  border: 1px dashed rgba(200, 200, 255, 0.9);
  background-color: rgba(230, 230, 255, 0.5);
  font-style: normal;
  padding: 1px 2px;
  border-radius: 3px;
  margin: 0 2px;
}

em {
  font-style: italic;
}

strong {
  font-weight: bold;
}

.lite {
  background-color: #ffff00;
}

.greennote {
  color:white;
  background-color:green;
  padding-left: 1ex;
  padding-right: 1ex;
  font-family: arial, sans-serif;
}

.remark {
  color:white;
  background-color:green;
  padding: 5px;
  font-family: arial, sans-serif;
}

.due {
  margin-left: 10px;
  padding: 3px 10px;
  border-radius: 8px;
  background-color: rgb(161,222,253);
}
.bluebutton {
  color:white;
  background-color:blue;
  padding-left: 1ex;
  padding-right: 1ex;
  font-family: arial, sans-serif;
  border-radius: 6px;
}

.derivation mark {
  background-color: transparent;
  text-decoration: underline;
}

.register span {
  text-align: center;
  border: 1px solid black;
  padding: 0.3em;
  margin: 0px;
}

.commentary {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 85%;
  font-style: italic;
  color: #222;
}

img {
  max-width: 100%;
}

img.lefttop {
  float: left;
  margin: 0 1em .5em 0;
}

img.righttop {
  float: right;
  margin: 0 0 .5em 1em;
}

dfn {
  border: 1px dotted #ff5;
  padding: 0 0.1em;
  background-color: #ffffc8;
  font-weight: bold;
  font-style: normal;
}

span.rule {
  font-family: "Georgia", "Times New Roman", serif;
  font-variant: small-caps;
}

span.big {
  font-size: 130%;
}

span.name {
  font-family: "Georgia", "Times New Roman", serif;
  font-variant: small-caps;
  position: absolute;
  left: 500px;
  padding-top: 0.75em;
}

span.warning {
  background-color: red;
  color: yellow;
  padding: 5px 12px;
  line-height: 200%;
  border-radius: 3px;
  text-transform: uppercase;
}

.topicbox {
  display: inline-block;
  background-color: #fee;
  padding: 1em;
  margin: 1ex;
  font-family: Verdana, sans-serif;
  font-size: 120%;
  text-align: center;
  width: 150px;
  height: 80px;
}

/* Iframes */

iframe {
  border: 0;
  margin: 0;
  padding: 0;
  display: block;
}

/* Lists */

ul.spaced li {
  margin-bottom: 2.0ex;
}

ol.spaced li {
  margin-bottom: 3.0ex;
}

ul.compressed li {
  margin-bottom: 0.5ex;
}

ol.compressed li {
  margin-bottom: 0.5ex;
}

ul.checks, .summary ul {
  list-style: none;
  margin-left: 1em;
  padding-left: 1.5em;
  text-indent: -1.5em;
}

ul.checks li:before, .summary ul li:before {
  content: "✅";
  display: block;
  float: left;
  width: 1.5em;
}

ul.checks pre {
  margin-left: 1.5em;
  text-indent: 0;
}

ul.nested-boxes {
  padding: 15px;
  list-style-type: none;
}

ul.nested-boxes li {
  padding: 5px;
  list-style-type: none;
  margin: 5px;
  border: 1px solid black;
  border-radius: 5px;
}

dl {
  margin-left: 2em;
}

dt {
  font-weight: bold;
  margin-bottom: 0.4ex;
  margin-top: 0.8ex;
}

dl.languagesemantics {
  margin-left: 0;
}

dl.languagesemantics dt {
  font-family: Menlo, Monaco, Consolas, monospace;
  /*border: 1px solid grey;*/
  background-color: #e6ffe6;
  padding: 3px;
  margin-bottom: 10px;
}

dl.languagesemantics dd {
  margin-left: 20px;
  margin-bottom: 20px;
}

dl dd.unknown {
  color: #ddd;
}

ol.tutorialsteps li {
  padding-top: 1em;
  border-top: 2px solid red;
  margin-bottom: 2.5em;
}

td > ul { /* Don't want lists in tables to be so padded */
  margin: 0 1em 0 -1em;
}

/* Tables */

table {
  margin: 1em 0;
  border-collapse: collapse;
  border: 1px solid black;
}

table.borderless, table.timeline, table.borderless tr, table.borderless td {
  background-color: transparent;
  border-width: 0px;
}

table.borderless th {
  background-color: transparent;
  border-width: 0 0 1px 0;
}

table.emojis tbody tr td {
  background-color: transparent;
}

table.emojis td:first-child {
  vertical-align: middle;
  text-align: center;
  padding-left: 30px;
  padding-right: 30px;
}

table.timeline tr + tr {
  border-top: 1px solid #505;
}

table.timeline td {
  border: none;
  padding-left: 4em;
  background-color: transparent;
}

table.definitions {
  margin-left: 40px;
}

table.definitions tr td:first-child {
  padding-right: 40px;
}

table.fullwidth {
  margin: 1em 0;
  width: 100%;
}

table.opcode {
  margin: 1em 0;
  width: 100%;
}

table.operator-table code {
  font-size: 120%;
  font-weight: bold;
}

table.awsinstances th[colspan] {
  font-size: 60%;
  padding: 1px;
  text-transform: uppercase;
}

table.awsinstances td:first-child {
  font: 225% bold Georgia;
  text-align: center;
  vertical-align: middle;
}

table pre {
  font-size: 1em;
  line-height: 1.1em;
  margin: .25em .5em;
  white-space: pre; !important
}

table.reference pre {
  margin: 0;
  font-size: 12px;
}

table.plain td {
  font-family: Menlo, Monaco, Consolas, monospace;
  font-size: 80%;
  padding: 0 4px;
  background-color: white;
}

table.rubric td {
  font-size: 24px;
  padding: 7px;
  text-align: center;
}

table.requirementsrubric tr > td + td {
  font-size: 24px;
  padding: 7px;
  text-align: center;
}

table.fillin {
  margin-top: 1em;
}

table.fillin td, table.fillin th {
  padding: 8px;
  text-align: center;
  font-size: 110%;
}

table.numeric td {
  font-family: Menlo, Monaco, Consolas, monospace;
  text-align: right;
}

table.codetable td {
  font-family: Menlo, Monaco, Consolas, monospace;
  font-size: 80%;
}

table.optimization td {
  font-family: Menlo, Monaco, Consolas, monospace;
  font-size: 16px;
  padding: 4px 10px;
  line-height: 1.25em;
  white-space: pre;
}

table.pre td {
  white-space: pre;
}

table.bitstring {
  border: 0;
  background-color: transparent;
}

table.bitstring th {
  border: 0;
  text-align: center;
  font-size: 90%;
  font-weight: normal;
  background-color: transparent;
}

table.bitstring tr:nth-child(2) td {
  border: 1px solid black;
  font-family: monospace;
  font-size: 120%;
  padding: 10px;
  text-align: center;
  background-color: transparent;
}

table.array {
  border: none;
}

table.array td:first-child {
  border: none;
  text-align: right;
  background-color: white;
}

table.array td {
  border: 1px solid black;
  text-align: center;
}

table.array td.open {
  border-top: none;
  border-bottom: none;
}

tr.first-of-group {
  border-top: 3px solid black;
}

table.mostlycentered td + td {
  text-align: center;
}

table.matrix td {
  padding: 0;
  text-align: center;
  vertical-align: middle;
}

table.matrix th {
  vertical-align: middle;
  padding: 2px 1ex;
}

table.worksheet {
  margin-top: 1em;
}

table.worksheet td {
  text-align: center;
  padding: 2px 5ex;
}

table.code-first td:first-child,
table.code-first-second td:first-child,
table.code-first-second td:nth-child(2) {
  font-size: 90%;
  font-family: Menlo, Monaco, Consolas, monospace;
}

div.flexy {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  margin: 0 -10px;
}

table.biomorph {
 margin-left: 0px;
 margin-right: 0px;
}

table.biomorph td {
  text-align: center;
  margin: 0;
  padding: 0;
}

th {
  background-color: #aff;
  color: black;
  padding: 0.4em;
  border: 1px solid black;
}

td {
  vertical-align: top;
  background-color: #dff;
  color: black;
  padding: 0.2em 0.4em;
  border: 1px solid black;
}

td.nowrap {
  white-space: pre;
}

.opcode td, .opcode th {
  font-size: 67%;
  text-align: center;
}

.categorygroups th {
  vertical-align: top;
  text-align: left;
}

.categorygroups td {
  font: 85% Menlo, Monaco, Consolas, monospace;
}

table.inferencerule {
  margin: 0 0 1em 20px;
}

table.inferencerule td.top, table.inferencerule td.bottom {
  font: 120% Menlo, Monaco, Consolas, monospace;
  text-align: center;
  padding: 0.1em 1em;
}

table.inferencerule td.name {
  font-family: Georgia, "Times New Roman", serif;
  font-variant: small-caps;
  text-align: center;
}

table.inferencerule var, var.inrule {
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  padding: 0 .2ex .2ex .2ex;
  background-color: transparent;
}

/* Table-like */

div.definition-grid {
  margin-left: 40px;
  display: grid;
  grid-template-columns: auto auto;
  column-gap: 20px;
  row-gap: 4px;
}

/* Flexy stuff */

div.flexy pre.prettyprint {
  margin: 0 10px 10px 10px;
}

table.card {
  display: inline-table;
  width: 250px;
  margin: 0 10px 10px 10px;
}

/* Sticky Notes */

div.sticky {
  display: flex;
  flex-wrap: wrap;
  justify-content: left;
  list-style:none;
  gap: 2em;
}

div.sticky h6 {
  font-weight: bold;
  font-size: 2rem;
  margin: 0;
}
 
div.sticky h5 {
  font-weight: bold;
  font-size: 1.3rem;
  margin: 0;
  padding-bottom: 0;
  border-bottom: 8px solid yellow;
}
 
div.sticky p {
  font-size: 1rem;
  font-weight: normal;
}
 
div.sticky > div {
  margin: 1em 0;
  text-decoration: none;
  color: #000;
  background: #f3e2ff;
  display: block;
  width: 15em;
  height: 9em;
  padding: 1em;
  box-shadow: 5px 5px 7px rgba(33,33,33,.5);
}

div.sticky > div.s99 {
  width: 9em;
  height: 9em;
}

div.sticky > div.s118 {
  width: 11em;
  height: 8em;
}

/* Blockquote Styles */

blockquote {
  background-color: #ffeeff;
  border: 1px solid #f6f;
  margin: 1em 0;
  padding: .75em  .75em .75em 1em;
  font-style: italic;
}

blockquote.warning, blockquote.info {
  padding: 1em 1em 1em 5em;
  background-repeat: no-repeat;
  background-position: 1em 1em
}

blockquote.warning {
  background-image: url('/~ray/images/warning-icon.png');
  background-color: #ffddd5;
  border: 1px solid #840;
}

blockquote.info {
  background-image: url('/~ray/images/info-icon.png');
  background-color: #d8e2ff;
  border: 1px solid #228;
}

blockquote p:last-child, blockquote ul:last-child {
  margin-bottom: 0;
}

div.classworklabel {
  margin-top: 5px;
  margin-bottom: 0;
  padding-left: 10px;
  background-color: #992;
  color: white;
}

blockquote.classwork {
  background-color: #ffe;
  border-left: 3px solid #992;
  border-right: 3px solid #992;
  border-bottom: 3px solid #992;
  border-top: none;
  margin-top: 0px;
  font-style: normal;
}

blockquote p, blockquote ul, blockquote ol, blockquote li {
  background-color: inherit;
}

/* Anchor Styles */

a img {
  border-style: none;
  color: white;
}

a:link {
  color: #006;
}

a:visited {
  color: #646;
}

a:hover {
  color: red;
  background-color: #ffffcc;
}

@media screen and (min-width: 600px) {
  pre.prettyprint {
    font-size: 90%;
  }

  .console {
    font-size: 92%;
  }

  .left {
    float: left;
    width: 48%;
  }

  .right {
    float: right;
    width: 50%;
  }
}
