.logo-wrap:after, .site-header:after {
  clear: both;
  content: "";
  display: table;
}
html {
  font-family: sans-serif; 
  -ms-text-size-adjust: 100%; 
  -webkit-text-size-adjust: 100%; 
}
body {
  margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
progress,
video {
  display: inline-block; 
  vertical-align: baseline; 
}
audio:not([controls]) {
  display: none;
  height: 0;
}
[hidden],
template {
  display: none;
}
a {
  background: transparent;
}
a:active,
a:focus,
a:hover {
  outline: 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: bold;
}
dfn {
  font-style: italic;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
mark {
  background: #ff0;
  color: #000;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 1em 40px;
}
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}
pre {
  overflow: auto;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit; 
  font: inherit; 
  margin: 0; 
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button; 
  cursor: pointer; 
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input {
  line-height: normal;
}
input[type=checkbox],
input[type=radio] {
  box-sizing: border-box; 
  padding: 0; 
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}
input[type=search] {
  -webkit-appearance: textfield; 
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box; 
  box-sizing: content-box;
}
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}
legend {
  border: 0; 
  padding: 0; 
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
* {
  box-sizing: border-box;
}
html {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
ul {
  margin: 0;
  padding: 0;
}
ul li {
  list-style-type: none;
}
img {
  vertical-align: top;
}
p {
  margin: 0;
}
a {
  text-decoration: none;
}
html,
body {
  min-height: 100%;
}
.italic {
  font-style: italic;
}
.underline {
  text-decoration: underline;
}
.strikethrough {
  text-decoration: line-through;
}
.bold {
  font-weight: bold;
}
.cfix:after {
  clear: both;
  content: " ";
  display: block;
  height: 0;
  line-height: 0;
  overflow: hidden;
  visibility: hidden;
}
html, .site-wrap {
  background-color: #212121;
  background-image: url("");
  background-position: top left;
  background-repeat: no-repeat;
  background-size: contain;
}
html:before, .site-wrap:before {
  background-color: #000;
  display: none;
  opacity: calc(30 * 0.01);
}
.site-container {
  float: none;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}
html, .site-wrap .page-background-video .video-wrap {
  left: 0;
  width: 100%;
}
.image-left .page-background-video .video-wrap {
  left: 50vw;
  width: 50vw;
}
.image-right .page-background-video .video-wrap {
  width: 50vw;
}
.example-site-footer {
  background: rgba(37, 38, 42, 0.94);
  bottom: 0;
  color: #fff;
  display: inline-block;
  font-family: "Helvetica Neue", sans-serif;
  font-size: 14px;
  left: 0;
  padding: 0 20px 0 0;
  position: fixed;
  width: 100%;
  z-index: 4;
}
.example-site-footer .icon {
  fill: #fff;
  float: left;
}
.example-site-footer .content-left,
.example-site-footer .content-right {
  height: 70px;
}
.example-site-footer .content-left {
  float: left;
}
.example-site-footer .content-right {
  float: right;
}
.example-footer-content {
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  display: inline-block;
  position: relative;
  top: 50%;
}
.example-footer-link {
  border-bottom: 1px solid #fff;
  color: #fff;
}
.example-footer-link:hover {
  border-bottom-width: 0;
}
@media (max-width: 932px) {
  .example-site-footer .desktop {
    display: none;
  }
  .example-site-footer .mobile {
    text-transform: capitalize;
  }
}
html {
  position: relative;
}
html:before {
  content: "";
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
}
.site-wrap,
.site-container {
  position: relative;
  width: 100%;
}
.site-wrap:before {
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.site-header {
  position: relative;
}
.theme-container:before {
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.responsive-nav {
  display: none;
  opacity: 0;
  visibility: hidden;
}
.project-cover .separator:last-child,
.project-header .fields .separator:last-child {
  display: none;
}
.preserve-whitespace {
  white-space: pre-wrap;
}
.preserve-whitespace--nowrap {
  white-space: pre;
}
.page-background-video .video-wrap {
  height: 100vh;
  left: 80px;
  overflow: hidden;
  position: fixed;
  top: 0;
  width: calc(100vw - 80px);
  z-index: -1;
}
.image-right .page-background-video .video-wrap {
  width: 50vw;
}
.image-left .page-background-video .video-wrap {
  left: 50%;
  width: 50vw;
}
.page-background-video .renditions-video {
  font-family: "object-fit: cover;";
  height: 100%;
  left: 0;
  object-fit: cover;
  position: relative;
  top: 0;
  width: 100%;
}
.page-background-video-with-panel .video-wrap {
  left: 260px;
  width: calc(100vw - 260px);
}
.image-right .page-background-video-with-panel .video-wrap {
  left: 260px;
  width: calc(50vw - 130px);
}
.image-left .page-background-video-with-panel .video-wrap {
  left: calc(50% + 130px);
  width: calc(50vw - 130px);
}
.image-right .page-background-video-with-panel .video-wrap {
  left: 0;
  width: 50vw;
}
.image-left .page-background-video-with-panel .video-wrap {
  left: 50%;
  width: 50vw;
}
.mp4-image {
  display: none !important;
  font-family: "object-fit: cover;";
  height: 100%;
  left: 0;
  object-fit: cover;
  position: relative;
  top: 0;
  width: 100%;
}
@supports (-webkit-overflow-scrolling: touch) {
  .video-wrap .renditions-video {
    display: none;
  }
  .video-wrap .mp4-image {
    display: block !important;
  }
}
.logo,
.logo-secondary {
  clear: both;
  word-wrap: break-word;
}
.logo img,
.logo-secondary img {
  max-width: 100%;
}
.logo a,
.logo-secondary a {
  color: inherit;
}
.logo .image-link,
.logo-secondary .image-link {
  display: inline-block;
  max-width: 100%;
}
.logo .image-rollover,
.logo .image-scroll,
.logo-secondary .image-rollover,
.logo-secondary .image-scroll {
  display: none;
}
.logo.logo-text,
.logo-secondary.logo-text {
  width: 100%;
}
.logo.has-rollover.hoverable:hover .image-link,
.logo-secondary.has-rollover.hoverable:hover .image-link {
  display: none;
}
.logo.has-rollover.hoverable:hover .image-link.image-rollover,
.logo-secondary.has-rollover.hoverable:hover .image-link.image-rollover {
  display: block;
}
.on-scroll .logo.has-scroll .image-normal,
.on-scroll .logo.has-scroll .image-rollover,
.on-scroll .logo-secondary.has-scroll .image-normal,
.on-scroll .logo-secondary.has-scroll .image-rollover {
  display: none !important;
}
.on-scroll .logo.has-scroll .image-scroll,
.on-scroll .logo-secondary.has-scroll .image-scroll {
  display: inline-block;
}
.logo-image,
.logo-secondary-image {
  width: 100%;
}
.social {
  font-size: 0;
}
.social li {
  display: inline-block;
}
.social li:first-child {
  padding-left: 0 !important;
}
.social li:last-child {
  padding-right: 0 !important;
}
.social li svg {
  vertical-align: middle;
}
.social a {
  display: block;
  text-align: center;
}
nav .page-title,
nav .gallery-title,
nav .project-title,
nav .link-title,
nav .social,
nav .social li {
  display: inline-block;
  vertical-align: middle;
}
nav .project-title:first-child,
nav .gallery-title:first-child,
nav .page-title:first-child,
nav .link-title:first-child {
  padding-left: 0 !important;
}
nav .project-title:last-child,
nav .gallery-title:last-child,
nav .page-title:last-child,
nav .link-title:last-child {
  padding-right: 0 !important;
}
.masthead {
  overflow: hidden;
  position: relative;
}
.masthead .video-wrap {
  height: 100%;
  left: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 100%;
}
.masthead video {
  font-family: "object-fit: cover;";
  height: 100%;
  left: 0;
  object-fit: cover;
  top: 0;
  width: 100%;
}
.masthead:after {
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.masthead h1,
.masthead p {
  width: 100%;
  word-wrap: break-word;
}
.masthead,
.masthead-placeholder {
  width: 100%;
}
.masthead-placeholder {
  opacity: 0;
  position: relative !important;
  z-index: -1;
}
.masthead-contents,
.masthead-text {
  width: 100%;
}
.masthead-contents {
  height: 100%;
  top: 0;
  z-index: 1;
}
.masthead,
.masthead-contents {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
}
.masthead-arrow-container {
  cursor: pointer;
  height: 40px;
  width: 60px;
}
.masthead-arrow {
  -webkit-transform: rotate(45deg) translateY(-15px) translateX(5px);
  -moz-transform: rotate(45deg) translateY(-15px) translateX(5px);
  -ms-transform: rotate(45deg) translateY(-15px) translateX(5px);
  -o-transform: rotate(45deg) translateY(-15px) translateX(5px);
  transform: rotate(45deg) translateY(-15px) translateX(5px);
  border-bottom: 1px solid transparent;
  border-right: 1px solid transparent;
  bottom: 5px;
  height: 30px;
  position: absolute;
  width: 30px;
}
.masthead-button {
  cursor: pointer;
  display: inline-block;
  vertical-align: middle;
}
.masthead-button + .masthead-button-spacer + .masthead-button {
  margin-left: 17px;
}
.masthead-button-spacer {
  display: none;
}
@media (max-width: 540px) {
  .masthead-button + .masthead-button-spacer {
    display: block;
    height: 17px;
  }
  .masthead-button + .masthead-button-spacer + .masthead-button {
    margin-left: 0;
  }
}
.site-footer {
  clear: both;
  display: block;
}
.cookie-banner {
  bottom: 0;
  display: none;
  position: fixed;
  text-align: center;
  z-index: 99999;
}
.cookie-banner.show {
  display: block;
}
.cookie-banner p {
  font-size: 18px;
  line-height: 1.222;
  margin: 24px;
  max-width: calc(100% - 84px);
}
@media (max-width: 932px) {
  .cookie-banner p {
    font-size: 16px;
  }
}
.cookie-banner a {
  color: inherit;
  margin-left: 10px;
  text-decoration: underline;
}
.cookie-banner .close-btn {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
}
.site-header {
  display: -webkit-flex;
  display: flex;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
}
.site-header.on-scroll {
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}
.logo-wrap {
  flex: 1;
}
.logo-wrap {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 0px;
  padding-top: 0px;
  width: 40%;
}
.logo-text {
  float: right;
  text-align: right;
}
.logo-image {
  max-width: 120px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.logo-secondary-text {
  float: left;
  text-align: left;
}
.logo-secondary-image {
  max-width: 100%;
  float: left;
  text-align: left;
}
.logo {
  font-family: var(--font-body);
  font-size: 35px;
  font-style: normal;
  font-weight: 500;
  line-height: 35px;
  padding-bottom: 0px;
  padding-left: 5%;
  padding-right: 5%;
  padding-top: 0px;
  text-transform: uppercase;
}
.logo,
.logo a {
  color: #fff;
}
.logo a:hover {
  color: #fff;
  font-style: normal;
  font-weight: 500;
  text-transform: uppercase;
}
.logo-secondary {
  font-family: var(--font-body);
  font-size: 22px;
  font-style: normal;
  font-weight: 500;
  line-height: 22px;
  padding-bottom: 0px;
  padding-left: 0%;
  padding-right: 0%;
  padding-top: 0px;
  text-transform: uppercase;
}
.logo-secondary,
.logo-secondary a {
  color: #cccccc;
}
.logo-secondary a:hover {
  color: #cccccc;
  font-style: normal;
  font-weight: 500;
  text-transform: uppercase;
}
nav {
  float: left;
  max-width: 100%;
  width: 30%;
}
nav .gallery-title a {
  color: #fff;
  font-family: var(--font-display);
  font-size: 28px;
  font-style: normal;
  font-weight: 500;
  line-height: 19px;
  text-transform: uppercase;
}
nav .gallery-title a:hover {
  color: #E5FE62;
  font-style: normal;
  font-weight: 500;
  text-transform: uppercase;
}
nav .gallery-title a.active {
  color: #fff;
  font-style: normal;
  font-weight: 500;
  text-transform: uppercase;
}
nav .project-title a {
  color: #fff;
  font-family: var(--font-body);
  font-size: 19px;
  font-style: normal;
  font-weight: 500;
  line-height: 19px;
  text-transform: uppercase;
}
nav .project-title a:hover {
  color: #fff;
  font-style: normal;
  font-weight: 500;
  text-transform: uppercase;
}
nav .project-title a.active {
  color: #fff;
  font-style: normal;
  font-weight: 500;
  text-transform: uppercase;
}
nav .page-title a {
  color: #fff;
  font-family: var(--font-display);
  font-size: 28px;
  font-style: normal;
  font-weight: 500;
  line-height: 19px;
  text-transform: uppercase;
}
nav .page-title a:hover {
  color: #E5FE62;
  font-style: normal;
  font-weight: 500;
  text-transform: uppercase;
}
nav .page-title a.active {
  color: #fff;
  font-style: normal;
  font-weight: 500;
  text-transform: uppercase;
}
nav .link-title a {
  color: #fff;
  font-family: var(--font-body);
  font-size: 19px;
  font-style: normal;
  font-weight: 500;
  line-height: 19px;
  text-transform: uppercase;
}
nav .link-title a:hover {
  color: #fff;
  font-style: normal;
  font-weight: 500;
  text-transform: uppercase;
}
.pf-nav-social {
  text-align: right;
}
.pf-nav-social li {
  padding-top: 0px;
  padding-bottom: 0px;
  padding-left: 10px;
  padding-right: 0px;
}
.pf-nav-social a:hover svg {
  fill: #fff;
  opacity: 1;
}
.pf-nav-social svg {
  fill: #fff;
  height: 30px;
  opacity: 1;
  width: 30px;
}
@media (max-width: 932px) {
  .pf-nav-social li {
    padding-top: 0px;
    padding-bottom: 0px;
    padding-left: 8px;
    padding-right: 0px;
  }
}
@media (max-width: 540px) {
  .pf-nav-social li {
    padding-top: 0px;
    padding-bottom: 0px;
    padding-left: 7px;
    padding-right: 0px;
  }
}
.pf-footer-social {
  text-align: center;
}
.pf-footer-social li {
  padding-top: 0px;
  padding-bottom: 30px;
  padding-left: 0px;
  padding-right: 15px;
}
.pf-footer-social a:hover svg {
  fill: #eee;
  opacity: 1;
}
.pf-footer-social svg {
  fill: #888;
  height: 30px;
  opacity: 1;
  width: 30px;
}
@media (max-width: 932px) {
  .pf-footer-social li {
    padding-top: 0px;
    padding-bottom: 24px;
    padding-left: 0px;
    padding-right: 12px;
  }
}
@media (max-width: 540px) {
  .pf-footer-social li {
    padding-top: 0px;
    padding-bottom: 20px;
    padding-left: 0px;
    padding-right: 10px;
  }
}
.masthead-social {
  text-align: center;
}
.masthead-social li {
  padding-top: 40px;
  padding-bottom: 15px;
  padding-left: 0px;
  padding-right: 15px;
}
.masthead-social a:hover svg {
  fill: #fff;
  opacity: 0.8;
}
.masthead-social svg {
  fill: #fff;
  height: 30px;
  opacity: 1;
  width: 30px;
}
@media (max-width: 932px) {
  .masthead-social li {
    padding-top: 32px;
    padding-bottom: 12px;
    padding-left: 0px;
    padding-right: 12px;
  }
}
@media (max-width: 540px) {
  .masthead-social li {
    padding-top: 26px;
    padding-bottom: 10px;
    padding-left: 0px;
    padding-right: 10px;
  }
}
nav {
  padding-left: 0%;
  padding-right: 0%;
  text-align: left;
}
nav .gallery-title {
  padding-left: 0px;
  padding-right: 20px;
}
nav .project-title {
  padding-left: 0px;
  padding-right: 20px;
}
nav .page-title {
  padding-left: 0px;
  padding-right: 20px;
}
nav .link-title {
  padding-left: 0px;
  padding-right: 20px;
}
.masthead {
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  margin-bottom: 0px;
  padding-left: 0%;
  padding-right: 0%;
  padding-bottom: 60px;
  padding-top: 60px;
}
.masthead:after {
  display: none;
}
.masthead h1 {
  color: #fff;
  font-family: var(--font-display);
  font-size: 60px;
  font-style: normal;
  font-weight: 500;
  line-height: 68px;
  margin-bottom: 20px;
  margin-top: 0px;
  text-align: center;
  text-transform: none;
}
.masthead p {
  color: #E5FE62;
  font-family: var(--font-body);
  font-size: 24px;
  font-style: normal;
  font-weight: 500;
  line-height: 30px;
  margin-bottom: 0px;
  margin-top: 0px;
  text-align: center;
  text-transform: none;
}
.masthead {
  position: fixed;
}
.masthead-contents {
  max-width: 800px;
}
.masthead-buttons {
  padding-top: 30px;
  text-align: center;
}
@media (max-width: 932px) {
  .masthead {
    margin-bottom: 0px;
    padding-bottom: 28px;
    padding-top: 128px;
    padding-left: 5%;
    padding-right: 5%;
  }
  .masthead h1 {
    font-size: 28px;
    line-height: 32px;
    margin-bottom: 14px;
    margin-top: 0px;
  }
  .masthead p {
    font-size: 15px;
    line-height: 19px;
    margin-bottom: 0px;
    margin-top: 0px;
  }
  .masthead-buttons {
    padding-top: 18px;
  }
  .masthead-arrow-container {
    margin-bottom: 19px;
    margin-top: 13px;
  }
}
@media (max-width: 540px) {
  .masthead {
    padding-bottom: 25px;
    padding-top: 128px;
    margin-bottom: 0px;
  }
  .masthead h1 {
    font-size: 25px;
    line-height: 28px;
    margin-bottom: 13px;
    margin-top: 0px;
  }
  .masthead p {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 0px;
    margin-top: 0px;
  }
  .masthead-buttons {
    padding-top: 16px;
  }
  .masthead-arrow-container {
    margin-bottom: 16px;
    margin-top: 11px;
  }
}
.site-footer {
  font-family: var(--font-body);
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
  padding-bottom: 100px;
  padding-left: 0px;
  padding-right: 0px;
  padding-top: 60px;
  text-align: center;
  text-transform: none;
  width: 100%;
}
.site-footer,
.site-footer a {
  color: #555;
}
@media (max-width: 932px) {
  .site-footer {
    font-size: 12px;
    line-height: 20px;
    padding-bottom: 40px;
    padding-top: 28px;
  }
}
@media (max-width: 540px) {
  .site-footer {
    font-size: 12px;
    line-height: 20px;
    padding-bottom: 34px;
    padding-top: 25px;
  }
}
.cookie-banner {
  font-family: var(--font-body);
  width: 100%;
}
.cookie-banner .close-btn {
  cursor: pointer;
}
.lightbox-content {
  height: 100%;
}
.lightbox-content .grid__image-caption {
  font-family: var(--font-body);
}
#lightbox-wrap,
#lightbox-inner-wrap {
  height: 100%;
}
.grid__image-caption,
.grid__image-caption-lightbox {
  font-family: var(--font-body);
}
.site-content {
  margin-left: 4%;
  margin-right: 4%;
  width: 92%;
}
.site-header {
  -webkit-align-items: center;
  align-items: center;
  background-color: #222;
}
.site-header.on-scroll {
  background-color: #222;
}
.site-header.on-scroll .logo,
.site-header.on-scroll .logo a {
  color: #fff;
}
.site-header.on-scroll .pf-nav-social svg {
  fill: #fff;
  opacity: 1;
}
.site-header.on-scroll nav .page-title a {
  color: #fff;
}
.site-header.on-scroll nav .gallery-title a {
  color: #fff;
}
.site-header.on-scroll nav .project-title a {
  color: #fff;
}
.site-header.on-scroll nav .link-title a {
  color: #fff;
}
.site-header {
  height: 100px;
  padding-bottom: 0px;
  padding-left: 5%;
  padding-right: 5%;
  padding-top: 0px;
  position: fixed;
  z-index: 3;
}
.header-placeholder {
  display: none;
}
.logo-image img {
  max-height: 100px;
}
.pf-nav-social {
  width: 30%;
}
.hamburger-click-area {
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  cursor: pointer;
  display: none;
  padding: 30px 5%;
  position: absolute;
  right: 0;
  -webkit-tap-highlight-color: transparent;
  top: 50%;
}
.hamburger {
  position: relative;
  width: 24px;
}
.hamburger i {
  display: block;
  height: 2px;
  margin-bottom: 4px;
}
.hamburger i:last-child {
  margin-bottom: 0;
}
@media (max-width: 932px) {
  nav {
    display: none;
    padding: 0;
    width: 100%;
  }
  .site-header {
    padding-left: 5%;
    padding-right: 5%;
  }
  .logo-wrap {
    max-width: 100%;
    padding: 0;
    width: 100%;
  }
  .logo {
    max-width: 100%;
    padding: 0 39px 0 0;
  }
  .logo-image {
    padding-left: 39px;
    margin-bottom: -5px;
    margin-top: -5px;
  }
  .logo-image img {
    max-height: 60px;
  }
  .logo-text {
    font-size: 33px;
    line-height: 33px;
    float: none;
    text-align: left;
  }
  .logo-secondary {
    display: none;
  }
  .close-responsive-button {
    top: 40px;
  }
  .hamburger-click-area {
    display: block;
  }
  .hamburger i {
    background-color: #fff;
  }
  main,
  .site-container {
    width: 100%;
  }
  .site-content {
    margin: 0;
    padding: 0 0;
    width: 100%;
  }
  .responsive-nav {
    background-color: rgb(178.5, 178.5, 178.5);
    bottom: 0;
    display: flex;
    height: 100%;
    left: 0;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 50px 5% 0;
    position: fixed;
    right: 0;
    text-align: center;
    top: 0;
    transition: visibility 0s ease 0.2s, opacity 0.2s ease 0s;
    z-index: 99999;
  }
  .responsive-nav nav {
    float: none;
    margin: auto;
    max-width: 100%;
    width: 100%;
  }
  .responsive-nav.has-social nav {
    padding-bottom: 80px;
  }
  .responsive-nav .nav-container {
    width: 100%;
  }
  .responsive-nav .page-title,
  .responsive-nav .project-title,
  .responsive-nav .link-title,
  .responsive-nav .gallery-title {
    display: block;
    text-align: center;
  }
  .responsive-nav .page-title a,
  .responsive-nav .project-title a,
  .responsive-nav .link-title a,
  .responsive-nav .gallery-title a {
    font-size: 22px;
    line-height: 32px;
  }
  .responsive-nav .page-title,
  .responsive-nav .project-title,
  .responsive-nav .link-title,
  .responsive-nav .gallery-title {
    padding: 0 0 30px;
  }
  .responsive-nav .group {
    padding: 0;
  }
  .responsive-nav .social {
    text-align: center;
    width: 100%;
    background-color: #212121;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    bottom: 0;
    left: 0;
    margin: 0;
    min-height: 80px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 5%;
    position: fixed;
  }
  .responsive-nav .social ul {
    white-space: nowrap;
  }
  .responsive-nav .social svg {
    width: 42px;
  }
  .responsive-nav .social li {
    display: inline-block;
    float: none !important;
    padding: 0 20px 0 0;
  }
  .responsive-nav .social li:last-child {
    padding-right: 0;
  }
  .close-responsive-click-area {
    cursor: pointer;
    padding: 50px 6%;
    position: fixed;
    right: 0;
    -webkit-tap-highlight-color: transparent;
    top: 0;
  }
  .close-responsive-button {
    height: 20px;
    position: fixed;
    right: 5%;
    width: 20px;
  }
  .close-responsive-button:before, .close-responsive-button:after {
    background-color: #fff;
    content: "";
    display: block;
    height: 20px;
    left: 50%;
    position: absolute;
    width: 2px;
  }
  .close-responsive-button:before {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .close-responsive-button:after {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .show-responsive-nav {
    overflow: hidden;
  }
  .show-responsive-nav .responsive-nav {
    opacity: 1;
    transition: visibility 0s ease 0s, opacity 0.2s ease 0s;
    visibility: visible;
  }
  .show-responsive-nav .responsive-nav nav {
    display: block;
  }
  .show-responsive-nav .site-header,
  .show-responsive-nav .site-container {
    display: none;
  }
  .site-footer {
    padding-left: 5%;
    padding-right: 5%;
    width: 100%;
  }
}
@media (max-width: 540px) {
  .close-responsive-click-area {
    padding: 40px 10%;
  }
  .close-responsive-button {
    top: 30px;
  }
  .logo {
    font-size: 23px;
    line-height: 23px;
  }
}
@media (max-width: 932px) {
  .logo-container {
    width: 100%;
  }
}
@media (max-width: 932px) {
  .site-header {
  }
  .site-header .pf-nav-social {
    display: none;
  }
  .site-header.on-scroll .hamburger i {
    background-color: #fff;
  }
  .responsive-nav,
  .responsive-nav .social {
    background-color: #222 !important;
  }
}
@media (max-width: 540px) {
  .site-header {
  }
}
.project-covers:after, .project-cover .details-inner:after {
  clear: both;
  content: "";
  display: table;
}
.project-cover {
  display: block;
  position: relative;
}
.project-cover.hold-space .cover-image:before {
  content: "";
  display: block;
  width: 100%;
}
.project-cover.hold-space .cover {
  left: 0;
  min-height: 100%;
  position: absolute;
  top: 0;
}
.project-cover .cover-image-wrap {
  overflow: hidden;
  position: relative;
}
.project-cover .cover-image {
  position: relative;
  -webkit-transform: translateZ(0);
}
.project-cover .cover-image:after {
  -webkit-transition: background-color 0.2s ease, opacity 0.2s ease;
  -moz-transition: background-color 0.2s ease, opacity 0.2s ease;
  transition: background-color 0.2s ease, opacity 0.2s ease;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.project-cover .cover {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  min-height: 100%;
  overflow: hidden;
  width: 100%;
}
.project-cover .cover .cover__img {
  font-family: "object-fit: cover;";
  height: calc(100% + 2px);
  left: 50%;
  object-fit: cover;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% + 2px);
}
.project-cover .cover .cover__img.js-lazy {
  background-color: rgba(0, 0, 0, 0.03);
}
.project-cover .cover .cover__img.js-lazy.image-loaded {
  background-color: transparent;
}
.project-cover .cover-rollover {
  opacity: 0;
  visibility: hidden;
}
.project-cover:hover .cover-normal.has-rollover, .project-cover.touch-hover .cover-normal.has-rollover {
  opacity: 0;
  visibility: hidden;
}
.project-cover:hover .cover-rollover, .project-cover.touch-hover .cover-rollover {
  opacity: 1;
  visibility: visible;
}
.project-cover .title,
.project-cover .date,
.project-cover .custom1,
.project-cover .custom2,
.project-cover .description {
  clear: both;
}
.project-cover .description {
  white-space: pre-line;
  word-wrap: break-word;
}
.project-cover .details-inner {
  overflow: hidden;
}
.project-covers {
  display: flex;
  flex-wrap: wrap;
}
.project-cover:hover .details-wrap, .project-cover.touch-hover .details-wrap {
  opacity: 1;
}
.project-cover .cover-content-container {
  overflow: hidden;
  position: relative;
}
.project-cover .details-wrap {
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity 0.15s ease;
}
.project-cover .details-wrap {
  -webkit-backface-visibility: hidden;
  height: 100%;
}
.project-cover .details {
  display: flex;
  height: 100%;
  position: relative;
  width: 100%;
}
.project-cover .details-inner {
  width: 100%;
}
.back-to-top .arrow {
  margin-right: 10px;
}
.back-to-top-fixed {
  position: fixed;
  z-index: 3;
}
.icon-back-to-top {
  -webkit-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  -o-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  display: block;
  left: 50%;
  position: absolute;
  top: 50%;
}
.project-cover {
  margin-right: 5px;
  width: calc(33.3333333333% - 3.3333333333px);
}
.project-cover.hold-space .cover-image:before {
  padding-bottom: 56.25%;
}
.project-cover .cover-image {
  float: none;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.project-cover .cover-image:after {
  background-color: #fff;
  opacity: 0;
}
.project-cover:hover .cover-image:after, .project-cover.touch-hover .cover-image:after {
  background-color: #000000;
  opacity: 0.6;
}
.project-cover .cover-image,
.project-cover .cover-image:after,
.project-cover .cover {
  border-radius: 0px;
}
.project-cover .details-wrap {
  max-width: 100%;
  padding-top: 8%;
  width: 100%;
}
.project-cover .details {
  background: rgba(255, 255, 255, 0);
}
.project-cover .details-inner {
  padding-bottom: 0%;
  padding-left: 8%;
  padding-right: 8%;
  padding-top: 0%;
}
.project-cover .title {
  color: #E5FE62;
  float: none;
  font-family: var(--font-display);
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 28px;
  margin: auto;
  padding-bottom: 3px;
  padding-left: 0%;
  padding-right: 0%;
  padding-top: 0px;
  text-align: center;
  text-transform: uppercase;
  width: 100%;
}
.project-cover .date {
  color: #222;
  float: none;
  font-family: var(--font-body);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
  margin: auto;
  padding-bottom: 0px;
  padding-left: 0%;
  padding-right: 0%;
  padding-top: 5px;
  text-align: center;
  text-transform: none;
  width: 100%;
}
.project-cover .custom1 {
  color: #222;
  float: none;
  font-family: var(--font-body);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
  margin: auto;
  padding-bottom: 0px;
  padding-left: 0%;
  padding-right: 0%;
  padding-top: 12px;
  text-align: center;
  text-transform: none;
  width: 100%;
}
.project-cover .custom2 {
  color: #222;
  float: none;
  font-family: var(--font-body);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
  margin: auto;
  padding-bottom: 0px;
  padding-left: 0%;
  padding-right: 0%;
  padding-top: 12px;
  text-align: center;
  text-transform: none;
  width: 100%;
}
.project-cover .description {
  color: #222;
  float: none;
  font-family: var(--font-body);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
  margin: auto;
  padding-bottom: 0px;
  padding-left: 0%;
  padding-right: 0%;
  padding-top: 12px;
  text-align: center;
  text-transform: none;
  width: 100%;
}
.project-cover:nth-child(3n) {
  margin-right: 0;
}
.project-cover:nth-child(3n+1) {
  clear: left;
  margin-left: 0;
}
@media (max-width: 932px) {
  .project-cover .title {
    font-size: 18px;
    line-height: 21px;
    padding-bottom: 5px;
  }
  .project-cover .date {
    font-size: 14px;
    line-height: 20px;
    padding-top: 5px;
  }
  .project-cover .custom1 {
    font-size: 14px;
    line-height: 20px;
    padding-top: 10px;
  }
  .project-cover .custom2 {
    font-size: 14px;
    line-height: 20px;
    padding-top: 10px;
  }
  .project-cover .description {
    font-size: 14px;
    line-height: 20px;
    padding-top: 10px;
  }
  .project-cover {
    width: calc(50% - 2.5px);
  }
  .project-cover:nth-child(2n) {
    margin-right: 0 !important;
  }
  .project-cover:nth-child(3n) {
    margin-right: 5px;
  }
  .project-cover:nth-child(3n+1) {
    clear: none;
  }
}
@media (max-width: 540px) {
  .project-cover .title {
    font-size: 15px;
    line-height: 18px;
    padding-bottom: 4px;
  }
  .project-cover .date {
    font-size: 14px;
    line-height: 20px;
    padding-top: 5px;
  }
  .project-cover .custom1 {
    font-size: 14px;
    line-height: 20px;
    padding-top: 10px;
  }
  .project-cover .custom2 {
    font-size: 14px;
    line-height: 20px;
    padding-top: 10px;
  }
  .project-cover .description {
    font-size: 14px;
    line-height: 20px;
    padding-top: 10px;
  }
  .project-cover {
    margin-right: 0 !important;
    width: 100%;
  }
}
.project-covers {
  padding-bottom: 0px;
  padding-top: 5px;
}
@media (max-width: 932px) {
  .project-covers {
    padding-bottom: 0px;
    padding-top: 5px;
  }
}
@media (max-width: 540px) {
  .project-covers {
    padding-bottom: 0px;
    padding-top: 5px;
  }
}
.project-cover .cover-content-container {
  margin-bottom: 5px;
  margin-left: 0px;
  margin-right: 0px;
  margin-top: 0px;
}
.project-cover .details-wrap {
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  padding-bottom: 8%;
}
.project-cover .details {
  border-radius: 0px;
}
@media (max-width: 932px) {
  .project-cover .custom1,
  .project-cover .custom2,
  .project-cover .description {
    display: none;
  }
  .project-cover .cover-content-container {
    margin-bottom: 5px;
    margin-top: 0px;
  }
}
@media (max-width: 540px) {
  .project-cover .cover-content-container {
    margin-bottom: 5px;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0px;
  }
}
.project-cover .details {
  align-items: center;
}
.back-to-top {
  display: none;
}
.back-to-top-fixed {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 60px;
  display: block;
  bottom: 40px;
  height: 60px;
  width: 60px;
  right: 40px;
}
.back-to-top-fixed:hover {
  background: rgba(255, 255, 255, 0.2);
}
.back-to-top-fixed:hover .icon-back-to-top {
  fill: #fff;
  opacity: 0.5;
}
.icon-back-to-top {
  fill: #fff;
  height: 24px;
  opacity: 0.3;
  position: absolute;
  width: 24px;
}
@media (max-width: 932px) {
  .back-to-top-fixed {
    display: none;
  }
}
/* ===== module/text/image/grid rules (from a project-page CSS bundle) ===== */
.logo-wrap:after, .site-header:after {
  clear: both;
  content: "";
  display: table;
}
html {
  font-family: sans-serif; 
  -ms-text-size-adjust: 100%; 
  -webkit-text-size-adjust: 100%; 
}
body {
  margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
progress,
video {
  display: inline-block; 
  vertical-align: baseline; 
}
audio:not([controls]) {
  display: none;
  height: 0;
}
[hidden],
template {
  display: none;
}
a {
  background: transparent;
}
a:active,
a:focus,
a:hover {
  outline: 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: bold;
}
dfn {
  font-style: italic;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
mark {
  background: #ff0;
  color: #000;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 1em 40px;
}
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}
pre {
  overflow: auto;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit; 
  font: inherit; 
  margin: 0; 
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button; 
  cursor: pointer; 
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input {
  line-height: normal;
}
input[type=checkbox],
input[type=radio] {
  box-sizing: border-box; 
  padding: 0; 
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}
input[type=search] {
  -webkit-appearance: textfield; 
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box; 
  box-sizing: content-box;
}
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}
legend {
  border: 0; 
  padding: 0; 
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
* {
  box-sizing: border-box;
}
html {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
ul {
  margin: 0;
  padding: 0;
}
ul li {
  list-style-type: none;
}
img {
  vertical-align: top;
}
p {
  margin: 0;
}
a {
  text-decoration: none;
}
html,
body {
  min-height: 100%;
}
.italic {
  font-style: italic;
}
.underline {
  text-decoration: underline;
}
.strikethrough {
  text-decoration: line-through;
}
.bold {
  font-weight: bold;
}
.cfix:after {
  clear: both;
  content: " ";
  display: block;
  height: 0;
  line-height: 0;
  overflow: hidden;
  visibility: hidden;
}
html {
  background-color: #212121;
  background-image: url("");
  background-position: top left;
  background-repeat: no-repeat;
  background-size: contain;
}
html:before {
  background-color: #000;
  display: none;
  opacity: calc(30 * 0.01);
}
.site-container {
  float: none;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}
html .page-background-video .video-wrap {
  left: 0;
  width: 100%;
}
.image-left .page-background-video .video-wrap {
  left: 50vw;
  width: 50vw;
}
.image-right .page-background-video .video-wrap {
  width: 50vw;
}
.example-site-footer {
  background: rgba(37, 38, 42, 0.94);
  bottom: 0;
  color: #fff;
  display: inline-block;
  font-family: "Helvetica Neue", sans-serif;
  font-size: 14px;
  left: 0;
  padding: 0 20px 0 0;
  position: fixed;
  width: 100%;
  z-index: 4;
}
.example-site-footer .icon {
  fill: #fff;
  float: left;
}
.example-site-footer .content-left,
.example-site-footer .content-right {
  height: 70px;
}
.example-site-footer .content-left {
  float: left;
}
.example-site-footer .content-right {
  float: right;
}
.example-footer-content {
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  display: inline-block;
  position: relative;
  top: 50%;
}
.example-footer-link {
  border-bottom: 1px solid #fff;
  color: #fff;
}
.example-footer-link:hover {
  border-bottom-width: 0;
}
@media (max-width: 932px) {
  .example-site-footer .desktop {
    display: none;
  }
  .example-site-footer .mobile {
    text-transform: capitalize;
  }
}
html {
  position: relative;
}
html:before {
  content: "";
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
}
.site-wrap,
.site-container {
  position: relative;
  width: 100%;
}
.site-wrap:before {
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.site-header {
  position: relative;
}
.theme-container:before {
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.responsive-nav {
  display: none;
  opacity: 0;
  visibility: hidden;
}
.project-cover .separator:last-child,
.project-header .fields .separator:last-child {
  display: none;
}
.preserve-whitespace {
  white-space: pre-wrap;
}
.preserve-whitespace--nowrap {
  white-space: pre;
}
.page-background-video .video-wrap {
  height: 100vh;
  left: 80px;
  overflow: hidden;
  position: fixed;
  top: 0;
  width: calc(100vw - 80px);
  z-index: -1;
}
.image-right .page-background-video .video-wrap {
  width: 50vw;
}
.image-left .page-background-video .video-wrap {
  left: 50%;
  width: 50vw;
}
.page-background-video .renditions-video {
  font-family: "object-fit: cover;";
  height: 100%;
  left: 0;
  object-fit: cover;
  position: relative;
  top: 0;
  width: 100%;
}
.page-background-video-with-panel .video-wrap {
  left: 260px;
  width: calc(100vw - 260px);
}
.image-right .page-background-video-with-panel .video-wrap {
  left: 260px;
  width: calc(50vw - 130px);
}
.image-left .page-background-video-with-panel .video-wrap {
  left: calc(50% + 130px);
  width: calc(50vw - 130px);
}
.image-right .page-background-video-with-panel .video-wrap {
  left: 0;
  width: 50vw;
}
.image-left .page-background-video-with-panel .video-wrap {
  left: 50%;
  width: 50vw;
}
.mp4-image {
  display: none !important;
  font-family: "object-fit: cover;";
  height: 100%;
  left: 0;
  object-fit: cover;
  position: relative;
  top: 0;
  width: 100%;
}
@supports (-webkit-overflow-scrolling: touch) {
  .video-wrap .renditions-video {
    display: none;
  }
  .video-wrap .mp4-image {
    display: block !important;
  }
}
.logo,
.logo-secondary {
  clear: both;
  word-wrap: break-word;
}
.logo img,
.logo-secondary img {
  max-width: 100%;
}
.logo a,
.logo-secondary a {
  color: inherit;
}
.logo .image-link,
.logo-secondary .image-link {
  display: inline-block;
  max-width: 100%;
}
.logo .image-rollover,
.logo .image-scroll,
.logo-secondary .image-rollover,
.logo-secondary .image-scroll {
  display: none;
}
.logo.logo-text,
.logo-secondary.logo-text {
  width: 100%;
}
.logo.has-rollover.hoverable:hover .image-link,
.logo-secondary.has-rollover.hoverable:hover .image-link {
  display: none;
}
.logo.has-rollover.hoverable:hover .image-link.image-rollover,
.logo-secondary.has-rollover.hoverable:hover .image-link.image-rollover {
  display: block;
}
.on-scroll .logo.has-scroll .image-normal,
.on-scroll .logo.has-scroll .image-rollover,
.on-scroll .logo-secondary.has-scroll .image-normal,
.on-scroll .logo-secondary.has-scroll .image-rollover {
  display: none !important;
}
.on-scroll .logo.has-scroll .image-scroll,
.on-scroll .logo-secondary.has-scroll .image-scroll {
  display: inline-block;
}
.logo-image,
.logo-secondary-image {
  width: 100%;
}
.social {
  font-size: 0;
}
.social li {
  display: inline-block;
}
.social li:first-child {
  padding-left: 0 !important;
}
.social li:last-child {
  padding-right: 0 !important;
}
.social li svg {
  vertical-align: middle;
}
.social a {
  display: block;
  text-align: center;
}
nav .page-title,
nav .gallery-title,
nav .project-title,
nav .link-title,
nav .social,
nav .social li {
  display: inline-block;
  vertical-align: middle;
}
nav .project-title:first-child,
nav .gallery-title:first-child,
nav .page-title:first-child,
nav .link-title:first-child {
  padding-left: 0 !important;
}
nav .project-title:last-child,
nav .gallery-title:last-child,
nav .page-title:last-child,
nav .link-title:last-child {
  padding-right: 0 !important;
}
.masthead {
  overflow: hidden;
  position: relative;
}
.masthead .video-wrap {
  height: 100%;
  left: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 100%;
}
.masthead video {
  font-family: "object-fit: cover;";
  height: 100%;
  left: 0;
  object-fit: cover;
  top: 0;
  width: 100%;
}
.masthead:after {
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.masthead h1,
.masthead p {
  width: 100%;
  word-wrap: break-word;
}
.masthead,
.masthead-placeholder {
  width: 100%;
}
.masthead-placeholder {
  opacity: 0;
  position: relative !important;
  z-index: -1;
}
.masthead-contents,
.masthead-text {
  width: 100%;
}
.masthead-contents {
  height: 100%;
  top: 0;
  z-index: 1;
}
.masthead,
.masthead-contents {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
}
.masthead-arrow-container {
  cursor: pointer;
  height: 40px;
  width: 60px;
}
.masthead-arrow {
  -webkit-transform: rotate(45deg) translateY(-15px) translateX(5px);
  -moz-transform: rotate(45deg) translateY(-15px) translateX(5px);
  -ms-transform: rotate(45deg) translateY(-15px) translateX(5px);
  -o-transform: rotate(45deg) translateY(-15px) translateX(5px);
  transform: rotate(45deg) translateY(-15px) translateX(5px);
  border-bottom: 1px solid transparent;
  border-right: 1px solid transparent;
  bottom: 5px;
  height: 30px;
  position: absolute;
  width: 30px;
}
.masthead-button {
  cursor: pointer;
  display: inline-block;
  vertical-align: middle;
}
.masthead-button + .masthead-button-spacer + .masthead-button {
  margin-left: 17px;
}
.masthead-button-spacer {
  display: none;
}
@media (max-width: 540px) {
  .masthead-button + .masthead-button-spacer {
    display: block;
    height: 17px;
  }
  .masthead-button + .masthead-button-spacer + .masthead-button {
    margin-left: 0;
  }
}
.site-footer {
  clear: both;
  display: block;
}
.cookie-banner {
  bottom: 0;
  display: none;
  position: fixed;
  text-align: center;
  z-index: 99999;
}
.cookie-banner.show {
  display: block;
}
.cookie-banner p {
  font-size: 18px;
  line-height: 1.222;
  margin: 24px;
  max-width: calc(100% - 84px);
}
@media (max-width: 932px) {
  .cookie-banner p {
    font-size: 16px;
  }
}
.cookie-banner a {
  color: inherit;
  margin-left: 10px;
  text-decoration: underline;
}
.cookie-banner .close-btn {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
}
.site-header {
  display: -webkit-flex;
  display: flex;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
}
.site-header.on-scroll {
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}
.logo-wrap {
  flex: 1;
}
.logo-wrap {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 0px;
  padding-top: 0px;
  width: 40%;
}
.logo-text {
  float: right;
  text-align: right;
}
.logo-image {
  max-width: 120px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.logo-secondary-text {
  float: left;
  text-align: left;
}
.logo-secondary-image {
  max-width: 100%;
  float: left;
  text-align: left;
}
.logo {
  font-family: var(--font-body);
  font-size: 35px;
  font-style: normal;
  font-weight: 500;
  line-height: 35px;
  padding-bottom: 0px;
  padding-left: 5%;
  padding-right: 5%;
  padding-top: 0px;
  text-transform: uppercase;
}
.logo,
.logo a {
  color: #fff;
}
.logo a:hover {
  color: #fff;
  font-style: normal;
  font-weight: 500;
  text-transform: uppercase;
}
.logo-secondary {
  font-family: var(--font-body);
  font-size: 22px;
  font-style: normal;
  font-weight: 500;
  line-height: 22px;
  padding-bottom: 0px;
  padding-left: 0%;
  padding-right: 0%;
  padding-top: 0px;
  text-transform: uppercase;
}
.logo-secondary,
.logo-secondary a {
  color: #cccccc;
}
.logo-secondary a:hover {
  color: #cccccc;
  font-style: normal;
  font-weight: 500;
  text-transform: uppercase;
}
nav {
  float: left;
  max-width: 100%;
  width: 30%;
}
nav .gallery-title a {
  color: #fff;
  font-family: var(--font-display);
  font-size: 28px;
  font-style: normal;
  font-weight: 500;
  line-height: 19px;
  text-transform: uppercase;
}
nav .gallery-title a:hover {
  color: #E5FE62;
  font-style: normal;
  font-weight: 500;
  text-transform: uppercase;
}
nav .gallery-title a.active {
  color: #fff;
  font-style: normal;
  font-weight: 500;
  text-transform: uppercase;
}
nav .project-title a {
  color: #fff;
  font-family: var(--font-body);
  font-size: 19px;
  font-style: normal;
  font-weight: 500;
  line-height: 19px;
  text-transform: uppercase;
}
nav .project-title a:hover {
  color: #fff;
  font-style: normal;
  font-weight: 500;
  text-transform: uppercase;
}
nav .project-title a.active {
  color: #fff;
  font-style: normal;
  font-weight: 500;
  text-transform: uppercase;
}
nav .page-title a {
  color: #fff;
  font-family: var(--font-display);
  font-size: 28px;
  font-style: normal;
  font-weight: 500;
  line-height: 19px;
  text-transform: uppercase;
}
nav .page-title a:hover {
  color: #E5FE62;
  font-style: normal;
  font-weight: 500;
  text-transform: uppercase;
}
nav .page-title a.active {
  color: #fff;
  font-style: normal;
  font-weight: 500;
  text-transform: uppercase;
}
nav .link-title a {
  color: #fff;
  font-family: var(--font-body);
  font-size: 19px;
  font-style: normal;
  font-weight: 500;
  line-height: 19px;
  text-transform: uppercase;
}
nav .link-title a:hover {
  color: #fff;
  font-style: normal;
  font-weight: 500;
  text-transform: uppercase;
}
.pf-nav-social {
  text-align: right;
}
.pf-nav-social li {
  padding-top: 0px;
  padding-bottom: 0px;
  padding-left: 10px;
  padding-right: 0px;
}
.pf-nav-social a:hover svg {
  fill: #fff;
  opacity: 1;
}
.pf-nav-social svg {
  fill: #fff;
  height: 30px;
  opacity: 1;
  width: 30px;
}
@media (max-width: 932px) {
  .pf-nav-social li {
    padding-top: 0px;
    padding-bottom: 0px;
    padding-left: 8px;
    padding-right: 0px;
  }
}
@media (max-width: 540px) {
  .pf-nav-social li {
    padding-top: 0px;
    padding-bottom: 0px;
    padding-left: 7px;
    padding-right: 0px;
  }
}
.pf-footer-social {
  text-align: center;
}
.pf-footer-social li {
  padding-top: 0px;
  padding-bottom: 30px;
  padding-left: 0px;
  padding-right: 15px;
}
.pf-footer-social a:hover svg {
  fill: #eee;
  opacity: 1;
}
.pf-footer-social svg {
  fill: #888;
  height: 30px;
  opacity: 1;
  width: 30px;
}
@media (max-width: 932px) {
  .pf-footer-social li {
    padding-top: 0px;
    padding-bottom: 24px;
    padding-left: 0px;
    padding-right: 12px;
  }
}
@media (max-width: 540px) {
  .pf-footer-social li {
    padding-top: 0px;
    padding-bottom: 20px;
    padding-left: 0px;
    padding-right: 10px;
  }
}
.masthead-social {
  text-align: center;
}
.masthead-social li {
  padding-top: 40px;
  padding-bottom: 15px;
  padding-left: 0px;
  padding-right: 15px;
}
.masthead-social a:hover svg {
  fill: #fff;
  opacity: 0.8;
}
.masthead-social svg {
  fill: #fff;
  height: 30px;
  opacity: 1;
  width: 30px;
}
@media (max-width: 932px) {
  .masthead-social li {
    padding-top: 32px;
    padding-bottom: 12px;
    padding-left: 0px;
    padding-right: 12px;
  }
}
@media (max-width: 540px) {
  .masthead-social li {
    padding-top: 26px;
    padding-bottom: 10px;
    padding-left: 0px;
    padding-right: 10px;
  }
}
nav {
  padding-left: 0%;
  padding-right: 0%;
  text-align: left;
}
nav .gallery-title {
  padding-left: 0px;
  padding-right: 20px;
}
nav .project-title {
  padding-left: 0px;
  padding-right: 20px;
}
nav .page-title {
  padding-left: 0px;
  padding-right: 20px;
}
nav .link-title {
  padding-left: 0px;
  padding-right: 20px;
}
.masthead {
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  margin-bottom: 0px;
  padding-left: 0%;
  padding-right: 0%;
  padding-bottom: 100px;
  padding-top: 210px;
}
.masthead:after {
  display: none;
}
.masthead h1 {
  color: #fff;
  font-family: var(--font-body);
  font-size: 60px;
  font-style: normal;
  font-weight: 500;
  line-height: 68px;
  margin-bottom: 20px;
  margin-top: 0px;
  text-align: center;
  text-transform: none;
}
.masthead p {
  color: #ccc;
  font-family: var(--font-body);
  font-size: 24px;
  font-style: normal;
  font-weight: 500;
  line-height: 30px;
  margin-bottom: 0px;
  margin-top: 0px;
  text-align: center;
  text-transform: none;
}
.masthead {
  position: fixed;
}
.masthead-contents {
  max-width: 800px;
}
.masthead-arrow-container {
  margin-bottom: 45px;
  margin-top: 25px;
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
.masthead-arrow {
  border-bottom-color: #fff;
  border-right-color: #fff;
}
.masthead-buttons {
  padding-top: 30px;
  text-align: center;
}
@media (max-width: 932px) {
  .masthead {
    margin-bottom: 0px;
    padding-bottom: 40px;
    padding-top: 144px;
    padding-left: 5%;
    padding-right: 5%;
  }
  .masthead h1 {
    font-size: 28px;
    line-height: 32px;
    margin-bottom: 14px;
    margin-top: 0px;
  }
  .masthead p {
    font-size: 15px;
    line-height: 19px;
    margin-bottom: 0px;
    margin-top: 0px;
  }
  .masthead-buttons {
    padding-top: 18px;
  }
  .masthead-arrow-container {
    margin-bottom: 19px;
    margin-top: 13px;
  }
}
@media (max-width: 540px) {
  .masthead {
    padding-bottom: 34px;
    padding-top: 144px;
    margin-bottom: 0px;
  }
  .masthead h1 {
    font-size: 25px;
    line-height: 28px;
    margin-bottom: 13px;
    margin-top: 0px;
  }
  .masthead p {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 0px;
    margin-top: 0px;
  }
  .masthead-buttons {
    padding-top: 16px;
  }
  .masthead-arrow-container {
    margin-bottom: 16px;
    margin-top: 11px;
  }
}
.site-footer {
  font-family: var(--font-body);
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
  padding-bottom: 100px;
  padding-left: 0px;
  padding-right: 0px;
  padding-top: 60px;
  text-align: center;
  text-transform: none;
  width: 100%;
}
.site-footer,
.site-footer a {
  color: #555;
}
@media (max-width: 932px) {
  .site-footer {
    font-size: 12px;
    line-height: 20px;
    padding-bottom: 40px;
    padding-top: 28px;
  }
}
@media (max-width: 540px) {
  .site-footer {
    font-size: 12px;
    line-height: 20px;
    padding-bottom: 34px;
    padding-top: 25px;
  }
}
.cookie-banner {
  font-family: var(--font-body);
  width: 100%;
}
.cookie-banner .close-btn {
  cursor: pointer;
}
.lightbox-content {
  height: 100%;
}
.lightbox-content .grid__image-caption {
  font-family: var(--font-body);
}
#lightbox-wrap,
#lightbox-inner-wrap {
  height: 100%;
}
.grid__image-caption,
.grid__image-caption-lightbox {
  font-family: var(--font-body);
}
.site-content {
  margin-left: 4%;
  margin-right: 4%;
  width: 92%;
}
.site-header {
  -webkit-align-items: center;
  align-items: center;
  background-color: #222;
}
.site-header.on-scroll {
  background-color: #222;
}
.site-header.on-scroll .logo,
.site-header.on-scroll .logo a {
  color: #fff;
}
.site-header.on-scroll .pf-nav-social svg {
  fill: #fff;
  opacity: 1;
}
.site-header.on-scroll nav .page-title a {
  color: #fff;
}
.site-header.on-scroll nav .gallery-title a {
  color: #fff;
}
.site-header.on-scroll nav .project-title a {
  color: #fff;
}
.site-header.on-scroll nav .link-title a {
  color: #fff;
}
.site-header {
  height: 100px;
  padding-bottom: 0px;
  padding-left: 5%;
  padding-right: 5%;
  padding-top: 0px;
  position: fixed;
  z-index: 3;
}
.header-placeholder {
  display: block;
  height: 100px;
}
.logo-image img {
  max-height: 100px;
}
.pf-nav-social {
  width: 30%;
}
.hamburger-click-area {
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  cursor: pointer;
  display: none;
  padding: 30px 5%;
  position: absolute;
  right: 0;
  -webkit-tap-highlight-color: transparent;
  top: 50%;
}
.hamburger {
  position: relative;
  width: 24px;
}
.hamburger i {
  display: block;
  height: 2px;
  margin-bottom: 4px;
}
.hamburger i:last-child {
  margin-bottom: 0;
}
@media (max-width: 932px) {
  nav {
    display: none;
    padding: 0;
    width: 100%;
  }
  .site-header {
    padding-left: 5%;
    padding-right: 5%;
  }
  .logo-wrap {
    max-width: 100%;
    padding: 0;
    width: 100%;
  }
  .logo {
    max-width: 100%;
    padding: 0 39px 0 0;
  }
  .logo-image {
    padding-left: 39px;
    margin-bottom: -5px;
    margin-top: -5px;
  }
  .logo-image img {
    max-height: 60px;
  }
  .logo-text {
    font-size: 33px;
    line-height: 33px;
    float: none;
    text-align: left;
  }
  .logo-secondary {
    display: none;
  }
  .close-responsive-button {
    top: 40px;
  }
  .hamburger-click-area {
    display: block;
  }
  .hamburger i {
    background-color: #fff;
  }
  main,
  .site-container {
    width: 100%;
  }
  .site-content {
    margin: 0;
    padding: 0 0;
    width: 100%;
  }
  .responsive-nav {
    background-color: rgb(178.5, 178.5, 178.5);
    bottom: 0;
    display: flex;
    height: 100%;
    left: 0;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 50px 5% 0;
    position: fixed;
    right: 0;
    text-align: center;
    top: 0;
    transition: visibility 0s ease 0.2s, opacity 0.2s ease 0s;
    z-index: 99999;
  }
  .responsive-nav nav {
    float: none;
    margin: auto;
    max-width: 100%;
    width: 100%;
  }
  .responsive-nav.has-social nav {
    padding-bottom: 80px;
  }
  .responsive-nav .nav-container {
    width: 100%;
  }
  .responsive-nav .page-title,
  .responsive-nav .project-title,
  .responsive-nav .link-title,
  .responsive-nav .gallery-title {
    display: block;
    text-align: center;
  }
  .responsive-nav .page-title a,
  .responsive-nav .project-title a,
  .responsive-nav .link-title a,
  .responsive-nav .gallery-title a {
    font-size: 22px;
    line-height: 32px;
  }
  .responsive-nav .page-title,
  .responsive-nav .project-title,
  .responsive-nav .link-title,
  .responsive-nav .gallery-title {
    padding: 0 0 30px;
  }
  .responsive-nav .group {
    padding: 0;
  }
  .responsive-nav .social {
    text-align: center;
    width: 100%;
    background-color: #212121;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    bottom: 0;
    left: 0;
    margin: 0;
    min-height: 80px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 5%;
    position: fixed;
  }
  .responsive-nav .social ul {
    white-space: nowrap;
  }
  .responsive-nav .social svg {
    width: 42px;
  }
  .responsive-nav .social li {
    display: inline-block;
    float: none !important;
    padding: 0 20px 0 0;
  }
  .responsive-nav .social li:last-child {
    padding-right: 0;
  }
  .close-responsive-click-area {
    cursor: pointer;
    padding: 50px 6%;
    position: fixed;
    right: 0;
    -webkit-tap-highlight-color: transparent;
    top: 0;
  }
  .close-responsive-button {
    height: 20px;
    position: fixed;
    right: 5%;
    width: 20px;
  }
  .close-responsive-button:before, .close-responsive-button:after {
    background-color: #fff;
    content: "";
    display: block;
    height: 20px;
    left: 50%;
    position: absolute;
    width: 2px;
  }
  .close-responsive-button:before {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .close-responsive-button:after {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .show-responsive-nav {
    overflow: hidden;
  }
  .show-responsive-nav .responsive-nav {
    opacity: 1;
    transition: visibility 0s ease 0s, opacity 0.2s ease 0s;
    visibility: visible;
  }
  .show-responsive-nav .responsive-nav nav {
    display: block;
  }
  .show-responsive-nav .site-header,
  .show-responsive-nav .site-container {
    display: none;
  }
  .site-footer {
    padding-left: 5%;
    padding-right: 5%;
    width: 100%;
  }
}
@media (max-width: 540px) {
  .close-responsive-click-area {
    padding: 40px 10%;
  }
  .close-responsive-button {
    top: 30px;
  }
  .logo {
    font-size: 23px;
    line-height: 23px;
  }
}
@media (max-width: 932px) {
  .logo-container {
    width: 100%;
  }
}
@media (max-width: 932px) {
  .site-header {
  }
  .site-header .pf-nav-social {
    display: none;
  }
  .site-header.on-scroll .hamburger i {
    background-color: #fff;
  }
  .responsive-nav,
  .responsive-nav .social {
    background-color: #222 !important;
  }
}
@media (max-width: 540px) {
  .site-header {
  }
}
.other-projects .project-cover .details-inner:after, .project-module:after, .page-content:after, .other-projects .title-wrapper:after, .other-projects:after {
  clear: both;
  content: "";
  display: table;
}
.back-to-top .arrow {
  margin-right: 10px;
}
.back-to-top-fixed {
  position: fixed;
  z-index: 3;
}
.icon-back-to-top {
  -webkit-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  -o-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  display: block;
  left: 50%;
  position: absolute;
  top: 50%;
}
.project-module-button {
  margin: 0 auto;
}
.button-container {
  margin: 0 auto;
  text-align: center;
}
.button-module {
  align-items: center;
  cursor: pointer;
  display: inline-flex;
  margin: 0 auto;
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  word-break: keep-all;
}
.button-module::before, .button-module::after {
  content: "";
  display: block;
}
.other-projects {
  width: 100%;
}
.other-projects .title-wrapper {
  display: block;
  width: 100%;
}
.other-projects .project-cover {
  clear: none;
  float: left;
  position: relative;
}
.other-projects .project-cover .editable-button {
  display: none;
}
.other-projects-title {
  display: inline-block;
}
.page-header .title,
.page-header .description,
.page-header .date,
.page-header .custom1,
.page-header .custom2 {
  margin: 0 auto;
}
.page-header .description {
  white-space: pre-line;
  word-wrap: break-word;
}
.page img,
.page object {
  display: block;
  margin: 0 auto;
  max-width: 100%;
}
.page-content {
  clear: both;
}
.page-container {
  width: 100%;
}
.modules span.texteditor-inline-color a {
  color: inherit;
}
.modules span.texteditor-inline-color a:hover {
  color: inherit;
  filter: brightness(70%) saturate(120%) hue-rotate(5deg);
}
.modules .texteditor-inline-fontfamily a {
  font-family: inherit;
}
.modules .texteditor-inline-fontsize a {
  font-size: inherit;
}
.splash {
  display: flex;
  margin: 0 auto;
  min-height: 100vh;
  padding: 0;
  position: relative;
  width: 100%;
}
.splash img,
.splash object {
  display: block;
  margin: 0 auto;
  max-width: 100%;
}
.splash section {
  position: relative;
}
.splash .splash-image {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.splash .splash-image video {
  font-family: "object-fit: cover;";
  height: 100vh;
  object-fit: cover;
  object-position: center;
  position: absolute;
  width: 100vw;
  z-index: -1;
}
.splash.image-left .splash-image video, .splash.image-right .splash-image video {
  width: 50vw;
}
.splash .splash-image-wrap {
  height: 100%;
  position: fixed;
  top: 0;
}
.splash.image-right .splash-image-wrap {
  right: 0;
}
.centered {
  align-items: flex-start;
  justify-content: center;
  padding: 20px;
}
.centered .outer-wrap,
.image-right .outer-wrap,
.image-left .outer-wrap {
  align-items: center;
  display: flex;
  justify-content: center;
  overflow: visible;
  width: 100%;
}
.centered .outer-wrap .background-edit-target,
.image-right .outer-wrap .background-edit-target,
.image-left .outer-wrap .background-edit-target {
  display: block;
  height: 104%;
  left: -1%;
  min-height: 95vh;
  padding: 20px 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 102%;
  z-index: 0;
}
.image-left .outer-wrap {
  margin-left: 50%;
}
.centered-content-wrap {
  padding: 0 20px;
  position: relative;
  width: 100%;
}
@media (max-width: 980px) {
  .image-left .outer-wrap {
    margin-left: 0;
  }
  .outer-wrap {
    width: 100% !important;
  }
  .splash .splash-image video,
  .splash .splash-image .mp4-image {
    height: 50vh;
    left: 50%;
    min-width: 100vw;
    top: 0;
    transform: translateX(-50%);
    width: 100vw;
  }
  .splash.image-left .page-background-video .video-wrap,
  .splash.image-right .page-background-video .video-wrap {
    height: 100vh;
    left: 0;
    top: 0;
    transform: none;
    width: 100vw;
  }
}
.image-right {
  justify-content: stretch;
}
@media (max-width: 980px) {
  .image-right,
  .image-left {
    display: block;
  }
  .image-right:before,
  .image-left:before {
    content: "";
    display: block;
    padding-bottom: 50vh;
    position: relative;
  }
  .image-right .splash-image,
  .image-left .splash-image {
    height: 50vh;
  }
  .image-right .splash-image-wrap,
  .image-left .splash-image-wrap {
    height: auto;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
  }
}
.project-module {
  clear: both;
  word-break: break-word;
}
.modules .media_collection {
  margin-left: auto;
  margin-right: auto;
}
.media-is-processing {
  display: none;
}
.grid--main {
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
  visibility: hidden;
}
.grid--ready {
  visibility: visible;
}
.grid__caption-text {
  color: #fff;
  font-size: 14px;
  font-weight: normal;
  left: 0;
  margin: 0;
  overflow: hidden;
  padding: 10px 5px 8px;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.grid__image-caption {
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.4) 20px, rgba(0, 0, 0, 0.5));
  bottom: 0;
  left: 0;
  margin: 0;
  opacity: 0;
  padding: 15px 15px 10px;
  position: absolute;
  text-align: center;
  transition: opacity 150ms ease-in-out;
  width: 100%;
}
.grid__image-caption-lightbox {
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.4) 25px, rgba(0, 0, 0, 0.5));
  bottom: 0;
  left: 0;
  margin: 0;
  padding: 20px 5px 15px;
  position: absolute;
  text-align: center;
  width: 100%;
}
.grid__caption-text {
  color: #fff;
  font-size: 14px;
  font-weight: normal;
  line-height: 17px;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
  text-overflow: ellipsis;
  top: 15px;
  transition: top 150ms 50ms ease-out;
  white-space: nowrap;
}
.lightbox-enabled .grid__caption-text {
  font-size: 14px;
  line-height: 17px;
  margin: 0 auto;
  max-width: 600px;
  overflow: visible;
  top: 0;
  transition: none;
  white-space: normal;
}
.grid__image-wrapper {
  position: relative;
}
.grid__item-container {
  box-sizing: content-box !important;
  display: inline-block;
  position: relative;
}
.grid__item-container .stock__buy-button {
  visibility: hidden;
}
.grid__item-container.hoverable:hover .stock__buy-button {
  visibility: visible;
}
.grid__item-container.hoverable:hover .grid__caption-text {
  top: 0;
  transition: top 150ms 50ms ease-out;
}
.grid__item-container.hoverable:hover .grid__image-caption {
  opacity: 1;
  transition: opacity 150ms ease-in-out;
}
.grid__item-filler {
  background: rgba(0, 0, 0, 0.03);
  display: block;
}
.image-loaded ~ .grid__item-filler {
  background: transparent;
}
.grid__item-image {
  height: 100%;
  position: absolute;
  top: 0;
  vertical-align: bottom;
  width: 100%;
}
.grid__item-spacer {
  flex-grow: 90000000000;
}
.modules .form {
  clear: both;
  margin-left: auto;
  margin-right: auto;
}
.modules .form label {
  display: block;
}
.modules .form input,
.modules .form textarea,
.modules .form .submit-button {
  border-style: solid;
  border-width: 1px;
  outline: none;
}
.modules .form input,
.modules .form textarea {
  -webkit-appearance: none;
  border-radius: 3px;
  padding-right: 10px;
  width: 100%;
}
.modules .form .error input,
.modules .form .error textarea {
  border-color: #c00 !important;
}
.modules .form input {
  height: 42px;
  line-height: 42px;
}
.modules .form textarea {
  display: block;
  height: 132px;
  padding-bottom: 13px;
  padding-top: 13px;
}
.modules .form textarea::-webkit-input-placeholder {
  overflow: hidden;
  white-space: nowrap;
}
.modules .form textarea::-ms-input-placeholder {
  overflow: hidden;
  white-space: nowrap;
}
.modules .form textarea::-moz-input-placeholder {
  overflow: hidden;
  white-space: nowrap;
}
.modules .form .submit-button {
  cursor: pointer;
  display: inline-block;
  overflow: hidden;
  position: relative;
  user-select: none;
  width: auto;
}
.modules .form .contact-form-sent {
  display: none;
}
.modules .form .form-error {
  color: #c00;
  font-size: 12px;
  line-height: 12px;
  padding-top: 5px;
}
.modules .form .submit-text.processing {
  opacity: 0;
}
.modules .form.sent .contact-form {
  display: none;
}
.modules .form.sent .contact-form-sent {
  display: block;
}
.stock__buy-button {
  align-items: center;
  background-color: rgba(0, 0, 0, 0.6);
  border-radius: 4px;
  bottom: 0;
  color: #fff;
  display: flex;
  font: bold 13px sans-serif;
  height: 29px;
  margin: 6px;
  max-width: calc(100% - 12px);
  padding: 0 10px;
  position: absolute;
  right: 0;
}
.stock__buy-button .stock__text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.stock__buy-button:hover {
  background-color: #000;
}
.stock__buy-button:hover .stock__icon {
  opacity: 1;
}
.stock__buy-button .stock__icon {
  height: 18px;
  margin-right: 8px;
  min-height: 18px;
  min-width: 18px;
  opacity: 0.7;
  width: 18px;
}
.stock__buy-button-caption {
  bottom: auto;
  top: 0;
}
.grid-module--edit .stock__buy-button {
  display: none;
}
.lightbox-content .stock__buy-button {
  border-radius: 6px;
  font-size: 14px;
  height: 39px;
  margin: 20px;
  padding: 0 15px;
  position: fixed;
  z-index: 1004;
}
@media (max-width: 932px) {
  .lightbox-content .stock__buy-button {
    background-color: #000;
    bottom: 0;
    justify-content: center;
    margin: 20px 30px;
    top: auto;
    width: calc(100% - 60px);
  }
  .lightbox-content .stock__buy-button .stock__icon {
    opacity: 1;
  }
}
.lightbox-content .stock__buy-button-caption {
  right: 50px;
}
@media (max-width: 932px) {
  .lightbox-content .stock__buy-button-caption {
    right: 0;
  }
}
.other-projects .project-cover {
  display: block;
  position: relative;
}
.other-projects .project-cover.hold-space .cover-image:before {
  content: "";
  display: block;
  width: 100%;
}
.other-projects .project-cover.hold-space .cover {
  left: 0;
  min-height: 100%;
  position: absolute;
  top: 0;
}
.other-projects .project-cover .cover-image-wrap {
  overflow: hidden;
  position: relative;
}
.other-projects .project-cover .cover-image {
  position: relative;
  -webkit-transform: translateZ(0);
}
.other-projects .project-cover .cover-image:after {
  -webkit-transition: background-color 0.2s ease, opacity 0.2s ease;
  -moz-transition: background-color 0.2s ease, opacity 0.2s ease;
  transition: background-color 0.2s ease, opacity 0.2s ease;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.other-projects .project-cover .cover {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  min-height: 100%;
  overflow: hidden;
  width: 100%;
}
.other-projects .project-cover .cover .cover__img {
  font-family: "object-fit: cover;";
  height: calc(100% + 2px);
  left: 50%;
  object-fit: cover;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% + 2px);
}
.other-projects .project-cover .cover .cover__img.js-lazy {
  background-color: rgba(0, 0, 0, 0.03);
}
.other-projects .project-cover .cover .cover__img.js-lazy.image-loaded {
  background-color: transparent;
}
.other-projects .project-cover .cover-rollover {
  opacity: 0;
  visibility: hidden;
}
.other-projects .project-cover:hover .cover-normal.has-rollover, .other-projects .project-cover.touch-hover .cover-normal.has-rollover {
  opacity: 0;
  visibility: hidden;
}
.other-projects .project-cover:hover .cover-rollover, .other-projects .project-cover.touch-hover .cover-rollover {
  opacity: 1;
  visibility: visible;
}
.other-projects .project-cover .title,
.other-projects .project-cover .date,
.other-projects .project-cover .custom1,
.other-projects .project-cover .custom2,
.other-projects .project-cover .description {
  clear: both;
}
.other-projects .project-cover .description {
  white-space: pre-line;
  word-wrap: break-word;
}
.other-projects .project-cover .details-inner {
  overflow: hidden;
}
.other-projects .project-cover:hover .details-wrap, .other-projects .project-cover.touch-hover .details-wrap {
  opacity: 1;
}
.other-projects .project-cover .cover-content-container {
  overflow: hidden;
  position: relative;
}
.other-projects .project-cover .details-wrap {
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity 0.15s ease;
}
.other-projects .project-cover .details-wrap {
  -webkit-backface-visibility: hidden;
  height: 100%;
}
.other-projects .project-cover .details {
  display: flex;
  height: 100%;
  position: relative;
  width: 100%;
}
.other-projects .project-cover .details-inner {
  width: 100%;
}
.back-to-top {
  display: none;
}
.back-to-top-fixed {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 60px;
  display: block;
  bottom: 30px;
  height: 60px;
  width: 60px;
  right: 30px;
}
.back-to-top-fixed:hover {
  background: rgba(255, 255, 255, 0.2);
}
.back-to-top-fixed:hover .icon-back-to-top {
  fill: #fff;
  opacity: 0.5;
}
.icon-back-to-top {
  fill: #fff;
  height: 24px;
  opacity: 0.3;
  position: absolute;
  width: 24px;
}
@media (max-width: 932px) {
  .back-to-top-fixed {
    display: none;
  }
}
.other-projects {
  padding-bottom: 60px;
  padding-top: 60px;
}
.other-projects .title-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  text-align: left;
  width: 100%;
}
.other-projects .project-cover:nth-child(-n+2) {
  display: block;
}
.other-projects .project-cover:nth-child(n+3) {
  display: none;
}
.other-projects-title {
  color: #eee;
  font-family: var(--font-body);
  font-size: 24px;
  font-style: normal;
  font-weight: 500;
  line-height: 26px;
  margin-bottom: 30px;
  margin-top: 0px;
  text-transform: none;
}
@media (max-width: 932px) {
  .other-projects {
    padding-bottom: 28px;
    padding-top: 28px;
  }
  .other-projects-title {
    font-size: 18px;
    line-height: 20px;
    padding-left: 5%;
    padding-right: 5%;
    margin-bottom: 18px;
    margin-top: 0px;
  }
}
@media (max-width: 540px) {
  .other-projects .project-cover:nth-child(n+2) {
    display: none;
  }
  .other-projects {
    padding-bottom: 25px;
    padding-top: 25px;
  }
  .other-projects-title {
    font-size: 15px;
    line-height: 16px;
    margin-bottom: 16px;
    margin-top: 0px;
  }
}
.page-header {
  margin-left: auto;
  margin-right: auto;
  max-width: 620px;
  padding-bottom: 80px;
  padding-top: 30px;
  width: 100%;
}
.page-header .title {
  color: #eee;
  font-family: var(--font-body);
  font-size: 30px;
  font-style: normal;
  font-weight: 500;
  line-height: 34px;
  padding-bottom: 20px;
  padding-top: 0px;
  text-align: center;
  width: 100%;
}
.page-header .description {
  color: #888;
  font-family: var(--font-body);
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 26px;
  padding-bottom: 20px;
  padding-top: 0px;
  text-align: center;
  text-transform: none;
  width: 100%;
}
.page-header .date {
  color: #888;
  font-family: var(--font-body);
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 26px;
  padding-bottom: 20px;
  padding-top: 0px;
  text-align: center;
  text-transform: none;
  width: 100%;
}
.page-header .custom1 {
  color: #888;
  font-family: var(--font-body);
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 26px;
  padding-bottom: 20px;
  padding-top: 0px;
  text-align: center;
  text-transform: none;
  width: 100%;
}
.page-header .custom2 {
  color: #888;
  font-family: var(--font-body);
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 26px;
  padding-bottom: 20px;
  padding-top: 0px;
  text-align: center;
  text-transform: none;
  width: 100%;
}
.page-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 1400px;
  padding-bottom: 0px;
  padding-top: 0px;
}
.page {
  margin-left: 0%;
  margin-right: 0%;
  width: 100%;
}
@media (max-width: 932px) {
  .page-header .title {
    font-size: 22px;
    line-height: 25px;
    padding-bottom: 14px;
  }
  .page-header .date {
    font-size: 17px;
    line-height: 22px;
    padding-bottom: 14px;
  }
  .page-header .custom1 {
    font-size: 17px;
    line-height: 22px;
    padding-bottom: 14px;
  }
  .page-header .custom2 {
    font-size: 17px;
    line-height: 22px;
    padding-bottom: 14px;
  }
  .page-header .description {
    font-size: 17px;
    line-height: 22px;
    padding-bottom: 14px;
  }
  .page-header {
    padding-left: 5%;
    padding-right: 5%;
    padding-bottom: 34px;
    padding-top: 18px;
    width: 100%;
  }
  .page-header .title,
  .page-header .custom1,
  .page-header .custom2,
  .page-header .date,
  .page-header .description,
  .page-header .project-module-text {
    width: 100%;
  }
  .page {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
  }
  .page-container {
    max-width: 100%;
    padding-bottom: 0px;
    padding-top: 0px;
  }
}
@media (max-width: 540px) {
  .page-header .title {
    font-size: 19px;
    line-height: 22px;
    padding-bottom: 13px;
  }
  .page-header .date {
    font-size: 14px;
    line-height: 18px;
    padding-bottom: 13px;
  }
  .page-header .custom1 {
    font-size: 14px;
    line-height: 18px;
    padding-bottom: 13px;
  }
  .page-header .custom2 {
    font-size: 14px;
    line-height: 18px;
    padding-bottom: 13px;
  }
  .page-header .description {
    font-size: 14px;
    line-height: 18px;
    padding-bottom: 13px;
  }
  .page-header {
    padding-bottom: 29px;
    padding-top: 16px;
    width: 100%;
  }
  .page-container {
    padding-bottom: 0px;
    padding-top: 0px;
  }
}
.project-module-button[data-id=""] .button-module {
  font-style: normal;
  font-weight: normal;
  text-transform: none;
  background-color: "";
  border: 1px solid;
}
.project-module-button[data-id=""] .button-module:hover {
  font-style: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  border: 1px solid;
}
@media (max-width: 932px) {
  .project-module-button[data-id=""] .button-module {
    height: 0;
    line-height: 0;
  }
  .project-module-button[data-id=""] .button-module::before, .project-module-button[data-id=""] .button-module::after {
    width: 0;
  }
}
@media (max-width: 540px) {
  .project-module-button[data-id=""] .button-module {
    height: 0;
    line-height: 0;
  }
  .project-module-button[data-id=""] .button-module::before, .project-module-button[data-id=""] .button-module::after {
    width: 0;
  }
}
.project-module-social_icons[data-id=""] a {
  text-align: center;
}
@media (max-width: 932px) {
  .project-module-social_icons[data-id=""] li {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
  }
}
@media (max-width: 540px) {
  .project-module-social_icons[data-id=""] li {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
  }
}
.standard-modules .modules .project-module-media_collection[data-id=m6a3ad4319b988b6b6efed0e40f39b8dce1477f0215ea2f450f2f5] .grid--main {
  margin: 0 -4px;
}
.standard-modules .modules .project-module-media_collection[data-id=m6a3ad431a93f3015924608ef182c8a60bc469aaf5b9b31699a4be] .grid--main {
  margin: 0 -4px;
}
.splash-modules .modules .project-module-media_collection[data-id=m6a3ad4319b988b6b6efed0e40f39b8dce1477f0215ea2f450f2f5] .grid--main {
  margin: 0 -4px;
}
.splash-modules .modules .project-module-media_collection[data-id=m6a3ad431a93f3015924608ef182c8a60bc469aaf5b9b31699a4be] .grid--main {
  margin: 0 -4px;
}
.media_collection {
  margin-left: auto;
  margin-right: auto;
}
.splash-modules .image {
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 0px;
  padding-top: 0px;
  max-width: 100%;
  width: 100%;
}
.splash-modules .video {
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 0px;
  padding-top: 0px;
  max-width: 100%;
  width: 100%;
}
.splash-modules .embed {
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 0px;
  padding-top: 0px;
  max-width: 100%;
  width: 100%;
}
.splash-modules .embed iframe {
  border: none;
}
.splash-modules .audio {
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 0px;
  padding-top: 0px;
  max-width: 100%;
  width: 100%;
}
.splash-modules .text {
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 0px;
  padding-top: 0px;
  max-width: 800px;
  width: 100%;
}
.splash-modules .button {
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 20px;
  padding-top: 20px;
  max-width: 100%;
}
.splash-modules .media_collection {
  overflow: hidden;
  padding-bottom: 0px;
  padding-top: 0px;
  max-width: 100%;
  width: 100%;
}
.splash-modules .media_collection .grid__item-container {
  border-bottom: 8px solid transparent;
  border-left: calc(8px / 2) solid transparent;
  border-right: calc(8px / 2) solid transparent;
}
.splash-modules .media_collection .grid--main {
  margin: 0 calc(-8px / 2);
}
.splash-modules .tree .tree-wrapper {
  display: flex;
}
.splash-modules .tree .tree-wrapper.valign-center {
  align-items: center;
}
.splash-modules .tree .tree-wrapper.valign-bottom {
  align-items: flex-end;
}
.splash-modules .tree .tree-child-wrapper {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  min-width: 1px;
}
.splash-modules .tree .tree-child-wrapper:first-child {
  border-left: 0;
}
.splash-modules .tree .tree-child-wrapper:last-child {
  border-right: 0;
}
.splash-modules .module-caption-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 800px;
  width: 100%;
}
.splash-modules .rich-text .title {
  color: #ffffff;
  font-family: var(--font-body);
  font-size: 50px;
  font-style: normal;
  font-weight: 500;
  line-height: 50px;
  padding-bottom: 5px;
  padding-top: 0px;
  text-align: center;
  text-transform: none;
}
.splash-modules .rich-text .sub-title {
  color: #ffffff;
  font-family: var(--font-body);
  font-size: 25px;
  font-style: normal;
  font-weight: 500;
  line-height: 30px;
  padding-bottom: 10px;
  padding-top: 5px;
  text-align: center;
  text-transform: none;
}
.splash-modules .rich-text .main-text,
.splash-modules .rich-text div,
.splash-modules .rich-text p {
  color: #C0C6CC;
  font-family: var(--font-body);
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
  padding-bottom: 10px;
  padding-top: 5px;
  text-align: center;
  text-transform: none;
}
.splash-modules .rich-text a {
  color: #C0C6CC;
  text-decoration: underline;
  text-transform: none;
}
.splash-modules .rich-text a:hover {
  color: #a9a9a9;
  text-decoration: underline;
  text-transform: none;
}
.splash-modules .rich-text .caption,
.splash-modules .module-caption div,
.splash-modules .module-caption p {
  color: #C0C6CC;
  font-family: var(--font-body);
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  line-height: 16px;
  padding-bottom: 20px;
  padding-top: 10px;
  text-align: center;
  text-decoration: none;
  text-transform: none;
}
@media (max-width: 932px) {
  .splash-modules .rich-text .title {
    font-size: 31px;
    line-height: 31px;
    padding-bottom: 5px;
    padding-top: 0px;
  }
  .splash-modules .rich-text .sub-title {
    font-size: 18px;
    line-height: 22px;
    padding-bottom: 8px;
    padding-top: 5px;
  }
  .splash-modules .rich-text .main-text,
  .splash-modules .rich-text div,
  .splash-modules .rich-text p {
    font-size: 14px;
    line-height: 20px;
    padding-bottom: 8px;
    padding-top: 5px;
  }
  .splash-modules .rich-text .caption,
  .splash-modules .module-caption div,
  .splash-modules .module-caption p {
    font-size: 13px;
    line-height: 16px;
    padding-bottom: 14px;
    padding-top: 8px;
  }
  .splash-modules .modules .image,
  .splash-modules .modules .video,
  .splash-modules .modules .embed,
  .splash-modules .modules .audio,
  .splash-modules .modules .text {
    width: 100%;
  }
  .splash-modules .modules .button {
    padding-left: 5%;
    padding-right: 5%;
    padding-bottom: 14px;
    padding-top: 14px;
  }
  .splash-modules .modules .image {
    padding-bottom: 0px;
    padding-top: 0px;
  }
  .splash-modules .modules .video {
    padding-bottom: 0px;
    padding-top: 0px;
  }
  .splash-modules .modules .embed {
    padding-bottom: 0px;
    padding-top: 0px;
  }
  .splash-modules .modules .audio {
    padding-bottom: 0px;
    padding-top: 0px;
  }
  .splash-modules .modules .text {
    padding-left: 5%;
    padding-right: 5%;
    padding-bottom: 0px;
    padding-top: 0px;
  }
  .splash-modules .modules .social_icons {
    padding-left: 5%;
    padding-right: 5%;
  }
}
@media (max-width: 540px) {
  .splash-modules .rich-text .title {
    padding-bottom: 5px;
    padding-top: 0px;
  }
  .splash-modules .rich-text .title,
  .splash-modules .rich-text .title span {
    font-size: 25px !important;
    line-height: 25px !important;
  }
  .splash-modules .rich-text .sub-title {
    padding-bottom: 7px;
    padding-top: 5px;
  }
  .splash-modules .rich-text .sub-title,
  .splash-modules .rich-text .sub-title span {
    font-size: 16px !important;
    line-height: 19px !important;
  }
  .splash-modules .rich-text .main-text,
  .splash-modules .rich-text div,
  .splash-modules .rich-text p {
    padding-bottom: 7px;
    padding-top: 5px;
  }
  .splash-modules .rich-text .main-text,
  .splash-modules .rich-text .main-text span,
  .splash-modules .rich-text div,
  .splash-modules .rich-text div span,
  .splash-modules .rich-text p,
  .splash-modules .rich-text p span {
    font-size: 14px !important;
    line-height: 20px !important;
  }
  .splash-modules .rich-text .caption,
  .splash-modules .module-caption div,
  .splash-modules .module-caption p {
    padding-bottom: 13px;
    padding-top: 7px;
  }
  .splash-modules .rich-text .caption,
  .splash-modules .rich-text .caption span,
  .splash-modules .module-caption div,
  .splash-modules .module-caption div span,
  .splash-modules .module-caption p,
  .splash-modules .module-caption p span {
    font-size: 13px !important;
    line-height: 16px !important;
  }
  .splash-modules .modules .image {
    padding-bottom: 0px;
    padding-top: 0px;
  }
  .splash-modules .modules .video {
    padding-bottom: 0px;
    padding-top: 0px;
  }
  .splash-modules .modules .embed {
    padding-bottom: 0px;
    padding-top: 0px;
  }
  .splash-modules .modules .audio {
    padding-bottom: 0px;
    padding-top: 0px;
  }
  .splash-modules .modules .text {
    padding-bottom: 0px;
    padding-top: 0px;
  }
  .splash-modules .modules .tree .tree-wrapper {
    display: block;
  }
  .splash-modules .modules .tree .tree-child-wrapper {
    border-left: 0;
    border-right: 0;
    flex: none !important;
  }
}
.standard-modules .image {
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 20px;
  padding-top: 0px;
  max-width: 100%;
  width: 100%;
}
.standard-modules .video {
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 40px;
  padding-top: 0px;
  max-width: 100%;
  width: 100%;
}
.standard-modules .embed {
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 40px;
  padding-top: 0px;
  max-width: 100%;
  width: 100%;
}
.standard-modules .embed iframe {
  border: none;
}
.standard-modules .audio {
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 40px;
  padding-top: 0px;
  max-width: 100%;
  width: 100%;
}
.standard-modules .text {
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 40px;
  padding-top: 20px;
  max-width: 800px;
  width: 100%;
}
.standard-modules .button {
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 20px;
  padding-top: 20px;
  max-width: 100%;
}
.standard-modules .media_collection {
  overflow: hidden;
  padding-bottom: 20px;
  padding-top: 0px;
  max-width: 100%;
  width: 100%;
}
.standard-modules .media_collection .grid__item-container {
  border-bottom: 8px solid transparent;
  border-left: calc(8px / 2) solid transparent;
  border-right: calc(8px / 2) solid transparent;
}
.standard-modules .media_collection .grid--main {
  margin: 0 calc(-8px / 2);
}
.standard-modules .tree .tree-wrapper {
  display: flex;
}
.standard-modules .tree .tree-wrapper.valign-center {
  align-items: center;
}
.standard-modules .tree .tree-wrapper.valign-bottom {
  align-items: flex-end;
}
.standard-modules .tree .tree-child-wrapper {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  min-width: 1px;
}
.standard-modules .tree .tree-child-wrapper:first-child {
  border-left: 0;
}
.standard-modules .tree .tree-child-wrapper:last-child {
  border-right: 0;
}
.standard-modules .module-caption-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 800px;
  width: 100%;
}
.standard-modules .rich-text .title {
  color: #FFFFFF;
  font-family: var(--font-display);
  font-size: 30px;
  font-style: normal;
  font-weight: 500;
  line-height: 34px;
  padding-bottom: 20px;
  padding-top: 0px;
  text-align: center;
  text-transform: none;
}
.standard-modules .rich-text .sub-title {
  color: #FFFFFF;
  font-family: var(--font-body);
  font-size: 24px;
  font-style: normal;
  font-weight: 500;
  line-height: 30px;
  padding-bottom: 30px;
  padding-top: 20px;
  text-align: center;
  text-transform: none;
}
.standard-modules .rich-text .main-text,
.standard-modules .rich-text div,
.standard-modules .rich-text p {
  color: #999999;
  font-family: var(--font-body);
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 22px;
  padding-bottom: 20px;
  padding-top: 0px;
  text-align: center;
  text-transform: none;
}
.standard-modules .rich-text a {
  color: #a9a9a9;
  text-decoration: underline;
  text-transform: none;
}
.standard-modules .rich-text a:hover {
  color: #a9a9a9;
  text-decoration: underline;
  text-transform: none;
}
.standard-modules .rich-text .caption,
.standard-modules .module-caption div,
.standard-modules .module-caption p {
  color: #a9a9a9;
  font-family: var(--font-body);
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 16px;
  padding-bottom: 20px;
  padding-top: 10px;
  text-align: center;
  text-decoration: none;
  text-transform: none;
}
@media (max-width: 932px) {
  .standard-modules .rich-text .title {
    font-size: 22px;
    line-height: 25px;
    padding-bottom: 14px;
    padding-top: 0px;
  }
  .standard-modules .rich-text .sub-title {
    font-size: 18px;
    line-height: 23px;
    padding-bottom: 18px;
    padding-top: 14px;
  }
  .standard-modules .rich-text .main-text,
  .standard-modules .rich-text div,
  .standard-modules .rich-text p {
    font-size: 14px;
    line-height: 20px;
    padding-bottom: 14px;
    padding-top: 0px;
  }
  .standard-modules .rich-text .caption,
  .standard-modules .module-caption div,
  .standard-modules .module-caption p {
    font-size: 14px;
    line-height: 20px;
    padding-bottom: 14px;
    padding-top: 8px;
  }
  .standard-modules .modules .image,
  .standard-modules .modules .video,
  .standard-modules .modules .embed,
  .standard-modules .modules .audio,
  .standard-modules .modules .text {
    width: 100%;
  }
  .standard-modules .modules .button {
    padding-left: 5%;
    padding-right: 5%;
    padding-bottom: 14px;
    padding-top: 14px;
  }
  .standard-modules .modules .image {
    padding-bottom: 14px;
    padding-top: 0px;
  }
  .standard-modules .modules .video {
    padding-bottom: 20px;
    padding-top: 0px;
  }
  .standard-modules .modules .embed {
    padding-bottom: 20px;
    padding-top: 0px;
  }
  .standard-modules .modules .audio {
    padding-bottom: 20px;
    padding-top: 0px;
  }
  .standard-modules .modules .text {
    padding-left: 5%;
    padding-right: 5%;
    padding-bottom: 20px;
    padding-top: 14px;
  }
  .standard-modules .modules .social_icons {
    padding-left: 5%;
    padding-right: 5%;
  }
}
@media (max-width: 540px) {
  .standard-modules .rich-text .title {
    padding-bottom: 13px;
    padding-top: 0px;
  }
  .standard-modules .rich-text .title,
  .standard-modules .rich-text .title span {
    font-size: 19px !important;
    line-height: 22px !important;
  }
  .standard-modules .rich-text .sub-title {
    padding-bottom: 16px;
    padding-top: 13px;
  }
  .standard-modules .rich-text .sub-title,
  .standard-modules .rich-text .sub-title span {
    font-size: 15px !important;
    line-height: 19px !important;
  }
  .standard-modules .rich-text .main-text,
  .standard-modules .rich-text div,
  .standard-modules .rich-text p {
    padding-bottom: 13px;
    padding-top: 0px;
  }
  .standard-modules .rich-text .main-text,
  .standard-modules .rich-text .main-text span,
  .standard-modules .rich-text div,
  .standard-modules .rich-text div span,
  .standard-modules .rich-text p,
  .standard-modules .rich-text p span {
    font-size: 14px !important;
    line-height: 20px !important;
  }
  .standard-modules .rich-text .caption,
  .standard-modules .module-caption div,
  .standard-modules .module-caption p {
    padding-bottom: 13px;
    padding-top: 7px;
  }
  .standard-modules .rich-text .caption,
  .standard-modules .rich-text .caption span,
  .standard-modules .module-caption div,
  .standard-modules .module-caption div span,
  .standard-modules .module-caption p,
  .standard-modules .module-caption p span {
    font-size: 14px !important;
    line-height: 20px !important;
  }
  .standard-modules .modules .image {
    padding-bottom: 13px;
    padding-top: 0px;
  }
  .standard-modules .modules .video {
    padding-bottom: 18px;
    padding-top: 0px;
  }
  .standard-modules .modules .embed {
    padding-bottom: 18px;
    padding-top: 0px;
  }
  .standard-modules .modules .audio {
    padding-bottom: 18px;
    padding-top: 0px;
  }
  .standard-modules .modules .text {
    padding-bottom: 18px;
    padding-top: 13px;
  }
  .standard-modules .modules .tree .tree-wrapper {
    display: block;
  }
  .standard-modules .modules .tree .tree-child-wrapper {
    border-left: 0;
    border-right: 0;
    flex: none !important;
  }
}
.project-module-form[data-id=""] {
}
.project-module-form[data-id=""] .form-error {
  margin-top: -;
}
.project-module-form[data-id=""] .submit-button {
  border: 1px solid;
}
.project-module-form[data-id=""] .submit-button:hover {
  border: 1px solid;
}
@media (max-width: 932px) {
  .project-module-form[data-id=""] {
    padding-left: 5%;
    padding-right: 5%;
  }
  .project-module-form[data-id=""] .form-error {
    margin-top: -;
  }
  .project-module-form[data-id=""] .submit-button {
    height: 0;
    line-height: 0;
  }
}
@media (max-width: 540px) {
  .project-module-form[data-id=""] input {
    height: 35px;
    line-height: 35px;
  }
  .project-module-form[data-id=""] .form-error {
    margin-top: -;
  }
  .project-module-form[data-id=""] .submit-button {
    height: 0;
    line-height: 0;
  }
}
.centered .outer-wrap {
  margin-top: 50px;
  max-width: 2000px;
  min-height: calc(100vh - 100px);
  padding-bottom: 50px;
  width: 100%;
}
.image-right .outer-wrap {
  margin-top: 50px;
  max-width: 2000px;
  min-height: calc(100vh - 100px);
  padding-bottom: 50px;
  width: 50%;
}
.image-left .outer-wrap {
  margin-top: 50px;
  max-width: 2000px;
  min-height: calc(100vh - 100px);
  padding-bottom: 50px;
  width: 50%;
}
.image-right .splash-image,
.image-left .splash-image {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.image-right .splash-image::before,
.image-left .splash-image::before {
  content: "";
  height: 100%;
  position: absolute;
  width: 100%;
  display: none;
}
.splash-image-wrap {
  width: 50%;
}
@media (max-width: 980px) {
  .image-left .outer-wrap,
  .image-right .outer-wrap {
    min-height: 50vh;
  }
  .image-left .splash-image {
    z-index: 0;
  }
}
.other-projects .project-cover {
  margin-right: 5px;
  width: calc(50% - 2.5px);
}
.other-projects .project-cover.hold-space .cover-image:before {
  padding-bottom: 56.25%;
}
.other-projects .project-cover .cover-image {
  float: none;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.other-projects .project-cover .cover-image:after {
  background-color: #fff;
  opacity: 0;
}
.other-projects .project-cover:hover .cover-image:after, .other-projects .project-cover.touch-hover .cover-image:after {
  background-color: #fff;
  opacity: 0.9;
}
.other-projects .project-cover .cover-image,
.other-projects .project-cover .cover-image:after,
.other-projects .project-cover .cover {
  border-radius: 0px;
}
.other-projects .project-cover .details-wrap {
  max-width: 100%;
  padding-top: 8%;
  width: 100%;
}
.other-projects .project-cover .details {
  background: rgba(255, 255, 255, 0);
}
.other-projects .project-cover .details-inner {
  padding-bottom: 0%;
  padding-left: 8%;
  padding-right: 8%;
  padding-top: 0%;
}
.other-projects .project-cover .title {
  color: #222;
  float: none;
  font-family: var(--font-body);
  font-size: 22px;
  font-style: normal;
  font-weight: 500;
  line-height: 24px;
  margin: auto;
  padding-bottom: 0px;
  padding-left: 0%;
  padding-right: 0%;
  padding-top: 0px;
  text-align: center;
  text-transform: none;
  width: 100%;
}
.other-projects .project-cover .date {
  color: #222;
  float: none;
  font-family: var(--font-body);
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
  margin: auto;
  padding-bottom: 0px;
  padding-left: 0%;
  padding-right: 0%;
  padding-top: 10px;
  text-align: center;
  text-transform: none;
  width: 100%;
}
.other-projects .project-cover .custom1 {
  color: #222;
  float: none;
  font-family: var(--font-body);
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
  margin: auto;
  padding-bottom: 0px;
  padding-left: 0%;
  padding-right: 0%;
  padding-top: 12px;
  text-align: center;
  text-transform: none;
  width: 100%;
}
.other-projects .project-cover .custom2 {
  color: #222;
  float: none;
  font-family: var(--font-body);
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
  margin: auto;
  padding-bottom: 0px;
  padding-left: 0%;
  padding-right: 0%;
  padding-top: 12px;
  text-align: center;
  text-transform: none;
  width: 100%;
}
.other-projects .project-cover .description {
  color: #222;
  float: none;
  font-family: var(--font-body);
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
  margin: auto;
  padding-bottom: 0px;
  padding-left: 0%;
  padding-right: 0%;
  padding-top: 12px;
  text-align: center;
  text-transform: none;
  width: 100%;
}
.other-projects .project-cover:nth-child(2n) {
  margin-right: 0;
}
.other-projects .project-cover:nth-child(2n+1) {
  clear: left;
  margin-left: 0;
}
@media (max-width: 932px) {
  .other-projects .project-cover .title {
    font-size: 17px;
    line-height: 19px;
  }
  .other-projects .project-cover .date {
    font-size: 14px;
    line-height: 20px;
    padding-top: 8px;
  }
  .other-projects .project-cover .custom1 {
    font-size: 14px;
    line-height: 20px;
    padding-top: 10px;
  }
  .other-projects .project-cover .custom2 {
    font-size: 14px;
    line-height: 20px;
    padding-top: 10px;
  }
  .other-projects .project-cover .description {
    font-size: 14px;
    line-height: 20px;
    padding-top: 10px;
  }
}
@media (max-width: 540px) {
  .other-projects .project-cover .title {
    font-size: 15px;
    line-height: 16px;
  }
  .other-projects .project-cover .date {
    font-size: 14px;
    line-height: 20px;
    padding-top: 7px;
  }
  .other-projects .project-cover .custom1 {
    font-size: 14px;
    line-height: 20px;
    padding-top: 10px;
  }
  .other-projects .project-cover .custom2 {
    font-size: 14px;
    line-height: 20px;
    padding-top: 10px;
  }
  .other-projects .project-cover .description {
    font-size: 14px;
    line-height: 20px;
    padding-top: 10px;
  }
  .other-projects .project-cover {
    margin-right: 0 !important;
    width: 100%;
  }
}
.other-projects .project-cover .cover-content-container {
  margin-left: 0px;
  margin-right: 0px;
  margin-top: 1px;
}
.other-projects .project-cover .details-wrap {
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  padding-bottom: 8%;
}
.other-projects .project-cover .details {
  border-radius: 0px;
}
@media (max-width: 932px) {
  .other-projects .project-cover .custom1,
  .other-projects .project-cover .custom2,
  .other-projects .project-cover .description {
    display: none;
  }
  .other-projects .project-cover .cover-content-container {
    margin-top: 0px;
  }
}
@media (max-width: 540px) {
  .other-projects .project-cover .cover-content-container {
    margin-left: 0;
    margin-right: 0;
    margin-top: 0px;
  }
}
.other-projects .project-cover .details {
  align-items: center;
}
.disable-download img {
  pointer-events: none; }
@-webkit-keyframes rotate-forever {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg); } }

@-moz-keyframes rotate-forever {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes rotate-forever {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg); } }

.lightbox-spinner {
  -webkit-animation-duration: 0.7s;
  -moz-animation-duration: 0.7s;
  animation-duration: 0.7s;
  -webkit-animation-iteration-count: infinite;
  -moz-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-name: rotate-forever;
  -moz-animation-name: rotate-forever;
  animation-name: rotate-forever;
  -webkit-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
  animation-timing-function: linear;
  height: 30px;
  width: 30px;
  border: 4px solid #fff;
  border-right-color: transparent;
  border-radius: 50%;
  display: inline-block;
  opacity: 0.7; }
.link-transition a {
  transition: background 0.2s ease, color 0.2s ease; }
  .link-transition a svg {
    transition: fill 0.2s ease; }

.project-cover .details {
  transition: background 0.2s ease; }

.project-cover .title,
.project-cover .fields,
.project-cover .custom,
.project-cover .description,
.project-cover .date {
  transition: color 0.2s ease; }
html.lightbox-enabled,
html.lightbox-enabled body {
  overflow: hidden; }

html.lightbox-zoomed .lightbox-content {
  cursor: zoom-out;
  overflow: auto; }
  html.lightbox-zoomed .lightbox-content.zoomable-x {
    justify-content: flex-start; }
  html.lightbox-zoomed .lightbox-content.zoomable-y {
    align-items: baseline; }

html.lightbox-zoomed #lightbox-wrap img {
  max-width: inherit;
  max-height: inherit; }

html.lightbox-zoomed #lightbox-img-wrap .lightbox-extra {
  display: none; }

.lightbox-link,
.lightbox-content.zoomable {
  cursor: zoom-in; }

#lightbox-wrap .lightbox-contents {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.lightbox-content {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  opacity: 1;
  position: absolute;
  top: 0;
  transition: opacity .4s;
  width: 100vw; }

#lightbox-blocking {
  align-items: center;
  bottom: 0;
  display: flex;
  justify-content: center;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1002; }
  #lightbox-blocking .lightbox-spinner {
    display: none; }

#lightbox-wrap {
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100vw;
  z-index: 1001; }
  #lightbox-wrap .offscreen, #lightbox-wrap.offscreen {
    height: 0;
    overflow: hidden;
    visibility: hidden;
    -webkit-transform: translateX(-99999px);
    -ms-transform: translateX(-99999px);
    transform: translateX(-99999px);
    width: 0; }
  #lightbox-wrap.loading .lightbox-spinner {
    display: block; }
  #lightbox-wrap .hidden {
    opacity: 0; }
  #lightbox-wrap .lightbox-contents {
    display: inline-block;
    max-height: 100%;
    max-width: 100%; }
  #lightbox-wrap.single .next, #lightbox-wrap.single .next:hover,
  #lightbox-wrap.single .prev,
  #lightbox-wrap.single .prev:hover {
    display: none; }
  #lightbox-wrap.extras-hidden #lightbox-img-wrap .lightbox-extra {
    opacity: 0;
    transition: opacity 1s; }
  #lightbox-wrap img {
    max-height: 100vh;
    max-width: 100vw; }

