@charset "UTF-8";
/* CSS Reset */
/* Reset CSS
   ========================================================================== */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in
*    IE on Windows Phone and in iOS.
*/
html {
  line-height: 1.15; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

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

/**
* Add the correct display in IE 9-.
*/
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

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

/* Grouping content
========================================================================== */
/**
* Add the correct display in IE 9-.
* 1. Add the correct display in IE.
*/
figcaption,
figure,
main { /* 1 */
  display: block;
}

/**
* Add the correct margin in IE 8.
*/
figure {
  margin: 0;
}

/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

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

/* Text-level semantics
========================================================================== */
/**
* 1. Remove the gray background on active links in IE 10.
* 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
*/
a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}

/**
* 1. Remove the bottom border in Chrome 57- and Firefox 39-.
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
* Prevent the duplicate application of `bolder` by the next rule in Safari 6.
*/
b,
strong {
  font-weight: inherit;
}

/**
* 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, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
* Add the correct font style in Android 4.3-.
*/
dfn {
  font-style: italic;
}

/**
* Add the correct background and color in IE 9-.
*/
mark {
  background-color: #ff0;
  color: #000;
}

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

/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
========================================================================== */
/**
* 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 images inside links in IE 10-.
*/
img {
  border-style: none;
}

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

/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers (opinionated).
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
  overflow: visible;
}

/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
  text-transform: none;
}

/**
* 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
*    controls in Android 4.
* 2. Correct the inability to style clickable types in iOS and Safari.
*/
button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* 2 */
}

/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
* Correct the padding in Firefox.
*/
fieldset {
  padding: 0;
}

/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
*    `fieldset` elements in all browsers.
*/
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

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

/**
* Remove the default vertical scrollbar in IE.
*/
textarea {
  overflow: auto;
}

/**
* 1. Add the correct box sizing in IE 10-.
* 2. Remove the padding in IE 10-.
*/
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

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

