/*!*********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/swiper/swiper-bundle.css ***!
  \*********************************************************************************************************************/
/**
 * Swiper 8.4.7
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: January 30, 2023
 */

@font-face {
  font-family: 'swiper-icons';
  src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
}
.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
}
.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}
.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}
.swiper-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}
.swiper-pointer-events {
  touch-action: pan-y;
}
.swiper-pointer-events.swiper-vertical {
  touch-action: pan-x;
}
.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}
.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);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
/* 3D Effects */
.swiper-3d,
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}
.swiper-3d .swiper-wrapper,
.swiper-3d .swiper-slide,
.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-cube-shadow {
  transform-style: preserve-3d;
}
.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));
}
/* 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-horizontal.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}
.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}
.swiper-centered > .swiper-wrapper::before {
  content: '';
  flex-shrink: 0;
  order: 9999;
}
.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}
.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}
.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}
.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}
.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}
.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}
:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}
.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}
.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}
.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
  display: none !important;
}
.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}
.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: 10px;
  right: auto;
}
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: 'prev';
}
.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: 10px;
  left: auto;
}
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: 'next';
}
.swiper-button-lock {
  display: none;
}
:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --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: 10px;
  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: 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;
  -webkit-appearance: 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: 10px;
  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;
}
/* Progress */
.swiper-pagination-progressbar {
  background: 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: 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: 4px;
  height: 100%;
  left: 0;
  top: 0;
}
.swiper-pagination-lock {
  display: none;
}
/* Scrollbar */
.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}
.swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}
.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}
.swiper-vertical > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-vertical {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}
.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0;
}
.swiper-scrollbar-cursor-drag {
  cursor: move;
}
.swiper-scrollbar-lock {
  display: none;
}
.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.swiper-slide-zoomed {
  cursor: move;
}
/* Preloader */
:root {
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  */
}
.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);
  }
}
/* a11y */
.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}
.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}
.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}
.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}
.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}
.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}
.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}
.swiper-cube {
  overflow: visible;
}
.swiper-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}
.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}
.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}
.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev,
.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}
.swiper-cube .swiper-slide-shadow-top,
.swiper-cube .swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}
.swiper-cube .swiper-cube-shadow:before {
  content: '';
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}
.swiper-flip {
  overflow: visible;
}
.swiper-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  z-index: 1;
}
.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}
.swiper-flip .swiper-slide-shadow-top,
.swiper-flip .swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.swiper-creative .swiper-slide {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}
.swiper-cards {
  overflow: visible;
}
.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  overflow: hidden;
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./node_modules/import-glob-loader/index.js??ruleSet[1].rules[1].use[4]!../theme/src/styles/style.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************/
*,
*::before,
*::after {
  box-sizing: border-box;
}

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}

body {
  margin: 0;
  font-family: var(--bs-body-font-family);
  font-size: var(--bs-body-font-size);
  font-weight: var(--bs-body-font-weight);
  line-height: var(--bs-body-line-height);
  color: var(--bs-body-color);
  text-align: var(--bs-body-text-align);
  background-color: var(--bs-body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

hr {
  margin: 1rem 0;
  color: inherit;
  border: 0;
  border-top: var(--bs-border-width) solid;
  opacity: 0.25;
}

h6, h5, h4, h3, h2, h1 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--bs-heading-color);
}

h1 {
  font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
  h1 {
    font-size: 2.5rem;
  }
}

h2 {
  font-size: calc(1.325rem + 0.9vw);
}
@media (min-width: 1200px) {
  h2 {
    font-size: 2rem;
  }
}

h3 {
  font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
  h3 {
    font-size: 1.75rem;
  }
}

h4 {
  font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
  h4 {
    font-size: 1.5rem;
  }
}

h5 {
  font-size: 1.25rem;
}

h6 {
  font-size: 1rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[title] {
  text-decoration: underline dotted;
  cursor: help;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul {
  padding-left: 2rem;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 0.875em;
}

mark {
  padding: 0.1875em;
  color: var(--bs-highlight-color);
  background-color: var(--bs-highlight-bg);
}

sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
  text-decoration: underline;
}
a:hover {
  --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
}

a:not([href]):not([class]), a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

pre,
code,
kbd,
samp {
  font-family: var(--bs-font-monospace);
  font-size: 1em;
}

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em;
}
pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

code {
  font-size: 0.875em;
  color: var(--bs-code-color);
  word-wrap: break-word;
}
a > code {
  color: inherit;
}

kbd {
  padding: 0.1875rem 0.375rem;
  font-size: 0.875em;
  color: var(--bs-body-bg);
  background-color: var(--bs-body-color);
  border-radius: 0.25rem;
}
kbd kbd {
  padding: 0;
  font-size: 1em;
}

figure {
  margin: 0 0 1rem;
}

img,
svg {
  vertical-align: middle;
}

table {
  caption-side: bottom;
  border-collapse: collapse;
}

caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--bs-secondary-color);
  text-align: left;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}

label {
  display: inline-block;
}

button {
  border-radius: 0;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}
select:disabled {
  opacity: 1;
}

[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
  display: none !important;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

textarea {
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: calc(1.275rem + 0.3vw);
  line-height: inherit;
}
@media (min-width: 1200px) {
  legend {
    font-size: 1.5rem;
  }
}
legend + * {
  clear: left;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0;
}

::-webkit-inner-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
  padding: 0;
}

::file-selector-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

iframe {
  border: 0;
}

summary {
  display: list-item;
  cursor: pointer;
}

progress {
  vertical-align: baseline;
}

[hidden] {
  display: none !important;
}

