/* Variables
-------------------------*/
/* Colors */
@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@500&family=Roboto:wght@400;500&display=swap");
:root {
  --plyr-color-main: #37BCAE;
}

/* CSS Properties */
/* Fonts */
h1, h2, h3, h4, h5, p, ul li, ol li, span, a {
  color: #FFFFFF;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  hyphens: manual;
}

.h1, .h2, .h3, .h4, .h5 {
  font-family: "Bebas Neue", sans-serif;
}

p, ul li, ol li, span, a {
  color: #FFFFFF;
  font-family: "Roboto", sans-serif;
  font-weight: 300;
}

/* Elements
-------------------------*/
.wysiwyg {
  color: #FFFFFF;
  width: 100%;
}
.wysiwyg.black-text {
  color: #000000;
}
.wysiwyg h1, .wysiwyg .h1 {
  font-size: clamp(32px, 3.2vw, 54px);
  line-height: 1.25;
  color: inherit;
  margin-bottom: calc(clamp(15px, 4vw, 50px) * 0.5);
}
.wysiwyg h1 span, .wysiwyg .h1 span {
  font-size: inherit;
  font-weight: 400;
}
.wysiwyg h2, .wysiwyg .h2 {
  font-size: clamp(28px, 2vw, 34px);
  color: inherit;
  margin-bottom: calc(clamp(15px, 4vw, 50px) * 0.5);
}
.wysiwyg h2 span, .wysiwyg .h2 span {
  font-size: inherit;
  font-weight: 400;
}
.wysiwyg h3, .wysiwyg .h3 {
  font-size: clamp(20px, 1.8vw, 30px);
  color: inherit;
  margin-bottom: calc(clamp(15px, 4vw, 50px) * 0.5);
}
.wysiwyg h3 span, .wysiwyg .h3 span {
  font-size: inherit;
  font-weight: 400;
}
.wysiwyg h4, .wysiwyg .h4 {
  font-size: clamp(20px, 1.6vw, 26px);
  color: inherit;
  margin-bottom: calc(clamp(15px, 4vw, 50px) * 0.25);
  letter-spacing: 0.05rem;
  text-transform: uppercase;
}
.wysiwyg h4 span, .wysiwyg .h4 span {
  font-size: inherit;
  font-weight: 400;
}
.wysiwyg h5, .wysiwyg .h5 {
  font-size: clamp(16px, 1.6vw, 20px);
  font-family: "Inter", sans-serif;
  color: inherit;
  margin-bottom: calc(clamp(15px, 4vw, 50px) * 0.1);
  text-transform: uppercase;
  letter-spacing: 0.035em;
}
.wysiwyg h5 span, .wysiwyg .h5 span {
  font-size: inherit;
  font-weight: 400;
}
.wysiwyg p, .wysiwyg ul li, .wysiwyg ol li, .wysiwyg span, .wysiwyg a {
  color: inherit;
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.75;
  letter-spacing: 0.025em;
}
.wysiwyg p a {
  color: #DF699D;
  font-size: inherit;
}
.wysiwyg a {
  transition: 0.15s ease all;
}
.wysiwyg a:hover {
  color: #DF699D;
  text-shadow: 0 0 15px rgba(255, 255, 255, 0.15), 0 0 25px rgba(223, 105, 157, 0.5);
}

.bg.gradient {
  background: linear-gradient(to bottom, #DFDFDF, #FFF);
}
.bg.purple {
  background-color: #DFDFDF;
}
.bg.light-purple {
  background-color: #FFF;
}

.flicking-viewport .flicking-camera {
  cursor: grab;
}
.flicking-viewport .flicking-camera:active {
  cursor: grabbing;
}
.flicking-viewport img {
  pointer-events: none;
  -webkit-user-select: none;
          user-select: none;
}

.cta-button {
  border: 2px solid #37BCAE;
  display: inline-block;
  padding: calc(clamp(15px, 4vw, 50px) * 0.25) calc(clamp(15px, 4vw, 50px) * 0.5);
  margin-top: calc(clamp(15px, 4vw, 50px) * 0.5);
  transition: 0.25s ease all;
}
.cta-button.cyan {
  border-color: #DF699D;
}
.cta-button.yellow {
  border-color: #CEA868;
}
.cta-button.yellow:hover {
  background-color: rgba(206, 168, 104, 0.1);
  border-color: #CEA868;
  box-shadow: 0 0 15px rgba(206, 168, 104, 0.5), 0 0 50px rgba(255, 255, 255, 0.15); /* Second layer */
}
.cta-button.full {
  background-color: #DF699D;
  box-shadow: none;
  border: 2px solid #DF699D;
}
.cta-button.full:hover {
  background-color: #DF699D;
  border: 2px solid #DF699D;
  box-shadow: 0 0 15px rgba(223, 105, 157, 0.5), 0 0 50px rgba(255, 255, 255, 0.15); /* Second layer */
}
.cta-button:hover {
  border: 2px solid #37BCAE;
  box-shadow: inset 0 0 2px #37bcae, 0 0 2px rgba(255, 255, 255, 0.15), 0 0 10px rgba(55, 188, 174, 0.5), 0 0 50px rgba(223, 105, 157, 0.25); /* Third layer */
  box-shadow: none !important;
  background-color: rgba(55, 188, 174, 0.1);
}
.cta-button:hover.cyan {
  border-color: #DF699D;
}
.cta-button.dark-text span.text {
  color: #312834;
}
.cta-button span.text {
  font-size: clamp(16px, 1.5vw, 19px);
  font-weight: 500;
  letter-spacing: 0.025em;
}

.image-container {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.image-container img, .image-container video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

[data-reveal=fade] {
  opacity: var(--opacity, 0) !important;
  will-change: transform;
  transform: translateY(var(--vertical, 50px)) translateX(var(--horizontal, 0px)) scale(var(--scale, 1));
  transition: var(--duration, 0.65s) cubic-bezier(0.25, 0.1, 0.25, 1) all var(--delay, 0.25s);
}
[data-reveal=fade].revealed {
  opacity: var(--to-opacity, 1) !important;
  transform: translateY(0px);
}

[data-reveal=image] {
  overflow: hidden;
  background-color: #FFF;
  transition: var(--duration, 3.65s) cubic-bezier(0.25, 0.1, 0.25, 1) all var(--delay, 0.25s), 5s cubic-bezier(0.25, 0.1, 0.25, 1) filter 1s;
}
[data-reveal=image] img {
  opacity: var(--opacity, 0) !important;
  transform: scale(1.1);
  transition: var(--duration, 3.65s) cubic-bezier(0.25, 0.1, 0.25, 1) all var(--delay, 0.25s), 5s cubic-bezier(0.25, 0.1, 0.25, 1) filter 1s;
  filter: grayscale(100%);
}
[data-reveal=image].revealed {
  background-color: transparent;
}
[data-reveal=image].revealed img {
  transform: scale(1);
  opacity: var(--to-opacity, 1) !important;
  filter: grayscale(0%);
}

[data-reveal=banner] {
  position: relative;
  overflow: hidden;
  background-color: #FFF;
}
[data-reveal=banner]::after {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: linear-gradient(to top, rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0));
}
[data-reveal=banner] img {
  opacity: 0;
  transform: scale(1.1);
  transition: 2.5s cubic-bezier(0.25, 0.1, 0.25, 1) all, 5s cubic-bezier(0.25, 0.1, 0.25, 1) filter;
}
[data-reveal=banner].revealed img {
  opacity: 1;
  transform: scale(1);
  filter: grayscale(100%);
}

body {
  background-color: #000000;
  overscroll-behavior: contain;
}
body ::selection {
  background-color: rgba(223, 105, 157, 0.5);
  background-color: rgba(55, 188, 174, 0.5);
  color: #000000;
}
body::-webkit-scrollbar {
  width: 5px;
}
body::-webkit-scrollbar-track {
  background: black;
}
body::-webkit-scrollbar-thumb {
  background: #37BCAE;
}
body::-webkit-scrollbar-thumb:hover {
  background: #34b0a3;
}

html {
  scroll-behavior: initial;
  height: auto;
}

html,
body {
  width: 100%;
  min-height: 100%;
}

.wpml-ls, .otgs-development-site-front-end {
  display: none;
}

/* Header
-----------------*/
header {
  position: fixed;
  width: 100%;
  z-index: 10;
  height: 100px;
  display: flex;
  align-items: center;
}
header.scrolled::before {
  height: 125%;
  opacity: 1;
}
header.scrolled .logo-container img {
  transform: scale(0.8);
}
header.dark::before {
  background: linear-gradient(to bottom, rgba(223, 223, 223, 0.9), rgba(223, 223, 223, 0));
}
header.dark::after {
  background: linear-gradient(to bottom, rgba(223, 223, 223, 0.9), rgba(223, 223, 223, 0));
}
header.dark.scrolled::after {
  background: linear-gradient(to bottom, rgba(223, 223, 223, 0.9), rgba(223, 223, 223, 0));
}
header.dark .nav ul.menu-list li a {
  color: #FFFFFF;
}
header.dark .nav ul.menu-list li .cta-button span.text {
  color: #FFFFFF;
}
header.dark .nav ul.lang li a {
  color: #FFFFFF;
}
header::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 150%;
  pointer-events: none;
  opacity: 0.5;
  transition: 0.5s ease all;
}
header::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0));
  height: 125%;
  pointer-events: none;
  opacity: 0.5;
  transition: 0.5s ease all;
}
header .grid-x {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
}
header .logo-container img {
  width: 150px;
  transition: 0.5s ease all;
  transform-origin: 0 50%;
}
header .nav {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
header .nav .hamburger {
  position: relative;
  width: 30px;
  height: 40px;
  cursor: pointer;
}
header .nav .hamburger.active span:nth-child(2) {
  opacity: 0;
  transform: translateX(-10px);
}
header .nav .hamburger.active span:first-child {
  transform: rotate(45deg);
}
header .nav .hamburger.active span:last-child {
  transform: rotate(-45deg);
}
header .nav .hamburger span {
  position: absolute;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background-color: #312834;
  top: calc(50% - 1px);
  left: 0;
  transition: 0.25s ease all;
}
header .nav .hamburger span:first-child {
  width: 100%;
  transform: translateY(-8px);
}
header .nav .hamburger span:last-child {
  width: 100%;
  transform: translateY(8px);
}
header .nav ul.lang {
  position: relative;
  display: flex;
  align-items: center;
  margin: 0;
  margin-left: 25px;
}
header .nav ul.lang::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -20px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #37BCAE;
  border-radius: 3px;
  transition: 0.25s ease all;
}
header .nav ul.lang:hover::after {
  transform: translateY(calc(-50% - 1px)) translateX(-3px) rotate(90deg);
  border-top: 6px solid #DF699D;
}
header .nav ul.lang li a {
  color: #000000;
  font-weight: 500;
  font-size: clamp(16px, 1.5vw, 19px);
  text-transform: uppercase;
  transition: 0.25s ease all;
}
header .nav ul.lang li a:hover {
  color: #DF699D;
}
header .nav ul.menu-list {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 0;
}
header .nav ul.menu-list li {
  margin-left: clamp(15px, 4vw, 50px);
  display: none;
}
header .nav ul.menu-list li.portal {
  display: inline-block;
}
header .nav ul.menu-list li a {
  color: #000000;
  font-weight: 500;
  font-size: clamp(16px, 1.5vw, 19px);
  font-family: "Bebas Neue", sans-serif;
  transition: 0.25s ease all;
  display: inline-block;
}
header .nav ul.menu-list li a:hover {
  color: #DF699D;
  transform: translateY(-1px);
}
header .nav ul.menu-list li .cta-button {
  margin-top: 0;
  padding-top: calc(clamp(15px, 4vw, 50px) * 0.1);
  padding-bottom: calc(clamp(15px, 4vw, 50px) * 0.1);
}
header .nav ul.menu-list li .cta-button:hover {
  border: 2px solid #DF699D;
  background-color: rgba(223, 105, 157, 0.15);
  box-shadow: inset 0 0 2px #37bcae, 0 0 2px rgba(255, 255, 255, 0.15), 0 0 10px rgba(55, 188, 174, 0.5), 0 0 50px rgba(55, 188, 174, 0.25); /* Third layer */
}
header .nav ul.menu-list li .cta-button span.text {
  color: #312834;
}

nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, #dfdfdf 0%, rgba(223, 223, 223, 0.9) 100%);
  z-index: 9;
  pointer-events: none;
  display: block;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-100%);
  transition: 0.35s ease all;
}
nav.active {
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
  transform: translateY(0%);
}
nav .container {
  display: flex;
  align-items: safe center;
  justify-content: center;
  height: 100%;
  overflow: auto;
}
nav .container .inner-wrapper {
  padding-top: 100px;
  padding-bottom: 100px;
  display: flex;
  align-items: center;
}
nav .container .inner-wrapper ul.main-menu {
  margin: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
}
nav .container .inner-wrapper ul.main-menu li {
  margin-bottom: 15px;
}
nav .container .inner-wrapper ul.main-menu li a {
  font-family: "Bebas Neue", sans-serif;
  font-size: clamp(20px, 1.8vw, 30px);
}
nav .container .inner-wrapper ul.main-menu li a:hover {
  color: #DF699D;
}

/* Content
-----------------*/
.page-wrapper.cases {
  background: linear-gradient(to bottom, #DFDFDF, #FFF);
}
.page-wrapper.studio {
  background: linear-gradient(to bottom, #DFDFDF, #FFF);
}
.page-wrapper.contact {
  background: linear-gradient(to bottom, #DFDFDF, #FFF);
}

section {
  position: relative;
  padding: clamp(45px, 12vw, 150px) 0;
}
section.intro {
  padding: 0;
  overflow: hidden;
  height: 50vh;
}
section.intro .inner-wrapper {
  height: 100%;
}
section.intro .image-container {
  position: relative;
  height: 100%;
  width: 100%;
  border-bottom-left-radius: clamp(10px, 2vw, 20px);
  border-bottom-right-radius: clamp(10px, 2vw, 20px);
}
section.intro .image-container img, section.intro .image-container video {
  position: relative;
  height: 100%;
  width: 100%;
  object-fit: cover;
}
section.intro .navigation ul.knoppen li a.cta-button:hover {
  border: 2px solid #DF699D;
  transform: translateY(-1px);
  box-shadow: inset 0 0 2px #df699d, 0 0 2px rgba(255, 255, 255, 0.15), 0 0 10px rgba(223, 105, 157, 0.5), 0 0 50px rgba(223, 105, 157, 0.25); /* Third layer */
  background-color: rgba(223, 105, 157, 0.1);
}
section.verticals {
  overflow: hidden;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-gap: 1px;
  background-color: #312834;
}
section.verticals .vertical {
  aspect-ratio: 1/1;
  display: grid;
}
section.verticals .vertical:hover .image-container {
  transition: 0.3s cubic-bezier(0.25, 0.1, 0.25, 1) all;
  background-color: #312834 !important;
}
section.verticals .vertical:hover .image-container::after {
  height: 75%;
  opacity: 1;
  transition: 0.3s cubic-bezier(0.25, 0.1, 0.25, 1) all;
}
section.verticals .vertical:hover .image-container img {
  opacity: 1;
  filter: grayscale(0%);
  transform: scale(1);
  transition: 0.3s cubic-bezier(0.25, 0.1, 0.25, 1) all;
}
section.verticals .vertical:hover .text-container {
  transform: translateY(calc(clamp(15px, 4vw, 50px) * 0.25));
  transition: 0.3s cubic-bezier(0.25, 0.1, 0.25, 1) all;
}
section.verticals .vertical:hover .text-container h4 {
  transition: 0.3s cubic-bezier(0.25, 0.1, 0.25, 1) all;
  opacity: 1;
}
section.verticals .vertical .image-container {
  position: relative;
  overflow: hidden;
  height: 100%;
  width: 100%;
  grid-row: 1;
  grid-column: 1;
  background-color: #DFDFDF;
  transition: 1.25s cubic-bezier(0.25, 0.1, 0.25, 1) all;
}
section.verticals .vertical .image-container::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  opacity: 0.8;
  background: linear-gradient(to top, #312834, rgba(49, 40, 52, 0));
  transition: 1.25s cubic-bezier(0.25, 0.1, 0.25, 1) all;
}
section.verticals .vertical .image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.03);
  filter: grayscale(100%);
  opacity: 0.5;
  transition: 1.25s cubic-bezier(0.25, 0.1, 0.25, 1) all;
}
section.verticals .vertical .text-container {
  grid-row: 1;
  grid-column: 1;
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  height: 100%;
  padding: calc(clamp(15px, 4vw, 50px) * 0.5);
  transition: 1.25s cubic-bezier(0.25, 0.1, 0.25, 1) all;
}
section.verticals .vertical .text-container h4 {
  text-transform: uppercase;
  margin: 0;
  margin-bottom: calc(clamp(15px, 4vw, 50px) * 0.25);
  transition: 1.25s cubic-bezier(0.25, 0.1, 0.25, 1) all;
  opacity: 0.25;
}
section.verticals .all {
  position: relative;
  background-color: #312834;
  display: flex;
  align-items: center;
  justify-content: center;
}
section.verticals .all:hover h4 {
  opacity: 1;
  transition: 0.3s cubic-bezier(0.25, 0.1, 0.25, 1) all;
}
section.verticals .all:hover .arrow {
  transform: translateX(4px);
  width: 90px;
}
section.verticals .all h4 {
  opacity: 0.25;
  transition: 1.25s cubic-bezier(0.25, 0.1, 0.25, 1) all;
}
section.verticals .all .arrow {
  position: absolute;
  top: calc(50% + 2em);
  left: calc(50% - 40px);
  height: 2px;
  width: 80px;
  background-color: #CEA868;
  transition: 0.25s ease all;
}
section.verticals .all .arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 5px);
  height: 10px;
  width: 10px;
  transform: rotate(45deg);
  transition: 0.25s ease all;
  right: 0;
  border-top: 2px solid #CEA868;
  border-right: 2px solid #CEA868;
  border-bottom: 2px solid transparent;
  border-left: 2px solid transparent;
}
section.cta .cta-block {
  text-align: center;
}
section.cta .cta-block h3 {
  color: #DF699D;
}
section [data-line-reveal] {
  visibility: hidden;
}
section [data-line-reveal].activated {
  visibility: visible;
}
section [data-line-reveal] .line .word .char {
  opacity: 0;
}
section .case-card {
  border-radius: clamp(10px, 2vw, 20px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
}
section .case-card:hover .image-container::after {
  height: 75%;
  opacity: 1;
  transition: 0.3s cubic-bezier(0.25, 0.1, 0.25, 1) all;
}
section .case-card:hover .image-container img {
  filter: grayscale(0%);
  transform: scale(1.01);
  opacity: 1;
  transition: 0.3s cubic-bezier(0.25, 0.1, 0.25, 1) all;
}
section .case-card:hover .image-container .title-container h3 {
  opacity: 1;
  transform: translateY(-2px);
  transition: 0.3s cubic-bezier(0.25, 0.1, 0.25, 1) all;
}
section .case-card .image-container {
  overflow: hidden;
  background-color: #FFF;
}
section .case-card .image-container::after {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: -2px;
  left: -1px;
  width: calc(100% + 2px);
  height: 50%;
  background: linear-gradient(to top, #312834, rgba(49, 40, 52, 0));
  opacity: 1;
  transition: 0.75s cubic-bezier(0.25, 0.1, 0.25, 1) all;
}
section .case-card .image-container img {
  aspect-ratio: 1/1;
  object-fit: cover;
  transform: scale(1.03);
  filter: grayscale(100%);
  opacity: 0.95;
  will-change: transform;
  transition: 0.75s cubic-bezier(0.25, 0.1, 0.25, 1) all;
}
section .case-card .image-container .sector-container {
  position: absolute;
  top: 0;
  right: 0;
  background-color: #CEA868;
  border-bottom-left-radius: clamp(3px, 0.5vw, 5px);
  z-index: 2;
}
section .case-card .image-container .sector-container p {
  margin: 0;
  font-size: clamp(16px, 1.5vw, 19px);
  color: #312834;
  padding: 7px 18px;
}
section .case-card .image-container .title-container {
  position: absolute;
  z-index: 2;
  bottom: calc(clamp(15px, 4vw, 50px) * 0.5);
  left: calc(clamp(15px, 4vw, 50px) * 0.5);
}
section .case-card .image-container .title-container h3 {
  color: #FFFFFF;
  opacity: 0.75;
  transition: 0.75s cubic-bezier(0.25, 0.1, 0.25, 1) all;
}
section .case-card .text-container {
  background-color: #312834;
  padding: calc(clamp(15px, 4vw, 50px) * 0.5);
  padding-bottom: clamp(15px, 4vw, 50px);
  border-bottom-left-radius: clamp(10px, 2vw, 20px);
  border-bottom-right-radius: clamp(10px, 2vw, 20px);
  padding-bottom: calc(0px - clamp(15px, 4vw, 50px));
  margin-bottom: calc(clamp(15px, 4vw, 50px) * 0.75);
  flex: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
section .case-card .text-container p {
  margin: 0;
  flex: 1;
}
section .case-card .text-container .cta-button {
  min-width: 50%;
  text-align: center;
  justify-self: flex-start;
  margin-top: 0;
  margin-bottom: calc(clamp(15px, 4vw, 50px) * 0.5);
}
section .case-card .text-container .cta-button:hover {
  border: 2px solid #DF699D;
  transform: translateY(-1px);
  box-shadow: inset 0 0 2px #df699d, 0 0 2px rgba(255, 255, 255, 0.15), 0 0 10px rgba(223, 105, 157, 0.5), 0 0 50px rgba(223, 105, 157, 0.25); /* Third layer */
  background-color: rgba(223, 105, 157, 0.1);
}

/* Home
-----------------*/
section.home.intro {
  height: 100svh;
  background-color: #FFF;
}
section.home.intro::after {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: linear-gradient(to top, rgba(223, 223, 223, 0.9), rgba(223, 223, 223, 0));
}
section.home.intro .scroll-down {
  position: absolute;
  bottom: 25px;
  left: 50%;
  z-index: 2;
}
section.home.intro .scroll-down .arrow {
  position: relative;
  height: 50px;
  width: 2px;
}
@keyframes pulse {
  0% {
    transform-origin: 0 100%;
    transform: scaleY(0);
  }
  25% {
    transform-origin: 0 0;
    transform: scaleY(0);
  }
  50% {
    transform-origin: 0 0;
    transform: scaleY(1);
  }
  75% {
    transform-origin: 0 100%;
    transform: scaleY(1);
  }
  100% {
    transform-origin: 0 100%;
    transform: scaleY(0);
  }
}
@keyframes move {
  0% {
    bottom: 2px;
  }
  25% {
    bottom: 7px;
  }
  50% {
    bottom: 2px;
  }
  75% {
    bottom: 2px;
  }
  100% {
    bottom: 2px;
  }
}
section.home.intro .scroll-down .arrow::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000000;
  animation: pulse 2s ease infinite;
  transform-origin: 0 0;
}
section.home.intro .scroll-down .arrow::after {
  content: "";
  position: absolute;
  bottom: 2px;
  left: calc(50% - 6px);
  height: 12px;
  width: 12px;
  border-bottom: 2px solid #000000;
  border-right: 2px solid #000000;
  transform: rotate(45deg);
  will-change: bottom;
  animation: move 2s ease infinite;
}
section.home.intro .visual-container {
  display: grid;
  height: 100%;
}
section.home.intro .visual-container .image-container {
  grid-row: 1;
  grid-column: 1;
  background-color: #FFF;
  height: 100%;
  pointer-events: none;
  opacity: 0;
  transform: scale(1.05);
  transition: 1s ease all 0s;
}
section.home.intro .visual-container .image-container.active {
  opacity: 1;
  transform: scale(1);
  transition: 1s ease all 0.15s;
}
section.home.intro .visual-container .image-container img, section.home.intro .visual-container .image-container video {
  opacity: 0.45;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
section.home.intro .text-container {
  position: absolute;
  bottom: clamp(15px, 4vw, 50px);
  right: 10vw;
  z-index: 2;
  width: 25vw;
  text-align: right;
}
section.home.intro .text-container h2 {
  text-align: right;
  margin-bottom: calc(clamp(15px, 4vw, 50px) * 0.25);
}
section.home.intro .text-container p {
  margin-bottom: 0;
}
section.home.intro .navigation {
  position: absolute;
  bottom: clamp(15px, 4vw, 50px);
  left: 10vw;
  z-index: 2;
}
section.home.intro .navigation ul.knoppen {
  display: grid;
  margin: 0;
  margin-bottom: calc(clamp(15px, 4vw, 50px) * 0.5);
}
section.home.intro .navigation ul.knoppen li {
  grid-row: 1;
  grid-column: 1;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-3px);
  transition: 0.35s ease all 0s;
}
section.home.intro .navigation ul.knoppen li.active {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0px);
  transition: 0.35s ease all 0.25s;
}
section.home.intro .navigation ul.knoppen li a.cta-button {
  padding: calc(clamp(15px, 4vw, 50px) * 0.15) calc(clamp(15px, 4vw, 50px) * 0.35);
  margin-bottom: 15px;
}
section.home.intro .navigation ul.navi {
  display: flex;
  margin: 0;
}
section.home.intro .navigation ul.navi li {
  position: relative;
  display: grid;
  margin-right: 15px;
  cursor: pointer;
}
section.home.intro .navigation ul.navi li:hover p {
  transform: translateY(-2px);
}
section.home.intro .navigation ul.navi li.active .timer::after {
  opacity: 1;
  background-color: #CEA868;
  box-shadow: 0px 0px 5px rgba(206, 168, 104, 0.5), 0px 0px 15px rgba(206, 168, 104, 0.25);
  animation: timer 7s linear forwards;
}
@keyframes timer {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
section.home.intro .navigation ul.navi li .timer {
  position: relative;
  height: 5px;
  width: 100px;
  background-color: #FFF;
  grid-row: 1;
  grid-column: 1;
  margin-bottom: 5px;
}
section.home.intro .navigation ul.navi li .timer::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0px;
  height: 100%;
  background-color: #DFDFDF;
  box-shadow: none;
  opacity: 0;
  transition: 0.5s ease all;
}
section.home.intro .navigation ul.navi li p {
  margin: 0;
  grid-row: 2;
  grid-column: 1;
  transition: 0.25s ease all;
  -webkit-user-select: none;
          user-select: none;
}
section.home.pijlers .pijler {
  margin-bottom: clamp(15px, 4vw, 50px);
  --grayness: 50%;
}
section.home.pijlers .pijler .image-container {
  border-top-right-radius: clamp(10px, 2vw, 20px);
  border-top-left-radius: clamp(10px, 2vw, 20px);
}
section.home.pijlers .pijler .image-container img {
  transform: scale(1.01);
  filter: grayscale(var(--grayness));
}
section.home.pijlers .pijler .text-container {
  background: linear-gradient(to bottom, white, rgba(255, 255, 255, 0));
  padding: calc(clamp(15px, 4vw, 50px) * 0.5);
}
section.home.pijlers .pijler .text-container h4 {
  color: #DF699D;
}
section.home.pijlers .button-container {
  display: flex;
  justify-content: center;
}
section.home.pijlers .button-container a.cta-button {
  margin-top: 0;
}
section.home.vertical-title {
  padding-top: clamp(15px, 4vw, 50px);
  padding-bottom: clamp(15px, 4vw, 50px);
}
section.home.vertical-title .wysiwyg {
  text-align: center;
}
section.home.studio {
  padding: clamp(60px, 16vw, 200px) 0;
}
section.home.studio .griddy {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-gap: calc(clamp(15px, 4vw, 50px) * 0.5);
}
section.home.studio .griddy .image-container {
  grid-column: 2/span 6;
  grid-row: 1;
  border-radius: clamp(10px, 2vw, 20px);
}
section.home.studio .griddy .text-container {
  grid-column: 7/span 5;
  grid-row: 1;
  z-index: 2;
  display: flex;
  align-items: center;
}
section.home.studio .griddy .text-container h3 {
  font-family: "Roboto", sans-serif;
  font-size: calc(clamp(20px, 1.8vw, 30px) * 0.8);
  line-height: 2.5;
  font-weight: 500;
}
section.home.studio .button-container {
  padding-top: clamp(15px, 4vw, 50px);
  display: flex;
  justify-content: center;
}
section.home.brands {
  overflow: hidden;
}
section.home.brands h2 {
  text-align: center;
  margin-bottom: clamp(15px, 4vw, 50px);
}
section.home.brands .brand-slider {
  margin: 0 25px;
  overflow: visible;
}
section.home.brands .brand-slider::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: -25px;
  width: 25%;
  height: 100%;
  background: linear-gradient(to right, #dfdfdf, rgba(223, 223, 223, 0));
  pointer-events: none;
  opacity: 1;
}
section.home.brands .brand-slider::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  right: -25px;
  width: 25%;
  height: 100%;
  background: linear-gradient(to left, #dfdfdf, rgba(223, 223, 223, 0));
  pointer-events: none;
  opacity: 1;
}
section.home.brands .brand {
  border-radius: clamp(3px, 0.5vw, 5px);
  background-color: #FFF;
  margin: calc(clamp(15px, 4vw, 50px) * 0.5);
}
section.home.brands .brand .logo-container {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20vw;
  padding: calc(clamp(15px, 4vw, 50px) * 1) calc(clamp(15px, 4vw, 50px) * 0.5);
}
section.home.brands .brand .logo-container img {
  height: clamp(60px, 10vw, 120px);
  object-fit: contain;
}
section.home.testimonials {
  overflow: hidden;
}
section.home.testimonials .griddy {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-gap: calc(clamp(15px, 4vw, 50px) * 0.5);
}
section.home.testimonials .griddy .title-container {
  position: relative;
  z-index: 3;
  grid-column: 1/span 12;
  grid-row: 1;
}
section.home.testimonials .griddy .testimonials-slider {
  grid-column: 3/span 10;
  grid-row: 2;
  position: relative;
  z-index: 4;
  overflow: visible;
  align-self: center;
}
section.home.testimonials .griddy .testimonials-slider .testimonial {
  border-radius: clamp(10px, 2vw, 20px);
  background-color: #FFF;
  padding: calc(clamp(15px, 4vw, 50px) * 1);
  border: 2px solid #DF699D;
  width: 35vw;
  margin-right: clamp(30px, 8vw, 100px);
}
section.home.testimonials .griddy .testimonials-slider .testimonial .avatar-info {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
section.home.testimonials .griddy .testimonials-slider .testimonial .avatar-info .avatar-container img {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  aspect-ratio: 1/1;
  object-fit: cover;
  background-color: #FFF;
  margin-right: calc(clamp(15px, 4vw, 50px) * 0.5);
}
section.home.testimonials .griddy .testimonials-slider .testimonial .avatar-info .info-container {
  flex: 1;
}
section.home.testimonials .griddy .testimonials-slider .testimonial .avatar-info .info-container p {
  margin: 0;
  font-family: "Bebas Neue", sans-serif;
}
section.home.testimonials .griddy .testimonials-slider .testimonial .text-container {
  margin-top: calc(clamp(15px, 4vw, 50px) * 0.5);
}
section.home.testimonials .griddy .testimonials-slider .testimonial .text-container p {
  margin: 0;
}
section.home.testimonials .griddy .carousel-bgs {
  position: relative;
  z-index: 2;
  grid-row: 1/span 3;
  grid-column: 4/span 9;
  height: 90vh;
  width: calc(100% + 10vw);
  display: grid;
  border-top-left-radius: clamp(10px, 2vw, 20px);
  border-bottom-left-radius: clamp(10px, 2vw, 20px);
}
section.home.testimonials .griddy .carousel-bgs .image-container {
  grid-row: 1;
  grid-column: 1;
  width: 100%;
  height: 100%;
  background-color: #FFF;
  overflow: hidden;
  border-top-left-radius: clamp(10px, 2vw, 20px);
  border-bottom-left-radius: clamp(10px, 2vw, 20px);
  opacity: 0;
  transition: 0.5s ease all 0s;
}
section.home.testimonials .griddy .carousel-bgs .image-container.active {
  opacity: 1;
  transition: 0.5s ease all 0.15s;
}
section.home.testimonials .griddy .carousel-bgs .image-container.active img {
  opacity: 0.25;
  transform: scale(1.01);
  transition: 0.5s ease all 0.15s;
  filter: grayscale(100%);
}
section.home.testimonials .griddy .carousel-bgs .image-container img {
  opacity: 0;
  transform: scale(1.05);
  transition: 0.5s ease all 0s;
  filter: grayscale(0%);
}
section.home.testimonials .griddy .carousel-navigation {
  grid-row: 3;
  grid-column: 1/span 12;
  display: flex;
  align-items: center;
  z-index: 5;
}
section.home.testimonials .griddy .carousel-navigation .numbers {
  width: 100px;
  margin: 0 clamp(15px, 4vw, 50px);
  box-sizing: border-box;
  flex: 100px 0 0;
  text-align: center;
}
section.home.testimonials .griddy .carousel-navigation .prev, section.home.testimonials .griddy .carousel-navigation .next {
  position: relative;
  z-index: 9;
  height: 60px;
  width: 200px;
  border-radius: 50px;
  background-color: #CEA868;
  background: linear-gradient(to bottom right, #dabe8f, #c29241);
  cursor: pointer;
  transition: 0.25s ease all;
  box-shadow: 0 0 2px rgba(49, 40, 52, 0.5), 0 0 10px rgba(255, 255, 255, 0.15), 0 0 50px rgba(49, 40, 52, 0.1); /* Third layer */
}
section.home.testimonials .griddy .carousel-navigation .prev.hidden, section.home.testimonials .griddy .carousel-navigation .next.hidden {
  opacity: 0;
  pointer-events: none;
  transform: scale(0.9);
}
section.home.testimonials .griddy .carousel-navigation .prev:hover .arrow, section.home.testimonials .griddy .carousel-navigation .next:hover .arrow {
  width: 90px;
}
section.home.testimonials .griddy .carousel-navigation .prev .arrow, section.home.testimonials .griddy .carousel-navigation .next .arrow {
  position: absolute;
  top: calc(50% - 1px);
  left: calc(50% - 40px);
  height: 2px;
  width: 80px;
  background-color: #312834;
  transition: 0.25s ease all;
}
section.home.testimonials .griddy .carousel-navigation .prev .arrow::after, section.home.testimonials .griddy .carousel-navigation .next .arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 5px);
  height: 10px;
  width: 10px;
  transform: rotate(45deg);
  transition: 0.25s ease all;
}
section.home.testimonials .griddy .carousel-navigation .prev .arrow::after {
  left: 0;
  border-top: 2px solid transparent;
  border-right: 2px solid transparent;
  border-bottom: 2px solid #312834;
  border-left: 2px solid #312834;
}
section.home.testimonials .griddy .carousel-navigation .prev:hover {
  transform: translateX(-4px);
}
section.home.testimonials .griddy .carousel-navigation .prev:hover .arrow {
  transform: translateX(-5px);
}
section.home.testimonials .griddy .carousel-navigation .next .arrow::after {
  right: 0;
  border-top: 2px solid #312834;
  border-right: 2px solid #312834;
  border-bottom: 2px solid transparent;
  border-left: 2px solid transparent;
}
section.home.testimonials .griddy .carousel-navigation .next:hover {
  transform: translateX(4px);
}
section.home.testimonials .griddy .carousel-navigation .next:hover .arrow {
  transform: translateX(-5px);
}
section.home.contact .text-container {
  display: flex;
  align-items: center;
}
section.home.contact .image-container {
  border-radius: clamp(10px, 2vw, 20px);
}

/* About
-----------------*/
section.about.title {
  padding-bottom: 0;
}
section.about.title h1 {
  text-align: center;
}
section.about.tagline {
  padding-top: clamp(30px, 8vw, 100px);
}
section.about.tagline .wysiwyg h3 {
  position: relative;
  text-align: center;
  color: #DF699D;
}
section.about.text-image .grid-x {
  padding-bottom: clamp(30px, 8vw, 100px);
}
section.about.text-image .grid-x:last-child {
  padding-bottom: 0;
}
section.about.text-image .grid-x .image-container {
  border-radius: clamp(10px, 2vw, 20px);
  overflow: hidden;
}
section.about.text-image .grid-x .text-container {
  display: flex;
  align-items: center;
}
section.about.full::before {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background-color: #DFDFDF;
}
section.about.full .grid-x {
  position: relative;
  z-index: 2;
}
section.about.full .grid-x .image-container {
  border-radius: clamp(10px, 2vw, 20px);
  overflow: hidden;
}
section.about.solutions {
  padding-top: clamp(30px, 8vw, 100px);
}
section.about.solutions h2 {
  text-align: center;
  margin-bottom: clamp(15px, 4vw, 50px);
}
section.about.solutions .product-bar .heading {
  position: relative;
  z-index: 5;
}
section.about.solutions .product-bar .heading h4 {
  color: #37BCAE;
  margin: 0;
}
section.about.solutions .product-bar .product-wrapper {
  position: relative;
  background-color: #FFF;
  background-color: #250217;
  padding: clamp(15px, 4vw, 50px);
  padding-bottom: clamp(30px, 8vw, 100px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
section.about.solutions .product-bar .product-wrapper.first {
  border-top-left-radius: clamp(10px, 2vw, 20px);
  border-top-right-radius: clamp(10px, 2vw, 20px);
}
section.about.solutions .product-bar .product-wrapper.first::before {
  transform: translateX(-50px);
  opacity: 0;
}
section.about.solutions .product-bar .product-wrapper.last {
  border-bottom-left-radius: clamp(10px, 2vw, 20px);
  border-bottom-right-radius: clamp(10px, 2vw, 20px);
}
section.about.solutions .product-bar .product-wrapper.last::after {
  transform: translateX(50px);
  opacity: 0;
}
section.about.solutions .product-bar .product-wrapper .product-container {
  display: grid;
  grid-gap: clamp(15px, 4vw, 50px);
  grid-template-columns: repeat(2, 1fr);
}
section.about.solutions .product-bar .product-wrapper .product-container .product {
  width: 100%;
}
section.about.solutions .product-bar .product-wrapper .product-container .product .image-container {
  background-color: transparent;
  background-color: rgba(255, 255, 255, 0.025);
  aspect-ratio: 1/1;
  border: 1px solid rgba(223, 105, 157, 0.5);
  border-radius: clamp(10px, 2vw, 20px);
  display: flex;
  align-items: center;
  justify-content: center;
}
section.about.solutions .product-bar .product-wrapper .product-container .product .image-container img {
  width: 80%;
  height: 80%;
  object-fit: contain;
}
section.about.solutions .product-bar .product-wrapper .product-container .product p {
  margin-top: 10px;
  text-align: center;
}
section.about.solutions .product-bar .product-wrapper .text-container {
  align-self: flex-start;
  position: sticky;
  top: clamp(30px, 8vw, 100px);
  padding-left: clamp(15px, 4vw, 50px);
  padding-right: clamp(30px, 8vw, 100px);
  grid-column: 2/span 2;
}
section.about.vertical-title {
  padding-top: clamp(15px, 4vw, 50px);
  padding-bottom: clamp(15px, 4vw, 50px);
}
section.about.vertical-title .wysiwyg {
  text-align: center;
}

/* Playground
-----------------*/
section.cases.tagline {
  padding-bottom: 0;
}
section.cases.tagline .wysiwyg h1 {
  text-align: center;
}
section.cases.filter {
  padding-top: clamp(30px, 8vw, 100px);
  padding-bottom: 0;
}
section.cases.filter .filter-container {
  border: 1px solid rgba(223, 105, 157, 0.75);
  border-radius: clamp(3px, 0.5vw, 5px);
  background-color: #FFF;
}
section.cases.filter .filter-container ul {
  --indicator-width: 100px;
  --indicator-offset: 0px;
  --indicator-height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  list-style: none;
  flex-wrap: wrap;
  margin: 0;
  padding: calc(clamp(15px, 4vw, 50px) * 0.5) 0;
}
section.cases.filter .filter-container ul::before {
  position: absolute;
  top: 0;
  left: var(--indicator-offset);
  width: var(--indicator-width);
  height: var(--indicator-height);
  background-color: #CEA868;
  border-radius: clamp(3px, 0.5vw, 5px);
  z-index: 1;
}
section.cases.filter .filter-container ul li {
  position: relative;
  margin: calc(clamp(15px, 4vw, 50px) * 0.25) calc(clamp(15px, 4vw, 50px) * 0.25);
  padding: 0 calc(clamp(15px, 4vw, 50px) * 0.25);
  border-radius: clamp(3px, 0.5vw, 5px);
  cursor: pointer;
  z-index: 2;
  transition: 0.15s ease all;
}
section.cases.filter .filter-container ul li::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: clamp(3px, 0.5vw, 5px);
  background-color: rgba(223, 105, 157, 0.15);
  opacity: 0;
  z-index: 1;
  transform: scale(0.9);
  transition: 0.15s ease all;
}
section.cases.filter .filter-container ul li.mixitup-control-active {
  color: #312834;
  background: #CEA868;
  box-shadow: 0 0 20px rgba(206, 168, 104, 0.5);
}
section.cases.filter .filter-container ul li.mixitup-control-active::after {
  content: none;
}
section.cases.filter .filter-container ul li.mixitup-control-active:hover {
  box-shadow: 0 0 30px rgba(206, 168, 104, 0.5);
}
section.cases.filter .filter-container ul li:hover::after {
  opacity: 1;
  transform: scale(1);
}
section.cases.cards {
  padding-top: clamp(30px, 8vw, 100px);
}
section.cases.cards .case-card {
  width: 100%;
  margin-bottom: calc(clamp(15px, 4vw, 50px) * 0.5);
}

/* Playground detail
-----------------*/
section.playground.intro {
  background-color: #DFDFDF;
  position: relative;
  height: 90vh;
  padding: 0;
  display: grid;
  align-items: center;
  overflow: hidden;
}
section.playground.intro.playing {
  height: 100vh;
}
section.playground.intro.playing img, section.playground.intro.playing video.clip {
  opacity: 0;
}
section.playground.intro.playing .grid-x {
  pointer-events: none;
}
section.playground.intro.playing .text-container {
  pointer-events: none;
}
section.playground.intro.playing .text-container h1 {
  opacity: 0;
  transform: translateY(-50px);
}
section.playground.intro.playing .text-container .cta-button {
  opacity: 0;
  transform: translateY(50px);
}
section.playground.intro.playing .video-container {
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}
section.playground.intro img, section.playground.intro video.clip {
  position: absolute;
  height: 100%;
  width: 100%;
  object-fit: cover;
  opacity: 0.35;
  grid-row: 1;
  grid-column: 1;
  pointer-events: none;
  transition: 0.25s ease all;
}
section.playground.intro .grid-x {
  grid-row: 1;
  grid-column: 1;
  z-index: 2;
  padding-bottom: clamp(30px, 8vw, 100px);
}
section.playground.intro .grid-x .cell .text-container {
  text-align: center;
}
section.playground.intro .grid-x .cell .text-container h1 {
  transition: 0.25s ease all;
}
section.playground.intro .grid-x .cell .text-container .cta-button {
  transition: 0.25s ease all;
  cursor: pointer;
}
section.playground.intro .video-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  transform: scale(1.05);
  transition: 0.25s ease all;
  pointer-events: none;
}
section.playground.intro .video-container::after {
  content: "";
  pointer-events: none;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: linear-gradient(to top, rgba(223, 223, 223, 0.25), rgba(223, 223, 223, 0));
  z-index: 1;
}
section.playground.intro .video-container .plyr {
  height: 100%;
}
section.playground.intro .video-container .plyr video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
section.playground.intro .video-container .plyr button.plyr__control.plyr__control--overlaid {
  width: 50px;
  height: 50px;
}
section.playground.intro .video-container .plyr button.plyr__control.plyr__control--overlaid svg {
  display: none;
}
section.playground.intro .video-container .plyr button.plyr__control.plyr__control--overlaid::before {
  content: "";
  position: absolute;
  width: 24px;
  height: 2px;
  left: calc(50% - 12px);
  top: calc(50% - 1px);
  border-radius: 2px;
  background-color: #FFFFFF;
  transform: rotate(45deg);
}
section.playground.intro .video-container .plyr button.plyr__control.plyr__control--overlaid::after {
  content: "";
  position: absolute;
  width: 24px;
  height: 2px;
  left: calc(50% - 12px);
  top: calc(50% - 1px);
  border-radius: 2px;
  background-color: #FFFFFF;
  transform: rotate(-45deg);
}
section.playground.stats {
  padding: 0;
  transition: 0.5s ease all;
}
section.playground.stats.playing {
  pointer-events: none;
  opacity: 0;
  transform: translateY(50px);
}
section.playground.stats .cell.bg {
  background-color: #FFF;
  border-radius: clamp(10px, 2vw, 20px);
  transform: translateY(-50%);
  min-height: 125px;
  display: flex;
  align-items: center;
}
section.playground.stats .cell.bg .grid-x {
  width: 100%;
}
section.playground.stats .cell.bg .stat {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding: calc(clamp(15px, 4vw, 50px) * 0.75) 0;
}
section.playground.stats .cell.bg .stat .icon {
  width: 60px;
  height: 60px;
  aspect-ratio: 1/1;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  margin-right: calc(clamp(15px, 4vw, 50px) * 0.35);
}
section.playground.stats .cell.bg .stat .text p {
  font-size: clamp(16px, 1.5vw, 19px);
  margin: 0;
  line-height: 1;
}
section.playground.stats .cell.bg .stat .text h3 {
  font-family: "Inter", sans-serif;
  margin: 0;
}
section.playground.content .data-container {
  position: sticky;
  top: clamp(30px, 8vw, 100px);
}
section.playground.content .data-block {
  margin-bottom: calc(clamp(15px, 4vw, 50px) * 0.75);
}
section.playground.content .data-block h5 {
  color: #DF699D;
}
section.playground.carousel {
  overflow: hidden;
}
section.playground.carousel .flicking-viewport {
  overflow: visible;
}
section.playground.carousel .flicking-viewport .flicking-camera .panel {
  width: 100%;
  border-radius: clamp(10px, 2vw, 20px);
  overflow: hidden;
}
section.playground.carousel .flicking-viewport .flicking-camera .panel .image-container {
  background-color: transparent;
  aspect-ratio: 16/9;
}
section.playground.carousel .flicking-viewport .flicking-camera .panel .image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.9;
}
section.playground.carousel .flicking-viewport .prev, section.playground.carousel .flicking-viewport .next {
  position: absolute;
  top: calc(50% - 30px);
  z-index: 9;
  height: 60px;
  width: 200px;
  border-radius: 50px;
  background-color: #CEA868;
  background: linear-gradient(to bottom right, #dabe8f, #c29241);
  cursor: pointer;
  transition: 0.25s ease all;
  box-shadow: 0 0 2px rgba(49, 40, 52, 0.5), 0 0 10px rgba(255, 255, 255, 0.15), 0 0 50px rgba(49, 40, 52, 0.1); /* Third layer */
}
section.playground.carousel .flicking-viewport .prev.hidden, section.playground.carousel .flicking-viewport .next.hidden {
  opacity: 0;
  pointer-events: none;
  transform: scale(0.9);
}
section.playground.carousel .flicking-viewport .prev:hover .arrow, section.playground.carousel .flicking-viewport .next:hover .arrow {
  width: 90px;
}
section.playground.carousel .flicking-viewport .prev .arrow, section.playground.carousel .flicking-viewport .next .arrow {
  position: absolute;
  top: calc(50% - 1px);
  left: calc(50% - 40px);
  height: 2px;
  width: 80px;
  background-color: #312834;
  transition: 0.25s ease all;
}
section.playground.carousel .flicking-viewport .prev .arrow::after, section.playground.carousel .flicking-viewport .next .arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 5px);
  height: 10px;
  width: 10px;
  transform: rotate(45deg);
  transition: 0.25s ease all;
}
section.playground.carousel .flicking-viewport .prev {
  left: -100px;
}
section.playground.carousel .flicking-viewport .prev .arrow::after {
  left: 0;
  border-top: 2px solid transparent;
  border-right: 2px solid transparent;
  border-bottom: 2px solid #312834;
  border-left: 2px solid #312834;
}
section.playground.carousel .flicking-viewport .prev:hover {
  transform: translateX(-4px);
}
section.playground.carousel .flicking-viewport .prev:hover .arrow {
  transform: translateX(-5px);
}
section.playground.carousel .flicking-viewport .next {
  right: -100px;
}
section.playground.carousel .flicking-viewport .next .arrow::after {
  right: 0;
  border-top: 2px solid #312834;
  border-right: 2px solid #312834;
  border-bottom: 2px solid transparent;
  border-left: 2px solid transparent;
}
section.playground.carousel .flicking-viewport .next:hover {
  transform: translateX(4px);
}
section.playground.carousel .flicking-viewport .next:hover .arrow {
  transform: translateX(-5px);
}
section.playground.cta {
  padding-top: 0;
}