/**
* Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
*/
[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

/* Interactive
========================================================================== */
/*
* Add the correct display in IE 9-.
* 1. Add the correct display in Edge, IE, and Firefox.
*/
details,
menu {
  display: block;
}

/*
* 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;
}

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

/* ## Box Sizing
--------------------------------------------- */
html,
input[type=search] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

/* Vendor styles */
/**
 * Swiper 11.2.7
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: May 19, 2025
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color:#007aff;
}

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

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

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

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

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

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

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

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

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

.swiper-autoheight, .swiper-autoheight .swiper-slide {
  height: auto;
}

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

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

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

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

.swiper-3d {
  perspective: 1200px;
}

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

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

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

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

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

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

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size:44px;
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-next.swiper-button-hidden, .swiper-button-prev.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-next, .swiper-navigation-disabled .swiper-button-prev {
  display: none !important;
}

.swiper-button-next svg, .swiper-button-prev svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform-origin: center;
}

.swiper-rtl .swiper-button-next svg, .swiper-rtl .swiper-button-prev svg {
  transform: rotate(180deg);
}

.swiper-button-prev, .swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

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

.swiper-button-next:after, .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
  content: "next";
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 0.3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination, .swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

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

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

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

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

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

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

.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical > .swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 0.2s transform, 0.2s top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s left;
}

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

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

.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite, .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}

.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-vertical > .swiper-pagination-progressbar {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

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

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}

.swiper-scrollbar-disabled > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar.swiper-scrollbar-vertical, .swiper-vertical > .swiper-scrollbar {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

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

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

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

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-next, .swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active, .swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}

:root {
  --f-spinner-width: 36px;
  --f-spinner-height: 36px;
  --f-spinner-color-1: rgba(0, 0, 0, 0.1);
  --f-spinner-color-2: rgba(17, 24, 28, 0.8);
  --f-spinner-stroke: 2.75;
}

.f-spinner {
  margin: auto;
  padding: 0;
  width: var(--f-spinner-width);
  height: var(--f-spinner-height);
}

.f-spinner svg {
  width: 100%;
  height: 100%;
  vertical-align: top;
  animation: f-spinner-rotate 2s linear infinite;
}

.f-spinner svg * {
  stroke-width: var(--f-spinner-stroke);
  fill: none;
}

.f-spinner svg *:first-child {
  stroke: var(--f-spinner-color-1);
}

.f-spinner svg *:last-child {
  stroke: var(--f-spinner-color-2);
  animation: f-spinner-dash 2s ease-in-out infinite;
}

@keyframes f-spinner-rotate {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes f-spinner-dash {
  0% {
    stroke-dasharray: 1, 150;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -35;
  }
  100% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -124;
  }
}
.f-throwOutUp {
  animation: var(--f-throw-out-duration, 0.175s) ease-out both f-throwOutUp;
}

.f-throwOutDown {
  animation: var(--f-throw-out-duration, 0.175s) ease-out both f-throwOutDown;
}

@keyframes f-throwOutUp {
  to {
    transform: translate3d(0, calc(var(--f-throw-out-distance, 150px) * -1), 0);
    opacity: 0;
  }
}
@keyframes f-throwOutDown {
  to {
    transform: translate3d(0, var(--f-throw-out-distance, 150px), 0);
    opacity: 0;
  }
}
.f-zoomInUp {
  animation: var(--f-transition-duration, 0.2s) ease 0.1s both f-zoomInUp;
}

.f-zoomOutDown {
  animation: var(--f-transition-duration, 0.2s) ease both f-zoomOutDown;
}

@keyframes f-zoomInUp {
  from {
    transform: scale(0.975) translate3d(0, 16px, 0);
    opacity: 0;
  }
  to {
    transform: scale(1) translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes f-zoomOutDown {
  to {
    transform: scale(0.975) translate3d(0, 16px, 0);
    opacity: 0;
  }
}
.f-fadeIn {
  animation: var(--f-transition-duration, 0.2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeIn;
  z-index: 2;
}

.f-fadeOut {
  animation: var(--f-transition-duration, 0.2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeOut;
  z-index: 1;
}

@keyframes f-fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes f-fadeOut {
  100% {
    opacity: 0;
  }
}
.f-fadeFastIn {
  animation: var(--f-transition-duration, 0.2s) ease-out both f-fadeFastIn;
  z-index: 2;
}

.f-fadeFastOut {
  animation: var(--f-transition-duration, 0.1s) ease-out both f-fadeFastOut;
  z-index: 2;
}

@keyframes f-fadeFastIn {
  0% {
    opacity: 0.75;
  }
  100% {
    opacity: 1;
  }
}
@keyframes f-fadeFastOut {
  100% {
    opacity: 0;
  }
}
.f-fadeSlowIn {
  animation: var(--f-transition-duration, 0.5s) ease both f-fadeSlowIn;
  z-index: 2;
}

.f-fadeSlowOut {
  animation: var(--f-transition-duration, 0.5s) ease both f-fadeSlowOut;
  z-index: 1;
}

@keyframes f-fadeSlowIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes f-fadeSlowOut {
  100% {
    opacity: 0;
  }
}
.f-crossfadeIn {
  animation: var(--f-transition-duration, 0.2s) ease-out both f-crossfadeIn;
  z-index: 2;
}

.f-crossfadeOut {
  animation: calc(var(--f-transition-duration, 0.2s) * 0.5) linear 0.1s both f-crossfadeOut;
  z-index: 1;
}

@keyframes f-crossfadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes f-crossfadeOut {
  100% {
    opacity: 0;
  }
}
.f-slideIn.from-next {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideInNext;
}

.f-slideIn.from-prev {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideInPrev;
}

.f-slideOut.to-next {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideOutNext;
}

.f-slideOut.to-prev {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideOutPrev;
}

@keyframes f-slideInPrev {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes f-slideInNext {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes f-slideOutNext {
  100% {
    transform: translateX(-100%);
  }
}
@keyframes f-slideOutPrev {
  100% {
    transform: translateX(100%);
  }
}
.f-classicIn.from-next {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicInNext;
  z-index: 2;
}

.f-classicIn.from-prev {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicInPrev;
  z-index: 2;
}

.f-classicOut.to-next {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicOutNext;
  z-index: 1;
}

.f-classicOut.to-prev {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicOutPrev;
  z-index: 1;
}

@keyframes f-classicInNext {
  0% {
    transform: translateX(-75px);
    opacity: 0;
  }
  100% {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes f-classicInPrev {
  0% {
    transform: translateX(75px);
    opacity: 0;
  }
  100% {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes f-classicOutNext {
  100% {
    transform: translateX(-75px);
    opacity: 0;
  }
}
@keyframes f-classicOutPrev {
  100% {
    transform: translateX(75px);
    opacity: 0;
  }
}
:root {
  --f-button-width: 40px;
  --f-button-height: 40px;
  --f-button-border: 0;
  --f-button-border-radius: 0;
  --f-button-color: #374151;
  --f-button-bg: #f8f8f8;
  --f-button-hover-bg: #e0e0e0;
  --f-button-active-bg: #d0d0d0;
  --f-button-shadow: none;
  --f-button-transition: all 0.15s ease;
  --f-button-transform: none;
  --f-button-svg-width: 20px;
  --f-button-svg-height: 20px;
  --f-button-svg-stroke-width: 1.5;
  --f-button-svg-fill: none;
  --f-button-svg-filter: none;
  --f-button-svg-disabled-opacity: 0.65;
}

.f-button {
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: content-box;
  position: relative;
  margin: 0;
  padding: 0;
  width: var(--f-button-width);
  height: var(--f-button-height);
  border: var(--f-button-border);
  border-radius: var(--f-button-border-radius);
  color: var(--f-button-color);
  background: var(--f-button-bg);
  box-shadow: var(--f-button-shadow);
  pointer-events: all;
  cursor: pointer;
  transition: var(--f-button-transition);
}

@media (hover: hover) {
  .f-button:hover:not([disabled]) {
    color: var(--f-button-hover-color);
    background-color: var(--f-button-hover-bg);
  }
}
.f-button:active:not([disabled]) {
  background-color: var(--f-button-active-bg);
}

.f-button:focus:not(:focus-visible) {
  outline: none;
}

.f-button:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 var(--f-button-outline, 2px) var(--f-button-outline-color, var(--f-button-color));
}

.f-button svg {
  width: var(--f-button-svg-width);
  height: var(--f-button-svg-height);
  fill: var(--f-button-svg-fill);
  stroke: currentColor;
  stroke-width: var(--f-button-svg-stroke-width);
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: opacity 0.15s ease;
  transform: var(--f-button-transform);
  filter: var(--f-button-svg-filter);
  pointer-events: none;
}

.f-button[disabled] {
  cursor: default;
}

.f-button[disabled] svg {
  opacity: var(--f-button-svg-disabled-opacity);
}

.f-carousel__nav .f-button.is-prev, .f-carousel__nav .f-button.is-next, .fancybox__nav .f-button.is-prev, .fancybox__nav .f-button.is-next {
  position: absolute;
  z-index: 1;
}

.is-horizontal .f-carousel__nav .f-button.is-prev, .is-horizontal .f-carousel__nav .f-button.is-next, .is-horizontal .fancybox__nav .f-button.is-prev, .is-horizontal .fancybox__nav .f-button.is-next {
  top: 50%;
  transform: translateY(-50%);
}

.is-horizontal .f-carousel__nav .f-button.is-prev, .is-horizontal .fancybox__nav .f-button.is-prev {
  left: var(--f-button-prev-pos);
}

.is-horizontal .f-carousel__nav .f-button.is-next, .is-horizontal .fancybox__nav .f-button.is-next {
  right: var(--f-button-next-pos);
}

.is-horizontal.is-rtl .f-carousel__nav .f-button.is-prev, .is-horizontal.is-rtl .fancybox__nav .f-button.is-prev {
  left: auto;
  right: var(--f-button-next-pos);
}

.is-horizontal.is-rtl .f-carousel__nav .f-button.is-next, .is-horizontal.is-rtl .fancybox__nav .f-button.is-next {
  right: auto;
  left: var(--f-button-prev-pos);
}

.is-vertical .f-carousel__nav .f-button.is-prev, .is-vertical .f-carousel__nav .f-button.is-next, .is-vertical .fancybox__nav .f-button.is-prev, .is-vertical .fancybox__nav .f-button.is-next {
  top: auto;
  left: 50%;
  transform: translateX(-50%);
}

.is-vertical .f-carousel__nav .f-button.is-prev, .is-vertical .fancybox__nav .f-button.is-prev {
  top: var(--f-button-next-pos);
}

.is-vertical .f-carousel__nav .f-button.is-next, .is-vertical .fancybox__nav .f-button.is-next {
  bottom: var(--f-button-next-pos);
}

.is-vertical .f-carousel__nav .f-button.is-prev svg, .is-vertical .f-carousel__nav .f-button.is-next svg, .is-vertical .fancybox__nav .f-button.is-prev svg, .is-vertical .fancybox__nav .f-button.is-next svg {
  transform: rotate(90deg);
}

.f-carousel__nav .f-button:disabled, .fancybox__nav .f-button:disabled {
  pointer-events: none;
}

html.with-fancybox {
  width: auto;
  overflow: visible;
  scroll-behavior: auto;
}

html.with-fancybox body {
  touch-action: none;
}

html.with-fancybox body.hide-scrollbar {
  width: auto;
  margin-right: calc(var(--fancybox-body-margin, 0px) + var(--fancybox-scrollbar-compensate, 0px));
  overflow: hidden !important;
  overscroll-behavior-y: none;
}

.fancybox__container {
  --fancybox-color: #dbdbdb;
  --fancybox-hover-color: #fff;
  --fancybox-bg: rgba(24, 24, 27, 0.98);
  --fancybox-slide-gap: 10px;
  --f-spinner-width: 50px;
  --f-spinner-height: 50px;
  --f-spinner-color-1: rgba(255, 255, 255, 0.1);
  --f-spinner-color-2: #bbb;
  --f-spinner-stroke: 3.65;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  direction: ltr;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: #f8f8f8;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  overflow: visible;
  z-index: var(--fancybox-zIndex, 1050);
  outline: none;
  transform-origin: top left;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overscroll-behavior-y: contain;
}

.fancybox__container *, .fancybox__container *::before, .fancybox__container *::after {
  box-sizing: inherit;
}

.fancybox__container::backdrop {
  background-color: rgba(0, 0, 0, 0);
}

.fancybox__backdrop {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -1;
  background: var(--fancybox-bg);
  opacity: var(--fancybox-opacity, 1);
  will-change: opacity;
}

.fancybox__carousel {
  position: relative;
  box-sizing: border-box;
  flex: 1;
  min-height: 0;
  z-index: 10;
  overflow-y: visible;
  overflow-x: clip;
}

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

.fancybox__viewport.is-draggable {
  cursor: move;
  cursor: grab;
}

.fancybox__viewport.is-dragging {
  cursor: move;
  cursor: grabbing;
}

.fancybox__track {
  display: flex;
  margin: 0 auto;
  height: 100%;
}

.fancybox__slide {
  flex: 0 0 auto;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: 100%;
  margin: 0 var(--fancybox-slide-gap) 0 0;
  padding: 4px;
  overflow: auto;
  overscroll-behavior: contain;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
}

.fancybox__container:not(.is-compact) .fancybox__slide.has-close-btn {
  padding-top: 40px;
}

.fancybox__slide.has-iframe, .fancybox__slide.has-video, .fancybox__slide.has-html5video {
  overflow: hidden;
}

.fancybox__slide.has-image {
  overflow: hidden;
}

.fancybox__slide.has-image.is-animating, .fancybox__slide.has-image.is-selected {
  overflow: visible;
}

.fancybox__slide::before, .fancybox__slide::after {
  content: "";
  flex: 0 0 0;
  margin: auto;
}

.fancybox__backdrop:empty, .fancybox__viewport:empty, .fancybox__track:empty, .fancybox__slide:empty {
  display: block;
}

.fancybox__content {
  align-self: center;
  display: flex;
  flex-direction: column;
  position: relative;
  margin: 0;
  padding: 2rem;
  max-width: 100%;
  color: var(--fancybox-content-color, #374151);
  background: var(--fancybox-content-bg, #fff);
  cursor: default;
  border-radius: 0;
  z-index: 20;
}

.is-loading .fancybox__content {
  opacity: 0;
}

.is-draggable .fancybox__content {
  cursor: move;
  cursor: grab;
}

.can-zoom_in .fancybox__content {
  cursor: zoom-in;
}

.can-zoom_out .fancybox__content {
  cursor: zoom-out;
}

.is-dragging .fancybox__content {
  cursor: move;
  cursor: grabbing;
}

.fancybox__content [data-selectable], .fancybox__content [contenteditable] {
  cursor: auto;
}

.fancybox__slide.has-image > .fancybox__content {
  padding: 0;
  background: rgba(0, 0, 0, 0);
  min-height: 1px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  transition: none;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
}

.fancybox__slide.has-image > .fancybox__content > picture > img {
  width: 100%;
  height: auto;
  max-height: 100%;
}

.is-animating .fancybox__content, .is-dragging .fancybox__content {
  will-change: transform, width, height;
}

.fancybox-image {
  margin: auto;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
  user-select: none;
  filter: blur(0px);
}

.fancybox__caption {
  align-self: center;
  max-width: 100%;
  flex-shrink: 0;
  margin: 0;
  padding: 14px 0 4px 0;
  overflow-wrap: anywhere;
  line-height: 1.375;
  color: var(--fancybox-color, currentColor);
  opacity: var(--fancybox-opacity, 1);
  cursor: auto;
  visibility: visible;
}

.is-loading .fancybox__caption, .is-closing .fancybox__caption {
  opacity: 0;
  visibility: hidden;
}

.is-compact .fancybox__caption {
  padding-bottom: 0;
}

.f-button.is-close-btn {
  --f-button-svg-stroke-width: 2;
  position: absolute;
  top: 0;
  right: 8px;
  z-index: 40;
}

.fancybox__content > .f-button.is-close-btn {
  --f-button-width: 34px;
  --f-button-height: 34px;
  --f-button-border-radius: 4px;
  --f-button-color: var(--fancybox-color, #fff);
  --f-button-hover-color: var(--fancybox-color, #fff);
  --f-button-bg: transparent;
  --f-button-hover-bg: transparent;
  --f-button-active-bg: transparent;
  --f-button-svg-width: 22px;
  --f-button-svg-height: 22px;
  position: absolute;
  top: -38px;
  right: 0;
  opacity: 0.75;
}

.is-loading .fancybox__content > .f-button.is-close-btn {
  visibility: hidden;
}

.is-zooming-out .fancybox__content > .f-button.is-close-btn {
  visibility: hidden;
}

.fancybox__content > .f-button.is-close-btn:hover {
  opacity: 1;
}

.fancybox__footer {
  padding: 0;
  margin: 0;
  position: relative;
}

.fancybox__footer .fancybox__caption {
  width: 100%;
  padding: 24px;
  opacity: var(--fancybox-opacity, 1);
  transition: all 0.25s ease;
}

.is-compact .fancybox__footer {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 20;
  background: rgba(24, 24, 27, 0.5);
}

.is-compact .fancybox__footer .fancybox__caption {
  padding: 12px;
}

.is-compact .fancybox__content > .f-button.is-close-btn {
  --f-button-border-radius: 50%;
  --f-button-color: #fff;
  --f-button-hover-color: #fff;
  --f-button-outline-color: #000;
  --f-button-bg: rgba(0, 0, 0, 0.6);
  --f-button-active-bg: rgba(0, 0, 0, 0.6);
  --f-button-hover-bg: rgba(0, 0, 0, 0.6);
  --f-button-svg-width: 18px;
  --f-button-svg-height: 18px;
  --f-button-svg-filter: none;
  top: 5px;
  right: 5px;
}

.fancybox__nav {
  --f-button-width: 50px;
  --f-button-height: 50px;
  --f-button-border: 0;
  --f-button-border-radius: 50%;
  --f-button-color: var(--fancybox-color);
  --f-button-hover-color: var(--fancybox-hover-color);
  --f-button-bg: transparent;
  --f-button-hover-bg: rgba(24, 24, 27, 0.3);
  --f-button-active-bg: rgba(24, 24, 27, 0.5);
  --f-button-shadow: none;
  --f-button-transition: all 0.15s ease;
  --f-button-transform: none;
  --f-button-svg-width: 26px;
  --f-button-svg-height: 26px;
  --f-button-svg-stroke-width: 2.5;
  --f-button-svg-fill: none;
  --f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, 0.5));
  --f-button-svg-disabled-opacity: 0.65;
  --f-button-next-pos: 1rem;
  --f-button-prev-pos: 1rem;
  opacity: var(--fancybox-opacity, 1);
}

.fancybox__nav .f-button:before {
  position: absolute;
  content: "";
  top: -30px;
  right: -20px;
  left: -20px;
  bottom: -30px;
  z-index: 1;
}

.is-idle .fancybox__nav {
  animation: 0.15s ease-out both f-fadeOut;
}

.is-idle.is-compact .fancybox__footer {
  pointer-events: none;
  animation: 0.15s ease-out both f-fadeOut;
}

.fancybox__slide > .f-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: var(--f-spinner-top, calc(var(--f-spinner-width) * -0.5)) 0 0 var(--f-spinner-left, calc(var(--f-spinner-height) * -0.5));
  z-index: 30;
  cursor: pointer;
}

.fancybox-protected {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 40;
  user-select: none;
}

.fancybox-ghost {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
  z-index: 40;
  user-select: none;
  pointer-events: none;
}

.fancybox-focus-guard {
  outline: none;
  opacity: 0;
  position: fixed;
  pointer-events: none;
}

.fancybox__container:not([aria-hidden]) {
  opacity: 0;
}

.fancybox__container.is-animated[aria-hidden=false] > *:not(.fancybox__backdrop, .fancybox__carousel), .fancybox__container.is-animated[aria-hidden=false] .fancybox__carousel > *:not(.fancybox__viewport), .fancybox__container.is-animated[aria-hidden=false] .fancybox__slide > *:not(.fancybox__content) {
  animation: var(--f-interface-enter-duration, 0.25s) ease 0.1s backwards f-fadeIn;
}

.fancybox__container.is-animated[aria-hidden=false] .fancybox__backdrop {
  animation: var(--f-backdrop-enter-duration, 0.35s) ease backwards f-fadeIn;
}

.fancybox__container.is-animated[aria-hidden=true] > *:not(.fancybox__backdrop, .fancybox__carousel), .fancybox__container.is-animated[aria-hidden=true] .fancybox__carousel > *:not(.fancybox__viewport), .fancybox__container.is-animated[aria-hidden=true] .fancybox__slide > *:not(.fancybox__content) {
  animation: var(--f-interface-exit-duration, 0.15s) ease forwards f-fadeOut;
}

.fancybox__container.is-animated[aria-hidden=true] .fancybox__backdrop {
  animation: var(--f-backdrop-exit-duration, 0.35s) ease forwards f-fadeOut;
}

.has-iframe .fancybox__content, .has-map .fancybox__content, .has-pdf .fancybox__content, .has-youtube .fancybox__content, .has-vimeo .fancybox__content, .has-html5video .fancybox__content {
  max-width: 100%;
  flex-shrink: 1;
  min-height: 1px;
  overflow: visible;
}

.has-iframe .fancybox__content, .has-map .fancybox__content, .has-pdf .fancybox__content {
  width: calc(100% - 120px);
  height: 90%;
}

.fancybox__container.is-compact .has-iframe .fancybox__content, .fancybox__container.is-compact .has-map .fancybox__content, .fancybox__container.is-compact .has-pdf .fancybox__content {
  width: 100%;
  height: 100%;
}

.has-youtube .fancybox__content, .has-vimeo .fancybox__content, .has-html5video .fancybox__content {
  width: 960px;
  height: 540px;
  max-width: 100%;
  max-height: 100%;
}

.has-map .fancybox__content, .has-pdf .fancybox__content, .has-youtube .fancybox__content, .has-vimeo .fancybox__content, .has-html5video .fancybox__content {
  padding: 0;
  background: rgba(24, 24, 27, 0.9);
  color: #fff;
}

.has-map .fancybox__content {
  background: #e5e3df;
}

.fancybox__html5video, .fancybox__iframe {
  border: 0;
  display: block;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0);
}

.fancybox-placeholder {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}

.f-carousel__thumbs {
  --f-thumb-width: 96px;
  --f-thumb-height: 72px;
  --f-thumb-outline: 0;
  --f-thumb-outline-color: #5eb0ef;
  --f-thumb-opacity: 1;
  --f-thumb-hover-opacity: 1;
  --f-thumb-selected-opacity: 1;
  --f-thumb-border-radius: 2px;
  --f-thumb-offset: 0px;
  --f-button-next-pos: 0;
  --f-button-prev-pos: 0;
}

.f-carousel__thumbs.is-classic {
  --f-thumb-gap: 8px;
  --f-thumb-opacity: 0.5;
  --f-thumb-hover-opacity: 1;
  --f-thumb-selected-opacity: 1;
}

.f-carousel__thumbs.is-modern {
  --f-thumb-gap: 4px;
  --f-thumb-extra-gap: 16px;
  --f-thumb-clip-width: 46px;
}

.f-thumbs {
  position: relative;
  flex: 0 0 auto;
  margin: 0;
  overflow: hidden;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  user-select: none;
  perspective: 1000px;
  transform: translateZ(0);
}

.f-thumbs .f-spinner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 2px;
  background-image: linear-gradient(#ebeff2, #e2e8f0);
  z-index: -1;
}

.f-thumbs .f-spinner svg {
  display: none;
}

.f-thumbs.is-vertical {
  height: 100%;
}

.f-thumbs__viewport {
  width: 100%;
  height: auto;
  overflow: hidden;
  transform: translate3d(0, 0, 0);
}

.f-thumbs__track {
  display: flex;
}

.f-thumbs__slide {
  position: relative;
  flex: 0 0 auto;
  box-sizing: content-box;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  width: var(--f-thumb-width);
  height: var(--f-thumb-height);
  overflow: visible;
  cursor: pointer;
}

.f-thumbs__slide.is-loading img {
  opacity: 0;
}

.is-classic .f-thumbs__viewport {
  height: 100%;
}

.is-modern .f-thumbs__track {
  width: max-content;
}

.is-modern .f-thumbs__track::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc((var(--f-thumb-clip-width, 0)) * -0.5);
  width: calc(var(--width, 0) * 1px + var(--f-thumb-clip-width, 0));
  cursor: pointer;
}

.is-modern .f-thumbs__slide {
  width: var(--f-thumb-clip-width);
  transform: translate3d(calc(var(--shift, 0) * -1px), 0, 0);
  transition: none;
  pointer-events: none;
}

.is-modern.is-resting .f-thumbs__slide {
  transition: transform 0.33s ease;
}

.is-modern.is-resting .f-thumbs__slide__button {
  transition: clip-path 0.33s ease;
}

.is-using-tab .is-modern .f-thumbs__slide:focus-within {
  filter: drop-shadow(-1px 0px 0px var(--f-thumb-outline-color)) drop-shadow(2px 0px 0px var(--f-thumb-outline-color)) drop-shadow(0px -1px 0px var(--f-thumb-outline-color)) drop-shadow(0px 2px 0px var(--f-thumb-outline-color));
}

.f-thumbs__slide__button {
  appearance: none;
  width: var(--f-thumb-width);
  height: 100%;
  margin: 0 -100% 0 -100%;
  padding: 0;
  border: 0;
  position: relative;
  border-radius: var(--f-thumb-border-radius);
  overflow: hidden;
  background: rgba(0, 0, 0, 0);
  outline: none;
  cursor: pointer;
  pointer-events: auto;
  touch-action: manipulation;
  opacity: var(--f-thumb-opacity);
  transition: opacity 0.2s ease;
}

.f-thumbs__slide__button:hover {
  opacity: var(--f-thumb-hover-opacity);
}

.f-thumbs__slide__button:focus:not(:focus-visible) {
  outline: none;
}

.f-thumbs__slide__button:focus-visible {
  outline: none;
  opacity: var(--f-thumb-selected-opacity);
}

.is-modern .f-thumbs__slide__button {
  --clip-path: inset( 0 calc( ((var(--f-thumb-width, 0) - var(--f-thumb-clip-width, 0))) * (1 - var(--progress, 0)) * 0.5 ) round var(--f-thumb-border-radius, 0) );
  clip-path: var(--clip-path);
}

.is-classic .is-nav-selected .f-thumbs__slide__button {
  opacity: var(--f-thumb-selected-opacity);
}

.is-classic .is-nav-selected .f-thumbs__slide__button::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: auto;
  bottom: 0;
  border: var(--f-thumb-outline, 0) solid var(--f-thumb-outline-color, transparent);
  border-radius: var(--f-thumb-border-radius);
  animation: f-fadeIn 0.2s ease-out;
  z-index: 10;
}

.f-thumbs__slide__img {
  overflow: hidden;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: var(--f-thumb-offset);
  box-sizing: border-box;
  pointer-events: none;
  object-fit: cover;
  border-radius: var(--f-thumb-border-radius);
}

.f-thumbs.is-horizontal .f-thumbs__track {
  padding: 8px 0 12px 0;
}

.f-thumbs.is-horizontal .f-thumbs__slide {
  margin: 0 var(--f-thumb-gap) 0 0;
}

.f-thumbs.is-vertical .f-thumbs__track {
  flex-wrap: wrap;
  padding: 0 8px;
}

.f-thumbs.is-vertical .f-thumbs__slide {
  margin: 0 0 var(--f-thumb-gap) 0;
}

.fancybox__thumbs {
  --f-thumb-width: 96px;
  --f-thumb-height: 72px;
  --f-thumb-border-radius: 2px;
  --f-thumb-outline: 2px;
  --f-thumb-outline-color: #ededed;
  position: relative;
  opacity: var(--fancybox-opacity, 1);
  transition: max-height 0.35s cubic-bezier(0.23, 1, 0.32, 1);
}

.fancybox__thumbs.is-classic {
  --f-thumb-gap: 8px;
  --f-thumb-opacity: 0.5;
  --f-thumb-hover-opacity: 1;
}

.fancybox__thumbs.is-classic .f-spinner {
  background-image: linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05));
}

.fancybox__thumbs.is-modern {
  --f-thumb-gap: 4px;
  --f-thumb-extra-gap: 16px;
  --f-thumb-clip-width: 46px;
  --f-thumb-opacity: 1;
  --f-thumb-hover-opacity: 1;
}

.fancybox__thumbs.is-modern .f-spinner {
  background-image: linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05));
}

.fancybox__thumbs.is-horizontal {
  padding: 0 var(--f-thumb-gap);
}

.fancybox__thumbs.is-vertical {
  padding: var(--f-thumb-gap) 0;
}

.is-compact .fancybox__thumbs {
  --f-thumb-width: 64px;
  --f-thumb-clip-width: 32px;
  --f-thumb-height: 48px;
  --f-thumb-extra-gap: 10px;
}

.fancybox__thumbs.is-masked {
  max-height: 0px !important;
}

.is-closing .fancybox__thumbs {
  transition: none !important;
}

.fancybox__toolbar {
  --f-progress-color: var(--fancybox-color, rgba(255, 255, 255, 0.94));
  --f-button-width: 46px;
  --f-button-height: 46px;
  --f-button-color: var(--fancybox-color);
  --f-button-hover-color: var(--fancybox-hover-color);
  --f-button-bg: rgba(24, 24, 27, 0.65);
  --f-button-hover-bg: rgba(70, 70, 73, 0.65);
  --f-button-active-bg: rgba(90, 90, 93, 0.65);
  --f-button-border-radius: 0;
  --f-button-svg-width: 24px;
  --f-button-svg-height: 24px;
  --f-button-svg-stroke-width: 1.5;
  --f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, 0.15));
  --f-button-svg-fill: none;
  --f-button-svg-disabled-opacity: 0.65;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin: 0;
  padding: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif;
  color: var(--fancybox-color, currentColor);
  opacity: var(--fancybox-opacity, 1);
  text-shadow: var(--fancybox-toolbar-text-shadow, 1px 1px 1px rgba(0, 0, 0, 0.5));
  pointer-events: none;
  z-index: 20;
}

.fancybox__toolbar :focus-visible {
  z-index: 1;
}

.fancybox__toolbar.is-absolute, .is-compact .fancybox__toolbar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.is-idle .fancybox__toolbar {
  pointer-events: none;
  animation: 0.15s ease-out both f-fadeOut;
}

.fancybox__toolbar__column {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: flex-start;
}

.fancybox__toolbar__column.is-left, .fancybox__toolbar__column.is-right {
  flex-grow: 1;
  flex-basis: 0;
}

.fancybox__toolbar__column.is-right {
  display: flex;
  justify-content: flex-end;
  flex-wrap: nowrap;
}

.fancybox__infobar {
  padding: 0 5px;
  line-height: var(--f-button-height);
  text-align: center;
  font-size: 17px;
  font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: subpixel-antialiased;
  cursor: default;
  user-select: none;
}

.fancybox__infobar span {
  padding: 0 5px;
}

.fancybox__infobar:not(:first-child):not(:last-child) {
  background: var(--f-button-bg);
}

[data-fancybox-toggle-slideshow] {
  position: relative;
}

[data-fancybox-toggle-slideshow] .f-progress {
  height: 100%;
  opacity: 0.3;
}

[data-fancybox-toggle-slideshow] svg g:first-child {
  display: flex;
}

[data-fancybox-toggle-slideshow] svg g:last-child {
  display: none;
}

.has-slideshow [data-fancybox-toggle-slideshow] svg g:first-child {
  display: none;
}

.has-slideshow [data-fancybox-toggle-slideshow] svg g:last-child {
  display: flex;
}

[data-fancybox-toggle-fullscreen] svg g:first-child {
  display: flex;
}

[data-fancybox-toggle-fullscreen] svg g:last-child {
  display: none;
}

:fullscreen [data-fancybox-toggle-fullscreen] svg g:first-child {
  display: none;
}

:fullscreen [data-fancybox-toggle-fullscreen] svg g:last-child {
  display: flex;
}

.f-progress {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  transform: scaleX(0);
  transform-origin: 0;
  transition-property: transform;
  transition-timing-function: linear;
  background: var(--f-progress-color, var(--f-carousel-theme-color, #0091ff));
  z-index: 30;
  user-select: none;
  pointer-events: none;
}

/* Global element styles */
/* Mazzard H - huisstijlfont van sotoff.nl (bestanden uit het So Toff-thema) */
@font-face {
  font-display: swap;
  font-family: "Mazzard H";
  font-style: normal;
  font-weight: 400;
  src: url("https://144094139.fs1.hubspotusercontent-eu1.net/hubfs/144094139/raw_assets/public/dd-sotoff/assets/fonts/MazzardH-Regular.woff2") format("woff2"), url("https://144094139.fs1.hubspotusercontent-eu1.net/hubfs/144094139/raw_assets/public/dd-sotoff/assets/fonts/MazzardH-Regular.woff") format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Mazzard H";
  font-style: italic;
  font-weight: 400;
  src: url("https://144094139.fs1.hubspotusercontent-eu1.net/hubfs/144094139/raw_assets/public/dd-sotoff/assets/fonts/MazzardH-Italic.woff2") format("woff2"), url("https://144094139.fs1.hubspotusercontent-eu1.net/hubfs/144094139/raw_assets/public/dd-sotoff/assets/fonts/MazzardH-Italic.woff") format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Mazzard H";
  font-style: normal;
  font-weight: 500;
  src: url("https://144094139.fs1.hubspotusercontent-eu1.net/hubfs/144094139/raw_assets/public/dd-sotoff/assets/fonts/MazzardH-Medium.woff2") format("woff2"), url("https://144094139.fs1.hubspotusercontent-eu1.net/hubfs/144094139/raw_assets/public/dd-sotoff/assets/fonts/MazzardH-Medium.woff") format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Mazzard H";
  font-style: italic;
  font-weight: 500;
  src: url("https://144094139.fs1.hubspotusercontent-eu1.net/hubfs/144094139/raw_assets/public/dd-sotoff/assets/fonts/MazzardH-MediumItalic.woff2") format("woff2"), url("https://144094139.fs1.hubspotusercontent-eu1.net/hubfs/144094139/raw_assets/public/dd-sotoff/assets/fonts/MazzardH-MediumItalic.woff") format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Mazzard H";
  font-style: normal;
  font-weight: 600;
  src: url("https://144094139.fs1.hubspotusercontent-eu1.net/hubfs/144094139/raw_assets/public/dd-sotoff/assets/fonts/MazzardH-SemiBold.woff2") format("woff2"), url("https://144094139.fs1.hubspotusercontent-eu1.net/hubfs/144094139/raw_assets/public/dd-sotoff/assets/fonts/MazzardH-SemiBold.woff") format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Mazzard H";
  font-style: normal;
  font-weight: 700;
  src: url("https://144094139.fs1.hubspotusercontent-eu1.net/hubfs/144094139/raw_assets/public/dd-sotoff/assets/fonts/MazzardH-Bold.woff2") format("woff2"), url("https://144094139.fs1.hubspotusercontent-eu1.net/hubfs/144094139/raw_assets/public/dd-sotoff/assets/fonts/MazzardH-Bold.woff") format("woff");
}
/* ## Variables
--------------------------------------------- */
:root {
  --f-base: 1.6rem;
  /* Kleuren van sotoff.nl (So Toff-thema). De variabelenamen zijn historisch:
     darkblue = primair (koraal/oranje), blue = secundair (groen), yellow = accent (mint),
     lightblue = lichte achtergrond. */
  --red: #CB3434;
  --green: #5C7F75;
  --darkgreen: #709B90;
  --yellow: #9EDDD0;
  --orange: #FF5335;
  --black: #000;
  --white: #fff;
  --darkblue: #FF5335;
  --blue: #5C7F75;
  --lightblue: #F4FCFA;
  --mint: #CFEEE7;
  --peach: #FFECE8;
  --darkgray: #2C2C2C;
  --textcolor: #5C7F75;
  --textfont: 'Mazzard H', sans-serif;
  --headingfont: 'Mazzard H', sans-serif;
  --border-radius-small: 0.3rem;
  --border-radius: 0.5rem;
  --border-radius-large: 4.8rem;
  --box-shadow: 0rem 0.4rem 0.4rem 0rem rgba(0, 0, 0, 0.05);
  --text-shadow: 0.2rem 0.2rem 0.2rem rgba(0, 0, 0, 0.1);
  --default-transition: all 0.3s ease-out 0s;
  --smooth-transition: all 0.5s cubic-bezier(.86, 0, 0.07, 1);
  --smooth-slow-transition: all 1.5s cubic-bezier(.86, 0, 0.07, 1);
}

/* Shared SCSS setup entrypoint.
   Keep this file for tokens, mixins and functions used via @use "../setup". */
/* ## Base
--------------------------------------------- */
* {
  outline: none !important;
}

.skip-link {
  position: absolute;
  top: -6rem;
  left: 1.6rem;
  z-index: 9999;
  padding: 1.2rem 2rem;
  background: var(--white);
  color: var(--green);
  border-radius: 0 0 0.4rem 0.4rem;
  text-decoration: none;
  font: 600 1.5rem/1 var(--textfont);
  box-shadow: 0 0.4rem 1rem rgba(92, 127, 117, 0.25);
  transition: top 0.2s;
}
.skip-link:focus {
  top: 0;
}

strong,
b {
  font-weight: 700;
}

em {
  font-style: italic;
}

u {
  text-decoration: underline;
}

p:empty {
  display: none;
}

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

@media (max-width: 1023px) {
  html {
    overflow-x: hidden;
  }
}
[id] {
  scroll-margin-top: 12rem;
}
@media (max-width: 1023px) {
  [id] {
    scroll-margin-top: 6.4rem;
  }
}

body {
  width: 100%;
  font: normal 400 calc(var(--f-base) * 1)/1 var(--textfont);
  color: var(--textcolor);
  margin: 0;
  padding: 0;
  background-color: var(--lightblue);
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Geen overflow op body: html { overflow-x: hidden } volstaat en anders werkt position: sticky in de header niet op mobiel */
img,
iframe {
  display: block;
  line-height: 0;
  max-width: 100%;
  height: auto;
}

img.lazy {
  opacity: 0;
  visibility: hidden;
  max-height: 0;
  object-position: center;
}

img.loaded {
  opacity: 1;
  max-height: 100%;
  visibility: visible;
}

img.with-border {
  padding: 1rem;
  background: #fff;
  box-shadow: var(--box-shadow);
}

.align-center img {
  margin: 0 auto;
}

.bg-img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  line-height: 0;
  object-fit: cover;
}

.google-maps-wrapper {
  position: relative;
  padding: 0 0 40% 0;
  height: 0;
}

.google-maps-wrapper img,
.google-maps-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}

