/* Welcome to Compass.
 * In this file you should write your main styles. (or centralize your imports)
 * Import this file using the following HTML or equivalent:
 * <link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css" /> */
input, textarea, select, a {
  outline: none;
  border-radius: 0;
  -webkit-appearance: none;
  background: inherit;
  font-family: inherit;
  color: inherit;
}

.preserve-3d {
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.vertical-align {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 0;
}

.bg-cover {
  background-position: center center;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

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

.lower {
  text-transform: lowercase;
}

.upper {
  text-transform: uppercase;
}

.underline {
  text-decoration: underline !important;
}

.center {
  text-align: center;
}

.left {
  text-align: left;
}

.right {
  text-align: right;
}

.fl {
  float: left;
}

.fr {
  float: right;
}

.pointer {
  cursor: pointer;
}

.hide {
  display: none !important;
}

.m-auto {
  margin-left: auto;
  margin-right: auto;
}

.fw-img {
  width: 100%;
  display: block;
}

.onum {
  font-feature-settings: "onum" 1;
  font-feature-settings: "onum" on;
}

.smoothing {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.ff__100 {
  font-weight: 100;
}

.ff__200 {
  font-weight: 200;
}

.ff__300 {
  font-weight: 300;
}

.ff__400 {
  font-weight: 400;
}

.ff__500 {
  font-weight: 500;
}

.ff__600 {
  font-weight: 600;
}

.ff__700 {
  font-weight: 700;
}

.ff__800 {
  font-weight: 800;
}

.ff__900 {
  font-weight: 900;
}

.ff__normal {
  font-style: normal;
}

.ff__italic {
  font-style: italic;
}

.ff__oblique {
  font-style: oblique;
}

.spread {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.grayscale {
  filter: grayscale(1);
}

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: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

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

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

/* MUST BE THE SAME AS VALUE IN config.py */
/* Media Queries */
/* Viewport width + max  
    outputs both desktop in vw's and max in px 
*/
/* Viewport portrait + mobile  

*/
#grid .inner {
  background-image: url("../grid.png");
  height: 100%;
  background-size: 100%;
}

#grid {
  opacity: 1;
  z-index: 10000;
  position: fixed;
  height: 100%;
  width: 100%;
  top: 0px;
  left: 0;
  display: none;
}

#grid-trigger {
  position: fixed;
  bottom: 0;
  right: 0;
  width: 64px;
  height: 64px;
  background-color: grey;
  z-index: 10001;
}

.font-grey {
  transition: color 0.4s ease;
  color: rgb(98, 98, 98);
}

.font-light-grey {
  transition: color 0.4s ease;
  color: rgb(180, 180, 180);
}

.font-white {
  transition: color 0.4s ease;
  color: white;
}

.DF__gateway__form {
  width: 90%;
  margin: auto;
  text-align: center;
  height: 100%;
  position: relative;
  font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
}

.DF__gateway__input {
  font-family: inherit;
  font-size: 20px;
  border: 1px solid black;
  margin-bottom: 40px;
}

.DF__gateway__submit {
  font-family: inherit;
  font-size: 20px;
}

/*
Avoid empty images to appear as broken
*/
.DF__lazy :not([src]):not([srcset]) {
  visibility: hidden;
}

/* 
Fixes the Firefox anomaly while images are loading
*/
@-moz-document url-prefix() {
  .DF__lazy :-moz-loading {
    visibility: hidden;
  }
}
.DF__lazy {
  opacity: 0;
}

.DF__lazy:not(.initial) {
  transition: opacity 1s;
}

.DF__lazy.initial,
.DF__lazy.loaded,
.DF__lazy.error {
  opacity: 1;
}

.DF__background_image_container {
  position: relative;
  /*
  Used to calculate a padded box based it padding at 100%
  */
  width: 100%;
  padding-top: 56.25%;
}

.DF__vimeo_wrapper {
  position: relative;
  /*
  Used to calculate a padded box based it padding at 100%
  */
  width: 100%;
  padding-top: 56.25%;
}

.DF__vimeo_thumbnail,
.DF__vimeo_iframe {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.DF__play_button {
  position: absolute;
  top: 50%;
  left: 50%;
}

input, textarea, button {
  background: inherit;
  font-family: inherit;
  color: inherit;
}

.DF__form_input ::-webkit-input-placeholder,
.DF__form_textarea ::-webkit-input-placeholder {
  opacity: 1;
}
.DF__form_input :-moz-placeholder,
.DF__form_textarea :-moz-placeholder {
  opacity: 1;
}
.DF__form_input ::-moz-placeholder,
.DF__form_textarea ::-moz-placeholder {
  opacity: 1;
}
.DF__form_input :-ms-input-placeholder,
.DF__form_textarea :-ms-input-placeholder {
  opacity: 1;
}
.DF__form_input ::placeholder,
.DF__form_textarea ::placeholder {
  opacity: 1;
}

.DF__form_button {
  cursor: pointer;
}

/* Customize the label (the container) */
.DF__checkbox_radio_container {
  display: block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 12px;
  cursor: pointer;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Hide the browser's default checkbox */
.DF__checkbox_radio_container input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

/* Create a custom checkbox */
.DF__checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: #eee;
}

.DF__radio_container .DF__checkmark {
  border-radius: 50%;
}

/* On mouse-over, add a grey background color */
.DF__checkbox_radio_container:hover input ~ .DF__checkmark {
  background-color: #ccc;
}

/* When the checkbox is checked, add a blue background */
.DF__checkbox_radio_container input:checked ~ .DF__checkmark {
  background-color: #2196F3;
}

/* Create the checkmark/indicator (hidden when not checked) */
.DF__checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the checkmark when checked */
.DF__checkbox_radio_container input:checked ~ .DF__checkmark:after {
  display: block;
}

/* Style the checkmark/indicator */
.DF__checkbox_container .DF__checkmark:after {
  left: 9px;
  top: 5px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* Style the checkmark/indicator */
.DF__radio_container .DF__checkmark:after {
  left: 9px;
  top: 9px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: white;
}

header {
  transition: background 0.4s ease;
  position: fixed;
  z-index: 20;
  background: white;
  margin: auto;
  width: 100vw;
  padding-top: 1.3888888889vw;
  padding-bottom: 1.3888888889vw;
}
@media (min-width: 1601px) {
  header {
    padding-top: 22.2222222222px;
    padding-bottom: 22.2222222222px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  header {
    padding-top: 4.2666666667vw;
    padding-bottom: 4.2666666667vw;
  }
}
header a {
  position: relative;
  display: block;
  height: 3.4027777778vw;
}
@media (min-width: 1601px) {
  header a {
    height: 54.4444444444px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  header a {
    height: 8.5333333333vw;
  }
}
header object, header img {
  background: transparent;
  height: 100%;
  pointer-events: none;
  position: absolute;
  z-index: 19;
}
header object svg, header img svg {
  background: transparent;
}
header .mob-logo {
  transition: opacity 0.2s ease;
  opacity: 0;
  z-index: 20;
}
header .mob-logo.orange {
  transition: opacity 0.2s ease;
  opacity: 1;
  z-index: 19;
}
header .mob-logo.current {
  transition: opacity 0.8s ease;
  opacity: 1;
  z-index: 21;
}
header .mob-logo.orange.current {
  transition: opacity 0.8s ease;
  opacity: 1;
  z-index: 21;
}

header.mobile-nav-open {
  background: rgb(245, 130, 32);
}

#header-push {
  position: relative;
  z-index: 0;
  height: 6.1111111111vw;
}
@media (min-width: 1601px) {
  #header-push {
    height: 97.7777777778px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  #header-push {
    height: 17.0666666667vw;
  }
}

#logo {
  display: block;
  border: 1px solid transparent;
  width: 13.8888888889vw;
}
@media (min-width: 1601px) {
  #logo {
    width: 222.2222222222px;
  }
}
@media (max-width: 767px) and (orientation:portrait) {
  #logo {
    width: 35.7333333333vw;
  }
}