/* Bestand uitbreiden */
:root {
  --white: #ffffff;
  --black: #000000;
  --dark-blue: #001333;
  --light-blue: #1352f2;
  --grey: #f6f6f5;
  --light-grey: #f3f3f1;
  --orange: #fa7921;
  --grey-text: #878889;
  --yellow: #d19b26;
  --red: #d14526;
  --error-invalid: var(--yellow);
  --error-empty: var(--red);
  --initial-space: 3.2rem;
  --space-xxxl: calc(var(--initial-space) * 5);
  --space-xxl: calc(var(--initial-space) * 4.5);
  --space-xl: calc(var(--initial-space) * 4);
  --space-l: calc(var(--initial-space) * 3);
  --space-m: calc(var(--initial-space) * 2.25);
  --space-s: calc(var(--initial-space) * 2);
  --space-xs: calc(var(--initial-space) * 1.5);
  --space-xxs: calc(var(--initial-space) * 1);
  --space-xxxs: calc(var(--initial-space) * 0.5);
  --container-pd: 4.2vw;
  --mb-container-pd: 2.4rem;
  --col-pd: 1.2rem;
  --mb-col-pd: 1rem;
  --col-offset: calc(
    ((100vw - (var(--container-pd) * 2)) + (2 * var(--col-pd))) / 12 * 1
  );
  --br: 0.8rem;
  --br-multiplier: 3;
  --show-spacing: 6.4rem;
  --bezier: cubic-bezier(0.65, 0, 0, 1);
  --bezier-soft: cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
@media (max-width: 1023.98px) {
  :root {
    --container-pd: var(--mb-container-pd);
    --col-pd: var(--mb-col-pd);
  }
}
@media (max-width: 767.98px) {
  :root {
    --br-multiplier: 2;
    --initial-space: 2.4rem;
    --show-spacing: 4.8rem;
  }
}

.f {
  display: flex;
}
.fw {
  flex-wrap: wrap;
}
.fwr {
  flex-wrap: wrap-reverse;
}
.fnw {
  flex-wrap: nowrap;
}
.f_c {
  flex-direction: column;
}
.f_cr {
  flex-direction: column-reverse;
}
.f_r {
  flex-direction: row;
}
.f_rr {
  flex-direction: row-reverse;
}
.f-c {
  align-items: center;
}
.f-fs {
  align-items: flex-start;
}
.f-fe {
  align-items: flex-end;
}
.f--fs {
  justify-content: flex-start;
}
.f--fe {
  justify-content: flex-end;
}
.f--c {
  justify-content: center;
}
.f--sb {
  justify-content: space-between;
}
.f--sa {
  justify-content: space-around;
}

@media (max-width: 767.98px) {
  .fm {
    display: flex;
  }
  .fmw {
    flex-wrap: wrap;
  }
  .fmwr {
    flex-wrap: wrap-reverse;
  }
  .fmnw {
    flex-wrap: nowrap;
  }
  .fm_c {
    flex-direction: column;
  }
  .fm_cr {
    flex-direction: column-reverse;
  }
  .fm_r {
    flex-direction: row;
  }
  .fm_rr {
    flex-direction: row-reverse;
  }
  .fm-c {
    align-items: center;
  }
  .fm-fs {
    align-items: flex-start;
  }
  .fm-fe {
    align-items: flex-end;
  }
  .fm--fs {
    justify-content: flex-start;
  }
  .fm--fe {
    justify-content: flex-end;
  }
  .fm--c {
    justify-content: center;
  }
  .fm--sb {
    justify-content: space-between;
  }
  .fm--sa {
    justify-content: space-around;
  }
}

@media (min-width: 768px) {
  .fd {
    display: flex;
  }
  .fdw {
    flex-wrap: wrap;
  }
  .fdwr {
    flex-wrap: wrap-reverse;
  }
  .fdnw {
    flex-wrap: nowrap;
  }
  .fd_c {
    flex-direction: column;
  }
  .fd_cr {
    flex-direction: column-reverse;
  }
  .fd_r {
    flex-direction: row;
  }
  .fd_rr {
    flex-direction: row-reverse;
  }
  .fd-c {
    align-items: center;
  }
  .fd-fs {
    align-items: flex-start;
  }
  .fd-fe {
    align-items: flex-end;
  }
  .fd--fs {
    justify-content: flex-start;
  }
  .fd--fe {
    justify-content: flex-end;
  }
  .fd--c {
    justify-content: center;
  }
  .fd--sb {
    justify-content: space-between;
  }
  .fd--sa {
    justify-content: space-around;
  }
}

.p-t--xxs {
  padding-top: var(--space-xxs);
}
.p-t--xs {
  padding-top: var(--space-xs);
}
.p-t--s {
  padding-top: var(--space-s);
}
.p-t--m {
  padding-top: var(--space-m);
}
.p-t--l {
  padding-top: var(--space-l);
}
.p-t--xl {
  padding-top: var(--space-xl);
}
.p-t--xxl {
  padding-top: var(--space-xxl);
}
.p-t--xxxl {
  padding-top: var(--space-xxxl);
}
.p-b--xxs {
  padding-bottom: var(--space-xxs);
}
.p-b--xs {
  padding-bottom: var(--space-xs);
}
.p-b--s {
  padding-bottom: var(--space-s);
}
.p-b--m {
  padding-bottom: var(--space-m);
}
.p-b--l {
  padding-bottom: var(--space-l);
}
.p-b--xl {
  padding-bottom: var(--space-xl);
}
.p-b--xxl {
  padding-bottom: var(--space-xxl);
}
.p-b--xxxl {
  padding-bottom: var(--space-xxxl);
}

.m-t--n {
  margin-top: 0 !important;
}
.m-t--xxs {
  margin-top: var(--space-xxs);
}
.m-t--xs {
  margin-top: var(--space-xs);
}
.m-t--s {
  margin-top: var(--space-s);
}
.m-t--m {
  margin-top: var(--space-m);
}
.m-t--l {
  margin-top: var(--space-l);
}
.m-t--xl {
  margin-top: var(--space-xl);
}
.m-t--xxl {
  margin-top: var(--space-xxl);
}
.m-t--xxxl {
  margin-top: var(--space-xxxl);
}
.m-b--auto {
  margin-bottom: auto;
}
.m-b--n {
  margin-bottom: 0 !important;
}
.m-b--xxs {
  margin-bottom: var(--space-xxs);
}
.m-b--xs {
  margin-bottom: var(--space-xs);
}
.m-b--s {
  margin-bottom: var(--space-s);
}
.m-b--m {
  margin-bottom: var(--space-m);
}
.m-b--l {
  margin-bottom: var(--space-l);
}
.m-b--xl {
  margin-bottom: var(--space-xl);
}
.m-b--xxl {
  margin-bottom: var(--space-xxl);
}
.m-b--xxxl {
  margin-bottom: var(--space-xxxl);
}
@media (max-width: 767.98px) {
  .m-t-n--xxs {
    margin-top: calc((var(--space-xxs) + 0.1rem) * -1);
  }
  .m-t-n--xs {
    margin-top: calc((var(--space-xs) + 0.1rem) * -1);
  }
  .m-t-n--s {
    margin-top: calc((var(--space-s) + 0.1rem) * -1);
  }
  .m-t-n--m {
    margin-top: calc((var(--space-m) + 0.1rem) * -1);
  }
  .m-t-n--l {
    margin-top: calc((var(--space-l) + 0.1rem) * -1);
  }
  .m-t-n--xl {
    margin-top: calc((var(--space-xl) + 0.1rem) * -1);
  }
  .m-t-n--xxl {
    margin-top: calc((var(--space-xxl) + 0.1rem) * -1);
  }
  .m-t-n--xxxl {
    margin-top: calc((var(--space-xxxl) + 0.1rem) * -1);
  }
}

/* FONT & TEXT STYLING */
@font-face {
  font-family: "Everett";
  src: url("/theme/assets/fonts/Everett-Regular.woff2") format("woff2"), url("/theme/assets/fonts/Everett-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Space Grotesk";
  src: url("/theme/assets/fonts/SpaceGrotesk-Regular.woff2") format("woff2"), url("/theme/assets/fonts/SpaceGrotesk-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
h1,
.h1-style,
h2,
.h2-style,
h3,
.h3-style,
h4,
.h4-style,
h5,
.h5-style,
h6,
.h6-style {
  font-family: "Everett";
}

h1,
.h1-style {
  font-size: 8.8rem;
  font-size: clamp(5.6rem, 2.8rem + 8vw, 8.8rem);
  letter-spacing: -0.04em;
  line-height: 1;
  font-weight: 400;
}

h2,
.h2-style {
  font-size: 4rem;
  font-size: clamp(3.2rem, 2.4rem + 2vw, 4rem);
  letter-spacing: -0.03em;
  line-height: 1.4;
  font-weight: 400;
}

h3,
.h3-style {
  font-size: 3.2rem;
  font-size: clamp(2.4rem, 2rem + 1vw, 3.2rem);
  letter-spacing: -0.02em;
  line-height: 1.4;
  font-weight: 400;
}

h4,
.h4-style {
  font-size: 2.8rem;
  font-size: clamp(2rem, 1.6rem + 1vw, 2.8rem);
  letter-spacing: -0.02em;
  line-height: 1.4;
  font-weight: 400;
}

h5,
.h5-style {
  font-size: 2rem;
  font-size: clamp(1.8rem, 1.75rem + 0.25vw, 2rem);
  letter-spacing: -0.02em;
  line-height: 1.4;
  font-weight: 400;
}

h6,
.h6-style {
  font-size: 1.8rem;
  font-size: clamp(1.6rem, 1.55rem + 0.25vw, 1.8rem);
  letter-spacing: -0.01em;
  line-height: 1;
  font-weight: 400;
}

.h1-small,
.h2-small,
.h3-small,
.h4-small,
.h5-small,
.h6-small {
  font-family: "Everett";
}

.h1-small {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: -0.02em;
  font-weight: 400;
}

.h2-small,
.paragraph h2 {
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: -0.02em;
  font-weight: 400;
}

.h1-big,
.h2-big {
  margin-bottom: 0;
}

.h1-big {
  font-size: 30rem;
  line-height: 1.6;
  letter-spacing: -0.05em;
  font-weight: 400;
  color: transparent;
  -webkit-text-stroke: 0.1rem var(--dark-blue);
}

.h2-big {
  font-size: 12.8rem;
  line-height: 1;
  letter-spacing: -0.04em;
  font-weight: 400;
}
@media (max-width: 1023.98px) {
  .h2-big {
    font-size: 13vw;
  }
}

p,
a,
u,
span,
select,
section,
td,
th,
option,
form,
input,
b,
strong,
ul,
ol,
li,
textarea,
label,
button,
input,
iframe,
table {
  font-family: "Everett";
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: -0.01em;
  font-weight: 400;
}

.body-l,
.body-m,
.body-s {
  font-weight: 400;
  letter-spacing: -0.01em;
}

.body-xl {
  font-size: 2rem;
  line-height: 1.6;
}

.body-l {
  font-size: 1.6rem;
  line-height: 1.6;
}

.body-m {
  font-size: 1.4rem;
  line-height: 1.4;
}

.body-s {
  font-size: 1.2rem;
  line-height: 1.6;
}

/* GENERAL STYLING */
* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html {
  scroll-behavior: smooth;
  font-size: 62.5%;
}

body {
  --body-bg: var(--light-grey);
  --body-color: var(--dark-blue);
  background-color: var(--body-bg);
  color: var(--body-color);
  font-size: 1.6rem;
  overflow-x: hidden;
}
body.lock-scroll {
  overflow: hidden;
}

html,
body {
  width: 100%;
  height: 100vh;
}

main.leave {
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  width: 100%;
}
main.come {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
}
main.come-lower {
  z-index: 1;
}

.config-mode .plate--page-content-wrapper {
  overflow: hidden;
}
.config-mode [data-scroll] {
  transform: none !important;
}

.main-content-wrapper {
  overflow-x: hidden;
  position: relative;
}
.main-content-wrapper::-webkit-scrollbar {
  display: none;
}

.mandelo-m {
  position: relative;
}
.mandelo-m img {
  width: 3.2rem;
  vertical-align: middle;
  top: -0.2rem;
  position: relative;
}

/* END GENERAL STYLING */
.contact-header {
  position: relative;
  height: auto;
  display: flex;
  flex-direction: column;
  background-color: var(--light-grey);
}
.contact-header::after {
  content: "";
  width: 100%;
  height: 0.2rem;
  background-color: inherit;
  position: absolute;
  bottom: -0.1rem;
  z-index: 0;
}
.contact-header__inner {
  position: relative;
  height: 100%;
  display: flex;
  align-items: flex-end;
  z-index: 2;
}
.contact-header__content {
  padding-top: 21.6rem;
  padding-bottom: 13.6rem;
}
@media (max-width: 767.98px) {
  .contact-header__content {
    padding-top: 17.2rem;
    padding-bottom: 5.6rem;
  }
}
.contact-header__title h1 {
  margin-bottom: 0;
  color: var(--dark-blue);
  max-width: 36ch;
}

.home-header {
  position: relative;
  height: 100vh;
  display: flex;
  align-items: flex-end;
}
@media (max-width: 1023.98px) {
  .home-header {
    height: 94svh;
  }
}
.home-header__image {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  overflow: hidden;
  display: flex;
}
.home-header__image img {
  will-change: transform;
}
.home-header__image::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, transparent 50%, rgba(0, 0, 0, 0.4) 100%);
  z-index: 1;
}
.home-header__inner {
  position: relative;
  height: 100%;
  display: flex;
  align-items: flex-end;
  z-index: 2;
}
.home-header__content {
  padding-top: 20rem;
  padding-bottom: 4.8rem;
}
@media (max-width: 767.98px) {
  .home-header__content {
    padding-top: 18rem;
  }
}
.home-header__content--title h1 {
  margin-bottom: 0;
  color: var(--white);
  max-width: 12ch;
}
.home-header__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background-color: var(--black);
  z-index: 2;
  opacity: 0;
  will-change: opacity;
}
.home-header.pin-active {
  will-change: transform;
}

[js-title] .line-parent {
  overflow: clip;
}
[js-title] .line-parent .line-child {
  will-change: transform;
}

.image-header {
  position: relative;
  height: 100vh;
  display: flex;
  background-color: var(--light-grey);
}
@media (max-width: 1023.98px) {
  .image-header {
    height: 94svh;
  }
}
.image-header__image {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  overflow: hidden;
  display: flex;
}
.image-header__image::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--black);
  z-index: 1;
  opacity: 0.24;
}
.image-header__container {
  margin-top: auto;
}
.image-header .plate--container, .image-header .plate--row {
  height: 100%;
}
.image-header__inner {
  position: relative;
  height: 100%;
  display: flex;
  align-items: flex-end;
  z-index: 2;
}
.image-header__content {
  position: relative;
  padding-top: 6.4rem;
  padding-bottom: 6.4rem;
}
@media (max-width: 767.98px) {
  .image-header__content {
    padding-top: 12.8rem;
    padding-bottom: 4.8rem;
  }
}
.image-header__content--title h1 {
  margin-bottom: 0;
  color: var(--white);
  max-width: 36ch;
}
.image-header__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background-color: var(--black);
  z-index: 2;
  opacity: 0;
}

.index-header {
  --text-color: var(--dark-blue);
  position: relative;
  background-color: var(--light-grey);
}
.index-header__container {
  padding-top: 24.8rem;
  padding-bottom: 8rem;
}
@media (max-width: 767.98px) {
  .index-header__container {
    padding-top: 17.2rem;
    padding-bottom: 5.6rem;
  }
}
.index-header__inner {
  position: relative;
}
.index-header__content {
  position: relative;
}
.index-header__content--title h1 {
  color: var(--text-color);
  margin-bottom: 0;
}

.post-header {
  position: relative;
  height: auto;
  display: flex;
  flex-direction: column;
  background-color: var(--light-grey);
}
.post-header__image {
  position: relative;
  height: 100%;
  width: 100%;
  display: flex;
}
.post-header__image__inner {
  width: 100%;
}
.post-header__inner {
  position: relative;
  height: 100%;
  display: flex;
  align-items: flex-end;
  z-index: 2;
}
.post-header__content {
  padding-top: 21.6rem;
  padding-bottom: 11.2rem;
}
.post-header__title h1 {
  margin-bottom: 0;
  color: var(--dark-blue);
  max-width: 40ch;
}

.accordion-element {
  position: relative;
}
.accordion-element__title h5 {
  color: var(--green);
}

.accordion-item {
  --border-color: var(--black);
  --dot-color: var(--black);
  position: relative;
  border-bottom: 0.2rem solid var(--border-color);
}
.accordion-item__header {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding-top: 2rem;
  padding-bottom: 2rem;
  cursor: pointer;
}
.accordion-item__header h5,
.accordion-item__header .faq-item__title {
  pointer-events: none;
  margin-bottom: 0;
}
.accordion-item__header .button-circle svg {
  transform: rotate(135deg);
  transition: transform 0.4s ease;
}
.accordion-item__header .faq-item__arrow {
  margin-left: 3rem;
  flex-shrink: 0;
  pointer-events: none;
}
.accordion-item__header.active .button-circle svg {
  transform: rotate(-45deg);
}
.accordion-item__body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease-in-out;
}
.accordion-item__body .faq-item__content__inner {
  padding-bottom: 1.2rem;
  padding-right: 10%;
}
.accordion-item__body .faq-item__content__inner ul li {
  margin-bottom: 1rem;
}
.accordion-item__body .faq-item__content__inner ul li::marker {
  color: var(--dot-color);
}
.accordion-item__body .faq-item__content__inner a {
  font-size: inherit;
  line-height: inherit;
  text-decoration: underline;
}

.buttons {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.6rem 3.2rem;
}

.button {
  --bg-color: transparent;
  --border-color: var(--black);
  --text-color: var(--black);
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  position: relative;
  display: inline-flex;
  align-items: center;
  border-radius: 3.2rem;
  text-decoration: none;
  transition: opacity 0.4s ease;
  cursor: pointer;
}
.button::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: var(--bg-color);
  border-style: solid;
  border-width: 0.1rem;
  border-color: var(--border-color);
  border-radius: 3.2rem;
  transition: border-color 0.4s ease, background-color 0.4s ease;
}
.button__text {
  position: relative;
  font-size: inherit;
  line-height: inherit;
  text-transform: inherit;
  font-weight: inherit;
  pointer-events: none;
  z-index: 1;
  padding: 1.8rem 4rem;
  font-size: 1.8rem;
  font-size: clamp(1.6rem, 1.5vw, 1.8rem);
  line-height: 2rem;
  font-weight: 400;
  color: var(--text-color);
  transition: color 0.4s ease;
}
.button__text a {
  color: var(--text-color);
  text-decoration: none;
}
.button:hover {
  opacity: 0.75;
}
.button:active, .button:focus {
  outline: none;
}
.button--white {
  --bg-color: var(--white);
  --border-color: var(--white);
}
.button--full-white {
  --bg-color: var(--white);
  --border-color: var(--white);
  --text-color: var(--green);
}
.button--green {
  --bg-color: var(--green);
  --border-color: var(--green);
}

