/*!**********************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./scss/style.scss ***!
  \**********************************************************************************************************/
@charset "UTF-8";
/*
	Theme Name: Multistudio* 2022
	Theme URI: http://builtbycivilization.com
	Description: Custom WP built by Civilization
	Version: 1
	Author: Civilization
	Author URI: http://builtbycivilization.com
*/
*, *:after, *:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video, input, select {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
}

article, aside, figure, footer, header, hgroup, nav, section {
  display: block;
}

html {
  overflow-y: scroll;
}

ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help;
}

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

th {
  font-weight: bold;
  vertical-align: bottom;
}

td {
  font-weight: normal;
  vertical-align: top;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

pre {
  white-space: pre;
  /* CSS2 */
  white-space: pre-wrap;
  /* CSS 2.1 */
  white-space: pre-line;
  /* CSS 3 (and 2.1 as well, actually) */
  word-wrap: break-word;
  /* IE */
}

input[type=radio] {
  vertical-align: text-bottom;
}

input[type=checkbox] {
  vertical-align: bottom;
  *vertical-align: baseline;
}

.ie6 input {
  vertical-align: text-bottom;
}

select, input, textarea {
  font: 99% sans-serif;
}

table {
  font-size: inherit;
  font: 100%;
}

a:hover, :active, :focus {
  outline: none;
}

small {
  font-size: 85%;
}

strong, th {
  font-weight: bold;
}

td, td img {
  vertical-align: top;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

pre, code, kbd, samp {
  font-family: monospace, sans-serif;
}

.clickable, label,
input[type=button],
input[type=submit],
button {
  cursor: pointer;
}

button, input, select, textarea {
  margin: 0;
}

button {
  width: auto;
  overflow: visible;
  border: 0;
  background: transparent;
}

.ie7 img {
  -ms-interpolation-mode: bicubic;
}

html {
  --bgColor: #ffffff;
  --bgRGB: 255, 255, 255;
  --textColor: #000000;
  --textRGB: 0, 0, 0;
  --highlight: #92402A;
  --inverted-highlight: #D9C567;
  background-color: var(--bgColor);
  color: var(--textColor);
}
@media (prefers-color-scheme: dark) {
  html {
    --bgColor: #000000;
    --bgRGB: 0, 0, 0;
    --textColor: #ffffff;
    --textRGB: 255, 255, 255;
    --highlight: #D9C567;
    --inverted-highlight: #92402A;
  }
  html .invert-on-dark {
    filter: invert(100);
  }
}
html.inverted {
  --bgColor: #000000;
  --bgRGB: 0, 0, 0;
  --textColor: #ffffff;
  --textRGB: 255, 255, 255;
  --highlight: #D9C567;
  --inverted-highlight: #92402A;
}
html.inverted .invert-on-dark {
  filter: invert(100);
}
@media (prefers-color-scheme: dark) {
  html.inverted {
    --bgColor: #ffffff;
    --bgRGB: 255, 255, 255;
    --textColor: #000000;
    --textRGB: 0, 0, 0;
    --highlight: #92402A;
    --inverted-highlight: #D9C567;
  }
  html.inverted .invert-on-dark {
    filter: invert(0);
  }
}

.invert {
  background-color: var(--textColor);
  color: var(--bgColor);
}
.invert svg:not([class]) {
  fill: var(--bgColor);
}
.invert input[type=submit],
.invert .button,
.invert .admin-edit a,
.admin-edit .invert a {
  background-color: var(--textColor);
  color: var(--bgColor);
  border: 2px solid var(--bgColor);
}
.invert:not(.modal, .project-overview) .button:hover, .invert:not(.modal, .project-overview) .admin-edit a:hover, .admin-edit .invert:not(.modal, .project-overview) a:hover, .invert:not(.modal, .project-overview) .button:focus-within, .invert:not(.modal, .project-overview) .admin-edit a:focus-within, .admin-edit .invert:not(.modal, .project-overview) a:focus-within, .invert:not(.modal, .project-overview) .button:focus:not(:active), .invert:not(.modal, .project-overview) .admin-edit a:focus:not(:active), .admin-edit .invert:not(.modal, .project-overview) a:focus:not(:active) {
  background-color: var(--inverted-highlight);
  border-color: var(--inverted-highlight);
}
.invert.modal .button:hover, .invert.modal .admin-edit a:hover, .admin-edit .invert.modal a:hover, .invert.modal .button:focus-within, .invert.modal .admin-edit a:focus-within, .admin-edit .invert.modal a:focus-within, .invert.modal .button:focus:not(:active), .invert.modal .admin-edit a:focus:not(:active), .admin-edit .invert.modal a:focus:not(:active), .invert.project-overview .button:hover, .invert.project-overview .admin-edit a:hover, .admin-edit .invert.project-overview a:hover, .invert.project-overview .button:focus-within, .invert.project-overview .admin-edit a:focus-within, .admin-edit .invert.project-overview a:focus-within, .invert.project-overview .button:focus:not(:active), .invert.project-overview .admin-edit a:focus:not(:active), .admin-edit .invert.project-overview a:focus:not(:active) {
  color: var(--textColor);
  background-color: var(--inverted-highlight);
  border-color: var(--inverted-highlight);
}
.invert.modal *::selection, .invert.project-overview *::selection {
  text-shadow: lightgray;
  color: var(--bgColor);
  background-color: var(--inverted-highlight);
}
.invert a:not(.button):hover {
  color: var(--inverted-highlight);
}

.object-cover video,
.object-cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;";
}

.object-contain video,
.object-contain img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  font-family: "object-fit: contain;";
}

.split .split-text ul:not(.no-bullets):not(.social-media), .wrap.text-wrap ul:not(.no-bullets):not(.social-media) {
  list-style: disc;
}
.split .split-text ul:not(.no-bullets):not(.social-media), .wrap.text-wrap ul:not(.no-bullets):not(.social-media), .split .split-text ol, .wrap.text-wrap ol {
  padding-left: 2rem;
}
.split .split-text ul:not(.no-bullets):not(.social-media) li, .wrap.text-wrap ul:not(.no-bullets):not(.social-media) li, .split .split-text ol li, .wrap.text-wrap ol li {
  margin-top: 4px;
}
.split .split-text blockquote, .wrap.text-wrap blockquote {
  padding-top: 2.4rem !important;
  padding-left: 2.4rem !important;
  padding-bottom: 2.4rem !important;
}

a:not(.button) {
  text-decoration: underline;
  text-decoration-thickness: 0.1em;
  text-underline-offset: 0.05em !important;
}

.slide .full .full-image + .full-text, .split .split-image .wrap {
  color: var(--bgColor);
  background-color: rgba(var(--textRGB), 0.6);
  text-shadow: 0 0 1em rgba(var(--textRGB), 0.25);
}

@font-face {
  font-family: "Neuzeit Grotesk";
  src: url(b115218dfca87e96d9d1.woff2) format("woff2"), url(915f89af8ffd0ff71935.woff) format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Neuzeit Grotesk";
  src: url(f35aae5baecc31f8c8aa.woff2) format("woff2"), url(b14bf7dbb0ab34be8bdc.woff) format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "GoodPro-News";
  src: url(0746e68c02cedaf98247.woff2) format("woff2"), url(5f9d9ef956df413b1240.woff) format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "GoodPro-NarrMedium";
  src: url(265ad08144c6aa5c07eb.woff2) format("woff2"), url(f8dcd0f1650a4d70ece8.woff) format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
.main-menu button, .main-menu a, input[type=submit],
.button,
.admin-edit a, input, textarea, button, select, .h5, h1, h2, h3, h5 {
  font-family: "Neuzeit Grotesk", Helvetica, sans-serif;
  font-style: normal;
  line-height: 1.18;
}

blockquote h2, blockquote h3, blockquote p, blockquote, body {
  font-family: "GoodPro-News", Helvetica, sans-serif;
  font-weight: normal;
}

small {
  font-family: "GoodPro-NarrMedium", "Arial Narrow", Helvetica, sans-serif;
  font-weight: 500;
}

.current-filters label,
.filter-group button, .sorting-group button {
  font-family: "Neuzeit Grotesk", Helvetica, sans-serif;
  font-weight: normal;
}

cite span {
  font-weight: normal;
}

#site-footer .footer-menu, dl.accordion dt button:after, .main-menu button, .main-menu a, .current-filters label,
.filter-group button.is-checked, .sorting-group button.is-checked, .services-wrap, strong, b, cite, .slide .full .full-image + .full-text, .split .split-image .wrap {
  font-weight: bold;
}

em, i {
  font-style: italic;
}

:-webkit-autofill {
  -webkit-text-fill-color: var(--textColor);
  -webkit-box-shadow: 0 0 0px 1000px var(--bgColor) inset;
}

:-moz-autofill {
  /* Firefox 18- */
  -moz-text-fill-color: var(--textColor);
  -moz-box-shadow: 0 0 0px 1000px var(--bgColor) inset;
}

::-moz-autofill {
  /* Firefox 19+ */
  -moz-text-fill-color: var(--textColor);
  -moz-box-shadow: 0 0 0px 1000px var(--bgColor) inset;
}

::-webkit-input-placeholder {
  color: var(--textColor);
  opacity: 0.5;
}

:-moz-placeholder {
  /* Firefox 18- */
  color: var(--textColor);
  opacity: 0.5;
}

::-moz-placeholder {
  /* Firefox 19+ */
  color: var(--textColor);
  opacity: 0.5;
}

:-ms-input-placeholder {
  color: var(--textColor);
  overflow: hidden;
}

::selection {
  color: var(--bgColor);
  background-color: var(--textColor);
  text-shadow: none;
}

::-moz-selection {
  color: var(--bgColor);
  background-color: var(--textColor);
  text-shadow: none;
}

html {
  width: 100%;
  min-height: 100%;
  /* mobile viewport bug fix */
  min-height: -webkit-fill-available;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: none;
  -moz-osx-font-smoothing: grayscale;
  /* fixes FF over-bolding */
  -ms-overflow-style: -ms-autohiding-scrollbar;
  font-size: 62.5%;
  /* 10px reset */
  position: relative;
  -webkit-overflow-scrolling: touch;
}

body {
  width: 100%;
  min-height: 100%;
  font-size: 2rem;
  line-height: 1.3;
  font-smooth: always;
  -webkit-font-kerning: none;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  min-height: 100vh;
  /* mobile viewport bug fix */
  min-height: -webkit-fill-available;
}
body:not(.modal-open) {
  -webkit-justify-content: flex-end;
  /* Safari 7.0+ */
  justify-content: flex-end;
}
body.modal-open {
  height: 100%;
  height: 100vh;
  overflow-y: hidden;
}

.h5.caption-font {
  font-size: 80%;
}

h2, h3, h5 {
  font-weight: bold;
}

h1 {
  font-weight: 600;
}

h1 {
  font-size: 8rem;
}
h1.large {
  text-transform: uppercase;
}
@media screen and (max-width: 699px) {
  h1 {
    font-size: 5rem;
  }
}

h2, h1.h2 {
  font-size: 5rem;
}
h2.large, h1.h2.large {
  text-transform: uppercase;
}
h2.emulate-h1, h1.h2.emulate-h1 {
  font-size: 8rem;
}
@media screen and (max-width: 699px) {
  h2.emulate-h1, h1.h2.emulate-h1 {
    font-size: 6rem;
  }
}
@media screen and (max-width: 699px) {
  h2, h1.h2 {
    font-size: 3.75rem;
  }
}

h3, h3 > p {
  font-size: 4rem;
}
@media screen and (max-width: 699px) {
  h3, h3 > p {
    font-size: 3rem;
  }
}

h4, h4 > p {
  font-size: 3rem;
}
@media screen and (max-width: 699px) {
  h4, h4 > p {
    font-size: 2.5rem;
  }
}

h5 {
  font-size: 2rem;
}

h6 {
  font-size: 1.8rem;
  display: inline-block;
}
h6.uppercase, h6 .uppercase {
  text-transform: uppercase;
}

small {
  opacity: 80%;
  font-size: 72%;
}

q {
  display: block;
  font-size: 122.2222222222%;
}
.align-center q.quote::before {
  margin-left: 0;
}

@media screen and (min-width: 1024px) {
  div.wrap.bio-quote-wrap {
    padding-top: 2.4rem !important;
  }
}

.bio-quote {
  position: relative;
}
.bio-quote.quote::before {
  top: 1.8rem;
  left: -1.1rem;
}
@media screen and (min-width: 700px) {
  .bio-quote.quote::before {
    top: 2.5rem;
    left: -1.7rem;
  }
}
.bio-quote.quote::after {
  -webkit-transform: translate(2px, 19px);
  -moz-transform: translate(2px, 19px);
  -ms-transform: translate(2px, 19px);
  -o-transform: translate(2px, 19px);
  transform: translate(2px, 19px);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
  /* FF Hack for sharper renders */
}

.quote {
  quotes: "“" "”" "‘" "’";
}
.quote::before, .quote::after {
  font-size: 150%;
  display: inline-block;
  position: absolute;
  margin-left: 0;
  line-height: 0;
}
.quote::before {
  content: open-quote;
  left: -1.8rem;
  top: 6rem;
}
.quote::after {
  -webkit-transform: translateY(22px);
  -moz-transform: translateY(22px);
  -ms-transform: translateY(22px);
  -o-transform: translateY(22px);
  transform: translateY(22px);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
  /* FF Hack for sharper renders */
  content: close-quote;
}
.quote + cite {
  display: block;
  font-style: normal;
  margin-top: 1em;
}
@media screen and (min-width: 768px) {
  .quote::before {
    font-size: 250%;
    top: 7rem;
    left: -2.8rem;
  }
  .quote::after {
    font-size: 250%;
    -webkit-transform: translateY(28px);
    -moz-transform: translateY(28px);
    -ms-transform: translateY(28px);
    -o-transform: translateY(28px);
    transform: translateY(28px);
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    backface-visibility: hidden;
    /* FF Hack for sharper renders */
  }
}

blockquote p {
  font-size: 1.6rem;
}

cite {
  font-style: normal;
  font-size: 77.7777777778%;
}
cite span::before {
  content: "— ";
}

hr {
  border-top: 2px solid var(--textColor);
  max-width: calc(100vw - 11.2rem);
  margin: 0 auto;
}

p + h2,
ul + h2,
ol + h2,
h3 + h2,
h4 + h2,
p + h3,
ul + h3,
ol + h3,
h1 + hr,
h1 + form,
p + figure,
ul + figure,
h3 + figure,
h3 + dl,
figure + p,
figure + ul,
figure + h3,
figure + h4,
h2 + hr,
h2 + p,
h2 + h3,
h3 + ul,
h3 + q,
p + h4,
ul + h4,
ol + h4,
blockquote + h3,
hr + h3 {
  margin-top: 1.5em;
}

.wp-caption + hr,
.wp-caption + ul,
.wp-caption + ol,
.wp-caption + p,
hr + .wp-caption,
ul + .wp-caption,
p + .wp-caption,
ol + .wp-caption,
.wp-caption-text,
h1 + p,
h3 + hr + p,
h3 + p,
h3 + h4,
h3 + ol,
ul + hr,
ul + ul,
ul + hr + ul,
ul + p,
ul + hr + p,
hr + p,
p + ul:not(.links),
ol + p,
p + ol,
h5 + ul,
p + p {
  margin-top: 1em;
}

h4 + ul,
h4 + p,
h5 + p,
h1 + h4,
h2 + h4,
h2 + ul,
q + h5,
svg + h2 {
  margin-top: 0.5em;
}

small + h1 {
  margin-top: 1.6rem;
}

input, textarea, button, select {
  -webkit-appearance: none;
  -moz-appearance: none;
}

input[type=text],
input[type=number],
input[type=password],
input[type=email],
input[type=tel],
textarea,
select {
  display: block;
  width: 100%;
  background-color: transparent;
  color: inherit;
  border: 1px solid;
  font-size: inherit;
  line-height: 3.2rem;
  padding: 0 1.6rem;
  margin: 0 auto;
  position: relative;
  border-radius: 0;
  z-index: 1;
}
@-moz-document url-prefix() {
  input[type=text],
input[type=number],
input[type=password],
input[type=email],
input[type=tel],
textarea,
select {
    line-height: 2.8 !important;
  }
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  input[type=text],
input[type=number],
input[type=password],
input[type=email],
input[type=tel],
textarea,
select {
    height: 3.2rem;
  }
}

textarea {
  line-height: 1.45;
  padding: 1rem;
  height: 12rem;
}

input[type=radio],
input[type=checkbox] {
  background: transparent;
  -webkit-appearance: none;
  width: 1.6rem !important;
  height: 1.6rem;
  vertical-align: middle;
  margin-right: 1rem;
  margin-top: -2px;
  color: inherit;
  border: 1px solid;
  font-size: 2.4rem;
  line-height: 1.25;
  position: relative;
  cursor: pointer;
}
input[type=radio]:hover, input[type=radio]:focus-within, input[type=radio]:focus:not(:active),
input[type=checkbox]:hover,
input[type=checkbox]:focus-within,
input[type=checkbox]:focus:not(:active) {
  background-color: #999;
}
input[type=radio]:checked::after,
input[type=checkbox]:checked::after {
  content: "×";
  color: var(--textColor);
  font-size: 1.6rem;
  position: absolute;
  top: 50%;
  left: 50%;
  -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%);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
  /* FF Hack for sharper renders */
}
.dark-bg input[type=radio]:checked::after,
.dark-bg input[type=checkbox]:checked::after {
  color: var(--bgColor);
}

