/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

h1 {
  font-size: 2em;
  margin: .67em 0; }

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible; }

pre {
  font-family: monospace,monospace;
  font-size: 1em; }

a {
  background-color: transparent; }

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted; }

b, strong {
  font-weight: bolder; }

code, kbd, samp {
  font-family: monospace,monospace;
  font-size: 1em; }

small {
  font-size: 80%; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

img {
  border-style: none; }

button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }

button, input {
  overflow: visible; }

button, select {
  text-transform: none; }

[type=button], [type=reset], [type=submit], button {
  -webkit-appearance: button; }

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0; }

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
  outline: 1px dotted ButtonText; }

fieldset {
  padding: .35em .75em .625em; }

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

progress {
  vertical-align: baseline; }

textarea {
  overflow: auto; }

[type=checkbox], [type=radio] {
  box-sizing: border-box;
  padding: 0; }

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto; }

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

details {
  display: block; }

summary {
  display: list-item; }

template {
  display: none; }

[hidden] {
  display: none; }

/*# sourceMappingURL=normalize.min.css.map */
*, *:before, *:after {
  box-sizing: border-box !important; }

.screenReaderText {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important; }

@media screen and (max-width: 779px) {
  .hideOnMobile {
    display: none !important; } }

@media screen and (min-width: 780px) {
  .hideOnDesktop {
    display: none !important; } }

html {
  font-size: 1em;
  min-width: 320px;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  @media screen and (min-width: 780px) {
    html {
      font-size: 1.1em; } }

body {
  background: #fffefe;
  color: #222;
  font-family: "PT Serif", "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  line-height: 1.6;
  margin: 0;
  padding: 0;
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  overflow-x: hidden;
  overflow-y: auto; }

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
  line-height: 1;
  margin: 0;
  padding: 0; }
  h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
    color: #222;
    text-decoration: none; }
  h1 a:hover, h1 a:focus, h2 a:hover, h2 a:focus, h3 a:hover, h3 a:focus, h4 a:hover, h4 a:focus, h5 a:hover, h5 a:focus, h6 a:hover, h6 a:focus {
    color: #b71c1c;
    text-decoration: underline; }
  * + h1, * + h2, * + h3, * + h4, * + h5, * + h6 {
    margin-top: 2rem; }

h1, h2 {
  font-size: 1.3rem; }
  @media screen and (min-width: 780px) {
    h1, h2 {
      font-size: 2rem; } }

h3 {
  font-size: 1rem; }

h4 {
  font-size: 0.8rem; }

h5 {
  font-size: 0.8rem;
  text-transform: uppercase; }

p {
  max-width: 50em;
  margin: 0;
  padding: 0; }

* + p {
  margin-top: 1rem; }

p:only-child {
  margin: 0; }

a {
  color: #b71c1c;
  text-decoration: underline; }