.categories {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.category {
  position: relative;
  height: 3.8rem;
  display: flex;
  align-items: center;
  padding: 0.8rem 1.4rem 0.9rem 1.4rem;
  background-color: var(--black);
  border-radius: 7rem;
  margin-bottom: 1rem;
  margin-right: 1rem;
}
.category span {
  color: var(--white);
  font-size: 1.4rem;
  line-height: 1.5;
}

.contact-info {
  --text-color: var(--dark-blue);
  position: relative;
  display: inline-flex;
  margin-top: auto;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.2rem;
}
.contact-info p {
  margin-bottom: 0;
}
.contact-info a {
  position: relative;
  display: block;
  transition: color 0.6s var(--bezier);
  text-decoration: none;
}
.contact-info a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.1rem;
  background-color: var(--text-color);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.6s var(--bezier);
}
.contact-info a:hover::after {
  transform-origin: left;
  transform: scaleX(1);
}
.contact-info a.email, .contact-info a.whatsapp {
  margin-top: 1.6rem;
}
.contact-info a.email::after, .contact-info a.whatsapp::after {
  transform: scaleX(1);
  transform-origin: left;
}
.contact-info a.email:hover::after, .contact-info a.whatsapp:hover::after {
  transform-origin: right;
  transform: scaleX(0);
}
.contact-info p,
.contact-info a {
  color: var(--text-color);
  line-height: 1;
}

.featured-posts {
  --title-color: var(--dark-blue);
  position: relative;
}
.featured-posts__top {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 2.4rem;
  margin-bottom: 4.8rem;
  padding-bottom: 1.4rem;
  border-bottom: 0.1rem solid var(--dark-blue);
}
.featured-posts__top--title {
  position: relative;
  color: var(--title-color);
}
.featured-posts__top--link {
  position: relative;
}
.featured-posts__items {
  position: relative;
}
@media (max-width: 1199.98px) {
  .featured-posts__items {
    width: 100vw;
    left: calc((-100vw + 100%) / 2);
  }
}
@media (max-width: 1199.98px) {
  .featured-posts__items .items-container {
    --gap-column: 1.6rem;
    --gap-row: 3.2rem;
    width: auto;
    flex-wrap: nowrap;
    overflow-x: scroll;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    padding-left: var(--container-pd);
    padding-right: var(--container-pd);
    scrollbar-width: none;
  }
  .featured-posts__items .items-container::-webkit-scrollbar {
    display: none;
  }
}
.featured-posts__items .items-container .project-item {
  width: calc(33.3333333333% - 0.6666666667 * var(--gap-column));
}
@media (max-width: 1199.98px) {
  .featured-posts__items .items-container .project-item {
    width: 49%;
    flex-shrink: 0;
    scroll-snap-align: center;
  }
}
@media (max-width: 1023.98px) {
  .featured-posts__items .items-container .project-item {
    width: 55%;
  }
}
@media (max-width: 767.98px) {
  .featured-posts__items .items-container .project-item {
    width: 95%;
  }
}

.form-font-size {
  font-size: 0;
}

.form-errors {
  color: var(--form-text-color);
}
.form-errors ul {
  padding-left: 1.7rem;
}

.contact-form {
  --form-text-color: var(--dark-blue);
  --form-placeholder-color: var(--dark-blue);
  --form-border-color: var(--dark-blue);
  --form-border-color-hover: var(--dark-blue);
  --form-border-active-hover: var(--dark-blue);
  position: relative;
}
.contact-form__fields {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
.contact-form__avg {
  min-width: calc(50% - 1.6rem);
}
.contact-form .form-button {
  flex-shrink: 0;
}
.contact-form .form-button .button-square {
  --bg-color: var(--dark-blue);
  --icon-color: var(--white);
  --diameter: 5.6rem;
  --icon-width: 2rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--diameter);
  width: var(--diameter);
  background-color: var(--bg-color);
}
.contact-form .form-button .button-square__icon {
  position: relative;
  flex-shrink: 0;
  font-size: 0;
  width: var(--icon-width);
  height: auto;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-end;
  overflow: hidden;
}
.contact-form .form-button .button-square__icon svg {
  width: 100%;
  height: 100%;
  flex-shrink: 0;
  transition: transform 0.6s var(--bezier);
  margin-left: var(--icon-width);
}
.contact-form .form-button .button-square__icon svg path {
  fill: var(--icon-color);
  transition: fill 0.8s var(--bezier);
}
.contact-form .form-button .button-square:hover .button-square__icon svg {
  transform: translateX(200%);
}
.contact-form .submit-form-btn {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
}

.form-field-container {
  --form-gap: 2.4rem;
  position: relative;
  margin-bottom: 6.4rem;
}
.form-field-container .form-field {
  display: block;
  position: relative;
  z-index: 3;
  width: 100%;
}
.form-field-container .form-field__label {
  position: absolute;
  display: block;
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  padding: 0;
  width: auto;
  z-index: 0;
  top: 1.6rem;
  left: 1.6rem;
  color: var(--form-label-color);
  transition: opacity 0.6s var(--bezier);
}
.form-field-container .form-field .error-messages {
  position: absolute;
  width: 100%;
  bottom: 0;
}
.form-field-container .form-field .error-messages span {
  position: absolute;
  left: 0;
  padding: 0 1.6rem;
  opacity: 0;
  font-size: 1.2rem;
  padding: 0.4rem 1.6rem;
  color: var(--error-empty);
  transition: opacity 0.6s var(--bezier);
}
.form-field-container .form-field.form-field--is-active .form-field__input,
.form-field-container .form-field.form-field--is-active .form-field__textarea,
.form-field-container .form-field.form-field--is-active .form-field__select,
.form-field-container .form-field.form-field--is-active .form-field-file {
  border-bottom-color: var(--form-border-active-hover);
}
.form-field-container .form-field.form-field--is-active .form-field__input.invalid,
.form-field-container .form-field.form-field--is-active .form-field__textarea.invalid,
.form-field-container .form-field.form-field--is-active .form-field__select.invalid,
.form-field-container .form-field.form-field--is-active .form-field-file.invalid {
  border-bottom-color: var(--error-empty);
}
.form-field-container .form-field.form-field--is-filled .form-field__input.invalid,
.form-field-container .form-field.form-field--is-filled .form-field__textarea.invalid,
.form-field-container .form-field.form-field--is-filled .form-field__select.invalid,
.form-field-container .form-field.form-field--is-filled .form-field-file.invalid {
  border-bottom-color: var(--error-empty);
}
.form-field-container .form-field.form-field--is-active .form-field__label, .form-field-container .form-field.form-field--is-filled .form-field__label {
  opacity: var(--form-label-opa);
}
.form-field-container .form-field:hover .form-field__input,
.form-field-container .form-field:hover .form-field__textarea,
.form-field-container .form-field:hover .form-field__select,
.form-field-container .form-field:hover .form-field-file {
  --form-border-color: var(--form-border-color-hover);
}
.form-field-container .form-field-file {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  display: block;
  outline: 0;
  width: 100%;
  height: auto;
  color: var(--form-text-color);
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1;
  background-color: transparent;
  padding: 0 0 2rem 0;
  border-bottom: 0.1rem solid var(--form-border-color);
  transition: border-color 0.6s var(--bezier);
  opacity: 1;
}
.form-field-container .form-field-file__list {
  position: relative;
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: row;
  gap: 0.8rem;
  opacity: 1;
  visibility: visible;
}
.form-field-container .form-field-file__list svg {
  width: 1.4rem;
  height: auto;
}
.form-field-container .form-field-file__list span {
  color: var(--form-placeholder-color);
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1;
  transition: color 0.6s var(--bezier);
}
.form-field-container .form-field-file__list span a {
  color: var(--white);
  text-decoration: underline;
}
.form-field-container .form-field-file .form-field__file {
  width: 0.01rem;
  height: 0.01rem;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  z-index: -1;
}
.form-field-container .form-field-file .form-field__file:focus {
  outline: none;
}
.form-field-container .form-field-file .form-field__file__label {
  position: absolute;
  display: inline-block;
  margin-bottom: 0;
  cursor: pointer;
  height: 100%;
  width: 100%;
  z-index: 1;
  left: 0;
  top: 0;
  border: 0;
}
.form-field-container .form-field-file .error-messages span {
  padding-left: 0;
}
.form-field-container .form-field-file.invalid .form-field-file__list {
  border-bottom-color: var(--error-empty) !important;
}
.form-field-container .form-field-file.form-field--is-active .form-field-file__list span, .form-field-container .form-field-file.form-field--is-filled .form-field-file__list span {
  color: var(--form-text-color);
}
.form-field-container .form-field.radio, .form-field-container .form-field.checkbox {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  padding-top: 1.4rem;
  padding-bottom: 1.4rem;
}
.form-field-container .form-field.radio .form-field__label, .form-field-container .form-field.checkbox .form-field__label {
  position: relative;
  left: unset;
  top: unset;
  padding: 0;
  width: 100%;
  margin-right: 2rem;
  margin-bottom: 1.4rem;
}
.form-field-container .form-field.radio .option-group .option, .form-field-container .form-field.checkbox .option-group .option {
  margin-right: 2rem;
  margin-bottom: 1rem;
}
.form-field-container .form-field.radio .option-group .option label, .form-field-container .form-field.checkbox .option-group .option label {
  margin-bottom: 0;
  display: flex;
  align-items: flex-start;
  cursor: pointer;
  line-height: 1.6;
  font-size: 1.4rem;
}
.form-field-container .form-field.radio .option-group .option label input, .form-field-container .form-field.checkbox .option-group .option label input {
  --input-width: 2rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  appearance: none;
  width: var(--input-width);
  height: var(--input-width);
  border: 0;
  border-radius: 0;
  background-color: transparent;
  margin-right: 1.2rem;
  flex-shrink: 0;
  border: 0.1rem solid var(--form-border-color);
  transition: border-color 0.6s var(--bezier);
  cursor: pointer;
}
.form-field-container .form-field.radio .option-group .option label input::after, .form-field-container .form-field.checkbox .option-group .option label input::after {
  content: "";
  position: absolute;
  width: 1rem;
  height: 1rem;
  background-color: var(--dark-blue);
  opacity: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.6s var(--bezier);
}
.form-field-container .form-field.radio .option-group .option label input:hover, .form-field-container .form-field.checkbox .option-group .option label input:hover {
  border-color: var(--form-border-color-hover);
}
.form-field-container .form-field.radio .option-group .option label input:checked::after, .form-field-container .form-field.checkbox .option-group .option label input:checked::after {
  opacity: 1;
}
.form-field-container .form-field.radio .option-group .option:last-child, .form-field-container .form-field.checkbox .option-group .option:last-child {
  margin-bottom: 0;
}
@media (max-width: 575.98px) {
  .form-field-container .form-field.radio.is-row, .form-field-container .form-field.checkbox.is-row {
    flex-direction: column;
    align-items: flex-start;
  }
}
.form-field-container .form-field.radio.is-row .form-field__label, .form-field-container .form-field.checkbox.is-row .form-field__label {
  width: auto;
  margin-bottom: 0;
}
.form-field-container .form-field.radio.is-row .option-group, .form-field-container .form-field.checkbox.is-row .option-group {
  margin-bottom: 0;
  display: flex;
  flex-direction: row;
}
@media (max-width: 575.98px) {
  .form-field-container .form-field.radio.is-row .option-group, .form-field-container .form-field.checkbox.is-row .option-group {
    flex-direction: column;
  }
}
.form-field-container .form-field.radio.is-row .option-group .option, .form-field-container .form-field.checkbox.is-row .option-group .option {
  margin-bottom: 0;
}
@media (max-width: 575.98px) {
  .form-field-container .form-field.radio.is-row .option-group .option, .form-field-container .form-field.checkbox.is-row .option-group .option {
    margin-top: 1rem;
  }
}
.form-field-container .form-field.radio input {
  border-radius: 50% !important;
}
.form-field-container .form-field.radio input::after {
  border-radius: 50% !important;
}
.form-field-container .form-field.radio.invalid input {
  border-color: var(--error-empty) !important;
}
.form-field-container .form-field.discipline_checkboxes .option-group {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0 1.6rem;
}
.form-field-container .form-field.discipline_checkboxes .option-group .option {
  width: calc(50% - 0.8rem);
  margin-right: 0;
}
@media (max-width: 575.98px) {
  .form-field-container .form-field.discipline_checkboxes .option-group .option {
    width: 100%;
  }
}
.form-field-container .form-field.select {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
}
.form-field-container .form-field.select select {
  color: var(--form-placeholder-color);
}
.form-field-container .form-field .select-arrow {
  position: absolute;
  right: 0;
  top: 0.4rem;
  line-height: 0;
  pointer-events: none;
}
.form-field-container .form-field .error-message {
  position: absolute;
  right: 3rem;
  top: -0.7rem;
  color: var(--red);
  background: white;
  padding-left: 1rem;
  padding-right: 1rem;
  font-size: 0.75rem;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
}
.form-field-container.is-placed-after .button {
  float: right;
}
@media (max-width: 575.98px) {
  .form-field-container.is-placed-after .button {
    float: unset;
  }
}
.form-field-container.is-placed-inline {
  margin-bottom: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 3.2rem;
  margin-top: 1.6rem;
}
.form-field-container.is-placed-inline .avg_checkbox {
  padding-top: 0;
  padding-bottom: 0;
  width: auto;
  margin-bottom: 0 !important;
}
@media (max-width: 767.98px) {
  .form-field-container.is-placed-inline .avg_checkbox .option {
    margin-right: 0;
  }
}
.form-field-container.whole {
  width: 100%;
}
.form-field-container.half {
  width: calc(50% - 0.5 * var(--form-gap));
}
@media (max-width: 575.98px) {
  .form-field-container.half {
    width: 100%;
  }
}
.form-field-container.third {
  width: calc(33.3333333333% - 0.6666666667 * var(--form-gap));
}
@media (max-width: 575.98px) {
  .form-field-container.third {
    width: 100%;
  }
}