input[type=radio] {
  border-radius: 50%;
}

select {
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAUCAMAAACzvE1FAAAADFBMVEUzMzMzMzMzMzMzMzMKAG/3AAAAA3RSTlMAf4C/aSLHAAAAPElEQVR42q3NMQ4AIAgEQTn//2cLdRKppSGzBYwzVXvznNWs8C58CiussPJj8h6NwgorrKRdTvuV9v16Afn0AYFOB7aYAAAAAElFTkSuQmCC) no-repeat right 4px center;
  background-size: auto 12px;
  padding-right: 24px;
}

button, .button, .admin-edit a {
  font-family: "Neuzeit Grotesk", Helvetica, sans-serif;
  font-weight: bold;
  font-style: normal;
  font-size: inherit;
  color: inherit;
}
button:not(.button, .post-edit-link):hover, button:not(.button, .post-edit-link):focus-within, button:not(.button, .post-edit-link):focus:not(:active), .button:not(.button, .post-edit-link):hover, .admin-edit a:not(.button, .post-edit-link):hover, .button:not(.button, .post-edit-link):focus-within, .admin-edit a:not(.button, .post-edit-link):focus-within, .button:not(.button, .post-edit-link):focus:not(:active), .admin-edit a:not(.button, .post-edit-link):focus:not(:active) {
  color: var(--highlight);
}

button::-moz-focus-inner {
  border: 0;
}

input[type=submit],
.button,
.admin-edit a {
  letter-spacing: normal;
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  *display: inline;
  color: inherit;
  cursor: pointer;
  padding: 0.96rem 1.6rem 0.48rem;
  font-size: 72.2222222222%;
  border-radius: 0;
  text-transform: uppercase;
  text-decoration: none;
  background-color: var(--bgColor);
  color: var(--textColor);
  border: 1px solid var(--textColor);
}
input[type=submit]:hover, input[type=submit]:focus-within, input[type=submit]:focus:not(:active),
.button:hover,
.admin-edit a:hover,
.button:focus-within,
.admin-edit a:focus-within,
.button:focus:not(:active),
.admin-edit a:focus:not(:active) {
  background-color: var(--highlight);
  border-color: var(--highlight);
  color: var(--bgColor);
}

a {
  color: inherit;
}
a:not(.button):hover, a:not(.button):focus-within, a:not(.button):focus:not(:active) {
  color: var(--highlight);
}

section,
footer {
  position: relative;
  width: 100%;
}

video,
iframe {
  width: 100%;
}

svg,
img {
  display: block;
  max-width: 100%;
}

img {
  height: auto;
}

svg {
  overflow: visible;
}
svg:not([class]) {
  fill: var(--textColor);
}

.display-block {
  display: block;
}

.display-inline-block {
  display: inline-block;
}

.high-line-height {
  line-height: 1.45;
}

.normal-line-height {
  line-height: 1;
}

.less-line-height {
  line-height: 0.8;
}

.flex {
  display: flex;
}

.flex-button-row {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}

.flex-align-top {
  align-items: flex-start;
}

.flex-space-between {
  justify-content: space-between;
}

.flex-md-plus {
  display: inherit;
}
@media only screen and (min-width: 700px) {
  .flex-md-plus {
    display: flex;
  }
}

.invisible {
  display: none !important;
}
@media screen and (max-width: 699px) {
  .invisible.visible-xs {
    display: inherit !important;
  }
}
@media screen and (min-width: 700px) and (max-width: 1023px) {
  .invisible.visible-sm {
    display: inherit !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1399px) {
  .invisible.visible-md {
    display: inherit !important;
  }
}
@media screen and (min-width: 1400px) and (max-width: 1919px) {
  .invisible.visible-lg {
    display: inherit !important;
  }
}
@media screen and (min-width: 1920px) {
  .invisible.visible-xl {
    display: inherit !important;
  }
}

.discover-post-content strong {
  font-family: "GoodPro-NarrMedium", "Arial Narrow", Helvetica, sans-serif;
}

.modal {
  z-index: 7;
}

menu.main-menu {
  z-index: 5;
}

header.main-header {
  z-index: 4;
}
@media only screen and (max-width: 699px) {
  header.main-header {
    z-index: 6;
  }
}

.nav-wrap {
  z-index: 3;
}

footer {
  z-index: 2;
}

.content-wrap {
  z-index: 1;
}

.primary-teasers .intro-text-container {
  z-index: 2;
}

.wide-slide-grid-wrapper .arrow-wrapper {
  z-index: 1;
}

.filter-container {
  z-index: 2;
}

.hero .play-toggle {
  z-index: 2;
}

.hero .overlay-text {
  z-index: 10;
}

#search-overlay {
  z-index: 10;
}

.wrap {
  display: block;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 4.8rem 3.2rem;
  max-width: 1920px;
}
@media only screen and (min-width: 769px) {
  .wrap {
    padding: 6.4rem;
  }
}
@media only screen and (min-width: 1024px) {
  .wrap {
    padding: 9.6rem;
  }
}
.wrap.text-wrap {
  max-width: 50em;
}
.wrap.narrow {
  max-width: 44em;
}
.wrap.wide {
  max-width: 62em;
}
.wrap.wider {
  max-width: 88em;
}
.wrap.intro-wrap {
  margin-left: 0;
}
@media screen and (min-width: 1920px) {
  .wrap.intro-wrap {
    margin-left: auto;
    max-width: 1920px !important;
  }
}
.wrap.full-width {
  padding-left: 0;
  padding-right: 0;
}
.wrap.lite {
  padding-top: 3.2rem;
  padding-bottom: 3.2rem;
}
@media only screen and (min-width: 1024px) {
  .wrap.lite {
    padding-top: 4.8rem;
    padding-bottom: 4.8rem;
  }
}
.wrap.slim-top {
  padding-top: 2.4rem !important;
}
@media screen and (min-width: 700px) {
  .wrap.slim-top-sm {
    padding-top: 2.4rem !important;
  }
}
@media screen and (min-width: 1024px) {
  .wrap.slim-top-md {
    padding-top: 2.4rem !important;
  }
}
@media screen and (min-width: 1400px) {
  .wrap.slim-top-lg {
    padding-top: 2.4rem !important;
  }
}
.wrap.slim-left {
  padding-left: 2.4rem !important;
}
@media screen and (min-width: 700px) {
  .wrap.slim-left-sm {
    padding-left: 2.4rem !important;
  }
}
@media screen and (min-width: 1024px) {
  .wrap.slim-left-md {
    padding-left: 2.4rem !important;
  }
}
@media screen and (min-width: 1400px) {
  .wrap.slim-left-lg {
    padding-left: 2.4rem !important;
  }
}
.wrap.slim-bottom {
  padding-bottom: 2.4rem !important;
}
@media screen and (min-width: 700px) {
  .wrap.slim-bottom-sm {
    padding-bottom: 2.4rem !important;
  }
}
@media screen and (min-width: 1024px) {
  .wrap.slim-bottom-md {
    padding-bottom: 2.4rem !important;
  }
}
@media screen and (min-width: 1400px) {
  .wrap.slim-bottom-lg {
    padding-bottom: 2.4rem !important;
  }
}
.wrap.slim-right {
  padding-right: 2.4rem !important;
}
@media screen and (min-width: 700px) {
  .wrap.slim-right-sm {
    padding-right: 2.4rem !important;
  }
}
@media screen and (min-width: 1024px) {
  .wrap.slim-right-md {
    padding-right: 2.4rem !important;
  }
}
@media screen and (min-width: 1400px) {
  .wrap.slim-right-lg {
    padding-right: 2.4rem !important;
  }
}
.wrap.lite-top {
  padding-top: 4.8rem !important;
}
.wrap.lite-right {
  padding-right: 4.8rem !important;
}
@media screen and (min-width: 700px) {
  .wrap.lite-top-sm {
    padding-top: 4.8rem !important;
  }
}
@media screen and (min-width: 1024px) {
  .wrap.lite-top-md {
    padding-top: 4.8rem !important;
  }
}
@media screen and (min-width: 1400px) {
  .wrap.lite-top-lg {
    padding-top: 4.8rem !important;
  }
}
@media screen and (min-width: 700px) {
  .wrap.lite-right-sm {
    padding-right: 4.8rem !important;
  }
}
@media screen and (min-width: 1024px) {
  .wrap.lite-right-md {
    padding-right: 4.8rem !important;
  }
}
@media screen and (min-width: 1400px) {
  .wrap.lite-right-lg {
    padding-right: 4.8rem !important;
  }
}
.wrap.lite-bottom {
  padding-bottom: 4.8rem !important;
}
@media screen and (min-width: 700px) {
  .wrap.lite-bottom-sm {
    padding-bottom: 4.8rem !important;
  }
}
@media screen and (min-width: 1024px) {
  .wrap.lite-bottom-md {
    padding-bottom: 4.8rem !important;
  }
}
@media screen and (min-width: 1400px) {
  .wrap.lite-bottom-lg {
    padding-bottom: 4.8rem !important;
  }
}
.wrap.lite-left {
  padding-left: 4.8rem !important;
}
@media screen and (min-width: 700px) {
  .wrap.lite-left-sm {
    padding-left: 4.8rem !important;
  }
}
@media screen and (min-width: 1024px) {
  .wrap.lite-left-md {
    padding-left: 4.8rem !important;
  }
}
@media screen and (min-width: 1400px) {
  .wrap.lite-left-lg {
    padding-left: 4.8rem !important;
  }
}
.wrap.full-top {
  padding-top: 9.6rem !important;
}
@media screen and (min-width: 700px) {
  .wrap.full-top-sm {
    padding-top: 9.6rem !important;
  }
}
@media screen and (min-width: 1024px) {
  .wrap.full-top-md {
    padding-top: 9.6rem !important;
  }
}
@media screen and (min-width: 1400px) {
  .wrap.full-top-lg {
    padding-top: 9.6rem !important;
  }
}
.wrap.full-right {
  padding-right: 9.6rem !important;
}
@media screen and (min-width: 700px) {
  .wrap.full-right-sm {
    padding-right: 9.6rem !important;
  }
}
@media screen and (min-width: 1024px) {
  .wrap.full-right-md {
    padding-right: 9.6rem !important;
  }
}
@media screen and (min-width: 1400px) {
  .wrap.full-right-lg {
    padding-right: 9.6rem !important;
  }
}
.wrap.full-bottom {
  padding-bottom: 9.6rem !important;
}
@media screen and (min-width: 700px) {
  .wrap.full-bottom-sm {
    padding-bottom: 9.6rem !important;
  }
}
@media screen and (min-width: 1024px) {
  .wrap.full-bottom-md {
    padding-bottom: 9.6rem !important;
  }
}
@media screen and (min-width: 1400px) {
  .wrap.full-bottom-lg {
    padding-bottom: 9.6rem !important;
  }
}
.wrap.full-left {
  padding-left: 9.6rem !important;
}
@media screen and (min-width: 700px) {
  .wrap.full-left-sm {
    padding-left: 9.6rem !important;
  }
}
@media screen and (min-width: 1024px) {
  .wrap.full-left-md {
    padding-left: 9.6rem !important;
  }
}
@media screen and (min-width: 1400px) {
  .wrap.full-left-lg {
    padding-left: 9.6rem !important;
  }
}
.wrap.flush-top {
  padding-top: 0 !important;
}
@media screen and (min-width: 700px) {
  .wrap.flush-top-sm {
    padding-top: 0;
  }
}
.wrap.flush-bottom {
  padding-bottom: 0 !important;
}
.wrap.flush-sides {
  padding-left: 0;
  padding-right: 0;
}
.wrap.flush-left {
  padding-left: 0;
}
@media screen and (min-width: 700px) {
  .wrap.flush-left-sm {
    padding-left: 0;
  }
}
.wrap.flush-right {
  padding-right: 0;
}
@media screen and (min-width: 700px) {
  .wrap.flush-right-sm {
    paddin-right: 0;
  }
}
.wrap.thick-top {
  padding-top: 8rem;
}
@media only screen and (min-width: 769px) {
  .wrap.thick-top {
    padding-top: 11.2rem;
  }
}
@media only screen and (min-width: 1024px) {
  .wrap.thick-top {
    padding-top: 14.4rem;
  }
}

.media-layout-wrapper {
  width: 100%;
  height: auto;
}
.media-layout-wrapper img {
  aspect-ratio: 1.5;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.media-layout-wrapper .media-tall img {
  aspect-ratio: 0.8;
}

.split-slideshow-wrapper {
  width: 100%;
  height: 100%;
  padding: 0px;
}
.split-slideshow-wrapper .slick-prev {
  left: -40px;
}
.split-slideshow-wrapper .slick-next {
  right: -40px;
}
@media screen and (min-width: 700px) {
  .split-slideshow-wrapper.dock-media-left-oriented {
    padding-right: 0;
  }
  .split-slideshow-wrapper.dock-media-left-oriented .image-wrap.tall-split-aspect {
    margin-left: 0;
  }
}
@media screen and (min-width: 700px) {
  .split-slideshow-wrapper.dock-media-right-oriented {
    padding-left: 0;
  }
  .split-slideshow-wrapper.dock-media-right-oriented .image-wrap.tall-split-aspect {
    margin-left: 0;
  }
}
@media screen and (min-width: 700px) {
  .split-slideshow-wrapper {
    padding: 0 60px;
  }
  .split-slideshow-wrapper .slick-prev {
    left: -60px;
  }
  .split-slideshow-wrapper .slick-next {
    right: -60px;
  }
}

.image-wrap {
  width: 100%;
  position: relative;
}
.image-wrap.square {
  aspect-ratio: 1/1;
}
.image-wrap.sixteen-nine {
  width: auto;
}
.image-wrap.sixteen-nine img {
  aspect-ratio: 16/9;
  object-fit: cover;
  object-position: center;
}
.image-wrap.full-width {
  width: 100%;
  max-width: 1920px;
  aspect-ratio: 2.3333333333;
}
.image-wrap.full-width .slide-image {
  aspect-ratio: 2.3333333333;
}
.image-wrap.full-width img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.image-wrap.screen-width {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 49%;
  margin-left: -50vw;
  margin-right: -50vw;
  aspect-ratio: 2.3333333333;
}
.image-wrap.screen-width img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.image-wrap.tall-split-aspect {
  width: 100%;
  aspect-ratio: 0.8;
  max-height: 70vh;
  margin: 0 auto;
}
.image-wrap.tall-split-aspect .slick-list {
  height: 100% !important;
  aspect-ratio: 0.8;
  margin: 0 auto;
}
.image-wrap.tall-split-aspect .slick-slide {
  height: 100% !important;
}
.image-wrap.tall-split-aspect img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  aspect-ratio: 0.8;
}
.image-wrap.wide-split-aspect {
  width: 100%;
  aspect-ratio: 1.5;
}
.image-wrap.wide-split-aspect .slick-list {
  height: 100% !important;
}
.image-wrap.wide-split-aspect .slick-slide {
  height: 100% !important;
}
.image-wrap.wide-split-aspect img {
  aspect-ratio: 1.5;
  width: 100%;
  object-fit: cover;
  object-position: center;
}
@media screen and (min-width: 1920px) {
  .image-wrap img {
    max-width: 1920px;
    margin: 0 auto;
  }
}

