/*--------------------------------------------------------------
# Definitions
--------------------------------------------------------------*/
:root {
  --xl: 1440px;
  --lg: 1280px;
  --md: 1024px;
  --sm: 768px;
  --xs: 584px;
  --xxs: 400px;
  --white: #ffffff;
  --black: #000000;
  --blue: #3E4DFF;
  --blue-dark: #00037B;
  --beige: #E8D4CA;
  --green: #D3EAC9;
  --accent-color: #F7FCBB;
  --gutter: 20px;
  --padding-side: 50px;
  --p: 1.438rem;
  --p-small: 1.063rem;
  --p-d: 1.25rem;
  --h1: 4.063rem;
  --h1-small: 3.125rem;
  --h2: 2.813rem;
  --h3: 1.75rem;
  --h4: 1.063rem;
  --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
  --header-height: 84px;
  --swiper-pagination-bullet-horizontal-gap: 10px;
  --swiper-pagination-bullet-width: 11px;
  --swiper-pagination-bullet-height: 11px;
  --swiper-pagination-bottom: 35px;
  --swiper-theme-color: var(--blue);
  --swiper-pagination-bullet-inactive-color: var(--white);
  --swiper-pagination-bullet-inactive-opacity: 1;
  --column: calc(
      ((100vw - (var(--padding-side) * 2)) - ( 11 * var(--gutter) ) ) / 12 );
}
@media only screen and (max-width: 1440px) {
  :root {
    --h1: 3.4rem;
    --h2: 2.4rem;
    --h3: 1.4rem;
    --p: 1.2rem;
  }
}
@media only screen and (max-width: 768px) {
  :root {
    --gutter: 10px;
    --padding-side: 22px;
    --h1: 1.875rem;
    --h2: 1.75rem;
    --h3: 1.483rem;
    --p: 1.063rem;
    --p-d: 0.813rem;
    --h1-small: 1.75rem;
    --p-small: 0.875rem;
    --header-height: 88px;
    --column: calc(
        ((100vw - (var(--padding-side) * 2)) - ( 3 * var(--gutter) ) ) / 4 );
    --swiper-pagination-bottom: 25px;
    --swiper-pagination-bullet-horizontal-gap: 9px;
    --swiper-pagination-bullet-width: 10px;
    --swiper-pagination-bullet-height: 10px;
  }
}

