.affiliations {
  margin: 0 auto 30px;
  padding: 0 30px;
}

@media only screen and (min-width: 576px) {
  .affiliations {
    max-width: 540px;
  }
}

@media only screen and (min-width: 768px) {
  .affiliations {
    max-width: 720px;
  }
}

@media only screen and (min-width: 992px) {
  .affiliations {
    max-width: 960px;
    padding: 0;
  }
}

@media only screen and (min-width: 1200px) {
  .affiliations {
    max-width: 1170px;
  }
}

.org-units-container::after {
  content: "";
  display: block;
  margin: 30px 0;
  width: 50px;
  height: 5px;
  background: var(--marigold);
}

.field--name-field-org-units {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

.field--name-field-org-units .field__item {
  padding: 15px;
  color: var(--white);
  background: var(--under-the-elms);
  font-family: var(--text-display-alt);
  font-size: 16px;
  font-style: normal;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.96px;
  text-transform: uppercase;
}

.employee-type {
  display: flex;
  column-gap: 15px;
}

.field--name-field-employee-type {
  display: flex;
  gap: 15px;
}

.field--name-field-employee-type .field__item {
  display: flex;
  height: 36px;
  padding: 10px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  color: var(--black);
  background: var(--light-gray);
  font-family: var(--text-sans);
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.54px;
  text-transform: uppercase;
}

.expert-label {
  display: inline-flex;
  background: var(--marigold);
  height: 36px;
  padding: 10px;
  justify-content: center;
  align-items: center;
  gap: 5px;
  max-width: 175px;
  border-radius: 4px;
}

.expert-label span {
  color: var(--white);
  font-family: var(--text-sans);
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.54px;
  text-transform: uppercase;
}

.expert-label i {
  color: var(--white);
}

.expert-label-slide {
  position: absolute;
  top: 15px;
  right: 15px;
  background: var(--marigold);
  color: var(--white);
  font-family: var(--text-icon);
  font-weight: 900;
  border-radius: 4px;
  overflow: hidden;
  width: 36px;
  height: 36px;
  transition: width 0.3s ease;
}

.media-container:hover .expert-label-slide {
  width: 136px;
}

.expert-label-slide span {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.15s ease, visibility 0s linear 0.15s;
  color: var(--white);
  font-family: var(--text-sans);
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.42px;
  text-transform: uppercase;
}

.media-container:hover .expert-label-slide span {
  transform: translateY(-50%) translateX(-5px);
  opacity: 1;
  visibility: visible;
  transition: opacity 0.2s ease 0.25s, visibility 0s linear 0.25s;
}

.expert-label-slide i {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  font-size: 20px;
  line-height: 1;
}

.personal-info {
  background: #FAFAFA;
}

.layout-container {
  margin: 0 auto;
  padding: 60px 30px;
  display: flex;
  flex-direction: column;
  row-gap: 60px;
}

@media only screen and (min-width: 576px) {
  .layout-container {
    max-width: 540px;
  }
}

@media only screen and (min-width: 768px) {
  .layout-container {
    max-width: 720px;
  }
}

@media only screen and (min-width: 992px) {
  .layout-container {
    max-width: 960px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: calc(100% - 445px) 370px;
    grid-template-rows: auto;
    grid-column-gap: 75px;
    padding: 60px 0;
  }
}

@media only screen and (min-width: 1200px) {
  .layout-container {
    max-width: 1170px;
  }
}

.layout-container .media-container {
  position: relative;
  max-width: 330px;
}

@media only screen and (min-width: 992px) {
  .layout-container .media-container {
    max-width: 370px;
    margin-top: -126px;
    grid-area: 1 / 2 / 2 / 3;
  }
}

.layout-container .media-container .field--name-field-media > article {
  margin: 0;
}

.personal-data-points {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

@media only screen and (min-width: 992px) {
  .personal-data-points {
    grid-area: 1 / 1 / 2 / 2;
  }
}

.field--name-field-media-image img {
  aspect-ratio: 1;
  border-radius: 10px;
  width: 100%;
  display: block;
  height: auto;
  object-fit: cover;
}

.identifier {
  display: flex;
  flex-wrap: wrap;
  column-gap: 15px;
  align-items: baseline;
}

.name {
  color: var(--black);
  font-family: var(--text-serif);
  font-size: 48px;
  font-style: normal;
  font-weight: 700;
  line-height: 60px;
  margin: 0;
  padding: 0;
}

.field--name-field-pronouns {
  color: var(--putnam);
  font-family: var(--text-serif);
  font-size: 24px;
  font-style: italic;
  font-weight: 400;
  line-height: 60px;
}

.field--name-field-title {
  color: var(--black);
  font-family: var(--text-sans);
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 27px;
}

.field--name-field-department {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

.field--name-field-department .field__item {
  display: flex;
  padding: 10px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 50px;
  border: 1px solid #D0D0D0;
  color: var(--black);
  font-family: var(--text-sans);
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 1;
}

.personal-links {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

.personal-links a {
  display: inline-flex;
  align-items: center;
  background: var(--teal);
  text-decoration: none;
  height: 45px;
  max-width: 45px;
  border-radius: 50px;
  overflow: hidden;
  transition: all .5s ease;
}

.personal-links a[target="_blank"]::after {
  content: none;
}

.personal-links a:is(:hover, :focus) {
  max-width: 100%;
  background: var(--under-the-elms);
}

.personal-links a:is(:hover, :focus) * {
  color: var(--white);
}

.personal-links a i {
  color: var(--under-the-elms);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  flex-shrink: 0;
}

.personal-links div,
.personal-links span:first-of-type {
  white-space: nowrap;
  opacity: 0;
  padding-right: 12px;
  transform: translateX(-8px);
  transition: var(--transition-default);
}

.personal-links a:is(:hover, :focus) div,
.personal-links a:is(:hover, :focus) span:first-of-type {
  opacity: 1;
  transform: translateX(0);
  text-decoration: underline;
}

.professional-background-container {
  display: flex;
  flex-direction: column;
  row-gap: 60px;
}

@media only screen and (min-width: 992px) {
  .professional-background-container {
    grid-area: 2 / 2 / 3 / 3;
  }
}

.professional-background {
  display: flex;
  flex-direction: column;
  row-gap: 30px;
}

@media only screen and (min-width: 992px) {
  .professional-background {
    margin-left: 30px;
  }
}

.professional-background ul {
  padding: 0 0 0 30px;
}

.professional-background li {
  margin-bottom: 0;
}

.professional-background li::marker {
  font-size: 14px;
}

.professional-background h2 {
  color: var(--marigold);
  font-family: var(--text-sans);
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 22.5px;
  letter-spacing: 0.42px;
  text-transform: uppercase;
  padding: 0;
}

.expert-callout {
  background: var(--trillium);
  padding: 30px;
  margin: 0 -30px;
}

@media only screen and (min-width: 576px) {
  .expert-callout {
    margin: 0;
    padding: 30px;
  }
}

.expert-callout > div {
  display: inline-flex;
  gap: 15px;
  align-items: center;
}

.expert-callout > div span {
  color: var(--black);
  font-family: var(--text-serif);
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 35px;
}

.expert-callout > div i {
  color: var(--marigold);
  font-family: "Font Awesome 6 Pro";
  font-size: 24px;
  font-style: normal;
  font-weight: 900;
  line-height: normal;
}

.expert-callout > p {
  margin: 15px 0;
}

.expert-callout > a {
  text-decoration: none;
}

.expert-callout > a span {
  color: var(--black);
  font-family: var(--text-sans);
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  transition: var(--transition-default);
}

.expert-callout > a:is(:hover, :focus) span {
  color: var(--under-the-elms);
}

.expert-callout > a:is(:hover, :focus) span {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-decoration-skip-ink: none;
}

.expert-callout > a i {
  color: var(--black);
  font-family: "Font Awesome 6 Sharp";
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
  line-height: normal;
  transition: var(--transition-default);
}

.expert-callout > a:is(:hover, :focus) i {
  color: var(--under-the-elms);
}

@media only screen and (min-width: 992px) {
  .long-form-info {
    grid-area: 2 / 1 / 8 / 2;
  }
}

.field--name-field-bio .field__label {
  margin: 0;
  padding: 0;
}

.field--name-field-bio h2 {
  color: var(--black);
  font-family: var(--text-serif);
  font-size: 38px;
  font-style: normal;
  font-weight: 700;
  line-height: 60px;
}

.field--name-field-bio h3 {
  color: var(--black);
  font-family: var(--text-serif);
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 35px;
}

.field--name-field-bio h4 {
  color: var(--black);
  font-family: var(--text-serif);
  font-size: 23px;
  font-style: normal;
  font-weight: 700;
  line-height: 29px;
}

.field--name-field-bio h5 {
  color: var(--black);
  font-family: var(--text-serif);
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 23px;
}

.field--name-field-bio h6 {
  color: var(--black);
  font-family: var(--text-serif);
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 20px;
}

.text-formatted ul,
.text-formatted ol {
  padding: 15px 15px 15px 40px;
}

.text-formatted ul li,
.text-formatted ol li {
  margin-bottom: 15px;
}

.text-formatted a {
  color: var(--cutler);
  font-weight: 500;
}

.text-formatted a:focus {
  color: var(--white);
  background-color: var(--under-the-elms);
  outline: 2px solid #85b7d1;
}

.text-formatted a.action {
  font-weight: 700;
}

.digital-measures h2::before {
  content: "";
  width: 100%;
  height: 1px;
  color: var(--black);
  display: block;
  background: #D0D0D0;
  margin: 30px 0;
}

.text-formatted li a,
.digital-measures li a {
  word-wrap: break-word;
}