.wrap-killer.lite-top > .wrap {
  padding-top: 4.8rem !important;
}
.wrap-killer.lite-bottom > .wrap {
  padding-bottom: 4.8rem !important;
}
.wrap-killer.slim-top > .wrap {
  padding-top: 2.4rem !important;
}
.wrap-killer.slim-botto > .wrap {
  padding-bottom: 2.4rem !important;
}

.align-left {
  text-align: left;
}

.align-center {
  text-align: center;
}

.align-right {
  text-align: right;
}

.intro-text p, .intro-text ul {
  font-size: 3rem;
}

.button-wrap {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  /* Safari 7.0+ */
  flex-flow: row wrap;
  margin: 3.2rem 0;
}
.button-wrap:first-child {
  margin-top: 0;
}
.button-wrap:last-child {
  margin-bottom: 0;
}
.button-wrap .button, .button-wrap .admin-edit a, .admin-edit .button-wrap a {
  margin-right: 0.8rem;
}
.align-center .button-wrap, .button-wrap.align-center {
  -webkit-justify-content: center;
  /* Safari 7.0+ */
  justify-content: center;
}
.align-right .button-wrap, .button-wrap.align-right {
  -webkit-justify-content: flex-end;
  /* Safari 7.0+ */
  justify-content: flex-end;
}
.button-wrap.space-between {
  width: 100%;
  -webkit-justify-content: space-between;
  /* Safari 7.0+ */
  justify-content: space-between;
}

.title-wrap h1 {
  padding-top: 0;
}
@media screen and (max-width: 699px) {
  .title-wrap h1 {
    padding-top: 2rem;
    line-height: 1.1;
  }
}

.section-title-wrap {
  display: block;
}
@media only screen and (min-width: 700px) {
  .section-title-wrap {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    /* Safari 7.0+ */
    justify-content: space-between;
    -webkit-align-items: center;
    /* Safari 7.0+ */
    align-items: center;
  }
  .section-title-wrap .button-wrap {
    margin-top: 0;
  }
}

.services-wrap ul {
  list-style: disc !important;
  margin-left: 1em;
}

.columns {
  width: 100%;
  -webkit-column-count: 2;
  -moz-column-count: 2;
  column-count: 2;
  -webkit-column-gap: 3.2rem;
  -moz-column-gap: 3.2rem;
  column-gap: 3.2rem;
}
.columns li {
  display: inline-block;
  width: 100%;
}

.grid-item {
  vertical-align: top;
  position: relative;
}
.grid-item h4 + small,
.grid-item small + h4 {
  display: block;
  margin-top: 0;
}
.grid-item q {
  border-top: 2px solid;
  padding-top: 3.2rem;
}
.grid-item.removed {
  height: 0 !important;
  width: 0 !important;
  visibility: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}
.grid-item.removed div, .grid-item.removed img, .grid-item.removed a {
  height: 0 !important;
  width: 0 !important;
  visibility: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

.team-grid .grid-image {
  aspect-ratio: 1 !important;
}

.grid-image {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 66.6666666667%;
  overflow: hidden;
}
.team-grid .grid-image {
  padding-bottom: 100%;
}
.grid-image img {
  position: absolute;
  top: 0;
  left: 0;
}
.grid-item-inner {
  position: relative;
  padding: 0.8rem 0 0;
}

.row-grid {
  letter-spacing: -0.31em;
  text-rendering: optimizeLegibility;
}
.row-grid .grid-item {
  letter-spacing: normal;
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  *display: inline;
  padding: 0 1.6rem;
  width: 100%;
}
@media only screen and (min-width: 450px) {
  .row-grid .grid-item:nth-child(1):nth-last-child(2), .row-grid .grid-item:nth-child(2):nth-last-child(1) {
    width: 50%;
  }
}
@media only screen and (min-width: 700px) {
  .row-grid {
    padding: 0;
  }
  .row-grid .grid-item {
    width: 33.333%;
    padding: 0 2.4rem;
  }
  .row-grid .grid-item:nth-child(1):nth-last-child(4), .row-grid .grid-item:nth-child(2):nth-last-child(3), .row-grid .grid-item:nth-child(3):nth-last-child(2), .row-grid .grid-item:nth-child(4):nth-last-child(1) {
    width: 25%;
  }
}

.flex-grid {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  /* Safari 7.0+ */
  flex-flow: row wrap;
  -webkit-justify-content: flex-start;
  /* Safari 7.0+ */
  justify-content: flex-start;
  margin: -1.6rem;
}
.flex-grid.align-center, .align-center .flex-grid {
  -webkit-justify-content: center;
  /* Safari 7.0+ */
  justify-content: center;
}
.flex-grid .grid-item {
  width: 50%;
  padding: 1.6rem;
}
.flex-grid .grid-item.full-width {
  width: 100% !important;
}
.flex-grid .grid-item:not(.contact-list) a {
  display: block;
  text-decoration: none;
}
.flex-grid .grid-item:not(.contact-list) a:hover, .flex-grid .grid-item:not(.contact-list) a:focus-within, .flex-grid .grid-item:not(.contact-list) a:focus:not(:active) {
  color: var(--highlight);
}
.flex-grid .grid-item:not(.contact-list) a:hover small, .flex-grid .grid-item:not(.contact-list) a:focus-within small, .flex-grid .grid-item:not(.contact-list) a:focus:not(:active) small {
  color: var(--highlight);
  opacity: 0.8;
}
@media only screen and (min-width: 700px) {
  .flex-grid:not(.big-grid) .grid-item {
    width: 33.3333333333%;
  }
}
@media only screen and (min-width: 1024px) {
  .flex-grid:not(.big-grid) .grid-item {
    width: 25%;
  }
}
@media only screen and (min-width: 1400px) {
  .flex-grid:not(.big-grid) .grid-item {
    width: 20%;
  }
}
@media only screen and (min-width: 2000px) {
  .flex-grid:not(.big-grid) .grid-item {
    width: 16.6666666667%;
  }
}
.flex-grid:not(#projects-grid, .contact-grid, .team-grid) .grid-image {
  height: auto;
  aspect-ratio: 1.5;
}
.flex-grid:not(#projects-grid, .contact-grid, .team-grid) .grid-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.flex-grid.big-grid .grid-item {
  width: 100%;
}
@media only screen and (min-width: 700px) {
  .flex-grid.big-grid .grid-item {
    width: 50%;
  }
}
@media only screen and (min-width: 1024px) {
  .flex-grid.big-grid .grid-item {
    width: 33.3333333333%;
  }
}
@media only screen and (min-width: 2000px) {
  .flex-grid.big-grid .grid-item {
    width: 25%;
  }
}
@media only screen and (max-width: 599px) {
  .flex-grid.text-grid .grid-item .grid-item-inner {
    padding-bottom: 0;
  }
}
.flex-grid.contact-grid .grid-item {
  width: 100% !important;
}
.flex-grid.contact-grid .grid-item.wide {
  width: 100% !important;
}
@media only screen and (min-width: 700px) {
  .flex-grid.contact-grid .grid-item {
    width: 50% !important;
  }
  .flex-grid.contact-grid .grid-item.wide {
    width: 100% !important;
  }
}
@media only screen and (min-width: 1200px) {
  .flex-grid.contact-grid .grid-item {
    width: 25% !important;
  }
  .flex-grid.contact-grid .grid-item.wide {
    width: 50% !important;
  }
}

@media screen and (max-width: 699px) {
  .flex-grid.projects-grid .grid-item {
    width: 100%;
    min-height: 250px;
  }
  .flex-grid.projects-grid .grid-item.size-21 img {
    aspect-ratio: 2;
  }
  .flex-grid.projects-grid .grid-item.size-22 img {
    aspect-ratio: 1;
  }
}
.flex-grid.projects-grid .grid-item {
  padding: 1.6rem;
}
.flex-grid.projects-grid .grid-item.size-21, .flex-grid.projects-grid .grid-item.size-22 {
  width: 100%;
}
@media only screen and (min-width: 700px) {
  .flex-grid.projects-grid .grid-item {
    width: 50%;
  }
  .flex-grid.projects-grid .grid-item.size-21, .flex-grid.projects-grid .grid-item.size-22 {
    width: 100%;
  }
}
@media only screen and (min-width: 900px) {
  .flex-grid.projects-grid .grid-item {
    width: 33.3333333333%;
  }
  .flex-grid.projects-grid .grid-item.size-21, .flex-grid.projects-grid .grid-item.size-22 {
    width: 66.6666666667%;
  }
}
@media only screen and (min-width: 1400px) {
  .flex-grid.projects-grid .grid-item {
    width: 25%;
  }
  .flex-grid.projects-grid .grid-item.size-21, .flex-grid.projects-grid .grid-item.size-22 {
    width: 50%;
  }
}
@media only screen and (min-width: 2000px) {
  .flex-grid.projects-grid .grid-item {
    width: 16.6666666667%;
  }
  .flex-grid.projects-grid .grid-item.size-21, .flex-grid.projects-grid .grid-item.size-22 {
    width: 33.3333333333%;
  }
}
.flex-grid.projects-grid .grid-item:not(.project-teaser) .grid-image {
  position: absolute;
  top: 1.6rem;
  left: 1.6rem;
  right: 1.6rem;
  bottom: 1.6rem;
  width: initial;
  height: initial;
  padding-bottom: 0;
}
.flex-grid.projects-grid .grid-item:not(.project-teaser) .grid-image img {
  object-position: 50% calc(50% - 3.1rem);
  transition: transform 10s ease 1s;
  transform: scale(1);
}
.flex-grid.projects-grid .grid-item:not(.project-teaser) a {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-end;
  /* Safari 7.0+ */
  align-items: flex-end;
  height: 100%;
}
.flex-grid.projects-grid .grid-item:not(.project-teaser) .grid-item-inner {
  width: 100%;
  padding: 0.8rem 0 0;
  background-color: var(--bgColor);
}
.flex-grid.projects-grid .grid-item:not(.project-teaser):hover .grid-image img {
  transform: scale(1.2);
}
.flex-grid.projects-grid a:hover, .flex-grid.projects-grid a:focus-within, .flex-grid.projects-grid a:focus:not(:active) {
  background-color: var(--highlight);
  color: var(--bgColor);
}
.flex-grid.projects-grid a:hover small, .flex-grid.projects-grid a:focus-within small, .flex-grid.projects-grid a:focus:not(:active) small {
  color: var(--bgColor);
  opacity: 0.8;
}
.flex-grid.projects-grid a:hover .grid-item-inner, .flex-grid.projects-grid a:focus-within .grid-item-inner, .flex-grid.projects-grid a:focus:not(:active) .grid-item-inner {
  background-color: var(--bgColor) !important;
}

#news-wrap.loading .grid-item,
#news-wrap.loading .wrap,
#news-wrap.loading .button-wrap button {
  opacity: 0.5;
  pointer-events: none;
}
#news-wrap:not(.loading) .loading-block {
  line-height: 4.4rem;
  opacity: 0.5;
}

#news-grid .item {
  will-change: opacity;
  -webkit-transition: opacity 0.2s ease-in-out;
  -moz-transition: opacity 0.2s ease-in-out;
  -o-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
}

.filtered-grid .item {
  will-change: opacity;
  -webkit-transition: opacity 0.2s ease-in-out;
  -moz-transition: opacity 0.2s ease-in-out;
  -o-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
}
.filtered-grid.in-motion .item {
  opacity: 0;
}

.filter-prefix {
  height: 0;
  width: 0;
}

.filter-container {
  position: relative;
  background-color: var(--bgColor);
}
.filter-container.sticky {
  position: fixed;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: calc( 4.8rem + 0px ) calc( 3.2rem + 0px );
  top: 6.4rem;
}
@media only screen and (min-width: 769px) {
  .filter-container.sticky {
    padding: calc( 6.4rem + -0.25px );
  }
}
@media only screen and (min-width: 1024px) {
  .filter-container.sticky {
    padding: calc( 9.6rem + -1px );
  }
}
@media only screen and (min-width: 700px) {
  .filter-container.sticky {
    top: 9.6rem;
  }
}
@media only screen and (min-width: 1920px) {
  .filter-container.sticky {
    left: 50%;
    margin-left: -960px;
  }
}

.filters {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  /* Safari 7.0+ */
  justify-content: flex-start;
}
.filters > div {
  width: 100%;
}
@media only screen and (min-width: 900px) {
  .filters > div {
    width: 33.3333333333%;
  }
}
@media only screen and (min-width: 1400px) {
  .filters > div {
    width: 25%;
  }
}
@media only screen and (min-width: 2000px) {
  .filters > div {
    width: 16.6666666667%;
  }
}
.filters.current-filters {
  border-bottom: 1px var(--textColor) solid;
  position: relative;
}
.filters.current-filters .showhide-button-container {
  position: absolute;
  width: 0;
  right: 1.5rem;
  bottom: -0.4rem;
  font-weight: bold;
  font-size: 2.5rem;
  cursor: pointer;
}
.filters.current-filters .showhide-button-container .showhide-button::after {
  content: "+";
}
.filters.current-filters .showhide-button-container.show .showhide-button::after {
  content: "-";
}

.all-filters {
  padding: 1.6rem 0;
  border-bottom: 2px solid;
  visibility: hidden;
  max-height: 0;
  padding: 0;
}
.all-filters.visible {
  visibility: visible;
  max-height: 100%;
  padding: 1.6rem 0;
}

.current-filters label,
.filter-group button, .sorting-group button {
  font-size: 88.8888888889%;
}

[data-current-filter], [data-current-sort],
.filter-group button, .sorting-group button {
  padding: 0 0.8rem;
}

.filter-group, .sorting-group {
  position: relative;
}
@media screen and (max-width: 699px) {
  .filter-group, .sorting-group {
    left: -8px !important;
  }
}
.filter-group button, .sorting-group button {
  display: block;
  text-align: left;
}
.filter-group button[disabled=disabled], .sorting-group button[disabled=disabled] {
  cursor: default;
  color: #978C87;
}
.filter-group button.is-checked, .sorting-group button.is-checked {
  cursor: default;
}
.filter-group button.is-checked:hover, .filter-group button.is-checked:focus-within, .filter-group button.is-checked:focus:not(:active), .sorting-group button.is-checked:hover, .sorting-group button.is-checked:focus-within, .sorting-group button.is-checked:focus:not(:active) {
  color: inherit;
}
.filter-group button + button, .sorting-group button + button {
  margin-top: 0.8rem;
}

@media screen and (max-width: 699px) {
  [data-filter-label] span, [data-sort-label] span {
    display: block;
    padding-left: 0;
  }
  [data-filter-label] span:first-child, [data-sort-label] span:first-child {
    padding-bottom: 5px;
  }
}

.archive-grid-label.hidden {
  display: none;
}

@media screen and (min-width: 1920px) {
  .main-menu {
    position: absolute !important;
    padding-top: 0 !important;
    top: 96px;
    right: 96px !important;
  }

  .menu-inner-container {
    width: 1920px;
    margin: 0 auto;
    position: relative;
  }

  header .home-link {
    top: -20px !important;
  }
}
header, .main-menu {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 3.2rem;
  padding: 3.2rem;
}
@media only screen and (min-width: 700px) {
  header, .main-menu {
    padding: 3.2rem;
  }
}
@media only screen and (min-width: 700px) {
  header, .main-menu {
    height: 9.6rem;
  }
}
header .search-button, .main-menu .search-button {
  display: block;
  position: relative;
  top: 3px;
}

header {
  background-color: var(--bgColor);
}

@-webkit-keyframes spin {
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    backface-visibility: hidden;
    /* FF Hack for sharper renders */
  }
}
@-moz-keyframes spin {
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    backface-visibility: hidden;
    /* FF Hack for sharper renders */
  }
}
@keyframes spin {
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    backface-visibility: hidden;
    /* FF Hack for sharper renders */
  }
}
header .home-link {
  top: 0rem;
  width: 40px;
  position: absolute;
}
@media only screen and (min-width: 700px) {
  header .home-link {
    width: 79px;
    top: 1.4rem;
  }
}
@media only screen and (min-width: 769px) {
  header .home-link {
    left: 6.4rem;
  }
}
@media only screen and (min-width: 1024px) {
  header .home-link {
    left: 9.6rem;
    width: auto;
  }
}
header .home-link svg {
  height: 6.9rem;
}