nav {
  position: absolute;
  right: 0;
  top: 0;
  margin-top: 0.7638888889vw;
  margin-bottom: 0.7638888889vw;
  font-size: 1.5277777778vw;
}
@media (min-width: 1601px) {
  nav {
    margin-top: 12.2222222222px;
    margin-bottom: 12.2222222222px;
    font-size: 24.4444444444px;
  }
}
nav .navlink {
  transition: color 0.4s ease;
  display: inline-block;
  margin-left: 2.5vw;
}
@media (min-width: 1601px) {
  nav .navlink {
    margin-left: 40px;
  }
}
nav .navlink.active, nav .navlink.current {
  color: rgb(245, 130, 32);
}

#mobile-nav {
  transition: all 0.4s ease;
  background: rgb(245, 130, 32);
  position: fixed;
  visibility: hidden;
  height: 100vh;
  width: 100vw;
  z-index: 10;
  opacity: 0;
}
#mobile-nav .mob-navlink {
  display: block;
}
@media (orientation:portrait) and (max-width: 767px) {
  #mobile-nav .mob-navlink {
    font-size: 10.6666666667vw;
    line-height: 13.8666666667vw;
    margin-top: 9.0666666667vw;
  }
}
#mobile-nav .mob-navlink.first {
  margin-top: 0;
}

#mobile-nav.active {
  visibility: visible;
  opacity: 1;
}

#hamburger {
  position: absolute;
  top: 0;
  right: 0;
}
@media (orientation:portrait) and (max-width: 767px) {
  #hamburger {
    width: 6.6666666667vw;
    height: 2.6666666667vw;
    margin-top: 2.6666666667vw;
  }
}
#hamburger .top, #hamburger .bottom {
  display: block;
  transition: transform 0.4s ease;
  position: absolute;
  background: black;
  height: 1px;
}
@media (orientation:portrait) and (max-width: 767px) {
  #hamburger .top, #hamburger .bottom {
    width: 6.6666666667vw;
  }
}
#hamburger .top {
  top: 0px;
}
#hamburger .bottom {
  bottom: 0px;
}
#hamburger .overlay {
  position: absolute;
  height: 10.6666666667vw;
  width: 10.6666666667vw;
  top: -4.2666666667vw;
  left: -2.6666666667vw;
}