.form-field__input,
.form-field__textarea,
.form-field__select {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  display: block;
  outline: 0;
  width: 100%;
  height: auto;
  color: var(--form-text-color);
  font-weight: 400;
  font-size: 1.8rem;
  letter-spacing: -0.02em;
  border-radius: 0;
  line-height: 1;
  background-color: transparent;
  padding: 0 0 1.7rem 0;
  border-bottom: 0.1rem solid var(--form-border-color);
  transition: border-color 0.6s var(--bezier);
}

.form-field__select option {
  color: black;
}

select option {
  color: black;
}
select option:disabled {
  color: var(--form-placeholder-color);
}

label.invalid input[type=checkbox],
label.invalid input[type=radio] {
  border-color: var(--error-empty) !important;
}

.form-field__input.invalid,
.form-field__select.invalid {
  border-bottom-color: var(--error-empty);
}
.form-field__input.invalid-input,
.form-field__select.invalid-input {
  border-bottom-color: var(--error-invalid);
}

.form-field-file.invalid {
  border-bottom-color: var(--error-empty);
}

input[type=date]::-webkit-calendar-picker-indicator {
  cursor: pointer;
  filter: invert(0.7);
}

.form-field__textarea {
  min-height: 14.4rem;
}

.form-field-file.form-field--is-active .form-field__file, .form-field-file.form-field--is-filled .form-field__file {
  opacity: 1;
}
.form-field-file .form-field__label {
  width: 100%;
}
.form-field-file input {
  opacity: 0;
  transition: opacity 0.4s var(--bezier);
}
.form-field-file ::-webkit-file-upload-button {
  display: none;
}

.form-field-container .form-field.avg_checkbox {
  opacity: 1;
  transition: border-color 0.4s var(--bezier);
}
.form-field-container .form-field.avg_checkbox .option-group .option label p {
  color: var(--form-text-color);
}
.form-field-container .form-field.avg_checkbox .option-group .option label p a {
  color: var(--white);
}
.form-field-container .form-field.avg_checkbox .option label {
  position: relative;
  top: 0;
  left: 0;
  padding: 0;
  pointer-events: all;
}
.form-field-container .form-field.avg_checkbox .option p {
  position: relative;
  margin-bottom: 0;
  font-size: 1.8rem;
  line-height: 1;
  padding-top: 0.2rem;
  font-weight: 400;
}
.form-field-container .form-field.avg_checkbox .option a {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  text-decoration: underline;
}
.form-field-container .form-field.avg_checkbox .option a::after {
  bottom: -0.2rem;
  transform: scaleX(1);
}
.form-field-container .form-field.avg_checkbox.invalid .form-field__avg {
  border-color: var(--error-empty) !important;
}
.form-field-container .form-field.avg_checkbox.invalid .form-field__avg:checked {
  --error-empty: var(--dark-blue);
}

.grecaptcha-badge {
  visibility: hidden;
}

::placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--form-placeholder-color);
  opacity: 1; /* Firefox */
}

:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: var(--form-placeholder-color);
}

::-ms-input-placeholder {
  /* Microsoft Edge */
  color: var(--form-placeholder-color);
}

.horizontal-steps {
  position: relative;
  padding-left: var(--col-offset);
}
.horizontal-steps__steps {
  position: relative;
}
.horizontal-steps__steps__inner {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
}
@media (max-width: 1023.98px) {
  .horizontal-steps__steps__inner {
    flex-direction: column;
    gap: 5.6rem;
  }
}
.horizontal-steps__steps__inner .step {
  width: calc(33.3333333333% - 0.6666666667 * var(--col-pd) * 2);
  padding: clamp(4.8rem, 6%, 8rem) clamp(4.8rem, 5%, 7.2rem) clamp(4.8rem, 6%, 8rem) 3.2rem;
}
@media (max-width: 1199.98px) {
  .horizontal-steps__steps__inner .step {
    width: calc(66.6666666667% - 0.3333333333 * var(--col-pd) * 2);
  }
}
@media (max-width: 1023.98px) {
  .horizontal-steps__steps__inner .step {
    width: calc(83.3333333333% - 0.1666666667 * var(--col-pd) * 2);
    padding-right: 0;
  }
}
@media (max-width: 767.98px) {
  .horizontal-steps__steps__inner .step {
    width: 80%;
  }
  .horizontal-steps__steps__inner .step:nth-child(even) {
    align-self: flex-end;
  }
}
.horizontal-steps__bottom {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100vw - var(--col-offset));
  left: calc((-100vw + 100%) / 2);
}
@media (max-width: 1023.98px) {
  .horizontal-steps__bottom {
    display: none;
  }
}
.horizontal-steps.pin-active {
  will-change: transform;
}

.step {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  backface-visibility: hidden;
}
.step::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 0.1rem;
  background-color: var(--dark-blue);
}
.step__index {
  position: relative;
  font-family: "Space Grotesk";
  font-weight: 400;
  color: var(--dark-blue);
  letter-spacing: -0.04em;
  line-height: 0.8;
  padding-bottom: 18%;
}
@media (max-width: 1023.98px) {
  .step__index {
    padding-bottom: 10%;
  }
}
.step__image {
  position: relative;
  width: 100%;
  overflow: clip;
  opacity: 0.8;
  filter: grayscale(1);
}
@media (max-width: 767.98px) {
  .step__image {
    width: 100%;
  }
}
@media (min-width: 1024px) {
  .step__image img {
    width: calc(100% + 5.6rem) !important;
    will-change: transform;
  }
}
.step__content {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  padding-top: 4rem;
}
@media (max-width: 1023.98px) {
  .step__content {
    padding-top: 3.2rem;
  }
}
@media (max-width: 767.98px) {
  .step__content {
    width: 100%;
  }
}
.step__content--text {
  color: var(--dark-blue);
  margin-bottom: 0;
  line-height: 1.6;
}
.step--vertical {
  flex-direction: column;
  gap: 2.4rem;
}
.step--vertical .step__image, .step--vertical .step__content {
  width: 100%;
}
.step--vertical .step__content {
  padding: 0;
}
.step--vertical .step__content--title {
  padding-top: 0;
}
.step--vertical .step__content--text {
  color: var(--neutral-20);
  padding-right: 10%;
}
.step.pin-active {
  will-change: transform;
}

/* IMAGE STYLING */
picture {
  position: relative;
  display: block;
  line-height: 0;
  height: 0;
}
picture img {
  position: absolute;
  top: 0;
}

.width-cover {
  width: 100%;
  height: 100%;
}
.width-cover img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.height-contain {
  width: 100%;
  height: 100%;
}
.height-contain img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.parallax-img {
  width: 100%;
  height: 100%;
}

.parallax-img img {
  width: 100%;
  height: 108% !important;
  -o-object-fit: cover;
  object-fit: cover;
}
@media (min-width: 768px) {
  .parallax-img img {
    will-change: transform;
  }
}
@media (max-width: 767.98px) {
  .parallax-img img {
    height: 100%;
    margin-top: 0;
  }
}

.reveal-image {
  overflow: hidden;
}

.full-link-btn {
  position: absolute;
  height: 100%;
  width: 100%;
  display: block;
  z-index: 2;
  top: 0;
  left: 0;
}

.image .swiper-lazy {
  opacity: 0;
}
.image .swiper-lazy-loaded {
  opacity: 1;
  transition: opacity 0.6s ease-in;
}
.image--lazy img {
  opacity: 0;
}
.image--lazy.image--loaded img {
  opacity: 1;
  transition: opacity 0.6s ease-in;
}

.bg-image {
  opacity: 0;
}

.bg-image--loaded {
  opacity: 1;
  transition: opacity 0.6s ease-in;
}

.images-text {
  position: relative;
}
.images-text__inner {
  position: relative;
  padding: 0 var(--col-offset);
  display: flex;
  flex-direction: row;
  gap: calc(var(--col-pd) * 2);
}
@media (max-width: 767.98px) {
  .images-text__inner {
    padding: 0;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 3.2rem;
  }
}
.images-text__column {
  position: relative;
  width: 50%;
}
@media (max-width: 767.98px) {
  .images-text__column {
    width: 100%;
  }
}
.images-text__column--left {
  padding-right: var(--col-offset);
}
.images-text__text {
  position: relative;
  padding-top: 20%;
  margin-bottom: 32%;
}
@media (max-width: 767.98px) {
  .images-text__text {
    padding-top: 0;
    margin-bottom: 0;
  }
}
.images-text__text p {
  margin-bottom: 0;
  font-size: 1.8rem;
  line-height: 1.6;
  color: var(--body-color);
}
.images-text__image {
  position: relative;
  overflow: clip;
}
.images-text__image--small {
  width: 40%;
  margin-left: var(--col-offset);
}
@media (max-width: 767.98px) {
  .images-text__image--small {
    display: none;
  }
}