/* Studio page
-----------------*/
section.studio.intro {
  padding: 0;
}
section.studio.tagline .wysiwyg h2 {
  text-align: center;
}
section.studio.image-text .text-container {
  position: sticky;
  top: clamp(30px, 8vw, 100px);
  bottom: clamp(45px, 12vw, 150px);
  align-self: flex-start;
}
section.studio.image-text .image-container {
  width: calc(100% + 5vw + 0.9375rem);
  max-width: none;
  border-top-left-radius: clamp(10px, 2vw, 20px);
  border-bottom-left-radius: clamp(10px, 2vw, 20px);
  overflow: hidden;
}
section.studio.carousel {
  overflow: hidden;
}
section.studio.carousel::after {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background-color: #DFDFDF;
}
section.studio.carousel .muted-carousel {
  overflow: visible;
  margin-top: calc(clamp(15px, 4vw, 50px) * 0.5);
}
section.studio.carousel .muted-carousel .flicking-camera .panel {
  --image-scale: 1;
  --grayscale: 0%;
  --general-opacity: .5;
  --caption-offset: 100%;
  width: 25vw;
  margin-right: clamp(15px, 4vw, 50px);
  transform: translateY(var(--caption-offset));
}
section.studio.carousel .muted-carousel .flicking-camera .panel .image-container {
  overflow: hidden;
  border-radius: clamp(10px, 2vw, 20px);
  background-color: #DFDFDF;
}
section.studio.carousel .muted-carousel .flicking-camera .panel .image-container img {
  transform: scale(var(--image-scale));
  opacity: var(--general-opacity);
  filter: grayscale(var(--grayscale));
}
section.studio.carousel .muted-carousel .flicking-camera .panel .text-container {
  margin-top: calc(clamp(15px, 4vw, 50px) * 0.25);
}
section.studio.carousel .muted-carousel .flicking-camera .panel .text-container p {
  font-weight: 500;
  font-size: clamp(16px, 1.5vw, 19px);
  letter-spacing: 0.025em;
}
section.studio.carousel .muted-carousel .prev, section.studio.carousel .muted-carousel .next {
  position: absolute;
  z-index: 9;
  top: calc(50% - 60px);
  height: 60px;
  width: 200px;
  border-radius: 50px;
  background-color: #CEA868;
  background: linear-gradient(to bottom right, #dabe8f, #c29241);
  cursor: pointer;
  transition: 0.25s ease all;
  box-shadow: 0 0 2px rgba(49, 40, 52, 0.5), 0 0 10px rgba(255, 255, 255, 0.15), 0 0 50px rgba(49, 40, 52, 0.1); /* Third layer */
}
section.studio.carousel .muted-carousel .prev.hidden, section.studio.carousel .muted-carousel .next.hidden {
  opacity: 0;
  pointer-events: none;
  transform: scale(0.9);
}
section.studio.carousel .muted-carousel .prev:hover .arrow, section.studio.carousel .muted-carousel .next:hover .arrow {
  width: 90px;
}
section.studio.carousel .muted-carousel .prev .arrow, section.studio.carousel .muted-carousel .next .arrow {
  position: absolute;
  top: calc(50% - 1px);
  left: calc(50% - 40px);
  height: 2px;
  width: 80px;
  background-color: #312834;
  transition: 0.25s ease all;
}
section.studio.carousel .muted-carousel .prev .arrow::after, section.studio.carousel .muted-carousel .next .arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 5px);
  height: 10px;
  width: 10px;
  transform: rotate(45deg);
  transition: 0.25s ease all;
}
section.studio.carousel .muted-carousel .prev .arrow::after {
  left: 0;
  border-top: 2px solid transparent;
  border-right: 2px solid transparent;
  border-bottom: 2px solid #312834;
  border-left: 2px solid #312834;
}
section.studio.carousel .muted-carousel .prev:hover {
  transform: translateX(-4px);
}
section.studio.carousel .muted-carousel .prev:hover .arrow {
  transform: translateX(-5px);
}
section.studio.carousel .muted-carousel .next {
  right: 0px;
}
section.studio.carousel .muted-carousel .next .arrow::after {
  right: 0;
  border-top: 2px solid #312834;
  border-right: 2px solid #312834;
  border-bottom: 2px solid transparent;
  border-left: 2px solid transparent;
}
section.studio.carousel .muted-carousel .next:hover {
  transform: translateX(4px);
}
section.studio.carousel .muted-carousel .next:hover .arrow {
  transform: translateX(-5px);
}
section.studio.text-text {
  padding-bottom: 0;
}
section.studio.images {
  padding-top: 0;
  padding-bottom: 0;
  overflow: hidden;
}
section.studio.images .grid-x {
  margin: clamp(60px, 16vw, 200px) 0;
}
section.studio.images .grid-x.portrait-landscape, section.studio.images .grid-x.square-portrait {
  align-items: flex-end;
}
section.studio.images .grid-x.portrait-landscape {
  padding-bottom: clamp(45px, 12vw, 150px);
}
section.studio.images .grid-x.portrait-landscape .portrait {
  transform: translateY(clamp(45px, 12vw, 150px));
}
section.studio.images .grid-x.square-portrait {
  padding-bottom: clamp(45px, 12vw, 150px);
}
section.studio.images .grid-x.square-portrait .square {
  transform: translateY(clamp(45px, 12vw, 150px));
}
section.studio.images .image-container {
  border-radius: clamp(10px, 2vw, 20px);
  overflow: hidden;
}
section.studio.images .text-container p {
  color: #FFFFFF;
  margin: 0;
  margin-top: calc(clamp(15px, 4vw, 50px) * 0.25);
}
section.studio.cta {
  padding-top: 0;
}