#hamburger.open .top {
  transform: rotateZ(45deg) translateX(0.5653333333vw) translateY(1.1306666667vw);
}
#hamburger.open .bottom {
  transform: rotateZ(-45deg) translateX(0.5653333333vw) translateY(-1.1306666667vw);
}

.df__map {
  width: 100%;
  height: 29.1666666667vw;
  margin-top: 4.1666666667vw;
}
@media (min-width: 1601px) {
  .df__map {
    height: 466.6666666667px;
    margin-top: 66.6666666667px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .df__map {
    height: 68.2666666667vw;
    margin-top: 8.5333333333vw;
  }
}

.df__map.first {
  margin-top: 0;
}

.office .address {
  margin-bottom: 1.7361111111vw;
}
@media (min-width: 1601px) {
  .office .address {
    margin-bottom: 27.7777777778px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .office .address {
    margin-bottom: 5.8666666667vw;
  }
}

#contact-careers, #contact-social, #contact-internships {
  margin-top: 5.5555555556vw;
}
@media (min-width: 1601px) {
  #contact-careers, #contact-social, #contact-internships {
    margin-top: 88.8888888889px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  #contact-careers, #contact-social, #contact-internships {
    margin-top: 21.3333333333vw;
  }
}

#contact-social {
  margin-bottom: 13.8888888889vw;
}
@media (min-width: 1601px) {
  #contact-social {
    margin-bottom: 222.2222222222px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  #contact-social {
    margin-bottom: 37.3333333333vw;
  }
}

@media (orientation:portrait) and (max-width: 767px) {
  .office .content-title {
    margin-bottom: 4.2666666667vw;
  }
}

.partner-wrapper {
  margin-right: 1.7361111111vw;
  margin-bottom: 2.4305555556vw;
}
@media (min-width: 1601px) {
  .partner-wrapper {
    margin-right: 27.7777777778px;
    margin-bottom: 38.8888888889px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .partner-wrapper {
    margin-right: 0vw;
    margin-bottom: 8.5333333333vw;
  }
}
.partner-wrapper .hover-zoom {
  height: 28.4722222222vw;
  width: 28.4722222222vw;
  margin-bottom: 1.7361111111vw;
}
@media (min-width: 1601px) {
  .partner-wrapper .hover-zoom {
    height: 455.5555555556px;
    width: 455.5555555556px;
    margin-bottom: 27.7777777778px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .partner-wrapper .hover-zoom {
    height: 68.2666666667vw;
    width: 91.4666666667vw;
    margin-bottom: 3.2vw;
  }
}

.partner-wrapper.third {
  margin-right: 0;
}

#featured-associates-title {
  margin-top: 2.7777777778vw;
}
@media (min-width: 1601px) {
  #featured-associates-title {
    margin-top: 44.4444444444px;
  }
}

.filter {
  transition: color 0.4s ease;
  padding-left: 0.6944444444vw;
}
@media (min-width: 1601px) {
  .filter {
    padding-left: 11.1111111111px;
  }
}

.filter:hover, .filter.active {
  color: rgb(245, 130, 32);
}

#about-filters {
  overflow-x: hidden;
  margin-bottom: 9.7222222222vw;
}
@media (min-width: 1601px) {
  #about-filters {
    margin-bottom: 155.5555555556px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  #about-filters {
    margin-bottom: 37.3333333333vw;
  }
}
#about-filters .filters {
  padding-top: 2.0833333333vw;
  padding-bottom: 2.0833333333vw;
  margin-bottom: 1.5277777778vw;
}
@media (min-width: 1601px) {
  #about-filters .filters {
    padding-top: 33.3333333333px;
    padding-bottom: 33.3333333333px;
    margin-bottom: 24.4444444444px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  #about-filters .filters {
    margin-bottom: 0vw;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  #about-filters .filters .filter {
    padding-top: 6.4vw;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  #about-filters .filters .filter.last {
    padding-bottom: 5.3333333333vw;
  }
}
#about-filters .font-light-grey {
  position: absolute;
}
@media (orientation:portrait) and (max-width: 767px) {
  #about-filters .font-light-grey {
    right: 7.2vw;
    bottom: 0vw;
  }
}

