/*
Deltalight theme V1.0
Authors:
    - Brecht De Ruyte <brecht.deruyte@iodigital.com>
*/
/* set mixins that require sass */
/* unfortunatly there isn't enough support for custom properties at the moment */
/* ad global variables and reset */
/*
	-----------------------------------------
	This file is intended for keyframes and to add animation defaults
	-----------------------------------------
*/
@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes animation--fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes animation--fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes animation--grayscale-fade {
  0% {
    filter: grayscale(100%);
  }
  100% {
    filter: grayscale(0%);
  }
}
:root {
  /* declare easy font-sizes */
  --10px: 0.625rem;
  --12px: 0.75rem;
  --13px: 0.813rem;
  --14px: 0.875rem;
  --15px: 0.9375rem;
  --16px: 1rem;
  --17px: 1.0625rem;
  --18px: 1.125rem;
  --19px: 1.1875rem;
  --20px: 1.25rem;
  --21px: 1.3125rem;
  --22px: 1.375rem;
  --23px: 1.438rem;
  --24px: 1.5rem;
  --25px: 1.563rem;
  --26px: 1.625rem;
  --27px: 1.688rem;
  --28px: 1.75rem;
  --29px: 1.813rem;
  --30px: 1.875rem;
  --31px: 1.938rem;
  --32px: 2rem;
  --33px: 2.063rem;
  --34px: 2.125rem;
  --48px: 3rem;
}
/* inter-regular - latin */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local(""), url("../fonts/inter-v11-latin-regular.woff2") format("woff2"), url("../fonts/inter-v11-latin-regular.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* inter-500 - latin */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local(""), url("../fonts/inter-v11-latin-500.woff2") format("woff2"), url("../fonts/inter-v11-latin-500.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* inter-600 - latin */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local(""), url("../fonts/inter-v11-latin-600.woff2") format("woff2"), url("../fonts/inter-v11-latin-600.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* montserrat-500 - latin */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local(""), url("../fonts/montserrat-v24-latin-500.woff2") format("woff2"), url("../fonts/montserrat-v24-latin-500.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* montserrat-700 - latin */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local(""), url("../fonts/montserrat-v24-latin-700.woff2") format("woff2"), url("../fonts/montserrat-v24-latin-700.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* define a root in the reboot so that they get combined at the top on production build */
:root {
  --default-lh: 1.5;
}
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}
* {
  scroll-padding-top: 0;
}
/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}
/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}
/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}
html {
  scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
/* Set core body defaults */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: var(--default-lh);
  background-color: rgb(var(--color-lightest));
}
body.is--panel-open {
  overflow: hidden;
}
/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}
/* Make images easier to work with */
img,
picture,
video {
  display: block;
  max-inline-size: 100%;
  block-size: auto;
}
video {
  width: auto;
  height: auto;
}
/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
  margin: 0;
}
/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
*::before,
*::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/* Atoms */
/* ================================================== */
:root {
  --color-lightest: 255, 255, 255;
  --color-darkest: 0, 0, 0;
  --color-foreground: var(--color-darkest);
  --color-background: var(--color-lightest);
  --color-default-accent-100: 227, 255, 242;
  --color-default-accent-300: 210, 251, 232;
  --color-default-accent-500: 196, 248, 223;
  --color-default-accent-700: 175, 240, 221;
  --color-default-accent-900: 102, 197, 174;
  --color-default-accent-contrast: 0, 0, 0;
  --color-accent-100: var(--color-cms-accent-100, var(--color-default-accent-100));
  --color-accent-300: var(--color-cms-accent-300, var(--color-default-accent-300));
  --color-accent-500: var(--color-cms-accent-500, var(--color-default-accent-500));
  --color-accent-700: var(--color-cms-accent-700, var(--color-default-accent-700));
  --color-accent-900: var(--color-cms-accent-900, var(--color-default-accent-900));
  --color-accent-contrast: var(--color-cms-accent-contrast, var(--color-default-accent-contrast));
  --color-gray-100: 238, 242, 244;
  --color-gray-200: 216, 220, 223;
  --color-gray-300: 192, 197, 201;
  --color-gray-400: 167, 174, 180;
  --color-gray-500: 142, 151, 159;
  --color-gray-600: 117, 128, 138;
  --color-gray-700: 96, 105, 113;
  --color-gray-800: 70, 76, 83;
  --color-gray-900: 51, 56, 61;
  --color-success-100: 198, 246, 194;
  --color-success-300: 123, 234, 141;
  --color-success-500: 22, 193, 101;
  --color-success-700: 0, 154, 89;
  --color-success-900: 0, 118, 68;
  --color-warning-100: 255, 238, 179;
  --color-warning-300: 252, 247, 135;
  --color-warning-500: 255, 214, 0;
  --color-warning-700: 251, 153, 39;
  --color-warning-900: 193, 59, 2;
  --color-error-100: 255, 217, 200;
  --color-error-300: 255, 152, 129;
  --color-error-500: 238, 36, 36;
  --color-error-700: 201, 3, 3;
  --color-error-900: 178, 5, 5;
  --color-info-100: 188, 224, 251;
  --color-info-300: 111, 160, 255;
  --color-info-500: 0, 0, 255;
  --color-info-700: 1, 44, 194;
  --color-info-900: 0, 41, 121;
  --color-product-pin: var(--color-gray-400);
  --color-product-pin-active: var(--color-gray-400);
}
:root {
  --container-max-width: 1324px;
  --container-padding: var(--spacing-4);
}
@media (min-width: 768px) {
  :root {
    --container-padding: var(--spacing-5);
  }
}
@media (min-width: 1024px) {
  :root {
    --container-padding: var(--spacing-8);
  }
}
.container, .page--project-overview .overview-header {
  width: 100%;
  max-width: var(--container-max-width);
  margin-right: auto;
  margin-left: auto;
  padding-inline: var(--container-padding);
}
.container.container--pl, .page--project-overview .container--pl.overview-header {
  padding-inline-end: 0;
}
.container.container--pr, .page--project-overview .container--pr.overview-header {
  padding-inline-start: 0;
}
.container--sm {
  max-width: 600px;
}
.container--wide {
  max-width: 1920px;
}
:root {
  --gradient-linear-accent: linear-gradient(270deg, rgb(var(--color-accent-500)) 0%, rgba(var(--color-accent-500), 0.85) 100%);
  --gradient-linear-dark: linear-gradient(270deg, rgb(var(--color-darkest)) 50%, rgba(var(--color-darkest), 0.6) 100%);
  --gradient-radial-accent-100: radial-gradient(60.07% 82.09% at 50% 0%, rgba(var(--color-accent-500), 0.4) 0%, rgb(var(--color-accent-500)) 82%);
  --gradient-radial-accent-200: radial-gradient(83.21% 113.71% at 50% 0%, rgba(var(--color-accent-500), 0.2) 0%, rgb(var(--color-accent-500)) 100%);
  --gradient-radial-dark-100: radial-gradient(61.64% 84.23% at 50% 0%, rgba(var(--color-darkest), 0.7) 0%,rgb(var(--color-darkest)) 100%);
  --gradient-radial-dark-200: radial-gradient(71.5% 97.7% at 50% 0%, rgba(var(--color-darkest), 0.5) 0%, rgb(var(--color-darkest)) 100%);
  --gradient-radial-gray-100: radial-gradient(56.36% 77.01% at 50% 0%, rgba(var(--color-gray-100), 0.6) 0%, rgb(var(--color-gray-100)) 100%);
  --gradient-radial-gray-200: radial-gradient(70.64% 96.53% at 50% 0%, rgba(var(--color-gray-100), 0.3) 0%, rgb(var(--color-gray-100)) 100%);
  --gradient-radial-white: radial-gradient(50% 50% at 0% 100%, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%);
}
img.has--observer {
  filter: grayscale(100%);
}
img.has--observer.is--visible {
  animation: 0.35s animation--grayscale-fade ease-out forwards;
}
.site-logo {
  position: fixed;
  top: var(--spacing-4);
  left: var(--spacing-4);
  width: 152px;
  height: 24px;
  filter: contrast(0.8);
  mix-blend-mode: difference;
  z-index: 1000;
}
@media (min-width: 768px) {
  .site-logo {
    left: var(--spacing-5);
  }
}
@media (min-width: 1024px) {
  .site-logo {
    top: var(--spacing-6);
    left: var(--spacing-4);
  }
}
@media screen and (min-width: 1120px) {
  .site-logo {
    width: 240px;
    height: 32px;
  }
}
@media (min-width: 1200px) {
  .site-logo {
    left: var(--spacing-7);
    grid-column-gap: 40px;
  }
}
@media (min-width: 1400px) {
  .site-logo {
    left: var(--spacing-8);
  }
}
.site-logo a {
  display: block;
  color: rgb(var(--color-lightest));
}
.placeholder-bg {
  background-color: rgb(var(--color-gray-100));
  object-fit: cover;
}
/* Use px for default spacing since they shouldn't have to increase when increasing base font-size */
:root {
  --spacing-0: 0;
  --spacing-1: 4px;
  --spacing-2: 8px;
  --spacing-3: 12px;
  --spacing-4: 16px;
  --spacing-5: 24px;
  --spacing-6: 32px;
  --spacing-7: 48px;
  --spacing-8: 64px;
  --spacing-9: 96px;
  --spacing-10: 144px;
}
:root {
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-family-base: "Inter", Helvetica, Arial, sans-serif;
  --font-family-heading: "Montserrat", Helvetica, Arial, sans-serif;
  --font-size-base: clamp(0.94rem, 0.09vw + 0.92rem, 1rem);
  --line-height-base: clamp(1.5rem, 0.19vw + 1.46rem, 1.63rem);
  --line-height-narrow: clamp(1.25rem, 0.19vw + 1.21rem, 1.38rem);
  --font-size-h1: clamp(1.5rem, 2.22vw + 1.06rem, 3rem);
  --line-height-h1: 1.15;
  --font-size-h2: clamp(1.38rem, 0.93vw + 1.19rem, 2rem);
  --line-height-h2: clamp(1.63rem, 0.74vw + 1.48rem, 2.13rem);
  --font-size-h3: clamp(1rem, 0.93vw + 0.81rem, 1.63rem);
  --line-height-h3: clamp(1.5rem, 0.74vw + 1.35rem, 2rem);
  --font-size-h4: clamp(0.94rem, 0.46vw + 0.84rem, 1.25rem);
  --line-height-h4: clamp(1.38rem, 0.19vw + 1.34rem, 1.5rem);
  --font-size-h5: clamp(1rem, 0.09vw + 0.98rem, 1.06rem);
  --line-height-h5: clamp(1.38rem, 0.19vw + 1.34rem, 1.5rem);
  --font-size-lead: clamp(1.06rem, 0.19vw + 1.03rem, 1.19rem);
  --line-height-lead: clamp(1.88rem, -0.19vw + 1.91rem, 1.75rem);
  --font-size-sm: clamp(0.75rem, 0.19vw + 0.71rem, 0.88rem);
  --line-height-sm: clamp(1.25rem, 0.19vw + 1.21rem, 1.38rem);
  --font-size-xs: clamp(0.69rem, 0.09vw + 0.67rem, 0.75rem);
  --line-height-xs: clamp(0.94rem, 0.09vw + 0.92rem, 1rem);
}
body {
  font-family: var(--font-family-base);
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  font-weight: var(--font-weight-regular);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6, p {
  margin: 0;
}
h1, .h1 {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-h1);
  line-height: var(--line-height-h1);
  font-weight: var(--font-weight-bold);
}
h2, .h2 {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  font-weight: var(--font-weight-bold);
}
h3, .h3 {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
  font-weight: var(--font-weight-bold);
}
h4, .h4 {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
  font-weight: var(--font-weight-bold);
}
h5, .h5 {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-h5);
  line-height: var(--line-height-h5);
  font-weight: var(--font-weight-regular);
}
p {
  margin: 0 0 var(--line-height-h3);
}
.text-reset {
  font-family: var(--font-family-base);
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  font-weight: var(--font-weight-regular);
  color: currentColor;
  text-decoration: none;
}
.lead {
  font-family: var(--font-family-base);
  font-size: var(--font-size-lead);
  line-height: var(--line-height-lead);
  font-weight: var(--font-weight-regular);
}
.narrow {
  line-height: var(--line-height-narrow);
}
small, .small, label {
  font-family: var(--font-family-base);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  font-weight: var(--font-weight-regular);
}
strong {
  font-weight: var(--font-weight-semibold);
}
:root {
  --icon-width: var(--24px);
  --icon-height: var(--24px);
}
.icon {
  display: inline-block;
  width: var(--icon-width);
  min-width: var(--icon-width);
  height: var(--icon-height);
  color: inherit;
}
/* social icons have an icon background variable */
.icon--social {
  --icon-background: rgb(var(--color-darkest));
  --icon-width: var(--32px);
  --icon-height: var(--32px);
}
.icon--sm {
  --icon-width: var(--16px);
  --icon-height: var(--16px);
}
.icon--lg {
  --icon-width: var(--32px);
  --icon-height: var(--32px);
}
.nav-list, .list-unstyled {
  margin: 0;
  padding: 0;
  list-style: none;
}
dl {
  margin-block-end: var(--spacing-6);
}
dt {
  color: rgb(var(--color-accent-500));
}
dd + dt {
  margin-block-start: var(--spacing-4);
}
dl.list--dark > * {
  color: rgb(var(--color-darkest));
}
dl.list--dark dt {
  font-weight: var(--font-weight-semibold);
}
.sr-only, .image.is--pinnable .product-pin .text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  white-space: nowrap;
  border: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
}
.sr-only-focusable {
  transform: translateY(-100%);
  transition: transform 0.24s ease-out;
}
.sr-only-focusable:active, .sr-only-focusable:focus {
  position: fixed;
  top: 0;
  width: 100%;
  height: auto;
  padding: var(--spacing-4);
  white-space: normal;
  color: rgb(var(--color-accent-contrast));
  text-align: center;
  overflow: visible;
  clip: auto;
  clip-path: none;
  background: rgb(var(--color-accent-500));
  transform: translateY(0);
  outline: 0;
  z-index: 1000000;
}
:root {
  --zindex-autocomplete: 7000;
  --zindex-backtotop: 8000;
  --zindex-panel: 9000;
  --zindex-dropdown-backdrop: 9490;
  --zindex-dropdown: 9500;
  --zindex-dialog: 100001;
}
/* Molecules */
/* ================================================== */
.alert {
  --alert-padding: var(--spacing-3) var(--spacing-4) var(--spacing-3) var(--spacing-4);
  --alert-background: #E4EEF2;
  --alert-color: rgb(var(--color-darkest));
  --alert-link-color: rgb(var(--color-gray-700));
  display: inline-flex;
  gap: var(--spacing-3);
  justify-content: space-between;
  align-items: flex-start;
  padding: var(--alert-padding);
  background: var(--alert-background);
  color: var(--alert-color);
}
@media (min-width: 768px) {
  .alert {
    --alert-padding: var(--spacing-3) var(--spacing-5) var(--spacing-3) var(--spacing-3);
  }
}
@media (min-width: 768px) {
  .alert .icon {
    height: var(--line-height-base);
  }
}
.alert a {
  color: var(--alert-link-color);
  transition: opacity 0.3s ease;
}
.alert a:hover, .alert a:focus {
  opacity: 0.8;
}
.alert-body {
  display: flex;
  gap: var(--spacing-2);
  justify-content: flex-start;
}
/* At the moment the alert info defaults to the default alert. Let's keep this in comment for future reference */
.alert--success {
  --alert-background: #12054D;
  --alert-color: rgb(var(--color-lightest));
  --alert-link-color: rgb(var(--color-grey-400));
}
.alert--warning {
  --alert-background: #FFFD54;
  --alert-color: rgb(var(--color-darkest));
  --alert-link-color: rgb(var(--color-grey-800));
}
.alert--error, .alert--danger {
  --alert-background: #EA4726;
  --alert-color: rgb(var(--color-lightest));
  --alert-link-color: #FFD9C8;
}
.general-notification {
  position: fixed;
  top: var(--spacing-7);
  right: 0;
  max-width: 100%;
}
.general-notification.page-header-actions {
  position: fixed;
  display: block;
  left: auto;
  bottom: auto;
}
@media (min-width: 1024px) {
  .general-notification.page-header-actions {
    top: var(--header-height);
    transition: transform 0.5s ease-out;
  }
}
@media (min-width: 1024px) {
  .has--header-collapse .general-notification.page-header-actions {
    transform: translateY(var(--header-collapse-margin));
  }
}
/* links and buttons */
/* animation time variables */
:root {
  --color-link-neutral: var(--color-gray-800);
  --color-link-light: var(--color-gray-700);
}
.link {
  --link-icon-gap: var(--spacing-2);
  display: inline-flex;
  padding: 0;
  gap: var(--link-icon-gap);
  align-items: center;
  font-family: var(--font-family-base);
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  text-decoration: none;
  color: inherit;
  background: transparent;
  border: none;
  cursor: pointer;
}
.link:focus {
  outline: 0;
}
.link:not(.link--arrow) .link-text {
  position: relative;
  overflow: hidden;
}
.link:not(.link--arrow) .link-text::before {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: currentColor;
  content: "";
  opacity: 0.5;
  transition: transform 0.5s ease-out;
  transform: translateX(100%);
}
.link:not(.link--arrow) .icon + .link-text::before, .link:not(.link--arrow) .link-text:only-child::before {
  transform: translateX(-100%);
}
.link:not(.link--arrow):hover .link-text::before, .link:not(.link--arrow):focus .link-text::before {
  transform: translateX(0);
}
.link.has--badge {
  position: relative;
}
.link--rtl:not(.link-arrow) .link-text::before, .link--rtl:not(.link-arrow) .link-text:only-child::before {
  transform: translateX(100%);
}
.link--rtl:not(.link-arrow):hover .link-text::before, .link--rtl:not(.link-arrow):focus .link-text::before {
  transform: translateX(0);
}
.link--arrow .icon {
  transition: transform 0.5s ease-out;
}
.link--arrow:hover .icon, .link--arrow:focus .icon {
  transform-origin: left center;
  transform: translateX(-3px) scaleX(1.05);
}
.link--arrow:hover .link-text + .icon, .link--arrow:hover .icon--arrow-right, .link--arrow:focus .link-text + .icon, .link--arrow:focus .icon--arrow-right {
  transform: translateX(3px) scaleX(1.05);
}
.link--neutral {
  color: rgb(var(--color-link-neutral));
}
.link--light {
  color: rgb(var(--color-link-light));
}
.link--lightest {
  color: rgb(var(--color-lightest));
}
.link--inherit {
  color: currentColor;
}
.link--cta {
  display: block;
  font-family: var(--font-family-heading);
}
.link--cta .icon {
  display: block;
}
.link--tag {
  margin-inline-end: var(--spacing-4);
}
.link--sm {
  --link-icon-gap: var(--spacing-1);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
}
.link-list {
  margin: var(--spacing-4) 0;
  padding: 0;
  list-style: none;
}
.link--info {
  color: rgb(var(--color-darkest));
}
.link-badge {
  position: absolute;
  top: -6px;
  left: 14px;
  margin: 0;
  padding: 0 var(--spacing-1);
  font-size: var(--12px);
}
.link--underline {
  text-decoration: underline;
}
.nav-item.nav-item--count {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}
.nav-link {
  position: relative;
  display: inline-block;
  margin-bottom: var(--spacing-4);
  font-family: var(--font-family-base);
  font-size: var(--15px);
  line-height: var(--24px);
  color: currentColor;
  text-decoration: none;
  overflow: hidden;
}
.nav-link::before {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: currentColor;
  content: "";
  transition: transform 0.5s ease-out;
  opacity: 0.5;
  transform: translateX(-100%);
}
.nav-link:focus {
  outline: 0;
}
.nav-link:hover::before, .nav-link:focus::before {
  outline: 0;
  transform: translateX(0);
}
@media (min-width: 768px) {
  .nav-link {
    font-size: var(--14px);
  }
}
.nav-item--view-all {
  margin-block-start: var(--spacing-5);
}
.nav-item--view-all .nav-link {
  display: inline-flex;
  padding-right: 5px;
  align-items: center;
}
.nav-item--view-all .nav-link .icon {
  margin-left: var(--spacing-1);
  transition: transform 0.5s ease-out;
}
.nav-item--view-all .nav-link::before {
  display: none;
}
.nav-item--view-all .nav-link:hover .icon, .nav-item--view-all .nav-link:focus .icon {
  transform: translateX(3px) scaleX(1.05);
}
.btn {
  --btn-padding-x: var(--spacing-5);
  --btn-padding-y: var(--spacing-3);
  --btn-icon-gap: var(--spacing-4);
  --btn-font-size: var(--13px);
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: var(--btn-icon-gap);
  padding: var(--btn-padding-y) var(--btn-padding-x);
  font-family: var(--font-family-heading);
  font-size: var(--btn-font-size);
  line-height: var(--24px);
  font-weight: var(--font-weight-medium);
  text-transform: uppercase;
  text-decoration: none;
  color: rgb(var(--color-darkest));
  border: none;
  cursor: pointer;
}
.btn:disabled, .btn.disabled {
  --btn-bg: rgb(var(--color-gray-700));
  color: rgba(var(--color-lightest), 1);
  cursor: not-allowed;
}
.btn:disabled:hover, .btn:disabled:active, .btn.disabled:hover, .btn.disabled:active {
  --btn-bg: rgb(var(--color-gray-700));
}
.btn:disabled::before, .btn.disabled::before {
  display: none;
}
.btn.has-icon {
  --btn-icon-gap: var(--spacing-3);
  padding-inline-end: var(--spacing-3);
}
.btn > *:not(.sr-only) {
  position: relative;
  z-index: 2;
}
.btn::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: var(--btn-bg);
  transition: transform 0.25s ease-out;
  will-change: transform;
  z-index: 1;
}
.btn:hover::before {
  transform: scaleY(1.1);
}
/*
	-----------------------------------------
	General styles for the animated buttons
	- sets the ::before pseudo element with correct transitions
	- adds correct opacity for all items
	placed this aside so that buttons themselves become more readable
	At moment of writing this counts for all types of buttons, but chose to set it aside for future proofing non-animated buttons if ever applicable
	-----------------------------------------
*/
.btn--accent:active, .btn--dark:active, .btn--light:active, .btn--gray:active {
  background: var(--btn-bg);
}
.btn--accent:active::before, .btn--dark:active::before, .btn--light:active::before, .btn--gray:active::before {
  opacity: 0;
}
.btn--accent:focus, .btn--dark:focus, .btn--light:focus, .btn--gray:focus {
  outline: 0;
}
.btn--accent > *, .btn--dark > *, .btn--light > *, .btn--gray > * {
  pointer-events: none;
}
/*
	-----------------------------------------
	Button color modifiers
	-----------------------------------------
*/
.btn--accent {
  --btn-bg: rgba(var(--color-accent-500), 1);
  color: rgb(var(--color-darkest));
}
.btn--accent:active, .btn--accent:focus {
  --btn-bg: rgb(var(--color-accent-100));
}
.btn--dark {
  --btn-bg: rgba(var(--color-darkest), 1);
  color: rgba(var(--color-lightest), 1);
}
.btn--dark.disabled, .btn--dark:disabled {
  opacity: 1;
  background-color: rgb(var(--color-gray-200));
  color: rgb(var(--color-gray-500));
}
.btn--dark:active, .btn--dark:focus {
  --btn-bg: rgb(var(--color-gray-700));
}
.btn--light {
  --btn-bg: rgba(var(--color-lightest), 1);
  color: rgb(var(--color-darkest));
}
.btn--light:active, .btn--light:focus {
  --btn-bg: rgb(var(--color-gray-200));
}
.btn--gray {
  --btn-bg: rgba(var(--color-gray-200), 1);
  color: rgb(var(--color-darkest));
}
.btn--gray:active, .btn--gray:focus {
  --btn-bg: rgb(var(--color-gray-300));
}
.btn--tab {
  --btn-bg: transparent;
  position: relative;
  color: rgb(var(--color-darkest));
  padding-inline-start: var(--28px);
  padding-block: var(--spacing-2);
  background: var(--btn-bg);
}
.btn--tab .icon {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.btn--loadmore {
  --btn-bg: rgb(var(--color-foreground));
  color: rgb(var(--color-background));
}
/* google map pin */
.btn--pin {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  width: 40px;
  height: 40px;
}
/*
	-----------------------------------------
	Button size modifiers
	-----------------------------------------
*/
.btn--sm {
  --btn-padding-x: var(--spacing-4);
  --btn-padding-y: var(--spacing-2);
  --btn-icon-gap: var(--spacing-2);
  --btn-font-size: var(--12px);
}
.btn--icon {
  padding: 0;
  color: currentColor;
  background: transparent;
  border: none;
}
.btn--block {
  width: 100%;
  justify-content: center;
}
/*
	-----------------------------------------
	Special buttons
	-----------------------------------------
*/
@media (max-width: 1023px) {
  .btn--sm-icon-only {
    gap: 0;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
  }
  .btn--sm-icon-only span {
    display: none;
  }
}
.btn--scrolltotop {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: var(--zindex-backtotop);
  display: inline-flex;
  opacity: 0;
  transform: translateY(100%);
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}
.btn--scrolltotop::before {
  border-width: 1px 0 0 1px;
  border-style: solid;
  border-color: rgb(var(--color-lightest));
  transition: transform 0.15s linear;
}
.btn--scrolltotop.is--shown {
  transform: translateY(0);
  opacity: 1;
}
.page--dark .btn--scrolltotop {
  filter: invert(100%);
}
@media (max-width: 1023px) {
  .btn--scrolltotop {
    padding-inline: var(--spacing-2);
  }
  .btn--scrolltotop.has--offset {
    bottom: 48px;
  }
  .btn--scrolltotop:hover, .btn--scrolltotop:focus {
    transform: none;
  }
  .btn--scrolltotop span {
    display: none;
  }
}
.btn--toggle:active, .btn--toggle:focus {
  --btn-bg: rgba(var(--color-darkest), 1);
}
.btn--toggle:hover::before {
  transform: none;
}
.btn--multiple.btn--dark a {
  color: rgb(var(--color-background));
}
@media (max-width: 1023px) {
  .btn--multiple.btn--dark {
    --btn-padding-y: var(--spacing-3);
    overflow-x: auto;
    background-color: rgb(var(--color-foreground));
    border-top: 1px solid rgb(var(--color-background));
  }
}
.btn--multiple a {
  pointer-events: all;
  text-decoration: none;
}
.btn--multiple a:hover {
  text-decoration: underline;
}
.form-image-upload .btn::before {
  display: none;
}
.btn--toggle-more span {
  display: flex;
}
.btn--link {
  --btn-padding-x: 0;
  --btn-padding-y: 0;
  font-size: var(--16px);
  font-family: var(--font-family-base);
  color: rgb(var(--color-gray-600));
  text-transform: none;
  background-color: transparent;
}
.btn--link::before {
  display: none;
}
:root {
  --loader-bg-dark: url(../svg/loader.svg);
  --loader-bg-light: url(../svg/loader-negative.svg);
  --loader-bg: var(--loader-bg-dark);
}
.loader-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: var(--spacing-9);
  font-family: var(--font-family-heading);
  font-size: var(--24px);
}
.loader-wrapper.is--empty {
  display: none;
}
@keyframes sprite {
  to {
    background-position: -1280px;
  }
}
.loader {
  display: grid;
  grid-template-columns: 80px 1fr;
  align-items: center;
  position: relative;
}
.loader-contents {
  min-height: 80px;
}
.loader-animation {
  width: 80px;
  aspect-ratio: 1/1;
  background: var(--loader-bg);
  background-size: 1280px 80px;
  animation: sprite 1.5s steps(16) infinite;
}
.page--dark .loader-animation {
  --loader-bg: var(--loader-bg-light);
}
.loader--md {
  grid-template-columns: 60px 1fr;
}
.loader--md .loader-animation {
  transform: scale(0.75) translateX(-25%);
}
.loader--sm {
  grid-template-columns: 40px 1fr;
}
.loader--sm .loader-animation {
  transform: scale(0.5) translateX(-50%);
}
.loader--xs {
  grid-template-columns: 20px 1fr;
}
.loader--xs .loader-animation {
  transform: scale(0.25) translateX(-75%);
}
/* badges */
.badge {
  --badge-color: rgb(var(--color-background));
  --badge-background: rgb(var(--color-foreground));
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: var(--spacing-1) var(--spacing-2);
  font-family: var(--font-family-heading);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  text-align: center;
  color: var(--badge-color);
  background: var(--badge-background);
  text-transform: uppercase;
  text-decoration: none;
  transition: opacity 0.5s ease-in-out;
}
a.badge:hover, a.badge:focus {
  opacity: 0.75;
}
.badge--darkest {
  --badge-background: rgb(var(--color-darkest));
}
.badge--accent {
  --badge-color: rgb(var(--color-darkest));
  --badge-background: rgb(var(--color-accent-500));
}
.badge--neutral {
  --badge-color: rgb(var(--color-darkest));
  --badge-background: rgb(var(--color-gray-200));
}
.badge--lightest {
  --badge-color: rgb(var(--color-darkest));
  --badge-background: rgb(var(--color-lightest));
}
.badge--error {
  --badge-background: rgb(var(--color-error-500));
}
.badge--pill {
  min-width: 24px;
  min-height: 24px;
  font-size: var(--font-size-xs);
  font-weight: 600;
  line-height: var(--line-height-xs);
  justify-content: center;
  border-radius: 12px;
  text-transform: none;
}
.badge--xs {
  padding-block: var(--spacing-1);
  font-size: var(--10px);
  line-height: var(--12px);
}
.badge--xs.badge--pill {
  min-width: 16px;
  min-height: 16px;
  padding-block: 0;
  padding-inline: var(--spacing-1);
}
/* Swatches */
.swatch {
  --swatch-size: var(--32px);
  --swatch-color: transparent;
  --swatch-active-border-gap: -0.4375rem;
  --swatch-default-end-margin: var(--spacing-3);
  display: inline-block;
  position: relative;
  width: var(--swatch-size);
  height: var(--swatch-size);
  margin-inline-end: var(--swatch-default-end-margin);
  padding: 0;
  background: var(--swatch-color);
  border-radius: 50%;
  border: none;
  transition: box-shadow 0.5s ease-in-out;
}
.swatch::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  border: 1px solid rgba(var(--color-darkest), 0.2);
  border-radius: 50%;
  content: "";
}
.swatch.is--active::after {
  position: absolute;
  top: var(--swatch-active-border-gap);
  bottom: var(--swatch-active-border-gap);
  left: var(--swatch-active-border-gap);
  right: var(--swatch-active-border-gap);
  border: 3px solid rgb(var(--color-darkest));
  border-radius: 50%;
  content: "";
}
.swatch-image {
  display: block;
  border-radius: 100%;
  overflow: hidden;
}
.swatch-image img {
  width: 100%;
  height: 100%;
}
button.swatch {
  cursor: pointer;
}
button.swatch:hover, button.swatch:focus {
  outline: 0;
  animation: swatch-hover 2.4s ease-in-out infinite;
}
@media (prefers-reduced-motion) {
  button.swatch:hover, button.swatch:focus {
    animation: none;
    box-shadow: rgba(0, 0, 0, 0.6) 0 0 8px;
  }
}
.swatch--sm {
  --swatch-size: var(--16px);
  --swatch-active-border-gap: -0.375rem;
  --swatch-default-end-margin: var(--spacing-4);
}
.swatch--xs {
  --swatch-size: var(--16px);
  --swatch-active-border-gap: -0.375rem;
  --swatch-default-end-margin: var(--spacing-2);
}
@keyframes swatch-hover {
  0%, 100% {
    box-shadow: rgba(0, 0, 0, 0.45) 0 0 0;
  }
  50% {
    box-shadow: rgba(0, 0, 0, 0.6) 0 0 10px;
  }
}
/* Forms */
:root {
  --select-focussed-bg: var(--color-darkest);
  --select-focussed-color: var(--color-lightest);
  --select-focussed-shadow: rgba(var(--color-lightest), .3);
  --dropdown-item-value-color: var(--color-gray-300);
}
.dropdown {
  position: relative;
  margin-bottom: var(--spacing-6);
}
.dropdown::after {
  position: absolute;
  top: calc(var(--spacing-3) * -1);
  bottom: 0;
  left: calc(var(--spacing-4) * -1);
  right: calc(var(--spacing-4) * -1);
  background: rgb(var(--select-focussed-bg));
  content: "";
  z-index: 1;
  opacity: 0;
  transition: opacity 0.5s ease-out;
}
.dropdown.is--open {
  color: rgb(var(--select-focussed-color));
  z-index: 10;
}
.dropdown.is--open::after {
  opacity: 1;
}
.dropdown > * {
  position: relative;
  z-index: 3;
}
.dropdown .dropdown-selection {
  display: flex;
  align-items: center;
  color: currentColor;
  padding-bottom: var(--spacing-2);
  border-bottom: 1px solid currentColor;
}
.dropdown .dropdown-selection-text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
  line-clamp: 1;
  -webkit-line-clamp: 1;
}
.dropdown .dropdown-label {
  color: currentColor;
}
.dropdown .dropdown-icon {
  margin-left: auto;
}
.dropdown .dropdown-badge {
  margin-inline-start: var(--spacing-2);
}
.dropdown .dropdown-wrapper {
  position: absolute;
  left: calc(var(--spacing-4) * -1);
  right: calc(var(--spacing-4) * -1);
  overflow: hidden;
}
.dropdown .dropdown-wrapper::after {
  position: absolute;
  top: calc(320px - var(--spacing-6));
  left: 0;
  right: 0;
  content: "";
  height: var(--spacing-6);
  background: linear-gradient(180deg, rgba(var(--select-focussed-bg), 0) 0%, rgb(var(--select-focussed-bg)) 100%);
  pointer-events: none;
  z-index: 10;
}
.dropdown .dropdown-items {
  position: relative;
  top: 100%;
  left: 0;
  right: 0;
  max-height: 320px;
  padding: calc(var(--spacing-3) / 2) var(--spacing-4) calc(var(--spacing-4) / 2);
  margin: 0;
  list-style: none;
  color: rgb(var(--select-focussed-color));
  background: rgb(var(--select-focussed-bg));
  border-radius: 0;
  z-index: 3;
  animation: fade-in 0.5s ease-out;
  overflow-y: auto;
  box-shadow: 1px 0 var(--select-focussed-shadow), -1px 1px var(--select-focussed-shadow);
}
.dropdown .dropdown-items::-webkit-scrollbar {
  width: 8px;
}
.dropdown .dropdown-items::-webkit-scrollbar-track {
  background: rgba(var(--color-gray-500), 0.35);
}
.dropdown .dropdown-items::-webkit-scrollbar-thumb {
  border-radius: 0;
  background: currentColor;
  border: 1px solid rgba(var(--color-gray-500), 0.35);
}
.dropdown .dropdown-item {
  display: flex;
  align-items: center;
  padding: calc(var(--spacing-3) / 2) 0;
  cursor: pointer;
  transition: background 0.5s ease-out;
}
.dropdown .dropdown-item:hover {
  background: var(--select-option-hover);
}
.dropdown .dropdown-item input[type=radio], .dropdown .dropdown-item input[type=checkbox] {
  border-color: rgb(var(--select-focussed-color));
  color: currentColor;
}
.dropdown .dropdown-item input[type=radio]:focus, .dropdown .dropdown-item input[type=checkbox]:focus {
  outline: 0;
  border-color: currentColor;
}
.dropdown .dropdown-item input[type=radio]::before, .dropdown .dropdown-item input[type=checkbox]::before {
  color: rgb(var(--select-focussed-color));
}
.dropdown .dropdown-item input[type=radio]:focus::before, .dropdown .dropdown-item input[type=checkbox]:focus::before {
  color: rgb(var(--color-darkest));
}
.dropdown .dropdown-item input[type=checkbox] {
  position: relative;
  border-color: currentColor;
}
.dropdown .dropdown-item input[type=checkbox]::before {
  clip-path: polygon(28% 38%, 41% 53%, 75% 24%, 86% 38%, 40% 78%, 15% 50%);
  box-shadow: inset 1em 1em currentColor;
  color: currentColor;
  background: none;
  transform: scale(0);
}
.dropdown .dropdown-item input[type=checkbox]:checked::before {
  transform: scale(0.7);
  background: currentColor;
  z-index: 2;
  color: rgb(var(--color-darkest));
}
.dropdown .dropdown-item input[type=checkbox]:checked::after {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: currentColor;
  z-index: 1;
  content: "";
}
.dropdown .dropdown-item .custom-control {
  width: 100%;
  flex-wrap: initial;
}
.dropdown .dropdown-item .custom-control-label {
  display: flex;
  width: 100%;
}
.dropdown .dropdown-item .value {
  margin-left: auto;
  font-size: var(--14px);
  color: rgb(var(--dropdown-item-value-color));
}
.dropdown-actions {
  display: flex;
  padding-block-end: var(--spacing-4);
}
.dropdown--range .form-group--range {
  margin-block: var(--spacing-5);
}
.dropdown--more {
  align-self: end;
}
:root {
  --input-error-color: rgb(var(--color-error-700));
  --input-disabled-color: rgb(var(--color-gray-600));
}
.form-group {
  --input-placeholder-color: rgb(var(--color-gray-700));
  --input-helptext-color: rgb(var(--color-gray-700));
  --input-label-font-size: var(--font-size-sm);
  --input-label-required-size: var(--font-size-xs);
  --input-label-line-height: var(--line-height-xs);
  --input-element-font-size: var(--font-size-base);
  --input-element-line-height: var(--line-height-base);
}
.form-group label {
  display: flex;
  font-size: var(--input-label-font-size);
  line-height: var(--input-label-line-height);
  margin-bottom: var(--spacing-1);
}
.form-group label small {
  display: inline-block;
  margin-left: var(--spacing-1);
  font-size: var(--input-label-required-size);
  line-height: var(--input-label-line-height);
  color: rgb(var(--color-gray-700));
}
.form-group label a {
  display: inline-block;
  margin-inline: var(--spacing-1);
  color: rgb(var(--color-foreground));
}
.form-group.is--invalid {
  color: var(--input-error-color);
}
.form-group.is--invalid .form-control::placeholder {
  color: rgb(var(--color-error-100));
}
.form-group.is--disabled {
  cursor: not-allowed;
}
.form-group.is--disabled .form-group-input {
  color: var(--input-disabled-color);
}
.form-group.is--disabled .form-group-input input {
  cursor: not-allowed;
}
.form-group + .form-group {
  margin-block-start: var(--spacing-5);
}
.form-group-input {
  border-bottom: 1px solid currentColor;
  border-color: currentColor;
  transition: box-shadow 0.5s ease-out;
  padding-bottom: var(--spacing-2);
}
.form-group-input:focus-within {
  box-shadow: 0 1px 0 currentColor;
}
.form-group-input.has--append, .form-group-input.has--icon {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}
::placeholder {
  font-family: var(--font-family-base);
  font-size: var(--input-element-font-size);
  line-height: var(--line-height-base);
  color: var(--input-placeholder-color);
}
.form-text, .invalid-feedback {
  display: block;
  margin-block-start: var(--spacing-1);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-xs);
  font-style: italic;
  color: var(--input-helptext-color);
}
.form-text:empty, .invalid-feedback:empty {
  margin-block-start: 0;
}
.invalid-feedback {
  color: var(--input-error-color);
}
/* size modifier, update lineheight of label, placeholder and element */
.form-group--sm {
  --input-label-font-size: var(--font-size-xs);
  --input-label-line-height: var(--line-height-xs);
  --input-element-font-size: var(--font-size-sm);
  --input-element-line-height: var(--line-height-sm);
}
.form-group--sm .form-control::placeholder {
  --input-element-font-size: var(--font-size-sm);
  --input-element-line-height: var(--line-height-sm);
}
.form-group--date-wrapper > .form-group > .form-group-input {
  border-bottom: 0;
}
.form-group--date-wrapper > .form-group > .form-group-input, .form-group--date-wrapper > .form-group > .form-group-input:focus {
  box-shadow: none;
}
.form-group--date {
  display: flex;
}
.form-group--date .form-group--select {
  margin-inline-end: var(--spacing-4);
}
.form-group--range {
  margin-bottom: var(--spacing-2);
}
.form-group--range .form-group-input {
  width: 100%;
}
@media (min-width: 576px) {
  .form-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-6);
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .form-row {
    display: block;
  }
}
.form-row .form-group .form-group {
  margin-block-end: 0;
}
/* append */
.form-group-append {
  display: inline-flex;
}
.form-image-upload img {
  max-width: 150px;
}
.form-group-image-actions {
  margin-top: var(--spacing-4);
  padding-top: var(--spacing-4);
  border-top: 1px solid rgb(var(--color-darkest));
}
input.form-control, textarea.form-control {
  display: block;
  width: 100%;
  padding: 0;
  font-family: var(--font-family-base);
  font-size: var(--input-element-font-size);
  line-height: var(--input-element-line-height);
  color: currentColor;
  background: transparent;
  border: 0;
}
input.form-control:focus, textarea.form-control:focus {
  outline: 0;
}
input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
  display: none;
}
.form-group-input--stepper {
  display: flex;
}
.form-group-input--stepper input {
  flex-grow: 1;
  text-align: center;
  border: 0;
}
.form-group-input--stepper input[type=number]::-webkit-inner-spin-button, .form-group-input--stepper input[type=number]::-webkit-outer-spin-button {
  height: auto;
  -webkit-appearance: none;
}
.form-group-input--stepper input[type=number] {
  -moz-appearance: textfield;
}
.form-group-input--stepper .btn {
  width: var(--icon-width);
  min-width: var(--icon-width);
  height: var(--icon-width);
  padding: 0;
  background: transparent;
  color: currentColor;
  transition: color 0.4s ease-out;
}
.form-group-input--stepper .btn:hover, .form-group-input--stepper .btn:active {
  outline: 0;
}
.form-group-input--stepper .btn:focus {
  color: rgb(var(--color-accent-900));
  outline: 0;
}
@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.form-group--select {
  --select-focussed-bg: rgb(var(--color-darkest));
  --select-option-hover: rgba(var(--color-lightest), .1);
  --select-focussed-color: rgb(var(--color-lightest));
  --select-focussed-shadow: rgba(var(--color-lightest), .3);
  position: relative;
}
.form-group--select::before, .form-group--select::after {
  content: "";
  position: absolute;
}
.form-group--select::before {
  border-width: 5px;
  border-style: solid;
  border-color: transparent;
  border-top-color: currentColor;
  display: inline-block;
  border-radius: 2px;
  right: 7px;
  bottom: 14px;
  z-index: 3;
  pointer-events: none;
}
.form-group--select::after {
  top: calc(var(--spacing-3) * -1);
  bottom: 0;
  left: calc(var(--spacing-4) * -1);
  right: calc(var(--spacing-4) * -1);
  background: var(--select-focussed-bg);
  z-index: 1;
  opacity: 0;
  transition: opacity 0.5s ease-out;
}
.form-group--select > * {
  position: relative;
  z-index: 2;
}
.form-group--select .form-group-input select {
  padding-right: var(--spacing-6);
}
.form-group--select.is--focussed {
  color: var(--select-focussed-color);
}
.form-group--select.is--focussed::after {
  opacity: 1;
}
.form-group--select.is--focussed::before {
  transform: rotate(180deg) translateY(5px);
}
.form-group--select.is--small {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
}
.form-group--select.is--small::before {
  bottom: var(--spacing-2);
}
.form-group--select.is--small .form-group-input {
  padding-bottom: var(--spacing-1);
}
.form-group--select select {
  display: block;
  width: 100%;
  background: transparent;
  color: currentColor;
  border: 0;
  border-radius: 0;
  outline: none;
  cursor: pointer;
  appearance: none;
}
.form-group--select .select-options {
  position: absolute;
  top: 100%;
  left: calc(var(--spacing-4) * -1);
  right: calc(var(--spacing-4) * -1);
  padding: calc(var(--spacing-3) / 2) var(--spacing-4);
  margin: 0;
  list-style: none;
  color: var(--select-focussed-color);
  background: var(--select-focussed-bg);
  border-radius: 0;
  z-index: 3;
  animation: fade-in 0.5s ease-out;
  max-height: 400px;
  overflow: auto;
  box-shadow: 1px 0 var(--select-focussed-shadow), -1px 1px var(--select-focussed-shadow);
}
.form-group--select .select-options li {
  display: flex;
  align-items: center;
  padding: calc(var(--spacing-3) / 2) 0;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.form-group--select .select-options li:hover {
  background: var(--select-option-hover);
}
.custom-control {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--spacing-2);
  margin-block-start: var(--spacing-2);
}
.custom-control label {
  font-size: var(--font-size-base);
  margin: 0;
  display: inline-block;
  cursor: pointer;
}
.custom-control.is--disabled {
  color: var(--input-disabled-color);
}
.custom-control.is--invalid {
  color: var(--input-error-color);
}
.custom-control.is--invalid input[type=radio], .custom-control.is--invalid input[type=checkbox] {
  border-color: var(--input-error-color);
}
.custom-control .invalid-feedback {
  min-width: 100%;
  align-self: flex-start;
}
.custom-control-inline + .custom-control-inline {
  margin-block-start: var(--spacing-2);
}
input[type=radio], input[type=checkbox] {
  display: grid;
  place-content: center;
  appearance: none;
  width: var(--18px);
  min-width: var(--18px);
  height: var(--18px);
  margin: 0;
  border: 2px solid currentColor;
  border-radius: 2px;
  cursor: pointer;
  transition: box-shadow 0.4s ease-out;
}
input[type=radio]::before, input[type=checkbox]::before {
  content: "";
  width: var(--18px);
  height: var(--18px);
  transition: 120ms transform ease-in-out;
}
input[type=radio]:disabled, input[type=checkbox]:disabled {
  background: rgb(var(--color-gray-200));
}
input[type=radio]:focus, input[type=checkbox]:focus {
  outline: 0;
  background-color: rgb(var(--color-accent-500));
  border-color: currentColor;
}
input[type=checkbox]::before {
  clip-path: polygon(28% 38%, 41% 53%, 75% 24%, 86% 38%, 40% 78%, 15% 50%);
  transform: scale(0);
  transform-origin: center;
  box-shadow: inset 1em 1em currentColor;
}
input[type=checkbox]:checked::before {
  transform: scale(0.7);
  background: currentColor;
}
input[type=checkbox]:indeterminate {
  position: relative;
  color: rgb(var(--color-darkest));
}
input[type=checkbox]:indeterminate::before {
  position: absolute;
  width: 100%;
  height: 100%;
  clip-path: none;
  color: currentColor;
  transform: scale(1);
  z-index: 1;
  background-color: rgb(var(--color-darkest));
}
input[type=checkbox]:indeterminate::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80%;
  height: 2px;
  background-color: rgb(var(--color-lightest));
  transform: translate(-50%, -50%);
  content: "";
  z-index: 2;
}
input[type=radio] {
  border-radius: 50%;
}
input[type=radio]::before {
  border-radius: 50%;
  background: currentColor;
  transform: scale(0);
  transform-origin: center;
  transition: 120ms transform ease-in-out;
}
input[type=radio]:checked::before {
  transform: scale(0.6);
}
input[type=checkbox].checkbox--negative:checked, .page--dark .dropdown-item input[type=checkbox]:checked {
  position: relative;
}
input[type=checkbox].checkbox--negative:checked::before, .page--dark .dropdown-item input[type=checkbox]:checked::before {
  color: rgb(var(--color-lightest));
  z-index: 2;
}
input[type=checkbox].checkbox--negative:checked::after, .page--dark .dropdown-item input[type=checkbox]:checked::after {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(var(--color-darkest));
  z-index: 1;
  content: "";
}
.custom-checkbox {
  position: relative;
}
.custom-checkbox input {
  position: absolute;
  top: 2px;
}
.custom-checkbox .custom-control-label {
  padding-left: 26px;
}
.custom-checkbox .custom-control-label a {
  margin-inline: 0;
}
.form-actions {
  padding-top: var(--spacing-6);
}
@media (min-width: 576px) {
  .form-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media (max-width: 1023px) {
  .form-actions > * {
    width: 100%;
    margin-bottom: var(--spacing-4);
    text-align: center;
    justify-content: center;
  }
}
/* Tables */
table {
  font-size: var(--14px);
  width: 100%;
  min-width: 100%;
  border-collapse: separate;
  -webkit-overflow-scrolling: touch;
}
table, tr, td {
  padding: 0;
  border: none;
  border-spacing: 0;
}
th {
  padding-block-end: var(--spacing-4);
  padding-inline-end: var(--spacing-2);
  font-weight: var(--font-weight-semibold);
  text-align: left;
  vertical-align: bottom;
  border-bottom: 1px solid rgb(var(--color-foreground));
}
th sup {
  font-size: var(--12px);
  font-weight: var(--font-weight-medium);
  color: rgb(var(--color-gray-700));
}
td {
  padding-inline-end: var(--spacing-2);
  padding-block: var(--spacing-2);
  vertical-align: top;
  border-bottom: 1px solid rgb(var(--color-foreground));
}
td:last-child {
  padding-inline-end: 0;
}
td .product-pin {
  float: right;
}
.scrollable-table {
  overflow-x: auto;
}
.scrollable-table td, .scrollable-table th {
  padding-block: var(--spacing-3) var(--spacing-1);
  padding-inline: var(--spacing-5);
  line-height: 1.3;
}
.scrollable-table td.has--min-width, .scrollable-table th.has--min-width {
  min-width: 200px;
}
.scrollable-table th {
  padding-block-end: var(--spacing-3);
}
.scrollable-table:not(.has--thumbs) th:first-child,
.scrollable-table:not(.has--thumbs) td:first-child {
  padding-block: var(--spacing-2);
  padding-inline: 0 var(--spacing-5);
}
@media (max-width: 1199px) {
  .scrollable-table:not(.has--thumbs) th:first-child,
.scrollable-table:not(.has--thumbs) td:first-child {
    position: sticky;
    width: 100%;
    left: 0;
    background-color: rgb(var(--color-lightest));
    z-index: 1;
  }
}
.scrollable-table tr.has--thumb th:first-child,
.scrollable-table tr.has--thumb td:first-child.table-thumb {
  min-width: var(--spacing-7);
  max-width: var(--spacing-8);
  padding-inline: 0;
}
@media (max-width: 1199px) {
  .scrollable-table tr.has--thumb th:first-child,
.scrollable-table tr.has--thumb td:first-child.table-thumb {
    position: static;
    background: transparent;
  }
}
tr.has--thumb td {
  vertical-align: middle;
}
tr.has--thumb .table-thumb {
  width: calc(var(--spacing-8) + var(--spacing-2));
}
/* Organisms */
/* ================================================== */
:root {
  --flyout-menu-background: rgb(var(--color-darkest));
  --flyout-menu-color: rgb(var(--color-lightest));
}
.account-toggle-wrapper {
  position: relative;
}
@media (min-width: 1024px) {
  .account-toggle-wrapper {
    display: flex;
    align-items: stretch;
    align-self: stretch;
  }
}
@media (min-width: 1024px) {
  .account-toggle-wrapper.is--open {
    background: var(--flyout-menu-background);
    color: var(--flyout-menu-color);
  }
  .account-toggle-wrapper.is--open .nav-item {
    color: var(--flyout-menu-color);
  }
  .account-toggle-wrapper.is--open .nav-item:hover::after, .account-toggle-wrapper.is--open .nav-item::after {
    display: none;
  }
}
.account-toggle-wrapper .account-icon {
  position: relative;
}
.account-toggle-wrapper .account-icon .link-badge {
  top: -8px;
  left: 20px;
}
.account-toggle {
  position: relative;
}
.nav--homepage .account-toggle-wrapper .link-badge {
  filter: invert(100%);
}
.nav-panel--account.is--open hr {
  margin-block: var(--spacing-4);
  color: var(--flyout-menu-color);
}
.nav-panel--account.is--open .account-profile-snapshot.has--image {
  display: flex;
  align-items: center;
  gap: var(--spacing-4);
}
.nav-panel--account.is--open .account-profile-snapshot.has--image img {
  aspect-ratio: 1/1;
  width: 64px;
  height: auto;
  object-fit: cover;
}
.nav-panel--account.is--open .pinlist-count {
  display: flex;
  align-items: center;
  margin-block-start: var(--spacing-3);
  text-decoration: none;
  color: currentColor;
}
.nav-panel--account.is--open .pinlist-count > *:not(:last-child) {
  margin-inline-end: var(--spacing-1);
}
.nav-panel--account.is--open p {
  margin-block: var(--spacing-6);
}
.nav-panel--account.is--open p.account-name {
  margin-block: 0;
  line-height: 1.2;
}
.nav-panel--account.is--open .btn--login {
  margin-block-end: var(--spacing-4);
}
.nav-panel--account.is--open .link {
  font-size: var(--14px);
}
.nav-panel--account.is--open .nav-list:last-of-type {
  margin-block-end: var(--spacing-5);
}
.nav-panel--account.is--open .nav-list .nav-item {
  padding: 0;
  text-transform: none;
  color: rgb(var(--nav-panel-account-color));
}
.nav-panel--account.is--open .nav-list .nav-item::after {
  display: none;
}
.nav-panel--account.is--open .nav-list .nav-link {
  display: inline-flex;
  align-items: center;
  font-size: var(--16px);
  color: rgb(var(--nav-panel-account-color));
}
.nav-panel--account.is--open .nav-list .nav-link .badge {
  margin-inline-start: var(--spacing-2);
}
.actions-list {
  margin-top: var(--spacing-6);
  padding: var(--spacing-5) 0;
  list-style: none;
  border-top: 1px solid rgb(var(--color-foreground));
}
.actions-list-item {
  display: flex;
  padding: var(--spacing-2) 0;
}
.actions-list-item > div {
  display: flex;
}
.actions--showmore {
  padding-block-start: var(--spacing-9);
  text-align: center;
}
.autocomplete {
  position: relative;
}
.autocomplete-results-wrapper {
  position: absolute;
  top: calc(100% - 1px);
  left: calc(var(--spacing-4) * -1);
  width: calc(100% + var(--spacing-4) * 2);
  padding-inline: var(--spacing-4);
  overflow: hidden;
  background-color: rgb(var(--color-darkest));
  z-index: var(--zindex-autocomplete);
  box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0.3);
}
.autocomplete-results {
  margin: 0;
  padding: var(--spacing-2) 0 var(--spacing-4);
  max-height: 320px;
  width: 100%;
  color: rgb(var(--color-lightest));
  list-style: none;
  overflow-y: auto;
}
.autocomplete-results:empty {
  display: none;
}
.autocomplete-result {
  padding-block-start: var(--spacing-1);
  padding-block-end: var(--spacing-2);
  cursor: pointer;
}
.autocomplete--globalsearch {
  text-align: left;
  padding-bottom: var(--spacing-2);
}
.autocomplete--globalsearch .autocomplete-results-wrapper {
  padding-inline: 0;
  left: 0;
  background-color: rgb(var(--color-lightest));
  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2);
}
.autocomplete--globalsearch .autocomplete-results {
  max-height: 460px;
  padding-block: 0;
  color: rgb(var(--color-darkest));
}
.autocomplete--globalsearch .autocomplete-results-group {
  padding-block: var(--spacing-4);
}
.autocomplete--globalsearch .autocomplete-results-group + .autocomplete-results-group {
  border-top: 1px solid rgb(var(--color-gray-600));
}
.autocomplete--globalsearch .autocomplete-results-group-header {
  padding-inline: var(--spacing-4);
}
@media (min-width: 576px) {
  .autocomplete--globalsearch .autocomplete-results-group-header {
    display: flex;
    justify-content: space-between;
  }
}
.autocomplete--globalsearch .autocomplete-results-group-header .badge {
  margin-top: -2px;
}
.autocomplete--globalsearch .autocomplete-results-group-header .link {
  white-space: nowrap;
}
.autocomplete--globalsearch .autocomplete-results-group-title-wrapper {
  display: flex;
  align-items: center;
  padding-bottom: var(--spacing-1);
}
.autocomplete--globalsearch .autocomplete-results-group-title {
  margin-right: var(--spacing-3);
}
.autocomplete--globalsearch .autocomplete-result {
  display: block;
  padding-inline: var(--spacing-4);
  width: 100%;
  text-align: left;
}
.autocomplete--globalsearch .autocomplete-result:hover {
  background-color: rgb(var(--color-gray-100));
}
.autocomplete--globalsearch .autocomplete-no-results {
  padding-block: var(--spacing-7);
  text-align: center;
}
.autocomplete--globalsearch .loader-wrapper {
  padding-block: var(--spacing-3);
  font-size: var(--16px);
}
.autocomplete--globalsearch .loader {
  padding-block: var(--spacing-4);
  grid-template-columns: 40px 1fr;
}
.autocomplete--globalsearch .loader .loader-animation {
  transform: scale(0.5) translateX(-50%);
}
.modal .autocomplete--globalsearch {
  z-index: 100002;
}
.modal .autocomplete--globalsearch .autocomplete-results-wrapper {
  width: 100%;
}
.search-global-wrapper.is--dark .autocomplete-results-wrapper {
  background-color: rgb(var(--color-darkest));
}
.search-global-wrapper.is--dark .autocomplete-results {
  color: rgb(var(--color-lightest));
}
.search-global-wrapper.is--dark .autocomplete-result:hover {
  background-color: rgb(var(--color-gray-900));
}
.search-global-wrapper.is--dark .badge--pill {
  color: rgb(var(--color-darkest));
  background-color: rgb(var(--color-lightest));
}
:root {
  --color-breadcrumb: var(--color-gray-700);
}
.breadcrumb {
  margin-block-end: var(--spacing-3);
  font-size: var(--font-size-sm);
  color: rgb(var(--color-breadcrumb));
}
.breadcrumb-items {
  margin: 0;
  padding: 0;
}
.breadcrumb-item {
  display: inline-block;
}
.breadcrumb-item:not(:first-child)::before {
  display: inline-block;
  padding-inline: var(--spacing-2);
  content: "|";
}
.breadcrumb-link {
  text-decoration: none;
}
.breadcrumb-link, .breadcrumb-link:visited {
  color: currentColor;
}
.browser-count {
  display: flex;
  align-items: center;
}
.browser-count .badge {
  margin-right: var(--spacing-2);
}
.card {
  position: relative;
}
.card-action {
  position: static;
}
.card-action::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
}
.card--hero {
  position: relative;
  display: flex;
  flex-direction: column;
}
.card--hero .card-body {
  padding-block-start: var(--spacing-5);
}
.card--hero .card-title + .card-action {
  margin-block-start: var(--spacing-2);
}
.card--hero .link--cta::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  content: "";
  z-index: 1;
}
@media (min-width: 768px) {
  .card--hero.is--wide {
    flex-direction: row;
  }
  .card--hero.is--wide .card-body {
    min-width: calc(50% + var(--spacing-6));
    flex: 0 0 calc(50% + var(--spacing-6));
    align-self: center;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .card--hero.is--wide .card-body {
    padding-inline-start: var(--spacing-4);
    padding-inline-end: calc(var(--spacing-4) * 2);
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .card--hero.is--wide .card-body {
    padding-inline-start: var(--spacing-8);
    padding-inline-end: calc(var(--spacing-10) * 2);
  }
}
@media (min-width: 768px) {
  .card--hero.is--wide img {
    width: calc(50% - var(--spacing-6));
  }
}
@media (min-width: 768px) {
  .card--hero.is--wide .cta-image img {
    width: 100%;
  }
}
@media (min-width: 768px) {
  .card--hero.is--wide.is--reversed {
    flex-direction: row-reverse;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .card--hero.is--wide.is--reversed .card-body {
    padding-inline-start: calc(var(--spacing-4) * 2);
    padding-inline-end: var(--spacing-4);
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .card--hero.is--wide.is--reversed .card-body {
    padding-inline-start: calc(var(--spacing-10) * 2);
    padding-inline-end: var(--spacing-8);
  }
}
.card--inset .card-body {
  padding-inline: var(--spacing-5);
}
@media (min-width: 768px) {
  .card--inset .card-body {
    padding-inline: var(--spacing-8);
  }
}
.card--overlap .card-body {
  margin-block-start: calc(var(--spacing-7) * -1);
}
.card--overlap .card-title {
  position: relative;
}
.card--overlap.has--tags .card-body {
  margin-block-start: calc((var(--spacing-7) + var(--spacing-5)) * -1);
}
.card--highlight .card-body {
  min-height: 290px;
}
.card--highlight .card-body::after {
  position: absolute;
  top: 0;
  inset-inline-start: 0;
  bottom: 0;
  width: 40%;
  background: rgb(var(--color-accent-500));
  content: "";
  z-index: -1;
}
@media (min-width: 768px) {
  .card--highlight.is--wide .card-body {
    display: flex;
    flex-direction: column;
    height: 100%;
    align-self: start;
    justify-content: center;
    min-height: 350px;
  }
  .card--highlight.is--wide .card-body::after {
    height: 100%;
  }
  .card--highlight.is--wide.is--reversed .card-body::after {
    inset-inline-start: auto;
    inset-inline-end: 0;
  }
}
.card--product .product-pin {
  margin-block-start: var(--spacing-4);
  color: rgb(var(--color-product-pin));
}
.card--product.is--wide .product-subtitle {
  margin-top: var(--spacing-3);
}
.card--product.is--wide .product-count {
  margin-top: var(--spacing-5);
}
.card--image .product-pin {
  --icon-dimension: var(--spacing-6);
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--icon-dimension);
  height: var(--icon-dimension);
  background-color: rgba(var(--color-lightest), 0.4);
}
.card--image .has--card-image-title {
  display: flex;
  justify-content: space-between;
}
.card--image .image-actions {
  margin-top: var(--spacing-3);
}
.card--box .card-body {
  padding: var(--spacing-6);
}
@media (min-width: 768px) {
  .card--box .card-body {
    padding: var(--spacing-7);
  }
}
@media (min-width: 1024px) {
  .card--box .card-body {
    padding: var(--spacing-8);
  }
}
.card--box .card-title + .card-action {
  margin-block-start: var(--spacing-6);
}
.card--cta {
  color: rgb(var(--color-background));
  background-color: rgb(var(--color-foreground));
}
.card--accent {
  color: rgb(var(--color-darkest));
  background-color: rgb(var(--color-accent-500));
}
.card-tags {
  position: relative;
  z-index: 1;
}
.card--dark {
  color: rgb(var(--color-lightest));
  background-color: rgb(var(--color-darkest));
}
.card--dark .card-body {
  padding: var(--spacing-7);
}
.card--dark .card-title {
  margin-bottom: var(--spacing-4);
}
.card--dark a {
  color: rgb(var(--color-lightest));
}
.product-section--ceiling {
  padding-block: var(--spacing-8) var(--spacing-10);
}
.product-section--ceiling .product-section-header {
  max-width: 600px;
  margin: 0 auto var(--spacing-7);
}
.product-section--ceiling .product-section-header .description {
  margin-block-start: var(--spacing-5);
}
.product-section--ceiling .ceiling-grid {
  font-size: var(--14px);
  line-height: var(--22px);
}
.product-section--ceiling .ceiling-grid header {
  display: none;
}
@media (min-width: 768px) {
  .product-section--ceiling .ceiling-grid header {
    display: grid;
    grid-template-columns: 3fr 5fr;
    gap: var(--spacing-6);
    padding-bottom: var(--spacing-2);
    font-weight: var(--font-weight-semibold);
  }
}
.product-section--ceiling .ceiling-grid-option {
  display: grid;
  align-items: start;
  gap: var(--spacing-3);
  padding-block-end: var(--spacing-3);
  border-top: 1px solid rgb(var(--color-darkest));
}
.product-section--ceiling .ceiling-grid-option.is--centered {
  align-items: center;
}
.product-section--ceiling .ceiling-grid-option.is--centered .ceiling-grid-products {
  padding-block-start: var(--spacing-2);
}
@media (min-width: 768px) {
  .product-section--ceiling .ceiling-grid-option {
    grid-template-columns: 3fr 5fr;
    gap: var(--spacing-6);
  }
}
.product-section--ceiling .ceiling-grid-group {
  position: relative;
  padding-block-start: var(--spacing-2);
  display: flex;
  align-items: center;
  gap: var(--spacing-4);
}
.product-section--ceiling .ceiling-grid-group .thumb-large {
  position: absolute;
  top: 50%;
  left: 32px;
  width: 200px;
  border: 1px solid rgb(var(--color-darkest));
  transform: translate(-50%, -50%);
  transition: opacity 0.4s ease-out;
  opacity: 0;
  z-index: -1;
  background-color: #FFF;
}
@media screen and (max-width: 1340px) {
  .product-section--ceiling .ceiling-grid-group .thumb-large {
    left: 0;
    transform: translateY(-50%);
  }
}
.product-section--ceiling .ceiling-grid-group .thumb-large:is(:hover, :focus) {
  opacity: 1;
  z-index: 10;
}
.product-section--ceiling .ceiling-grid-group .thumb-large::after {
  position: absolute;
  bottom: 0;
  left: -1px;
  padding-block: var(--spacing-1);
  padding-inline: var(--spacing-2);
  background-color: rgb(var(--color-darkest));
  color: rgb(var(--color-lightest));
  content: attr(data-title);
  transform: translateY(100%);
  z-index: 10;
}
.product-section--ceiling .ceiling-grid-group .thumb {
  width: 64px;
  height: 64px;
  aspect-ratio: 1;
  border: 1px solid rgb(var(--color-gray-400));
  object-fit: cover;
  background-color: #FFF;
}
.product-section--ceiling .ceiling-grid-group .thumb-action {
  margin: 0;
  padding: 0;
  border: none;
  cursor: pointer;
}
.product-section--ceiling .ceiling-grid-group .thumb-action:is(:hover, :focus) + .thumb-large {
  opacity: 1;
  z-index: 10;
}
.product-section--ceiling .ceiling-grid-product-item {
  display: grid;
  grid-template-columns: auto 1fr;
  padding-block: var(--spacing-2);
  border-top: 1px solid rgb(var(--color-darkest));
  text-decoration: none;
  transition: background-color 0.2s ease-out;
}
.product-section--ceiling .ceiling-grid-product-item:first-child {
  border: 0;
}
.product-section--ceiling .ceiling-grid-product-item:is(:hover, :focus) {
  background: rgb(var(--color-gray-100));
}
.product-section--ceiling .ceiling-grid-product-item:is(:hover, :focus) ::before {
  display: none;
}
.product-section--ceiling .ceiling-grid-product-item .link {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  color: rgb(var(--color-darkest));
  font-weight: var(--font-weight-semibold);
  align-items: start;
}
.product-section--ceiling .ceiling-grid-product-item .link .link-text {
  padding-block-start: 3px;
}
.product-section--ceiling .ceiling-grid-product-mandatory {
  justify-self: end;
}
.product-section--ceiling .ceiling-grid-product-empty {
  display: flex;
  align-items: center;
  height: 100%;
}
.cluster {
  border-block-end: 1px solid rgb(var(--color-gray-300));
}
.cluster-subfamily__title {
  font-size: var(--16px);
  font-weight: var(--font-weight-regular);
  font-family: var(--font-family-base);
}
.cluster-subfamily__grid {
  display: grid;
  gap: var(--spacing-7);
  padding-block: var(--spacing-4);
}
@media (min-width: 768px) {
  .cluster-subfamily__grid {
    grid-template-columns: 2fr 3fr;
  }
}
.cluster-subfamily__images {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-5);
}
.cluster-subfamily__images img {
  border: 1px solid rgb(var(--color-gray-300));
}
.cluster-subfamily__image--technical img {
  background-color: rgb(var(--color-lightest));
}
.cluster-subfamily__definitions {
  margin: 0;
  border-block-end: 1px solid rgb(var(--color-gray-300));
}
.cluster-subfamily__definitions > div {
  display: flex;
  justify-content: space-between;
  padding-block: 6px;
  padding-inline: 8px;
  border-block-start: 1px solid rgb(var(--color-gray-300));
}
.cluster-subfamily__definitions dt {
  font-weight: var(--font-weight-semibold);
  color: rgb(var(--color-darkest));
}
.cluster-subfamily__swatches {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-inline: 8px;
}
.cluster-subfamily__swatches .product-swatches {
  padding-block: var(--12px);
}
.cluster-subfamily__swatches .swatch {
  --swatch-size: 24px;
}
.cluster-subfamily__table .more-products__thead th {
  padding: var(--spacing-2);
  line-height: 1.3;
  background-color: rgb(var(--color-accent-300));
  vertical-align: top;
}
.cluster-subfamily__table th,
.cluster-subfamily__table td {
  text-align: right;
  border-bottom: 1px solid rgb(var(--color-gray-300));
}
.cluster-subfamily__table th:first-child,
.cluster-subfamily__table th:first-child .table-head__label,
.cluster-subfamily__table td:first-child,
.cluster-subfamily__table td:first-child .table-head__label {
  text-align: left;
  justify-content: flex-start;
}
.cluster-subfamily__table .subfamily-table__cell--product .btn {
  font-weight: 600;
  font-size: var(--14px);
  color: rgb(var(--color-darkest));
  line-height: 1.2;
}
.cluster-subfamily__table .table-head__label {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.cluster-subfamily__table .table-head__label-text span {
  display: inline-block;
  text-wrap: balance;
}
.cluster-subfamily__table .icon-sort.icon--asc {
  --icon-bottom: rgb(var(--color-darkest));
}
.cluster-subfamily__table .icon-sort.icon--desc {
  --icon-top: rgb(var(--color-darkest));
}
.collapse .collapse__trigger {
  display: flex;
  width: 100%;
  height: 100%;
}
.collapse .collapse__content {
  display: none;
  height: calc(100dvh - var(--panel-header-height) - var(--panel-footer-height) - var(--num-collapses) * var(--spacing-7));
  overflow-y: auto;
  padding: var(--spacing-5);
}
.collapse .collapse__content.is--open {
  display: grid;
  grid-auto-rows: min-content;
  gap: var(--spacing-5);
}
@keyframes compareSlideIn {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}
.compare-panel {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 375px;
  max-width: 100vw;
  padding: var(--spacing-5);
  color: rgb(var(--color-darkest));
  background-color: rgb(var(--color-lightest));
  border-inline-start: 1px solid rgb(var(--color-darkest));
  z-index: var(--zindex-panel);
  transform: translateX(100%);
  animation: compareSlideIn 0.32s ease-out forwards;
}
.compare-panel-header {
  display: flex;
}
.compare-panel-header .btn {
  margin-inline-start: auto;
  flex-shrink: 0;
}
.compare-panel-header-title {
  padding-inline-end: var(--spacing-2);
}
.compare-panel-list {
  margin-block-start: var(--spacing-6);
}
.compare-panel-footer {
  padding-block-start: var(--spacing-4);
  border-block-start: 1px solid rgb(var(--color-foreground));
}
.compare-panel-actions .btn + .btn {
  margin-inline-start: var(--spacing-2);
}
.compare-header {
  margin-block-end: var(--spacing-8);
}
@media (min-width: 768px) {
  .compare-header {
    display: grid;
    grid-template-columns: 3fr 9fr;
  }
}
.compare-header .compare-header-title {
  margin-block-end: var(--spacing-6);
}
.compare-header .compare-header-title h1 {
  margin-block-end: var(--spacing-5);
}
@media (min-width: 768px) {
  .compare-header .compare-header-title h1 {
    margin-block-end: var(--spacing-6);
  }
}
.compare-header-products {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: var(--spacing-4);
}
@media (min-width: 1024px) {
  .compare-header-products {
    grid-template-columns: repeat(3, 1fr);
    column-gap: var(--spacing-8);
  }
}
@media (max-width: 1023px) {
  .compare-header-products .compare-product:nth-child(3n) {
    display: none;
  }
}
.compare-body-header {
  padding-block-end: var(--spacing-5);
}
.compare-result {
  padding-block: var(--spacing-2);
  border-block-start: 1px solid rgb(var(--color-foreground));
}
@media (min-width: 768px) {
  .compare-result {
    display: grid;
    grid-template-columns: 3fr 9fr;
  }
}
.no-compare-result {
  padding: var(--spacing-5);
  text-align: center;
}
.compare-result-values {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: var(--spacing-4);
}
@media (min-width: 1024px) {
  .compare-result-values {
    grid-template-columns: repeat(3, 1fr);
    column-gap: var(--spacing-8);
  }
}
@media (max-width: 1023px) {
  .compare-result-values .compare-result-value:nth-child(3n) {
    display: none;
  }
}
.compare-property {
  font-weight: var(--font-weight-bold);
}
.custom-filter__reset {
  font-size: var(--font-size-base);
}
.custom-filter-group {
  padding: var(--spacing-2) var(--spacing-4) var(--spacing-5);
}
.custom-filter-group + .custom-filter-group {
  border-block-start: 1px solid rgb(var(--color-gray-300));
}
.custom-filter-group__title {
  padding-block-end: var(--spacing-2);
  font-family: var(--font-family-base);
  font-weight: var(--font-weight-semibold);
}
.custom-filter-group__option {
  margin-block-start: 0;
  padding-block: var(--spacing-1);
}
.discover-group {
  margin-block: var(--spacing-9);
  position: relative;
}
@media (min-width: 1024px) {
  .discover-group {
    margin-block-end: var(--spacing-10);
    padding-block-end: var(--spacing-6);
  }
}
.discover-group .discover-group-header {
  max-width: 600px;
  margin-inline: auto;
  text-align: center;
}
@media (min-width: 1024px) {
  .discover-group .discover-group-header {
    padding-block-start: var(--spacing-5);
  }
}
.discover-group .discover-group-header .discover-title {
  margin-bottom: var(--spacing-5);
}
.discover-group .discover-group-content {
  position: relative;
  margin-block-start: var(--spacing-9);
}
.discover-group .discover-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--spacing-8);
}
@media (min-width: 1024px) {
  .discover-group .discover-list {
    flex-direction: row;
  }
}
@media (min-width: 1200px) {
  .discover-group .discover-list {
    gap: var(--spacing-9);
  }
}
.discover-group .discover-list a {
  color: inherit;
  text-decoration: none;
}
.discover-group .discover-list .discover-item {
  color: rgb(var(--color-gray-600));
  transition: color 0.4s ease-out;
}
.discover-group .discover-list .discover-item h3 {
  position: relative;
  z-index: 9;
}
.discover-group .discover-list .discover-item:hover, .discover-group .discover-list .discover-item:active {
  color: rgb(var(--color-darkest));
}
.discover-group .discover-list .discover-item:hover h3, .discover-group .discover-list .discover-item:active h3 {
  z-index: 11;
  mix-blend-mode: difference;
  color: rgb(var(--color-lightest));
}
.discover-group .discover-group-image {
  position: fixed;
  width: 25vw;
  object-fit: contain;
  transform-origin: center;
  transform: translateX(-50%) translateY(-50%);
  z-index: 8;
  opacity: 0;
  transition: opacity 0.2s ease-out;
  pointer-events: none;
}
.discover-group .discover-group-image.is--visible {
  z-index: 10;
  opacity: 1;
}
.discover-group .discover-group-image.is--moving {
  transition: all 0.6s ease-out;
}
@media (max-width: 767px) {
  .discover-group .discover-group-image {
    display: none;
  }
}
.download-center-cta {
  margin-top: var(--spacing-9);
  padding: var(--spacing-5) 0 var(--spacing-7);
  background: rgb(var(--color-gray-100));
}
@media (min-width: 768px) {
  .download-center-cta {
    padding: var(--spacing-8) 0 var(--spacing-9);
  }
}
@media (min-width: 768px) {
  .download-center-cta > .container, .page--project-overview .download-center-cta > .overview-header {
    display: grid;
    gap: var(--spacing-4);
    grid-template-columns: 1fr 1fr;
    align-items: center;
  }
}
@media (min-width: 768px) {
  .download-center-cta .nav-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
.download-center-cta .cta-item {
  display: flex;
  align-items: center;
  margin-top: var(--spacing-5);
}
@media (min-width: 768px) {
  .download-center-cta .cta-item {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0;
  }
  .download-center-cta .cta-item .icon {
    width: var(--32px);
    height: var(--32px);
  }
}
.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
}
.embed-responsive::before {
  display: block;
  content: "";
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.embed-responsive--21by9::before {
  padding-top: 42.8571428571%;
}
.embed-responsive--16by9::before {
  padding-top: 56.25%;
}
.embed-responsive--4by3::before {
  padding-top: 75%;
}
.embed-responsive--1by1::before {
  padding-top: 100%;
}
.empty {
  max-width: 33.3333333333%;
  margin: 0 auto;
  text-align: center;
}
.empty-message {
  margin-block-start: var(--spacing-4);
}
.filters {
  display: none;
}
@media (min-width: 1024px) {
  .filters {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    column-gap: var(--spacing-5);
  }
}
@media (min-width: 1024px) {
  .is--north-america .filters {
    display: flex;
    justify-content: center;
  }
  .is--north-america .filters .filter {
    width: 220px;
  }
}
.filters-header {
  padding-block-end: var(--spacing-5);
  text-align: center;
}
@media (min-width: 768px) {
  .filters-header {
    padding-block-end: var(--spacing-8);
  }
}
.filters-description {
  padding-block-start: var(--spacing-5);
}
.filters-advanced {
  display: none;
  position: relative;
  padding-top: var(--spacing-6);
  z-index: 1;
}
.filters-advanced:has(.dropdown.is--open) {
  z-index: 1002;
}
.filters-advanced::after {
  position: absolute;
  top: 0;
  right: 0;
  width: var(--spacing-6);
  height: var(--spacing-8);
  content: "";
  background-color: rgb(var(--color-accent-500));
}
@media (min-width: 1024px) {
  .filters-advanced {
    display: block;
  }
  .filters-advanced .filters-grid {
    display: grid;
    grid-template-columns: 1fr 4fr;
  }
}
@media (min-width: 1024px) {
  .filters-advanced .filters-content {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: start;
    column-gap: var(--spacing-5);
  }
}
.filters-tabs-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
@keyframes modal-in-reversed {
  0% {
    opacity: 0;
    transform: translate(-50%, 0%);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
}
@media (max-width: 1199px) {
  .modal--filters {
    animation: modal-in-reversed 0.3s ease;
  }
}
.modal--filters .container, .modal--filters .page--project-overview .overview-header, .page--project-overview .modal--filters .overview-header {
  padding-inline: 0;
}
.modal--filters .bg-lightest {
  margin-inline: calc(var(--spacing-5) / -1);
  padding-block: var(--spacing-5);
  padding-inline: var(--spacing-5);
}
@media (min-width: 768px) {
  .modal--filters .bg-lightest {
    margin-inline: calc(var(--spacing-6) / -1);
    padding-block: var(--spacing-6);
    padding-inline: var(--spacing-6);
  }
}
.modal--filters .filters, .modal--filters .filters-advanced {
  display: block;
}
.modal--filters .filters::after, .modal--filters .filters-advanced::after {
  display: none;
}
.modal--filters .filters-header {
  display: none;
}
.modal--filters .filters-reset {
  padding-block-start: var(--spacing-3);
  text-align: center;
}
.modal--filters .filters-reset .link--neutral {
  color: inherit;
}
.modal--filters .filters-tabs-list {
  margin-block-end: var(--spacing-5);
}
.modal--filters .filters-apply {
  position: sticky;
  bottom: var(--spacing-4);
  width: 100%;
  margin-block-start: var(--spacing-6);
  z-index: 100;
}
.modal--filters .filter.dropdown.is--open {
  z-index: 101;
}
.btn--mobile-filters:active, .btn--mobile-filters:focus {
  --btn-bg: rgb(var(--color-accent-500));
}
.filters-advanced-v2 .btn--reset {
  padding-inline: 0;
}
.filter-tags {
  display: flex;
  gap: var(--10px);
  padding-block-start: var(--spacing-5);
}
.filter-tags .btn--reset-filters {
  display: none;
}
.filter-tags__cluster-tag-title {
  text-transform: none;
}
.filter-tags__cluster-tag-value {
  font-weight: var(--font-weight-semibold);
}
.footer-primary {
  --footer-bg: rgb(var(--color-darkest));
  --footer-color: rgb(var(--color-lightest));
  margin-top: var(--spacing-10);
  background: var(--footer-bg);
  color: var(--footer-color);
}
.footer-navigation {
  padding: 0 0 var(--spacing-7) var(--spacing-4);
}
@media (min-width: 768px) {
  .footer-navigation {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-6);
    padding: 0 0 var(--spacing-8) var(--spacing-5);
  }
}
@media (min-width: 1200px) {
  .footer-navigation {
    grid-template-columns: repeat(4, 1fr);
    padding: 0 0 var(--spacing-8) var(--spacing-8);
  }
}
.footer-doormat {
  padding-top: var(--spacing-4);
}
@media (max-width: 767px) {
  .footer-doormat:first-of-type {
    padding-top: var(--spacing-7);
  }
}
@media (min-width: 768px) {
  .footer-doormat {
    padding-top: var(--spacing-8);
  }
}
.footer-doormat .nav-title {
  margin-bottom: var(--spacing-4);
}
@media (min-width: 768px) {
  .footer-doormat .nav-title {
    margin-bottom: var(--spacing-6);
  }
}
.footer-doormat .nav-link {
  margin-bottom: var(--spacing-3);
  font-size: var(--14px);
}
@media (min-width: 768px) {
  .footer-doormat .nav-link {
    font-size: var(--16px);
  }
}
.footer-subscribe {
  margin-top: var(--spacing-6);
  padding: var(--spacing-5);
  background: rgb(var(--color-accent-500));
  color: rgb(var(--color-accent-contrast));
}
@media (min-width: 768px) {
  .footer-subscribe {
    padding: var(--spacing-7) var(--spacing-6);
    margin-top: var(--spacing-7);
  }
}
@media (min-width: 1200px) {
  .footer-subscribe {
    margin-top: 0;
    padding: var(--spacing-8) var(--spacing-7);
  }
}
.footer-subscribe .footer-subscribe-title {
  margin-bottom: var(--spacing-6);
}
.footer-social-links {
  display: inline-flex;
  gap: var(--spacing-4);
  padding: var(--spacing-4);
  background: var(--footer-color);
}
.footer-social-links a, .footer-social-links a:link, .footer-social-links a:visited {
  --icon-background: var(--footer-color);
  display: block;
  line-height: 1;
  color: var(--footer-bg);
  transition: color 0.5s ease-out;
}
.footer-social-links a .icon, .footer-social-links a:link .icon, .footer-social-links a:visited .icon {
  --icon-background: var(--footer-color);
}
.footer-social-links a:hover, .footer-social-links a:active {
  color: rgb(var(--color-accent-900));
}
.footer-utilities {
  display: flex;
  flex-direction: column-reverse;
  padding: var(--spacing-6) 0 var(--spacing-8) var(--spacing-3);
  color: rgb(var(--color-gray-400));
  font-size: var(--14px);
}
@media (min-width: 768px) {
  .footer-utilities {
    padding: var(--spacing-7) 0 var(--spacing-8) var(--spacing-5);
  }
}
@media (min-width: 1200px) {
  .footer-utilities {
    display: grid;
    grid-template-columns: 1fr 3fr;
    padding: var(--spacing-8) 0 var(--spacing-8) var(--spacing-8);
  }
}
.footer-utilities a, .footer-utilities a:link, .footer-utilities a:visited, .footer-utilities button {
  margin: 0;
  padding: 0;
  color: rgb(var(--color-gray-400));
  text-decoration: none;
  background: none;
  border: none;
  cursor: pointer;
}
.footer-utilities a:hover, .footer-utilities a:focus, .footer-utilities button:hover, .footer-utilities button:focus {
  outline: 0;
  color: rgb(var(--color-lightest));
}
.footer-legal-menu {
  margin-block-end: var(--spacing-1);
}
@media (min-width: 768px) {
  .footer-legal-menu {
    display: flex;
    gap: var(--spacing-4);
    margin-block-end: var(--spacing-2);
  }
}
.footer-legal-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 768px) {
  .footer-legal-menu ul {
    display: flex;
    gap: var(--spacing-4);
  }
}
.grouped-category {
  --num-grid-columns: 1;
  --grid-category-offset: 0;
  --grid-category-mobile-offset: -1;
}
@media (min-width: 576px) {
  .grouped-category {
    --num-grid-columns: 3;
  }
}
@media (min-width: 1024px) {
  .grouped-category {
    --num-grid-columns: 4;
    --grid-category-offset: 1;
    --grid-category-mobile-offset: 0;
  }
}
@media (min-width: 1200px) {
  .grouped-category {
    --num-grid-columns: 5;
  }
}
.grouped-category--grid .grouped-category__row {
  display: grid;
  grid-template-columns: repeat(var(--num-grid-columns), 1fr);
  margin-block-end: var(--spacing-8);
  gap: var(--spacing-5);
}
.grouped-category--grid .grouped-category__row[data-item-count="4"] .grouped-category__view-more {
  display: none;
}
@media (max-width: 1199px) {
  .grouped-category--grid .grouped-category__row[data-item-count="4"] .grouped-category__view-more {
    display: inline-flex;
  }
}
@media (max-width: 1199px) {
  .grouped-category--grid:not(.grouped-category--show-all) .grouped-category__row .grouped-category__item:nth-child(n+4 of .grouped-category__grid-item) {
    display: none;
  }
}
.grouped-category--grid.grouped-category--show-all .grouped-category__view-more:not(.always-visible) {
  display: none;
}
.grouped-category__header {
  padding: var(--spacing-5);
  background-color: rgb(var(--color-accent-700));
}
@media (min-width: 576px) and (max-width: 1023px) {
  .grouped-category__header {
    grid-column: span 3;
  }
}
@media (min-width: 768px) {
  .grouped-category__header {
    display: flex;
  }
}
@media (min-width: 1024px) {
  .grouped-category__header {
    flex-direction: column;
  }
}
.grouped-category__header .grouped-category__family-count {
  display: none;
}
@media (min-width: 1024px) {
  .grouped-category__header .grouped-category__family-count {
    display: block;
  }
}
.grouped-category__header .grouped-category__title {
  hyphens: auto;
  font-size: var(--20px);
  line-height: var(--24px);
}
.grouped-category__header .grouped-category__view-more {
  margin-block: var(--spacing-4);
}
@media (max-width: 1023px) {
  .grouped-category__header .grouped-category__view-more:not(.always-visible) {
    display: none;
  }
}
.grouped-category__header .grouped-category__header-link {
  margin-inline-start: 0;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .grouped-category__header .grouped-category__header-link {
    margin-inline-start: auto;
  }
}
.grouped-category__header-link {
  display: flex;
  margin-block-start: auto;
  font-size: var(--14px);
}
@media (min-width: 1024px) {
  .grouped-category__header-link {
    display: block;
    max-width: 60%;
  }
}
.grouped-category__header-link .link-text {
  text-wrap: pretty;
}
.grouped-category__header-link .icon {
  display: block;
}
.grouped-category__grid-item {
  position: relative;
  display: flex;
  flex-direction: column;
}
.grouped-category__grid-item.is--active::after {
  --active-line-height: 3px;
  content: "";
  position: absolute;
  top: calc(100% + var(--spacing-5) - var(--active-line-height));
  left: 0;
  width: 100%;
  height: var(--active-line-height);
  background-color: rgb(var(--color-darkest));
}
.grouped-category__grid-item .grouped-category__item-title {
  margin-block-start: var(--spacing-2);
}
.grouped-category__grid-item .grouped-category__item-title,
.grouped-category__grid-item .grouped-category__item-title-suffix {
  --item-font-size: var(--16px);
}
.grouped-category__grid-item .grouped-category__item-title-suffix {
  display: block;
}
@media (min-width: 576px) {
  .grouped-category__grid-item .product-info {
    display: grid;
    height: 100%;
  }
}
@media (max-width: 575px) {
  .grouped-category__grid-item {
    display: grid;
    grid-template-columns: var(--spacing-10) auto;
    gap: var(--spacing-4);
    align-items: center;
  }
}
.grouped-category--list {
  --num-grid-columns: 1;
}
.grouped-category--list .grouped-category__title {
  margin-block-end: var(--spacing-2);
  padding-block: var(--spacing-4);
}
.grouped-category--list .grouped-category__product {
  position: relative;
  display: grid;
  grid-template-columns: var(--spacing-8) auto;
  gap: var(--spacing-4);
}
.grouped-category__list-item {
  display: grid;
  grid-template-columns: 6fr 2fr 2fr 2fr;
  padding-block: var(--spacing-2);
  border-top: 1px solid rgb(var(--color-darkest));
}
.grouped-category__list-item-title {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  gap: var(--spacing-1);
}
.grouped-category__more-trigger {
  --btn-padding-x: 0;
  --btn-padding-y: 0;
  position: static;
  font-family: var(--font-family-base);
  font-size: var(--14px);
  text-transform: none;
  color: rgb(var(--color-darkest));
  white-space: nowrap;
  background-color: transparent;
  margin-block-start: var(--spacing-2);
}
.grouped-category__row {
  position: relative;
}
@media (min-width: 576px) {
  .grouped-category__row .more-products {
    grid-column: span var(--num-grid-columns);
    order: calc(var(--num-grid-columns) + 1);
  }
}
.grouped-category__row .btn--more-results {
  margin-block-start: var(--spacing-5);
  grid-column: span var(--num-grid-columns);
  justify-content: center;
  padding: var(--spacing-2);
  color: rgb(var(--color-lightest));
  background-color: rgb(var(--color-darkest));
  z-index: 10;
}
@media (min-width: 1024px) {
  .grouped-category__row .btn--more-results {
    position: absolute;
    top: 92px;
    right: calc(var(--spacing-3) * -1);
    margin-block-start: 0;
  }
  .grouped-category__row .btn--more-results .btn-text {
    display: none;
  }
}
.grouped-category__item-title,
.grouped-category__aggregation-title {
  --item-font-size: var(--14px);
  font-family: var(--font-family-base);
  font-size: var(--item-font-size);
  line-height: var(--20px);
  font-weight: var(--font-weight-semibold);
  color: rgb(var(--color-darkest));
}
.grouped-category__item-title .link,
.grouped-category__aggregation-title .link {
  font-size: var(--item-font-size);
}
.grouped-category__aggregation-description {
  font-size: var(--14px);
}
.grouped-category__related {
  margin-block-start: var(--spacing-10);
  padding-block: var(--spacing-8) var(--spacing-10);
  background-color: rgb(var(--color-accent-100));
}
.grouped-category__related-items {
  display: grid;
  gap: var(--spacing-5);
}
.grouped-category--grid .grouped-category__related-items {
  grid-template-columns: repeat(var(--num-grid-columns), 1fr);
}
@media (max-width: 1023px) {
  .grouped-category--grid .grouped-category__related-items .grouped-category__header {
    flex-direction: column;
    gap: var(--spacing-5);
    grid-column: span var(--num-grid-columns);
  }
  .grouped-category--grid .grouped-category__related-items .grouped-category__related-item-header {
    display: flex;
    justify-content: space-between;
  }
  .grouped-category--grid .grouped-category__related-items .grouped-category__view-more {
    margin-block-start: 0;
  }
  .grouped-category--grid .grouped-category__related-items .grouped-category__header-link {
    margin-inline-start: 0;
  }
}
@media (min-width: 1024px) {
  .grouped-category--grid .grouped-category__related-item {
    min-height: 320px;
  }
}
.grouped-category--list + .grouped-category--list {
  margin-block-start: var(--spacing-8);
}
.grouped-category--list .grouped-category__aggregation-description {
  margin-block-end: 0;
}
@media (max-width: 1023px) {
  .grouped-category--list .grouped-category__product {
    position: static;
    padding-block-end: var(--spacing-2);
    border-bottom: 1px solid rgb(var(--color-gray-400));
  }
  .grouped-category--list .grouped-category__list-item {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    padding-bottom: calc(var(--spacing-7) + var(--spacing-2));
  }
  .grouped-category--list .grouped-category__aggregation {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding-block: var(--spacing-1);
    border-bottom: 1px solid rgb(var(--color-gray-400));
  }
  .grouped-category--list .grouped-category__aggregation-description {
    text-align: right;
  }
  .grouped-category--list .grouped-category__more-trigger {
    position: absolute;
    bottom: var(--spacing-5);
    left: 0;
  }
}
.grouped-category--list .grouped-category__related-items {
  grid-template-columns: 1fr;
  gap: 0;
}
.grouped-category--list .grouped-category__related-item {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-5);
  grid-column: unset;
  padding: var(--spacing-5) 0;
  background-color: transparent;
}
.grouped-category--list .grouped-category__related-item .grouped-category__title {
  padding-block: 0;
  margin-block: 0;
  font-size: var(--font-size-h3);
}
.grouped-category--list .grouped-category__related-item + .grouped-category__related-item {
  border-block-start: 1px solid rgb(var(--color-darkest));
}
.grouped-category--list .grouped-category__related-item .grouped-category__view-more {
  margin-block: 0;
}
.grouped-category--list .grouped-category__related-item-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.grouped-category--list .grouped-category__header-link {
  display: flex;
  margin-inline-start: 0;
}
.grouped-category--list .grouped-category__view-more {
  margin-block-start: var(--spacing-2);
}
.grouped-category--list.grouped-category--show-all .grouped-category__view-more:not(.always-visible) {
  display: none;
}
.product {
  margin-block-end: var(--spacing-4);
}
@media (max-width: 767px) {
  .product:not(.is--highlight) {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: var(--spacing-4);
  }
}
@media (min-width: 768px) {
  .product {
    display: block;
  }
}
.product.is--highlight .product-header {
  margin-top: var(--spacing-4);
}
@media (min-width: 768px) {
  .product.is--highlight {
    grid-column-start: span 2;
    grid-row-start: span 2;
  }
  .product.is--highlight .product-header {
    grid-template-columns: calc(50% + var(--spacing-6)) 1fr;
  }
}
.product-image {
  position: relative;
}
.product-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
}
.product-pin {
  position: relative;
  display: flex;
  cursor: pointer;
  z-index: 5;
}
.product-pin.is--active {
  color: rgb(var(--color-product-pin-active)) !important;
}
.product-badge {
  position: absolute;
  left: 0;
  bottom: 0;
}
.product-badge .badge {
  display: block;
}
.product-header {
  display: grid;
  align-content: center;
  grid-template-columns: 1fr 40px;
}
@media (min-width: 768px) {
  .product-header {
    padding-top: var(--spacing-4);
  }
}
.product-link {
  text-decoration: none;
  color: currentColor;
}
.product-action,
.product-count {
  margin-block-start: var(--spacing-4);
  color: rgb(var(--color-gray-700));
}
.product-count {
  position: relative;
  padding: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  z-index: 10;
}
.product-section {
  margin-block-end: var(--spacing-7);
}
@media (min-width: 768px) {
  .product-section.is--contained {
    margin: 0 auto;
    margin-bottom: var(--spacing-9);
    max-width: 80vw;
  }
}
@media (min-width: 1024px) {
  .product-section.is--contained {
    max-width: 60vw;
  }
}
.product-section .nav--tabs {
  margin-block-start: var(--spacing-8);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.product-section .tab {
  padding-top: var(--spacing-8);
}
.product-section-item + .product-section-item {
  margin-block-start: var(--spacing-7);
}
@media (min-width: 768px) {
  .product-section-item + .product-section-item {
    margin-block-start: var(--spacing-8);
  }
}
.product-section-bg {
  padding-block-start: var(--spacing-7);
  background: var(--gradient-radial-accent-100);
}
@media (min-width: 768px) {
  .product-section-bg .product-section-header {
    margin-left: auto;
    margin-right: auto;
    max-width: 80vw;
  }
}
@media (min-width: 1024px) {
  .product-section-bg .product-section-header {
    max-width: 60vw;
  }
}
.product-section-body tr {
  transition: background-color 0.3s;
}
.product-section-body tr:hover {
  background: rgb(var(--color-gray-100));
}
.product-section-body td {
  border-top: 1px solid rgb(var(--color-foreground));
  border-bottom: none;
}
.product-section-header {
  margin-block-end: var(--spacing-5);
  text-align: center;
}
.product-section-footer {
  padding-block-start: var(--spacing-6);
  text-align: center;
}
.product-section-title + .product-section-description {
  margin-block-start: var(--spacing-5);
}
.product-section-description + .btn {
  margin-block-start: var(--spacing-5);
}
.product-section-disclaimer {
  margin-block-start: var(--spacing-7);
  padding-block-start: var(--spacing-2);
  border-top: 1px solid rgb(var(--color-foreground));
}
.product-documents .product-section-body {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.product-documents .product-section-body > * {
  display: flex;
  justify-content: center;
  width: 25%;
}
.product-finish {
  padding-block-end: var(--spacing-2);
  border-top: 1px solid rgb(var(--color-darkest));
}
.product-finish-header {
  display: flex;
  padding-block-start: var(--spacing-2);
}
.product-finish-header .link--info {
  margin-inline-start: auto;
}
.product-document {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-block-end: var(--spacing-6);
  color: rgb(var(--color-lightest));
}
.product-document-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin-block-end: var(--spacing-2);
  background-color: rgb(var(--color-darkest));
}
.product-document-label {
  color: rgb(var(--color-darkest));
}
.product-grid {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--spacing-5);
}
@media (min-width: 768px) {
  .product-grid .product-grid-item {
    flex: 0 0 50%;
  }
}
@media (min-width: 1024px) {
  .product-grid .product-grid-item {
    flex: 0 0 25%;
  }
}
.product-properties {
  margin-block-start: var(--spacing-6);
}
.productdetail-info .product-properties {
  padding-block-start: var(--spacing-4);
  border-top: 1px solid rgb(var(--color-foreground));
}
.productdetail-info .product-properties:empty {
  display: none;
}
.product-awards {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.product-awards-item {
  display: inline-block;
  width: 100px;
  margin-inline-end: var(--spacing-5);
  margin-block-end: var(--spacing-5);
}
@media (max-width: 1023px) {
  .product-awards-item {
    width: 80px;
  }
}
.product-awards-item.is--portrait {
  width: auto;
}
.product-awards-item.is--portrait img {
  height: 100px;
  width: auto;
}
@media (max-width: 1023px) {
  .product-awards-item.is--portrait img {
    height: 80px;
  }
}
.publication {
  border: 1px solid transparent;
}
.publication-front,
.publication-back {
  background: rgb(var(--color-lightest));
}
.publication-front {
  padding: 0;
  margin: 0;
  border: none;
  display: block;
  width: 100%;
  cursor: pointer;
}
.publication-back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: var(--spacing-4) var(--spacing-6);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
@media (min-width: 576px) {
  .publication-back {
    padding: var(--spacing-4) var(--spacing-5);
  }
}
.publication-close {
  position: absolute;
  top: var(--spacing-4);
  right: var(--spacing-4);
}
.publication-close:focus-visible {
  outline: auto;
}
.publication-content {
  max-height: 100%;
  overflow: auto;
}
.publication-language {
  padding-inline-end: var(--spacing-5);
  margin-block-end: var(--spacing-2);
}
.publication-actions {
  padding: 0;
  margin: 0 0 var(--spacing-4);
  list-style: none;
}
.publication-actions:last-child {
  margin-bottom: 0;
}
.publication-actions li {
  margin-bottom: var(--spacing-2);
}
.publication-actions li:last-child {
  margin-bottom: 0;
}
.publication-actions .link {
  display: flex;
  --link-icon-gap: var(--spacing-2);
  color: rgb(var(--color-gray-700));
}
.publication-actions .icon {
  margin-top: -1px;
}
.publication-visual {
  border-bottom: 1px solid rgb(var(--color-darkest));
  padding-block: var(--spacing-5);
  position: relative;
}
.publication-figure {
  height: 260px;
  margin: 0 auto;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  aspect-ratio: 1;
  object-fit: contain;
}
@media (min-width: 576px) {
  .publication-figure {
    height: 200px;
  }
}
@media (min-width: 1024px) {
  .publication-figure {
    height: 260px;
  }
}
@media (min-width: 1400px) {
  .publication-figure {
    height: 320px;
  }
}
.publication-figure img {
  max-block-size: 100%;
  max-inline-size: max-content;
  block-size: 100%;
  inline-size: auto;
}
.publication-title {
  font-family: var(--font-family-base);
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  font-weight: var(--font-weight-regular);
  padding-block: var(--spacing-2);
}
.publication.is--active {
  border-color: var(--color-darkest);
}
.publication.is--active .publication-front {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.publication.is--active .publication-back {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.widget-cta--navigation {
  padding: var(--spacing-6);
  background: rgb(var(--color-lightest));
  color: rgb(var(--color-darkest));
}
.widget-cta--navigation .widget-cta-title {
  margin-bottom: var(--14px);
}
.widget-cta--navigation .widget-cta-description {
  margin-bottom: var(--spacing-5);
  font-size: var(--font-size-sm);
}
.widget-cta--navigation p:last-of-type {
  margin-bottom: 0;
}
.widget-cta-darkest {
  background: rgb(var(--color-darkest));
  color: rgb(var(--color-lightest));
}
.cta-title {
  margin-bottom: var(--spacing-5);
}
.cta-description {
  margin-bottom: var(--spacing-7);
}
.cta-description p:last-of-type {
  margin-bottom: 0;
}
.cta-body {
  padding: var(--spacing-8);
}
.cta--product {
  margin-right: calc(var(--spacing-4) * -1);
  margin-bottom: var(--spacing-4);
  padding: var(--spacing-7);
}
@media (min-width: 768px) {
  .cta--product {
    margin-right: 0;
    aspect-ratio: 1/1;
  }
}
.cta--darkest {
  color: rgb(var(--color-lightest));
  background: rgb(var(--color-darkest));
}
.modal-cookies {
  top: 0;
  bottom: 0;
  left: 0;
  right: auto;
  width: 100%;
  height: 100%;
  height: 100dvh;
  margin: 0;
  max-width: 100%;
  max-height: none;
  padding: 0;
  animation: none;
  border-radius: 0;
  background-color: transparent;
  background-image: radial-gradient(69.07% 43.59% at 6.93% -1.41%, rgba(0, 0, 0, 0.7) 0%, #000000 100%);
  color: rgb(var(--color-lightest));
  transform: none;
  overflow-x: hidden;
}
@media (min-width: 768px) {
  .modal-cookies {
    background-image: radial-gradient(32.29% 44.12% at 20.14% 15.72%, rgba(0, 0, 0, 0.3) 0%, #000000 100%);
  }
}
@media (min-width: 1200px) {
  .modal-cookies {
    background-image: radial-gradient(68.87% 58.69% at 20.14% 15.72%, rgba(0, 0, 0, 0.3) 0%, #000000 100%);
  }
}
.modal-cookies .modal-header {
  padding: 0;
}
.modal-cookies .modal-header .modal-close {
  position: absolute;
  inset-block-start: var(--spacing-5);
  inset-inline-end: var(--spacing-5);
}
.modal-cookies::backdrop, .modal-cookies + .backdrop {
  display: none;
  background: transparent;
}
.modal-cookies .modal-body {
  display: flex;
  height: 100%;
}
.modal-cookies-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  padding-inline-start: var(--spacing-4);
  width: 100%;
  overflow: hidden;
}
@media (min-width: 768px) {
  .modal-cookies-grid {
    padding-inline-start: var(--spacing-5);
  }
}
@media (max-width: 1399px) {
  .modal-cookies-grid {
    grid-template-columns: 1fr;
  }
}
.cookie-modal-info {
  position: relative;
  order: 2;
}
@media (max-width: 1399px) {
  .cookie-modal-info {
    order: 1;
    z-index: auto;
  }
}
.cookie-warning-disclaimer {
  padding-block-start: var(--spacing-9);
  padding-inline-end: var(--spacing-4);
  max-width: calc(var(--spacing-10) + 380px);
}
@media (min-width: 768px) {
  .cookie-warning-disclaimer {
    max-width: calc(var(--spacing-10) + 410px);
    padding-inline-start: var(--spacing-10);
    padding-inline-end: 0;
  }
}
@media (min-width: 1200px) {
  .cookie-warning-disclaimer {
    padding-block-start: var(--spacing-10);
  }
}
@media (max-width: 1399px) {
  .cookie-warning-disclaimer {
    max-width: calc(var(--spacing-10) + 410px);
  }
}
.cookie-warning-button-group {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-5);
  align-items: flex-start;
}
.cookie-warning-button-group .link {
  margin-bottom: var(--spacing-5);
}
.cookie-options {
  position: fixed;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  transform: translateX(100%);
  color: rgb(var(--color-darkest));
  transition: transform 0.6s ease;
  z-index: 10;
}
@media (max-width: 1399px) {
  .cookie-options {
    position: absolute;
    height: auto;
    width: 100vw;
    transform: translateY(-100%);
    z-index: auto;
  }
}
.cookie-options .cookie-options-content {
  position: relative;
  z-index: 10;
  padding-block: var(--spacing-7) var(--spacing-7);
  padding-inline: var(--spacing-4);
  opacity: 0;
  transition: opacity 1s ease;
  transition-delay: 0.3s;
  max-height: 100vh;
  overflow-y: auto;
  /* Hide scrollbars */
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}
.cookie-options .cookie-options-content::-webkit-scrollbar {
  display: none;
}
@media (min-width: 576px) {
  .cookie-options .cookie-options-content {
    padding-block-start: var(--spacing-9);
  }
}
@media (min-width: 768px) {
  .cookie-options .cookie-options-content {
    padding-inline: var(--spacing-10) 0;
    max-width: calc(var(--spacing-10) + 410px);
  }
}
@media (min-width: 1200px) {
  .cookie-options .cookie-options-content {
    padding-block-start: var(--spacing-10);
    max-width: calc(var(--spacing-10) + 380px);
  }
}
@media screen and (max-height: 600px) {
  .cookie-options .cookie-options-content {
    padding-block-end: var(--spacing-9);
  }
}
.cookie-options::before {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: rgb(var(--color-accent-500));
  content: "";
}
.cookie-options.is--open {
  transform: translateX(0);
  padding-bottom: 10%;
}
@media (max-width: 767px) {
  .cookie-options.is--open {
    overflow-x: hidden;
  }
}
@media (max-width: 1399px) {
  .cookie-options.is--open {
    transform: translateY(0);
    z-index: 200;
  }
  .cookie-options.is--open + .cookie-warning-disclaimer {
    position: relative;
  }
}
.cookie-options.is--open .cookie-options-content {
  opacity: 1;
}
.cookie-options.is--open::before {
  animation: cookies--preference-fade 1.6s cubic-bezier(0.02, 0.2, 0, 1) forwards;
}
@media (max-width: 1399px) {
  .cookie-options.is--open::before {
    left: 0;
    right: calc(var(--spacing-5) / -1);
    width: auto;
    animation: cookies--preference-fade-vertical 1.6s cubic-bezier(0.02, 0.2, 0, 1) forwards;
  }
}
.cookie-options .btn--close-options {
  position: absolute;
  inset-block-start: var(--spacing-4);
  inset-inline-end: var(--spacing-4);
  z-index: 100;
}
@media (max-width: 767px) {
  .cookie-options .btn--close-options {
    padding: var(--spacing-4);
    inset-block-start: 0;
    inset-inline-end: 0;
    background: rgba(var(--color-accent-500), 0.9);
    width: 100%;
    backdrop-filter: blur(3px);
    justify-content: flex-end;
  }
}
@media (min-width: 768px) {
  .cookie-options .btn--close-options {
    inset-block-start: var(--spacing-5);
    inset-inline-end: var(--spacing-5);
  }
}
.cookie-options .cookie-warning-button-group {
  margin-top: var(--spacing-5);
  gap: var(--spacing-3);
}
.cookie-modal-scramble {
  position: relative;
  order: 1;
  width: 100%;
  max-width: 50vw;
  padding-block-start: 95px;
  padding-inline-start: var(--spacing-3);
  font-family: var(--font-family-heading);
  font-weight: var(--font-weight-bold);
  line-height: 0.95;
  z-index: 30;
}
@media (max-width: 1399px) {
  .cookie-modal-scramble {
    order: 2;
    max-width: 100vw;
    padding-inline-end: 95px;
    overflow: hidden;
    z-index: auto;
  }
}
.cookie-modal-scramble .fitted-text-base, .cookie-modal-scramble .fitted-text-double {
  opacity: 0;
  transition: opaciy 0.3s;
}
.cookie-modal-scramble .fitted-text-base[style], .cookie-modal-scramble .fitted-text-double[style] {
  opacity: 1;
}
.cookie-modal-scramble .fitted-text-base {
  clip-path: path("M1200 528.38 0 425.72V208.53l1199.34-96.43.66 416.28zM0 1048.91l1200 102.67V735.86L0 827.16v221.75zM1200 1362.99 0 1454.29v221.75l1200 102.67v-415.72z");
}
.cookie-modal-scramble .fitted-text-double {
  position: absolute;
  top: 95px;
  left: -0.2%;
  clip-path: path("M1199.34 0H0v208.53l1199.34-96.43V0zM0 425.72v401.44l1200-91.3V528.38L0 425.72zM0 1454.29l1200-91.3v-211.41L0 1048.91v405.38zM0 1880h1200v-101.29L0 1676.04V1880z");
}
.cookies-item {
  --cookie-border-color: rgb(var(--color-darkest));
  --cookie-switch-inactive-color: rgb(var(--color-accent-900));
  --cookie-switch-active-color: rgb(var(--color-darkest));
  --cookie-switch-bullet: rgb(var(--color-lightest));
  position: relative;
  padding: var(--spacing-5) 0;
  border-bottom: 1px solid var(--cookie-border-color);
}
.cookies-item [role=switch] {
  border: 0;
  border-radius: 34px;
  display: inline-flex;
  justify-content: space-between;
  flex-shrink: 0;
  padding: 2px;
  width: 40px;
  background: var(--cookie-switch-inactive-color);
  transition: 0.2s background;
}
.cookies-item [role=switch] > span {
  position: relative;
  border-radius: 50%;
  display: inline-block;
  height: 15px;
  width: 15px;
}
.cookies-item [role=switch]:hover {
  cursor: pointer;
}
.cookies-item [role=switch][aria-checked=true] {
  background: var(--cookie-switch-active-color);
}
.cookies-item [role=switch][aria-checked=true]:disabled {
  --cookie-switch-bullet: rgb(var(--color-accent-700));
  background: var(--cookie-switch-active-color);
}
.cookies-item [role=switch][aria-checked=false] :first-child,
.cookies-item [role=switch][aria-checked=true] :last-child {
  background: var(--cookie-switch-bullet);
}
.cookies-item-button {
  position: absolute;
  right: 0;
  top: 15px;
}
.cookies-item-text {
  padding-right: 50px;
}
.modal-cookies .modal-footer {
  flex-direction: column;
}
@keyframes cookies--preference-fade {
  from {
    width: calc(100% - 15vw);
  }
  to {
    width: 110%;
  }
}
@keyframes cookies--preference-fade-vertical {
  from {
    height: calc(100% - 15vw);
  }
  to {
    height: 100%;
  }
}
:root {
  --header-height: 58px;
  --header-collapse-margin: -56px;
  --header-zindex: 100;
}
@media (min-width: 768px) {
  :root {
    --header-height: 72px;
  }
}
@keyframes openMenu {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.header-primary {
  display: none;
  z-index: var(--header-zindex);
  opacity: 0;
}
.header-primary.is--open {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: var(--header-zindex);
  animation: openMenu 0.6s ease-out forwards;
}
@media (max-width: 1023px) {
  .header-primary .nav-primary .nav-item--content {
    font-size: var(--16px);
    line-height: var(--20px);
  }
}
@media (min-width: 1024px) {
  .header-primary {
    will-change: top;
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: right;
    padding-left: var(--spacing-8);
    opacity: 1;
    transition: top 0.5s ease-out, opacity 0.4s;
  }
}
@media (min-width: 1024px) {
  .header-primary.collapse {
    top: var(--header-collapse-margin);
  }
}
.header-primary.open {
  top: 0;
}
.header-primary.is--mobile-panel-open {
  z-index: 1001;
}
@media (min-width: 1024px) {
  .nav--default .header-primary.collapse {
    top: var(--header-collapse-margin) !important;
  }
}
.btn--main-menu-open {
  position: fixed;
  top: var(--spacing-4);
  right: var(--spacing-4);
  color: rgb(var(--color-lightest));
  z-index: calc(var(--header-zindex) - 1);
  mix-blend-mode: difference;
}
@media (min-width: 768px) {
  .btn--main-menu-open {
    right: var(--spacing-5);
  }
}
@media (min-width: 1024px) {
  .btn--main-menu-open {
    display: none;
  }
}
@media (min-width: 1024px) {
  /* Styles to avoid visual hard jumps when switching between home and regeular collapse navigation */
  @keyframes loadHeader {
    from {
      transform: translateY(-130%);
    }
    to {
      transform: translateY(0);
    }
  }
  body:not(.is-panel-open) .nav--homepage .nav-primary {
    transform: translateY(0);
  }
  .nav--default:not(.is--panel-open) .header-primary .is--hidden {
    transform: translateY(-130%);
    animation: 0.5s loadHeader ease-out forwards;
    opacity: 1;
  }
  .nav--default.is--panel-open .header-primary {
    top: -100px;
  }
  /* Home navigation */
  .nav--homepage {
    overscroll-behavior: none;
    scroll-behavior: auto;
  }
  .nav--homepage .header-primary {
    position: fixed;
    inset-block-start: 0;
    inset-inline-end: 0;
    padding: 0;
    transform: translateY(var(--nav-top-offset, 0));
    transition: none;
  }
  .nav--homepage .nav-primary {
    --nav-height-offset: 0px;
    --nav-current-offset: var(--nav-height-offset);
    --nav-opacity-offset: 1;
    display: block;
    background: transparent;
    opacity: 1;
  }
}
@media (min-width: 1024px) and (min-width: 1024px) {
  .nav--homepage .nav-primary {
    width: 50%;
  }
}
@media (min-width: 1024px) and (min-width: 1200px) {
  .nav--homepage .nav-primary {
    width: 40%;
  }
}
@media (min-width: 1024px) {
  .nav--homepage .nav-primary.is--hidden {
    transform: translateY(-100%);
    opacity: 0;
  }
}
@media (min-width: 1024px) {
  .nav--homepage .nav-list--main {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) and (min-width: 1200px) {
  .nav--homepage .nav-list--main {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .nav--homepage .nav-list--main > li {
    display: flex;
    align-items: stretch;
  }
  .nav--homepage .nav-list--main > li > a {
    width: 100%;
  }
  .nav--homepage .nav-list--main > li:first-child {
    will-change: height;
    grid-column: 1/span 2;
    height: calc(40vh - var(--nav-current-offset));
    min-height: 275px;
  }
}
@media (min-width: 1024px) and (min-width: 1024px) and (max-height: 680px) {
  .nav--homepage .nav-list--main > li:first-child {
    min-height: 256px;
  }
}
@media (min-width: 1024px) {
  .nav--homepage .nav-list--main > li:nth-child(2) {
    will-change: height;
    grid-row: 2/span 3;
    height: calc(40vh - var(--nav-current-offset));
    min-height: 275px;
  }
}
@media (min-width: 1024px) and (min-width: 1024px) and (max-height: 680px) {
  .nav--homepage .nav-list--main > li:nth-child(2) {
    min-height: 256px;
  }
}
@media (min-width: 1024px) {
  .nav--homepage .nav-list--main > li:first-child .nav-item--main, .nav--homepage .nav-list--main > li:nth-child(2) .nav-item--main {
    display: flex;
    align-items: flex-end;
    font-size: clamp(2rem, 0.37vw + 1.93rem, 2.25rem);
    line-height: clamp(1.5rem, 1.11vw + 1.28rem, 2.25rem);
  }
}
@media (min-width: 1024px) and (min-width: 1200px) {
  .nav--homepage .nav-list--main > li:first-child .nav-item--main, .nav--homepage .nav-list--main > li:nth-child(2) .nav-item--main {
    padding: var(--spacing-6);
  }
}
@media (min-width: 1024px) {
  .nav--homepage .nav-list--main > li:nth-child(n+3) .nav-item--main {
    position: relative;
    padding-top: 0;
    padding-bottom: var(--spacing-4);
    margin-bottom: var(--spacing-7);
    font-size: var(--16px);
    line-height: var(--20px);
  }
  .nav--homepage .nav-list--main > li:nth-child(n+3) .nav-item--main::before {
    position: absolute;
    bottom: 0;
    inset-inline-start: var(--spacing-5);
    width: 38px;
    height: 1px;
    background: rgb(var(--color-darkest));
    content: "";
  }
}
@media (min-width: 1024px) {
  .nav--homepage .nav-list--main > li:nth-child(3) {
    padding-top: var(--spacing-7);
  }
}
@media (min-width: 1024px) and (min-width: 1024px) {
  .nav--homepage .nav-list--main > li .nav-item--content {
    margin-left: 1px;
  }
}
@media (min-width: 1024px) {
  .nav--homepage .nav-list.nav-list--actions {
    position: absolute;
    inset-block-start: 0;
    inset-inline-end: 0;
    height: 72px;
    mix-blend-mode: difference;
  }
  .nav--homepage .nav-list.nav-list--actions .nav-item {
    color: rgb(var(--color-lightest));
  }
}
@media (min-width: 1024px) and (min-width: 1024px) and (max-height: 680px) {
  .nav--homepage .nav-list.nav-list--actions {
    inset-block-start: calc(var(--nav-top-offset) * -1);
  }
  .has--header-collapse .nav--homepage .nav-list.nav-list--actions {
    inset-block-start: 0;
  }
}
@media (min-width: 1024px) {
  .nav--homepage.is--panel-open .nav-list--actions {
    mix-blend-mode: normal;
  }
}
@media (min-width: 1024px) {
  .nav--homepage .nav-panel--account.is--open {
    z-index: 10;
  }
}
.nav-home--mobile, .page--homepage:not(.play-animations) .nav-home--mobile {
  display: none;
}
.nav--homepage .nav-home--mobile {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100vh;
  padding-bottom: var(--spacing-9);
  z-index: 10;
}
@media (min-width: 1024px) {
  .nav--homepage .nav-home--mobile {
    display: none;
  }
}
.nav--homepage .nav-home--mobile .nav-list--main {
  display: grid;
  grid-template-rows: 1fr 1fr 80px 80px;
}
.nav--homepage .nav-home--mobile .nav-item {
  font-family: var(--font-family-heading);
  font-size: var(--32px);
  text-decoration: none;
}
.nav--homepage .nav-home--mobile .nav-item--products {
  --nav-item-bg: linear-gradient(270deg, rgb(var(--color-accent-500)) 0%, rgba(var(--color-accent-500), 0.85) 100%);
  max-width: calc(100vw - 56px);
}
/*keep homepage header after primary for the cascade*/
.image.is--pinnable {
  position: relative;
}
.image.is--pinnable .product-pin {
  --icon-dimension: var(--spacing-6);
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--icon-dimension);
  height: var(--icon-dimension);
}
.page--dark .image.is--pinnable .product-pin {
  color: rgb(var(--color-lightest));
}
.image.is--fluid img {
  width: 100%;
}
.image.is--zoomable {
  position: relative;
  cursor: pointer;
  overflow: hidden;
}
.image.is--zoomable .image-zoom {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  padding: var(--spacing-4);
  color: rgb(var(--color-lightest));
  z-index: 10;
}
.image.is--zoomable .image-zoom .icon {
  transition: transform 0.4s ease-out;
  z-index: 1;
}
.image.is--zoomable .image-zoom::before {
  position: absolute;
  top: 0;
  right: 0;
  width: 160px;
  height: 160px;
  transform: translate(50%, -50%);
  content: "";
  background: radial-gradient(50% 50% at 50% 50%, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
}
.image.is--zoomable:hover .image-zoom .icon, .image.is--zoomable:focus .image-zoom .icon {
  transform: scale(1.2);
}
.image-actions {
  position: relative;
  display: flex;
  justify-content: space-between;
  padding-block: var(--spacing-4);
  z-index: 5;
}
.image-families {
  text-align: right;
}
.image-families[aria-expanded=false] .image-family:nth-child(n+3) {
  display: none;
}
.image-families[aria-expanded=false] .text--less {
  display: none;
}
.image-families[aria-expanded=false] .text--more {
  display: flex;
}
.image-families .btn {
  margin-top: var(--spacing-4);
  padding-inline: 0;
  color: var(--color-foreground);
  background: var(--color-background);
}
.image-families .text--less {
  display: flex;
}
.image-families .text--more {
  display: none;
}
.image-family {
  line-height: 1.625;
}
.image-family .link-text {
  text-wrap: balance;
}
.image-family + .image-family {
  padding-top: var(--spacing-1);
}
.gm-style h3 {
  margin-block-end: var(--spacing-2);
}
.gm-style p:not(:last-child) {
  margin-block-end: var(--spacing-4);
}
.gm-style button {
  top: 4px !important;
  right: 4px !important;
}
.gm-style button span {
  width: 20px !important;
  height: 20px !important;
  margin: 5px !important;
}
.gm-style .text-reset strong {
  text-transform: uppercase;
}
.gm-style .gm-style-iw-c {
  border-radius: 0;
  padding: var(--spacing-5) !important;
  min-width: 280px !important;
}
.gm-style .gm-style-iw-d {
  overflow: auto !important;
}
.gm-style .gm-style-iw-t {
  right: -20px !important;
}
.gm-style .link-booking:not(:last-child) {
  margin-block-end: var(--spacing-4);
}
.gm-style .link--sm {
  margin-top: var(--spacing-1);
}
.gm-style .link-text {
  white-space: nowrap;
  text-overflow: ellipsis;
}
.gm-style .dealer-list-item-readmore {
  padding-block-start: var(--spacing-5);
}
.gm-style .dealer-list-item-readmore:not(:last-child) {
  padding-block-end: var(--spacing-6);
}
.gm-style .link--arrow {
  padding-inline-end: 5px;
}
.language-box .custom-control {
  margin-bottom: var(--spacing-2);
}
.language-box .language-box-submit {
  margin-top: var(--spacing-5);
}
.language-box .tabs-content {
  padding-top: var(--spacing-5);
  min-height: 325px;
}
.language-box .tabs {
  margin: 0;
}
.language-toggle {
  display: grid;
  font-size: var(--12px);
  text-align: right;
}
.language-toggle__language {
  font-size: var(--13px);
  font-weight: 600;
}
.linkinbio-group-title {
  margin-block-end: var(--spacing-7);
}
@media (min-width: 768px) {
  .linkinbio-group-title {
    margin-block-end: var(--spacing-8);
  }
}
@media (min-width: 576px) {
  .linkinbio-group-content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-4);
  }
}
@media (min-width: 768px) {
  .linkinbio-group-content {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-6);
  }
}
@media (min-width: 1024px) {
  .linkinbio-group-content {
    gap: var(--spacing-8);
  }
}
.linkinbio {
  width: 100%;
}
@media (min-width: 576px) {
  .linkinbio {
    width: calc((100% - var(--spacing-7) * 1) * 0.5);
  }
}
@media (min-width: 768px) {
  .linkinbio {
    width: calc((100% - var(--spacing-7) * 2) * 0.3333333333);
  }
}
@media (min-width: 1024px) {
  .linkinbio {
    width: calc((100% - var(--spacing-8) * 3) * 0.25);
  }
}
.linkinbio p:not(:last-child) {
  margin-bottom: var(--spacing-4);
}
.linkinbio-image {
  margin-bottom: var(--spacing-4);
}
@media (min-width: 576px) {
  .linkinbio-image {
    margin-bottom: 0;
  }
}
.nav-primary {
  display: grid;
  width: 100vw;
  min-height: 80vh;
  justify-content: end;
  grid-template-columns: 1fr auto;
  background: rgb(var(--color-lightest));
  transition: opacity 0.4s;
}
@media (min-width: 1024px) {
  .nav-primary {
    grid-template-columns: auto 1fr;
    width: auto;
    min-height: auto;
    grid-column-gap: 15px;
  }
}
@media (min-width: 1200px) {
  .nav-primary {
    grid-column-gap: 40px;
  }
}
.nav-primary .nav-item {
  position: relative;
  display: block;
  font-family: var(--font-family-heading);
  font-size: var(--14px);
  line-height: var(--16px);
  font-weight: var(--font-weight-medium);
  text-decoration: none;
  color: rgb(var(--color-darkest));
}
.nav-list--main {
  --nav-item-bg: rgb(var(--color-lightest));
  --nav-item-color: rgb(var(--color-darkest));
  --nav-item-padding: 20px 24px;
  display: flex;
  justify-content: start;
}
@media (max-width: 1023px) {
  .nav-list--main {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 1fr auto auto;
    align-items: stretch;
    height: 100vh;
    padding-bottom: var(--spacing-9);
  }
  .nav-list--main > li {
    display: flex;
    width: 100%;
    align-items: stretch;
  }
}
@media screen and (max-width: 1023px) and (max-height: 600px) {
  .nav-list--main {
    padding-bottom: var(--spacing-8);
  }
}
@media screen and (max-width: 1023px) and (max-height: 500px) {
  .nav-list--main {
    padding-bottom: var(--spacing-5);
  }
}
.nav-list--main .nav-item {
  position: relative;
  display: block;
  padding: var(--nav-item-padding);
  color: var(--nav-item-color);
  background: var(--nav-item-bg);
}
@media (max-width: 1023px) {
  .nav-list--main .nav-item {
    display: flex;
    align-items: flex-end;
    width: 100%;
  }
}
.nav-list--main .nav-item.nav-item--main:focus-visible {
  outline: 0;
  box-shadow: inset 0 0 2px 5px rgba(0, 0, 0, 0.2);
}
.nav-list--main .nav-item--products, .nav-list--main .nav-item--inspiration {
  --nav-item-padding: 24px;
  font-size: var(--20px);
  line-height: var(--24px);
  text-transform: none;
  font-weight: var(--font-weight-bold);
}
@media (max-width: 1023px) {
  .nav-list--main .nav-item--products, .nav-list--main .nav-item--inspiration {
    font-size: var(--32px);
    line-height: var(--36px);
  }
}
.nav-list--main .nav-item--products {
  --nav-item-bg: rgb(var(--color-accent-700));
  --nav-item-color: rgb(var(--color-accent-contrast));
}
.nav-list--main .nav-item--inspiration {
  --nav-item-bg: rgb(var(--color-darkest));
  --nav-item-color: rgb(var(--color-lightest));
}
.nav-list--main .nav-item--languages {
  --nav-item-bg: rgb(var(--color-darkest));
  --nav-item-color: rgb(var(--color-lightest));
}
@media (min-width: 1024px) {
  .nav-primary:not(.nav--homepage) .nav-item.nav-item--main::after {
    position: absolute;
    left: 0;
    bottom: -8px;
    width: 100%;
    height: 8px;
    background-color: var(--nav-item-bg);
    content: "";
    transform: translateY(-8px);
    transition: transform 0.5s ease-out;
  }
  .nav-primary:not(.nav--homepage) .nav-item.is--active::after, .nav-primary:not(.nav--homepage) .nav-item:hover::after {
    transform: translateY(0);
  }
}
@keyframes animation--nav-hover {
  0% {
    transform: translateY(-4px);
  }
  100% {
    transform: translateY(0);
  }
}
.nav-list.nav-list--actions {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: var(--spacing-6);
  padding-top: var(--spacing-4);
}
@media (min-width: 1024px) {
  .nav-list.nav-list--actions {
    flex-direction: row;
    justify-content: end;
    gap: 0;
    padding-top: 0;
  }
}
.nav-list.nav-list--actions .nav-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: 0 var(--spacing-4);
  font-family: var(--font-family-base);
  line-height: 1;
  color: rgb(var(--color-darkest));
  background: none;
  border: none;
  transition: color 0.4s ease-out;
  cursor: pointer;
}
.nav-list.nav-list--actions .nav-item .icon {
  z-index: 2;
}
.nav-list.nav-list--actions .nav-item::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 4px;
  height: 24px;
  background: currentColor;
  opacity: 1;
  content: "";
  transform: translateX(4px);
  transition: transform 0.25s ease-in;
  z-index: 1;
}
@media (min-width: 1024px) {
  .nav-list.nav-list--actions .nav-item::after {
    top: calc(var(--spacing-5) * -1);
    transform: translateY(-30px);
    right: 16px;
    width: 24px;
    height: 4px;
  }
}
.nav-list.nav-list--actions .nav-item:hover, .nav-list.nav-list--actions .nav-item:focus {
  outline: 0;
}
.nav-list.nav-list--actions .nav-item:hover::after, .nav-list.nav-list--actions .nav-item:focus::after {
  transform: translateX(0);
  opacity: 1;
}
@media (min-width: 1024px) {
  .nav-list.nav-list--actions .nav-item:hover::after, .nav-list.nav-list--actions .nav-item:focus::after {
    animation: animation--nav-hover 0.6s ease-out forwards;
  }
}
@media (min-width: 1024px) {
  .nav-list.nav-list--actions .nav-item.is--active::after {
    animation: none;
  }
}
@media (min-width: 1400px) {
  .nav-list.nav-list--actions .nav-item.nav-item--language::after {
    right: 15px;
  }
}
.nav-list.nav-list--actions .account-toggle-wrapper .nav-item::after {
  top: 0;
}
.nav-list.nav-list--actions .account-toggle-wrapper .nav-item .icon-close {
  display: none;
}
.nav-list.nav-list--actions .account-toggle-wrapper .nav-item .account-icon {
  display: inline-block;
}
@media (min-width: 1024px) {
  .nav-list.nav-list--actions .account-toggle-wrapper .nav-item.is--open {
    color: rgb(var(--nav-panel-account-color));
    background: rgb(var(--nav-panel-account-background));
  }
  .nav-list.nav-list--actions .account-toggle-wrapper .nav-item.is--open::after {
    opacity: 0;
  }
  .nav-list.nav-list--actions .account-toggle-wrapper .nav-item.is--open .account-icon {
    display: none;
  }
  .nav-list.nav-list--actions .account-toggle-wrapper .nav-item.is--open .icon-close {
    display: inline-block;
  }
}
@media (max-width: 1023px) {
  .nav-item--content {
    position: relative;
    padding-bottom: 40px;
  }
  .nav-item--content::after {
    position: absolute;
    left: 24px;
    bottom: 12px;
    width: 38px;
    height: 1px;
    background: currentColor;
    content: "";
  }
}
:root {
  --panel-max-width: calc(100vw - 56px);
  --panel-max-height: 100vh;
  --panel-start-height: calc(var(--panel-max-height) - 15vh);
  --nav-panel-account-color: var(--color-lightest);
  --nav-panel-account-background: var(--color-darkest);
}
@media (min-width: 1024px) {
  :root {
    --panel-max-width: 100vw;
  }
}
@media (min-width: 1200px) {
  :root {
    --panel-max-height: 96vh;
  }
}
/* panel */
.nav-panel {
  --nav-panel-color: rgb(var(--color-darkest));
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  width: var(--panel-max-width);
  height: var(--panel-max-height);
  padding: var(--spacing-8) var(--spacing-4) var(--spacing-5);
  color: var(--nav-panel-color);
  overflow-y: auto;
  overflow-x: hidden;
  z-index: 9998;
}
.nav-panel::before {
  position: fixed;
  top: 0;
  left: 0;
  width: calc(100% - 56px);
  content: "";
  background: linear-gradient(180deg, rgb(var(--color-lightest)) 50%, rgba(var(--color-lightest), 0.9) 100%);
  z-index: -1;
}
@media (max-width: 1199px) {
  .nav-panel {
    /* This will automatically fallback to 100vh in case dynamic viewport height unit (dvh) is not supported */
    height: 100dvh;
  }
  .nav-panel::before {
    position: fixed;
  }
}
@media (max-width: 767px) {
  .nav-panel {
    padding: var(--spacing-8) var(--spacing-4) var(--spacing-8);
  }
}
@media (min-width: 1024px) {
  .nav-panel {
    right: 0;
    width: var(--panel-max-width);
    padding: 72px var(--spacing-4);
    padding-inline-end: 0;
  }
  .nav-panel::before {
    width: 100%;
  }
}
@media (min-width: 1200px) {
  .nav-panel {
    bottom: auto;
    left: var(--spacing-5);
    padding-left: var(--spacing-10);
  }
}
@media (min-width: 1400px) {
  .nav-panel {
    --panel-max-width: calc(100vw - var(--spacing-5));
  }
}
.nav-panel.nav-panel--full {
  padding-right: var(--spacing-7);
}
.nav-panel.is--open {
  display: block;
}
.nav-panel.is--open::before {
  height: var(--panel-max-height);
}
@media (min-width: 1024px) {
  .nav-panel.is--open::before {
    height: var(--panel-start-height);
    animation: animation--nav-panel 1.6s cubic-bezier(0.02, 0.2, 0, 1) forwards;
  }
}
@media (min-width: 1024px) {
  .nav-panel.is--open {
    display: grid;
    grid-template-columns: auto 380px;
  }
  .nav-panel.is--open.nav-panel--full {
    display: block;
  }
}
@media (min-width: 1200px) {
  .nav-panel.is--open {
    grid-template-columns: auto 440px;
  }
  .nav-panel.is--open.nav-panel--full {
    padding-right: var(--spacing-10);
  }
}
.nav-panel.is--closing {
  animation: animation--fadeout 0.3s ease-out forwards;
}
.nav-panel.is--closing::before {
  opacity: 1;
}
.nav-panel .nav-item {
  color: var(--nav-panel-color);
}
.nav-panel .nav-link:focus {
  outline: 0;
}
@media (min-width: 1024px) {
  .nav--homepage .nav-panel:not(.nav-panel--account) {
    top: calc(var(--nav-top-offset, 0) * -1);
  }
}
.nav-panel-close {
  display: flex;
  align-items: center;
  line-height: 1;
  gap: var(--spacing-2);
  position: fixed;
  top: var(--spacing-4);
  left: var(--spacing-4);
  z-index: 5;
}
@media (min-width: 1024px) {
  .nav-panel-close {
    top: var(--spacing-5);
    left: auto;
    right: var(--spacing-6);
    transform: scale(1);
    transition: transform 0.4s ease-out;
  }
  .nav-panel-close:hover, .nav-panel-close:active, .nav-panel-close:focus {
    outline: 0;
    transform: scale(1.2);
  }
}
.nav-panel-title {
  margin-bottom: var(--spacing-6);
}
.nav-panel--products {
  --nav-panel-color: rgb(var(--color-accent-contrast));
}
.nav-panel--products::before {
  background: linear-gradient(180deg, rgb(var(--color-accent-500)) 50%, rgba(var(--color-accent-500), 0.9) 100%);
}
.nav-panel--products .nav-panel-ctas {
  display: block;
}
.nav-panel--products .nav-panel-ctas .widget-cta--navigation {
  max-width: none;
}
.nav-panel--products .nav-panel-ctas .widget-cta--productfinder:not(.has--description) {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.nav-panel--products .nav-panel-ctas .widget-cta--productfinder:not(.has--description) .widget-cta-title {
  margin-block-end: 0;
}
.nav-panel--products-v2 .nav-panel-ctas {
  margin-block-start: var(--spacing-7);
}
@media (min-width: 1024px) {
  .nav-panel--products-v2 .nav-panel-ctas {
    margin-block-start: var(--spacing-5);
    padding-block-start: var(--spacing-9);
  }
}
.nav-panel--search {
  --nav-panel-color: rgb(var(--color-lightest));
  padding-left: var(--spacing-4);
  padding-right: var(--spacing-4);
}
.nav-panel--search::before {
  background: var(--gradient-radial-dark-100);
  background-color: rgb(var(--color-lightest));
}
.nav-panel--search.is--open {
  display: block;
}
.nav-panel--account {
  color: rgb(var(--nav-panel-account-color));
}
.nav-panel--account::before {
  background: rgb(var(--nav-panel-account-background));
}
@media (min-width: 1024px) {
  .nav-panel--account {
    --panel-max-width: 375px;
    --panel-max-height: auto;
    --panel-start-height: auto;
    top: var(--header-height);
    bottom: auto;
    left: auto;
    right: 0;
    padding: var(--spacing-5) var(--spacing-6);
    z-index: -1;
  }
}
.nav-panel--account.is--open {
  display: block;
}
.nav-panel--account.is--open::before {
  animation: none;
  height: 100%;
}
@media (min-width: 1024px) {
  .nav-panel--account.is--open {
    position: absolute !important;
  }
  .nav-panel--account.is--open::before {
    position: absolute;
  }
}
.nav-panel--inspiration {
  --nav-panel-color: rgb(var(--color-lightest));
}
.nav-panel--inspiration::before {
  background: linear-gradient(180deg, rgb(var(--color-darkest)) 50%, rgba(var(--color-darkest), 0.9) 100%);
}
.nav-panel--languages {
  --nav-panel-color: rgb(var(--color-lightest));
}
.nav-panel--languages::before {
  background: linear-gradient(180deg, rgb(var(--color-darkest)) 50%, rgba(var(--color-darkest), 0.9) 100%);
}
.nav-panel--languages .nav-list {
  margin-block-start: var(--spacing-6);
  list-style: none;
}
.nav-panel--languages .nav-list .nav-item {
  padding-inline: 0;
  color: var(--nav-panel-color);
}
.nav-panel--languages .nav-list .nav-item::after {
  display: none;
}
.nav-panel--languages .nav-item .icon {
  position: absolute;
  top: 1px;
  left: calc(var(--spacing-6) * -1);
}
.nav-panel--languages .nav-link {
  position: relative;
  font-size: var(--16px);
  line-height: var(--26px);
  margin-block-end: var(--spacing-4);
  color: currentColor;
}
.nav-panel--languages .nav-panel-navigation--language {
  display: grid;
  gap: var(--spacing-6);
}
@media (max-width: 1199px) {
  .nav-panel--languages .nav-panel-navigation--language {
    padding-left: var(--spacing-6);
  }
}
@media (min-width: 1024px) {
  .nav-panel--languages .nav-panel-navigation--language {
    grid-template-columns: 2fr 1fr;
  }
  .nav-panel--languages .nav-panel-navigation--language .nav-list--international {
    columns: 2;
  }
}
.nav-panel-navigation {
  opacity: 0;
  animation: animation--fadein 0.35s ease-out 0.15s forwards;
}
@media (min-width: 1024px) {
  .nav-panel-navigation {
    padding-top: var(--spacing-6);
  }
}
.nav-panel-navigation ul {
  padding: 0;
  margin: 0;
}
.nav-panel-navigation > ul {
  display: grid;
  grid-template-columns: 1fr;
  grid-row-gap: var(--spacing-7);
}
@media (min-width: 768px) {
  .nav-panel-navigation > ul {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-5);
  }
}
@media (min-width: 1024px) {
  .nav-panel-navigation > ul {
    grid-template-columns: repeat(3, 1fr);
  }
}
.nav-panel-navigation .nav-panel__products {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-5);
  column-gap: var(--spacing-6);
  padding-block-start: var(--spacing-5);
  padding-inline-end: var(--spacing-8);
}
.nav-panel-navigation .nav-panel__products .nav-column--rest {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-6);
}
@media (min-width: 1400px) {
  .nav-panel-navigation .nav-panel__products .nav-column--rest {
    gap: var(--spacing-7);
  }
}
@media (min-width: 1024px) and (max-width: 1399px) {
  .nav-panel-navigation .nav-panel__products {
    grid-template-columns: repeat(2, 1fr);
  }
  .nav-panel-navigation .nav-panel__products .nav-column--rest {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column: span 2;
  }
}
@media (min-width: 1400px) {
  .nav-panel-navigation .nav-panel__products {
    grid-template-columns: repeat(3, 1fr);
  }
}
.nav-panel-navigation .nav-panel__products .nav-title {
  text-decoration: none;
  color: rgb(var(--color-darkest));
}
@media (min-width: 1024px) {
  .nav-panel-navigation .nav-panel__products .nav-nested .nav-link {
    font-size: var(--16px);
  }
}
.nav-panel-navigation .nav-panel__products .nav-item--view-all {
  margin-block: var(--spacing-2) var(--spacing-3);
}
.nav-panel-navigation .nav-panel__products .nav-item--view-all:last-child,
.nav-panel-navigation .nav-panel__products .nav-item--view-all:last-child .nav-link {
  margin-block-end: 0;
}
.nav-panel-navigation .nav-title {
  padding-top: var(--spacing-1);
  margin-bottom: var(--spacing-6);
}
.nav-panel-navigation .nav-item {
  display: block;
  padding: 0;
  background: none;
  text-transform: none;
}
.nav-panel-navigation .nav-link {
  margin-block-end: var(--spacing-3);
}
.nav-panel-navigation--products .nav-panel-title {
  margin-bottom: 0;
}
.nav-panel-navigation--products > .nav-item--view-all {
  margin-block: var(--spacing-2) var(--spacing-3);
}
.nav-panel-ctas {
  margin-top: var(--spacing-5);
  opacity: 1;
}
@media (min-width: 1024px) {
  .nav-panel-ctas {
    transform: translateX(20px);
    animation: animation--movein 0.5s ease-out forwards;
  }
}
@media (min-width: 768px) {
  .nav-panel-ctas {
    display: flex;
    align-items: stretch;
  }
}
@media (min-width: 1024px) {
  .nav-panel-ctas {
    flex-direction: column;
    align-items: flex-end;
    margin-top: 0;
  }
}
.nav-panel-ctas .widget-cta--navigation {
  max-width: 380px;
}
@media (max-width: 1199px) {
  .nav-panel-ctas .widget-cta--navigation {
    max-width: none;
  }
  .nav-panel-ctas .widget-cta--navigation + .widget-cta--navigation {
    flex: 0 0 50%;
  }
}
.nav-panel-ctas .widget-cta--navigation:first-child {
  max-width: none;
  width: 100%;
}
@keyframes animation--nav-panel {
  from {
    height: calc(var(--panel-max-height) - 15vh);
  }
  to {
    height: var(--panel-max-height);
  }
}
@keyframes animation--fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes animation--fadeout {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes animation--movein {
  from {
    transform: translateX(20px);
  }
  to {
    transform: translateX(0);
  }
}
@media (max-width: 1199px) {
  .nav-aside-section {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    padding-top: var(--header-height);
    background: rgb(var(--color-lightest));
    z-index: 10;
  }
  .nav-aside-section::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: var(--header-height);
    background: rgb(var(--color-lightest));
    content: "";
    z-index: 1;
  }
}
@media (max-width: 1023px) {
  .nav-aside-section {
    padding-top: var(--mobile-top-spacing);
    height: var(--mobile-top-spacing);
  }
  .nav-aside-section::before {
    height: var(--mobile-top-spacing);
  }
}
.nav-aside-toggle {
  position: relative;
  background: rgb(var(--color-lightest));
  width: 100vw;
  padding: var(--spacing-2) var(--spacing-5);
  border-width: 1px 0 1px 0;
  border-style: solid;
  border-color: currentColor;
  color: currentColor;
  font-family: var(--font-family-heading);
  font-size: var(--16px);
  line-height: var(--22px);
  text-align: left;
  cursor: pointer;
  z-index: 1;
}
@media (min-width: 1200px) {
  .nav-aside-toggle {
    display: none;
  }
}
.nav-aside-toggle::after {
  position: absolute;
  right: var(--spacing-5);
  top: 50%;
  inset-inline-end: var(--spacing-5);
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-top: 7px solid rgb(var(--color-darkest));
  border-right: 5px solid transparent;
  content: "";
  transform: translate(-50%, -50%);
  transform-origin: center;
}
.nav-aside-toggle .icon {
  display: none;
  position: absolute;
  right: var(--spacing-5);
  top: 50%;
  transform: translateY(-50%);
}
.nav-aside-toggle.is--active {
  color: rgb(var(--color-lightest));
  background: rgb(var(--color-darkest));
  border-color: rgb(var(--color-darkest));
}
.nav-aside-toggle.is--active::after {
  display: none;
}
.nav-aside-toggle.is--active .icon {
  display: block;
}
@keyframes showAccountMenu {
  from {
    display: none;
    opacity: 0;
    transform: translateY(-100%);
  }
  1% {
    display: block;
    opacity: 1;
    transform: translateY(-100%);
  }
  to {
    display: block;
    opacity: 1;
    transform: translateY(0);
  }
}
.nav-aside {
  padding-inline-start: var(--spacing-5);
}
@media (max-width: 1199px) {
  .nav-aside {
    display: none;
    opacity: 0;
    padding-block: var(--spacing-4) var(--spacing-6);
    padding-inline-start: calc(var(--spacing-5) + var(--spacing-4));
    background: rgb(var(--color-darkest));
    color: rgb(var(--color-lightest));
  }
  .nav-aside.is--open {
    display: block;
    opacity: 1;
    animation: showAccountMenu 0.5s ease-out forwards;
    z-index: -1;
  }
  .nav-aside .badge {
    --badge-color: rgb(var(--color-darkest));
    --badge-background: rgb(var(--color-lightest));
  }
}
.nav-aside .nav-list:last-child {
  margin-block-start: var(--spacing-5);
}
.nav-aside .nav-link--main {
  margin-bottom: var(--spacing-3);
  font-family: var(--font-family-heading);
  font-size: var(--13px);
  line-height: var(--24px);
  font-weight: var(--font-weight-medium);
  text-transform: uppercase;
}
.nav-aside .nav-item {
  margin-bottom: var(--spacing-4);
  line-height: 1;
}
.nav-aside .nav-link {
  position: relative;
  margin-bottom: 0;
}
.nav-aside .nav-link.active {
  overflow: visible;
}
.nav-aside .nav-link.active::before {
  visibility: hidden;
}
.nav-aside .nav-link.active::after {
  position: absolute;
  top: 50%;
  inset-inline-start: calc(var(--spacing-4) / -1);
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-left: 7px solid currentColor;
  border-bottom: 5px solid transparent;
  content: "";
  transform: translateY(-50%);
}
@keyframes modal-in {
  0% {
    opacity: 0;
    transform: translate(-50%, -70%);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
}
body.modal-open,
body:has(dialog[open]) {
  overflow: hidden;
}
dialog {
  display: block;
  position: fixed;
  top: 50%;
  left: 50%;
  right: auto;
  bottom: auto;
  margin: auto;
  padding: var(--spacing-4) var(--spacing-5);
  /* polyfill widths, use prefixes to be sure, not autogenerated */
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  /* end polyfill widths */
  min-width: 320px;
  max-width: 600px;
  max-height: 95vh;
  text-align: left;
  background: rgb(var(--color-lightest));
  border: 0;
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  transform-origin: center;
  transform: translate(-50%, -50%);
  animation: modal-in 0.5s ease-out;
  overflow: visible;
  z-index: var(--zindex-dialog);
}
@media (max-width: 767px) {
  dialog {
    max-width: 95vw;
  }
}
@media (min-width: 768px) {
  dialog {
    min-width: 600px;
    padding: var(--spacing-5) var(--spacing-6);
  }
}
dialog:not([open]) {
  display: none;
}
/* "+" selector used in polyfill, pseudo element for native*/
dialog + .backdrop, dialog::backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: radial-gradient(circle, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.7) 100%);
}
/* used in polyfill */
._dialog_overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.modal-body .tabs {
  margin-block-end: var(--spacing-5);
}
.modal-header {
  display: flex;
  justify-content: space-between;
  gap: var(--spacing-5);
  padding-bottom: var(--spacing-6);
}
.modal-footer {
  display: flex;
  justify-content: space-between;
  gap: var(--spacing-5);
  align-items: center;
}
@keyframes lightbox-in {
  0% {
    opacity: 0;
    transform: translate(0, -30%);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
.modal--lightbox {
  display: flex;
  flex-direction: column;
  top: 0;
  bottom: 0;
  right: 0;
  left: var(--spacing-5);
  max-width: calc(100% - var(--spacing-5));
  width: calc(100% - var(--spacing-5));
  height: 95vh;
  max-height: 95vh;
  max-height: 100dvh;
  color: rgb(var(--color-lightest));
  background: linear-gradient(180deg, #000000 21.21%, rgba(0, 0, 0, 0.85) 100%);
  transform: none;
  animation: lightbox-in 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}
@supports (height: 100dvh) {
  .modal--lightbox {
    height: 100dvh;
    max-height: 100dvh;
  }
}
.modal--lightbox .slider {
  height: 100%;
}
.modal--lightbox .slider-track,
.modal--lightbox .slider-list {
  padding-inline-start: 0 !important;
}
.modal--lightbox .slider-arrow {
  display: flex;
  align-items: center;
  position: absolute;
  top: 50%;
  color: rgb(var(--color-lightest));
  z-index: 10;
  margin-top: -1.8rem;
}
.modal--lightbox .slider-previous {
  left: 0;
}
.modal--lightbox .slider-next {
  right: 0;
}
.modal--lightbox .slick-slide {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: calc(95vh - 80px);
}
@supports (height: 100dvh) {
  .modal--lightbox .slick-slide {
    height: calc(100dvh - 80px);
  }
}
.modal--lightbox .modal-header {
  padding-bottom: 0;
}
.modal--lightbox .modal-body {
  position: relative;
  flex: 1;
}
.modal--lightbox img {
  margin-inline: auto;
  width: auto;
  height: 80vh;
  object-fit: contain;
  object-position: 50% 50%;
}
.modal--lightbox img.is--drawing {
  background-color: rgb(var(--color-lightest));
}
.modal--lightbox .modal-close {
  margin-left: auto;
}
.modal--lightbox .modal-close:focus {
  outline: none;
}
@media (max-width: 1023px) {
  .modal--lightbox .slider-image.has--credits {
    max-height: 70vh;
  }
}
@media (max-width: 375px) {
  .modal--lightbox .slider-image.has--credits {
    max-height: 65vh;
  }
}
.modal--lightbox .caption-list div + div {
  margin-top: var(--spacing-4);
}
@media (min-width: 768px) {
  .modal--lightbox .caption-list {
    display: flex;
    white-space: nowrap;
  }
  .modal--lightbox .caption-list div + div {
    margin-top: 0;
    margin-left: var(--spacing-8);
  }
}
.modal--lightbox figcaption {
  margin-block-start: auto;
  z-index: 10;
}
.modal-form {
  padding-block-end: var(--spacing-2);
}
.modal .form-group label {
  padding-inline-start: 0;
}
.modal-full {
  max-height: 100vh;
  max-width: 100vw;
  /* This will automatically fallback to 100vh in case dynamic viewport height unit (dvh) is not supported */
  height: 100vh;
  height: 100dvh;
  width: 100vw;
  overflow-y: auto;
  color: rgb(var(--color-darkest));
  background-color: rgb(var(--color-accent-500));
}
.modal--autocomplete {
  overflow: visible;
  overflow-y: auto;
}
.modal--autocomplete .btn--submit {
  margin-block-start: var(--spacing-5);
}
.modal--scrollable .modal-body {
  max-height: 75vh;
  overflow-y: auto;
}
.share-modal {
  overflow-y: auto;
}
.more-products {
  padding: var(--spacing-5);
  background-color: rgb(var(--color-accent-100));
  border-top: 1px solid rgb(var(--color-darkest));
}
.more-products__header {
  position: relative;
  padding-inline-end: var(--spacing-6);
}
.more-products__loader {
  display: flex;
  justify-content: center;
}
.more-products__close {
  position: absolute;
  top: 0;
  right: 0;
}
@media (max-width: 1023px) {
  .more-products__product {
    display: block;
  }
}
.more-products__product-grid {
  display: grid;
  grid-template-columns: var(--spacing-8) auto;
  gap: var(--spacing-2);
}
.more-products__product-grid .product-swatches {
  padding-block: var(--spacing-2);
}
.more-products__description {
  margin-block-end: var(--spacing-5);
}
.more-products__actions {
  margin-block-start: var(--spacing-4);
}
@media (max-width: 1023px) {
  .more-products__actions .btn {
    justify-content: space-between;
    width: 100%;
  }
}
.more-products__links {
  display: flex;
  gap: var(--spacing-4);
  padding-block-end: var(--spacing-6);
  margin-block-start: var(--spacing-5);
}
@media (min-width: 1024px) {
  .more-products__td-more {
    display: none;
  }
}
@media (max-width: 1023px) {
  .more-products__thead {
    display: none;
  }
  .more-products__tr {
    display: block;
    padding-block-end: var(--spacing-5);
  }
  .more-products__td {
    display: flex;
    justify-content: space-between;
    padding: var(--spacing-1) 0;
  }
  .more-products__product {
    padding-block-end: var(--spacing-3);
  }
  .more-products__td-more {
    margin-block-start: var(--spacing-2);
  }
}
.more-products__td-label {
  font-weight: var(--font-weight-semibold);
}
.more-products__td-label sup {
  font-size: var(--12px);
  font-weight: var(--font-weight-medium);
  color: rgb(var(--color-gray-700));
}
@media (min-width: 1024px) {
  .more-products__td-label {
    display: none;
  }
}
/* Cluster updates (DELTALIGHT_0001-2100) */
.more-products--cluster {
  padding: 0;
  border-block-start-width: 2px;
  background-color: rgb(var(--color-accent-300));
}
.more-products--cluster .more-products__header {
  padding: var(--spacing-4) var(--spacing-5) var(--spacing-5);
  background-image: radial-gradient(100% 50% at 50% 0%, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 100%);
  background-size: 100% 100%;
}
.more-products--cluster .more-products__close {
  top: var(--spacing-5);
  right: var(--spacing-5);
}
.more-products--cluster .more-products__collapse {
  border-block-start: 1px solid rgb(var(--color-accent-700));
  background-color: rgb(var(--color-accent-300));
}
.more-products--cluster .more-products__collapse.is--open {
  background-color: rgb(var(--color-accent-100));
  border-color: rgb(var(--color-darkest));
}
.more-products--cluster .more-products__collapse.is--open .collapse__trigger {
  padding-block-end: 0;
}
.more-products--cluster .more-products__collapse .collapse__trigger {
  --btn-font-size: var(--16px);
  --btn-padding-y: var(--spacing-4);
  font-family: var(--font-family-base);
  font-weight: var(--font-weight-semibold);
  text-transform: none;
  text-align: left;
  background-color: transparent;
}
@media (max-width: 1023px) {
  .more-products--cluster .more-products__collapse .collapse__trigger > span {
    padding-inline-end: var(--spacing-5);
  }
}
.more-products--cluster .more-products__collapse .collapse__trigger .icon {
  top: var(--spacing-3);
  margin-block-start: 0;
  right: var(--spacing-4);
}
.more-products--cluster .more-products__collapse .collapse__content {
  padding-block-start: 0;
}
.more-products--cluster .more-products__collapse-suffix {
  font-weight: 400;
}
.more-products--cluster .more-products__collapse-suffix > * {
  display: inline;
  margin: 0;
}
.more-products--cluster .more-products__actions {
  margin: 0;
  padding: var(--spacing-5);
  background-image: radial-gradient(100% 50% at 50% 0%, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 100%);
}
.more-products__cluster-header {
  display: grid;
}
.more-products__cluster-header-titles {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  gap: var(--spacing-1);
}
.more-products__cluster-header-titles .grouped-category__item-title-suffix {
  font-size: var(--font-size-h3);
  font-family: var(--font-family-heading);
}
.more-products__cluster-header-suffix {
  --item-font-size: var(--font-size-h3);
  line-height: var(--20px);
}
:root {
  --overview-reset-color: var(--color-gray-700);
}
.overview-header {
  position: relative;
  padding-block-start: var(--spacing-4);
  padding-block-end: var(--spacing-5);
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: "count reset" "sort sort";
  gap: var(--spacing-4);
  z-index: 1;
}
@media (min-width: 576px) {
  .overview-header {
    display: grid;
    grid-template-areas: "count reset sort";
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 768px) {
  .overview-header {
    padding: var(--spacing-6) 0;
  }
}
.overview-header .form-group--select {
  min-width: 9.375rem;
}
.overview-count {
  display: flex;
  align-items: center;
  grid-area: count;
  gap: var(--spacing-1);
  text-transform: lowercase;
  font-weight: var(--font-weight-semibold);
}
.overview-count .badge {
  margin-right: var(--spacing-2);
}
.overview-reset {
  text-align: center;
  grid-area: reset;
  color: rgb(var(--overview-reset-color));
}
.overview-sort {
  display: flex;
  justify-content: end;
  gap: var(--spacing-6);
  text-align: right;
  grid-area: sort;
}
.overview-view-switcher {
  display: flex;
  align-items: start;
  justify-content: end;
  gap: var(--spacing-3);
}
.overview-view-switcher .btn--icon {
  color: rgb(var(--color-gray-400));
}
.overview-view-switcher .btn--icon.is--selected {
  padding-block-end: var(--spacing-2);
  color: rgb(var(--color-darkest));
  border-bottom: 1px solid rgb(var(--color-darkest));
}
.overview-view-switcher .icon {
  height: 16px;
}
@media (min-width: 576px) {
  .overview-sort-select {
    display: inline-block;
    margin-block-start: -2px;
  }
}
.overview-state {
  padding-block: var(--spacing-10);
}
/* Overview refactor 07/2024 (DELTALIGHT_0001-1832) */
@media (max-width: 1023px) {
  .overview-filters-v2 .overview-nav {
    position: relative;
    z-index: var(--zindex-dropdown);
  }
  .overview-filters-v2 .overview-nav.is--open::before {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    content: "";
    background-color: rgba(var(--color-darkest), 0.85);
    z-index: var(--zindex-dropdown-backdrop);
  }
}
.overview-filters-v2 .overview-nav__wrapper {
  position: relative;
}
@media (max-width: 1023px) {
  .overview-filters-v2 .overview-nav__wrapper {
    margin-block-end: var(--spacing-4);
    padding: var(--spacing-3) var(--spacing-4);
    background-color: rgb(var(--color-lightest));
    z-index: var(--zindex-dropdown);
  }
}
.overview-filters-v2 .overview-nav__title {
  display: flex;
  justify-content: space-between;
  width: 100%;
  text-align: start;
  color: rgb(var(--color-darkest));
  background-color: transparent;
  border: none;
  align-items: center;
  padding-inline: 0;
}
@media (min-width: 1024px) {
  .overview-filters-v2 .overview-nav__title {
    display: none;
  }
}
@media (max-width: 1023px) {
  .overview-filters-v2 .overview-nav__options {
    position: absolute;
    top: 100%;
    left: 0;
    display: none;
    width: 100%;
    height: auto;
    padding-inline: var(--spacing-4);
    background-color: rgb(var(--color-lightest));
    z-index: var(--zindex-autocomplete);
  }
  .overview-filters-v2 .overview-nav__options.is--open {
    display: block;
  }
  .overview-filters-v2 .overview-nav__options .overview-nav__link {
    display: block;
    padding-inline: 0;
    border-top: 1px solid rgb(var(--color-darkest));
  }
}
@media (min-width: 1024px) {
  .overview-filters-v2 .overview-nav__options {
    position: static;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: var(--spacing-1);
  }
}
.overview-filters-v2 .overview-nav__link {
  --overview-nav-background-opacity: .35;
  --overview-nav-background: rgba(var(--color-lightest), var(--overview-nav-background-opacity));
  position: relative;
  padding: var(--spacing-4) var(--spacing-6) var(--spacing-4) var(--spacing-5);
  font-family: var(--font-family-heading);
  font-size: var(--18px);
  line-height: var(--23px);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
  color: rgb(var(--color-darkest));
}
.overview-filters-v2 .overview-nav__link span {
  position: relative;
  hyphens: manual;
  z-index: 1;
}
.overview-filters-v2 .overview-nav__link::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  content: "";
  background-color: var(--overview-nav-background);
  transition: transform 0.25s ease-out;
  will-change: transform;
}
.overview-filters-v2 .overview-nav__link:hover {
  --overview-nav-background-opacity: .6;
}
.overview-filters-v2 .overview-nav__link:hover:not(.is--active)::after {
  transform: scaleY(1.1);
}
.overview-filters-v2 .overview-nav__link.is--active {
  --overview-nav-background-opacity: 1;
}
.overview-filters-v2 .overview-filters-form {
  padding-block-start: var(--spacing-6);
  background-color: rgb(var(--color-lightest));
}
.overview-filters-v2 .overview-filters-grid {
  display: flex;
  align-items: start;
  width: 100%;
}
.overview-filters-v2 .overview-filters-grid .filters {
  flex: 1;
}
.overview-filters-v2 .overview-filters-grid .dropdown {
  margin-block-end: 0;
}
.overview-filters-v2 .overview-filters-actions {
  display: flex;
  justify-content: end;
}
@media (min-width: 1024px) {
  .overview-filters-v2 .overview-filters-actions {
    padding-inline-start: var(--spacing-5);
  }
}
.overview-filters-v2 .overview-filters-actions:empty {
  display: none;
}
.overview-filters-v2 .filters {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(28ch, 1fr));
  gap: var(--spacing-5);
}
.overview-filters-v2 .btn--advanced-filters {
  position: sticky;
  top: 24px;
  display: none;
}
@media (min-width: 1024px) {
  .overview-filters-v2 .btn--advanced-filters {
    display: flex;
    min-height: 55px;
  }
}
/* Cluster updates (DELTALIGHT_0001-2100) */
.overview-filters-v3 .overview-filters-actions {
  padding-block-start: var(--spacing-2);
}
@media (max-width: 1023px) {
  .overview-filters-v3 .overview-filters-actions {
    position: fixed;
    display: block;
    bottom: 0;
    left: 0;
    right: 0;
    padding: var(--spacing-4);
    background-color: rgb(var(--color-lightest));
    box-shadow: 0 0 40px 0 rgba(152, 164, 174, 0.5);
    z-index: 10000;
  }
  .overview-filters-v3 .overview-filters-actions .btn {
    width: 100%;
  }
}
.page-subfamily .overview-filters-v3 .overview-filters__header {
  margin-block: var(--spacing-5);
  padding-block-start: var(--spacing-6);
  background: var(--gradient-radial-accent-100);
}
.page-subfamily .overview-filters-v3 .overview-filters__header .filters-header, .page-productdetail--v3 .overview-filters-v3 .overview-filters__header .filters-header {
  text-align: left;
}
.overview-filters-v3 {
  --filters-breadcrumb-item-opacity: 0.5;
}
.overview-filters-v3 .overview-filters__header {
  padding-block-end: var(--spacing-6);
}
.overview-filters-v3 .filters-header {
  padding-block-end: var(--spacing-5);
  text-align: left;
}
.overview-filters-v3 .filters-breadcrumb {
  position: relative;
}
@media (max-width: 1023px) {
  .overview-filters-v3 .filters-breadcrumb.is--open {
    --filters-breadcrumb-item-opacity: 1;
  }
  .overview-filters-v3 .filters-breadcrumb.is--open .filters-breadcrumb__items {
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    z-index: 1000;
  }
}
.overview-filters-v3 .filters-breadcrumb.is--open .filters-breadcrumb__mobile-trigger {
  --trigger-background: rgb(var(--color-accent-100));
}
.overview-filters-v3 .filters-breadcrumb.is--open .filters-breadcrumb__mobile-trigger::before {
  display: block;
}
.overview-filters-v3 .filters-breadcrumb__mobile-trigger {
  --trigger-background: rgb(var(--color-lightest));
  position: relative;
  padding: 0;
  width: 100%;
  min-height: 60px;
  text-align: left;
  background-color: rgb(var(--color-lightest));
  border: none;
  z-index: 1000;
}
.overview-filters-v3 .filters-breadcrumb__mobile-trigger .icon {
  position: absolute;
  right: var(--spacing-4);
  top: 50%;
  margin-block-start: -12px;
  z-index: 1010;
}
.overview-filters-v3 .filters-breadcrumb__mobile-trigger span {
  display: block;
}
.overview-filters-v3 .filters-breadcrumb__mobile-trigger > span {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 60px;
  padding: var(--spacing-2) var(--spacing-4);
  background-color: var(--trigger-background);
  z-index: 1000;
}
.overview-filters-v3 .filters-breadcrumb__mobile-trigger .filters-breadcrumb__title-active {
  font-weight: 600;
  line-height: 26px;
}
.overview-filters-v3 .filters-breadcrumb__mobile-trigger .filters-breadcrumb__title-facet {
  margin-block-start: -4px;
  font-size: var(--14px);
}
.overview-filters-v3 .filters-breadcrumb__mobile-trigger::before {
  display: none;
  position: fixed;
  inset: 0;
  content: "";
  background-color: rgba(var(--color-darkest), 0.6);
  z-index: 900;
}
@media (min-width: 768px) {
  .overview-filters-v3 .filters-breadcrumb__mobile-trigger {
    display: none;
  }
}
.overview-filters-v3 .filters-breadcrumb__items {
  display: none;
}
@media (min-width: 768px) {
  .overview-filters-v3 .filters-breadcrumb__items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  }
  .overview-filters-v3 .filters-breadcrumb__items::after {
    display: none;
  }
}
.overview-filters-v3 .filters-breadcrumb__item {
  background-color: rgba(var(--color-lightest), var(--filters-breadcrumb-item-opacity));
}
@media (max-width: 767px) {
  .overview-filters-v3 .filters-breadcrumb__item {
    border-top: 1px solid rgb(var(--color-gray-300));
    background-color: rgb(var(--color-accent-100));
  }
  .overview-filters-v3 .filters-breadcrumb__item .dropdown-items {
    padding-inline: 0;
    --dropdown-item-value-color: rgb(var(--color-gray-400));
  }
  .overview-filters-v3 .filters-breadcrumb__item .dropdown-wrapper,
.overview-filters-v3 .filters-breadcrumb__item .dropdown-items {
    background-color: rgb(var(--color-accent-100));
  }
}
@media (min-width: 768px) {
  .overview-filters-v3 .filters-breadcrumb__item .dropdown {
    border-left: 1px solid rgb(var(--color-gray-300));
  }
}
.overview-filters-v3 .filters-breadcrumb__item .filter {
  margin-block-end: 0;
}
.overview-filters-v3 .filters-breadcrumb__item .dropdown-selection {
  padding-bottom: 0;
  border-bottom: none;
}
.overview-filters-v3 .filters-breadcrumb__dropdown {
  margin-block-end: 0;
  background-color: rgba(var(--color-lightest), var(--filters-breadcrumb-item-opacity));
}
@media (max-width: 767px) {
  .overview-filters-v3 .filters-breadcrumb__dropdown {
    border-top: 1px solid rgb(var(--color-gray-300));
  }
  .overview-filters-v3 .filters-breadcrumb__dropdown .collapse__content {
    position: relative;
    padding-inline: 0;
  }
  .overview-filters-v3 .filters-breadcrumb__dropdown:has(.collapse__content.is--open) .collapse__trigger::after {
    position: absolute;
    content: "";
    width: calc(100% + var(--spacing-4) * 2);
    height: 1px;
    background-color: rgb(var(--color-gray-300));
    left: calc(var(--spacing-4) * -1);
    right: calc(var(--spacing-4) * -1);
    top: calc(100% + var(--spacing-2));
  }
  .overview-filters-v3 .filters-breadcrumb__dropdown .collapse__trigger {
    position: relative;
    min-height: 44px;
    z-index: 1010;
  }
}
.overview-filters-v3 .filters-breadcrumb__dropdown .collapse__trigger {
  --btn-padding-x: 0;
  --btn-padding-y: 0;
  --btn-font-size: var(--16px);
  padding-inline-end: var(--spacing-6);
  font-family: var(--font-family-base);
  font-weight: var(--font-weight-semibold);
  text-transform: none;
  text-align: left;
  line-height: 1.3;
  background-color: transparent;
}
.overview-filters-v3 .filters-breadcrumb .dropdown {
  padding: var(--spacing-2) var(--spacing-4);
}
.overview-filters-v3 .filters-breadcrumb .dropdown::after {
  display: none;
}
.overview-filters-v3 .filters-breadcrumb .dropdown.is--open {
  color: currentColor;
}
.overview-filters-v3 .filters-breadcrumb .dropdown.is--disabled .dropdown-icon {
  display: none;
}
.overview-filters-v3 .filters-breadcrumb .dropdown:not(.is--disabled) {
  cursor: pointer;
}
@media (min-width: 768px) {
  .overview-filters-v3 .filters-breadcrumb .dropdown:not(.is--disabled):hover {
    background-color: rgb(var(--color-lightest));
  }
}
.overview-filters-v3 .filters-breadcrumb .dropdown-wrapper {
  inset-inline: 0;
  top: 100%;
  background-color: rgb(var(--color-lightest));
}
@media (max-width: 767px) {
  .overview-filters-v3 .filters-breadcrumb .dropdown-wrapper {
    position: static;
  }
}
.overview-filters-v3 .filters-breadcrumb .dropdown-wrapper::after {
  display: none;
}
.overview-filters-v3 .filters-breadcrumb .dropdown-items,
.overview-filters-v3 .filters-breadcrumb .dropdown-wrapper {
  color: rgb(var(--color-darkest));
  background-color: rgb(var(--color-lightest));
  z-index: 1000;
}
.overview-filters-v3 .filters-breadcrumb .dropdown-items a,
.overview-filters-v3 .filters-breadcrumb .dropdown-wrapper a {
  text-decoration: none;
  color: currentColor;
}
.overview-filters-v3 .filters-breadcrumb .dropdown-icon,
.overview-filters-v3 .filters-breadcrumb .collapse__icon {
  --icon-width: 32px;
  --icon-height: 32px;
  position: absolute;
  top: 50%;
  right: 0;
  margin-block-start: -16px;
}
.overview-filters-v3 .filters-breadcrumb .overview-filters-form .dropdown {
  padding-inline: 0;
}
:root {
  --list-border-size: 1px;
  --list-border-color: rgb(var(--color-darkest));
}
.overview-list-header {
  padding-bottom: var(--spacing-5);
}
@media (min-width: 768px) {
  .overview-list-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing-4);
  }
}
.overview-list-footer {
  display: flex;
  justify-content: space-between;
  padding-block: var(--spacing-5);
  border-top: var(--list-border-size) solid var(--list-border-color);
}
@media (min-width: 1024px) {
  .overview-list-footer {
    padding-inline: var(--spacing-5);
  }
}
.overview-list-item {
  border-top: var(--list-border-size) solid var(--list-border-color);
}
.overview-list-full-link {
  display: flex;
  gap: var(--spacing-5);
  align-items: center;
  padding: var(--spacing-3) 0;
  text-decoration: none;
  color: var(--color-darkest);
  transition: background-color 0.4s ease-out;
}
.overview-list-full-link:hover, .overview-list-full-link:focus {
  background: rgba(var(--color-gray-100), 0.7);
}
.overview-list-full-link img {
  max-width: 68px;
  aspect-ratio: 1/1;
  object-fit: cover;
}
.overview-list-item-body {
  display: block;
  text-decoration: none;
  color: var(--color-darkest);
}
.overview-list-item-body > * {
  display: block;
}
.overview-list-item-body .small {
  color: rgb(var(--color-gray-600));
}
.overview-list-item-body .badge {
  display: inline-block;
  margin-block-end: var(--spacing-1);
}
.overview-list-bottom-actions {
  border-top: var(--list-border-size) solid var(--list-border-color);
}
.list-item-category-link {
  display: flex;
  gap: var(--spacing-2);
  align-items: center;
}
.overview-list-item-row {
  position: relative;
  display: grid;
  gap: var(--spacing-5);
  grid-template-columns: 18px 68px 1fr 24px;
  align-items: center;
  padding: var(--spacing-3) 0;
}
@media (min-width: 1024px) {
  .overview-list-item-row {
    grid-template-columns: 18px 68px minmax(200px, 1fr) minmax(155px, 1fr) 1fr;
  }
}
.overview-list-item-row img {
  max-width: 68px;
}
.overview-list-item-row .item-list-actions {
  display: grid;
  grid-template-columns: 1fr 24px;
  align-items: center;
}
@media (max-width: 1023px) {
  .overview-list-item-row .item-list-actions {
    position: absolute;
    display: none;
    top: 100%;
    left: calc(var(--container-padding) / -1);
    right: calc(var(--container-padding) / -1);
    padding: var(--spacing-1) var(--container-padding);
    background: rgb(var(--color-darkest));
    z-index: 1;
  }
  .overview-list-item-row .item-list-actions .link {
    width: 100%;
    padding: var(--spacing-4) 0;
    color: rgb(var(--color-lightest));
  }
  .overview-list-item-row .item-list-actions > *:not(:first-child) {
    border-top: 1px solid rgb(var(--color-gray-800));
  }
  .overview-list-item-row .item-list-actions .list-item-category-link .link {
    width: auto;
  }
  .overview-list-item-row .item-list-actions.is--open {
    display: block;
    animation: fade-in 0.5s ease-out;
    z-index: 10;
  }
}
@media (min-width: 1200px) {
  .overview-list-item-row .overview-list-remove .link-text {
    display: none;
  }
}
.overview-list-item-row .btn--toggle-actions {
  position: static;
}
.overview-list-item-row .btn--toggle-actions .icon--close {
  display: none;
}
.overview-list-item-row .btn--toggle-actions.is--open {
  color: rgb(var(--color-lightest));
}
.overview-list-item-row .btn--toggle-actions.is--open .icon--dots {
  display: none;
}
.overview-list-item-row .btn--toggle-actions.is--open .icon--close {
  display: inline-block;
}
.overview-list-item-row .btn--toggle-actions.is--open::after {
  position: absolute;
  top: -1px;
  bottom: 0;
  width: 80px;
  right: calc(var(--container-padding) / -1);
  background: rgb(var(--color-darkest));
  content: "";
  z-index: -1;
  animation: fade-in 0.5s ease-out;
}
@media (max-width: 767px) {
  .overview-list-item-row .btn--toggle-actions.is--open::after {
    width: 61px;
  }
}
.overview-list-item-row .link--sm {
  font-size: var(--14px);
}
.overview-list-item-row .confirm-delete-modal {
  line-height: 1;
}
/* List variants */
.list-item--realisation {
  grid-template-columns: 68px 1fr 24px;
}
@media (min-width: 1024px) {
  .list-item--realisation {
    grid-template-columns: 68px minmax(200px, 1fr) minmax(155px, 1fr) 1fr 24px;
  }
}
.list-item--realisation.has--checkbox {
  grid-template-columns: 18px 68px 1fr 24px;
}
@media (min-width: 1024px) {
  .list-item--realisation.has--checkbox {
    grid-template-columns: 18px 68px minmax(200px, 1fr) minmax(155px, 1fr) 1fr 24px;
  }
}
.list-item--pinned {
  grid-template-columns: 90px minmax(200px, 1fr) 24px;
}
@media (min-width: 1024px) {
  .list-item--pinned {
    grid-template-columns: 90px minmax(200px, 1fr) minmax(70px, 120px) 1fr;
  }
}
.list-item--pinned:first-child {
  border-top: 0;
}
.list-item--pinned .list-pinned-images {
  position: relative;
  width: 90px;
  height: 80px;
}
.list-item--pinned .list-pinned-images img {
  position: absolute;
  width: 56px;
  aspect-ratio: 1/1;
  object-fit: cover;
  border: 1px solid rgb(var(--color-lightest));
  z-index: 3;
}
.list-item--pinned .list-pinned-images img:nth-child(2) {
  top: 10px;
  left: 15px;
  z-index: 2;
}
.list-item--pinned .list-pinned-images img:nth-child(3) {
  top: 20px;
  left: 30px;
  z-index: 1;
}
@media (min-width: 1024px) {
  .list-item--pinned .list-pinned-main-actions {
    display: flex;
    align-items: center;
    gap: var(--spacing-5);
  }
}
@media (max-width: 1023px) {
  .list-item--pinned .list-pinned-main-actions > *:not(:first-child) {
    border-top: 1px solid rgb(var(--color-gray-800));
  }
}
.list-item--project {
  grid-template-columns: 68px minmax(200px, 1fr) 24px;
}
@media (min-width: 1024px) {
  .list-item--project {
    grid-template-columns: 68px minmax(200px, 1fr) minmax(70px, 120px) minmax(70px, 120px) 1fr;
  }
}
.list-item--project img {
  width: 68px;
  aspect-ratio: 1/1;
  object-fit: cover;
}
.list-item--project-sort {
  grid-template-columns: 48px 1fr;
  grid-template-rows: repeat(3, auto);
  gap: var(--spacing-4);
}
@media (min-width: 1024px) {
  .list-item--project-sort {
    gap: var(--spacing-5);
    grid-template-columns: 24px 68px minmax(200px, 1fr) minmax(300px, 1fr) 100px;
    grid-template-rows: auto;
  }
}
.list-item--project-sort:first-child {
  border: none;
}
.list-item--project-sort .overview-list-image img {
  width: 68px;
  aspect-ratio: 1/1;
  object-fit: cover;
  margin-bottom: 0;
}
.list-item--project-sort .overview-list-forms {
  display: flex;
  gap: var(--spacing-3);
}
.list-item--project-sort .overview-list-forms .form-group + .form-group {
  margin: 0;
}
.list-item--project-sort .overview-list-forms .form-group {
  flex: 1 1 0;
}
.list-item--project-sort .overview-list-forms .form-group--wide {
  flex: 2 1 0;
}
.list-item--project-sort .overview-list-forms label {
  white-space: nowrap;
}
.list-item--project-sort .btn[disabled] {
  color: rgb(var(--color-gray-300));
}
.list-item--project-sort.is--child {
  padding-left: var(--spacing-6);
  border-top-style: dashed;
}
.list-item--project-sort .overview-list-item-body > div {
  overflow: hidden;
}
.list-item--project-sort .overview-list-item-body > div * {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .list-item--project-sort .item-list-actions {
    display: flex;
    gap: var(--spacing-4);
    align-items: center;
    justify-content: flex-end;
  }
}
@media (max-width: 1023px) {
  .list-item--project-sort .item-list-actions .link-badge {
    position: static;
    margin-left: auto;
    filter: invert(1);
  }
}
@media (max-width: 1023px) {
  .list-item--project-sort .overview-list-sort {
    display: flex;
    gap: var(--spacing-4);
    padding-block: var(--spacing-4);
    align-items: center;
    grid-column: 1/span 2;
    grid-row: 3;
  }
  .list-item--project-sort .overview-list-image img {
    width: 48px;
    margin-bottom: 0;
  }
  .list-item--project-sort .overview-list-item-body {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 24px;
    align-items: center;
  }
  .list-item--project-sort .overview-list-forms {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: var(--spacing-4);
    grid-column: 1/span 2;
    padding-top: var(--spacing-2);
  }
  .list-item--project-sort .item-list-actions.is--open {
    top: 55px;
  }
  .list-item--project-sort .item-list-actions.has--no-subtitle.is--open {
    top: 51px;
  }
  .list-item--project-sort .btn--toggle-actions.is--open::after {
    top: calc(var(--spacing-4) / -1);
  }
}
.list-item--compare {
  grid-template-columns: 68px minmax(187px, 1fr) 24px;
}
.list-item--compare img {
  width: 68px;
  aspect-ratio: 1/1;
  object-fit: cover;
}
.overview-assets-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-4);
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 768px) {
  .overview-assets-list {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-5);
  }
}
@media (min-width: 1200px) {
  .overview-assets-list {
    gap: var(--spacing-6);
  }
}
.overview-list-image {
  position: relative;
}
.overview-list-image .assets-action {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  inset-inline-end: 0;
  width: 40px;
  height: 40px;
  background-color: rgb(var(--color-lightest));
  padding: var(--spacing-2);
}
.overview-list-image .assets-action.assets-checkbox-wrapper {
  inset-inline-start: 0;
  inset-inline-end: auto;
}
.overview-list-image img {
  margin-bottom: var(--spacing-4);
}
.overview-list-modal .overview-list-image img {
  width: auto;
  max-width: 100%;
}
.overview-list-modal h4 {
  margin-bottom: var(--spacing-4);
}
.overview-list-empty {
  padding: var(--spacing-8) 0;
  text-align: center;
}
.overview-list-empty .icon {
  width: var(--32px);
  height: var(--32px);
}
.list-empty {
  margin: var(--spacing-8) auto;
  text-align: center;
  max-width: 600px;
}
@media (max-width: 1199px) {
  .overview-list-downloads .form-group--select .select-options {
    top: auto;
    bottom: 0;
  }
}
.overview-list-filters {
  --overview-list-action-height: 56px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-5) 0;
  border-bottom: 1px solid rgb(var(--color-darkest));
  background-color: rgb(var(--color-lightest));
}
.overview-list-filters.has--border {
  border-top: 1px solid rgb(var(--color-darkest));
}
.overview-list-filters .overview-count {
  font-size: var(--14px);
}
@media (max-width: 1199px) {
  .overview-list-filters.has--mobile-bottom {
    will-change: bottom;
    display: block;
    position: fixed;
    left: 0;
    bottom: var(--overview-list-action-height);
    width: 100%;
    padding: 0 var(--container-padding) var(--spacing-3);
    z-index: 2000;
    border: 0;
    filter: invert(100%);
    transform: translateY(100%);
    transition: all 0.4s ease-out;
  }
  .overview-list-filters.has--mobile-bottom .overview-list-filter-action {
    font-size: var(--14px);
    line-height: 1.2;
  }
  .overview-list-filters.has--mobile-bottom .overview-count {
    height: var(--overview-list-action-height);
    font-size: var(--16px);
    line-height: var(--26px);
  }
  .overview-list-filters.has--mobile-bottom .btn--toggle-filters {
    position: absolute;
    top: 20px;
    inset-inline-end: var(--container-padding);
    transition: transform 0.4s ease-out;
  }
  .overview-list-filters.has--mobile-bottom.is--open {
    bottom: 0;
    transform: translateY(0);
  }
  .overview-list-filters.has--mobile-bottom.is--open .btn--toggle-filters {
    transform: rotate(45deg);
  }
  .overview-list-filters.has--mobile-bottom .overview-list-filter-buttons > * {
    padding: var(--spacing-2) 0 var(--spacing-1);
    border-top: 1px solid rgb(var(--color-gray-800));
  }
  .overview-list-filters.has--mobile-bottom .overview-list-filter-buttons > *:first-child {
    border-top: 0;
  }
}
@media (min-width: 1200px) {
  .overview-list-filter-actions {
    display: flex;
    gap: var(--spacing-5);
  }
  .overview-list-filter-buttons {
    display: flex;
  }
  .overview-list-filter-buttons .overview-list-filter-action {
    text-align: right;
  }
  .overview-list-filter-buttons.multiple .overview-list-filter-action {
    max-width: 148px;
    text-align: left;
    border-right: 1px solid rgb(var(--color-darkest));
    padding: 0 var(--spacing-5);
  }
}
.overview-list-downloads {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
}
@media (max-width: 1199px) {
  .overview-list-downloads {
    display: grid;
    grid-template-columns: 1fr auto;
  }
}
.item-list-sort {
  display: flex;
  align-items: center;
  padding: var(--spacing-5) 0;
  gap: var(--spacing-5);
}
.item-list-sort.justify-between {
  justify-content: space-between;
}
:root {
  --color-paging-active: var(--color-foreground);
  --color-paging-default: var(--color-gray-300);
}
.paging {
  display: flex;
  margin: -10px 0 0;
  padding: var(--spacing-6) var(--spacing-4) 0;
  list-style: none;
}
@media (min-width: 768px) {
  .paging {
    justify-content: center;
    padding-top: var(--spacing-7);
  }
}
@media (min-width: 1024px) {
  .paging {
    padding-top: var(--spacing-8);
  }
}
.paging-item {
  margin-inline: var(--spacing-1);
}
.paging-item:first-child {
  margin-inline-start: 0;
}
.paging-item:last-child {
  margin-inline-end: 0;
}
.paging-button {
  position: relative;
  width: 32px;
  height: 20px;
  background: transparent;
  border: none;
  cursor: pointer;
}
.paging-button::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-color: rgb(var(--color-paging-default));
  transform: translateY(-50%);
  transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.paging-button.is--current::before {
  transform: scaleY(3) translateY(-50%);
  background-color: rgb(var(--color-paging-active));
}
@keyframes panel-in {
  0% {
    opacity: 1;
    transform: translate(100%, 0);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
.panel {
  --panel-header-height: calc(var(--spacing-5) + var(--spacing-6));
  --panel-footer-height: calc(var(--spacing-6) + var(--spacing-7));
  padding: 0;
  transform: translate(0, 0);
  animation: panel-in 0.5s ease-out;
  overflow: hidden;
}
.panel__header,
.panel__footer {
  padding: var(--spacing-4) var(--spacing-5);
  color: rgb(var(--color-lightest));
  background: rgb(var(--color-darkest));
}
.panel__body {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.panel__footer {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.panel__close {
  position: absolute;
  top: var(--spacing-4);
  right: var(--spacing-5);
  color: rgb(var(--color-lightest));
}
.panel__collapse {
  position: relative;
}
.panel__collapse .collapse__trigger {
  width: 100%;
  font-size: var(--font-size-h4);
  font-weight: var(--font-weight-bold);
  text-transform: none;
}
.panel__collapse .collapse__content {
  display: none;
  height: calc(100dvh - var(--panel-header-height) - var(--panel-footer-height) - var(--num-collapses) * var(--spacing-7));
  overflow-y: auto;
  padding: var(--spacing-5);
}
.panel__collapse .collapse__content.is--open {
  display: grid;
  grid-auto-rows: min-content;
  gap: var(--spacing-5);
}
.panel__collapse .collapse__content .dropdown {
  margin-block-end: 0;
}
.panel__collapse.is--open + .panel__collapse {
  margin-block-start: auto;
}
.region-banner {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  padding-block: var(--spacing-9) var(--spacing-7);
  color: rgb(var(--color-lightest));
  background-color: rgb(var(--color-darkest));
  z-index: 900;
}
body.is--panel-open .region-banner {
  display: none;
}
.region-banner__grid {
  display: grid;
  gap: var(--spacing-5);
}
@media (min-width: 1024px) {
  .region-banner__grid {
    grid-template-areas: "content buttons";
    grid-template-columns: 2fr 1fr;
  }
}
@media (min-width: 1200px) {
  .region-banner__grid {
    grid-template-areas: "content empty buttons";
    grid-template-columns: 2fr 1fr 1fr;
  }
}
.region-banner__actions {
  display: grid;
  gap: var(--spacing-2);
}
@media (min-width: 1024px) {
  .region-banner__actions {
    grid-area: buttons;
  }
}
.region-banner__actions .btn {
  --btn-bg: rgb(var(--color-gray-900));
  color: rgb(var(--color-lightest));
}
.region-banner__actions .icon {
  margin-inline-start: auto;
}
.related-group {
  padding-block-end: var(--spacing-8);
}
.related-group td.productlist-item-sku {
  width: 180px;
}
.related-group-header {
  padding-block-end: var(--spacing-6);
  text-align: center;
}
.representative-group {
  margin-block: var(--spacing-8);
}
@media (min-width: 768px) {
  .representative-group {
    margin-block: var(--spacing-9);
  }
}
@media (min-width: 1024px) {
  .representative-group {
    margin-block: var(--spacing-10);
  }
}
.representative-group-title {
  margin-block-end: var(--spacing-7);
}
@media (min-width: 768px) {
  .representative-group-title {
    margin-block-end: var(--spacing-8);
  }
}
.representative-group-content {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-6);
  justify-content: center;
}
@media (min-width: 576px) {
  .representative-group-content {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-7);
  }
}
@media (min-width: 768px) {
  .representative-group-content {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-7);
  }
}
@media (min-width: 1024px) {
  .representative-group-content {
    grid-template-columns: repeat(4, 1fr);
    gap: var(--spacing-8);
  }
}
.representative {
  width: 100%;
}
@media (min-width: 576px) {
  .representative {
    width: calc((100% - var(--spacing-7) * 1) * 0.5);
  }
}
@media (min-width: 768px) {
  .representative {
    width: calc((100% - var(--spacing-7) * 2) * 0.3333333333);
  }
}
@media (min-width: 1024px) {
  .representative {
    width: calc((100% - var(--spacing-8) * 3) * 0.25);
  }
}
.representative p:not(:last-child) {
  margin-bottom: var(--spacing-4);
}
.representative-image {
  margin-bottom: var(--spacing-4);
}
.representative-contact {
  gap: var(--spacing-2);
  color: rgb(var(--color-gray-700));
  margin-bottom: var(--spacing-2);
}
.representative-contact:last-child {
  margin-bottom: 0;
}
.representative-contact .link-text {
  word-break: break-all;
}
.rte {
  --vertical-spacing-small: var(--spacing-2);
  --vertical-spacing-default: var(--spacing-4);
  --vertical-spacing-large: var(--spacing-6);
}
.rte h2:not(:first-child),
.rte h3:not(:first-child),
.rte h4:not(:first-child),
.rte h5:not(:first-child),
.rte p:not(:first-child) {
  margin-block-start: var(--vertical-spacing-default);
}
.rte h2 + h3,
.rte h3 + h4,
.rte h4 + h5 {
  margin-block-start: var(--vertical-spacing-small);
}
.rte ul,
.rte ol,
.rte table {
  margin-block-start: var(--vertical-spacing-large);
}
.rte ul ul,
.rte ul ol,
.rte ol ul,
.rte ol ol,
.rte table ul,
.rte table ol {
  margin-block-start: 0;
  margin-block-end: var(--vertical-spacing-small);
}
.rte ul {
  list-style-type: square;
  padding-inline-start: var(--spacing-6);
}
@media (min-width: 1024px) {
  .rte ul {
    padding-inline-start: var(--spacing-7);
  }
}
.rte ul li {
  margin-block-end: var(--16px);
}
@media (min-width: 1024px) {
  .rte ul li {
    margin-block-end: var(--24px);
  }
}
.rte ul li::marker {
  font-size: 1.2em;
  border-radius: 0;
}
@media (min-width: 768px) {
  .rte {
    --vertical-spacing-small: var(--spacing-3);
    --vertical-spacing-default: var(--spacing-5);
    --vertical-spacing-large: var(--spacing-7);
  }
}
@media (min-width: 1024px) {
  .rte {
    --vertical-spacing-small: var(--spacing-4);
    --vertical-spacing-default: var(--spacing-6);
    --vertical-spacing-large: var(--spacing-8);
  }
}
.rte.text-center ul,
.rte.text-center ol {
  list-style-position: inside;
}
.rte a:not(.link),
.rte-colors a:not(.link) {
  color: currentColor;
  text-decoration: underline;
}
.nav-panel-search-form {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
}
@media (min-width: 1024px) {
  .nav-panel-search-form {
    margin-top: var(--spacing-9);
  }
}
.nav-panel-search-title {
  margin-bottom: var(--spacing-5);
}
.search-global-wrapper {
  padding-bottom: 0;
}
.search-global-wrapper > div {
  width: 100%;
}
.share-modal {
  max-width: 768px;
}
.share-modal .share-options {
  display: grid;
  gap: var(--spacing-4);
  margin-bottom: var(--spacing-6);
}
@media (min-width: 768px) {
  .share-modal .share-options {
    grid-template-columns: repeat(3, 1fr);
  }
}
.share-modal .share-options .custom-control {
  align-items: flex-start;
}
.share-modal .share-options .custom-control input {
  position: relative;
  top: 2px;
}
.share-modal .share-options .custom-control .lead {
  margin-bottom: var(--spacing-2);
}
.share-modal .file-options {
  display: grid;
  gap: var(--spacing-5);
  margin-bottom: var(--spacing-5);
  padding: var(--spacing-4);
  background: rgb(var(--color-gray-100));
}
@media (min-width: 576px) {
  .share-modal .file-options {
    grid-template-columns: 140px 1fr;
  }
}
.share-modal .file-options-select, .share-modal .share-info {
  display: grid;
  gap: var(--spacing-4);
  margin-bottom: var(--spacing-5);
}
@media (min-width: 768px) {
  .share-modal .file-options-select, .share-modal .share-info {
    grid-template-columns: repeat(2, 1fr);
  }
}
.share-modal .share-info {
  gap: var(--spacing-5);
  margin-block: var(--spacing-5) 0;
}
.sheet {
  position: fixed;
  right: 0;
  top: 0;
  bottom: 0;
  left: auto;
  max-width: 100vw;
  width: 100vw;
  max-height: unset;
  height: 100dvh;
  margin: unset;
  transform: none;
}
@media (min-width: 768px) {
  .sheet {
    max-width: 375px;
    width: fit-content;
  }
}
.sheet__close-icon {
  color: rgb(var(--color-darkest));
}
.sheet__header {
  color: var(--color-darkest);
  background-color: var(--color-lightest);
  border-block-end: 1px solid rgb(var(--color-gray-300));
}
.sheet__body {
  overflow-y: auto;
  height: auto;
  max-height: calc(100dvh - 80px - 88px);
}
.sheet__footer {
  background-color: rgb(var(--color-lightest));
  box-shadow: 0 0 40px 0 rgba(152, 164, 174, 0.5);
}
.sheet__footer .sheet__close {
  justify-content: space-between;
}
:root {
  --slider-contents-text-primary: var(--color-foreground);
  --slider-contents-text-secondary: var(--color-gray-700);
  --slider-background: var(--color-gray-100);
  --slider-contents-background: var(--gradient-radial-gray-100);
}
.slider {
  position: relative;
}
.slider-list {
  position: relative;
  overflow: hidden;
}
.slider-list.dragging {
  cursor: pointer;
  cursor: hand;
}
.slider .slider-track,
.slider .slider-list {
  transform: translate3d(0, 0, 0);
}
.slider img {
  pointer-events: none;
}
.slider-arrow {
  background: none;
  border: none;
}
.slider-track {
  display: flex;
  gap: var(--spacer-5);
  position: relative;
  left: 0;
  top: 0;
  will-change: transform;
  backface-visibility: hidden;
  -webkit-transform-style: preserve-3d;
  perspective: none;
}
.slider-track.slider-animated {
  transition: transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}
.slider-loading .slider-track {
  visibility: hidden;
}
.slider-slide {
  position: relative;
  width: 160px;
  padding: 0 var(--spacing-3);
}
.slider-image {
  position: relative;
}
.slider-credits {
  position: absolute;
  left: 0;
  bottom: 0;
  margin-bottom: var(--spacing-4);
}
@media (min-width: 768px) {
  .slider-credits .link--arrow {
    display: inline-block;
  }
  .slider-credits .link--arrow .link-text,
.slider-credits .link--arrow .svg {
    display: block;
  }
}
.slider-products {
  position: absolute;
  right: 0;
  bottom: 0;
  margin-bottom: var(--spacing-4);
}
.slider-products-title {
  text-align: right;
  margin-bottom: var(--spacing-2);
}
@media (min-width: 1024px) {
  .slider-products-title {
    margin-bottom: var(--spacing-4);
  }
}
.slider--content .slider-track {
  padding-inline-start: 0;
}
.slider--related .slider-track {
  padding-inline-start: 0;
  width: 300%;
}
.slider--related .slider-slide {
  width: 100%;
  padding: 0;
}
.productlist-item--na .slider-list {
  padding-inline-start: 20vw;
}
.productlist-item--na .slider-track {
  min-height: 20vw;
  padding-inline-start: 0;
}
.product-carousel .product-images .slider-track {
  display: block;
  white-space: nowrap;
}
.product-carousel .product-images .slider-slide {
  display: inline-block;
  width: auto !important;
  height: 94px !important;
}
@media (min-width: 768px) {
  .product-carousel .product-images .slider-slide {
    height: 120px !important;
  }
}
@media (min-width: 1024px) {
  .product-carousel .product-images .slider-slide {
    height: 184px !important;
  }
}
.product-carousel .product-images .img-fluid {
  block-size: 94px;
  max-inline-size: initial;
  inline-size: auto;
}
@media (min-width: 768px) {
  .product-carousel .product-images .img-fluid {
    block-size: 120px !important;
  }
}
@media (min-width: 1024px) {
  .product-carousel .product-images .img-fluid {
    block-size: 184px !important;
  }
}
.product-carousel .product-images .slider-track {
  padding-inline-start: 10vw;
}
@media (min-width: 768px) {
  .product-carousel .product-images .slider-track {
    padding-inline-start: 25vw;
  }
}
@media (min-width: 1024px) {
  .product-carousel .product-images .slider-track {
    padding-inline-start: 50vw;
  }
}
.tabs {
  position: relative;
  display: flex;
  margin: 0 auto;
  overflow-y: hidden;
}
.tabs::after {
  position: absolute;
  top: 59px;
  left: 0;
  width: 100%;
  height: 1px;
  background: currentColor;
  content: "";
  z-index: -1;
}
.tabs-item {
  --tabs-item-bg: transparent;
  padding: var(--spacing-4);
  font-family: var(--font-family-heading);
  font-size: var(--13px);
  line-height: var(--line-height-base);
  text-transform: uppercase;
  cursor: pointer;
  background: rgb(var(--tabs-item-bg));
  border: none;
  text-decoration: none;
  color: inherit;
  border-top: 3px solid transparent;
  border-bottom: 1px solid transparent;
  height: 61px;
  white-space: nowrap;
}
@media (min-width: 576px) {
  .tabs-item {
    padding: var(--spacing-4) var(--spacing-6);
  }
}
.tabs-item[aria-selected=true], .tabs-item[aria-expanded=true], .tabs-item.is--active {
  position: relative;
  background-color: rgb(var(--color-lightest));
  border-top: 3px solid rgb(var(--color-darkest));
  border-bottom: 1px solid transparent;
}
.tabs-item[aria-selected=true]::before, .tabs-item[aria-selected=true]::after, .tabs-item[aria-expanded=true]::before, .tabs-item[aria-expanded=true]::after, .tabs-item.is--active::before, .tabs-item.is--active::after {
  position: absolute;
  display: none;
  width: 24px;
  height: 100%;
  top: 0;
  content: "";
  mix-blend-mode: multiply;
  opacity: 0.1;
  pointer-events: none;
  user-select: none;
}
.tabs-item[aria-selected=true]:not(:first-child)::before, .tabs-item[aria-expanded=true]:not(:first-child)::before, .tabs-item.is--active:not(:first-child)::before {
  display: block;
  right: 100%;
  background: radial-gradient(100% 100% at 100% 100%, #000000 0%, rgba(0, 0, 0, 0) 100%);
}
.tabs-item[aria-selected=true]:not(:last-child)::after, .tabs-item[aria-expanded=true]:not(:last-child)::after, .tabs-item.is--active:not(:last-child)::after {
  display: block;
  left: 100%;
  background: radial-gradient(100% 100% at 0% 100%, #000000 0%, rgba(0, 0, 0, 0) 100%);
}
.tabs--sm .tabs-item {
  padding: var(--spacing-2) var(--spacing-4);
  height: 46px;
}
.tabs--sm::after {
  top: 45px;
}
.tabs--center {
  justify-content: center;
}
/*

Switch tabs as used on language selection, used without react

 */
.tabs--switch {
  display: flex;
  flex-wrap: wrap;
}
.tabs--switch .tabs-action {
  display: flex;
  flex-direction: row;
  flex-grow: 1;
  align-items: center;
  justify-content: center;
  width: auto;
  border-right: var(--border-width) solid var(--border-color);
}
.tabs--switch .tabs-content {
  order: 1;
  width: 100%;
  border-bottom: 0;
}
.tabs--switch .tabs-content.is--hidden {
  display: none;
}
.truncate {
  --line-clamp-amount: 6;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
  line-clamp: var(--line-clamp-amount);
  -webkit-line-clamp: var(--line-clamp-amount);
}
.truncate.is--open {
  line-clamp: initial;
  -webkit-line-clamp: initial;
}
.truncate.is--open + [data-toggle=truncate] .truncate-less {
  display: inline-block;
}
.truncate.is--open + [data-toggle=truncate] .truncate-more {
  display: none;
}
.truncate--three-lines {
  --line-clamp-amount: 3;
}
.truncate--two-lines {
  --line-clamp-amount: 2;
}
@supports (background-clip: text) or (-webkit-background-clip: text) {
  .truncate {
    --color-truncate-gradient: var(--color-darkest);
  }
  .truncate.truncated:not(.is--open) {
    max-height: calc(var(--line-height-base) * var(--line-clamp-amount));
    color: transparent;
    background-clip: text;
    -webkit-background-clip: text;
    background-image: linear-gradient(to bottom, rgba(var(--color-truncate-gradient), 1) 0%, rgba(var(--color-truncate-gradient), 0.15) 100%);
    background-position: bottom;
    line-clamp: initial;
    -webkit-line-clamp: initial;
  }
  .page--dark .truncate.truncated:not(.is--open) {
    --color-truncate-gradient: var(--color-lightest);
  }
  .truncate.truncated.is--open {
    max-height: initial;
  }
}
.truncate:not(.truncated) + [data-toggle=truncate] {
  display: none;
}
.truncate + [data-toggle=truncate] {
  margin-block-start: var(--spacing-4);
}
.truncate + [data-toggle=truncate] .truncate-less {
  display: none;
}
.truncate + [data-toggle=truncate] .truncate-more {
  display: inline-block;
}
.variants {
  display: flex;
  padding: var(--spacing-2) 0;
  border-top: 1px solid rgb(var(--color-foreground));
}
.variants-options {
  display: flex;
  margin-left: auto;
}
.variants-option {
  position: relative;
  padding: 0;
  text-decoration: none;
  color: rgb(var(--color-foreground));
  cursor: pointer;
  background: none;
  border: none;
}
.variants-option:not(:first-child) {
  margin-left: var(--spacing-5);
}
.variants-option[aria-selected=true]::before {
  position: absolute;
  top: calc(var(--spacing-2) * -1);
  width: 100%;
  height: 3px;
  content: "";
  background-color: rgb(var(--color-foreground));
}
/* templates */
.masonry {
  display: grid;
  gap: var(--spacing-7);
  max-width: var(--container-max-width);
  margin-inline: auto;
}
@media (min-width: 768px) {
  .masonry {
    grid-template-columns: repeat(2, minmax(320px, 1fr));
  }
}
.masonry--randomized {
  margin-block-end: var(--spacing-8);
  column-gap: var(--spacing-8);
  row-gap: var(--spacing-8);
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .masonry--randomized {
    grid-template-columns: repeat(2, minmax(320px, 1fr));
    row-gap: var(--spacing-10);
  }
}
.masonry-item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-self: start;
  opacity: 0;
}
.masonry-item:nth-child(odd) .has--portrait-image {
  padding-left: 20%;
}
.masonry-item:nth-child(even) .has--portrait-image {
  padding-right: 20%;
}
.masonry-item.is--positioned {
  animation: 1s animation--fade-in ease-out forwards;
}
.masonry-item:not(.masonry-intro) {
  padding-inline: var(--spacing-4);
}
@media (min-width: 768px) {
  .masonry-item:not(.masonry-intro) {
    padding-inline: 0;
  }
}
@media (min-width: 768px) {
  .masonry-item.is--wide {
    align-self: start;
    grid-column: span 2/span 2 !important;
  }
}
.homepage-hero + .masonry--randomized {
  margin-block-start: var(--spacing-9);
}
/* Common pages */
.page-main {
  flex: 1;
}
.page-main.has--fixed-page-header .page-header {
  padding: 0;
}
.page-body.has--no-bottom-margin .footer-primary {
  margin-top: 0;
}
.page-header {
  position: relative;
  padding-top: var(--header-height);
}
.has--page-header-sm .page-header {
  padding-top: calc(var(--header-height) / 1.2);
}
@media (min-width: 768px) {
  .has--page-header-sm .page-header {
    padding-top: calc(var(--header-height) / 2);
  }
}
.page-header-actions,
.page-header-anchors {
  position: fixed;
  display: flex;
  right: 0;
  bottom: 0;
  left: 0;
}
@media (min-width: 1024px) {
  .page-header-actions,
.page-header-anchors {
    position: absolute;
    display: flex;
    top: 0;
    right: 0;
    left: auto;
    bottom: auto;
  }
  .page-header-actions.page-header-actions--fixed, .page-header-actions.page-header-anchors--fixed,
.page-header-anchors.page-header-actions--fixed,
.page-header-anchors.page-header-anchors--fixed {
    position: fixed;
    top: var(--header-height);
    transition: transform 0.5s ease-out;
  }
  .page-header-actions.page-header-actions--fixed.collapse, .page-header-actions.page-header-anchors--fixed.collapse,
.page-header-anchors.page-header-actions--fixed.collapse,
.page-header-anchors.page-header-anchors--fixed.collapse {
    transform: translateY(var(--header-collapse-margin));
  }
}
.page-header-actions {
  z-index: calc(var(--header-zindex) - 1);
}
.page-header-anchors {
  z-index: calc(var(--header-zindex) - 1);
}
@media (min-width: 1024px) {
  .has--header-collapse .page-header-anchors {
    pointer-events: all;
  }
}
.page-header-action {
  flex: 1;
  white-space: nowrap;
}
@media (min-width: 1024px) {
  .page-header-action {
    width: auto;
  }
}
@media (max-width: 1199px) {
  .page-header-action-compare {
    display: none;
  }
}
.page-header-anchors {
  position: fixed;
  bottom: 0;
  right: 0;
  left: auto;
  overflow: hidden;
  width: 50vw;
  height: 48px;
  z-index: calc(var(--header-zindex) - 1);
}
.page-header-anchors:has(.btn--advanced-filters-stub) {
  width: auto;
  left: 0;
  right: 0;
}
@media (min-width: 1024px) {
  .page-header-anchors:has(.btn--advanced-filters-stub) {
    left: auto;
  }
}
@media (min-width: 1024px) {
  .page-header-anchors {
    position: fixed;
    width: 100vw;
    height: 40px;
    top: var(--header-height);
    bottom: auto;
    transition: transform 0.5s ease-out;
  }
}
@media (max-width: 767px) {
  .page-productdetail .page-header-anchors:has(.btn--advanced-filters-stub) {
    width: 50vw;
    left: auto;
  }
}
.page-header-anchors--multiple {
  display: flex;
  height: 40px;
}
.page-header-anchors--multiple.page-header-anchor {
  position: relative;
}
@media (max-width: 767px) {
  .page-header-anchors--multiple {
    display: none;
  }
}
@media (min-width: 1024px) {
  .has--header-collapse .page-header-anchors {
    transform: translateY(var(--header-collapse-margin));
  }
}
.page-header-anchor {
  position: absolute;
  top: 0;
  right: 0;
  width: 50vw;
  transform: translateY(105%);
  transition: transform 0.5s ease-out;
}
@media (max-width: 1023px) {
  .page-header-anchor {
    --btn-padding-y: 0;
    --btn-font-size: var(--13px);
    line-height: var(--16px);
    height: 48px;
  }
}
@media (min-width: 1024px) {
  .page-header-anchor {
    width: auto;
    transform: translateY(-105%);
  }
}
.page-header-anchor.is--visible {
  transform: translateY(0);
}
.has--header-collapse .page-header-anchor.btn--advanced-filters-stub {
  transform: translateY(0);
}
.page-header-anchor.btn--advanced-filters-stub {
  position: relative;
}
@media (max-width: 1023px) {
  .page-header-anchor.btn--advanced-filters-stub {
    width: 100vw;
    transform: none;
  }
}
@media (max-width: 1023px) {
  .page-header-anchor.btn--add-filters-stub {
    display: none;
  }
}
.page-anchor {
  position: relative;
  top: -7.2rem;
}
.page-content-bottom {
  margin-block-start: var(--spacing-9);
}
.page--newsletter .page-header {
  display: none;
}
.page--productbrowser-v3 .page-header-anchors {
  --header-height: 72px;
}
@media (max-width: 767px) {
  .page-productdetail--v3 .page-header-anchors {
    display: none;
  }
}
.page--dark {
  --color-foreground: var(--color-lightest);
  --color-background: var(--color-darkest);
  --color-breadcrumb: var(--color-foreground);
  --color-link-neutral: var(--color-gray-400);
  --slider-contents-background: var(--gradient-radial-white);
  --slider-contents-text-primary: var(--color-foreground);
  --slider-contents-text-secondary: var(--color-foreground);
  --select-focussed-bg: var(--color-foreground);
  --select-focussed-color: var(--color-background);
  --dropdown-item-value-color: var(--color-gray-700);
  --overview-reset-color: var(--color-gray-300);
  --color-paging-default: var(--color-gray-400);
  --color-paging-active: var(--color-lightest);
  --color-product-pin-active: var(--color-foreground);
  --nav-panel-account-color: var(--color-darkest);
  --nav-panel-account-background: var(--color-gray-100);
  color: rgb(var(--color-foreground));
  background: var(--gradient-radial-dark-100);
  background-color: rgb(var(--color-background));
  background-size: 100vw 70vh;
  background-repeat: no-repeat;
}
.page--dark .nav-panel--account {
  z-index: 10;
}
.page--dark .nav-panel--account .btn, .page--dark .nav-panel--account .badge {
  filter: invert(100%);
}
@media (min-width: 1024px) {
  .page--dark .account-toggle-wrapper.is--open {
    background-color: rgb(var(--color-gray-100));
  }
  .page--dark .account-toggle-wrapper.is--open .icon {
    color: rgb(var(--color-darkest));
  }
}
.page--dark .content-widgets .form-bg,
.page--dark .content-widgets .form-bg label a {
  color: rgb(var(--color-background));
}
@media (min-width: 1024px) {
  .page--imageheader .content-header {
    display: grid;
    grid-template-columns: 55fr 45fr;
    padding-block-end: var(--spacing-9);
  }
}
.page--imageheader .content-image {
  margin-block-start: calc(var(--spacing-10) / -2);
}
@media (min-width: 1024px) {
  .page--imageheader .content-image {
    margin-block-start: 0;
    transform: translateY(calc(var(--spacing-10) * -1));
  }
}
.page--imageheader .content-image img {
  width: 100%;
  height: auto;
}
.page--imageheader .content-info {
  padding-block-start: var(--spacing-4);
  padding-inline: var(--spacing-4);
}
@media (min-width: 768px) {
  .page--imageheader .content-info {
    padding-block-start: var(--spacing-5);
    padding-inline: var(--spacing-5);
  }
}
@media (min-width: 1024px) {
  .page--imageheader .content-info {
    padding-block-start: 0;
    padding-inline: var(--spacing-8);
  }
}
.page--imageheader .content-title {
  margin-block-end: var(--spacing-6);
}
/* Specific pages */
.page--contact .page-header {
  display: none;
}
@media (max-width: 767px) {
  .page--contact .footer-primary {
    margin-top: 0;
  }
}
.page--contact .contact-title {
  margin-block-end: var(--spacing-4);
}
@media (min-width: 1024px) {
  .contact-hero {
    display: grid;
    grid-template-areas: "header form" "visual form";
    grid-template-columns: 1fr 2fr;
    gap: var(--spacing-6);
    grid-template-rows: auto 1fr;
    align-items: flex-start;
  }
}
.contact-header {
  grid-area: header;
  padding-block-start: var(--spacing-8);
  padding-block-end: var(--spacing-6);
}
.contact-header-description {
  margin-block-start: var(--spacing-6);
}
.contact-header .rte p:last-child {
  margin-block-end: 0;
}
.contact-form {
  grid-area: form;
  margin-block-start: var(--spacing-6);
  padding-block: var(--spacing-6);
}
@media (min-width: 1024px) {
  .contact-form {
    padding-block: var(--spacing-9);
    margin-block-start: 0;
  }
}
@media (min-width: 1200px) {
  .contact-form {
    padding-inline: var(--spacing-7) var(--spacing-9);
  }
}
.contact-form .form-group {
  margin-block-start: 0;
  margin-block-end: var(--spacing-5);
}
.contact-form .row {
  padding-block-end: var(--spacing-2);
}
.contact-form .form-feedback {
  scroll-margin-top: var(--spacing-9);
}
.contact-form .form-feedback:not(:empty) {
  margin-block-end: var(--spacing-5);
}
.contact-visual {
  grid-area: visual;
  height: 100%;
}
.contact-maps {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
}
@media (min-width: 768px) {
  .contact-maps {
    grid-template-columns: 1fr 2fr;
    gap: var(--spacing-6);
  }
}
@media (max-width: 575px) {
  .contact-maps {
    padding-inline-start: 0;
  }
}
.contact-maps .contact-description {
  background-color: rgb(var(--color-gray-100));
  padding-block: var(--spacing-8);
  text-align: center;
}
@media (min-width: 768px) {
  .contact-maps .contact-description {
    background-color: transparent;
    padding-block: 0;
    text-align: left;
  }
}
.contact-maps .contact-link {
  margin-block-end: var(--spacing-3);
  color: rgb(var(--color-gray-700));
}
.contact-maps .contact-link:last-child {
  margin-block-end: 0;
}
.contact-data-footer {
  margin-block-start: var(--spacing-3);
}
.contact-map {
  overflow: hidden;
  height: 600px;
  position: relative;
}
@media (min-width: 1200px) {
  .contact-map {
    height: 800px;
  }
}
.contact-map .google-map-container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: auto !important;
}
.contact-offices {
  padding-block: var(--spacing-8) var(--spacing-9);
}
@media (min-width: 768px) {
  .contact-offices {
    padding-block: var(--spacing-10) 0;
  }
}
.contact-offices .contact-title {
  text-align: center;
  margin-block-end: var(--spacing-8);
}
.contact-offices-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-6);
}
@media (min-width: 768px) {
  .contact-offices-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .contact-offices-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.contact-offices-grid .contact-office {
  border-top: 1px solid rgb(var(--color-darkest));
  padding-block: var(--spacing-4);
}
.contact-offices-grid .contact-office.is--hidden {
  display: none;
}
.contact-offices-grid .office-title {
  margin-bottom: var(--spacing-4);
  text-transform: uppercase;
}
.contact-offices-grid .contact-address {
  margin-block-end: var(--spacing-4);
}
.offices-show-all {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-block-start: var(--spacing-8);
}
@media (max-width: 1199px) {
  .page--account .header-primary.collapse {
    top: 0;
  }
}
.account-section {
  --mobile-top-spacing: 56px;
  position: relative;
  padding-top: calc(var(--spacing-4) + 36px);
}
@media (min-width: 1024px) {
  .account-section {
    padding-top: 0;
  }
}
@media (min-width: 1200px) {
  .account-section {
    display: grid;
    grid-template-columns: 270px 1fr;
    gap: var(--spacing-6);
  }
}
.account-section.is--incognito {
  grid-template-columns: 1fr;
}
.account-section.is--incognito .account-contents {
  display: grid;
}
@media (min-width: 1024px) {
  .account-section.is--incognito .account-contents {
    grid-template-columns: 1fr 280px;
  }
}
@media (min-width: 1200px) {
  .account-section.is--incognito .account-contents {
    grid-template-columns: 1fr 340px;
    gap: var(--spacing-8);
  }
}
.account-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--spacing-6);
}
.account-section-header.has--intro {
  display: block;
}
.account-section-header.has--intro .intro {
  margin-top: var(--spacing-4);
  max-width: 490px;
}
.account-section-header-actions {
  display: flex;
  gap: var(--spacing-4);
  align-items: center;
}
@media (min-width: 1200px) {
  .account-dashboard {
    display: grid;
    grid-template-columns: minmax(380px, 793px) minmax(380px, 1fr);
    gap: var(--spacing-8);
  }
}
.account-dashboard .overview-list {
  margin-bottom: var(--spacing-6);
}
.account-dashboard .overview-list:last-child {
  margin-bottom: var(--spacing-7);
}
.dashboard-empty {
  padding-block: var(--spacing-5);
  border-top: 1px solid rgb(var(--color-darkest));
  text-align: center;
}
.dashboard-empty.dashboard-empty--pins {
  border-bottom: 1px solid rgb(var(--color-darkest));
}
@media (min-width: 1200px) {
  .dashboard-empty {
    padding-block: var(--spacing-8);
    min-height: 240px;
  }
}
.account-section--project {
  padding: var(--spacing-6) 0;
}
.account-section--project .btn--edit {
  width: 100%;
  justify-content: center;
}
@media (min-width: 768px) {
  .account-section--project .btn--edit {
    width: auto;
  }
}
.account-section--project-info {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-6);
}
.account-section--project-info img {
  margin-top: var(--spacing-1);
}
@media (min-width: 768px) {
  .account-section--project-info {
    grid-template-columns: 1fr 382px;
  }
}
@media (min-width: 1200px) {
  .account-section--project-info .project-info-column-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
.account-profile {
  margin-bottom: var(--spacing-5);
  padding-bottom: var(--spacing-7);
  border-bottom: 1px solid rgb(var(--color-darkest));
}
.account-profile--more {
  margin-bottom: 0;
  border-bottom: none;
}
.account-profile-title {
  margin-block-end: var(--spacing-4);
}
.account-details {
  margin-block-end: var(--spacing-4);
}
@media (min-width: 768px) {
  .account-details {
    display: grid;
    grid-template-columns: 1fr 1fr 2fr;
    gap: var(--spacing-6);
  }
}
.account-details dt {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  color: rgb(var(--color-gray-800));
}
.account-details dd {
  padding-block-end: var(--spacing-4);
}
@media (min-width: 768px) {
  .account-details--more {
    display: grid;
    grid-template-columns: 5fr 4fr;
    gap: var(--spacing-8);
  }
}
@media (max-width: 1023px) {
  .account-details--picture {
    padding-block-start: var(--spacing-5);
  }
}
.account-details--picture label {
  display: block;
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  padding-block-end: var(--spacing-5);
}
@media (min-width: 768px) {
  .account-details--picture label {
    text-align: right;
  }
}
.account-details--picture .form-image-upload {
  position: relative;
}
@media (min-width: 768px) {
  .account-details--picture .form-image-upload {
    display: flex;
    justify-content: end;
  }
}
@media (min-width: 768px) {
  .account-details--picture img {
    margin-left: auto;
  }
}
.account-details--picture .form-group-image-actions {
  border: none;
}
.account-details--picture .form-group-image-actions .btn {
  display: none;
}
.account-details--picture button.link {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background-color: rgb(var(--color-lightest));
}
.page--account-content .content-widgets .container, .page--account-content .content-widgets .page--project-overview .overview-header, .page--project-overview .page--account-content .content-widgets .overview-header {
  margin-inline: 0;
  padding-inline: 0;
  max-width: none;
}
.page--account-content .content-widgets .image-text .text {
  margin-inline-end: var(--spacing-5);
  margin-inline-start: var(--spacing-4);
}
.page--account-content .content-widgets .widget-text {
  padding-inline: 0;
}
@media (min-width: 768px) {
  .dealer {
    display: grid;
    grid-template-columns: minmax(300px, 1fr) 3fr;
  }
}
@media (min-width: 1024px) {
  .dealer {
    grid-template-columns: minmax(400px, 1fr) 3fr;
  }
}
@media (min-width: 1200px) {
  .dealer {
    grid-template-columns: minmax(450px, 1fr) 3fr;
  }
}
.dealer button[type=submit] {
  margin-block: var(--spacing-6);
}
@media (min-width: 768px) {
  .dealer button[type=submit] {
    margin-block: var(--spacing-6) var(--spacing-7);
  }
}
.dealer-title {
  margin-block-end: var(--spacing-6);
}
.dealer-actions {
  display: grid;
  grid-template-columns: repeat(2, auto);
  justify-content: space-between;
  align-items: flex-start;
}
@media (min-width: 768px) {
  .dealer-actions {
    display: block;
  }
}
.dealer-actions .link {
  margin-block-end: var(--spacing-4);
}
.dealer-actions .link:last-child {
  margin-block-end: 0;
}
.dealer-filter {
  display: grid;
  grid-template-columns: repeat(2, auto);
  justify-content: space-between;
  align-items: flex-end;
  padding-block-start: var(--spacing-3);
}
.dealer-categories {
  display: grid;
  grid-template-columns: 1fr;
  padding-block-end: var(--spacing-1);
}
@media (min-width: 576px) {
  .dealer-categories {
    column-gap: var(--spacing-4);
    grid-template-columns: repeat(3, auto);
    padding-block-end: var(--spacing-4);
    justify-content: flex-end;
  }
}
@media (min-width: 768px) {
  .dealer-categories {
    padding-inline-end: var(--spacing-5);
    padding-block-end: var(--spacing-1);
    grid-template-columns: repeat(1, auto);
  }
}
@media (min-width: 1024px) {
  .dealer-categories {
    padding-inline-end: var(--spacing-8);
    padding-block-end: var(--spacing-4);
    grid-template-columns: repeat(3, auto);
  }
}
@media (min-width: 1200px) {
  .dealer-categories {
    column-gap: var(--spacing-5);
  }
}
.dealer-locator {
  padding-inline: var(--spacing-4);
}
@media (min-width: 768px) {
  .dealer-locator {
    padding-inline: 0;
  }
}
.dealer-results {
  position: relative;
}
.dealer-results::before {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 0;
  height: 1px;
  width: 100%;
  z-index: -1;
  background-color: rgb(var(--color-darkest));
}
.dealer-map {
  height: 400px;
  width: 100%;
  position: relative;
}
@media (min-width: 576px) {
  .dealer-map {
    padding-block-start: 100%;
    height: auto;
  }
}
@media (min-width: 1024px) {
  .dealer-map {
    padding-block-start: 75%;
  }
}
@media (min-width: 1200px) {
  .dealer-map {
    height: calc(100vh - 205px);
    min-height: 250px;
    max-height: 1000px;
    padding-block-start: 0;
  }
}
.dealer-map .google-map-container {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 1;
}
.dealer-map-list-active {
  position: absolute;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  user-select: none;
  z-index: -1;
}
.dealer-empty {
  padding-block-start: var(--spacing-5);
}
.dealer-list {
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: var(--spacing-5);
}
@media (min-width: 1024px) {
  .dealer-list {
    gap: var(--spacing-6);
  }
}
@media (min-width: 1400px) {
  .dealer-list.has--1-items, .dealer-list.has--2-items {
    grid-template-columns: repeat(3, minmax(290px, 1fr));
  }
}
.dealer-list .link-text {
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dealer-list .dealer-list-item-more-info {
  margin-block-start: 20px;
}
.dealer-sidebar-card {
  margin-block-start: var(--spacing-7);
  margin-block-end: var(--spacing-6);
}
.dealer-list-item {
  display: flex;
  flex-direction: column;
  padding: var(--spacing-4) var(--spacing-5) 0;
  border-top: 1px solid rgb(var(--color-darkest));
}
.dealer-list-item:first-child {
  border-top: none;
}
@media (min-width: 576px) {
  .dealer-list-item {
    padding-block: var(--spacing-4);
  }
  .dealer-list-item:nth-child(-n+2) {
    border-top: none;
  }
}
@media (min-width: 1400px) {
  .dealer-list-item:nth-child(-n+3) {
    border-top: none;
  }
}
.dealer-list-item .dealer-list-item-title {
  text-transform: uppercase;
}
.dealer-list-item .dealer-list-item-content:not(:last-child) {
  margin-block-end: var(--spacing-4);
}
.dealer-list-item .dealer-list-item-title:not(:last-child) {
  margin-block-end: var(--spacing-2);
}
.dealer-list-item .dealer-list-item-readmore:not(:last-child) {
  margin-block-end: var(--spacing-4);
}
@media (min-width: 576px) {
  .dealer-list-item .dealer-list-item-readmore:not(:last-child) {
    margin-block-end: var(--spacing-6);
  }
}
.dealer-list-item .dealer-list-item-footer {
  padding-top: var(--spacing-6);
}
.dealer-list-item.dealer-priority--top {
  background-color: rgb(var(--color-darkest));
  color: rgb(var(--color-lightest));
}
.dealer-list-item.dealer-priority--top .link--light {
  color: rbg(var(--color-lightest));
}
.dealer-list-item.dealer-priority--normal {
  background-color: rgb(var(--color-gray-100));
}
.dealer-list-item.dealer-priority--low .dealer-list-item-title {
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
}
.dealer-list-item.dealer-priority--low .dealer-list-item-address {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
}
.dealer-list-item-contact {
  flex-grow: 1;
}
.dealer-list-item-contact .link {
  align-items: flex-start;
  margin-block-end: var(--spacing-2);
  column-gap: var(--spacing-2);
  word-break: break-word;
}
.dealer-list-item-contact .link:last-child {
  margin-block-end: 0;
}
.dealer-list-item-contact .link .dealer-list-item-sm .icon {
  height: clamp(1.25rem, 0.19vw + 1.21rem, 1.38rem);
}
.dealer-empty {
  padding-block-start: var(--spacing-5);
}
.dealer-visual {
  position: relative;
}
.dealer-visual .dealer-visual-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: 500px;
  padding: var(--spacing-5);
  background: rgba(var(--color-lightest), 0.6);
  backdrop-filter: blur(10px);
  transform: translate(-50%, -50%);
}
.dealerdetail-header {
  display: grid;
  gap: var(--spacing-3) var(--spacing-6);
}
@media (min-width: 768px) {
  .dealerdetail-header {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1024px) {
  .dealerdetail-header {
    grid-template-columns: 7fr 5fr;
  }
}
.dealerdetail-title:not(:first-child) {
  margin-block-start: var(--spacing-2);
}
@media (min-width: 768px) {
  .dealerdetail-title:not(:first-child) {
    margin-block-start: var(--spacing-4);
  }
}
.dealerdetail-title:not(:last-child) {
  margin-block-end: var(--spacing-5);
}
@media (min-width: 768px) {
  .dealerdetail-title:not(:last-child) {
    margin-block-end: var(--spacing-6);
  }
}
.dealerdetail-booking {
  background-color: rgb(var(--color-darkest));
  color: rgb(var(--color-lightest));
  padding: var(--spacing-5);
}
@media (min-width: 576px) {
  .dealerdetail-booking {
    padding: var(--spacing-5) var(--spacing-6);
  }
}
.dealerdetail-booking .link {
  flex-direction: column;
  align-items: flex-start;
}
.dealerdetail-content {
  margin-block-start: var(--spacing-8);
}
.dealerdetail-title {
  text-transform: uppercase;
}
.dealer-detail-contact {
  margin-block-start: var(--spacing-2);
}
.page-error {
  color: rgb(var(--color-lightest));
  background: rgb(var(--color-gray-900));
}
@media (min-width: 576px) {
  .page-error .page-header {
    width: 480px;
  }
}
@media (min-width: 768px) {
  .page-error .page-header {
    width: 640px;
  }
}
.page-error .page-main {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
}
.page-error .footer-primary {
  margin-top: 0;
}
.page-error-title {
  margin-block-end: var(--spacing-4);
}
.page-error-title + .btn {
  margin-block-start: var(--spacing-3);
}
@media (min-width: 768px) {
  .page-error-title + .btn {
    margin-block-start: var(--spacing-5);
  }
}
.page-error-figure {
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.page-error-code {
  font-size: 120px;
  line-height: 1;
  font-family: var(--font-family-heading);
  font-weight: 800;
  display: block;
  text-align: right;
  margin-block-end: calc(var(--spacing-4) / -1);
  margin-inline-end: calc(var(--spacing-1) / -1);
  padding-top: var(--spacing-6);
}
@media (min-width: 576px) {
  .page-error-code {
    font-size: 200px;
    margin-block-end: -28px;
    margin-inline-end: -10px;
  }
}
@media (min-width: 1024px) {
  .page-error-code {
    font-size: 340px;
    margin-block-end: -50px;
  }
}
@media (min-width: 1400px) {
  .page-error-code {
    font-size: 400px;
    margin-block-end: -60px;
  }
}
.events-header {
  position: relative;
  text-align: left;
}
@media (min-width: 768px) {
  .events-header {
    text-align: center;
  }
}
.events-header .variants {
  position: relative;
  top: var(--spacing-4);
}
@media (min-width: 768px) {
  .events-header .variants {
    position: absolute;
    top: var(--spacing-1);
    right: 0;
  }
}
/* might move this later on */
@media (max-width: 1023px) {
  .homepage-hero {
    padding-block-start: calc(100vh - 255px);
    background-color: rgb(var(--color-darkest));
  }
  .homepage-hero .home-cta-hero-video, .homepage-hero .home-cta-hero-image {
    height: auto;
  }
  .homepage-hero .card-body {
    background-color: rgb(var(--color-lightest));
  }
  .homepage-hero .home-cta-hero-image img {
    max-width: 100%;
    height: auto;
    min-height: 0;
    position: static;
  }
}
.home-cta-hero-image {
  position: relative;
  width: 100%;
  height: 80vh;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .home-cta-hero-image {
    width: 75%;
  }
}
@media (min-width: 1200px) {
  .home-cta-hero-image {
    width: 80%;
  }
}
.home-cta-hero-image img {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 100%;
  min-height: 86vh;
  max-width: none;
  object-fit: cover;
}
@media (min-width: 1024px) {
  .home-cta-hero-image img {
    width: 100%;
  }
}
.home-cta-hero-video {
  position: relative;
  width: 100vw;
  height: 80vh;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .home-cta-hero-video {
    width: 75%;
  }
}
@media (min-width: 1200px) {
  .home-cta-hero-video {
    width: 80%;
  }
}
.home-cta-hero-video video, .home-cta-hero-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  background: rgb(var(--color-darkest));
}
@media (max-width: 1023px) {
  .home-cta-hero-video video, .home-cta-hero-video iframe {
    position: static;
  }
}
.home-cta-hero-video.hosted-video iframe {
  aspect-ratio: 16/9;
}
@media (prefers-reduced-motion: reduce) {
  .home-cta-hero-video iframe {
    display: none;
  }
}
@media (max-width: 1023px) {
  .home-cta-hero-video img {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .home-cta-hero-video img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    min-width: 100vw;
    min-height: 86vh;
    max-width: none;
    object-fit: cover;
  }
}
@media (prefers-reduced-motion: reduce) and (min-width: 1024px) {
  .home-cta-hero-video img {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) and (max-width: 1023px) {
  .home-cta-hero-video img {
    display: block;
    position: static;
  }
}
@media (max-width: 1023px) {
  .home-cta {
    z-index: 105;
  }
}
.home-cta .card-title {
  position: relative;
  opacity: 0;
}
@keyframes animation--slide-in-bottom {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-2vh);
  }
}
@keyframes animation--inspiration-start {
  0% {
    transform: scaleX(0.5);
    opacity: 0;
  }
  100% {
    transform: scaleX(1);
    opacity: 1;
  }
}
@keyframes animation--inspiration-hide {
  0% {
    transform: scaleY(1);
    opacity: 1;
  }
  100% {
    transform: scaleY(0.03);
    opacity: 1;
  }
}
@keyframes animation--products-start {
  0% {
    transform: scaleY(0.2);
    opacity: 0;
  }
  100% {
    transform: scaleY(1);
    opacity: 1;
  }
}
@keyframes animation--products-hide {
  0% {
    top: 0;
    height: 100%;
    opacity: 1;
  }
  100% {
    top: calc((48vh - 3%) * -1);
    height: 3%;
    opacity: 1;
  }
}
@keyframes animation--nav-bg {
  0% {
    transform: scaleX(0.8);
  }
  100% {
    transform: scaleX(1);
  }
}
@media (min-width: 1024px) {
  .page--homepage .header-primary {
    position: fixed;
  }
}
@media (min-width: 768px) {
  .page--homepage .content-widgets .related-slider .slider-contents {
    padding-block-end: 0;
  }
}
.page--homepage .page-header {
  padding: 0;
}
.page--homepage .homepage-overlay {
  position: absolute;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(var(--color-darkest));
  background-image: radial-gradient(69.07% 43.59% at 6.93% -1.41%, rgba(0, 0, 0, 0.5) 0%, #000000 100%);
  pointer-events: none;
}
@media (min-width: 768px) {
  .page--homepage .homepage-overlay {
    background-image: radial-gradient(32.29% 44.12% at 20.14% 15.72%, rgba(0, 0, 0, 0.5) 0%, #000000 100%);
  }
}
@media (max-width: 1399px) {
  .page--homepage .homepage-overlay {
    background-image: radial-gradient(68.87% 58.69% at 20.14% 15.72%, rgba(0, 0, 0, 0.5) 0%, #000000 100%);
  }
}
.page--homepage.modal-open .homepage-overlay, .page--homepage.hide-overlay .homepage-overlay {
  display: none;
}
.nav--homepage .header-primary:not(.is--mobile-panel-open) {
  --nav-panel-account-color: var(--color-darkest);
  --nav-panel-account-background: var(--color-gray-100);
}
.nav--homepage .header-primary:not(.is--mobile-panel-open) .nav-panel--account .btn, .nav--homepage .header-primary:not(.is--mobile-panel-open) .nav-panel--account .badge {
  filter: invert(100%);
}
.nav--homepage .header-primary:not(.is--open) .nav-primary {
  position: fixed;
}
.nav--homepage .header-primary:not(.is--open) .nav-primary::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  height: 100%;
  background-color: var(--color-lightest);
  background: linear-gradient(90deg, rgba(var(--color-lightest), 0) 0%, rgb(var(--color-lightest)) 50%);
  content: "";
  z-index: -1;
}
.nav--homepage .header-primary:not(.is--open) .nav-primary.is--hidden {
  pointer-events: none;
}
.nav--homepage .header-primary:not(.is--open) .nav-primary.is--hidden::before {
  display: none;
}
.nav--homepage .header-primary:not(.is--open) .nav-primary.is--hidden .nav-item--inspiration::before {
  transform: scaleX(1);
  opacity: 1;
  will-change: height, top;
}
.nav--homepage .header-primary:not(.is--open) .nav-primary.is--hidden .nav-item--inspiration span {
  opacity: 0;
  animation: none;
}
.nav--homepage .header-primary:not(.is--open) .nav-primary.is--hidden .nav-item--products::before {
  transform-origin: 0 100%;
  transform: scaleX(1);
  opacity: 1;
  animation: none;
}
.nav--homepage .header-primary:not(.is--open) .nav-primary.is--hidden .nav-item--products span {
  opacity: 0;
}
.nav--homepage .header-primary:not(.is--open) .nav-primary.is--hidden .nav-item--content {
  opacity: 0;
}
.nav--homepage .header-primary:not(.is--open) .nav-primary.is--hidden .nav-list--actions {
  opacity: 0;
}
.nav--homepage .header-primary:not(.is--open) .nav-primary.is--shown .nav-item--inspiration::before,
.nav--homepage .header-primary:not(.is--open) .nav-primary.is--shown .nav-item--products::before {
  opacity: 1;
  transform: scaleX(1);
  height: 100%;
}
.nav--homepage .header-primary:not(.is--open) .nav-primary.is--shown .nav-item--products::before {
  transform: scaleY(0.2);
}
.nav--homepage .header-primary:not(.is--open) .nav-primary.is--shown .nav-item--content,
.nav--homepage .header-primary:not(.is--open) .nav-primary.is--shown .nav-list--actions {
  opacity: 0;
}
.nav--homepage .header-primary:not(.is--open) .nav-item--main {
  position: relative;
}
.nav--homepage .header-primary:not(.is--open) .nav-item--inspiration,
.nav--homepage .header-primary:not(.is--open) .nav-item--products {
  background: none;
}
.nav--homepage .header-primary:not(.is--open) .nav-item--inspiration::before, .nav--homepage .header-primary:not(.is--open) .nav-item--inspiration::after,
.nav--homepage .header-primary:not(.is--open) .nav-item--products::before,
.nav--homepage .header-primary:not(.is--open) .nav-item--products::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transform-origin: 0 0;
  content: "";
  z-index: -1;
}
.nav--homepage .header-primary:not(.is--open) .nav-item--inspiration::before,
.nav--homepage .header-primary:not(.is--open) .nav-item--products::before {
  pointer-events: all;
}
.nav--homepage .header-primary:not(.is--open) .nav-item--inspiration > span,
.nav--homepage .header-primary:not(.is--open) .nav-item--products > span,
.nav--homepage .header-primary:not(.is--open) .nav-item--content {
  opacity: 0;
}
.nav--homepage .header-primary:not(.is--open) .nav-list--actions {
  opacity: 0;
}
.nav--homepage .header-primary:not(.is--open) .nav-item--inspiration::before {
  background-color: rgb(0, 0, 0);
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.7) 0%, rgb(0, 0, 0) 40%);
  transform: scaleX(0.5);
}
.nav--homepage .header-primary:not(.is--open) .nav-item--products::before {
  background-color: rgba(var(--color-accent-500), 1);
  background: linear-gradient(90deg, rgba(var(--color-accent-500), 0.7) 0%, rgba(var(--color-accent-500), 1) 60%);
  transform: scaleY(0.2);
}
.play-animations .home-cta .card-title {
  animation: 1s animation--fade-in ease-out forwards 1.2s;
}
.play-animations .header-primary:not(.is--open) .nav-item--inspiration > span,
.play-animations .header-primary:not(.is--open) .nav-item--products > span,
.play-animations .header-primary:not(.is--open) .nav-item--content {
  animation: 0.35s animation--fade-in ease-out forwards 1s;
}
.play-animations .header-primary:not(.is--open) .nav-list--actions {
  animation: 0.45s animation--fade-in ease-out forwards 1.2s;
}
.play-animations .header-primary:not(.is--open) .nav-item--inspiration::before {
  animation: 1.1s animation--inspiration-start cubic-bezier(0.22, 1, 0.36, 1) 0.6s forwards;
}
.play-animations .header-primary:not(.is--open) .nav-item--products::before {
  animation: 1.1s animation--products-start cubic-bezier(0.22, 1, 0.36, 1) 0.6s forwards;
}
.play-animations.played .header-primary:not(.is--open) .nav-item--inspiration > span,
.play-animations.played .header-primary:not(.is--open) .nav-item--products > span,
.play-animations.played .header-primary:not(.is--open) .nav-item--content {
  animation: 0s animation--fade-in ease-out forwards;
}
.play-animations.played .header-primary:not(.is--open) .nav-list--actions {
  animation: 0s animation--fade-in ease-out forwards;
}
.play-animations.played .header-primary:not(.is--open) .nav-item--inspiration::before {
  animation: 0s animation--inspiration-start cubic-bezier(0.22, 1, 0.36, 1) 0s forwards;
}
.play-animations.played .header-primary:not(.is--open) .nav-item--products::before {
  animation: 0s animation--products-start cubic-bezier(0.22, 1, 0.36, 1) 0s forwards;
}
.play-animations .homepage-overlay {
  animation: 0.8s animation--fade-out cubic-bezier(0.11, 0, 0.5, 0) 0.5s forwards;
}
/*
	-----------------------------------------
	Jobs intro
	-----------------------------------------
*/
.widget-cta--jobs-intro {
  display: flex;
  justify-content: flex-end;
  padding: 0 var(--spacing-5);
}
@media (min-width: 768px) {
  .widget-cta--jobs-intro {
    padding: 0 var(--spacing-8);
  }
}
.widget-cta--jobs-intro > * {
  max-width: 880px;
}
.jobs-slider p {
  margin: var(--vertical-spacing-small) 0;
}
.jobs-slider .jobs-slider-header {
  max-width: 600px;
}
.jobs-slider .container, .jobs-slider .page--project-overview .overview-header, .page--project-overview .jobs-slider .overview-header {
  position: relative;
}
/*
	-----------------------------------------
	Jobs overview
	-----------------------------------------
*/
.page--jobs-overview {
  background: linear-gradient(0deg, rgb(var(--color-lightest)) 0%, rgb(var(--color-lightest)) 50%, rgb(var(--color-gray-100)) 50%, rgb(var(--color-gray-100)) 100%);
}
.page--jobs-overview .page-header {
  padding-block-start: var(--spacing-7);
  padding-block-end: var(--spacing-7);
}
.page--jobs-overview .widget-text .widget-container {
  padding: 0;
}
.jobs-filters-intro {
  margin-block-end: var(--spacing-5);
}
.jobs-filters-intro h1 {
  margin-block-end: var(--24px);
}
.jobs-filters-intro * {
  --vertical-spacing-default: 0;
}
@media (min-width: 1024px) {
  .jobs-filters {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .jobs-filters-intro {
    flex: 1 0 100%;
    max-width: 488px;
    margin-block-end: 0;
  }
  .jobs-filters-options {
    flex: 1 0 100%;
    max-width: 380px;
  }
}
.jobs-overview {
  background: rgb(var(--color-lightest));
}
.jobs-header {
  display: grid;
  padding-block: var(--spacing-5) var(--spacing-7);
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-5);
  align-items: center;
}
.jobs-header > * {
  display: flex;
}
.jobs-header .jobs-header-sort, .jobs-header .jobs-reset-link {
  justify-content: flex-end;
}
@media (max-width: 767px) {
  .jobs-header .jobs-header-sort {
    grid-column: 1/span 2;
  }
  .jobs-header .form-group {
    min-width: 100%;
  }
}
@media (min-width: 768px) {
  .jobs-header {
    grid-template-columns: repeat(3, 1fr);
  }
  .jobs-header .jobs-reset-link {
    justify-content: center;
  }
  .jobs-header .form-group {
    min-width: 150px;
  }
}
.jobs-listing-container {
  padding: 0 var(--spacing-4);
}
@media (min-width: 1024px) {
  .jobs-listing-container {
    padding: 0 var(--spacing-5);
  }
}
@media (min-width: 1200px) {
  .jobs-listing-container {
    padding: 0 var(--spacing-7);
  }
}
.jobs-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-7);
  margin: 0 auto var(--spacing-8);
  max-width: 1920px;
  /* deprecated due to smaller container after feedback */
  /*@include media-breakpoint-up(xxl) {
      grid-template-columns: repeat(4, 1fr);
      gap: var(--spacing-8);
  }*/
}
@media (min-width: 576px) {
  .jobs-list {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-5);
  }
}
@media (min-width: 768px) {
  .jobs-list {
    gap: var(--spacing-7);
  }
}
@media (min-width: 1024px) {
  .jobs-list {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-6);
  }
}
@media (min-width: 1400px) {
  .jobs-list {
    gap: var(--spacing-7);
  }
}
.jobs-item {
  position: relative;
}
.jobs-item img {
  margin-block-end: var(--spacing-3);
  aspect-ratio: 16/10;
  object-fit: cover;
}
.jobs-item .jobs-item-location {
  margin-block: var(--spacing-2);
  color: rgb(var(--color-gray-700));
}
.jobs-item-cta {
  padding: var(--spacing-3);
}
@media (min-width: 768px) {
  .jobs-item-cta {
    padding: var(--spacing-5);
  }
}
@media (min-width: 1200px) {
  .jobs-item-cta {
    padding: var(--spacing-6);
  }
}
@media (min-width: 1400px) {
  .jobs-item-cta {
    padding: var(--spacing-7);
  }
}
.jobs-item-cta .widget-cta-title {
  margin-bottom: var(--24px);
}
.jobs-load-more {
  display: flex;
  justify-content: center;
  margin-block-end: var(--spacing-8);
}
/*
	-----------------------------------------
	Jobs detail
	-----------------------------------------
*/
.jobs-detail ul {
  margin-block-end: var(--spacing-8);
}
.jobs-detail h2 + ul {
  margin-block-start: var(--spacing-5);
}
.jobs-detail-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-7);
}
@media (min-width: 1024px) {
  .jobs-detail-grid {
    grid-template-columns: 1fr 444px;
    gap: var(--spacing-9);
  }
}
@media (min-width: 1400px) {
  .jobs-detail-grid {
    gap: 180px;
  }
}
.jobs-detail-grid .jobs-detail-function {
  padding-block-start: var(--spacing-7);
}
.jobs-location {
  margin-block-start: var(--spacing-1);
  color: rgb(var(--color-gray-800));
}
.jobs-detail-offer {
  background: rgb(var(--color-accent-500));
  color: rgb(var(--color-accent-contrast));
}
.jobs-detail-offer ul li {
  margin-block-end: var(--12px);
}
.jobs-detail-offer-info {
  padding: var(--spacing-4) var(--spacing-6);
}
@media (min-width: 768px) {
  .jobs-detail-offer-info {
    padding: var(--spacing-6) var(--spacing-8);
  }
}
.jobs-cta-apply {
  margin-inline-end: var(--spacing-8);
}
.jobs-company-info {
  padding-inline: var(--spacing-3);
  margin: var(--spacing-6) auto;
  max-width: 874px;
}
@media (min-width: 1024px) {
  .jobs-company-info {
    margin: var(--spacing-10) auto;
  }
}
.jobs-related {
  margin-block-start: var(--spacing-6);
}
@media (min-width: 1024px) {
  .jobs-related {
    margin-block-start: var(--spacing-10);
  }
}
.jobs-related .jobs-related-title {
  margin-block-end: var(--spacing-6);
}
.page-productbrowser {
  background: var(--gradient-radial-accent-100);
  background-color: rgb(var(--color-lightest));
  background-size: 100vw 70vh;
  background-repeat: no-repeat;
}
.page-productbrowser .page-main {
  display: flex;
  flex-direction: column;
}
.page-productbrowser .page-content {
  position: relative;
  flex: 1;
  padding-bottom: var(--spacing-10);
}
@media (min-width: 1024px) {
  .page-productbrowser .page-content.is--offsetted::after {
    position: absolute;
    top: 0;
    right: 0;
    width: var(--spacing-6);
    height: var(--spacing-6);
    content: "";
    background-color: rgb(var(--color-accent-500));
  }
}
.page-productbrowser .loader-wrapper {
  padding-block: var(--spacing-6);
}
.page--productbrowser-advanced .loader-wrapper {
  padding-block: 0;
}
@media (min-width: 768px) {
  .productbrowser-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-6);
  }
}
@media (min-width: 1024px) {
  .productbrowser-grid {
    gap: var(--spacing-8);
  }
}
@media (min-width: 768px) {
  .productbrowser-grid .product {
    margin-bottom: 0;
  }
}
@media (min-width: 576px) {
  .productbrowser-grid .card--product.is--wide {
    display: grid;
    gap: var(--spacing-6);
    grid-template-columns: repeat(2, 1fr);
    grid-column: 1/span 2;
  }
}
@media (min-width: 768px) {
  .productbrowser-grid .cta--product.is--after-highlight {
    margin-left: calc(var(--spacing-6) * -1);
    margin-right: 0;
    margin-bottom: 0;
  }
}
@media (min-width: 1024px) {
  .productbrowser-grid .cta--product.is--after-highlight {
    margin-left: calc(var(--spacing-8) * -1);
    margin-right: 0;
    padding: var(--spacing-8);
  }
}
.productlist-item {
  display: grid;
  padding-block-end: var(--spacing-8);
  gap: var(--spacing-6);
  grid-template-columns: 50% 1fr;
  grid-template-areas: "image header" "main main";
}
@media (min-width: 768px) {
  .productlist-item {
    grid-template-columns: 25% 1fr;
  }
}
@media (min-width: 1024px) {
  .productlist-item {
    grid-template-columns: 16.667% 1fr;
    grid-template-areas: "header header" "image main";
  }
}
.productlist-item--planning {
  gap: var(--spacing-5);
  align-items: flex-start;
}
@media (min-width: 1024px) {
  .productlist-item--planning {
    grid-template-columns: minmax(100px, 16.6666667%) 1fr;
    gap: 0 var(--spacing-5);
  }
}
@media (min-width: 1400px) {
  .productlist-item--planning {
    grid-template-columns: 12.5rem 1fr;
  }
}
.productlist-item--planning label {
  line-height: var(--18px);
  padding-inline-start: var(--spacing-2);
}
@media (min-width: 768px) {
  .productlist-item--planning label {
    padding-inline-start: var(--spacing-3);
  }
}
.productlist-item--planning th {
  white-space: normal;
  padding-block-start: 0;
}
.productlist-item--planning td {
  padding-block-start: var(--spacing-3);
  padding-block-end: var(--spacing-3);
}
.productlist-item--planning .productlist-item-image {
  padding-block-start: 100%;
  background-color: rgba(var(--color-gray-100), 1);
}
.productlist-item-header {
  grid-area: header;
  padding-block-end: var(--spacing-6);
}
@media (min-width: 1024px) {
  .productlist-item-header {
    text-align: center;
  }
}
.productlist-item-image {
  position: relative;
  grid-area: image;
}
.productlist-item-data {
  grid-area: main;
}
.productlist-item-data tr:hover td {
  background-color: rgb(var(--color-gray-100)) !important;
}
.productlist-item-data .scrollable-table th .d-flex {
  align-items: end;
}
.productlist-item-sku-wrapper {
  display: flex;
}
.productlist-item-sku {
  font-weight: var(--font-weight-semibold);
  text-decoration: none;
  color: currentColor;
}
.productlist-item-sku .link-text::before {
  display: none;
}
.productlist-item-button {
  display: inline-block;
}
.productlist-item-button + .productlist-item-button {
  margin-inline-start: var(--spacing-6);
}
.productlist-item-button .link {
  margin-bottom: 0;
}
.productlist-item-buttons {
  padding-block-end: 0;
  text-align: right;
}
.productlist-item-footer {
  margin-top: var(--spacing-5);
}
.productlist-item-footer--select-all {
  margin-block-end: var(--spacing-5);
}
@media (min-width: 576px) {
  .productlist-item-footer--select-all {
    margin-block-end: 0;
  }
}
.productlist-item-footer--select-all input {
  color: rgb(var(--color-gray-700));
}
.productlist-item-footer--select-all input:checked {
  color: rgb(var(--color-darkest));
}
.productlist-item-footer--select-all input:checked + label {
  color: rgb(var(--color-darkest));
}
.productlist-item-footer.disabled .productlist-item-footer--select-all {
  color: rgb(var(--color-gray-700));
}
.product-swatches {
  display: flex;
  align-items: center;
  padding-block: var(--20px);
}
.product-swatches-label {
  display: inline-block;
  padding-inline-start: var(--spacing-2);
  color: rgb(var(--color-gray-700));
}
.productlist-custombuild-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-6);
}
.productlist-custombuild-column {
  padding-block: var(--spacing-4);
  border-top: 1px solid rgb(var(--color-darkest));
  border-bottom: 1px solid rgb(var(--color-darkest));
}
.productlist-custombuild-title {
  margin-block-end: var(--spacing-2);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
}
.productlist-custombuild-description {
  margin-block-end: var(--spacing-5);
}
.productlist-item--na {
  grid-template-areas: "image header" "main main" "footer footer";
  padding-block-end: var(--spacing-6);
  padding-block-start: var(--spacing-6);
  border-block-start: 1px solid rgb(var(--color-foreground));
}
@media (max-width: 575px) {
  .productlist-item--na:first-child {
    padding-block-start: 0;
    border-block-start: none;
  }
}
@media (min-width: 1024px) {
  .productlist-item--na {
    grid-template-areas: "header header" "image main" "footer footer";
  }
}
.productlist-item--na .productlist-item-header .product-pin {
  display: inline-flex;
  margin-inline: auto;
  margin-block-start: var(--spacing-2);
}
@media (min-width: 768px) {
  .productlist-item--na .productlist-item-data {
    display: grid;
    column-gap: var(--spacing-6);
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "text properties" "text actions";
  }
}
@media (min-width: 1200px) {
  .productlist-item--na .productlist-item-data {
    grid-template-columns: 1fr 1fr 0.8fr;
    grid-template-areas: "text properties actions";
  }
}
.productlist-item--na .productlist-item-text {
  grid-area: text;
}
.productlist-item--na .productlist-item-text .product-list-item-description:not(:empty) {
  margin-block-end: var(--spacing-5);
}
.productlist-item--na .productlist-item-text .product-list-item-description:not(:empty) p, .productlist-item--na .productlist-item-text .product-list-item-description:not(:empty) ul, .productlist-item--na .productlist-item-text .product-list-item-description:not(:empty) ol {
  margin-block-end: var(--spacing-5);
}
@media (max-width: 1199px) {
  .productlist-item--na .productlist-item-text .btn {
    margin-block-end: var(--spacing-5);
  }
}
.productlist-item--na .productlist-item-text .productlist-item-carousel {
  margin-block-end: var(--spacing-5);
}
.productlist-item--na .product-properties {
  margin-block-start: 0;
  grid-area: properties;
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
}
@media (max-width: 1199px) {
  .productlist-item--na .productlist-item-properties + .productlist-item-actions {
    margin-block-start: var(--spacing-4);
  }
}
.productlist-item--na .productlist-item-actions {
  grid-area: actions;
}
.productlist-item--na .productlist-item-carousel {
  grid-area: footer;
}
.productlist-item-actions--na .btn--download {
  display: block;
  width: 100%;
}
.productlist-item-action--na {
  display: flex;
  line-height: 1;
  padding-block: var(--spacing-2);
  border-top: 1px solid rgb(var(--color-darkest));
  justify-content: space-between;
}
.productlist-item-action--na .link {
  display: flex;
  width: 100%;
  justify-content: space-between;
}
.productlist-item-action--na .link-text {
  display: inline-flex;
  color: rgb(var(--color-link-neutral));
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
}
.productlist-item-action--na .link-text::before {
  display: none;
}
.productlist-item-action--na .links {
  display: flex;
  column-gap: var(--spacing-2);
}
.productlist-item-action--na .links a {
  color: rgb(var(--color-link-neutral));
}
.productlist-item--planning-na {
  grid-template-columns: 50% 1fr;
  grid-template-areas: "image image" "main main";
}
@media (min-width: 768px) {
  .productlist-item--planning-na {
    grid-template-columns: 25% 1fr;
    grid-template-areas: "image main";
  }
}
@media (min-width: 1024px) {
  .productlist-item--planning-na {
    grid-template-columns: 16.667% 1fr;
    grid-template-areas: "image main";
  }
}
.productlist-item--planning-na .productlist-item-header {
  padding-block-end: var(--spacing-4);
  text-align: left;
}
.productlist-item--planning-na .productlist-item-content {
  padding-block-start: var(--spacing-4);
  padding-block-end: var(--spacing-3);
  border-block: 1px solid rgb(var(--color-darkest));
}
.productlist-item--planning-na .productlist-item-checkboxes {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 1024px) {
  .productlist-item--planning-na .productlist-item-checkboxes {
    grid-template-columns: repeat(3, 1fr);
  }
}
.productlist-item--planning-na .productlist-item-checkbox {
  margin-block-end: var(--spacing-4);
}
.productbrowser-grid .product--na .product-header {
  display: block;
}
.productbrowser-grid .product--na .product-heading {
  display: flex;
}
.productbrowser-grid .product--na .product-heading-action {
  margin-left: auto;
  width: 32px;
}
.productbrowser-grid .product--na .product-text {
  padding-right: var(--spacing-2);
}
.productbrowser-grid .product--na .product-description:not(:empty) {
  margin-block-start: var(--spacing-3);
}
.productbrowser-grid .product--na .product-description:not(:empty) p, .productbrowser-grid .product--na .product-description:not(:empty) ul, .productbrowser-grid .product--na .product-description:not(:empty) ol {
  margin-block-end: var(--spacing-5);
}
.productbrowser-grid .product--na .product-description:not(:empty) p:last-child, .productbrowser-grid .product--na .product-description:not(:empty) ul:last-child, .productbrowser-grid .product--na .product-description:not(:empty) ol:last-child {
  margin-block-end: 0;
}
.productbrowser-grid .product--na .product-properties {
  position: relative;
  margin-block-start: var(--spacing-5);
  margin-block-end: 0;
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
}
.productbrowser-grid .product--na .product-properties:empty {
  display: none;
}
.productbrowser-grid .product--na .product-footer {
  position: relative;
  margin-block-start: var(--spacing-4);
  padding-block-start: var(--spacing-3);
}
.productbrowser-grid .product--na .product-footer::before {
  position: absolute;
  top: 0;
  left: 0;
  width: var(--spacing-7);
  height: 1px;
  content: "";
  background-color: rgb(var(--color-foreground));
}
.productbrowser-grid .product--na .product-count {
  margin-block-start: 0;
}
/* Overview refactor 07/2024 (DELTALIGHT_0001-1832) */
.page--productbrowser-v2 .page-content:has(.grouped-category__related) {
  padding-block-end: 0;
}
.productbrowser-list__product {
  display: grid;
  grid-template-columns: var(--spacing-8) auto;
  gap: var(--spacing-4);
}
.productbrowser-list__product .product-swatches {
  padding-block: var(--spacing-2);
}
.productbrowser-list__product-title {
  font-size: var(--14px);
  line-height: var(--20px);
}
.productdetail-subfamilies-v2 thead th {
  border-bottom-width: 2px;
}
.productdetail-subfamilies-v2 .overview-view-switcher {
  display: none;
}
.page-productbowser--family-overview .overview-header {
  padding-block-start: var(--spacing-7);
}
.page-productbowser--family-overview .page-content.is--offsetted::after {
  display: none;
}
.page--productbrowser-v3 {
  --header-height: 48px;
}
.page--productbrowser-v3 .dropdown-icon,
.page--productbrowser-v3 .collapse__icon {
  --icon-width: 32px;
  --icon-height: 32px;
  position: absolute;
  top: 50%;
  right: 0;
  margin-block-start: -16px;
}
.page-productdetail {
  background: radial-gradient(50% 50% at 50% 50%, #EEF2F4 0%, rgba(238, 242, 244, 0) 100%);
  background-color: rgb(var(--color-lightest));
  background-size: 100vw 70vh;
  background-repeat: no-repeat;
}
.page-productdetail.is--north-america .productdetail-subfamilies {
  margin-block-start: 0;
}
@media (min-width: 1024px) {
  .page-productdetail.is--north-america .actions-list {
    margin-block-end: 0;
    padding-block-end: 0;
  }
}
.page-productdetail.is--north-america .productlist-item-actions--na {
  margin-block-start: var(--spacing-6);
}
.page-productdetail .loader-wrapper {
  padding-block-start: 0;
}
.productdetail {
  scroll-margin-block-start: var(--spacing-10);
}
@media (min-width: 1024px) {
  .productdetail-header {
    display: grid;
    grid-template-columns: 55fr 45fr;
    padding-block-end: var(--spacing-7);
  }
}
.productdetail-image-wrapper {
  display: flex;
  margin-top: calc(var(--spacing-10) / -2);
  width: 100%;
  max-height: 90vh;
  aspect-ratio: 1;
}
@media (min-width: 1024px) {
  .productdetail-image-wrapper {
    margin-top: calc(var(--spacing-10) * -1);
  }
}
@media (min-width: 1024px) and (max-width: 1399px) {
  .productdetail-image-wrapper {
    max-height: 55vw;
  }
}
.productdetail-image {
  position: relative;
  margin-left: auto;
}
.productdetail-image img {
  width: auto;
  height: 100%;
  max-height: 90vh;
  /* iPad pro specific */
  /* Safari targetting */
}
@supports (background: -webkit-named-image(i)) {
  .productdetail-image img {
    height: auto;
  }
}
@media (min-width: 1024px) {
  .productdetail-image img {
    margin-inline-start: auto;
  }
  .productdetail-image .product-badge {
    left: auto;
    right: 0;
  }
}
.productdetail-info {
  --productdetail-links-height: 0;
  position: relative;
  padding-block-start: var(--spacing-4);
  padding-block-end: calc(var(--spacing-5) + var(--productdetail-links-height));
  padding-inline: var(--spacing-4);
}
@media (min-width: 768px) {
  .productdetail-info {
    padding-block-start: var(--spacing-5);
    padding-inline: var(--spacing-5);
  }
}
@media (min-width: 1024px) {
  .productdetail-info {
    --productdetail-links-height: 104px;
    padding-block-start: 0;
    padding-inline: var(--spacing-7);
  }
}
@media (min-width: 1400px) {
  .productdetail-info {
    padding-inline: var(--spacing-8);
  }
}
.productdetail-info .product-swatches {
  flex-wrap: wrap;
  row-gap: var(--spacing-3);
}
.productdetail-info .actions-list:not(.has--items) {
  margin: 0;
  border-top: none;
}
@media (min-width: 768px) {
  .productdetail-info .actions-list {
    columns: 2;
  }
}
@media (min-width: 1024px) and (max-width: 1120px) {
  .productdetail-info .actions-list {
    columns: unset;
  }
}
.productdetail-description {
  max-width: 80ch;
}
.productdetail-links {
  --margin-offset: var(--spacing-4);
  margin-block-end: var(--spacing-6);
  margin-inline: calc(var(--margin-offset) * -1);
}
@media (min-width: 768px) {
  .productdetail-links {
    --margin-offset: var(--spacing-5);
  }
}
@media (min-width: 1024px) {
  .productdetail-links {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    margin-inline: 0;
    margin-block-end: 0;
  }
}
.productdetail-links .productdetail-link {
  --btn-padding-x: var(--spacing-5);
  --btn-padding-y: var(--spacing-5);
  --btn-font-size: var(--16px);
  display: flex;
  justify-content: space-between;
  line-height: 1.25;
  text-transform: none;
}
@media (min-width: 1024px) {
  .productdetail-links .productdetail-link {
    --btn-padding-x: var(--spacing-7);
    position: absolute;
    bottom: 0;
    width: 50%;
  }
}
@media (min-width: 1400px) {
  .productdetail-links .productdetail-link {
    --btn-padding-x: var(--spacing-8);
    --btn-padding-y: var(--spacing-6);
  }
}
.productdetail-links .productdetail-link span {
  display: inline-block;
  text-wrap: balance;
  max-width: 14ch;
}
.productdetail-links .productdetail-link--projects {
  left: 0;
}
.productdetail-links .productdetail-link--products {
  right: 0;
}
@media (min-width: 1024px) {
  .productdetail-link--addtowishlist {
    display: none;
  }
}
.productdetail-link--addtowishlist .link {
  padding: var(--spacing-5);
}
.productdetail-link--addtowishlist .icon {
  margin-left: auto;
  order: 2;
}
.productdetail-title {
  margin-bottom: var(--spacing-2);
}
.productdetail-subfamilies {
  margin-block-start: var(--spacing-9);
}
.productdetail-subfamilies + .productdetail-carousel {
  margin-block-start: var(--spacing-8);
}
.productdetail-carousel + .content-widgets {
  padding-block-start: var(--spacing-6);
}
.productdetail-subfamily-filters {
  position: relative;
  padding-block-start: var(--spacing-8);
  z-index: 10;
}
@media (max-width: 1023px) {
  .productdetail-subfamily-filters {
    z-index: 90;
  }
}
@media (max-width: 1199px) {
  .productdetail-subfamily-filters .page-header-actions {
    display: none;
  }
}
.productdetail-addtowishlist {
  display: none;
}
@media (min-width: 1024px) {
  .productdetail-addtowishlist {
    display: flex;
    position: absolute;
    bottom: calc(100% + var(--spacing-1));
    right: var(--spacing-6);
    border-top: none;
  }
}
.productdetail-addtowishlist .icon {
  order: 2;
}
.page-productbrowser .productdetail-subfamily-filters {
  padding-block-start: 0;
}
.page-productdetail.is--north-america .content-widgets .related-slider .slider-contents {
  padding-bottom: 0;
}
.page-productdetail--single .productdetail-info {
  padding-block-start: var(--spacing-5);
  padding-block-end: calc(var(--spacing-3) + var(--productdetail-links-height));
}
.page-productdetail--single .productdetail-addtowishlist {
  bottom: calc(100% - var(--spacing-5));
}
@media (min-width: 1200px) {
  .page-productdetail.has--compare-items .productdetail-addtowishlist {
    bottom: calc(100% - var(--spacing-5));
  }
}
@keyframes animation--carousel-slide-in {
  to {
    transform: translateX(0);
  }
}
.product-carousel {
  overflow: hidden;
}
.product-carousel .product-images {
  transform: translateX(20vw);
}
.product-carousel.is--visible .product-images {
  animation: 0.8s animation--carousel-slide-in cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.productdetail-carousel {
  padding-bottom: var(--spacing-6);
}
.page-productdetail--v3 .collapse__icon {
  --icon-width: 32px;
  --icon-height: 32px;
  position: absolute;
  top: 50%;
  right: 0;
  margin-block-start: -16px;
}
.page--project-overview .filters {
  grid-template-columns: repeat(4, minmax(0, 244px));
  justify-content: center;
}
.page--project-overview .overview-filters {
  padding-block: 0;
}
.page--project-overview .project-tags {
  position: relative;
  z-index: 4;
  margin-bottom: var(--spacing-2);
}
@media (min-width: 1024px) {
  .project-data {
    display: grid;
    grid-template-columns: 9fr 3fr;
    gap: var(--spacing-8);
  }
}
.project-detail .project-title {
  margin-block-end: var(--spacing-2);
}
.project-detail .project-description {
  max-width: 83.3333333333%;
}
@media (min-width: 1024px) {
  .project-detail .project-description {
    max-width: 58.3333333333%;
  }
}
.project-detail .widget.related-slider {
  margin-block-start: var(--spacing-10);
}
.project-detail .widget.related-slider .slider-contents {
  padding-block-end: 0;
}
.project-header {
  margin-block-end: var(--spacing-8);
}
.project-tags + .project-description {
  margin-block-start: var(--spacing-5);
}
.page--overview .page-content {
  padding-block-start: var(--header-height);
}
.page--overview .loader-wrapper {
  padding-block: 0;
}
.splash {
  display: grid;
  background-color: rgb(0, 0, 0);
}
@media (min-width: 1200px) {
  .splash {
    grid-template-columns: repeat(2, 1fr);
    background-image: url(/assets/deltalight/images/splash.jpg);
    background-size: auto 100%;
    background-repeat: no-repeat;
  }
}
.splash__image {
  display: none;
}
@media (min-width: 1200px) {
  .splash__image {
    display: block;
  }
}
.splash__content {
  display: grid;
  padding-block: var(--spacing-7);
  padding-inline: var(--spacing-6);
  background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 40%);
}
@media (min-width: 1200px) {
  .splash__content {
    align-items: center;
  }
}
.splash__logo {
  width: 240px;
  height: 32px;
}
.splash__logo a:focus {
  outline: 2px solid rgb(var(--color-lightest));
}
.splash__section {
  --num-columns: 1;
  padding-block-start: var(--spacing-8);
}
.splash__section h2 {
  color: rgba(var(--color-lightest));
}
.splash__section ul {
  max-width: 800px;
  margin: 0;
  padding: var(--spacing-6) 0;
  list-style: none;
  columns: var(--num-columns);
}
.splash__section a {
  font-size: var(--16px);
  color: rgba(var(--color-lightest));
}
@media (min-width: 576px) {
  .splash__section--international {
    --num-columns: 2;
  }
}
@media (min-width: 1200px) and (max-width: 1399px) {
  .splash__section--international {
    --num-columns: 1;
  }
}
.page--search {
  background: rgb(var(--color-gray-100));
}
.search-results {
  padding: var(--spacing-8) 0;
  background: rgb(var(--color-lightest));
}
.content-header--search {
  --loader-bg: var(--loader-bg-light);
  margin: 0 auto;
  text-align: center;
}
.content-header--search .container, .content-header--search .page--project-overview .overview-header, .page--project-overview .content-header--search .overview-header {
  max-width: 680px;
}
.content-header--search .search-form {
  margin: var(--spacing-6) 0 var(--spacing-7);
}
.content-header--search .tabs {
  display: inline-flex;
  max-width: 100%;
}
.searchresult--products {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-6);
}
@media (min-width: 768px) {
  .searchresult--products {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1200px) {
  .searchresult--products {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 1200px) {
  .searchresult--products {
    gap: var(--spacing-7);
  }
}
@media (min-width: 1400px) {
  .searchresult--products {
    gap: var(--spacing-8);
  }
}
.searchresult--products .card--product.is--wide {
  display: grid;
  gap: var(--spacing-6);
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 768px) {
  .searchresult--products .card--product.is--wide {
    grid-column: span 2;
  }
}
.searchresult--products .card--product.is--wide .product-header {
  align-self: start;
  padding-top: var(--spacing-7);
}
.searchresult--content {
  display: grid;
  gap: var(--spacing-6);
}
@media (min-width: 768px) {
  .searchresult--content {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .searchresult--content {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1200px) {
  .searchresult--content {
    gap: var(--spacing-7);
  }
}
@media (min-width: 1400px) {
  .searchresult--content {
    gap: var(--spacing-8);
  }
}
.searchresult--content .card-title,
.searchresult--projects .card-title {
  margin-block-end: var(--spacing-3);
}
.search-no-result {
  min-height: 400px;
  text-align: center;
}
.search-no-result .icon {
  margin-bottom: var(--spacing-6);
  width: 80px;
  height: 80px;
}
/* Re-enabled as page anchors are now implemented on subfamily ... (DELTALIGHT_0001-1914)
.page-subfamily {
    .page-header {
        display: none;
    }
}
*/
.subfamily-info {
  padding-block: calc(var(--spacing-5) + var(--spacing-3)) var(--spacing-8);
}
@media (min-width: 1200px) {
  .subfamily-info {
    display: grid;
    grid-template-columns: auto 560px;
    gap: var(--spacing-9);
  }
}
.subfamily-info .subfamily-title {
  margin-block-end: 0;
}
.subfamily-info .subfamily-description {
  margin-block-end: var(--spacing-4);
}
.subfamily-info__titles {
  margin-block-end: var(--spacing-3);
}
.subfamily-body .image-actions {
  margin-block-start: var(--spacing-2);
  padding-block-start: 0;
}
.subfamily-body .image-actions .product-pin {
  --icon-dimension: var(--spacing-5);
}
.subfamily-body .overview-nav {
  display: none;
}
.subfamily-body .overview-header {
  padding-block-start: var(--spacing-7);
}
.subfamily-body .product-carousel .product-images .slider-track {
  padding-inline-start: calc(var(--container-padding) - var(--spacing-3));
}
@media (min-width: 1400px) {
  .subfamily-body .product-carousel .product-images .slider-track {
    padding-inline-start: calc((100vw - var(--container-max-width) + var(--container-padding) + var(--spacing-5)) / 2);
  }
}
@media (min-width: 1340px) and (max-width: 1400px) {
  .subfamily-body .product-carousel .product-images .slider-track {
    padding-inline-start: calc((100vw - var(--container-max-width) + var(--container-padding) + var(--spacing-6)) / 2);
  }
}
.subfamily-subfamilies {
  margin-block-start: 0;
  padding-block-end: var(--spacing-8);
}
.subfamily-subfamilies .productdetail-subfamily-filters {
  padding-block-start: var(--spacing-3);
}
.subfamily-subfamilies .overview-filters-form {
  padding-block-start: 0;
}
.subfamily-back {
  margin-block-end: var(--spacing-5);
}
.subfamily-info__links {
  display: flex;
  gap: var(--spacing-4);
}
@media (max-width: 1199px) {
  .subfamily-info__links {
    padding-block-end: var(--spacing-4);
  }
}
@media (min-width: 576px) {
  .subfamily-info__actions {
    display: flex;
    align-items: start;
  }
}
@media (min-width: 1200px) {
  .subfamily-info__actions {
    justify-content: end;
  }
}
.subfamily-info__actions .productdetail-link {
  --btn-padding-x: var(--spacing-5);
  --btn-padding-y: var(--spacing-5);
  --btn-font-size: var(--15px);
  display: flex;
  justify-content: space-between;
  line-height: 1.25;
  text-transform: none;
}
@media (min-width: 576px) {
  .subfamily-info__actions .productdetail-link {
    width: 50%;
  }
}
@media (min-width: 1400px) {
  .subfamily-info__actions .productdetail-link {
    --btn-padding-x: var(--spacing-6);
    --btn-padding-y: var(--spacing-5);
  }
}
.subfamily-info__actions .productdetail-link span {
  display: inline-block;
}
@media (min-width: 768px) {
  .page-technical-resources .overview-filters {
    display: grid;
    grid-template-columns: 50% 41.666667%;
    justify-content: space-between;
  }
}
@media (min-width: 1024px) {
  .page-technical-resources .overview-filters {
    grid-template-columns: 41.666667% 33.333334%;
  }
}
.page-technical-resources .overview-filters .container, .page-technical-resources .overview-filters .page--project-overview .overview-header, .page--project-overview .page-technical-resources .overview-filters .overview-header {
  padding-inline-start: 0;
  padding-inline-end: 0;
}
.page-technical-resources .filters-header {
  text-align: left;
}
@media (max-width: 767px) {
  .page-technical-resources .filters-header {
    padding-block-end: var(--spacing-6);
  }
}
.page-technical-resources .filters {
  grid-template-columns: 1fr;
  display: block;
}
.page-technical-resources .filter + .filter {
  margin-block-start: var(--spacing-6);
}
.page-technical-resources .footer-primary {
  margin-block-start: 0;
}
.page-technical-resources .productbrowser-list {
  padding-block-end: var(--spacing-6);
}
@media (min-width: 768px) {
  .page-technical-resources .productbrowser-list {
    padding-block-end: 80px;
  }
}
.page-technical-resources .productbrowser-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-6);
  padding-block-end: var(--spacing-9);
  align-items: flex-start;
}
@media (min-width: 576px) {
  .page-technical-resources .productbrowser-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-7) var(--spacing-8);
  }
}
@media (min-width: 768px) {
  .page-technical-resources .productbrowser-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-8);
    padding-block-end: var(--spacing-10);
  }
}
@media (min-width: 1200px) {
  .page-technical-resources .productbrowser-grid {
    gap: var(--spacing-8);
  }
}
/* Templates */
/* ================================================== */
/* Widgets */
.content-widgets {
  /* General widget styling */
  /* Widget specific styling */
  /*
  .widget--image.image {
      --container-max-width: 100%;
      --container-padding: 0;

      max-width: none;

      img {
          width: 100%;
      }
  }
  */
  /* Media widget (image, video and video-animation) */
}
.content-widgets .widget {
  --padding-mobile: var(--spacing-7);
  --padding-desktop: var(--spacing-8);
  --text-color: var(--color-foreground);
  --background: var(--color-background);
  padding-block: var(--padding-mobile);
  color: rgb(var(--text-color));
  background-color: rgb(var(--background));
}
@media (min-width: 1024px) {
  .content-widgets .widget {
    padding-block: var(--padding-desktop);
  }
}
.content-widgets .widget.margin--none {
  --padding-mobile: 0;
  --padding-desktop: 0;
}
.content-widgets .widget.margin--small {
  --padding-mobile: var(--spacing-5);
  --padding-desktop: var(--spacing-6);
}
.content-widgets .widget.margin--large {
  --padding-mobile: var(--spacing-8);
  --padding-desktop: var(--spacing-9);
}
.content-widgets .widget.background--dark {
  --text-color: var(--color-lightest);
  --background: var(--color-darkest);
}
.content-widgets .cta {
  margin-inline: var(--spacing-4);
}
@media (min-width: 768px) {
  .content-widgets .cta .widget-grid {
    margin-inline: calc(var(--spacing-5) + 8.3333333333%);
    column-gap: var(--spacing-5);
  }
  .content-widgets .cta .widget-grid.has--image {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1200px) {
  .content-widgets .cta .widget-grid {
    grid-template-columns: 4fr 5fr;
    column-gap: var(--spacing-8);
  }
}
.content-widgets .cta-image {
  max-width: 100%;
  margin-block-end: 0;
}
.content-widgets .cta-text-wrapper {
  display: flex;
  align-items: center;
  border-block: 1px solid rgb(var(--color-foreground));
}
.content-widgets .cta-text {
  width: 100%;
  padding-block: var(--spacing-4);
}
@media (min-width: 768px) {
  .content-widgets .cta-text {
    padding-block: var(--spacing-8);
  }
}
.content-widgets .has--image .cta-text {
  padding-block: var(--spacing-4);
}
.content-widgets .widget-cta.has--action {
  position: relative;
}
@media (min-width: 1024px) {
  .content-widgets .intro .intro-body {
    max-width: 58.3333333333%;
  }
}
.content-widgets .intro + .widget {
  margin-block-start: var(--spacing-6);
}
@media (min-width: 768px) {
  .content-widgets .intro + .widget {
    margin-block-start: var(--spacing-7);
  }
}
@media (min-width: 1024px) {
  .content-widgets .intro + .widget {
    margin-block-start: var(--spacing-8);
  }
}
.content-widgets .widget--gallery .widget-title {
  margin-block-end: var(--spacing-7);
}
@media (min-width: 1024px) {
  .content-widgets .widget--gallery .widget-title {
    margin-block-end: var(--spacing-8);
  }
}
.content-widgets .widget--gallery img {
  max-inline-size: 100%;
  width: 100%;
}
@media (min-width: 1200px) {
  .content-widgets .widget.image {
    margin-inline: auto;
    max-width: 1920px;
  }
}
.content-widgets .widget.image.is--left {
  margin-inline-start: 0;
}
.content-widgets .widget.image.is--right {
  margin-inline-end: 0;
}
.content-widgets .widget.image.is--center {
  display: flex;
  justify-content: center;
  margin-inline: 0;
}
.content-widgets .widget.image.is--center .container, .content-widgets .widget.image.is--center .page--project-overview .overview-header, .page--project-overview .content-widgets .widget.image.is--center .overview-header {
  width: auto;
}
@media (min-width: 1400px) {
  .content-widgets .widget.image, .content-widgets .widget.image.is--left, .content-widgets .widget.image.is--right {
    margin-inline: auto;
  }
  .content-widgets .widget.image.is--left .widget-container {
    margin-inline-end: var(--spacing-8);
  }
  .content-widgets .widget.image.is--right .widget-container {
    margin-inline-start: var(--spacing-8);
  }
}
.content-widgets .image-text .image {
  margin-inline: var(--spacing-4);
  margin-block-end: var(--spacing-5);
}
.content-widgets .image-text .text {
  margin-inline: var(--spacing-4);
  width: calc(100% - var(--spacing-6));
  max-width: 80ch;
}
@media (min-width: 768px) {
  .content-widgets .image-text .widget-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    gap: var(--spacing-5);
    max-width: var(--container-max-width);
    margin-inline: auto;
  }
  .content-widgets .image-text .image {
    margin-inline: 0;
    margin-block-end: 0;
  }
  .content-widgets .image-text.is--image-left .image {
    margin-inline-start: var(--spacing-8);
  }
  .content-widgets .image-text.is--image-left .text {
    margin-inline-end: var(--spacing-8);
  }
  .content-widgets .image-text.is--image-right .image {
    margin-inline-end: var(--spacing-8);
  }
  .content-widgets .image-text.is--image-right .text {
    margin-inline-start: auto;
    margin-inline-end: 0;
    padding-inline-start: var(--spacing-8);
  }
  .content-widgets .image-text .text {
    margin-inline-start: var(--spacing-5);
    margin-inline-end: var(--spacing-7);
    width: calc(100% - var(--spacing-8));
  }
  .content-widgets .image-text.is--image-right .image {
    order: 2;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .content-widgets .image-text.is--image-left .text {
    width: calc(100% - var(--spacing-8) - var(--spacing-5));
  }
  .content-widgets .image-text.is--image-right .text {
    padding-inline-start: 0;
    padding-inline-end: var(--spacing-5);
  }
}
@media (min-width: 1024px) {
  .content-widgets .image-text .widget-grid {
    gap: var(--spacing-8);
  }
  .content-widgets .image-text.is--image-left .text {
    margin-inline-start: 0;
  }
  .content-widgets .image-text.is--image-right .text {
    width: 100%;
  }
}
.content-widgets .image-text.is--fullbleed .widget-grid {
  max-width: none;
  margin-inline: 0;
}
@media (min-width: 1024px) {
  .content-widgets .image-text.is--fullbleed .text {
    margin-inline-end: var(--spacing-9);
  }
}
@media (min-width: 1200px) {
  .content-widgets .image-text.is--fullbleed .text {
    margin-inline-end: var(--spacing-10);
  }
}
.content-widgets .images {
  margin-inline: var(--spacing-4);
}
@media (min-width: 768px) {
  .content-widgets .images {
    margin-inline: var(--spacing-5);
  }
  .content-widgets .images .widget-grid {
    display: grid;
    grid-template-columns: repeat(var(--num-columns, 3), 1fr);
    gap: var(--spacing-5);
  }
}
@media (min-width: 1024px) {
  .content-widgets .images {
    margin-inline: var(--spacing-8);
  }
  .content-widgets .images .widget-grid {
    gap: var(--spacing-8);
  }
}
.content-widgets .images .column {
  display: flex;
  flex-direction: column;
}
.content-widgets .images .image {
  margin-inline: 0;
  margin-block-end: var(--spacing-4);
}
@media (min-width: 768px) {
  .content-widgets .images .image {
    margin-block-end: var(--spacing-5);
  }
}
@media (min-width: 1024px) {
  .content-widgets .images .image {
    margin-block-end: var(--spacing-8);
  }
}
.content-widgets .highlight-group {
  position: relative;
  padding-inline: 0;
}
@media (min-width: 768px) {
  .content-widgets .highlight-group {
    padding-inline: var(--spacing-8);
  }
}
@media (min-width: 1200px) {
  .content-widgets .highlight-group {
    margin-inline: 0;
  }
}
.content-widgets .highlight-item {
  width: 100%;
  margin-block-end: var(--spacing-3);
  padding-inline: var(--spacing-4);
}
@media (min-width: 768px) {
  .content-widgets .highlight-item {
    flex: 0 0 50%;
  }
}
@media (min-width: 1200px) {
  .content-widgets .highlight-item {
    flex: 0 0 calc(100% / var(--num-highlight-items, 4));
    margin-block-end: 0;
    padding-inline: var(--spacing-6);
  }
}
.content-widgets .highlight-item .image {
  margin-inline: 0;
}
.content-widgets .highlight-media,
.content-widgets .highlight-title {
  margin-block-end: var(--spacing-4);
}
.content-widgets .widget--highlight-group .widget-title {
  margin-block-end: var(--spacing-7);
}
@media (min-width: 1024px) {
  .content-widgets .widget--highlight-group .widget-title {
    margin-block-end: var(--spacing-8);
  }
}
.content-widgets .widget--highlight-group .highlight-image img {
  max-width: none;
  width: 100%;
}
.content-widgets .widget--highlight-group.direction--horizontal .highlight-items {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-inline: calc(var(--spacing-4) * -1);
}
@media (min-width: 1024px) {
  .content-widgets .widget--highlight-group.direction--horizontal .highlight-items {
    margin-inline: calc(var(--spacing-6) * -1);
  }
}
.content-widgets .widget--highlight-group.direction--horizontal .highlight-item {
  display: flex;
  flex-direction: column;
}
.content-widgets .widget--highlight-group.direction--horizontal .highlight-cta {
  margin-top: auto;
}
.content-widgets .widget--highlight-group.direction--vertical {
  margin-inline: 0;
}
.content-widgets .widget--highlight-group.direction--vertical .highlight-items {
  display: grid;
  gap: var(--spacing-7);
}
@media (min-width: 768px) {
  .content-widgets .widget--highlight-group.direction--vertical .highlight-items {
    gap: var(--spacing-8);
  }
}
.content-widgets .widget--highlight-group.direction--vertical .highlight-item {
  margin-block-end: 0;
  padding-inline: 0;
}
@media (min-width: 768px) {
  .content-widgets .widget--highlight-group.direction--vertical .highlight-item {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-8);
    align-items: center;
  }
}
@media (min-width: 768px) {
  .content-widgets .widget--highlight-group.direction--vertical .highlight-media {
    margin-block-end: 0;
  }
}
.content-widgets .form-bg {
  padding: var(--spacing-5);
  background-color: rgb(var(--color-gray-100));
}
@media (min-width: 768px) {
  .content-widgets .form-bg {
    padding: var(--spacing-8);
  }
}
@media (min-width: 1024px) {
  .content-widgets .form-bg {
    padding: var(--spacing-9);
  }
}
.content-widgets .form-title + .form-description {
  margin-block-start: var(--spacing-4);
}
.content-widgets .form-feedback {
  margin-block-end: var(--spacing-5);
}
.content-widgets .form-feedback:empty {
  display: none;
}
.content-widgets .form-separator {
  position: relative;
  display: flex;
  margin: var(--spacing-6) 0 var(--spacing-5);
}
.content-widgets .form-separator::before {
  position: absolute;
  top: 0;
  left: var(--spacing-4);
  right: var(--spacing-4);
  content: "";
  border-top: 1px solid rgb(var(--color-darkest));
}
.content-widgets .form-grid {
  display: flex;
  flex-wrap: wrap;
  margin-inline: calc(var(--spacing-4) * -1);
}
.content-widgets .form-grid > * {
  flex: 0 0 100%;
  padding-inline: var(--spacing-4);
}
@media (min-width: 1024px) {
  .content-widgets .form-grid .col + .col {
    margin-block-start: 0;
  }
  .content-widgets .form-grid .col + .col + .col {
    margin-block-start: var(--spacing-5);
  }
  .content-widgets .form-grid .form-group:not(.col) + .col, .content-widgets .form-grid .form-group:not(.col) + .col + .col {
    margin-block-start: var(--spacing-5);
  }
  .content-widgets .form-grid .col-4 {
    flex: 0 0 33.3333333333%;
  }
  .content-widgets .form-grid .col-6 {
    flex: 0 0 50%;
  }
  .content-widgets .form-grid .col-8 {
    flex: 0 0 66.6666666667%;
  }
}
.content-widgets .key-features {
  --slider-ratio-lg: 8fr 2.5fr 1.5fr;
  --slider-ratio-xl: 8fr 1.5fr 2.5fr;
  padding-block: var(--spacing-7) var(--spacing-6);
}
@media (min-width: 1200px) {
  .content-widgets .key-features {
    padding-block: var(--spacing-10) var(--spacing-9);
  }
}
.content-widgets .key-features:last-child {
  padding-block-end: 0;
}
.content-widgets .key-features .truncate--three-lines {
  line-clamp: none;
  -webkit-line-clamp: unset;
}
.content-widgets .key-features .related-slider {
  margin-block-start: var(--spacing-7);
}
@media (max-width: 1199px) {
  .content-widgets .key-features .related-slider {
    margin-block-start: var(--spacing-2);
  }
}
.content-widgets .key-features-title {
  text-align: center;
  margin-block-end: var(--spacing-6);
}
.content-widgets .key-features-filter {
  margin-block-end: var(--spacing-6);
  margin-inline: auto;
  justify-content: center;
  display: flex;
}
.content-widgets .lighting-effects .widget-header {
  margin-block-end: var(--spacing-7);
  text-align: center;
}
.content-widgets .lighting-effects .widget-description {
  margin-block-start: var(--spacing-4);
}
.content-widgets .lighting-effects-thumbs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
}
.content-widgets .lighting-effects-thumb {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: start;
  flex: 0 0 20%;
  flex-shrink: 0;
  margin-block: var(--spacing-5);
  margin-inline: var(--spacing-4);
  padding: 0 0 var(--spacing-5) 0;
  background: none;
  color: rgb(var(--color-gray-600));
  border: none;
  border-bottom: 3px solid transparent;
  cursor: pointer;
}
@media (min-width: 768px) {
  .content-widgets .lighting-effects-thumb {
    flex: 0 0 var(--spacing-9);
  }
}
.content-widgets .lighting-effects-thumb img {
  display: block;
  margin-block-end: var(--spacing-2);
}
.content-widgets .lighting-effects-thumb:hover {
  color: rgb(var(--color-darkest));
}
.content-widgets .lighting-effects-thumb.is--active {
  font-weight: 600;
  color: rgb(var(--color-darkest));
  border-bottom-color: 3px solid rgb(var(--color-darkest));
}
.content-widgets .quote {
  margin-inline: var(--spacing-4);
}
@media (min-width: 768px) {
  .content-widgets .quote {
    margin-inline: calc(var(--spacing-5) + 16.6666666667%);
  }
}
@media (min-width: 768px) {
  .content-widgets .quote.has--image {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    column-gap: var(--spacing-5);
  }
}
@media (min-width: 1200px) {
  .content-widgets .quote.has--image {
    grid-template-columns: 4fr 5fr;
    column-gap: var(--spacing-8);
  }
}
.content-widgets .quote cite {
  font-style: normal;
}
.content-widgets .quote small {
  display: block;
  color: rgb(var(--color-gray-700));
}
@media (max-width: 767px) {
  .content-widgets .quote-image {
    max-width: 66.6666666667%;
    margin-block-end: var(--spacing-4);
  }
}
@media (max-width: 767px) {
  .content-widgets .quote-text {
    max-width: 83.3333333333%;
  }
}
.content-widgets .widget--quote {
  padding-block: 0;
}
.content-widgets .related-content {
  margin-inline: var(--spacing-4);
}
@media (min-width: 768px) {
  .content-widgets .related-content {
    margin-inline: var(--spacing-5);
  }
}
@media (min-width: 1024px) {
  .content-widgets .related-content {
    margin-inline: var(--spacing-8);
  }
}
.content-widgets .related-content--inspiration {
  margin-block-end: var(--spacing-9);
}
@media (min-width: 768px) {
  .content-widgets .related-content--inspiration .widget-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-5);
  }
}
@media (min-width: 1200px) {
  .content-widgets .related-content--inspiration .widget-grid {
    gap: var(--spacing-8);
  }
}
@media (max-width: 767px) {
  .content-widgets .related-content--inspiration .card--hero {
    margin-block-end: var(--spacing-7);
  }
}
.content-widgets .related-products {
  margin-inline: var(--spacing-4);
  padding-block-end: var(--spacing-9);
  scroll-margin-top: var(--spacing-9);
}
@media (min-width: 768px) {
  .content-widgets .related-products {
    margin-inline: var(--spacing-5);
  }
}
@media (min-width: 1024px) {
  .content-widgets .related-products {
    margin-inline: var(--spacing-8);
  }
}
@media (min-width: 1200px) {
  .content-widgets .related-products .widget-grid {
    display: flex;
  }
  .content-widgets .related-products .widget-grid .widget-header {
    flex: 2;
  }
  .content-widgets .related-products .widget-grid .widget-body {
    flex: 4;
  }
  .content-widgets .related-products .widget-grid .widget-title::before {
    width: calc(50% - var(--spacing-7));
  }
  .content-widgets .related-products .widget-grid.has--1-items .widget-header {
    flex: 5;
  }
  .content-widgets .related-products .widget-grid.has--1-items .widget-body {
    flex: 1;
  }
  .content-widgets .related-products .widget-grid.has--1-items .widget-title::before {
    width: 20%;
  }
  .content-widgets .related-products .widget-grid.has--1-items .widget-title span {
    max-width: 20%;
  }
  .content-widgets .related-products .widget-grid.has--2-items .widget-header {
    flex: 4;
  }
  .content-widgets .related-products .widget-grid.has--2-items .widget-body {
    flex: 2;
  }
  .content-widgets .related-products .widget-grid.has--2-items .widget-title::before {
    width: 20%;
  }
  .content-widgets .related-products .widget-grid.has--2-items .widget-title span {
    max-width: 20%;
  }
  .content-widgets .related-products .widget-grid.has--3-items .widget-header {
    flex: 3;
  }
  .content-widgets .related-products .widget-grid.has--3-items .widget-body {
    flex: 3;
  }
  .content-widgets .related-products .widget-grid.has--3-items .widget-title::before {
    width: 25%;
  }
  .content-widgets .related-products .widget-grid.has--3-items .widget-title span {
    max-width: 25%;
  }
  .content-widgets .related-products .widget-header {
    align-items: center;
  }
}
.content-widgets .related-products .widget-header {
  margin-block-end: var(--spacing-5);
}
@media (min-width: 768px) {
  .content-widgets .related-products .widget-header {
    margin-block-end: var(--spacing-6);
  }
}
@media (min-width: 1200px) {
  .content-widgets .related-products .widget-header {
    margin-block-start: 0;
    margin-block-end: 0;
    padding-left: var(--spacing-8);
    order: 2;
  }
  .content-widgets .related-products .widget-header .widget-title {
    /* Grid purely used for getting a space with same width as product images */
    position: relative;
    gap: var(--spacing-6);
    /* Render an invisible squary for aligning text to image */
    /* Align text to image */
  }
  .content-widgets .related-products .widget-header .widget-title::before {
    display: flex;
    position: relative;
    aspect-ratio: 1;
    content: "";
  }
  .content-widgets .related-products .widget-header .widget-title span {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    max-width: calc(50% - var(--spacing-7));
  }
}
.content-widgets .related-products .items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-4);
}
@media (min-width: 768px) {
  .content-widgets .related-products .items {
    grid-template-columns: repeat(4, 1fr);
    gap: var(--spacing-5);
  }
}
@media (min-width: 1200px) {
  .content-widgets .related-products .items {
    gap: var(--spacing-8);
  }
  .content-widgets .related-products .items.has--1-items {
    grid-template-columns: repeat(1, 1fr);
  }
  .content-widgets .related-products .items.has--2-items {
    grid-template-columns: repeat(2, 1fr);
  }
  .content-widgets .related-products .items.has--3-items {
    grid-template-columns: repeat(3, 1fr);
  }
}
.content-widgets .related-products .product-header {
  display: block;
  padding-block-start: var(--spacing-3);
  padding-block-end: var(--spacing-4);
}
@media (min-width: 1200px) {
  .content-widgets .related-products .product-header {
    padding-block-end: 0;
  }
}
.content-widgets .related-products .product-title {
  text-transform: none;
}
.content-widgets .related-products.recently-viewed {
  margin-inline: 0;
}
.content-widgets .related-slider {
  --slider-ratio-lg: 8fr 2.5fr 1.5fr;
  --slider-ratio-xl: 8fr 1.5fr 2.5fr;
  position: relative;
  margin-block-start: var(--spacing-10);
}
@media (min-width: 768px) {
  .content-widgets .related-slider {
    margin-block-start: var(--spacing-9);
  }
}
@media (min-width: 1024px) {
  .content-widgets .related-slider {
    margin-block-start: var(--spacing-10);
  }
}
.content-widgets .related-slider .slider-slide {
  width: 100% !important;
}
.content-widgets .related-slider::after {
  position: absolute;
  width: 85vw;
  height: 85vw;
  left: 0;
  bottom: 0;
  content: "";
  opacity: 0.2;
  z-index: -1;
}
.content-widgets .related-slider.has--cta .widget-container {
  position: relative;
}
.content-widgets .related-slider .sliders {
  display: grid;
  grid-template-columns: 1fr;
}
@media (min-width: 1024px) {
  .content-widgets .related-slider .sliders {
    grid-template-columns: var(--slider-ratio-lg);
  }
}
@media (min-width: 1200px) {
  .content-widgets .related-slider .sliders {
    grid-template-columns: var(--slider-ratio-xl);
  }
}
.content-widgets .related-slider .sliders > .slider {
  width: 100%;
  overflow: hidden;
}
.content-widgets .related-slider .sliders > .slider h3 {
  display: none;
}
.content-widgets .related-slider .sliders > .slider img {
  width: 100%;
  object-fit: cover;
}
.content-widgets .related-slider .slider--primary img {
  aspect-ratio: 827/400 !important;
  object-fit: contain !important;
  object-position: right bottom;
}
@media (max-width: 1023px) {
  .content-widgets .related-slider .slider--primary img {
    object-position: center bottom;
  }
}
.content-widgets .related-slider .slider--secondary {
  align-self: end;
}
@media (max-width: 1023px) {
  .content-widgets .related-slider .slider--secondary {
    display: none;
  }
}
@media (min-width: 768px) {
  .content-widgets .related-slider .slider--secondary {
    margin-bottom: calc(var(--spacing-5) * -1);
  }
}
.content-widgets .related-slider .slider--secondary img {
  aspect-ratio: 1/1;
  object-fit: cover;
  cursor: pointer;
}
.content-widgets .related-slider .paging {
  justify-content: flex-start;
  padding-inline: 0;
  padding-top: 0;
}
@media (max-width: 1023px) {
  .content-widgets .related-slider .paging {
    padding-block-start: 0;
    justify-content: center;
  }
}
.content-widgets .related-slider .slider-contents {
  padding-block-end: var(--spacing-7);
  padding-inline: var(--spacing-4);
}
@media (min-width: 768px) {
  .content-widgets .related-slider .slider-contents {
    padding-block-end: var(--spacing-9);
    padding-inline: 0;
  }
}
@media (min-width: 1024px) {
  .content-widgets .related-slider .slider-contents {
    display: grid;
    padding-block-end: var(--spacing-10);
    grid-template-columns: var(--slider-ratio-lg);
  }
}
@media (min-width: 768px) {
  .content-widgets .related-slider .slider-contents {
    grid-template-columns: var(--slider-ratio-xl);
  }
}
.content-widgets .related-slider .slider-title {
  padding-block-end: var(--spacing-4);
}
.content-widgets .related-slider .slider-text {
  padding-block-start: var(--spacing-6);
  color: rgb(var(--slider-contents-text-primary));
}
@media (min-width: 1024px) {
  .content-widgets .related-slider .slider-text {
    padding-inline-end: var(--spacing-7);
  }
}
.content-widgets .related-slider .slider-text a:not(.link) {
  text-decoration: none;
  color: rgb(var(--color-foreground));
}
.content-widgets .related-slider .slider-contents--primary .slider-text {
  text-align: right;
}
@media (max-width: 1023px) {
  .content-widgets .related-slider .slider-contents--primary .slider-text {
    text-align: center;
  }
}
@media (min-width: 768px) {
  .content-widgets .related-slider .slider-contents--primary .slider-text {
    padding-inline-start: 0;
  }
}
.content-widgets .related-slider .slider-contents--secondary {
  padding-block-start: var(--spacing-6);
}
@media (min-width: 576px) {
  .content-widgets .related-slider .slider-contents--secondary {
    padding-block-start: var(--spacing-6);
  }
}
.content-widgets .related-slider .slider-contents--secondary .slider-text {
  display: none;
  padding-block-start: calc(var(--spacing-1) / 2);
  padding-inline: 0;
  color: rgb(var(--slider-contents-text-secondary));
}
@media (min-width: 1024px) {
  .content-widgets .related-slider .slider-contents--secondary .slider-text {
    display: block;
  }
  .content-widgets .related-slider .slider-contents--secondary .slider-text p {
    min-height: 53px;
  }
}
.content-widgets .related-slider .slider-cta {
  position: static;
  text-align: center;
}
.content-widgets .related-slider .slider-cta .card-body {
  padding-block: var(--spacing-4);
  padding-inline: 0;
}
@media (min-width: 1024px) {
  .content-widgets .related-slider .slider-cta {
    position: absolute;
    top: 0;
    left: var(--container-padding);
    right: var(--container-padding);
    display: grid;
    grid-template-columns: var(--slider-ratio-lg);
    text-align: left;
  }
  .content-widgets .related-slider .slider-cta .card-body {
    padding-block: var(--spacing-6);
    padding-inline: var(--spacing-7) 0;
    grid-column: 2/span 2;
  }
}
@media (min-width: 1200px) {
  .content-widgets .related-slider .slider-cta {
    grid-template-columns: var(--slider-ratio-xl);
  }
}
@media (min-width: 768px) {
  .content-widgets .widget--subtitle {
    margin-inline: var(--spacing-5);
    padding-inline: var(--spacing-8);
  }
}
@media (min-width: 1200px) {
  .content-widgets .widget--subtitle {
    margin-inline: 0;
    padding-inline: var(--spacing-8);
  }
}
@media (min-width: 768px) {
  .content-widgets .widget-text {
    margin-inline: var(--spacing-5);
    padding-inline: var(--spacing-8);
  }
}
@media (min-width: 1200px) {
  .content-widgets .widget-text {
    margin-inline: 0;
    padding-inline: var(--spacing-8);
  }
}
.content-widgets .widget-text p:last-of-type {
  margin-block-end: 0;
}
.content-widgets .timeline-list {
  position: relative;
  margin: 0 8.3333333333%;
  padding: var(--spacing-7) 0;
  list-style: none;
}
.content-widgets .timeline-list::after {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 1px;
  height: 100%;
  content: "";
  background-color: rgb(var(--color-foreground));
}
@media (min-width: 768px) {
  .content-widgets .timeline-list::after {
    left: 50%;
  }
}
@media (min-width: 768px) {
  .content-widgets .timeline-header {
    text-align: right;
  }
}
.content-widgets .timeline-body {
  margin-block-start: var(--spacing-4);
  padding-inline: var(--spacing-6);
}
@media (min-width: 768px) {
  .content-widgets .timeline-body {
    margin-block-start: 0;
  }
}
.content-widgets .timeline-item:not(:last-child) {
  margin-block-end: var(--spacing-7);
}
.content-widgets .timeline-item time {
  position: relative;
  display: block;
  padding-inline: var(--spacing-6);
  z-index: 1;
}
.content-widgets .timeline-item time .lead {
  display: block;
}
.content-widgets .timeline-item time + img {
  margin-top: calc(var(--spacing-4) * -1);
}
@media (min-width: 768px) {
  .content-widgets .timeline-item {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
  }
  .content-widgets .timeline-item:not(:last-child) {
    margin-block-end: var(--spacing-9);
  }
  .content-widgets .timeline-item p:last-child {
    margin-block-end: 0;
  }
  .content-widgets .timeline-item:nth-child(even) .timeline-header {
    order: 2;
    text-align: left;
  }
  .content-widgets .timeline-item:nth-child(even) .timeline-body {
    order: 1;
    text-align: right;
  }
}
@media (min-width: 1200px) {
  .content-widgets .video {
    margin-inline: auto;
    max-width: var(--container-max-width);
  }
}
.content-widgets .video.is--left {
  margin-inline-start: 0;
}
.content-widgets .video.is--right {
  margin-inline-end: 0;
}
@media (min-width: 1200px) {
  .content-widgets .video, .content-widgets .video.is--left, .content-widgets .video.is--right {
    margin-inline: auto;
  }
  .content-widgets .video.is--left .widget-container {
    margin-inline-end: var(--spacing-8);
  }
  .content-widgets .video.is--right .widget-container {
    margin-inline-start: var(--spacing-8);
  }
}
.content-widgets .video .play-button {
  --dimensions: var(--spacing-6);
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--dimensions);
  height: var(--dimensions);
  background-color: rgb(var(--color-accent-500));
  transform: translate(-50%, -50%);
  transition: all 0.2s;
  pointer-events: none;
  z-index: 1;
  cursor: pointer;
}
.content-widgets .video .play-button .icon {
  --icon-width: var(--spacing-5);
  --icon-height: var(--spacing-5);
}
@media (min-width: 768px) {
  .content-widgets .video .play-button {
    --dimensions: var(--spacing-8);
  }
  .content-widgets .video .play-button .icon {
    --icon-width: var(--spacing-6);
    --icon-height: var(--spacing-6);
  }
}
@media (min-width: 1024px) {
  .content-widgets .video .play-button {
    --dimensions: var(--spacing-9);
  }
  .content-widgets .video .play-button .icon {
    --icon-width: var(--spacing-7);
    --icon-height: var(--spacing-7);
  }
}
@media (prefers-reduced-motion: reduce) {
  .content-widgets video.normal {
    display: none;
  }
}
.content-widgets video.reduced-motion {
  display: none;
}
@media (prefers-reduced-motion: reduce) {
  .content-widgets video.reduced-motion {
    display: block;
  }
}
.content-widgets .video-animation .video {
  margin-inline: 0;
}
.content-widgets .video-text .video {
  margin-inline: var(--spacing-4);
  margin-block-end: var(--spacing-5);
}
.content-widgets .video-text .text {
  margin-inline: var(--spacing-4);
  width: calc(100% - var(--spacing-6));
  max-width: 80ch;
}
@media (min-width: 768px) {
  .content-widgets .video-text .widget-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    gap: var(--spacing-5);
    max-width: var(--container-max-width);
    margin-inline: auto;
  }
  .content-widgets .video-text .video {
    margin-inline: 0;
    margin-block-end: 0;
  }
  .content-widgets .video-text.is--video-left .video {
    margin-inline-start: var(--spacing-8);
  }
  .content-widgets .video-text.is--video-left .text {
    margin-inline-end: var(--spacing-8);
  }
  .content-widgets .video-text.is--video-right .video {
    margin-inline-end: var(--spacing-8);
  }
  .content-widgets .video-text.is--video-right .text {
    margin-inline-start: auto;
    margin-inline-end: 0;
    padding-inline-start: var(--spacing-8);
  }
  .content-widgets .video-text .text {
    margin-inline-start: var(--spacing-5);
    margin-inline-end: var(--spacing-7);
    width: calc(100% - var(--spacing-8));
  }
  .content-widgets .video-text.is--video-right .video {
    order: 2;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .content-widgets .video-text.is--video-left .text {
    width: calc(100% - var(--spacing-8) - var(--spacing-5));
  }
  .content-widgets .video-text.is--video-right .text {
    padding-inline-start: 0;
    padding-inline-end: var(--spacing-5);
  }
}
@media (min-width: 1024px) {
  .content-widgets .video-text .widget-grid {
    gap: var(--spacing-8);
  }
  .content-widgets .video-text.is--video-left .text {
    margin-inline-start: 0;
  }
  .content-widgets .video-text.is--video-right .text {
    width: 100%;
  }
}
.content-widgets .widget--media {
  --media-width: 100%;
}
@media (min-width: 1024px) {
  .content-widgets .widget--media.width--half {
    --media-width: 50%;
  }
}
@media (min-width: 1024px) {
  .content-widgets .widget--media.width--onethird {
    --media-width: 33.3333%;
  }
}
@media (min-width: 1024px) {
  .content-widgets .widget--media.width--quarter {
    --media-width: 25%;
  }
}
.content-widgets .widget--media.position--center {
  --media-margin-inline: auto;
}
.content-widgets .widget--media.position--left {
  --media-margin-inline: 0 auto;
}
.content-widgets .widget--media.position--right {
  --media-margin-inline: auto 0;
}
.content-widgets .widget--media .media__element {
  width: var(--media-width);
  margin-inline: var(--media-margin-inline);
}
.content-widgets .widget-container {
  max-width: var(--container-max-width);
  margin-inline: auto;
}
.content-widgets + .content-widgets .widget:first-child {
  margin-block-start: var(--spacing-7);
}
@media (min-width: 768px) {
  .content-widgets + .content-widgets .widget:first-child {
    margin-block-start: var(--spacing-8);
  }
}
@media (min-width: 1024px) {
  .content-widgets + .content-widgets .widget:first-child {
    margin-block-start: var(--spacing-9);
  }
}
/* Third-party helpes */
/* ================================================== */
/* offset hack */
.tooltip > * {
  margin-left: -3px;
}
.react-tooltip-lite {
  padding-block: var(--spacing-1) !important;
  text-transform: lowercase;
  background: rgb(var(--color-foreground));
  color: rgb(var(--color-background));
}
.react-tooltip-lite:first-letter {
  text-transform: uppercase;
}
.react-tooltip-lite-arrow {
  border-color: rgb(var(--color-foreground));
}
#ot-sdk-cookie-policy {
  margin-block-start: var(--spacing-5);
}
#ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy table th {
  background-color: unset !important;
}
#ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy #cookie-policy-description,
#ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy .ot-sdk-cookie-policy-group-desc {
  font-size: var(--font-size-base) !important;
  line-height: var(--line-height-base) !important;
  color: rgb(var(--text-color)) !important;
  -webkit-font-smoothing: antialiased !important;
}
#ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy table {
  border-radius: 0 !important;
}
/* Utilities */
/* ================================================== */
.bg-lightest {
  background-color: rgb(var(--color-lightest)) !important;
}
.bg-darkest {
  background-color: rgb(var(--color-darkest)) !important;
}
.bg-gray-100 {
  background-color: rgb(var(--color-gray-100)) !important;
}
.bg-accent-100 {
  background-color: rgb(var(--color-accent-100)) !important;
}
.bg-accent-300 {
  background-color: rgb(var(--color-accent-300)) !important;
}
.bg-accent-500 {
  background-color: rgb(var(--color-accent-500)) !important;
}
.bg-accent-700 {
  background-color: rgb(var(--color-accent-700)) !important;
}
.bg-accent-900 {
  background-color: rgb(var(--color-accent-900)) !important;
}
.bg-linear-accent {
  background: var(--gradient-linear-accent) !important;
}
.bg-linear-dark {
  background: var(--gradient-linear-dark) !important;
}
.bg-radial-accent-100 {
  background: var(--gradient-radial-accent-100) !important;
}
.bg-radial-accent-200 {
  background: var(--gradient-radial-accent-200) !important;
}
.bg-radial-dark-100 {
  background: var(--gradient-radial-dark-100) !important;
}
.bg-radial-dark-200 {
  background: var(--gradient-radial-dark-200) !important;
}
.bg-radial-gray-100 {
  background: var(--gradient-radial-gray-100) !important;
}
.bg-radial-gray-200 {
  background: var(--gradient-radial-gray-200) !important;
}
.d-none {
  display: none !important;
}
.d-inline {
  display: inline !important;
}
.d-inline-block {
  display: inline-block !important;
}
.d-block {
  display: block !important;
}
.d-table {
  display: table !important;
}
.d-table-row {
  display: table-row !important;
}
.d-table-cell {
  display: table-cell !important;
}
.d-flex {
  display: flex !important;
}
.d-inline-flex {
  display: inline-flex !important;
}
.d-grid {
  display: grid !important;
}
@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
  .d-sm-grid {
    display: grid !important;
  }
}
@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
  .d-md-grid {
    display: grid !important;
  }
}
@media (min-width: 1024px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
  .d-xl-grid {
    display: grid !important;
  }
}
@media (min-width: 1400px) {
  .d-xxl-none {
    display: none !important;
  }
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-table {
    display: table !important;
  }
  .d-xxl-table-row {
    display: table-row !important;
  }
  .d-xxl-table-cell {
    display: table-cell !important;
  }
  .d-xxl-flex {
    display: flex !important;
  }
  .d-xxl-inline-flex {
    display: inline-flex !important;
  }
  .d-xxl-grid {
    display: grid !important;
  }
}
.d-print-block {
  display: none !important;
}
@media print {
  .d-print-block {
    display: block !important;
  }
}
.d-print-inline {
  display: none !important;
}
@media print {
  .d-print-inline {
    display: inline !important;
  }
}
.d-print-inline-block {
  display: none !important;
}
@media print {
  .d-print-inline-block {
    display: inline-block !important;
  }
}
@media print {
  .d-print-none {
    display: none !important;
  }
}
.justify-content-between {
  justify-content: space-between;
}
.object-fit-cover {
  position: relative;
  display: block;
  overflow: hidden;
}
.object-fit-cover img {
  aspect-ratio: 16/9;
  object-fit: cover;
}
.w--100 {
  width: 100px;
}
.w--150 {
  width: 150px;
}
.w--200 {
  width: 200px;
}
.w--250 {
  width: 250px;
}
.m-auto {
  margin: auto !important;
}
.mt-auto,
.my-auto {
  margin-top: auto !important;
}
.mr-auto,
.mx-auto {
  margin-right: auto !important;
}
.mb-auto,
.my-auto {
  margin-bottom: auto !important;
}
.ml-auto,
.mx-auto {
  margin-left: auto !important;
}
@media (min-width: 576px) {
  .m-sm-auto {
    margin: auto !important;
  }
  .mt-sm-auto,
.my-sm-auto {
    margin-top: auto !important;
  }
  .mr-sm-auto,
.mx-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-auto,
.my-sm-auto {
    margin-bottom: auto !important;
  }
  .ml-sm-auto,
.mx-sm-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 768px) {
  .m-md-auto {
    margin: auto !important;
  }
  .mt-md-auto,
.my-md-auto {
    margin-top: auto !important;
  }
  .mr-md-auto,
.mx-md-auto {
    margin-right: auto !important;
  }
  .mb-md-auto,
.my-md-auto {
    margin-bottom: auto !important;
  }
  .ml-md-auto,
.mx-md-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 1024px) {
  .m-lg-auto {
    margin: auto !important;
  }
  .mt-lg-auto,
.my-lg-auto {
    margin-top: auto !important;
  }
  .mr-lg-auto,
.mx-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-auto,
.my-lg-auto {
    margin-bottom: auto !important;
  }
  .ml-lg-auto,
.mx-lg-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 1200px) {
  .m-xl-auto {
    margin: auto !important;
  }
  .mt-xl-auto,
.my-xl-auto {
    margin-top: auto !important;
  }
  .mr-xl-auto,
.mx-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-auto,
.my-xl-auto {
    margin-bottom: auto !important;
  }
  .ml-xl-auto,
.mx-xl-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 1400px) {
  .m-xxl-auto {
    margin: auto !important;
  }
  .mt-xxl-auto,
.my-xxl-auto {
    margin-top: auto !important;
  }
  .mr-xxl-auto,
.mx-xxl-auto {
    margin-right: auto !important;
  }
  .mb-xxl-auto,
.my-xxl-auto {
    margin-bottom: auto !important;
  }
  .ml-xxl-auto,
.mx-xxl-auto {
    margin-left: auto !important;
  }
}
.text-left {
  text-align: left !important;
}
.text-right {
  text-align: right !important;
}
.text-center {
  text-align: center !important;
}
.text-full {
  text-align: justify !important;
}
.text-full-singleline {
  text-align-last: justify !important;
}
.text-muted {
  color: rgb(var(--color-gray-700));
}
.text-accent-500 {
  color: rgb(var(--color-accent-500));
}
/* temp files */