@charset "UTF-8";
@font-face {
  font-family: "Suisse Intl";
  font-style: normal;
  font-weight: normal;
  src: url("../fonts/suisseintl-regular.woff2?v=1") format("woff2"), url("../fonts/suisseintl-regular.woff?v=1") format("woff");
}
@font-face {
  font-family: "Suisse Intl";
  font-style: normal;
  font-weight: bold;
  src: url("../fonts/suisseintl-semibold.woff2?v=1") format("woff2"), url("../fonts/suisseintl-semibold.woff?v=1") format("woff");
}
@font-face {
  font-family: "Suisse Intl Condensed";
  font-style: normal;
  font-weight: bold;
  src: url("../fonts/suisseintlcondensed-bold.woff2?v=1") format("woff2"), url("../fonts/suisseintlcondensed-bold.woff?v=1") format("woff");
}
@font-face {
  font-family: "Suisse Intl Mono";
  font-style: normal;
  font-weight: normal;
  src: url("../fonts/suisseintlmono-regular.woff2?v=1") format("woff2"), url("../fonts/suisseintlmono-regular.woff?v=1") format("woff");
}
@font-face {
  font-family: "Site Icons";
  font-style: normal;
  font-weight: normal;
  src: url("../fonts/icomoon.eot?v=1");
  src: url("../fonts/icomoon.eot?#iefix") format("embedded-opentype"), url("../fonts/icomoon.woff?v=1") format("woff"), url("../fonts/icomoon.ttf?v=1") format("truetype"), url("../fonts/icomoon.svg?v=1") format("svg");
}
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
button {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
}

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

body {
  line-height: 1;
}

body,
input[type=submit],
input[type=button],
button {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

ol,
ul {
  list-style: none;
}

a,
button {
  color: inherit;
}

a {
  text-decoration: none;
}

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

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

input[type=text],
input[type=email],
input[type=password],
input[type=number],
input[type=color],
input[type=submit],
input[type=button],
button,
textarea,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  display: block;
  border: none;
  border-radius: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 1rem;
  line-height: 1rem;
  background: none;
}

input[type=text],
input[type=email],
input[type=password],
input[type=number],
input[type=color],
textarea,
select {
  width: 100%;
}

select::-ms-expand {
  display: none;
}

input[type=radio],
input[type=checkbox],
input[type=color],
input[type=submit],
input[type=button],
button,
select {
  cursor: pointer;
}

input:focus,
.nav__search-form-input:focus {
  outline: none;
  border: 1px #000 solid;
}

textarea {
  resize: none;
}

strong,
b {
  font-weight: bold;
}

em,
i {
  font-style: italic;
}

.flex-container {
  height: 0;
  overflow: hidden;
  position: relative;
}
.flex-container iframe,
.flex-container object {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

img,
object,
video,
audio {
  max-width: 100%;
}

img {
  height: auto;
  display: block;
}

.flex-container {
  padding-bottom: 56.25%;
}

.search__close::before,
.search__reset::before, .search__query::before, .accordion__toggle-icon::before, .three-column-carousel__prev::before,
.three-column-carousel__next::before, .video__play-button::before, .image-carousel__next::before,
.image-carousel__prev::before, .image-carousel__fullscreen-close::before, .image-carousel__fullscreen-open::before, .read-more__button::before, .nav__sub-nav-toggle::after, .nav__close::after, .header__nav-open::after,
.header__energy-toggle__icon::after, .icon::before,
.icon-end::after {
  font-family: "Site Icons";
  vertical-align: middle;
  speak: never;
  font-weight: normal;
  font-style: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
}

.accordion__toggle-icon::before, .read-more__button::before, .nav__sub-nav-toggle::after, .icon--plus::before,
.icon-end--plus::after {
  content: "\e900";
}

.energy-mode .header__energy-toggle__icon::after, .icon--toggle-on::before,
.icon-end--toggle-on::after {
  content: "\e901";
}

.header__energy-toggle__icon::after, .icon--toggle-off::before,
.icon-end--toggle-off::after {
  content: "\e902";
}

.search__close::before, .image-carousel__fullscreen-close::before, .nav__close::after, .icon--close::before,
.icon-end--close::after {
  content: "\e903";
}

.header__nav-open:hover::after, .header__nav-open:focus::after, .icon--burger-hover::before,
.icon-end--burger-hover::after {
  content: "\e904";
}

.header__nav-open::after, .icon--burger::before,
.icon-end--burger::after {
  content: "\e905";
}

.search__reset::before, .icon--undo::before,
.icon-end--undo::after {
  content: "\e907";
}

.image-carousel__fullscreen-open::before, .icon--fullscreen::before,
.icon-end--fullscreen::after {
  content: "\e908";
}

.search__query::before, .icon--search::before,
.icon-end--search::after {
  content: "\e909";
}

.icon--brightness::before,
.icon-end--brightness::after {
  content: "\e90a";
}

.video__play-button::before, .icon--play::before,
.icon-end--play::after {
  content: "\e90b";
}

.three-column-carousel__next::before, .image-carousel__next::before, .icon--arrow-right::before,
.icon-end--arrow-right::after {
  content: "\e90c";
}

.three-column-carousel__prev::before, .image-carousel__prev::before, .icon--arrow-left::before,
.icon-end--arrow-left::after {
  content: "\e90d";
}

.icon--mail::before,
.icon-end--mail::after {
  content: "\e906";
}

.icon--facebook::before,
.icon-end--facebook::after {
  content: "\e90e";
}

.icon--twitter::before,
.icon-end--twitter::after {
  content: "\e90f";
}

.icon--linkedin::before,
.icon-end--linkedin::after {
  content: "\e910";
}

[todo] {
  position: relative;
}
[todo]:before {
  font-size: 11px;
  font-weight: bold;
  text-transform: none;
  line-height: 1;
  position: absolute;
  top: 0;
  left: 0;
  content: "TODO " attr(todo);
  color: #fff;
  background-color: #f35100;
  border: 2px dashed rgba(255, 255, 255, 0.2);
  z-index: 999;
  padding: 2px;
}

.a1-12 {
  width: 8.3333333333%;
}

.a2-12 {
  width: 16.6666666667%;
}

.a3-12 {
  width: 25%;
}

.a4-12 {
  width: 33.3333333333%;
}

.a5-12 {
  width: 41.6666666667%;
}

.a6-12 {
  width: 50%;
}

.a7-12 {
  width: 58.3333333333%;
}

.a8-12 {
  width: 66.6666666667%;
}

.a9-12 {
  width: 75%;
}

.a10-12 {
  width: 83.3333333333%;
}

.a11-12 {
  width: 91.6666666667%;
}

.a12-12 {
  width: 100%;
}

@media only screen and (max-width: 1279px) {
  .c1-12 {
    width: 8.3333333333%;
  }
  .c2-12 {
    width: 16.6666666667%;
  }
  .c3-12 {
    width: 25%;
  }
  .c4-12 {
    width: 33.3333333333%;
  }
  .c5-12 {
    width: 41.6666666667%;
  }
  .c6-12 {
    width: 50%;
  }
  .c7-12 {
    width: 58.3333333333%;
  }
  .c8-12 {
    width: 66.6666666667%;
  }
  .c9-12 {
    width: 75%;
  }
  .c10-12 {
    width: 83.3333333333%;
  }
  .c11-12 {
    width: 91.6666666667%;
  }
  .c12-12 {
    width: 100%;
  }
}
@media only screen and (max-width: 1099px) {
  .d1-6 {
    width: 16.6666666667%;
  }
  .d2-6 {
    width: 33.3333333333%;
  }
  .d3-6 {
    width: 50%;
  }
  .d4-6 {
    width: 66.6666666667%;
  }
  .d5-6 {
    width: 83.3333333333%;
  }
  .d6-6 {
    width: 100%;
  }
}
@media only screen and (max-width: 799px) {
  .f1-6 {
    width: 16.6666666667%;
  }
  .f2-6 {
    width: 33.3333333333%;
  }
  .f3-6 {
    width: 50%;
  }
  .f4-6 {
    width: 66.6666666667%;
  }
  .f5-6 {
    width: 83.3333333333%;
  }
  .f6-6 {
    width: 100%;
  }
}
@media only screen and (max-width: 449px) {
  .h1-6 {
    width: 16.6666666667%;
  }
  .h2-6 {
    width: 33.3333333333%;
  }
  .h3-6 {
    width: 50%;
  }
  .h4-6 {
    width: 66.6666666667%;
  }
  .h5-6 {
    width: 83.3333333333%;
  }
  .h6-6 {
    width: 100%;
  }
}
.energy-mode .cookie-banner__button, .energy-mode .cookie-manager__button {
  border-color: #fff;
  color: #fff;
}
.cookie-banner__button--primary, .cookie-manager__button--primary {
  background-color: #000;
  color: #fff !important;
}
.energy-mode .cookie-banner__button--primary, .energy-mode .cookie-manager__button--primary {
  background-color: #fff;
  color: #000 !important;
}

.cookie-manager {
  font-size: 0.75rem;
  line-height: 1.33;
}
.cookie-manager h2 {
  font-size: 3rem;
  line-height: 1;
  font-weight: bold;
  margin-bottom: 1rem;
}
.cookie-manager h3,
.cookie-manager h4 {
  margin-bottom: 0.5rem;
}
.cookie-manager h3 {
  font-size: 3rem;
  line-height: 1;
}
.cookie-manager h4 {
  font-size: 2.5rem;
  line-height: 1.05;
}
.cookie-manager p {
  font-size: 1rem;
  margin-bottom: 1rem;
}
.cookie-manager a {
  color: #000;
  text-decoration: underline;
}
.cookie-manager--overlay-mode h3 {
  font-size: 1.75rem;
  line-height: 1.07;
}
.cookie-manager--overlay-mode p {
  font-size: 1rem;
}
.energy-mode .cookie-manager a {
  color: #fff;
}

.cookie-manager--overlay-mode {
  background-color: rgba(102, 102, 102, 0.8);
  bottom: 0;
  display: none;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  left: 0;
  padding: 4.5rem;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1000;
}
@media only screen and (max-width: 699px) {
  .cookie-manager--overlay-mode {
    padding: 0.5rem;
  }
}
.cookie-manager-open .cookie-manager--overlay-mode {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.cookie-manager__button-parent {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
}
.cookie-manager--overlay-mode .cookie-manager__button-parent {
  max-width: 640px;
  position: relative;
}

.cookie-manager__scroller {
  background-color: #fff;
}
.cookie-manager--overlay-mode .cookie-manager__scroller {
  bottom: 0;
  left: 0;
  overflow: auto;
  position: absolute;
  right: 0;
  top: 0;
}
.energy-mode .cookie-manager__scroller {
  background-color: #000;
}

.cookie-manager__container {
  color: #000;
  padding: 2.5rem;
}
.cookie-manager__container--spaced p {
  margin-bottom: 1.5rem;
}
.cookie-manager__container--no-vertical-padding {
  padding: 0 2.5rem;
}
.cookie-manager--overlay-mode .cookie-manager__container {
  padding-bottom: 8rem;
}
@media only screen and (max-width: 699px) {
  .cookie-manager__container--spaced {
    padding: 0;
  }
}
.energy-mode .cookie-manager__container {
  color: #fff;
}

.cookie-manager__title-hidden {
  left: -999rem;
  position: absolute;
  visibility: hidden;
}

.cookie-manager__logo {
  display: block;
  margin-bottom: 3rem;
  width: 35%;
}

.cookie-manager__category-list {
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  margin-bottom: 1rem;
  padding-bottom: 1rem;
}
.cookie-manager__category-list--spaced {
  margin-bottom: 2rem;
  padding-bottom: 2rem;
}
.energy-mode .cookie-manager__category-list {
  border-bottom-color: #fff;
}

.cookie-manager__category {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  margin-top: 1rem;
  padding-top: 1rem;
}
.cookie-manager__category-list--spaced .cookie-manager__category {
  margin-top: 2rem;
  padding-top: 2rem;
}

.cookie-manager__category-info,
.cookie-manager__provider-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 0.5rem;
  margin-left: -1rem;
}
.cookie-manager__category-info > div,
.cookie-manager__provider-info > div {
  margin-left: 1rem;
}

@media only screen and (max-width: 699px) {
  .cookie-manager__category-info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .cookie-manager--overlay-mode .cookie-manager__category-info {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.cookie-manager__category-buttons {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 1099px) {
  .cookie-manager__category-buttons {
    margin-bottom: 2rem;
  }
}

.cookie-manager__button-container {
  background-color: #fff;
  bottom: 0;
  -webkit-box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.2);
          box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.2);
  display: none;
  left: 0;
  padding: 1rem;
  position: fixed;
  right: 0;
  z-index: 1001;
}
.cookie-manager__button-container a {
  font-size: 1rem;
  line-height: 1.25;
}
.cookie-manager--overlay-mode .cookie-manager__button-container {
  padding: 1.5rem 2.5rem;
  position: absolute;
}
.cookie-manager-buttons-visible .cookie-manager__button-container {
  display: block;
}
.energy-mode .cookie-manager__button-container {
  background-color: #000;
}

.cookie-manager__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 0.875rem;
}