.associates-filterable {
  flex-wrap: wrap;
  flex-direction: row !important;
  width: 98.125vw;
}
@media (min-width: 1601px) {
  .associates-filterable {
    width: 1570px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .associates-filterable {
    width: 99.2vw;
  }
}

.associate-block {
  display: inline-block;
  width: 15.8333333333vw;
  margin-right: 8.5416666667vw;
}
@media (min-width: 1601px) {
  .associate-block {
    width: 253.3333333333px;
    margin-right: 136.6666666667px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .associate-block {
    width: 41.0666666667vw;
    margin-right: 7.4666666667vw;
  }
}

#current_filter {
  color: rgb(245, 130, 32);
}

.filter-opener {
  position: relative;
}

#chevron {
  transform-origin: center;
  display: block;
  right: 0;
  top: 0;
  position: absolute;
  transition: transform 0.4s ease;
}
#chevron .overlay {
  cursor: pointer;
  position: absolute;
  height: 8vw;
  width: 91.4666666667vw;
  right: 0;
}
#chevron.down {
  transform: rotateX(180deg);
}

#filter-box {
  transition: height 0.4s ease;
  height: 0;
  overflow: hidden;
}

.partner-name {
  font-size: 1.7361111111vw;
  line-height: 2.0833333333vw;
}
@media (min-width: 1601px) {
  .partner-name {
    font-size: 27.7777777778px;
    line-height: 33.3333333333px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .partner-name {
    font-size: 4.8vw;
    line-height: 6.24vw;
  }
}

.people-title {
  margin-top: 5.5555555556vw;
}
@media (min-width: 1601px) {
  .people-title {
    margin-top: 88.8888888889px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .people-title {
    margin-top: 0vw;
  }
}

#our-people .dual {
  margin-top: 0;
}
@media (orientation:portrait) and (max-width: 767px) {
  #our-people {
    margin-top: 21.3333333333vw;
  }
}

#posts-container .dual {
  margin-top: 0;
}

#logos-block {
  margin-top: 0;
  flex-wrap: wrap;
  width: 92.3611111111vw;
}
@media (max-width: 767px) and (orientation:portrait) {
  #logos-block {
    flex-direction: row;
  }
}
@media (min-width: 1601px) {
  #logos-block {
    width: 1477.7777777778px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  #logos-block {
    width: 99.2vw;
    margin-top: 0vw;
  }
}

.media-logo {
  width: 8.125vw;
  height: 7.2222222222vw;
  margin-right: 3.4027777778vw;
  margin-bottom: 1.6666666667vw;
}
@media (min-width: 1601px) {
  .media-logo {
    width: 130px;
    height: 115.5555555556px;
    margin-right: 54.4444444444px;
    margin-bottom: 26.6666666667px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .media-logo {
    width: 17.3333333333vw;
    height: 15.4666666667vw;
    margin-right: 7.4666666667vw;
    margin-bottom: 4.2666666667vw;
  }
}

.keyline {
  width: 100%;
  border-top: 1px solid #d4d4d4;
}

.award-section {
  display: inline-block;
  margin-right: 3.75vw;
  padding-top: 2.4305555556vw;
  padding-bottom: 2.1527777778vw;
}
@media (min-width: 1601px) {
  .award-section {
    margin-right: 60px;
    padding-top: 38.8888888889px;
    padding-bottom: 34.4444444444px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .award-section {
    margin-right: 0vw;
    padding-top: 5.8666666667vw;
    padding-bottom: 4.2666666667vw;
  }
}

.award {
  position: relative;
}

.award-section.organisation, .award-section.project {
  vertical-align: top;
  width: 36.8055555556vw;
}
@media (min-width: 1601px) {
  .award-section.organisation, .award-section.project {
    width: 588.8888888889px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .award-section.organisation, .award-section.project {
    width: 72vw;
  }
}

@media (max-width: 767px) and (orientation:portrait) {
  .award-section.organisation {
    padding-bottom: 0;
  }
}

.award-section.date {
  width: 10.4166666667vw;
  margin-right: 0;
  position: absolute;
  right: 0;
  vertical-align: top;
  text-align: right;
}
@media (max-width: 767px) and (orientation:portrait) {
  .award-section.date {
    top: 0;
  }
}
@media (min-width: 1601px) {
  .award-section.date {
    width: 166.6666666667px;
  }
}

.award.hidden {
  display: none;
}

@media (max-width: 767px) and (orientation:portrait) {
  .m-bottom-sm-mob {
    margin-bottom: 3.2vw;
  }
}

#awards-block .show-more-toggle {
  margin-top: 4.1666666667vw;
}
@media (min-width: 1601px) {
  #awards-block .show-more-toggle {
    margin-top: 66.6666666667px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  #awards-block .show-more-toggle {
    margin-top: 5.8666666667vw;
  }
}

@media (max-width: 767px) and (orientation:portrait) {
  #awards-title, #shop-title {
    padding-top: 6.6666666667vw;
  }
}