@media (max-width: 1023px) {
  .google-maps-wrapper {
    padding: 0 0 66.67% 0;
  }
}
@media (max-width: 480px) {
  .google-maps-wrapper {
    padding: 0 0 100%;
  }
}
.wrap-square,
.wrap-16-9,
.wrap-4-3 {
  display: block;
  position: relative;
  height: 0;
  margin: 0;
  overflow: hidden;
}

.wrap-square img,
.wrap-16-9 img,
.wrap-4-3 img,
.wrap-square video,
.wrap-16-9 video,
.wrap-4-3 video {
  position: absolute;
  inset: 0 0 0 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wrap-square {
  padding: 0 0 100% 0;
}

.wrap-16-9 {
  padding: 0 0 56.25% 0;
}

.wrap-4-3 {
  padding: 0 0 75% 0;
}

.center-align {
  margin-left: auto;
  margin-right: auto;
}

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

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

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

.alignleft,
.float-left {
  float: left;
}

.alignright,
.float-right {
  float: right;
}

::selection {
  background: var(--textcolor);
  color: var(--white);
}

::-moz-selection {
  background: var(--textcolor);
  color: var(--white);
}

/* ## Clear
--------------------------------------------- */
.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}

.clearfix {
  display: inline-block;
}

* html .clearfix {
  height: 1%;
}

.clearfix {
  display: block;
}

.clear {
  clear: both;
}

/* ## Desktop / Mob-only
--------------------------------------------- */
.mob-only {
  display: none;
}

@media (max-width: 1023px) {
  .mob-only {
    display: block;
  }
}
.desktop-only {
  display: block;
}

@media (max-width: 1023px) {
  .desktop-only {
    display: none;
  }
}
.mob-img {
  display: none;
}

@media (max-width: 750px) {
  .mob-img {
    display: block;
  }
}
.desktop-img {
  display: block;
}

@media (max-width: 750px) {
  .desktop-img {
    display: none;
  }
}
/* Ensure global media rules never break Fancybox rendering */
.fancybox__container iframe,
.fancybox__container .fancybox__iframe,
.fancybox__container .fancybox__html5video {
  max-width: 100%;
  width: 100%;
  height: 100%;
}

.fancybox__container img.lazy {
  opacity: 1;
  max-height: none;
  visibility: visible;
}

.hs-embed-wrapper {
  width: 100% !important;
  margin: 0 0 calc(var(--f-base) * 2) 0 !important;
  border-radius: var(--border-radius) !important;
  overflow: hidden !important;
  max-width: 100% !important;
}
.hs-embed-wrapper .hs-embed-content-wrapper {
  width: 100% !important;
  position: relative !important;
  max-width: 100% !important;
}

/* ## Wrap
--------------------------------------------- */
#main {
  padding: 0;
  position: relative;
}

/* De ruimte onder de header zit op het eerste contentblok, niet op #main, zodat de breadcrumbs direct onder de header hangen */
#main > .container-fluid {
  padding-top: 4rem;
}

@media (max-width: 1023px) {
  #main > .container-fluid {
    padding-top: 3.2rem;
  }
}
/* Staan er breadcrumbs boven de content, dan verliest het eerste blok zijn eigen bovenpadding:
   de breadcrumbs (met hun eigen ruimte) plus de 4rem van .container-fluid zijn dan genoeg */
#main:has(.breadcrumbs) > .container-fluid > .row-fluid-wrapper:first-child > .row-fluid > .widget-type-cell > .dnd-section:first-child > .row-fluid > .dnd-module > .hs_cos_wrapper > section,
#main:has(.breadcrumbs) > .container-fluid > .row-fluid-wrapper:first-child > .row-fluid > .widget-type-cell > .dnd-section:first-child > .row-fluid > .dnd-column > .dnd-row:first-child > .row-fluid > .dnd-module > .hs_cos_wrapper > section {
  padding-top: 0;
}

.wrap,
.l-wrap {
  max-width: 124rem;
  padding: 0 2rem;
  margin: 0 auto;
  position: relative;
}
.wrap__full-width,
.l-wrap__full-width {
  max-width: 100%;
}
.wrap__inner-wrap,
.l-wrap__inner-wrap {
  max-width: 112.4rem;
}
.wrap__text-wrap,
.l-wrap__text-wrap {
  max-width: 96rem;
}

.content-row {
  position: relative;
  padding: 10rem 0;
}

@media (max-width: 1023px) {
  .content-row {
    padding: 8rem 0;
  }
}
.small-gap {
  gap: 2rem;
}

.medium-gap {
  gap: 3rem;
}

.big-gap {
  gap: 6rem;
}

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

.col-2-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 750px) {
  .col-2-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
.col-3-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1023px) {
  .col-3-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .col-3-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
.col-4-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 1023px) {
  .col-4-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 640px) {
  .col-4-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* ## Animations
--------------------------------------------- */
@-webkit-keyframes rotating {
  from {
    -webkit-transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
  }
}
@keyframes spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.animated-view {
  transition: var(--smooth-slow-transition);
}
.animated-view.fade-to-left, .animated-view--fade-left {
  transform: translateX(20rem);
  opacity: 0;
}
.animated-view.fade-to-left.in-view, .animated-view.fade-to-left.is-in-view, .animated-view--fade-left.in-view, .animated-view--fade-left.is-in-view {
  opacity: 1;
  transform: translateX(0);
}
.animated-view.fade-to-right, .animated-view--fade-right {
  transform: translateX(-20rem);
  opacity: 0;
}
.animated-view.fade-to-right.in-view, .animated-view.fade-to-right.is-in-view, .animated-view--fade-right.in-view, .animated-view--fade-right.is-in-view {
  opacity: 1;
  transform: translateX(0);
}
.animated-view.fade-to-top, .animated-view--fade-top {
  transform: translateY(20rem);
  opacity: 0;
}
.animated-view.fade-to-top.in-view, .animated-view.fade-to-top.is-in-view, .animated-view--fade-top.in-view, .animated-view--fade-top.is-in-view {
  opacity: 1;
  transform: translateY(0);
}
.animated-view.fade-to-bottom, .animated-view--fade-bottom {
  transform: translateY(-20rem);
  opacity: 0;
}
.animated-view.fade-to-bottom.in-view, .animated-view.fade-to-bottom.is-in-view, .animated-view--fade-bottom.in-view, .animated-view--fade-bottom.is-in-view {
  opacity: 1;
  transform: translateY(0);
}
.animated-view.fade-in, .animated-view--fade {
  opacity: 0;
}
.animated-view.fade-in.in-view, .animated-view.fade-in.is-in-view, .animated-view--fade.in-view, .animated-view--fade.is-in-view {
  opacity: 1;
}
.animated-view.zoom-in, .animated-view--zoom {
  transform: scale(0);
  transform-origin: center center;
}
.animated-view.zoom-in.in-view, .animated-view.zoom-in.is-in-view, .animated-view--zoom.in-view, .animated-view--zoom.is-in-view {
  transform: scale(1);
}

/* ## Scroll-reveal (subtiel): .reveal krijgt .is-in-view via IntersectionObserver in main.js
--------------------------------------------- */
.reveal {
  opacity: 0;
  transform: translateY(2.4rem);
  transition: opacity 0.7s ease-out, transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--reveal-delay, 0s);
  will-change: opacity, transform;
}
.reveal--left {
  transform: translateX(-3.2rem);
}
.reveal--right {
  transform: translateX(3.2rem);
}
.reveal--zoom {
  transform: scale(0.96);
}
.reveal.is-in-view {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .reveal,
  .animated-view {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
/* ## Colors
--------------------------------------------- */
.bg-black {
  background: var(--black);
}

.row-fluid-wrapper:has(.content-row.bg-black) + .row-fluid-wrapper:has(.content-row.bg-black) .content-row {
  padding-top: 0;
}

.black-color {
  color: var(--black) !important;
}

.bg-white {
  background: var(--white);
}

.row-fluid-wrapper:has(.content-row.bg-white) + .row-fluid-wrapper:has(.content-row.bg-white) .content-row {
  padding-top: 0;
}

.white-color {
  color: var(--white) !important;
}

.bg-red {
  background: var(--red);
}

.row-fluid-wrapper:has(.content-row.bg-red) + .row-fluid-wrapper:has(.content-row.bg-red) .content-row {
  padding-top: 0;
}

.red-color {
  color: var(--red) !important;
}

.bg-green {
  background: var(--green);
}

.row-fluid-wrapper:has(.content-row.bg-green) + .row-fluid-wrapper:has(.content-row.bg-green) .content-row {
  padding-top: 0;
}

.green-color {
  color: var(--green) !important;
}

.bg-yellow {
  background: var(--yellow);
}

.row-fluid-wrapper:has(.content-row.bg-yellow) + .row-fluid-wrapper:has(.content-row.bg-yellow) .content-row {
  padding-top: 0;
}

.yellow-color {
  color: var(--yellow) !important;
}

.bg-orange {
  background: var(--orange);
}

.row-fluid-wrapper:has(.content-row.bg-orange) + .row-fluid-wrapper:has(.content-row.bg-orange) .content-row {
  padding-top: 0;
}

.orange-color {
  color: var(--orange) !important;
}

.bg-darkblue {
  background: var(--darkblue);
}

.row-fluid-wrapper:has(.content-row.bg-darkblue) + .row-fluid-wrapper:has(.content-row.bg-darkblue) .content-row {
  padding-top: 0;
}

.darkblue-color {
  color: var(--darkblue) !important;
}

.bg-blue {
  background: var(--blue);
}

.row-fluid-wrapper:has(.content-row.bg-blue) + .row-fluid-wrapper:has(.content-row.bg-blue) .content-row {
  padding-top: 0;
}

.blue-color {
  color: var(--blue) !important;
}

.bg-lightblue {
  background: var(--lightblue);
}

.row-fluid-wrapper:has(.content-row.bg-lightblue) + .row-fluid-wrapper:has(.content-row.bg-lightblue) .content-row {
  padding-top: 0;
}

.lightblue-color {
  color: var(--lightblue) !important;
}

.bg-darkgray {
  background: var(--darkgray);
}

.row-fluid-wrapper:has(.content-row.bg-darkgray) + .row-fluid-wrapper:has(.content-row.bg-darkgray) .content-row {
  padding-top: 0;
}

.darkgray-color {
  color: var(--darkgray) !important;
}

body {
  /* Alle sliders: altijd een pointer-cursor */
}
body .swiper,
body .swiper-slide {
  cursor: pointer;
}
body .swiper-navigation {
  margin: calc(var(--f-base) * 2) 0 0 0;
  display: flex;
  gap: 2rem 4rem;
  align-items: center;
}
body .swiper-navigation .swiper-scrollbar {
  position: relative;
  inset: unset !important;
  margin: 0;
  width: 100% !important;
  background: var(--mint);
}
body .swiper-navigation .swiper-scrollbar .swiper-scrollbar-drag {
  background: var(--darkblue);
  cursor: grab;
}
body .swiper-buttons-container {
  position: relative;
  display: flex;
  gap: 0 1rem;
  margin: 0;
  padding: 0;
  align-items: center;
}
@media (max-width: 1023px) {
  body .swiper-buttons-container {
    gap: 0 0.5rem;
  }
}
body .swiper-buttons-container .swiper-button {
  position: relative;
  inset: unset !important;
  height: 5.2rem;
  width: 5.2rem;
  background: var(--white);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--darkblue);
  margin: 0;
  border: 1px solid var(--mint);
  transition: var(--smooth-transition);
}
@media (max-width: 1023px) {
  body .swiper-buttons-container .swiper-button {
    height: 4.2rem;
    width: 4.2rem;
  }
}
body .swiper-buttons-container .swiper-button:hover {
  border-color: var(--darkblue);
}
body .swiper-buttons-container .swiper-button svg {
  height: 2rem;
  width: auto;
  line-height: 0;
}
@media (max-width: 1023px) {
  body .swiper-buttons-container .swiper-button svg {
    height: 1.4rem;
  }
}
body .swiper-buttons-container .swiper-button:after {
  display: none;
}

/* ## Text
--------------------------------------------- */
a {
  text-decoration: underline;
  color: var(--textcolor);
}

a:hover {
  text-decoration: none;
  color: var(--textcolor);
}

a.text-link {
  color: var(--textcolor);
}

p,
label,
address,
td,
th,
li {
  font: 400 calc(var(--f-base) * 1)/2 var(--textfont);
  color: var(--textcolor);
  margin: 0 0 calc(var(--f-base) * 2) 0;
}
@media (max-width: 1023px) {
  p,
  label,
  address,
  td,
  th,
  li {
    font: 400 calc(var(--f-base) * 0.875)/2 var(--textfont);
  }
}

.subtitle {
  display: block;
  font: 600 calc(var(--f-base) * 1.25)/1.5 var(--textfont);
  color: var(--darkblue);
  margin: 0 0 0.8rem 0;
}
@media (max-width: 1023px) {
  .subtitle {
    font: 600 calc(var(--f-base) * 1)/1.5 var(--textfont);
  }
}

.smaller,
small {
  font-size: 1.4rem;
}

.bigger,
.intro {
  font: 600 calc(var(--f-base) * 1.25)/1.5 var(--textfont);
}
@media (max-width: 1023px) {
  .bigger,
  .intro {
    font: 600 calc(var(--f-base) * 1)/1.5 var(--textfont);
  }
}

.with-icon {
  padding-left: 2.5rem;
  position: relative;
}

.with-icon i {
  position: absolute;
  left: 0;
}

hr {
  margin: 0 0 3.2rem 0;
  padding: 0;
  border: 0;
  height: 1px;
  background: var(--textcolor);
  display: block;
}

ul,
ol {
  display: block;
  padding: 0;
  margin: 0 0 3.2rem 0;
}

#main ul, #main ol, .main-footer ul, .main-footer ol {
  display: flex;
  flex-direction: column;
  gap: 0.9rem 0;
}

