table {
  font-size: 1.1rem;
  table-layout: auto;
  border-collapse: collapse;

  tbody tr:nth-child(even) {
    background-color: #eee;
  }

  thead tr {
    text-align: left;
    border-top: 1px solid #222;
    border-bottom: 1px solid #ddd;
  }

  th,
  td {
    padding: 7px 0px;
    border: none;
  }

  .tbody tr:last-of-type {
    border-bottom: 1px solid #222;
  }
}

.reveal figure {
  > img {
    max-height: 500px;
  }
  figcaption {
    font-size: 1rem;
    > *:first-child {
      margin-top: 0;
    }

    > *:first-child::before {
      content: "Figure: ";
      font-weight: 800;
    }
  }
}

table.time-table {
  max-width: 25rem;
  font-size: 1.1rem;
  border-collapse: collapse;

  th,
  td {
    vertical-align: top;
  }

  td {
    padding: 0.3rem 0.5rem;
    border-left: 4px solid;
  }

  tr {
    overflow: hidden;
  }

  th {
    padding: 0.1rem 0.25rem;
    font-size: 0.8rem;
    text-align: right;
    font-family: monospace;
  }

  .time-table-duration {
    font-size: 1rem;
    color: #aaa;
  }

  .groups {
    border-left-color: #ffcd58;
  }

  .independent {
    border-left-color: #dad870;
  }

  .lecture {
    border-left-color: #ff5c4d;
  }
}

.reveal pre code {
  padding: 1rem;
}

.definition {
  border: 1px solid black;
  margin: 1rem;
  padding: 1rem;
  .name {
    text-align: left;
    font-size: 2.5rem;
  }
  .name::before {
    content: "Definition: ";
    font-weight: 700;
  }
}

.example {
  border: 1px solid black;
  margin: 1rem;
  padding: 1rem;
  .name {
    text-align: left;
    font-size: 2.5rem;
  }
  .name::before {
    content: "Example: ";
    font-weight: 700;
  }
}

math[display="block" i] {
  margin: 1rem 0;
}

mtd[columnalign="right"] {
  text-align: right;
}
mtd[columnalign="center"] {
  text-align: center;
}
mtd[columnalign="left"] {
  text-align: left;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  mtd[columnalign="right"] {
    text-align: -webkit-right;
  }
  mtd[columnalign="center"] {
    text-align: -webkit-center;
  }
  mtd[columnalign="left"] {
    text-align: -webkit-left;
  }
}

.subslide {
  margin: 3rem 0;

  > h1 {
    font-size: 3rem;
    font-weight: 700;
  }
}
