a {
  color: #1976d2;
  text-decoration: none;
}

body {
  color: #333;
  background-color: #f7f7f7;
}

header a {
  color: inherit;
  font-weight: inherit;
}

.main-container {
  /* margin: 0 auto;
  padding: 20px 0; */
  max-width: 960px;
  /* justify-content: center; */
}

.add-item {
  /* Dropdown menu: creating new items */
  border-bottom: 1px solid #e8e8e8;
}

.checkbox ul {
  list-style-type: none;
}

.delist {
  padding-left: 40px;
}

.delitem {
  font-size: 14px;
  line-height: 2px;
  min-height: 0px;
}

/* The "opens a menu" chevron. Drawn in CSS rather than set as a Material Icons
   ligature, which renders as the literal word "expand_more" whenever the icon
   font is slow, blocked or unavailable. */
.dropdown-caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 6px;
  vertical-align: middle;
  border-top: 5px solid currentColor;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}

.errormsg {
  color: #ff0000;
}

.form-buttons {
  padding: 20px 10px 5px 10px;
}

.material-icons.help {
  margin-right: 30px;
  padding-bottom: 0px;
}

.material-icons.std {
  font-size: 30px;
  margin-left: 30px;
  padding-bottom: 0px;
}

.material-icons.std:hover {
  cursor: pointer;
  background-color: rgba(0, 0, 0, 0.12);
  border-radius: 5px;
}

.mdl-layout__content {
  padding-bottom: 10em;
}

.rooms {
  max-width: 620px;
}

.rooms li {
  padding-left: 0;
}

.roomspg-add-room-button {
  padding-left: 0;
}

.room h1,
.room h2,
.room h3,
.room h4,
.room h5,
.room h6 {
  text-align: center;
}

.seats {
  position: relative;
  margin: 10px auto;
}

/*horizontal scrolling on mobile*/
@media (max-width: 620px) {
  .seats {
    left: 15%;
  }
}

.seat {
  position: absolute;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  border: 2px solid #555;
  background-color: #ddd;
  outline: 0;
}

.seat.highlight {
  background-color: #ef5350;
}

/* a highlighted movable seat, which is drawn as a dot rather than a .seat */
.s.highlight:not(.seat) {
  color: #ef5350;
}

.seat.occupied {
  background-color: #64b5f6;
}

.seat:hover {
  background-color: #ef5350;
}

/* seat picked on the assign page; after :hover so it stays green under the cursor */
.seat.selected {
  background-color: #66bb6a;
  border-color: #2e7d32;
}

.s.selected:not(.seat) {
  color: #2e7d32;
}

/* keeps the seat field and buttons in view while scrolling long room maps */
.assign-bar {
  position: sticky;
  top: 0;
  z-index: 2;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ccc;
}

.selected-seat {
  padding-left: 40px;
  font-weight: bold;
}

.seat-label {
  position: absolute;
  width: 22px;
  height: 22px;
  line-height: 22px;
  text-align: center;
  font-weight: bold;
  font-size: 22px;
  /* Seat names like "A 1" must stay on one line; the box is only 22px wide,
     so a regular space would otherwise wrap the label onto a second line. */
  white-space: nowrap;
}

.seat-tooltip:not(.is-active) {
  display: none;
}

.seat-tooltip .photo {
  display: inline-block;
  width: 94px;
  height: 125px;
  margin: 5px;
}

.students {
  max-width: 960px;
}

.students table {
  width: 100%;
  table-layout: fixed;
}

.students table td {
  width: 50%;
  text-overflow: ellipsis;
}

.student {
  max-width: 620px;
  text-align: center;
}

.student .photo {
  width: 187px;
  height: 250px;
  margin: auto;
}

.sort {
  cursor: pointer;
}

.sort:after {
  display: inline-block;
  position: relative;
  width: 0;
  height: 0;
  top: -2px;
  right: -5px;
  content: "";
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
}

.sort.asc:after {
  border-bottom: 5px solid #000;
}

.sort.desc:after {
  border-top: 5px solid #000;
}

@media (max-width: 400px) {
  .hidden-small {
    display: none;
  }
}

@media (max-width: 767px) {
  .mdl-layout__header-row {
    padding: 0 16px 0 16px;
  }
}

.room-view-toggle {
  margin: 16px;
  text-align: center;
}

.room-view-toggle span {
  margin-left: 12px;
}

.test-email {
  margin-top: 24px;
  border-top: 1px solid #ccc;
}

.test-email-fields {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.test-email-fields select {
  max-width: 100%;
}

/* MDL's grey for an empty field's label is too light to read (1.87:1 on this background);
   once the label floats, MDL's more specific focused/filled rules make it blue */
.test-email .mdl-textfield__label {
  color: #616161;
}

.send-progress {
  margin: 0 8px;
}

.send-progress a {
  display: block;
  margin-top: 8px;
}

.send-progress progress {
  display: block;
  width: 100%;
}
