body.lab-project-index-page {
  background: #fff;
}

body.lab-project-index-page .container-wrap,
body.lab-project-index-page .lab-project-index-wrap {
  background: #fff;
  padding: 0 !important;
}

body.lab-project-index-page #footer-outer {
  display: none;
}

body.lab-project-index-page #to-top {
  display: none !important;
}

body.lab-project-index-page #header-outer,
body.lab-project-index-page #header-outer.transparent,
body.lab-project-index-page #header-outer.small-nav,
body.lab-project-index-page #header-outer.scrolled-down {
  background-color: transparent !important;
  background-image: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  position: fixed !important;
  z-index: 100;
}

body.lab-project-index-page #header-outer {
  mix-blend-mode: difference;
}

body.lab-project-index-page #header-outer #logo img {
  filter: brightness(0) invert(1) !important;
}

body.lab-project-index-page #header-outer #top .slide-out-widget-area-toggle .label {
  color: #fff !important;
}

body.lab-project-index-page #header-outer #top .slide-out-widget-area-toggle .lines,
body.lab-project-index-page #header-outer #top .slide-out-widget-area-toggle .lines::before,
body.lab-project-index-page #header-outer #top .slide-out-widget-area-toggle .lines::after,
body.lab-project-index-page #header-outer #top .slide-out-widget-area-toggle .lines-button::after {
  background-color: #fff !important;
}

body.lab-project-index-page #top .slide-out-widget-area-toggle .label {
  color: var(--lab-ink) !important;
  font: 400 20px/24px Barlow, sans-serif !important;
  text-transform: uppercase;
}

@media (min-width: 1200px) {
  body.lab-project-index-page #header-outer,
  body.lab-project-index-page #header-outer #top,
  body.lab-project-index-page #header-outer #top > .container,
  body.lab-project-index-page #header-outer #top > .container > .row,
  body.lab-project-index-page #header-outer #top .col,
  body.lab-project-index-page #header-outer #top nav,
  body.lab-project-index-page #header-outer #top nav > ul,
  body.lab-project-index-page #header-outer #top nav > ul > li {
    height: 110px !important;
  }

  body.lab-project-index-page #header-outer #logo,
  body.lab-project-index-page #header-outer.small-nav #logo {
    margin-bottom: 35px !important;
    margin-top: 35px !important;
  }

  body.lab-project-index-page #header-outer #logo img,
  body.lab-project-index-page #header-outer.small-nav #logo img {
    height: 40px !important;
    width: auto !important;
  }
}

.lab-project-index {
  background: #fff;
  color: var(--lab-ink);
  overflow: clip;
}

.lab-project-index__intro {
  height: min(19.792vw, 380px);
  min-height: 340px;
  overflow: visible;
  position: relative;
}

.lab-project-index__intro-content {
  box-sizing: border-box;
  left: 50%;
  max-width: 1180px;
  padding-top: min(6.406vw, 123px);
  position: absolute;
  text-align: center;
  transform: translateX(-50%);
  width: calc(100% - 48px);
  z-index: 2;
}

.lab-project-index__eyebrow {
  align-items: center;
  color: var(--lab-blue);
  display: flex;
  gap: 12px;
  justify-content: center;
  margin: 0 0 4px;
}

.lab-project-index__eyebrow::before {
  background: var(--lab-blue);
  border-radius: 50%;
  content: '';
  height: min(.625vw, 12px);
  width: min(.625vw, 12px);
}

.lab-project-index h1 {
  color: var(--lab-ink);
  margin: 0;
}

.lab-project-index h1 span {
  color: var(--lab-blue);
}

.lab-project-index__lead {
  color: var(--lab-blue);
  margin: 22px 0 0;
}

.lab-project-index__description {
  color: var(--lab-ink);
  margin: 14px 0 0;
}

.lab-project-index__mark {
  height: min(50.398vw, 967.642px);
  max-width: none;
  opacity: .05;
  position: absolute;
  right: min(5.99vw, 115px);
  top: 4px;
  width: min(26.719vw, 513px);
  z-index: 1;
}