.intro-text {
  position: relative;
}
.intro-text__text {
  position: relative;
  z-index: 1;
  display: block;
}
.intro-text__text .image-hover {
  position: relative;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  color: inherit;
  letter-spacing: inherit;
  display: inline-block;
}
.intro-text__text .image-hover::before {
  content: "";
  position: absolute;
  bottom: 0.3rem;
  left: 0;
  transform: scaleX(1);
  transform-origin: left;
  width: 100%;
  height: 0.2rem;
  background-color: var(--dark-blue);
  transition: transform 0.6s var(--bezier);
}
.intro-text__text .image-hover:nth-of-type(1):hover ~ .intro-text__image--1 {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.intro-text__text .image-hover:nth-of-type(1):hover ~ .intro-text__image--1 picture {
  transform: scale(1);
}
.intro-text__text .image-hover:nth-of-type(2):hover ~ .intro-text__image--2 {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.intro-text__text .image-hover:nth-of-type(2):hover ~ .intro-text__image--2 picture {
  transform: scale(1);
}
.intro-text__text .image-hover:hover::before {
  transform: scaleX(0);
  transform-origin: right;
}
.intro-text__image {
  position: absolute;
  aspect-ratio: 25/36;
  width: 17vw;
  clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
  transition: clip-path 0.6s var(--bezier);
  pointer-events: none;
  z-index: -1;
  will-change: clip-path;
}
.intro-text__image picture {
  transform: scale(1.25);
  transition: transform 0.6s var(--bezier);
  will-change: transform;
}
.intro-text__image--1 {
  left: 80%;
  top: 5vh;
}
.intro-text__image--2 {
  left: 38%;
  top: 38vh;
  transform: translate(-50%, -50%);
}
.intro-text--hover .intro-text__text {
  padding-bottom: 20vw;
}

.post-item {
  position: relative;
  margin-bottom: 7rem;
  transition: opacity 0.4s ease, transform 0.4s ease;
}
@media (max-width: 575.98px) {
  .post-item {
    margin-bottom: 5rem;
  }
}
.post-item__image {
  position: relative;
  margin-bottom: 4rem;
  overflow: hidden;
}
@media (max-width: 575.98px) {
  .post-item__image {
    margin-bottom: 2.4rem;
  }
}
.post-item__image picture {
  transform: scale(1);
  transition: transform 0.5s ease;
}
.post-item__content {
  position: relative;
}
.post-item__content__title {
  margin-bottom: 1.8rem;
}
@media (max-width: 575.98px) {
  .post-item__content__title {
    margin-bottom: 1.6rem;
  }
}
.post-item__content__title h4 {
  margin-bottom: 0;
}
@media (max-width: 575.98px) {
  .post-item.swiper-slide {
    margin-bottom: 3rem;
  }
}
.post-item:hover .post-item__image picture {
  transform: scale(1.1);
}

.project-item {
  position: relative;
  display: flex;
  flex-direction: column;
}
.project-item__image {
  position: relative;
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  overflow: clip;
}
.project-item__image__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  transition: opacity 0.8s var(--bezier);
}
.project-item__image__bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: var(--black);
  opacity: 0.2;
}
.project-item__image__bg__icon {
  --bg-width: 6.4rem;
  --icon-width: 2.4rem;
  position: relative;
  width: var(--bg-width);
  height: var(--bg-width);
  background-color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
.project-item__image__bg__icon svg {
  width: var(--icon-width);
  height: var(--icon-width);
  transform: rotate(0);
  transition: transform 0.8s var(--bezier);
}
.project-item__image picture {
  transform: scale(1);
  transition: transform 0.8s var(--bezier);
}
.project-item__content {
  position: relative;
  margin-top: 2.4rem;
  border-top: 0.1rem solid var(--dark-blue);
  border-top: 0.1rem solid var(--body-color);
  padding-top: 1rem;
  gap: 0.4rem;
  color: var(--body-color);
  width: 100%;
}
.project-item--index .project-item__content {
  --offset: 2.4rem;
  position: absolute;
  margin-top: 0;
  border-top: none;
  padding-top: 0;
  gap: 0.4rem;
  color: var(--white);
  width: 100%;
  padding: 0 var(--offset);
  bottom: var(--offset);
  text-align: center;
  overflow: clip;
}
.project-item--index .project-item__content--title {
  display: inline-block;
  transform: translateY(101%);
  transition: transform 0.8s var(--bezier);
}
@media (max-width: 767.98px) {
  .project-item--index .project-item__content--title {
    transform: translateY(0);
  }
}
.project-item--index:hover .project-item__content--title {
  transform: translateY(0);
}
.project-item:hover .project-item__image__bg {
  opacity: 1;
}
.project-item:hover .project-item__image__bg__icon svg {
  transform: rotate(-90deg);
}
.project-item:hover .project-item__image picture {
  transform: scale(1.1);
}

.looped-images {
  --gap: var(--col-offset);
  position: relative;
}
.looped-images__inner {
  position: relative;
  width: 100vw;
  left: calc((-100vw + 100%) / 2);
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--gap);
}
.looped-images .looped-image {
  position: relative;
  overflow: clip;
  flex-shrink: 0;
  will-change: transform;
}
.looped-images .looped-image--portrait {
  width: 22vw;
  aspect-ratio: 16/23;
}
@media (max-width: 1023.98px) {
  .looped-images .looped-image--portrait {
    width: 26vw;
  }
}
@media (max-width: 767.98px) {
  .looped-images .looped-image--portrait {
    width: 36vw;
  }
}
.looped-images .looped-image--landscape {
  width: 32vw;
  aspect-ratio: 29/20;
}
@media (max-width: 1023.98px) {
  .looped-images .looped-image--landscape {
    width: 36vw;
  }
}
@media (max-width: 767.98px) {
  .looped-images .looped-image--landscape {
    width: 46vw;
  }
}

.method {
  position: relative;
}
.method__inner {
  position: relative;
  height: 100%;
}
.method-step {
  position: relative;
  width: 100vw;
  height: auto;
  min-height: 100vh;
  left: calc((-100vw + 100%) / 2);
  padding: 8% var(--container-pd);
  background-color: var(--light-grey);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
@media (max-width: 1023.98px) {
  .method-step {
    padding: 6.4rem var(--container-pd);
  }
}
.method-step__inner {
  --gap: calc(var(--col-pd) * 2);
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: row;
  gap: var(--gap);
}
@media (max-width: 1023.98px) {
  .method-step__inner {
    --gap: 4.8rem;
    flex-direction: column;
  }
}
.method-step__column {
  position: relative;
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 3.2rem;
}
@media (max-width: 1023.98px) {
  .method-step__column {
    width: 100%;
  }
}
@media (max-width: 1023.98px) {
  .method-step__column--left {
    flex-direction: row;
  }
}
.method-step__column--right {
  padding-right: var(--col-offset);
}
@media (max-width: 1023.98px) {
  .method-step__column--right {
    padding-right: 0;
  }
}
.method-step__content__image {
  position: relative;
  width: calc(66.6666666667% - 0.3333333333 * var(--gap));
  overflow: hidden;
}
@media (max-width: 1023.98px) {
  .method-step__content__image {
    width: 40%;
  }
}
.method-step__content--index {
  position: relative;
  font-family: "Space Grotesk";
  font-weight: 400;
  color: var(--dark-blue);
  letter-spacing: -0.04em;
  line-height: 0.8;
}
.method-step__content__fases {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.method-step__content__fases .fase {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  padding-bottom: 1.6rem;
  border-bottom: 0.1rem solid var(--dark-blue);
}
.method-step__content__fases .fase--index {
  width: var(--col-offset);
}
.method-step__content__fases .fase--index, .method-step__content__fases .fase--text {
  line-height: 1;
}
.method-step:not(.last-step).pin-active {
  will-change: transform, filter;
}

.popup {
  display: block;
  position: fixed;
  z-index: 103;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  display: flex;
  justify-content: center;
  align-items: center;
}
.popup::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--black);
  opacity: 0.3;
}
@media (max-width: 767.98px) {
  .popup__content__scroll {
    overflow-y: scroll;
  }
}
.popup__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-self: flex-start;
  margin: auto;
  max-width: 58%;
  max-height: 80%;
  width: 100%;
  height: auto;
  background-color: var(--white);
  padding: 6rem;
  border-radius: 3rem;
}
@media (max-width: 1199.98px) {
  .popup__inner {
    max-width: 74%;
  }
}
@media (max-width: 1023.98px) {
  .popup__inner {
    max-width: calc(100% - 4rem);
    max-height: 80%;
    padding: 3rem;
  }
}
.popup__video {
  padding-top: 56.25%;
  height: 0;
  background-color: var(--black);
}
.popup__video iframe,
.popup__video video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 1;
  opacity: 0;
}
.popup__video iframe.video--loaded,
.popup__video video.video--loaded {
  z-index: 2;
  opacity: 1;
}
.popup__close {
  position: absolute;
  top: 3rem;
  right: 3rem;
  cursor: pointer;
  background-color: var(--black);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  width: 5.4rem;
  height: 5.4rem;
}
@media (max-width: 1023.98px) {
  .popup__close {
    top: 1.5rem;
    right: 1.5rem;
  }
}
.popup__close svg {
  width: 1.6rem;
  height: 1.6rem;
}

.klant-info {
  position: relative;
}
.klant-info__logo {
  position: relative;
  margin-bottom: 4rem;
}
.klant-info__sector {
  position: relative;
  margin-bottom: 2rem;
}
.klant-info__text {
  position: relative;
  margin-bottom: 3rem;
  max-width: 90%;
}
.klant-info__text p {
  font-size: 2.2rem;
  line-height: 1.5;
  font-weight: 500;
  margin-bottom: 0;
}
.klant-info__contact {
  position: relative;
}

.contact-person {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
}
@media (max-width: 575.98px) {
  .contact-person {
    flex-direction: column;
    align-items: flex-start;
  }
}
.contact-person__image {
  position: relative;
  width: 6rem;
  height: 6rem;
  margin-right: 2rem;
}
@media (max-width: 575.98px) {
  .contact-person__image {
    margin-bottom: 1rem;
  }
}
.contact-person__image .image {
  border-radius: 1rem;
}
.contact-person__info p {
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 600;
  margin-bottom: 0;
}
.contact-person__info span {
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 400;
}

.project-categories {
  position: relative;
  padding: 14vw 0;
}
.project-categories__inner {
  position: relative;
}
.project-categories__images {
  position: absolute;
  width: 15vw;
  aspect-ratio: 25/36;
  clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
}
.project-categories__images__inner {
  position: relative;
  height: 100%;
  width: 100%;
}
.project-categories__images--left {
  bottom: 4rem;
  left: 0;
}
.project-categories__images--right {
  top: 3.2rem;
  right: 0;
}
.project-categories__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.project-categories__list {
  position: relative;
  display: flex;
  flex-direction: column;
  margin: 0 0 0 calc(var(--col-offset) * 4);
  max-width: fit-content;
}
@media (max-width: 1199.98px) {
  .project-categories__list {
    margin: 0 0 0 calc(var(--col-offset) * 3);
  }
}
@media (max-width: 767.98px) {
  .project-categories__list {
    margin: 0 0 0 calc(var(--col-offset) * 2);
    gap: 1rem;
  }
}
@media (max-width: 575.98px) {
  .project-categories__list {
    margin: 0 0 0 var(--col-offset);
    gap: 1rem;
    max-width: unset;
  }
}
.project-categories__list__item {
  --offset-left: calc(var(--col-offset) * 4);
  --icon-width: 4rem;
  --icon-offset: 0.8rem;
  position: relative;
  width: 100%;
  display: grid;
  grid-template-columns: var(--icon-width) auto;
  grid-template-areas: "icon title";
}
@media (max-width: 1023.98px) {
  .project-categories__list__item {
    --icon-width: 3.2rem;
  }
}
@media (max-width: 575.98px) {
  .project-categories__list__item {
    --icon-width: 2.4rem;
  }
}
.project-categories__list__item--title {
  position: relative;
  display: block;
  cursor: pointer;
  overflow: clip;
  opacity: 0.16;
  transform: translateX(calc(var(--icon-width) * -1));
  transition: opacity 0.6s var(--bezier), transform 0.6s var(--bezier);
  grid-area: title;
}
.project-categories__list__item--title__inner {
  display: block;
  font-size: 6.4rem;
  font-size: clamp(3.2rem, 4vw + 1.6rem, 6.4rem);
  line-height: 1.2;
  letter-spacing: -0.03em;
  font-weight: 400;
  color: var(--white);
  transform: translateY(100%);
}
.project-categories__list__item--icon {
  position: relative;
  display: flex;
  align-items: center;
  width: var(--icon-width);
  overflow: clip;
  grid-area: icon;
}
.project-categories__list__item--icon svg {
  opacity: 0;
  transition: opacity 0.6s var(--bezier), transform 0.6s var(--bezier);
  transform: translateX(calc(var(--icon-width) * -1));
  width: var(--icon-width);
  height: auto;
  color: var(--white);
}
.project-categories__list__item:hover .project-categories__list__item--title, .project-categories__list__item.active .project-categories__list__item--title {
  opacity: 1;
  transform: translateX(var(--icon-offset));
}
.project-categories__list__item:hover .project-categories__list__item--icon svg, .project-categories__list__item.active .project-categories__list__item--icon svg {
  opacity: 1;
  transform: translateX(0);
}

.hover-reveal {
  position: fixed;
  z-index: 1;
  width: 15vw;
  aspect-ratio: 25/36;
  pointer-events: none;
  opacity: 0;
  top: 0;
  overflow: clip;
  will-change: opacity, clip-path;
  mix-blend-mode: lighten;
}
.hover-reveal__inner {
  will-change: opacity, transform;
}
.hover-reveal__images {
  position: relative;
}
.hover-reveal__img img {
  opacity: 1;
  transition: none;
}
.hover-reveal__inner, .hover-reveal__img {
  position: relative;
  width: 100%;
  height: 100%;
}
.hover-reveal--left {
  left: -25vw;
}
.hover-reveal--right {
  left: 25vw;
}

