@import url(https://use.typekit.net/vts1zhy.css);
@charset "UTF-8";
/* Document
 * ========================================================================== */
/**
 * Add border box sizing in all browsers (opinionated).
 */
*,
::before,
::after {
  box-sizing: border-box;
}

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritance in all browsers (opinionated).
 */
::before,
::after {
  text-decoration: inherit; /* 1 */
  vertical-align: inherit; /* 2 */
}

/**
 * 1. Use the default cursor in all browsers (opinionated).
 * 2. Change the line height in all browsers (opinionated).
 * 3. Use a 4-space tab width in all browsers (opinionated).
 * 4. Remove the grey highlight on links in iOS (opinionated).
 * 5. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 * 6. Breaks words to prevent overflow in all browsers (opinionated).
 */
html {
  cursor: default; /* 1 */
  line-height: 1.5; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  -webkit-tap-highlight-color: transparent;
  -ms-text-size-adjust: 100%; /* 5 */
  -webkit-text-size-adjust: 100%; /* 5 */
  word-break: break-word; /* 6 */
}

/* Sections
 * ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Edge, Firefox, and Safari.
 */
h1, .service-form__intro__column h2 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
 * ========================================================================== */
/**
 * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
 */
dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
  margin: 0;
}

/**
 * Remove the margin on nested lists in Edge 18- and IE.
 */
ol ol,
ol ul,
ul ol,
ul ul {
  margin: 0;
}

/**
 * 1. Correct the inheritance of border color in Firefox.
 * 2. Add the correct box sizing in Firefox.
 * 3. Show the overflow in Edge 18- and IE.
 */
hr {
  color: inherit; /* 1 */
  height: 0; /* 2 */
  overflow: visible; /* 3 */
}

/**
 * Add the correct display in IE.
 */
main {
  display: block;
}

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
nav ol,
nav ul {
  list-style: none;
  padding: 0;
}

/**
 * Prevent VoiceOver from ignoring list semantics in Safari (opinionated).
 */
nav li::before {
  content: "​";
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 * 3. Prevent overflow of the container in all browsers (opinionated).
 */
pre {
  font-family: monospace; /* 1 */
  font-size: 1em; /* 2 */
  overflow: auto; /* 3 */
  -ms-overflow-style: scrollbar; /* 3 */
}

/* Text-level semantics
 * ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * Add the correct text decoration in Edge 18-, IE, and Safari.
 */
abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/* Embedded content
 * ========================================================================== */
/*
 * Change the alignment on media elements in all browsers (opinionated).
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on iframes in all browsers (opinionated).
 */
iframe {
  border-style: none;
}

/**
 * Remove the border on images within links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
svg:not([fill]) {
  fill: currentColor;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Tabular data
 * ========================================================================== */
/**
 * 1. Collapse border spacing in all browsers (opinionated).
 * 2. Correct table border color inheritance in all Chrome, Edge, and Safari.
 * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
 */
table {
  border-collapse: collapse; /* 1 */
  border-color: inherit; /* 2 */
  text-indent: 0; /* 3 */
}

/* Forms
 * ========================================================================== */
/**
 * Remove the margin on controls in Safari.
 */
button,
input,
select {
  margin: 0;
}

/**
 * 1. Show the overflow in IE.
 * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
 */
button {
  overflow: visible; /* 1 */
  text-transform: none; /* 2 */
}

/**
 * Correct the inability to style buttons in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * 1. Change the inconsistent appearance in all browsers (opinionated).
 * 2. Correct the padding in Firefox.
 */
fieldset {
  border: 1px solid #a0a0a0; /* 1 */
  padding: 0.35em 0.75em 0.625em; /* 2 */
}

/**
 * Show the overflow in Edge 18- and IE.
 */
input {
  overflow: visible;
}

/**
 * 1. Correct the text wrapping in Edge 18- and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 */
legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  white-space: normal; /* 1 */
}

/**
 * 1. Add the correct display in Edge 18- and IE.
 * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the inheritance of text transform in Firefox.
 */
select {
  text-transform: none;
}

/**
 * 1. Remove the margin in Firefox and Safari.
 * 2. Remove the default vertical scrollbar in IE.
 * 3. Change the resize direction in all browsers (opinionated).
 */
textarea {
  margin: 0; /* 1 */
  overflow: auto; /* 2 */
  resize: vertical; /* 3 */
  resize: block; /* 3 */
}

/**
 * Remove the padding in IE 10-.
 */
[type=checkbox],
[type=radio] {
  padding: 0;
}

/**
 * 1. Correct the odd appearance in Chrome, Edge, and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */
::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style upload buttons in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Remove the inner border and padding of focus outlines in Firefox.
 */
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus outline styles unset by the previous rule in Firefox.
 */
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove the additional :invalid styles in Firefox.
 */
:-moz-ui-invalid {
  box-shadow: none;
}

/* Interactive
 * ========================================================================== */
/*
 * Add the correct display in Edge 18- and IE.
 */
details {
  display: block;
}

/*
 * Add the correct styles in Edge 18-, IE, and Safari.
 */
dialog {
  background-color: white;
  border: solid;
  color: black;
  display: block;
  height: -moz-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: fit-content;
}

dialog:not([open]) {
  display: none;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Scripting
 * ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* User interaction
 * ========================================================================== */
/*
 * Remove the tapping delay in IE 10.
 */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
}

/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}

/* Accessibility
 * ========================================================================== */
/**
 * Change the cursor on busy elements in all browsers (opinionated).
 */
[aria-busy=true] {
  cursor: progress;
}

/*
 * Change the cursor on control elements in all browsers (opinionated).
 */
[aria-controls] {
  cursor: pointer;
}

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements in all browsers (opinionated).
 */
[aria-disabled=true],
[disabled] {
  cursor: not-allowed;
}

/*
 * Change the display on visually hidden accessible elements
 * in all browsers (opinionated).
 */
[aria-hidden=false][hidden] {
  display: initial;
}

[aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

/**
 * Restrict sizing to the page width in all browsers (opinionated).
 */
iframe,
img,
input,
select,
textarea {
  height: auto;
  max-width: 100%;
}

/**
 * 1. Change the inconsistent appearance in all browsers (opinionated).
 * 2. Add typography inheritance in all browsers (opinionated).
 */
button,
input,
select,
textarea {
  background-color: transparent; /* 1 */
  border: 1px solid WindowFrame; /* 1 */
  color: inherit; /* 1 */
  font: inherit; /* 2 */
  letter-spacing: inherit; /* 2 */
  padding: 0.25em 0.375em; /* 1 */
}

/**
 * Change the inconsistent appearance in all browsers (opinionated).
 */
select {
  -moz-appearance: none;
  -webkit-appearance: none;
  background: no-repeat right center/1em;
  border-radius: 0;
  padding-right: 1em;
}

/**
 * Change the inconsistent appearance in all browsers (opinionated).
 */
/**
 * Remove the border and padding in all browsers (opinionated).
 */
[type=color],
[type=range] {
  border-width: 0;
  padding: 0;
}

/**
 * Change the inconsistent appearance in IE (opinionated).
 */
::-ms-expand {
  display: none;
}

/**
 * Correct the inconsistent appearance in IE (opinionated).
 */
:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.54);
}

/*
* 1. Remove animations when motion is reduced (opinionated).
* 2. Remove fixed background attachments when motion is reduced (opinionated).
* 3. Remove timed scrolling behaviors when motion is reduced (opinionated).
* 4. Remove transitions when motion is reduced (opinionated).
*/
@media (prefers-reduced-motion: reduce) {
  *,
  ::before,
  ::after {
    animation-delay: -1ms !important; /* 1 */
    animation-duration: 1ms !important; /* 1 */
    animation-iteration-count: 1 !important; /* 1 */
    background-attachment: initial !important; /* 2 */
    scroll-behavior: auto !important; /* 3 */
    transition-delay: 0s !important; /* 4 */
    transition-duration: 0s !important; /* 4 */
  }
}
:root {
  --themeColor: #878A79;
  --projectAccentColor: #878A79;
  --white: #ffffff;
  --black: #141414;
  --grayLight: #F5F5F5;
  --gray: #D9D9D9;
  --grayDarkLight: #464646;
  --grayDark: #313131;
  --footerGray: #838383;
}

:root {
  --blockMargin: 4rem;
  --blockPadding: 1.75rem;
  --gridGap: 1.75rem;
  --marginElement2Button: 2.25rem;
  --marginElement2Element: 1.25rem;
  --marginText2Button: 2.75em;
  --marginText2Element: 2.75em;
  --marginText2Text: 1em;
  --marginTitle2Button: 0.82em;
  --marginTitle2Element: 0.82em;
  --marginTitle2Text: 0.82em;
}
@media (min-width: 48em) {
  :root {
    --blockMargin: 5rem;
    --marginElement2Element: 1.5rem;
    --marginText2Button: 2.67em;
  }
}
@media (min-width: 64em) {
  :root {
    --blockMargin: 6rem;
    --gridGap: 2rem;
    --marginElement2Button: 2.625rem;
    --marginElement2Element: 2rem;
    --marginText2Button: 2.7em;
    --marginText2Element: 2em;
    --marginTitle2Button: 0.74em;
    --marginTitle2Element: 0.74em;
    --marginTitle2Text: 0.74em;
  }
}
@media (min-width: 80em) {
  :root {
    --blockMargin: 8rem;
    --gridGap: 2.5rem;
    --marginElement2Button: 2.875rem;
    --marginElement2Element: 2.5rem;
    --marginText2Button: 3em;
    --marginText2Element: 2.2em;
    --marginTitle2Button: 0.625em;
    --marginTitle2Element: 0.625em;
    --marginTitle2Text: 0.6875em;
  }
}
@media (min-width: 90em) {
  :root {
    --blockMargin: 8rem;
    --marginElement2Button: 3.5rem;
    --marginText2Button: 3em;
    --marginText2Element: 2.7em;
    --marginTitle2Button: 0.75em;
    --marginTitle2Element: 0.5em;
    --marginTitle2Text: 0.5em;
  }
}
@media (min-width: 121em) {
  :root {
    --blockMargin: 8rem;
  }
}
@media (min-width: 160em) {
  :root {
    --blockMargin: 10rem;
  }
}

:root {
  --spacing-xs: 0.5rem;
  --spacing-sm: 1rem;
  --spacing-md: 2rem;
  --spacing-base: 2.5rem;
  --spacing-lg: 3rem;
  --spacing-xl: 4rem;
}

.body-font {
  font-family: "alegreya-sans", sans-serif;
}

.title-font {
  font-family: "playfair-display", serif;
}

.alternative-font {
  font-family: "brandon-grotesque", sans-serif;
}

:root {
  --baseFontSize: 16px;
  --textMaxLineLength: none;
  --base-font-size: 1rem;
  --h1-font-size: 2.5rem;
  --h2-font-size: 2rem;
  --h3-font-size: 1.6875rem;
  --h4-font-size: 1.75rem;
  --h2-letter-spacing: -0.58px;
  --base-line-height: 1.625rem;
  --h1-line-height: 1.16;
  --h2-line-height: 1.25;
  --h3-line-height: 1.1875;
  --h4-line-height: 2.375rem;
}
@media (min-width: 48em) {
  :root {
    --textMaxLineLength: 46rem;
    --base-font-size: 1.125rem;
    --h1-font-size: 3.25rem;
    --h2-font-size: 2.25rem;
    --h2-letter-spacing: -0.58px;
  }
}
@media (min-width: 80em) {
  :root {
    --baseFontSize: 16px;
    --base-font-size: 1.125rem;
    --h1-font-size: 3.75rem;
    --h2xl-font-size: 3.75rem;
    --h2-font-size: 2.875rem;
    --h3-font-size: 2.625rem;
    --h4-font-size: 2.125rem;
    --base-line-height: 1.625rem;
    --h1-line-height: 1.16;
    --h2-line-height: 1.25;
    --h3-line-height: 1.1875;
  }
}

html,
body,
p,
table {
  font-size: var(--base-font-size);
  line-height: var(--base-line-height);
}

html {
  font-size: var(--baseFontSize);
}

body {
  color: #333333;
  font-family: "alegreya-sans", sans-serif;
  font-weight: 300;
}

main a {
  color: inherit;
}
main a:hover {
  text-decoration: none;
}

h1, .service-form__intro__column h2, .h1,
h2, .h2,
h3,
.jobopening-single__subtitle, .h3 {
  display: block;
  margin: 0 0 var(--marginTitle2Element);
  word-break: keep-all;
}

h3, .jobopening-single__subtitle, .h3,
strong, b {
  font-weight: 700;
}

h1, .service-form__intro__column h2, .h1 {
  color: #000000;
  font-size: var(--h1-font-size);
  line-height: var(--h1-line-height);
  font-family: "playfair-display", serif;
  font-weight: 700;
  letter-spacing: -0.0375rem;
}
h1 span.accent, .service-form__intro__column h2 span.accent, .h1 span.accent {
  color: var(--themeColor);
}

h2, .h2 {
  color: #000000;
  font-size: var(--h2-font-size);
  line-height: var(--h2-line-height);
  font-family: "playfair-display", serif;
  font-weight: 900;
  letter-spacing: -0.02875rem;
  line-height: 121%;
  margin-bottom: var(--spacing-lg);
}
h2 span.accent, .h2 span.accent {
  color: var(--themeColor);
}
h2.h2xl, .h2.h2xl {
  font-size: var(--h2xl-font-size);
  line-height: 140%;
  letter-spacing: -0.0375rem;
}

h3, .jobopening-single__subtitle, .h3 {
  color: #000000;
  font-size: var(--h3-font-size);
  letter-spacing: -0.02625rem;
  line-height: var(--h3-line-height);
  font-family: "brandon-grotesque", sans-serif;
  text-transform: uppercase;
  font-weight: 700;
}
h3 span.accent, .jobopening-single__subtitle span.accent, .h3 span.accent {
  color: var(--themeColor);
}
h3.title-font, .title-font.jobopening-single__subtitle, .h3.title-font {
  font-family: "playfair-display", serif;
  text-transform: none;
}

h4, .h4 {
  font-size: var(--h4-font-size);
  line-height: var(--h4-line-height);
  font-family: "alegreya-sans", sans-serif;
  font-weight: 700;
  letter-spacing: -0.02125rem;
}

em, .intro {
  color: #141414;
}

.intro {
  font-family: "alegreya-sans", sans-serif;
  font-size: 1.3125rem;
  font-weight: 700;
}

.body-bold, .steps__slider__step__subtitle, .main-services__item__link {
  font-size: 1.125rem;
  font-family: "brandon-grotesque", sans-serif;
  font-weight: 900;
  line-height: 1.625rem;
  letter-spacing: 0.045rem;
  text-transform: uppercase;
}

p {
  margin: 0 0 1rem;
  max-width: var(--textMaxLineLength);
}

ul, ol {
  margin: 0 0 1rem;
}

.list-unstyle {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
}

.list-inline {
  display: inline;
  list-style: none;
}
.list-inline li {
  display: inline;
}
.list-inline li::after {
  content: ", ";
}
.list-inline li:last-child::after {
  content: "";
}

main ul:not([class]) {
  margin: 0 0 2rem;
}

main ul:not([class]),
.list-bullets {
  list-style: none;
  padding: 0;
}
main ul:not([class]) li,
.list-bullets li {
  margin: 0;
  padding: 0 0 0 1.5rem;
  position: relative;
}
main ul:not([class]) li::before,
.list-bullets li::before {
  background: #141414;
  border-radius: 50%;
  content: "";
  display: block;
  height: 0.375rem;
  left: 0;
  position: absolute;
  top: 0.92rem;
  width: 0.375rem;
}

html, body {
  max-width: 100%;
}

