@font-face {
  font-family: PP Mori;
  src: url('../fonts/PPMori-SemiBold.woff') format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

:root {
  --swatches--cream: #f3f1e6;
  --fonts--body: "PP Mori", sans-serif;
  --swatches--black: #000;
  --body--size-desktop: 1.1vw;
  --body--line-desktop: 1.4em;
  --body--size-tablet: 14px;
  --body--line-tablet: 1.3em;
  --fonts--headings: "PP Mori", sans-serif;
  --headings-xlarge--size-desktop: 9.5em;
  --headings-xlarge--line-desktop: .84em;
  --headings-xlarge--size-tablet: 4em;
  --headings-xlarge--line-tablet: .82em;
  --headings-large--size-desktop: 6em;
  --headings-large--line-tablet: .85em;
  --headings-large--size-tablet: 2.85em;
  --headings-medium--size-desktop: 2.4em;
  --headings-medium--line-desktop: .875em;
  --headings-medium--size-tablet: 2.28em;
  --headings-medium--line-tablet: 1em;
  --headings-small--size-desktop: var(--headings-medium--size-desktop);
  --headings-small--line-desktop: var(--headings-medium--line-desktop);
  --headings-small--size-tablet: var(--headings-medium--size-tablet);
  --headings-small--line-tablet: var(--headings-medium--line-tablet);
  --headings-xsmall--size-desktop: var(--headings-medium--size-desktop);
  --headings-xsmall--line-desktop: var(--headings-medium--line-desktop);
  --headings-mini--size-desktop: var(--headings-medium--size-desktop);
  --headings-mini--line-desktop: var(--headings-medium--line-desktop);
  --headings-mini--size-tablet: var(--headings-medium--size-tablet);
  --headings-mini--line-tablet: var(--headings-medium--line-tablet);
  --headings-xsmall--size-tablet: var(--headings-medium--size-tablet);
  --headings-xsmall--line-tablet: var(--headings-medium--line-tablet);
  --swatches--white: white;
  --label--size-desktop: .9em;
  --label--line-desktop: 1em;
  --label--size-tablet: 1em;
  --label--line-tablet: 1em;
  --body-big--size-desktop: 1.8em;
  --body-big--line-desktop: 1.3em;
  --body-big--size-tablet: 1.57em;
  --body-big--line-tablet: 1.3em;
  --body-small--size-desktop: .7em;
  --body-small--line-desktop: 1.3em;
  --body-small--size-tablet: 1em;
  --body-small--line-tablet: 1.3em;
  --misc--border-line-size: 2px;
  --misc--border-radius-desktop: 60px;
  --misc--border-radius-tablet: 30px;
  --swatches--lime: #d3ffc1;
  --headings-large--line-desktop: .83em;
  --white: white;
  --black: black;
}

.w-layout-blockcontainer {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.w-layout-layout {
  grid-row-gap: 20px;
  grid-column-gap: 20px;
  grid-auto-columns: 1fr;
  justify-content: center;
  padding: 20px;
}

.w-layout-cell {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

@media screen and (max-width: 991px) {
  .w-layout-blockcontainer {
    max-width: 728px;
  }
}

@media screen and (max-width: 767px) {
  .w-layout-blockcontainer {
    max-width: none;
  }
}

body {
  background-color: var(--swatches--cream);
  font-family: var(--fonts--body);
  color: var(--swatches--black);
  font-size: var(--body--size-desktop);
  line-height: var(--body--line-desktop);
  letter-spacing: -.03em;
  font-weight: 600;
}

h1 {
  font-family: var(--fonts--headings);
  font-size: var(--headings-xlarge--size-desktop);
  line-height: var(--headings-xlarge--line-desktop);
  margin-top: 20px;
  margin-bottom: 10px;
  font-weight: 600;
}

h2 {
  font-family: var(--fonts--headings);
  font-size: var(--headings-large--size-desktop);
  line-height: var(--headings-large--line-tablet);
  margin-top: 20px;
  margin-bottom: 10px;
  font-weight: 600;
}

h3 {
  font-family: var(--fonts--headings);
  font-size: var(--headings-medium--size-desktop);
  line-height: var(--headings-medium--line-desktop);
  margin-top: 20px;
  margin-bottom: 10px;
  font-weight: 600;
}

h4 {
  font-family: var(--fonts--headings);
  font-size: var(--headings-small--size-desktop);
  line-height: var(--headings-small--line-desktop);
  margin-top: 10px;
  margin-bottom: 10px;
  font-weight: 600;
}

h5 {
  font-family: var(--fonts--headings);
  font-size: var(--headings-xsmall--size-desktop);
  line-height: var(--headings-xsmall--line-desktop);
  margin-top: 10px;
  margin-bottom: 10px;
  font-weight: 600;
}

h6 {
  font-family: var(--fonts--headings);
  font-size: var(--headings-mini--size-desktop);
  line-height: var(--headings-mini--line-desktop);
  margin-top: 10px;
  margin-bottom: 10px;
  font-weight: 600;
}

a {
  color: var(--swatches--black);
  text-decoration: none;
}

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

.version-grid {
  opacity: .75;
  color: #fff;
  font-size: 20px;
}

.light {
  color: #fff;
}

.emp {
  color: #4daaec;
}

.button {
  background-color: #846ffb;
  border-radius: 3px;
  margin-top: 5px;
  margin-bottom: 5px;
  margin-right: 10px;
  padding: 15px;
  font-weight: 700;
}

.button.button_secondary {
  background-color: #4353ff;
}

.section {
  padding-top: 30px;
  padding-bottom: 30px;
}

.section.intro {
  background-color: #4daaec;
  padding-top: 90px;
  padding-bottom: 90px;
}

.section.fade {
  background-color: #f8fcff;
}

.section.footer-grid {
  background-color: #4daaec;
}

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

.container {
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 48px;
  padding-right: 48px;
  display: block;
}

.row {
  flex-wrap: wrap;
  align-content: stretch;
  margin-left: -15px;
  margin-right: -15px;
  display: flex;
}

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

.row.row-example {
  background-color: #f7f4ff;
  min-height: 175px;
}

.row.justify-around {
  justify-content: space-around;
}

.row.align-center {
  align-items: center;
}

.row.justify-center {
  justify-content: center;
}

.row.align-end {
  align-items: flex-end;
}

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

.row.justify-end {
  justify-content: flex-end;
}

.inner-div-example {
  text-align: center;
  background-color: #f3faff;
  border: 1px solid #c0e5ff;
  padding-top: 15px;
  padding-bottom: 15px;
}

.col {
  flex: 1;
  padding-left: 15px;
  padding-right: 15px;
}

.col.col-9 {
  flex-basis: 75%;
  max-width: 75%;
}

.col.no-gutters {
  padding-left: 0;
  padding-right: 0;
}

.col.col-2 {
  flex-basis: 16.67%;
  max-width: 16.6667%;
}

.col.col-11 {
  flex-basis: 91.67%;
  max-width: 91.6667%;
}

.col.self-start {
  align-self: flex-start;
}

.col.col-7 {
  flex-basis: 58.33%;
  max-width: 58.3333%;
}

.col.col-6 {
  flex-basis: 50%;
  max-width: 50%;
}

.col.col-5 {
  flex-basis: 41.67%;
  max-width: 41.6667%;
}

.col.col-3 {
  flex-basis: 25%;
  max-width: 25%;
}

.col.col-12 {
  flex-basis: 100%;
  max-width: 100%;
}

.col.col-8 {
  flex-basis: 66.67%;
  max-width: 66.6667%;
}

.col.col-4 {
  flex-basis: 33.33%;
  max-width: 33.3333%;
}

.col.self-center {
  align-self: center;
}

.col.col-1 {
  flex-basis: 8.33%;
  max-width: 8.33333%;
}

.col.order-first {
  order: -1;
}

.col.order-last {
  order: 1;
}

.col.self-end {
  align-self: flex-end;
}

.col.col-10 {
  flex-basis: 83.33%;
  max-width: 83.3333%;
}

.generic__hero {
  align-items: flex-end;
  min-height: 110vh;
  margin-top: -3.5em;
  display: flex;
}

.generic__hero.generic__hero--border {
  border-bottom: .125em solid var(--swatches--black);
}

.generic__hero-title {
  max-width: 63em;
  margin-bottom: 6.25em;
}

.heading-large {
  font-family: var(--fonts--headings);
  font-size: var(--headings-large--size-desktop);
  line-height: var(--headings-large--line-tablet);
  text-transform: uppercase;
}

.heading-medium {
  font-family: var(--fonts--headings);
  font-size: var(--headings-medium--size-desktop);
  line-height: var(--headings-medium--line-desktop);
  text-transform: uppercase;
}

.heading-xsmall {
  font-family: var(--fonts--headings);
  font-size: var(--headings-xsmall--size-desktop);
  line-height: var(--headings-xsmall--line-desktop);
  text-transform: uppercase;
}

.heading-xlarge {
  font-family: var(--fonts--headings);
  font-size: var(--headings-xlarge--size-desktop);
  line-height: var(--headings-xlarge--line-desktop);
  text-transform: uppercase;
}

.utilspage__textblock {
  flex-direction: column;
  align-items: flex-start;
  margin-top: 3em;
  margin-bottom: 3em;
  display: flex;
}

.utilspage__left-content {
  flex-direction: column;
  align-items: flex-start;
  margin-top: 2em;
  display: flex;
  position: sticky;
  top: 120px;
}

.bubble {
  background-color: var(--swatches--black);
  color: var(--swatches--white);
  font-size: var(--label--size-desktop);
  line-height: var(--label--line-desktop);
  border-radius: 50px;
  padding: .355em 1em .525em;
  display: inline-block;
}

.bubble.bubble--styleguide {
  margin-bottom: 2.25em;
}

.bubble.bubble--about {
  margin-top: 2.5em;
  margin-bottom: 1.2em;
}

.heading-small {
  font-family: var(--fonts--headings);
  font-size: var(--headings-small--size-desktop);
  line-height: var(--headings-small--line-desktop);
  text-transform: uppercase;
  font-weight: 400;
  position: relative;
}

.styleguide__link {
  opacity: .5;
  margin-bottom: .6em;
  transition: color .2s, opacity .2s;
}

.styleguide__link.w--current {
  opacity: 1;
  color: #e2ff70;
}

.heading-mini {
  font-family: var(--fonts--headings);
  font-size: var(--headings-mini--size-desktop);
  line-height: var(--headings-mini--line-desktop);
  text-transform: uppercase;
}

.body-big {
  font-size: var(--body-big--size-desktop);
  line-height: var(--body-big--line-desktop);
  overflow-wrap: anywhere;
}

.body-small {
  font-size: var(--body-small--size-desktop);
  line-height: var(--body-small--line-desktop);
}

.label {
  font-size: var(--label--size-desktop);
  line-height: var(--label--line-desktop);
}

.divider {
  border-top: var(--misc--border-line-size) solid var(--swatches--black);
  text-transform: uppercase;
  justify-content: space-between;
  margin-top: 2.5em;
  margin-bottom: 2.5em;
  padding-top: .75em;
  font-size: 1em;
  display: flex;
}

.divider.divider--white {
  border-top-color: var(--swatches--white);
}

.helper-roundedcorners {
  border-radius: var(--misc--border-radius-desktop);
  overflow: hidden;
}

.homepage_hero-image-content {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.homepage_hero {
  margin-top: -1em;
}

.homepage_hero-image {
  width: 100%;
  height: 120svh;
  overflow: hidden;
}

.homepage_hero-image.helper-roundedcorners {
  overflow: hidden;
}

.projectitem_wrapper {
  width: 100%;
  margin-bottom: 2.8em;
}

.projectitem_imagewrapper.helper-roundedcorners {
  width: 100%;
  position: relative;
}

.projectitem_title {
  margin-top: 1.2em;
}

.projectitem__image {
  object-fit: cover;
  height: 90svh;
}

.homepage_sectiontitle {
  margin-bottom: 4.7em;
}

.cta.cta--small {
  border: var(--misc--border-line-size) solid var(--swatches--black);
  border-radius: 200px;
  padding: .5em 1.5em;
}

.cta.cta--big {
  border: var(--misc--border-line-size) solid var(--swatches--black);
  background-color: var(--swatches--black);
  color: var(--swatches--white);
  border-radius: 8em;
  padding: .6em 3em 1.2em;
}

.footer {
  z-index: 0;
  background-color: var(--swatches--black);
  color: var(--swatches--white);
  padding-top: 4.5em;
  padding-bottom: 2em;
  position: sticky;
  bottom: 0;
}

.homepage_projects-cta {
  justify-content: center;
  align-items: center;
  margin-top: 3em;
  display: flex;
}

.accordion-item {
  border-top: var(--misc--border-line-size) solid var(--swatches--black);
  width: 100%;
  overflow: hidden;
}

.accordion-item.accordion-item--last {
  border-bottom: var(--misc--border-line-size) none var(--swatches--black);
}

.accordion-toggle {
  flex-direction: column;
  justify-content: center;
  padding: 1.2em 0;
  display: flex;
}

.accordion-list {
  background-color: #fff0;
  display: block;
  position: relative;
}

.accordion-toggle_icon {
  width: 2em;
  height: 2em;
  margin-left: auto;
}

.accordion-list_content {
  padding-top: 1.2em;
  padding-bottom: 1.2em;
}

.helper-marginleftauto {
  margin-left: auto;
}

.accordion-list_text {
  margin-bottom: 2.2em;
}

.homepage_section {
  margin-bottom: 8.5em;
}

.homepage_section.homepage_section--last {
  margin-bottom: 0;
}

.homepage_blog {
  padding-bottom: 3.1em;
}

.cmsentry-imagewrapper.helper-roundedcorners {
  position: relative;
}

.cmsentry-image {
  aspect-ratio: 1.625;
  object-fit: cover;
}

.cmsentry-wrapper {
  border-bottom: var(--misc--border-line-size) solid var(--swatches--black);
  padding-top: 3.2em;
  padding-bottom: 3.2em;
}

.footer_pagelink {
  color: var(--swatches--white);
}

.footer_logo {
  margin-bottom: 8.5em;
}

.div-block {
  flex-direction: column;
  display: flex;
}

.footer_sociallink {
  color: var(--swatches--white);
  margin-bottom: .2em;
}

.page-wrapper {
  z-index: 1;
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  background-color: var(--swatches--cream);
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  padding-top: 2em;
  padding-bottom: 2em;
  position: relative;
  overflow: visible;
}

.homepage_hero-logo {
  max-width: 21em;
}

.homepage_hero-top {
  margin-bottom: 2.4em;
  display: flex;
}

.homepage_hero-text {
  margin-left: 5em;
}

.header__menu {
  color: #fff;
  font-size: var(--label--size-desktop);
  font-weight: 600;
  line-height: 1em;
}

.header__menu.header__menu-close {
  opacity: 0;
  color: #fff;
  width: 100%;
  position: absolute;
}

.header__bar {
  border-top: var(--misc--border-line-size) solid black;
  line-height: var(--headings-xlarge--line-desktop);
  justify-content: space-between;
  align-items: flex-start;
  margin-left: 48px;
  margin-right: 48px;
  padding-top: .75em;
  display: block;
  position: relative;
  left: 0;
  right: 0;
}

.header__open-wrapper {
  z-index: 1000;
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  background-color: var(--swatches--lime);
  flex-direction: column;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  height: 100%;
  padding-top: 2.75em;
  padding-bottom: 2.75em;
  display: grid;
  position: fixed;
  inset: 0%;
}

.header {
  position: relative;
}

.header_trigger {
  z-index: 1001;
  background-color: var(--swatches--black);
  text-align: center;
  cursor: pointer;
  border-radius: 5em;
  width: 5em;
  padding-top: .4em;
  padding-bottom: .5em;
  position: fixed;
  top: 2.75em;
  right: 48px;
}

.heaeder_open-bottom {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.header_open-pagerow {
  grid-column-gap: 2.4em;
  grid-row-gap: 2.4em;
  margin-bottom: 1.2em;
  display: flex;
}

.header_logo {
  width: 6.8em;
  height: .65em;
}

.col-2 {
  flex: 1;
}

.about__numbers-single {
  margin-bottom: 8.75em;
}

.about__numbers-text {
  max-width: 15em;
}

.col-3 {
  flex: 1;
}

.team_imageparent {
  margin-bottom: 2em;
  overflow: hidden;
}

.team_single {
  text-align: center;
}

.team_image {
  width: 100%;
  height: 100%;
}

.team_title {
  text-align: center;
  margin-bottom: 2em;
}

.team_label {
  margin-top: .5em;
}

.helper-opacity50 {
  opacity: .5;
}

.team_container {
  padding-bottom: 11.5em;
}

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

.about__logos-container {
  max-width: 60em;
  margin-top: 6.875em;
  margin-left: auto;
  margin-right: auto;
}

.about__logos-logo {
  justify-content: center;
  align-items: center;
}

.helper-backgroundlime {
  background-color: var(--swatches--lime);
}

.about__hero {
  align-items: flex-end;
  min-height: 90svh;
  display: flex;
}

.text-block {
  margin-top: 4.5em;
  margin-bottom: 4.5em;
}

.cta-marquee {
  display: block;
  overflow: hidden;
}

.cta-marquee-content {
  grid-column-gap: 2.4em;
  grid-row-gap: 2.4em;
  direction: ltr;
  white-space: nowrap;
  word-break: keep-all;
  flex-wrap: nowrap;
  justify-content: center;
  display: flex;
}

.helper-uppercase {
  text-transform: uppercase;
}

.workssingle__specs {
  margin-bottom: 2.5em;
  font-size: .875em;
  line-height: 1.43em;
}

.workssingle__specs-block {
  flex-direction: column;
  display: flex;
}

.workssingle__top {
  margin-bottom: 7em;
}

.workssingle__hero-title {
  align-items: flex-end;
  min-height: 60svh;
  margin-bottom: 3.5em;
  display: flex;
}

.workssingle__marquee {
  margin-top: 7.5em;
  padding-bottom: 7.5em;
}

.about__marquee {
  padding-bottom: 7.5em;
}

.image-2 {
  aspect-ratio: 1.75;
  object-fit: cover;
}

.worksarchive__title {
  text-align: center;
  font-size: 28.1em;
}

.worksarchive__titlewrapper {
  margin-bottom: 4.5em;
}

.journalarchive__title {
  text-align: center;
  font-size: 18em;
}

.journalarchive__titlewrapperr {
  margin-bottom: 4.5em;
}

.wysiwyg--templates {
  margin-bottom: 6em;
}

.wysiwyg--templates img {
  border-radius: var(--misc--border-radius-desktop);
  width: 100%;
}

.wysiwyg--templates figure {
  width: 100%;
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}

.wysiwyg--templates p {
  margin: 1em 13%;
}

.wysiwyg--templates blockquote {
  border-left-width: var(--misc--border-line-size);
  font-size: var(--body-big--size-desktop);
  line-height: var(--body-big--line-desktop);
  border-left-color: #000;
  margin: 4em 20% 4em 13%;
  padding-left: 1.625em;
}

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

.journalsingle__hero-image {
  margin-top: 3.75em;
  margin-bottom: 8em;
}

.journalsingle__hero-title {
  margin-top: 6em;
}

.contacts__hero {
  flex-direction: column;
  justify-content: flex-end;
  min-height: 60svh;
  display: flex;
}

.contacts__data {
  margin-top: 5em;
  margin-bottom: 8em;
}

.careers__avatar-image {
  border-radius: 50%;
}

.careers__avatar-image-overlay {
  z-index: -1;
  background-color: var(--swatches--black);
  border-radius: 100%;
  position: absolute;
  inset: 0%;
}

.careers__avatar-container {
  flex-direction: column;
  justify-content: space-around;
  align-items: stretch;
  min-height: 50vh;
  margin-top: 10em;
  display: flex;
}

.careers__avatar-image-wrapper {
  object-fit: cover;
  border-radius: 50%;
  width: 15em;
  height: auto;
  position: absolute;
  overflow: hidden;
}

.careers__avatar-image-wrapper._6 {
  top: 32%;
  left: -42%;
}

.careers__avatar-image-wrapper._5 {
  top: 90%;
  left: -12%;
}

.careers__avatar-image-wrapper._7 {
  bottom: 67%;
  right: -28%;
}

.careers__avatar-image-wrapper._8 {
  bottom: -6%;
  right: -40%;
}

.careers__avatar-image-wrapper._3 {
  bottom: -60%;
  right: -9%;
}

.careers__avatar-image-wrapper._2 {
  top: -32%;
  left: -24%;
}

.careers__avatar-wrapper {
  flex-direction: row;
  justify-content: center;
  align-items: center;
  height: 50vh;
  display: flex;
  position: relative;
}

.careers__avatar-title-wrapper {
  position: relative;
}

.careers__list_entry {
  grid-column-gap: 48px;
  grid-row-gap: 48px;
  cursor: pointer;
  border-top: .125em solid #1f1f1f;
  grid-template: "A B C"
  / 1fr 1fr 2.5em;
  grid-auto-columns: 1fr;
  padding-top: 1.5em;
  padding-bottom: 1.5em;
  font-size: 1.25em;
  display: grid;
}

.careers__content-title {
  text-align: left;
  margin-bottom: 1em;
}

.careers__content-right {
  z-index: 10;
  background-color: var(--swatches--lime);
  width: 70%;
  height: 100%;
  margin-left: 30%;
  padding-top: 10em;
  padding-bottom: 10em;
  position: relative;
  overflow: scroll;
}

.careers__list-job {
  text-transform: uppercase;
}

.careers__content-arrow {
  cursor: pointer;
  justify-content: center;
  align-items: center;
  width: 2em;
  height: 2em;
  position: absolute;
  top: 2em;
  left: 48px;
}

.careers__list-content {
  z-index: 20;
  width: 100%;
  height: 100%;
  display: none;
  position: fixed;
  inset: 0% 0% 0% auto;
  overflow: visible;
}

.careers__content-bg {
  z-index: 1;
  opacity: .5;
  cursor: pointer;
  background-color: #1f1f1f;
  width: 100%;
  height: 100%;
  position: absolute;
}

.circlearrow__image {
  width: 70%;
  position: relative;
}

.careers__rte {
  margin-bottom: 4rem;
}

.circlearrow-black {
  background-color: var(--swatches--black);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}

.circlearrow-outline {
  border: 2px solid var(--swatches--black);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}

.careers__list {
  margin-top: 23em;
  margin-bottom: 5em;
}

.careers__hero-sub {
  max-width: 50ch;
  margin-top: 4em;
}

.careers__hero-content {
  flex-direction: column;
  align-items: center;
  display: flex;
}

.line {
  background-color: var(--swatches--black);
  width: 100%;
  height: .125em;
}

.styleguide__colors-grid {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  flex-wrap: wrap;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  display: grid;
}

.styleguide__color {
  width: 100%;
}

.styleguide__color-box {
  border: 1px solid var(--swatches--black);
  text-align: center;
  text-transform: uppercase;
  border-radius: 2px;
  justify-content: center;
  align-items: center;
  padding-top: 100px;
  padding-bottom: 100px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1em;
  display: flex;
}

.styleguide__color-box.white {
  background-color: var(--swatches--white);
  color: var(--swatches--black);
}

.styleguide__color-box.black {
  background-color: var(--swatches--black);
  color: var(--swatches--white);
}

.styleguide__color-box.highlight {
  background-color: var(--swatches--lime);
  color: #1f1f1f;
}

.styleguide__color-box.cream {
  background-color: var(--swatches--cream);
  color: #1f1f1f;
}

.text-block-2 {
  color: var(--swatches--black);
}

.utilspage__link {
  border-bottom: .0625em solid var(--swatches--black);
  text-transform: uppercase;
  margin-bottom: 1em;
  padding-bottom: .3em;
  font-size: .8em;
  line-height: 1em;
}

.utilspage__link:hover {
  border-bottom-color: #e2ff70;
}

.utilspage__section {
  margin-bottom: 0;
}

.utilspage__left-text {
  margin-top: 1em;
  margin-bottom: 2em;
}

.licences__assetsgrid {
  grid-column-gap: 48px;
  grid-row-gap: 48px;
  grid-template-rows: 1fr;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.licences__assetsgrid-image {
  aspect-ratio: 1;
  object-fit: cover;
}

.licences__assetsgrid-logowrapper {
  background-color: #0000000d;
  justify-content: center;
  align-items: center;
  padding-top: 4em;
  padding-bottom: 4em;
  display: flex;
  position: relative;
}

.licences__assetsgrid-logo {
  width: 50%;
}

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

.careers__list-arrow {
  aspect-ratio: 1;
  width: 70%;
}

.obliquearrow-hovers {
  z-index: 1;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 3em;
  height: 3em;
  display: flex;
  position: absolute;
  top: 2em;
  right: 2em;
  overflow: hidden;
}

.obliquearrow-hovers__image {
  width: 70%;
  transform: rotate(-45deg);
}

.obliquearrow-hovers__bg {
  background-color: var(--swatches--cream);
  border-radius: 50%;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
  overflow: hidden;
}

.utility-page-wrap {
  justify-content: center;
  align-items: center;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  max-height: 100%;
  display: flex;
}

.utility-page-content {
  text-align: center;
  flex-direction: column;
  width: 260px;
  display: flex;
}

.utility-page-form {
  flex-direction: column;
  align-items: stretch;
  display: flex;
}

@media screen and (max-width: 991px) {
  body {
    font-size: var(--body--size-tablet);
    line-height: var(--body--line-tablet);
  }

  h1 {
    font-size: var(--headings-xlarge--size-tablet);
    line-height: var(--headings-xlarge--line-tablet);
  }

  h2 {
    font-size: var(--headings-large--size-tablet);
    line-height: var(--headings-large--line-tablet);
  }

  h3 {
    font-size: var(--headings-medium--size-tablet);
    line-height: var(--headings-medium--line-tablet);
  }

  h4 {
    font-size: var(--headings-small--size-tablet);
    line-height: var(--headings-small--line-tablet);
  }

  h6 {
    font-size: var(--headings-mini--size-tablet);
    line-height: var(--headings-mini--line-tablet);
  }

  .container {
    padding-left: 24px;
    padding-right: 24px;
  }

  .col.col-m-8 {
    flex-basis: 66.67%;
    max-width: 66.6667%;
  }

  .col.col-m-9 {
    flex-basis: 75%;
    max-width: 75%;
  }

  .col.col-m-7 {
    flex-basis: 58.33%;
    max-width: 58.3333%;
  }

  .col.col-m-11 {
    flex-basis: 91.67%;
    max-width: 91.6667%;
  }

  .col.col-m-6 {
    flex-basis: 50%;
    max-width: 50%;
  }

  .col.col-m-12 {
    flex-basis: 100%;
    max-width: 100%;
  }

  .col.col-m-12.footer__address, .col.col-5.helper-marginleftauto.col-m-12.col--cmsentry-image {
    order: -1;
  }

  .col.col-m-3 {
    flex-basis: 25%;
    max-width: 25%;
  }

  .col.col-m-1 {
    flex-basis: 8.33%;
    max-width: 8.33333%;
  }

  .col.col-m-2 {
    flex-basis: 16.67%;
    max-width: 16.6667%;
  }

  .col.col-m-10 {
    flex-basis: 83.33%;
    max-width: 83.3333%;
  }

  .col.col-m-5 {
    flex-basis: 41.67%;
    max-width: 41.6667%;
  }

  .col.col-m-4 {
    flex-basis: 33.33%;
    max-width: 33.3333%;
  }

  .generic__hero {
    min-height: 80vh;
  }

  .generic__hero-title {
    margin-bottom: 1.875em;
  }

  .heading-large {
    font-size: var(--headings-large--size-tablet);
    line-height: var(--headings-large--line-tablet);
  }

  .heading-medium {
    font-size: var(--headings-medium--size-tablet);
    line-height: var(--headings-medium--line-tablet);
  }

  .heading-xsmall {
    font-size: var(--headings-xsmall--size-tablet);
    line-height: var(--headings-xsmall--line-tablet);
  }

  .heading-xlarge {
    font-size: var(--headings-xlarge--size-tablet);
    line-height: var(--headings-xlarge--line-tablet);
  }

  .bubble {
    font-size: var(--label--size-tablet);
    line-height: var(--label--line-tablet);
    margin-bottom: 20px;
  }

  .bubble.bubble--styleguide {
    font-size: var(--label--size-tablet);
    line-height: var(--label--line-tablet);
  }

  .heading-small {
    font-size: var(--headings-small--size-tablet);
    line-height: var(--headings-small--line-tablet);
  }

  .heading-mini {
    font-size: var(--headings-mini--size-tablet);
    line-height: var(--headings-mini--line-tablet);
  }

  .body-big {
    font-size: var(--body-big--size-tablet);
    line-height: var(--body-big--line-tablet);
  }

  .body-small {
    font-size: var(--body-small--size-tablet);
    line-height: var(--body-small--line-tablet);
  }

  .label {
    font-size: var(--label--size-tablet);
    line-height: var(--label--line-tablet);
  }

  .helper-roundedcorners {
    border-radius: var(--misc--border-radius-tablet);
  }

  .homepage_hero-image {
    height: 70svh;
  }

  .projectitem__image {
    aspect-ratio: 1 / 1.2;
    height: auto;
    max-height: none;
  }

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

  .cta.cta--big {
    padding-bottom: 1em;
    padding-left: 2em;
    padding-right: 2em;
  }

  .cmsentry-image {
    aspect-ratio: 1.14;
  }

  .cmsentry-label {
    margin-top: 1.7em;
    margin-bottom: 1em;
  }

  .footer_logo {
    margin-bottom: 5em;
  }

  .homepage_hero-logo {
    max-width: 17em;
  }

  .homepage_hero-top {
    flex-direction: column;
  }

  .homepage_hero-text {
    margin-top: 11em;
    margin-left: 0;
  }

  .header__menu {
    font-size: 1.2em;
  }

  .header__bar {
    margin-left: 24px;
    margin-right: 24px;
  }

  .header__open-wrapper {
    justify-content: flex-end;
    display: none;
  }

  .header_trigger {
    width: 5.4em;
    right: 24px;
  }

  .heaeder_open-bottom {
    grid-column-gap: 1.57143em;
    grid-row-gap: 1.57143em;
    text-align: center;
    flex-direction: column;
    align-items: stretch;
  }

  .header_open-pagerow {
    grid-column-gap: 1em;
    grid-row-gap: 1em;
    flex-direction: column;
    align-items: flex-end;
    margin-bottom: 1em;
  }

  .col-2.col-m-12 {
    flex-basis: 100%;
    max-width: 100%;
  }

  .about__numbers-single {
    margin-bottom: 4.375em;
  }

  .team_container {
    padding-bottom: 5em;
  }

  .about__logos-container {
    margin-top: 2.875em;
    padding: 0;
  }

  .about__hero {
    min-height: 40svh;
    padding-top: 10em;
  }

  .cta-marquee-content {
    grid-column-gap: 1em;
    grid-row-gap: 1em;
  }

  .workssingle__top {
    margin-bottom: 2em;
  }

  .workssingle__top-title {
    margin-bottom: 5em;
  }

  .workssingle__hero-title {
    min-height: 40svh;
    padding-top: 10em;
  }

  .image-2 {
    aspect-ratio: 1 / 1.35;
  }

  .worksarchive__title {
    font-size: 15vw;
  }

  .journalarchive__title {
    font-size: 19vw;
  }

  .journalarchive__titlewrapperr {
    margin-top: 2em;
  }

  .wysiwyg--templates {
    margin-bottom: 3em;
  }

  .wysiwyg--templates img {
    border-radius: var(--misc--border-radius-tablet);
  }

  .wysiwyg--templates p {
    margin-left: 0%;
    margin-right: 0%;
    font-size: 1.125em;
  }

  .wysiwyg--templates blockquote {
    font-size: var(--body-big--size-tablet);
    line-height: var(--body-big--line-tablet);
    margin-left: 0%;
    margin-right: 0%;
    padding-left: 1.25em;
  }

  .contacts__hero {
    min-height: 40svh;
  }

  .contacts__data {
    margin-bottom: 5em;
  }

  .contacts__col {
    margin-bottom: 2.6em;
  }

  .careers__avatar-container {
    text-align: center;
    min-height: auto;
    margin-top: 2em;
    overflow: visible;
  }

  .careers__avatar-image-wrapper._6 {
    width: 25%;
  }

  .careers__avatar-image-wrapper._5 {
    width: 26%;
  }

  .careers__avatar-image-wrapper._7 {
    width: 30%;
  }

  .careers__avatar-image-wrapper._8 {
    width: 36%;
  }

  .careers__avatar-image-wrapper._3 {
    width: 30%;
  }

  .careers__avatar-image-wrapper._2 {
    width: 32%;
  }

  .careers__avatar-wrapper {
    height: auto;
    min-height: 40vh;
  }

  .careers__list_entry {
    grid-row-gap: 0px;
    grid-template: "A C"
                   "B C"
                   / 1fr auto;
    grid-auto-flow: column;
  }

  .careers__content-right {
    width: 100%;
    margin-left: 0%;
  }

  .careers__content-arrow {
    left: 24px;
  }

  .careers__list {
    margin-top: 5em;
    margin-bottom: 3em;
  }

  .styleguide__colors-grid {
    grid-template-columns: 1fr;
  }

  .licences__assetsgrid {
    grid-column-gap: 24px;
    grid-row-gap: 24px;
    grid-template-columns: 1fr;
  }

  .footer__address-content {
    text-align: left;
    margin-bottom: 5em;
  }

  .about__numbers-title {
    margin-bottom: 3em;
  }

  .workssinge__hero-image {
    aspect-ratio: 1 / 1.2;
    object-fit: cover;
  }
}

@media screen and (max-width: 767px) {
  .col.col-sm-12 {
    flex-basis: 100%;
    max-width: 100%;
  }

  .col.col-sm-1 {
    flex-basis: 8.33%;
    max-width: 8.33333%;
  }

  .col.col-sm-11 {
    flex-basis: 91.67%;
    max-width: 91.6667%;
  }

  .col.col-sm-10 {
    flex-basis: 83.33%;
    max-width: 83.3333%;
  }

  .col.col-sm-7 {
    flex-basis: 58.33%;
    max-width: 58.3333%;
  }

  .col.col-sm-3 {
    flex-basis: 25%;
    max-width: 25%;
  }

  .col.col-sm-5 {
    flex-basis: 41.67%;
    max-width: 41.6667%;
  }

  .col.col-sm-4 {
    flex-basis: 33.33%;
    max-width: 33.3333%;
  }

  .col.col-sm-8 {
    flex-basis: 66.67%;
    max-width: 66.6667%;
  }

  .col.col-sm-2 {
    flex-basis: 16.67%;
    max-width: 16.6667%;
  }

  .col.col-sm-9 {
    flex-basis: 75%;
    max-width: 75%;
  }

  .col.col-sm-6 {
    flex-basis: 50%;
    max-width: 50%;
  }

  .projectitem__image.animationprojecttile-image {
    display: inline-block;
  }

  .accordion-toggle_icon {
    width: 1.8em;
    height: 1.9em;
  }

  .header__bar {
    margin-left: 24px;
    margin-right: 24px;
  }

  .about__numbers-single {
    margin-bottom: 4em;
  }

  .team_single {
    margin-bottom: 3.5em;
  }

  .worksarchive__title {
    font-size: 15vw;
  }

  .careers__avatar-container {
    margin-top: 6em;
    padding-top: 1em;
    padding-bottom: 1em;
    overflow: visible;
  }

  .careers__avatar-image-wrapper._6 {
    top: -18%;
    left: -19%;
  }

  .careers__avatar-image-wrapper._5 {
    top: -45%;
    left: 84%;
  }

  .careers__avatar-image-wrapper._7 {
    bottom: -54%;
    right: -10%;
  }

  .careers__avatar-image-wrapper._8 {
    width: 30%;
    bottom: -56%;
    right: 81.3%;
  }

  .careers__avatar-image-wrapper._3 {
    bottom: -76%;
    right: 33%;
  }

  .careers__avatar-image-wrapper._2 {
    top: -70%;
    left: 35%;
  }

  .careers__avatar-wrapper {
    min-height: 50vh;
  }

  .careers__list {
    margin-top: 10em;
  }

  .careers__hero-sub {
    max-width: 40ch;
    margin-top: 2em;
  }

  .styleguide__color-box {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

@media screen and (max-width: 479px) {
  .row {
    flex-wrap: wrap;
  }

  .col {
    flex-basis: 100%;
    max-width: 100%;
  }

  .col.col-xs-8 {
    flex-basis: 66.67%;
    max-width: 66.6667%;
  }

  .col.col-xs-6 {
    flex-basis: 50%;
    max-width: 50%;
  }

  .col.col-xs-3 {
    flex-basis: 25%;
    max-width: 25%;
  }

  .col.col-xs-9 {
    flex-basis: 75%;
    max-width: 75%;
  }

  .col.col-xs-5 {
    flex-basis: 41.67%;
    max-width: 41.6667%;
  }

  .col.col-xs-7 {
    flex-basis: 58.33%;
    max-width: 58.3333%;
  }

  .col.col-xs-10 {
    flex-basis: 83.33%;
    max-width: 83.3333%;
  }

  .col.col-xs-4 {
    flex-basis: 33.33%;
    max-width: 33.3333%;
  }

  .col.col-xs-2 {
    flex-basis: 16.67%;
    max-width: 16.6667%;
  }

  .col.col-xs-1 {
    flex-basis: 8.33%;
    max-width: 8.33333%;
  }

  .col.col-xs-12 {
    flex-basis: 100%;
    max-width: 100%;
  }

  .col.col-xs-11 {
    flex-basis: 91.67%;
    max-width: 91.6667%;
  }

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

  .label {
    text-align: left;
    align-self: flex-start;
  }

  .projectitem__image.animationprojecttile-image {
    pointer-events: auto;
    margin-left: auto;
    margin-right: auto;
  }

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

  .page-wrapper {
    display: block;
  }

  .homepage_hero-logo {
    align-self: flex-start;
  }

  .homepage_hero-top {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    justify-content: flex-start;
    align-items: center;
  }

  .homepage_hero-text {
    flex: 0 auto;
    align-self: auto;
  }

  .header__menu.header__menu-menu {
    display: block;
  }

  .header__menu.header__menu-close {
    box-sizing: border-box;
    opacity: 0;
    pointer-events: auto;
    position: absolute;
  }

  .header__bar {
    display: block;
  }

  .header__open-wrapper {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    aspect-ratio: auto;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: block;
  }

  .header {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: block;
  }

  .col-2, .col-3 {
    flex-basis: 100%;
    max-width: 100%;
  }

  .worksarchive__title {
    font-size: 14vw;
  }

  .worksarchive__titlewrapper {
    margin-top: 2em;
  }

  .journalarchive__titlewrapperr {
    margin-bottom: 0;
  }

  .accordion-toggle-text {
    white-space: break-spaces;
    word-break: normal;
  }

  .heading {
    outline-offset: 0px;
    border-radius: 0;
    outline: 3px #000;
    text-decoration: none;
  }

  .body {
    box-sizing: border-box;
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: block;
  }

  .section-2 {
    display: block;
  }
}

#w-node-c1cdc1db-3669-3c26-a212-430bb460e47f-e0efca31 {
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

#w-node-_8866c523-588e-c343-9e27-de8f25aa11a4-e0efca45, #w-node-_8866c523-588e-c343-9e27-de8f25aa11a6-e0efca45 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: center;
}

#w-node-_8866c523-588e-c343-9e27-de8f25aa11a8-e0efca45 {
  justify-self: end;
}

#w-node-_5c379cb9-1c44-d462-3f5e-7b2533ad95cd-33ad95cd, #w-node-_9c59a6a8-b6f1-190c-1878-e31fb2907cdf-b2907cdf, #w-node-d2f334a6-4277-1e3f-cc19-7d6b61db861d-e0efcab4, #w-node-d2f334a6-4277-1e3f-cc19-7d6b61db861f-e0efcab4, #w-node-d2f334a6-4277-1e3f-cc19-7d6b61db8621-e0efcab4, #w-node-d2f334a6-4277-1e3f-cc19-7d6b61db8623-e0efcab4, #w-node-d2f334a6-4277-1e3f-cc19-7d6b61db8625-e0efcab4, #w-node-d2f334a6-4277-1e3f-cc19-7d6b61db8627-e0efcab4, #w-node-d2f334a6-4277-1e3f-cc19-7d6b61db8629-e0efcab4, #w-node-d2f334a6-4277-1e3f-cc19-7d6b61db862b-e0efcab4 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

@media screen and (max-width: 991px) {
  #w-node-c1cdc1db-3669-3c26-a212-430bb460e47f-e0efca31 {
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
  }

  #w-node-_8866c523-588e-c343-9e27-de8f25aa11a8-e0efca45 {
    grid-area: span 2 / span 1 / span 2 / span 1;
    align-self: end;
  }
}

@media screen and (max-width: 479px) {
  #w-node-c1cdc1db-3669-3c26-a212-430bb460e47f-e0efca31 {
    grid-template-rows: auto minmax(auto, 1fr);
    grid-template-columns: 1fr 1fr;
  }
}


@font-face {
  font-family: 'PP Mori';
  src: url('../fonts/PPMori-SemiBold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}