ul li,
ol li {
  display: block;
  position: relative;
  margin: 0;
  padding: 0 0 0 2rem;
  line-height: 1.5;
}

ul li:before,
ol li:before {
  display: block;
  height: 0.6rem;
  width: 0.6rem;
  background: var(--textcolor);
  border-radius: 50%;
  position: absolute;
  top: 0.9rem;
  left: 0;
  content: "";
}

@media (max-width: 1023px) {
  ul li:before,
  ol li:before {
    top: 0.8rem;
  }
}
ul.two-columns,
ol.two-columns {
  column-gap: 4rem;
  column-count: 2;
}

@media (max-width: 480px) {
  ul.two-columns,
  ol.two-columns {
    column-count: 1;
    column-gap: 0;
  }
}
ul.three-columns,
ol.three-columns {
  column-gap: 4rem;
  column-count: 3;
}

@media (max-width: 750px) {
  ul.three-columns,
  ol.three-columns {
    column-count: 2;
  }
}
@media (max-width: 480px) {
  ul.three-columns,
  ol.three-columns {
    column-count: 1;
    column-gap: 0;
  }
}
ul.yellow-checks li {
  padding-left: 2.8rem;
}
ul.yellow-checks li:before {
  height: 2rem;
  width: 2rem;
  top: -0.2rem;
  left: 0;
  background-color: var(--yellow);
  mask-image: url("https://144094139.fs1.hubspotusercontent-eu1.net/hubfs/144094139/raw_assets/public/dd-sotoff/assets/img/icons/check.svg");
  mask-size: 2rem 2rem;
  mask-repeat: no-repeat;
  mask-position: center right;
  border-radius: 0;
}

p.yellow-check {
  padding-left: 2.8rem;
}
p.yellow-check:before {
  height: 2rem;
  width: 2rem;
  top: -0.2rem;
  left: 0;
  background-color: var(--yellow);
  mask-image: url("https://144094139.fs1.hubspotusercontent-eu1.net/hubfs/144094139/raw_assets/public/dd-sotoff/assets/img/icons/check.svg");
  mask-size: 2rem 2rem;
  mask-repeat: no-repeat;
  mask-position: center right;
  border-radius: 0;
  content: "";
  display: block;
  position: absolute;
}

ol li {
  counter-increment: step-counter;
  padding-left: 2.5rem;
}

ol li:before {
  content: counter(step-counter) ". ";
  font-weight: 700;
  position: absolute;
  left: 0;
  top: 0;
  background: none;
  border-radius: 0;
}

blockquote {
  position: relative;
  display: block;
}

blockquote p {
  font: 300 calc(var(--f-base) * 3)/1.5 var(--textfont);
  font-style: italic;
  margin: 0;
}

@media (max-width: 1023px) {
  blockquote p {
    font: 300 calc(var(--f-base) * 2)/1.5 var(--textfont);
  }
}
table {
  margin: 0 0 3rem 0;
  width: 100%;
}

td,
th {
  text-align: left;
  padding: 1rem;
}

th {
  font-weight: 700;
}

.white-text h1,
.white-text .h1,
.white-text h2,
.white-text .h2,
.white-text h3,
.white-text .h3,
.white-text ul li,
.white-text ol li,
.white-text ul li:before,
.white-text ol li:before,
.white-text label,
.white-text p,
.white-text span,
.white-text i,
.white-text a {
  color: #fff;
}

.white-text ul li:before {
  background: #fff;
}

.white-text ol li:before {
  color: #fff;
}

/* ## Heading styling
--------------------------------------------- */
h1,
.h1 {
  font: 900 calc(var(--f-base) * 3)/1.125 var(--headingfont);
  color: var(--darkblue);
  padding: 0;
  margin: 0 0 calc(var(--f-base) * 1.5) 0;
}
@media (max-width: 1023px) {
  h1,
  .h1 {
    font: 900 calc(var(--f-base) * 2)/1.125 var(--headingfont);
  }
}

h2,
.h2 {
  font: 600 calc(var(--f-base) * 2)/1.125 var(--headingfont);
  color: var(--darkblue);
  padding: 0;
  margin: 0 0 calc(var(--f-base) * 1.5) 0;
}
@media (max-width: 1023px) {
  h2,
  .h2 {
    font: 600 calc(var(--f-base) * 1.5)/1.125 var(--headingfont);
  }
}

h3,
.h3 {
  font: 600 calc(var(--f-base) * 1.75)/1.25 var(--headingfont);
  color: var(--darkblue);
  padding: 0;
  margin: 0 0 calc(var(--f-base) * 2) 0;
}
@media (max-width: 1023px) {
  h3,
  .h3 {
    font: 600 calc(var(--f-base) * 1.375)/1.25 var(--headingfont);
  }
}

h4,
.h4 {
  font: 600 calc(var(--f-base) * 1.5)/1.25 var(--headingfont);
  padding: 0;
  margin: 0 0 calc(var(--f-base) * 2) 0;
}
@media (max-width: 1023px) {
  h4,
  .h4 {
    font: 600 calc(var(--f-base) * 1.25)/1.25 var(--headingfont);
  }
}

h5,
.h5 {
  font: 700 calc(var(--f-base) * 1.25)/1.5 var(--headingfont);
  padding: 0;
  margin: 0 0 calc(var(--f-base) * 2) 0;
}
@media (max-width: 1023px) {
  h5,
  .h5 {
    font: 700 calc(var(--f-base) * 1.125)/1.5 var(--headingfont);
  }
}

html body form {
  display: flex;
  gap: 2rem;
  flex-direction: column;
  margin: 0;
  padding: 0;
}
html body form input[type=text],
html body form input[type=number],
html body form input[type=search],
html body form input[type=email],
html body form input[type=tel],
html body form input[type=password],
html body form input[type=date],
html body form input[type=phone],
html body form input[type=url],
html body form select,
html body form textarea {
  cursor: pointer;
  display: block;
  position: relative;
  padding: 1.5rem 2.4rem;
  font: 400 calc(var(--f-base) * 1)/1.25 var(--textfont);
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: var(--border-radius);
  text-decoration: none;
  margin: 0;
  cursor: pointer;
  transition: var(--smooth-transition);
  width: 100% !important;
}
html body form input[type=text]:focus,
html body form input[type=number]:focus,
html body form input[type=search]:focus,
html body form input[type=email]:focus,
html body form input[type=tel]:focus,
html body form input[type=password]:focus,
html body form input[type=date]:focus,
html body form input[type=phone]:focus,
html body form input[type=url]:focus,
html body form select:focus,
html body form textarea:focus {
  border-color: var(--darkblue);
}
html body form fieldset {
  max-width: 100% !important;
}
html body form h1, html body form h2, html body form h3, html body form h4, html body form h5, html body form h6 {
  margin: 0;
  padding: 0;
}
html body form input[type=checkbox],
html body form input[type=radio] {
  display: block;
  position: absolute;
  z-index: 2;
  width: 100%;
  cursor: pointer;
  inset: 0 0 0 0;
  height: 100%;
  opacity: 0;
}
html body form input[type=checkbox] + label, html body form input[type=checkbox] + span, html body form input[type=checkbox] + td,
html body form input[type=radio] + label,
html body form input[type=radio] + span,
html body form input[type=radio] + td {
  display: block;
  position: relative;
  padding: 0 0 0 2.8rem;
  margin: 0;
  cursor: pointer;
  text-transform: none !important;
  color: var(--textcolor);
  font-weight: 400;
}
html body form input[type=checkbox] + label:before, html body form input[type=checkbox] + span:before, html body form input[type=checkbox] + td:before,
html body form input[type=radio] + label:before,
html body form input[type=radio] + span:before,
html body form input[type=radio] + td:before {
  display: block;
  position: absolute;
  height: 1.6rem;
  width: 1.6rem;
  content: "";
  padding: 0;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.2);
  inset: 0.1rem 0 0 0;
}
html body form input[type=checkbox] + label:after, html body form input[type=checkbox] + span:after, html body form input[type=checkbox] + td:after,
html body form input[type=radio] + label:after,
html body form input[type=radio] + span:after,
html body form input[type=radio] + td:after {
  display: block;
  position: absolute;
  background: var(--darkblue);
  height: 1rem;
  width: 1rem;
  inset: 0;
}
html body form input[type=radio] + label:before, html body form input[type=radio] + span:before, html body form input[type=radio] + td:before {
  border-radius: 50%;
}
html body form input[type=radio]:checked + label:after, html body form input[type=radio]:checked + span:after, html body form input[type=radio]:checked + td:after {
  content: "";
  border-radius: 50%;
  inset: 0.4rem 0 0 0.3rem;
}
html body form input[type=checkbox]:checked + label:before, html body form input[type=checkbox]:checked + span:before, html body form input[type=checkbox]:checked + td:before {
  background-color: var(--darkblue);
  border-color: var(--darkblue);
}
html body form input[type=checkbox]:checked + label:after, html body form input[type=checkbox]:checked + span:after, html body form input[type=checkbox]:checked + td:after {
  background-color: transparent;
  background-image: url("https://144094139.fs1.hubspotusercontent-eu1.net/hubfs/144094139/raw_assets/public/dd-sotoff/assets/img/icons/check.svg");
  background-size: 1.4rem auto;
  background-position: center 0.2rem;
  background-repeat: no-repeat;
  content: "";
  height: 1.6rem;
  width: 1.6rem;
  filter: brightness(0) invert(1);
}
html body form select {
  appearance: none;
  background: none;
  cursor: pointer;
  background: #fff url("https://144094139.fs1.hubspotusercontent-eu1.net/hubfs/144094139/raw_assets/public/dd-sotoff/assets/img/icons/chevron-down.svg") right 2rem center no-repeat;
  background-size: 1.6rem;
  padding-right: 5rem !important;
}
html body form .hs-form-required {
  display: inline-block;
  transform: translateX(0.4rem);
}
html body form .input {
  margin: 0 !important;
}
html body form .input ul {
  margin: 0;
  padding: 0;
}
html body form .input ul.inputs-list {
  gap: 1rem;
}
html body form .input ul li {
  margin: 0;
  padding: 0;
}
html body form .input ul li.hs-form-checkbox {
  position: relative;
}
html body form .input ul li.hs-form-checkbox label {
  position: relative;
}
html body form .input button, html body form .input input, html body form .input optgroup, html body form .input select, html body form .input textarea {
  width: 100%;
  font: 400 calc(var(--f-base) * 1)/1.25 var(--textfont);
  color: var(--textcolor);
  border-radius: var(--border-radius);
  border: 1px solid rgba(0, 0, 0, 0.2);
  padding: 1.5rem 2rem;
}
html body form .input button.invalid, html body form .input button.error, html body form .input input.invalid, html body form .input input.error, html body form .input optgroup.invalid, html body form .input optgroup.error, html body form .input select.invalid, html body form .input select.error, html body form .input textarea.invalid, html body form .input textarea.error {
  border-color: var(--red) !important;
}
html body form .input button input[type=file], html body form .input input input[type=file], html body form .input optgroup input[type=file], html body form .input select input[type=file], html body form .input textarea input[type=file] {
  padding: 2rem;
  border: 1px dashed rgba(0, 0, 0, 0.2);
}
html body form .input textarea {
  min-height: 10rem;
}
html body form .hs-form-field {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.6rem;
}
html body form .hs-form-field label {
  font: 400 calc(var(--f-base) * 1)/1.25 var(--textfont);
  color: var(--darkblue);
  margin: 0;
}
html body form .hs-form-checkbox:before {
  display: none !important;
}
html body form .form-columns-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
@media screen and (max-width: 640px) {
  html body form .form-columns-2 {
    grid-template-columns: 1fr;
  }
}
html body form ul.no-list {
  margin: 0;
  padding: 0;
}
html body form ul.no-list li {
  padding: 0;
  margin: 0;
}
html body form ul.no-list li:before {
  display: none;
}
html body form ul.hs-error-msgs {
  margin-top: 0.4rem !important;
}
html body form ul.hs-error-msgs li {
  font: 400 calc(var(--f-base) * 0.875)/1.25 var(--textfont);
  color: var(--red) !important;
  font-style: italic;
}
html body form ul.hs-error-msgs li label {
  font: 400 calc(var(--f-base) * 0.875)/1.25 var(--textfont);
  color: var(--red) !important;
  font-style: italic;
}
html body form .hs_error_rollup {
  background: var(--red) !important;
  padding: 2rem;
  border-radius: var(--border-radius);
  color: var(--white) !important;
}
html body form .hs_error_rollup ul {
  margin: 0 !important;
}
html body form .hs_error_rollup ul li {
  color: var(--white) !important;
  font: 400 calc(var(--f-base) * 1)/1.25 var(--textfont);
}
html body form .hs_error_rollup ul li label {
  color: var(--white) !important;
  font: 400 calc(var(--f-base) * 1)/1.25 var(--textfont);
}

.white-text input[type=submit] {
  border-color: var(--white) !important;
}