#lightbox-inner-wrap {
  height: 100%;
  margin: auto;
  position: relative;
  z-index: 1003; }
  #lightbox-inner-wrap .control {
    cursor: pointer;
    position: absolute;
    z-index: 1003; }
  #lightbox-inner-wrap svg .lightbox-icon-bg {
    fill: #696969;
    opacity: .2; }
  #lightbox-inner-wrap svg:hover .lightbox-icon-bg {
    opacity: .4; }
  #lightbox-inner-wrap .next,
  #lightbox-inner-wrap .prev {
    height: 100vh;
    opacity: 0;
    top: 0;
    width: 30vw; }
    #lightbox-inner-wrap .next:hover,
    #lightbox-inner-wrap .prev:hover {
      opacity: 1; }
    #lightbox-inner-wrap .next.hidden,
    #lightbox-inner-wrap .prev.hidden {
      cursor: default; }
      #lightbox-inner-wrap .next.hidden svg,
      #lightbox-inner-wrap .prev.hidden svg {
        display: none; }
    #lightbox-inner-wrap .next svg,
    #lightbox-inner-wrap .prev svg {
      top: -webkit-calc(50% - 30px) ;
      top: calc(50% - 30px) ;
      position: absolute; }
      #lightbox-inner-wrap .next svg .lightbox-icon-arrow,
      #lightbox-inner-wrap .prev svg .lightbox-icon-arrow {
        fill: #FFFFFF; }
  #lightbox-inner-wrap .next {
    right: 0; }
    #lightbox-inner-wrap .next svg {
      right: 20px; }
  #lightbox-inner-wrap .prev {
    left: 0; }
    #lightbox-inner-wrap .prev svg {
      left: 20px; }
  #lightbox-inner-wrap .close {
    position: fixed;
    height: 40px;
    right: 20px;
    top: 20px;
    width: 40px; }
    #lightbox-inner-wrap .close:hover {
      cursor: pointer; }
    #lightbox-inner-wrap .close .lightbox-icon-bg {
      fill: #fff; }