a:hover, a:focus {
  color: #222; }

img {
  display: block;
  max-width: 100%;
  height: auto; }

a img {
  width: 100%;
  height: auto; }

table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

blockquote {
  margin-top: 1rem;
  border-left: 5px solid rgba(34, 34, 34, 0.25);
  padding-left: 1rem;
  max-width: 37.5em;
  font-size: 0.8rem; }

@media screen and (min-width: 780px) {
  .grid {
    display: flex; }
    * + .grid {
      margin-top: 2.5rem; }
  .grid--center {
    align-items: center; }
  .grid--bottom {
    align-items: flex-end; }
  .w-1\/3 {
    width: 33.3%; }
  .w-2\/3 {
    width: 66.6%; }
  .w-1\/4 {
    width: 25%; }
  .w-1\/2 {
    width: 50%; }
  .w-3\/4 {
    width: 75%; }
  .w-4\/4 {
    width: 100%; }
  .grid__column {
    padding: 0 1rem; }
    .grid__column:first-child {
      padding-left: 0; }
    .grid__column:last-child {
      padding-right: 0; } }

@media screen and (max-width: 779px) {
  .grid__column + .grid__column {
    margin-top: 1rem; } }

input,
button,
select {
  font-size: 1rem;
  font-family: "PT Serif", "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; }

input {
  border: 1px solid rgba(34, 34, 34, 0.5);
  padding: 0.5rem;
  font-size: 1rem;
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  border-radius: 3px; }

input:hover,
input:focus,
input:active {
  border-color: #222; }

button {
  color: #fffefe;
  padding: 0.5rem;
  background: #b71c1c;
  border: 1px solid transparent;
  border-radius: 3px;
  font-weight: bold; }

button:hover {
  cursor: pointer; }

button:hover,
button:focus {
  background: #222; }

input[type=hidden] {
  display: none; }

.footer .grid {
  align-items: center; }

.footer a {
  color: #fffefe;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 254, 254, 0.25); }

.footer a:hover,
.footer a:focus {
  border-color: #fffefe; }

.footer .socialMediaFacebook {
  font-size: 2.8rem;
  text-align: center;
  display: block;
  border: 0;
  opacity: 1;
  margin-top: 1rem; }
  @media screen and (min-width: 780px) {
    .footer .socialMediaFacebook {
      margin-top: 0; } }
  .footer .socialMediaFacebook:hover .fab, .footer .socialMediaFacebook:focus .fab, .footer .socialMediaFacebook:active .fab {
    color: white; }

.footer-info {
  margin: 0;
  padding: 0;
  list-style-type: none; }
  .footer-info li + li {
    margin-top: 0.25rem; }

.footer-consortium {
  margin-top: 2rem;
  text-align: center; }

.footer__searchButton {
  background: transparent; }

.logo {
  margin: 0 auto; }
  .navOpen .logo {
    visibility: hidden; }
  @media screen and (min-width: 780px) {
    .logo {
      width: auto;
      height: auto;
      overflow: hidden;
      min-height: 0;
      line-height: 1;
      margin: 0;
      flex-grow: 1;
      flex-shrink: 1; } }

.logoH1 {
  font-size: 1rem;
  line-height: 1;
  text-transform: uppercase;
  display: inline-block;
  width: 100%; }

.logoLink {
  display: block;
  text-align: center;
  font-size: 0.7rem;
  font-weight: bold; }
  @media screen and (min-width: 780px) {
    .logoLink {
      max-width: 375px;
      width: 100%; } }

.logoProjectImage {
  max-width: 100%;
  border: 0; }

.logo svg {
  fill: fillCurrent; }

.logoDesktop {
  display: none; }

.logoTextContainer {
  padding: 1rem; }
  @media screen and (min-width: 780px) {
    .logoTextContainer {
      padding: 0 1rem 0 0;
      transform: none;
      width: auto;
      position: static;
      opacity: 1; }
      .logoTextContainer:hover {
        opacity: 1; } }

@media screen and (min-width: 780px) {
  .logoImage {
    display: none; } }

.logoText {
  width: 100%;
  height: auto; }

.longForm h2,
.longForm h3,
.longForm h4,
.longForm h5,
.longForm h6 {
  margin-bottom: 1rem;
  clear: left; }

.longForm h2 {
  font-size: 1.3rem; }

.longForm h3 {
  font-size: 1rem; }

.longForm h4,
.longForm h5 {
  font-size: 1rem; }

.longForm h5 {
  font-size: 0.7rem; }

.longForm hr {
  border: 0;
  border-bottom: 1px solid rgba(34, 34, 34, 0.15);
  margin: 2.5rem 0;
  width: 50%; }

.longForm a[name*="ref"],
.longForm a[href*="_ftn"] {
  color: #222;
  font-size: 0.5rem;
  text-decoration: none;
  display: inline-block;
  vertical-align: super;
  padding: 3px;
  position: relative; }
  .longForm a[name*="ref"]:before,
  .longForm a[href*="_ftn"]:before {
    position: absolute;
    top: -15px;
    right: -15px;
    bottom: -15px;
    left: -15px;
    content: ""; }
  .longForm a[name*="ref"]:hover, .longForm a[name*="ref"]:active, .longForm a[name*="ref"]:focus,
  .longForm a[href*="_ftn"]:hover,
  .longForm a[href*="_ftn"]:active,
  .longForm a[href*="_ftn"]:focus {
    background: #222;
    color: #fffefe; }

.longForm a[href*="ref"][href*="#_"],
.longForm a[href*="_ftnref"],
.longForm a[name*="note"] {
  color: #222;
  font-weight: bold;
  display: inline-block;
  clear: left;
  margin-right: 0.5rem;
  text-decoration: none; }
  .longForm a[href*="ref"][href*="#_"]:target,
  .longForm a[href*="_ftnref"]:target,
  .longForm a[name*="note"]:target {
    animation-name: footnoteHighlight;
    animation-duration: 15s;
    border-left: 1px solid transparent; }
    .longForm a[href*="ref"][href*="#_"]:target:before,
    .longForm a[href*="_ftnref"]:target:before,
    .longForm a[name*="note"]:target:before {
      content: "\00BB ";
      padding: 0 1rem; }

.longForm li {
  max-width: 50em; }

@keyframes footnoteHighlight {
  from {
    background: yellow;
    border-color: #222; }
  to {
    background: transparent;
    border-color: transparent; } }

.research_reports .body ul {
  list-style-type: none; }

.research_reports .body ul a {
  display: block;
  font-weight: bold; }

.research_reports .body ul ul {
  font-size: 0.8rem;
  margin-top: 1rem;
  margin-bottom: 2rem;
  padding: 0; }

.contentBlock {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 900px;
  padding-left: 1rem;
  padding-right: 1rem; }

.body {
  font-family: "PT Serif", "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  flex-grow: 1;
  width: 100%; }

.footer {
  background: #222;
  color: #fffefe;
  padding: 2rem 0;
  margin-top: 4rem;
  display: flex;
  align-items: center;
  font-size: 0.8rem;
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  clear: both;
  width: 100%;
  text-align: center; }
  @media screen and (min-width: 780px) {
    .footer {
      text-align: left; } }

.header {
  z-index: 1000;
  width: 100%;
  background: #222;
  padding: 1.5rem 0 2.5rem;
  position: relative; }
  @media screen and (max-width: 779px) {
    .header {
      padding: 1rem 0 0; }
    .header .contentBlock {
      padding: 0; } }

@media screen and (max-width: 779px) {
  .header {
    position: relative; } }

.header .contentBlock {
  position: relative; }

.header .contentBlock {
  display: flex;
  flex-wrap: wrap;
  align-items: center; }
  @media screen and (min-width: 780px) {
    .header .contentBlock {
      justify-content: space-between;
      align-items: center;
      flex-wrap: nowrap; } }

@media screen and (max-width: 779px) {
  .header {
    position: relative; } }

body:after {
  display: block;
  content: "";
  z-index: -1;
  opacity: 0;
  pointer-events: none;
  user-select: none;
  background: #222;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }

.navOpen {
  overflow: hidden;
  position: fixed; }
  .navOpen:after {
    z-index: 900;
    opacity: 1; }

.navigation {
  width: 100%;
  margin: 0;
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; }
  @media screen and (min-width: 780px) {
    .navigation {
      width: auto;
      flex-shrink: 0; } }

.navigationToggleLabel span + i {
  margin-left: 0.5rem;
  font-size: 1.2em;
  opacity: .5; }

.navigationToggleLabel:hover span + i {
  opacity: 1; }

.navigationToggleInput {
  display: none; }

.navigationToggleLabel,
.navigationOverflowLabel {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  text-transform: uppercase;
  font-size: 0.7rem;
  font-weight: bold;
  padding: 1rem 1rem;
  color: #fffefe;
  background: #b71c1c;
  cursor: pointer;
  box-shadow: 3px 3px 5px -3px rgba(34, 34, 34, 0.5);
  border: 1px solid rgba(34, 34, 34, 0.15);
  border-top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .15s ease-in-out; }
  .navigationToggleLabel .fa-times-circle,
  .navigationOverflowLabel .fa-times-circle {
    position: absolute;
    right: 1rem;
    top: 50%;
    opacity: 0;
    pointer-events: none;
    transform: translate(-10rem, -50%);
    transition: .24s all ease-in-out; }
  .navigationToggleInput:checked + .navigationToggleLabel, .navigationToggleInput:checked +
  .navigationOverflowLabel {
    background: #222;
    opacity: 1; }
    .navigationToggleInput:checked + .navigationToggleLabel .fa-times-circle, .navigationToggleInput:checked +
    .navigationOverflowLabel .fa-times-circle {
      opacity: 1;
      pointer-events: auto;
      transform: translate(0, -50%); }
  @media screen and (min-width: 780px) {
    .navigationToggleLabel,
    .navigationOverflowLabel {
      display: none; } }

.navigationToggleLabel .fa-times-circle {
  position: absolute;
  right: 1rem;
  top: 50%;
  opacity: 0;
  pointer-events: none;
  transform: translate(-10rem, -50%);
  transition: .24s all ease-in-out; }

.navigation h3 {
  margin-bottom: 1rem; }

.navigationList {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap; }

.navigationList a {
  padding: 0.5rem 0;
  width: calc(50% - 6px);
  text-align: center;
  border: 1px solid rgba(34, 34, 34, 0.15);
  border-radius: 3px;
  display: block;
  text-decoration: none;
  font-weight: bold;
  color: #222;
  font-size: 0.7rem;
  margin: 3px; }
  .navigationList a .fas {
    display: block;
    font-size: 1.3rem;
    margin-bottom: 0.5rem;
    opacity: .15; }
  .navigationList a:hover .fas, .navigationList a:active .fas, .navigationList a:focus .fas {
    opacity: .25; }
  @media screen and (min-width: 780px) {
    .navigationList a {
      width: auto;
      border: 0;
      color: #eee;
      margin: 0; }
      .navigationList a + a {
        margin-left: 1rem; } }

.navigationItems {
  margin: 0;
  opacity: 0;
  position: fixed;
  top: 3rem;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  padding: 1rem;
  background: #fffefe;
  box-shadow: 3px 3px 5px -3px rgba(34, 34, 34, 0.5);
  pointer-events: none;
  overflow-y: auto; }
  @media screen and (min-width: 780px) {
    .navigationItems {
      position: static;
      opacity: 1;
      pointer-events: auto;
      box-shadow: none;
      background: transparent;
      padding: 0; } }

.navigationToggleInput:checked ~ .navigationItems {
  opacity: 1;
  pointer-events: auto; }

.navigationOverflow {
  margin-top: 1rem; }
  @media screen and (min-width: 780px) {
    .navigationOverflow {
      font-size: 0.8rem;
      position: absolute;
      right: 10px;
      left: 10px;
      top: 100%;
      background: #fffefe;
      padding: 1rem;
      box-shadow: 0 0 0 10px rgba(34, 34, 34, 0.5);
      display: none; }
      .navigationOverflowCheck:checked ~ .navigationOverflow {
        display: block; } }

@media screen and (min-width: 780px) {
  .navigationOverflow ul {
    columns: 3;
    list-style-type: none;
    padding: 0;
    margin: 0; }
    .navigationOverflow ul li {
      padding: 0.5rem;
      line-height: 1.1;
      position: relative;
      padding-left: 1rem; }
      .navigationOverflow ul li:before {
        content: "\25AA";
        opacity: .25;
        position: absolute;
        left: 0;
        top: .5em; }
      .navigationOverflow ul li:hover:before {
        opacity: .75; } }

.navigationList {
  white-space: nowrap; }

.navigationCurrentProject:before {
  font-size: 0.7rem;
  color: rgba(34, 34, 34, 0.33);
  text-transform: uppercase;
  display: block;
  content: "Current Project";
  pointer-events: none;
  margin-bottom: 0.5rem; }

@media screen and (min-width: 780px) {
  .navigationCurrentProject {
    display: none; } }

.navigationOverflow h4 {
  color: rgba(34, 34, 34, 0.5);
  text-transform: uppercase;
  font-size: 0.8rem;
  margin-bottom: 1rem; }

.navigationOverflow hr {
  border: 0;
  height: 1px;
  border-top: 1px solid rgba(34, 34, 34, 0.15);
  margin: 2rem auto;
  max-width: 90%; }

.navigationOverflowLabel {
  display: block;
  position: absolute;
  top: calc(100% + 5px);
  right: 15px;
  bottom: auto;
  left: auto;
  background: #ff2121;
  z-index: 1;
  padding: 0.25rem 0.5rem;
  font-size: 0.5rem; }
  .navigationOverflowLabel:hover {
    opacity: 1; }
  .navigationOverflowLabel .fas {
    opacity: .5;
    font-size: 1rem;
    margin-left: 0.25rem;
    vertical-align: middle; }
  .navigationOverflowLabel .navigationOverflowLabel__off {
    display: block; }
  .navigationOverflowLabel .navigationOverflowLabel__on {
    display: none; }
  .navigationOverflowCheck:checked + .navigationOverflowLabel .navigationOverflowLabel__off {
    display: none; }
  .navigationOverflowCheck:checked + .navigationOverflowLabel .navigationOverflowLabel__on {
    display: block; }

.navigationOverflowBottom {
  display: flex;
  justify-content: space-between; }

.socialMediaFacebook {
  text-decoration: none;
  color: #222;
  padding: 0.5rem;
  border-radius: 3px;
  border: 1px solid transparent; }
  .socialMediaFacebook .fab {
    transform: scale(1.3, 1.3);
    margin-right: 3px;
    opacity: .75;
    color: #3b5998; }
  .socialMediaFacebook:hover, .socialMediaFacebook:focus, .socialMediaFacebook:active {
    background: rgba(34, 34, 34, 0.1);
    border-color: rgba(34, 34, 34, 0.25); }
    .socialMediaFacebook:hover .fab, .socialMediaFacebook:focus .fab, .socialMediaFacebook:active .fab {
      opacity: 1; }

.navigationOverflowBottom__searchButton {
  background: transparent;
  color: rgba(34, 34, 34, 0.75); }
  .navigationOverflowBottom__searchButton:hover, .navigationOverflowBottom__searchButton:active, .navigationOverflowBottom__searchButton:focus {
    color: #222;
    background: transparent; }

.rightCaption,
.leftCaption,
.centerCaption {
  display: block;
  width: 100%;
  margin: 1rem 0;
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 0.7rem;
  color: rgba(34, 34, 34, 0.5); }
  .rightCaption img,
  .leftCaption img,
  .centerCaption img {
    border-radius: 5px;
    width: 100%;
    height: auto;
    margin-bottom: 1rem; }

@media screen and (min-width: 780px) {
  .rightCaption,
  .leftCaption {
    max-width: 33%;
    padding: 1rem;
    width: auto;
    float: right;
    margin: 1rem;
    margin-right: 0; } }

@media screen and (min-width: 780px) {
  .leftCaption {
    float: left;
    margin: 1rem;
    margin-left: 0; } }

.caption--alwaysFloat.rightCaption {
  width: auto;
  float: right;
  margin: 1rem;
  margin-right: 0; }

.caption--alwaysFloat:leftcaption {
  margin: 1rem;
  margin-left: 0; }

.navigationOtherProjects {
  border-bottom: 1px solid rgba(34, 34, 34, 0.15);
  width: 100%;
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  background: #fffefe; }
  @media screen and (max-width: 779px) {
    .navigationOtherProjects {
      margin-top: 3.5rem; } }

.navigationOtherProjectsList {
  overflow-x: auto;
  overflow-y: hidden;
  display: flex; }

.navigationOtherProjectsList .projectBox {
  padding: 0;
  background: transparent;
  min-width: 100px; }

.navigationOtherProjects {
  padding: 0.5rem 0; }

.navigationOtherProjects h3 {
  opacity: .5;
  max-width: 900px;
  margin: 0 auto;
  font-size: 0.7rem;
  text-transform: uppercase;
  cursor: pointer;
  user-select: none; }

.navigationOtherProjects .navigationOtherProjectsList {
  max-height: 0;
  pointer-events: none;
  opacity: 0;
  transition: all 1s cubic-bezier(0, 1, 0, 1); }

.navigationOtherProjects.on .navigationOtherProjectsList {
  max-height: 300px;
  opacity: 1;
  pointer-events: auto;
  margin-top: 1rem; }

.navigationOtherProjectsList .projectBox {
  min-width: 150px; }

.header .navigationOtherProjects {
  background: #fff1f1;
  border: 1px solid rgba(34, 34, 34, 0.15);
  border-left: 0;
  border-right: 0;
  margin: 0 -1rem 0;
  width: calc(100% + (1rem * 2)); }

.navigationOtherProjects h3 {
  padding: 0 1rem; }

.navigationOtherProjectsList .projectBoxTitle {
  display: none; }

.homeBanner {
  margin-top: 0;
  margin-bottom: 1rem;
  width: 100%; }

.homeBannerImage {
  width: 100%;
  height: auto; }

.image-with-caption {
  font-size: 0.8rem;
  line-height: 1.2; }
  .image-with-caption + .image-with-caption {
    margin-top: 1rem; }
  .image-with-caption + .image-with-caption__caption {
    margin-top: 1rem; }

.image-with-caption--tile {
  display: inline-block;
  vertical-align: top;
  padding: 1rem;
  box-shadow: 0 3px 12px -3px rgba(34, 34, 34, 0.45);
  border-radius: 5px;
  border: 1px solid transparent;
  transform: translateY(0); }
  .image-with-caption--tile:hover {
    border-color: rgba(34, 34, 34, 0.1);
    box-shadow: 0 5px 48px -5px rgba(34, 34, 34, 0.15);
    transform: translateY(-0.1em);
    transition: .15s ease-in-out all; }
  @media screen and (min-width: 780px) {
    .image-with-caption--tile {
      width: calc(33% - 2rem);
      margin: 0.5rem; } }

.image-with-caption__image-link {
  display: block;
  opacity: 0.9; }
  .image-with-caption__image-link + .image-with-caption__caption {
    margin-top: 1rem; }
  .image-with-caption__image-link:hover, .image-with-caption__image-link:active, .image-with-caption__image-link:focus {
    opacity: 1; }

.image-with-caption__caption {
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; }
  .image-with-caption__caption + .image-with-caption__image-link {
    margin-top: 1rem; }

.inlineImage {
  display: table;
  margin-bottom: 2rem !important;
  font-size: 0.5rem; }
  .inlineImage p {
    display: table-caption;
    font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    word-wrap: break-word;
    width: 100%;
    caption-side: bottom; }

@media screen and (min-width: 780px) {
  .interviewsIndex {
    display: flex;
    flex-wrap: wrap; } }

.interview {
  padding-left: 75px; }
  @media screen and (min-width: 780px) {
    .interview {
      width: 50%;
      padding: 1rem 1rem 1rem 75px; } }

.interviewIndexImage {
  float: left;
  margin-left: -60px;
  margin-top: 8px;
  width: 50px;
  height: auto; }

.interviewIndexImage + .interviewIndexImage {
  clear: left;
  margin-top: 2px; }

.interviewIndexName {
  font-weight: bold; }

.interviewIndexDescription {
  font-size: 0.7rem;
  margin-top: 0; }

.masonry {
  margin: 1rem 0;
  display: flex;
  flex-wrap: wrap; }

.masonry__brick {
  padding: 1rem;
  box-shadow: 0 3px 12px -3px rgba(34, 34, 34, 0.45);
  border-radius: 5px;
  border: 1px solid transparent;
  transform: translateY(0);
  width: 250px;
  margin: 10px; }
  .masonry__brick:hover {
    border-color: rgba(34, 34, 34, 0.1);
    box-shadow: 0 5px 48px -5px rgba(34, 34, 34, 0.15);
    transform: translateY(-0.1em);
    transition: .15s ease-in-out all; }

@media screen and (min-width: 780px) {
  .mediaWithText {
    display: flex;
    justify-content: space-between; } }

.mediaWithText + .mediaWithText {
  margin-top: 4rem; }

.mediaWithText__mediaContainer,
.mediaWithText__text {
  position: relative;
  z-index: 1; }

.mediaWithText__mediaContainer {
  float: right;
  max-width: 25%; }
  @media screen and (min-width: 780px) {
    .mediaWithText__mediaContainer {
      flex-grow: 0;
      float: none !important; } }

.mediaWithText img {
  max-width: 100%; }

.mediaWithText--left .mediaWithText__mediaContainer {
  float: left; }

.mediaWithText__text {
  flex-grow: 1; }

.mediaWithText--right .mediaWithText__mediaContainer,
.mediaWithText--left .mediaWithText__text {
  order: 1;
  margin-left: 1rem; }

.mediaWithText__image {
  max-width: 100%;
  height: auto; }
  @media screen and (min-width: 780px) {
    .mediaWithText__image {
      max-width: 250px; } }

.mediaWithText__text h1,
.mediaWithText__text h2,
.mediaWithText__text h3,
.mediaWithText__text h4,
.mediaWithText__text h5,
.mediaWithText__text h6 {
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-weight: bold;
  font-size: 1.3rem; }
  .mediaWithText__text h1 a,
  .mediaWithText__text h2 a,
  .mediaWithText__text h3 a,
  .mediaWithText__text h4 a,
  .mediaWithText__text h5 a,
  .mediaWithText__text h6 a {
    color: #b71c1c;
    border-bottom: 1px solid rgba(34, 34, 34, 0.1); }
    .mediaWithText__text h1 a:hover, .mediaWithText__text h1 a:focus, .mediaWithText__text h1 a:active,
    .mediaWithText__text h2 a:hover,
    .mediaWithText__text h2 a:focus,
    .mediaWithText__text h2 a:active,
    .mediaWithText__text h3 a:hover,
    .mediaWithText__text h3 a:focus,
    .mediaWithText__text h3 a:active,
    .mediaWithText__text h4 a:hover,
    .mediaWithText__text h4 a:focus,
    .mediaWithText__text h4 a:active,
    .mediaWithText__text h5 a:hover,
    .mediaWithText__text h5 a:focus,
    .mediaWithText__text h5 a:active,
    .mediaWithText__text h6 a:hover,
    .mediaWithText__text h6 a:focus,
    .mediaWithText__text h6 a:active {
      border-bottom-color: #b71c1c;
      text-decoration: none;
      color: #222; }

.pagePreviewCard {
  display: block;
  vertical-align: top;
  overflow: auto;
  margin-bottom: 2rem;
  font-size: 0.8rem;
  display: flex; }
  @media screen and (min-width: 780px) {
    .pagePreviewCard {
      display: inline-flex;
      margin: 1rem;
      width: calc(50% - 3rem); } }

.pagePreviewCard__title {
  display: block; }

.pagePreviewCard__titleLink {
  font-size: 1.3rem;
  text-decoration: none;
  color: inherit;
  border-bottom: 1px solid rgba(34, 34, 34, 0.15); }
  .pagePreviewCard__titleLink:hover, .pagePreviewCard__titleLink:active, .pagePreviewCard__titleLink:focus {
    border-bottom-color: #b71c1c; }

.pagePreviewCard__mediaLink + .pagePreviewCard__content,
.pagePreviewCard__media + .pagePreviewCard__content {
  padding-left: 1rem; }

.pagePreviewCard__mediaLink {
  min-width: 100px;
  display: block; }

.pagePreviewCard__media {
  width: 100px;
  height: auto;
  border-radius: 5px; }

.pageTitle {
  margin-bottom: 1rem;
  background: #eee;
  background: linear-gradient(#fff, #eee);
  border-bottom: 1px solid #ccc;
  padding: 2.5rem 0;
  width: 100%; }
  @media screen and (min-width: 780px) {
    .pageTitle {
      overflow: hidden;
      position: relative; }
      .pageTitle > * {
        position: relative;
        z-index: 1; }
  .pageTitle * + * {
    margin-top: 0.5rem; }
  .pageTitle h1 {
    font-size: 1.5rem; }
    .pageTitle h1 a {
      color: #222; }
      .pageTitle h1 a:hover, .pageTitle h1 a:active, .pageTitle h1 a:focus {
        text-decoration: underline; }
  .pageTitle h2 {
    font-size: 1.3rem;
    font-weight: normal; } }

.author {
  margin-top: 2rem;
  font-weight: bold;
  font-size: 0.8rem; }

.photo-gallery {
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; }
  .photo-gallery h5 {
    text-transform: none; }

.photo-gallery--link {
  vertical-align: top;
  display: inline-block;
  max-width: 150px;
  height: auto;
  margin: 0 1rem 1rem 0;
  color: #222;
  text-decoration: none;
  opacity: .75; }
  .photo-gallery--link:hover, .photo-gallery--link:focus {
    opacity: 1; }
    .photo-gallery--link:hover h5, .photo-gallery--link:focus h5 {
      color: #b71c1c; }

.photo-gallery--caption {
  clear: both;
  margin-top: 0.5rem; }

.lg-outer {
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; }
  .lg-outer p {
    max-width: none; }

.projectBox {
  display: inline-block;
  max-width: 200px;
  white-space: normal;
  vertical-align: top;
  padding: 0.5rem;
  background: rgba(34, 34, 34, 0.15);
  border-radius: 3px;
  transition: transform .10s ease-in-out;
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; }

.projectBox:hover {
  background: rgba(34, 34, 34, 0.25);
  transform: scale(1.05); }

.projectBox + .projectBox {
  margin-left: 1rem; }

.projectBoxImage {
  width: 100%;
  height: auto; }

.projectBoxImageLink {
  display: block; }

.projectBoxTitle {
  line-height: 1;
  font-weight: bold; }

.projectBoxTitleLink {
  text-decoration: none;
  color: inherit; }

.projectBoxTitleLink:hover,
.projectBoxTitleLink:focus {
  color: inherit; }

.pageTitle--subProject {
  padding-bottom: 1rem; }

.projectSubNavigation {
  margin: 1rem -1rem 0;
  font-size: 0.8rem;
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  max-width: 900px;
  padding: 0 1rem; }
  @media screen and (min-width: 780px) {
    .projectSubNavigation {
      margin: 1rem 0 0;
      padding: 0; } }

.projectSubNavigation__link {
  color: rgba(255, 254, 254, 0.7);
  text-decoration: none;
  display: inline-block;
  background: #b71c1c;
  padding: 0.5rem;
  border-radius: 3px;
  text-shadow: none;
  font-weight: bold; }
  .projectSubNavigation__link + .projectSubNavigation__link {
    margin-left: 0.5rem; }
  .projectSubNavigation__link:hover, .projectSubNavigation__link:focus, .projectSubNavigation__link:active, .projectSubNavigation__link.projectSubNavigation__link--current {
    background: #ff2121;
    color: #fffefe; }

.projectSubNavigation__link--current {
  pointer-events: none; }

.search--top input,
.search--top button {
  font-size: 0.8rem; }

.search--top {
  flex-grow: 1;
  display: flex;
  justify-content: flex-end;
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  position: absolute;
  top: 1rem;
  right: 1rem; }

.search--top .searchInput {
  display: block;
  height: 2rem;
  padding-right: 2rem; }
  @media screen and (min-width: 780px) {
    .search--top .searchInput {
      display: inline-block;
      margin-bottom: 0; } }

.search--top .searchForm {
  position: relative;
  height: 2rem; }

.search--top .searchButton {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0.1rem;
  background: transparent;
  color: #222;
  opacity: .5; }
  .search--top .searchButton:after {
    font-family: "Font Awesome 5 Free";
    content: "\f002"; }
  .search--top .searchButton:hover, .search--top .searchButton:focus, .search--top .searchButton:active {
    opacity: 1; }

.searchInput:focus + .searchButton {
  opacity: 1; }

.sidebar h2 {
  font-weight: normal; }

.sidebar h3 {
  clear: both; }
  .sidebar h3 a {
    text-decoration: none; }
  .sidebar h3 a:hover,
  .sidebar h3 a:focus {
    text-decoration: underline; }

.sidebar ul,
.sidebar ol {
  padding: 0;
  margin-left: 1rem; }

.sidebar blockquote {
  font-size: inherit;
  margin-left: 0; }

.sidebar__drag-indicator {
  position: absolute;
  z-index: 20;
  top: -10px;
  left: -20px;
  font-size: 2rem;
  color: #222;
  background: #fffefe;
  border-radius: 100%;
  padding: 1px;
  transform: translateX(0);
  opacity: 1 !important; }
  @media screen and (min-width: 780px) {
    .sidebar__drag-indicator {
      display: none; } }
  .shown .sidebar__drag-indicator {
    transform: rotate(180deg) translateX(20px) scale(2, 2); }

.sidebar {
  color: #fffefe;
  padding: 1rem 0.5rem;
  box-shadow: 3px 3px 15px rgba(34, 34, 34, 0.15);
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 0.8rem;
  line-height: 1.25;
  float: right;
  width: 300px;
  margin-right: calc(-200px - 1rem);
  margin-left: 1rem;
  transition: all 1s cubic-bezier(0, 1, 0, 1);
  position: relative;
  border-radius: 3px; }
  .centerCaption + .sidebar {
    padding-top: 0.5rem;
    border-top-left-radius: 3px;
    margin-top: 0; }
  @media screen and (max-width: 779px) {
    .sidebar {
      background: #222; }
      .sidebar img {
        width: 100%;
        height: auto; }
      .sidebar * {
        pointer-events: none; }
      .sidebar.shown {
        transform: translateX(-200px); }
        .sidebar.shown * {
          pointer-events: auto;
          opacity: 1; }
        .sidebar.shown img {
          opacity: 1; } }
  .sidebar img {
    box-shadow: 3px 3px 5px -3px rgba(34, 34, 34, 0.15);
    margin-right: auto;
    margin-left: auto;
    display: block;
    border-radius: 3px; }
  .sidebar hr {
    margin: 1rem 0;
    border-color: rgba(255, 254, 254, 0.15); }
    @media screen and (min-width: 780px) {
      .sidebar hr {
        border-color: rgba(34, 34, 34, 0.15); } }
  @media screen and (min-width: 780px) {
    .sidebar {
      padding: 1rem;
      position: relative;
      transform: 0;
      margin-right: -1rem;
      margin-top: 0;
      max-width: 40vw;
      background: transparent;
      color: #222;
      box-shadow: none; } }
  @media screen and (max-width: 779px) {
    .sidebar a {
      color: #fffefe;
      text-decoration: underline; }
      .sidebar a:hover, .sidebar a:focus, .sidebar a:active {
        background: #fffefe;
        color: #222; }
    .sidebar:after {
      z-index: 10;
      display: block;
      content: "";
      width: 1px;
      position: absolute;
      top: 0;
      left: 0;
      bottom: 50%;
      background: linear-gradient(rgba(34, 34, 34, 0.15), transparent); } }
  .sidebar table {
    border: 1px solid rgba(34, 34, 34, 0.15);
    width: 100%;
    margin-top: 1rem; }
  .sidebar td {
    padding: 0.5rem; }

@media screen and (min-width: 780px) {
  .sidebar--wide {
    min-width: 350px; }
    .sidebar--wide img {
      margin-left: 0;
      margin-right: 0; } }

.sidebar--subproject-list .sidebar--subproject-list__image-link {
  margin-bottom: 2rem;
  width: 100%;
  height: auto; }
  @media screen and (min-width: 780px) {
    .sidebar--subproject-list .sidebar--subproject-list__image-link {
      max-width: 100px;
      margin-left: 0.5rem;
      float: right; } }

.splashImage {
  display: table;
  max-width: 100%; }

.splashImage img {
  width: 100%;
  height: auto; }

.splashImageDesktop {
  display: none; }
  @media screen and (min-width: 780px) {
    .splashImageDesktop {
      display: block; } }

@media screen and (min-width: 780px) {
  .splashImageMobile {
    display: none; } }

.splashImageCaption {
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 0.7rem;
  line-height: 1.2;
  margin-top: 0.5rem;
  color: rgba(34, 34, 34, 0.5); }

.subProjectPageTitle {
  margin: 1rem 0;
  width: 100%; }
  .subProjectPageTitle .contentBlock {
    position: relative;
    padding-bottom: 1rem; }
  .subProjectPageTitle .contentBlock:after {
    display: block;
    content: "";
    position: absolute;
    bottom: 0;
    left: 1rem;
    right: 95%;
    height: 1px;
    background: rgba(34, 34, 34, 0.15); }
  .subProjectPageTitle h1 {
    font-weight: 100;
    font-size: 2.8rem; }
  .subProjectPageTitle h2 {
    font-size: 1.3rem;
    font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    margin-top: 0.5rem;
    font-weight: 400;
    color: rgba(34, 34, 34, 0.85); }

@media screen and (min-width: 780px) {
  .subProjectPageTitle .fourOhFour_header {
    display: flex;
    justify-content: space-between; } }

.table-from-excel {
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 0.8rem;
  width: 100%;
  overflow-x: scroll;
  display: block; }
  @media screen and (min-width: 780px) {
    .table-from-excel {
      overflow: auto; } }

.table-from-excel table {
  min-width: 500px; }
  .table-from-excel table td {
    padding: 0.5rem;
    border-bottom: 1px solid #eeeeee; }
  .table-from-excel table td[colspan="3"]:first-child {
    font-size: 1.3rem;
    font-weight: bold; }
  .table-from-excel table td:first-child {
    min-width: 7em; }
  .table-from-excel table tbody tr:first-child td {
    font-weight: bold;
    text-transform: uppercase;
    background: #bbbbbb;
    color: #fffefe; }

.timeline-table {
  margin: 1rem 0;
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 0.8rem;
  width: 100%; }

.timeline-table--date,
.timeline-table--col1,
.timeline-table--col2 {
  padding: 0.5rem;
  border-bottom: 1px solid rgba(34, 34, 34, 0.15);
  min-width: 5em; }

.timeline-table--col1,
.timeline-table--col2 {
  border-left: 1px solid rgba(34, 34, 34, 0.15); }

.timeline-table--date {
  padding-left: 0; }

.timeline-table--header {
  background: rgba(34, 34, 34, 0.45);
  color: #fffefe;
  padding: 1rem;
  font-weight: bold; }

.youtube--playlist--info {
  padding: 1rem 1rem 0.25rem 25px;
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-weight: bold;
  font-size: 0.8rem;
  opacity: 0.5; }

@media screen and (min-width: 780px) {
  .youtube--video-wrapper {
    float: right;
    margin: 0 0 1rem 1rem;
    width: 50%;
    max-width: 640px; }
  .youtube--video-wrapper--large {
    float: none;
    margin: 0 0 1rem 0;
    width: 100%;
    max-width: none; } }

iframe[src*="youtube"] {
  display: block;
  border: 0;
  width: 100%;
  height: 75vh;
  min-height: 320px;
  max-height: 540px; }

@media screen and (min-width: 780px) {
  .columns {
    columns: 18em; } }

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important; }

@media screen and (max-width: 779px) {
  .hide-on-mobile {
    display: none !important; } }

@media screen and (min-width: 780px) {
  .hide-on-desktop {
    display: none !important; } }

.float--right,
.float--left {
  margin-top: 1rem;
  margin-bottom: 1rem;
  max-width: 50%; }

.float--right {
  float: right;
  margin-left: 0.5rem; }

.float--left {
  float: left;
  margin-right: 0.5rem; }

.float--left + ul {
  display: table;
  display: flow-root;
  margin-left: 1rem; }

.highlight {
  background: #ffdede;
  box-shadow: 0 0 0 3px #ffdede; }

.highlight-2 {
  background: yellow;
  box-shadow: 0 0 0 3px yellow; }

td.highlight, td.highlight-2,
tr.highlight,
tr.highlight-2,
table.highlight,
table.highlight-2,
div.highlight,
div.highlight-2,
ul.highlight,
ul.highlight-2,
li.highlight,
li.highlight-2,
blockquote.highlight,
blockquote.highlight-2 {
  box-shadow: none; }