/* Contact page
-----------------*/
.call-me-backdrop {
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: safe center;
  background-color: rgba(223, 223, 223, 0.75);
  visibility: hidden;
  opacity: 0;
  transition: 0.5s ease all;
  padding: clamp(30px, 8vw, 100px) 0;
  overflow: auto;
}
.call-me-backdrop.active {
  opacity: 1;
  visibility: visible;
}
.call-me-backdrop.active .popup {
  transform: scale(1);
}
.call-me-backdrop .popup {
  position: relative;
  width: clamp(300px, 50%, 600px);
  background-color: #FFF;
  border-radius: clamp(3px, 0.5vw, 5px);
  overflow: hidden;
  transform: scale(0.9);
  transition: 0.25s ease all;
}
.call-me-backdrop .popup .gform_confirmation_message {
  font-family: "Roboto", sans-serif;
  color: #FFFFFF;
}
.call-me-backdrop .popup .gform_confirmation_message h1, .call-me-backdrop .popup .gform_confirmation_message h2, .call-me-backdrop .popup .gform_confirmation_message h3, .call-me-backdrop .popup .gform_confirmation_message h4, .call-me-backdrop .popup .gform_confirmation_message h5, .call-me-backdrop .popup .gform_confirmation_message h6 {
  font-family: "Bebas Neue", sans-serif;
}
.call-me-backdrop .popup .close {
  position: absolute;
  top: 0;
  right: 0;
  height: 50px;
  width: 50px;
  background-color: rgba(223, 223, 223, 0.35);
  border-bottom-left-radius: clamp(3px, 0.5vw, 5px);
  cursor: pointer;
}
.call-me-backdrop .popup .close::before {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  left: calc(50% - 15px);
  height: 2px;
  width: 30px;
  background-color: #FFFFFF;
  transform: rotate(45deg);
  border-radius: 2px;
  transition: 0.15s ease all;
}
.call-me-backdrop .popup .close::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  left: calc(50% - 15px);
  height: 2px;
  width: 30px;
  background-color: #FFFFFF;
  transform: rotate(-45deg);
  border-radius: 2px;
  transition: 0.15s ease all;
}
.call-me-backdrop .popup .close:hover {
  background-color: rgba(223, 223, 223, 0.5);
}
.call-me-backdrop .popup .close:hover::before {
  transform: rotate(0deg);
}
.call-me-backdrop .popup .close:hover::after {
  transform: rotate(0deg);
}
.call-me-backdrop .popup .content {
  width: 100%;
  padding: clamp(15px, 4vw, 50px);
  padding-top: clamp(30px, 8vw, 100px);
}
.call-me-backdrop .popup .content .gform_wrapper.gravity-theme .gform_validation_errors {
  background-color: transparent;
  color: #37BCAE;
  border: 1.5px solid #37BCAE;
}
.call-me-backdrop .popup .content .gform_wrapper.gravity-theme .gform_validation_errors h2 {
  color: #37BCAE;
}
.call-me-backdrop .popup .content .gform_wrapper.gravity-theme .gfield_validation_message, .call-me-backdrop .popup .content .gform_wrapper.gravity-theme .validation_message {
  background-color: transparent;
  color: #37BCAE;
  border: 1.5px solid #37BCAE;
}
.call-me-backdrop .popup .content .gform_confirmation_wrapper .gform_confirmation_message {
  font-family: "Roboto", sans-serif;
  font-size: clamp(16px, 1.5vw, 19px);
  font-weight: 500;
  color: #FFFFFF;
  line-height: 1.75;
}
.call-me-backdrop .popup .content label {
  color: #FFFFFF;
  font-family: "Roboto", sans-serif;
  font-size: clamp(16px, 1.5vw, 19px);
  font-weight: 500;
}
.call-me-backdrop .popup .content input, .call-me-backdrop .popup .content textarea {
  border-radius: clamp(3px, 0.5vw, 5px);
  border: 1px solid rgba(223, 105, 157, 0.5);
  background-color: rgba(223, 223, 223, 0.5);
  padding: calc(clamp(15px, 4vw, 50px) * 0.25);
  margin-bottom: calc(clamp(15px, 4vw, 50px) * 0.25);
  min-height: 50px;
  transition: 0.25s ease all;
  color: #FFFFFF;
  font-family: "Roboto", sans-serif;
}
.call-me-backdrop .popup .content input:focus, .call-me-backdrop .popup .content textarea:focus {
  border-color: #DF699D;
  box-shadow: none;
}
.call-me-backdrop .popup .content .gform_footer {
  display: flex;
  justify-content: flex-end;
}
.call-me-backdrop .popup .content .gform_footer input[type=submit] {
  color: #000000;
  background-color: #CEA868;
  border: none;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-size: clamp(16px, 1.5vw, 19px);
  width: 50%;
}
.call-me-backdrop .popup .content .gform_footer input[type=submit]:hover {
  background-color: #c89d55;
  transform: translateY(-1px);
  box-shadow: inset 0 0 2px rgba(206, 168, 104, 0.5), 0 0 2px rgba(206, 168, 104, 0.1), 0 0 10px rgba(255, 255, 255, 0.25), 0 0 50px rgba(206, 168, 104, 0.1); /* Third layer */
}