.lab-project-index__listing {
  position: relative;
  z-index: 2;
}

.lab-project-index__rows {
  margin: 0 auto;
  padding-bottom: min(8.333vw, 160px);
  width: var(--lab-shell);
}

.lab-project-index__row {
  display: grid;
  gap: min(1.042vw, 20px);
  grid-template-columns: repeat(12, minmax(0, 1fr));
  margin-bottom: min(3.75vw, 72px);
  opacity: 1;
}

.lab-project-index__row:nth-child(2) {
  margin-bottom: min(3.906vw, 75px);
}

.lab-project-index__row:nth-child(3),
.lab-project-index__row:nth-child(4),
.lab-project-index__row:nth-child(5) {
  margin-bottom: min(4.063vw, 78px);
}

.lab-project-index__row:last-child {
  margin-bottom: 0;
}

.lab-project-index-card {
  min-width: 0;
}

.lab-project-index-card--span-3 { grid-column: span 3; }
.lab-project-index-card--span-4 { grid-column: span 4; }
.lab-project-index-card--span-5 { grid-column: span 5; }

.lab-project-index-card__link {
  color: var(--lab-ink);
  display: block;
  text-decoration: none;
}

.lab-project-index-card__link:focus-visible {
  outline: 3px solid var(--lab-blue);
  outline-offset: 5px;
}

.lab-project-index-card__media {
  background: #eef2f2;
  height: 23.125vw;
  height: min(23.125vw, 444px);
  margin: 0;
  overflow: hidden;
  position: relative;
}

.lab-project-index-card__image,
.lab-project-index-card__placeholder {
  display: block;
  height: 100% !important;
  inset: 0;
  max-width: none !important;
  object-fit: cover;
  position: absolute;
  transition: transform .35s ease;
  width: 100% !important;
}

.lab-project-index-card__placeholder {
  background: #e6ebec;
}

.lab-project-index-card--crop-left .lab-project-index-card__image { object-position: 25% 50%; }
.lab-project-index-card--crop-right .lab-project-index-card__image { object-position: 75% 50%; }
.lab-project-index-card--crop-zoom-left .lab-project-index-card__image { object-position: 24% 82%; transform: scale(1.3); }
.lab-project-index-card--crop-zoom-center .lab-project-index-card__image { object-position: 35% 100%; transform: scale(1.31); }
.lab-project-index-card--crop-zoom-right .lab-project-index-card__image { object-position: 76% 82%; transform: scale(1.35); }

.lab-project-index-card__link:hover .lab-project-index-card__image {
  transform: scale(1.015);
}

.lab-project-index-card--crop-zoom-left .lab-project-index-card__link:hover .lab-project-index-card__image,
.lab-project-index-card--crop-zoom-center .lab-project-index-card__link:hover .lab-project-index-card__image {
  transform: scale(1.33);
}

.lab-project-index-card--crop-zoom-right .lab-project-index-card__link:hover .lab-project-index-card__image {
  transform: scale(1.37);
}

.lab-project-index-card__content {
  align-items: center;
  display: grid;
  grid-template-columns: 18px max-content minmax(0, 1fr);
  min-height: 30px;
  padding-top: 14px;
}

.lab-project-index-card__pin {
  height: 24px;
  margin: 0 16px 0 0;
  width: 18px;
}

.lab-project-index-card__location {
  margin-left: 16px;
  white-space: nowrap;
}