.main-menu {
  display: block;
  list-style: none !important;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  /* Safari 7.0+ */
  justify-content: center;
  cursor: default;
}
.main-menu > li {
  vertical-align: top;
  position: relative;
}
.main-menu button, .main-menu a {
  display: block;
  padding: 0;
  font-size: 111.1111111111%;
  line-height: 3.2rem;
  text-transform: uppercase;
  text-decoration: none;
}
.main-menu button:hover, .main-menu button:focus-within, .main-menu button:focus:not(:active), .main-menu a:hover, .main-menu a:focus-within, .main-menu a:focus:not(:active) {
  text-decoration: underline;
}
.main-menu button:hover, .main-menu button:focus-within, .main-menu button:focus:not(:active) {
  cursor: default;
  color: inherit;
}
@media only screen and (max-width: 699px) {
  .main-menu {
    top: 0;
    height: 100%;
    padding-top: 8.4rem;
    background-color: var(--bgColor);
    font-size: 125%;
    display: none;
  }
  body.menu-open .main-menu {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: flex-start;
    /* Safari 7.0+ */
    justify-content: flex-start;
    overflow-y: scroll;
  }
  .main-menu ul {
    -webkit-flex-direction: column;
    flex-direction: column;
    font-size: 150%;
  }
  .main-menu ul li + li {
    margin-top: 1em;
  }
  .main-menu ul ul {
    font-size: 75%;
    list-style-type: disc !important;
    padding-left: 1.5em;
  }
  .main-menu ul ul li + li {
    margin-top: 0;
  }
  .main-menu ul ul li {
    list-style: none;
    padding: 0.5rem 0;
  }
  .main-menu ul ul li:first-child {
    padding-top: 1rem;
  }
  .main-menu ul ul li:last-child {
    padding-bottom: 0;
  }
  .main-menu .search-button:not(.mobile) {
    visibility: hidden;
  }
}
@media only screen and (min-width: 700px) {
  .main-menu {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    /* Safari 7.0+ */
    justify-content: flex-end;
    left: auto;
  }
  .main-menu ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    /* Safari 7.0+ */
    justify-content: center;
    cursor: default;
  }
  .main-menu ul > li {
    vertical-align: top;
    position: relative;
    padding-right: 4em;
  }
  .main-menu ul > li.search-item {
    padding-right: 0;
  }
  .main-menu ul > li:hover ul, .main-menu ul > li:focus-within ul, .main-menu ul > li:focus:not(:active) ul {
    display: block;
  }
  .main-menu ul ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
  }
  .main-menu ul ul li {
    display: block;
    white-space: pre;
    padding-right: 1rem;
  }
  .main-menu ul ul::before {
    content: "";
    position: absolute;
    top: -2em;
    left: -1em;
    bottom: -1em;
    right: -1em;
    background: var(--bgColor);
    z-index: -1;
  }
}
@media screen and (max-width: 699px) {
  .main-menu div > ul > li > button, .main-menu div > ul > li > a {
    line-height: initial;
    display: inline-block;
    font-size: 4rem !important;
  }
}
@media only screen and (min-width: 1024px) {
  .main-menu ul > li {
    padding-right: 6em;
  }
  .main-menu ul.sub-menu > li {
    padding-right: 1rem;
  }
}