section.contact.hero .title-container h2 {
  text-align: center;
  margin-bottom: clamp(15px, 4vw, 50px);
}
section.contact.hero .hero-container .image-container {
  position: relative;
  border-radius: clamp(10px, 2vw, 20px);
  overflow: hidden;
}
section.contact.hero .text-container {
  margin-top: clamp(15px, 4vw, 50px);
}
section.contact.hero .text-container p {
  margin: 0;
}
section.contact.hero .text-container ul.social {
  display: flex;
  justify-content: flex-end;
  margin: 0;
}
section.contact.hero .text-container ul.social li {
  margin-left: calc(clamp(15px, 4vw, 50px) * 0.5);
}
section.contact.hero .text-container ul.social li a {
  color: #FFFFFF;
  font-size: clamp(16px, 1.5vw, 19px);
  border: 2px solid #37BCAE;
  border-radius: clamp(3px, 0.5vw, 5px);
  aspect-ratio: 1/1;
  display: inline-block;
  width: 60px;
  transition: 0.25s ease all;
  display: flex;
  justify-content: center;
  align-items: center;
}
section.contact.hero .text-container ul.social li a:hover {
  border: 2px solid #DF699D;
  box-shadow: inset 0 0 2px #df699d, 0 0 2px rgba(255, 255, 255, 0.15), 0 0 10px rgba(223, 105, 157, 0.5), 0 0 50px rgba(223, 105, 157, 0.25); /* Third layer */
  background-color: rgba(223, 105, 157, 0.1);
  transform: translateY(-1px);
}
section.contact.call-me {
  padding: clamp(15px, 4vw, 50px) 0;
  background-color: #FFF;
}
section.contact.call-me .button-container {
  display: flex;
  justify-content: center;
}
section.contact.call-me .button-container a.cta-button {
  margin-top: 0;
}
section.contact.call-me .button-container a.cta-button:hover {
  border: 2px solid #37BCAE;
  box-shadow: inset 0 0 2px #37bcae, 0 0 2px rgba(255, 255, 255, 0.15), 0 0 10px rgba(55, 188, 174, 0.5), 0 0 50px rgba(55, 188, 174, 0.25); /* Third layer */
  background-color: rgba(55, 188, 174, 0.1);
  transform: translateY(-1px);
}
section.contact.form .gform_confirmation_message {
  font-family: "Roboto", sans-serif;
  color: #FFFFFF;
}
section.contact.form .gform_confirmation_message h1, section.contact.form .gform_confirmation_message h2, section.contact.form .gform_confirmation_message h3, section.contact.form .gform_confirmation_message h4, section.contact.form .gform_confirmation_message h5, section.contact.form .gform_confirmation_message h6 {
  font-family: "Bebas Neue", sans-serif;
}
section.contact.form .form-container .gform_wrapper.gravity-theme .gform_validation_errors {
  background-color: transparent;
  color: #37BCAE;
  border: 1.5px solid #37BCAE;
}
section.contact.form .form-container .gform_wrapper.gravity-theme .gform_validation_errors h2 {
  color: #37BCAE;
}
section.contact.form .form-container .gform_wrapper.gravity-theme .gfield_error [aria-invalid=true] {
  border: 1px solid #DF699D;
}
section.contact.form .form-container .gform_wrapper.gravity-theme .gfield_validation_message, section.contact.form .form-container .gform_wrapper.gravity-theme .gform_wrapper.gravity-theme .validation_message {
  background-color: transparent;
  color: #37BCAE;
  border: 1.5px solid #37BCAE;
  padding: 0;
  border: none;
}
section.contact.form .form-container label {
  color: #FFFFFF;
  font-family: "Roboto", sans-serif;
  font-size: clamp(16px, 1.5vw, 19px);
  font-weight: 500;
}
section.contact.form .form-container input, section.contact.form .form-container textarea {
  border-radius: clamp(3px, 0.5vw, 5px);
  border: 1px solid rgba(223, 105, 157, 0.5);
  background-color: #FFF;
  padding: calc(clamp(15px, 4vw, 50px) * 0.25);
  margin-bottom: calc(clamp(15px, 4vw, 50px) * 0.25);
  min-height: 50px;
  transition: 0.25s ease all;
  color: #FFFFFF;
  font-family: "Roboto", sans-serif;
}
section.contact.form .form-container input:focus, section.contact.form .form-container textarea:focus {
  border-color: #DF699D;
  box-shadow: none;
  box-shadow: inset 0 0 2px rgba(223, 105, 157, 0.5), 0 0 2px rgba(223, 105, 157, 0.1), 0 0 10px rgba(255, 255, 255, 0.25), 0 0 50px rgba(223, 105, 157, 0.1); /* Third layer */
}
section.contact.form .form-container .gform_footer {
  display: flex;
  justify-content: flex-end;
}
section.contact.form .form-container .gform_footer input[type=submit] {
  color: #000000;
  background-color: #CEA868;
  border: none;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-size: clamp(16px, 1.5vw, 19px);
  width: 50%;
}
section.contact.form .form-container .gform_footer input[type=submit]:hover {
  background-color: #c89d55;
  transform: translateY(-1px);
  box-shadow: inset 0 0 2px rgba(206, 168, 104, 0.5), 0 0 2px rgba(206, 168, 104, 0.1), 0 0 10px rgba(255, 255, 255, 0.25), 0 0 50px rgba(206, 168, 104, 0.1); /* Third layer */
}