.project-show {
  --content-gap: 3.2rem;
  position: relative;
  background-color: var(--light-grey);
}
.project-show__inner {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
}
@media (max-width: 1023.98px) {
  .project-show__inner {
    flex-direction: column;
  }
}
.project-show__content {
  position: relative;
  width: 42%;
  padding-right: var(--col-offset);
  padding-top: 20.8rem;
  padding-top: 11vw;
  padding-bottom: 4rem;
  display: flex;
  flex-direction: column;
  height: 100vh;
  gap: var(--content-gap);
}
@media (max-width: 1023.98px) {
  .project-show__content {
    width: 100%;
    height: auto;
    padding-top: 17.2rem;
    padding-right: 0;
  }
}
.project-show__content--title {
  margin-bottom: 0;
}
.project-show__content--text {
  margin-bottom: 0;
}
.project-show__content--info {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  padding: 1.6rem 0;
}
.project-show__content--info .info-item {
  position: relative;
  display: grid;
  grid-template-columns: minmax(140px, 30%) auto;
  border-bottom: 0.1rem solid var(--dark-blue);
  padding-bottom: 0.8rem;
}
.project-show__content--info .info-item span {
  font-size: 1.4rem;
  line-height: 1.6;
  display: block;
}
.project-show__content--contact {
  position: relative;
  margin-top: auto;
}
@media (max-width: 1023.98px) {
  .project-show__content--contact {
    margin-top: 3.2rem;
  }
}
.project-show__content--contact .text-button {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 1.2rem;
}
.project-show__content--contact .text-button::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.1rem;
  background-color: var(--dark-blue);
}
.project-show__content--contact .text-button__text {
  font-size: 2rem;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--dark-blue);
}
.project-show__content--contact .text-button__icon {
  position: relative;
  transition: transform 0.6s var(--bezier);
}
.project-show__content--contact .text-button__icon svg {
  width: 1.2rem;
  height: auto;
}
.project-show__content--contact .text-button__icon svg path {
  fill: var(--dark-blue);
}
.project-show__content--contact .text-button:hover .text-button__icon {
  transform: translateX(-0.8rem);
}
.project-show__content.pin-active {
  will-change: transform;
}
.project-show__images {
  position: relative;
  width: 58%;
}
@media (max-width: 1023.98px) {
  .project-show__images {
    width: 100%;
  }
}
.project-show__images__inner {
  position: relative;
  width: calc(100% + var(--container-pd));
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media (max-width: 1023.98px) {
  .project-show__images__inner {
    width: 100%;
  }
}
.project-show__images__inner .project-image {
  position: relative;
  overflow: clip;
}
.project-show__images__inner .project-image img {
  will-change: transform;
}
.project-show__index {
  --btn-bg-color: var(--white);
  --btn-text-color: var(--dark-blue);
  --btn-height: 5.6rem;
  --btn-offset: 1.6rem;
  position: absolute;
  top: calc(100vh - var(--btn-height) - var(--btn-offset));
  align-self: center;
  padding-bottom: var(--btn-offset);
}
@media (max-width: 1023.98px) {
  .project-show__index {
    top: calc(var(--btn-height) + var(--btn-offset));
  }
}
.project-show__index .overview-button {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  height: var(--btn-height);
  gap: 0.8rem;
}
.project-show__index .overview-button__text {
  position: relative;
  background-color: var(--btn-bg-color);
  padding: 0 2.4rem;
  height: 100%;
  display: flex;
  align-items: center;
  transition: transform 0.6s var(--bezier);
}
.project-show__index .overview-button__text span {
  font-size: 2rem;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--btn-text-color);
}
.project-show__index .overview-button__icon {
  --icon-diameter: 1.4rem;
  position: relative;
  background-color: var(--btn-bg-color);
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--btn-height);
  height: var(--btn-height);
  transition: transform 0.6s var(--bezier);
}
.project-show__index .overview-button__icon__inner {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  height: var(--icon-diameter);
  width: var(--icon-diameter);
}
.project-show__index .overview-button__icon--square {
  position: relative;
  width: 0.3rem;
  height: 0.3rem;
  background-color: var(--btn-text-color);
  transition: transform 0.6s var(--bezier);
  outline: 1px solid transparent;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
  will-change: transform;
  -webkit-perspective: 1000;
}
.project-show__index .overview-button__icon svg {
  width: 1.4rem;
  height: auto;
}
.project-show__index .overview-button:hover .overview-button__text {
  transform: translateX(0.2rem);
}
.project-show__index .overview-button:hover .overview-button__icon {
  transform: translateX(-0.2rem);
}
.project-show__index .overview-button:hover .overview-button__icon--square:nth-child(1) {
  transform: translate(0.2rem, 0.2rem);
}
.project-show__index .overview-button:hover .overview-button__icon--square:nth-child(2) {
  transform: translate(-0.2rem, 0.2rem);
}
.project-show__index .overview-button:hover .overview-button__icon--square:nth-child(3) {
  transform: translate(0.2rem, -0.2rem);
}
.project-show__index .overview-button:hover .overview-button__icon--square:nth-child(4) {
  transform: translate(-0.2rem, -0.2rem);
}
.project-show__index.pin-active {
  will-change: transform;
}

.social-media {
  position: relative;
  margin-top: 2.4rem;
  display: flex;
  flex-direction: row;
  align-items: center;
}
.social-media__icons {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.social-media__icon {
  position: relative;
  flex-shrink: 0;
  margin-left: 1rem;
  width: 3.6rem;
  height: 3.6rem;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--purple);
  transition: background-color 0.4s ease;
}
.social-media__icon:hover {
  background-color: var(--white);
}
.social-media__icon:hover svg path {
  fill: var(--purple);
}
.social-media__icon:first-child {
  margin-left: 0;
}
.social-media__icon svg {
  width: auto;
  height: 1.4rem;
}
.social-media__icon svg path {
  fill: var(--white);
  transition: fill 0.4s ease;
}
.social-media__icon .whatsapp.mobile {
  display: none;
}
@media (max-width: 767.98px) {
  .social-media__icon .whatsapp.mobile {
    display: block;
  }
}
@media (max-width: 767.98px) {
  .social-media__icon .whatsapp.desktop {
    display: none;
  }
}

.text-button {
  position: relative;
}
.text-button__inner {
  position: relative;
}
.text-button__text {
  position: relative;
}
.text-button--all-projects {
  transition: transform 0.6s var(--bezier);
}
.text-button--all-projects:hover {
  transform: translateX(-0.8rem);
}

.video {
  padding-bottom: 56.25%;
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: var(--br);
}
.video,
.video video {
  background-color: var(--yellow-white);
}
.video .full-link-btn {
  cursor: pointer;
}
.video__inner, .video__overlay,
.video iframe,
.video video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.video__overlay {
  display: flex;
  justify-content: center;
  align-items: center;
  animation: fadeOut 0.6s ease-out;
  animation-play-state: paused;
}
.video__overlay::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: var(--black);
  opacity: 0.2;
  z-index: 1;
}
.video__overlay img,
.video__overlay picture {
  position: absolute;
  top: -0.1rem;
  left: -0.1rem;
  width: calc(100% + 0.2rem);
  height: calc(100% + 0.2rem);
  object-fit: cover;
}
.video__play-btn {
  appearance: none;
  z-index: 1;
  position: relative;
  background: none;
  border: none;
  cursor: pointer;
  width: 7.2rem;
  height: 7.2rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.video__play-btn::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: var(--white);
  border-radius: 50%;
  transition: transform 0.4s ease;
}
@media (max-width: 767.98px) {
  .video__play-btn {
    width: 6rem;
    height: 6rem;
  }
}
.video__play-btn svg {
  z-index: 1;
}
.video__play-btn:after {
  padding-bottom: 0;
}
.video__inner {
  opacity: 1;
  transition: opacity 0.4s ease;
}
.video.is-loading .video__inner {
  opacity: 0;
}
.video:hover .video__play-btn::before {
  transform: scale(120%);
}

@keyframes fadeOut {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(1.4);
  }
}
.no-footer-reveal .plate--tray--footer {
  transform: unset;
}
.no-footer-reveal .plate--tray--footer .footer__email__line--inner {
  transform: scaleX(1);
}

.config-mode .plate--tray--footer {
  transform: none !important;
  z-index: 1;
}

.plate--tray--footer {
  position: relative;
  height: auto;
  min-height: 100vh;
  z-index: -1;
  transform: translateY(-100%);
}
@media (max-width: 1023.98px) {
  .plate--tray--footer {
    transform: none;
    z-index: 1;
    min-height: auto;
  }
}
.plate--tray--footer.pin-active {
  will-change: transform;
}

.footer {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 100vh;
  width: 100%;
  background-color: var(--light-grey);
}
@media (max-width: 1023.98px) {
  .footer {
    min-height: auto;
  }
}
.footer__inner {
  padding-top: 14.8rem;
  padding-bottom: 14.8rem;
}
@media (max-width: 1023.98px) {
  .footer__inner {
    padding-top: 9.6rem;
    padding-bottom: 9.6rem;
  }
}
@media (max-width: 575.98px) {
  .footer__inner {
    padding-bottom: 4rem;
  }
}
.footer__email {
  --font-size: 5.6rem;
  --font-size: clamp(2.8rem, 1.8rem + 5vw, 5.6rem);
  --content-color: var(--dark-blue);
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-bottom: 10rem;
}
@media (max-width: 575.98px) {
  .footer__email {
    --font-size: 7vw;
    margin-bottom: 6.4rem;
  }
}
.footer__email__content {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding-bottom: 2rem;
}
@media (max-width: 575.98px) {
  .footer__email__content {
    padding-bottom: 1.2rem;
  }
}
.footer__email__content--text {
  font-size: var(--font-size);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -0.03em;
  color: var(--content-color);
}
.footer__email__content--icon svg {
  width: 3.5rem;
  height: auto;
}
@media (max-width: 575.98px) {
  .footer__email__content--icon svg {
    width: 4.8vw;
  }
}
.footer__email__content--icon svg path {
  fill: var(--content-color);
}
.footer__email__line {
  position: relative;
  width: 100%;
  height: 0.3rem;
  overflow: clip;
  background-color: rgba(0, 19, 51, 0.16);
}
@media (max-width: 575.98px) {
  .footer__email__line {
    height: 0.2rem;
  }
}
.footer__email__line--inner {
  position: absolute;
  width: 100%;
  height: 0.3rem;
  background-color: var(--content-color);
  transform: scaleX(0);
  transform-origin: left;
  overflow: clip;
  backface-visibility: hidden;
  will-change: transform;
}
@media (max-width: 1023.98px) {
  .footer__email__line--inner {
    transform: scaleX(1);
  }
}
.footer__columns {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
}
.footer-column {
  position: relative;
  display: flex;
  flex-direction: column;
  margin-bottom: 4rem;
}
.footer-column__title {
  position: relative;
  margin-bottom: 0.8rem;
}
.footer-column__title.hide-title {
  opacity: 0;
  visibility: hidden;
}
@media (max-width: 767.98px) {
  .footer-column__title.hide-title {
    height: 0;
    margin-bottom: -4rem;
  }
}
.footer-column__title h6 {
  margin-bottom: 0;
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 400;
  color: var(--grey-text);
}
.footer-column__items {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.footer-column__items a,
.footer-column__items p {
  position: relative;
  display: inline-block;
  font-size: 1.8rem;
  line-height: 1.6;
  text-decoration: none;
  letter-spacing: -0.01em;
  margin-bottom: 0;
  font-weight: 400;
  color: var(--dark-blue);
}
.footer-column__items a:last-child,
.footer-column__items p:last-child {
  margin-bottom: 0;
}
.footer-column__items a.tel, .footer-column__items a.linkedin,
.footer-column__items p.tel,
.footer-column__items p.linkedin {
  margin-top: 1.6rem;
}
.footer-column__items a.linkedin::before,
.footer-column__items p.linkedin::before {
  transform-origin: left;
  transform: scaleX(1);
}
.footer-column__items a.linkedin:hover::before,
.footer-column__items p.linkedin:hover::before {
  transform-origin: right;
  transform: scaleX(0);
}
.footer-column__items a {
  transition: color 0.6s var(--bezier);
}
.footer-column__items a::before {
  content: "";
  height: 0.1rem;
  position: absolute;
  bottom: 0.5rem;
  left: 0;
  width: 100%;
  background-color: var(--dark-blue);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.6s var(--bezier);
}
.footer-column__items a:hover::before {
  transform: scaleX(1);
  transform-origin: left;
}
.footer-column__items--big a,
.footer-column__items--big p {
  position: relative;
  font-size: 2.8rem;
  line-height: 1;
  margin-bottom: 4.8rem;
}
@media (max-width: 767.98px) {
  .footer-column__items--big a,
  .footer-column__items--big p {
    margin-bottom: 3.2rem;
  }
}
.footer-column__items--big a::before {
  height: 0.2rem;
  bottom: -0.3rem;
}
.footer-column--main {
  width: calc(41.6666666667% - 0.5833333333 * var(--col-pd) * 2);
}
@media (max-width: 1023.98px) {
  .footer-column--main {
    width: calc(50% - 0.5 * var(--col-pd) * 2);
  }
}
@media (max-width: 575.98px) {
  .footer-column--main {
    width: 100%;
  }
}
.footer-column--address {
  width: calc(58.3333333333% - 0.4166666667 * var(--col-pd) * 2);
}
@media (max-width: 1023.98px) {
  .footer-column--address {
    width: calc(50% - 0.5 * var(--col-pd) * 2);
  }
}
@media (max-width: 575.98px) {
  .footer-column--address {
    width: 100%;
  }
}
.footer-column--contact {
  width: calc(16.6666666667% - 0.8333333333 * var(--col-pd) * 2);
}
@media (max-width: 1023.98px) {
  .footer-column--contact {
    width: calc(50% - 0.5 * var(--col-pd) * 2);
  }
}
@media (max-width: 575.98px) {
  .footer-column--contact {
    width: 100%;
  }
}
.footer-column--contact .footer-column__items a {
  text-decoration: underline;
  text-underline-offset: 0.4rem;
}
.footer__bottom {
  position: relative;
  align-items: center;
  flex-wrap: wrap;
  padding-bottom: 4.8rem;
  margin-top: auto;
}
@media (max-width: 767.98px) {
  .footer__bottom {
    flex-wrap: wrap;
    align-items: flex-end;
    padding-bottom: 6.4rem;
  }
}
.footer__bottom__links {
  position: relative;
  width: calc(58.3333333333% - 0.4166666667 * var(--col-pd) * 2);
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6.4rem;
}
@media (max-width: 1023.98px) {
  .footer__bottom__links {
    width: auto;
    gap: 4.8rem;
  }
  .footer__bottom__links .dot {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .footer__bottom__links {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 1.6rem;
  }
}
.footer__bottom__links span {
  font-size: 1.4rem;
  line-height: 1.5;
}
.footer__bottom__links .link {
  line-height: 0;
}
@media (max-width: 1023.98px) {
  .footer__bottom__links .link {
    margin-left: 0;
  }
}
.footer__bottom__links .link a {
  font-size: 1.4rem;
  line-height: 0.9;
  font-weight: 300;
  text-decoration: none;
  color: var(--dark-blue);
  transition: opacity 0.4s ease;
}
.footer__bottom__links .link a:hover {
  opacity: 0.5;
}
.footer__bottom__links .link span {
  font-size: 1.4rem;
  line-height: 0.9;
  font-weight: 300;
  color: var(--dark-blue);
}
.footer__bottom__links .dot {
  position: relative;
  width: 0.4rem;
  height: 0.4rem;
  background-color: var(--black);
  margin-left: 2.4rem;
  margin-right: 2.4rem;
  border-radius: 50%;
  opacity: 0.12;
}
.footer__bottom__spacer {
  width: calc(8.3333333333% - 0.8333333333 * var(--col-pd) * 2);
}
@media (max-width: 1023.98px) {
  .footer__bottom__spacer {
    display: none;
  }
}
.footer__bottom__back-to-top {
  position: relative;
}
.footer__bottom__back-to-top .back-to-top {
  position: relative;
  width: 5.6rem;
  height: 5.6rem;
  background-color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
}
.footer.pin-active {
  will-change: transform;
}

.load-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  z-index: 1002;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--white);
  clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
  will-change: clip-path;
}