@media (max-width: 1024px) {
  #lightbox-inner-wrap .close {
    right: 0;
    top: 0; }
    #lightbox-inner-wrap .close circle {
      display: none; }
  #lightbox-inner-wrap .next:hover,
  #lightbox-inner-wrap .prev:hover {
    opacity: 0; } }

@media (min-width: 1024px) {
  .lightbox-link.hover-icon-enabled {
    position: relative; }
    .lightbox-link.hover-icon-enabled:hover::after {
      background: rgba(105, 105, 105, 0.2) url(data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZmlsbDogd2hpdGUiIHZpZXdCb3g9IjAgMCAyMSAyMSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICA8cGF0aCBkPSJNLTEuMjUyMjIyNTEsMTUuNjAzNDE5NyBDLTEuMzUyNTE5MjcsMTUuNjkzNjg2OCAtMS40MjUyMzMzMywxNS43OTg5OTY4IC0xLjQ3MDM2Njg3LDE1LjkxOTM1MjkgQy0xLjUxNTUwMDQxLDE2LjAzOTcwOSAtMS41MzgwNjY4NCwxNi4xNjAwNjMzIC0xLjUzODA2Njg0LDE2LjI4MDQxOTQgQy0xLjUzODA2Njg0LDE2LjQwMDc3NTUgLTEuNTE1NTAwNDEsMTYuNTIxMTI5OCAtMS40NzAzNjY4NywxNi42NDE0ODU5IEMtMS40MjUyMzMzMywxNi43NjE4NDIgLTEuMzUyNTE5MjcsMTYuODY3MTUyIC0xLjI1MjIyMjUxLDE2Ljk1NzQxOTEgTDMuNTYxOTk3NzEsMjEuNzcxNjM5MyBDMy43NTI1NjE1NSwyMS45NjIyMDMyIDMuOTgwNzMzMjQsMjIuMDU3NDgzNyA0LjI0NjUxOTY1LDIyLjA1NzQ4MzcgQzQuNTEyMzA2MDUsMjIuMDU3NDgzNyA0LjczNTQ2Mjk5LDIxLjk2MjIwMzIgNC45MTU5OTcxNSwyMS43NzE2MzkzIEM1LjEwNjU2MDk4LDIxLjU4MTA3NTUgNS4yMDE4NDE0NywyMS4zNTU0MTEyIDUuMjAxODQxNDcsMjEuMDk0NjM5NiBDNS4yMDE4NDE0NywyMC44MzM4NjggNS4xMDY1NjA5OCwyMC42MDgyMDM3IDQuOTE1OTk3MTUsMjAuNDE3NjM5OSBMMS43NTY2NjUxMywxNy4yNDMyNjM0IEwxMC4wMTYwNjE3LDE3LjI0MzI2MzQgQzEwLjI4Njg2MjksMTcuMjQzMjYzNCAxMC41MTUwMzQ2LDE3LjE1MDQ5MDMgMTAuNzAwNTgzNiwxNi45NjQ5NDEzIEMxMC44ODYxMzI2LDE2Ljc3OTM5MjMgMTAuOTc4OTA1NywxNi41NTEyMjA2IDEwLjk3ODkwNTcsMTYuMjgwNDE5NCBDMTAuOTc4OTA1NywxNi4wMDk2MTgyIDEwLjg4NjEzMjYsMTUuNzgxNDQ2NSAxMC43MDA1ODM2LDE1LjU5NTg5NzUgQzEwLjUxNTAzNDYsMTUuNDEwMzQ4NSAxMC4yODY4NjI5LDE1LjMxNzU3NTMgMTAuMDE2MDYxNywxNS4zMTc1NzUzIEwxLjc1NjY2NTEzLDE1LjMxNzU3NTMgTDQuOTE1OTk3MTUsMTIuMTQzMTk4OSBDNS4xMDY1NjA5OCwxMS45NTI2MzUxIDUuMjAxODQxNDcsMTEuNzI2OTcwNyA1LjIwMTg0MTQ3LDExLjQ2NjE5OTIgQzUuMjAxODQxNDcsMTEuMjA1NDI3NiA1LjEwNjU2MDk4LDEwLjk3OTc2MzMgNC45MTU5OTcxNSwxMC43ODkxOTk1IEM0LjczNTQ2Mjk5LDEwLjU5ODYzNTYgNC41MTIzMDYwNSwxMC41MDMzNTUxIDQuMjQ2NTE5NjUsMTAuNTAzMzU1MSBDMy45ODA3MzMyNCwxMC41MDMzNTUxIDMuNzUyNTYxNTUsMTAuNTk4NjM1NiAzLjU2MTk5NzcxLDEwLjc4OTE5OTUgTC0xLjI1MjIyMjUxLDE1LjYwMzQxOTcgWiIgaWQ9IngiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQuNzIwNDE5LCAxNi4yODA0MTkpIHJvdGF0ZSgtNDUuMDAwMDAwKSB0cmFuc2xhdGUoLTQuNzIwNDE5LCAtMTYuMjgwNDE5KSAiPjwvcGF0aD4KICA8cGF0aCBkPSJNMTAuMzA3Nzc3NCw0LjA0MzQxOTczIEMxMC4yMDc0ODA3LDQuMTMzNjg2ODEgMTAuMTM0NzY2Niw0LjIzODk5NjgzIDEwLjA4OTYzMzEsNC4zNTkzNTI5MyBDMTAuMDQ0NDk5NSw0LjQ3OTcwOTA0IDEwLjAyMTkzMzEsNC42MDAwNjMzNCAxMC4wMjE5MzMxLDQuNzIwNDE5NDUgQzEwLjAyMTkzMzEsNC44NDA3NzU1NiAxMC4wNDQ0OTk1LDQuOTYxMTI5ODYgMTAuMDg5NjMzMSw1LjA4MTQ4NTk3IEMxMC4xMzQ3NjY2LDUuMjAxODQyMDcgMTAuMjA3NDgwNyw1LjMwNzE1MjA5IDEwLjMwNzc3NzQsNS4zOTc0MTkxNyBMMTUuMTIxOTk3NywxMC4yMTE2Mzk0IEMxNS4zMTI1NjE1LDEwLjQwMjIwMzIgMTUuNTQwNzMzMiwxMC40OTc0ODM3IDE1LjgwNjUxOTYsMTAuNDk3NDgzNyBDMTYuMDcyMzA2LDEwLjQ5NzQ4MzcgMTYuMjk1NDYyOSwxMC40MDIyMDMyIDE2LjQ3NTk5NzEsMTAuMjExNjM5NCBDMTYuNjY2NTYwOSwxMC4wMjEwNzU2IDE2Ljc2MTg0MTQsOS43OTU0MTEyNCAxNi43NjE4NDE0LDkuNTM0NjM5NjcgQzE2Ljc2MTg0MTQsOS4yNzM4NjgxMSAxNi42NjY1NjA5LDkuMDQ4MjAzNzkgMTYuNDc1OTk3MSw4Ljg1NzYzOTk1IEwxMy4zMTY2NjUxLDUuNjgzMjYzNDkgTDIxLjU3NjA2MTYsNS42ODMyNjM0OSBDMjEuODQ2ODYyOSw1LjY4MzI2MzQ5IDIyLjA3NTAzNDYsNS41OTA0OTAzOSAyMi4yNjA1ODM2LDUuNDA0OTQxMzkgQzIyLjQ0NjEzMjYsNS4yMTkzOTIzOSAyMi41Mzg5MDU3LDQuOTkxMjIwNjkgMjIuNTM4OTA1Nyw0LjcyMDQxOTQ1IEMyMi41Mzg5MDU3LDQuNDQ5NjE4MjEgMjIuNDQ2MTMyNiw0LjIyMTQ0NjUxIDIyLjI2MDU4MzYsNC4wMzU4OTc1MSBDMjIuMDc1MDM0NiwzLjg1MDM0ODUxIDIxLjg0Njg2MjksMy43NTc1NzU0MSAyMS41NzYwNjE2LDMuNzU3NTc1NDEgTDEzLjMxNjY2NTEsMy43NTc1NzU0MSBMMTYuNDc1OTk3MSwwLjU4MzE5ODk0NyBDMTYuNjY2NTYwOSwwLjM5MjYzNTExMSAxNi43NjE4NDE0LDAuMTY2OTcwNzk0IDE2Ljc2MTg0MTQsLTAuMDkzODAwNzcxNSBDMTYuNzYxODQxNCwtMC4zNTQ1NzIzMzcgMTYuNjY2NTYwOSwtMC41ODAyMzY2NTQgMTYuNDc1OTk3MSwtMC43NzA4MDA0OSBDMTYuMjk1NDYyOSwtMC45NjEzNjQzMjcgMTYuMDcyMzA2LC0xLjA1NjY0NDgyIDE1LjgwNjUxOTYsLTEuMDU2NjQ0ODIgQzE1LjU0MDczMzIsLTEuMDU2NjQ0ODIgMTUuMzEyNTYxNSwtMC45NjEzNjQzMjcgMTUuMTIxOTk3NywtMC43NzA4MDA0OSBMMTAuMzA3Nzc3NCw0LjA0MzQxOTczIFoiIGlkPSJ4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNi4yODA0MTksIDQuNzIwNDE5KSByb3RhdGUoLTIyNS4wMDAwMDApIHRyYW5zbGF0ZSgtMTYuMjgwNDE5LCAtNC43MjA0MTkpICI+PC9wYXRoPgo8L3N2Zz4K) no-repeat center;
      background-size: 16px;
      border-radius: 50%;
      content: '';
      display: block;
      height: 36px;
      position: absolute;
      right: 10px;
      top: 10px;
      width: 36px;
      z-index: 1000; } }