/* Footer
-----------------*/
footer.main .first-row {
  padding: clamp(15px, 4vw, 50px) 0;
  background-color: #EFEFEF;
  min-height: 400px;
  width: 100%;
}
footer.main .first-row .logo-container {
  margin-bottom: calc(clamp(15px, 4vw, 50px) * 0.5);
}
footer.main .first-row .logo-container img {
  max-width: 250px;
}
footer.main .first-row .wysiwyg {
  margin-bottom: calc(clamp(15px, 4vw, 50px) * 0.5);
}
footer.main .first-row .wysiwyg p {
  color: #312834;
}
footer.main .first-row .wysiwyg h5 {
  color: #DF699D;
  margin-bottom: calc(clamp(15px, 4vw, 50px) * 0.5);
}
footer.main .first-row .wysiwyg ul.menu-list {
  margin: 0;
}
footer.main .first-row .wysiwyg ul.menu-list li a {
  display: inline-block;
  color: #312834;
  font-family: "Bebas Neue", sans-serif;
  font-size: clamp(20px, 1.6vw, 26px);
  transition: 0.15s ease all;
}
footer.main .first-row .wysiwyg ul.menu-list li a:hover {
  color: #DF699D;
  transform: translateY(-1px);
}
footer.main .first-row .wysiwyg ul.sectors {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
}
footer.main .first-row .wysiwyg ul.sectors li {
  position: relative;
  margin-right: calc(clamp(15px, 4vw, 50px) * 0.25);
  margin-bottom: calc(clamp(15px, 4vw, 50px) * 0.25);
}
footer.main .first-row .wysiwyg ul.sectors li a {
  color: #312834;
  background-color: #FFFFFF;
  border-radius: 4px;
  font-family: "Bebas Neue", sans-serif;
  padding: calc(clamp(15px, 4vw, 50px) * 0.1) calc(clamp(15px, 4vw, 50px) * 0.25);
  display: inline-block;
  transition: 0.15s ease all;
}
footer.main .first-row .wysiwyg ul.sectors li a:hover {
  color: #DF699D;
  transform: translateY(-1px);
}
footer.main .first-row ul.social {
  display: flex;
  margin: 0;
}
footer.main .first-row ul.social li {
  margin-right: calc(clamp(15px, 4vw, 50px) * 0.5);
}
footer.main .first-row ul.social li a {
  color: #312834;
  font-size: clamp(16px, 1.5vw, 19px);
  border: 2px solid #DF699D;
  border-radius: clamp(3px, 0.5vw, 5px);
  aspect-ratio: 1/1;
  display: inline-block;
  width: 60px;
  transition: 0.25s ease all;
  display: flex;
  justify-content: center;
  align-items: center;
}
footer.main .first-row ul.social li a:hover {
  box-shadow: inset 0 0 2px rgba(223, 105, 157, 0.75), 0 0 2px rgba(255, 255, 255, 0.1), 0 0 10px rgba(223, 105, 157, 0.35), 0 0 50px rgba(223, 105, 157, 0.15); /* Third layer */
  background-color: rgba(223, 105, 157, 0.1);
  transform: translateY(-1px);
}
footer.main .second-row {
  background-color: #FFFFFF;
  min-height: 60px;
  width: 100%;
  display: flex;
  align-items: center;
  padding: calc(clamp(15px, 4vw, 50px) * 0.5) 0;
}
footer.main .second-row .grid-x, footer.main .second-row .cell {
  height: 100%;
}
footer.main .second-row ul.links {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 0;
}
footer.main .second-row ul.links li {
  height: 100%;
  display: flex;
  align-items: center;
  margin-left: calc(clamp(15px, 4vw, 50px) * 0.5);
}
footer.main .second-row ul.links li a {
  color: #312834;
  font-family: "Bebas Neue", sans-serif;
}
footer.main .second-row ul.links li a:hover {
  color: #DF699D;
}