.menu-button {
  position: absolute;
  top: 0;
  right: 0;
  padding: 1.8rem 2.4rem;
  display: block;
  cursor: pointer;
  border: 0;
  will-change: auto;
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
.menu-button i {
  display: block;
  width: 2.4rem;
  height: 3px;
  background-color: var(--textColor);
  will-change: auto;
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
.menu-button i + i {
  margin-top: 5px;
}
body.menu-open .menu-button i {
  -webkit-transform: rotate(135deg) translate3d(0, 0, 0);
  -moz-transform: rotate(135deg) translate3d(0, 0, 0);
  -ms-transform: rotate(135deg) translate3d(0, 0, 0);
  -o-transform: rotate(135deg) translate3d(0, 0, 0);
  transform: rotate(135deg) translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
  /* FF Hack for sharper renders */
  margin-top: 6px;
}
body.menu-open .menu-button i + i {
  -webkit-transform: rotate(-135deg) translate3d(0, 0, 0);
  -moz-transform: rotate(-135deg) translate3d(0, 0, 0);
  -ms-transform: rotate(-135deg) translate3d(0, 0, 0);
  -o-transform: rotate(-135deg) translate3d(0, 0, 0);
  transform: rotate(-135deg) translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
  /* FF Hack for sharper renders */
  margin-top: -3px;
}
body.menu-open .menu-button i + i + i {
  -webkit-transform: translateY(24px) scale(0) translate3d(0, 0, 0);
  -moz-transform: translateY(24px) scale(0) translate3d(0, 0, 0);
  -ms-transform: translateY(24px) scale(0) translate3d(0, 0, 0);
  -o-transform: translateY(24px) scale(0) translate3d(0, 0, 0);
  transform: translateY(24px) scale(0) translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
  /* FF Hack for sharper renders */
  margin: 0;
}
@media only screen and (min-width: 700px) {
  .menu-button {
    display: none;
  }
}

@media screen and (min-width: 700px) and (max-width: 1023px) {
  .content-wrap {
    padding-top: 4rem;
  }
}

.content-wrap[data-header=fixed-top] {
  padding-top: 6.4rem;
}
@media only screen and (min-width: 700px) {
  .content-wrap[data-header=fixed-top] {
    padding-top: 9.6rem;
  }
}

.search-button {
  display: none;
}
.search-button svg {
  width: 18px;
}
.search-button svg path, .search-button svg rect {
  stroke: var(--textColor);
  fill: var(--textColor);
}
.search-button:hover svg {
  cursor: pointer;
}
.search-button:hover svg path, .search-button:hover svg rect {
  stroke: var(--highlight);
  fill: var(--highlight);
}
.search-button.mobile {
  display: block;
  position: absolute;
  right: 7rem;
  top: 17px;
}
@media only screen and (min-width: 700px) {
  .search-button.mobile {
    display: none;
  }
}

.split {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}
.split .split-text:first-child .wrap {
  padding-bottom: 0;
}
.split .split-image {
  position: relative;
  width: 100%;
  height: 36vw;
}
.split .split-image img {
  position: absolute;
  top: 0;
  left: 0;
}
.split .split-image .wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  /* Safari 7.0+ */
  justify-content: center;
  text-align: center;
}
.split .split-text {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  /* Safari 7.0+ */
  justify-content: center;
}
@media only screen and (min-width: 700px) {
  .split:not(.split-1200) {
    -webkit-flex-direction: row;
    flex-direction: row;
  }
  .split:not(.align-top) {
    -webkit-align-items: center;
    /* Safari 7.0+ */
    align-items: center;
  }
  .split.align-top {
    -webkit-align-items: flex-start;
    /* Safari 7.0+ */
    align-items: flex-start;
  }
  .split > div {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    /* Safari 7.0+ */
    align-items: center;
    -webkit-flex-direction: row;
    flex-direction: row;
  }
  .split.text-left {
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .split .sticky {
    position: sticky;
    top: 7rem;
  }
  .split:not(.text-left, .ignore-split-padding) .split-text .wrap {
    padding-right: 0;
  }
  .split.text-left .split-text .wrap {
    padding-left: 0;
  }
}
@media only screen and (min-width: 700px) {
  .split:not(.split-1200) .split-text {
    width: 38.2%;
  }
  .split:not(.split-1200) .wide,
.split:not(.split-1200) .split-image {
    width: 61.8%;
    flex: 1;
  }
  .split:not(.split-1200).even-split .split-text,
.split:not(.split-1200).even-split .split-image {
    width: 50% !important;
  }
}
@media only screen and (min-width: 1200px) {
  .split.split-1200 {
    -webkit-flex-direction: row;
    flex-direction: row;
  }
  .split.split-1200 .split-text {
    width: 38.2%;
  }
  .split.split-1200 .wide,
.split.split-1200 .split-image {
    width: 61.8%;
    flex: 1;
  }
  .split.split-1200.even-split .split-text,
.split.split-1200.even-split .split-image {
    width: 50% !important;
  }
}

.project-overview.hidden {
  display: none;
}

.slideshow.autoplay {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.slideshow.autoplay .image-wrap {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.slideshow .slick-autoplay-toggle-button {
  right: 8px;
  bottom: -2.8rem;
  position: absolute;
  border-radius: 50%;
  width: 2.6rem;
  height: 2.6rem;
  padding: 0;
}
@media screen and (min-width: 700px) {
  .slideshow .slick-autoplay-toggle-button {
    width: 2.8rem;
    height: 2.8rem;
    bottom: -32px;
  }
}
.slideshow .slick-autoplay-toggle-button.hover, .slideshow .slick-autoplay-toggle-button:focus {
  background-color: var(--highlight);
}
.slideshow .slick-autoplay-toggle-button.hover .slick-play-icon, .slideshow .slick-autoplay-toggle-button.hover .slick-pause-icon, .slideshow .slick-autoplay-toggle-button:focus .slick-play-icon, .slideshow .slick-autoplay-toggle-button:focus .slick-pause-icon {
  filter: invert(1);
}
@media (prefers-color-scheme: dark) {
  .slideshow .slick-autoplay-toggle-button.hover .slick-pause-icon, .slideshow .slick-autoplay-toggle-button.hover .slick-play-icon, .slideshow .slick-autoplay-toggle-button:focus .slick-pause-icon, .slideshow .slick-autoplay-toggle-button:focus .slick-play-icon {
    filter: invert(0);
  }
}
@media (prefers-color-scheme: dark) {
  .slideshow .slick-autoplay-toggle-button .slick-pause-icon, .slideshow .slick-autoplay-toggle-button .slick-play-icon {
    filter: invert(1);
  }
}
.slideshow.slide-controls-on-bottom .slick-arrow {
  top: inherit;
  left: inherit;
  position: absolute;
  bottom: -41px;
}
@media screen and (min-width: 700px) {
  .slideshow.slide-controls-on-bottom .slick-arrow {
    bottom: -48px;
  }
}
.slideshow.slide-controls-on-bottom .slick-next {
  right: 19px;
}
.slideshow.slide-controls-on-bottom .slick-prev {
  right: 80px;
}
.slideshow.slide-controls-on-bottom .slick-autoplay-toggle-button {
  right: 48px;
}
@media screen and (min-width: 700px) {
  .slideshow.slide-controls-on-bottom .slick-autoplay-toggle-button {
    right: 50px;
  }
}
.slideshow .slick-dots {
  margin: 0 auto;
  display: flex;
  width: 50px;
  justify-content: space-evenly;
  height: 5px;
}
.slideshow .slick-dots li {
  list-style: disc;
  color: var(--textColor);
  width: 20px;
}
.slideshow .slick-dots li:focus {
  color: gray;
}
.slideshow .slick-dots li button {
  width: 5px;
  margin: 0 auto;
}
.slideshow .slick-dots li.slick-active {
  color: var(--highlight);
}
.slideshow .slick-dots .slick-sr-only {
  visibility: hidden;
}
.slideshow .slick-play-icon {
  width: 147px;
  height: 206px;
  display: inline-block;
  position: relative;
  background-image: url(466c30cdb30f5c8fa428.svg);
  transform: translate(-60px, -90px) scale(0.07, 0.07);
}
@media screen and (min-width: 700px) {
  .slideshow .slick-play-icon {
    transform: translate(-64px, -89px) scale(0.07, 0.07);
  }
}
.slideshow .slick-pause-icon {
  width: 25px;
  height: 25px;
  display: inline-block;
  position: relative;
  background-image: url(be13e43f3dc73d3439fc.svg);
  transform: translate(0, 0) scale(0.6, 0.6);
}
@media screen and (min-width: 700px) {
  .slideshow .slick-pause-icon {
    transform: translate(-4.5px, 2px) scale(0.6, 0.6);
  }
}
.slideshow .slick-sr-only {
  display: none;
}

.slide {
  position: relative;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  /* Safari 7.0+ */
  align-items: center;
  -webkit-justify-content: center;
  /* Safari 7.0+ */
  justify-content: center;
}
.slide .full {
  width: 100%;
  height: 100%;
  min-height: 36vw;
}
.slide .full .inner-wrap {
  position: relative;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  /* Safari 7.0+ */
  align-items: center;
  -webkit-justify-content: center;
  /* Safari 7.0+ */
  justify-content: center;
}
.slide .full .full-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.slide .full .full-text {
  width: 100%;
}
.slide .full .full-text h4:only-child {
  text-align: center;
}
.slide .full .full-image + .full-text {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  /* Safari 7.0+ */
  align-items: center;
  -webkit-justify-content: center;
  /* Safari 7.0+ */
  justify-content: center;
  position: relative;
  z-index: 1;
  height: 100%;
}
.slide .slide-image {
  width: 100%;
  height: 100%;
}

.slide-count {
  width: 100%;
  text-align: left;
}

.slideshow {
  position: relative;
  width: 100%;
  height: 100%;
}
.slideshow:not(.slick-initialized) > div:not(:first-child) {
  display: none;
}
.slideshow .slick-list {
  height: 100%;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.slideshow .slick-track {
  position: relative;
  height: 100%;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  margin: 0 auto;
}
@media screen and (max-width: 699px) {
  .slideshow .slick-track {
    align-items: flex-start;
  }
}
.slideshow .slick-slide {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.slideshow iframe {
  width: 100%;
}

button.slick-arrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
  /* FF Hack for sharper renders */
  display: block;
  width: 2.88rem;
  height: 2.88rem;
  padding: 0;
  border: 0;
  cursor: pointer;
  z-index: 2;
  text-indent: 1500%;
  white-space: nowrap;
  overflow: hidden;
  border-radius: 50%;
}
button.slick-arrow svg {
  width: 1.2rem;
  margin: auto;
  stroke: var(--textColor);
  stroke-width: 6px;
}
button.slick-arrow:hover, button.slick-arrow:focus-within, button.slick-arrow:focus:not(:active) {
  background-color: var(--highlight);
}
button.slick-arrow:hover svg, button.slick-arrow:focus-within svg, button.slick-arrow:focus:not(:active) svg {
  stroke: var(--bgColor);
}
@media screen and (max-width: 699px) {
  button.slick-arrow {
    width: 2.6rem;
    height: 2.6rem;
  }
  button.slick-arrow svg {
    width: 1.3rem;
    height: 1.3em;
  }
  button.slick-arrow.slick-prev {
    left: -20px;
  }
  button.slick-arrow.slick-prev svg {
    margin-left: 5px;
  }
  button.slick-arrow.slick-next {
    right: -20px;
  }
  button.slick-arrow.slick-next svg {
    margin-right: 5px;
  }
}

@media screen and (min-width: 700px) {
  .media-slideshow .slick-autoplay-toggle-button .slick-pause-icon {
    transform: translate(0px, 2px) scale(0.6, 0.6);
  }
  .media-slideshow .slick-autoplay-toggle-button .slick-play-icon {
    transform: translate(-58px, -89px) scale(0.07, 0.07);
  }
}

.media-layout-wrapper .slideshow.media-tall {
  aspect-ratio: 0.8;
}
.media-layout-wrapper .slideshow.media-tall .slick-track img {
  aspect-ratio: 0.8;
}
.media-layout-wrapper .slideshow.media-tall .slick-dots {
  bottom: -30px;
}
.media-layout-wrapper .slideshow {
  align-items: center;
  width: 100%;
  height: 100%;
  padding-left: 50px;
  padding-right: 50px;
}
.media-layout-wrapper .slideshow .slick-list {
  width: 100%;
  height: 100% !important;
  overflow: hidden;
}
.media-layout-wrapper .slideshow .slide-image {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 700px) {
  .media-layout-wrapper .slideshow .slick-prev {
    left: -50px;
  }
  .media-layout-wrapper .slideshow .slick-next {
    right: -50px;
  }
}

button.slick-prev {
  left: 0;
}
button.slick-prev[aria-disabled=true] {
  -webkit-transform: translateX(-100%) translateY(-50%);
  -moz-transform: translateX(-100%) translateY(-50%);
  -ms-transform: translateX(-100%) translateY(-50%);
  -o-transform: translateX(-100%) translateY(-50%);
  transform: translateX(-100%) translateY(-50%);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
  /* FF Hack for sharper renders */
}
button.slick-prev svg {
  margin-left: 0.8rem;
}

button.slick-next {
  right: 0;
}
button.slick-next[aria-disabled=true] {
  -webkit-transform: translateX(100%) translateY(-50%);
  -moz-transform: translateX(100%) translateY(-50%);
  -ms-transform: translateX(100%) translateY(-50%);
  -o-transform: translateX(100%) translateY(-50%);
  transform: translateX(100%) translateY(-50%);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
  /* FF Hack for sharper renders */
}
button.slick-next svg {
  margin-right: 0.8rem;
}

.inline-slideshow.slideshow {
  overflow: hidden;
  height: auto !important;
}
.inline-slideshow.slideshow.single-slide {
  width: 100%;
  height: initial;
}
.inline-slideshow.slideshow.single-slide .slide-image {
  position: relative;
  width: 100%;
  height: 100%;
}
.inline-slideshow.slideshow.single-slide .slide-image img {
  position: relative;
  width: 100%;
  height: auto;
  max-height: calc(100vh - 25.2rem);
}
.inline-slideshow.slideshow .slide {
  margin: 0 auto;
  padding: 0 3.2rem 3.2rem;
}
.inline-slideshow.slideshow .slide-image {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: calc(100vh - 25.2rem);
}
.inline-slideshow.slideshow .slide-image img {
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (min-width: 700px) {
  .inline-slideshow.slideshow .slide {
    padding: 0 6.4rem 3.2rem;
  }
}
@media only screen and (min-width: 1024px) {
  .inline-slideshow.slideshow .slide {
    padding: 0 9.6rem 6.4rem;
  }
}

html:not([data-touch-events]) .slick-track,
html:not([data-touch-events]) .slick-list,
html:not([data-touch-events]) .slick-slide,
html:not([data-touch-events]) .slick-slide .slick-slide img {
  transform: translate3d(0, 0, 0);
}

div.slick-slider {
  width: 1px;
  min-width: 100%;
  *width: 100%;
}

.flexible-slideshow {
  padding-left: 30px;
  padding-right: 30px;
}
.flexible-slideshow .slide-count {
  visiblity: hidden;
  display: none !important;
}
.flexible-slideshow .slick-prev {
  left: -25px;
}
.flexible-slideshow .slick-next {
  right: -25px;
}
.flexible-slideshow .slick-list {
  display: flex;
  align-items: flex-start;
}
.flexible-slideshow .slick-track {
  display: flex;
  align-items: flex-start;
}
.flexible-slideshow .flexible-slideshow-image img {
  object-fit: cover;
}
.flexible-slideshow .full {
  min-height: auto;
  aspect-ratio: 21/9;
  width: 100%;
  height: auto;
  margin: 0 auto;
}
.flexible-slideshow .full .inner-wrap {
  position: relative;
  aspect-ratio: 21/9;
  width: 100%;
  height: auto;
  display: block;
}
.flexible-slideshow .full .inner-wrap > div:not(.slide-count) {
  aspect-ratio: 21/9;
  width: 100%;
  position: relative;
  display: flex;
  align-items: flex-start;
}
.flexible-slideshow .full .flexible-slideshow-text, .flexible-slideshow .full .flexible-slideshow-text > .wrap {
  overflow-y: visible;
}
.flexible-slideshow .full .flexible-slideshow-image {
  aspect-ratio: 21/9;
}
.flexible-slideshow .full .flexible-slideshow-image img {
  aspect-ratio: 21/9;
}
.flexible-slideshow .full .full-text:not(.no-image) {
  position: absolute !important;
  top: 0;
  left: 0;
}
.flexible-slideshow .split-image {
  aspect-ratio: 1.5;
  height: auto;
}
@media only screen and (min-width: 700px) {
  .flexible-slideshow .split-image {
    width: 67% !important;
  }
}
.flexible-slideshow .split-image img {
  width: 100%;
  aspect-ratio: 1.5;
  object-fit: cover;
  object-position: center;
}
.flexible-slideshow .align-center .slide-count {
  width: 100%;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 700px) {
  .flexible-slideshow .flexible-slide-content-wrap {
    display: flex;
    align-items: flex-start;
  }
  .flexible-slideshow .flexible-slide-content-wrap .wrap {
    margin-left: 0;
    margin-right: 0;
  }
  .flexible-slideshow .flexible-slide-content-wrap .wrap.align-center {
    margin-left: auto;
    margin-right: auto;
  }
  .flexible-slideshow .split-text {
    width: 33%;
  }
  .flexible-slideshow .no-image .inner-text-wrapper {
    width: 50%;
  }
  .flexible-slideshow .slide {
    align-items: flex-start;
    justify-content: flex-start;
  }
  .flexible-slideshow .flexible-slideshow-text .heading-right-text-left {
    display: flex;
    align-items: flex-start;
  }
  .flexible-slideshow .flexible-slideshow-text .heading-right-text-left.text-wrap {
    max-width: none;
  }
  .flexible-slideshow .flexible-slideshow-text .heading-right-text-left h3 {
    padding-right: 2.4rem !important;
  }
  .flexible-slideshow .flexible-slideshow-text .heading-right-text-left .inner-text-wrapper {
    padding-left: 2.4rem !important;
  }
  .flexible-slideshow .heading-right-text-left {
    display: flex;
    flex-direction: row;
    align-items: center;
  }
  .flexible-slideshow .heading-right-text-left .inner-heading-wrapper {
    width: 50%;
    padding-top: 0;
  }
  .flexible-slideshow .heading-right-text-left .inner-text-wrapper {
    width: 50%;
  }
  .flexible-slideshow .wrap.split {
    padding-left: 0;
    padding-right: 0;
    align-items: flex-start;
  }
  .flexible-slideshow .full-image {
    aspect-ratio: 21/9;
  }
  .flexible-slideshow .full-image img {
    width: 100%;
    height: auto;
  }
}
@media screen and (max-width: 699px) {
  .flexible-slideshow .slide {
    align-items: flex-start;
    justify-content: flex-start;
  }
  .flexible-slideshow .slide .flexible-slideshow-text div:not(.no-image) .inner-heading-wrapper {
    padding-top: 2.4rem !important;
  }
  .flexible-slideshow .slide .flexible-slideshow-text:not(.heading-text, .heading) .inner-text-wrapper {
    padding-top: 2.4rem !important;
  }
  .flexible-slideshow .slide .flexible-slideshow-text .no-image .inner-heading-wrapper {
    padding-top: 0 !important;
  }
  .flexible-slideshow .slide .flexible-slideshow-text .no-image .inner-text-wrapper {
    padding-top: 0 !important;
  }
  .flexible-slideshow .slide .reverse-order-on-mobile {
    display: flex;
    flex-direction: column-reverse;
  }
  .flexible-slideshow .slide > .wrap {
    padding-left: 2px;
    padding-right: 2px;
  }
  .flexible-slideshow .slide .split-text.heading-text > .wrap {
    padding-left: 0;
    padding-right: 0;
  }
}

.fullwidth-slideshow-wrapper .slideshow .slide {
  justify-content: flex-start;
}
.fullwidth-slideshow-wrapper .slideshow .slick-list {
  transition: height 0.25s ease-in-out;
}
.fullwidth-slideshow-wrapper .slideshow .slide-image {
  position: relative;
}
.fullwidth-slideshow-wrapper .slideshow .video-player {
  width: 100%;
  padding-left: 30px;
  padding-right: 30px;
}
.fullwidth-slideshow-wrapper .slideshow .video-wrap {
  aspect-ratio: 16/9;
}
.fullwidth-slideshow-wrapper .slideshow .image-wrap {
  padding-left: 30px;
  padding-right: 30px;
  aspect-ratio: 21/9;
}
@media only screen and (min-width: 700px) {
  .fullwidth-slideshow-wrapper .slideshow .slick-next {
    right: -25px;
  }
}
@media only screen and (min-width: 700px) {
  .fullwidth-slideshow-wrapper .slideshow .slick-prev {
    left: -25px;
  }
}

.overview-media {
  height: auto !important;
}
.overview-media.contains-slideshow {
  padding-bottom: 40px;
}
.overview-media.media-tall .slideshow {
  aspect-ratio: 0.8;
}
.overview-media.media-tall .slide-image {
  aspect-ratio: 0.8;
}
.overview-media .slideshow {
  aspect-ratio: 1.5;
}
.overview-media .slick-track {
  height: 100%;
}
.overview-media .slick-list {
  height: 100% !important;
  width: 100%;
}
.overview-media .slide-image img {
  width: 100%;
  height: 100%;
  object-position: top;
  object-fit: cover;
}
.overview-media .slick-autoplay-toggle-button {
  padding: 0;
  bottom: -2.8rem;
}
.overview-media .slick-autoplay-toggle-button .slick-pause-icon {
  transform: translate(0, 0) scale(0.6, 0.6);
}
.overview-media .slick-autoplay-toggle-button .slick-play-icon {
  transform: translate(-59px, -90px) scale(0.07, 0.07);
}
@media screen and (min-width: 700px) {
  .overview-media .slick-autoplay-toggle-button {
    bottom: -3.2rem;
  }
  .overview-media .slick-autoplay-toggle-button .slick-pause-icon {
    transform: translate(0px, 2px) scale(0.6, 0.6);
  }
  .overview-media .slick-autoplay-toggle-button .slick-play-icon {
    transform: translate(-58px, -89px) scale(0.07, 0.07);
  }
}

.hero .slideshow .slick-autoplay-toggle-button {
  padding-left: 5px;
}

.modal-wrap .slideshow .slick-dots li {
  color: var(--bgColor);
}
.modal-wrap .slideshow .slick-dots li.slick-active, .modal-wrap .slideshow .slick-dots li:focus {
  color: var(--inverted-highlight);
}
.modal-wrap .slideshow .slick-arrow svg {
  stroke: var(--bgColor);
}
.modal-wrap .slideshow .slick-arrow:hover, .modal-wrap .slideshow .slick-arrow:focus {
  background-color: var(--inverted-highlight);
}
.modal-wrap .slideshow .slick-arrow:hover svg, .modal-wrap .slideshow .slick-arrow:focus svg {
  stroke: var(--textColor);
}

.slick-pause-icon, .slick-play-icon {
  filter: invert(0);
}

.modal-wrap .slick-pause-icon, .modal-wrap .slick-play-icon {
  filter: invert(1);
}
.modal-wrap .slick-autoplay-toggle-button.hover, .modal-wrap .slick-autoplay-toggle-button:focus {
  background-color: var(--inverted-highlight);
}
.modal-wrap .slick-autoplay-toggle-button.hover .slick-pause-icon, .modal-wrap .slick-autoplay-toggle-button.hover .slick-play-icon, .modal-wrap .slick-autoplay-toggle-button:focus .slick-pause-icon, .modal-wrap .slick-autoplay-toggle-button:focus .slick-play-icon {
  filter: invert(0);
}

.inverted .slick-pause-icon, .inverted .slick-play-icon {
  filter: invert(1);
}
.inverted .modal-wrap .slick-pause-icon, .inverted .modal-wrap .slick-play-icon {
  filter: invert(0);
}
.inverted .modal-wrap .slick-autoplay-toggle-button.hover .slick-pause-icon, .inverted .modal-wrap .slick-autoplay-toggle-button.hover .slick-play-icon, .inverted .modal-wrap .slick-autoplay-toggle-button:focus .slick-pause-icon, .inverted .modal-wrap .slick-autoplay-toggle-button:focus .slick-play-icon {
  filter: invert(1);
}
.inverted .slick-autoplay-toggle-button.hover .slick-pause-icon, .inverted .slick-autoplay-toggle-button.hover .slick-play-icon, .inverted .slick-autoplay-toggle-button:focus .slick-pause-icon, .inverted .slick-autoplay-toggle-button:focus .slick-play-icon {
  filter: invert(0);
}

@media (prefers-color-scheme: dark) {
  .modal-wrap .slideshow .slick-pause-icon, .modal-wrap .slideshow .slick-play-icon {
    filter: invert(0);
  }
  .modal-wrap .slideshow .slick-autoplay-toggle-button.hover .slick-pause-icon, .modal-wrap .slideshow .slick-autoplay-toggle-button.hover .slick-play-icon, .modal-wrap .slideshow .slick-autoplay-toggle-button:focus .slick-pause-icon, .modal-wrap .slideshow .slick-autoplay-toggle-button:focus .slick-play-icon {
    filter: invert(1);
  }

  .inverted .slideshow .slick-pause-icon, .inverted .slideshow .slick-play-icon {
    filter: invert(0);
  }
  .inverted .slideshow .slick-autoplay-toggle-button.hover .slick-pause-icon, .inverted .slideshow .slick-autoplay-toggle-button.hover .slick-play-icon, .inverted .slideshow .slick-autoplay-toggle-button:focus .slick-pause-icon, .inverted .slideshow .slick-autoplay-toggle-button:focus .slick-play-icon {
    filter: invert(1);
  }
  .inverted .modal-wrap .slideshow .slick-pause-icon, .inverted .modal-wrap .slideshow .slick-play-icon {
    filter: invert(1);
  }
  .inverted .modal-wrap .slideshow .slick-autoplay-toggle-button.hover .slick-pause-icon, .inverted .modal-wrap .slideshow .slick-autoplay-toggle-button.hover .slick-play-icon, .inverted .modal-wrap .slideshow .slick-autoplay-toggle-button:focus .slick-pause-icon, .inverted .modal-wrap .slideshow .slick-autoplay-toggle-button:focus .slick-play-icon {
    filter: invert(0);
  }
}
dl {
  text-align: left;
}
dl dt {
  border-top: 2px solid;
  position: relative;
  cursor: ns-resize;
}
dl dt button {
  display: block;
  width: 100%;
  border: 0;
  padding: 0;
  text-align: left;
  text-transform: none;
  padding: 2.4rem 2.4rem 2.4rem 0;
}
dl dt button:hover, dl dt button:focus-within, dl dt button:focus:not(:active) {
  background-color: transparent;
}
dl dt button h4 {
  padding-right: 20px;
}
dl dt.open button:after {
  -webkit-transform: translateY(-50%) rotate(-135deg);
  -moz-transform: translateY(-50%) rotate(-135deg);
  -ms-transform: translateY(-50%) rotate(-135deg);
  -o-transform: translateY(-50%) rotate(-135deg);
  transform: translateY(-50%) rotate(-135deg);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
  /* FF Hack for sharper renders */
}
dl dd {
  padding: 0 0 3.2rem;
}
dl.details dd {
  border-top: 2px solid;
  padding-top: 1.2rem;
  padding-bottom: 1.2rem;
}
dl.details .value {
  padding-top: 0.8rem;
}
dl.accordion {
  border-bottom: 2px solid;
}
dl.accordion dt button {
  padding: 1.2rem 0 0.5rem 0;
}
dl.accordion dt button:after {
  content: "+";
  display: block;
  position: absolute;
  top: calc(50% + 5px);
  right: 0;
  cursor: pointer;
  line-height: inherit;
  font-size: inherit;
  text-align: center;
  font-size: 2.8rem;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
  /* FF Hack for sharper renders */
  will-change: transform;
  -webkit-transition: transform 0.2s ease-in-out;
  -moz-transition: transform 0.2s ease-in-out;
  -o-transition: transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out;
  -webkit-transform-origin: 50% 60%;
  -moz-transform-origin: 50% 60%;
  -ms-transform-origin: 50% 60%;
  -o-transform-origin: 50% 60%;
  transform-origin: 50% 60%;
}
dl.accordion dt.open button:after {
  content: "—";
  font-size: 2rem;
}
dl.accordion dd {
  opacity: 0;
  will-change: opacity;
  -webkit-transition: opacity 0.4s ease-in-out;
  -moz-transition: opacity 0.4s ease-in-out;
  -o-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}
body:not(.loaded) dl.accordion dd {
  display: none;
}
dl.accordion dd.open {
  opacity: 0.99999;
}

@media screen and (min-width: 700px) {
  .limit-items-accordion .hidden-items {
    display: none;
  }
  .limit-items-accordion .hidden-items.open {
    display: initial;
  }
  .limit-items-accordion .read-more {
    margin-bottom: 12px;
    cursor: pointer;
    -webkit-transform: scale(1.2, 1);
    -moz-transform: scale(1.2, 1);
    -ms-transform: scale(1.2, 1);
    -o-transform: scale(1.2, 1);
    transform: scale(1.2, 1);
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    backface-visibility: hidden;
    /* FF Hack for sharper renders */
    display: inline-block;
  }
  .limit-items-accordion .read-more.hidden {
    display: none;
  }
  .limit-items-accordion .read-more:after {
    font-size: 2.8rem;
    font-weight: bold;
    cursor: pointer;
  }
  .limit-items-accordion .read-more.display-more-button:after {
    content: "+";
  }
  .limit-items-accordion .read-more.display-less-button {
    -webkit-transform: scale(1.2, 1) translateY(-20px);
    -moz-transform: scale(1.2, 1) translateY(-20px);
    -ms-transform: scale(1.2, 1) translateY(-20px);
    -o-transform: scale(1.2, 1) translateY(-20px);
    transform: scale(1.2, 1) translateY(-20px);
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    backface-visibility: hidden;
    /* FF Hack for sharper renders */
  }
  .limit-items-accordion .read-more.display-less-button:after {
    content: "_";
  }
}

.modal-close {
  position: absolute;
  top: 50px;
  right: 50px;
  padding: 0;
  z-index: 1;
  transform: scale(3);
  cursor: pointer;
}
.modal-close svg {
  width: 10px;
  height: 10px;
}

#fullscreen.modal .modal-wrap {
  display: block;
  height: 100%;
}
#fullscreen.modal .modal-close-container {
  width: 100%;
  position: relative;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s linear 0.4s, opacity 0.4s linear;
  will-change: visibility, opacity;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.modal .modal-wrap {
  min-height: 100%;
  overflow: auto;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  /* Safari 7.0+ */
  align-items: center;
  -webkit-justify-content: center;
  /* Safari 7.0+ */
  justify-content: center;
  -webkit-flex-direction: column;
  flex-direction: column;
}
.modal .modal-inner-wrap {
  position: relative;
  padding: 3.2rem;
  z-index: 1;
}
.modal .modal-inner-wrap .wrap {
  padding: 3.2rem;
}
body.first-load .modal {
  display: none;
}
.modal:not(.show) iframe {
  -webkit-transform: translateY(100vw);
  -moz-transform: translateY(100vw);
  -ms-transform: translateY(100vw);
  -o-transform: translateY(100vw);
  transform: translateY(100vw);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
  /* FF Hack for sharper renders */
}
.modal.show {
  visibility: visible;
  opacity: 0.99999;
  transition-delay: 0s;
}

body.search-open .modal.search-modal {
  visibility: visible;
  opacity: 0.99999;
  transition-delay: 0s;
}

.search-modal form {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  /* Safari 7.0+ */
  justify-content: center;
  -webkit-align-items: center;
  /* Safari 7.0+ */
  align-items: center;
  width: 100%;
  height: 100%;
  margin: 0 auto;
}
.search-modal input {
  width: 100%;
  font-size: inherit !important;
  text-align: center;
  border-width: 0;
  will-change: transform;
  -webkit-transition: transform 0.4s ease-in-out;
  -moz-transition: transform 0.4s ease-in-out;
  -o-transition: transform 0.4s ease-in-out;
  transition: transform 0.4s ease-in-out;
}
body:not(.search-open) .search-modal input {
  -webkit-transform: translateY(-5rem);
  -moz-transform: translateY(-5rem);
  -ms-transform: translateY(-5rem);
  -o-transform: translateY(-5rem);
  transform: translateY(-5rem);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
  /* FF Hack for sharper renders */
}

#loading-indicator-overlay {
  background-color: rgba(0, 0, 0, 0.3);
}
#loading-indicator-overlay svg {
  width: 100px;
  height: 100px;
  color: red;
  -webkit-animation-name: spin;
  -webkit-animation-duration: 2000ms;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  -moz-animation-name: spin;
  -moz-animation-duration: 2000ms;
  -moz-animation-iteration-count: infinite;
  -moz-animation-timing-function: linear;
  -ms-animation-name: spin;
  -ms-animation-duration: 2000ms;
  -ms-animation-iteration-count: infinite;
  -ms-animation-timing-function: linear;
  animation-name: spin;
  animation-duration: 2000ms;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

@-ms-keyframes spin {
  from {
    -ms-transform: rotate(0);
  }
  to {
    -ms-transform: rotate(360deg);
  }
}
@-moz-keyframes spin {
  from {
    -moz-transform: rotate(0);
  }
  to {
    -moz-transform: rotate(360deg);
  }
}
@-webkit-keyframes spin {
  from {
    -webkit-transform: rotate(0);
  }
  to {
    -webkit-transform: rotate(360deg);
  }
}
@keyframes spin {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
.balance-text {
  text-rendering: optimizeLegibility;
}

@media all and (orientation: landscape) {
  .landscape-portrait-wrap .portrait-image {
    opacity: 0 !important;
    visibility: hidden !important;
    display: none !important;
  }
}
@media all and (orientation: portrait) {
  .landscape-portrait-wrap .landscape-image {
    opacity: 0 !important;
    visibility: hidden !important;
    display: none !important;
  }
}

[data-sizes=auto] {
  width: 100%;
}

[data-src] {
  opacity: 0;
  will-change: opacity;
  -webkit-transition: opacity 0.2s ease-in-out;
  -moz-transition: opacity 0.2s ease-in-out;
  -o-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
}
[data-src] + .inline-caption {
  opacity: 0;
  will-change: opacity;
  -webkit-transition: opacity 0.2s ease-in-out;
  -moz-transition: opacity 0.2s ease-in-out;
  -o-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
}
[data-src].lazyloaded {
  opacity: 1;
}
[data-src].lazyloaded + .inline-caption {
  opacity: 1;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  [data-src] {
    opacity: 1;
  }
  [data-src] + .inline-caption {
    opacity: 1;
  }
}

[data-video] {
  opacity: 0;
  will-change: opacity;
  -webkit-transition: opacity 0.2s ease-in-out;
  -moz-transition: opacity 0.2s ease-in-out;
  -o-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
}
[data-video][data-loaded] {
  opacity: 1;
}

.hero-intro {
  position: relative;
}
@media only screen and (min-width: 700px) {
  .hero-intro .hero-text {
    width: 61.8%;
  }
}

.object-cover {
  background: #eee;
}
.object-contain.contain-top, .object-contain .contain-top {
  object-position: top;
}

.admin-edit {
  position: fixed;
  bottom: 1.6rem;
  right: 1.6rem;
}
.admin-edit a:hover, .admin-edit a:focus-within, .admin-edit a:focus:not(:active) {
  color: var(--bgColor);
}

.social-media {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}
.social-media li {
  margin: 0 0.8rem;
}
.social-media svg {
  width: 2.4rem;
  height: 2.4rem;
}
.social-media a {
  display: block;
}
.social-media a:hover, .social-media a:focus-within, .social-media a:focus:not(:active) {
  background-color: var(--bgColor);
  box-shadow: 0 0 0 1px var(--highlight), inset 0 0 0 1px var(--highlight);
}
.social-media a:hover svg, .social-media a:focus-within svg, .social-media a:focus:not(:active) svg {
  fill: var(--highlight);
}

.caption {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 1.6rem 4.8rem;
  min-height: 4.8rem;
  z-index: 2;
  text-align: left;
  font-size: 72.2222222222%;
  line-height: 1.6rem;
  background-color: var(--textColor);
  color: var(--bgColor);
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s linear 0.1s, opacity 0.1s linear;
  will-change: visibility, opacity;
}
.caption.show {
  visibility: visible;
  opacity: 0.99999;
  transition-delay: 0s;
}
.caption a {
  color: var(--bgColor) !important;
}
@media only screen and (max-width: 399px) {
  .caption {
    display: none;
  }
}

.caption-icon {
  position: absolute;
  bottom: 1.2rem;
  right: 0.8rem;
  padding: 0.8rem;
  cursor: pointer;
  z-index: 3;
  background-color: var(--textColor);
  border-radius: 50%;
}
.caption-icon svg {
  fill: var(--bgColor);
  width: 0.8rem;
  height: 0.8rem;
  will-change: transform;
  -webkit-transition: transform 0.1s ease-in-out;
  -moz-transition: transform 0.1s ease-in-out;
  -o-transition: transform 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out;
}
.caption-icon:hover, .caption-icon:focus-within, .caption-icon:focus:not(:active) {
  box-shadow: 0 0 0 1px var(--highlight);
  background-color: var(--highlight);
}
.caption.show + .caption-icon {
  background-color: var(--textColor);
}
.caption.show + .caption-icon svg {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
  /* FF Hack for sharper renders */
}
.caption.show + .caption-icon:hover, .caption.show + .caption-icon:focus-within, .caption.show + .caption-icon:focus:not(:active) {
  background-color: var(--highlight);
}
@media only screen and (max-width: 399px) {
  .caption-icon {
    display: none;
  }
}

.post-intro ul {
  display: inline-block;
  list-style: none;
  padding: 0 !important;
}
.post-intro ul li {
  display: inline-block;
}
.post-intro ul li + li {
  margin-left: 0.5ex;
}
.post-intro ul + ul {
  margin-left: 0.5ex;
  margin-top: 0;
}
.post-intro ul + small {
  margin-top: 1.6rem;
}
.post-intro small {
  display: block;
  line-height: 1.6rem;
}

.locations li {
  padding-bottom: 1em;
}

.wp-caption {
  width: 100% !important;
}
.wp-caption img {
  height: auto;
}

.screenreader-text {
  position: absolute;
  left: -9999px;
  width: 0;
  height: 0;
  overflow: hidden;
}

.content hr {
  max-width: 1920px;
}
@media screen and (min-width: 1920px) {
  .content hr {
    margin: 0 auto;
  }
}

.content > section:not(.hero):first-child {
  padding-top: 9.6rem;
}

@media only screen and (max-width: 768px) and (max-height: 400px) {
  .content {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
  }
}
pre.admin-pre {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  width: auto;
  max-width: 50vw;
  background-color: rgba(var(--textRGB), 0.9);
  color: var(--bgColor);
  font: 1.6rem/1.5 monospace;
  padding: 14rem 6.4rem 3.2rem 3.2rem;
  overflow: auto;
  z-index: 100;
  font-family: monospace;
  white-space: pre;
  border-right: 2px solid red;
}
pre.admin-pre:not(:hover) {
  width: 6.4rem;
}

.project-overview .studio-term-list {
  margin: 0;
}
.project-overview .overview-media img {
  object-position: center;
  position: sticky;
  top: 7rem;
  aspect-ratio: 1.5;
}
.project-overview .overview-media.media-wide .overview-media-container {
  width: 100%;
  height: auto;
}
.project-overview .overview-media.media-tall {
  width: 100%;
}
.project-overview .overview-media.media-tall:not(.contains-slideshow) .overview-media-container {
  overflow: hidden;
}
.project-overview .overview-media.media-tall .overview-media-container {
  aspect-ratio: 0.8;
  height: 100%;
}
@media screen and (min-width: 700px) {
  .project-overview .overview-media.media-tall .overview-media-container {
    height: 500px;
  }
}
.project-overview .overview-media.media-tall .overview-media-container img {
  height: 100% !important;
  width: 100%;
}
.project-overview .overview-media.media-tall .overview-media-container .slick-track {
  aspect-ratio: 0.8;
}
.project-overview .overview-media.media-tall .overview-media-container .slide-image {
  aspect-ratio: 0.8;
}
.project-overview .overview-media.media-tall img {
  aspect-ratio: 0.8;
}
.project-overview .overview-featured-image {
  aspect-ratio: 1.5;
}
@media screen and (max-width: 699px) {
  .project-overview .overview-featured-image {
    height: auto !important;
    margin-top: 20px;
  }
}
@media screen and (min-width: 700px) {
  .project-overview .overview-featured-image {
    position: sticky;
    top: 7rem;
  }
}
.project-overview .overview-featured-image img {
  width: 100%;
  aspect-ratio: 1.5;
  object-fit: cover;
  object-position: left;
}
@media screen and (max-width: 700px) {
  .project-overview .overview-featured-image img {
    height: 100%;
  }
}
@media screen and (min-width: 700px) {
  .project-overview .overview-featured-image img {
    object-position: top;
  }
}
@media screen and (min-width: 700px) {
  .project-overview .project-overview-body .intro.wrap {
    padding-top: 0 !important;
  }
}
@media only screen and (min-width: 1200px) {
  .project-overview .text-wrap {
    padding-top: 0;
    padding-left: 4rem !important;
  }
}

.studio-term-list a {
  text-decoration: none;
}

.one-fifty-five {
  font-size: 366.6666666667%;
}

.wrap.filter-grid-container {
  padding-top: 30px;
}

#fullscreen.invert button:not(.button):hover, #fullscreen.invert button:not(.button):focus-within, #fullscreen.invert button:not(.button):focus:not(:active) {
  color: var(--inverted-highlight);
}
#fullscreen.invert button:not(.button):hover svg, #fullscreen.invert button:not(.button):hover path, #fullscreen.invert button:not(.button):hover rect, #fullscreen.invert button:not(.button):focus-within svg, #fullscreen.invert button:not(.button):focus-within path, #fullscreen.invert button:not(.button):focus-within rect, #fullscreen.invert button:not(.button):focus:not(:active) svg, #fullscreen.invert button:not(.button):focus:not(:active) path, #fullscreen.invert button:not(.button):focus:not(:active) rect {
  fill: var(--inverted-highlight);
}

#error-modal {
  background-color: var(--bgColor);
}

@media screen and (max-width: 699px) {
  .contact h4, .contact .h4, .services h4, .services .h4 {
    font-size: 2rem;
  }
}

body.top-down {
  display: block;
  height: 100%;
}
body.top-down footer {
  position: absolute;
  bottom: 0;
}

.splash {
  position: relative;
  top: 0;
  padding-bottom: 1px;
}
.splash .header-padding {
  padding: 3.2rem;
  height: 3.2rem;
}
@media only screen and (min-width: 700px) {
  .splash .header-padding {
    padding: 3.2rem;
    height: 9.6rem;
  }
}
.splash .splash-video.video-playing .image-overlay {
  visibility: hidden;
}
.splash .splash-video.video-playing .play-toggle {
  visibility: hidden;
}
.splash .splash-content {
  margin-bottom: 140px;
}
.splash .video-wrapper {
  text-align: center;
  height: 75%;
  aspect-ratio: 16/9;
  max-width: 100%;
  margin: 0 auto;
  max-height: 70vh;
}
.splash .video-wrapper .tagline {
  text-align: left;
  padding-left: 0;
  line-height: 1.2;
}
@media screen and (max-width: 699px) {
  .splash .video-wrapper .tagline h3 {
    font-size: 3rem;
  }
}
.splash .video-wrapper video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 1920px) {
  .splash .video-wrapper video {
    max-width: 1920px;
  }
}
.splash .video-wrapper .video-content {
  position: relative;
}
.splash .video-wrapper .video-content .image-overlay {
  position: absolute;
  top: 0;
}
.splash .video-wrapper .video-content .image-overlay img {
  filter: brightness(90%);
}
.splash .video-wrapper .video-content .play-toggle {
  position: absolute;
  top: calc(50% - 30px);
  left: calc(50% - 20px);
  width: 50px;
  height: 50px;
  transform: scale(0.35) translate(-60px, -81px);
}
.splash .video-wrapper .video-content .play-toggle svg {
  fill: white;
  height: 20px;
  width: 20px;
  opacity: 100%;
}

.services-block {
  margin-top: 0;
  padding-top: 2.4rem !important;
}

.news-primary-image {
  aspect-ratio: 1.5;
}
.news-primary-image figcaption {
  font-size: 1.7rem;
}
@media screen and (max-width: 699px) {
  .news-primary-image {
    margin-bottom: 30px;
  }
}
.news-primary-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  aspect-ratio: 1.5;
}