@font-face {
  font-family: "Akkurat";
  src: url("fonts/AkkuratLLWeb-Regular.woff") format("woff"), url("fonts/AkkuratLLWeb-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Akkuratsub";
  src: url("fonts/AkkuratLLSub-Regular.woff") format("woff"), url("fonts/AkkuratLLSub-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html,
body {
  color: var(--blue);
  font-family: "Akkurat";
  font-weight: normal;
  font-style: normal;
  letter-spacing: 0.02;
  line-height: 1.3;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  box-sizing: border-box;
  word-break: break-word;
  -webkit-word-break: break-word;
  scroll-behavior: smooth;
  position: relative;
}
html.no-scroll,
body.no-scroll {
  overflow: hidden;
}

.content-wrapper {
  padding-top: var(--header-height);
  overflow: hidden;
}

h1, h2, h3, h4, strong {
  font-weight: normal;
}

h1, h1 p {
  font-size: var(--h1);
  line-height: 1.2;
  letter-spacing: -1.3;
}
@media only screen and (max-width: 1440px) {
  h1, h1 p {
    letter-spacing: -1.152;
  }
}

h1.small, h1.small p {
  font-size: var(--h1-small);
  line-height: 1.2;
  letter-spacing: -0.4;
}

h2, h2 p {
  font-size: var(--h2);
  line-height: 1.11;
  letter-spacing: -0.9;
}
@media only screen and (max-width: 768px) {
  h2, h2 p {
    letter-spacing: -0.56;
  }
}

h2.small, h2.small p {
  font-size: var(--h3);
  line-height: 1.21;
  letter-spacing: -0.56;
}
@media only screen and (max-width: 768px) {
  h2.small, h2.small p {
    letter-spacing: -0.46;
  }
}

h3, h3 p {
  font-size: var(--h3);
  line-height: 1.2;
  letter-spacing: -0.56;
}
@media only screen and (max-width: 768px) {
  h3, h3 p {
    letter-spacing: -0.34;
  }
}

p {
  font-size: var(--p);
  letter-spacing: -0.46;
  margin-bottom: 1em;
}
@media only screen and (max-width: 768px) {
  p {
    letter-spacing: -0.34;
  }
}

.link a {
  font-size: var(--p);
  letter-spacing: -0.46;
  margin-bottom: 1em;
}

[data-in-view] p,
[data-in-view] h1,
[data-in-view] h2,
[data-in-view] h3,
[data-in-view] h4,
[data-in-view] h5,
[data-in-view] h6,
[data-in-view] img,
[data-in-view] div {
  opacity: 0;
  transform: translate3d(0, 5%, 0);
  transition: opacity 1.5s var(--ease-out-expo), transform 1s var(--ease-out-expo), box-shadow 0.4s var(--ease-out-expo), text-decoration-color 0.4s var(--ease-out-expo);
}
[data-in-view].in-view p,
[data-in-view].in-view h1,
[data-in-view].in-view h2,
[data-in-view].in-view h3,
[data-in-view].in-view h4,
[data-in-view].in-view h5,
[data-in-view].in-view h6,
[data-in-view].in-view img,
[data-in-view].in-view div {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/
/**
 * Swiper 11.1.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2024 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: April 9, 2024
 */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, 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") format("woff");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none; /* For Firefox */
  -ms-overflow-style: none; /* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}
.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}
.swiper-pagination-disabled > .swiper-pagination, .swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}
button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}
.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}
.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}

/* Fraction */
.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

/* Progress */
.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}
.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}
.swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}
.swiper-vertical > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

/*--------------------------------------------------------------
# Pages
--------------------------------------------------------------*/
.home .wrapper {
  margin: 0px var(--padding-side);
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 0px var(--gutter);
}
@media only screen and (max-width: 768px) {
  .home .wrapper {
    margin: 0px var(--padding-side);
    grid-template-columns: repeat(4, 1fr);
  }
}
.home h1 {
  grid-column: 2/span 10;
  text-align: center;
  margin: 110px 0px;
}
@media only screen and (max-width: 1280px) {
  .home h1 {
    grid-column: 1/span 12;
  }
}
@media only screen and (max-width: 1024px) {
  .home h1 {
    margin: 80px 0px;
  }
}
@media only screen and (max-width: 768px) {
  .home h1 {
    margin: 60px 0px;
  }
}

.projects .wrapper {
  margin: 0px var(--padding-side);
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 0px var(--gutter);
}
@media only screen and (max-width: 768px) {
  .projects .wrapper {
    margin: 0px var(--padding-side);
    grid-template-columns: repeat(4, 1fr);
  }
}
.projects h1 {
  grid-column: 2/span 10;
  text-align: center;
  margin: 87px 0px 0px;
}
@media only screen and (max-width: 1280px) {
  .projects h1 {
    grid-column: 1/span 12;
    margin: 87px 0px 0px;
  }
}
@media only screen and (max-width: 1024px) {
  .projects h1 {
    margin: 80px 0px 0px;
  }
}
@media only screen and (max-width: 768px) {
  .projects h1 {
    grid-column: 1/span 4;
    margin: 41px 0px 0px;
  }
}

.project .wrapper {
  margin: 0px var(--padding-side);
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 0px var(--gutter);
}
@media only screen and (max-width: 768px) {
  .project .wrapper {
    margin: 0px var(--padding-side);
    grid-template-columns: repeat(4, 1fr);
  }
}
.project .wrapper .link.back {
  grid-column: 1/span 6;
  margin-top: 37px;
}
@media only screen and (max-width: 768px) {
  .project .wrapper .link.back {
    grid-column: 1/span 4;
  }
}
.project .wrapper .link.back svg {
  transform: rotate(180deg);
}
.project .header-image {
  grid-column: 1/span 12;
  width: 100%;
  height: auto;
  margin-bottom: 85px;
}
@media only screen and (max-width: 768px) {
  .project .header-image {
    grid-column: 1/span 4;
    margin-bottom: 50px;
  }
}

.who .wrapper {
  margin: 0px var(--padding-side);
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 0px var(--gutter);
}
@media only screen and (max-width: 768px) {
  .who .wrapper {
    margin: 0px var(--padding-side);
    grid-template-columns: repeat(4, 1fr);
  }
}
.who .wrapper h1 {
  grid-column: 2/span 10;
  text-align: center;
  margin: 87px 0px 70px;
}
@media only screen and (max-width: 1280px) {
  .who .wrapper h1 {
    grid-column: 1/span 12;
  }
}
@media only screen and (max-width: 1024px) {
  .who .wrapper h1 {
    margin: 80px 0px 60px;
  }
}
@media only screen and (max-width: 768px) {
  .who .wrapper h1 {
    margin: 41px 0px 20px;
    grid-column: 1/span 4;
  }
}
.who .wrapper .header-image {
  grid-column: 1/span 12;
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 768px) {
  .who .wrapper .header-image {
    grid-column: 1/span 4;
  }
}

.about .wrapper {
  margin: 0px var(--padding-side);
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 0px var(--gutter);
}
@media only screen and (max-width: 768px) {
  .about .wrapper {
    margin: 0px var(--padding-side);
    grid-template-columns: repeat(4, 1fr);
  }
}
.about .wrapper h1 {
  grid-column: 2/span 10;
  text-align: center;
  margin: 87px 0px 70px;
}
@media only screen and (max-width: 1280px) {
  .about .wrapper h1 {
    grid-column: 1/span 12;
  }
}
@media only screen and (max-width: 1024px) {
  .about .wrapper h1 {
    margin: 80px 0px 60px;
  }
}
@media only screen and (max-width: 768px) {
  .about .wrapper h1 {
    margin: 41px 0px 20px;
    grid-column: 1/span 4;
  }
}
.about .wrapper .header-image {
  grid-column: 1/span 12;
  width: 100%;
  height: auto;
  margin-bottom: 110px;
}
@media only screen and (max-width: 768px) {
  .about .wrapper .header-image {
    grid-column: 1/span 4;
    margin-bottom: 50px;
  }
}
.about .content-wrapper > .block--text {
  margin-bottom: 60px;
}
.about .content-wrapper > .block--text ~ .block--text {
  margin-bottom: 110px;
}
@media only screen and (max-width: 768px) {
  .about .content-wrapper > .block--text ~ .block--text {
    margin-bottom: 60px;
  }
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
footer {
  background-color: var(--beige);
  color: var(--blue-dark);
}
footer .wrapper {
  margin: 0px var(--padding-side);
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 0px var(--gutter);
  padding: 140px 0px;
}
@media only screen and (max-width: 768px) {
  footer .wrapper {
    margin: 0px var(--padding-side);
    grid-template-columns: repeat(4, 1fr);
  }
}
@media only screen and (max-width: 768px) {
  footer .wrapper {
    padding: 60px 0px;
  }
}
footer .logo {
  grid-column: 1/span 1;
}
footer .logo:hover svg circle {
  fill: var(--blue-dark);
  transition: 0.3s ease-in;
}
@media only screen and (max-width: 1024px) {
  footer .logo {
    grid-column: 1/span 2;
  }
}
@media only screen and (max-width: 768px) {
  footer .logo {
    grid-column: 1/span 1;
  }
  footer .logo svg {
    width: 47px;
    height: auto;
  }
}
footer .details {
  grid-column: 3/span 4;
}
footer .details a {
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
}
@media only screen and (max-width: 1024px) {
  footer .details {
    grid-column: 4/span 8;
  }
}
@media only screen and (max-width: 768px) {
  footer .details {
    grid-column: 2/span 3;
  }
}
footer .person {
  grid-column: span 3;
}
footer .person a:hover {
  color: var(--blue);
  transition: color 0.2s ease-in;
}
@media only screen and (max-width: 1024px) {
  footer .person {
    grid-column: 4/span 8;
  }
}
@media only screen and (max-width: 768px) {
  footer .person {
    grid-column: 2/span 3;
  }
}
footer a {
  text-decoration: none;
  color: var(--blue-dark);
}
footer a:hover {
  color: var(--blue-dark);
  transition: 0.3s ease-in;
}
footer a:hover path {
  fill: var(--blue-dark);
}
footer strong {
  color: var(--blue);
  font-weight: normal;
}
footer .linkedin {
  margin-top: 30px;
  display: inline-block;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
}
header .bg {
  background-color: var(--white);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 27px;
}
@media only screen and (max-width: 768px) {
  header .bg {
    display: none;
  }
}
header .wrapper {
  margin: 0px var(--padding-side);
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 0px var(--gutter);
}
@media only screen and (max-width: 768px) {
  header .wrapper {
    margin: 0px var(--padding-side);
    grid-template-columns: repeat(4, 1fr);
  }
}
header .wrapper .link {
  font-size: var(--p);
  margin-top: 30px;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  header .wrapper .link {
    display: none;
  }
}
header .wrapper .link a {
  text-decoration: none;
  color: var(--blue-dark);
  transition: color 0.2s ease-in;
}
header .wrapper .link a:visited {
  color: var(--blue-dark);
}
header .wrapper .link a:hover {
  color: var(--blue);
}
header .wrapper .link a.active {
  color: var(--blue);
}
header .wrapper .link:nth-of-type(1) {
  grid-column: 1/span 1;
}
@media only screen and (max-width: 1024px) {
  header .wrapper .link:nth-of-type(1) {
    grid-column: 1/span 2;
  }
}
header .wrapper .link:nth-of-type(2) {
  grid-column: 2/span 2;
  justify-self: end;
}
@media only screen and (max-width: 1024px) {
  header .wrapper .link:nth-of-type(2) {
    grid-column: 3/span 3;
    justify-self: start;
  }
}
header .wrapper .link:nth-of-type(4) {
  grid-column: 10/span 2;
}
@media only screen and (max-width: 1024px) {
  header .wrapper .link:nth-of-type(4) {
    grid-column: 9/span 2;
  }
}
header .wrapper .link:nth-of-type(5) {
  grid-column: 12/span 2;
  justify-self: end;
}
@media only screen and (max-width: 1024px) {
  header .wrapper .link:nth-of-type(5) {
    grid-column: 11/span 2;
  }
}
header .wrapper .logo {
  grid-column: 6/span 2;
  text-align: center;
  margin-top: 14px;
  z-index: 100;
}
header .wrapper .logo a {
  width: 100%;
  height: 100%;
}
header .wrapper .logo a:hover svg circle {
  fill: var(--blue-dark);
  transition: 0.3s ease-in;
}
@media only screen and (max-width: 768px) {
  header .wrapper .logo {
    grid-column: 1/span 4;
  }
  header .wrapper .logo svg {
    width: 74px;
    height: auto;
  }
}
header .wrapper .hamburger {
  display: none;
  position: absolute;
  right: var(--padding-side);
  top: 26px;
  z-index: 100;
}
header .wrapper .hamburger .close {
  display: none;
}
header .wrapper .hamburger.opened .close {
  display: block;
}
header .wrapper .hamburger.opened .open {
  display: none;
}
@media only screen and (max-width: 768px) {
  header .wrapper .hamburger {
    display: block;
  }
}
header .wrapper .mobile-menu {
  display: none;
  background: var(--blue-dark);
  position: absolute;
  z-index: 10;
  left: 0px;
  right: 0px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 150px var(--padding-side) 107px;
}
header .wrapper .mobile-menu .link a {
  color: var(--white);
  text-align: center;
  font-size: var(--p);
  letter-spacing: -0.34;
}
@media only screen and (max-width: 768px) {
  header .wrapper .mobile-menu .link a {
    font-size: var(--h3);
  }
}
header .wrapper .mobile-menu .logo {
  display: none;
}
header .wrapper .mobile-menu.visible {
  display: flex;
}
header .wrapper .mobile-menu.visible .link {
  display: block !important;
}

.link a {
  color: var(--blue);
  text-decoration: none;
  display: flex;
  align-items: center;
}
.link a svg {
  margin-right: 20px;
}
@media only screen and (max-width: 768px) {
  .link a svg {
    height: 21px;
    width: auto;
    margin-right: 15px;
  }
}
.link:hover svg {
  transform: rotate(-45deg);
  transition: transform 0.2s ease-in;
}
.link.link--extra:hover {
  cursor: pointer;
}
.link.link--extra:hover svg {
  transform: rotate(-180deg);
  transition: transform 1s ease-in;
}

/*--------------------------------------------------------------
# Blocks
--------------------------------------------------------------*/
.block--project {
  margin: 70px 0px 110px;
}
@media only screen and (max-width: 1280px) {
  .block--project {
    margin: 60px 0px;
  }
}
@media only screen and (max-width: 768px) {
  .block--project {
    margin: 20px 0px 60px;
  }
}
.block--project .wrapper {
  margin: 0px var(--padding-side);
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 0px var(--gutter);
}
@media only screen and (max-width: 768px) {
  .block--project .wrapper {
    margin: 0px var(--padding-side);
    grid-template-columns: repeat(4, 1fr);
  }
}
.block--project .wrapper a {
  text-decoration: none;
}
.block--project .wrapper .project img {
  width: 100%;
  height: auto;
}
.block--project .wrapper .project h3 {
  color: var(--blue);
  margin-top: 20px;
}
.block--project .wrapper .project span {
  font-size: var(--p);
  color: var(--blue-dark);
  line-height: 1.2;
}
.block--project .wrapper .project:first-child {
  grid-column: 1/span 7;
}
@media only screen and (max-width: 768px) {
  .block--project .wrapper .project:first-child {
    grid-column: 1/span 4;
    margin-bottom: 50px;
  }
}
.block--project .wrapper .project:last-child {
  grid-column: 9/span 4;
}
@media only screen and (max-width: 768px) {
  .block--project .wrapper .project:last-child {
    grid-column: 1/span 4;
  }
}
.block--project .wrapper .project:hover h3 {
  color: var(--blue-dark);
  transition: color 0.2s ease-in;
}
.block--project .wrapper.reverse .project:first-child {
  grid-column: 1/span 4;
}
@media only screen and (max-width: 768px) {
  .block--project .wrapper.reverse .project:first-child {
    grid-column: 1/span 4;
  }
}
.block--project .wrapper.reverse .project:last-child {
  grid-column: 6/span 7;
}
@media only screen and (max-width: 768px) {
  .block--project .wrapper.reverse .project:last-child {
    grid-column: 1/span 4;
  }
}

.block--headerslider.mobile {
  display: none;
}
@media only screen and (max-width: 768px) {
  .block--headerslider.desktop {
    display: none;
  }
  .block--headerslider.mobile {
    display: block;
  }
}
@media only screen and (max-width: 768px) {
  .block--headerslider {
    margin-top: 14px;
  }
}
.block--headerslider .swiper-wrapper {
  width: 100%;
  max-width: 100%;
  max-height: calc(100vh - (var(--header-height) + 20px));
  min-height: 0;
  min-width: 0;
}
.block--headerslider .swiper-wrapper img {
  width: 100%;
  height: auto;
  aspect-ratio: 1680/880;
  object-fit: cover;
}
@media only screen and (max-width: 768px) {
  .block--headerslider .swiper-wrapper img {
    aspect-ratio: 375/509;
  }
}

.block--slider {
  -webkit-text-size-adjust: none;
  margin: 110px calc(-1 * (var(--column) * 2 + var(--gutter) + var(--padding-side))) 130px;
}
@media only screen and (max-width: 768px) {
  .block--slider {
    margin: 80px calc(-0.75 * (var(--column))) 65px;
  }
}
.block--slider .swiper-wrapper {
  width: 100%;
  max-width: 100%;
  max-height: 100vh;
  min-height: 0;
  min-width: 0;
}
@media only screen and (max-width: 768px) {
  .block--slider .swiper-wrapper {
    max-height: unset;
    height: auto;
  }
}
.block--slider .swiper-wrapper .swiper-slide {
  box-sizing: border-box;
  padding: 10px;
}
.block--slider .swiper-wrapper .swiper-slide img {
  max-width: 100%;
  width: 100%;
  height: auto;
  margin-bottom: 20px;
}
.block--slider .swiper-wrapper .swiper-slide h4 {
  font-size: var(--h4);
  width: calc(3 * var(--column) + 2 * var(--gutter));
}
@media only screen and (max-width: 1280px) {
  .block--slider .swiper-wrapper .swiper-slide h4 {
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .block--slider .swiper-wrapper .swiper-slide h4 {
    font-size: var(--p-small);
  }
}
.block--slider .swiper-wrapper .swiper-slide p {
  font-size: var(--p-small);
  color: var(--blue-dark);
  width: calc(3 * var(--column) + 2 * var(--gutter));
}
@media only screen and (max-width: 1280px) {
  .block--slider .swiper-wrapper .swiper-slide p {
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .block--slider .swiper-wrapper .swiper-slide p {
    font-size: var(--p-small);
  }
}
.block--slider .swiper-button-prev {
  position: absolute;
  top: 174px;
  left: calc(var(--column) * 2 + var(--gutter) + var(--padding-side) * 2);
  z-index: 200;
}
@media only screen and (max-width: 1440px) {
  .block--slider .swiper-button-prev {
    top: 134px;
  }
}
@media only screen and (max-width: 768px) {
  .block--slider .swiper-button-prev {
    left: calc(0.75 * var(--column) + var(--padding-side));
  }
  .block--slider .swiper-button-prev svg {
    width: 27px;
    height: auto;
  }
}
.block--slider .swiper-button-next {
  position: absolute;
  top: 174px;
  right: calc(var(--column) * 2 + var(--gutter) + var(--padding-side) * 2);
  z-index: 200;
}
@media only screen and (max-width: 1440px) {
  .block--slider .swiper-button-next {
    top: 134px;
  }
}
@media only screen and (max-width: 768px) {
  .block--slider .swiper-button-next {
    right: calc(0.75 * var(--column) + var(--padding-side));
  }
  .block--slider .swiper-button-next svg {
    width: 27px;
    height: auto;
  }
}

.block--text {
  margin-bottom: 110px;
}
@media only screen and (max-width: 768px) {
  .block--text {
    margin-bottom: 50px;
  }
}
.block--text .wrapper {
  margin: 0px var(--padding-side);
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 0px var(--gutter);
}
@media only screen and (max-width: 768px) {
  .block--text .wrapper {
    margin: 0px var(--padding-side);
    grid-template-columns: repeat(4, 1fr);
  }
}
.block--text .wrapper .left {
  grid-column: 1/span 4;
}
.block--text .wrapper .left p {
  margin-bottom: unset;
}
.block--text .wrapper .left h2 p {
  margin-bottom: 11px;
}
.block--text .wrapper .left .description p {
  color: var(--blue-dark);
  font-size: var(--p-d);
  line-height: 1.2;
  letter-spacing: -0.4;
}
@media only screen and (max-width: 768px) {
  .block--text .wrapper .left .description p {
    line-height: 1.15;
    letter-spacing: -0.26;
    font-size: var(--p-small);
  }
}
.block--text .wrapper .left .description p strong {
  color: var(--blue);
}
@media only screen and (max-width: 768px) {
  .block--text .wrapper .left .description {
    margin-bottom: 50px;
  }
}
.block--text .wrapper .right {
  grid-column: 6/span 6;
}
@media only screen and (max-width: 768px) {
  .block--text .wrapper .right {
    grid-column: 6/span 7;
  }
}
@media only screen and (max-width: 768px) {
  .block--text .wrapper .right {
    grid-column: 1/span 4;
  }
}
.block--text .wrapper .right p {
  color: var(--blue-dark);
}
.block--text .wrapper .right p a, .block--text .wrapper .right p strong {
  color: var(--blue);
}
.block--text .wrapper .link {
  margin-top: 60px;
}
@media only screen and (max-width: 768px) {
  .block--text .wrapper .link {
    margin-top: 15px;
  }
}

.block--text .extra, .block--text-2 .extra {
  max-height: 0px;
  overflow: hidden;
  transition: max-height 1s ease-in;
}
.block--text .extra.visible, .block--text-2 .extra.visible {
  max-height: 5000px;
}
.block--text .wrapper .link.link--extra, .block--text-2 .wrapper .link.link--extra {
  margin-top: 20px;
}
.block--text [data-readmore], .block--text-2 [data-readmore] {
  align-items: unset;
}
.block--text [data-readmore] span, .block--text-2 [data-readmore] span {
  display: flex;
  transition: opacity 0.5s ease-in;
  transition-delay: 0.5s;
  position: absolute;
}
.block--text [data-readmore] .close, .block--text-2 [data-readmore] .close {
  opacity: 0;
  float: left;
}
.block--text [data-readmore].visible .open, .block--text-2 [data-readmore].visible .open {
  opacity: 0;
}
.block--text [data-readmore].visible .close, .block--text-2 [data-readmore].visible .close {
  opacity: 1;
  float: left;
}

.block--quote {
  background-color: var(--beige);
}
.block--quote.green {
  background-color: var(--green);
}
.block--quote .wrapper {
  padding: 85px 0px;
}
@media only screen and (max-width: 768px) {
  .block--quote .wrapper {
    padding: 60px 0px;
  }
}
.block--quote .wrapper > div {
  grid-column: 3/span 8;
  text-align: center;
}
@media only screen and (max-width: 1280px) {
  .block--quote .wrapper > div {
    grid-column: 2/span 10;
  }
}
@media only screen and (max-width: 1024px) {
  .block--quote .wrapper > div {
    grid-column: 1/span 12;
  }
}
@media only screen and (max-width: 768px) {
  .block--quote .wrapper > div {
    grid-column: 1/span 4;
  }
}
.block--quote .wrapper > div p {
  font-size: var(--h2);
  color: var(--blue-dark);
  margin-bottom: 0px;
  letter-spacing: -1.4;
  line-height: 1.1;
}
@media only screen and (max-width: 768px) {
  .block--quote .wrapper > div p {
    font-size: 1.438rem;
    letter-spacing: -0.8;
  }
}
.block--quote .wrapper > div .link {
  margin-top: 50px;
}
@media only screen and (max-width: 768px) {
  .block--quote .wrapper > div .link {
    margin-top: 30px;
  }
}
.block--quote .wrapper > div .link a {
  display: inline-block;
}
.block--quote .wrapper > div .link a:hover {
  color: var(--blue-dark);
  transition: color 0.2s ease-in;
}

.block--images {
  margin: 85px 0px 110px;
}
@media only screen and (max-width: 768px) {
  .block--images {
    margin: 40px 0px 60px;
  }
}
.block--images .wrapper {
  margin: 0px var(--padding-side);
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 0px var(--gutter);
}
@media only screen and (max-width: 768px) {
  .block--images .wrapper {
    margin: 0px var(--padding-side);
    grid-template-columns: repeat(4, 1fr);
  }
}
.block--images .wrapper .image img {
  width: 100%;
  height: auto;
}
.block--images .wrapper .image span {
  font-size: var(--p-small);
  color: var(--blue-dark);
  line-height: 1.17;
  margin-top: 15px;
  display: block;
  letter-spacing: -0.34;
}
@media only screen and (max-width: 768px) {
  .block--images .wrapper .image span {
    margin-top: 12px;
  }
}
.block--images .wrapper.left .image:first-child {
  grid-column: 1/span 7;
}
.block--images .wrapper.left .image:first-child span {
  width: 60%;
}
@media only screen and (max-width: 768px) {
  .block--images .wrapper.left .image:first-child {
    grid-column: 1/span 4;
    margin-bottom: 60px;
  }
  .block--images .wrapper.left .image:first-child span {
    width: 100%;
  }
}
.block--images .wrapper.left .image:last-child {
  grid-column: 9/span 4;
}
.block--images .wrapper.left .image:last-child span {
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .block--images .wrapper.left .image:last-child {
    grid-column: 1/span 4;
  }
  .block--images .wrapper.left .image:last-child span {
    width: 100%;
  }
}
.block--images .wrapper.right .image:first-child {
  grid-column: 1/span 4;
}
@media only screen and (max-width: 768px) {
  .block--images .wrapper.right .image:first-child {
    grid-column: 1/span 4;
    margin-bottom: 60px;
  }
}
.block--images .wrapper.right .image:last-child {
  grid-column: 6/span 7;
}
@media only screen and (max-width: 768px) {
  .block--images .wrapper.right .image:last-child {
    grid-column: 1/span 4;
  }
}
.block--images .wrapper.equal .image:first-child {
  grid-column: 1/span 6;
}
@media only screen and (max-width: 768px) {
  .block--images .wrapper.equal .image:first-child {
    grid-column: 1/span 4;
    margin-bottom: 60px;
  }
}
.block--images .wrapper.equal .image:last-child {
  grid-column: 7/span 6;
}
@media only screen and (max-width: 768px) {
  .block--images .wrapper.equal .image:last-child {
    grid-column: 1/span 4;
  }
}
.block--images .wrapper.center .image:first-child {
  grid-column: 2/span 10;
}
@media only screen and (max-width: 768px) {
  .block--images .wrapper.center .image:first-child {
    grid-column: 1/span 4;
  }
}
.block--images .wrapper.center .image:nth-child(2) {
  display: none;
}

.block--text-2 {
  position: relative;
}
.block--text-2.has-bg {
  padding: 130px 0px;
}
@media only screen and (max-width: 768px) {
  .block--text-2.has-bg {
    padding: 65px 0px;
  }
}
.block--text-2.has-bg .bg {
  position: absolute;
  bottom: 0px;
  top: 0px;
  left: 0;
  right: 0;
  z-index: -1;
}
.block--text-2.has-bg .bg.green {
  background-color: var(--green);
}
.block--text-2 .left {
  padding-left: 59px;
}
@media only screen and (max-width: 1024px) {
  .block--text-2 .left {
    padding-left: 0px;
  }
}
.block--text-2 .left .circle_bg {
  background: var(--blue);
  border-radius: 100%;
  width: 250px;
  height: 250px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.block--text-2 .left .circle_bg h2 {
  color: var(--white);
}
.block--text-2 .left .circle_bg h2 p {
  margin: 0px;
}
@media only screen and (max-width: 1024px) {
  .block--text-2 .left .circle_bg {
    width: 180px;
    height: 180px;
  }
  .block--text-2 .left .circle_bg h2 {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .block--text-2 .left .circle_bg {
    margin: auto;
    margin-bottom: 35px;
    width: 126px;
    height: 126px;
  }
  .block--text-2 .left .circle_bg h2 {
    font-size: 1.438rem;
  }
}
.block--text-2 .right h3, .block--text-2 .right h3 p {
  color: var(--blue) !important;
}
@media only screen and (max-width: 1024px) {
  .block--text-2 .right {
    grid-column: 6/span 7;
  }
}

.wrapper.first + .block--text-2.has-bg .bg {
  top: -155px;
}
@media only screen and (max-width: 768px) {
  .wrapper.first + .block--text-2.has-bg .bg {
    top: -65px;
  }
}

.block--text-2:last-of-type.has-bg {
  margin-bottom: 0px;
}

section.green {
  background-color: var(--green);
  padding: 85px 0px;
}
@media only screen and (max-width: 768px) {
  section.green {
    padding: 50px 0px 40px;
  }
}
section.green h2 {
  grid-column: 4/span 6;
  text-align: center;
  font-size: var(--h2);
  color: var(--blue-dark);
}
@media only screen and (max-width: 768px) {
  section.green h2 {
    grid-column: span 4;
  }
}
section.green .link--projects {
  grid-column: 6/span 4;
}
@media only screen and (max-width: 768px) {
  section.green .link--projects {
    grid-column: 1/span 4;
  }
}

/* Compiled CSS from Bootstrap 4's responsive embeds */
.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
}

.embed-responsive::before {
  display: block;
  content: "";
}

.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.embed-responsive-21by9::before {
  padding-top: 42.85714%;
}

.embed-responsive-16by9::before {
  padding-top: 56.25%;
}

.embed-responsive-4by3::before {
  padding-top: 75%;
}

.embed-responsive-1by1::before {
  padding-top: 100%;
}

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