#elements-container .wide {
  display: block;
  line-height: 0;
  width: 88.8888888889vw;
  margin-bottom: 1.6666666667vw;
}
@media (min-width: 1601px) {
  #elements-container .wide {
    width: 1422.2222222222px;
    margin-bottom: 26.6666666667px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  #elements-container .wide {
    width: 91.4666666667vw;
    margin-bottom: 4.2666666667vw;
  }
}
#elements-container .dual {
  line-height: 0;
  margin-top: 0;
  padding-bottom: 0;
  margin-bottom: 1.6666666667vw;
}
@media (min-width: 1601px) {
  #elements-container .dual {
    margin-bottom: 26.6666666667px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  #elements-container .dual {
    width: 91.4666666667vw;
    margin-bottom: 0vw;
  }
}
#elements-container .dual img {
  width: 100%;
}
@media (orientation:portrait) and (max-width: 767px) {
  #elements-container .dual-right, #elements-container .dual-left {
    margin-left: 0vw;
    margin-bottom: 4.2666666667vw;
  }
}

.oh {
  overflow: hidden;
}

#project-filters {
  margin-bottom: 9.7222222222vw;
  width: 90.625vw;
}
@media (min-width: 1601px) {
  #project-filters {
    margin-bottom: 155.5555555556px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  #project-filters {
    margin-bottom: 37.3333333333vw;
  }
}
#project-filters .filters {
  padding-top: 2.0833333333vw;
  padding-bottom: 2.0833333333vw;
  margin-bottom: 1.5277777778vw;
}
@media (min-width: 1601px) {
  #project-filters .filters {
    padding-top: 33.3333333333px;
    padding-bottom: 33.3333333333px;
    margin-bottom: 24.4444444444px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  #project-filters .filters {
    margin-bottom: 0vw;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  #project-filters .filters .filter {
    padding-top: 6.4vw;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  #project-filters .filters .filter.last {
    padding-bottom: 5.3333333333vw;
  }
}
@media (min-width: 1601px) {
  #project-filters {
    width: 1450px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  #project-filters {
    width: 91.4666666667vw;
  }
}
#project-filters .image-link {
  display: inline-block;
  width: 43.6111111111vw;
  margin-right: 1.6666666667vw;
}
@media (min-width: 1601px) {
  #project-filters .image-link {
    width: 697.7777777778px;
    margin-right: 26.6666666667px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  #project-filters .image-link {
    width: 91.4666666667vw;
    margin-right: 0vw;
  }
}
#project-filters .copy-link {
  margin-bottom: 1.8055555556vw;
}
@media (min-width: 1601px) {
  #project-filters .copy-link {
    margin-bottom: 28.8888888889px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  #project-filters .copy-link {
    margin-bottom: 8.5333333333vw;
  }
}
#project-filters .font-light-grey {
  position: absolute;
}
@media (orientation:portrait) and (max-width: 767px) {
  #project-filters .font-light-grey {
    right: 7.2vw;
    bottom: 0vw;
  }
}

#project-links {
  border-bottom: 1px solid #d4d4d4;
}
#project-links .dual {
  margin-top: 0;
}
#project-links .dual-right, #project-links .dual-left {
  padding-top: 1.6666666667vw;
  padding-bottom: 1.6666666667vw;
}
@media (min-width: 1601px) {
  #project-links .dual-right, #project-links .dual-left {
    padding-top: 26.6666666667px;
    padding-bottom: 26.6666666667px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  #project-links .dual-right, #project-links .dual-left {
    padding-top: 4.2666666667vw;
    padding-bottom: 4.2666666667vw;
  }
}

@media (orientation:portrait) and (max-width: 767px) {
  .project-copy-wrapper .font-grey {
    font-size: 4.8vw;
    line-height: 6.96vw;
  }
}

@media (orientation:portrait) and (max-width: 767px) {
  .dual.related_projects {
    padding-top: 4.2666666667vw;
  }
}

#home-slideshow, #home-slideshow-mob {
  width: 100vw;
  position: relative;
  overflow: hidden;
  margin-bottom: 5.5555555556vw;
}
@media (min-width: 1601px) {
  #home-slideshow, #home-slideshow-mob {
    margin-bottom: 88.8888888889px;
  }
}
@media (max-width: 767px) and (orientation:portrait) {
  #home-slideshow, #home-slideshow-mob {
    margin-bottom: 0;
  }
}
#home-slideshow .bg-cover, #home-slideshow-mob .bg-cover {
  height: 100%;
  width: 100%;
}
@media (orientation:landscape) {
  #home-slideshow, #home-slideshow-mob {
    height: calc(100vh - 6.1111111111vw);
  }
}
@media (orientation:landscape) and (min-width: 1601px) {
  #home-slideshow, #home-slideshow-mob {
    height: calc(100vh - 97.7777777778px);
  }
}
@media (orientation:portrait) {
  #home-slideshow, #home-slideshow-mob {
    max-height: calc(100vh - 6.1111111111vw);
    height: 119.46vw;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  #home-slideshow, #home-slideshow-mob {
    max-height: calc(100vh - 17.0666666667vw);
  }
}
#home-slideshow .slide, #home-slideshow-mob .slide {
  height: 100%;
  position: absolute;
}
#home-slideshow .slide img, #home-slideshow-mob .slide img {
  visibility: hidden;
}
.slick-list, .slick-track {
  height: 100%;
}

