body, html {
  background-color: #202020;
  color: #efefef;
  margin: 0 0 3rem;
  padding: 0;
  font-family: sans-serif;
  line-height: 1.25rem;
}
@media only screen and (max-width: 475px) {
  body h1, body h2, body h3, body h4, body h5, body h6, html h1, html h2, html h3, html h4, html h5, html h6 {
    line-height: 2rem;
  }
}

a {
  color: #efefef;
  text-decoration: underline dotted;
}
a:hover {
  color: #afafaf;
}

.corner {
  position: fixed;
  bottom: 25px;
  right: 25px;
  padding: 10px;
  border-radius: 10px;
  border: 1px solid #303030;
  background-color: #101010;
  z-index: 999;
}
.corner a {
  display: block;
  float: left;
}
.corner img {
  max-height: 2rem;
  margin: 0 0.375rem;
  display: block;
}

.header img {
  width: 100%;
  border-bottom: 1px solid #101010;
}
.header nav {
  max-width: 960px;
  margin: 0 auto;
}
.header nav ul {
  text-align: center;
  margin: 0;
  padding: 0;
}
.header nav ul li {
  display: inline-block;
  list-style: none;
}
.header nav ul li a {
  display: inline-block;
  margin: 5px;
  padding: 25px;
  background-color: #303030;
  border: 1px solid #ed1414;
  border-radius: 10px;
  box-shadow: #101010 0 0 10px 0 inset;
  font-size: 1.5rem;
  font-weight: bold;
  text-decoration: none;
}
.header nav ul li a:hover {
  color: #efefef;
  background-color: #101010;
}
@media only screen and (min-width: 476px) and (max-width: 675px) {
  .header nav ul li a {
    margin: 4px;
    padding: 12px;
    font-size: 1rem;
  }
}
@media only screen and (max-width: 475px) {
  .header nav ul li a {
    margin: 2px;
    padding: 8px;
    font-size: 0.825rem;
  }
}

.container {
  max-width: 960px;
  margin: 20px auto;
  padding: 5px;
}

.clearfix {
  clear: both;
}

table {
  width: 100%;
}
table td, table th {
  text-align: center;
  text-wrap: nowrap;
}

.red {
  color: #ed1414;
}

.light {
  color: #3f3f3f;
}

.green {
  color: #196519;
}

.yellow {
  color: #808019;
}

img {
  max-width: 100%;
}

.center {
  text-align: center;
}

.external-logo {
  vertical-align: middle;
  width: 35%;
  display: inline-block;
  padding: 10px 4px;
}
@media only screen and (max-width: 475px) {
  .external-logo {
    width: 70%;
  }
}

@media only screen and (min-width: 476px) and (max-width: 675px) {
  .hide-for-medium {
    display: none;
  }
}
@media only screen and (max-width: 475px) {
  .hide-for-small {
    display: none;
  }
}
ul.no-bullet {
  list-style: none;
}
ul.no-bullet li {
  list-style: none;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 4px 0;
}

.strike {
  text-decoration: line-through;
}

.bg-results {
  background-image: url("/images/results-backdrop.png");
  background-repeat: no-repeat;
  background-clip: padding-box;
  background-size: 100%;
  position: relative;
  min-height: 900px;
  width: 700px;
}

.bold {
  font-weight: bold;
}

.class-block {
  text-wrap: nowrap;
  display: inline-block;
}
.class-block .class-icon {
  display: inline-block;
  width: 20pt;
  height: 8pt;
  margin: 0 4pt;
}

.calendar-container {
  overflow-x: scroll;
  width: 100%;
}

.calendar {
  margin: 4pt auto;
  width: 90%;
  border-collapse: collapse;
}
.calendar .export-btn {
  color: white;
  border: none;
  padding: 0;
  background: none;
  margin: 2pt 0;
  font-size: 1.25rem;
  cursor: pointer;
  border-radius: 5px;
}
.calendar th {
  background-color: #303030;
}
.calendar .week {
  text-wrap: nowrap;
  clear: both;
}
.calendar .day {
  height: 60pt;
  width: 14.2857142857%;
  border: 1px solid #303030;
  padding: 2pt;
  text-align: center;
  vertical-align: top;
  margin: 0;
  min-width: 60pt;
}
.calendar .day.different-month {
  background-color: #101010;
}
.calendar .day.today {
  background-color: #303030;
}
.calendar .day.title {
  font-weight: bold;
  height: auto;
  border-top: none;
}

.footer {
  text-align: center;
  font-size: 0.75rem;
}