.discover-more-link {
  text-decoration: none !important;
  border-bottom: 1px solid var(--textColor);
  display: inline-block;
  height: 2.3rem;
}
.discover-more-link span svg {
  height: 13px;
  width: 12px;
  stroke: var(--textColor);
  stroke-width: 7px;
  display: inline-block;
}
.discover-more-link h5 {
  display: inline-block;
}
.discover-more-link:hover, .discover-more-link:focus-within, .discover-more-link:focus:not(:active) {
  border-bottom: 1px solid var(--highlight);
}
.discover-more-link:hover span svg, .discover-more-link:focus-within span svg, .discover-more-link:focus:not(:active) span svg {
  stroke: var(--highlight);
}

@media screen and (max-width: 699px) {
  .team-member-info {
    display: flex;
    flex-direction: column-reverse;
  }
}

.team-essential-details h1 {
  display: inline-block;
  margin-right: 1rem;
}
.team-essential-details h4 {
  margin-top: 0;
}
@media screen and (max-width: 699px) {
  .team-essential-details h1 {
    line-height: 0.9;
  }
}
@media screen and (min-width: 700px) {
  .team-essential-details h1 {
    font-size: 70px;
  }
}

.team-credentials-and-title {
  padding-top: 1.28rem;
}

@media screen and (min-width: 700px) {
  .team-background-details {
    padding-top: 4.8rem !important;
  }
}
.team-background-details .pronouns {
  display: inline-block;
}

