#team {
  max-width: 100%;
  margin: 0 auto 5em;
  text-align: center;
  height: auto;
  font-size: 1.125em;
  padding-top: 6em;
  margin-top: -6em;
}

#team h2 {
  color: #ff000f;
  font-size: 1.5em;
  font-weight: 800;
  padding-bottom: .75em;
  margin: 2em auto 0;
}

#team .container {
  max-width: 80em;
}

#team.creative {
  height: auto;
  transition-delay: 0s;
}

#team .team {
  margin: 0 auto;
  pointer-events: none;
  z-index: 1;
}

#team.cast .team.cast,
#team.creative .team.creative {
  position: relative;
  pointer-events: all;
  height: auto;
  z-index: 2;
  margin: 0 auto;
  padding-bottom: 5em;
}

#team.creative .team.creative {
  display: block;
  max-width: 64em;
  margin: 0 auto;
}

#team .team.cast {
  position: relative;
}

.member .name {
  font-size: 1.125em;
  line-height: 1em;
  padding-bottom: .0625em;
  margin: 0.3125em 0 0;
  color: #fff;
  text-align: right;
  font-family: 'EurostileNextPro';
}
.creative .member .name {
  text-align: center;
  padding-top: .25em;
  font-family: 'EurostileNextPro';
  letter-spacing: .025em;
}

.member .role {
  font-family: "trade-gothic-next-lt-pro", sans-serif;
  font-weight: 800;
  font-style: normal;
  font-stretch: normal;
  font-size: .875em;
  margin-top: .0625em;
  color: #19abb5;
}

#team .team .member:hover {
  cursor: pointer;
  color: #fff;
}

#team .member:hover > .name,
#team .member:hover > .role {
}

#team .member:hover .headshot:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 140%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 9;
}


.overlay .member .name {
  font-size: 2.625em;
  line-height: 1.09375;
}

.creative .overlay .member .name {
  padding-top: 0;
}

.star .name {
  margin: 0.3125em 0 0;
  text-align: right;
}

.member .bio p {
  line-height: 1.475;
  -webkit-font-smoothing: antialiased;
}

.overlay .bio p {
  margin: 2em auto 0;
  text-transform: none;
}


/* =========================
            MEMBERS
    ========================= */

#team .team .member {
  display: inline-block;
  vertical-align: top;
  text-align: center;
  max-width: 14em;
  margin: 1.5em 1em;
}
#team .team .member:not(.star) {
  width: 11.5em;
  margin: 1.25em 1em;
}
#team .team .member.understudy {
  width: 11em;
  margin: 1.25em 1em;
}

#team .team.creative .member {
  width: 12em;
}

.overlay-inner .member {
  max-width: 25em;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100%;
}


/* =========================
    HEADSHOT / IMAGE
    ========================= */

.headshot {
  position: relative;
  display: inline-block;
  margin: 0 auto;
  background-color: #181c18;
  border: 2px solid #111;
  border-radius: 0.125em;
}

.overlay .headshot {
  width: auto;
  max-width: 15em;
}

.headshot img {
  position: relative;
  max-width: 334px;
  width: 100%;
  height: auto;
  z-index: 0;
  object-fit: cover;
  transition: opacity 0.35s ease-in-out;
}

.headshot picture {
  position: absolute;
  inset: 0;
  transition: opacity 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

.headshot picture:first-child {
  position: relative;
}

/* =========================
            ROLES
    ========================= */

/* =========================
            COLORS
    ========================= */

.headshot .pink { color: #ff00a8; }
.headshot .orange { color: #ffa101; }
.headshot .red { color: #ff0300; }
.headshot .green { color: #01fe91; }
.headshot .blue { color: #00c1ff; }

.creatures {
  display: none;
  font-family: 'EurostileNextPro';
  font-size: 2.5em;
  line-height: .8;
  @media (max-width: 532px) {
    max-width: 6em;
  }
}

/* =========================
          INTERACTIONS
    ========================= */

/* =========================
      HOVER IMAGE SWAP
    ========================= */

.hover-swap-overlay {
  opacity: 0;
}

.member:hover .hover-swap-overlay,
.member:focus-within .hover-swap-overlay {
  opacity: 1;
}

.member:hover .hover-swap,
.member:focus-within .hover-swap {
  opacity: 0;
}

/* =========================
          NAVIGATION
    ========================= */

#content nav {
  font-size: 1rem;
  margin-bottom: 1.5em;
}

#content nav li {
  display: inline-block;
}

#content nav li .btn {
  font-size: 2.125em;
  margin: 0;
  border: none;
}

#content nav li .btn.active {
  pointer-events: none;
}

/* =========================
            MISC
    ========================= */

#team .bio {
  display: none;
}

#team .bio a {
  color: #111;
}

#team .bio a:hover {
  color: #111;
}

.overlay-inner {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.overlay-inner::-webkit-scrollbar {
  display: none;
}

/* =========================
   MEDIA QUERIES
   ========================= */

/* SMALL DEVICES (≤532px) */
@media (max-width: 532px) {
	#team .headshot img {
		max-width: 280px;
	}
}

/* MOBILE (≤768px) */
@media (max-width: 768px) {
	#team {
		width: 100%;
	}

	/* .overlay-open .member .role {
		bottom: -74px;
		left: 64px;
	}

	.cast .member .role {
		writing-mode: unset;
		transform: rotate(0deg);
		bottom: 0;
		left: 0;
	} */
}

/* SMALL DEVICES (≤532px) */
@media (max-width: 532px) {
	#team {
		font-size: 1.25em;
	}

	#team .team.creative .member {
		width: 100%;
		max-width: 100vw;
		min-width: 100%;
		margin: 1.25em auto;
	}
}