/* ## Buttons
--------------------------------------------- */
.button,
input[type=submit],
button[type=submit] {
  cursor: pointer;
  display: inline-block;
  position: relative;
  padding: 1.6rem 4rem 1.4rem;
  min-height: 5.2rem;
  box-sizing: border-box;
  font: 600 calc(var(--f-base) * 1.0625)/1.1 var(--textfont);
  border: 2px solid var(--green);
  border-radius: 100rem;
  text-decoration: none;
  margin: 0;
  text-align: center;
  transition: var(--smooth-transition);
}
@media (max-width: 1023px) {
  .button,
  input[type=submit],
  button[type=submit] {
    font: 600 calc(var(--f-base) * 0.875)/1.1 var(--textfont);
    padding: 1.6rem 4rem 1.4rem;
    min-height: 4.6rem;
  }
}
.button.full-width, .button.button--full-width,
input[type=submit].full-width,
input[type=submit].button--full-width,
button[type=submit].full-width,
button[type=submit].button--full-width {
  width: 100%;
}
.button.search-button,
input[type=submit].search-button,
button[type=submit].search-button {
  display: flex;
}
.button.search-button svg,
input[type=submit].search-button svg,
button[type=submit].search-button svg {
  display: flex;
  height: 2rem;
  width: auto;
  line-height: 0;
}
.button.search-button:hover,
input[type=submit].search-button:hover,
button[type=submit].search-button:hover {
  color: var(--white);
}
.button.search-button:hover svg,
input[type=submit].search-button:hover svg,
button[type=submit].search-button:hover svg {
  color: var(--white);
}
.button.darkblue, .button.primary, .button.button--darkblue, .button.button--primary,
input[type=submit].darkblue,
input[type=submit].primary,
input[type=submit].button--darkblue,
input[type=submit].button--primary,
button[type=submit].darkblue,
button[type=submit].primary,
button[type=submit].button--darkblue,
button[type=submit].button--primary {
  background: var(--green);
  color: var(--white);
  border-color: var(--green);
}
.button.darkblue:hover, .button.primary:hover, .button.button--darkblue:hover, .button.button--primary:hover,
input[type=submit].darkblue:hover,
input[type=submit].primary:hover,
input[type=submit].button--darkblue:hover,
input[type=submit].button--primary:hover,
button[type=submit].darkblue:hover,
button[type=submit].primary:hover,
button[type=submit].button--darkblue:hover,
button[type=submit].button--primary:hover {
  background: var(--darkgreen);
  border-color: var(--darkgreen);
  color: var(--white);
}
.button.ghost, .button.secondary, .button.button--ghost, .button.button--secondary,
input[type=submit].ghost,
input[type=submit].secondary,
input[type=submit].button--ghost,
input[type=submit].button--secondary,
button[type=submit].ghost,
button[type=submit].secondary,
button[type=submit].button--ghost,
button[type=submit].button--secondary {
  background: transparent;
  color: var(--green);
  border-color: var(--green);
}
.button.ghost .button__text,
.button.ghost .button__icon, .button.secondary .button__text,
.button.secondary .button__icon, .button.button--ghost .button__text,
.button.button--ghost .button__icon, .button.button--secondary .button__text,
.button.button--secondary .button__icon,
input[type=submit].ghost .button__text,
input[type=submit].ghost .button__icon,
input[type=submit].secondary .button__text,
input[type=submit].secondary .button__icon,
input[type=submit].button--ghost .button__text,
input[type=submit].button--ghost .button__icon,
input[type=submit].button--secondary .button__text,
input[type=submit].button--secondary .button__icon,
button[type=submit].ghost .button__text,
button[type=submit].ghost .button__icon,
button[type=submit].secondary .button__text,
button[type=submit].secondary .button__icon,
button[type=submit].button--ghost .button__text,
button[type=submit].button--ghost .button__icon,
button[type=submit].button--secondary .button__text,
button[type=submit].button--secondary .button__icon {
  color: var(--green);
}
.button.ghost:hover, .button.secondary:hover, .button.button--ghost:hover, .button.button--secondary:hover,
input[type=submit].ghost:hover,
input[type=submit].secondary:hover,
input[type=submit].button--ghost:hover,
input[type=submit].button--secondary:hover,
button[type=submit].ghost:hover,
button[type=submit].secondary:hover,
button[type=submit].button--ghost:hover,
button[type=submit].button--secondary:hover {
  background: var(--darkgreen);
  border-color: var(--darkgreen);
}
.button.ghost:hover .button__text,
.button.ghost:hover .button__icon, .button.secondary:hover .button__text,
.button.secondary:hover .button__icon, .button.button--ghost:hover .button__text,
.button.button--ghost:hover .button__icon, .button.button--secondary:hover .button__text,
.button.button--secondary:hover .button__icon,
input[type=submit].ghost:hover .button__text,
input[type=submit].ghost:hover .button__icon,
input[type=submit].secondary:hover .button__text,
input[type=submit].secondary:hover .button__icon,
input[type=submit].button--ghost:hover .button__text,
input[type=submit].button--ghost:hover .button__icon,
input[type=submit].button--secondary:hover .button__text,
input[type=submit].button--secondary:hover .button__icon,
button[type=submit].ghost:hover .button__text,
button[type=submit].ghost:hover .button__icon,
button[type=submit].secondary:hover .button__text,
button[type=submit].secondary:hover .button__icon,
button[type=submit].button--ghost:hover .button__text,
button[type=submit].button--ghost:hover .button__icon,
button[type=submit].button--secondary:hover .button__text,
button[type=submit].button--secondary:hover .button__icon {
  color: var(--white);
}
.button.yellow, .button.tertiary, .button.button--yellow, .button.button--tertiary,
input[type=submit].yellow,
input[type=submit].tertiary,
input[type=submit].button--yellow,
input[type=submit].button--tertiary,
button[type=submit].yellow,
button[type=submit].tertiary,
button[type=submit].button--yellow,
button[type=submit].button--tertiary {
  background: var(--yellow);
  color: var(--green);
  border-color: var(--yellow);
}
.button.yellow .button__text,
.button.yellow .button__icon, .button.tertiary .button__text,
.button.tertiary .button__icon, .button.button--yellow .button__text,
.button.button--yellow .button__icon, .button.button--tertiary .button__text,
.button.button--tertiary .button__icon,
input[type=submit].yellow .button__text,
input[type=submit].yellow .button__icon,
input[type=submit].tertiary .button__text,
input[type=submit].tertiary .button__icon,
input[type=submit].button--yellow .button__text,
input[type=submit].button--yellow .button__icon,
input[type=submit].button--tertiary .button__text,
input[type=submit].button--tertiary .button__icon,
button[type=submit].yellow .button__text,
button[type=submit].yellow .button__icon,
button[type=submit].tertiary .button__text,
button[type=submit].tertiary .button__icon,
button[type=submit].button--yellow .button__text,
button[type=submit].button--yellow .button__icon,
button[type=submit].button--tertiary .button__text,
button[type=submit].button--tertiary .button__icon {
  color: var(--green);
}
.button.yellow:hover, .button.tertiary:hover, .button.button--yellow:hover, .button.button--tertiary:hover,
input[type=submit].yellow:hover,
input[type=submit].tertiary:hover,
input[type=submit].button--yellow:hover,
input[type=submit].button--tertiary:hover,
button[type=submit].yellow:hover,
button[type=submit].tertiary:hover,
button[type=submit].button--yellow:hover,
button[type=submit].button--tertiary:hover {
  background: var(--darkgreen);
  border-color: var(--darkgreen);
}
.button.yellow:hover .button__text,
.button.yellow:hover .button__icon, .button.tertiary:hover .button__text,
.button.tertiary:hover .button__icon, .button.button--yellow:hover .button__text,
.button.button--yellow:hover .button__icon, .button.button--tertiary:hover .button__text,
.button.button--tertiary:hover .button__icon,
input[type=submit].yellow:hover .button__text,
input[type=submit].yellow:hover .button__icon,
input[type=submit].tertiary:hover .button__text,
input[type=submit].tertiary:hover .button__icon,
input[type=submit].button--yellow:hover .button__text,
input[type=submit].button--yellow:hover .button__icon,
input[type=submit].button--tertiary:hover .button__text,
input[type=submit].button--tertiary:hover .button__icon,
button[type=submit].yellow:hover .button__text,
button[type=submit].yellow:hover .button__icon,
button[type=submit].tertiary:hover .button__text,
button[type=submit].tertiary:hover .button__icon,
button[type=submit].button--yellow:hover .button__text,
button[type=submit].button--yellow:hover .button__icon,
button[type=submit].button--tertiary:hover .button__text,
button[type=submit].button--tertiary:hover .button__icon {
  color: var(--white);
}
.button.green, .button.whatsapp, .button.button--green, .button.button--whatsapp,
input[type=submit].green,
input[type=submit].whatsapp,
input[type=submit].button--green,
input[type=submit].button--whatsapp,
button[type=submit].green,
button[type=submit].whatsapp,
button[type=submit].button--green,
button[type=submit].button--whatsapp {
  background: #25d366;
  color: var(--darkblue);
  border-color: #25d366;
}
.button.green .button__text,
.button.green .button__icon, .button.whatsapp .button__text,
.button.whatsapp .button__icon, .button.button--green .button__text,
.button.button--green .button__icon, .button.button--whatsapp .button__text,
.button.button--whatsapp .button__icon,
input[type=submit].green .button__text,
input[type=submit].green .button__icon,
input[type=submit].whatsapp .button__text,
input[type=submit].whatsapp .button__icon,
input[type=submit].button--green .button__text,
input[type=submit].button--green .button__icon,
input[type=submit].button--whatsapp .button__text,
input[type=submit].button--whatsapp .button__icon,
button[type=submit].green .button__text,
button[type=submit].green .button__icon,
button[type=submit].whatsapp .button__text,
button[type=submit].whatsapp .button__icon,
button[type=submit].button--green .button__text,
button[type=submit].button--green .button__icon,
button[type=submit].button--whatsapp .button__text,
button[type=submit].button--whatsapp .button__icon {
  color: var(--darkblue);
}
.button.green:hover, .button.whatsapp:hover, .button.button--green:hover, .button.button--whatsapp:hover,
input[type=submit].green:hover,
input[type=submit].whatsapp:hover,
input[type=submit].button--green:hover,
input[type=submit].button--whatsapp:hover,
button[type=submit].green:hover,
button[type=submit].whatsapp:hover,
button[type=submit].button--green:hover,
button[type=submit].button--whatsapp:hover {
  background: var(--darkgreen);
}
.button.green:hover .button__text,
.button.green:hover .button__icon, .button.whatsapp:hover .button__text,
.button.whatsapp:hover .button__icon, .button.button--green:hover .button__text,
.button.button--green:hover .button__icon, .button.button--whatsapp:hover .button__text,
.button.button--whatsapp:hover .button__icon,
input[type=submit].green:hover .button__text,
input[type=submit].green:hover .button__icon,
input[type=submit].whatsapp:hover .button__text,
input[type=submit].whatsapp:hover .button__icon,
input[type=submit].button--green:hover .button__text,
input[type=submit].button--green:hover .button__icon,
input[type=submit].button--whatsapp:hover .button__text,
input[type=submit].button--whatsapp:hover .button__icon,
button[type=submit].green:hover .button__text,
button[type=submit].green:hover .button__icon,
button[type=submit].whatsapp:hover .button__text,
button[type=submit].whatsapp:hover .button__icon,
button[type=submit].button--green:hover .button__text,
button[type=submit].button--green:hover .button__icon,
button[type=submit].button--whatsapp:hover .button__text,
button[type=submit].button--whatsapp:hover .button__icon {
  color: var(--white);
}

.button__container {
  display: flex;
  gap: 0.8rem;
  align-items: center;
  justify-content: center;
}
.button__container.reversed, .button__container--reversed {
  flex-direction: row-reverse;
}
.button__icon {
  transition: var(--smooth-transition);
}
.button__icon svg {
  height: 1.6rem;
  line-height: 1;
  display: flex;
}
.button__text {
  transition: var(--smooth-transition);
}
.button-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
}
.button-wrap.align-center, .button-wrap--align-center {
  justify-content: center;
}
.button__back {
  text-decoration: none;
}
.button__back:hover {
  text-decoration: underline;
}
.button__back-container {
  display: flex;
  gap: 0.8rem;
  align-items: center;
  justify-content: center;
}
.button__back-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.button__back-icon svg {
  height: 1.6rem;
  width: auto;
  line-height: 1;
}
.button__back-text {
  display: flex;
  align-items: center;
  justify-content: center;
}

.responsive-iframe-wrapper,
.responsive-video-wrapper,
.media-embed {
  position: relative;
  padding: 0 0 56.25% 0;
  height: 0;
  margin: 0 0 3rem 0;
}
.responsive-iframe-wrapper img,
.responsive-iframe-wrapper iframe,
.responsive-video-wrapper img,
.responsive-video-wrapper iframe,
.media-embed img,
.media-embed iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  border-radius: var(--border-radius);
  object-fit: cover;
}
.responsive-iframe-wrapper .play-button, .responsive-iframe-wrapper__play-button,
.responsive-video-wrapper .play-button,
.responsive-video-wrapper__play-button,
.media-embed .play-button,
.media-embed__play-button {
  height: 5rem;
  width: 5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  inset: 50% 0 0 50%;
  transform: translate(-50%, -50%);
  background: var(--white);
}
.responsive-iframe-wrapper .play-button svg, .responsive-iframe-wrapper__play-button svg,
.responsive-video-wrapper .play-button svg,
.responsive-video-wrapper__play-button svg,
.media-embed .play-button svg,
.media-embed__play-button svg {
  transition: var(--smooth-transition);
  height: 1.6rem;
  transform: translateX(0.2rem);
}
.responsive-iframe-wrapper .play-button:hover svg, .responsive-iframe-wrapper__play-button:hover svg,
.responsive-video-wrapper .play-button:hover svg,
.responsive-video-wrapper__play-button:hover svg,
.media-embed .play-button:hover svg,
.media-embed__play-button:hover svg {
  transform: translateX(0.2rem) scale(1.25);
}

.media-row a[data-fancybox],
a.fancybox-image,
a.fancybox-video {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  background: var(--darkblue);
  border-radius: var(--border-radius);
}
.media-row a[data-fancybox]:before,
a.fancybox-image:before,
a.fancybox-video:before {
  content: "";
  height: 5.2rem;
  width: 5.2rem;
  color: var(--darkblue);
  background-color: var(--white);
  border-radius: 50%;
  position: absolute;
  inset: 50% 0 0 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  transition: var(--smooth-transition);
}
@media (max-width: 1023px) {
  .media-row a[data-fancybox]:before,
  a.fancybox-image:before,
  a.fancybox-video:before {
    height: 4.8rem;
    width: 4.8rem;
  }
}
.media-row a[data-fancybox]:after,
a.fancybox-image:after,
a.fancybox-video:after {
  content: "";
  height: 5.2rem;
  width: 5.2rem;
  background-color: var(--darkblue);
  mask-image: url("https://144094139.fs1.hubspotusercontent-eu1.net/hubfs/144094139/raw_assets/public/dd-sotoff/assets/img/icons/play.svg");
  mask-size: 2.4rem 2.4rem;
  mask-repeat: no-repeat;
  mask-position: center center;
  border-radius: 50%;
  position: absolute;
  inset: 50% 0 0 50%;
  transform: translate(-50%, -50%);
  z-index: 11;
  transition: var(--smooth-transition);
}
@media (max-width: 1023px) {
  .media-row a[data-fancybox]:after,
  a.fancybox-image:after,
  a.fancybox-video:after {
    height: 4.8rem;
    width: 4.8rem;
    mask-size: 1.6rem 1.6rem;
  }
}
.media-row a[data-fancybox] img,
a.fancybox-image img,
a.fancybox-video img {
  width: 100%;
  border-radius: var(--border-radius);
  display: block;
  line-height: 0;
  transition: var(--smooth-transition);
}
.media-row a[data-fancybox]:hover:before,
a.fancybox-image:hover:before,
a.fancybox-video:hover:before {
  background-color: var(--darkblue);
}
.media-row a[data-fancybox]:hover:after,
a.fancybox-image:hover:after,
a.fancybox-video:hover:after {
  background-color: var(--white);
}
.media-row a[data-fancybox]:hover img,
a.fancybox-image:hover img,
a.fancybox-video:hover img {
  transform: scale(1.05);
  opacity: 0.8;
}

.media-row a[data-fancybox=image]:after {
  mask-image: url("https://144094139.fs1.hubspotusercontent-eu1.net/hubfs/144094139/raw_assets/public/dd-sotoff/assets/img/icons/zoom-in.svg");
}

.media-row a[data-fancybox=iframe]:after {
  mask-image: url("https://144094139.fs1.hubspotusercontent-eu1.net/hubfs/144094139/raw_assets/public/dd-sotoff/assets/img/icons/play.svg");
}