.modal-close.on-page {
  top: 80px;
  right: 32px;
}
@media screen and (min-width: 700px) {
  .modal-close.on-page {
    top: 110px;
    right: 65px;
  }
}

@media screen and (max-width: 700px) {
  .project-details > .wrap.slim-bottom {
    padding-bottom: 0 !important;
  }

  .discover-related-posts .wrap.section-title-wrap {
    padding-top: 2.4rem !important;
  }

  .discover-related-posts-divider {
    display: none;
  }
}
img.autocenter {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.home {
  overflow: hidden;
}
.home > section {
  margin: 30px 0;
}
.home .hero-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: fill;
}
.home .hero-wrapper {
  width: 100%;
  height: 90px;
  overflow: hidden;
  text-align: center;
  margin-bottom: 1em;
}
.home .home-intro {
  display: flex;
  align-items: center;
  margin-top: 150px;
  margin-bottom: 150px;
}
.home .home-intro h3 {
  margin: 1rem 0;
}
.home .home-intro .wrap.left-indent {
  padding-left: 3em;
  padding-bottom: 0;
}
@media only screen and (min-width: 700px) {
  .home .home-intro .wrap.left-indent {
    padding-left: 7em;
  }
}
@media only screen and (min-width: 1024px) {
  .home .home-intro .wrap.left-indent {
    padding-left: 11em;
  }
}
@media only screen and (min-width: 1024px) {
  .home .home-intro {
    margin-top: 180px;
    margin-bottom: 180px;
  }
}
.home section.primary-teasers {
  margin-top: 0;
}

html #animated-title-wrapper {
  position: relative;
  left: 3px;
  bottom: 5rem;
  max-height: 135px;
  max-width: 1000px;
  width: 100%;
  padding-top: calc( 3.2rem + 1rem );
}
html #animated-title-wrapper svg g {
  fill: var(--textColor);
}

.site-footer-contents {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 3rem 4rem;
  margin: 0 auto;
  max-width: 1920px;
}
@media only screen and (min-width: 900px) {
  .site-footer-contents {
    justify-content: space-between;
    flex-direction: row;
  }
  .site-footer-contents .sm-light-dark-container {
    display: block;
    bottom: -18px;
    position: relative;
  }
}

#site-footer {
  font-family: "Neuzeit Grotesk", Helvetica, sans-serif;
  width: 100%;
  background-color: #000000;
  border-top: 2px solid #FFFFFF;
  border-right: none;
  border-bottom: none;
  border-left: none;
  color: #FFFFFF;
}
#site-footer a:not(.button):hover {
  color: #D9C567;
}
#site-footer .footer-menu {
  display: flex;
  list-style: none !important;
  cursor: default;
  justify-content: flex-start;
  margin-top: 1em;
}
#site-footer .footer-menu.text-links {
  text-transform: uppercase;
}
@media only screen and (min-width: 900px) {
  #site-footer .footer-menu {
    justify-content: flex-end;
    position: relative;
    bottom: 0px;
  }
  #site-footer .footer-menu.social-media {
    margin-top: 0;
  }
  #site-footer .footer-menu.light-dark-menu {
    width: 100%;
  }
}
#site-footer .toggle-mode svg {
  background-color: #000000;
}
#site-footer .toggle-mode svg path {
  stroke: #FFFFFF;
  fill: #FFFFFF;
}
#site-footer .toggle-mode svg circle {
  stroke: #FFFFFF;
  fill: #000000;
}
#site-footer .toggle-mode:hover {
  cursor: pointer;
}
#site-footer .toggle-mode:hover svg {
  background-color: #000000;
}
#site-footer .toggle-mode:hover svg path {
  stroke: #D9C567;
  fill: #D9C567;
}
#site-footer .toggle-mode:hover svg circle {
  stroke: #D9C567;
}
#site-footer .branding {
  width: 300px;
}
#site-footer .menus {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  width: 100%;
}
#site-footer .menus a {
  text-decoration: none;
}
#site-footer .menus ul.social-media {
  display: flex;
  justify-content: flex-start;
  gap: 30px;
  width: 100%;
}
@media screen and (min-width: 1024px) {
  #site-footer .menus ul.social-media {
    justify-content: space-between;
  }
}
#site-footer .menus .social-media li {
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  position: relative;
}
#site-footer .menus .social-media li a.fill-on-hover:hover {
  cursor: pointer;
  background-color: #FFFFFF;
  border-color: #000000;
  box-shadow: none;
}
#site-footer .menus .social-media li a.fill-on-hover:hover svg path, #site-footer .menus .social-media li a.fill-on-hover:hover svg rect, #site-footer .menus .social-media li a.fill-on-hover:hover svg circle {
  fill: #D9C567;
}
#site-footer .menus .social-media li circle {
  fill: #FFFFFF;
}
#site-footer .menus .social-media li[data-label=facebook] {
  width: 9px;
}
#site-footer .menus .social-media li[data-label=instagram] {
  width: 21px;
}
#site-footer .menus .social-media li[data-label=twitter] {
  width: 23px;
}
#site-footer .menus .social-media li[data-label=linkedin] {
  width: 23px;
  bottom: 2px;
}
#site-footer .menus .social-media li[data-label=email] svg path, #site-footer .menus .social-media li[data-label=email] svg rect {
  fill: white;
}
@media only screen and (min-width: 900px) {
  #site-footer .menus {
    justify-content: flex-end;
    width: auto;
  }
  #site-footer .menus .social-and-text-links {
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-end;
  }
  #site-footer .menus .social-and-text-links .social-media {
    margin-left: 30px;
    width: auto;
  }
}
#site-footer .menus svg {
  fill: #FFFFFF;
  background: #000000;
}
#site-footer a.button, #site-footer .admin-edit a, .admin-edit #site-footer a {
  color: #FFFFFF;
  background: #000000;
  border: 1px solid #FFFFFF;
}
#site-footer a.button:hover, #site-footer .admin-edit a:hover, .admin-edit #site-footer a:hover {
  color: #000000;
  background: #D9C567;
  border: 1px solid #D9C567;
}

.search {
  background-color: var(--bgColor);
}
.search.wrap {
  margin-top: 3rem;
}
.search form.search-form {
  position: relative;
}
.search form.search-form input[type=text]::-ms-clear {
  display: none;
  width: 0;
  height: 0;
}
.search form.search-form input[type=text]::-ms-reveal {
  display: none;
  width: 0;
  height: 0;
}
.search form.search-form input[type=search]::-webkit-search-decoration,
.search form.search-form input[type=search]::-webkit-search-cancel-button,
.search form.search-form input[type=search]::-webkit-search-results-button,
.search form.search-form input[type=search]::-webkit-search-results-decoration {
  display: none;
}
.search form.search-form input {
  font-family: "Neuzeit Grotesk";
  font-style: normal;
  font-size: 25px;
  line-height: 40px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 33px;
  border-bottom: 1px solid var(--textColor);
  color: var(--textColor);
  width: 98%;
  position: relative;
}
@media only screen and (min-width: 400px) {
  .search form.search-form input {
    font-size: 35px;
    line-height: 50px;
  }
}
@media only screen and (min-width: 700px) {
  .search form.search-form input {
    font-size: 60px;
    line-height: 65px;
  }
}
@media only screen and (min-width: 1024px) {
  .search form.search-form input {
    font-size: 80px;
    line-height: 85px;
  }
}
.search form.search-form ::placeholder {
  color: var(--textColor);
  opacity: 1;
}
.search form.search-form button.search-submit {
  width: 50px;
  height: 50px;
  transform: scale(0.4);
  position: absolute;
  right: 1rem;
  top: -1.6rem;
}
.search form.search-form button.search-submit object {
  display: block;
  height: auto;
  position: relative;
  padding-top: 100%;
}
.search form.search-form button.search-submit object svg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (min-width: 400px) {
  .search form.search-form button.search-submit {
    top: -1.5rem;
  }
}
@media only screen and (min-width: 700px) {
  .search form.search-form button.search-submit {
    transform: scale(0.8);
    bottom: 9rem;
    right: 4.5rem;
  }
}
@media only screen and (min-width: 1024px) {
  .search form.search-form button.search-submit {
    transform: scale(1);
    bottom: 11rem;
    right: 5.8rem;
  }
}
.search form.search-form button.search-submit svg:hover path, .search form.search-form button.search-submit svg:focus-within path, .search form.search-form button.search-submit svg:focus:not(:active) path {
  stroke: var(--highlight);
}
.search form.search-form button.search-submit svg path {
  stroke: var(--textColor);
  fill: none;
}
.search .no-search-results {
  min-height: 500px;
}
.search .result-row {
  border-bottom: 1px solid var(--textColor);
  padding-bottom: 50px;
}
.search .result-row h3.subtitle {
  margin: 60px 0px;
}
.search .result-row .grid-item-inner {
  color: var(--textColor);
}
.search .result-row .grid-item-inner span {
  font-style: normal;
  font-weight: 700;
  font-size: 13px;
  line-height: 15px;
  text-transform: capitalize;
  color: var(--textColor);
  opacity: 0.8;
}
.search .result-row .grid-item-inner span.date {
  float: right;
}
.search .result-row .flex-grid .grid-item a:hover .grid-item-inner {
  color: var(--highlight);
}
.search .result-row .flex-grid .grid-item a:hover .grid-item-inner span {
  color: var(--highlight);
}
@media screen and (min-width: 700px) {
  .search .result-row.team .grid-item {
    width: 20%;
  }
  .search .result-row.team .grid-item .grid-image {
    position: static;
    height: auto;
    padding-bottom: 0;
    aspect-ratio: 260/327;
  }
  .search .result-row.team .grid-item img {
    position: static;
  }
}
@media screen and (max-width: 699px) {
  .search .result-row.team .grid-image {
    aspect-ratio: auto;
    max-height: 240px;
  }
  .search .result-row.team .grid-image img {
    width: auto;
    position: relative;
    margin: 0 auto;
  }
  .search .result-row.team .grid-item {
    width: 100%;
    text-align: center;
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 700px) {
  .search .result-row.news .grid-item {
    width: 33%;
  }
}
.search .result-row .see-more-link {
  color: var(--textColor);
  padding: 20px;
}
.search .result-row a.button:hover, .search .result-row .admin-edit a:hover, .admin-edit .search .result-row a:hover, .search .result-row a.button:focus-within, .search .result-row .admin-edit a:focus-within, .admin-edit .search .result-row a:focus-within, .search .result-row a.button:focus:not(:active), .search .result-row .admin-edit a:focus:not(:active), .admin-edit .search .result-row a:focus:not(:active) {
  color: var(--bgColor) !important;
}

.search-header {
  display: none;
  width: 100%;
  height: 100px;
  padding-left: 2.6rem;
  padding-right: 2rem;
}
@media only screen and (min-width: 770px) {
  .search-header {
    padding-right: 6.4rem;
  }
}
@media only screen and (min-width: 1024px) {
  .search-header {
    padding-right: 9.6rem;
  }
}
.search-header .home-link {
  top: 0rem;
  width: 40px;
  position: absolute;
}
@media only screen and (min-width: 700px) {
  .search-header .home-link {
    width: 79px;
    top: 1.4rem;
  }
}
@media only screen and (min-width: 769px) {
  .search-header .home-link {
    left: 6.4rem;
  }
}
@media only screen and (min-width: 1024px) {
  .search-header .home-link {
    left: 9.6rem;
    width: auto;
  }
}
.search-header .home-link svg {
  height: 6.9rem;
}
.search-header .search-header-inner {
  margin: 0 auto;
  position: relative;
}
.search-header.visible {
  display: block;
}
.search-header .close-search-wrapper {
  position: absolute;
  right: 0;
  width: 30px;
  height: 30px;
}
.search-header .close-search {
  width: 100%;
  height: 100%;
  position: absolute;
  padding: 0;
  right: 0;
  top: 50px;
  transform: scale(2);
}
.search-header .close-search object {
  display: block;
  height: auto;
  position: relative;
  padding-top: 100%;
}
.search-header .close-search object svg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.search-header .close-search:hover path, .search-header .close-search:focus-within path, .search-header .close-search:focus:not(:active) path {
  fill: var(--highlight);
}

#search-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 500px;
  background-color: var(--bgColor);
  overflow-y: scroll;
}
#search-overlay.visible {
  display: block;
}

.media-text-only {
  display: flex;
  flex-direction: row;
  width: 100%;
}
.media-text-only ul {
  padding-left: 2rem;
}
.media-text-only li {
  list-style: disc;
}
@media only screen and (min-width: 1024px) {
  .media-text-only.left-column {
    justify-content: flex-start;
  }
  .media-text-only.left-column > div {
    width: 50%;
  }
  .media-text-only.right-column {
    justify-content: flex-end;
  }
  .media-text-only.right-column > div {
    width: 50%;
  }
  .media-text-only.full-width > div {
    width: 100%;
  }
}

.work-quote {
  font-family: "GoodPro-NarrMedium", "Arial Narrow", Helvetica, sans-serif;
}
.work-quote q {
  font-size: 150%;
}

.project-details .grid-item {
  padding-left: 0;
}
.project-details .grid-item:last-child {
  padding-right: 0;
}

.pause_icon {
  background: transparent;
  border-bottom: 0;
  border-left: 7px solid #22181C;
  border-right: transparent;
  border-top: 0;
  cursor: pointer;
  display: block;
  height: 25px;
  left: 30px;
  position: absolute;
  top: 30px;
  width: 0;
  z-index: 99;
}
.pause_icon:before {
  content: "";
  position: absolute;
  bottom: 0;
  margin-left: 1px;
  background: #22181C;
  width: 7px;
  height: 100%;
}

.missing-image {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--textColor);
}
.missing-image svg {
  width: 50%;
  fill: var(--bgColor);
}