/* NAVIGATION STYLING */
.navigation {
  --nav-toggler-width: 5.6rem;
  --nav-toggler-icon-width: 3.2rem;
  --nav-inset-top: 3.2rem;
  --nav-inset-side: var(--container-pd);
  --nav-color: var(--dark-blue);
  position: fixed; /*fixed*/
  top: 0;
  left: 0;
  width: 100%;
  z-index: 102;
  padding-top: var(--nav-inset-top);
  will-change: transform;
  transition: transform 0.6s var(--bezier);
}
@media (max-width: 767.98px) {
  .navigation {
    --nav-inset-top: 2rem;
  }
}
.navigation .navbar {
  position: relative;
  height: 100%;
}
.navigation .navbar-inner {
  height: inherit;
  width: 100%;
  z-index: 2;
  display: flex;
  flex-direction: row;
  align-items: center;
}
.navigation .navbar-nav {
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 0;
  list-style: none;
}
.navigation .navbar-brand {
  width: 5.6rem;
  height: auto;
}
.navigation .navbar-brand svg {
  width: 100%;
  height: 100%;
}
.navigation .navbar-brand-wrapper {
  transition: opacity 0.6s var(--bezier-soft);
  margin-right: auto;
}
.navigation .navbar-collapse {
  position: relative;
}
.navigation .navbar-collapse__inner {
  position: relative;
  display: flex;
  flex-direction: row;
}
@media (max-width: 1023.98px) {
  .navigation .navbar-collapse {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding-left: 16px;
    padding-right: 16px;
    margin-left: unset;
    overflow-y: auto;
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    z-index: 2;
  }
  .navigation .navbar-collapse::-webkit-scrollbar {
    display: none;
  }
  .navigation .navbar-collapse__inner {
    flex-direction: column;
    overflow-y: auto;
    padding-top: 100px;
    padding-bottom: 140px;
    width: 100%;
    height: auto;
  }
  .navigation .navbar-collapse__inner .navbar-nav {
    flex-direction: column;
    align-items: flex-start;
  }
  .navigation .navbar-collapse__inner::-webkit-scrollbar {
    display: none;
  }
}
.navigation .navbar-toggler {
  position: relative;
  appearance: none;
  -webkit-appearance: none;
  background-color: transparent;
  display: block;
  z-index: 100;
  padding: 0;
  border: 0;
  width: var(--nav-toggler-width);
  height: var(--nav-toggler-width);
  background-color: var(--white);
  padding: 1.2rem;
  cursor: pointer;
  border-radius: 0;
}
.navigation .navbar-toggler:focus {
  outline: none;
}
.navigation .navbar-toggler__icon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: var(--nav-toggler-icon-width);
  height: var(--nav-toggler-icon-width);
}
.navigation .navbar-toggler__icon svg {
  width: 100%;
  height: 100%;
}
.navigation .navbar-brand {
  --width: 5.6rem;
  position: relative;
  z-index: 2;
  height: auto;
  margin-right: 30px;
}
.navigation .navbar-brand a {
  font-size: 0;
}
.navigation .navbar-brand .logo {
  position: relative;
  width: 100%;
}
.navigation.nav-fixed .navbar-brand-wrapper {
  opacity: 0;
  pointer-events: none;
}
.navigation.menu-open .navbar-toggler .bars .bar {
  background-color: var(--black);
}
.navigation.ui-light .navbar-brand svg rect {
  fill: var(--white);
}
.navigation.ui-light .navbar-brand svg path {
  fill: var(--dark-blue);
}

.nav-item {
  position: relative;
}
.nav-item .nav-link {
  font-size: 1.8rem;
  line-height: 1;
  font-weight: 400;
  color: var(--nav-color);
  text-decoration: none;
  padding: 0 2rem;
  transition: opacity 0.4s ease, color 0.4s ease;
}
@media (max-width: 1023.98px) {
  .nav-item .nav-link {
    padding: 0;
    font-size: 3.2rem;
    font-weight: 400;
  }
}
.nav-item .mobile-menu-arrow {
  display: none;
  position: relative;
  padding: 8px 0 8px 8px;
  pointer-events: none;
}
@media (max-width: 1023.98px) {
  .nav-item .mobile-menu-arrow {
    display: block;
  }
}
.nav-item .mobile-menu-arrow svg path {
  fill: var(--dark-blue);
}
.navbar-fullwidth {
  --columns-width: 0.6;
  width: 100%;
  height: 100vh;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.24);
  z-index: 98;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  padding: var(--nav-inset-top) var(--nav-inset-side);
}
.navbar-fullwidth .menu-wrapper {
  position: relative;
  display: flex;
  flex-direction: row;
  width: auto;
  height: auto;
  min-width: 40rem;
  padding: 14.4rem 2.4rem 9.6rem 2.4rem;
}
@media (max-width: 575.98px) {
  .navbar-fullwidth .menu-wrapper {
    min-width: auto;
    width: 100%;
  }
}
.navbar-fullwidth .menu-wrapper::-webkit-scrollbar {
  display: none;
}
.navbar-fullwidth .menu-wrapper__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--white);
  transform: scale(0);
  transform-origin: right top;
}
.navbar-fullwidth .menu-wrapper__columns {
  position: relative;
  width: 100%;
  height: auto;
}
@media (max-width: 767.98px) {
  .navbar-fullwidth .menu-wrapper__columns {
    flex-wrap: wrap;
    width: 100%;
  }
}
.navbar-fullwidth .menu-wrapper .menu-columns--sub {
  margin-top: 13%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
}
@media (max-width: 767.98px) {
  .navbar-fullwidth .menu-wrapper .menu-columns--sub {
    margin-top: 0;
  }
}
.navbar-fullwidth .menu-wrapper .nav-item {
  position: relative;
  padding: 0;
  width: 100%;
  line-height: normal;
  overflow: clip;
}
.navbar-fullwidth .menu-wrapper .nav-item .nav-link {
  display: inline-block;
  padding: 0;
  margin: 0 0 1.6rem 0;
  width: 100%;
  overflow: clip;
  transition: transform 0.6s var(--bezier);
}
.navbar-fullwidth .menu-wrapper .nav-item .nav-link__text {
  font-size: 2.8rem;
  line-height: 1;
  color: var(--nav-color);
  display: inline-block;
}
.navbar-fullwidth .menu-wrapper .nav-item .nav-link:hover {
  transform: translateX(0.8rem);
}
.navbar-fullwidth .menu-wrapper .nav-item__line {
  position: absolute;
  left: 0;
  width: 100%;
  background-color: var(--dark-blue);
  height: 0.1rem;
  transform-origin: left;
  transform: scaleX(0);
  bottom: 0;
}
.navbar-fullwidth .menu-wrapper .nav-item:last-child .nav-link {
  padding-top: 0;
}
.navbar-fullwidth .menu-wrapper .dropdown-item {
  display: block !important;
  transition: opacity 0.4s cubic-bezier(0.77, 0, 0.175, 1);
}
.navbar-fullwidth .menu-wrapper .dropdown-item:hover {
  opacity: 1;
}
.navbar-fullwidth .menu-wrapper .menu-column {
  position: relative;
  height: auto;
  display: flex;
  flex-direction: column;
}
.navbar-fullwidth .menu-wrapper .menu-column__inner {
  position: relative;
  width: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.navbar-fullwidth .menu-wrapper .menu-column__inner p,
.navbar-fullwidth .menu-wrapper .menu-column__inner a {
  position: relative;
  margin-bottom: 0;
  display: inline-block;
  color: var(--white);
  padding-top: 0;
  padding-bottom: 0;
  text-decoration: none;
}
.navbar-fullwidth .menu-wrapper .menu-column ul {
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 3.2rem;
}
.navbar-fullwidth .menu-wrapper .menu-column ul.navbar-nav {
  height: 100%;
}
@media (max-width: 767.98px) {
  .navbar-fullwidth .menu-wrapper .menu-column ul.navbar-nav {
    height: auto;
  }
}

.plate--container {
  padding-left: var(--container-pd);
  padding-right: var(--container-pd);
  max-width: none;
}

.plate--row {
  margin-left: calc(var(--col-pd) * -1);
  margin-right: calc(var(--col-pd) * -1);
}

.plate--column {
  padding-left: var(--col-pd);
  padding-right: var(--col-pd);
}
@media (max-width: 767.98px) {
  .plate--column {
    flex-basis: 100% !important;
    max-width: 100% !important;
    min-height: unset;
  }
}

.render-content {
  position: relative;
  z-index: 1;
}
.render-content section:first-child .section-container::before {
  display: none;
}
.render-content--show .plate--container {
  padding-left: 0;
  padding-right: 0;
}

.section-container {
  position: relative;
  background-color: var(--body-bg);
}
.section-container.fullwidth {
  overflow: hidden;
}
.section-container.fullwidth .plate--container {
  padding-left: 0;
  padding-right: 0;
}
.section-container.indent .plate--container {
  padding-left: calc(var(--container-pd) * 1.5);
  padding-right: calc(var(--container-pd) * 1.5);
}
@media (max-width: 1023.98px) {
  .section-container.indent .plate--container {
    padding-left: calc(var(--mb-container-pd) * 2);
    padding-right: calc(var(--mb-container-pd) * 2);
  }
}
.section-container.has-bg::before {
  content: "";
  width: 100%;
  height: 0.2rem;
  background-color: inherit;
  position: absolute;
  top: -0.1rem;
  z-index: 0;
}

.plate--section {
  position: relative;
}
.plate--section.rounded-corners::before {
  content: "";
  position: absolute;
  width: 100%;
  left: 0;
  z-index: 1;
  background-color: var(--white);
}
.plate--section.rounded-corners--top::before {
  height: calc(100% + var(--br) * var(--br-multiplier));
  top: calc(var(--br) * var(--br-multiplier) * -1);
  border-top-left-radius: calc(var(--br) * var(--br-multiplier));
  border-top-right-radius: calc(var(--br) * var(--br-multiplier));
}
.plate--section.rounded-corners--bottom::before {
  height: calc(100% + 2.4rem);
  bottom: calc(var(--br) * var(--br-multiplier) * -1);
  border-bottom-left-radius: calc(var(--br) * var(--br-multiplier));
  border-bottom-right-radius: calc(var(--br) * var(--br-multiplier));
}
.plate--section.rounded-corners--top-bottom::before {
  height: calc(100% + var(--br) * var(--br-multiplier) * 2);
  top: calc(var(--br) * var(--br-multiplier) * -1);
  border-radius: calc(var(--br) * var(--br-multiplier));
}
.plate--section.rounded-corners.plate--section--white::before {
  background-color: var(--white);
}
.plate--section.rounded-corners.plate--section--yellow-white::before {
  background-color: var(--yellow-white);
}

.tussenruimte {
  position: relative;
}
@media (max-width: 767.98px) {
  .tussenruimte.hide-mobile {
    display: none;
  }
}

.preloader {
  --logo-width: 8.8rem;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100svh;
  z-index: 1002;
  background-color: var(--white);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.preloader__logo {
  position: relative;
  width: var(--logo-width);
  height: var(--logo-width);
}
.preloader__logo__inner {
  position: relative;
  height: 100%;
  width: 100%;
}
.preloader__logo__inner svg {
  width: 100%;
  height: 100%;
}
.preloader__logo__inner svg #blue-bg {
  transform: scaleY(0);
}
.preloader__counter {
  position: absolute;
  bottom: 9.6rem;
  display: flex;
}
.preloader__counter .counter {
  --counter-height: 10rem;
  --counter-height: 2rem;
  --counter-width: 10rem;
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: center;
  font-family: "Everett";
  font-size: 2rem;
  width: var(--counter-width);
  height: var(--counter-height);
  line-height: var(--counter-height);
  clip-path: polygon(0 0, 100% 0, 100% var(--counter-height), 0 var(--counter-height));
}
.preloader__counter .counter-1, .preloader__counter .counter-2, .preloader__counter .counter-3, .preloader__counter .counter__divider {
  position: relative;
}
.preloader__counter .counter .num1offset1 {
  position: relative;
  right: -0.3rem;
}
.preloader__counter .counter .num1offset2 {
  position: relative;
  right: -0.2rem;
}
.preloader__counter .counter__loader {
  display: flex;
  flex-direction: row;
}
.preloader__counter .counter__divider {
  margin: 0 0.2em;
}
.preloader__counter .counter__total {
  display: flex;
  flex-direction: row;
}

.scroll-clip {
  position: relative;
}
.scroll-clip__inner {
  position: relative;
  width: 100vw;
  left: calc((-100vw + 100%) / 2);
}
.scroll-clip__overlay {
  position: relative;
  overflow: clip;
}
.scroll-clip__overlay--bg {
  --clip-offset: 24px;
  position: absolute;
  top: -0.2rem;
  left: -0.2rem;
  width: calc(100% + 0.4rem);
  height: calc(100% + 0.4rem);
  background-color: var(--light-grey);
  z-index: 2;
  will-change: clip-path;
  clip-path: polygon(0% 0%, 0% 100%, var(--clip-offset) 100%, var(--clip-offset) 0%, calc(100% - var(--clip-offset)) 0%, calc(100% - var(--clip-offset)) 100%, 100% 100%, 100% 0%);
}

.posts-filter {
  --text-color: var(--dark-blue);
  --border-color: var(--dark-blue);
  --bg-color: var(--dark-blue);
  position: relative;
  z-index: 1;
  padding-bottom: 6rem;
  background-color: var(--light-grey);
}
.posts-filter__top {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding-top: 2rem;
  border-top: 0.1rem solid var(--dark-blue);
}
.posts-filter__top--title {
  position: relative;
  line-height: 1;
}
.posts-filter__top--title svg {
  transition: transform 0.6s var(--bezier);
  margin-left: 1.2rem;
}
.posts-filter__top--counter {
  position: relative;
  line-height: 1;
}
.posts-filter__top.is-expanded .posts-filter__top--title svg {
  transform: rotate(180deg);
}
.posts-filter__inner {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.posts-filter__inner--expand-group {
  height: 0;
  overflow: hidden;
}
.posts-filter--expand .posts-filter__top {
  cursor: pointer;
}

.filter-checkbox {
  --gap: 2rem;
  position: relative;
  width: 100%;
  padding-top: 4.8rem;
  padding-bottom: 0.4rem;
}
.filter-checkbox__top {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
}
.filter-checkbox__group {
  position: relative;
}
.filter-checkbox__group__inner {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--gap);
}
.filter-checkbox__item {
  width: calc(25% - 0.75 * var(--gap));
  position: relative;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  cursor: pointer;
  opacity: 0;
}
@media (max-width: 1023.98px) {
  .filter-checkbox__item {
    width: calc(33.3333333333% - 0.6666666667 * var(--gap));
  }
}
@media (max-width: 767.98px) {
  .filter-checkbox__item {
    width: calc(50% - 0.5 * var(--gap));
  }
}
@media (max-width: 575.98px) {
  .filter-checkbox__item {
    width: 100%;
  }
}
.filter-checkbox__item input {
  position: relative;
  appearance: none;
  width: 2rem;
  height: 2rem;
  border: 0;
  border-radius: 0;
  margin-right: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0.1rem solid var(--border-color);
  cursor: pointer;
  flex-shrink: 0;
}
.filter-checkbox__item input::after {
  content: "";
  position: relative;
  width: 1.2rem;
  height: 1.2rem;
  background-color: var(--bg-color);
  opacity: 0;
  transition: opacity 0.6s var(--bezier);
}
.filter-checkbox__item input:checked::after {
  opacity: 1 !important;
}
.filter-checkbox__item input:hover::after {
  opacity: 0.24;
}
.filter-checkbox__item span {
  line-height: 1;
}
.filter-checkbox__item--hidden {
  display: none;
  opacity: 0;
}

.sort-filter {
  position: relative;
  margin-left: auto;
  display: flex;
  align-items: center;
  padding-left: 3.3rem;
}
.sort-filter::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0.1rem;
  height: 100%;
  background-color: var(--sand);
}
.sort-filter .form-field {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  padding-right: 2.4rem;
}
.sort-filter .form-field .select-arrow {
  position: absolute;
  right: 0;
  line-height: 0;
  pointer-events: none;
}
.sort-filter__input {
  appearance: none;
  -webkit-appearance: none;
  background-color: transparent;
  border: none;
  color: var(--black);
  outline: none;
  height: 100%;
  width: 100%;
  cursor: pointer;
}
.sort-filter__input option {
  color: var(--black);
}