.lab-project-index-card__address {
  margin-left: 26px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lab-project-index-page.lab-project-index-motion-ready .lab-project-index__row {
  opacity: .3;
  transition: opacity .28s linear;
}

.lab-project-index-page.lab-project-index-motion-ready .lab-project-index__row.is-active,
.lab-project-index-page.lab-project-index-motion-ready .lab-project-index__row:focus-within {
  opacity: 1;
}

.lab-project-index__footer-stage {
  background: #fff;
  position: relative;
}

.lab-project-index__to-top {
  align-items: center;
  background: var(--lab-ink);
  border-radius: 50%;
  color: #fff;
  display: flex;
  font: 300 35px/1 Barlow, sans-serif;
  height: 64px;
  justify-content: center;
  opacity: 0;
  position: absolute;
  right: min(4.948vw, 95px);
  text-decoration: none;
  top: -87px;
  transition: opacity .2s linear, background-color .2s ease;
  visibility: hidden;
  width: 64px;
  z-index: 4;
}

.lab-project-index__to-top > span[aria-hidden] {
  transform: translateY(-2px);
}

.lab-project-index__to-top.is-visible {
  opacity: 1;
  visibility: visible;
}

.lab-project-index__to-top:hover {
  background: var(--lab-blue);
  color: #fff;
}

.lab-project-index__to-top:focus-visible {
  outline: 3px solid var(--lab-blue);
  outline-offset: 4px;
}

@media (min-width: 1200px) {
  .lab-project-index__footer-stage {
    height: calc(min(38.802vw, 745px) + min(15.156vw, 291px));
  }

  .lab-project-index__footer-stage .lab-footer {
    position: sticky;
    top: max(0px, calc(100vh - min(38.802vw, 745px)));
  }

  body.lab-project-index-page .lab-footer__wordmark {
    bottom: 0;
    display: block;
    height: min(11.406vw, 219px) !important;
    left: 0;
    margin: 0;
    max-width: none;
    position: absolute;
    width: min(72.482vw, 1391.646px) !important;
  }
}

@media (max-width: 1199px) {
  .lab-project-index__intro {
    height: auto;
    min-height: 340px;
  }

  .lab-project-index__intro-content {
    padding-top: 96px;
  }

  .lab-project-index__mark {
    opacity: .025;
    right: 20px;
    width: 320px;
  }

  .lab-project-index__row {
    gap: 18px;
    margin-bottom: 48px;
  }

  .lab-project-index-card__media {
    height: 29vw;
  }

  .lab-project-index-card__address {
    margin-left: 14px;
  }
}

@media (max-width: 767px) {
  .lab-project-index__intro {
    min-height: 0;
    padding-bottom: 32px;
  }

  .lab-project-index__intro-content {
    left: auto;
    padding-top: 70px;
    position: relative;
    transform: none;
    width: calc(100% - 40px);
    margin-inline: auto;
  }

  .lab-project-index__mark {
    display: none;
  }

  .lab-project-index__lead {
    margin-top: 24px;
  }

  .lab-project-index__description {
    margin-top: 18px;
  }

  .lab-project-index__rows > .lab-project-index__row {
    gap: 38px;
    grid-template-columns: minmax(0, 1fr);
    margin-bottom: 38px;
  }

  .lab-project-index__rows > .lab-project-index__row:last-child {
    margin-bottom: 0;
  }

  .lab-project-index-card--span-3,
  .lab-project-index-card--span-4,
  .lab-project-index-card--span-5 {
    grid-column: 1;
  }

  .lab-project-index-card__media {
    aspect-ratio: 1.2 / 1;
    height: auto;
  }

  .lab-project-index-card__content {
    grid-template-columns: 18px max-content minmax(0, 1fr);
    padding-top: 12px;
  }

  .lab-project-index-card__address {
    margin-left: 12px;
  }

  .lab-project-index__rows {
    padding-bottom: 42px;
  }

  .lab-project-index__to-top {
    height: 52px;
    right: 20px;
    top: -68px;
    width: 52px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lab-project-index__footer-stage {
    height: auto;
  }

  .lab-project-index__footer-stage .lab-footer {
    position: relative;
    top: auto;
  }

  .lab-project-index-page .lab-project-index__row {
    opacity: 1 !important;
    transition: none !important;
  }

  .lab-project-index__to-top {
    transition: none;
  }
}