.slide-title {
  position: absolute;
  z-index: 1;
  line-height: 1em;
  bottom: 1.6666666667vw;
  left: 1.6666666667vw;
}
@media (min-width: 1601px) {
  .slide-title {
    bottom: 26.6666666667px;
    left: 26.6666666667px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .slide-title {
    bottom: 4.2666666667vw;
    left: 4.2666666667vw;
    font-size: 3.7333333333vw;
    line-height: 3.7333333333vw;
  }
}

.slide-counter {
  position: absolute;
  z-index: 1;
  line-height: 1em;
  bottom: 1.6666666667vw;
  right: 1.6666666667vw;
}
@media (min-width: 1601px) {
  .slide-counter {
    bottom: 26.6666666667px;
    right: 26.6666666667px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .slide-counter {
    bottom: 4.2666666667vw;
    right: 4.2666666667vw;
    font-size: 3.7333333333vw;
    line-height: 3.7333333333vw;
  }
}

#links-container {
  margin-bottom: 11.9444444444vw;
}
@media (min-width: 1601px) {
  #links-container {
    margin-bottom: 191.1111111111px;
  }
}
@media (max-width: 767px) and (orientation:portrait) {
  #links-container {
    margin-bottom: 28.8vw;
  }
}
@media (max-width: 767px) and (orientation:portrait) {
  #links-container .dual {
    margin-top: 0vw;
  }
}
@media (max-width: 767px) and (orientation:portrait) {
  #links-container .dual.first {
    margin-top: 4.2666666667vw;
  }
}
@media (max-width: 767px) and (orientation:portrait) {
  #links-container .dual.last {
    margin-top: 0vw;
  }
}
#links-container .copy-link {
  margin-bottom: 0;
}
@media (max-width: 767px) and (orientation:portrait) {
  #links-container .copy-link {
    margin-bottom: 8.5333333333vw;
  }
}

#slideshow-container {
  position: relative;
}

#next-arrow, #prev-arrow {
  position: absolute;
  opacity: 0;
  top: 0;
  height: calc(100% - 5.5555555556vw);
  width: 10%;
  transition: opacity 0.4s ease;
}
@media (max-width: 767px) and (orientation:portrait) {
  #next-arrow, #prev-arrow {
    display: none;
  }
}

#next-arrow:hover {
  opacity: 1;
}

#prev-arrow:hover {
  opacity: 1;
}

#next-arrow {
  right: 0;
}

#prev-arrow {
  left: 0;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  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;
  margin-left: auto;
  margin-right: auto;
}
.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;
}
[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;
}

.slick-arrow.slick-hidden {
  display: none;
}

html {
  height: 100%;
  -webkit-text-size-adjust: none;
}

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  box-sizing: border-box;
  -webkit-text-size-adjust: none;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

::-webkit-scrollbar {
  width: 0px;
}

@media (max-width: 767px) and (orientation:landscape) {
  .hide-on-desktop {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 1440px), null, (min-width: 1441px) and (max-width: 1600px), (min-width: 1601px) {
  .hide-on-desktop {
    display: none !important;
  }
}

@media (orientation:portrait) and (max-width: 767px) {
  .hide-on-mobile {
    display: none !important;
  }
}

a {
  transition: color 0.4s ease;
}

a:not(.mob-navlink):hover {
  color: rgb(245, 130, 32);
}

a:hover .font-grey {
  color: rgb(245, 130, 32);
}

body {
  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow-y: scroll;
  font-size: 1.5277777778vw;
  line-height: 1.9861111111vw;
}
@media (min-width: 1601px) {
  body {
    font-size: 24.4444444444px;
    line-height: 31.7777777778px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  body {
    font-size: 4.8vw;
    line-height: 6.48vw;
  }
}

body.menu-open {
  height: 100vh;
  overflow-y: hidden;
}

main {
  flex: 1 0 auto;
  position: relative;
}

.inner {
  position: relative;
  margin: auto;
  width: 88.8888888889vw;
}
@media (min-width: 1601px) {
  .inner {
    width: 1422.2222222222px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .inner {
    width: 91.4666666667vw;
  }
}

.outer {
  width: 100vw;
}

footer {
  flex-shrink: 0;
  overflow: hidden;
  width: 100%;
  height: 9.7222222222vw;
  padding-top: 2.7777777778vw;
  padding-bottom: 2.7777777778vw;
}
@media (min-width: 1601px) {
  footer {
    height: 155.5555555556px;
    padding-top: 44.4444444444px;
    padding-bottom: 44.4444444444px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  footer {
    height: 32vw;
    padding-top: 0vw;
    margin-top: 10.6666666667vw;
    padding-bottom: 0vw;
    margin-bottom: 10.6666666667vw;
  }
}

#socials {
  position: absolute;
  right: 0;
  font-size: 0;
}
@media (max-width: 767px) and (orientation:portrait) {
  #socials {
    right: auto;
    left: 0;
    margin-top: 4vw;
  }
}
#socials a {
  position: relative;
  display: inline-block;
  height: 4.1666666667vw;
  width: 4.1666666667vw;
  margin-left: 0.6944444444vw;
}
@media (min-width: 1601px) {
  #socials a {
    height: 66.6666666667px;
    width: 66.6666666667px;
    margin-left: 11.1111111111px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  #socials a {
    height: 10.6666666667vw;
    width: 10.6666666667vw;
    margin-right: 2.6666666667vw;
    margin-left: 0vw;
  }
}
#socials a svg {
  width: 100%;
  height: 100%;
}
#socials a svg circle:first-of-type {
  fill: black;
  transition: fill 0.4s ease;
}
#socials a.active svg circle:first-of-type {
  fill: rgb(245, 130, 32);
}
@media (max-width: 767px) and (orientation:portrait) {
  #socials a.active svg circle:first-of-type {
    fill: black;
  }
}

