@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
	   v2.0 | 20110126
	   License: none (public domain)
	*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

li {
  display: block; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

*,
*:before,
*:after {
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  box-sizing: border-box; }

button,
input,
select,
textarea {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  -webkit-appearance: none;
  border-radius: 0; }
  button:focus,
  input:focus,
  select:focus,
  textarea:focus {
    outline: none; }

img {
  display: block;
  max-width: 100%;
  height: auto; }

pre, code {
  font-family: monospace; }

@font-face {
  font-family: "DINPro";
  src: url("fonts/FFDINProLight/font.woff2") format("woff2"), url("fonts/FFDINProLight/font.woff") format("woff");
  font-weight: 200;
  font-style: normal; }

@font-face {
  font-family: "DINPro";
  src: url("fonts/FFDINProMedium/font.woff2") format("woff2"), url("fonts/FFDINProMedium/font.woff") format("woff");
  font-weight: 400;
  font-style: normal; }

main .content__thumbnails menu,
main .content menu, .blog main .content article,
.archive.date main .content article, [class*="page-template-template-careers"] .content article:not(.thumbnail),
[class*="page-template-template-awards"] .content article:not(.thumbnail),
[class*="page-template-template-team"] .content article:not(.thumbnail), .jobs-list,
.team__members-list, .projects__index-list, .awards-list, #archives, #subscribe > div .validation_message, .project__navigation > div,
.sm {
  font-size: 1rem;
  line-height: 1.27; }

body,
.rg {
  font-size: 1.3888888889rem;
  line-height: 1.2; }

html {
  font-size: 1.317715959vw; }

body {
  font-family: "DINPro", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 200; }

em, i {
  font-style: normal;
  color: var(--black, #000); }

strong, b {
  font-weight: 400; }

h1,
h2 {
  font-weight: 400;
  color: #000; }

ul,
ol {
  list-style: none; }
  ul li,
  ol li {
    position: relative;
    padding-left: 1.5em; }
    ul li:before,
    ol li:before {
      color: inherit; }
    ul li ul,
    ul li ol,
    ol li ul,
    ol li ol {
      margin-top: 0.5em; }
    ul li ~ li,
    ol li ~ li {
      margin-top: 0.5em; }

ol {
  counter-reset: ordered-list; }
  ol li {
    counter-increment: ordered-list; }
    ol li:before {
      content: counter(ordered-list, numeral) ". ";
      position: absolute;
      top: 0;
      left: 0;
      width: auto;
      height: auto;
      background-color: transparent;
      color: inherit;
      font-weight: 200; }

ul {
  counter-reset: ordered-list; }
  ul li:before {
    display: block;
    content: "•";
    position: absolute;
    left: 0;
    top: 0; }
  ul ol {
    counter-reset: ordered-list; }
    ul ol li {
      counter-increment: ordered-list; }
      ul ol li:before {
        content: counter(ordered-list, lower-alpha) ". ";
        width: auto;
        height: auto;
        background-color: transparent;
        color: inherit; }
      ul ol li ol {
        counter-reset: ordered-list-a; }
        ul ol li ol li {
          counter-increment: ordered-list-a; }
          ul ol li ol li:before {
            content: counter(ordered-list-a, lower-roman) ". ";
            font-weight: inherit;
            color: inherit; }

.gallery {
  margin: 1.27em 0; }

table {
  width: 100%;
  font-size: 0.8333333333rem;
  line-height: 1.25;
  text-align: left; }
  table thead {
    font-weight: 400;
    color: #000; }
  table tr {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    table tr td, table tr th {
      flex-basis: calc( 100%/3); }
  table thead tr th:first-child {
    flex-grow: 1;
    flex-basis: 100%;
    padding-bottom: 1rem; }

dl {
  display: flex;
  flex-wrap: wrap;
  column-gap: 4.4444444444rem; }
  dl dt, dl dd {
    flex-basis: calc( 50% - 2.2222222222rem); }

a {
  color: inherit;
  text-decoration: none; }


.uc {
  text-transform: uppercase; }

h1,
h2, table thead tr th, header[role="banner"], nav#sds__menu li, main .content__thumbnails article.thumbnail .title,
main .content article.thumbnail .title, main .content__thumbnails menu,
main .content menu, .single-project main > a[rel="expand"], .gallery .gallery__title, .awards-list li.heading, #subscribe > div .validation_message, #subscribe > div .gform_confirmation_message, #subscribe > div input, .project__navigation > div,
.lc {
  text-transform: lowercase; }


.nowrap {
  white-space: nowrap; }

.nolist li,
nav#sds__menu ul li,
.jobs-list li,
.team__members-list li,
.projects__index-list li,
.awards-list li {
  padding: 0; }
  .nolist li:before,
  nav#sds__menu ul li:before,
  .jobs-list li:before,
  .team__members-list li:before,
  .projects__index-list li:before,
  .awards-list li:before {
    display: none; }
  .nolist li ~ li,
  nav#sds__menu ul li ~ li,
  .jobs-list li ~ li,
  .team__members-list li ~ li,
  .projects__index-list li ~ li,
  .awards-list li ~ li {
    margin: 0; }

.noselect,
h1,
#acknowledgement > div,
header[role="banner"],
nav#sds__menu li,
main .hero {
  -webkit-touch-callout: none;
  /* iOS Safari */
  -webkit-user-select: none;
  /* Safari */
  -khtml-user-select: none;
  /* Konqueror HTML */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* Internet Explorer/Edge */
  user-select: none;
  /* Non-prefixed version, currently
																supported by Chrome and Opera */ }

header[role="banner"], .page main .content__thumbnails > div,
.archive main .content__thumbnails > div,
.grid {
  display: grid;
  margin: 0 auto;
  grid-template-columns: repeat(4, 1fr);
  gap: 4.4444444444rem; }

::-webkit-input-placeholder {
  color: #000; }

:-moz-placeholder {
  color: #000; }

::-moz-placeholder {
  color: #000; }

:-ms-input-placeholder {
  color: #000; }

/* Slider */
.slick-slider,
.slick-list,
.slick-track {
  height: 100%; }

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  .slick-slide:focus {
    outline: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

:root {
  --black: #000;
  --black-60: #626262;
  --black-30: #ababab;
  --grey-1: #efefef;
  --white: #fff; }

::-moz-selection {
  background: rgba(0, 0, 0, 0.99);
  color: #fff;
  text-shadow: none; }

::selection {
  background: rgba(0, 0, 0, 0.99);
  color: #fff;
  text-shadow: none; }

html,
body {
  width: 100%;
  height: 100%; }

body {
  color: var(--black-60, #626262);
  overflow-x: hidden; }
  body.noscroll {
    overflow: hidden; }

.js header,
.js a[rel="menu"] main > .hero,
.js main > [class*="content"] {
  opacity: 0;
  visibility: hidden; }

main {
  scroll-behavior: smooth;
  overflow-x: hidden;
  min-height: 100%; }

header,
nav,
section,
article,
aside,
footer {
  position: relative;
  z-index: 0; }

img,
svg,
video {
  display: block; }

#acknowledgement {
  position: fixed;
  top: 0;
  left: 0;
  width: var(--vw, 100vw);
  height: var(--vh, 100vh);
  color: #fff;
  padding-top: calc( 1.6666666667rem + 1.12em + 1.4444444444rem);
  padding-right: 1.7222222222rem;
  padding-bottom: 1.4444444444rem;
  padding-left: 1.7222222222rem;
  display: flex;
  align-items: center;
  justify-items: center;
  z-index: 16000; }
  #acknowledgement > div {
    text-align: center;
    margin: 0 auto;
    margin-top: -4.36em;
    width: 75%; }
  #acknowledgement[aria-expanded="false"] {
    opacity: 0;
    visibility: hidden; }

.mobile {
  display: none; }

table ~ table thead th:not(th:first-child), body.home #sds__pagetitle, a[rel="menu"] .label, .page main .content__thumbnails > div .thumbnail a > span,
.archive main .content__thumbnails > div .thumbnail a > span, menu a .label, #subscribe > div .gform_validation_errors, #subscribe > div .gfield_label, [class*="pagination"], a[rel="expand"] .label,
a[rel*="load"] .label,
.sr {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute; }

.single-project main > a[rel="expand"] .label,
.resetsr {
  clip: unset;
  clip-path: unset;
  height: unset;
  width: unset;
  margin: unset;
  overflow: unset;
  padding: unset;
  position: unset; }

.mobile,
.hide {
  display: none !important;
  visibility: hidden;
  opacity: 0; }

header[role="banner"] {
  position: fixed;
  top: 0;
  left: 0;
  width: var(--vw, 100vw);
  margin-top: -1px;
  padding-top: 1.6666666667rem;
  padding-right: 1.7222222222rem;
  padding-left: 1.7222222222rem;
  padding-bottom: 1.4444444444rem;
  color: var(--black, #000);
  font-weight: 400;
  line-height: 1;
  pointer-events: none;
  z-index: 2000; }
  header[role="banner"].light {
    color: var(--white, #fff); }
    header[role="banner"].light h1 {
      color: inherit; }
  header[role="banner"] #sds__sitename {
    grid-column: span 2; }
    header[role="banner"] #sds__sitename a {
      pointer-events: initial; }
      header[role="banner"] #sds__sitename a:hover {
        color: inherit; }
  header[role="banner"] #sds__pagetitle {
    grid-column: 3/span 2; }

a[rel="menu"] {
  display: block;
  position: fixed;
  top: 1.6666666667rem;
  right: calc( 1.7222222222rem - var(--scrollbar ));
  width: 1.6666666667rem;
  height: 0.7222222222rem;
  border: none;
  z-index: 8400; }
  .has-scrollbars a[rel="menu"] {
    right: calc( 2.1527777778rem - var(--scrollbar )); }
  a[rel="menu"].light {
    color: var(--white, #fff); }
  a[rel="menu"].dark {
    color: var(--black, #000); }
  a[rel="menu"] .icon {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: 100%;
    -moz-transform: translate(0%, 50%);
    -o-transform: translate(0%, 50%);
    -ms-transform: translate(0%, 50%);
    -webkit-transform: translate(0%, 50%);
    transform: translate(0%, 50%); }
    a[rel="menu"] .icon > span {
      display: block;
      width: 100%;
      height: 0;
      border-bottom: 0.1666666667rem solid; }
      a[rel="menu"] .icon > span ~ span {
        margin-top: 0.3888888889rem; }
  a[rel="menu"][data-state="open"] {
    top: 1.2777777778rem;
    color: var(--black, #000); }
    a[rel="menu"][data-state="open"] .icon span {
      transform-origin: center;
      color: var(--black, #000); }
      a[rel="menu"][data-state="open"] .icon span:first-child {
        margin-top: 2px;
        -moz-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg); }
      a[rel="menu"][data-state="open"] .icon span:last-child {
        margin-top: -3px;
        -moz-transform: rotate(-45deg);
        -o-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg); }
  a[rel="menu"].light {
    color: #fff; }

nav#sds__menu {
  position: fixed;
  top: 0;
  right: 0;
  width: 50%;
  height: var(--vh, 100%);
  background-color: #f5f5f5;
  padding-top: 1.6666666667rem;
  padding-right: 1.7222222222rem;
  padding-bottom: 1.4444444444rem;
  padding-left: 2.2222222222rem;
  z-index: 8000; }
  nav#sds__menu ul {
    font-weight: 400;
    margin-top: -0.1111111111rem;
    color: var(--black, #000); }
    nav#sds__menu ul li a:before {
      content: "";
      display: block;
      position: absolute;
      left: calc( 100% - 1.6666666667rem);
      top: calc( 1em - 0.4444444444rem);
      width: 1.6666666667rem;
      height: 0;
      border-bottom: 0.1666666667rem solid #000;
      opacity: 0; }
    nav#sds__menu ul li a:hover:before {
      opacity: 1; }
    nav#sds__menu ul li {
      position: relative;
      width: 11.4444444444rem; }
      nav#sds__menu ul li ul {
        margin-top: 0; }
  nav#sds__menu li {
    position: relative;
    width: 75%;
    line-height: 1.12; }
    nav#sds__menu li a {
      display: block;
      position: relative;
      border: none !important; }
    nav#sds__menu li .sub-menu {
      margin: 0;
      height: 0;
      overflow: hidden;
      color: var(--black-60, #626262); }
      nav#sds__menu li .sub-menu.open {
        height: auto;
        overflow: visible; }
      nav#sds__menu li .sub-menu li {
        width: 100%; }
        nav#sds__menu li .sub-menu li:before {
          border-color: var(--black, #000); }
        nav#sds__menu li .sub-menu li .sub-menu {
          color: var(--black-30, #ababab); }
    nav#sds__menu li ~ li {
      margin-top: 0 !important; }
  nav#sds__menu[aria-expanded="false"] {
    -moz-transform: translate(100%, 0%);
    -o-transform: translate(100%, 0%);
    -ms-transform: translate(100%, 0%);
    -webkit-transform: translate(100%, 0%);
    transform: translate(100%, 0%); }

menu a:hover {
  color: #000; }

article a:hover {
  color: #000; }

footer {
  display: none; }

main .content__thumbnails article,
main .content article, main .content__thumbnails article .extended__content-inner,
main .content article .extended__content-inner, .blog main #archives,
.archive.date main #archives, .blog main .archive .archive__posts > div,
.archive.date main .archive .archive__posts > div, .page main .content__thumbnails,
.archive main .content__thumbnails, .jobs-list li [class*="-content"] > div,
.team__members-list li [class*="-content"] > div {
  display: flex;
  flex-direction: column;
  gap: 1.2em; }

main {
  width: var(--vw, 100vw);
  min-height: var(--vh, 100vh);
  background-color: var(--white, #fff);
  z-index: 0; }
  main .hero {
    position: fixed;
    top: 0;
    left: 0;
    width: var(--vw, 100vw);
    height: var(--vh, 100vh);
    background-color: #000; }
    main .hero figure,
    main .hero video {
      width: 100%;
      height: 100%;
      opacity: 0.8;
      object-fit: cover; }
      main .hero figure img,
      main .hero video img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
    main .hero + .content {
      margin-top: var(--vh, 100vh); }
  main .content__thumbnails,
  main .content {
    position: relative;
    padding-top: calc( 1.6666666667rem + 1.25em + 1.4444444444rem);
    padding-right: 1.7222222222rem;
    padding-bottom: 1.4444444444rem;
    padding-left: 1.7222222222rem;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    min-height: var(--vh, 100vh);
    z-index: 1000; }
    main .content__thumbnails a[rel="expand"],
    main .content__thumbnails a[rel*="load"],
    main .content a[rel="expand"],
    main .content a[rel*="load"] {
      margin: -0.4722222222rem 0; }
    main .content__thumbnails article,
    main .content article {
      align-self: flex-end;
      width: calc( 50% - 2.2222222222rem); }
      main .content__thumbnails article > *,
      main .content article > * {
        width: calc( 100%); }
      main .content__thumbnails article p,
      main .content article p {
        max-width: 712px; }
      main .content__thumbnails article.thumbnail,
      main .content article.thumbnail {
        max-width: unset; }
      main .content__thumbnails article .extended__content,
      main .content article .extended__content {
        height: 0;
        overflow: hidden; }
        main .content__thumbnails article .extended__content-inner,
        main .content article .extended__content-inner {
          padding-bottom: 35vh; }
          main .content__thumbnails article .extended__content-inner *:last-child,
          main .content article .extended__content-inner *:last-child {
            margin-bottom: -0.33em; }
        main .content__thumbnails article .extended__content[aria-expanded="true"],
        main .content article .extended__content[aria-expanded="true"] {
          height: auto; }
    main .content__thumbnails menu,
    main .content menu {
      display: flex;
      width: 100%;
      grid-column: 1/-1;
      margin-top: auto;
      margin-bottom: -0.25em;
      line-height: 1; }
      main .content__thumbnails menu > a,
      main .content menu > a {
        display: block;
        width: 4.4444444444rem; }
        main .content__thumbnails menu > a:nth-last-child(1 of a),
        main .content menu > a:nth-last-child(1 of a) {
          text-align: right; }
        main .content__thumbnails menu > a + div,
        main .content menu > a + div {
          flex-basis: calc( 50% - 6.6666666667rem); }
      main .content__thumbnails menu div,
      main .content menu div {
        margin-left: auto;
        margin-right: 0;
        flex-basis: calc( 50% - 2.2222222222rem); }
        main .content__thumbnails menu div a.current,
        main .content menu div a.current {
          color: var(--black, #000); }
  main .content__thumbnails {
    padding-top: calc( 1.6666666667rem + 2.8888888889rem + 1.4444444444rem); }

.single-project main .content {
  position: fixed;
  top: 0;
  right: calc( var(--scrollbar) * (-1));
  width: calc( 50% + (var( --scrollbar ) * 0.5));
  height: var(--vh, 100vh);
  margin-top: 0;
  overflow: auto;
  padding-left: 2.2222222222rem;
  background-color: var(--grey-1, #efefef);
  z-index: 500; }
  .single-project main .content[aria-expanded="false"] {
    -moz-transform: translate(100%, 0%);
    -o-transform: translate(100%, 0%);
    -ms-transform: translate(100%, 0%);
    -webkit-transform: translate(100%, 0%);
    transform: translate(100%, 0%); }
  .single-project main .content article {
    width: 100%;
    margin: 0; }
    .single-project main .content article p, .single-project main .content article dl {
      max-width: 712px; }

.single-project main > a[rel="expand"] {
  position: fixed;
  color: #000;
  width: calc( 50% - 3.9444444444rem);
  display: flex;
  right: 1.7222222222rem;
  bottom: 1.4444444444rem;
  z-index: 1000; }
  .single-project main > a[rel="expand"] .icon {
    margin-right: 0;
    margin-left: auto;
    width: 1.4444444444rem;
    height: 1.4444444444rem; }
  .single-project main > a[rel="expand"].light {
    color: #fff; }

.single-project .hero ~ .project__gallery {
  margin-top: var(--vh, 100vh); 
}


.single-project .project__gallery {
  position: relative;
  padding-top: 0;
  padding-bottom: 0px;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  width: 100vw;
}


  .single-project .project__gallery .spacer {
    display: none; 
  }

  .single-project .project__gallery .gallery__row {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10vh 7.5vw;
    flex-shrink: 0;
    gap: clamp(10px, 3vw ,100px);
  }

  .project__navigation {
    
    position: absolute;
    bottom: -4.5rem;
    left: 0;
    width: 100%;
    height: 4.5rem;
    background-color: var(--white, #fff);
    padding-top: 1.6666666667rem;
    padding-right: 1.7222222222rem;
    padding-bottom: 1.4444444444rem;
    padding-left: 1.7222222222rem;
    display: flex;
    justify-content: space-between;
    z-index: 1000;
    transition: all .7s ease-out; 
  }

 
  /* html:has(body.showing-project-details), body.showing-project-details, body.showing-project-details main,  body.showing-project-details main .project__gallery {
    pointer-events: none;
  }

  body.showing-project-details #sds__amara__details {
    pointer-events: all;
  } */

  body.last-project-inview .project__navigation {
    bottom: 0rem;
  }

    .project__navigation > div {
      margin-top: auto;
      margin-bottom: -0.125em;
      align-items: center;
      flex-basis: calc( 50% - 4rem);
      margin-right: 0;
      margin-left: auto; }
    .project__navigation a[rel="next"] .icon {
      margin-right: 0.1666666667rem;
      margin-left: auto; }
    .project__navigation a[rel="previous"] .icon {
      margin-left: 0.1666666667rem;
      margin-right: auto; }

    .single-project .project__gallery .gallery__row figure {
      width: auto;
      height: 80vh; }
      .single-project .project__gallery .gallery__row figure img {
        width: 100%;
        height: 100%;
        object-fit: contain; }

.blog main .content,
.archive.date main .content {
  gap: 1.27em;
  width: 100%; }
  .blog main .content article,
  .archive.date main .content article {
    padding-top: 0.1111111111rem;
    gap: 1.27em; }
    .blog main .content article h2,
    .archive.date main .content article h2 {
      margin-bottom: -0.3888888889rem; }
    .blog main .content article p, .blog main .content article ul, .blog main .content article ol,
    .archive.date main .content article p,
    .archive.date main .content article ul,
    .archive.date main .content article ol {
      max-width: 712px; }
      .blog main .content article p a, .blog main .content article ul a, .blog main .content article ol a,
      .archive.date main .content article p a,
      .archive.date main .content article ul a,
      .archive.date main .content article ol a {
        border-bottom: 1px solid; }
    .blog main .content article > .post__video,
    .blog main .content article > figure,
    .archive.date main .content article > .post__video,
    .archive.date main .content article > figure {
      width: calc( 50% - 2.2222222222rem); }
      .blog main .content article > .post__video iframe,
      .blog main .content article > .post__video img,
      .blog main .content article > figure iframe,
      .blog main .content article > figure img,
      .archive.date main .content article > .post__video iframe,
      .archive.date main .content article > .post__video img,
      .archive.date main .content article > figure iframe,
      .archive.date main .content article > figure img {
        width: 100%;
        height: auto; }
    .blog main .content article .post__video,
    .archive.date main .content article .post__video {
      position: relative;
      padding-bottom: var(--padding-bottom, calc( 52.6% / 2)); }
      .blog main .content article .post__video iframe,
      .archive.date main .content article .post__video iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
    .blog main .content article .extended__content-inner,
    .archive.date main .content article .extended__content-inner {
      padding-bottom: 0; }

.blog main #archives,
.archive.date main #archives {
  gap: 0.25em; }

.blog main .archive .archive__posts > div,
.archive.date main .archive .archive__posts > div {
  gap: 1.27em;
  padding: 1.27em 0; }
  .blog main .archive .archive__posts > div:empty,
  .archive.date main .archive .archive__posts > div:empty {
    padding: 0; }

.blog main .archive article,
.archive.date main .archive article {
  width: 100%; }

.page main .content__thumbnails,
.archive main .content__thumbnails {
  gap: 4.4444444444rem; }

.page main .content__thumbnails > div,
.archive main .content__thumbnails > div {
  width: 100%;
  min-height: unset; }
  .page main .content__thumbnails > div .spacer,
  .archive main .content__thumbnails > div .spacer {
    pointer-events: none;
    grid-column: span 2;
    aspect-ratio: 4/3; }
  .page main .content__thumbnails > div .thumbnail,
  .archive main .content__thumbnails > div .thumbnail {
    position: relative;
    width: unset;
    grid-column: span 2;
    aspect-ratio: 4/3; }
    .page main .content__thumbnails > div .thumbnail.portrait,
    .archive main .content__thumbnails > div .thumbnail.portrait {
      aspect-ratio: 4/5; }
    .page main .content__thumbnails > div .thumbnail a,
    .archive main .content__thumbnails > div .thumbnail a {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 2000; }
    .page main .content__thumbnails > div .thumbnail figure,
    .archive main .content__thumbnails > div .thumbnail figure {
      position: relative;
      width: 100%;
      height: 100%;
      background-color: #000;
      z-index: 0; }
      .page main .content__thumbnails > div .thumbnail figure img,
      .archive main .content__thumbnails > div .thumbnail figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        -moz-transition-property: opacity;
        -o-transition-property: opacity;
        -webkit-transition-property: opacity;
        transition-property: opacity;
        -moz-transition-duration: 0.4s;
        -o-transition-duration: 0.4s;
        -webkit-transition-duration: 0.4s;
        transition-duration: 0.4s;
        -moz-transition-timing-function: "linear";
        -o-transition-timing-function: "linear";
        -webkit-transition-timing-function: "linear";
        transition-timing-function: "linear";
        -moz-transition-delay: 0s;
        -o-transition-delay: 0s;
        -webkit-transition-delay: 0s;
        transition-delay: 0s; }
    .page main .content__thumbnails > div .thumbnail .title,
    .archive main .content__thumbnails > div .thumbnail .title {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      opacity: 0;
      -moz-transition-property: opacity;
      -o-transition-property: opacity;
      -webkit-transition-property: opacity;
      transition-property: opacity;
      -moz-transition-duration: 0.4s;
      -o-transition-duration: 0.4s;
      -webkit-transition-duration: 0.4s;
      transition-duration: 0.4s;
      -moz-transition-timing-function: "linear";
      -o-transition-timing-function: "linear";
      -webkit-transition-timing-function: "linear";
      transition-timing-function: "linear";
      -moz-transition-delay: 0s;
      -o-transition-delay: 0s;
      -webkit-transition-delay: 0s;
      transition-delay: 0s;
      z-index: 1000; }
    .page main .content__thumbnails > div .thumbnail:hover figure img,
    .archive main .content__thumbnails > div .thumbnail:hover figure img {
      opacity: 0.6; }
    .page main .content__thumbnails > div .thumbnail:hover .title,
    .archive main .content__thumbnails > div .thumbnail:hover .title {
      opacity: 1; }

.page main aside,
.archive main aside {
  grid-column: 1/-1;
  padding-left: calc( 50% + 2.2222222222rem); }
  .page main aside > div,
  .archive main aside > div {
    max-width: 712px; }

[class*="page-template-template-index"] .content menu {
  margin-top: 0.4em;
  margin-bottom: 1.425em;
  order: 1; }

[class*="page-template-template-index"] .content article {
  order: 2;
  justify-self: flex-start; }

[class*="page-template-template-careers"] .content article:not(.thumbnail),
[class*="page-template-template-awards"] .content article:not(.thumbnail),
[class*="page-template-template-team"] .content article:not(.thumbnail) {
  max-width: unset; }

.home a[rel="menu"],
.home header {
  opacity: 0;
  visibility: hidden; }

.home main .hero + .content {
  opacity: 1;
  visibility: visible;
  margin-top: 0;
  color: var(--white, #fff);
  background-color: rgba(0, 0, 0, 0.2);
  flex-direction: initial;
  align-items: center;
  justify-items: center; }
  .home main .hero + .content article {
    align-self: unset;
    text-align: center;
    margin: 0 auto;
    margin-top: -4.48em;
    width: 75%;
    max-width: unset; }
    .home main .hero + .content article > * {
      max-width: unset; }
    .home main .hero + .content article[aria-expanded="false"] {
      opacity: 0; }

menu > div > span:nth-last-child(1 of span) {
  display: none; }

menu > span:nth-last-child(1 of span) {
  display: none; }

menu a .icon {
  display: block;
  width: 1em;
  height: 1em; }

.gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4.4444444444rem;
  max-width: 712px; }
  .gallery .gallery__title {
    flex-grow: 1;
    flex-shrink: 0;
    flex-basis: 100%; }
  .gallery figure img {
    width: 100%;
    max-width: unset;
    margin: unset !important; }
  .gallery figure.blank {
    width: 100%;
    height: 1px; }

.jobs-list,
.team__members-list {
  margin-bottom: 35vh; }
  .jobs-list li,
  .team__members-list li {
    display: flex;
    flex-direction: column;
    width: auto; }
    .jobs-list li ~ li,
    .team__members-list li ~ li {
      margin-top: 0.125em; }
    .jobs-list li:hover .title,
    .team__members-list li:hover .title {
      color: var(--black, #000); }
    .jobs-list li.open .title,
    .team__members-list li.open .title {
      color: var(--black, #000); }
    .jobs-list li.open + figure,
    .team__members-list li.open + figure {
      display: block;
      opacity: 1;
      z-index: 1000; }
    .jobs-list li .title,
    .team__members-list li .title {
      position: relative;
      display: flex;
      width: 100%;
      gap: 4.4444444444rem;
      align-items: flex-start; }
      .jobs-list li .title span,
      .team__members-list li .title span {
        flex-basis: 50%; }
      .jobs-list li .title a[rel="expand"],
      .team__members-list li .title a[rel="expand"] {
        margin: unset; }
        .jobs-list li .title a[rel="expand"] .icon,
        .team__members-list li .title a[rel="expand"] .icon {
          left: -1px;
          -moz-transform: translate(-50%, 0%);
          -o-transform: translate(-50%, 0%);
          -ms-transform: translate(-50%, 0%);
          -webkit-transform: translate(-50%, 0%);
          transform: translate(-50%, 0%); }
        .jobs-list li .title a[rel="expand"][data-open] .icon svg,
        .team__members-list li .title a[rel="expand"][data-open] .icon svg {
          -moz-transform: rotate(-45deg);
          -o-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
          -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg); }
    .jobs-list li [class*="-content"][aria-expanded="false"],
    .team__members-list li [class*="-content"][aria-expanded="false"] {
      height: 0;
      overflow: hidden; }
    .jobs-list li [class*="-content"] > div,
    .team__members-list li [class*="-content"] > div {
      padding: 1.27em 0;
      max-width: 712px; }
    .jobs-list li + figure,
    .jobs-list li figure,
    .team__members-list li + figure,
    .team__members-list li figure {
      opacity: 0;
      position: fixed;
      width: calc( 50% - 4.1574074074rem);
      max-width: 940px;
      aspect-ratio: 3/2;
      bottom: 1.4444444444rem;
      left: 1.7222222222rem;
      z-index: 0;
      -moz-transition-property: all;
      -o-transition-property: all;
      -webkit-transition-property: all;
      transition-property: all;
      -moz-transition-duration: 0.4s;
      -o-transition-duration: 0.4s;
      -webkit-transition-duration: 0.4s;
      transition-duration: 0.4s;
      -moz-transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
      -o-transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
      -webkit-transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
      transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
      -moz-transition-delay: 0s;
      -o-transition-delay: 0s;
      -webkit-transition-delay: 0s;
      transition-delay: 0s; }
      .jobs-list li + figure img,
      .jobs-list li figure img,
      .team__members-list li + figure img,
      .team__members-list li figure img {
        width: 100%;
        height: 100%;
        object-fit: cover; }

.jobs-list {
  margin-bottom: 0; }

.team__members-list li:hover + figure {
  opacity: 1;
  z-index: 44000; }

.projects__index-list li {
  display: flex;
  width: auto; }
  .projects__index-list li span:first-child {
    color: var(--black, #000); }

  .projects__index-list li figure,
  .projects__index-list li + figure {
    opacity: 0;
    position: fixed;
    width: calc( 50% - 4.1574074074rem);
    aspect-ratio: 3/2;
    bottom: 1.4444444444rem;
    left: 1.7222222222rem;
    z-index: 0; }
    .projects__index-list li figure img,
    .projects__index-list li + figure img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .projects__index-list li:hover figure,
  .projects__index-list li:hover + figure {
    opacity: 1;
    z-index: 1000; }

.awards-list {
  margin-bottom: 35vh; }
  .awards-list li.heading {
    margin-top: 0.27em;
    margin-bottom: 1.27em;
    color: var(--black, #000); }
  .awards-list li.year {
    color: var(--black, #000); }
    .awards-list li.year ~ .year {
      margin-top: 1.27em; }
  .awards-list li + figure {
    opacity: 0;
    position: fixed;
    width: calc( 50% - 4.1574074074rem);
    aspect-ratio: 3/2;
    bottom: 1.4444444444rem;
    left: 1.7222222222rem;
    z-index: 0; }
    .awards-list li + figure img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .awards-list li:hover + figure {
    opacity: 1;
    z-index: 1000; }

#archives {
  align-self: flex-end;
  width: calc( 50% - 2.2222222222rem); }
  #archives .title {
    color: var(--black, #000); }

.gform_ajax_spinner {
  display: none !important; }

#subscribe {
  position: fixed;
  bottom: 1.4444444444rem;
  left: 0;
  width: calc( 100% - var(--scrollbar));
  z-index: 4000; }
  #subscribe > div {
    position: relative;
    width: 100%;
    max-width: unset;
    display: flex;
    align-items: center;
    padding-right: 1.7222222222rem; }
    #subscribe > div [class*="honeypot"] {
      display: none !important; }
    #subscribe > div .validation_message {
      line-height: 1.75;
      position: absolute;
      top: 0;
      left: 0;
      -moz-transform: translate(-100%, 0%);
      -o-transform: translate(-100%, 0%);
      -ms-transform: translate(-100%, 0%);
      -webkit-transform: translate(-100%, 0%);
      transform: translate(-100%, 0%);
      padding-right: 4.4444444444rem; }
      #subscribe > div .validation_message:before {
        content: 'ERROR: '; }
    #subscribe > div .gform_wrapper {
      width: 100%;
      flex-basis: 100%;
      display: flex;
      align-items: center;
      pointer-events: none; }
      #subscribe > div .gform_wrapper .gform_heading {
        cursor: pointer;
        pointer-events: initial; }
      #subscribe > div .gform_wrapper .gform_body,
      #subscribe > div .gform_wrapper .gform_footer {
        opacity: 0; }
      #subscribe > div .gform_wrapper.active {
        pointer-events: initial; }
        #subscribe > div .gform_wrapper.active .gform_heading {
          display: none; }
        #subscribe > div .gform_wrapper.active .gform_body,
        #subscribe > div .gform_wrapper.active .gform_footer {
          opacity: 1; }
      #subscribe > div .gform_wrapper .gform_heading {
        flex-grow: 0; }
      #subscribe > div .gform_wrapper form {
        flex-grow: 1; }
    #subscribe > div .gform_confirmation_message {
      color: #000;
      font-weight: 400; }
    #subscribe > div input {
      font-family: inherit;
      font-size: inherit;
      color: #000; }
    #subscribe > div input[type="email"] {
      width: 100%; }
    #subscribe > div input[type="submit"] {
      position: absolute;
      top: 0;
      right: calc( 1.7222222222rem - var( --scrollbar ));
      font-weight: 400;
      padding: 0;
      cursor: pointer; }



@media screen and (min-width: 1590px) {
  html {
    font-size: 21px; } }

@media screen and (max-width: 960px) {
  html {
    font-size: 14px; }
  .desktop,
  br {
    display: none; }
  .mobile {
    display: block !important;
    visibility: unset;
    opacity: unset; }
  #sds__header #sds__sitename {
    display: none;
    grid-column: span 3; }
  #sds__header #sds__pagetitle {
    grid-column: span 3; }
  #acknowledgement > div {
    width: 100%; }
  nav#sds__menu {
    width: 100%; }
  main .content article,
  main .content__thumbnails article {
    width: 100%; }
    main .content article .extended__content-inner,
    main .content__thumbnails article .extended__content-inner {
      padding-bottom: 8rem; }
  main .content menu div,
  main .content__thumbnails menu div {
    width: 100%;
    flex-basis: 100%; }
  .home #sds__header #sds__sitename {
    display: block; }
  .home main .hero + .content article {
    width: 100%; }
  .page main .content__thumbnails aside,
  .archive main .content__thumbnails aside {
    padding-left: 0; }
  .page main .content__thumbnails > div .spacer,
  .archive main .content__thumbnails > div .spacer {
    display: none; }
  .page main .content__thumbnails > div .thumbnail,
  .archive main .content__thumbnails > div .thumbnail {
    grid-column: 1/-1; }
  [class*="template-default"] br {
    display: block; }
  .single-project main .content {
    width: 100%;
    padding-left: 1.7222222222rem; }
  .single-project main > a[rel="expand"] {
    left: 0;
    width: 100%;
    padding: 0 1.7222222222rem 1.4444444444rem 1.7222222222rem; }
  .single-project .hero ~ .project__gallery .spacer {
    display: none; }
    
  .single-project .project__gallery {
    /* height: 100dvh; */
  }

    .single-project .project__gallery .gallery__row {
      padding-right: 1.7222222222rem;
      padding-left: 1.7222222222rem;
      padding-top: 10dvh;
      padding-bottom: 10dvh;
      flex-direction: row;
      gap: 10px;
      max-height: 100vh;
      overflow: hidden;
    }

    .single-project .project__gallery .gallery__row figure {
      height: 80dvh;
    }

  .single-project .project__navigation > div {
    width: 100%;
    flex-basis: unset;
    text-align: center;
    padding: 0 2rem; }
  .blog main .content article > figure,
  .archive.date main .content article > figure {
    width: 100%; }
  .blog main .content article > .post__video,
  .archive.date main .content article > .post__video {
    width: 100%; }
  .jobs-list,
  .team__members-list {
    margin-bottom: 8rem; }
    .jobs-list li .title,
    .team__members-list li .title {
      font-size: 1.3333333333rem; }
      .jobs-list li .title span,
      .team__members-list li .title span {
        flex-basis: unset; }
      .jobs-list li .title a[rel="expand"],
      .team__members-list li .title a[rel="expand"] {
        width: 1.1111111111rem;
        height: 1.1111111111rem;
        margin-right: 0;
        margin-left: auto; }
        .jobs-list li .title a[rel="expand"] .icon,
        .team__members-list li .title a[rel="expand"] .icon {
          left: 0;
          -moz-transform: translate(-25%, 0%);
          -o-transform: translate(-25%, 0%);
          -ms-transform: translate(-25%, 0%);
          -webkit-transform: translate(-25%, 0%);
          transform: translate(-25%, 0%); }
    .jobs-list li .team__member-content > div,
    .team__members-list li .team__member-content > div {
      padding-bottom: 4rem; }
    .jobs-list li .team__member-content figure,
    .team__members-list li .team__member-content figure {
      aspect-ratio: 4/3;
      opacity: 1;
      display: block !important;
      position: unset;
      padding: 0;
      width: 100%;
      margin-bottom: 4.4444444444rem; }
    .jobs-list li + figure,
    .team__members-list li + figure {
      display: none !important; }
    .jobs-list li ~ li,
    .team__members-list li ~ li {
      margin-top: 0.5em; }
  .projects__index-list li {
    flex-direction: column; }
    .projects__index-list li figure {
      position: unset;
      padding: 0;
      width: 100%;
      height: 0;
      overflow: hidden;
      aspect-ratio: 4/3; }
      .projects__index-list li figure[aria-hidden="true"] {
        height: 0; }
    .projects__index-list li:hover figure, .projects__index-list li:focus figure {
      opacity: 1;
      padding: 1rem 0;
      height: auto; }
  .awards-list {
    margin-bottom: 8rem; }
    .awards-list .year + .award {
      margin-top: 1rem; }
      .awards-list .year + .award:before {
        display: none; }
    .awards-list li.award:before {
      content: "—";
      position: unset;
      display: block; }
    .awards-list li.award ~ .year {
      margin-top: 2rem; }
    .awards-list span {
      display: block; }
      .awards-list span.project {
        color: #000; }
      .awards-list span.sep {
        display: none; }
  #archives {
    width: 100%; }
  #subscribe {
    padding-left: 0; }
    #subscribe > div {
      grid-column: 1/-1;
      padding-left: 1.7222222222rem; } }

.alignnone, a img.alignnone, .wp-caption.alignnone {
  display: block;
  float: none; }

.aligncenter, a img.aligncenter,
div.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.alignright, a img.alignright, .wp-caption.alignright {
  float: right;
  margin: 0; }

.alignleft, a img.alignleft, .wp-caption.alignleft {
  float: left;
  margin: 0; }

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  white-space: nowrap;
  height: 1px;
  width: 1px;
  overflow: hidden; }

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */ }

