body {
  background-color: #f6f6f7;
}


/* ---------- ---------- ---------- *
 *            Utilities             *
 * ---------- ---------- ---------- */

.flex-row {
  display: flex;
  flex-direction: row;
}

.flex-column {
  display: flex;
  flex-direction: column;
}

.align-center {
  align-items: center;
}

.grow {
  flex-grow: 1;
}

.no-grow {
  flex-grow: 0;
}


/* ---------- ---------- ---------- *
 *             General              *
 * ---------- ---------- ---------- */

#podcast main section {
  max-width: 480px;
  margin: 0 auto;
  padding: 1rem 1rem 2.5rem 1rem;
  background:
    linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5) 0.25rem, rgba(255, 255, 255, 0.5) 50%, transparent 50%),
    linear-gradient(-90deg, transparent, rgba(255, 255, 255, 0.5) 0.25rem, rgba(255, 255, 255, 0.5) 50%, transparent 50%);
}

#podcast figure {
  margin-bottom: 0;
}

#podcast h3 {
  font-family: 'acumin-pro', Helvetica, Arial, sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 1rem;
  text-align: center;
  margin-bottom: 0.375rem;
}

#podcast hr {
  border: none;
  border-top: 2px solid;
  margin-top: 0;
  margin-bottom: 0.75rem;
  width: 5rem;
}

@media (max-width: 600px) {
  #podcast main {
    padding-top: 0.25rem;
  }

  #podcast main section {
    padding: 0.5rem 0.5rem 1.25rem 0.5rem;
  }
}


/* ---------- ---------- ---------- *
 *               Main               *
 * ---------- ---------- ---------- */

#podcast .button-hollow {
  background: none;
  border: 1px solid #d5d5d8;
  color: #2c2c3a;
  cursor: pointer;
  font-family: 'acumin-pro', Helvetica, Arial, sans-serif;
  font-size: 0.875rem;
  display: block;
  letter-spacing: 0.025rem;
  margin: 0 auto;
  padding: 1rem;
  text-align: center;
  width: 100%;
  max-width: 200px;
}

#podcast .button-hollow:hover {
  border-color: #c62039;
}

.background-overlay {
  display: flex;
  align-items: flex-end;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
}

.background-overlay::before {
  background-position: center center;
  background-repeat: no-repeat;
  content: "";
  display: block;
  filter: blur(0.5px);
  opacity: 0.125;
  transform: scale(12);
  height: 131px;
  width: 800px;
}

.podcast-cover img {
  max-width: 100%;
}


/* ---------- ---------- ---------- *
 *           Audio Player           *
 * ---------- ---------- ---------- */

.audio-player {
  background-color: #f1f1f2;
  box-shadow:
    2px 2px 5px rgba(97, 97, 107, 0.1375),
    1px 1px 0 rgba(97, 97, 107, 0.125);
  margin-top: -3rem;
  margin-left: auto;
  position: relative;
  width: 95%;
  z-index: 3;
  padding: 1rem;
}

.audio-player_control {
  background: none;
  border: none;
  display: block;
  padding: 0;
  height: 24px;
  width: 24px;
}

.audio-player_control svg {
  color: inherit;
  cursor: pointer;
  fill: inherit;
  transition: 0.2s;
  width: 24px;
  height: 24px;
}

.audio-player_control svg:hover {
  transform: scale(1.25);
}

.audio-player h2 {
  font-family: 'acumin-pro', Helvetica, Arial, sans-serif;
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 0;
}

.audio-player time {
  font-style: italic;
}

.audio-player_bar time {
  flex-grow: 0;
  min-width: 3em;
  text-align: center;
}

.audio-player_control-bar {
  background-color: #2c2c3a;
  display: flex;
  flex-grow: 1;
  margin: 0 0.5rem;
  height: 0.375rem;
  width: 90px;
}

.audio-player_control-bar > div {
  background-color: #c62039;
  height: 100%;
  width: 0%;
}

@media (max-width: 600px) {
  #podcast .audio-player {
    margin-top: 0;
    width: 100%;
  }

  #podcast .audio-player.sticky {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
  }

  .audio-player_bar time {
    min-width: 2.5em;
    font-size: 0.75rem;
  }
}


/* ---------- ---------- ---------- *
 *            Subscribe             *
 * ---------- ---------- ---------- */

.subscribe-links {
  margin: 0;
  list-style-type: none;
  display: flex;
  justify-content: space-around;
  padding: 0 1rem;
}

.subscribe-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  filter:
    drop-shadow(2px 2px 2px rgba(97, 97, 107, 0.25))
    drop-shadow(1px 1px 0 rgba(97, 97, 107, 0.375));
  font-size: 3rem;
  position: relative;
  transition: 0.2s;
  height: 1em;
  width: 1em;
}

.subscribe-links a:hover,
.subscribe-links a:focus {
  transform: scale(1.125);
}

.subscribe-links img {
  height: auto;
  width: 100%;
}

@media (max-width: 600px) {
  .subscribe-links {
    padding: 0.25rem;
  }

  .subscribe-links a {
    font-size: 2.5rem;
  }
}


/* ---------- ---------- ---------- *
 *             Episodes             *
 * ---------- ---------- ---------- */

.episodes-container {
  margin-bottom: 2rem;
  overflow: auto;
  max-height: 75vh;
}

.episode {
  border-top: 1px solid #d8d8db;
  display: flex;
  margin-bottom: 1rem;
  padding-top: 1rem;
}

.episode:last-of-type {
  border-bottom: 1px solid #d8d8db;
  padding-bottom: 1rem;
}

.episode_content {
  margin-left: 1rem;
}

.episode_content h2 {
  font-family: 'acumin-pro', Helvetica, Arial, sans-serif;
  font-size: 1.125rem;
  font-weight: bold;
}


#podcast .icon-container {
  background: #e9e9ec;
  border: none;
  box-shadow:
    2px 2px 5px rgba(97, 97, 107, 0.1375),
    1px 1px 0 rgba(97, 97, 107, 0.125);
  color: #2c2c3a;
  cursor: pointer;
  display: block;
  fill: #2c2c3a;
  font-size: 2.5rem;
  padding: 0;
  width: 1.125em;
  height: 1.125em;
  flex-grow: 0;
  flex-shrink: 0;
}

#podcast .icon-container:hover {
  background-color: #c62039;
  color: white;
  fill: white;
}

#podcast .icon-container img,
#podcast .icon-container svg,
#podcast .icon-container i {
  fill: inherit;
  height: 1em;
  width: 1em;
  margin: 0.125em;
  text-align: center;
  display: block;
}


/* ---------- ---------- ---------- *
 *              About               *
 * ---------- ---------- ---------- */

#podcast .about p {
  line-height: 1.6;
  padding: 0 1rem;
  text-align: center;
}

.stlpr-logo {
  width: 60%;
  margin: 0 auto;
  display: block;
  margin-bottom: 1rem;
}


/* ---------- ---------- ---------- *
 *             Sponsors             *
 * ---------- ---------- ---------- */

.podcast-sponsor {
  flex-basis: 33%;
  flex-grow: 0;
  padding: 1rem;
}

#podcast .podcast-sponsor img {
  max-width: 100%;
}

@media (max-width: 600px) {
  .podcast-sponsor {
    padding: 0 0.5rem;
  }
}