html {
  background: var(--grayLight);
  scroll-behavior: smooth;
}
@media (max-width: 47.99em) {
  html.menu-open {
    overflow: hidden;
  }
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.skip-link {
  background: var(--black);
  color: #FFFFFF;
  left: 0;
  padding: 1rem;
  position: absolute;
  top: -6rem;
  z-index: 100;
}
.skip-link:focus {
  top: 0;
}

.stretched-link::after {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

main {
  flex-grow: 1;
  padding-top: 4.75rem;
}
main.is-homepage {
  padding-top: 0;
}
@media (min-width: 48em) {
  main {
    padding-top: 7rem;
  }
  main.is-homepage {
    padding-top: 0;
  }
}
@media (min-width: 80em) {
  main {
    padding-top: 10.5rem;
  }
  main.is-homepage {
    padding-top: 0;
  }
}
main + :has(.fl--grey, .secure-message) {
  background: var(--grayLight);
}
main + :has(.fl--dark) {
  background: transparent linear-gradient(300deg, #141414 0%, #000000 44%, #141414 100%, #000000 100%) 0% 0% no-repeat padding-box;
}
main + :has(.fl--green) {
  background: var(--themeColor);
}
main + :has(.fl--white) {
  background: #FFFFFF;
}

.hero + main,
.hero-half + main {
  padding-top: 0;
}
@media (min-width: 48em) {
  .hero + main,
  .hero-half + main {
    padding-top: 0;
  }
}
@media (min-width: 80em) {
  .hero + main,
  .hero-half + main {
    padding-top: 0;
  }
}

.form {
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: 0 0 1rem;
  max-width: 45rem;
  padding: 0;
}
.form--grid {
  margin-bottom: 2.5rem;
}
.form li {
  margin: 0 0 1rem;
  text-align: left;
}
.form li:last-child {
  margin: 0;
}
.form li.form__field--checkbox {
  margin-bottom: 3rem;
}
.form li.form__field--checkbox strong {
  margin-bottom: 0;
}
.form label {
  color: var(--grayDark);
  cursor: pointer;
  display: block;
  font-weight: 700;
  text-align: left;
}
.form input[type=text],
.form input[type=email],
.form input[type=number],
.form select,
.form textarea {
  background: #FFFFFF;
  border: 1px solid var(--grayDarkLight);
  border-radius: 0;
  color: #141414;
  line-height: 1.375rem;
  margin: 0;
  outline: none;
  padding: 0.875rem 1.25rem;
  transition: all 250ms ease;
  width: 100%;
}
.form input[type=text]:focus,
.form input[type=email]:focus,
.form input[type=number]:focus,
.form select:focus,
.form textarea:focus {
  background-color: #ffffff;
  border-color: var(--black);
  color: var(--grayDark);
}
@media (hover: hover) {
  .form input[type=text]:hover:not(:focus),
  .form input[type=email]:hover:not(:focus),
  .form input[type=number]:hover:not(:focus),
  .form select:hover:not(:focus),
  .form textarea:hover:not(:focus) {
    background-color: #ffffff;
    border-color: var(--grayDarkLight);
  }
}
.form input[type=text]:disabled,
.form input[type=email]:disabled,
.form input[type=number]:disabled,
.form select:disabled,
.form textarea:disabled {
  background-color: #ffffff;
  border-color: #ffffff;
  color: #F5F5F5;
}
.form select:not([multiple]):not([size]) {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='8'%3E%3Cpath d='M4 0h12L10 8'/%3E%3C/svg%3E");
  background-position: center right;
  background-repeat: no-repeat;
  position: relative;
}
.form textarea {
  min-height: 10rem;
}
.form input[type=file] {
  border: none;
  margin-top: var(--spacing-sm);
  padding: 0;
}
.form input[type=checkbox],
.form input[type=radio] {
  height: 0;
  opacity: 0;
  position: relative;
  width: 0;
}
.form input[type=checkbox] + label, .form input[type=checkbox] + span,
.form input[type=radio] + label,
.form input[type=radio] + span {
  color: #313131;
  font-weight: 300;
  padding: 0 0 0 2rem;
  position: relative;
  transition: all 250ms ease;
}
.form input[type=checkbox] + label::before, .form input[type=checkbox] + span::before,
.form input[type=radio] + label::before,
.form input[type=radio] + span::before {
  border: 1px solid var(--grayDarkLight);
  content: "";
  display: block;
  height: 1.5rem;
  left: 0;
  position: absolute;
  top: 58%;
  transform: translateY(-0.875rem);
  width: 1.5rem;
}
.form input[type=checkbox] + label.product, .form input[type=checkbox] + span.product,
.form input[type=radio] + label.product,
.form input[type=radio] + span.product {
  color: var(--grayDark);
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1;
}
.form input[type=checkbox] + label.product span, .form input[type=checkbox] + span.product span,
.form input[type=radio] + label.product span,
.form input[type=radio] + span.product span {
  color: var(--grayDark);
}
.form input[type=checkbox][type=radio] + label::before, .form input[type=checkbox][type=radio] + span::before,
.form input[type=radio][type=radio] + label::before,
.form input[type=radio][type=radio] + span::before {
  border-radius: 50%;
}
.form input[type=checkbox]:not(:disabled),
.form input[type=radio]:not(:disabled) {
  cursor: pointer;
}
@media (hover: none) {
  .form input[type=checkbox]:not(:disabled):focus + label, .form input[type=checkbox]:not(:disabled):focus + span,
  .form input[type=radio]:not(:disabled):focus + label,
  .form input[type=radio]:not(:disabled):focus + span {
    color: var(--grayDark);
  }
  .form input[type=checkbox]:not(:disabled):focus + label::before, .form input[type=checkbox]:not(:disabled):focus + span::before,
  .form input[type=radio]:not(:disabled):focus + label::before,
  .form input[type=radio]:not(:disabled):focus + span::before {
    border-color: var(--grayDark);
  }
}
@media (hover: hover) {
  .form input[type=checkbox]:not(:disabled):hover + label, .form input[type=checkbox]:not(:disabled):hover + span,
  .form input[type=radio]:not(:disabled):hover + label,
  .form input[type=radio]:not(:disabled):hover + span {
    color: var(--grayDark);
  }
  .form input[type=checkbox]:not(:disabled):hover + label::before, .form input[type=checkbox]:not(:disabled):hover + span::before,
  .form input[type=radio]:not(:disabled):hover + label::before,
  .form input[type=radio]:not(:disabled):hover + span::before {
    border-color: var(--grayDark);
  }
}
@media (hover: none) {
  .form input[type=checkbox]:not(:disabled) + label:focus, .form input[type=checkbox]:not(:disabled) + span:focus,
  .form input[type=radio]:not(:disabled) + label:focus,
  .form input[type=radio]:not(:disabled) + span:focus {
    color: var(--grayDark);
  }
}
@media (hover: hover) {
  .form input[type=checkbox]:not(:disabled) + label:hover, .form input[type=checkbox]:not(:disabled) + span:hover,
  .form input[type=radio]:not(:disabled) + label:hover,
  .form input[type=radio]:not(:disabled) + span:hover {
    color: var(--grayDark);
  }
}
.form input[type=checkbox]:checked + label, .form input[type=checkbox]:checked + span,
.form input[type=radio]:checked + label,
.form input[type=radio]:checked + span {
  color: var(--grayDark);
  font-weight: 700;
}
.form input[type=checkbox]:checked[type=checkbox] + label::before, .form input[type=checkbox]:checked[type=checkbox] + span::before,
.form input[type=radio]:checked[type=checkbox] + label::before,
.form input[type=radio]:checked[type=checkbox] + span::before {
  background: var(--grayDark);
  border-color: var(--grayDark);
}
.form input[type=checkbox]:checked[type=checkbox] + label::after, .form input[type=checkbox]:checked[type=checkbox] + span::after,
.form input[type=radio]:checked[type=checkbox] + label::after,
.form input[type=radio]:checked[type=checkbox] + span::after {
  border-bottom: 0.25rem solid #FFFFFF;
  border-right: 0.25rem solid #FFFFFF;
  content: "";
  height: 1rem;
  left: 0.5rem;
  position: absolute;
  top: 58%;
  transform: translateY(-0.75rem) rotate(45deg);
  width: 0.6rem;
}
.form input[type=checkbox]:checked[type=radio] + label::after, .form input[type=checkbox]:checked[type=radio] + span::after,
.form input[type=radio]:checked[type=radio] + label::after,
.form input[type=radio]:checked[type=radio] + span::after {
  background: var(--grayDark);
  border-radius: 50%;
  content: "";
  display: block;
  height: 1rem;
  left: 0.25rem;
  position: absolute;
  top: 58%;
  transform: translateY(-0.625rem);
  width: 1rem;
}
.form input[type=checkbox]:disabled + label, .form input[type=checkbox]:disabled + span,
.form input[type=radio]:disabled + label,
.form input[type=radio]:disabled + span {
  color: #F5F5F5;
  cursor: not-allowed;
  font-weight: 300;
}
.form input[type=checkbox]:disabled + label::before, .form input[type=checkbox]:disabled + span::before,
.form input[type=radio]:disabled + label::before,
.form input[type=radio]:disabled + span::before {
  border-color: #F5F5F5;
}
.form__toggles {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0;
}
.form__toggles li {
  margin: 0;
}
.form__toggles--horizontal {
  flex-direction: row;
  gap: 1rem;
}
.form__buttons {
  display: flex;
  justify-content: center;
}
.form__field > label {
  line-height: 1.5rem;
  margin: 0 0 0.5rem;
}
.form__field--required > label::after {
  color: var(--themeColor);
  content: "*";
}
.form__field--error label {
  color: #FF0000;
}
.form__field--error input[type=checkbox],
.form__field--error input[type=radio] {
  filter: hue-rotate(160deg);
}
.form__field--error input[type=checkbox] + label, .form__field--error input[type=checkbox] + span,
.form__field--error input[type=radio] + label,
.form__field--error input[type=radio] + span {
  color: #FF0000;
}
.form__field--error input[type=text]:not(:disabled),
.form__field--error input[type=email]:not(:disabled),
.form__field--error input[type=number]:not(:disabled),
.form__field--error select:not(:disabled),
.form__field--error textarea:not(:disabled) {
  border-color: #FF0000;
  box-shadow: 0 0 0.5rem #FF0000;
  color: var(--grayDark);
}
.form__field--error .btn.btn-cta, .form__field--error .btn-cta.sign-filter__toggle, .form__field--error .btn-cta.pagination__button, .form__field--error .btn-cta.cases-filter__toggle {
  background-color: #FF0000;
  color: var(--grayDark);
}
.form__field--disabled label {
  color: #F5F5F5;
}
.form .media-library-dropzone-add:not(.disabled) {
  background: #FFFFFF;
  border-color: var(--grayDark);
  border-width: 1px;
}
@media (hover: none) {
  .form .media-library-dropzone-add:not(.disabled):focus {
    background-color: rgba(0, 0, 0, 0.1);
  }
}
@media (hover: hover) {
  .form .media-library-dropzone-add:not(.disabled):hover {
    background-color: rgba(0, 0, 0, 0.1);
  }
}
.form .media-library-multiple.media-library-empty .media-library-add .media-library-placeholder::before, .form .media-library-multiple.media-library-empty .media-library-add .media-library-placeholder::after {
  display: none;
}
.form .media-library-button {
  background: var(--grayDark);
  border-color: var(--grayDark);
  box-shadow: none;
  color: #FFFFFF;
}
.form .checkbox {
  line-height: 1;
}
.form .checkbox__input {
  position: absolute;
}
@media (min-width: 48em) {
  .form--grid {
    display: grid;
    grid-gap: 0 1.5rem;
    grid-template-columns: 1fr 1fr;
    max-width: none;
  }
  .form--grid .form__field {
    grid-column-end: 1;
    grid-column-start: 1;
  }
  .form--grid .form__field--column {
    display: flex;
    flex-direction: column;
    grid-column-end: 2;
    grid-column-start: 2;
    grid-row-end: 7 span;
    grid-row-start: 1;
  }
  .form--grid .form__field--column textarea {
    height: 100%;
  }
  .form--grid .form__buttons {
    grid-column-end: 2 span;
    grid-column-start: 1;
    padding-top: 2rem;
  }
}
@media (min-width: 80em) {
  .form--grid {
    grid-gap: 0 3rem;
    margin-bottom: 3rem;
  }
  .form--grid .form__buttons {
    padding-top: 3rem;
  }
}
@media (min-width: 90em) {
  .form--grid {
    margin-bottom: 5rem;
  }
}

.message {
  color: #FFFFFF;
  display: block;
  margin: 0 0 1rem;
  padding: 0.5rem 1rem 0.625rem 2.75rem;
  position: relative;
}
.message::before {
  background-repeat: no-repeat;
  content: "";
  display: block;
  height: 1.25rem;
  left: 1rem;
  position: absolute;
  top: 0.8125rem;
  width: 1.25rem;
}
.message--info {
  background-color: #141414;
  color: #FFFFFF;
}
.message--info::before {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='169' height='727.384' viewBox='0 0 169 727.384'%3e%3cline id='Line_2' data-name='Line 2' y1='3' y2='5' x1='8' x2='8' fill='none' stroke='%23FFFFFF' stroke-miterlimit='10' stroke-width='2'/%3e%3cline id='Line_3' data-name='Line 3' y1='7' y2='13' x1='8' x2='8' fill='none' stroke='%23FFFFFF' stroke-miterlimit='10' stroke-width='2'/%3e%3cg id='Ellipse_4' data-name='Ellipse 4' fill='none' stroke='%23FFFFFF' stroke-width='1'%3e%3ccircle cx='8' cy='8' r='8' stroke='none'/%3e%3ccircle cx='8' cy='8' r='7.5' fill='none'/%3e%3c/g%3e%3c/svg%3e ");
  background-position: 0 1px;
}
.message--error, .form__field--error .message--info {
  background-color: #FF0000;
}
.message--error::before, .form__field--error .message--info::before {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='18.005' height='17.861' viewBox='0 0 18.005 17.861'%3e%3cpath id='Path_56' data-name='Path 56' d='M24.964,82.461a1.534,1.534,0,0,0,1.5-1.5,2.348,2.348,0,0,0-.2-.8L19.877,67.4a1.621,1.621,0,0,0-2.793,0L10.6,80.266a1.6,1.6,0,0,0,.1,1.5,1.454,1.454,0,0,0,1.3.7H24.964Zm-13.866-1a.906.906,0,0,1,0-1L17.582,67.6a.959.959,0,0,1,.9-.6.872.872,0,0,1,.9.6l6.384,12.769h0a.733.733,0,0,1,.2.6,1,1,0,0,1-1,1H12A1.19,1.19,0,0,1,11.1,81.463Z' transform='translate(-9.456 -65.6)' fill='%23fff' stroke='%23fff' stroke-width='2'/%3e%3c/svg%3e ");
}
.message--success {
  background-color: #878A79;
  margin-bottom: 3rem;
}
.message--success::before {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='13.421' height='9.836' viewBox='0 0 13.421 9.836'%3e%3cpath id='Path_57' data-name='Path 57' d='M26.3,15.8l-7.571,7.714L14.3,19.086' transform='translate(-13.593 -15.099)' fill='none' stroke='%23FFF' stroke-miterlimit='10' stroke-width='2'/%3e%3c/svg%3e ");
  background-position: 0 4px;
}

@property --button-text-color {
  inherits: true;
  initial-value: var(--white);
  syntax: color;
}
@property --button-background-color {
  inherits: true;
  initial-value: var(--themeColor);
  syntax: color;
}
@property --button-border-color {
  inherits: true;
  initial-value: var(--themeColor);
  syntax: color;
}
.btn, .sign-filter__toggle, .pagination__button, .cases-filter__toggle {
  --_btn-background-color: var(--button-background-color, var(--themeColor));
  --_btn-border-color: var(--button-border-color, var(--themeColor));
  --_btn-text-color: var(--button-text-color, var(--white));
  align-items: center;
  background-color: var(--_btn-background-color);
  border: 1px solid var(--_btn-border-color);
  border-radius: 1px;
  color: var(--_btn-text-color);
  cursor: pointer;
  display: inline-flex;
  font-family: "brandon-grotesque", sans-serif;
  font-weight: 700;
  justify-content: center;
  letter-spacing: 0.12375rem;
  line-height: 1.5rem;
  padding: 1.125rem 2rem;
  text-decoration: none;
  text-transform: uppercase;
  transition: all 200ms;
}
.btn:hover, .sign-filter__toggle:hover, .pagination__button:hover, .cases-filter__toggle:hover {
  --button-background-color: var(--black);
  --button-border-color: var(--black);
}
.btn--secondary, .sign-filter__toggle, .cases-filter__toggle {
  --button-background-color: var(--black);
  --button-border-color: var(--black);
}
.btn--secondary:hover, .sign-filter__toggle:hover, .cases-filter__toggle:hover {
  --button-background-color: var(--white);
  --button-background-color: var(--white);
  --button-text-color: var(--black);
}
.btn--secondary.btn--outline, .btn--outline.sign-filter__toggle, .btn--outline.cases-filter__toggle {
  --button-background-color: transparent;
  --button-text-color: var(--grayDarkLight);
}
.btn--secondary.btn--outline:hover, .btn--outline.sign-filter__toggle:hover, .btn--outline.cases-filter__toggle:hover {
  --button-background-color: var(--black);
  --button-border-color: var(--black);
  --button-text-color: var(--white);
}
.btn--white {
  --button-background-color: var(--white);
  --button-border-color: var(--white);
  --button-text-color: var(--black);
}
.btn--white:hover {
  --button-background-color: var(--themeColor);
  --button-border-color: var(--black);
  --button-text-color: var(--white);
}
.btn--white.btn--outline {
  --button-background-color: transparent;
  --button-text-color: var(--gray);
}
.btn--white.btn--outline:hover {
  --button-background-color: var(--white);
  --button-border-color: var(--white);
  --button-text-color: var(--black);
}
.btn.disabled, .disabled.sign-filter__toggle, .disabled.pagination__button, .disabled.cases-filter__toggle {
  cursor: not-allowed;
  opacity: 0.5;
  pointer-events: none;
}
.btn.disabled:hover, .disabled.sign-filter__toggle:hover, .disabled.pagination__button:hover, .disabled.cases-filter__toggle:hover {
  --button-background-color: var(--_btn-background-color);
  --button-border-color: var(--_btn-border-color);
  --button-text-color: var(--_btn-text-color);
  cursor: not-allowed;
}
@media (max-width: 35.99em) {
  .btn, .sign-filter__toggle, .pagination__button, .cases-filter__toggle {
    padding: 0.5rem 1rem;
    font-size: 12px;
  }
}
@media (min-width: 48em) {
  .btn, .sign-filter__toggle, .pagination__button, .cases-filter__toggle {
    padding: 1.125rem 2.5rem;
    font-size: 1.125rem;
  }
}

@view-transition {
  navigation: auto;
}
::view-transition-old(root) {
  animation: 0.4s ease-in both move-out;
}

::view-transition-new(root) {
  animation: 0.4s ease-in both move-in;
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation: none !important;
  }
}
@keyframes move-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes move-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@property --background-filter {
  syntax: "<number>";
  inherits: false;
  initial-value: 0;
}
@keyframes updateFilter {
  0% {
    --background-filter: 0;
  }
  100% {
    --background-filter: 1;
  }
}
:root {
  --theme-box-shadow: 0 0.5rem 4rem rgba(0, 0, 0, 0.16);
}
@media (min-width: 48em) {
  :root {
    --theme-box-shadow: 0 1rem 5rem rgba(0, 0, 0, 0.16);
  }
}
@media (min-width: 80em) {
  :root {
    --theme-box-shadow: 0 1.25rem 6.1875rem rgba(0, 0, 0, 0.16);
  }
}

.buttons-demo {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0 0 1rem;
}
.buttons-demo--background {
  background: var(--black);
  padding: 3rem;
}
@media (min-width: 48em) {
  .buttons-demo {
    flex-direction: row;
  }
}

.styleguide-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.styleguide-swatches .swatch {
  align-items: center;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 0.25rem;
  color: #141414;
  display: flex;
  flex-direction: column;
  font-weight: bold;
  justify-content: center;
  min-height: 5rem;
  min-width: 12rem;
  padding: 1rem;
  text-align: center;
  text-shadow: 0 0 6px #FFFFFF;
  white-space: nowrap;
}
.styleguide-swatches .swatch .icon {
  height: 4rem;
  width: 4rem;
}

.container {
  margin: 0 2rem;
}
@media (min-width: 48em) {
  .container {
    margin: 0 4rem;
  }
}
@media (min-width: 80em) {
  .container {
    margin: 0 auto;
    max-width: 70rem;
  }
}
@media (min-width: 90em) {
  .container {
    max-width: 70rem;
  }
}
@media (min-width: 121em) {
  .container {
    max-width: 70rem;
  }
}

.full-container {
  margin: 0 2rem;
}
@media (min-width: 48em) {
  .full-container {
    margin: 0 4rem;
  }
}

.btn-container {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 0.5rem var(--gridGap);
}
@media (min-width: 48em) {
  .btn-container {
    grid-gap: 1rem var(--gridGap);
  }
}
@media (min-width: 80em) {
  .btn-container {
    grid-gap: 1rem 2rem;
  }
}

@media (min-width: 80em) {
  .fl.fl-narrow .container, .fl-narrow.secure-message .container {
    max-width: 56.25rem;
  }
}

.fl-vertspace, .secure-message {
  padding-bottom: var(--blockMargin);
  padding-top: var(--blockMargin);
}
.fl-vertspace--half {
  padding-bottom: calc(var(--blockMargin) / 2);
  padding-top: calc(var(--blockMargin) / 2);
}
.fl-vertspace--double {
  padding-bottom: calc(var(--blockMargin) * 2);
  padding-top: calc(var(--blockMargin) * 2);
}
.fl-vertspace--only-bottom {
  padding-top: 0;
}
.fl-vertspace--only-top {
  padding-bottom: 0;
}

.fl, .secure-message {
  --background-color: var(--white, #fff);
  --text-color: var(--black, #000);
  --title-color: var(--black, #000);
  background-color: var(--background-color);
  color: var(--text-color);
  position: relative;
}
.fl h1, .secure-message h1,
.fl h2,
.secure-message h2,
.fl h3,
.secure-message h3,
.fl .jobopening-single__subtitle,
.secure-message .jobopening-single__subtitle,
.fl h4,
.secure-message h4,
.fl h5,
.secure-message h5 {
  color: var(--title-color);
}
.fl p, .secure-message p {
  color: var(--text-color);
}
.fl--grey, .secure-message {
  --background-color: var(--grayLight, #f5f5f5);
}
.fl--dark {
  --background-color: var(--black);
  --text-color: var(--gray);
  --title-color: var(--themeColor);
}
.fl--green, .fl--green-pattern {
  --background-color: var(--artestiqGreen, #878a79);
  --text-color: var(--white);
  --title-color: var(--black);
}

.text-container {
  max-width: var(--textMaxLineLength);
}
.text-container:not(:last-child) {
  margin-bottom: var(--marginText2Element);
}
.text-container:has(+ .text-container) {
  margin-bottom: var(--marginText2Text);
}
.text-container:has(+ .btn, + .sign-filter__toggle, + .pagination__button, + .cases-filter__toggle), .text-container:has(+ .btn-container) {
  margin-bottom: var(--marginText2Button);
}
.text-container > *:last-child {
  margin-bottom: 0;
}

.case-intro__subtitle {
  color: var(--projectAccentColor);
  font-family: "brandon-grotesque", sans-serif;
  font-size: var(--h3-font-size);
  font-weight: 700;
  letter-spacing: -0.02625rem;
  line-height: var(--h3-line-height);
  text-transform: uppercase;
}
@media (min-width: 80em) {
  .case-intro {
    padding-top: calc(var(--blockMargin) / 2);
  }
  .case-intro h1, .case-intro .service-form__intro__column h2, .service-form__intro__column .case-intro h2 {
    max-width: 65%;
  }
  .case-intro p {
    max-width: 65%;
  }
}

.content-image.fl--green .content-image__content__title, .content-image.fl--green-pattern .content-image__content__title, .content-image.fl--dark .content-image__content__title {
  color: #FFFFFF;
}
.content-image.fl--white .content-image__content__title, .content-image.fl--gray .content-image__content__title {
  color: var(--themeColor);
}
.content-image__image {
  aspect-ratio: 10/8;
  display: block;
  margin: 0 0 var(--gridGap);
}
.content-image__image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.content-image__content__buttons {
  margin-top: var(--spacing-md);
}
.content-image--combined .content-image__content__usps {
  display: block;
  margin-top: 4rem;
}
.content-image--combined .content-image__content__usps .usp-item {
  font-size: 1.375rem;
  margin: 1rem 0;
}
.content-image--combined .container {
  display: flex;
  flex-direction: column-reverse;
  grid-gap: var(--gridGap);
}
.content-image--combined .container:has(.btn-container) {
  flex-direction: row;
  justify-content: center;
  margin-top: 3rem;
}
.content-image .only-mobile {
  margin-top: var(--spacing-lg);
}
.content-image .only-desktop {
  display: none;
}
@media (max-width: 47.99em) {
  .content-image {
    padding-bottom: 0;
  }
  .content-image .content-image__image {
    margin-bottom: 0;
  }
  .content-image__image {
    margin: var(--gridGap) calc(-1 * 2rem);
  }
  .content-image__content__buttons {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
  }
}
@media (min-width: 48em) {
  .content-image .container {
    align-items: center;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
  .content-image--left .container {
    flex-direction: row;
  }
  .content-image__content, .content-image__image {
    width: calc(50% - var(--gridGap));
  }
  .content-image__content {
    float: right;
    grid-column-start: 2;
    grid-row: 1/2 span;
  }
  .content-image__image {
    aspect-ratio: 1/1;
    margin-bottom: 0;
    overflow: hidden;
    position: relative;
  }
  .content-image__image img {
    height: 100%;
    left: 50%;
    min-height: 100%;
    min-width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
  }
  .content-image .only-mobile {
    display: none;
  }
  .content-image .only-desktop {
    display: flex;
  }
  .content-image--combined .container {
    align-items: flex-start;
  }
  .content-image--combined .content-image__image {
    animation-name: parallax-move;
    animation-range: contain 60% exit 100%;
    animation-timeline: view(block);
    aspect-ratio: 1/1;
    display: block;
    position: relative;
    transition: 200ms;
    z-index: 0;
  }
}
@media (min-width: 80em) {
  .content-image__content, .content-image__image {
    width: calc(50% - var(--gridGap));
  }
}

@keyframes parallax-move {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(2.5rem);
  }
}
.content-layout__buttons {
  margin-top: var(--spacing-lg);
}
@media (min-width: 48em) {
  .content-layout__wrapper {
    max-width: 80%;
  }
  .content-layout .container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .content-layout--center .container {
    justify-content: center;
  }
  .content-layout--right .container {
    justify-content: flex-end;
  }
}
@media (min-width: 64em) {
  .content-layout__wrapper {
    max-width: 60%;
  }
}

.diensten__intro {
  margin-bottom: 3rem;
}
@media (min-width: 48em) {
  .diensten__intro {
    margin-bottom: 5rem;
  }
}

.main-services {
  --icon-size: 2rem;
}
.main-services h2 {
  margin-bottom: 1.5rem;
}
.main-services__content {
  margin-bottom: var(--spacing-lg);
}
.main-services__grid {
  display: grid;
  gap: 3.5rem;
  grid-template-columns: 1fr;
}
.main-services__item {
  margin-left: var(--icon-size);
  padding: 0 0 0 0.625rem;
  position: relative;
}
.main-services__item h3, .main-services__item .jobopening-single__subtitle {
  transition: 0.25s all;
}
.main-services__item__link {
  margin-top: var(--spacing-md);
  transition: 0.25s all;
}
.main-services__item::before {
  background-image: url('data:image/svg+xml,<svg id="Laag_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 250 250"><path d="M224.18,99.33L146.53,20.45l-25.72,26.13,59.01,59.95H0v36.95h180.73l-59.01,59.95,25.72,26.13,76.74-77.96,25.72-26.13-25.72-26.13Z" fill="%23888a79"/></svg>');
  background-repeat: no-repeat;
  background-size: var(--icon-size) var(--icon-size);
  content: "";
  display: block;
  height: var(--icon-size);
  left: calc(-1 * var(--icon-size));
  position: absolute;
  top: -0.25rem;
  transition: 0.25s all;
  width: var(--icon-size);
}
.main-services__item:hover h3, .main-services__item:hover .jobopening-single__subtitle {
  color: var(--themeColor);
}
.main-services__item:hover .main-services__item__link {
  color: var(--themeColor);
}
.main-services__item:hover::before {
  transform: translateX(1rem);
}
.main-services__item:focus-visible {
  outline: -webkit-focus-ring-color auto 1px;
}
.main-services.fl--dark .main-services__item h3, .main-services.fl--dark .main-services__item .jobopening-single__subtitle {
  color: var(--grayLight);
}
.main-services.fl--dark .main-services__item__link {
  color: var(--grayLight);
}
@media (min-width: 36em) {
  .main-services {
    --icon-size: 2.5rem;
  }
}
@media (min-width: 48em) {
  .main-services {
    --icon-size: 2.5rem;
  }
  .main-services__grid {
    gap: 3rem;
    grid-template-columns: repeat(2, 1fr);
  }
  .main-services__item {
    padding: 0 2rem;
  }
}
@media (min-width: 80em) {
  .main-services {
    --icon-size: 3rem;
  }
}

.fl .formsection__wrapper, .secure-message .formsection__wrapper {
  display: block;
  margin: auto;
  width: 100%;
}
.fl--green-pattern .form li label, .fl--green .form li label, .fl--dark .form li label {
  color: #FFFFFF;
}
.fl--green-pattern .form li input[type=radio] + span, .fl--green .form li input[type=radio] + span, .fl--dark .form li input[type=radio] + span {
  color: #FFFFFF;
}
.fl--green-pattern .form li input[type=radio] + span::before, .fl--green .form li input[type=radio] + span::before, .fl--dark .form li input[type=radio] + span::before {
  border-color: #FFFFFF;
}
.fl--green-pattern .form li input[type=radio]:hover + span, .fl--green .form li input[type=radio]:hover + span, .fl--dark .form li input[type=radio]:hover + span {
  color: #FFFFFF;
}
.fl--green-pattern .form li input[type=radio]:hover + span::before, .fl--green .form li input[type=radio]:hover + span::before, .fl--dark .form li input[type=radio]:hover + span::before {
  border-color: #FFFFFF;
}
.fl--green-pattern .form li input[type=checkbox] + span, .fl--green .form li input[type=checkbox] + span, .fl--dark .form li input[type=checkbox] + span {
  color: #FFFFFF;
}
.fl--green-pattern .form li input[type=checkbox] + span::before, .fl--green .form li input[type=checkbox] + span::before, .fl--dark .form li input[type=checkbox] + span::before {
  border-color: #FFFFFF;
}
.fl--green-pattern .form li input[type=checkbox]:hover + span, .fl--green .form li input[type=checkbox]:hover + span, .fl--dark .form li input[type=checkbox]:hover + span {
  color: rgba(255, 255, 255, 0.7);
}
.fl--green-pattern .form li input[type=checkbox]:hover + span::before, .fl--green .form li input[type=checkbox]:hover + span::before, .fl--dark .form li input[type=checkbox]:hover + span::before {
  border-color: rgba(255, 255, 255, 0.9);
}
.fl--dark .form li input[type=radio]:checked + span::after {
  background: var(--themeColor);
}
.fl--dark .form li .btn, .fl--dark .form li .sign-filter__toggle, .fl--dark .form li .pagination__button, .fl--dark .form li .cases-filter__toggle {
  background-color: var(--themeColor);
}
.fl--dark .form li .btn:hover, .fl--dark .form li .sign-filter__toggle:hover, .fl--dark .form li .pagination__button:hover, .fl--dark .form li .cases-filter__toggle:hover {
  background-color: #FFFFFF;
}
@media (min-width: 48em) {
  .fl .formsection__wrapper, .secure-message .formsection__wrapper {
    width: 50%;
  }
}

@media (max-width: 35.99em) {
  form .form li.form__field input,
  form .form li.form__field textarea {
    font-size: 1rem;
  }
}

.intro-content--nsp-bottom {
  padding-bottom: 0;
}
@media (min-width: 64em) {
  .intro-content__content {
    width: 75%;
  }
}
@media (min-width: 80em) {
  .intro-content__content {
    width: 50%;
  }
}

.image-layout__image picture {
  display: block;
  height: 100%;
  width: 100%;
}
.image-layout__image picture img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.image-layout__image picture.image--small {
  aspect-ratio: 16/6;
}
.image-layout__image picture.image--large {
  aspect-ratio: 16/9;
}
.image-layout.fl-vertspace--only-top:has(+ .image-layout), .image-layout.fl-vertspace--only-top:has(+ .images-layout) {
  padding-bottom: var(--spacing-lg);
}
@media (min-width: 48em) {
  .image-layout.fl-vertspace--only-top:has(+ .image-layout), .image-layout.fl-vertspace--only-top:has(+ .images-layout) {
    padding-bottom: var(--spacing-lg);
  }
}

.images-layout__grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
}
.images-layout__grid__image {
  aspect-ratio: 1/1;
  display: block;
  overflow: hidden;
  position: relative;
}
.images-layout__grid__image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.images-layout .full-container .images-layout__grid__image {
  aspect-ratio: 16/10;
}
.images-layout.fl-vertspace--only-top:has(+ .image-layout), .images-layout.fl-vertspace--only-top:has(+ .images-layout) {
  padding-bottom: var(--spacing-md);
}
@media (min-width: 48em) {
  .images-layout__grid {
    gap: var(--spacing-lg);
    grid-template-columns: 1fr 1fr;
  }
  .images-layout__grid--jump .images-layout__grid__image:last-child {
    margin-top: var(--spacing-lg);
  }
  .images-layout.fl-vertspace--only-top:has(+ .image-layout), .images-layout.fl-vertspace--only-top:has(+ .images-layout) {
    padding-bottom: var(--spacing-lg);
  }
}

.magazine__title {
  text-align: center;
}
.magazine__wrapper {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media (min-width: 64em) {
  .magazine__wrapper {
    flex-direction: row;
    justify-content: space-between;
    gap: 3rem;
  }
}

.partners {
  overflow: hidden;
}

.partner-item {
  align-items: center;
  aspect-ratio: 3/4;
  background-color: #FFFFFF;
  box-shadow: var(--theme-box-shadow);
  display: flex;
  justify-content: center;
  overflow: hidden;
  position: relative;
  transition: 0.25s all;
}
.partner-item picture {
  display: block;
  height: 50%;
  width: 79%;
  max-height: 6rem;
}
.partner-item picture img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  width: 100%;
}
@media (hover: none) {
  .partner-item:focus.has-link {
    box-shadow: 0 10px 20px -7px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    transform: translateY(-3px);
  }
}
@media (hover: hover) {
  .partner-item:hover.has-link {
    box-shadow: 0 10px 20px -7px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    transform: translateY(-3px);
  }
}

.process-steps {
  --item-margin: 0.75rem;
  --number-size: 1.125rem;
}
.process-steps__grid {
  display: grid;
  gap: var(--spacing-md);
  grid-template-columns: 1fr;
}
.process-steps__content {
  display: grid;
  grid-gap: var(--spacing-md);
  grid-template-columns: 1fr;
}
.process-steps__image {
  aspect-ratio: 1/1;
  display: block;
  height: 100%;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.process-steps__image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.process-steps__item {
  position: relative;
}
.process-steps__item__header {
  align-items: center;
  display: flex;
  margin-bottom: var(--spacing-xs);
}
.process-steps__item__header span {
  display: block;
  font-family: "alegreya-sans", sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1;
  transform: translateY(-0.25rem);
  width: var(--number-size);
}
.process-steps__item__header__line {
  background-color: var(--grayDark);
  display: block;
  height: 2.5rem;
  margin: 0 var(--item-margin);
  opacity: 0.5;
  width: 1px;
}
.process-steps__item__header__title {
  color: var(--themeColor);
  font-family: "brandon-grotesque", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.02125rem;
  line-height: 111.765%;
  text-transform: uppercase;
}
.process-steps__item p {
  margin-bottom: 0;
  padding-left: calc(var(--item-margin) * 2 + var(--number-size) + 1px);
}
.process-steps__button {
  margin-top: var(--spacing-lg);
  text-align: center;
}
@media (min-width: 64em) {
  .process-steps__grid {
    align-items: center;
    box-shadow: var(--theme-box-shadow);
    grid-gap: 0;
    grid-template-columns: repeat(2, 1fr);
  }
  .process-steps__image img {
    -o-object-position: center;
       object-position: center;
    position: absolute;
  }
  .process-steps__content {
    background-color: var(--white);
    padding: 3rem;
  }
}
@media (min-width: 80em) {
  .process-steps {
    --item-margin: 1rem;
    --number-size: 1.5rem;
  }
  .process-steps__content {
    padding: 4rem;
  }
  .process-steps__item__header {
    margin-bottom: var(--spacing-sm);
  }
  .process-steps__item__header span {
    font-size: 3.75rem;
    transform: translateY(-0.5rem);
  }
  .process-steps__item__header__line {
    height: 3.5rem;
  }
  .process-steps__item__header__title {
    font-size: 2.125rem;
    letter-spacing: -0.02125rem;
  }
}

.cases {
  background-color: #FFFFFF;
  padding: calc(var(--blockMargin) / 2) 0 var(--blockMargin);
  margin-top: var(--blockMargin);
}
.cases__title {
  margin-bottom: 2rem;
  margin-top: var(--spacing-md);
  text-align: center;
}
.cases__results {
  display: grid;
  gap: 3rem;
  grid-template-columns: 1fr;
}
.cases__results .case-item {
  animation: animateIn 0.4s;
}
.cases__load-more {
  margin: auto;
  display: block;
  text-align: center;
}
@media (min-width: 48em) {
  .cases {
    margin-top: calc(var(--blockMargin) * 1.5);
    padding: 0 0 var(--blockMargin);
    padding-top: 0;
  }
  .cases__title {
    margin-top: var(--spacing-xl);
  }
  .cases__results {
    gap: 3.75rem;
    grid-template-columns: 1fr 1fr;
    margin-bottom: calc(var(--blockMargin) / 1.5);
  }
  .cases__subfilter {
    display: flex;
    justify-content: center;
    margin-top: 2rem;
  }
  .cases__subfilter__button {
    font-size: 1rem;
    margin: 0 0.5rem;
  }
}
@media (min-width: 80em) {
  .cases__results {
    gap: 5rem;
    grid-template-columns: 1fr 1fr 1fr;
  }
}

@keyframes animateIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .cases * {
    animation: none !important;
    transition: none !important;
  }
}
.pros__items {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
}
.pros .btn, .pros .sign-filter__toggle, .pros .pagination__button, .pros .cases-filter__toggle {
  margin-top: var(--spacing-lg);
}
.pros.fl--green .pro-item span {
  color: var(--black);
}
.pros.fl--green .pro-item h4 {
  color: var(--white);
}
.pros.fl--dark .pro-item span {
  color: var(--white);
}
.pros.fl--dark .pro-item span::after {
  background-color: rgba(225, 225, 225, 0.3);
}
.pros.fl--dark .pro-item h4 {
  color: var(--white);
}
@media (min-width: 48em) {
  .pros__items {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 64em) {
  .pros__items {
    display: grid;
    gap: var(--spacing-lg);
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.related-projects {
  overflow: hidden;
}
.related-projects__controls {
  align-items: flex-start;
  display: flex;
  flex-direction: column-reverse;
  gap: 2rem;
  margin-top: var(--spacing-lg);
}
.related-projects__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  grid-auto-flow: dense;
  position: relative;
}
.related-projects.fl--dark .case-item h4 {
  color: var(--gray);
}
@media (min-width: 36em) {
  .related-projects__controls {
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
  }
  .related-projects__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .related-projects__grid::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    height: 50%;
    width: 100%;
    background: linear-gradient(to bottom, transparent, var(--white));
  }
  .related-projects__grid .sign-item:nth-child(3n) {
    grid-column: span 2;
  }
  .related-projects__grid .sign-item:nth-child(3n) picture {
    aspect-ratio: 16/7;
  }
  .related-projects--sign .related-projects__controls {
    justify-content: center;
    margin-top: var(--spacing-lg);
  }
  .related-projects.fl--dark .related-projects__grid::after {
    background: linear-gradient(to bottom, transparent, var(--black));
  }
}
@media (min-width: 80em) {
  .related-projects__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .related-projects__grid .sign-item:nth-child(3n) {
    grid-column: span 1;
  }
  .related-projects__grid .sign-item:nth-child(3n) picture {
    aspect-ratio: 1/1;
  }
  .related-projects__grid .sign-item:nth-child(4n) {
    grid-column: span 2;
  }
  .related-projects__grid .sign-item:nth-child(4n) picture {
    aspect-ratio: 16/7;
  }
}

.reviews .title {
  text-align: center;
}
.reviews__grid {
  align-items: start;
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr 1fr;
}
.reviews__grid__item {
  height: 100%;
}
.reviews-item {
  background-color: #FFFFFF;
  color: #141414;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: space-between;
  padding: 2rem;
}
.reviews-item p {
  color: #141414;
  margin-bottom: 0;
}
.reviews-item__seperator {
  display: inline-block;
  margin: 1.625rem 0 1rem;
  width: 2.5rem;
}
.reviews-item__name {
  font-family: "alegreya-sans", sans-serif;
  font-weight: 700;
  line-height: 1.3;
}
.reviews-item__company {
  font-size: 0.875rem;
}
@media (max-width: 35.99em) {
  .reviews__grid {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 48em) {
  .reviews-item {
    padding: 3rem;
  }
  .reviews-item__company {
    font-size: 1rem;
  }
}
@media (min-width: 64em) {
  .reviews__grid {
    gap: 3rem;
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 80em) {
  .reviews-item {
    padding: 4rem;
  }
}

.seo-content .container {
  display: flex;
  flex-direction: column;
  grid-gap: var(--spacing-lg);
}
.seo-content__content {
  display: block;
  width: 100%;
}
.seo-content__content .btn-container {
  margin-top: var(--spacing-md);
}
.seo-content__image {
  aspect-ratio: 4/3;
  display: block;
  height: auto;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.seo-content__image-container {
  display: block;
  width: 100%;
}
.seo-content__image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  position: absolute;
  width: 100%;
}
@media (max-width: 47.99em) {
  .seo-content {
    padding-bottom: 0;
  }
  .seo-content__image {
    aspect-ratio: 10/8;
    margin: 0 calc(-1 * 2rem);
    width: calc(100% + 2 * 2rem);
  }
}
@media (min-width: 48em) {
  .seo-content .container {
    flex-direction: row;
  }
  .seo-content__content {
    margin-top: var(--spacing-lg);
  }
  .seo-content--left .container {
    flex-direction: row-reverse;
  }
}
@media (min-width: 80em) {
  .seo-content .container {
    grid-gap: 4rem;
  }
}

.service-form__wrapper {
  background-color: #FFFFFF;
  padding: 2rem;
  position: relative;
  z-index: 10;
  transition: 0.4s all;
}
.service-form__intro__column picture {
  display: block;
  margin: auto;
  width: 100%;
  max-width: 12rem;
}
.service-form__intro__column:nth-child(2) {
  display: none;
}
.service-form__intro__column:last-child {
  margin-bottom: 2rem;
}
.service-form__intro__person {
  color: var(--black);
  display: block;
  font-family: "brandon-grotesque", sans-serif;
  font-weight: 700;
  letter-spacing: 1.3px;
  text-transform: uppercase;
}
.service-form__form {
  color: #141414;
}
.service-form__form__column h4 {
  margin-top: 0;
}
.service-form__form .lower {
  text-transform: lowercase;
}
.service-form__form strong {
  display: block;
  margin-bottom: 0.5rem;
}
.service-form__form h3, .service-form__form .jobopening-single__subtitle {
  color: #141414;
  font-weight: 900;
  margin-bottom: 2.5rem;
}
.service-form__form.form li:last-child, .service-form__form.form__field {
  margin-bottom: 2rem;
}
.service-form__form.form li .checkbox__label,
.service-form__form.form li label {
  color: #141414;
}
.service-form__form.form li input[type=radio] + span {
  color: #141414;
}
.service-form__form.form li input[type=radio] + span::before {
  border-color: #141414;
}
.service-form__form.form li input[type=radio]:hover + span {
  color: var(--themeColor);
}
.service-form__form.form li input[type=radio]:hover + span::before {
  border-color: var(--themeColor);
}
.service-form__form .btn, .service-form__form .sign-filter__toggle, .service-form__form .pagination__button, .service-form__form .cases-filter__toggle {
  margin-top: 1rem;
}
.service-form__success {
  background-color: var(--themeColor);
  color: var(--white);
  font-weight: 700;
  margin: 2rem 4rem;
  padding: 1rem 2rem;
}
.service-form.fl--dark .service-form__intro__person {
  color: var(--gray);
}
@media (max-width: 35.99em) {
  .service-form {
    padding-bottom: 0;
  }
  .service-form__wrapper {
    padding: 2rem;
    margin-left: -2rem;
    margin-right: -2rem;
  }
  .service-form__form.form li input {
    font-size: 1rem;
  }
  .service-form__form__column:first-child {
    margin-bottom: 0;
    padding: 1rem 0;
  }
}
@media (min-width: 48em) {
  .service-form__wrapper {
    padding: 3rem;
    box-shadow: var(--theme-box-shadow);
  }
  .service-form__intro {
    align-items: stretch;
    display: flex;
    flex-direction: row;
  }
  .service-form__intro__column {
    flex: 0 0 25%;
    padding: 2rem 0;
  }
  .service-form__intro__column:first-child {
    flex: 0 0 40%;
    margin-bottom: 0;
  }
  .service-form__intro__column:nth-child(2) {
    display: block;
    position: relative;
  }
  .service-form__intro__column:last-child {
    flex: 0 0 33%;
    margin-bottom: 0;
    margin-top: calc(var(--spacing-lg) + var(--spacing-sm));
  }
  .service-form__intro__column h2 {
    margin-bottom: calc(var(--spacing-lg) * 2);
    font-weight: 700;
  }
  .service-form__intro__column picture {
    position: absolute;
    inset: 0;
    max-width: 100%;
  }
  .service-form__intro__column picture img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: center bottom;
       object-position: center bottom;
  }
}
@media (min-width: 64em) {
  .service-form__wrapper {
    padding: 3rem 0;
  }
  .service-form__form {
    display: flex;
    flex-direction: row;
    max-width: 100%;
  }
  .service-form__form__column {
    flex: 0 0 50%;
    padding: 0 3rem;
  }
  .service-form__form__column:last-child {
    border-left: 1px solid rgba(0, 0, 0, 0.3);
  }
}
@media (min-width: 80em) {
  .service-form__wrapper {
    padding: 4rem 0;
  }
  .service-form__intro__column:last-child {
    flex: 0 0 25%;
  }
  .service-form__form__column {
    padding: 0 4rem;
  }
}

.services-grid-sign {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
}
@media (min-width: 48em) {
  .services-grid-sign {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 64em) {
  .services-grid-sign {
    gap: 3rem;
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 80em) {
  .services-grid-sign {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

.service-item-sign {
  display: block;
  position: relative;
  width: 100%;
}
.service-item-sign header {
  aspect-ratio: 1/1;
  padding: 1rem;
  transition: 0.25s all;
}
.service-item-sign header picture {
  display: block;
  height: 100%;
  width: 100%;
}
.service-item-sign header picture img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  width: 100%;
}
.service-item-sign h3, .service-item-sign .jobopening-single__subtitle {
  color: #141414;
  font-size: 1.125rem;
  letter-spacing: 0.045rem;
  margin-top: 1rem;
}
.service-item-sign--dark header {
  background: transparent linear-gradient(300deg, #141414 0%, #000000 44%, #141414 100%, #000000 100%) 0% 0% no-repeat padding-box;
}
.service-item-sign--gray header {
  background-color: #ffffff;
}
.service-item-sign--green header {
  background-color: var(--themeColor);
}
@media (hover: none) {
  .service-item-sign:focus {
    cursor: pointer;
  }
  .service-item-sign:focus header {
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.3);
    transform: translateY(-2px);
  }
}
@media (hover: hover) {
  .service-item-sign:hover {
    cursor: pointer;
  }
  .service-item-sign:hover header {
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.3);
    transform: translateY(-2px);
  }
}
.service-item-sign:has(.stretched-link:focus-visible) {
  outline: -webkit-focus-ring-color auto 1px;
}

.services__wrapper {
  display: block;
}
.services-grid {
  display: grid;
  gap: 3rem;
  grid-template-columns: 1fr;
}
@media (min-width: 48em) {
  .services-grid {
    gap: 3rem;
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 64em) {
  .services-grid {
    gap: 4rem;
  }
}
@media (min-width: 80em) {
  .services-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.service-item {
  position: relative;
}
.service-item h4 {
  align-items: center;
  color: var(--themeColor);
  display: flex;
  margin: 0 0 var(--spacing-sm);
  transition: 0.25s all;
}
.service-item h4 .icon {
  fill: var(--black);
  height: 1.25rem;
  margin-left: 1rem;
  margin-top: 0.375rem;
  transition: 0.25s all;
}
.service-item p {
  margin: 0;
}
@media (hover: none) {
  .service-item:focus {
    cursor: pointer;
  }
  .service-item:focus h4 {
    color: var(--black);
  }
  .service-item:focus h4 .icon {
    transform: translateX(5px);
  }
}
@media (hover: hover) {
  .service-item:hover {
    cursor: pointer;
  }
  .service-item:hover h4 {
    color: var(--black);
  }
  .service-item:hover h4 .icon {
    transform: translateX(5px);
  }
}
.service-item:has(.stretched-link:focus-within) {
  outline: -webkit-focus-ring-color auto 1px;
}

.sign-overview {
  background-color: var(--white);
  padding: calc(var(--blockMargin) / 2) 0 var(--blockMargin);
}
.sign-overview__title {
  margin-bottom: var(--spacing-xl);
}
.sign-overview__grid {
  align-items: flex-start;
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
}
.sign-overview__results__grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
}
.sign-overview__results__pagination {
  display: block;
  margin-top: var(--spacing-xl);
  text-align: center;
}
@media (min-width: 36em) {
  .sign-overview__results__grid {
    gap: var(--spacing-lg);
    grid-template-columns: 1fr 1fr;
  }
  .sign-overview__results__grid .sign-item:nth-child(3) {
    aspect-ratio: 16/8;
    grid-column: 2 span;
  }
}
@media (min-width: 48em) {
  .sign-overview {
    padding: var(--blockMargin) 0;
  }
  .sign-overview__grid {
    gap: 2rem;
    grid-template-columns: 3fr 9fr;
  }
}
@media (min-width: 64em) {
  .sign-overview__grid {
    gap: 4rem;
  }
}

.steps {
  overflow: hidden;
}
.steps h2 {
  margin-bottom: 3rem;
}
.steps__slider__step {
  background-color: #FFFFFF;
  border-radius: 3px;
  box-shadow: var(--theme-box-shadow);
  padding: 2rem;
  height: 100%;
}
.steps__slider__step__subtitle {
  margin-bottom: var(--spacing-md);
}
.steps__slider__step__title {
  color: var(--themeColor);
}
.steps__slider__step__description {
  color: #404040;
  margin-bottom: 3rem;
  margin-top: 1.5rem;
  min-height: 6rem;
}
@media (min-width: 36em) {
  .steps__slider__step {
    padding: 3rem;
  }
}
.steps-swiper:hover {
  cursor: grab;
}

.team__grid {
  display: grid;
  gap: 3rem;
  grid-template-columns: 1fr;
}
@media (min-width: 48em) {
  .team__grid {
    gap: 3rem 4rem;
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 64em) {
  .team__grid {
    gap: 3rem 5rem;
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 80em) {
  .team__grid {
    gap: 3rem 7rem;
  }
}

.text-links {
  overflow: hidden;
}
.text-links-swiper {
  margin-top: 3rem;
}
.text-links__item {
  background-color: var(--white);
  color: var(--black);
  display: block;
  height: 100%;
  padding: 2rem 2rem;
  padding-bottom: 3.625rem;
  position: relative;
}
.text-links__item::after {
  background-color: var(--white);
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: 0.25s all;
  width: 100%;
  z-index: -1;
}
.text-links__item h4 {
  color: var(--themeColor);
  font-size: 1.75rem;
  line-height: 1;
  margin: 0;
  margin-bottom: 1rem;
}
.text-links__item p {
  color: var(--black);
}
.text-links__item a {
  text-decoration: none;
  transition: 0.25s all;
}
.text-links__item__button {
  bottom: 2rem;
  color: var(--grayDark);
  font-family: var(--title-font);
  font-size: 1rem;
  font-weight: 700;
  left: 2rem;
  letter-spacing: 2.3px;
  position: absolute;
  text-transform: uppercase;
  transition: 0.25s all;
}
.text-links__item:has(.stretched-link:focus-visible) {
  outline: -webkit-focus-ring-color auto 1px;
}
@media (hover: none) {
  .text-links__item:focus {
    cursor: pointer;
  }
  .text-links__item:focus::after {
    background-color: var(--themeColor);
    transform: scale(1.02);
  }
  .text-links__item:focus .text-links__item__button {
    color: var(--themeColor);
  }
}
@media (hover: hover) {
  .text-links__item:hover {
    cursor: pointer;
  }
  .text-links__item:hover::after {
    background-color: var(--themeColor);
    transform: scale(1.02);
  }
  .text-links__item:hover .text-links__item__button {
    color: var(--themeColor);
  }
}
.text-links__button {
  margin-top: 3rem;
}
@media (min-width: 48em) {
  .text-links__item {
    font-size: 1.375rem;
    padding: 3rem 3rem;
    padding-bottom: 5.625rem;
  }
  .text-links__item h4 {
    font-size: 2.25rem;
  }
  .text-links__item__button {
    bottom: 3rem;
    left: 3rem;
  }
}

.text-with-large-image {
  padding: 0;
}
.text-with-large-image .container {
  padding: calc(var(--blockMargin) / 2) 0;
}
.text-with-large-image__buttons {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: var(--spacing-md);
}
.text-with-large-image__image picture {
  display: block;
  height: 300px;
  position: relative;
  width: 100%;
}
.text-with-large-image__image picture img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
}
.text-with-large-image p {
  margin-bottom: 0;
  margin-top: var(--spacing-sm);
}
@media (min-width: 48em) {
  .text-with-large-image .container {
    align-items: flex-end;
    display: flex;
    justify-content: space-between;
  }
  .text-with-large-image__titles {
    flex: 0 0 50%;
  }
  .text-with-large-image__buttons {
    gap: 2rem;
    justify-content: flex-end;
    margin-top: 0;
  }
  .text-with-large-image__image {
    margin: 0 2rem;
  }
  .text-with-large-image__image picture {
    aspect-ratio: 16/5;
    height: 100%;
    width: 100%;
  }
}
@media (min-width: 90em) {
  .text-with-large-image__image picture {
    aspect-ratio: 16/4;
  }
}

.usp {
  padding-bottom: calc(var(--blockMargin) / 2);
  padding-top: calc(var(--blockMargin) / 2);
  z-index: 10;
}
.usp.fl-vertspace--only-top {
  padding-bottom: 0;
}
.usp.fl-vertspace--only-bottom {
  padding-top: 0;
}
.usp .container {
  display: grid;
  gap: 1rem 2rem;
  grid-template-columns: 1fr;
}
.usp-item {
  align-items: center;
  display: flex;
  gap: 1rem;
}
.usp-item__icon {
  align-items: center;
  background-color: var(--themeColor);
  display: flex;
  flex-shrink: 0;
  height: 2.625rem;
  justify-content: center;
  position: relative;
  width: 2.625rem;
}
.usp-item__icon svg {
  fill: #FFFFFF;
  height: 1.25rem;
  width: 1.25rem;
}
.usp-item p {
  font-family: "alegreya-sans", sans-serif;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 0;
}
.usp-item--single .usp-item__icon {
  background-color: var(--themeColor);
  border-radius: 50%;
  box-shadow: var(--theme-box-shadow);
  height: 3.75rem;
  width: 3.75rem;
}
.usp-item--single .usp-item__icon svg {
  fill: var(--white);
  height: 1.75rem;
  width: 1.75rem;
}
.usp-item--single p {
  font-weight: 400;
}
.usp.fl--green .usp-item--single .usp-item__icon, .usp.fl--green-pattern .usp-item--single .usp-item__icon {
  background-color: var(--white);
}
.usp.fl--green .usp-item--single .usp-item__icon svg, .usp.fl--green-pattern .usp-item--single .usp-item__icon svg {
  fill: var(--themeColor);
}
@media (max-width: 35.99em) {
  .usp-item {
    display: flex;
    margin: 1rem 0;
  }
}
@media (min-width: 48em) {
  .usp .container {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 80em) {
  .usp .container {
    align-items: center;
    display: flex;
    gap: 1rem 4rem;
    justify-content: space-between;
  }
}

.usp-with-content .container {
  display: grid;
  gap: var(--spacing-lg);
  grid-template-columns: 1fr;
}
@media (min-width: 36em) {
  .usp-with-content__items {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, 1fr);
  }
  .usp-with-content__items .usp-item {
    margin: 1rem 0;
  }
}
@media (min-width: 64em) {
  .usp-with-content .container {
    align-items: center;
    grid-template-columns: 1fr 1fr;
  }
  .usp-with-content__items {
    display: block;
    padding: var(--spacing-sm) 0 var(--spacing-sm) var(--spacing-md);
    position: relative;
  }
  .usp-with-content__items::before {
    background-color: rgba(0, 0, 0, 0.2);
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 1px;
  }
}

.steps {
  position: relative;
}
.steps__slider {
  margin: 0 0 var(--marginElement2Button);
}
.steps__slider__step {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.steps__slider__step__icon {
  color: var(--themeIcon, var(--theme-primary, #000000));
  fill: var(--themeIcon, var(--theme-primary, #000000));
  height: 3rem;
  margin: 0 0 var(--marginElement2Element, 1em);
  width: 3rem;
}
.steps__slider__step__title {
  font-weight: 700;
}
.steps__slider:has(.steps__slider__step__icon) .steps__slider__step:not(:has(> .steps__slider__step__icon))::before {
  content: "";
  display: block;
  height: 3rem;
  margin: 0 0 var(--marginElement2Element, 1em);
}
@media (max-width: 47.99em) {
  .steps__buttons {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
  }
}
@media (min-width: 48em) {
  .steps .container {
    display: flex;
    flex-direction: column;
  }
}
@media (min-width: 80em) {
  .steps__grid__step__title {
    font-size: 1.5rem;
  }
}

.vacatures h2 + div:not(.vacatures__swiper),
.vacatures h2 + div:not(.vacatures__grid) {
  margin-bottom: 2rem;
}
.vacatures__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (min-width: 48em) {
  .vacatures__grid {
    gap: 3rem;
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 64em) {
  .vacatures__grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 80em) {
  .vacatures h2 + div:not(.vacatures__swiper),
  .vacatures h2 + div:not(.vacatures__grid) {
    margin-bottom: 4rem;
  }
}

.applicationform__form {
  display: block;
  margin: auto;
  width: 100%;
}
.applicationform__form .form__field {
  margin-bottom: 2rem;
}
.applicationform__form .form__field label {
  color: #FFFFFF;
}
@media (min-width: 48em) {
  .applicationform__form {
    width: 50%;
  }
}

.blogindex {
  margin-top: 0;
  padding-top: 0;
}
.blogindex .blog-filter {
  background-color: #D9D9D9;
  display: block;
  margin-bottom: 2rem;
  padding: 2rem;
}
.blogindex .blog-filter__reset {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  font-size: 1rem;
  position: absolute;
  right: 2rem;
  top: 2rem;
  transition: 0.25s all;
}
.blogindex .blog-filter__reset:hover {
  cursor: pointer;
  text-decoration: underline;
}
.blogindex .blog-filter h4 {
  margin: 0;
}
.blogindex .blog-filter input {
  display: block;
}
.blogindex .blog-filter__childs {
  display: block;
  margin-left: 1rem;
}
.blogindex .blog-filter .checkbox__input {
  opacity: 0;
  position: absolute;
  z-index: -1;
}
.blogindex .blog-filter .checkbox__input:checked + .checkbox__label::before {
  background-color: #141414;
  border-color: #141414;
}
.blogindex .blog-filter .checkbox__input:checked + .checkbox__label::after {
  opacity: 1;
}
.blogindex .blog-filter .checkbox__input:focus + .checkbox__label::before {
  outline: 2px solid var(--themeColor);
}
.blogindex .blog-filter .checkbox__label {
  cursor: pointer;
  display: inline-block;
  font-family: "playfair-display", serif;
  font-size: 1rem;
  padding-left: 25px;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.blogindex .blog-filter .checkbox__label::before {
  background-color: rgba(255, 255, 255, 0);
  border: 2px solid #333;
  content: "";
  height: 16px;
  left: 0;
  position: absolute;
  top: 3px;
  transition: 0.25s all;
  width: 16px;
}
.blogindex .blog-filter .checkbox__label::after {
  border: solid white;
  border-width: 0 2px 2px 0;
  content: "";
  height: 9px;
  left: 6px;
  opacity: 0;
  position: absolute;
  top: 5px;
  transform: rotate(45deg);
  transition: 0.25s all;
  width: 5px;
}
.blogindex .blog-filter .checkbox:hover .checkbox__label::before {
  background-color: rgba(var(--themeColor), 0.5);
  cursor: pointer;
}
@media (min-width: 48em) {
  .blogindex .container {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
  }
  .blogindex .blog-filter {
    flex: 0 0 calc(30% - 1rem);
    height: auto;
    position: sticky;
    top: 1rem;
  }
}
@media (min-width: 80em) {
  .blogindex .blog-filter {
    flex: 0 0 calc(20% - 1rem);
  }
}

.blog-results {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
}
@media (min-width: 48em) {
  .blog-results {
    grid-template-columns: 1fr 1fr;
  }
  .blog-results--with-filter {
    flex: 0 0 calc(70% - 1rem);
  }
}
@media (min-width: 80em) {
  .blog-results {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .blog-results--with-filter {
    flex: 0 0 calc(80% - 1rem);
  }
}

.cases-filter__toggle {
  display: flex;
  flex-direction: row;
}
.cases-filter__toggle svg {
  margin-right: var(--spacing-sm);
  width: 1rem;
}
.cases-filter__toggle span {
  position: relative;
}
.cases-filter__toggle span::after, .cases-filter__toggle span::before {
  background-color: var(--white);
  content: "";
  display: block;
  height: 1px;
  left: calc(var(--spacing-md, 0) * -1);
  opacity: 0;
  position: absolute;
  top: 50%;
  transition: 0.25s all;
  width: 1rem;
}
.cases-filter__toggle span::after {
  transform: translateY(-50%) rotate(45deg);
}
.cases-filter__toggle span::before {
  transform: translateY(-50%) rotate(-45deg);
}
.cases-filter__toggle + input[type=checkbox] {
  display: none;
}
.cases-filter__toggle:has(+ input:checked) span::before, .cases-filter__toggle:has(+ input:checked) span::after {
  opacity: 1;
}
.cases-filter__toggle:has(+ input:checked) svg {
  opacity: 0;
}
.cases-filter__toggle:hover span::after, .cases-filter__toggle:hover span::before {
  background-color: var(--black);
}
.cases-filter__button {
  align-items: center;
  background-color: var(--themeColor);
  border: none;
  color: #FFFFFF;
  display: inline-flex;
  justify-content: center;
  flex: 0 0 calc(50% - 0.5rem);
  font-family: "brandon-grotesque", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 2.3px;
  padding: 1rem 0.5rem;
  text-transform: uppercase;
  text-decoration: none;
  transition: 0.25s all;
}
.cases-filter__button--all {
  flex: 0 0 100%;
}
.cases-filter__button.active {
  background-color: var(--black);
  color: var(--themeColor);
}
.cases-filter__button:hover {
  background: var(--black);
  color: var(--white);
  cursor: pointer;
}
.cases-filter__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  height: 0;
  interpolate-size: allow-keywords;
  margin: 0;
  overflow: hidden;
  position: relative;
  transition: 0.25s all;
}
.cases-filter:has(input#case-filter:checked) .cases-filter__nav {
  height: auto;
  padding-top: var(--spacing-md);
}
@media (min-width: 48em) {
  .cases-filter__toggle {
    background: transparent;
    border: none;
    display: none;
  }
  .cases-filter__button {
    box-shadow: 11px -8px 15px 0 inset rgba(0, 0, 0, 0.2);
    display: inline-block;
    flex: none;
    padding: 1rem 1rem;
    position: relative;
  }
  .cases-filter__button.active {
    background-color: var(--white);
    box-shadow: none;
    color: var(--black);
  }
  .cases-filter__nav {
    gap: 0;
    height: auto;
    justify-content: center;
    margin-bottom: -50px;
    margin-top: -50px;
    overflow: visible;
    position: relative;
    position: initial;
    transform: translateY(-100%);
  }
}
@media (min-width: 80em) {
  .cases-filter__button {
    font-size: 1.125rem;
    padding: 1.25rem 2.5rem;
  }
  .cases-filter__nav {
    margin-bottom: -66px;
  }
}

@property --footerTranslate {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --footerOpacity {
  syntax: "<number>";
  inherits: false;
  initial-value: 1;
}
.footer {
  --_footerTranslate: var(--footerTranslate);
  --_footerOpacity: var(--footerOpacity);
  animation-name: translateUp;
  animation-range: entry 0% contain 100%;
  animation-timeline: view(block);
  background-color: var(--black);
  color: var(--gray);
  font-size: 1.125rem;
  line-height: 1.625rem;
  overflow: hidden;
  padding-top: 8rem;
  position: relative;
}
.footer .icon--iq {
  color: var(--themeColor);
  height: auto;
  left: 0;
  position: absolute;
  top: -2rem;
  width: 14rem;
}
.footer .icon--artestiq-art {
  color: var(--gray);
  height: 2.875rem;
  position: absolute;
  right: 0;
  top: 20rem;
  transform: translateY(calc(var(--_footerTranslate) * 2)) rotate(-90deg);
  transform-origin: right bottom;
  width: 8rem;
}
.footer__container {
  display: flex;
  flex-direction: column;
  grid-gap: 3rem;
  margin-top: var(--spacing-md);
}
.footer__column {
  display: flex;
  flex-direction: column;
  grid-gap: 0.25rem;
}
.footer__column .title {
  color: var(--themeColor);
  display: block;
  font-family: "brandon-grotesque", sans-serif;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 2rem;
  margin-bottom: var(--spacing-sm);
  text-transform: uppercase;
}
.footer__column__adress span {
  font-weight: 700;
}
.footer__column__adress:not(:last-child) {
  margin-bottom: var(--spacing-md);
}
.footer__column span {
  display: block;
}
.footer__column a {
  color: var(--gray);
  display: block;
  text-decoration: none;
  transition: 0.25s all;
}
.footer__column a:hover {
  color: var(--themeColor);
  cursor: pointer;
  text-decoration: underline;
}
.footer__column ul {
  display: flex;
  flex-direction: column;
  grid-gap: 0.25rem;
}
.footer__column ul li svg {
  display: none;
}
.footer__slogan {
  font-family: "brandon-grotesque", sans-serif;
  font-size: 2.125rem;
  font-weight: 300;
  line-height: 3.125rem;
  margin-top: var(--spacing-base);
  text-transform: uppercase;
}
.footer__social-media {
  display: flex;
  flex-direction: row;
  margin: var(--spacing-base) 0;
}
.footer__social-media li a {
  align-items: center;
  border-left: 1px solid color-mix(in srgb, var(--themeColor) 100%, transparent 80%);
  color: var(--themeColor);
  display: flex;
  height: 3rem;
  justify-content: center;
  transition: 0.25s all;
  width: 3.5rem;
}
.footer__social-media li a svg {
  display: block;
  height: 1.375rem;
  width: 1.375rem;
}
.footer__social-media li a:hover {
  border-color: var(--white);
  color: var(--white);
}
.footer__social-media li:last-child a {
  border-right: 1px solid color-mix(in srgb, var(--themeColor) 100%, transparent 80%);
}
.footer__bottom {
  color: var(--footerGray);
  font-size: 0.875rem;
}
.footer__bottom a {
  color: var(--footerGray);
  text-decoration: none;
  transition: 0.25s all;
}
.footer__bottom a:hover {
  color: var(--white);
  text-decoration: underline;
}
@media (min-width: 36em) {
  .footer__container {
    flex-direction: row;
    grid-gap: 4.375rem;
  }
  .footer__bottom ul {
    display: inline-flex;
    flex-direction: row;
    gap: 0.25rem;
  }
  .footer__bottom ul li::before {
    color: var(--footerGray);
    content: "|";
    margin: 0 0.25rem;
  }
}
@media (min-width: 48em) {
  .footer .icon--iq {
    height: 10rem;
    left: 0;
    top: -2rem;
  }
  .footer .icon--artestiq-art {
    height: 4.75rem;
    right: -0.25rem;
    width: 12.5rem;
  }
  .footer__container {
    grid-gap: 4.875rem;
    margin-top: var(--spacing-lg);
  }
  .footer__social-media {
    margin-top: var(--spacing-lg);
  }
}
@media (min-width: 64em) {
  .footer .icon--iq {
    height: 19rem;
    left: 60%;
    width: 35rem;
  }
  .footer .icon--artestiq-art {
    height: 2.75rem;
    left: -0.25rem;
    right: auto;
    top: 0rem;
    transform: translateY(calc(var(--_footerTranslate) * 2)) rotate(90deg);
    transform-origin: left bottom;
    width: 12.5rem;
  }
  .footer__container {
    margin-top: 0;
  }
  .footer__slogan {
    display: grid;
    grid-template-columns: 8fr 4fr;
  }
  .footer__slogan span {
    display: inline-block;
    grid-column: 2/2;
  }
}
@media (min-width: 80em) {
  .footer .icon--iq {
    height: 25rem;
    left: 60vw;
    width: 42rem;
    transform: translateY(calc(-1 * var(--_footerTranslate)));
    opacity: var(--_footerOpacity);
  }
  .footer .icon--artestiq-art {
    height: 4rem;
  }
  .footer__slogan {
    grid-template-columns: 7fr 5fr;
  }
  .footer__social-media {
    margin-bottom: var(--spacing-xl);
    margin-top: var(--spacing-xl);
  }
}
@media (min-width: 90em) {
  .footer .icon--iq {
    height: 32rem;
    left: 60vw;
    width: 56rem;
  }
  .footer .icon--artestiq-art {
    height: 6rem;
    top: -2rem;
    width: 18rem;
  }
}

@keyframes translateUp {
  0% {
    --footerTranslate: 100px;
    --footerOpacity: 0;
  }
  50% {
    --footerOpacity: 1;
  }
  100% {
    --footerTranslate: 0px;
  }
}
:root {
  --header-height: 4.25rem;
}
@media (min-width: 80em) {
  :root {
    --header-height: 6rem;
  }
}

.header {
  --logo-color: var(--black);
  --logo-iq-color: var(--projectAccentColor);
  --toggle-color: var(--black);
  background: transparent;
  height: var(--header-height);
  left: 0;
  position: fixed;
  right: 0;
  text-align: center;
  top: 0;
  transition: 0.25s all;
  z-index: 100;
}
.header .container {
  align-items: center;
  display: flex;
  flex-direction: row;
  height: 100%;
  justify-content: flex-end;
}
.header__logo {
  display: block;
  margin-right: auto;
  transition: 0.25s all;
}
.header__logo__wrapper {
  display: block;
  transition: 0.25s all;
}
.header__logo .icon {
  color: var(--logo-color);
  display: block;
  height: 100%;
  width: 100%;
}
.header__logo .logo__iq {
  fill: var(--logo-iq-color);
  transition: 0.25s all;
}
.header .toggle-menu {
  align-items: center;
  color: var(--toggle-color);
  display: flex;
  height: 2.25rem;
  justify-content: center;
  margin-left: 0.75rem;
  position: relative;
  transition: 0.25s all;
  width: 2.25rem;
}
.header .toggle-menu::after, .header .toggle-menu::before {
  border-bottom: 1px solid var(--toggle-color);
  border-top: 1px solid var(--toggle-color);
  content: "";
  display: block;
  height: 8px;
  left: calc(50% - 0.875rem);
  position: absolute;
  transition: 0.25s all;
  width: 1.75rem;
}
.header .toggle-menu::after {
  top: 7px;
}
.header .toggle-menu::before {
  top: 21px;
}
html.menu-open .header .toggle-menu::after, html.menu-open .header .toggle-menu::before {
  background: var(--toggle-color);
  border-bottom-width: 1px;
  border-top-width: 0;
  height: 1px;
  left: calc(50% - 0.875rem);
  top: 50%;
  width: 1.75rem;
}
html.menu-open .header .toggle-menu::after {
  transform: rotate(45deg);
}
html.menu-open .header .toggle-menu::before {
  transform: rotate(-45deg);
}
.header .btn, .header .sign-filter__toggle, .header .pagination__button, .header .cases-filter__toggle {
  display: none;
}
.header:has(+ .hero):not(.header--fixed) {
  --toggle-color: var(--white);
  --logo-color: var(--white);
  --logo-iq-color: var(--white);
}
.header:has(+ .hero):not(.header--fixed) .menu {
  --_menu-link-color: var(--white);
  --_menu-link-color-hover: var(--themeColor);
}
.header:has(+ .hero):not(.header--fixed) .menu__main > li a {
  text-shadow: 0 0 3px black;
}
.header:has(+ .hero):not(.header--fixed) .menu__main > li ul > li > a {
  text-shadow: inherit;
}
.header:has(+ .hero):not(.header--fixed) .menu__main a[data-count]::after {
  color: #FFFFFF;
  transition: 0.25s all;
}
.header:has(+ .hero-half):not(.header--fixed) {
  background: var(--grayLight);
}
.header--fixed {
  background: var(--white);
  box-shadow: 0 0 14px -4px rgba(0, 0, 0, 0.2);
  position: fixed;
}
@media (min-width: 80em) {
  .header {
    height: 10rem;
    padding: 0 2rem;
  }
  .header--fixed {
    height: 6rem;
  }
  .header--fixed .header__logo__wrapper {
    width: 11.125rem;
  }
  .header .container {
    justify-content: space-between;
    max-width: 110rem;
  }
  .header__logo {
    margin-bottom: 2.75rem;
    margin-right: 0;
    margin-top: 2.75rem;
    width: 20rem;
  }
  .header__logo__wrapper {
    width: 15rem;
  }
  .header .toggle-menu {
    display: none;
  }
  .header .btn, .header .sign-filter__toggle, .header .pagination__button, .header .cases-filter__toggle {
    display: inline-block;
  }
}
@media (min-width: 90em) {
  .header {
    padding: 0 4rem;
  }
}
@media (min-width: 160em) {
  .header .container {
    max-width: 140rem;
  }
}

.menu-open .header:has(+ .hero):not(.header--fixed) {
  --logo-color: var(--black);
  --logo-iq-color: var(--projectAccentColor);
  --toggle-color: var(--black);
  background: var(--white);
}

.hero {
  --_background-filter: var(--background-filter);
  overflow: hidden;
  position: relative;
  animation-name: updateFilter;
  animation-timeline: view(block);
  animation-range: exit 0% cover 100%;
}
.hero__main {
  position: relative;
  background-color: var(--whiteGray);
}
.hero__main__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mix-blend-mode: multiply;
}
.hero__main__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  mix-blend-mode: multiply;
}
.hero__main__image::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 75%);
  z-index: 2;
  opacity: 0.75;
  mix-blend-mode: multiply;
}
.hero__main__image::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%);
  z-index: 5;
  opacity: var(--_background-filter);
}
.hero__main__content {
  position: relative;
  z-index: 10;
  padding: 8rem 0 4rem;
}
.hero__main__content h1, .hero__main__content .service-form__intro__column h2, .service-form__intro__column .hero__main__content h2,
.hero__main__content p {
  color: var(--white);
}
.hero__main__content p {
  margin-bottom: var(--spacing-base);
}
@media (min-width: 36em) {
  .hero__main__content {
    padding: 12rem 0 4rem;
  }
}
@media (max-width: 35.99em) {
  .hero__main__content {
    padding: 18rem 0 4rem;
  }
}
@media (min-width: 48em) {
  .hero__main {
    min-height: 100vh;
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
  }
  .hero__main__content {
    padding: 8rem 0 4rem;
    position: relative;
  }
  .hero__main__content h1, .hero__main__content .service-form__intro__column h2, .service-form__intro__column .hero__main__content h2,
  .hero__main__content p {
    max-width: 70%;
  }
}
@media (min-width: 64em) {
  .hero__main__content h1, .hero__main__content .service-form__intro__column h2, .service-form__intro__column .hero__main__content h2,
  .hero__main__content p {
    max-width: 55%;
  }
}
@media (min-width: 80em) {
  .hero__main__image::after {
    background: linear-gradient(0deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 70%);
    opacity: 0.85;
  }
  .hero__main__content {
    padding: 8rem 0 8rem;
  }
}

.hero-half {
  --_background-filter: var(--background-filter);
  margin-top: 4.25rem;
  position: relative;
  overflow: hidden;
  width: 100%;
  background-color: #F5F5F5;
}
.hero-half__content {
  position: relative;
}
.hero-half .hero__content {
  padding: var(--blockMargin) 0;
}
.hero-half .hero__content p {
  margin-bottom: var(--spacing-base);
}
.hero-half picture {
  aspect-ratio: 10/8;
  display: block;
  overflow: hidden;
  position: relative;
}
.hero-half picture img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
}
.hero-half picture .hero__image__icon {
  display: none;
  position: absolute;
  top: 0;
  left: -1rem;
  width: auto;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 10;
}
.hero-half picture .hero__image__icon .halfq {
  fill: #F5F5F5;
}
.hero-half picture::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%);
  z-index: 5;
  opacity: var(--_background-filter);
}
.hero-half picture.hero__image--hide-on-mobile {
  display: none;
}
@media (min-width: 36em) {
  .hero-half picture {
    aspect-ratio: 16/10;
  }
  .hero-half picture .hero__image__icon {
    height: calc(100% + 1rem);
  }
}
@media (min-width: 64em) {
  .hero-half {
    margin-top: 4.25rem;
    animation-name: updateFilter;
    animation-timeline: view(block);
    animation-range-start: exit;
    animation-range-end: cover 100%;
  }
  .hero-half .hero__content {
    width: calc(50% - 1.5rem);
  }
  .hero-half picture {
    height: 100%;
    left: 50vw;
    width: 50vw;
    position: absolute;
    top: 0;
  }
  .hero-half picture .hero__image__icon {
    display: block;
  }
  .hero-half picture.hero__image--hide-on-mobile {
    display: block;
  }
}
@media (min-width: 80em) {
  .hero-half {
    margin: 10rem 0 0;
  }
}

.intro-content--blog h1, .intro-content--blog .service-form__intro__column h2, .service-form__intro__column .intro-content--blog h2 {
  color: var(--themeColor);
}
.intro--vacature {
  margin-bottom: var(--blockMargin);
}
.intro__blocks {
  display: flex;
  flex-direction: column;
}
.intro__blocks__item .intro__image {
  aspect-ratio: 1;
  display: block;
  overflow: hidden;
  position: relative;
}
.intro__blocks__item .intro__image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
}
.intro__blocks__item .intro__content {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: calc(var(--blockMargin) / 2.5);
}
.intro__blocks__item .intro__buttons .btn:nth-child(1), .intro__blocks__item .intro__buttons .sign-filter__toggle:nth-child(1), .intro__blocks__item .intro__buttons .pagination__button:nth-child(1), .intro__blocks__item .intro__buttons .cases-filter__toggle:nth-child(1) {
  margin-right: 2rem;
}
.intro__blocks__item .intro__text {
  margin-top: calc(var(--blockMargin) / 2);
}
@media (min-width: 48em) {
  .intro__blocks {
    flex-direction: row;
    justify-content: space-between;
  }
  .intro__blocks__item {
    flex: 0 0 calc(50% - 1.5rem);
  }
}

.jobopening-single {
  margin: var(--blockMargin) 0;
}
.jobopening-single__subtitle {
  color: var(--themeColor);
  margin-bottom: 0;
}
.jobopening-single__content {
  display: grid;
  gap: 0;
  grid-template-columns: 1fr;
  margin-top: var(--spacing-xl);
}
.jobopening-single__content__column h3, .jobopening-single__content__column .jobopening-single__subtitle {
  color: var(--themeColor);
  font-family: "alegreya-sans", sans-serif;
  font-size: clamp(1.5rem, 1.1rem + 1vw, 2.125rem);
  line-height: 1.2;
  text-transform: none;
}
.jobopening-single__content__column:last-child {
  display: flex;
  flex-direction: column-reverse;
  flex-wrap: wrap;
  gap: var(--spacing-md);
}
.jobopening-single__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: var(--spacing-lg);
}
.jobopening-single__text {
  margin-top: var(--spacing-lg);
}
.jobopening-single__image {
  aspect-ratio: 8/10;
  block-size: auto;
  display: block;
  inline-size: 100%;
  margin-top: var(--spacing-md);
}
.jobopening-single__image img {
  block-size: 100%;
  inline-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.jobopening-single__image--only-desktop {
  display: none;
}
.jobopening-single__image--only-mobile {
  aspect-ratio: 10/9;
  margin: 0 -2rem;
  width: calc(100% + 4rem);
}
@media (max-width: 47.99em) {
  .jobopening-single .intro {
    font-family: "alegreya-sans", sans-serif;
    font-size: inherit;
    font-weight: 300;
  }
}
@media (min-width: 48em) {
  .jobopening-single__content {
    gap: 5rem;
    grid-template-columns: 1fr 1fr;
  }
  .jobopening-single__content__column:last-child {
    flex-direction: column;
  }
  .jobopening-single__text {
    margin-top: var(--spacing-xl);
  }
  .jobopening-single__image--only-desktop {
    display: block;
  }
  .jobopening-single__image--only-mobile {
    display: none;
  }
  .jobopening-single__buttons {
    gap: 2rem;
  }
  .jobopening-single__image {
    margin-top: 0;
  }
}

@property --menu-background {
  inherits: false;
  initial-value: var(--black);
  syntax: "<color>";
}
.menu {
  --_menu-background: var(--menu-background, var(--black));
  --_menu-link-active-color: var(--themeColor);
  --_menu-link-active-hover-color: var(--themeColor);
  --_menu-link-color: var(--menu-link-color, var(--white));
  --_menu-link-hover-color: var(--themeColor);
  --menu-transform: translateX(-100vw);
  background: var(--_menu-background);
  flex-direction: row;
  height: calc(100vh - 4.25rem);
  left: 0;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  overflow-y: auto;
  position: fixed;
  right: 0;
  text-align: left;
  top: 4.25rem;
  transition: 350ms all ease-in-out;
  width: 100vw;
  z-index: 10;
}
#menu-open:checked + .menu {
  max-height: 100vh;
  opacity: 1;
}
#menu-open:checked + .menu .menu__contact,
#menu-open:checked + .menu .menu__about {
  opacity: 1;
}
.menu__main {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 4rem auto;
  max-width: 14rem;
  transition: 0.5s all;
}
.menu__main > li {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding: 0.5rem 0;
  width: 100%;
}
.menu__main > li a {
  color: var(--_menu-link-color);
  cursor: pointer;
  font-family: "brandon-grotesque", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.25;
  padding: 0.5rem 0;
  text-decoration: none;
  text-transform: uppercase;
  transition: 0.25s all;
  white-space: nowrap;
}
.menu__main > li a:is(:focus, :hover) {
  color: var(--_menu-link-hover-color);
}
.menu__main > li a.active {
  color: var(--_menu-link-active-color);
}
.menu__main > li a.active:is(:focus, :hover) {
  color: var(--_menu-link-active-hover-color);
}
.menu__main > li a[data-count] {
  position: relative;
}
.menu__main > li a[data-count]::after {
  background-color: var(--themeColor);
  border-radius: 50%;
  color: var(--black);
  content: attr(data-count);
  display: inline-block;
  font-size: 0.75rem;
  height: 1rem;
  line-height: 1rem;
  padding-left: 0.125rem;
  text-align: center;
  text-shadow: none;
  transform: translate(-0.125rem, -0.5rem);
  width: 1rem;
}
.menu__main > li label.toggle-submenu {
  display: flex;
  height: 1.5rem;
  justify-content: center;
  right: -2rem;
  top: calc(50% - 0.75rem);
  width: 2rem;
}
.menu__main > li label.toggle-submenu svg {
  fill: var(--themeColor);
  width: 1.5rem;
}
.menu__main > li ul {
  --_menu-link-active-color: var(--white);
  --_menu-link-active-hover-color: var(--black);
  --_menu-link-color: var(--black);
  --_menu-link-hover-color: var(--white);
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  left: 100vw;
  margin: auto;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: 0.5s all;
  visibility: hidden;
  width: 100%;
}
.menu__main > li ul li {
  padding: 0.5rem 0;
  width: 100%;
}
.menu__main > li ul li.submenu-back {
  display: flex;
  height: 2rem;
  justify-content: center;
  left: -4rem;
  padding: 0;
  position: absolute;
  top: 0.75rem;
  transform: rotate(180deg);
  width: 2rem;
}
.menu__main > li ul li.submenu-back svg {
  width: 1.5rem;
}
.menu__main > li ul li a {
  display: block;
  font-weight: 100;
  width: 100%;
}
.menu__main > li ul li a:is(:hover, :focus) {
  font-weight: 500;
}
.menu__main > li ul::before {
  background-color: var(--black);
  content: "";
  display: none;
  height: 0;
  left: 50%;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: 0.25s all;
  width: 0.075rem;
}
.menu__main input:checked + label.toggle-submenu::after {
  opacity: 0;
}
.menu__main input:checked + label.toggle-submenu + ul {
  opacity: 1;
  visibility: visible;
}
.menu__main:has(input:checked + label.toggle-submenu + ul) {
  transform: var(--menu-transform);
}
.menu__main > li > ul:focus-within {
  opacity: 1;
  visibility: visible;
}
.menu__main > li:focus-within > ul {
  visibility: visible;
}
.menu__main:has(> li > ul:focus-within) {
  transform: var(--menu-transform);
}
.menu:has(input:checked), .menu:has(.menu__main > li > ul:focus-within) {
  --menu-background: var(--themeColor);
}
@media (max-width: 35.99em) {
  .menu__main li > ul li {
    margin-left: 1rem;
  }
  .menu__main li > ul li.submenu-back {
    left: -3rem;
  }
}
@media (min-width: 80em) {
  .menu {
    --menu-background: transparent;
    --_menu-link-active-hover-color: var(--menu-link-active-hover-color, var(--black));
    --_menu-link-color: var(--black);
    --_menu-link-hover-color: var(--themeColor);
    --menu-transform: translateX(0);
    height: auto;
    max-height: none;
    opacity: 1;
    overflow: visible;
    position: inherit;
    width: auto;
  }
  .menu__main {
    flex-direction: row;
    justify-content: space-between;
    max-width: 100%;
    width: auto;
  }
  .menu__main li {
    line-height: 6rem;
    padding: 0 1.5rem;
    position: relative;
    width: auto;
  }
  .menu__main li > a,
  .menu__main li > label.toggle-submenu,
  .menu__main li > label.toggle-submenu a,
  .menu__main li > span {
    font-size: 0.875rem;
    letter-spacing: 3.2px;
    line-height: 6rem;
    padding: 0;
  }
  .menu__main li > a.active,
  .menu__main li > label.toggle-submenu.active,
  .menu__main li > label.toggle-submenu a.active,
  .menu__main li > span.active {
    font-weight: 900;
  }
  .menu__main li label.toggle-submenu {
    display: none;
  }
  .menu__main li label.toggle-submenu + ul {
    --_menu-link-active-color: var(--black);
    --_menu-link-active-hover-color: var(--black);
    --_menu-link-color: var(--white);
    --_menu-link-hover-color: var(--black);
    background-color: var(--themeColor);
    height: auto;
    left: 50%;
    max-height: none;
    overflow: visible;
    padding: 2rem 2.5rem;
    top: 90%;
    transform: translateX(-50%);
    width: auto;
  }
  .menu__main li label.toggle-submenu + ul li {
    line-height: 1rem;
    padding: 0.25rem 0;
  }
  .menu__main li label.toggle-submenu + ul li.submenu-back {
    display: none;
  }
  .menu__main li label.toggle-submenu + ul li a {
    font-weight: 500;
    line-height: 2rem;
  }
  .menu__main li label.toggle-submenu + ul li a:is(:hover, :focus) {
    font-weight: 500;
  }
  .menu__main li label.toggle-submenu + ul::before {
    display: block;
  }
  .menu__main li label.toggle-submenu:focus, .menu__main li label.toggle-submenu:focus-within {
    max-height: none;
    opacity: 1;
    overflow: visible;
    padding: 2rem 2.5rem;
    visibility: visible;
  }
  .menu__main li label.toggle-submenu:focus li, .menu__main li label.toggle-submenu:focus-within li {
    opacity: 1;
  }
  .menu__main li label.toggle-submenu:focus::before, .menu__main li label.toggle-submenu:focus-within::before {
    height: 2.875rem;
    opacity: 1;
    top: -1.4375rem;
  }
}
@media (min-width: 80em) and (hover: none) {
  .menu__main li:focus > label.toggle-submenu::after {
    transform: translateY(-50%) rotate(180deg);
  }
  .menu__main li:focus > label.toggle-submenu + ul {
    max-height: none;
    opacity: 1;
    overflow: visible;
    padding: 2rem 2.5rem;
    visibility: visible;
  }
  .menu__main li:focus > label.toggle-submenu + ul li {
    opacity: 1;
  }
  .menu__main li:focus > label.toggle-submenu + ul::before {
    height: 2.875rem;
    opacity: 1;
    top: -1.4375rem;
  }
}
@media (min-width: 80em) and (hover: hover) {
  .menu__main li:hover > label.toggle-submenu::after {
    transform: translateY(-50%) rotate(180deg);
  }
  .menu__main li:hover > label.toggle-submenu + ul {
    max-height: none;
    opacity: 1;
    overflow: visible;
    padding: 2rem 2.5rem;
    visibility: visible;
  }
  .menu__main li:hover > label.toggle-submenu + ul li {
    opacity: 1;
  }
  .menu__main li:hover > label.toggle-submenu + ul::before {
    height: 2.875rem;
    opacity: 1;
    top: -1.4375rem;
  }
}
@media (min-width: 80em) {
  .menu:has(input:checked), .menu:has(.menu__main > li > ul:focus-within) {
    --menu-background: transparent;
  }
}

body:has(#menu-open:checked) {
  overflow: hidden;
}
@media (min-width: 80em) {
  body:has(#menu-open:checked) {
    overflow: auto;
  }
}

.pagination {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 2rem auto;
  width: 100%;
}
.pagination__amount {
  display: none;
}
@media (min-width: 48em) {
  .pagination__amount {
    display: block;
  }
}
@media (min-width: 80em) {
  .pagination {
    max-width: 60rem;
  }
}

.secure-message__wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (min-width: 48em) {
  .secure-message__wrapper {
    grid-template-columns: 8fr 4fr;
    gap: var(--spacing-lg);
  }
}

.sign-filter {
  position: relative;
}
.sign-filter__toggle {
  display: flex;
  flex-direction: row;
}
.sign-filter__toggle svg {
  margin-right: var(--spacing-sm);
  width: 1rem;
}
.sign-filter__toggle span {
  position: relative;
}
.sign-filter__toggle span::after, .sign-filter__toggle span::before {
  background-color: var(--white);
  content: "";
  display: block;
  height: 1px;
  left: calc(var(--spacing-md, 0) * -1);
  opacity: 0;
  position: absolute;
  top: 50%;
  transition: 0.25s all;
  width: 1rem;
}
.sign-filter__toggle span::after {
  transform: translateY(-50%) rotate(45deg);
}
.sign-filter__toggle span::before {
  transform: translateY(-50%) rotate(-45deg);
}
.sign-filter__toggle + input[type=checkbox] {
  display: none;
}
.sign-filter__toggle:has(+ input:checked) span::before, .sign-filter__toggle:has(+ input:checked) span::after {
  opacity: 1;
}
.sign-filter__toggle:has(+ input:checked) svg {
  opacity: 0;
}
.sign-filter__toggle:hover span::after, .sign-filter__toggle:hover span::before {
  background-color: var(--black);
}
.sign-filter__nav {
  background-color: var(--white);
  height: 0;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
  transition: 0.25s all;
  width: 100%;
}
.sign-filter__nav__reset {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  overflow: visible;
  padding: 0;
  position: absolute;
  right: 0;
}
.sign-filter__nav__reset::after, .sign-filter__nav__reset::before {
  background-color: var(--black);
  content: "";
  display: block;
  height: 1px;
  left: calc(var(--spacing-sm, 0) * -1);
  opacity: 0;
  position: absolute;
  top: 50%;
  transition: 0.25s all;
  width: 1rem;
}
.sign-filter__nav__reset::after {
  transform: translateY(-50%) rotate(45deg);
}
.sign-filter__nav__reset::before {
  transform: translateY(-50%) rotate(-45deg);
}
.sign-filter__nav__items {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.sign-filter__nav__items input[type=checkbox] {
  display: none;
}
.sign-filter__nav__items input[type=checkbox] + label {
  --labelSpacing: 2rem;
  font-size: 1.125rem;
  margin-left: var(--labelSpacing);
  position: relative;
}
.sign-filter__nav__items input[type=checkbox] + label::before {
  border: 1px solid var(--black);
  border-radius: 100%;
  content: "";
  display: block;
  height: 1.25rem;
  left: calc(-1 * var(--labelSpacing));
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.25s all;
  width: 1.25rem;
}
.sign-filter__nav__items input[type=checkbox] + label::after {
  background-color: var(--black);
  border-radius: 100%;
  content: "";
  display: block;
  height: 0.75rem;
  left: calc(-1 * var(--labelSpacing) + 0.25rem);
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.25s all;
  width: 0.75rem;
}
.sign-filter__nav__items input[type=checkbox]:checked + label::after {
  opacity: 1;
}
.sign-filter__nav__items input[type=checkbox]:hover {
  cursor: pointer;
}
.sign-filter__nav__items input[type=checkbox]:hover + label {
  cursor: pointer;
}
.sign-filter__nav__items input[type=checkbox]:hover + label::before {
  background-color: var(--gray);
}
.sign-filter:has(input#case-filter:checked) .sign-filter__nav {
  height: auto;
  padding-top: var(--spacing-md);
}
@media (min-width: 48em) {
  .sign-filter {
    position: sticky;
    top: 8rem;
  }
  .sign-filter__toggle {
    background: transparent;
    border: none;
    color: var(--black);
    display: block;
    margin-bottom: var(--spacing-sm);
    padding: 0;
  }
  .sign-filter__toggle svg {
    display: none;
  }
  .sign-filter__toggle span::after, .sign-filter__toggle span::before {
    display: none;
  }
  .sign-filter__nav {
    height: auto;
    overflow: visible;
    position: initial;
  }
  .sign-filter__nav__reset {
    top: 0;
  }
  .sign-filter:has(input#case-filter:checked) .sign-filter__nav {
    padding-top: 0;
  }
}

.swiper-controls {
  align-items: center;
  display: flex;
  gap: 1rem;
}
.swiper-controls__button {
  --button-background-color: transparent;
  --button-border-color: var(--black);
  --button-icon-color: var(--themeColor);
  align-items: center;
  background-color: var(--button-background-color);
  border: 1px solid var(--button-border-color);
  border-radius: 100px;
  cursor: pointer;
  display: inline-flex;
  height: 3rem;
  justify-content: center;
  transition: 0.25s all;
  width: 3rem;
}
.swiper-controls__button svg {
  fill: var(--button-icon-color);
  transition: 0.25s all;
  width: 1.625rem;
}
.swiper-controls__button:hover {
  --button-background-color: var(--black);
  --button-icon-color: var(--white);
}
.swiper-controls__button.swiper-button-disabled {
  --button-border-color: var(--gray);
  --button-icon-color: var(--gray);
  cursor: not-allowed;
}
@media (max-width: 47.99em) {
  .swiper-controls {
    display: none;
  }
}

.fl--dark .swiper-controls__button {
  --button-border-color: var(--black);
}

.post-item {
  animation: animateIn 0.4s;
  border-radius: 2px;
  box-shadow: 0 0 15px -4px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  position: relative;
  transition: 0.25s all;
}
.post-item__image {
  aspect-ratio: 16/9;
  display: block;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.post-item__image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transition: 0.25s all;
  width: 100%;
}
.post-item__image::before {
  align-items: center;
  background-color: rgba(0, 0, 0, 0.5);
  color: #FFFFFF;
  content: "Lees artikel";
  display: flex;
  font-family: "playfair-display", serif;
  font-weight: 700;
  height: 100%;
  justify-content: center;
  left: 0;
  letter-spacing: 2.3px;
  opacity: 0;
  position: absolute;
  text-transform: uppercase;
  top: 0;
  transition: 0.25s all;
  width: 100%;
  z-index: 1;
}
.post-item__content {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1.5rem;
}
.post-item__content__meta {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  line-height: 1;
}
.post-item__content__meta .category,
.post-item__content__meta .date {
  display: inline-block;
  font-family: "playfair-display", serif;
  font-size: 0.875rem;
  font-weight: 300;
  letter-spacing: 0.8px;
  line-height: 1;
  text-transform: uppercase;
}
.post-item__content__meta .date {
  float: right;
  letter-spacing: 0;
  margin-left: 1.5rem;
  margin-top: 7px;
  text-transform: lowercase;
}
.post-item__content h4 {
  font-family: "alegreya-sans", sans-serif;
  font-weight: 700;
  margin: 0;
}
@media (hover: none) {
  .post-item:focus {
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.3);
    transform: translateY(-2px);
  }
  .post-item:focus .post-item__image img {
    transform: scale(1.1);
  }
  .post-item:focus .post-item__image::before {
    opacity: 1;
  }
}
@media (hover: hover) {
  .post-item:hover {
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.3);
    transform: translateY(-2px);
  }
  .post-item:hover .post-item__image img {
    transform: scale(1.1);
  }
  .post-item:hover .post-item__image::before {
    opacity: 1;
  }
}
@media (min-width: 48em) {
  .post-item__image {
    aspect-ratio: 16/12;
  }
}

@keyframes animateIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.jobopening-item {
  background-color: var(--white);
  box-shadow: var(--theme-box-shadow);
  color: #141414;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 20rem;
  padding: 2rem;
  position: relative;
  transition: 0.25s all;
}
.jobopening-item span {
  color: var(--themeColor);
  font-family: "brandon-grotesque", sans-serif;
  font-weight: 700;
  letter-spacing: 1.3px;
  min-height: 2rem;
  text-transform: uppercase;
}
.jobopening-item h3, .jobopening-item .jobopening-single__subtitle {
  color: #141414;
  font-family: "playfair-display", serif;
  font-weight: 900;
  text-transform: none;
}
.jobopening-item a:focus, .jobopening-item a:focus-visible {
  outline: -webkit-focus-ring-color auto 1px;
}
.jobopening-item:focus, .jobopening-item:focus-visible {
  outline: -webkit-focus-ring-color auto 1px;
}
@media (hover: none) {
  .jobopening-item:focus {
    box-shadow: 0 0 21px 0 rgba(0, 0, 0, 0.4);
    transform: translateY(-2px);
  }
  .jobopening-item:focus .btn, .jobopening-item:focus .cases-filter__toggle, .jobopening-item:focus .pagination__button, .jobopening-item:focus .sign-filter__toggle {
    background-color: #141414;
    color: #FFFFFF;
  }
}
@media (hover: hover) {
  .jobopening-item:hover {
    box-shadow: 0 0 21px 0 rgba(0, 0, 0, 0.4);
    transform: translateY(-2px);
  }
  .jobopening-item:hover .btn, .jobopening-item:hover .cases-filter__toggle, .jobopening-item:hover .pagination__button, .jobopening-item:hover .sign-filter__toggle {
    background-color: #141414;
    color: #FFFFFF;
  }
}
.jobopening-item--open-application {
  background-color: var(--black);
}
.jobopening-item--open-application h3, .jobopening-item--open-application .jobopening-single__subtitle {
  color: var(--white);
  font-family: "alegreya-sans", sans-serif;
  font-size: 2.125rem;
  font-weight: 700;
}
@media (hover: none) {
  .jobopening-item--open-application:focus .btn, .jobopening-item--open-application:focus .cases-filter__toggle, .jobopening-item--open-application:focus .pagination__button, .jobopening-item--open-application:focus .sign-filter__toggle {
    background-color: var(--white);
    color: var(--black);
  }
}
@media (hover: hover) {
  .jobopening-item--open-application:hover .btn, .jobopening-item--open-application:hover .cases-filter__toggle, .jobopening-item--open-application:hover .pagination__button, .jobopening-item--open-application:hover .sign-filter__toggle {
    background-color: var(--white);
    color: var(--black);
  }
}
@media (min-width: 80em) {
  .jobopening-item {
    min-height: 26rem;
  }
}

.magazine-item {
  --button-height: 3.875rem;
  --offset: calc(var(--gridGap) + var(--padding) + var(--button-height));
  --padding: 2rem;
  background: radial-gradient(circle, rgb(127, 125, 110) 37%, rgb(102, 100, 85) 100%);
  display: block;
  overflow: hidden;
  padding: var(--padding);
  position: relative;
  text-align: center;
}
.magazine-item__image {
  aspect-ratio: 10/7;
  display: block;
  height: 18rem;
  margin: var(--gridGap) auto;
  max-width: 34rem;
  width: 100%;
}
.magazine-item__image img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  width: 100%;
}
.magazine-item__content {
  margin: auto;
  max-width: 26rem;
}
.magazine-item__content h3, .magazine-item__content .jobopening-single__subtitle {
  margin-bottom: var(--spacing-sm);
}
.magazine-item .btn-container {
  bottom: var(--padding);
  display: flex;
  justify-content: center;
  left: var(--padding);
  position: absolute;
  right: var(--padding);
  text-align: center;
  width: calc(100% - 2 * var(--padding));
  z-index: 1;
}
.magazine-item--secondary {
  background: var(--grayLight);
  box-shadow: var(--theme-box-shadow) inset;
}
.magazine-item:first-child picture {
  height: calc(18rem + var(--offset));
  margin-bottom: calc(-1 * var(--offset));
}
.magazine-item:first-child .magazine-item__content,
.magazine-item:first-child h3,
.magazine-item:first-child .jobopening-single__subtitle {
  color: var(--white);
}
.magazine-item::after {
  box-shadow: var(--theme-box-shadow) inset;
  content: "";
  inset: 0;
  position: absolute;
}
@media (max-width: 35.99em) {
  .magazine-item {
    --button-height: 2.675rem;
  }
  .magazine-item:last-child picture {
    height: 14rem;
    margin-left: calc(-1 * var(--padding) / 2);
    margin-right: calc(-1 * var(--padding) / 2);
    margin-top: 0;
    width: calc(100% + var(--padding));
  }
}
@media (min-width: 48em) {
  .magazine-item {
    --padding: 3rem;
  }
  .magazine-item__image {
    margin-bottom: calc(var(--gridGap) + var(--button-height));
  }
  .magazine-item:first-child picture {
    height: calc(18rem + var(--offset) + (var(--button-height)));
  }
}
@media (min-width: 64em) {
  .magazine-item {
    flex: 0 0 calc(50% - 1.5rem);
  }
  .magazine-item__image {
    margin-left: calc(-1 * var(--padding) / 2);
    margin-right: calc(-1 * var(--padding) / 2);
    width: calc(100% + var(--padding));
  }
}
@media (min-width: 80em) {
  .magazine-item {
    --padding: 4rem;
  }
}

.pro-item__header {
  align-items: center;
  display: flex;
}
.pro-item__header span {
  display: block;
  font-size: 3rem;
  font-weight: 700;
  line-height: 3rem;
  margin-right: 1rem;
  overflow: hidden;
  position: relative;
  width: 2rem;
}
.pro-item__header span::after {
  background-color: rgba(0, 0, 0, 0.4);
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  width: 1px;
}
.pro-item__header h4 {
  margin: 0;
  color: var(--themeColor);
}
.pro-item p {
  margin-left: 3rem;
  margin-top: var(--spacing-sm);
}
@media (min-width: 36em) {
  .pro-item__header span {
    font-size: 4rem;
    line-height: 4rem;
    margin-right: 1rem;
    width: 3rem;
  }
  .pro-item p {
    margin-left: 4rem;
  }
}

.case-item {
  position: relative;
  transition: 0.25s all;
}
.case-item__image {
  aspect-ratio: 16/15;
  display: block;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.case-item__image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transition: 0.25s all;
  width: 100%;
}
.case-item__image::before {
  align-items: center;
  background-color: rgba(0, 0, 0, 0.5);
  color: #FFFFFF;
  content: "Bekijk case";
  display: flex;
  font-family: "brandon-grotesque", sans-serif;
  font-weight: 700;
  height: 100%;
  justify-content: center;
  left: 0;
  letter-spacing: 2.3px;
  opacity: 0;
  position: absolute;
  text-transform: uppercase;
  top: 0;
  transition: 0.25s all;
  width: 100%;
  z-index: 1;
}
.case-item__content {
  color: var(--black);
  display: flex;
  flex-direction: column;
}
.case-item__content h4 {
  margin-bottom: var(--spacing-md);
  margin-top: var(--spacing-md);
  transition: 0.25s all;
}
.case-item--sign .case-item__image {
  aspect-ratio: 12/16;
}
.case-item--temp-case .case-item__content h4 {
  min-height: 0;
  font-size: 1.5rem;
  margin-top: var(--spacing-sm);
  margin-bottom: 0;
}
.case-item--temp-case .case-item__image::before {
  display: none;
}
.case-item--temp-case.case-item--has-link .case-item__image::before {
  content: "Bekijk website";
  display: flex;
}
.case-item:focus, .case-item:focus-visible, .case-item:focus-within {
  outline: -webkit-focus-ring-color auto 1px;
}
.case-item:focus .case-item__image img, .case-item:focus-visible .case-item__image img, .case-item:focus-within .case-item__image img {
  transform: scale(1.1);
}
.case-item:focus .case-item__image::before, .case-item:focus-visible .case-item__image::before, .case-item:focus-within .case-item__image::before {
  display: none;
}
@media (hover: none) {
  .case-item:not(.case-item--sign):focus .case-item__image img {
    transform: scale(1.1);
  }
  .case-item:not(.case-item--sign):focus .case-item__image::before {
    opacity: 1;
  }
}
@media (hover: hover) {
  .case-item:not(.case-item--sign):hover .case-item__image img {
    transform: scale(1.1);
  }
  .case-item:not(.case-item--sign):hover .case-item__image::before {
    opacity: 1;
  }
}
@media (max-width: 23.3759em) {
  .case-item__content h4 {
    min-height: 7.125rem;
  }
}
@media (max-width: 47.99em) {
  .case-item__content h4 {
    line-height: 1.25;
  }
}
@media (min-width: 80em) {
  .case-item__content h4 {
    min-height: 7.125rem;
  }
}

.review-item {
  background-color: var(--white);
  color: #141414;
  display: flex;
  flex-direction: column;
  grid-gap: var(--spacing-md);
  height: 100%;
  justify-content: space-between;
  overflow: hidden;
  padding: 3.5rem 2rem 2rem;
  position: relative;
}
.review-item p {
  color: #141414;
  margin-bottom: 0;
}
.review-item__name {
  font-family: "brandon-grotesque", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
}
.review-item::before {
  color: var(--themeColor);
  content: "“";
  display: block;
  font-family: "brandon-grotesque", sans-serif;
  font-size: 8rem;
  font-weight: 900;
  left: 2rem;
  position: absolute;
  text-transform: uppercase;
  top: -1.875rem;
  transform: rotate(180deg);
}
@media (min-width: 48em) {
  .review-item {
    padding: 4rem 3rem 3rem;
  }
  .review-item::before {
    left: 2.5rem;
  }
}

.fl--green .review-item::before {
  color: var(--black);
}

.sign-item {
  animation: animateIn 0.4s;
  display: block;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}
.sign-item__image {
  height: 100%;
  width: 100%;
  display: block;
  aspect-ratio: 1/1;
}
.sign-item__image img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.team-item__details {
  margin-left: 2rem;
}
.team-item__details h4 {
  margin-bottom: 0.25rem;
  margin-top: 2rem;
}
@media (min-width: 64em) {
  .team-item__details {
    margin-left: 3rem;
  }
}
@media (min-width: 80em) {
  .team-item__details {
    margin-left: 3.75rem;
  }
}

.swiper {
  width: 100%;
  z-index: 0 !important;
}
.swiper.continuous {
  transition-timing-function: linear;
}
.swiper.swiper-horizontal {
  overflow: visible;
}
@media (hover: hover) {
  .swiper.swiper-horizontal:last-child:has(.pagination):not(.album__items) {
    margin-bottom: calc(var(--marginElement2Button) + var(--button-height));
  }
}
.swiper-wrapper {
  align-items: stretch;
}
.swiper-wrapper .swiper-slide {
  height: auto;
}
.swiper .pagination {
  justify-content: flex-end;
}
.swiper .swiper-pagination {
  bottom: auto;
  left: auto;
  position: relative;
  text-align: right;
  top: auto;
}
.swiper .swiper-pagination .swiper-pagination-bullet {
  background: none;
  border-radius: 0;
  height: 1rem;
  width: 1rem;
}
.swiper .swiper-button-disabled:has(+ .swiper-button-disabled),
.swiper .swiper-button-disabled:has(+ .swiper-pagination-progress + .swiper-button-disabled),
.swiper .swiper-button-disabled + .swiper-button-disabled,
.swiper .swiper-button-disabled + .swiper-pagination-progress + .swiper-button-disabled {
  display: none;
}

.replaceme,
.replaceme > *,
.replaceme > * > * {
  color: #FF0000 !important;
}