.home {
  overflow: hidden; }

a[rel="expand"],
a[rel*="load"] {
  display: block;
  width: 30px;
  height: 30px; }
  a[rel="expand"].small,
  a[rel*="load"].small {
    width: 0.9444444444rem;
    height: 0.9444444444rem; }
    a[rel="expand"].small .icon,
    a[rel*="load"].small .icon {
      width: 100%;
      height: 100%; }
  a[rel="expand"].medium,
  a[rel*="load"].medium {
    width: 1.4444444444rem;
    height: 1.4444444444rem; }
  a[rel="expand"][data-loading],
  a[rel*="load"][data-loading] {
    opacity: 0.5;
    cursor: progress; }

.icon {
  position: relative;
  display: block;
  width: 100%;
  height: 100%; }
  .icon svg {
    width: 100%;
    height: 100%; }
  [data-open] .icon {
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg); }

[data-open] .icon__expand-small {
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.icon__expand-small span {
  display: block;
  position: absolute;
  background-color: var(--black, #000); }
  .icon__expand-small span:first-child {
    top: calc( 50% - 0.0277777778rem);
    left: 0;
    width: 100%;
    height: 0.0555555556rem; }
  .icon__expand-small span:last-child {
    top: 0;
    left: calc( 50% - 0.0277777778rem);
    width: 0.0555555556rem;
    height: 100%; }

[data-open] .icon__expand-medium {
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.icon__expand-medium span {
  display: block;
  position: absolute;
  background-color: var(--black, #000); }
  .icon__expand-medium span:first-child {
    top: calc( 50% - 0.0277777778rem);
    left: 0;
    width: 100%;
    height: 0.1111111111rem; }
  .icon__expand-medium span:last-child {
    top: 0;
    left: calc( 50% - 0.0277777778rem);
    width: 0.1111111111rem;
    height: 100%; }

[data-open] .icon__expand {
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.icon__expand span {
  display: block;
  position: absolute;
  background-color: var(--black, #000); }
  .icon__expand span:first-child {
    top: calc( 50% - 0.0555555556rem);
    left: 0;
    width: 100%;
    height: 0.1111111111rem; }
  .icon__expand span:last-child {
    top: 0;
    left: calc( 50% - 0.0555555556rem);
    width: 0.1111111111rem;
    height: 100%; }

#grid {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 400000; }
  #grid svg {
    width: 100%;
    height: auto; }

.hero__placeholder {
  display: none;
  width: var(--vw, 100vw);
  height: var(--vh, 100vh); }
