@import url("//fonts.googleapis.com/css?family=Roboto:400,500,900|Roboto+Condensed:400");
[class*='__logos'] .logos li {
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 4px;
  transition: border .2s; }
  [class*='__logos'] .logos li:hover {
    border: 1px solid rgba(0, 0, 0, 0.16);
    transition: border .2s; }

body {
  background-color: #fff; }

.colors--inverted {
  background-color: rgba(0, 0, 0, 0.87);
  color: #fff; }

.colors--alternate {
  background-color: rgba(0, 0, 0, 0.02); }

@font-face {
  font-family: "Neue Machina Ultrabold";
  src: url("/fonts/NeueMachina-Ultrabold.eot?#iefix");
  src: url("/fonts/NeueMachina-Ultrabold.eot?#iefix") format("eot"), url("/fonts/NeueMachina-Ultrabold.woff2") format("woff2"), url("/fonts/NeueMachina-Ultrabold.woff.woff") format("woff"), url("/fonts/NeueMachina-Ultrabold.ttf") format("truetype"); }
@font-face {
  font-family: "Neue Machina Regular";
  src: url("/fonts/NeueMachina-Regular.eot?#iefix");
  src: url("/fonts/NeueMachina-Regular.eot?#iefix") format("eot"), url("/fonts/NeueMachina-Regular.woff2") format("woff2"), url("/fonts/NeueMachina-Regular.woff.woff") format("woff"), url("/fonts/NeueMachina-Regular.ttf") format("truetype"); }
.primary-nav {
  align-content: center;
  display: flex;
  width: 100%;
  z-index: 3; }
  @media (max-width: 730px) {
    .primary-nav {
      display: block; } }
  .primary-nav .credco-medium img {
    height: 32px;
    margin: 32px;
    margin-bottom: 0; }
    @media (max-width: 730px) {
      .primary-nav .credco-medium img {
        margin-left: 16px; } }
  .primary-nav .pages {
    display: flex;
    flex: 3;
    justify-content: flex-end;
    flex-wrap: wrap;
    margin-right: 32px;
    padding: 0; }
    @media (max-width: 730px) {
      .primary-nav .pages {
        justify-content: flex-start; } }
    @media (max-width: 730px) {
      .primary-nav .pages {
        margin-left: 8px; }
        .primary-nav .pages li a {
          padding: 16px 8px;
          font: 400 12px / 16px -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", "Helvetica", sans-serif; } }
    .primary-nav .pages li {
      list-style-type: none;
      height: 64px;
      padding: 0; }
    .primary-nav .pages a {
      color: rgba(0, 0, 0, 0.87);
      display: block;
      font: 400 16px / 22px -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", "Helvetica", sans-serif;
      font-size: 14px;
      line-height: 32px;
      padding: 16px;
      text-decoration: none;
      transition: box-shadow .2s; }
      .primary-nav .pages a:hover {
        box-shadow: inset 0 -3px 0 #0000EE;
        transition: box-shadow .2s; }
      .primary-nav .pages a:active {
        color: #0000EE; }

.about .about a {
  box-shadow: inset 0 -3px 0 #0000EE;
  color: #0000EE;
  font-weight: 700; }

.approach .approach a {
  box-shadow: inset 0 -3px 0 #0000EE;
  color: #0000EE;
  font-weight: 700; }

.definitions .definitions a {
  box-shadow: inset 0 -3px 0 #0000EE;
  color: #0000EE;
  font-weight: 700; }

.results .results a {
  box-shadow: inset 0 -3px 0 #0000EE;
  color: #0000EE;
  font-weight: 700; }

.updates .updates a {
  box-shadow: inset 0 -3px 0 #0000EE;
  color: #0000EE;
  font-weight: 700; }

.jobs .jobs a {
  box-shadow: inset 0 -3px 0 #0000EE;
  color: #0000EE;
  font-weight: 700; }

.credcatalog .credcatalog a {
  box-shadow: inset 0 -3px 0 #0000EE;
  color: #0000EE;
  font-weight: 700; }

.funders .credcatalog {
  box-shadow: inset 0 -3px 0 #0000EE;
  color: #0000EE;
  font-weight: 700; }

[class*='__logos'] .logos li {
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 4px;
  transition: border .2s; }
  [class*='__logos'] .logos li:hover {
    border: 1px solid rgba(0, 0, 0, 0.16);
    transition: border .2s; }

* {
  box-sizing: border-box; }

body {
  margin: 0;
  min-width: 280px;
  overflow-x: hidden; }

main section:last-of-type {
  padding-bottom: 64px; }

@media (max-width: 730px) {
  .section-inner {
    padding: 16px; } }
@media (min-width: 730px) {
  .section-inner {
    margin: 0 auto;
    max-width: 720px;
    padding: 32px 32px 0; } }
.section-inner:last-of-type {
  padding-bottom: 32px; }
.section-inner > * {
  margin: 0; }
  .section-inner > *:last-child {
    padding-bottom: 0; }

@media (max-width: 730px) {
  .section-inner-wide {
    padding: 16px; } }
@media (min-width: 730px) {
  .section-inner-wide {
    margin: 0 auto;
    max-width: 1440px;
    padding: 32px 32px 0; } }

@media (min-width: 730px) {
  .row {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    align-content: flex-start;
    flex-wrap: wrap; } }

.col {
  flex: 1 1 auto; }
  @media (max-width: 896px) {
    .col {
      width: 100%; } }

@media (min-width: 730px) {
  .col-a {
    max-width: 25%;
    flex-basis: 25%;
    padding-right: 32px; } }

@media (min-width: 730px) {
  .col-b {
    max-width: 75%;
    flex-basis: 75%; } }

:lang(en) {
  direction: ltr; }

.layout--padding-bottom {
  padding-bottom: 32px; }

.layout--padding-top {
  padding-top: 32px; }

.layout--padding-none {
  padding: 0; }

.layout--padding-right {
  padding-right: 32px; }

.layout--padding-left {
  padding-left: 32px; }

.layout--padding-all {
  padding: 32px; }

.layout--margin-bottom {
  padding-bottom: 32px; }

.layout--margin-top {
  padding-top: 32px; }

.layout--margin-none {
  padding: 0; }

.layout--margin-right {
  padding-right: 32px; }

.layout--margin-left {
  padding-left: 32px; }

.layout--margin-all {
  padding: 32px; }

.layout--relative {
  position: relative; }

@media (max-width: 730px) {
  .hidden-on-mobile {
    display: none; } }

[class*='__logos'] .logos li {
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 4px;
  transition: border .2s; }
  [class*='__logos'] .logos li:hover {
    border: 1px solid rgba(0, 0, 0, 0.16);
    transition: border .2s; }

body {
  color: rgba(0, 0, 0, 0.87);
  font: 400 20px / 32px -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", "Helvetica", sans-serif; }

section {
  overflow-x: hidden;
  width: 100%; }

h1 {
  font: 500 55px / 58px -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", "Helvetica", sans-serif;
  font-weight: bold;
  padding: 48px 0; }

h2 {
  display: block;
  font: 500 24px / 32px -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", "Helvetica", sans-serif;
  font-weight: 700;
  letter-spacing: .1em;
  margin: 0;
  padding: 32px 0;
  text-transform: uppercase; }
  @media (max-width: 896px) {
    h2 {
      padding: 32px 0; } }

h3 {
  display: block;
  font: 400 20px / 32px -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", "Helvetica", sans-serif;
  font-weight: 700;
  margin: 0;
  padding: 32px 0; }
  @media (max-width: 896px) {
    h3 {
      padding: 32px 0; } }

h4 {
  padding-top: 32px;
  margin: 8px 0; }
  @media (max-width: 896px) {
    h4 {
      margin: 8px 0; } }

em {
  font-style: italic;
  font-weight: 400; }

strong {
  font-weight: 700; }

ul {
  margin: 8px 0;
  padding: 0 32px; }

li {
  padding: 0 0 16px;
  list-style-position: outside;
  list-style-type: disc; }

ul.bulleted li {
  list-style-type: disc; }

ul.unstyled {
  padding: 0; }
  ul.unstyled li {
    list-style-type: none; }

p {
  display: block;
  margin: 0;
  padding: 0 0 32px; }

h1 a,
h2 a,
h3 a,
p a {
  border-bottom: 2px solid rgba(0, 0, 255, 0.1); }

a {
  color: #0000EE;
  text-decoration: none; }
  a:hover {
    color: #000088; }

.font--caption,
.caption {
  font: 400 12px / 16px -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", "Helvetica", sans-serif; }

.font--body-1 {
  font: 400 16px / 20px -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", "Helvetica", sans-serif; }

.font--body-2 {
  font: 400 16px / 22px -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", "Helvetica", sans-serif; }

.date {
  color: rgba(0, 0, 0, 0.54);
  font: 400 12px / 16px "SF Mono", "Monaco", "Inconsolata", "Fira Mono", "Droid Sans Mono", "Source Code Pro", monospace;
  font-weight: 400;
  padding-top: 0; }

.footer {
  font: 400 12px / 16px "SF Mono", "Monaco", "Inconsolata", "Fira Mono", "Droid Sans Mono", "Source Code Pro", monospace; }
  .footer p {
    color: #d1d6db; }
  .footer a {
    border-bottom: 3px solid rgba(255, 255, 255, 0.2);
    color: rgba(255, 255, 255, 0.7); }
    .footer a:hover {
      color: #fff; }
  .footer img {
    width: 220px; }

.media-image a {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.grayscale img {
  filter: grayscale(100%); }

.caption {
  color: rgba(0, 0, 0, 0.54);
  font: 400 12px / 16px -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", "Helvetica", sans-serif;
  padding-top: 16px; }

.responsive {
  max-width: 656px; }
  @media (max-width: 730px) {
    .responsive {
      max-width: 100%; } }

[class*='__logos'] {
  background-color: rgba(0, 0, 0, 0.02); }
  [class*='__logos'] .logos {
    display: flex;
    flex-flow: wrap row;
    justify-content: flex-start;
    list-style-type: none; }
    [class*='__logos'] .logos li {
      height: 96px;
      margin: 8px 16px 8px 0;
      padding: 0;
      width: 200px; }
      @media (max-width: 400px) {
        [class*='__logos'] .logos li {
          margin-right: 0;
          width: 100%; } }
    [class*='__logos'] .logos a {
      align-items: center;
      display: flex;
      height: 100%;
      justify-content: center;
      padding: 8px;
      width: 100%; }
    [class*='__logos'] .logos .image {
      filter: grayscale(100%);
      height: 64px;
      width: 128px;
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center; }
    [class*='__logos'] .logos .square.image {
      max-height: 56px;
      max-width: 72px; }
    [class*='__logos'] .logos .very-wide.image {
      max-height: 128px;
      max-width: 160px;
      width: 160px; }
    [class*='__logos'] .logos .tall.image {
      max-height: 64px; }

.image.cnp {
  max-width: 175px !important;
  width: 175px !important;
  margin-top: 6px; }

cite {
  font-style: italic;
  font-weight: 500; }

span.pdf {
  color: #c11e07;
  display: inline-block;
  font: 400 12px / 16px -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", "Helvetica", sans-serif;
  font-weight: 700; }

.citations .citation {
  font: 400 16px / 20px -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", "Helvetica", sans-serif;
  padding-bottom: 16px; }
.citations .citation-description {
  border-left: 2px solid #d1d6db;
  font: 400 12px / 16px -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", "Helvetica", sans-serif;
  margin-left: 0;
  padding: 16px; }
  .citations .citation-description h4 {
    padding: 0; }
  .citations .citation-description p:last-of-type {
    padding-bottom: 0; }

ul.contributors {
  display: grid;
  font-size: 16px;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  list-style-type: none;
  position: relative; }
  ul.contributors li {
    font-weight: 400;
    line-height: 1.2;
    padding: 16px 16px 40px; }
  ul.contributors a {
    color: rgba(0, 0, 0, 0.87);
    display: flex;
    align-items: center;
    justify-content: center;
    font: 400 12px / 16px -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", "Helvetica", sans-serif;
    font-weight: 400;
    flex-direction: column;
    position: relative; }
    ul.contributors a > * {
      transition: color 0.3s; }
    ul.contributors a .image {
      border-radius: 62px;
      height: 62px;
      width: 62px;
      filter: grayscale(100%); }
    ul.contributors a:hover > *, ul.contributors a:active > * {
      color: #0000EE !important;
      transition: color 0.3s; }
    ul.contributors a .organization {
      color: rgba(0, 0, 0, 0.54);
      font: 400 12px / 16px -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", "Helvetica", sans-serif;
      text-align: center; }
    ul.contributors a .name {
      color: inherit;
      display: block;
      font: 400 12px / 16px -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", "Helvetica", sans-serif;
      font-weight: 700;
      line-height: 1.2;
      padding: 8px 0 4px;
      text-align: center; }

.press li {
  align-items: center;
  font: 400 16px / 20px -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", "Helvetica", sans-serif; }
  .press li .logo {
    width: 120px;
    min-width: 120px;
    margin-right: 16px;
    display: flex;
    align-items: top;
    display: none; }

.timeline {
  font: 400 16px / 22px -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", "Helvetica", sans-serif; }
  .timeline .date {
    font-size: 12px; }
  .timeline li {
    padding-bottom: 0; }
  .timeline .title {
    padding-bottom: 8px;
    font-weight: 700; }
  .timeline .attribution {
    color: rgba(0, 0, 0, 0.54);
    padding-top: 0;
    font: 400 12px / 16px -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", "Helvetica", sans-serif; }

.tippy-content h6 {
  font: 400 18px / 24px -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", "Helvetica", sans-serif;
  font-weight: 900;
  margin-top: 16px;
  margin-bottom: 16px;
  padding: 0;
  color: #262626; }

.tippy-tooltip .tippy-backdrop {
  background-color: #fff; }

.tippy-tooltip.theory-border-theme {
  border: 4px solid #27A786;
  background-color: #fff;
  background-clip: padding-box;
  color: #646464;
  box-shadow: 0 3px 14px -0.5px rgba(0, 8, 16, 0.08); }
  .tippy-tooltip.theory-border-theme h6 {
    color: #27A786; }

.tippy-tooltip.practice-border-theme {
  border: 4px solid #FFB34D;
  background-color: #fff;
  background-clip: padding-box;
  color: #646464;
  box-shadow: 0 3px 14px -0.5px rgba(0, 8, 16, 0.08); }
  .tippy-tooltip.practice-border-theme h6 {
    color: #FFB34D; }

.tippy-tooltip.content-border-theme {
  border: 4px solid #8D78EF;
  background-color: #fff;
  background-clip: padding-box;
  color: #646464;
  box-shadow: 0 3px 14px -0.5px rgba(0, 8, 16, 0.08); }
  .tippy-tooltip.content-border-theme h6 {
    color: #8D78EF; }

.tippy-tooltip.infrastructure-border-theme {
  border: 4px solid #36C3DD;
  background-color: #fff;
  background-clip: padding-box;
  color: #646464;
  box-shadow: 0 3px 14px -0.5px rgba(0, 8, 16, 0.08); }
  .tippy-tooltip.infrastructure-border-theme h6 {
    color: #36C3DD; }

#react-filters {
  display: flex;
  padding: 24px 0;
  width: 100%; }
  #react-filters > * {
    flex-grow: 0;
    flex-shrink: 0; }
  #react-filters * > *:last-child {
    margin-right: 0; }
  @media (min-width: 730px) {
    #react-filters.projects > * {
      flex-basis: 16.6666666667%;
      padding-right: 8px; } }
  @media (max-width: 730px) {
    #react-filters.projects {
      flex-direction: column; }
      #react-filters.projects > * {
        margin-bottom: 8px; } }
  @media (min-width: 730px) {
    #react-filters.funders > * {
      flex-basis: 50%;
      padding-right: 8px; } }
  @media (max-width: 730px) {
    #react-filters.funders {
      flex-direction: column; }
      #react-filters.funders > * {
        margin-bottom: 8px; } }

/* Material UI overrides and customisations */
.MuiListItem-container {
  padding-bottom: 0; }

.MuiListItem-root.Mui-selected.MuiListItem-root.Mui-selected {
  background-color: #F6F6FF;
  color: #0000EE; }

.share a:not(:last-child) {
  margin-right: 1rem; }

.resp-sharing-button__link,
.resp-sharing-button__icon {
  display: inline-block; }

.resp-sharing-button__link {
  text-decoration: none; }

.resp-sharing-button {
  display: flex;
  align-items: center;
  border-radius: 5px;
  transition: 25ms ease-out;
  padding: 0.5em 0.75em;
  font-size: 95%; }

.resp-sharing-button > div {
  align-self: center; }

.resp-sharing-button__icon {
  display: flex;
  align-items: center; }

.resp-sharing-button__icon svg {
  width: 1.2em;
  height: 1.2em; }

.resp-sharing-button .resp-sharing-button__label {
  padding-left: 0.6em; }

.ar .resp-sharing-button .resp-sharing-button__label {
  padding-right: 0.6em; }

/* Non solid icons get a stroke */
.resp-sharing-button__icon {
  stroke: #B7B7B7;
  fill: none; }

/* Solid icons get a fill */
.resp-sharing-button__icon--solid,
.resp-sharing-button__icon--solidcircle {
  fill: #B7B7B7;
  stroke: none; }