/* Media Queries
-------------------------*/
@media screen and (min-width: 1026px) {
  .phablet {
    display: none !important;
  }
}
@media screen and (min-width: 642px) {
  .mobile-only {
    display: none !important;
  }
}
@media screen and (max-width: 1025px) {
  .desktop-only {
    display: none !important;
  }
  .grid-x.contained {
    padding: 0 5vw;
  }
  header.main .nav .hamburger {
    display: inline-block;
    margin-right: 25px;
  }
  header.main .nav ul.lang {
    margin-left: 0px;
    margin-right: 45px;
  }
  header.main .nav ul.menu-list li {
    display: none;
  }
  header.main .nav ul.menu-list li.portal {
    display: inline-block;
    margin-left: 0;
  }
  nav.main {
    display: block;
  }
  section.intro {
    height: 35vh;
  }
  section.verticals {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, 1fr);
  }
  section.home.intro .text-container {
    right: 5vw;
    bottom: 142px;
    width: 50vw;
  }
  section.home.intro .scroll-down {
    bottom: 15px;
  }
  section.home.intro .navigation {
    left: 5vw;
    bottom: 100px;
  }
  section.home.intro .navigation ul.navi .timer {
    width: 50px;
  }
  section.home.pijlers .pijler .image-container img {
    filter: grayscale(0%);
  }
  section.home.brands .brand .logo-container {
    width: 30vw;
  }
  section.home.testimonials .griddy .testimonials-slider .testimonial {
    width: 50vw;
  }
  section.home.contact .image-container {
    margin-bottom: clamp(15px, 4vw, 50px);
  }
  section.about.solutions .product-bar .product-wrapper {
    display: flex;
    flex-direction: column;
  }
  section.about.solutions .product-bar .product-wrapper .text-container {
    order: 1;
    padding: 0;
    position: relative;
    top: 0;
  }
  section.about.solutions .product-bar .product-wrapper .product-container {
    order: 2;
    display: flex;
    width: 100%;
    overflow: auto;
    flex-wrap: nowrap;
  }
  section.about.solutions .product-bar .product-wrapper .product-container::-webkit-scrollbar {
    height: 5px;
  }
  section.about.solutions .product-bar .product-wrapper .product-container::-webkit-scrollbar-track {
    background: #dadada;
  }
  section.about.solutions .product-bar .product-wrapper .product-container::-webkit-scrollbar-thumb {
    background: #DF699D;
  }
  section.about.solutions .product-bar .product-wrapper .product-container::-webkit-scrollbar-thumb:hover {
    background: #34b0a3;
  }
  section.about.solutions .product-bar .product-wrapper .product-container .product {
    flex: 1;
    width: 200px;
  }
  section.about.solutions .product-bar .product-wrapper .product-container .product .image-container {
    width: 200px;
  }
  section.cases.filter .filter-container ul {
    padding: calc(clamp(15px, 4vw, 50px) * 0.5);
  }
  section.cases.filter .filter-container ul li {
    margin: calc(clamp(15px, 4vw, 50px) * 0.75);
  }
  section.playground.stats .cell.bg {
    transform: translateY(-50px);
  }
  section.playground.stats .cell.bg .stat {
    display: flex;
  }
  section.playground.stats .cell.bg .stat .icon {
    margin-right: 50px;
  }
  section.playground.stats .cell.bg .stat .text {
    flex: 1;
    width: 100%;
  }
  section.studio.image-text .text-container {
    margin-top: clamp(30px, 8vw, 100px);
    position: relative;
    top: auto;
    bottom: auto;
    order: 2;
  }
  section.studio.carousel .muted-carousel .flicking-camera .panel {
    width: 35vw;
  }
  section.studio.text-text .large-6 {
    margin-bottom: clamp(15px, 4vw, 50px);
  }
  section.contact.hero .text-container ul.social {
    justify-content: flex-start;
  }
  section.contact.hero .text-container ul.social li {
    margin-left: 0;
    margin-right: calc(clamp(15px, 4vw, 50px) * 0.5);
  }
  footer.main .first-row .logo-container img {
    max-width: 200px;
  }
  footer.main .first-row ul.social {
    margin-bottom: clamp(30px, 8vw, 100px);
  }
}
@media screen and (max-width: 641px) {
  .tablet-up {
    display: none !important;
  }
  header.main.scrolled {
    height: 80px;
  }
  header.main .logo-container img {
    max-width: 125px;
  }
  header.main .nav ul.menu-list li a.cta-button {
    padding: 5px 20px;
  }
  .cta-button {
    padding: 10px 20px;
  }
  nav.main .container {
    padding: 0 calc(5vw + 0.625rem);
    justify-content: flex-start;
  }
  section.verticals {
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: repeat(8, 1fr);
  }
  section.home.intro .text-container {
    width: 75vw;
    left: 5vw;
    bottom: 225px;
    text-align: left;
  }
  section.home.intro .text-container.bottom {
    bottom: 75px;
  }
  section.home.intro .text-container h2 {
    text-align: left;
  }
  section.home.intro .navigation {
    bottom: 60px;
    width: calc(100% - 10vw);
  }
  section.home.intro .navigation ul.navi {
    display: flex;
    flex-wrap: wrap;
    display: grid;
    width: 100%;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: calc(clamp(15px, 4vw, 50px) * 1.5);
  }
  section.home.intro .navigation ul.navi li {
    margin: 0;
  }
  section.home.intro .navigation ul.navi li .timer {
    width: 100%;
  }
  section.home.intro .navigation ul.knoppen li a.cta-button {
    padding: 10px 20px;
  }
  section.home.pijlers {
    padding: clamp(60px, 16vw, 200px) 0;
  }
  section.home.pijlers .pijler {
    margin-bottom: clamp(30px, 8vw, 100px);
  }
  section.home.studio .griddy .image-container {
    grid-column: 1/span 9;
  }
  section.home.studio .griddy .text-container {
    grid-row: 2;
    grid-column: 4/span 9;
  }
  section.home.brands {
    padding: clamp(120px, 32vw, 400px) 0;
  }
  section.home.brands .brand .logo-container {
    width: 50vw;
  }
  section.home.testimonials .griddy .title-container {
    transform: translateY(-3.5rem);
  }
  section.home.testimonials .griddy .testimonials-slider {
    grid-column: 1/span 12;
  }
  section.home.testimonials .griddy .testimonials-slider .testimonial {
    width: 100%;
    padding: clamp(30px, 8vw, 100px);
  }
  section.home.testimonials .griddy .testimonials-slider .testimonial .avatar-info {
    flex-direction: column;
    align-items: flex-start;
  }
  section.home.testimonials .griddy .testimonials-slider .testimonial .avatar-info .avatar-container {
    margin-bottom: 10px;
  }
  section.home.testimonials .griddy .testimonials-slider .testimonial .avatar-info .info-container {
    margin-bottom: 10px;
  }
  section.home.testimonials .griddy .testimonials-slider .testimonial .text-container .wysiwyg p {
    font-size: 14px;
  }
  section.home.testimonials .griddy .carousel-bgs {
    grid-column: 2/span 11;
  }
  section.home.testimonials .griddy .carousel-navigation {
    margin-top: calc(clamp(15px, 4vw, 50px) * 1);
    flex-direction: column;
    align-items: flex-start;
  }
  section.home.testimonials .griddy .carousel-navigation .numbers {
    margin: calc(clamp(15px, 4vw, 50px) * 0.5) 0;
    flex: 40px 0 0;
    width: 120px;
    justify-content: center;
    align-items: center;
    display: flex;
  }
  section.home.testimonials .griddy .carousel-navigation .numbers h3 {
    margin-bottom: 0;
  }
  section.home.testimonials .griddy .carousel-navigation .prev, section.home.testimonials .griddy .carousel-navigation .next {
    width: 120px;
    height: 40px;
  }
  section.about.text-image .grid-x .text-container {
    order: 2;
    margin-top: clamp(15px, 4vw, 50px);
  }
  section.about.solutions h2 {
    font-size: calc(clamp(28px, 2vw, 34px) * 0.75);
  }
  section.about.solutions .product-bar .product-wrapper .text-container h4 {
    margin-bottom: 12px;
  }
  section.about.solutions .product-bar .product-wrapper .product-container .product {
    width: 100px;
  }
  section.about.solutions .product-bar .product-wrapper .product-container .product .image-container {
    width: 100px;
  }
  section.about.solutions .product-wrapper {
    padding: clamp(15px, 4vw, 50px) !important;
    margin-bottom: clamp(15px, 4vw, 50px);
  }
  section.cases.filter .filter-container ul {
    padding: calc(clamp(15px, 4vw, 50px) * 0.5);
    display: flex;
    flex-wrap: wrap;
  }
  section.cases.cards .container .case-card {
    margin-bottom: calc(clamp(30px, 8vw, 100px) * 0.75);
  }
  section.playground.stats .cell.bg .stat {
    display: flex;
  }
  section.playground.stats .cell.bg .stat .icon {
    margin-right: 35px;
  }
  section.playground.stats .cell.bg .stat .text {
    flex: 1;
    width: 100%;
    padding-top: 10px;
  }
  section.playground.content .data-container {
    margin-bottom: 50px;
  }
  section.playground.carousel .flicking-viewport {
    margin-bottom: 75px;
  }
  section.playground.carousel .flicking-viewport .prev, section.playground.carousel .flicking-viewport .next {
    top: auto;
    bottom: -75px;
    width: 120px;
    height: 40px;
  }
  section.playground.carousel .flicking-viewport .prev {
    left: 0px;
  }
  section.playground.carousel .flicking-viewport .next {
    right: 0px;
  }
  section.studio.image-text .image-container {
    width: calc(100% + 5vw + 0.625rem);
  }
  section.studio.carousel .muted-carousel .flicking-camera .panel {
    width: 50vw;
  }
  section.studio.carousel .muted-carousel .prev, section.studio.carousel .muted-carousel .next {
    width: 80px;
    height: 50px;
  }
  section.studio.carousel .muted-carousel .prev .arrow, section.studio.carousel .muted-carousel .next .arrow {
    width: 30px;
    left: calc(50% - 15px);
  }
  section.studio.carousel .muted-carousel .prev {
    left: -25px;
  }
  section.studio.carousel .muted-carousel .next {
    right: -25px;
  }
  section.studio.images .grid-x {
    margin: clamp(30px, 8vw, 100px) 0;
  }
  section.studio.images .grid-x.portrait-landscape {
    padding-bottom: 0;
  }
  section.studio.images .grid-x.portrait-landscape .medium-5 {
    margin-bottom: clamp(30px, 8vw, 100px);
  }
  section.studio.images .grid-x.portrait-landscape .portrait {
    transform: translateY(0px) translateX(-2.5vw);
  }
  section.studio.images .grid-x.portrait-landscape .landscape {
    transform: translateX(2.5vw);
  }
  section.studio.images .grid-x.square-portrait {
    padding-bottom: 0;
  }
  section.studio.images .grid-x.square-portrait .square {
    margin-bottom: clamp(30px, 8vw, 100px);
    transform: translateY(0px) translateX(-2.5vw);
  }
  section.studio.images .grid-x.square-portrait .portrait {
    transform: translateX(2.5vw);
  }
  section.contact.hero .hero-container .image-container {
    width: calc(100% + 20vw);
    margin-left: -10vw;
  }
  section.contact.hero .text-container ul.social li a {
    width: 50px;
  }
  section.contact.call-me {
    padding: clamp(30px, 8vw, 100px) 0;
  }
  footer.main .first-row {
    padding: clamp(30px, 8vw, 100px) 0;
  }
  footer.main .first-row .navigation {
    margin-bottom: clamp(30px, 8vw, 100px);
  }
  footer.main .first-row ul.social li a {
    width: 50px;
  }
  footer.main .first-row .wysiwyg ul.sectors li {
    margin-right: calc(clamp(15px, 4vw, 50px) * 0.5);
    margin-bottom: calc(clamp(15px, 4vw, 50px) * 0.5);
  }
  footer.main .first-row .wysiwyg ul.sectors li a {
    padding: 5px 10px;
  }
  footer.main .second-row {
    padding: clamp(15px, 4vw, 50px) 0;
  }
  footer.main .second-row ul.links {
    flex-wrap: wrap;
    text-align: left;
    justify-content: flex-start;
  }
  footer.main .second-row ul.links li {
    margin-left: 0;
    margin-right: clamp(30px, 8vw, 100px);
    margin-bottom: calc(clamp(15px, 4vw, 50px) * 0.5);
  }
  footer.main .second-row ul.links li:last-child {
    margin-right: 0;
  }
}
@media screen and (max-width: 400px) {
  header.main .logo-container img {
    max-width: 80px;
  }
  header.main .nav .hamburger {
    margin-right: 15px;
  }
  header.main .nav ul.lang {
    margin-right: 35px;
  }
}