/* Sm icons
--------------------------------------------- */
.sm-icons,
.social-icons {
  display: flex;
  align-items: center;
  margin: 2.4rem 0 3.2rem 0;
  padding: 0;
  width: 100%;
  gap: 1.6rem;
  justify-content: center;
}
.sm-icons li, .sm-icons__item,
.social-icons li,
.social-icons__item {
  display: flex;
  margin: 0;
  padding: 0;
}
.sm-icons li:before, .sm-icons__item:before,
.social-icons li:before,
.social-icons__item:before {
  display: none;
}
.sm-icons li a, .sm-icons li-link, .sm-icons__item a, .sm-icons__item-link,
.social-icons li a,
.social-icons li-link,
.social-icons__item a,
.social-icons__item-link {
  display: flex;
  color: var(--textcolor);
  text-decoration: none;
  transition: var(--smooth-transition);
}
.sm-icons li:hover a,
.sm-icons li:hover .social-icons__item-link, .sm-icons__item:hover a,
.sm-icons__item:hover .social-icons__item-link,
.social-icons li:hover a,
.social-icons li:hover .social-icons__item-link,
.social-icons__item:hover a,
.social-icons__item:hover .social-icons__item-link {
  color: var(--red);
}
.sm-icons li:hover svg, .sm-icons__item:hover svg,
.social-icons li:hover svg,
.social-icons__item:hover svg {
  transform: scale(1.05);
}
.sm-icons svg,
.social-icons svg {
  height: 2.4rem;
  transition: var(--smooth-transition);
}

/* Sm share buttons
--------------------------------------------- */
.share-block {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 2rem;
}
@media screen and (max-width: 1023px) {
  .share-block {
    justify-content: center;
  }
}
.share-block__label {
  margin: 0;
  font-weight: 600;
  line-height: 1.25;
}
.share-block__buttons {
  display: flex;
  margin: 0;
  padding: 0;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  justify-content: center;
  align-items: center;
}
.share-block__buttons li, .share-block__buttons__item {
  display: flex;
  margin: 0;
  padding: 0;
  gap: 0;
}
.share-block__buttons li:not(:last-child):after, .share-block__buttons__item:not(:last-child):after {
  content: "|";
  display: flex;
  color: #E3E3E3;
  margin: 0 1rem;
}
.share-block__buttons li:before, .share-block__buttons__item:before {
  display: none;
}
.share-block__buttons li a, .share-block__buttons li-link, .share-block__buttons__item a, .share-block__buttons__item-link {
  display: flex;
  height: auto;
  width: auto;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: var(--smooth-transition);
}
.share-block__buttons li:hover a,
.share-block__buttons li:hover .share-buttons__item-link, .share-block__buttons__item:hover a,
.share-block__buttons__item:hover .share-buttons__item-link {
  box-shadow: var(--box-shadow);
}
.share-block__buttons li:hover svg, .share-block__buttons__item:hover svg {
  transform: scale(1.05);
}
.share-block__buttons svg {
  color: var(--darkblue);
  transition: var(--smooth-transition);
}

.card {
  padding: 3rem;
  margin: 0 0 calc(var(--f-base) * 2) 0;
  border-radius: var(--border-radius);
  /* Backwards compatible + BEM modifier aliases */
}
.card.large-p, .card--p-large {
  padding: 6rem;
}
@media screen and (max-width: 1023px) {
  .card.large-p, .card--p-large {
    padding: 3rem;
  }
}
.card.small-p, .card--p-small {
  padding: 2rem;
}
.card > :last-child {
  margin: 0;
}

.star-container {
  display: flex;
  gap: 0 0.2rem;
}
.star-container__star {
  height: 1.6rem;
  width: auto;
  color: var(--yellow);
  display: flex;
}
.star-container__star svg {
  height: 100%;
  width: auto;
  line-height: 0;
}

body ul.global-logos {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 4rem !important;
  align-items: center;
  list-style: none;
  padding: 0;
  margin: 0;
  flex-direction: row !important;
}
body ul.global-logos li {
  margin: 0;
  padding: 0;
}
body ul.global-logos li:before {
  display: none;
}
body ul.global-logos .global-logos__item {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
body ul.global-logos .global-logos__item img, body ul.global-logos .global-logos__item svg {
  max-height: 5rem;
  width: auto;
  height: auto;
}
body .white-text .global-logos li .global-logos__item img, body .white-text .global-logos li .global-logos__item svg {
  filter: brightness(0) invert(1);
}

#main .breadcrumbs {
  width: 100%;
  display: block;
  position: relative;
  padding: 3rem 0;
}
@media screen and (max-width: 1023px) {
  #main .breadcrumbs {
    padding: 2.4rem 0 1.5rem;
  }
}
#main .breadcrumbs__list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  padding: 0;
  gap: 0 1.2rem;
}
#main .breadcrumbs__list li {
  margin: 0;
  padding: 0;
  font: 400 calc(var(--f-base) * 0.875)/1.25 var(--textfont);
  color: var(--green);
  display: block;
}
#main .breadcrumbs__list li:last-child {
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (max-width: 1023px) {
  #main .breadcrumbs__list li {
    font-size: calc(var(--f-base) * 0.75);
  }
}
#main .breadcrumbs__list li:before {
  display: none;
}
#main .breadcrumbs__list li a {
  color: var(--green);
  text-decoration: none;
  white-space: nowrap;
}
#main .breadcrumbs__list li a:hover {
  color: var(--orange);
}
#main .breadcrumbs__list__separator,
#main .breadcrumbs__list .breadcrumbs__separator {
  color: var(--orange);
}

.blog-post__content {
  padding-top: 2rem;
}
.blog-post__content > .wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(36rem, 36rem);
  gap: 4rem 8rem;
  align-items: start;
}
@media screen and (max-width: 1023px) {
  .blog-post__content > .wrap {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }
}
.blog-post__content p img:not([src*=".svg"]) {
  border-radius: var(--border-radius);
}
.blog-post__content ul li p, .blog-post__content ol li p {
  line-height: 1.5;
  margin: 0;
}
.blog-post__sidebar {
  position: sticky;
  top: 16.2rem;
  margin: 0;
}
@media screen and (max-width: 1023px) {
  .blog-post__sidebar {
    position: static;
    order: -1;
  }
}
@media screen and (max-width: 1023px) and (max-width: 1023px) {
  .blog-post__sidebar {
    display: none;
  }
}
.blog-post__sidebar-title {
  margin: 0 0 1.6rem 0;
}
.blog-post__body h2,
.blog-post__body h3 {
  scroll-margin-top: 10rem;
}
.blog-post__toc-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 1.2rem !important;
}
.blog-post__toc-list li {
  margin: 0;
  padding: 0;
}
.blog-post__toc-list li:before {
  display: none;
}
.blog-post__toc-list li a {
  display: block;
  position: relative;
  padding-left: 2.4rem;
}
.blog-post__toc-list li a:before {
  height: 1.6rem;
  width: 1.6rem;
  top: 0.1rem;
  left: 0;
  background-color: var(--darkblue);
  mask-image: url("https://144094139.fs1.hubspotusercontent-eu1.net/hubfs/144094139/raw_assets/public/dd-sotoff/assets/img/icons/arrow-right.svg");
  mask-size: 1.6rem 1.6rem;
  mask-repeat: no-repeat;
  mask-position: center right;
  border-radius: 0;
  content: "";
  display: block;
  position: absolute;
}
.blog-post__toc-list a {
  display: block;
  font: 400 calc(var(--f-base) * 1)/1.25 var(--textfont);
  color: var(--darkblue);
  text-decoration: none;
  transition: var(--smooth-transition);
}
.blog-post__toc-list a:hover {
  text-decoration: underline;
}
.blog-post__toc-list a.is-active {
  font-weight: 600;
  text-decoration: underline;
  color: var(--textcolor);
}
.blog-post__meta {
  margin: -1rem 0 calc(var(--f-base) * 2) 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.2rem 0.8rem;
}
@media screen and (max-width: 640px) {
  .blog-post__meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
  }
  .blog-post__meta .blog-post__meta-sep {
    display: none !important;
  }
}
.blog-post__meta p {
  margin: 0;
  padding: 0;
}
.blog-post-tags {
  display: flex;
  flex-direction: row !important;
  flex-wrap: wrap;
  gap: 0.8rem 0.4rem !important;
  margin: 0;
  padding: 0;
  align-items: center;
}
.blog-post-tags li {
  margin: 0;
  padding: 0;
}
.blog-post-tags li:first-child {
  margin-right: 0.4rem;
}
.blog-post-tags li:before {
  display: none;
}
.blog-post-tags li a {
  font: 400 calc(var(--f-base) * 0.875)/1.25 var(--textfont);
  display: block;
  border-radius: var(--border-radius);
  padding: 0.4rem 1rem;
  border: 1px solid var(--darkblue);
  background: none;
  text-decoration: none;
  transition: var(--smooth-transition);
}
.blog-post-tags li a:hover {
  background: var(--darkblue);
  color: var(--white);
}
.blog-post__featured-image {
  margin-bottom: calc(var(--f-base) * 2);
}
.blog-post__featured-image img {
  border-radius: var(--border-radius);
}

.blog-related-posts-row {
  padding-top: 0;
}

.blog-listing-card {
  display: flex;
  gap: 2rem;
  flex-direction: column;
  margin: 0;
}
.blog-listing-card > * {
  margin: 0;
}
.blog-listing-card__image {
  display: block;
  width: 100%;
  position: relative;
  border-radius: var(--border-radius);
  overflow: hidden;
}
.blog-listing-card__image img {
  border-radius: var(--border-radius);
  transition: var(--smooth-transition);
}
.blog-listing-card__image:hover img {
  transform: scale(1.05);
}
.blog-listing-card__tags {
  position: absolute;
  top: 1rem;
  right: 1rem;
  display: flex;
  gap: 0.4rem;
}
.blog-listing-card__content {
  display: flex;
  gap: 2rem;
  flex-direction: column;
}
.blog-listing-card__excerpt {
  margin: 0;
}
.blog-listing-card__title {
  margin: 0 0 -1rem 0;
}
.blog-listing-card__title a {
  text-decoration: none;
  color: var(--darkblue);
}
.blog-listing-card__title a:hover {
  text-decoration: underline;
}
.blog-listing-card .button-wrap {
  margin: auto 0 0 0;
}

.blog-related-posts-row .section__title {
  margin-bottom: 4rem;
}
@media screen and (max-width: 1023px) {
  .blog-related-posts-row .section__title {
    margin-bottom: 2rem;
  }
}

.blog-listing-content {
  padding-top: 0;
}

.blog-listing-pagination {
  margin-top: calc(var(--f-base) * 2);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem 2rem;
}

.blog-post__content .small-contact__content {
  margin-top: calc(var(--f-base) * 4);
  margin-bottom: calc(var(--f-base) * 2);
}

.hs-blog-listing .default-header__text > :last-child {
  margin: 0;
}
.hs-blog-listing .default-header__text ul.global-logos {
  display: none;
}

.badge {
  display: flex;
  background: var(--peach);
  color: var(--darkblue);
  font: 400 calc(var(--f-base) * 0.75)/1.25 var(--textfont);
  padding: 0.4rem 1rem;
  border-radius: var(--border-radius);
}
.badge svg {
  margin-right: 0.6rem;
  display: flex;
  height: 1.4rem;
  width: auto;
  line-height: 0;
}

.project-listing-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

/* ## Kennisbank (knowledge-listing / knowledge-post)
   Maten overgenomen van sotoff.nl/kennisbank en de detailpagina's.
--------------------------------------------- */
/* De default_header-module heeft standaard 10rem margin-bottom; op dit overzicht niet gewenst.
   De module-tag wrapt de header in een hs_cos_wrapper-div, dus geen directe sibling: scopen via #main. */
#main:has(> .knowledge-listing) .default-header {
  margin-bottom: 0;
}
#main:has(> .knowledge-listing) .default-header__text {
  width: 100%;
  padding-right: 0;
  padding-left: 0;
}

.knowledge-listing {
  padding-top: 0;
}
.knowledge-listing__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem;
  margin: 0 0 4.8rem;
}
@media screen and (max-width: 767px) {
  .knowledge-listing__filters {
    gap: 1.6rem;
    margin-bottom: 3.2rem;
  }
}
.knowledge-listing__field {
  flex: 1 1 28rem;
}
.knowledge-listing__field label {
  display: block;
  font: 700 1.6rem/1.75 var(--textfont);
  color: var(--green);
  margin: 0 0 0.8rem;
}
.knowledge-listing__select {
  width: 100%;
  height: 5.2rem;
  padding: 0 3rem 0 1.5rem;
  border: 1px solid rgba(92, 127, 117, 0.2);
  border-radius: 0.4rem;
  font: 400 1.6rem/1.25 var(--textfont);
  color: var(--green);
  background: var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%235C7F75' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 1.5rem center;
  appearance: none;
  cursor: pointer;
}
.knowledge-listing__search {
  display: flex;
  position: relative;
}
.knowledge-listing__search input[type=search] {
  width: 100%;
  height: 5.2rem;
  padding: 0 5.6rem 0 1.5rem;
  border: 1px solid rgba(92, 127, 117, 0.2);
  border-radius: 0.4rem;
  font: 400 1.6rem/1.25 var(--textfont);
  color: var(--green);
}
.knowledge-listing__search button {
  position: absolute;
  top: 50%;
  right: 0.6rem;
  transform: translateY(-50%);
  width: 4rem;
  height: 4rem;
  min-height: 0;
  padding: 0;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  font: inherit;
  line-height: 1;
  flex: 0 0 auto;
  border: 0;
  border-radius: 50%;
  background: var(--green);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.3s;
}
.knowledge-listing__search button svg {
  width: 1.8rem;
  height: 1.8rem;
}
.knowledge-listing__search button:hover {
  background: var(--darkgreen);
}
.knowledge-listing__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3.2rem 2.4rem;
}
@media screen and (max-width: 767px) {
  .knowledge-listing__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.4rem;
  }
}
.knowledge-listing__empty {
  font: 400 1.6rem/1.75 var(--textfont);
  color: var(--green);
}

.knowledge-card {
  display: flex;
  flex-direction: column;
  background: var(--white);
  border-radius: 0.4rem;
  box-shadow: 0 0.4rem 0.8rem rgba(92, 127, 117, 0.16);
  overflow: hidden;
  transition: box-shadow 0.3s;
}
.knowledge-card:hover {
  box-shadow: 0 0.8rem 1.6rem rgba(92, 127, 117, 0.2);
}
.knowledge-card:hover .knowledge-card__image img {
  transform: scale(1.05);
}
.knowledge-card__image {
  position: relative;
  aspect-ratio: 2.82/1;
  overflow: hidden;
}
.knowledge-card__image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s;
}
.knowledge-card__tags {
  position: absolute;
  left: 0;
  bottom: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  padding: 1.6rem 2rem;
}
@media screen and (max-width: 767px) {
  .knowledge-card__tags {
    padding: 1.2rem 1.6rem;
  }
}
.knowledge-card__tag {
  display: inline-block;
  background: var(--mint);
  color: var(--green);
  font: 500 1.4rem/1 var(--textfont);
  padding: 0.9rem 1.6rem;
  border-radius: 1.6rem;
  text-decoration: none;
  transition: background 0.3s;
}
.knowledge-card__tag:hover {
  background: var(--yellow);
}
.knowledge-card__content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 2.8rem 3.2rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .knowledge-card__content {
    padding: 2.4rem;
  }
}
.knowledge-card__date {
  font: italic 400 1.4rem/1.75 var(--textfont);
  color: var(--green);
  margin: 0 0 0.4rem;
}
.knowledge-card__title {
  font: 500 2rem/1.33 var(--headingfont);
  color: var(--orange);
  margin: 0 0 1.2rem;
}
.knowledge-card__title a {
  color: inherit;
  text-decoration: none;
}
.knowledge-card__title a:hover {
  text-decoration: underline;
}
.knowledge-card__excerpt {
  font: 400 1.6rem/1.75 var(--textfont);
  color: var(--green);
  margin: 0;
}
.knowledge-card__action {
  margin-top: auto;
  padding-top: 1.7rem;
  text-align: right;
}
.knowledge-card__action a {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  font: 500 1.6rem/1 var(--textfont);
  color: var(--green);
  text-decoration: none;
  transition: color 0.3s;
}
.knowledge-card__action a svg {
  width: 1.2rem;
  height: 1.2rem;
  transition: transform 0.3s;
}
.knowledge-card__action a:hover {
  color: var(--orange);
}
.knowledge-card__action a:hover svg {
  transform: translateX(0.3rem);
}

.knowledge-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.8rem;
  margin: 6rem 0 0;
}
.knowledge-pagination a,
.knowledge-pagination span.current {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 4.4rem;
  height: 4.4rem;
  padding: 0 0.4rem;
  border-radius: 0.4rem;
  font: 400 1.6rem/1 var(--textfont);
  text-decoration: none;
  transition: background 0.3s;
}
.knowledge-pagination a {
  background: var(--green);
  color: var(--white);
}
.knowledge-pagination a:hover {
  background: var(--orange);
}
.knowledge-pagination span.current {
  background: var(--orange);
  color: var(--white);
}
.knowledge-pagination__ellipsis {
  color: var(--green);
  padding: 0 0.4rem;
}