.primary-teaser-wrapper {
  position: relative;
}
.primary-teaser-wrapper .slide-image img {
  width: 100%;
  object-fit: fill;
  aspect-ratio: 16/9;
}
.primary-teaser-wrapper .slideshow-container button {
  display: none !important;
}
.primary-teaser-wrapper .primary-teaser-main {
  display: flex;
  flex-direction: column-reverse;
}
@media only screen and (min-width: 1024px) {
  .primary-teaser-wrapper .slide-image img {
    object-fit: cover;
    width: 614px;
    height: 361px;
    aspect-ratio: 1.5;
  }
  .primary-teaser-wrapper .primary-teaser-main {
    flex-direction: row;
    align-content: center;
    justify-content: center;
    align-items: stretch;
    width: 100%;
    margin: 0 auto;
    gap: 40px;
  }
  .primary-teaser-wrapper .primary-teaser-main > div {
    position: relative;
  }
  .primary-teaser-wrapper .primary-teaser-main > div.slideshow-container {
    display: flex;
    order: 1;
    width: 60%;
    max-width: 614px;
  }
  .primary-teaser-wrapper .primary-teaser-main > div.slideshow-container .slick-slide {
    max-height: 400px;
  }
  .primary-teaser-wrapper .primary-teaser-main > div.intro-text-container {
    order: 2;
    width: 40%;
    padding-right: 40px;
    min-height: 100%;
  }
  .primary-teaser-wrapper .primary-teaser-main .slick-list {
    width: 100%;
  }
  .primary-teaser-wrapper .primary-teaser-main .wrap {
    padding: 0;
    margin: 0;
  }
}
@media only screen and (min-width: 1024px) and (min-width: 1400px) {
  .primary-teaser-wrapper .primary-teaser-main {
    width: 1400px;
  }
}
@media only screen and (min-width: 1024px) and (min-width: 2000px) {
  .primary-teaser-wrapper .primary-teaser-main {
    width: 2000px;
  }
}
.primary-teaser-wrapper .slide {
  width: 600px;
}
.primary-teaser-wrapper .slide img {
  background-size: cover;
}

.wide-slide-grid-wrapper .wide-slide-grid {
  position: relative;
  overflow-x: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.wide-slide-grid-wrapper .wide-slide-grid::-webkit-scrollbar {
  display: none;
}
.wide-slide-grid-wrapper .wide-slide-grid .wide-slide-grid-inner-wrapper {
  width: 1400px;
}
@media only screen and (min-width: 700px) {
  .wide-slide-grid-wrapper .wide-slide-grid .wide-slide-grid-inner-wrapper {
    width: 1600px;
  }
}
@media only screen and (min-width: 1024px) {
  .wide-slide-grid-wrapper .wide-slide-grid .wide-slide-grid-inner-wrapper {
    width: 150%;
  }
}
.wide-slide-grid-wrapper .wide-slide-grid .wide-slide-grid-inner {
  width: 50000px;
  position: relative;
  display: flex;
  gap: 30px;
  margin: 0;
}
.wide-slide-grid-wrapper .wide-slide-grid .wide-slide-grid-inner .grid-image {
  padding-bottom: 58%;
  aspect-ratio: 1.5;
  height: auto;
}
.wide-slide-grid-wrapper .wide-slide-grid .wide-slide-grid-inner .grid-image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.wide-slide-grid-wrapper .wide-slide-grid a {
  text-decoration: none;
}
.wide-slide-grid-wrapper .wide-slide-grid a:hover {
  text-decoration: underline;
}
.wide-slide-grid-wrapper .wide-slide-grid .grid-item.hidden {
  display: none;
}
.wide-slide-grid-wrapper .arrow-wrapper {
  position: absolute;
  height: 100%;
  display: block;
  overflow: hidden;
  text-align: center;
}
.wide-slide-grid-wrapper .arrow-wrapper.left {
  left: 0;
  top: 0;
}
@media screen and (min-width: 700px) {
  .wide-slide-grid-wrapper .arrow-wrapper.left svg {
    padding: 3px 4px 3px 2px;
  }
}
.wide-slide-grid-wrapper .arrow-wrapper.right {
  right: 0;
  top: 0;
}
@media screen and (min-width: 700px) {
  .wide-slide-grid-wrapper .arrow-wrapper.right svg {
    padding: 3px 2px 3px 4px;
  }
}
.wide-slide-grid-wrapper svg {
  position: relative;
  box-sizing: border-box;
  width: 23px;
  height: 23px;
  margin: 5px;
  top: 40%;
  padding: 3px;
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
}
.wide-slide-grid-wrapper svg path {
  stroke: var(--textColor);
  stroke-width: 7px;
}
.wide-slide-grid-wrapper svg:hover, .wide-slide-grid-wrapper svg:focus {
  background-color: var(--highlight);
}
.wide-slide-grid-wrapper svg:hover path, .wide-slide-grid-wrapper svg:focus path {
  stroke: var(--bgColor);
}
@media screen and (min-width: 700px) {
  .wide-slide-grid-wrapper svg {
    width: 30px;
    height: 30px;
  }
  .wide-slide-grid-wrapper svg path {
    stroke-width: 7px;
  }
}

.home-v2 .wide-slide-grid-wrapper {
  margin: 0 3.2rem;
}
@media only screen and (min-width: 769px) {
  .home-v2 .wide-slide-grid-wrapper {
    margin: 0 6.4rem;
  }
}
@media only screen and (min-width: 1024px) {
  .home-v2 .wide-slide-grid-wrapper {
    margin: 0 9.6rem;
  }
}
@media only screen and (min-width: 1920px) {
  .home-v2 .wide-slide-grid-wrapper {
    position: relative;
    margin: 0 auto;
    position: relative;
    padding: 0 9.6rem;
    max-width: 1920px;
  }
}
@media only screen and (min-width: 769px) {
  .home-v2 .wide-slide-grid-wrapper .arrow-wrapper.left {
    left: 1.6rem;
  }
}
@media only screen and (min-width: 1024px) {
  .home-v2 .wide-slide-grid-wrapper .arrow-wrapper.left {
    left: 3.2rem;
  }
}
@media only screen and (min-width: 769px) {
  .home-v2 .wide-slide-grid-wrapper .arrow-wrapper.right {
    right: 1.6rem;
  }
}
@media only screen and (min-width: 1024px) {
  .home-v2 .wide-slide-grid-wrapper .arrow-wrapper.right {
    right: 3.2rem;
  }
}

.image-and-text-teasers {
  width: 100%;
}
.image-and-text-teasers a {
  text-decoration: none;
}
.image-and-text-teasers a:hover {
  text-decoration: none;
}
.image-and-text-teasers .grid-items .grid-item {
  width: 100%;
}
.image-and-text-teasers .grid-items .grid-image {
  padding-bottom: 55%;
}
.image-and-text-teasers .grid-items .terms-list {
  opacity: 50%;
  font-family: "GoodPro-NarrMedium";
  font-size: 1.5rem;
  padding-bottom: 0.5rem;
  font-weight: bold;
}
.image-and-text-teasers .grid-items img {
  aspect-ratio: 1.5;
  object-fit: cover;
}
@media only screen and (min-width: 769px) {
  .image-and-text-teasers .grid-items {
    display: flex;
    width: 100%;
    gap: 20px;
    justify-content: space-evenly;
  }
}
@media only screen and (min-width: 1024px) {
  .image-and-text-teasers .grid-items {
    width: 65%;
  }
  .image-and-text-teasers .grid-items .grid-item {
    width: 50%;
  }
}
.image-and-text-teasers .list-items dl dt {
  border-top: none;
  border-bottom: 2px solid;
}
.image-and-text-teasers .list-items .list-item:first-child .list-item-inner {
  padding-top: 0;
}
.image-and-text-teasers .list-items .item-date {
  opacity: 50%;
  font-family: "GoodPro-NarrMedium";
  font-size: 1.4rem;
  font-weight: bold;
}
.image-and-text-teasers .list-items .list-item-inner {
  padding: 2rem 0;
}
@media only screen and (min-width: 1024px) {
  .image-and-text-teasers .list-items {
    width: 40%;
  }
}
@media only screen and (min-width: 1024px) {
  .image-and-text-teasers {
    display: flex;
    gap: 40px;
  }
}
@media only screen and (min-width: 769px) {
  .image-and-text-teasers.one-item-only .grid-items {
    justify-content: flex-start;
  }
  .image-and-text-teasers.one-item-only .grid-items .grid-item {
    margin-left: 0;
    margin-right: 0;
  }
}

.fullwidth-teaser-part {
  line-height: normal;
  width: 100%;
}
.fullwidth-teaser-part .image-wrap {
  position: relative;
}
.fullwidth-teaser-part .image-wrap img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 1.7777777778;
}
.fullwidth-teaser-part .teaser-overlay {
  position: absolute;
  top: 0;
  left: 0;
  color: white;
  background-color: rgba(0, 0, 0, 0.3);
  height: 100%;
  width: 100%;
}
@media screen and (max-width: 699px) {
  .fullwidth-teaser-part .teaser-content {
    padding-top: 0;
    padding-bottom: 0;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
  }
}
@media screen and (min-width: 700px) {
  .fullwidth-teaser-part .teaser-content {
    position: absolute;
    left: 0;
    bottom: 0;
  }
  .fullwidth-teaser-part .teaser-content .teaser-heading {
    margin: 1rem 0;
    padding: 0;
  }
}
.fullwidth-teaser-part .teaser-content .teaser-heading {
  font-weight: 700;
  font-size: 24px;
  font-family: "Neuzeit Grotesk";
}
.fullwidth-teaser-part .teaser-content .teaser-caption {
  padding: 0;
  margin: 1rem 0;
  font-weight: 700;
  font-size: 18px;
  font-family: "Neuzeit Grotesk";
}
@media only screen and (min-width: 700px) {
  .fullwidth-teaser-part .teaser-content .teaser-heading {
    font-size: 36px;
  }
  .fullwidth-teaser-part .teaser-content .teaser-caption {
    font-size: 20px;
  }
}
@media only screen and (min-width: 1024px) {
  .fullwidth-teaser-part .teaser-content .teaser-heading {
    font-size: 48px;
  }
  .fullwidth-teaser-part .teaser-content .teaser-caption {
    font-size: 20px;
  }
}
.fullwidth-teaser-part .button, .fullwidth-teaser-part .admin-edit a, .admin-edit .fullwidth-teaser-part a {
  color: white;
  background: transparent;
  margin: 1rem 0;
  border-color: #FFF;
}
.fullwidth-teaser-part .button:hover, .fullwidth-teaser-part .admin-edit a:hover, .admin-edit .fullwidth-teaser-part a:hover {
  background: #000;
}

.hero {
  overflow: hidden;
  display: block;
  box-sizing: border-box;
  position: relative;
  aspect-ratio: 21/9;
  margin: 0 auto;
  width: 100%;
  max-width: 1920px;
}
.hero .image-wrap img {
  object-fit: cover;
  object-position: center;
  width: 100%;
}
.hero.hero-slider {
  overflow: visible;
  margin-bottom: 30px;
}
.hero.full-width {
  max-width: 100%;
}
.hero.sixteen-nine {
  aspect-ratio: 16/9;
}
.hero.sixteen-nine img {
  aspect-ratio: 16/9;
}
.hero .overlay-links {
  padding-top: 0.08rem;
}
.hero .overlay-text {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: absolute;
  box-sizing: border-box;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  color: white;
  font-family: "Neuzeit Grotesk", Helvetica, sans-serif;
}
.hero .overlay-text .heading-text {
  font-size: 3rem;
  font-weight: bold;
  padding-bottom: 1rem;
}
@media only screen and (min-width: 700px) {
  .hero .overlay-text .heading-text {
    font-size: 4rem;
  }
}
@media only screen and (min-width: 1024px) {
  .hero .overlay-text .heading-text {
    font-size: 6rem;
  }
}
.hero .overlay-text .body-text {
  font-size: 2rem;
  font-weight: bold;
}
.hero .overlay-text .body-text a:not(.button) {
  text-decoration: none;
}
.hero .overlay-text .body-text a:not(.button):hover {
  text-decoration: underline;
}
.hero .overlay-text .body-text a.button, .hero .overlay-text .body-text .admin-edit a, .admin-edit .hero .overlay-text .body-text a {
  background-color: transparent;
  color: white;
  border-color: white;
  font-size: 1.4rem;
}
.hero .overlay-text .body-text a.button:hover, .hero .overlay-text .body-text .admin-edit a:hover, .admin-edit .hero .overlay-text .body-text a:hover {
  background-color: var(--highlight);
  color: var(--bgColor);
}
@media only screen and (min-width: 700px) {
  .hero .overlay-text .body-text {
    font-size: 2.5rem;
  }
}
@media only screen and (min-width: 1024px) {
  .hero .overlay-text .body-text {
    font-size: 4rem;
  }
}
.hero .slick-list {
  width: 100% !important;
  height: 100% !important;
}
.hero .slide-image {
  width: 100%;
  height: 100%;
}
.hero img {
  aspect-ratio: 21/9;
}

.opening-hero .hero {
  aspect-ratio: 16/9;
}
.opening-hero .hero img {
  aspect-ratio: 16/9;
}
@media screen and (max-width: 768px) {
  .opening-hero .hero {
    aspect-ratio: 9/16;
  }
  .opening-hero .hero img {
    aspect-ratio: 9/16;
  }
}
.opening-hero .hero .overlay-text .heading-text {
  margin-top: 6.08rem;
}
@media only screen and (min-width: 1024px) {
  .opening-hero .hero .overlay-text .heading-text {
    margin-top: 9.6rem;
  }
}

.hero.hero-slider .slideshow.slide-controls-on-bottom .slick-autoplay-toggle-button {
  right: 48px;
}
@media screen and (min-width: 700px) {
  .hero.hero-slider .slideshow.slide-controls-on-bottom .slick-autoplay-toggle-button {
    right: 50px;
  }
}
.hero.hero-slider .slideshow.slide-controls-on-bottom .slick-autoplay-toggle-button .slick-play-icon {
  transform: translate(-64px, -90px) scale(0.07, 0.07);
}
@media screen and (min-width: 700px) {
  .hero.hero-slider .slideshow.slide-controls-on-bottom .slick-autoplay-toggle-button .slick-play-icon {
    transform: translate(-63px, -89px) scale(0.07, 0.07);
  }
}
.hero.hero-slider .slideshow.slide-controls-on-bottom .slick-autoplay-toggle-button .slick-pause-icon {
  transform: translate(-5px, 0) scale(0.6, 0.6);
}
@media screen and (min-width: 700px) {
  .hero.hero-slider .slideshow.slide-controls-on-bottom .slick-autoplay-toggle-button .slick-pause-icon {
    transform: translate(-3.5px, 2px) scale(0.6, 0.6);
  }
}

.video-overlay {
  overflow: hidden;
  display: block;
  box-sizing: border-box;
  position: relative;
  aspect-ratio: 16/9;
  width: 100%;
}
.video-overlay .overlay-text {
  z-index: 10;
}
.video-overlay video {
  position: absolute;
}
.video-overlay img, .video-overlay video {
  aspect-ratio: 16/9;
  object-fit: cover;
  object-position: center;
}
.video-overlay .video-wrap video {
  height: 100%;
  width: 100%;
}
.video-overlay .video-wrap .poster {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.video-overlay .video-wrap .poster img {
  height: 100%;
  width: 100%;
}
.video-overlay .video-wrap .play-toggle {
  position: absolute;
  z-index: 2;
  top: calc(50% - 30px);
  left: calc(50% - 20px);
  width: 50px;
  height: 50px;
  transform: scale(0.35) translate(-60px, -81px);
}
.video-overlay .video-wrap .play-toggle svg {
  fill: white;
  height: 20px;
  width: 20px;
  opacity: 100%;
  position: absolute;
}
.video-overlay .video-wrap .play-toggle:hover {
  cursor: pointer;
}
.video-overlay .video-wrap.video-playing .poster {
  display: none;
}
.video-overlay .video-wrap.video-playing .play-toggle {
  visibility: hidden;
}
.video-overlay .video-wrap.video-playing .play-toggle svg {
  visibility: hidden;
}
.video-overlay.sixteen-nine {
  aspect-ratio: 16/9;
}
.video-overlay.sixteen-nine img {
  aspect-ratio: 16/9;
}
.video-overlay .iframe-wrap {
  height: 100%;
  width: 100%;
  aspect-ratio: 16/9;
}
.video-overlay .iframe-wrap iframe {
  width: 100%;
  height: 100%;
}

.project-overview .video-overlay video {
  position: relative;
}

.pause-animations * {
  animation: none !important;
  transition: none !important;
}

[data-touch-events] select, [data-touch-events] textarea, [data-touch-events] input[type=text], [data-touch-events] input[type=password],
[data-touch-events] input[type=datetime], [data-touch-events] input[type=datetime-local],
[data-touch-events] input[type=date], [data-touch-events] input[type=month], [data-touch-events] input[type=time],
[data-touch-events] input[type=week], [data-touch-events] input[type=number], [data-touch-events] input[type=email],
[data-touch-events] input[type=url] {
  font-size: 16px;
}