@media (max-width: 767px) and (orientation:portrait) {
  .vertical-align.ignore-va-mobile {
    top: auto;
    transform: none;
  }
}

.dual {
  display: flex;
  flex-direction: row;
  margin-top: 1.3888888889vw;
}
@media (min-width: 1601px) {
  .dual {
    margin-top: 22.2222222222px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .dual {
    margin-top: 6.4vw;
  }
}
@media (max-width: 767px) and (orientation:portrait) {
  .dual {
    flex-direction: column;
  }
}

.dual-left, .dual-right {
  width: 43.6111111111vw;
}
@media (min-width: 1601px) {
  .dual-left, .dual-right {
    width: 697.7777777778px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .dual-left, .dual-right {
    width: 91.4666666667vw;
  }
}
.dual-left img, .dual-right img {
  width: 100%;
}

.dual-left.padded, .dual-right.padded {
  padding-right: 1.3888888889vw;
}
@media (min-width: 1601px) {
  .dual-left.padded, .dual-right.padded {
    padding-right: 22.2222222222px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .dual-left.padded, .dual-right.padded {
    padding-right: 0vw;
  }
}

.dual-right {
  margin-left: 1.6666666667vw;
}
@media (min-width: 1601px) {
  .dual-right {
    margin-left: 26.6666666667px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .dual-right {
    margin-left: 0vw;
  }
}

.page-title {
  font-size: 2.7777777778vw;
  line-height: 3.6111111111vw;
}
@media (min-width: 1601px) {
  .page-title {
    font-size: 44.4444444444px;
    line-height: 57.7777777778px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .page-title {
    font-size: 6.4vw;
    line-height: 8.32vw;
  }
}

.margins {
  margin-top: 2.7777777778vw;
  margin-bottom: 2.7777777778vw;
}
@media (min-width: 1601px) {
  .margins {
    margin-top: 44.4444444444px;
    margin-bottom: 44.4444444444px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .margins {
    margin-top: 4.2666666667vw;
    margin-bottom: 3.2vw;
  }
}

.content-title {
  font-size: 1.7361111111vw;
  line-height: 2.0833333333vw;
}
@media (min-width: 1601px) {
  .content-title {
    font-size: 27.7777777778px;
    line-height: 33.3333333333px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .content-title {
    font-size: 5.8666666667vw;
    line-height: 6.7466666667vw;
  }
}

.banner-spread {
  position: relative;
  opacity: 0.5;
  height: calc(100vh - 6.1111111111vw);
  overflow: hidden;
}
@media (min-width: 1601px) {
  .banner-spread {
    height: calc(100vh - 97.7777777778px);
  }
}
@media (orientation:portrait) {
  .banner-spread {
    height: 119.4666666667vw;
  }
}

.m-bottom-lg {
  margin-bottom: 15.2777777778vw;
}
@media (min-width: 1601px) {
  .m-bottom-lg {
    margin-bottom: 244.4444444444px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .m-bottom-lg {
    margin-bottom: 42.6666666667vw;
  }
}

.m-bottom-md {
  margin-bottom: 5.5555555556vw;
}
@media (min-width: 1601px) {
  .m-bottom-md {
    margin-bottom: 88.8888888889px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .m-bottom-md {
    margin-bottom: 10.6666666667vw;
  }
}

.m-bottom-sm {
  margin-bottom: 2.7777777778vw;
}
@media (min-width: 1601px) {
  .m-bottom-sm {
    margin-bottom: 44.4444444444px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .m-bottom-sm {
    margin-bottom: 5.3333333333vw;
  }
}

.spacer-sm {
  height: 2.7777777778vw;
}
@media (min-width: 1601px) {
  .spacer-sm {
    height: 44.4444444444px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .spacer-sm {
    height: 5.3333333333vw;
  }
}

.m-bottom-xs {
  margin-bottom: 1.3888888889vw;
}
@media (min-width: 1601px) {
  .m-bottom-xs {
    margin-bottom: 22.2222222222px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .m-bottom-xs {
    margin-bottom: 3.2vw;
  }
}

.spacer-xs {
  height: 1.3888888889vw;
}
@media (min-width: 1601px) {
  .spacer-xs {
    height: 22.2222222222px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .spacer-xs {
    height: 3.2vw;
  }
}

@media (max-width: 767px) and (orientation:portrait) {
  .m-bottom-sm-mob {
    margin-bottom: 3.2vw;
  }
}

.hover-zoom {
  height: 100%;
  width: 100%;
  overflow: hidden;
}
.hover-zoom .bg-cover, .hover-zoom img {
  transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out !important;
  -ms-transform: scale(1);
  -moz-transform: scale(1);
  -webkit-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1.01);
}

.hover-zoom:hover .bg-cover img, .hover-zoom:hover .link-image img {
  -ms-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  -o-transform: scale(1.1);
  transform: scale(1.1);
}

.read-more {
  height: 0;
  overflow: hidden;
  transition: height 0.4s ease-in-out;
}

.read-more-toggle, .show-more-toggle {
  display: inline-block;
  overflow: hidden;
  transition: height 0.4s ease-in-out, color 0.4s ease-in-out;
}

.read-more-toggle:hover, .show-more-toggle:hover {
  color: rgb(245, 130, 32);
}
@media (max-width: 767px) and (orientation:portrait) {
  .read-more-toggle:hover, .show-more-toggle:hover {
    color: black;
  }
}

.read-more-toggle.closed {
  height: 0;
}

.image-link img, .associates-filterable img, .award-section img {
  display: block;
  line-height: 0;
  height: 100%;
  width: 100%;
}
@media (max-width: 767px) and (orientation:portrait) {
  .image-link .font-grey, .image-link .subtitle, .associates-filterable .font-grey, .associates-filterable .subtitle, .award-section .font-grey, .award-section .subtitle {
    font-size: 3.7333333333vw;
    line-height: 4.48vw;
  }
}
.image-link .hover-zoom, .associates-filterable .hover-zoom, .award-section .hover-zoom {
  margin-bottom: 1.6666666667vw;
}
@media (min-width: 1601px) {
  .image-link .hover-zoom, .associates-filterable .hover-zoom, .award-section .hover-zoom {
    margin-bottom: 26.6666666667px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .image-link .hover-zoom, .associates-filterable .hover-zoom, .award-section .hover-zoom {
    margin-bottom: 3.2vw;
  }
}
.image-link .content-title, .associates-filterable .content-title, .award-section .content-title {
  margin-bottom: 0.4166666667vw;
}
@media (min-width: 1601px) {
  .image-link .content-title, .associates-filterable .content-title, .award-section .content-title {
    margin-bottom: 6.6666666667px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .image-link .content-title, .associates-filterable .content-title, .award-section .content-title {
    margin-bottom: 0vw;
    font-size: 4.8vw;
  }
}
.image-link .copy-link, .associates-filterable .copy-link, .award-section .copy-link {
  display: block;
  min-height: 6.25vw;
  margin-bottom: 1.8055555556vw;
}
@media (min-width: 1601px) {
  .image-link .copy-link, .associates-filterable .copy-link, .award-section .copy-link {
    min-height: 100px;
    margin-bottom: 28.8888888889px;
  }
}
@media (orientation:portrait) and (max-width: 767px) {
  .image-link .copy-link, .associates-filterable .copy-link, .award-section .copy-link {
    min-height: 0vw;
    margin-bottom: 8.5333333333vw;
  }
}

.hover-zoom a:not(.copy-link) {
  height: 100%;
  width: 100%;
}

.image-link.hidden {
  display: none;
}

.image-link:hover .hover-zoom .bg-cover, .partner-wrapper:hover .hover-zoom .bg-cover {
  -ms-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  -o-transform: scale(1.1);
  transform: scale(1.1);
}
@media (max-width: 767px) and (orientation:portrait) {
  .image-link:hover .hover-zoom, .partner-wrapper:hover .hover-zoom {
    transform: none;
  }
}
.image-link:hover a, .partner-wrapper:hover a {
  color: rgb(245, 130, 32);
}
.image-link:hover a .font-grey, .partner-wrapper:hover a .font-grey {
  color: rgb(245, 130, 32);
}

.expander-container {
  overflow: hidden;
  transition: height 0.4s ease;
}

.right-arrow {
  font-size: 0.8em;
  padding-left: 0.2em;
}

.snappy {
  transition: all 0s ease !important;
}

a.white:hover {
  color: white;
}

.sm-icon {
  height: 100%;
  width: 100%;
  position: absolute;
  transition: visibility 0s ease 400ms, opacity 400ms ease;
}

.sm-link {
  position: relative;
}
.sm-link .sm-icon.black {
  opacity: 1;
}
.sm-link .sm-icon.orange {
  opacity: 0;
}

.sm-link:hover .sm-icon.black:hover {
  opacity: 0;
}
.sm-link:hover .sm-icon.orange:hover {
  opacity: 1;
}

/*# sourceMappingURL=desktop.css.map */