.knowledge-post {
  padding-top: 4rem;
}
@media screen and (max-width: 767px) {
  .knowledge-post {
    padding-top: 2.4rem;
  }
}
.knowledge-post__body {
  font: 400 1.6rem/1.75 var(--textfont);
  color: var(--green);
  margin: 3.2rem 0 0;
  /* Losse modules die via de editor in de tekst worden ingevoegd (bijv. form_image) hebben
     hun eigen .wrap; die zit al binnen de wrap van het template, dus geen dubbele padding */
}
.knowledge-post__body .wrap {
  max-width: none;
  padding: 0;
  margin: 0;
}
.knowledge-post__body {
  /* form_image heeft normaal een vaste kaartbreedte; hier gewoon de volle breedte volgen */
}
.knowledge-post__body .form-image__inner {
  width: 100%;
}
.knowledge-post__body h2, .knowledge-post__body h3, .knowledge-post__body h4 {
  font-family: var(--headingfont);
  font-weight: 700;
  color: var(--orange);
  margin: 3.2rem 0 1.6rem;
}
.knowledge-post__body h2 {
  font-size: 2.8rem;
  line-height: 1.15;
}
.knowledge-post__body h3 {
  font-size: 2.2rem;
  line-height: 1.2;
}
.knowledge-post__body h4 {
  font-size: 1.8rem;
  line-height: 1.25;
}
.knowledge-post__body p {
  margin: 0 0 1.6rem;
}
.knowledge-post__body p:last-child {
  margin-bottom: 0;
}
.knowledge-post__body a:not(.button) {
  color: var(--green);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.knowledge-post__body a:not(.button):hover {
  color: var(--orange);
}
.knowledge-post__body img:not([src*=".svg"]) {
  border-radius: 0.4rem;
}
.knowledge-post__share {
  margin-top: 4.8rem;
  background: var(--orange);
  border-radius: 0.4rem;
  padding: 3.2rem;
}
.knowledge-post__share .share-block {
  justify-content: center;
}
.knowledge-post__share .share-block__label {
  color: var(--white);
}
.knowledge-post__share .share-block__buttons li:not(:last-child):after {
  color: rgba(255, 255, 255, 0.4);
}
.knowledge-post__share .share-block__buttons svg {
  color: var(--white);
}

/* ## Error page (404 / 500)
--------------------------------------------- */
.error-page {
  display: flex;
  align-items: center;
  min-height: 56rem;
  padding: 8rem 0;
}
@media screen and (max-width: 767px) {
  .error-page {
    min-height: 0;
    padding: 4rem 0;
  }
}
.error-page__content {
  width: 100%;
  max-width: 64rem;
  margin: 0 auto;
  background: var(--white);
  border-radius: 0.8rem;
  box-shadow: 0 0.8rem 1.6rem rgba(92, 127, 117, 0.16);
  padding: 6.4rem 6rem;
}
@media screen and (max-width: 767px) {
  .error-page__content {
    padding: 4rem 2.4rem;
  }
}
.error-page .subtitle {
  color: var(--orange);
}
.error-page h1 {
  margin-bottom: 1.6rem;
}
.error-page p:not(.subtitle):not(.button-wrap) {
  color: var(--green);
  margin-bottom: 0;
}
.error-page .button-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.2rem;
  margin: 3.2rem 0 0;
}

.search-results-page {
  padding: 8rem 0;
}
@media screen and (max-width: 767px) {
  .search-results-page {
    padding: 4rem 0;
  }
}
.search-results-page__content {
  max-width: 72rem;
  margin: 0 auto;
}
.search-results-page .subtitle {
  color: var(--orange);
}
.search-results-page h1 {
  margin-bottom: 1.6rem;
}
.search-results-page p {
  color: var(--green);
}
.search-results-page__form {
  margin: 0 0 calc(var(--f-base) * 3) 0;
}
.search-results-page__form button {
  flex: 0 0 auto;
}
.search-results-page__results {
  text-align: left;
}
.search-results-page__results ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.search-results-page__results ul li {
  margin: 0 0 2.4rem;
  padding: 0 0 2.4rem;
  border-bottom: 1px solid var(--mint);
}
.search-results-page__results ul li:before {
  display: none;
}
.search-results-page__results ul li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}
.search-results-page__results a {
  font: 700 1.8rem/1.3 var(--headingfont);
  color: var(--orange);
  text-decoration: none;
}
.search-results-page__results a:hover {
  text-decoration: underline;
}
.search-results-page__results p {
  margin: 0.8rem 0 0;
}

.wa-float {
  --wa-green: #25D366;
  --wa-green-dark: #1ebe5d;
  --wa-size: 60px;
  width: var(--wa-size);
  height: var(--wa-size);
  position: fixed;
  right: 1.6rem;
  bottom: 1.6rem;
  z-index: 590;
  padding: 0;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  background: linear-gradient(135deg, var(--wa-green), #20b957);
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1;
  box-shadow: 0 0.4rem 1rem rgba(37, 211, 102, 0.25);
  opacity: 0;
  translate: 0 1.6rem;
  transition: transform 0.18s, box-shadow 0.18s, background 0.18s, opacity 0.5s ease-out, translate 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
@media screen and (max-width: 767px) {
  .wa-float {
    --wa-size: 50px;
  }
}
.wa-float.is-visible {
  opacity: 1;
  translate: 0 0;
}
.wa-float:hover, .wa-float:focus-visible {
  background: linear-gradient(135deg, var(--wa-green-dark), #1aa14f);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 0.6rem 1.4rem rgba(37, 211, 102, 0.32);
  outline: none;
}
.wa-float:active {
  color: #fff;
  transform: translateY(0);
  box-shadow: 0 0.3rem 0.8rem rgba(37, 211, 102, 0.2);
}

.wa-float__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.wa-float__label {
  white-space: nowrap;
  letter-spacing: 0.02rem;
}

@media (prefers-reduced-motion: reduce) {
  .wa-float {
    transition: none;
  }
  .wa-float.is-visible {
    opacity: 1;
    translate: 0;
  }
}
/* Layout */
/* HubSpot rendert de globale header in een wrapper-div. Die wrapper moet sticky zijn (niet .main-header zelf),
   anders plakt de header alleen binnen zijn eigen hoogte. Negatieve top: de topbalk scrolt weg, de witte balk blijft. */
body > div:has(> .main-header) {
  position: sticky;
  top: -4.8rem;
  z-index: 551;
  /* Mobiel: geen topbalk, dus de witte balk plakt direct bovenaan */
}
@media screen and (max-width: 1023px) {
  body > div:has(> .main-header) {
    top: 0;
  }
}

.main-header {
  position: relative;
  z-index: 551;
}
.main-header__top-bar {
  /* Mobiel: topbalk weg; contact, topmenu, inloggen en taal zitten dan in de balk/het menu (zoals sotoff.nl) */
}
@media screen and (max-width: 1023px) {
  .main-header__top-bar {
    display: none;
  }
}
.main-header__top-bar .wrap {
  display: flex;
  align-items: center;
  gap: 0 2.4rem;
  height: 4.8rem;
}
.main-header__top-bar-contact ul {
  display: flex;
  gap: 0 3.2rem;
  margin: 0;
}
@media screen and (max-width: 1023px) {
  .main-header__top-bar-contact ul {
    gap: 0 1.6rem;
  }
}
.main-header__top-bar-contact ul li {
  margin: 0;
  padding: 0;
  font: 400 calc(var(--f-base) * 0.875)/1 var(--textfont);
}
.main-header__top-bar-contact ul li:before {
  display: none;
}
.main-header__top-bar-contact ul li a {
  color: var(--green);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0 0.8rem;
}
.main-header__top-bar-contact ul li a:hover {
  color: var(--orange);
}
.main-header__top-bar-contact ul li a .icon {
  display: flex;
  height: 1.2rem;
}
.main-header__top-bar-contact ul li a .icon svg, .main-header__top-bar-contact ul li a .icon img {
  height: 100%;
  width: auto;
}
.main-header__top-bar-nav {
  margin-left: auto;
}
@media screen and (max-width: 1023px) {
  .main-header__top-bar-nav {
    display: none;
  }
}
.main-header__top-bar-nav ul {
  margin: 0;
  display: flex;
}
.main-header__top-bar-nav ul li {
  margin: 0;
  padding: 0 2.4rem;
  font: 400 calc(var(--f-base) * 0.875)/1 var(--textfont);
}
.main-header__top-bar-nav ul li:before {
  display: none;
}
.main-header__top-bar-nav ul li ul {
  display: none;
}
.main-header__top-bar-nav ul li a {
  color: var(--green);
  text-decoration: none;
}
.main-header__top-bar-nav ul li a:hover {
  color: var(--orange);
}
.main-header__login {
  display: flex;
  align-items: center;
  gap: 0 0.8rem;
  margin-left: 6.4rem;
  font: 400 calc(var(--f-base) * 0.875)/1 var(--textfont);
  color: var(--green);
  text-decoration: none;
}
@media screen and (max-width: 1023px) {
  .main-header__login {
    display: none;
  }
}
.main-header__login:hover {
  color: var(--orange);
}
.main-header__login .icon {
  display: flex;
  height: 1.6rem;
}
.main-header__login .icon svg, .main-header__login .icon img {
  height: 100%;
  width: auto;
}
@media screen and (max-width: 1023px) {
  .main-header__language {
    display: none;
  }
}
.main-header__language--mobile {
  display: none;
}
@media screen and (max-width: 1023px) {
  .main-header__language--mobile {
    display: block;
    margin-right: 1.6rem;
  }
}
.main-header__language--mobile .globe_class {
  font-size: 1.4rem;
}
.main-header__language .lang_switcher_class {
  position: relative;
}
.main-header__language .globe_class {
  display: flex;
  align-items: center;
  font: 400 calc(var(--f-base) * 1)/1 var(--textfont);
  color: var(--green);
  cursor: pointer;
}
.main-header__language .lang_list_class {
  position: absolute;
  right: 0;
  top: 100%;
  margin: 0;
  padding: 1rem 1.6rem;
  min-width: 14rem;
  background: var(--white);
  box-shadow: var(--box-shadow);
  border-radius: 0 0 var(--border-radius) var(--border-radius);
  list-style: none;
  z-index: 5;
}
.main-header__language .lang_list_class li {
  margin: 0;
  padding: 0.4rem 0;
  font: 400 calc(var(--f-base) * 0.875)/1.25 var(--textfont);
}
.main-header__language .lang_list_class li:before {
  display: none;
}
.main-header__language .lang_list_class li a {
  color: var(--green);
  text-decoration: none;
}
.main-header__language .lang_list_class li a:hover {
  color: var(--orange);
}
.main-header__main-bar .wrap {
  display: flex;
  gap: 0 10rem;
  height: 12rem;
  align-items: center;
}
@media screen and (min-width: 1024px) {
  .main-header__main-bar .wrap {
    justify-content: center;
  }
}
.main-header__main-bar .wrap {
  /* Tussen 1024 en ~1280px is er te weinig ruimte voor logo + menu + knop op de 10rem-gap:
     kleinere gap zodat het menu niet meer over de knop heen loopt */
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .main-header__main-bar .wrap {
    gap: 0 4rem;
  }
}
.main-header__main-bar .wrap {
  /* Mobiel: één witte balk van 64px (sotoff.nl): iconen links, logo in het midden, taal + hamburger rechts */
}
@media screen and (max-width: 1023px) {
  .main-header__main-bar .wrap {
    position: relative;
    gap: 0;
    height: 6.4rem;
    padding: 0 2rem;
  }
}
.main-header__main-bar-nav {
  margin: 0;
}
@media screen and (max-width: 1023px) {
  .main-header__main-bar-nav {
    display: none;
  }
}
.main-header__main-bar-nav {
  /* Eerste menu-item (Home) verbergen; het logo linkt al naar de homepage */
}
.main-header__main-bar-nav ul.hs-menu-wrapper > li:first-child {
  display: none;
}
.main-header__main-bar-nav {
  /* De macro zet een klik-pijl in items met subitems; op desktop werkt hover + de :after-chevron */
}
.main-header__main-bar-nav .arrow {
  display: none;
}
.main-header__main-bar-nav ul {
  display: flex;
  margin: 0;
  gap: 0 3.2rem;
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .main-header__main-bar-nav ul {
    gap: 0 2rem;
  }
}
.main-header__main-bar-nav ul li {
  margin: 0;
  padding: 0;
  position: relative;
  font: 500 calc(var(--f-base) * 1)/1.2 var(--textfont);
}
.main-header__main-bar-nav ul li:before {
  display: none;
}
.main-header__main-bar-nav ul li a {
  color: var(--green);
  text-decoration: none;
  display: block;
  padding: 0.5rem 0;
  position: relative;
  transition: color 0.4s;
}
.main-header__main-bar-nav ul li a:hover {
  color: var(--orange);
}
.main-header__main-bar-nav ul li.hs-item-has-children > a {
  padding-right: 1.6rem;
}
.main-header__main-bar-nav ul li.hs-item-has-children > a:after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 0.6rem;
  height: 1rem;
  margin-top: -0.5rem;
  background-color: var(--orange);
  mask-image: url("https://144094139.fs1.hubspotusercontent-eu1.net/hubfs/144094139/raw_assets/public/dd-sotoff/assets/img/icons/chevron-menu.svg");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  transform: rotate(90deg);
}
.main-header__main-bar-nav ul li.hs-item-has-children:hover > ul.hs-menu-children-wrapper {
  opacity: 1;
  visibility: visible;
}
.main-header__main-bar-nav ul li ul.hs-menu-children-wrapper {
  position: absolute;
  top: 100%;
  left: 0.4rem;
  display: block;
  margin: 0;
  padding: 2.4rem;
  min-width: 30rem;
  background: var(--white);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0.4s;
  z-index: 5;
}
.main-header__main-bar-nav ul li ul.hs-menu-children-wrapper li {
  margin: 0;
  padding: 0;
  font: 400 calc(var(--f-base) * 1)/1.2 var(--textfont);
}
.main-header__main-bar-nav ul li ul.hs-menu-children-wrapper li + li {
  margin-top: 2rem;
}
.main-header__main-bar-nav ul li ul.hs-menu-children-wrapper li.hs-item-has-children > a {
  padding-right: 0;
}
.main-header__main-bar-nav ul li ul.hs-menu-children-wrapper li.hs-item-has-children > a:after {
  display: none;
}
.main-header__main-bar-nav ul li ul.hs-menu-children-wrapper li a {
  padding: 0;
}
.main-header__main-bar-nav ul li ul.hs-menu-children-wrapper ul.hs-menu-children-wrapper {
  left: 100%;
  top: 0;
}
.main-header__logo {
  width: 8.4rem;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  height: 6.4rem;
}
@media screen and (min-width: 1024px) {
  .main-header__logo {
    position: absolute;
    left: 2rem;
    top: 50%;
    /* Net als op sotoff.nl hangt het logo 1rem onder het midden van de balk */
    transform: translateY(calc(-50% + 1rem));
  }
}
.main-header__logo img, .main-header__logo svg {
  height: auto;
  width: auto;
  max-width: 100%;
  max-height: 100%;
}
@media screen and (max-width: 1023px) {
  .main-header__logo {
    position: absolute;
    left: 50%;
    top: 1.8rem;
    transform: translateX(-50%);
    margin: 0;
    width: auto;
    height: 4.2rem;
  }
}
.main-header__logo {
  /* Witte cirkel achter het logo die onder de balk uitsteekt (zoals op sotoff.nl) */
}
.main-header__logo:after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 12.4rem;
  height: 12.4rem;
  top: -2.2rem;
  left: -2.8rem;
  border-radius: 50%;
  background: var(--white);
}
@media screen and (max-width: 1023px) {
  .main-header__logo:after {
    width: 8.8rem;
    height: 8.8rem;
    /* Cirkel gecentreerd achter het logo, steekt ca. 1.8rem onder de balk uit (zoals sotoff.nl) */
    top: -2.4rem;
    left: 50%;
    margin-left: -4.4rem;
  }
}
.main-header__top-buttons {
  display: flex;
  gap: 0 0.8rem;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .main-header__top-buttons {
    position: absolute;
    right: 2rem;
    top: 50%;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 1023px) {
  .main-header__top-buttons {
    display: none;
  }
}
.main-header__top-buttons a, .main-header__top-buttons button {
  display: flex;
}
.main-header__top-buttons a.search-button, .main-header__top-buttons button.search-button {
  width: 6rem;
  padding-left: 0;
  padding-right: 0;
  justify-content: center;
}
@media screen and (max-width: 1023px) {
  .main-header__top-buttons a.search-button, .main-header__top-buttons button.search-button {
    display: none;
  }
}
.main-header__top-buttons a.search-button .main-header__search-open, .main-header__top-buttons button.search-button .main-header__search-open {
  display: block;
}
.main-header__top-buttons a.search-button .main-header__search-close, .main-header__top-buttons button.search-button .main-header__search-close {
  display: none;
}
.main-header__top-buttons a.search-button.active .main-header__search-open, .main-header__top-buttons button.search-button.active .main-header__search-open {
  display: none;
}
.main-header__top-buttons a.search-button.active .main-header__search-close, .main-header__top-buttons button.search-button.active .main-header__search-close {
  display: block;
}
@media screen and (max-width: 1023px) {
  .main-header__top-buttons a, .main-header__top-buttons button {
    height: 4.4rem;
  }
}
.main-header__search {
  position: absolute;
  right: calc(100% + 1rem);
  top: 0;
  display: none;
  width: 32rem;
  box-shadow: var(--box-shadow);
  z-index: 552;
}
.main-header__mob-nav-toggle {
  display: none;
}
@media screen and (max-width: 1023px) {
  .main-header__mob-nav-toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    width: 2.4rem;
    height: 2.4rem;
    min-width: 2.4rem;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
  }
  .main-header__mob-nav-toggle .strokes {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
  }
  .main-header__mob-nav-toggle .strokes span {
    display: block;
    width: 2.4rem;
    height: 0.2rem;
    border-radius: 0.4rem;
    background: var(--yellow);
  }
}
.main-header {
  /* Mobiel: telefoon- en mailicoon links in de balk (alleen iconen, coral) */
}
@media screen and (max-width: 1023px) {
  .main-header__mobile-contact {
    margin-left: 0;
    margin-right: auto;
  }
  .main-header__mobile-contact ul {
    display: flex;
    gap: 0 2rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .main-header__mobile-contact li {
    margin: 0;
    padding: 0;
  }
  .main-header__mobile-contact li:before {
    display: none;
  }
  .main-header__mobile-contact a {
    display: flex;
    align-items: center;
    color: var(--orange);
    text-decoration: none;
  }
  .main-header__mobile-contact a .text {
    display: none;
  }
  .main-header__mobile-contact a .icon {
    display: flex;
    height: 1.6rem;
  }
  .main-header__mobile-contact a .icon svg, .main-header__mobile-contact a .icon img {
    height: 100%;
    width: auto;
  }
}

/* ## Mobiel menu: fullscreen overlay (maten van sotoff.nl)
--------------------------------------------- */
.mobile-navigation {
  display: none;
}
@media screen and (max-width: 1023px) {
  .mobile-navigation {
    display: flex;
    flex-direction: column;
    position: fixed;
    inset: 0;
    z-index: 600;
    background: var(--lightblue);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-1rem);
    transition: opacity 0.3s ease-out, transform 0.3s ease-out, visibility 0s linear 0.3s;
  }
}
.mobile-navigation {
  /* Witte balk: Inloggen links, "Menu" in het midden, sluitkruis rechts */
}
.mobile-navigation__bar {
  position: relative;
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  height: 6.4rem;
  padding: 0 1.6rem;
  background: var(--white);
}
.mobile-navigation__login .main-header__login {
  display: flex;
  margin: 0;
  font: 400 1.4rem/1.8 var(--textfont);
  gap: 0 0.6rem;
}
.mobile-navigation__login .main-header__login .icon {
  height: 1.6rem;
}
.mobile-navigation__title {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font: 700 2rem/1 var(--headingfont);
  color: var(--orange);
}
.mobile-navigation__close {
  position: relative;
  margin-left: auto;
  width: 2.4rem;
  height: 2.4rem;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}
.mobile-navigation__close span {
  position: absolute;
  left: 0;
  top: 50%;
  width: 2.4rem;
  height: 0.2rem;
  margin-top: -0.1rem;
  border-radius: 0.4rem;
  background: var(--yellow);
}
.mobile-navigation__close span:nth-child(1) {
  transform: rotate(45deg);
}
.mobile-navigation__close span:nth-child(2) {
  transform: rotate(-45deg);
}
.mobile-navigation__content {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 1.6rem;
}
.mobile-navigation {
  /* Menulijsten */
}
.mobile-navigation ul.hs-menu-wrapper {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
}
.mobile-navigation ul.hs-menu-wrapper li {
  position: relative;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid var(--yellow);
  list-style: none;
}
.mobile-navigation ul.hs-menu-wrapper li:before {
  display: none;
}
.mobile-navigation ul.hs-menu-wrapper li a {
  position: relative;
  display: block;
  padding: 1.6rem 2.4rem 1.6rem 0;
  font: 500 1.6rem/1.2 var(--textfont);
  color: var(--green);
  text-decoration: none;
  /* Coral chevron rechts */
}
.mobile-navigation ul.hs-menu-wrapper li a:after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 0.8rem;
  height: 1.2rem;
  margin-top: -0.6rem;
  background-color: var(--orange);
  mask-image: url("https://144094139.fs1.hubspotusercontent-eu1.net/hubfs/144094139/raw_assets/public/dd-sotoff/assets/img/icons/chevron-menu.svg");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  transition: transform 0.2s;
}
.mobile-navigation ul.hs-menu-wrapper li a:hover {
  color: var(--orange);
}
.mobile-navigation ul.hs-menu-wrapper li {
  /* Items met subitems: chevron omlaag, tik op de regel klapt uit (zoals sotoff.nl) */
}
.mobile-navigation ul.hs-menu-wrapper li.hs-item-has-children > a {
  padding-right: 2.8rem;
}
.mobile-navigation ul.hs-menu-wrapper li.hs-item-has-children > a:after {
  right: 0.4rem;
  transform: rotate(90deg);
}
.mobile-navigation ul.hs-menu-wrapper li.hs-item-has-children > a .arrow {
  /* Onzichtbare toggle over de hele regel; JS (toggleChildMenu) klapt de subitems uit */
  position: absolute;
  inset: 0;
  padding: 0;
}
.mobile-navigation ul.hs-menu-wrapper li.hs-item-has-children > a .arrow svg {
  display: none;
}
.mobile-navigation ul.hs-menu-wrapper li.hs-item-has-children.active > a:after {
  transform: rotate(-90deg);
}
.mobile-navigation ul.hs-menu-wrapper li ul.hs-menu-children-wrapper {
  display: none;
  margin: 0;
  padding: 0.8rem 0 3rem 1.5rem;
}
.mobile-navigation ul.hs-menu-wrapper li ul.hs-menu-children-wrapper li {
  border-bottom: 0;
}
.mobile-navigation ul.hs-menu-wrapper li ul.hs-menu-children-wrapper li a {
  padding: 1.1rem 2.4rem 1.1rem 0;
  font: 400 1.4rem/1.2 var(--textfont);
}
.mobile-navigation {
  /* Hoofdmenu: 5px lucht tussen de regels (zoals sotoff.nl) */
}
.mobile-navigation ul.mobile-navigation__main > li + li {
  margin-top: 0.5rem;
}
.mobile-navigation {
  /* Topmenu-items (bijv. Werken bij, Kennisbank): kleiner en lichter */
}
.mobile-navigation ul.mobile-navigation__secondary li a {
  padding: 2.1rem 2.4rem 1.6rem 0;
  font: 400 1.4rem/1.2 var(--textfont);
}
.mobile-navigation__cta {
  margin: 3.2rem 0 0;
}
.mobile-navigation__cta .button {
  display: flex;
  width: 100%;
  justify-content: center;
}
.mobile-navigation__cta .button .desktop-only {
  display: block;
}
.mobile-navigation__cta .button .mob-only {
  display: none;
}
.mobile-navigation {
  /* Onderin: telefoon en mail als witte ronde knoppen met coral icoon */
}
.mobile-navigation__actions {
  flex: 0 0 auto;
  padding: 1.6rem;
}
.mobile-navigation__actions ul {
  display: flex;
  justify-content: center;
  gap: 0 1.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.mobile-navigation__actions li {
  margin: 0;
  padding: 0;
}
.mobile-navigation__actions li:before {
  display: none;
}
.mobile-navigation__actions a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 50%;
  background: var(--white);
  color: var(--orange);
  text-decoration: none;
}
.mobile-navigation__actions a .text {
  display: none;
}
.mobile-navigation__actions a .icon {
  display: flex;
  height: 1.6rem;
}
.mobile-navigation__actions a .icon svg, .mobile-navigation__actions a .icon img {
  height: 100%;
  width: auto;
}

