  /* Header section */
.person--detail__header .breadcrumbs {
  padding-top: var(--spacing--3xlarge);
}

.person--detail__header .aspect-ratio-frame {
  box-shadow: 0 0 15px 0 rgb(0 0 0 / 11%);
}

@media print, screen and (width <= 40em) {
  .person--detail__header .aspect-ratio-frame {
    margin-top: 1.8125rem;
    margin-right: -1.25rem;
    margin-left: -1.25rem;
  }
}

@media print, screen and (width >= 75em) {
  .person--detail__header .aspect-ratio-frame {
    width: 43.125rem;
  }
}

/* Main detail section */
.person--detail h1 {
  margin-bottom: 0;
}

@media (width >= 48.0625em) {
  .person--detail h1 {
    font-size: 2.75rem;
    margin-top: 2.25rem;
  }
}

@media print, screen and (width >= 75em) {
  .person--detail h1 {
    font-size: 3.75rem;
  }
}

.person--detail h1 > p {
  margin-top: 0;
}

/* Types and positions */
.person__types {
  margin-top: 0.875rem;
}

.person__types,
.person__positions {
  margin-top: 0;
}

.person__types ul,
.person__positions ul {
  list-style: none;
}

@media (width >= 48.0625em) {
  .person__types,
  .person__positions {
    margin-top: 1.625rem;
  }
}

.person__types li,
.person__positions li {
  font-weight: 700;
}

.person__types li + li,
.person__positions li + li {
  margin-top: 0.375rem;
}

.person__positions {
  font-size: 1.125rem;
}

@media (width >= 48.0625em) {
  .person__positions {
    margin-bottom: 2.5rem;
  }
}

/* Header/contact info spacing */
.person--detail__header:not(.person--detail__header--has-photo)
  + .person--detail__contact-info {
  margin-top: var(--spacing--3xlarge);
}

@media print, screen and (width >= 48.0625em) and (width <= 74.9375em) {
  .person--detail__header--has-photo + .person--detail__contact-info {
    margin-top: 5rem;
  }
}

@media print, screen and (width >= 75em) {
  .person--detail__header--has-photo + .person--detail__contact-info {
    margin-top: -1.25rem;
  }
}

/* Contact info section */
.person--detail__contact-info {
  background-color: var(--gray--bg);
  padding-top: var(--spacing--2xlarge);
  padding-bottom: var(--spacing--2xlarge);
  margin-bottom: var(--spacing--3xlarge);
}

.person--detail__contact-info .icon-list {
  margin-top: 0;
}

@media print, screen and (width <= 40em) {
  .person--detail__contact-info .icon-list {
    margin-top: 1.875rem;
  }

  .person--detail__contact-info .icon-list + .icon-list {
    margin-top: 1rem;
  }
}

.person--detail__contact-info .icon-list li:not(:first-child),
.person--detail__contact-info li + li {
  margin-top: var(--spacing--xsmall);
}

.person--detail__contact-info span + a {
  margin-left: 1.5rem;
}

.person--detail__contact-info a {
  text-decoration: underline;
}

.person--detail__contact-info a:hover,
.person--detail__contact-info a:focus {
  text-decoration: none;
}

.person--detail__contact-info .fa,
.person--detail__contact-info .fas,
.person--detail__contact-info .far {
  font-weight: 400;
}

.person--detail__contact-info .fa::before,
.person--detail__contact-info .fas::before,
.person--detail__contact-info .far::before {
  color: var(--accent-green);
  font-weight: 700;
}

/* Phone icon list */
.person--detail__contact-info .icon-list--phone li {
  position: relative;
}

.person--detail__contact-info .icon-list--phone span,
.person--detail__contact-info .icon-list--phone a {
  display: block;
  margin-left: 1.5rem;
}

.person--detail__contact-info .icon-list--phone .fa-phone {
  position: absolute;
  top: 0.25em;
  left: 0;
}

.person--detail__contact-info .icon-list--phone + .icon-list {
  margin-top: var(--spacing--xsmall);
}

/* Info section */
.person--detail__info {
  clear: both;
}

/* Area of expertise */
.person--detail__area-expertise {
  margin-bottom: 1.25rem;
}

.person--detail__area-expertise ul {
  list-style: none;
}

@media print, screen and (width >= 48.0625em) {
  .person--detail__area-expertise li {
    display: inline-block;
    margin-right: 2.25rem;
  }
}

.person--detail__area-expertise .link-arrow a {
  font-weight: 700;
}