.text-filter {
  position: relative;
  margin-bottom: 2.4rem;
  width: 100%;
}
.text-filter .form-field {
  position: relative;
}
.text-filter__input {
  position: relative;
  width: 100%;
  height: 6.4rem;
  background-color: var(--white);
  border: none;
  border-radius: 0;
  padding: 2rem 2.4rem;
}
.text-filter__input:focus {
  outline: none;
}
.text-filter__icon {
  position: absolute;
  top: 50%;
  right: 2.4rem;
  transform: translateY(-50%);
  pointer-events: none;
}
.text-filter__icon svg {
  width: 2rem;
  height: auto;
}

.mobile-filter {
  position: relative;
  margin-bottom: 2.4rem;
  display: none;
}
@media (max-width: 1023.98px) {
  .mobile-filter {
    display: block;
  }
}
.mobile-filter .button {
  width: 100%;
}

.posts-filter-mobile {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
  z-index: 102;
  height: 100vh;
  transform: translateX(100%);
}
@media (max-width: 1023.98px) {
  .posts-filter-mobile {
    display: block;
  }
}
.posts-filter-mobile__inner {
  position: relative;
  padding-top: 2.4rem;
  padding-bottom: 6.4rem;
  height: 100%;
  overflow-y: scroll;
}
.posts-filter-mobile__inner::-webkit-scrollbar {
  display: none;
}
.posts-filter-mobile::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 110%;
  height: 100%;
  background-color: var(--sand);
}
.posts-filter-mobile__top {
  position: relative;
  margin-bottom: 6.4rem;
  display: flex;
  flex-direction: row;
  justify-content: center;
  width: 100%;
  align-items: center;
}
.posts-filter-mobile__top__close {
  position: absolute;
  left: 0;
  cursor: pointer;
}
.posts-filter-mobile__button {
  position: fixed;
  width: 100vw;
  left: calc((-100vw + 100%) / 2);
  bottom: -2px;
  z-index: 1212;
}
.posts-filter-mobile__button .button {
  --bg-color: var(--purple);
  --btn-text-color: var(--white);
  width: 100%;
}
.posts-filter-mobile .posts-filter--sidebar {
  display: block !important;
}

.items-container {
  --gap-column: calc(var(--col-pd) * 2);
  --gap-row: calc(var(--col-pd) * 2);
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  width: 100%;
  z-index: 1;
  gap: var(--gap-row) var(--gap-column);
}
.items-container.fill-space {
  justify-content: space-between;
}
.items-container.fill-space::after {
  content: "";
  flex: 0 1 calc(33.3333333333% - 0.6666666667 * var(--gap-column));
}
@media (max-width: 1023.98px) {
  .items-container.fill-space::after {
    flex: 0 1 calc(50% - 0.5 * var(--gap-column));
  }
}
.items-container--grid {
  position: relative;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: min-content;
  grid-gap: var(--gap-row) var(--gap-column);
  grid-auto-flow: dense;
}
@media (max-width: 1023.98px) {
  .items-container--grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767.98px) {
  .items-container--grid {
    grid-template-columns: 1fr;
  }
}
.items-container--grid .project-item {
  width: 100%;
  height: 100%;
}
.items-container--grid .project-item__image {
  height: 100%;
}
.items-container--grid .project-item--portrait {
  grid-row-end: span 6;
}
.items-container--grid .project-item--landscape {
  grid-row-end: span 4;
}
.items-container--grid .project-item--square {
  grid-row-end: span 5;
}
.items-container .post-item,
.items-container .project-item {
  transition: opacity 0.6s var(--bezier), transform 0.6s var(--bezier);
}
.items-container:not(.items-container--grid) .post-item {
  width: calc(33.3333333333% - 0.6666666667 * var(--gap-column));
}
@media (max-width: 1023.98px) {
  .items-container:not(.items-container--grid) .post-item {
    width: calc(50% - 0.5 * var(--gap-column));
  }
}
@media (max-width: 767.98px) {
  .items-container:not(.items-container--grid) .post-item {
    width: 100%;
  }
}
.items-container:not(.items-container--grid) .project-item {
  width: calc(33.3333333333% - 0.6666666667 * var(--gap-column));
}
@media (max-width: 1023.98px) {
  .items-container:not(.items-container--grid) .project-item {
    width: calc(50% - 0.5 * var(--gap-column));
  }
}
@media (max-width: 767.98px) {
  .items-container:not(.items-container--grid) .project-item {
    width: 100%;
  }
}
.items-container.fade-out .post-item,
.items-container.fade-out .project-item {
  opacity: 0;
  transform: scale(0.95);
}

.result__container {
  background-color: var(--light-grey);
}

.paginate {
  position: relative;
  display: flex;
  justify-content: center;
  width: 100%;
  margin-bottom: 12rem;
}
.paginate__list {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0;
  margin-bottom: 0;
  list-style: none;
  margin: 0 0.4rem;
}
.paginate__list__item {
  --bg-color: var(--white);
  --text-color: var(--black);
  --border-opa: 0;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  margin: 0 0.4rem;
  padding-left: 0;
  cursor: pointer;
  font-size: 1.4rem;
  font-weight: 500;
}
.paginate__list__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--bg-color);
  transition: background-color 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.paginate__list__item::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
  border: 0.1rem solid var(--text-color);
  opacity: var(--border-opa);
  transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.paginate__list__item div {
  position: relative;
  color: var(--text-color) !important;
  text-decoration: none;
  z-index: 1;
  pointer-events: none;
  transition: color 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.paginate__list__item--active {
  --bg-color: var(--black);
  --text-color: var(--white);
}
.paginate__list__item:not(.no-hover):hover {
  --border-opa: 1;
}
.paginate__list__item.no-hover {
  cursor: default;
}
.paginate__btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  cursor: pointer;
  background-color: var(--white);
  transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.paginate__btn svg {
  width: 1rem;
  height: auto;
  pointer-events: none;
}
.paginate__btn svg path {
  fill: var(--black);
}
.paginate__btn--disabled {
  pointer-events: none;
  opacity: 0.4;
}
.paginate__btn--next svg {
  transform: rotate(180deg);
}