.cookie-manager-save-changes .cookie-manager__buttons-accept-deny {
  display: none;
}

.cookie-manager__buttons-save-deny {
  display: none;
}
.cookie-manager-save-changes .cookie-manager__buttons-save-deny {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.cookie-manager__button {
  margin-right: 0.5rem;
  max-width: 400px;
  white-space: nowrap;
  width: 100%;
}
.cookie-manager__button:last-of-type {
  margin-right: 0;
}
.cookie-manager__cookie-table {
  background-color: #fff;
  border-radius: 4px;
  color: #000;
  margin-bottom: 2rem;
  width: 100%;
}
@media only screen and (max-width: 699px) {
  .cookie-manager__cookie-table {
    background: none;
  }
}
@media only screen and (max-width: 699px) {
  .cookie-manager__cookie-table thead {
    display: block;
    height: 0;
    visibility: hidden;
  }
}
@media only screen and (max-width: 699px) {
  .cookie-manager__cookie-table tbody {
    display: block;
  }
}
.cookie-manager__cookie-table tbody tr:last-child th,
.cookie-manager__cookie-table tbody tr:last-child td {
  border-bottom: 0;
}
@media only screen and (max-width: 699px) {
  .cookie-manager__cookie-table tr {
    background-color: #fff;
    border-radius: 4px;
    display: block;
    margin-bottom: 0.5rem;
    padding: 0.75rem;
  }
  .energy-mode .cookie-manager__cookie-table tr {
    background-color: #000;
  }
}
.cookie-manager__cookie-table th,
.cookie-manager__cookie-table td {
  border-bottom: 1px solid #000;
  padding: 0.75rem;
}
.energy-mode .cookie-manager__cookie-table th,
.energy-mode .cookie-manager__cookie-table td {
  border-bottom-color: #fff;
}
.cookie-manager__cookie-table th {
  font-weight: bold;
}
@media only screen and (max-width: 699px) {
  .cookie-manager__cookie-table td {
    display: block;
    margin-top: 0.75rem;
    padding: 0;
  }
  .cookie-manager__cookie-table td:first-child {
    margin-top: 0;
  }
  .cookie-manager__cookie-table td::before {
    content: attr(data-label);
    display: block;
    font-weight: bold;
  }
}
.energy-mode .cookie-manager__cookie-table {
  background-color: #000;
  color: #fff;
}

.cookie-manager__bullet-list {
  margin-bottom: 1rem;
}
.cookie-manager__bullet-list li {
  list-style: disc inside;
}

.cookie-manager__lightswitch {
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 1rem;
  margin: 0 auto 0.5rem;
  position: relative;
  width: 1.75rem;
}
.cookie-manager__lightswitch input {
  height: 0;
  opacity: 0;
  width: 0;
}
.cookie-manager__lightswitch input:checked + .cookie-manager__lightswitch-slider {
  background-color: #000;
}
.cookie-manager__lightswitch input:checked + .cookie-manager__lightswitch-slider::before {
  -webkit-transform: translateX(0.75rem);
          transform: translateX(0.75rem);
}
.cookie-manager__lightswitch input:checked + .cookie-manager__lightswitch-slider::after {
  content: "On";
}
.energy-mode .cookie-manager__lightswitch input:checked + .cookie-manager__lightswitch-slider {
  background-color: #fff;
  border-color: #000;
}
.cookie-manager__lightswitch input:focus + .cookie-manager__lightswitch-slider {
  -webkit-box-shadow: 0 0 1px #000;
          box-shadow: 0 0 1px #000;
}
.cookie-manager__lightswitch--global input:checked + .cookie-manager__lightswitch-slider::after {
  content: "Accept all";
}

.cookie-manager__lightswitch-slider {
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 1rem;
  bottom: 0;
  cursor: pointer;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.cookie-manager__lightswitch-slider::before {
  background-color: #7E40D1;
  border-radius: 1rem;
  bottom: 0.125rem;
  content: "";
  height: 0.75rem;
  left: 0.125rem;
  position: absolute;
  top: 1px;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  width: 0.75rem;
}
.energy-mode .cookie-manager__lightswitch-slider::before {
  background-color: #d8acd0;
}
.cookie-manager__lightswitch-slider::after {
  font-size: 0.75rem;
  content: "Off";
  left: 0;
  position: absolute;
  right: 0;
  text-align: center;
  text-transform: uppercase;
  top: 1.5rem;
  white-space: nowrap;
}
.cookie-manager__lightswitch--global .cookie-manager__lightswitch-slider::after {
  content: "Deny all";
  left: -60%;
}
.energy-mode .cookie-manager__lightswitch-slider {
  background-color: #000;
  border-color: #fff;
}

.cookie-consent-wrapper__blocked {
  background-color: #fff;
  border: 2px solid #f2f2f2;
  border-radius: 4px;
  margin: 0 auto;
  max-width: 360px;
  padding: 2.5rem;
  text-align: center;
}
.energy-mode .cookie-consent-wrapper__blocked {
  background-color: #000;
}

.cookie-consent-wrapper__unblocked {
  display: none;
}

.cookie-banner {
  font-size: 1rem;
  bottom: 0;
  color: #000;
  display: none;
  left: 0;
  position: fixed;
  right: 0;
  z-index: 1000;
}
.cookie-banner-open .cookie-banner {
  display: block;
}
.cookie-banner a {
  color: #000;
  text-decoration: underline;
}
.energy-mode .cookie-banner {
  background-color: #000;
  color: #fff;
}
.energy-mode .cookie-banner a {
  color: #fff;
}

.cookie-banner__inner {
  background-color: #fff;
  border-radius: 4px;
  bottom: 2rem;
  -webkit-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 1.5rem;
  position: absolute;
  right: 0.5rem;
  width: 449px;
}
@media only screen and (max-width: 799px) {
  .cookie-banner__inner {
    -webkit-box-shadow: 1rem 1rem 1rem 1rem rgba(0, 0, 0, 0.1);
            box-shadow: 1rem 1rem 1rem 1rem rgba(0, 0, 0, 0.1);
    left: 0.5rem;
    right: 0.5rem;
    width: calc(100% - 1rem);
  }
}
.energy-mode .cookie-banner__inner {
  background-color: #000;
}

.cookie-banner__title {
  font-size: 1.75rem;
  line-height: 1.07;
  font-weight: bold;
}

.cookie-banner__text {
  margin-bottom: 1rem;
}

.cookie-banner__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.cookie-banner__button {
  margin-right: 0.5rem;
  width: 100%;
}
.cookie-banner__button-customise {
  font-size: inherit;
  text-decoration: underline;
}

.container,
.nav__container {
  margin: 0 auto;
  max-width: 1920px;
  padding: 0 32px;
}
@media only screen and (max-width: 799px) {
  .container,
  .nav__container {
    padding: 0 16px;
  }
}

.container--full-bleed {
  padding: 0;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 1;
      flex-shrink: 1;
}
.flex--wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.flex--row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.flex--column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.flex--column-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
.flex--align-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.flex--justify-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.flex--justify-end {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.flex--justify-space-between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.flex--gap-lg {
  gap: 2rem;
}
.flex--gap-md {
  gap: 1rem;
}
.flex--gap-sm {
  gap: 0.5rem;
}
.flex--gap-xs {
  gap: 0.25rem;
}
.flex--row-gap-lg {
  row-gap: 2rem;
}
.flex--row-gap-md {
  row-gap: 1rem;
}

.grid {
  margin-left: -32px;
}

.grid__item {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 32px;
}

.invisible {
  left: -999rem;
  position: absolute;
}

.removed {
  display: none;
}

@media only screen and (max-width: 799px) {
  .removed-at-f {
    display: none;
  }
}

@media only screen and (min-width: 980px) {
  .only-at-f {
    display: none;
  }
}

.rounded {
  border-radius: 16px;
}

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

.align-self-end {
  -ms-flex-item-align: end;
      align-self: flex-end;
}

.full-height {
  height: 100%;
}

.mb-4 {
  margin-bottom: 0.25rem;
}

.mb-8 {
  margin-bottom: 0.5rem;
}

.mb-16 {
  margin-bottom: 1rem;
}

.mb-24 {
  margin-bottom: 1.5rem;
}

.mb-32 {
  margin-bottom: 2rem;
}

.mb-48 {
  margin-bottom: 3rem;
}

.mb-64 {
  margin-bottom: 4rem;
}

.mt-8 {
  margin-top: 0.5rem;
}

.mt-32 {
  margin-top: 2rem;
}

.pb-8 {
  padding-bottom: 0.5rem;
}

.pb-24 {
  padding-bottom: 1.5rem;
}

.zeta {
  font-size: 1.75rem;
  line-height: 1.07;
}

.h1,
.page-header__title {
  font-size: 4rem;
  line-height: 1;
  font-weight: bold;
  padding-bottom: 1rem;
}
.h1--alt,
.page-header__title--alt,
.typeset--alt h2 {
  font-size: 4.5rem;
  line-height: 1;
  font-family: "Suisse Intl Condensed";
  padding-bottom: 1.5rem;
}
@media only screen and (max-width: 799px) {
  .h1--alt,
  .page-header__title--alt,
  .typeset--alt h2 {
    font-size: 4rem;
    line-height: 1;
  }
}
@media only screen and (max-width: 799px) {
  .h1,
  .page-header__title {
    font-size: 3.5rem;
    line-height: 1.05;
  }
}
@media only screen and (max-width: 449px) {
  .h1,
  .page-header__title {
    font-size: 2.5rem;
    line-height: 1.05;
  }
}

.h2,
.newsletter__title,
.featured-entry__title {
  font-size: 3.5rem;
  line-height: 1.05;
  font-weight: bold;
  padding-bottom: 1rem;
}
.h2--alt,
.typeset--alt h3 {
  font-size: 4rem;
  line-height: 1;
  font-family: "Suisse Intl Condensed";
  padding-bottom: 1.5rem;
}
@media only screen and (max-width: 799px) {
  .h2--alt,
  .typeset--alt h3 {
    font-size: 3.5rem;
    line-height: 1.05;
  }
}
@media only screen and (max-width: 799px) {
  .h2,
  .newsletter__title,
  .featured-entry__title {
    font-size: 2.5rem;
    line-height: 1.05;
  }
}

.h3,
.person-listing__title {
  font-size: 2.5rem;
  line-height: 1.05;
  font-weight: bold;
  padding-bottom: 1rem;
}
.h3--alt {
  font-size: 3rem;
  line-height: 1;
  font-family: "Suisse Intl Condensed";
  padding-bottom: 1.5rem;
}
@media only screen and (max-width: 799px) {
  .h3--alt {
    font-size: 2.5rem;
    line-height: 1.05;
  }
}
.h3--no-padding {
  padding-bottom: 0;
}
@media only screen and (max-width: 799px) {
  .h3,
  .person-listing__title {
    font-size: 1.75rem;
    line-height: 1.07;
  }
}

.h4,
.image-carousel__fullscreen-title {
  font-size: 1.75rem;
  line-height: 1.07;
  font-weight: bold;
  padding-bottom: 1rem;
}
.h4--alt {
  font-size: 2.5rem;
  line-height: 1.05;
  font-family: "Suisse Intl Condensed";
  padding-bottom: 1.5rem;
}
@media only screen and (max-width: 799px) {
  .h4--alt {
    font-size: 1.75rem;
    line-height: 1.07;
  }
}
@media only screen and (max-width: 799px) {
  .h4,
  .image-carousel__fullscreen-title {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}

.p,
.typeset p,
.typeset ul,
.typeset ol,
.typeset img,
.steps__description-container p,
.accordion__content p,
.read-more__content p,
.steps__description-container ul,
.accordion__content ul,
.read-more__content ul,
.steps__description-container ol,
.accordion__content ol,
.read-more__content ol,
.steps__description-container img,
.accordion__content img,
.read-more__content img {
  display: block;
  padding: 0 0 1rem;
}
.p--mono {
  font-family: "Suisse Intl Mono";
}
.p--small {
  font-size: 0.75rem;
  line-height: 1.33;
}
.p--large,
.typeset--large p,
.typeset--large ul,
.typeset--large ol,
.typeset--large img,
.typeset--large a {
  font-size: 1.75rem;
  line-height: 1.07;
  font-weight: bold;
}
.p--alt {
  font-family: "Suisse Intl Condensed";
}
.p--underline {
  text-decoration: underline;
  text-decoration-color: #808080;
  text-underline-offset: 0.5rem;
}

.a,
.project-archive__project-title,
.pagination__page-number,
.pagination__prev,
.pagination__next,
.entry-listing__title,
.locations-list dd,
.accordion__toggle,
.three-column-carousel__prev,
.three-column-carousel__next,
.image-carousel__next,
.image-carousel__prev,
.image-carousel__fullscreen-close,
.image-carousel__fullscreen-open,
.read-more__button,
.nav__sub-nav-toggle,
.nav__nav-item,
.nav__sub-nav-item {
  text-decoration: none;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}
.a:hover, .a:focus, .a--hover,
.project-archive__project-title:hover,
.pagination__page-number:hover,
.pagination__prev:hover,
.pagination__next:hover,
.entry-listing__title:hover,
.locations-list dd:hover,
.accordion__toggle:hover,
.three-column-carousel__prev:hover,
.three-column-carousel__next:hover,
.image-carousel__next:hover,
.image-carousel__prev:hover,
.image-carousel__fullscreen-close:hover,
.image-carousel__fullscreen-open:hover,
.read-more__button:hover,
.nav__sub-nav-toggle:hover,
.nav__nav-item:hover,
.nav__sub-nav-item:hover,
.project-archive__project-title:focus,
.pagination__page-number:focus,
.pagination__prev:focus,
.pagination__next:focus,
.entry-listing__title:focus,
.locations-list dd:focus,
.accordion__toggle:focus,
.three-column-carousel__prev:focus,
.three-column-carousel__next:focus,
.image-carousel__next:focus,
.image-carousel__prev:focus,
.image-carousel__fullscreen-close:focus,
.image-carousel__fullscreen-open:focus,
.read-more__button:focus,
.nav__sub-nav-toggle:focus,
.nav__nav-item:focus,
.nav__sub-nav-item:focus,
.entry-listing__link:hover .entry-listing__title:not(.entry-listing--animation .entry-listing__title),
.entry-listing__link:focus .entry-listing__title:not(.entry-listing--animation .entry-listing__title) {
  color: #7E40D1;
}
.customised-link-colour .a:hover, .customised-link-colour .a:focus, .customised-link-colour .a--hover,
.customised-link-colour .project-archive__project-title:hover,
.customised-link-colour .pagination__page-number:hover,
.customised-link-colour .pagination__prev:hover,
.customised-link-colour .pagination__next:hover,
.customised-link-colour .entry-listing__title:hover,
.customised-link-colour .locations-list dd:hover,
.locations-list .customised-link-colour dd:hover,
.customised-link-colour .accordion__toggle:hover,
.customised-link-colour .three-column-carousel__prev:hover,
.customised-link-colour .three-column-carousel__next:hover,
.customised-link-colour .image-carousel__next:hover,
.customised-link-colour .image-carousel__prev:hover,
.customised-link-colour .image-carousel__fullscreen-close:hover,
.customised-link-colour .image-carousel__fullscreen-open:hover,
.customised-link-colour .read-more__button:hover,
.customised-link-colour .nav__sub-nav-toggle:hover,
.customised-link-colour .nav__nav-item:hover,
.customised-link-colour .nav__sub-nav-item:hover,
.customised-link-colour .project-archive__project-title:focus,
.customised-link-colour .pagination__page-number:focus,
.customised-link-colour .pagination__prev:focus,
.customised-link-colour .pagination__next:focus,
.customised-link-colour .entry-listing__title:focus,
.customised-link-colour .locations-list dd:focus,
.locations-list .customised-link-colour dd:focus,
.customised-link-colour .accordion__toggle:focus,
.customised-link-colour .three-column-carousel__prev:focus,
.customised-link-colour .three-column-carousel__next:focus,
.customised-link-colour .image-carousel__next:focus,
.customised-link-colour .image-carousel__prev:focus,
.customised-link-colour .image-carousel__fullscreen-close:focus,
.customised-link-colour .image-carousel__fullscreen-open:focus,
.customised-link-colour .read-more__button:focus,
.customised-link-colour .nav__sub-nav-toggle:focus,
.customised-link-colour .nav__nav-item:focus,
.customised-link-colour .nav__sub-nav-item:focus,
.customised-link-colour .entry-listing__link:hover .entry-listing__title:not(.entry-listing--animation .entry-listing__title),
.entry-listing__link:hover .customised-link-colour .entry-listing__title:not(.entry-listing--animation .entry-listing__title),
.customised-link-colour .entry-listing__link:focus .entry-listing__title:not(.entry-listing--animation .entry-listing__title),
.entry-listing__link:focus .customised-link-colour .entry-listing__title:not(.entry-listing--animation .entry-listing__title) {
  color: var(--link-colour);
}
.energy-mode .a:hover, .energy-mode .a:focus, .energy-mode .a--hover,
.energy-mode .project-archive__project-title:hover,
.energy-mode .pagination__page-number:hover,
.energy-mode .pagination__prev:hover,
.energy-mode .pagination__next:hover,
.energy-mode .entry-listing__title:hover,
.energy-mode .locations-list dd:hover,
.locations-list .energy-mode dd:hover,
.energy-mode .accordion__toggle:hover,
.energy-mode .three-column-carousel__prev:hover,
.energy-mode .three-column-carousel__next:hover,
.energy-mode .image-carousel__next:hover,
.energy-mode .image-carousel__prev:hover,
.energy-mode .image-carousel__fullscreen-close:hover,
.energy-mode .image-carousel__fullscreen-open:hover,
.energy-mode .read-more__button:hover,
.energy-mode .nav__sub-nav-toggle:hover,
.energy-mode .nav__nav-item:hover,
.energy-mode .nav__sub-nav-item:hover,
.energy-mode .project-archive__project-title:focus,
.energy-mode .pagination__page-number:focus,
.energy-mode .pagination__prev:focus,
.energy-mode .pagination__next:focus,
.energy-mode .entry-listing__title:focus,
.energy-mode .locations-list dd:focus,
.locations-list .energy-mode dd:focus,
.energy-mode .accordion__toggle:focus,
.energy-mode .three-column-carousel__prev:focus,
.energy-mode .three-column-carousel__next:focus,
.energy-mode .image-carousel__next:focus,
.energy-mode .image-carousel__prev:focus,
.energy-mode .image-carousel__fullscreen-close:focus,
.energy-mode .image-carousel__fullscreen-open:focus,
.energy-mode .read-more__button:focus,
.energy-mode .nav__sub-nav-toggle:focus,
.energy-mode .nav__nav-item:focus,
.energy-mode .nav__sub-nav-item:focus,
.energy-mode .entry-listing__link:hover .entry-listing__title:not(.entry-listing--animation .entry-listing__title),
.entry-listing__link:hover .energy-mode .entry-listing__title:not(.entry-listing--animation .entry-listing__title),
.energy-mode .entry-listing__link:focus .entry-listing__title:not(.entry-listing--animation .entry-listing__title),
.entry-listing__link:focus .energy-mode .entry-listing__title:not(.entry-listing--animation .entry-listing__title) {
  color: #d8acd0;
}

.bullet-link,
.newsletter__submit-button,
.person-listing__linkedin-link,
.entry-listing__bullet-link,
.featured-entry__link,
.accordion__link,
.image-carousel__slide-description a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Suisse Intl Mono";
  gap: 0.5rem;
  text-decoration: none;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}
.bullet-link::before,
.newsletter__submit-button::before,
.person-listing__linkedin-link::before,
.entry-listing__bullet-link::before,
.featured-entry__link::before,
.accordion__link::before,
.image-carousel__slide-description a::before {
  content: "•";
  display: block;
  padding-bottom: 0.1rem;
  -webkit-transform: scale(1.4);
          transform: scale(1.4);
  -webkit-transition: -webkit-transform 0.2s;
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
}
.bullet-link:hover, .bullet-link:focus, .bullet-link--hover,
.newsletter__submit-button:hover,
.person-listing__linkedin-link:hover,
.entry-listing__bullet-link:hover,
.featured-entry__link:hover,
.accordion__link:hover,
.image-carousel__slide-description a:hover,
.newsletter__submit-button:focus,
.person-listing__linkedin-link:focus,
.entry-listing__bullet-link:focus,
.featured-entry__link:focus,
.accordion__link:focus,
.image-carousel__slide-description a:focus,
.entry-listing__link:hover .entry-listing__bullet-link,
.entry-listing__link:focus .entry-listing__bullet-link,
.featured-entry:hover .featured-entry__link,
.featured-entry:focus .featured-entry__link {
  color: #7E40D1;
}
.bullet-link:hover::before, .bullet-link:focus::before, .bullet-link--hover::before,
.newsletter__submit-button:hover::before,
.person-listing__linkedin-link:hover::before,
.entry-listing__bullet-link:hover::before,
.featured-entry__link:hover::before,
.accordion__link:hover::before,
.image-carousel__slide-description a:hover::before,
.newsletter__submit-button:focus::before,
.person-listing__linkedin-link:focus::before,
.entry-listing__bullet-link:focus::before,
.featured-entry__link:focus::before,
.accordion__link:focus::before,
.image-carousel__slide-description a:focus::before,
.entry-listing__link:hover .entry-listing__bullet-link::before,
.entry-listing__link:focus .entry-listing__bullet-link::before,
.featured-entry:hover .featured-entry__link::before,
.featured-entry:focus .featured-entry__link::before {
  -webkit-transform: scale(2);
          transform: scale(2);
}
.customised-link-colour .bullet-link:hover, .customised-link-colour .bullet-link:focus, .customised-link-colour .bullet-link--hover,
.customised-link-colour .newsletter__submit-button:hover,
.customised-link-colour .person-listing__linkedin-link:hover,
.customised-link-colour .entry-listing__bullet-link:hover,
.customised-link-colour .featured-entry__link:hover,
.customised-link-colour .accordion__link:hover,
.customised-link-colour .image-carousel__slide-description a:hover,
.image-carousel__slide-description .customised-link-colour a:hover,
.customised-link-colour .newsletter__submit-button:focus,
.customised-link-colour .person-listing__linkedin-link:focus,
.customised-link-colour .entry-listing__bullet-link:focus,
.customised-link-colour .featured-entry__link:focus,
.customised-link-colour .accordion__link:focus,
.customised-link-colour .image-carousel__slide-description a:focus,
.image-carousel__slide-description .customised-link-colour a:focus,
.customised-link-colour .entry-listing__link:hover .entry-listing__bullet-link,
.entry-listing__link:hover .customised-link-colour .entry-listing__bullet-link,
.customised-link-colour .entry-listing__link:focus .entry-listing__bullet-link,
.entry-listing__link:focus .customised-link-colour .entry-listing__bullet-link,
.customised-link-colour .featured-entry:hover .featured-entry__link,
.featured-entry:hover .customised-link-colour .featured-entry__link,
.customised-link-colour .featured-entry:focus .featured-entry__link,
.featured-entry:focus .customised-link-colour .featured-entry__link {
  color: var(--link-colour);
}
.energy-mode .bullet-link:hover, .energy-mode .bullet-link:focus, .energy-mode .bullet-link--hover,
.energy-mode .newsletter__submit-button:hover,
.energy-mode .person-listing__linkedin-link:hover,
.energy-mode .entry-listing__bullet-link:hover,
.energy-mode .featured-entry__link:hover,
.energy-mode .accordion__link:hover,
.energy-mode .image-carousel__slide-description a:hover,
.image-carousel__slide-description .energy-mode a:hover,
.energy-mode .newsletter__submit-button:focus,
.energy-mode .person-listing__linkedin-link:focus,
.energy-mode .entry-listing__bullet-link:focus,
.energy-mode .featured-entry__link:focus,
.energy-mode .accordion__link:focus,
.energy-mode .image-carousel__slide-description a:focus,
.image-carousel__slide-description .energy-mode a:focus,
.energy-mode .entry-listing__link:hover .entry-listing__bullet-link,
.entry-listing__link:hover .energy-mode .entry-listing__bullet-link,
.energy-mode .entry-listing__link:focus .entry-listing__bullet-link,
.entry-listing__link:focus .energy-mode .entry-listing__bullet-link,
.energy-mode .featured-entry:hover .featured-entry__link,
.featured-entry:hover .energy-mode .featured-entry__link,
.energy-mode .featured-entry:focus .featured-entry__link,
.featured-entry:focus .energy-mode .featured-entry__link {
  color: #d8acd0;
}
.bullet-link--inactive:hover, .bullet-link--inactive:focus, .bullet-link--inactive--hover {
  color: inherit;
}
.bullet-link--inactive:hover::before, .bullet-link--inactive:focus::before, .bullet-link--inactive--hover::before {
  -webkit-transform: scale(1.4);
          transform: scale(1.4);
}

.typeset ul,
.steps__description-container ul,
.accordion__content ul,
.read-more__content ul, .typeset ol,
.steps__description-container ol,
.accordion__content ol,
.read-more__content ol, .ul, .ol {
  padding-left: 1.2rem;
}

.typeset ul li,
.steps__description-container ul li,
.accordion__content ul li,
.read-more__content ul li, .typeset ol li,
.steps__description-container ol li,
.accordion__content ol li,
.read-more__content ol li, .ul li, .ol li {
  padding-bottom: 0.6rem;
}

.typeset ul li,
.steps__description-container ul li,
.accordion__content ul li,
.read-more__content ul li, .ul li {
  list-style: disc outside;
}

.typeset ol li,
.steps__description-container ol li,
.accordion__content ol li,
.read-more__content ol li, .ol li {
  list-style: decimal outside;
}

.typeset h1,
.typeset h2,
.typeset h3,
.typeset h4,
.steps__description-container h1,
.accordion__content h1,
.read-more__content h1,
.steps__description-container h2,
.accordion__content h2,
.read-more__content h2,
.steps__description-container h3,
.accordion__content h3,
.read-more__content h3,
.steps__description-container h4,
.accordion__content h4,
.read-more__content h4 {
  font-weight: bold;
  margin-bottom: 0.25rem;
}
.typeset h1:not(:first-child),
.typeset h2:not(:first-child),
.typeset h3:not(:first-child),
.typeset h4:not(:first-child),
.steps__description-container h1:not(:first-child),
.accordion__content h1:not(:first-child),
.read-more__content h1:not(:first-child),
.steps__description-container h2:not(:first-child),
.accordion__content h2:not(:first-child),
.read-more__content h2:not(:first-child),
.steps__description-container h3:not(:first-child),
.accordion__content h3:not(:first-child),
.read-more__content h3:not(:first-child),
.steps__description-container h4:not(:first-child),
.accordion__content h4:not(:first-child),
.read-more__content h4:not(:first-child) {
  padding-top: 1rem;
}
.typeset a,
.steps__description-container a,
.accordion__content a,
.read-more__content a {
  color: #7E40D1;
}
.customised-link-colour .typeset a,
.customised-link-colour .steps__description-container a,
.customised-link-colour .accordion__content a,
.customised-link-colour .read-more__content a {
  color: var(--link-colour);
}
.energy-mode .typeset a,
.energy-mode .steps__description-container a,
.energy-mode .accordion__content a,
.energy-mode .read-more__content a {
  color: #d8acd0;
}
.typeset--alt {
  font-family: "Suisse Intl Condensed";
}
html {
  scroll-behavior: smooth;
}

@media screen and (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
body,
input,
textarea,
button {
  font-family: "Suisse Intl";
}

input,
textarea,
button,
body {
  font-size: 1rem;
  line-height: 1.25;
}

body {
  color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  min-height: 100vh;
}
body.nav-visible {
  overflow: hidden;
}
body.energy-mode {
  background-color: #000;
  color: #fff;
}
body p,
body a,
body span,
body h1,
body h2,
body h3,
body h4,
body h5 {
  -webkit-transition: color 0.25s ease;
  transition: color 0.25s ease;
}

.bg-transition-smooth {
  -webkit-transition: background-color 0.25s ease;
  transition: background-color 0.25s ease;
}

main {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.skip-to-content {
  left: -999rem;
  position: absolute;
  top: 0;
  z-index: 99;
}
.skip-to-content:focus {
  left: 0;
}

.embla {
  overflow: hidden;
}

.embla__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
}

.embla__slide {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  min-width: 0;
}

.divider {
  border: 0;
  border-top: 1px solid #000;
  margin-bottom: 1rem;
  -webkit-transition: color 0.25s ease;
  transition: color 0.25s ease;
}
.divider--no-bottom-margin {
  margin-bottom: 0;
}
.divider--spaced {
  margin-bottom: 2rem;
}
.energy-mode .divider {
  border-color: #fff;
}

.header {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 2rem 0 1.75rem;
}

@media only screen and (max-width: 799px) {
  .header__logo {
    width: 50%;
  }
}

.header__logo-animation {
  height: 100%;
  max-height: 48px;
  max-width: 310px;
  width: 100%;
}

.header__buttons {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5rem;
}
@media only screen and (max-width: 799px) {
  .header__buttons {
    gap: 1rem;
  }
}

.header__nav-open,
.header__energy-toggle {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Suisse Intl Mono";
  gap: 1rem;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.header__nav-open:hover, .header__nav-open:focus,
.header__energy-toggle:hover,
.header__energy-toggle:focus {
  color: #7E40D1;
}
.energy-mode .header__nav-open:hover, .energy-mode .header__nav-open:focus,
.energy-mode .header__energy-toggle:hover,
.energy-mode .header__energy-toggle:focus {
  color: #d8acd0;
}

.header__nav-open::after,
.header__energy-toggle__icon::after {
  font-size: 1.75rem;
  line-height: 1.07;
}

.header__energy-toggle__text {
  cursor: pointer;
}
@media only screen and (max-width: 799px) {
  .header__energy-toggle__text {
    display: none;
  }
}

.nav {
  background: #000;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #fff;
  height: 100vh;
  left: 0;
  overflow: auto;
  padding: 2.75rem 0;
  position: fixed;
  top: 0;
  -webkit-transform: translateY(-100vh);
          transform: translateY(-100vh);
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.18, 0.9, 0.58, 0.84);
  transition: -webkit-transform 0.4s cubic-bezier(0.18, 0.9, 0.58, 0.84);
  transition: transform 0.4s cubic-bezier(0.18, 0.9, 0.58, 0.84);
  transition: transform 0.4s cubic-bezier(0.18, 0.9, 0.58, 0.84), -webkit-transform 0.4s cubic-bezier(0.18, 0.9, 0.58, 0.84);
  visibility: hidden;
  width: 100%;
  z-index: 999;
}
.nav-visible .nav {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  visibility: visible;
}
@media only screen and (max-width: 799px) {
  .nav {
    padding: 2rem 0;
  }
}

.nav__inner {
  position: relative;
}
@media only screen and (max-width: 799px) {
  .nav__inner {
    padding-top: 4rem;
  }
}

.nav__toggles {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5rem;
  position: absolute;
  right: 0;
  top: 0;
}

.nav__close {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Suisse Intl Mono";
  gap: 1rem;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.nav__close:hover, .nav__close:focus {
  color: #7E40D1;
}
.energy-mode .nav__close:hover, .energy-mode .nav__close:focus {
  color: #d8acd0;
}

.nav__main-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  min-height: calc(100vh - 8rem);
}
@media only screen and (max-width: 799px) {
  .nav__main-menu {
    min-height: auto;
  }
}

.nav__main-nav {
  border-top: 1px solid #fff;
}

.nav__nav-item,
.nav__expandable-nav-item {
  font-size: 2.5rem;
  line-height: 1.05;
  border-bottom: 1px solid #fff;
  font-weight: bold;
  width: 100%;
}

.nav__nav-item {
  padding: 0.5rem 0 0;
}

.nav__expandable-nav-item {
  max-height: 3.15rem;
  overflow: hidden;
  -webkit-transition: max-height 0.4s ease-out;
  transition: max-height 0.4s ease-out;
}

.nav__sub-nav-toggle {
  font-size: 2.5rem;
  line-height: 1.05;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}
.nav__sub-nav-toggle::after {
  font-size: 1.75rem;
  line-height: 1.07;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}
.nav__expandable-nav-item--expanded .nav__sub-nav-toggle::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.nav__sub-nav-toggle-label {
  padding-top: 0.5rem;
}

.nav__sub-nav-item {
  font-size: 1.75rem;
  line-height: 1.07;
  padding-bottom: 0.5rem;
}
.nav__sub-nav-item:first-child {
  padding-top: 0.5rem;
}

@media only screen and (max-width: 799px) {
  .nav__search-form {
    margin-top: 2rem;
  }
}

.nav__search-form-input[type=text] {
  font-size: 2.5rem;
  line-height: 1.05;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-bottom: 1px solid #fff;
  color: #fff;
  display: block;
  font-weight: bold;
  line-height: 1.02;
  padding-bottom: 0;
  padding-left: 0;
  padding-top: 0.5rem;
  text-decoration: none;
  width: 100%;
}
.nav__search-form-submit[type=submit] {
  display: none;
}

.nav__contact-menu {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media only screen and (max-width: 799px) {
  .nav__contact-menu {
    margin-top: 2rem;
    padding-bottom: 3rem;
  }
}

.footer {
  border-top: 1px solid #000;
  -webkit-transition: border-color 0.25s ease;
  transition: border-color 0.25s ease;
}
.energy-mode .footer {
  border-color: #fff;
}

.footer__top,
.footer__bottom {
  padding: 3rem 0;
}

.energy-mode .footer__top {
  background-color: rgb(25, 25, 25);
}

.footer__bottom {
  background-color: #f2f2f2;
  padding: 3.5rem 0;
  -webkit-transition: background-color 0.25s ease;
  transition: background-color 0.25s ease;
}
.energy-mode .footer__bottom {
  background-color: rgb(25, 25, 25);
}

.footer__b-corporation-logo {
  background-image: url("../img/b-corporation-logo.svg");
  background-repeat: no-repeat;
  background-size: contain;
  height: 10rem;
  -webkit-transition: background-image 0.25s ease;
  transition: background-image 0.25s ease;
  width: 6rem;
}
.energy-mode .footer__b-corporation-logo {
  background-image: url("../img/b-corporation-logo-white.svg");
}
@media only screen and (max-width: 799px) {
  .footer__b-corporation-logo {
    margin-bottom: 2rem;
  }
}

.tag,
.cookie-manager__button,
.cookie-banner__button {
  border: 1px solid #000;
  border-radius: 16px;
  color: #000;
  display: inline-block;
  font-family: "Suisse Intl Mono";
  padding: 0.25rem 1rem;
  -webkit-transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.tag:hover, .tag:focus,
.cookie-manager__button:hover,
.cookie-banner__button:hover,
.cookie-manager__button:focus,
.cookie-banner__button:focus {
  background-color: #000;
  color: #fff;
}
.energy-mode .tag:not(.colour-block .energy-mode .tag,
.colour-block .energy-mode .cookie-manager__button,
.colour-block .energy-mode .cookie-banner__button),
.energy-mode .cookie-manager__button:not(.colour-block .energy-mode .tag,
.colour-block .energy-mode .cookie-manager__button,
.colour-block .energy-mode .cookie-banner__button),
.energy-mode .cookie-banner__button:not(.colour-block .energy-mode .tag,
.colour-block .energy-mode .cookie-manager__button,
.colour-block .energy-mode .cookie-banner__button) {
  border-color: #fff;
  color: #fff;
}
.energy-mode .tag:not(.colour-block .energy-mode .tag,
.colour-block .energy-mode .cookie-manager__button,
.colour-block .energy-mode .cookie-banner__button):hover, .energy-mode .tag:not(.colour-block .energy-mode .tag,
.colour-block .energy-mode .cookie-manager__button,
.colour-block .energy-mode .cookie-banner__button):focus,
.energy-mode .cookie-manager__button:not(.colour-block .energy-mode .tag,
.colour-block .energy-mode .cookie-manager__button,
.colour-block .energy-mode .cookie-banner__button):hover,
.energy-mode .cookie-banner__button:not(.colour-block .energy-mode .tag,
.colour-block .energy-mode .cookie-manager__button,
.colour-block .energy-mode .cookie-banner__button):hover,
.energy-mode .cookie-manager__button:not(.colour-block .energy-mode .tag,
.colour-block .energy-mode .cookie-manager__button,
.colour-block .energy-mode .cookie-banner__button):focus,
.energy-mode .cookie-banner__button:not(.colour-block .energy-mode .tag,
.colour-block .energy-mode .cookie-manager__button,
.colour-block .energy-mode .cookie-banner__button):focus {
  background-color: #fff;
  color: #000;
}

.checkbox,
.search__filter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Suisse Intl Mono";
}
.checkbox label,
.search__filter label {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
.checkbox input[type=checkbox],
.search__filter input[type=checkbox] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-block;
  height: 1.2rem;
  margin-left: -0.2rem;
  margin-top: 0.05rem;
  width: 0;
}
.checkbox input[type=checkbox]:checked,
.search__filter input[type=checkbox]:checked {
  margin-left: 0.15rem;
  padding-right: 0.5rem;
  width: auto;
}
.checkbox input[type=checkbox]:checked::before,
.search__filter input[type=checkbox]:checked::before {
  color: #000;
  content: "•";
  display: block;
  line-height: 1.25;
  -webkit-transform: scale(2);
          transform: scale(2);
  -webkit-transition: color 0.25s ease;
  transition: color 0.25s ease;
}
.energy-mode .checkbox input[type=checkbox]:checked::before,
.energy-mode .search__filter input[type=checkbox]:checked::before {
  color: #fff;
}

.page-header {
  border-top: 1px solid #000;
  margin-bottom: 4rem;
  padding-top: 1rem;
  -webkit-transition: border-color 0.25s ease;
  transition: border-color 0.25s ease;
  width: 100%;
}
.energy-mode .page-header {
  border-color: #fff;
}

.page-header__title {
  padding-bottom: 0;
}
.page-header__title--alt {
  padding-bottom: 0;
}

.info-list__item {
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.info-list__item dt {
  color: #808080;
  font-family: "Suisse Intl Mono";
  width: 25%;
}
@media only screen and (max-width: 799px) {
  .info-list__item dt {
    width: 40%;
  }
}
.info-list__item dd {
  width: calc(75% - 1rem);
}
@media only screen and (max-width: 799px) {
  .info-list__item {
    -webkit-column-gap: 0.75rem;
       -moz-column-gap: 0.75rem;
            column-gap: 0.75rem;
  }
  .info-list__item dt {
    width: 40%;
  }
  .info-list__item dd {
    width: calc(60% - 0.75rem);
  }
}

.content-block {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-bottom: 4rem;
}
.content-block--top-padding {
  padding-top: 4rem;
}
.content-block--no-padding {
  padding: 0;
}

.colour-block {
  --bg-colour: #f2f2f2;
  background-color: var(--bg-colour);
  color: #000;
  margin-bottom: 4rem;
}
.colour-block--no-margin {
  margin-bottom: 0;
}
.colour-block--invert-text {
  color: #fff;
}
.energy-mode .colour-block {
  background-color: rgb(25, 25, 25) !important;
  color: #fff;
}

.read-more__content {
  overflow: hidden;
  -webkit-transition: max-height 0.4s cubic-bezier(0.18, 0.9, 0.58, 0.84);
  transition: max-height 0.4s cubic-bezier(0.18, 0.9, 0.58, 0.84);
}

.read-more__button {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Suisse Intl Mono";
  gap: 1rem;
  margin-top: 1rem;
}
.read-more__button::before {
  font-size: 1.75rem;
  line-height: 1.07;
  -webkit-transition: -webkit-transform 0.1s ease;
  transition: -webkit-transform 0.1s ease;
  transition: transform 0.1s ease;
  transition: transform 0.1s ease, -webkit-transform 0.1s ease;
}
.read-more__button--open::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.read-more__button--hide {
  display: none;
}

.image-carousel__fullscreen-open,
.image-carousel__fullscreen-close,
.image-carousel__slide-index {
  font-family: "Suisse Intl Mono";
}

.image-carousel__fullscreen-open {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
}
.image-carousel__fullscreen-open::before {
  font-size: 1.75rem;
  line-height: 1.07;
}

.image-carousel__fullscreen-close {
  display: none;
  position: absolute;
  right: 1rem;
  top: 1rem;
  z-index: 100;
}
.image-carousel__fullscreen-close::before {
  border: 1px solid inherit;
  border-radius: 50%;
  padding: 0.25rem;
}

.image-carousel__controls__navigation {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  margin-bottom: 0.5rem;
}

.image-carousel__next,
.image-carousel__prev {
  display: none;
  z-index: 100;
}
.image-carousel__next::before,
.image-carousel__prev::before {
  font-size: 1.75rem;
  line-height: 1.07;
}

.image-carousel__controls--lightbox {
  bottom: 1rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  left: 1rem;
  padding: 0;
  position: absolute;
  width: calc(100% - 2rem);
}

.image-carousel__fullscreen-title {
  display: none;
  margin-bottom: 0.5rem;
  margin-right: 2rem;
  padding: 0;
}

.image-carousel__image--lightbox {
  display: none;
  height: 86%;
  margin-top: 2rem;
  max-width: calc(100% - 3rem);
  -o-object-fit: contain;
     object-fit: contain;
}

.image-carousel__slide {
  position: relative;
}
.image-carousel__slide:has(.image-carousel__slide-description)::after {
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, 0.5)));
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.5));
  content: "";
  display: block;
  height: 100%;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
}
.image-carousel__slide img {
  width: 100%;
}

.image-carousel__slide-count {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.25rem;
  margin-bottom: 1.5rem;
}

.image-carousel__slide-pip {
  border: 1px solid #fff;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: 0.75rem;
  width: 0.75rem;
}
.image-carousel__slide-pip--filled {
  background-color: #fff;
}

.image-carousel__slide-description {
  bottom: 3rem;
  color: #fff;
  left: 3rem;
  position: absolute;
  z-index: 1;
}
.image-carousel__slide-description h2 {
  font-size: 2.5rem;
  line-height: 1.05;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 799px) {
  .image-carousel__slide-description {
    bottom: 1rem;
    left: 1rem;
  }
  .image-carousel__slide-description h2 {
    font-size: 1.75rem;
    line-height: 1.07;
    margin-bottom: 0.5rem;
  }
  .image-carousel__slide-description a {
    font-size: 0.875rem;
    line-height: 1.25;
  }
}

.video {
  aspect-ratio: 16/9;
  overflow: hidden;
  position: relative;
}

.video__player {
  aspect-ratio: 16/9;
  height: 100%;
  width: 100%;
}
.video__player iframe {
  height: 100%;
  width: 100%;
}

.video__placeholder {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-position: center;
  background-size: cover;
  cursor: pointer;
  -webkit-filter: brightness(0.8);
          filter: brightness(0.8);
  height: 100%;
  left: 0;
  opacity: 1;
  position: absolute;
  top: 0;
  -webkit-transition: opacity 0.3s ease, -webkit-filter 0.5s ease, -webkit-transform 0.5s ease;
  transition: opacity 0.3s ease, -webkit-filter 0.5s ease, -webkit-transform 0.5s ease;
  transition: opacity 0.3s ease, filter 0.5s ease, transform 0.5s ease;
  transition: opacity 0.3s ease, filter 0.5s ease, transform 0.5s ease, -webkit-filter 0.5s ease, -webkit-transform 0.5s ease;
  width: 100%;
  z-index: 1;
}
.video:hover .video__placeholder, .video:focus .video__placeholder {
  -webkit-filter: brightness(0.9);
          filter: brightness(0.9);
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.video--started .video__placeholder {
  opacity: 0;
  pointer-events: none;
}

.video__play-button {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  border-radius: 32px;
  color: #000;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Suisse Intl Mono";
  gap: 1rem;
  left: 50%;
  padding: 0.5rem 1.5rem 0.5rem 0.5rem;
  position: absolute;
  top: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  -webkit-transition: opacity 0.3s ease, colour 0.3s ease, background-color 0.25s ease;
  transition: opacity 0.3s ease, colour 0.3s ease, background-color 0.25s ease;
  z-index: 2;
}
.video__play-button::before {
  font-size: 2.5rem;
  line-height: 1.05;
}
.video--started .video__play-button {
  opacity: 0;
  pointer-events: none;
}
.video:hover .video__play-button, .video:focus .video__play-button {
  color: #7E40D1;
}
.energy-mode .video:hover .video__play-button, .energy-mode .video:focus .video__play-button {
  color: #d8acd0;
}
.energy-mode .video__play-button {
  background-color: #000;
  color: #fff;
}

.three-column-carousel {
  width: 100%;
}

.three-column-carousel__navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
}

.three-column-carousel__prev,
.three-column-carousel__next {
  font-size: 1.75rem;
  line-height: 1.07;
  margin-bottom: 1rem;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.three-column-carousel__prev:disabled,
.three-column-carousel__next:disabled {
  opacity: 0.35;
  pointer-events: none;
}

.accordion {
  border-bottom: 1px solid #000;
  margin-bottom: 0.5rem;
  overflow: hidden;
  -webkit-transition: max-height 0.4s cubic-bezier(0.18, 0.9, 0.58, 0.84), border-color 0.25s ease;
  transition: max-height 0.4s cubic-bezier(0.18, 0.9, 0.58, 0.84), border-color 0.25s ease;
  width: 100%;
}
.energy-mode .accordion {
  border-color: #fff;
}

.accordion__title {
  font-size: 2.5rem;
  line-height: 1.05;
  font-weight: bold;
  padding-top: 0.5rem;
  text-align: start;
}
@media only screen and (max-width: 799px) {
  .accordion__title {
    font-size: 1.75rem;
    line-height: 1.07;
  }
}
.accordion__title--alt {
  font-size: 3rem;
  line-height: 1;
  font-family: "Suisse Intl Condensed";
  text-transform: uppercase;
}
@media only screen and (max-width: 799px) {
  .accordion__title--alt {
    font-size: 2.5rem;
    line-height: 1.05;
  }
}

.accordion__toggle {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}
@media only screen and (max-width: 799px) {
  .accordion__toggle {
    padding-bottom: 0.5rem;
  }
}

.accordion__toggle-icon {
  padding-bottom: 0.5rem;
}
.accordion__toggle-icon::before {
  font-size: 1.75rem;
  line-height: 1.07;
  display: block;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}
.accordion--open .accordion__toggle-icon::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media only screen and (max-width: 799px) {
  .accordion__toggle-icon {
    padding-bottom: 0;
  }
}

.accordion__content {
  padding: 1rem 0;
}
@media only screen and (max-width: 799px) {
  .accordion__content {
    padding: 0 0 1rem;
  }
}

.accordion-side-images {
  position: relative;
}
@media only screen and (max-width: 799px) {
  .accordion-side-images {
    margin-top: 1rem;
  }
}

.accordion-side-images__image {
  bottom: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.accordion-side-images__image--show:first-child {
  opacity: 1;
  position: relative;
}

.steps__aside {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 1099px) {
  .steps__aside--d-hidden {
    display: none;
  }
}

.steps__step-title {
  border-bottom: 1px solid #000;
  -webkit-transition: border-color 0.25s ease;
  transition: border-color 0.25s ease;
  width: 100%;
}
.energy-mode .steps__step-title {
  border-color: #fff;
}

.steps__step-title-button {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: bold;
  gap: 1rem;
  padding: 1rem;
  width: 100%;
  z-index: 1;
}
.steps__step-title-button:hover, .steps__step-title-button:focus, .steps__step-title-button--active {
  color: #7E40D1;
}
.energy-mode .steps__step-title-button:hover, .energy-mode .steps__step-title-button:focus, .energy-mode .steps__step-title-button--active {
  color: #d8acd0;
}

.steps__step-number {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #000;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-weight: normal;
  height: 2rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 0;
  padding-top: 0.25rem;
  width: 2rem;
}
.steps__step-title-button:hover .steps__step-number, .steps__step-title-button:focus .steps__step-number, .steps__step-title-button--active .steps__step-number {
  border-color: #7E40D1;
}
.energy-mode .steps__step-title-button:hover .steps__step-number, .energy-mode .steps__step-title-button:focus .steps__step-number, .energy-mode .steps__step-title-button--active .steps__step-number {
  border-color: #d8acd0;
}

.steps__step-heading {
  padding-top: 0.25rem;
  text-align: start;
}

.steps__description-container {
  height: 100%;
}

.steps__description-container,
.steps__image-container {
  position: relative;
}

.steps__step-description {
  bottom: 0;
  left: 0;
}
@media only screen and (max-width: 1099px) {
  .steps__step-description {
    bottom: auto;
    padding-bottom: 1rem;
  }
}

.steps__step-description,
.steps__image-wrapper {
  opacity: 0;
  position: absolute;
  -webkit-transition: opacity 0.2s ease, visibility 0.2s linear;
  transition: opacity 0.2s ease, visibility 0.2s linear;
  visibility: hidden;
}
.steps__step-description--visible,
.steps__image-wrapper--visible {
  opacity: 1;
  visibility: visible;
}

.locations-list dt {
  font-weight: bold;
}
.locations-list dd {
  font-family: "Suisse Intl Mono";
}
.locations-list dd:not(:last-of-type) {
  margin-bottom: 1rem;
}

.featured-entry__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.featured-entry__block-heading,
.featured-entry__sub-heading {
  font-family: "Suisse Intl Mono";
}

.featured-entry__block-heading {
  margin-bottom: 1.5rem;
}

.featured-entry__title {
  padding-bottom: 0.5rem;
}
.featured-entry__title--alt {
  font-family: "Suisse Intl Condensed";
}

.featured-entry__sub-heading {
  font-size: 1.5rem;
  line-height: 1.25;
  margin-bottom: 1.5rem;
}

.featured-entry__link {
  cursor: pointer;
}
@media only screen and (max-width: 799px) {
  .featured-entry__link {
    margin-bottom: 1rem;
  }
}

.featured-entry__image--rounded {
  border-radius: 16px;
  overflow: hidden;
}

.entry-listing--stretch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.entry-listing__link {
  display: block;
}

.entry-listing__image-wrapper {
  overflow: hidden;
}
.entry-listing__image-wrapper--rounded {
  border-radius: 16px;
}
.entry-listing__image-wrapper--animation {
  aspect-ratio: 3/2;
}

.entry-listing__animation {
  height: auto;
  width: auto;
}

.entry-listing__image {
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
.entry-listing__link:hover .entry-listing__image, .entry-listing__link:focus .entry-listing__image {
  -webkit-transform: scale(105%);
          transform: scale(105%);
}

.entry-listing__bullet-link {
  margin-left: 0.05rem;
}
.pagination {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-family: "Suisse Intl Mono";
  gap: 1rem;
  margin-bottom: 4rem;
}

.pagination__prev--disabled,
.pagination__next--disabled {
  cursor: default;
  opacity: 0.6;
  pointer-events: none;
}

.pagination__page-number {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #000;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 2.5rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: color 0.2s ease, border-color 0.2s ease;
  transition: color 0.2s ease, border-color 0.2s ease;
  width: 2.5rem;
}
.pagination__page-number:hover, .pagination__page-number:focus {
  border-color: #7E40D1;
}
.energy-mode .pagination__page-number:hover, .energy-mode .pagination__page-number:focus {
  border-color: #d8acd0;
}
.pagination__page-number--current {
  cursor: default;
  opacity: 0.6;
  pointer-events: none;
}
.energy-mode .pagination__page-number {
  border-color: #fff;
}

.project-archive-table {
  margin-bottom: 4rem;
}
.project-archive-table th {
  color: #808080;
  font-family: "Suisse Intl Mono";
  text-align: start;
}
.project-archive-table th,
.project-archive-table td {
  padding: 0.6rem 0 0.5rem;
}
.project-archive-table th.project-archive-table__mobile-project-info,
.project-archive-table td.project-archive-table__mobile-project-info {
  padding-right: 0;
}
.project-archive-table td {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.project-archive-table__col-1 {
  width: 33.3333%;
}
@media only screen and (max-width: 1279px) {
  .project-archive-table__col-1 {
    width: 50%;
  }
}
@media only screen and (max-width: 649px) {
  .project-archive-table__col-1 {
    width: 100%;
  }
}

.project-archive-table__col-2 {
  width: 25%;
}
@media only screen and (max-width: 1279px) {
  .project-archive-table__col-2 {
    width: 0;
  }
}

.project-archive-table__col-3 {
  width: 25%;
}
@media only screen and (max-width: 799px) {
  .project-archive-table__col-3 {
    width: 50%;
  }
}
@media only screen and (max-width: 649px) {
  .project-archive-table__col-3 {
    width: 0;
  }
}

.project-archive-table__col-4 {
  width: 16.6667%;
}
@media only screen and (max-width: 1279px) {
  .project-archive-table__col-4 {
    width: 25%;
  }
}
@media only screen and (max-width: 799px) {
  .project-archive-table__col-4 {
    width: 0;
  }
}

@media only screen and (max-width: 1279px) {
  .project-archive-table__col-2-heading div,
  .project-archive-table__col-2-data div {
    display: none;
  }
}

@media only screen and (max-width: 649px) {
  .project-archive-table__col-3-heading div,
  .project-archive-table__col-3-data div {
    display: none;
  }
}

@media only screen and (max-width: 799px) {
  .project-archive-table__col-4-heading div,
  .project-archive-table__col-4-data div {
    display: none;
  }
}

.project-archive-table__row {
  -webkit-transition: border-color 0.25s ease;
  transition: border-color 0.25s ease;
}
.project-archive-table__row:first-child {
  border-top: 1px solid #000;
}
.energy-mode .project-archive-table__row {
  border-color: #fff;
}

.project-archive-table__row--expandable {
  border-bottom: 1px solid #000;
}
.project-archive-table__row--expandable td {
  padding: 0;
  vertical-align: top;
}

.project-archive-table__row-content {
  margin-bottom: 2rem;
}
.project-archive-table__row--expandable .project-archive-table__row-content {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.4s ease;
  transition: max-height 0.4s ease;
}

.project-archive-table__row-info {
  padding-bottom: 4rem;
}
@media only screen and (max-width: 649px) {
  .project-archive-table__row-info {
    padding-bottom: 2rem;
  }
}

.project-archive__project-title {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.5rem;
     -moz-column-gap: 0.5rem;
          column-gap: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: bold;
  text-align: left;
}
.project-archive__project-title--active::before {
  content: "•";
  display: block;
  -webkit-transform: scale(1.4);
          transform: scale(1.4);
}

.project-archive-table__mobile-project-info {
  display: none;
}
@media only screen and (max-width: 799px) {
  .project-archive-table__mobile-project-info {
    display: table-cell;
  }
}

@media only screen and (max-width: 799px) {
  .project-archive-table__spacer-column {
    display: none;
  }
}

@media only screen and (max-width: 799px) {
  .project-archive-table__carousel {
    display: none;
  }
}

.author-profile-image {
  border-radius: 50%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 6rem;
  width: 6rem;
}

.person-listing__image {
  border-radius: 16px;
  margin-bottom: 1.5rem;
}

.person-listing__title {
  padding-bottom: 2rem;
}

.location-block__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.search {
  font-family: "Suisse Intl Mono";
  max-height: 2rem;
  overflow: hidden;
  -webkit-transition: max-height 0.4s cubic-bezier(0.18, 0.9, 0.58, 0.84);
  transition: max-height 0.4s cubic-bezier(0.18, 0.9, 0.58, 0.84);
}
.search--no-filters {
  max-height: none;
  overflow: auto;
}

.search__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: 3rem;
}

.search__query {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.search__query::before {
  font-size: 1.75rem;
  line-height: 1.07;
  cursor: pointer;
  margin-right: 0.5rem;
}
.search--no-filters .search__query::before {
  cursor: default;
}
.search__query input {
  border: 0;
  font-family: "Suisse Intl Mono";
  padding: 0.25rem 0.5rem;
  -webkit-transition: color 0.25s ease;
  transition: color 0.25s ease;
}
.energy-mode .search__query input {
  color: #fff;
}
.search__query input::-webkit-input-placeholder {
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.search__query input::-moz-placeholder {
  -moz-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.search__query input:-ms-input-placeholder {
  -ms-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.search__query input::-ms-input-placeholder {
  -ms-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.search__query input::placeholder {
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.search__query input:not(.search--expand .search__query input)::-webkit-input-placeholder {
  color: #000;
  -webkit-transition: color 0.25s ease;
  transition: color 0.25s ease;
}
.search__query input:not(.search--expand .search__query input)::-moz-placeholder {
  color: #000;
  -moz-transition: color 0.25s ease;
  transition: color 0.25s ease;
}
.search__query input:not(.search--expand .search__query input):-ms-input-placeholder {
  color: #000;
  -ms-transition: color 0.25s ease;
  transition: color 0.25s ease;
}
.search__query input:not(.search--expand .search__query input)::-ms-input-placeholder {
  color: #000;
  -ms-transition: color 0.25s ease;
  transition: color 0.25s ease;
}
.search__query input:not(.search--expand .search__query input)::placeholder {
  color: #000;
  -webkit-transition: color 0.25s ease;
  transition: color 0.25s ease;
}
.energy-mode .search__query input:not(.search--expand .search__query input)::-webkit-input-placeholder {
  color: #fff;
}
.energy-mode .search__query input:not(.search--expand .search__query input)::-moz-placeholder {
  color: #fff;
}
.energy-mode .search__query input:not(.search--expand .search__query input):-ms-input-placeholder {
  color: #fff;
}
.energy-mode .search__query input:not(.search--expand .search__query input)::-ms-input-placeholder {
  color: #fff;
}
.energy-mode .search__query input:not(.search--expand .search__query input)::placeholder {
  color: #fff;
}

.search__actions {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3rem;
}
.search__actions button {
  font-family: "Suisse Intl Mono";
}

.search__close,
.search__reset {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  display: none;
}
.search__close::before,
.search__reset::before {
  font-size: 0.75rem;
  line-height: 1.33;
  margin-right: 0.5rem;
}
.search--expand .search__close,
.search--expand .search__reset {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.hero {
  margin-bottom: 4rem;
}
@media only screen and (max-width: 799px) {
  .hero {
    margin-bottom: 2rem;
  }
}

.hero__vimeo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.vimeo-autoplay__fallback-img {
  display: none;
}
.vimeo-autoplay__fallback-img--no-video {
  display: block;
}
.vimeo-autoplay__fallback-img--displayed {
  display: block;
}

.lightbox {
  overflow: hidden;
}
.lightbox--active {
  background-color: #fff;
  bottom: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: 100%;
  left: 0;
  padding-right: 32px;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 99;
}
.energy-mode .lightbox--active {
  background-color: #000;
}
.lightbox--active .image-carousel {
  height: 100%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100%;
  z-index: 99;
}
.lightbox--active .image-carousel__image {
  display: none;
}
.lightbox--active .image-carousel__image--lightbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.lightbox--active .image-carousel__slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.lightbox--active .image-carousel__slide-index {
  bottom: 1.75rem;
  position: absolute;
  right: 7rem;
}
@media only screen and (max-width: 649px) {
  .lightbox--active .image-carousel__slide-index {
    right: 16px;
  }
}
.lightbox--active .image-carousel__next,
.lightbox--active .image-carousel__prev {
  display: block;
}
.lightbox--active .image-carousel__controls--lightbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.lightbox--active .image-carousel__fullscreen-open {
  display: none;
}
.lightbox--active .image-carousel__fullscreen-close {
  display: block;
}
.lightbox--active .image-carousel__fullscreen-title {
  display: block;
}
@media only screen and (max-width: 649px) {
  .lightbox--active .image-carousel__fullscreen-title {
    display: none;
  }
}

.lightbox-active {
  overflow: hidden;
  position: relative;
}

.newsletter {
  color: #fff;
}

.newsletter__block-heading {
  font-family: "Suisse Intl Mono";
  margin-bottom: 1.5rem;
}

.newsletter__input[type=text], .newsletter__input[type=email] {
  font-size: 2.5rem;
  line-height: 1.05;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  display: block;
  font-weight: bold;
  line-height: 1.02;
  margin-bottom: 2rem;
  padding-bottom: 0.5;
  padding-left: 0;
  padding-top: 0.5rem;
  text-decoration: none;
  width: 100%;
}
.newsletter__input::-webkit-input-placeholder {
  color: #fff;
}
.newsletter__input::-moz-placeholder {
  color: #fff;
}
.newsletter__input:-ms-input-placeholder {
  color: #fff;
}
.newsletter__input::-ms-input-placeholder {
  color: #fff;
}
.newsletter__input::placeholder {
  color: #fff;
}
.newsletter__input:focus {
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

[data-fade-in=block] {
  -webkit-transform: translateY(20vh);
          transform: translateY(20vh);
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: -webkit-transform 1s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: transform 1s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: transform 1s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 1s cubic-bezier(0.075, 0.82, 0.165, 1);
}
[data-fade-in=block].fade-in--reveal {
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
}