.person--detail__area-expertise .link-arrow::after {
  color: var(--brand--bright-blue);
}

/* Generic list */
.person--detail__generic-list ul {
  margin-left: 1rem;
}

.person--detail__generic-list li + li {
  margin-top: 0.5rem;
}

/* Aside styles */
.person--detail aside {
  box-shadow: 0 0 15px 0 rgb(0 0 0 / 11%);
  padding: var(--spacing--small) var(--spacing--medium) var(--spacing--small)
    var(--spacing--medium);
}

.person--detail aside dd {
  margin-inline-start: 0;
  margin-top: 0.4375rem;
}

.person--detail aside dd + dt {
  margin-top: 1.625rem;
}

.person--detail aside a {
  text-decoration: underline;
}

.person--detail aside a:hover,
.person--detail aside a:focus {
  text-decoration: none;
}

/* Page/article spacing */
.page--profile article.person--detail:last-child,
.page--person article.person--detail:last-child {
  padding-bottom: var(--spacing--xlarge);
}

/* Main column spacing */
@media print, screen and (width <= 40em) {
  .profile--main-column {
    margin-top: 1.875rem;
  }
}

/* Publications section */
.profile--publicatons {
  padding-bottom: var(--spacing--2xlarge);
}

/* Header + grid-container spacing */
.person--detail__header + .grid-container {
  margin-bottom: var(--spacing--xlarge);
}

/* Profile card and feature styles, flattened and using CSS variables from variables.css */

.card--profile h2,
.card--profile h3 {
  margin: 0;
}

.card--profile ul {
  list-style: none;
}

.card--profile li,
.card--profile p,
.card--profile .positions {
  margin-top: var(--spacing--2xsmall);
  display: block;
  margin-bottom: 0;
}

.card--profile .btn {
  margin-top: var(--spacing--xsmall);
  margin-bottom: 0;
}

.card--small.card--profile {
  display: block;
  box-shadow: 0 0 15px 0 rgb(0 0 0 / 11%);
  height: 100%;
}

.card--small.card--profile .card__content {
  padding: 1.25rem;
}

@media print, screen and (width >= 75em) {
  .card--small.card--profile .card__content {
    padding: 1.875rem;
  }
}

.card--small.card--profile .card__content__inner {
  padding: 0;
}

@media print, screen and (width >= 48.0625em) {
  .card--listing--profile {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin: 0 var(--spacing--small) 0 0;
  }
}

.profile-feature {
  margin-top: var(--spacing--3xlarge);
  margin-bottom: var(--spacing--3xlarge);
}

.profile-feature h2.section-heading__heading {
  font-family: var(--serif);
  font-size: 1.5625rem;
  font-weight: 700;
  line-height: 1.15;
  margin-bottom: 0;
}

.profile-feature__inner h3 {
  margin-top: 2.5rem;
  margin-bottom: 0;
}

.profile-feature > .profile-feature__inner .cell {
  margin-top: 2.5rem;
}

.profile-section > .section-heading + .grid-container {
  margin-top: var(--spacing--medium);
}

.profile-feature .card__media > a {
  position: relative;
  display: block;
}

.profile-feature .card__media > a::before {
  display: block;
  content: '';
  width: 100%;
  padding-top: 55.56%;
}

.profile-feature .card__media > a > img {
  position: absolute;
  object-fit: cover;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.profile-section > .grid-container .btn,
.profile-section > .grid-container .btn:first-child {
  margin-top: var(--spacing--default);
}

/* Hide profile filter by default */
.profile-exposed-filter {
  display: none;
}

/* Show profile filter in toolbar context */
[class*='toolbar'] .profile-exposed-filter {
  display: block;
}

@media print, screen and (width >= 48.0625em) {
  .profile-feature h2.section-heading__heading {
    font-size: 2.25rem;
  }
}

@media print, screen and (width >= 64.0625em) {
  .profile-feature h2.section-heading__heading {
    letter-spacing: -0.03125rem;
    font-size: 2.75rem;
  }
}

@media print, screen and (width >= 48.0625em) {
  .person--detail aside {
    padding-right: 1.875rem;
    padding-left: 1.875rem;
  }
}

@media print, screen and (width >= 48.0625em) {
  .person--detail aside,
  .person--detail .callout-box {
    position: sticky;
    top: 120px;
  }
}

.profile--publicatons article.publication {
  margin-bottom: 1em;
}

.profile--main-column p:first-child {
  margin-top: 1rem;
}