@media all and (-ms-high-contrast: none) {
  .lightbox-link,
  .lightbox-content.zoomable {
    cursor: pointer; } }
.project-module-video {
  min-width: 210px !important; }

.project-module-video .embed-dimensions {
  min-width: 210px !important; }
@-webkit-keyframes fade-in {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-moz-keyframes fade-in {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fade-in {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-webkit-keyframes fade-out {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@-moz-keyframes fade-out {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes fade-out {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

.transition-enabled {
  opacity: 0; }

.transition-in {
  -webkit-animation: fade-in ease-in;
  animation: fade-in ease-in;
  -webkit-animation-duration: 0.25s;
  animation-duration: 0.25s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards; }

.transition-out {
  opacity: 1;
  -webkit-animation: fade-out ease-out;
  animation: fade-out ease-out;
  -webkit-animation-duration: 0.25s;
  animation-duration: 0.25s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards; }

/* ===== Self-hosting additions ===== */

/* In-copy text links (e.g. the email/LinkedIn/Behance links on the Contact page) previously
   hovered to the exact same grey as their resting state - no visible change at all. This
   makes them hover to lime instead, matching the colour used for every other hover state
   across the site (nav links, project grid titles, etc). */
.standard-modules .rich-text a{transition:color .15s ease}
.standard-modules .rich-text a:hover{color:var(--lime)!important}


/* The real site uses a fixed-position masthead plus an invisible placeholder to reserve
   scroll space for it (a parallax-style effect). That's unnecessary complexity for a single
   static heading, so this is just rendered as a normal block in the page flow instead. */
.masthead{position:relative!important;width:100%}
.masthead-contents{max-width:1120px;margin:0 auto}

/* The project-page CSS bundle also ships its own generic, uncustomized .masthead rules
   (unused on real project pages, but present in that file regardless), and because that
   file was merged in after the home page's CSS, those generic values were winning: wrong
   font, wrong colour, wrong padding. These overrides restore the real customized values
   (matching the home page's own CSS exactly, including its responsive breakpoints). */
.masthead{padding-top:60px;padding-bottom:60px}
.masthead h1{color:#fff;font-family:var(--font-display);font-weight:500;font-size:46px;line-height:46px}
.masthead p{color:var(--lime);font-family:var(--font-body);font-size:20px;line-height:26px}
@media (max-width:932px){
  .masthead{padding-top:28px;padding-bottom:28px}
  .masthead h1{font-size:28px;line-height:32px}
  .masthead p{font-size:15px;line-height:19px}
}
@media (max-width:540px){
  .masthead{padding-top:25px;padding-bottom:25px}
  .masthead h1{font-size:25px;line-height:28px}
  .masthead p{font-size:14px}
}



/* Adobe's own CSS (copied above) never actually caps the width of the content column -
   .site-container is max-width:100% and .page is width:100% throughout. On the real
   Adobe-hosted site the reading-column width is applied by their editor's JS at runtime,
   which isn't present in a saved static export, so without this the grid/text column would
   stretch to the full browser width on a wide monitor - and since each grid row is sized to
   fill its container exactly, an unconstrained (very wide) container forces very short rows.
   This restores a sensible fixed reading width, matching a brochure page's proportions. */
.page-content{max-width:1400px;margin-left:auto;margin-right:auto}
@media (max-width:932px){.page-content{max-width:100%}}

/* Nav/titles: Bricolage Grotesque "72pt Condensed" (opsz axis pinned near 72, wdth axis at 75,
   its condensed end). Body copy: Inconsolata. Both loaded as Google Fonts via the <link> in
   each page's <head>. font-optical-sizing:auto is left off since opsz is pinned explicitly here
   rather than tracking font-size automatically - that's what "72pt" as a fixed named style means. */
:root{
  --font-body: "Inconsolata", "Courier New", monospace;
  --font-display: "Bricolage Grotesque", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --lime:#E5FE62;
}
body{
  font-variation-settings: "opsz" 72, "wdth" 75;
}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Justified image grid (project media_collection modules). This is Adobe Portfolio's own
   technique (confirmed from a saved Adobe page): width and flex-grow on each item are the same
   number (set in main.js, proportional to that image's aspect ratio), so flexbox wraps and
   grows rows to fill the container's width on its own. The height is never set directly -
   .grid__item-filler uses padding-bottom as a percentage, which CSS always calculates relative
   to the box's OWN current width, so the height automatically tracks whatever width flexbox
   grows the box to, on any screen size, with no JS recalculation and nothing to crop. */
.grid--main{visibility:visible;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.grid__item-container{box-sizing:border-box!important;position:relative;display:block;overflow:hidden}
.grid__item-filler{display:block;width:100%}
.grid__item-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}


/* Video modules: Adobe's hosted player URLs are signed and expire, so they can't be carried over. */
.video-placeholder{
  aspect-ratio:16/9;max-width:800px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;
  background:#1b1b1b;border:1px dashed #444;color:#888;font-family:var(--font-body);font-size:14px;text-align:center;padding:20px
}

.contact-form{display:grid;gap:22px;max-width:560px;margin:0 auto}
.contact-form label{display:grid;gap:8px;font-size:16px;color:#cfcfcf;font-family:var(--font-body)}
.contact-form input,.contact-form textarea{width:100%;padding:14px;background:transparent;border:1px solid #666;border-radius:0;color:#fff;font:inherit}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--lime);outline:0}
.contact-form textarea{min-height:170px;resize:vertical}
.contact-form button{justify-self:start;padding:14px 34px;background:var(--lime);color:#222;border:0;border-radius:0;font-family:var(--font-display);font-size:20px;text-transform:uppercase;cursor:pointer}
.contact-form button:hover{background:#fff}
.form-status{min-height:1.6em;margin:0;color:var(--lime);font-family:var(--font-body)}

.project-nav{float:none;width:100%;padding-left:0;padding-right:0;display:flex;justify-content:space-between;gap:20px;max-width:800px;margin:30px auto 0;padding-top:24px;border-top:1px solid #3a3a3a;font-family:var(--font-display);text-transform:uppercase;font-size:20px;line-height:1.2}
.project-nav a{color:#fff;max-width:46%}
.project-nav a:hover{color:var(--lime)}
.project-nav .next{margin-left:auto;text-align:right}
.project-nav small{display:block;margin-bottom:6px;color:#888;font-family:var(--font-body);font-size:13px;letter-spacing:.04em}

.back-to-top a{color:#888;font-family:var(--font-body)}
.skip-link{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:10px 14px;z-index:100000}
.skip-link:focus{left:0}
.video-embed{aspect-ratio:16/9;max-width:1000px;margin:0 auto}
.video-embed iframe{width:100%;height:100%;display:block}

/* About page: sub-headings and list */
.standard-modules .rich-text p.about-sub{
  color:var(--lime);
  font-family:var(--font-display);
  font-size:24px;
  font-weight:600;
  line-height:28px;
  padding-top:16px;
  padding-bottom:12px;
}
.standard-modules .rich-text ul.about-list{padding-bottom:16px}
.standard-modules .rich-text ul.about-list li{font-weight:700;padding-bottom:6px}
@media (max-width:932px){
  .standard-modules .rich-text p.about-sub{font-size:20px;line-height:24px;padding-top:10px;padding-bottom:10px}
}