@media screen and (max-width: 1023px) {
  .mob-nav__active {
    overflow: hidden;
  }
  .mob-nav__active .mobile-navigation {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: opacity 0.3s ease-out, transform 0.3s ease-out, visibility 0s;
  }
}

.search-form {
  display: flex;
  margin: 0;
  padding: 0;
  flex-direction: row;
  gap: 0;
}
.search-form input[type=text],
.search-form input[type=number],
.search-form input[type=search],
.search-form input[type=email],
.search-form input[type=tel],
.search-form input[type=password],
.search-form input[type=date],
.search-form input[type=phone],
.search-form input[type=url],
.search-form select,
.search-form textarea {
  width: 100%;
  border-radius: var(--border-radius-small) 0 0 var(--border-radius-small);
}
.search-form button {
  border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0;
}

#main {
  position: relative;
}

.main-footer {
  position: relative;
  overflow: hidden; /* knipt de ring af aan de onderkant van de pagina */
  /* Witte 4-koloms footer (maten van sotoff.nl) */
}
.main-footer__nav {
  padding: 8rem 0 8rem; /* desktop: 2rem extra onderaan zodat de ring vrij ligt */
  /* Tot 1023px steekt de ring 6.4rem boven de balk uit: ruimte houden onder de kolommen */
}
@media screen and (max-width: 1023px) {
  .main-footer__nav {
    padding-bottom: 9.6rem;
  }
}
@media screen and (max-width: 767px) {
  .main-footer__nav {
    padding: 4rem 0 6.8rem;
  }
}
.main-footer__columns {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 3.2rem 2.5rem;
  /* De inklapbare accordion-stijl (regel + chevron) hieronder is bedoeld voor 1 kolom;
     2 kolommen met die accordion-stijl oogde rommelig, dus meteen naar 1 kolom */
}
@media screen and (max-width: 1023px) {
  .main-footer__columns {
    grid-template-columns: minmax(0, 1fr);
  }
}
.main-footer__block + .main-footer__block {
  margin-top: 3.2rem;
}
.main-footer__block-title {
  display: block;
  width: 100%;
  text-align: left;
  font: 500 2rem/1.3 var(--headingfont);
  color: var(--orange);
  margin: 0 0 1.8rem;
  padding: 0;
  border: 0;
  background: none;
  cursor: default;
}
.main-footer__block--text .main-footer__block-title, .main-footer__block--contact .main-footer__block-title {
  margin-bottom: 1.2rem;
}
.main-footer__block--contact .main-footer__block-content {
  line-height: 1.3;
}
.main-footer__block {
  /* Tekstblokken (adressen) hebben op sotoff.nl regelhoogte 1.8; het contactblok 1.3 */
}
.main-footer__block-content {
  font: 400 1.6rem/1.8 var(--textfont);
  color: var(--green);
}
.main-footer__block-content p {
  font: inherit;
  color: inherit;
  margin: 0 0 2rem;
}
.main-footer__block-content p:last-child {
  margin-bottom: 0;
}
.main-footer__block-content strong {
  font-weight: 700;
  color: var(--green);
}
.main-footer__block-content a {
  color: var(--green);
  text-decoration: none;
}
.main-footer__block-content a:hover {
  color: var(--orange);
}
.main-footer ul.main-footer__menu,
.main-footer ul.main-footer__contact {
  display: flex;
  flex-direction: column;
  gap: 2rem 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.main-footer ul.main-footer__menu li,
.main-footer ul.main-footer__contact li {
  margin: 0;
  padding: 0;
  font: 400 1.6rem/1.3 var(--textfont);
}
.main-footer ul.main-footer__menu li:before,
.main-footer ul.main-footer__contact li:before {
  display: none;
}
.main-footer ul.main-footer__menu li a,
.main-footer ul.main-footer__contact li a {
  color: var(--green);
  text-decoration: none;
  transition: color 0.3s;
}
.main-footer ul.main-footer__menu li a:hover,
.main-footer ul.main-footer__contact li a:hover {
  color: var(--orange);
}
.main-footer ul.main-footer__contact {
  gap: 1.2rem 0;
  margin-top: 2rem;
}
.main-footer ul.main-footer__contact li a {
  display: flex;
  align-items: center;
  gap: 0 1rem;
}
.main-footer ul.main-footer__contact li a .icon {
  display: flex;
  width: 2rem;
  height: 2rem;
  color: var(--green);
}
.main-footer ul.main-footer__contact li a .icon svg {
  width: 100%;
  height: 100%;
}
.main-footer {
  /* Mobiel: inklapbare blokken zoals op sotoff.nl (titelrij 57px, mintlijn, chevron rechts) */
}
@media screen and (max-width: 1023px) {
  .main-footer__columns {
    gap: 0;
  }
  .main-footer__block--collapsible {
    border-bottom: 1px solid var(--yellow);
  }
  .main-footer__block--collapsible + .main-footer__block--collapsible {
    margin-top: 0;
  }
  .main-footer__block--collapsible > .main-footer__block-title {
    position: relative;
    margin: 0;
    padding: 1.5rem 2.4rem 1.5rem 0;
    font-size: 1.8rem;
    cursor: pointer;
  }
  .main-footer__block--collapsible > .main-footer__block-title:after {
    content: "";
    position: absolute;
    right: 0.4rem;
    top: 50%;
    width: 0.8rem;
    height: 1.2rem;
    margin-top: -0.6rem;
    background-color: var(--green);
    mask-image: url("https://144094139.fs1.hubspotusercontent-eu1.net/hubfs/144094139/raw_assets/public/dd-sotoff/assets/img/icons/chevron-menu.svg");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    transform: rotate(90deg);
    transition: transform 0.3s;
  }
  .main-footer__block--collapsible > .main-footer__block-body {
    display: none;
    padding: 0.5rem 0 2rem 2.4rem;
  }
  .main-footer__block--collapsible.is-open > .main-footer__block-title:after {
    transform: rotate(-90deg);
  }
  .main-footer__block--collapsible.is-open > .main-footer__block-body {
    display: block;
  }
  .main-footer {
    /* Contactblok: geen extra padding, alleen de gewone 3.2rem marge tussen blokken */
  }
  .main-footer__block--contact {
    padding-top: 0;
    margin-top: 3.2rem;
  }
}
.main-footer {
  /* Mobiel (1 kolom): blokken worden losse flex-items, zodat het contactblok als laatste komt (na Vestigingen) */
}
@media screen and (max-width: 767px) {
  .main-footer__columns {
    display: flex;
    flex-direction: column;
  }
  .main-footer__column {
    display: contents;
  }
  .main-footer__block--contact {
    order: 99;
  }
}
.main-footer__image {
  display: flex;
  justify-content: flex-end;
  margin-top: 4rem;
}
.main-footer__image img {
  display: block;
  width: auto;
  height: auto;
  max-height: 7.1rem;
}
.main-footer__bottom {
  position: relative;
  padding: 1.75rem 0;
  /* Mobiel: ring half op wit, half op de balk, met de teksten eronder */
}
@media screen and (max-width: 1023px) {
  .main-footer__bottom {
    padding-top: 8.4rem;
    padding-bottom: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .main-footer__bottom {
    padding-top: 6.4rem;
  }
}
.main-footer__bottom {
  color: var(--green);
  /* Coral ring als logo: hangt over de bovenrand van de balk (helft in het witte deel) en loopt onderaan net buiten beeld */
}
.main-footer__bottom:after {
  content: "";
  position: absolute;
  left: 50%;
  top: -6.4rem;
  width: 8rem;
  height: 8rem;
  margin-left: -6.4rem;
  box-sizing: content-box;
  background: var(--white);
  border: 2.4rem solid var(--orange);
  border-radius: 50%;
  pointer-events: none;
  /* Mobiel: kleinere ring (88px totaal), nog steeds half-half op de rand */
}
@media screen and (max-width: 767px) {
  .main-footer__bottom:after {
    top: -4.4rem;
    width: 5.6rem;
    height: 5.6rem;
    margin-left: -4.4rem;
    border-width: 1.6rem;
  }
}
.main-footer__bottom > .wrap {
  position: relative;
  z-index: 1;
}
.main-footer__bottom a {
  color: var(--green);
}
.main-footer__bottom .wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 2rem 4rem;
}
@media screen and (max-width: 1023px) {
  .main-footer__bottom .wrap {
    flex-direction: column;
    align-items: center;
  }
  .main-footer__bottom .wrap p {
    order: 2;
  }
}
.main-footer__bottom p, .main-footer__bottom ul li {
  font-size: calc(var(--f-base) * 0.875);
  line-height: 1.5;
  margin: 0;
}
@media screen and (max-width: 1023px) {
  .main-footer__bottom p, .main-footer__bottom ul li {
    text-align: center;
  }
}
.main-footer__bottom ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0 0.8rem;
  justify-content: center;
  margin: 0 !important;
}
@media screen and (max-width: 1023px) {
  .main-footer__bottom ul {
    order: 1;
  }
}
.main-footer__bottom ul ul {
  display: none !important;
}
.main-footer__bottom ul li {
  margin: 0;
  padding: 0;
  display: flex;
  gap: 0 0.8rem;
}
.main-footer__bottom ul li:not(:last-child):after {
  content: "|";
}
.main-footer__bottom ul li:before {
  display: none;
}
.main-footer__bottom ul li a {
  text-decoration: none;
}
.main-footer__bottom ul li a:hover {
  text-decoration: underline;
}