.staff {
  color: white;
  display: flex;
  flex-flow: row;
  list-style: none;
  margin: 0;
  padding: 0;
}
.staff ul {
  list-style: none;
  margin: -0.5em -0.5em 4em -0.5em;
  padding: 0;
  display: flex;
  flex-flow: row wrap;
  position: relative;
}
.staff ul li {
  flex: 1 1 300px;
}
.staff ul li a {
  color: inherit;
  text-decoration: none;
  display: flex;
  align-content: flex-start;
  margin: 0.5em;
  transition: padding ease-in-out 0.2s, max-width ease-in-out 0.2s;
}
.staff ul li a .text {
  margin-left: 1em;
}
.staff ul li a img {
  flex: none;
  align-self: flex-start;
}
.staff ul li a h3 {
  margin: 0;
}
.staff ul li a .summary {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.85em;
  margin-top: 0.5em;
}
.staff ul li a .summary.full {
  display: none;
}
.staff ul li a .joined-in {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.85em;
  font-weight: 300;
}
.staff ul li a .title {
  font-weight: 300;
}
.staff ul li a.show-details {
  background: white;
  color: black;
  max-width: 600px;
  padding: 2em;
  box-shadow: rgba(0, 0, 0, 0.5) 0 0 20px;
  border-radius: 4px;
  z-index: 1000;
}
.staff ul li a.show-details .summary {
  color: black;
}
.staff ul li a.show-details .summary.short {
  display: none;
}
.staff ul li a.show-details .summary.full {
  display: block;
}
.staff ul li a.show-details .joined-in {
  color: #666666;
}
.staff ul.details-open li {
  opacity: 0.5;
}
.staff ul.details-open li.details {
  opacity: 1;
}
@supports (display: grid) {
  .staff {
    display: block;
  }
  .staff ul {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    grid-gap: 2em;
    margin: 0 0 4em 0;
  }
  .staff ul li a {
    margin: 0;
  }
}